{"version":3,"file":"static/js/4756.5d00788b.chunk.js","mappings":"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","sources":["../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/calcite-icon.js","../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/icon.js","../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/observers.js"],"sourcesContent":["/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n * v1.0.8-next.4\n */\nimport { I as Icon, d as defineCustomElement$1 } from './icon.js';\n\nconst CalciteIcon = Icon;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { CalciteIcon, defineCustomElement };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n * v1.0.8-next.4\n */\nimport { getAssetPath, proxyCustomElement, HTMLElement, h, Host, Build } from '@stencil/core/internal/client/index.js';\nimport { c as getElementDir, t as toAriaBoolean } from './dom.js';\nimport { c as createObserver } from './observers.js';\n\nconst CSS = {\n icon: \"icon\",\n flipRtl: \"flip-rtl\"\n};\n\n/**\n * Icon data cache.\n * Exported for testing purposes.\n *\n * @private\n */\nconst iconCache = {};\n/**\n * Icon request cache.\n * Exported for testing purposes.\n *\n * @private\n */\nconst requestCache = {};\nconst scaleToPx = {\n s: 16,\n m: 24,\n l: 32\n};\nasync function fetchIcon({ icon, scale }) {\n const size = scaleToPx[scale];\n const name = normalizeIconName(icon);\n const filled = name.charAt(name.length - 1) === \"F\";\n const iconName = filled ? name.substring(0, name.length - 1) : name;\n const id = `${iconName}${size}${filled ? \"F\" : \"\"}`;\n if (iconCache[id]) {\n return iconCache[id];\n }\n if (!requestCache[id]) {\n requestCache[id] = fetch(getAssetPath(`./assets/icon/${id}.json`))\n .then((resp) => resp.json())\n .catch(() => {\n console.error(`\"${id}\" is not a valid calcite-ui-icon name`);\n return \"\";\n });\n }\n const path = await requestCache[id];\n iconCache[id] = path;\n return path;\n}\n/**\n * Normalize the icon name to match the path data module exports.\n * Exported for testing purposes.\n *\n * @param name – an icon name that can be either kebab or camel-cased\n * @private\n */\nfunction normalizeIconName(name) {\n const numberLeadingName = !isNaN(Number(name.charAt(0)));\n const parts = name.split(\"-\");\n const kebabCased = parts.length > 0;\n if (kebabCased) {\n const firstNonDigitInPartPattern = /[a-z]/i;\n name = parts\n .map((part, partIndex) => {\n return part.replace(firstNonDigitInPartPattern, function replacer(match, offset) {\n const isFirstCharInName = partIndex === 0 && offset === 0;\n if (isFirstCharInName) {\n return match;\n }\n return match.toUpperCase();\n });\n })\n .join(\"\");\n }\n return numberLeadingName ? `i${name}` : name;\n}\n\nconst iconCss = \"@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0}}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing);--calcite-floating-ui-z-index:600}:host([hidden]){display:none}:host{display:inline-flex;color:var(--calcite-ui-icon-color)}:host([scale=s]){block-size:1rem;inline-size:1rem;min-inline-size:1rem;min-block-size:1rem}:host([scale=m]){block-size:1.5rem;inline-size:1.5rem;min-inline-size:1.5rem;min-block-size:1.5rem}:host([scale=l]){block-size:2rem;inline-size:2rem;min-inline-size:2rem;min-block-size:2rem}.flip-rtl{transform:scaleX(-1)}.svg{display:block}\";\n\nconst Icon = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.icon = null;\n this.flipRtl = false;\n this.scale = \"m\";\n this.textLabel = undefined;\n this.pathData = undefined;\n this.visible = false;\n }\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n connectedCallback() {\n this.waitUntilVisible(() => {\n this.visible = true;\n this.loadIconPathData();\n });\n }\n disconnectedCallback() {\n this.intersectionObserver?.disconnect();\n this.intersectionObserver = null;\n }\n async componentWillLoad() {\n this.loadIconPathData();\n }\n render() {\n const { el, flipRtl, pathData, scale, textLabel } = this;\n const dir = getElementDir(el);\n const size = scaleToPx[scale];\n const semantic = !!textLabel;\n const paths = [].concat(pathData || \"\");\n return (h(Host, { \"aria-hidden\": toAriaBoolean(!semantic), \"aria-label\": semantic ? textLabel : null, role: semantic ? \"img\" : null }, h(\"svg\", { \"aria-hidden\": \"true\", class: {\n [CSS.flipRtl]: dir === \"rtl\" && flipRtl,\n svg: true\n }, fill: \"currentColor\", height: \"100%\", viewBox: `0 0 ${size} ${size}`, width: \"100%\", xmlns: \"http://www.w3.org/2000/svg\" }, paths.map((path) => typeof path === \"string\" ? (h(\"path\", { d: path })) : (h(\"path\", { d: path.d, opacity: \"opacity\" in path ? path.opacity : 1 }))))));\n }\n //--------------------------------------------------------------------------\n //\n // Private Methods\n //\n //--------------------------------------------------------------------------\n async loadIconPathData() {\n const { icon, scale, visible } = this;\n if (!Build.isBrowser || !icon || !visible) {\n return;\n }\n this.pathData = await fetchIcon({ icon, scale });\n }\n waitUntilVisible(callback) {\n this.intersectionObserver = createObserver(\"intersection\", (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n this.intersectionObserver.disconnect();\n this.intersectionObserver = null;\n callback();\n }\n });\n }, { rootMargin: \"50px\" });\n if (!this.intersectionObserver) {\n callback();\n return;\n }\n this.intersectionObserver.observe(this.el);\n }\n static get assetsDirs() { return [\"assets\"]; }\n get el() { return this; }\n static get watchers() { return {\n \"icon\": [\"loadIconPathData\"],\n \"scale\": [\"loadIconPathData\"]\n }; }\n static get style() { return iconCss; }\n}, [1, \"calcite-icon\", {\n \"icon\": [513],\n \"flipRtl\": [516, \"flip-rtl\"],\n \"scale\": [513],\n \"textLabel\": [1, \"text-label\"],\n \"pathData\": [32],\n \"visible\": [32]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"calcite-icon\"];\n components.forEach(tagName => { switch (tagName) {\n case \"calcite-icon\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Icon);\n }\n break;\n } });\n}\ndefineCustomElement();\n\nexport { Icon as I, defineCustomElement as d };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n * v1.0.8-next.4\n */\nimport { Build } from '@stencil/core/internal/client/index.js';\n\n/**\n * This utility ensures observers are created only for browser contexts.\n *\n * @param type - the type of observer to create\n * @param callback - the observer callback\n * @param options - the observer options\n */\nfunction createObserver(type, callback, options) {\n if (!Build.isBrowser) {\n return undefined;\n }\n const Observer = getObserver(type);\n return new Observer(callback, options);\n}\nfunction getObserver(type) {\n // based on https://github.com/whatwg/dom/issues/126#issuecomment-1049814948\n class ExtendedMutationObserver extends window.MutationObserver {\n constructor(callback) {\n super(callback);\n this.observedEntry = [];\n this.callback = callback;\n }\n observe(target, options) {\n this.observedEntry.push({ target, options });\n return super.observe(target, options);\n }\n unobserve(target) {\n const newObservedEntries = this.observedEntry.filter((observed) => observed.target !== target);\n this.observedEntry = [];\n this.callback(super.takeRecords(), this);\n this.disconnect();\n newObservedEntries.forEach((observed) => this.observe(observed.target, observed.options));\n }\n }\n return (function () {\n return (type === \"intersection\"\n ? window.IntersectionObserver\n : type === \"mutation\"\n ? ExtendedMutationObserver\n : window.ResizeObserver);\n })();\n}\n\nexport { createObserver as c };\n"],"names":["CalciteIcon","Icon","defineCustomElement","defineCustomElement$1","CSS","iconCache","requestCache","scaleToPx","s","m","l","async","fetchIcon","icon","scale","size","name","numberLeadingName","isNaN","Number","charAt","parts","split","length","firstNonDigitInPartPattern","map","part","partIndex","replace","match","offset","toUpperCase","join","normalizeIconName","filled","id","substring","fetch","getAssetPath","then","resp","json","catch","console","error","path","proxyCustomElement","HTMLElement","constructor","super","this","__registerHost","__attachShadow","flipRtl","textLabel","undefined","pathData","visible","connectedCallback","waitUntilVisible","loadIconPathData","disconnectedCallback","intersectionObserver","disconnect","render","el","dir","getElementDir","semantic","paths","concat","h","Host","toAriaBoolean","role","class","svg","fill","height","viewBox","width","xmlns","d","opacity","Build","callback","createObserver","entries","forEach","entry","isIntersecting","rootMargin","observe","assetsDirs","watchers","style","customElements","tagName","get","define","type","options","Observer","ExtendedMutationObserver","window","MutationObserver","observedEntry","target","push","unobserve","newObservedEntries","filter","observed","takeRecords","IntersectionObserver","ResizeObserver","getObserver"],"sourceRoot":""}