{"version":3,"sources":["node_modules/@arcgis/core/symbols/support/cimSymbolUtils.js","node_modules/@arcgis/core/symbols/support/gfxUtils.js","node_modules/@arcgis/core/symbols/support/utils.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport e from \"../../Color.js\";\nimport { toCIMSymbolJSON as t, isCIMMarker as o, isCIMStroke as r, isCIMFill as n, isCIMMarkerStrokePlacement as s, fromCIMColor as a } from \"../cim/utils.js\";\nfunction i(e) {\n const s = t(e);\n if (\"CIMTextSymbol\" === s?.type) return s.height ?? 0;\n let a = 0;\n if (s?.symbolLayers) for (const t of s.symbolLayers) o(t) && null != t.size && t.size > a ? a = t.size : r(t) && null != t.width && t.width > a ? a = t.width : n(t);\n return a;\n}\nfunction c(e, o, r) {\n if (!e) return;\n const n = t(e),\n s = i(e);\n if (0 === s) return void f(n, o);\n l(n, o / s, !1, r);\n}\nfunction f(e, t) {\n if (e) if (\"CIMTextSymbol\" !== e.type) {\n if (e.symbolLayers) for (const o of e.symbolLayers) switch (o.type) {\n case \"CIMPictureMarker\":\n case \"CIMVectorMarker\":\n o.size = t;\n break;\n case \"CIMPictureStroke\":\n case \"CIMSolidStroke\":\n o.width = t;\n }\n } else e.height = t;\n}\nfunction l(e, t, o, r) {\n if (e) if (\"CIMTextSymbol\" !== e.type) {\n if (o && e.effects) for (const o of e.effects) y(o, t);\n if (e.symbolLayers) for (const o of e.symbolLayers) switch (o.type) {\n case \"CIMPictureMarker\":\n case \"CIMVectorMarker\":\n m(o, t, r);\n break;\n case \"CIMPictureStroke\":\n case \"CIMSolidStroke\":\n !r?.preserveOutlineWidth && o.width && (o.width *= t);\n break;\n case \"CIMPictureFill\":\n o.height && (o.height *= t), o.offsetX && (o.offsetX *= t), o.offsetY && (o.offsetY *= t);\n break;\n case \"CIMHatchFill\":\n l(o.lineSymbol, t, !0, {\n ...r,\n preserveOutlineWidth: !1\n }), o.offsetX && (o.offsetX *= t), o.offsetY && (o.offsetY *= t), o.separation && (o.separation *= t);\n }\n } else null != e.height && (e.height *= t);\n}\nfunction m(e, t, o) {\n if (e && (e.markerPlacement && M(e.markerPlacement, t), e.offsetX && (e.offsetX *= t), e.offsetY && (e.offsetY *= t), e.anchorPoint && \"Absolute\" === e.anchorPointUnits && (e.anchorPoint = {\n x: e.anchorPoint.x * t,\n y: e.anchorPoint.y * t\n }), e.size = null != e.size ? e.size * t : 0, \"CIMVectorMarker\" === e.type && e.markerGraphics)) for (const r of e.markerGraphics) e.scaleSymbolsProportionally || l(r.symbol, t, !0, o);\n}\nfunction M(e, t) {\n switch (s(e) && e.offset && (e.offset *= t), e.type) {\n case \"CIMMarkerPlacementAlongLineRandomSize\":\n case \"CIMMarkerPlacementAlongLineSameSize\":\n if (e.customEndingOffset && (e.customEndingOffset *= t), e.offsetAlongLine && (e.offsetAlongLine *= t), e.placementTemplate && e.placementTemplate.length) {\n const o = e.placementTemplate.map(e => e * t);\n e.placementTemplate = o;\n }\n break;\n case \"CIMMarkerPlacementAlongLineVariableSize\":\n if (e.maxRandomOffset && (e.maxRandomOffset *= t), e.placementTemplate && e.placementTemplate.length) {\n const o = e.placementTemplate.map(e => e * t);\n e.placementTemplate = o;\n }\n break;\n case \"CIMMarkerPlacementOnLine\":\n e.startPointOffset && (e.startPointOffset *= t);\n break;\n case \"CIMMarkerPlacementAtExtremities\":\n e.offsetAlongLine && (e.offsetAlongLine *= t);\n break;\n case \"CIMMarkerPlacementAtMeasuredUnits\":\n case \"CIMMarkerPlacementOnVertices\":\n break;\n case \"CIMMarkerPlacementAtRatioPositions\":\n e.beginPosition && (e.beginPosition *= t), e.endPosition && (e.endPosition *= t);\n break;\n case \"CIMMarkerPlacementPolygonCenter\":\n e.offsetX && (e.offsetX *= t), e.offsetY && (e.offsetY *= t);\n break;\n case \"CIMMarkerPlacementInsidePolygon\":\n e.offsetX && (e.offsetX *= t), e.offsetY && (e.offsetY *= t), e.stepX && (e.stepX *= t), e.stepY && (e.stepY *= t);\n }\n}\nfunction y(e, t) {\n switch (e.type) {\n case \"CIMGeometricEffectArrow\":\n case \"CIMGeometricEffectDonut\":\n e.width && (e.width *= t);\n break;\n case \"CIMGeometricEffectBuffer\":\n e.size && (e.size *= t);\n break;\n case \"CIMGeometricEffectCut\":\n e.beginCut && (e.beginCut *= t), e.endCut && (e.endCut *= t), e.middleCut && (e.middleCut *= t);\n break;\n case \"CIMGeometricEffectDashes\":\n if (e.customEndingOffset && (e.customEndingOffset *= t), e.offsetAlongLine && (e.offsetAlongLine *= t), e.dashTemplate && e.dashTemplate.length) {\n const o = e.dashTemplate.map(e => e * t);\n e.dashTemplate = o;\n }\n break;\n case \"CIMGeometricEffectExtension\":\n case \"CIMGeometricEffectJog\":\n case \"CIMGeometricEffectRadial\":\n e.length && (e.length *= t);\n break;\n case \"CIMGeometricEffectMove\":\n e.offsetX && (e.offsetX *= t), e.offsetY && (e.offsetY *= t);\n break;\n case \"CIMGeometricEffectOffset\":\n case \"CIMGeometricEffectOffsetTangent\":\n e.offset && (e.offset *= t);\n break;\n case \"CIMGeometricEffectRegularPolygon\":\n e.radius && (e.radius *= t);\n break;\n case \"CIMGeometricEffectTaperedPolygon\":\n e.fromWidth && (e.fromWidth *= t), e.length && (e.length *= t), e.toWidth && (e.toWidth *= t);\n break;\n case \"CIMGeometricEffectWave\":\n e.amplitude && (e.amplitude *= t), e.period && (e.period *= t);\n }\n}\nfunction C(o) {\n const r = [];\n return u(t(o), r), r.length ? new e(a(r[0])) : null;\n}\nfunction u(e, t) {\n if (!e) return;\n let n;\n n = \"CIMTextSymbol\" === e.type ? e.symbol : e;\n const a = \"CIMPolygonSymbol\" === e.type;\n if (n?.symbolLayers) for (const i of n.symbolLayers) if (!(i.colorLocked || a && (r(i) || o(i) && i.markerPlacement && s(i.markerPlacement)))) switch (i.type) {\n case \"CIMPictureMarker\":\n case \"CIMPictureStroke\":\n case \"CIMPictureFill\":\n i.tintColor && b(t, i.tintColor);\n break;\n case \"CIMVectorMarker\":\n i.markerGraphics?.forEach(e => {\n u(e.symbol, t);\n });\n break;\n case \"CIMSolidStroke\":\n case \"CIMSolidFill\":\n b(t, i.color);\n break;\n case \"CIMHatchFill\":\n u(i.lineSymbol, t);\n }\n}\nfunction b(e, t) {\n for (const o of e) if (o.join(\".\") === t.join(\".\")) return;\n e.push(t);\n}\nfunction I(o, r, n) {\n r instanceof e || (r = new e(r));\n const s = t(o);\n s && k(s, r, n);\n}\nfunction k(e, t, a) {\n if (!e) return;\n let i;\n i = \"CIMTextSymbol\" === e.type ? e.symbol : e;\n const c = \"CIMPolygonSymbol\" === i?.type;\n if (i?.symbolLayers) for (const f of i.symbolLayers) {\n if (f.colorLocked) continue;\n if (c) if (a) {\n const {\n layersToColor: e\n } = a;\n if ((r(f) || o(f) && f.markerPlacement && s(f.markerPlacement)) && \"fill\" === e || n(f) && \"outline\" === e) continue;\n } else if (r(f) || o(f) && f.markerPlacement && s(f.markerPlacement)) continue;\n const e = t.toArray();\n switch (f.type) {\n case \"CIMPictureMarker\":\n case \"CIMPictureStroke\":\n case \"CIMPictureFill\":\n f.tintColor = e;\n break;\n case \"CIMVectorMarker\":\n f.markerGraphics?.forEach(e => {\n k(e.symbol, t, a);\n });\n break;\n case \"CIMSolidStroke\":\n case \"CIMSolidFill\":\n f.color = e;\n break;\n case \"CIMHatchFill\":\n k(f.lineSymbol, t, a);\n }\n }\n}\nfunction p(e, o = !1) {\n const r = t(e);\n if (\"CIMTextSymbol\" === r?.type || \"CIMPointSymbol\" === r?.type) {\n const e = r.angle;\n return null != e && 0 !== e && o ? 360 - e : e ?? 0;\n }\n return 0;\n}\nfunction h(e, r, n = !1) {\n const s = t(e);\n if (n && 0 !== r && (r = 360 - r), \"CIMTextSymbol\" !== s?.type) {\n if (\"CIMPointSymbol\" === s?.type && s.symbolLayers) {\n const e = r - (s.angle || 0);\n for (const t of s.symbolLayers) if (o(t)) {\n let o = t.rotation || 0;\n t.rotateClockwise ? o -= e : o += e, t.rotation = o;\n }\n s.angle = r;\n }\n } else s.angle = r;\n}\nfunction P(e) {\n const o = t(e);\n if (!o) return null;\n switch (o.type) {\n case \"CIMPointSymbol\":\n return \"CIMPointSymbol\";\n case \"CIMLineSymbol\":\n return \"CIMLineSymbol\";\n case \"CIMPolygonSymbol\":\n return \"CIMPolygonSymbol\";\n case \"CIMTextSymbol\":\n return \"CIMTextSymbol\";\n case \"CIMMeshSymbol\":\n return \"CIMMeshSymbol\";\n default:\n return null;\n }\n}\nexport { I as applyCIMSymbolColor, h as applyCIMSymbolRotation, C as getCIMSymbolColor, p as getCIMSymbolRotation, i as getCIMSymbolSize, P as getCIMSymbolType, m as scaleCIMMarker, l as scaleCIMSymbol, c as scaleCIMSymbolTo };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { getAssetUrl as e } from \"../../assets.js\";\nimport t from \"../../Color.js\";\nimport r from \"../../request.js\";\nimport { LRUCache as o } from \"../../core/LRUCache.js\";\nimport { pt2px as s } from \"../../core/screenUtils.js\";\nimport { getCIMSymbolColor as i } from \"./cimSymbolUtils.js\";\nconst n = \"picture-fill\",\n l = \"simple-fill\",\n c = \"simple-line\",\n a = \"simple-marker\",\n m = \"text\",\n p = \"cim\",\n u = new o(1e3);\nfunction f(t) {\n const r = t.style;\n let o = null;\n if (t) switch (t.type) {\n case a:\n \"cross\" !== r && \"x\" !== r && (o = t.color);\n break;\n case l:\n \"solid\" === r ? o = t.color : \"none\" !== r && (o = {\n type: \"pattern\",\n x: 0,\n y: 0,\n src: e(`esri/symbols/patterns/${r}.png`),\n width: 5,\n height: 5\n });\n break;\n case n:\n o = {\n type: \"pattern\",\n src: t.url,\n width: s(t.width) * t.xscale,\n height: s(t.height) * t.yscale,\n x: s(t.xoffset),\n y: s(t.yoffset)\n };\n break;\n case m:\n o = t.color;\n break;\n case p:\n o = i(t);\n }\n return o;\n}\nfunction h(e, t) {\n const o = e + \"-\" + t;\n return void 0 !== u.get(o) ? Promise.resolve(u.get(o)) : r(e, {\n responseType: \"image\"\n }).then(e => {\n const r = e.data,\n s = r.naturalWidth,\n i = r.naturalHeight,\n n = document.createElement(\"canvas\");\n n.width = s, n.height = i;\n const l = n.getContext(\"2d\");\n l.fillStyle = t, l.fillRect(0, 0, s, i), l.globalCompositeOperation = \"destination-in\", l.drawImage(r, 0, 0);\n const c = n.toDataURL();\n return u.put(o, c), c;\n });\n}\nfunction y(e) {\n if (!e) return null;\n let t = null;\n switch (e.type) {\n case l:\n case n:\n case a:\n t = y(e.outline);\n break;\n case c:\n {\n const r = s(e.width);\n null != e.style && \"none\" !== e.style && 0 !== r && (t = {\n color: e.color,\n style: d(e.style),\n width: r,\n cap: e.cap,\n join: \"miter\" === e.join ? s(e.miterLimit) : e.join\n });\n break;\n }\n default:\n t = null;\n }\n return t;\n}\nconst d = (() => {\n const e = {};\n return t => {\n if (e[t]) return e[t];\n const r = t.replaceAll(\"-\", \"\");\n return e[t] = r, r;\n };\n })(),\n g = new t([128, 128, 128]);\nexport { g as defaultThematicColor, d as dekebabifyLineStyle, f as getFill, h as getPatternUrlWithColor, y as getStroke };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport e from \"../../Color.js\";\nimport { isSymbol3D as t, isSymbol2D as o } from \"../../symbols.js\";\nimport { forEach as n } from \"../../core/asyncUtils.js\";\nimport \"../../core/has.js\";\nimport { px2pt as r } from \"../../core/screenUtils.js\";\nimport { O as l } from \"../../chunks/vec3f64.js\";\nimport { effectFunctionsFromJSON as i } from \"../../layers/effects/jsonUtils.js\";\nimport { getCIMSymbolColor as c } from \"./cimSymbolUtils.js\";\nimport { getStroke as s } from \"./gfxUtils.js\";\nimport { Symbol3DMaterial as u } from \"./Symbol3DMaterial.js\";\nconst a = new e(\"white\");\nfunction f(e) {\n const t = e.symbolLayers?.at(-1);\n if (t && \"outline\" in t) return t?.outline?.size;\n}\nfunction m(e) {\n if (!e) return 0;\n if (t(e)) {\n const t = f(e);\n return null != t ? t : 0;\n }\n return r(s(e)?.width);\n}\nfunction y(e) {\n if (null == e || !(\"symbolLayers\" in e) || null == e.symbolLayers) return !1;\n switch (e.type) {\n case \"point-3d\":\n return e.symbolLayers.some(e => \"object\" === e.type);\n case \"line-3d\":\n return e.symbolLayers.some(e => \"path\" === e.type);\n case \"polygon-3d\":\n return e.symbolLayers.some(e => \"object\" === e.type || \"extrude\" === e.type);\n default:\n return !1;\n }\n}\nfunction p(e) {\n return e.resource?.href ?? \"\";\n}\nfunction h(n, r) {\n if (!n) return null;\n let l = null;\n return t(n) ? l = b(n) : o(n) && (l = \"cim\" === n.type ? c(n) : n.color ? new e(n.color) : null), l ? w(l, r) : null;\n}\nfunction b(t) {\n const o = t.symbolLayers;\n if (!o) return null;\n let n = null;\n return o.forEach(e => {\n \"object\" === e.type && e.resource?.href || (n = \"water\" === e.type ? e.color : e.material ? e.material.color : null);\n }), n ? new e(n) : null;\n}\nfunction w(t, o) {\n if (null == o || null == t) return t;\n const n = t.toRgba();\n return n[3] = n[3] * o, new e(n);\n}\nfunction d(e, t, o) {\n const n = e.symbolLayers;\n if (!n) return;\n const r = e => w(t = t ?? e ?? (null != o ? a : null), o);\n n.forEach(e => {\n if (\"object\" !== e.type || !e.resource?.href || t) if (\"water\" === e.type) e.color = r(e.color);else {\n const t = null != e.material ? e.material.color : null,\n n = r(t);\n null == e.material ? e.material = new u({\n color: n\n }) : e.material.color = n, null != o && \"outline\" in e && null != e.outline?.color && (e.outline.color = w(e.outline.color, o));\n }\n });\n}\nfunction j(e, t, o) {\n (t = t ?? e.color) && (e.color = w(t, o)), null != o && \"outline\" in e && e.outline?.color && (e.outline.color = w(e.outline.color, o));\n}\nfunction k(n, r, l) {\n n && (r || null != l) && (r && (r = new e(r)), t(n) ? d(n, r, l) : o(n) && j(n, r, l));\n}\nasync function g(e, t) {\n const o = e.symbolLayers;\n o && (await n(o, async e => L(e, t)));\n}\nasync function L(e, t) {\n switch (e.type) {\n case \"extrude\":\n x(e, t);\n break;\n case \"icon\":\n case \"line\":\n case \"text\":\n z(e, t);\n break;\n case \"path\":\n v(e, t);\n break;\n case \"object\":\n await U(e, t);\n }\n}\nfunction z(e, t) {\n const o = S(t);\n null != o && (e.size = o);\n}\nfunction S(e) {\n for (const t of e) if (\"number\" == typeof t) return t;\n return null;\n}\nfunction x(e, t) {\n e.size = \"number\" == typeof t[2] ? t[2] : 0;\n}\nasync function U(e, t) {\n const {\n resourceSize: o,\n symbolSize: n\n } = await O(e),\n r = E(t, o, n);\n e.width = C(t[0], n[0], o[0], r), e.depth = C(t[1], n[1], o[1], r), e.height = C(t[2], n[2], o[2], r);\n}\nfunction v(e, t) {\n const o = E(t, l, [e.width, void 0, e.height]);\n e.width = C(t[0], e.width, 1, o), e.height = C(t[2], e.height, 1, o);\n}\nfunction E(e, t, o) {\n for (let n = 0; n < 3; n++) {\n const r = e[n];\n switch (r) {\n case \"symbol-value\":\n {\n const e = o[n];\n return null != e ? e / t[n] : 1;\n }\n case \"proportional\":\n break;\n default:\n if (r && t[n]) return r / t[n];\n }\n }\n return 1;\n}\nasync function O(e) {\n const {\n computeObjectLayerResourceSize: t\n } = await import(\"./symbolLayerUtils.js\"),\n o = await t(e, 10),\n {\n width: n,\n height: r,\n depth: l\n } = e,\n i = [n, l, r];\n let c = 1;\n for (let s = 0; s < 3; s++) {\n const e = i[s];\n if (null != e) {\n c = e / o[s];\n break;\n }\n }\n for (let s = 0; s < 3; s++) null == i[s] && (i[s] = o[s] * c);\n return {\n resourceSize: o,\n symbolSize: i\n };\n}\nfunction C(e, t, o, n) {\n switch (e) {\n case \"proportional\":\n return o * n;\n case \"symbol-value\":\n return null != t ? t : o;\n default:\n return e;\n }\n}\nfunction M(e, t) {\n const o = S(t);\n if (null != o) switch (e.type) {\n case \"simple-marker\":\n e.size = o;\n break;\n case \"picture-marker\":\n {\n const t = e.width / e.height;\n t > 1 ? (e.width = o, e.height = o * t) : (e.width = o * t, e.height = o);\n break;\n }\n case \"simple-line\":\n e.width = o;\n break;\n case \"text\":\n e.font.size = o;\n }\n}\nasync function R(e, n) {\n if (e && n) return t(e) ? g(e, n) : void (o(e) && M(e, n));\n}\nfunction D(e, n, r) {\n if (e && null != n) if (t(e)) {\n const t = e.symbolLayers;\n t && t.forEach(e => {\n if (e && \"object\" === e.type) switch (r) {\n case \"tilt\":\n e.tilt = n;\n break;\n case \"roll\":\n e.roll = n;\n break;\n default:\n e.heading = n;\n }\n });\n } else o(e) && (\"simple-marker\" !== e.type && \"picture-marker\" !== e.type && \"text\" !== e.type || (e.angle = n));\n}\nfunction I(e) {\n if (!e) return null;\n const t = e.effects.filter(e => \"bloom\" !== e.type).map(e => e.toJSON());\n return i(t);\n}\nfunction J(e) {\n return null != e && \"polygon-3d\" === e.type && e.symbolLayers.some(e => \"extrude\" === e.type);\n}\nasync function N(e, t) {\n const o = await e.fetchSymbol(t);\n return o || e.fetchCIMSymbol(t);\n}\nexport { k as applyColorToSymbol, w as applyOpacityToColor, D as applyRotationToSymbol, R as applySizesToSymbol, N as fetchWebStyleSymbol, I as getCSSFilterFromEffectList, h as getColorFromSymbol, p as getIconHref, m as getSymbolOutlineSize, y as isVolumetricSymbol, J as symbolHasExtrudeSymbolLayer };"],"mappings":"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","names":["l","e","o","y","m","M","C","u","n","a","i","c","f","l","a","m","p","u","e","f","C","i","n","c","y","a","u","f","e","m","y","p","h","n","l","b","C","d","t","j","k","g","x","S","i","c","M","I","e"],"x_google_ignoreList":[0,1,2]}