{"version":3,"file":"static/js/2607.4c843b7c.chunk.js","mappings":"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","sources":["../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/action.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/interactive.js","../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/loadable.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 { proxyCustomElement, HTMLElement, forceUpdate, Build, h, Host } from '@stencil/core/internal/client/index.js';\nimport { t as toAriaBoolean } from './dom.js';\nimport { g as guid } from './guid.js';\nimport { u as updateHostInteraction } from './interactive.js';\nimport { a as setUpLoadableComponent, s as setComponentLoaded, c as componentLoaded } from './loadable.js';\nimport { c as connectLocalized, d as disconnectLocalized } from './locale.js';\nimport { c as createObserver } from './observers.js';\nimport { u as updateMessages, c as connectMessages, s as setUpMessages, d as disconnectMessages } from './t9n.js';\nimport { d as defineCustomElement$2 } from './icon.js';\nimport { d as defineCustomElement$1 } from './loader.js';\n\nconst CSS = {\n button: \"button\",\n buttonTextVisible: \"button--text-visible\",\n buttonCompact: \"button--compact\",\n indicatorText: \"indicator-text\",\n iconContainer: \"icon-container\",\n slotContainer: \"slot-container\",\n slotContainerHidden: \"slot-container--hidden\",\n textContainer: \"text-container\",\n textContainerVisible: \"text-container--visible\"\n};\nconst SLOTS = {\n tooltip: \"tooltip\"\n};\n\nconst actionCss = \"@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}}:host{box-sizing:border-box;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}:host *{box-sizing:border-box}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing);--calcite-floating-ui-z-index:600}:host([hidden]){display:none}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host{display:flex;background-color:transparent;--calcite-action-indicator-color:var(--calcite-ui-brand)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.button{position:relative;margin:0px;display:flex;inline-size:auto;cursor:pointer;align-items:center;justify-content:flex-start;border-style:none;background-color:var(--calcite-ui-foreground-1);fill:var(--calcite-ui-text-3);font-family:var(--calcite-sans-family);font-size:var(--calcite-font-size--2);line-height:1rem;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-3);outline-color:transparent;text-align:unset;flex:1 0 auto}.button:hover{background-color:var(--calcite-ui-foreground-2);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}.button:focus{background-color:var(--calcite-ui-foreground-2);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1);outline:2px solid var(--calcite-ui-brand);outline-offset:-2px}.button:active{background-color:var(--calcite-ui-foreground-3)}.button .icon-container{pointer-events:none;margin:0px;display:flex;align-items:center;justify-content:center;min-inline-size:1rem;min-block-size:1rem}.button .text-container{margin:0px;inline-size:0px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5rem;opacity:0;transition-property:opacity;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-property:margin;transition-property:inline-size}.button .text-container--visible{inline-size:auto;flex:1 1 auto;opacity:1}:host([scale=s]) .button{padding-inline:0.5rem;padding-block:0.25rem;font-size:var(--calcite-font-size--2);line-height:1rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=s]) .button--text-visible .icon-container{margin-inline-end:0.5rem}:host([scale=m]) .button{padding-inline:1rem;padding-block:0.75rem;font-size:var(--calcite-font-size--1);line-height:1rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=m]) .button--text-visible .icon-container{margin-inline-end:0.75rem}:host([scale=l]) .button{padding:1.25rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=l]) .button--text-visible .icon-container{margin-inline-end:1rem}:host([alignment=center]) .button{justify-content:center}:host([alignment=end]) .button{justify-content:flex-end}:host([alignment=center]) .button .text-container--visible,:host([alignment=end]) .button .text-container--visible{flex:0 1 auto}:host([scale=s][compact]) .button,:host([scale=m][compact]) .button,:host([scale=l][compact]) .button{padding-inline:0px}.slot-container{display:flex}.slot-container--hidden{display:none}.button--text-visible{inline-size:100%}:host([active]) .button,:host([active]) .button:hover,:host([active]) .button:focus,:host([active][loading]) .button{background-color:var(--calcite-ui-foreground-3);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}:host([active]) .button:active{background-color:var(--calcite-ui-foreground-1)}:host([appearance=transparent]) .button{background-color:transparent;transition-property:box-shadow;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}:host([appearance=transparent]) .button:hover,:host([appearance=transparent]) .button:focus{background-color:transparent;box-shadow:0 0 0 2px var(--calcite-ui-border-1) inset}:host([active][appearance=transparent]) .button,:host([active][appearance=transparent]) .button:hover,:host([active][appearance=transparent]) .button:focus{background-color:var(--calcite-ui-foreground-3);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}:host([appearance=transparent][loading]) .button,:host([appearance=transparent][disabled]) .button{background-color:transparent}:host([loading]) .button,:host([loading]) .button:hover,:host([loading]) .button:focus{background-color:var(--calcite-ui-foreground-1)}:host([loading]) .button .text-container,:host([loading]) .button:hover .text-container,:host([loading]) .button:focus .text-container{opacity:var(--calcite-ui-opacity-disabled)}:host([loading]) calcite-loader[inline]{color:var(--calcite-ui-text-3);margin-inline-end:0px}:host([disabled]) .button,:host([disabled]) .button:hover,:host([disabled]) .button:focus{cursor:default;background-color:var(--calcite-ui-foreground-1);opacity:var(--calcite-ui-opacity-disabled)}:host([disabled][active]) .button,:host([disabled][active]) .button:hover,:host([disabled][active]) .button:focus{background-color:var(--calcite-ui-foreground-3);opacity:var(--calcite-ui-opacity-disabled)}:host([indicator]) .button::after{content:\\\"\\\";position:absolute;block-size:0.5rem;inline-size:0.5rem;border-radius:9999px;border-width:2px;background-color:var(--calcite-action-indicator-color);border-color:var(--calcite-ui-foreground-1);inset-block-end:0.75rem;inset-inline-end:0.75rem}:host([indicator]) .button--text-visible::after{inset-block-end:auto}:host([indicator]) .button--text-visible .text-container--visible{margin-inline-end:1rem}:host([indicator]) .button:hover::after,:host([indicator]) .button:focus::after{border-color:var(--calcite-ui-foreground-1)}:host([indicator][scale=s]) .button::after{inset-block-end:0.25rem;inset-inline-end:0.25rem}:host([indicator][scale=s]) .button--text-visible::after{inset-block-end:auto;inset-inline-end:0.5rem}:host([indicator][active]) .button::after{border-color:var(--calcite-ui-foreground-3)}.indicator-text{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}\";\n\nconst Action = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.mutationObserver = createObserver(\"mutation\", () => forceUpdate(this));\n this.guid = `calcite-action-${guid()}`;\n this.indicatorId = `${this.guid}-indicator`;\n this.buttonId = `${this.guid}-button`;\n // --------------------------------------------------------------------------\n //\n // Private Methods\n //\n // --------------------------------------------------------------------------\n this.handleTooltipSlotChange = (event) => {\n const tooltips = event.target\n .assignedElements({\n flatten: true\n })\n .filter((el) => el?.matches(\"calcite-tooltip\"));\n const tooltip = tooltips[0];\n if (tooltip) {\n tooltip.referenceElement = this.buttonEl;\n }\n };\n this.active = false;\n this.alignment = undefined;\n this.appearance = \"solid\";\n this.compact = false;\n this.disabled = false;\n this.icon = undefined;\n this.iconFlipRtl = false;\n this.indicator = false;\n this.label = undefined;\n this.loading = false;\n this.scale = \"m\";\n this.text = undefined;\n this.textEnabled = false;\n this.messages = undefined;\n this.messageOverrides = undefined;\n this.effectiveLocale = \"\";\n this.defaultMessages = undefined;\n }\n onMessagesChange() {\n /* wired up by t9n util */\n }\n effectiveLocaleChange() {\n updateMessages(this, this.effectiveLocale);\n }\n // --------------------------------------------------------------------------\n //\n // Lifecycle\n //\n // --------------------------------------------------------------------------\n connectedCallback() {\n connectLocalized(this);\n connectMessages(this);\n this.mutationObserver?.observe(this.el, { childList: true, subtree: true });\n }\n async componentWillLoad() {\n setUpLoadableComponent(this);\n if (Build.isBrowser) {\n await setUpMessages(this);\n }\n }\n componentDidLoad() {\n setComponentLoaded(this);\n }\n disconnectedCallback() {\n disconnectLocalized(this);\n disconnectMessages(this);\n this.mutationObserver?.disconnect();\n }\n componentDidRender() {\n updateHostInteraction(this);\n }\n // --------------------------------------------------------------------------\n //\n // Methods\n //\n // --------------------------------------------------------------------------\n /** Sets focus on the component. */\n async setFocus() {\n await componentLoaded(this);\n this.buttonEl?.focus();\n }\n // --------------------------------------------------------------------------\n //\n // Render Methods\n //\n // --------------------------------------------------------------------------\n renderTextContainer() {\n const { text, textEnabled } = this;\n const textContainerClasses = {\n [CSS.textContainer]: true,\n [CSS.textContainerVisible]: textEnabled\n };\n return text ? (h(\"div\", { class: textContainerClasses, key: \"text-container\" }, text)) : null;\n }\n renderIndicatorText() {\n const { indicator, messages, indicatorId, buttonId } = this;\n return (h(\"div\", { \"aria-labelledby\": buttonId, \"aria-live\": \"polite\", class: CSS.indicatorText, id: indicatorId, role: \"region\" }, indicator ? messages.indicator : null));\n }\n renderIconContainer() {\n const { loading, icon, scale, el, iconFlipRtl } = this;\n const iconScale = scale === \"l\" ? \"m\" : \"s\";\n const loaderScale = scale === \"l\" ? \"l\" : \"m\";\n const calciteLoaderNode = loading ? (h(\"calcite-loader\", { inline: true, label: this.messages.loading, scale: loaderScale })) : null;\n const calciteIconNode = icon ? (h(\"calcite-icon\", { flipRtl: iconFlipRtl, icon: icon, scale: iconScale })) : null;\n const iconNode = calciteLoaderNode || calciteIconNode;\n const hasIconToDisplay = iconNode || el.children?.length;\n const slotContainerNode = (h(\"div\", { class: {\n [CSS.slotContainer]: true,\n [CSS.slotContainerHidden]: loading\n } }, h(\"slot\", null)));\n return hasIconToDisplay ? (h(\"div\", { \"aria-hidden\": \"true\", class: CSS.iconContainer, key: \"icon-container\" }, iconNode, slotContainerNode)) : null;\n }\n render() {\n const { active, compact, disabled, loading, textEnabled, label, text, indicator, indicatorId, buttonId, messages } = this;\n const ariaLabel = `${label || text}${indicator ? ` (${messages.indicator})` : \"\"}`;\n const buttonClasses = {\n [CSS.button]: true,\n [CSS.buttonTextVisible]: textEnabled,\n [CSS.buttonCompact]: compact\n };\n return (h(Host, null, h(\"button\", { \"aria-busy\": toAriaBoolean(loading), \"aria-controls\": indicator ? indicatorId : null, \"aria-disabled\": toAriaBoolean(disabled), \"aria-label\": ariaLabel, \"aria-pressed\": toAriaBoolean(active), class: buttonClasses, disabled: disabled, id: buttonId, ref: (buttonEl) => (this.buttonEl = buttonEl) }, this.renderIconContainer(), this.renderTextContainer()), h(\"slot\", { name: SLOTS.tooltip, onSlotchange: this.handleTooltipSlotChange }), this.renderIndicatorText()));\n }\n static get assetsDirs() { return [\"assets\"]; }\n get el() { return this; }\n static get watchers() { return {\n \"messageOverrides\": [\"onMessagesChange\"],\n \"effectiveLocale\": [\"effectiveLocaleChange\"]\n }; }\n static get style() { return actionCss; }\n}, [1, \"calcite-action\", {\n \"active\": [516],\n \"alignment\": [513],\n \"appearance\": [513],\n \"compact\": [516],\n \"disabled\": [516],\n \"icon\": [1],\n \"iconFlipRtl\": [516, \"icon-flip-rtl\"],\n \"indicator\": [516],\n \"label\": [1],\n \"loading\": [516],\n \"scale\": [513],\n \"text\": [1],\n \"textEnabled\": [516, \"text-enabled\"],\n \"messages\": [1040],\n \"messageOverrides\": [1040],\n \"effectiveLocale\": [32],\n \"defaultMessages\": [32],\n \"setFocus\": [64]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"calcite-action\", \"calcite-icon\", \"calcite-loader\"];\n components.forEach(tagName => { switch (tagName) {\n case \"calcite-action\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Action);\n }\n break;\n case \"calcite-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n case \"calcite-loader\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\ndefineCustomElement();\n\nexport { Action as A, 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 { 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 */\nfunction noopClick() {\n /** noop */\n}\n/**\n * This helper updates the host element to prevent keyboard interaction on its subtree and sets the appropriate aria attribute for accessibility.\n *\n * This should be used in the `componentDidRender` lifecycle hook.\n *\n * **Notes**\n *\n * this util is not needed for simple components whose root element or elements are an interactive component (custom element or native control). For those cases, set the `disabled` props on the root components instead.\n * technically, users can override `tabindex` and restore keyboard navigation, but this will be considered user error\n *\n * @param component\n * @param hostIsTabbable\n */\nfunction updateHostInteraction(component, hostIsTabbable = false) {\n if (component.disabled) {\n component.el.setAttribute(\"tabindex\", \"-1\");\n component.el.setAttribute(\"aria-disabled\", \"true\");\n if (component.el.contains(document.activeElement)) {\n document.activeElement.blur();\n }\n component.el.click = noopClick;\n return;\n }\n component.el.click = HTMLElement.prototype.click;\n if (typeof hostIsTabbable === \"function\") {\n component.el.setAttribute(\"tabindex\", hostIsTabbable.call(component) ? \"0\" : \"-1\");\n }\n else if (hostIsTabbable === true) {\n component.el.setAttribute(\"tabindex\", \"0\");\n }\n else if (hostIsTabbable === false) {\n component.el.removeAttribute(\"tabindex\");\n }\n else ;\n component.el.removeAttribute(\"aria-disabled\");\n}\n\nexport { updateHostInteraction as u };\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 */\nconst resolveMap = new WeakMap();\nconst promiseMap = new WeakMap();\n/**\n * This helper util sets up the component for the ability to know when the component has been loaded.\n *\n * This should be used in the `componentWillLoad` lifecycle hook.\n *\n * ```\n * componentWillLoad(): void {\n * setUpLoadableComponent(this);\n * }\n * ```\n *\n * @param component\n */\nfunction setUpLoadableComponent(component) {\n promiseMap.set(component, new Promise((resolve) => resolveMap.set(component, resolve)));\n}\n/**\n * This helper util lets the loadable component know that it is now loaded.\n *\n * This should be used in the `componentDidLoad` lifecycle hook.\n *\n * ```\n * componentDidLoad(): void {\n * setComponentLoaded(this);\n * }\n * ```\n *\n * @param component\n */\nfunction setComponentLoaded(component) {\n resolveMap.get(component)();\n}\n/**\n * This helper util can be used to ensure a component has been loaded (The \"componentDidLoad\" stencil lifecycle method has been called).\n *\n * Requires \"setUpLoadableComponent\" and \"setComponentLoaded\" to be called first.\n *\n * A component developer can await this method before proceeding with any logic that requires a component to be loaded first.\n *\n * ```\n * async setFocus(): Promise {\n * await componentLoaded(this);\n * }\n * ```\n *\n * @param component\n * @returns Promise\n */\nfunction componentLoaded(component) {\n return promiseMap.get(component);\n}\n\nexport { setUpLoadableComponent as a, componentLoaded as c, setComponentLoaded as s };\n"],"names":["CSS","SLOTS","Action","proxyCustomElement","HTMLElement","constructor","super","this","__registerHost","__attachShadow","mutationObserver","createObserver","forceUpdate","guid","indicatorId","buttonId","handleTooltipSlotChange","event","tooltip","target","assignedElements","flatten","filter","el","matches","referenceElement","buttonEl","active","alignment","undefined","appearance","compact","disabled","icon","iconFlipRtl","indicator","label","loading","scale","text","textEnabled","messages","messageOverrides","effectiveLocale","defaultMessages","onMessagesChange","effectiveLocaleChange","updateMessages","connectedCallback","connectLocalized","connectMessages","observe","childList","subtree","setUpLoadableComponent","Build","setUpMessages","componentDidLoad","setComponentLoaded","disconnectedCallback","disconnectLocalized","disconnectMessages","disconnect","componentDidRender","updateHostInteraction","componentLoaded","focus","renderTextContainer","textContainerClasses","h","class","key","renderIndicatorText","id","role","renderIconContainer","iconScale","loaderScale","calciteLoaderNode","inline","calciteIconNode","flipRtl","iconNode","hasIconToDisplay","children","length","slotContainerNode","render","ariaLabel","buttonClasses","Host","toAriaBoolean","ref","name","onSlotchange","assetsDirs","watchers","style","defineCustomElement","customElements","forEach","tagName","get","define","defineCustomElement$2","defineCustomElement$1","iconCache","requestCache","scaleToPx","s","m","l","async","fetchIcon","size","numberLeadingName","isNaN","Number","charAt","parts","split","firstNonDigitInPartPattern","map","part","partIndex","replace","match","offset","toUpperCase","join","normalizeIconName","filled","substring","fetch","getAssetPath","then","resp","json","catch","console","error","path","Icon","textLabel","pathData","visible","waitUntilVisible","loadIconPathData","intersectionObserver","dir","getElementDir","semantic","paths","concat","svg","fill","height","viewBox","width","xmlns","d","opacity","callback","entries","entry","isIntersecting","rootMargin","noopClick","component","hostIsTabbable","setAttribute","contains","document","activeElement","blur","click","prototype","call","removeAttribute","resolveMap","WeakMap","promiseMap","set","Promise","resolve"],"sourceRoot":""}