{"version":3,"file":"static/js/7474.44038841.chunk.js","mappings":"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","sources":["../node_modules/@esri/calcite-components/dist/components/calcite-icon.js","../node_modules/@esri/calcite-components/dist/components/icon.js","../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","_ref","icon","scale","size","name","numberLeadingName","isNaN","Number","charAt","parts","split","length","firstNonDigitInPartPattern","map","part","partIndex","replace","match","offset","toUpperCase","join","concat","normalizeIconName","filled","iconName","substring","id","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","_this$intersectionObs","intersectionObserver","disconnect","render","el","dir","getElementDir","semantic","paths","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":""}