import { c, f, i, l as l3, s, u as u2 } from "./chunk-TRK7CKWP.js"; import { e as e2 } from "./chunk-7IKYLNB5.js"; import { c as c2, l as l4, x } from "./chunk-EN7YGJWG.js"; import { l as l2 } from "./chunk-7XXXCK2A.js"; import { i as i2 } from "./chunk-GJXW4HL5.js"; import { u } from "./chunk-WEMIK25H.js"; import { l } from "./chunk-IR4PV7VK.js"; import { n } from "./chunk-WJ3OEUD3.js"; import { a as a2 } from "./chunk-MXB2XLKV.js"; import { U } from "./chunk-VNFRAYHO.js"; import { a, e, r, t } from "./chunk-GZT4BVFP.js"; // node_modules/@arcgis/core/symbols/support/cimSymbolUtils.js function i3(e4) { const s3 = c(e4); if (s3.type === "CIMTextSymbol") return s3.height; let n2 = 0; if (s3.symbolLayers) for (const t2 of s3.symbolLayers) l3(t2) && t2.size > n2 ? n2 = t2.size : u2(t2) && t2.width > n2 ? n2 = t2.width : s(t2); return n2; } function c3(e4, o, a4) { const r2 = c(e4), s3 = i3(e4); if (s3 === 0) return void f2(r2, o); l5(r2, o / s3, false, a4); } function f2(e4, t2) { if (e4.type !== "CIMTextSymbol") { if (e4.symbolLayers) for (const o of e4.symbolLayers) switch (o.type) { case "CIMPictureMarker": case "CIMVectorMarker": o.size = t2; break; case "CIMPictureStroke": case "CIMSolidStroke": o.width = t2; } } else e4.height = t2; } function l5(e4, t2, o, a4) { if (e4.type !== "CIMTextSymbol") { if (o && e4.effects) for (const o2 of e4.effects) C(o2, t2); if (e4.symbolLayers) for (const o2 of e4.symbolLayers) switch (o2.type) { case "CIMPictureMarker": case "CIMVectorMarker": m(o2, t2, a4); break; case "CIMPictureStroke": case "CIMSolidStroke": !a4?.preserveOutlineWidth && o2.width && (o2.width *= t2); break; case "CIMPictureFill": o2.height && (o2.height *= t2), o2.offsetX && (o2.offsetX *= t2), o2.offsetY && (o2.offsetY *= t2); break; case "CIMHatchFill": l5(o2.lineSymbol, t2, true, { ...a4, preserveOutlineWidth: false }), o2.offsetX && (o2.offsetX *= t2), o2.offsetY && (o2.offsetY *= t2), o2.separation && (o2.separation *= t2); } } else e4.height *= t2; } function m(e4, t2, o) { if (e4.markerPlacement && M(e4.markerPlacement, t2), e4.offsetX && (e4.offsetX *= t2), e4.offsetY && (e4.offsetY *= t2), e4.anchorPoint && e4.anchorPointUnits === "Absolute" && (e4.anchorPoint = { x: e4.anchorPoint.x * t2, y: e4.anchorPoint.y * t2 }), e4.size *= t2, e4.type === "CIMVectorMarker" && e4.markerGraphics) for (const a4 of e4.markerGraphics) e4.scaleSymbolsProportionally || l5(a4.symbol, t2, true, o); } function M(e4, t2) { switch (f(e4) && e4.offset && (e4.offset *= t2), e4.type) { case "CIMMarkerPlacementAlongLineRandomSize": case "CIMMarkerPlacementAlongLineSameSize": if (e4.customEndingOffset && (e4.customEndingOffset *= t2), e4.offsetAlongLine && (e4.offsetAlongLine *= t2), e4.placementTemplate && e4.placementTemplate.length) { const o = e4.placementTemplate.map((e5) => e5 * t2); e4.placementTemplate = o; } break; case "CIMMarkerPlacementAlongLineVariableSize": if (e4.maxRandomOffset && (e4.maxRandomOffset *= t2), e4.placementTemplate && e4.placementTemplate.length) { const o = e4.placementTemplate.map((e5) => e5 * t2); e4.placementTemplate = o; } break; case "CIMMarkerPlacementOnLine": e4.startPointOffset && (e4.startPointOffset *= t2); break; case "CIMMarkerPlacementAtExtremities": e4.offsetAlongLine && (e4.offsetAlongLine *= t2); break; case "CIMMarkerPlacementAtMeasuredUnits": case "CIMMarkerPlacementOnVertices": break; case "CIMMarkerPlacementAtRatioPositions": e4.beginPosition && (e4.beginPosition *= t2), e4.endPosition && (e4.endPosition *= t2); break; case "CIMMarkerPlacementPolygonCenter": e4.offsetX && (e4.offsetX *= t2), e4.offsetY && (e4.offsetY *= t2); break; case "CIMMarkerPlacementInsidePolygon": e4.offsetX && (e4.offsetX *= t2), e4.offsetY && (e4.offsetY *= t2), e4.stepX && (e4.stepX *= t2), e4.stepY && (e4.stepY *= t2); } } function C(e4, t2) { switch (e4.type) { case "CIMGeometricEffectArrow": case "CIMGeometricEffectDonut": e4.width && (e4.width *= t2); break; case "CIMGeometricEffectBuffer": e4.size && (e4.size *= t2); break; case "CIMGeometricEffectCut": e4.beginCut && (e4.beginCut *= t2), e4.endCut && (e4.endCut *= t2), e4.middleCut && (e4.middleCut *= t2); break; case "CIMGeometricEffectDashes": if (e4.customEndingOffset && (e4.customEndingOffset *= t2), e4.offsetAlongLine && (e4.offsetAlongLine *= t2), e4.dashTemplate && e4.dashTemplate.length) { const o = e4.dashTemplate.map((e5) => e5 * t2); e4.dashTemplate = o; } break; case "CIMGeometricEffectExtension": case "CIMGeometricEffectJog": case "CIMGeometricEffectRadial": e4.length && (e4.length *= t2); break; case "CIMGeometricEffectMove": e4.offsetX && (e4.offsetX *= t2), e4.offsetY && (e4.offsetY *= t2); break; case "CIMGeometricEffectOffset": case "CIMGeometricEffectOffsetTangent": e4.offset && (e4.offset *= t2); break; case "CIMGeometricEffectRegularPolygon": e4.radius && (e4.radius *= t2); break; case "CIMGeometricEffectTaperedPolygon": e4.fromWidth && (e4.fromWidth *= t2), e4.length && (e4.length *= t2), e4.toWidth && (e4.toWidth *= t2); break; case "CIMGeometricEffectWave": e4.amplitude && (e4.amplitude *= t2), e4.period && (e4.period *= t2); } } function y(o) { const a4 = []; return k(c(o), a4), a4.length ? new l2(i(a4[0])) : null; } function k(e4, t2) { let r2; r2 = e4.type === "CIMTextSymbol" ? e4.symbol : e4; const n2 = e4.type === "CIMPolygonSymbol"; if (r2.symbolLayers) { for (const i4 of r2.symbolLayers) if (!(i4.colorLocked || n2 && (u2(i4) || l3(i4) && i4.markerPlacement && f(i4.markerPlacement)))) switch (i4.type) { case "CIMPictureMarker": case "CIMPictureStroke": case "CIMPictureFill": i4.tintColor && b(t2, i4.tintColor); break; case "CIMVectorMarker": i4.markerGraphics.forEach((e5) => { k(e5.symbol, t2); }); break; case "CIMSolidStroke": case "CIMSolidFill": b(t2, i4.color); break; case "CIMHatchFill": k(i4.lineSymbol, t2); } } } function b(e4, t2) { for (const o of e4) if (o.join(".") === t2.join(".")) return; e4.push(t2); } // node_modules/@arcgis/core/symbols/support/gfxUtils.js var s2 = "picture-fill"; var l6 = "simple-fill"; var a3 = "simple-line"; var c4 = "simple-marker"; var m2 = "text"; var u3 = "cim"; var d = new e2(1e3); function b2(t2) { const r2 = t2.style; let o = null; if (t2) switch (t2.type) { case c4: r2 !== "cross" && r2 !== "x" && (o = t2.color); break; case l6: r2 === "solid" ? o = t2.color : r2 !== "none" && (o = { type: "pattern", x: 0, y: 0, src: a2(`esri/symbols/patterns/${r2}.png`), width: 5, height: 5 }); break; case s2: o = { type: "pattern", src: t2.url, width: u(t2.width) * t2.xscale, height: u(t2.height) * t2.yscale, x: u(t2.xoffset), y: u(t2.yoffset) }; break; case m2: o = t2.color; break; case u3: o = y(t2); } return o; } function w(e4, t2) { const o = e4 + "-" + t2; return d.get(o) !== void 0 ? Promise.resolve(d.get(o)) : U(e4, { responseType: "image" }).then((e5) => { const r2 = e5.data, n2 = r2.naturalWidth, i4 = r2.naturalHeight, s3 = document.createElement("canvas"); s3.width = n2, s3.height = i4; const l7 = s3.getContext("2d"); l7.fillStyle = t2, l7.fillRect(0, 0, n2, i4), l7.globalCompositeOperation = "destination-in", l7.drawImage(r2, 0, 0); const a4 = s3.toDataURL(); return d.put(o, a4), a4; }); } function j(e4) { if (!e4) return null; let t2; switch (e4.type) { case l6: case s2: case c4: t2 = j(e4.outline); break; case a3: { const r2 = u(e4.width); e4.style !== "none" && r2 !== 0 && (t2 = { color: e4.color, style: x2(e4.style), width: r2, cap: e4.cap, join: e4.join === "miter" ? u(e4.miterLimit) : e4.join }); break; } default: t2 = null; } return t2; } var x2 = (() => { const e4 = {}; return (t2) => { if (e4[t2]) return e4[t2]; const r2 = t2.replace(/-/g, ""); return e4[t2] = r2, r2; }; })(); var k2 = new l2([128, 128, 128]); // node_modules/@arcgis/core/symbols/support/utils.js var p = /\/resource\/(.*?)\.svg$/; var h = new l2("white"); function d2(e4) { if (t(e4) || !("symbolLayers" in e4) || t(e4.symbolLayers)) return false; switch (e4.type) { case "point-3d": return e4.symbolLayers.some((e5) => e5.type === "object"); case "line-3d": return e4.symbolLayers.some((e5) => e5.type === "path"); case "polygon-3d": return e4.symbolLayers.some((e5) => e5.type === "object" || e5.type === "extrude"); default: return false; } } function g(e4, t2) { const r2 = t2.resource.href; return !a("esri-canvas-svg-support") && e4.styleOrigin && p.test(r2) ? r2.replace(p, "/resource/png/$1.png") : r2; } function j2(o, n2) { if (!o) return null; let l7 = null; return c2(o) ? l7 = k3(o) : x(o) && (l7 = o.color ? new l2(o.color) : null), l7 ? L(l7, n2) : null; } function k3(t2) { const r2 = t2.symbolLayers; if (!r2) return null; let o = null; return r2.forEach((e4) => { e4.type === "object" && e4.resource.href != null || (o = e4.type === "water" ? e(e4.color) : r(e4.material) ? e(e4.material.color) : null); }), o ? new l2(o) : null; } function L(t2, r2) { if (r2 == null) return t2; const o = t2.toRgba(); return o[3] = o[3] * r2, new l2(o); } function z(e4, t2, r2) { const o = e4.symbolLayers; if (!o) return; const n2 = (e5) => { const o2 = r(e5) ? e5 : null; return L(t2 = t2 || o2 || r2 != null && h, r2); }; o.forEach((e5) => { if (e5.type !== "object" || e5.resource.href == null || t2) if (e5.type === "water") e5.color = n2(e5.color); else { const t3 = r(e5.material) ? e5.material.color : null, o2 = n2(t3); t(e5.material) ? e5.material = new l4({ color: o2 }) : e5.material.color = o2, r2 != null && "outline" in e5 && r(e5.outline) && r(e5.outline.color) && (e5.outline.color = L(e5.outline.color, r2)); } }); } function v(e4, t2, r2) { (t2 = t2 || e4.color) && (e4.color = L(t2, r2)), r2 != null && "outline" in e4 && e4.outline && e4.outline.color && (e4.outline.color = L(e4.outline.color, r2)); } function x3(o, n2, l7) { o && (n2 || l7 != null) && (n2 && (n2 = new l2(n2)), c2(o) ? z(o, n2, l7) : x(o) && v(o, n2, l7)); } async function S(e4, t2) { const r2 = e4.symbolLayers; r2 && await n(r2, async (e5) => U2(e5, t2)); } async function U2(e4, t2) { switch (e4.type) { case "extrude": R(e4, t2); break; case "icon": case "line": case "text": O(e4, t2); break; case "path": A(e4, t2); break; case "object": await $(e4, t2); } } function O(e4, t2) { const r2 = E(t2); r(r2) && (e4.size = r2); } function E(e4) { for (const t2 of e4) if (typeof t2 == "number") return t2; return null; } function R(e4, t2) { e4.size = typeof t2[2] == "number" ? t2[2] : 0; } async function $(e4, t2) { const { resourceSize: r2, symbolSize: o } = await D(e4), n2 = C2(t2, r2, o); e4.width = I(t2[0], o[0], r2[0], n2), e4.depth = I(t2[1], o[1], r2[1], n2), e4.height = I(t2[2], o[2], r2[2], n2); } function A(e4, t2) { const r2 = C2(t2, l, [e4.width, void 0, e4.height]); e4.width = I(t2[0], e4.width, 1, r2), e4.height = I(t2[2], e4.height, 1, r2); } function C2(e4, t2, r2) { for (let o = 0; o < 3; o++) { const n2 = e4[o]; switch (n2) { case "symbol-value": return r2[o] != null ? r2[o] / t2[o] : 1; case "proportional": break; default: if (n2 && t2[o]) return n2 / t2[o]; } } return 1; } async function D(e4) { const t2 = await import("./symbolLayerUtils-JYVFC7K4.js"), r2 = await t2.computeObjectLayerResourceSize(e4, 10), { width: o, height: n2, depth: l7 } = e4, i4 = [o, l7, n2]; let s3 = 1; for (let c5 = 0; c5 < 3; c5++) if (i4[c5] != null) { s3 = i4[c5] / r2[c5]; break; } for (let c5 = 0; c5 < 3; c5++) i4[c5] == null && (i4[c5] = r2[c5] * s3); return { resourceSize: r2, symbolSize: i4 }; } function I(e4, t2, r2, o) { switch (e4) { case "proportional": return r2 * o; case "symbol-value": return t2 != null ? t2 : r2; default: return e4; } } function J(e4, t2) { const r2 = E(t2); if (!t(r2)) switch (e4.type) { case "simple-marker": e4.size = r2; break; case "picture-marker": { const t3 = e4.width / e4.height; t3 > 1 ? (e4.width = r2, e4.height = r2 * t3) : (e4.width = r2 * t3, e4.height = r2); break; } case "simple-line": e4.width = r2; break; case "text": e4.font.size = r2; } } async function M2(e4, o) { if (e4 && o) return c2(e4) ? S(e4, o) : void (x(e4) && J(e4, o)); } function N(e4, o, n2) { if (e4 && o != null) if (c2(e4)) { const t2 = e4.symbolLayers; t2 && t2.forEach((e5) => { if (e5 && e5.type === "object") switch (n2) { case "tilt": e5.tilt = o; break; case "roll": e5.roll = o; break; default: e5.heading = o; } }); } else x(e4) && (e4.type !== "simple-marker" && e4.type !== "picture-marker" && e4.type !== "text" || (e4.angle = o)); } function q(e4) { if (!e4) return null; const t2 = e4.effects.filter((e5) => e5.type !== "bloom").map((e5) => e5.toJSON()); return i2(t2); } export { i3 as i, c3 as c, m, b2 as b, w, j, x2 as x, k2 as k, d2 as d, g, j2, x3 as x2, M2 as M, N, q }; //# sourceMappingURL=chunk-7SW2GQFP.js.map