{"version":3,"sources":["node_modules/@arcgis/core/symbols/support/svgUtils.js","node_modules/@arcgis/core/symbols/support/renderUtils.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 t from \"../../Color.js\";\nimport has from \"../../core/has.js\";\nimport { assertIsSome as e } from \"../../core/maybe.js\";\nimport { c as i } from \"../../chunks/mat2df32.js\";\nimport { m as n, t as r, c as o, s, r as a } from \"../../chunks/mat2d.js\";\nimport \"../../widgets/support/widgetUtils.js\";\nimport { tsx as l } from \"../../widgets/support/jsxFactory.js\";\nconst h = \"http://www.w3.org/2000/svg\";\nlet f = 0,\n c = 0;\nconst d = has(\"android\"),\n u = has(\"chrome\") || d && d >= 4 ? \"auto\" : \"optimizeLegibility\",\n y = {\n m: 2,\n l: 2,\n h: 1,\n v: 1,\n c: 6,\n s: 4,\n q: 4,\n t: 2,\n a: 7,\n z: 0\n },\n p = /([A-DF-Za-df-z])|([-+]?\\d*[.]?\\d+(?:[eE][-+]?\\d+)?)/g;\nlet g = {},\n m = {};\nconst x = {\n solid: \"none\",\n shortdash: [4, 1],\n shortdot: [1, 1],\n shortdashdot: [4, 1, 1, 1],\n shortdashdotdot: [4, 1, 1, 1, 1, 1],\n dot: [1, 3],\n dash: [4, 3],\n longdash: [8, 3],\n dashdot: [4, 3, 1, 3],\n longdashdot: [8, 3, 1, 3],\n longdashdotdot: [8, 3, 1, 3, 1, 3]\n },\n w = Math.PI;\nlet k = 1;\nfunction b(t, e) {\n const i = t * (w / 180);\n return Math.abs(e * Math.sin(i)) + Math.abs(e * Math.cos(i));\n}\nfunction j(t) {\n return t.map(t => `${t.command} ${t.values.join(\" \")}`).join(\" \").trim();\n}\nfunction v(t, i, n, r) {\n if (t) {\n if (\"circle\" === t.type) return l(\"circle\", {\n cx: t.cx,\n cy: t.cy,\n fill: i,\n \"fill-rule\": \"evenodd\",\n r: t.r,\n stroke: n.color,\n \"stroke-dasharray\": n.dashArray,\n \"stroke-dashoffset\": n.dashOffset,\n \"stroke-linecap\": n.cap,\n \"stroke-linejoin\": n.join,\n \"stroke-miterlimit\": \"4\",\n \"stroke-width\": n.width\n });\n if (\"ellipse\" === t.type) return l(\"ellipse\", {\n cx: t.cx,\n cy: t.cy,\n fill: i,\n \"fill-rule\": \"evenodd\",\n rx: t.rx,\n ry: t.ry,\n stroke: n.color,\n \"stroke-dasharray\": n.dashArray,\n \"stroke-linecap\": n.cap,\n \"stroke-linejoin\": n.join,\n \"stroke-miterlimit\": \"4\",\n \"stroke-width\": n.width\n });\n if (\"rect\" === t.type) return l(\"rect\", {\n fill: i,\n \"fill-rule\": \"evenodd\",\n height: t.height,\n stroke: n.color,\n \"stroke-dasharray\": n.dashArray,\n \"stroke-linecap\": n.cap,\n \"stroke-linejoin\": n.join,\n \"stroke-miterlimit\": \"4\",\n \"stroke-width\": n.width,\n width: t.width,\n x: t.x,\n y: t.y\n });\n if (\"image\" === t.type) return l(\"image\", {\n height: t.height,\n href: t.src,\n preserveAspectRatio: \"none\",\n width: t.width,\n x: t.x,\n y: t.y\n });\n if (\"path\" === t.type) {\n const e = \"string\" != typeof t.path ? j(t.path) : t.path;\n return l(\"path\", {\n d: e,\n fill: i,\n \"fill-rule\": \"evenodd\",\n stroke: n.color,\n \"stroke-dasharray\": n.dashArray,\n \"stroke-linecap\": n.cap,\n \"stroke-linejoin\": n.join,\n \"stroke-miterlimit\": \"4\",\n \"stroke-width\": n.width\n });\n }\n if (\"text\" === t.type) return e(r), l(\"text\", {\n \"dominant-baseline\": r.dominantBaseline,\n fill: i,\n \"fill-rule\": \"evenodd\",\n \"font-family\": r.font.family,\n \"font-size\": r.font.size,\n \"font-style\": r.font.style,\n \"font-variant\": r.font.variant,\n \"font-weight\": r.font.weight,\n kerning: r.kerning,\n rotate: r.rotate,\n stroke: n.color,\n \"stroke-dasharray\": n.dashArray,\n \"stroke-linecap\": n.cap,\n \"stroke-linejoin\": n.join,\n \"stroke-miterlimit\": \"4\",\n \"stroke-width\": n.width,\n \"text-anchor\": r.align,\n \"text-decoration\": r.decoration,\n \"text-rendering\": u,\n x: t.x,\n y: t.y\n }, t.text);\n }\n return null;\n}\nfunction M(e) {\n const i = {\n fill: \"none\",\n pattern: null,\n linearGradient: null\n };\n if (e) if (\"type\" in e && \"pattern\" === e.type) {\n const t = \"patternId-\" + ++f;\n i.fill = `url(#${t})`, i.pattern = {\n id: t,\n x: e.x,\n y: e.y,\n width: e.width,\n height: e.height,\n image: {\n x: 0,\n y: 0,\n width: e.width,\n height: e.height,\n href: e.src\n }\n };\n } else if (\"type\" in e && \"linear\" === e.type) {\n const n = \"linearGradientId-\" + ++c;\n i.fill = `url(#${n})`, i.linearGradient = {\n id: n,\n x1: e.x1,\n y1: e.y1,\n x2: e.x2,\n y2: e.y2,\n stops: e.colors.map(e => ({\n offset: e.offset,\n color: e.color && new t(e.color).toString()\n }))\n };\n } else if (e) {\n const n = new t(e);\n i.fill = n.toString();\n }\n return i;\n}\nfunction A(e) {\n const i = {\n color: \"none\",\n width: 1,\n cap: \"butt\",\n join: \"4\",\n dashArray: \"none\",\n dashOffset: \"0\"\n };\n if (e && (null != e.width && (i.width = e.width), e.cap && (i.cap = e.cap), e.join && (i.join = e.join.toString()), e.color && (i.color = new t(e.color).toString()), e.dashArray && (i.dashArray = e.dashArray), e.dashArray && (i.dashOffset = e.dashoffset), e.style)) {\n let t = null;\n if (e.style in x && (t = x[e.style]), Array.isArray(t)) {\n t = t.slice(0);\n const i = e.width ?? 0;\n for (let e = 0; e < t.length; ++e) t[e] *= i;\n if (\"butt\" !== e.cap) {\n for (let e = 0; e < t.length; e += 2) t[e] -= i, t[e] < 1 && (t[e] = 1);\n for (let e = 1; e < t.length; e += 2) t[e] += i;\n }\n t = t.join(\",\");\n }\n i.dashArray = t;\n }\n return i;\n}\nfunction S(t, i) {\n const n = {\n align: null,\n decoration: null,\n kerning: null,\n rotate: null,\n font: {\n style: null,\n variant: null,\n weight: null,\n size: null,\n family: null\n }\n };\n if (t) {\n const r = t.alignBaseline,\n o = \"baseline\" === r ? \"auto\" : \"top\" === r ? \"text-top\" : \"bottom\" === r ? \"hanging\" : r;\n n.align = t.align, n.dominantBaseline = o, n.decoration = t.decoration, n.kerning = t.kerning ? \"auto\" : \"0\", n.rotate = t.rotated ? \"90\" : \"0\", e(i), n.font.style = i.style || \"normal\", n.font.variant = i.variant || \"normal\", n.font.weight = i.weight || \"normal\", n.font.size = i.size && i.size.toString() || \"10pt\", n.font.family = i.family || \"serif\";\n }\n return n;\n}\nfunction $(t) {\n const {\n pattern: e,\n linearGradient: i\n } = t;\n if (e) return l(\"pattern\", {\n height: e.height,\n id: e.id,\n patternUnits: \"userSpaceOnUse\",\n width: e.width,\n x: e.x,\n y: e.y\n }, l(\"image\", {\n height: e.image.height,\n href: e.image.href,\n width: e.image.width,\n x: e.image.x,\n y: e.image.y\n }));\n if (i) {\n const t = i.stops.map((t, e) => l(\"stop\", {\n key: `${e}-stop`,\n offset: t.offset,\n \"stop-color\": t.color\n }));\n return l(\"linearGradient\", {\n gradientUnits: \"userSpaceOnUse\",\n id: i.id,\n x1: i.x1,\n x2: i.x2,\n y1: i.y1,\n y2: i.y2\n }, t);\n }\n return null;\n}\nfunction N(t, e) {\n if (!t || 0 === t.length) return null;\n const i = [];\n for (const n of t) {\n const {\n shape: t,\n fill: e,\n stroke: r,\n font: o\n } = n,\n s = M(e),\n a = A(r),\n l = \"text\" === t.type ? S(t, o) : null,\n h = v(t, s.fill, a, l);\n h && i.push(h);\n }\n return l(\"mask\", {\n id: e,\n maskUnits: \"userSpaceOnUse\"\n }, l(\"g\", null, i));\n}\nfunction G(t, e, i) {\n return r(t, o(t), [e, i]);\n}\nfunction I(t, e, i, n, r) {\n return s(t, o(t), [e, i]), t[4] = t[4] * e - n * e + n, t[5] = t[5] * i - r * i + r, t;\n}\nfunction z(t, e, i, n) {\n const r = e % 360 * Math.PI / 180;\n a(t, o(t), r);\n const s = Math.cos(r),\n l = Math.sin(r),\n h = t[4],\n f = t[5];\n return t[4] = h * s - f * l + n * l - i * s + i, t[5] = f * s + h * l - i * l - n * s + n, t;\n}\nfunction B(t, e) {\n g && \"left\" in g ? (null != g.left && g.left > t && (g.left = t), (null == g.right || g.right < t) && (g.right = t), (null == g.top || g.top > e) && (g.top = e), (null == g.bottom || g.bottom < e) && (g.bottom = e)) : g = {\n left: t,\n bottom: e,\n right: t,\n top: e\n };\n}\nfunction U(t) {\n const e = t.args,\n i = e.length;\n let n;\n switch (t.action) {\n case \"M\":\n case \"L\":\n case \"C\":\n case \"S\":\n case \"Q\":\n case \"T\":\n for (n = 0; n < i; n += 2) B(e[n], e[n + 1]);\n m.x = e[i - 2], m.y = e[i - 1];\n break;\n case \"H\":\n for (n = 0; n < i; ++n) B(e[n], m.y);\n m.x = e[i - 1];\n break;\n case \"V\":\n for (n = 0; n < i; ++n) B(m.x, e[n]);\n m.y = e[i - 1];\n break;\n case \"m\":\n {\n let t = 0;\n \"x\" in m || (B(m.x = e[0], m.y = e[1]), t = 2);\n for (n = t; n < i; n += 2) B(m.x += e[n], m.y += e[n + 1]);\n break;\n }\n case \"l\":\n case \"t\":\n for (n = 0; n < i; n += 2) B(m.x += e[n], m.y += e[n + 1]);\n break;\n case \"h\":\n for (n = 0; n < i; ++n) B(m.x += e[n], m.y);\n break;\n case \"v\":\n for (n = 0; n < i; ++n) B(m.x, m.y += e[n]);\n break;\n case \"c\":\n for (n = 0; n < i; n += 6) B(m.x + e[n], m.y + e[n + 1]), B(m.x + e[n + 2], m.y + e[n + 3]), B(m.x += e[n + 4], m.y += e[n + 5]);\n break;\n case \"s\":\n case \"q\":\n for (n = 0; n < i; n += 4) B(m.x + e[n], m.y + e[n + 1]), B(m.x += e[n + 2], m.y += e[n + 3]);\n break;\n case \"A\":\n for (n = 0; n < i; n += 7) B(e[n + 5], e[n + 6]);\n m.x = e[i - 2], m.y = e[i - 1];\n break;\n case \"a\":\n for (n = 0; n < i; n += 7) B(m.x += e[n + 5], m.y += e[n + 6]);\n }\n}\nfunction F(t, e, i) {\n const n = y[t.toLowerCase()];\n let r;\n \"number\" == typeof n && (n ? e.length >= n && (r = {\n action: t,\n args: e.slice(0, e.length - e.length % n)\n }, i.push(r), U(r)) : (r = {\n action: t,\n args: []\n }, i.push(r), U(r)));\n}\nfunction O(t) {\n const e = (\"string\" != typeof t.path ? j(t.path) : t.path).match(p),\n i = [];\n if (g = {}, m = {}, !e) return null;\n let n = \"\",\n r = [];\n const o = e.length;\n for (let a = 0; a < o; ++a) {\n const t = e[a],\n o = parseFloat(t);\n isNaN(o) ? (n && F(n, r, i), r = [], n = t) : r.push(o);\n }\n F(n, r, i);\n const s = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n return g && \"left\" in g && (s.x = g.left, s.y = g.top, s.width = g.right - g.left, s.height = g.bottom - g.top), s;\n}\nfunction T(t) {\n const e = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n if (\"circle\" === t.type) e.x = t.cx - t.r, e.y = t.cy - t.r, e.width = 2 * t.r, e.height = 2 * t.r;else if (\"ellipse\" === t.type) e.x = t.cx - t.rx, e.y = t.cy - t.ry, e.width = 2 * t.rx, e.height = 2 * t.ry;else if (\"image\" === t.type || \"rect\" === t.type) e.x = t.x, e.y = t.y, e.width = t.width, e.height = t.height;else if (\"path\" === t.type) {\n const i = O(t);\n e.x = i.x, e.y = i.y, e.width = i.width, e.height = i.height;\n }\n return e;\n}\nfunction E(t) {\n const e = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n let i = null,\n n = Number.NEGATIVE_INFINITY,\n r = Number.NEGATIVE_INFINITY;\n for (const o of t) i ? (i.x = Math.min(i.x, o.x), i.y = Math.min(i.y, o.y), n = Math.max(n, o.x + o.width), r = Math.max(r, o.y + o.height)) : (i = e, i.x = o.x, i.y = o.y, n = o.x + o.width, r = o.y + o.height);\n return i && (i.width = n - i.x, i.height = r - i.y), i;\n}\nfunction V(t, e, r, o, s, a, l, h, f) {\n let c = (l && a ? b(a, e) : e) / 2,\n d = (l && a ? b(a, r) : r) / 2;\n if (f) {\n const t = f[0],\n e = f[1];\n c = (l && a ? b(a, t) : t) / 2, d = (l && a ? b(a, e) : e) / 2;\n }\n const u = t.width + o,\n y = t.height + o,\n p = i(),\n g = i();\n let m = !1;\n if (s && 0 !== u && 0 !== y) {\n const t = e !== r ? e / r : u / y,\n i = e > r ? e : r;\n let o = 1,\n s = 1;\n isNaN(i) || (t > 1 ? (o = i / u, s = i / t / y) : (s = i / y, o = i * t / u)), n(g, g, I(p, o, s, c, d)), m = !0;\n }\n const x = t.x + (u - o) / 2,\n w = t.y + (y - o) / 2;\n if (n(g, g, G(p, c - x, d - w)), !m && (u > e || y > r)) {\n const t = u / e > y / r,\n i = (t ? e : r) / (t ? u : y);\n n(g, g, I(p, i, i, x, w));\n }\n return a && n(g, g, z(p, a, x, w)), h && n(g, g, G(p, h[0], h[1])), `matrix(${g[0]},${g[1]},${g[2]},${g[3]},${g[4]},${g[5]})`;\n}\nfunction C(t, e, i) {\n const n = t?.effects.find(t => \"bloom\" === t.type);\n if (!n) return null;\n const {\n strength: r,\n radius: o\n } = n,\n s = r > 0 ? o : 0,\n a = (r + s) * e,\n h = 4 * r + 1;\n return l(\"filter\", {\n filterUnits: \"userSpaceOnUse\",\n height: \"300%\",\n id: `bloom${i}`,\n width: \"300%\",\n x: \"-100%\",\n y: \"-100%\"\n }, l(\"feMorphology\", {\n in: \"SourceGraphic\",\n operator: \"dilate\",\n radius: (r + .5 * s) * (5 ** (e / 100) * (.4 + e / 100)),\n result: \"dilate\"\n }), l(\"feGaussianBlur\", {\n in: \"dilate\",\n result: \"blur\",\n stdDeviation: a / 25\n }), l(\"feGaussianBlur\", {\n in: \"blur\",\n result: \"intensityBlur\",\n stdDeviation: a / 50\n }), l(\"feComponentTransfer\", {\n in: \"SourceGraphic\",\n result: \"intensityBrightness\"\n }, l(\"feFuncR\", {\n slope: h,\n type: \"linear\"\n }), l(\"feFuncG\", {\n slope: h,\n type: \"linear\"\n }), l(\"feFuncB\", {\n slope: h,\n type: \"linear\"\n })), l(\"feMerge\", null, l(\"feMergeNode\", {\n in: \"intensityBlur\"\n }), l(\"feMergeNode\", {\n in: \"intensityBrightness\"\n }), l(\"feGaussianBlur\", {\n stdDeviation: r / 10\n })));\n}\nfunction D(t, i, n, r = {}) {\n const o = [],\n s = [],\n a = ++k,\n f = C(r.effectView, i, a);\n let c = null;\n if (f) {\n const t = r.effectView?.effects.find(t => \"bloom\" === t.type),\n e = (t.strength ? t.strength + t.radius / 2 : 0) / 3,\n o = i + i * e,\n s = n + n * e;\n c = [Math.max(o, 10), Math.max(s, 10)];\n }\n for (let e = 0; e < t.length; e++) {\n const a = t[e],\n h = [],\n f = [];\n let d = 0,\n u = 0,\n y = 0;\n for (const t of a) {\n const {\n shape: e,\n fill: i,\n stroke: n,\n font: s,\n offset: a\n } = t;\n r.ignoreStrokeWidth || \"text\" === e.type || (d += n?.width || 0);\n const l = M(i),\n c = A(n),\n p = \"text\" === e.type ? S(e, s) : null;\n o.push($(l)), h.push(v(e, l.fill, c, p)), f.push(T(e)), a && (u += a[0], y += a[1]);\n }\n const p = V(E(f), i, n, d, r.scale ?? !1, r.rotation, r.useRotationSize ?? !1, [u, y], c);\n let g = null;\n if (r.masking) {\n const t = `mask-${e}`,\n i = r.masking[e];\n o.push(N(i, t)), g = `url(#${t})`;\n }\n s.push(g ? l(\"g\", {\n mask: g\n }, l(\"g\", {\n transform: p\n }, h)) : l(\"g\", {\n transform: p\n }, h));\n }\n r.useRotationSize && r.rotation && (i = b(r.rotation, i), n = b(r.rotation, n)), f && (e(c), i = c[0], n = c[1]);\n const d = \"display: block;\";\n return l(\"svg\", {\n \"aria-labelledby\": r.ariaLabel,\n focusable: !1,\n height: n,\n role: \"img\",\n style: d,\n width: i,\n xmlns: h\n }, f, l(\"defs\", null, o), f ? l(\"g\", {\n filter: `url(#bloom${a})`\n }, s) : s);\n}\nexport { E as computeBBox, M as generateFillAttributes, A as generateStrokeAttributes, S as generateTextAttributes, T as getBoundingBox, V as getTransformMatrix, $ as renderDef, D as renderSVG, v as renderShape };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { id as t } from \"../../kernel.js\";\nimport e from \"../../request.js\";\nimport { toHSV as i, toRGB as r } from \"../../core/colorUtils.js\";\nimport n from \"../../core/Error.js\";\nimport has from \"../../core/has.js\";\nimport \"../../libs/maquette/projection.js\";\nimport { createProjector as o } from \"../../libs/maquette/projector.js\";\nimport { renderSVG as a } from \"./svgUtils.js\";\nimport { getCSSFilterFromEffectList as c } from \"./utils.js\";\nconst s = o();\nfunction h(t, e) {\n s.append(t, e), s.detach(e);\n}\nfunction l(t, e, i) {\n const r = Math.ceil(e[0]),\n n = Math.ceil(e[1]);\n if (!t.some(t => !!t.length)) return null;\n const o = i?.node || document.createElement(\"div\");\n null != i.opacity && (o.style.opacity = i.opacity.toString()), null != i.effectView && (o.style.filter = c(i.effectView));\n return h(o, () => a(t, r, n, i)), o;\n}\nfunction m(t, e) {\n t = Math.ceil(t), e = Math.ceil(e);\n const i = document.createElement(\"canvas\");\n i.width = t, i.height = e, i.style.width = t + \"px\", i.style.height = e + \"px\";\n const r = i.getContext(\"2d\");\n return r.clearRect(0, 0, t, e), r;\n}\nfunction g(t, i, r) {\n return t ? e(t, {\n responseType: \"image\"\n }).then(t => {\n const e = t.data,\n n = e.width,\n o = e.height,\n a = n / o;\n let c = i;\n if (r) {\n const t = Math.max(n, o);\n c = Math.min(c, t);\n }\n return {\n image: e,\n width: a <= 1 ? Math.ceil(c * a) : c,\n height: a <= 1 ? c : Math.ceil(c / a)\n };\n }) : Promise.reject(new n(\"renderUtils: imageDataSize\", \"href not provided.\"));\n}\nfunction u(t, e) {\n return !(!t || \"ignore\" === e) && (\"multiply\" !== e || 255 !== t.r || 255 !== t.g || 255 !== t.b || 1 !== t.a);\n}\nfunction f(t, e, n, o, a) {\n switch (a) {\n case \"multiply\":\n t[e] *= n[0], t[e + 1] *= n[1], t[e + 2] *= n[2], t[e + 3] *= n[3];\n break;\n default:\n {\n const a = i({\n r: t[e],\n g: t[e + 1],\n b: t[e + 2]\n });\n a.h = o.h, a.s = o.s, a.v = a.v / 100 * o.v;\n const c = r(a);\n t[e] = c.r, t[e + 1] = c.g, t[e + 2] = c.b, t[e + 3] *= n[3];\n break;\n }\n }\n}\nfunction d(e, r, n, o, a) {\n return g(e, r, a).then(a => {\n const c = a.width ?? r,\n s = a.height ?? r;\n if (a.image && u(n, o)) {\n let t = a.image.width,\n r = a.image.height;\n has(\"edge\") && /\\.svg$/i.test(e) && (t -= 1, r -= 1);\n const h = m(c, s);\n h.drawImage(a.image, 0, 0, t, r, 0, 0, c, s);\n const l = h.getImageData(0, 0, c, s),\n g = [n.r / 255, n.g / 255, n.b / 255, n.a],\n u = i(n);\n for (let e = 0; e < l.data.length; e += 4) f(l.data, e, g, u, o);\n h.putImageData(l, 0, 0), e = h.canvas.toDataURL(\"image/png\");\n } else {\n const i = t?.findCredential(e);\n if (i?.token) {\n const t = e.includes(\"?\") ? \"&\" : \"?\";\n e = `${e}${t}token=${i.token}`;\n }\n }\n return {\n url: e,\n width: c,\n height: s\n };\n }).catch(() => ({\n url: e,\n width: r,\n height: r\n }));\n}\nexport { h as renderOnce, l as renderSymbol, d as tintImageWithColor };"],"mappings":"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","names":["c","u","y","t","e","i","j","n","o","s","l","h","I","z","f","d","p","g","m","x","w","a","s","h","t","e","i","n","o","m","g","c","u","f","a","d","r","l"],"x_google_ignoreList":[0,1]}