{"version":3,"file":"js/9818.23489b7d.js","mappings":"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","sources":["webpack://alingsas-map/./node_modules/@esri/calcite-components/dist/components/action.js","webpack://alingsas-map/./node_modules/@esri/calcite-components/dist/components/icon.js","webpack://alingsas-map/./node_modules/@esri/calcite-components/dist/components/interactive.js","webpack://alingsas-map/./node_modules/@esri/calcite-components/dist/components/loader.js","webpack://alingsas-map/./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.0-beta.97\n */\nimport { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Host } from '@stencil/core/internal/client/index.js';\nimport { c as createObserver } from './observers.js';\nimport { u as updateHostInteraction } from './interactive.js';\nimport { t as toAriaBoolean } from './dom.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 iconContainer: \"icon-container\",\n slotContainer: \"slot-container\",\n slotContainerHidden: \"slot-container--hidden\",\n textContainer: \"text-container\",\n textContainerVisible: \"text-container--visible\"\n};\nconst TEXT = {\n loading: \"Loading\"\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.01}}: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)}: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=clear]) .button,: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=clear]) .button:hover,:host([appearance=clear]) .button:focus,: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=clear]) .button,:host([active][appearance=clear]) .button:hover,:host([active][appearance=clear]) .button:focus,: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=clear][loading]) .button,:host([appearance=clear][disabled]) .button,: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)}\";\n\nconst Action = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.calciteActionClick = createEvent(this, \"calciteActionClick\", 6);\n // --------------------------------------------------------------------------\n //\n // Properties\n //\n // --------------------------------------------------------------------------\n /**\n * When `true`, the component is highlighted.\n */\n this.active = false;\n /** Specifies the appearance of the component. */\n this.appearance = \"solid\";\n /**\n * When `true`, the side padding of the component is reduced. Compact mode is used internally by components, e.g. `calcite-block-section`.\n */\n this.compact = false;\n /**\n * When `true`, interaction is prevented and the component is displayed with lower opacity.\n */\n this.disabled = false;\n /**\n * When `true`, indicates unread changes.\n */\n this.indicator = false;\n /**\n * Specifies the text label to display while loading.\n *\n * @default \"Loading\"\n */\n this.intlLoading = TEXT.loading;\n /**\n * When `true`, a busy indicator is displayed.\n */\n this.loading = false;\n /**\n * Specifies the size of the component.\n */\n this.scale = \"m\";\n /**\n * Indicates whether the text is displayed.\n */\n this.textEnabled = false;\n this.mutationObserver = createObserver(\"mutation\", () => forceUpdate(this));\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 === null || el === void 0 ? void 0 : el.matches(\"calcite-tooltip\"));\n const tooltip = tooltips[0];\n if (tooltip) {\n tooltip.referenceElement = this.buttonEl;\n }\n };\n this.calciteActionClickHandler = () => {\n if (!this.disabled) {\n this.calciteActionClick.emit();\n }\n };\n }\n // --------------------------------------------------------------------------\n //\n // Lifecycle\n //\n // --------------------------------------------------------------------------\n connectedCallback() {\n var _a;\n (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el, { childList: true, subtree: true });\n }\n disconnectedCallback() {\n var _a;\n (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentDidRender() {\n updateHostInteraction(this);\n }\n // --------------------------------------------------------------------------\n //\n // Methods\n //\n // --------------------------------------------------------------------------\n /** Sets focus on the component. */\n async setFocus() {\n var _a;\n (_a = this.buttonEl) === null || _a === void 0 ? void 0 : _a.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 renderIconContainer() {\n var _a;\n const { loading, icon, scale, el, intlLoading } = this;\n const iconScale = scale === \"l\" ? \"m\" : \"s\";\n const loaderScale = scale === \"l\" ? \"l\" : \"m\";\n const calciteLoaderNode = loading ? (h(\"calcite-loader\", { active: true, inline: true, label: intlLoading, scale: loaderScale })) : null;\n const calciteIconNode = icon ? h(\"calcite-icon\", { icon: icon, scale: iconScale }) : null;\n const iconNode = calciteLoaderNode || calciteIconNode;\n const hasIconToDisplay = iconNode || ((_a = el.children) === null || _a === void 0 ? void 0 : _a.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 { compact, disabled, loading, textEnabled, label, text } = this;\n const ariaLabel = label || text;\n const buttonClasses = {\n [CSS.button]: true,\n [CSS.buttonTextVisible]: textEnabled,\n [CSS.buttonCompact]: compact\n };\n return (h(Host, { onClick: this.calciteActionClickHandler }, h(\"button\", { \"aria-busy\": toAriaBoolean(loading), \"aria-disabled\": toAriaBoolean(disabled), \"aria-label\": ariaLabel, class: buttonClasses, disabled: disabled, ref: (buttonEl) => (this.buttonEl = buttonEl) }, this.renderIconContainer(), this.renderTextContainer()), h(\"slot\", { name: SLOTS.tooltip, onSlotchange: this.handleTooltipSlotChange })));\n }\n get el() { return this; }\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 \"indicator\": [516],\n \"intlLoading\": [1, \"intl-loading\"],\n \"label\": [1],\n \"loading\": [516],\n \"scale\": [513],\n \"text\": [1],\n \"textEnabled\": [516, \"text-enabled\"],\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.0-beta.97\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\n * @private\n */\nfunction normalizeIconName(name) {\n const numberLeadingName = !isNaN(Number(name.charAt(0)));\n const parts = name.split(\"-\");\n if (parts.length === 1) {\n return numberLeadingName ? `i${name}` : name;\n }\n return parts\n .map((part, index) => {\n if (index === 0) {\n return numberLeadingName ? `i${part.toUpperCase()}` : part;\n }\n return part.charAt(0).toUpperCase() + part.slice(1);\n })\n .join(\"\");\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.01}}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}: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 //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n /**\n * The name of the icon to display. The value of this property must match the icon name from https://esri.github.io/calcite-ui-icons/.\n */\n this.icon = null;\n /**\n * When true, the icon will be flipped when the element direction is 'rtl'.\n */\n this.flipRtl = false;\n /**\n * Icon scale.\n */\n this.scale = \"m\";\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 var _a;\n (_a = this.intersectionObserver) === null || _a === void 0 ? void 0 : _a.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\", { 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.0-beta.97\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.0-beta.97\n */\nimport { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client/index.js';\nimport { g as guid } from './guid.js';\n\nconst loaderCss = \"@charset \\\"UTF-8\\\";@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.01}}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{position:relative;margin-inline:auto;display:none;align-items:center;justify-content:center;opacity:1;min-block-size:var(--calcite-loader-size);font-size:var(--calcite-loader-font-size);stroke:var(--calcite-ui-brand);stroke-width:3;fill:none;transform:scale(1, 1);animation:loader-color-shift calc(var(--calcite-internal-animation-timing-slow) * 2) alternate-reverse infinite linear;padding-block:var(--calcite-loader-padding, 4rem)}:host([scale=s]){--calcite-loader-font-size:var(--calcite-font-size--2);--calcite-loader-size:2rem;--calcite-loader-size-inline:0.75rem}:host([scale=m]){--calcite-loader-font-size:var(--calcite-font-size-0);--calcite-loader-size:4rem;--calcite-loader-size-inline:1rem}:host([scale=l]){--calcite-loader-font-size:var(--calcite-font-size-2);--calcite-loader-size:6rem;--calcite-loader-size-inline:1.5rem}:host([no-padding]){padding-block:0px}:host{display:none}:host([active]){display:flex}.loader__text{display:block;text-align:center;font-size:var(--calcite-font-size--2);line-height:1rem;color:var(--calcite-ui-text-1);margin-block-start:calc(var(--calcite-loader-size) + 1.5rem)}.loader__percentage{position:absolute;display:block;text-align:center;color:var(--calcite-ui-text-1);font-size:var(--calcite-loader-font-size);inline-size:var(--calcite-loader-size);inset-inline-start:50%;margin-inline-start:calc(var(--calcite-loader-size) / 2 * -1);line-height:0.25;transform:scale(1, 1)}.loader__svgs{position:absolute;overflow:visible;opacity:1;inline-size:var(--calcite-loader-size);block-size:var(--calcite-loader-size);inset-inline-start:50%;margin-inline-start:calc(var(--calcite-loader-size) / 2 * -1);transform:scale(1, 1)}.loader__svg{position:absolute;inset-block-start:0px;transform-origin:center;overflow:visible;inset-inline-start:0;inline-size:var(--calcite-loader-size);block-size:var(--calcite-loader-size);animation-iteration-count:infinite;animation-timing-function:linear;animation-name:loader-clockwise}@supports (display: grid){.loader__svg--1{animation-name:loader-offset-1}.loader__svg--2{animation-name:loader-offset-2}.loader__svg--3{animation-name:loader-offset-3}}:host([type=determinate]){animation:none;stroke:var(--calcite-ui-border-3)}:host([type=determinate]) .loader__svg--3{animation:none;stroke:var(--calcite-ui-brand);stroke-dasharray:150.79632;transform:rotate(-90deg);transition:all var(--calcite-internal-animation-timing-fast) linear}:host([inline]){position:relative;margin:0px;animation:none;stroke:currentColor;stroke-width:2;padding-block:0px;block-size:var(--calcite-loader-size-inline);min-block-size:var(--calcite-loader-size-inline);inline-size:var(--calcite-loader-size-inline);margin-inline-end:calc(var(--calcite-loader-size-inline) * 0.5);vertical-align:calc(var(--calcite-loader-size-inline) * -1 * 0.2)}:host([active][inline]){display:inline-block}:host([inline]) .loader__svgs{inset-block-start:0px;margin:0px;inset-inline-start:0;inline-size:var(--calcite-loader-size-inline);block-size:var(--calcite-loader-size-inline)}:host([inline]) .loader__svg{inline-size:var(--calcite-loader-size-inline);block-size:var(--calcite-loader-size-inline)}:host([complete]){opacity:0;transform:scale(0.75, 0.75);transform-origin:center;transition:opacity var(--calcite-internal-animation-timing-medium) linear 1000ms, transform var(--calcite-internal-animation-timing-medium) linear 1000ms}:host([complete]) .loader__svgs{opacity:0;transform:scale(0.75, 0.75);transform-origin:center;transition:opacity calc(180ms * var(--calcite-internal-duration-factor)) linear 800ms, transform calc(180ms * var(--calcite-internal-duration-factor)) linear 800ms}:host([complete]) .loader__percentage{color:var(--calcite-ui-brand);transform:scale(1.05, 1.05);transform-origin:center;transition:color var(--calcite-internal-animation-timing-medium) linear, transform var(--calcite-internal-animation-timing-medium) linear}.loader__svg--1{stroke-dasharray:27.9252444444% 139.6262222222%;animation-duration:calc(var(--calcite-internal-animation-timing-slow) * 2.4)}@keyframes loader-offset-1{0%{stroke-dasharray:27.9252444444% 251.3272%;stroke-dashoffset:0}50%{stroke-dasharray:139.6262222222% 139.6262222222%;stroke-dashoffset:-83.7757333333%}100%{stroke-dasharray:27.9252444444% 251.3272%;stroke-dashoffset:-279.2524444444%}}.loader__svg--2{stroke-dasharray:55.8504888889% 139.6262222222%;animation-duration:calc(var(--calcite-internal-animation-timing-slow) * 3.2)}@keyframes loader-offset-2{0%{stroke-dasharray:55.8504888889% 223.4019555556%;stroke-dashoffset:0}50%{stroke-dasharray:139.6262222222% 139.6262222222%;stroke-dashoffset:-97.7383555556%}100%{stroke-dasharray:55.8504888889% 223.4019555556%;stroke-dashoffset:-279.2524444444%}}.loader__svg--3{stroke-dasharray:13.9626222222% 139.6262222222%;animation-duration:calc(var(--calcite-internal-animation-timing-slow) * 3.867)}@keyframes loader-offset-3{0%{stroke-dasharray:13.9626222222% 265.2898222222%;stroke-dashoffset:0}50%{stroke-dasharray:139.6262222222% 139.6262222222%;stroke-dashoffset:-76.7944222222%}100%{stroke-dasharray:13.9626222222% 265.2898222222%;stroke-dashoffset:-279.2524444444%}}@keyframes loader-color-shift{0%{stroke:var(--calcite-ui-brand)}33%{stroke:var(--calcite-ui-brand-press)}66%{stroke:var(--calcite-ui-brand-hover)}100%{stroke:var(--calcite-ui-brand)}}@keyframes loader-clockwise{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}\";\n\nconst Loader = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n /** When `true`, the component is active. */\n this.active = false;\n /** When `true`, displays smaller and appears to the left of the text. */\n this.inline = false;\n /** Specifies the size of the component. */\n this.scale = \"m\";\n /** The component's value. Valid only for `\"determinate\"` indicators. Percent complete of 100. */\n this.value = 0;\n /** Text that displays under the component's indicator. */\n this.text = \"\";\n /**\n * Disables spacing around the component.\n *\n * @deprecated Use `--calcite-loader-padding` CSS variable instead.\n */\n this.noPadding = false;\n }\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n render() {\n const { el, inline, label, scale, text, type, value } = this;\n const id = el.id || guid();\n const radiusRatio = 0.45;\n const size = inline ? this.getInlineSize(scale) : this.getSize(scale);\n const radius = size * radiusRatio;\n const viewbox = `0 0 ${size} ${size}`;\n const isDeterminate = type === \"determinate\";\n const circumference = 2 * radius * Math.PI;\n const progress = (value / 100) * circumference;\n const remaining = circumference - progress;\n const valueNow = Math.floor(value);\n const hostAttributes = {\n \"aria-valuenow\": valueNow,\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n complete: valueNow === 100\n };\n const svgAttributes = { r: radius, cx: size / 2, cy: size / 2 };\n const determinateStyle = { \"stroke-dasharray\": `${progress} ${remaining}` };\n return (h(Host, { \"aria-label\": label, id: id, role: \"progressbar\", ...(isDeterminate ? hostAttributes : {}) }, h(\"div\", { class: \"loader__svgs\" }, h(\"svg\", { class: \"loader__svg loader__svg--1\", viewBox: viewbox }, h(\"circle\", { ...svgAttributes })), h(\"svg\", { class: \"loader__svg loader__svg--2\", viewBox: viewbox }, h(\"circle\", { ...svgAttributes })), h(\"svg\", { class: \"loader__svg loader__svg--3\", viewBox: viewbox, ...(isDeterminate ? { style: determinateStyle } : {}) }, h(\"circle\", { ...svgAttributes }))), text && h(\"div\", { class: \"loader__text\" }, text), isDeterminate && h(\"div\", { class: \"loader__percentage\" }, value)));\n }\n //--------------------------------------------------------------------------\n //\n // Private Methods\n //\n //--------------------------------------------------------------------------\n /**\n * Return the proper sizes based on the scale property\n *\n * @param scale\n */\n getSize(scale) {\n return {\n s: 32,\n m: 56,\n l: 80\n }[scale];\n }\n getInlineSize(scale) {\n return {\n s: 12,\n m: 16,\n l: 20\n }[scale];\n }\n get el() { return this; }\n static get style() { return loaderCss; }\n}, [1, \"calcite-loader\", {\n \"active\": [516],\n \"inline\": [516],\n \"label\": [1],\n \"scale\": [513],\n \"type\": [513],\n \"value\": [2],\n \"text\": [1],\n \"noPadding\": [516, \"no-padding\"]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"calcite-loader\"];\n components.forEach(tagName => { switch (tagName) {\n case \"calcite-loader\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Loader);\n }\n break;\n } });\n}\ndefineCustomElement();\n\nexport { Loader as L, 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.0-beta.97\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":["CSS","button","buttonTextVisible","buttonCompact","iconContainer","slotContainer","slotContainerHidden","textContainer","textContainerVisible","TEXT","loading","SLOTS","tooltip","actionCss","Action","proxyCustomElement","HTMLElement","constructor","super","this","__registerHost","__attachShadow","calciteActionClick","createEvent","active","appearance","compact","disabled","indicator","intlLoading","scale","textEnabled","mutationObserver","createObserver","forceUpdate","handleTooltipSlotChange","event","tooltips","target","assignedElements","flatten","filter","el","matches","referenceElement","buttonEl","calciteActionClickHandler","emit","connectedCallback","_a","observe","childList","subtree","disconnectedCallback","disconnect","componentDidRender","updateHostInteraction","async","focus","renderTextContainer","text","textContainerClasses","h","class","key","renderIconContainer","icon","iconScale","loaderScale","calciteLoaderNode","inline","label","calciteIconNode","iconNode","hasIconToDisplay","children","length","slotContainerNode","render","ariaLabel","buttonClasses","Host","onClick","toAriaBoolean","ref","name","onSlotchange","style","defineCustomElement","customElements","components","forEach","tagName","get","define","defineCustomElement$2","defineCustomElement$1","flipRtl","iconCache","requestCache","scaleToPx","s","m","l","fetchIcon","size","normalizeIconName","filled","charAt","iconName","substring","id","fetch","getAssetPath","then","resp","json","catch","console","error","path","numberLeadingName","isNaN","Number","parts","split","map","part","index","toUpperCase","slice","join","iconCss","Icon","visible","waitUntilVisible","loadIconPathData","intersectionObserver","pathData","textLabel","dir","getElementDir","semantic","paths","concat","role","svg","fill","height","viewBox","width","xmlns","d","opacity","Build","callback","entries","entry","isIntersecting","rootMargin","assetsDirs","watchers","noopClick","component","hostIsTabbable","setAttribute","contains","document","activeElement","blur","click","prototype","call","removeAttribute","loaderCss","Loader","value","noPadding","type","guid","radiusRatio","getInlineSize","getSize","radius","viewbox","isDeterminate","circumference","Math","PI","progress","remaining","valueNow","floor","hostAttributes","complete","svgAttributes","r","cx","cy","determinateStyle","options","Observer","getObserver","ExtendedMutationObserver","window","MutationObserver","observedEntry","push","unobserve","newObservedEntries","observed","takeRecords","IntersectionObserver","ResizeObserver"],"sourceRoot":""}