{"version":3,"sources":["../node_modules/@esri/calcite-components/dist/components/observers.js","../node_modules/@esri/calcite-components/dist/components/icon.js","../node_modules/@esri/calcite-components/dist/components/interactive.js","../node_modules/@esri/calcite-components/dist/components/loader.js","../node_modules/@esri/calcite-components/dist/components/action.js"],"names":["createObserver","type","callback","options","Build","isBrowser","Observer","ExtendedMutationObserver","observedEntry","target","this","push","newObservedEntries","filter","observed","disconnect","forEach","observe","window","MutationObserver","IntersectionObserver","ResizeObserver","getObserver","CSS","iconCache","requestCache","scaleToPx","s","m","l","fetchIcon","a","icon","scale","size","name","normalizeIconName","filled","charAt","length","iconName","substring","id","fetch","getAssetPath","then","resp","json","catch","console","error","path","numberLeadingName","isNaN","Number","parts","split","map","part","index","toUpperCase","slice","join","Icon","proxyCustomElement","__registerHost","__attachShadow","flipRtl","visible","waitUntilVisible","loadIconPathData","_a","intersectionObserver","el","pathData","textLabel","dir","getElementDir","semantic","paths","concat","h","Host","toAriaBoolean","role","class","fill","height","viewBox","width","xmlns","d","opacity","entries","entry","isIntersecting","rootMargin","HTMLElement","defineCustomElement","customElements","tagName","get","define","noopClick","updateHostInteraction","component","hostIsTabbable","disabled","setAttribute","contains","document","activeElement","blur","click","prototype","call","removeAttribute","Loader","active","inline","value","text","noPadding","label","guid","getInlineSize","getSize","radius","viewbox","isDeterminate","circumference","Math","PI","progress","remaining","valueNow","floor","hostAttributes","complete","svgAttributes","r","cx","cy","determinateStyle","style","TEXT","SLOTS","Action","calciteActionClick","createEvent","appearance","compact","indicator","intlLoading","loading","textEnabled","mutationObserver","forceUpdate","handleTooltipSlotChange","event","tooltip","assignedElements","flatten","matches","referenceElement","buttonEl","calciteActionClickHandler","emit","childList","subtree","focus","textContainerClasses","key","iconScale","loaderScale","calciteLoaderNode","calciteIconNode","iconNode","hasIconToDisplay","children","slotContainerNode","ariaLabel","buttonClasses","onClick","ref","renderIconContainer","renderTextContainer","onSlotchange","defineCustomElement$2","defineCustomElement$1"],"mappings":"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","file":"static/js/36.120b07ee.chunk.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 { 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","/*!\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 { 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"],"sourceRoot":""}