{"version":3,"file":"static/js/1066.c123717b.chunk.js","mappings":"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","sources":["../../../node_modules/@esri/calcite-components-react/node_modules/@stencil/core/internal/client|lazy|/^/.//.*/.entry/.js.*$/|include: //.entry/.js$/|exclude: //.system/.entry/.js$/|groupOptions: {}|namespace object","../../../node_modules/@esri/calcite-components-react/node_modules/@esri/calcite-components/dist/components/calcite-combobox-item.js","../../../node_modules/@esri/calcite-components-react/node_modules/@esri/calcite-components/dist/components/combobox-item.js","../../../node_modules/@esri/calcite-components-react/node_modules/@esri/calcite-components/dist/components/component.js","../../../node_modules/@esri/calcite-components-react/node_modules/@esri/calcite-components/dist/components/conditionalSlot.js","../../../node_modules/@esri/calcite-components-react/node_modules/@esri/calcite-components/dist/components/icon.js","../../../node_modules/@esri/calcite-components-react/node_modules/@esri/calcite-components/dist/components/interactive.js","../../../node_modules/@esri/calcite-components-react/node_modules/@esri/calcite-components/dist/components/observers.js","../../../node_modules/@esri/calcite-components-react/node_modules/@esri/calcite-components/dist/components/utils2.js"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 31164;\nmodule.exports = webpackEmptyAsyncContext;","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.\n * v1.11.0\n */\nimport { C as ComboboxItem, d as defineCustomElement$1 } from './combobox-item.js';\n\nconst CalciteComboboxItem = ComboboxItem;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { CalciteComboboxItem, defineCustomElement };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.\n * v1.11.0\n */\nimport { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client/index.js';\nimport { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';\nimport { g as getSlotted } from './dom.js';\nimport { g as guid } from './guid.js';\nimport { c as connectInteractive, d as disconnectInteractive, u as updateHostInteraction } from './interactive.js';\nimport { g as getAncestors, i as isSingleLike, a as getDepth } from './utils2.js';\nimport { g as getIconScale } from './component.js';\nimport { d as defineCustomElement$1 } from './icon.js';\n\nconst CSS = {\n icon: \"icon\",\n iconActive: \"icon--active\",\n iconIndent: \"icon--indent\",\n custom: \"icon--custom\",\n dot: \"icon--dot\",\n single: \"label--single\",\n label: \"label\",\n active: \"label--active\",\n selected: \"label--selected\",\n title: \"title\",\n textContainer: \"text-container\",\n};\n\nconst comboboxItemCss = \"@charset \\\"UTF-8\\\";:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host([hidden]){display:none}[hidden]{display:none}.scale--s{font-size:var(--calcite-font-size--2);line-height:1rem;--calcite-combobox-item-spacing-unit-l:0.5rem;--calcite-combobox-item-spacing-unit-s:0.25rem;--calcite-combobox-item-spacing-indent:0.5rem;--calcite-combobox-item-selector-icon-size:1rem}.scale--m{font-size:var(--calcite-font-size--1);line-height:1rem;--calcite-combobox-item-spacing-unit-l:0.75rem;--calcite-combobox-item-spacing-unit-s:0.5rem;--calcite-combobox-item-spacing-indent:0.75rem;--calcite-combobox-item-selector-icon-size:1rem}.scale--l{font-size:var(--calcite-font-size-0);line-height:1.25rem;--calcite-combobox-item-spacing-unit-l:1rem;--calcite-combobox-item-spacing-unit-s:0.625rem;--calcite-combobox-item-spacing-indent:1rem;--calcite-combobox-item-selector-icon-size:1.5rem}.container{--calcite-combobox-item-indent-value:calc(\\n var(--calcite-combobox-item-spacing-indent) * var(--calcite-combobox-item-spacing-indent-multiplier)\\n )}:host(:focus){--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}:host,ul{margin:0px;display:flex;flex-direction:column;padding:0px}:host(:focus),ul:focus{outline:2px solid transparent;outline-offset:2px}.label{position:relative;box-sizing:border-box;display:flex;inline-size:100%;min-inline-size:100%;cursor:pointer;align-items:center;color:var(--calcite-ui-text-3);text-decoration-line:none;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);outline-color:transparent;word-wrap:break-word;word-break:break-word;padding-block:var(--calcite-combobox-item-spacing-unit-s);padding-inline:var(--calcite-combobox-item-spacing-unit-l)}:host([disabled]) .label{cursor:default}.label--selected{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-1)}.label--active{outline:2px solid var(--calcite-ui-focus-color, var(--calcite-ui-brand));outline-offset:calc(\\n -2px *\\n calc(\\n 1 -\\n 2 * clamp(\\n 0,\\n var(--calcite-ui-focus-offset-invert),\\n 1\\n )\\n )\\n )}.label:hover,.label:active{background-color:var(--calcite-ui-foreground-2);color:var(--calcite-ui-text-1);text-decoration-line:none;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.title{padding-block:0;padding-inline:var(--calcite-combobox-item-spacing-unit-l)}.icon{display:inline-flex;opacity:0;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);color:var(--calcite-ui-border-1)}.icon--indent{padding-inline-start:var(--calcite-combobox-item-indent-value)}.icon--custom{margin-block-start:-1px;padding-inline-start:var(--calcite-combobox-item-spacing-unit-l);color:var(--calcite-ui-text-3)}.icon--active{color:var(--calcite-ui-text-1)}.icon--dot{display:flex;justify-content:center;min-inline-size:var(--calcite-combobox-item-selector-icon-size)}.icon--dot:before{text-align:start;content:\\\"•\\\"}.label--active .icon{opacity:1}.label--selected .icon{opacity:1;color:var(--calcite-ui-brand)}:host(:hover[disabled]) .icon{opacity:1}\";\n\nconst ComboboxItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.calciteComboboxItemChange = createEvent(this, \"calciteComboboxItemChange\", 6);\n this.itemClickHandler = () => {\n this.toggleSelected();\n };\n this.disabled = false;\n this.selected = false;\n this.active = false;\n this.ancestors = undefined;\n this.guid = guid();\n this.icon = undefined;\n this.iconFlipRtl = false;\n this.textLabel = undefined;\n this.value = undefined;\n this.filterDisabled = undefined;\n this.selectionMode = \"multiple\";\n this.scale = \"m\";\n }\n selectedWatchHandler() {\n this.calciteComboboxItemChange.emit();\n }\n // --------------------------------------------------------------------------\n //\n // Lifecycle\n //\n // --------------------------------------------------------------------------\n connectedCallback() {\n this.ancestors = getAncestors(this.el);\n connectConditionalSlotComponent(this);\n connectInteractive(this);\n }\n disconnectedCallback() {\n disconnectConditionalSlotComponent(this);\n disconnectInteractive(this);\n }\n componentDidRender() {\n updateHostInteraction(this);\n }\n // --------------------------------------------------------------------------\n //\n // Private Methods\n //\n // --------------------------------------------------------------------------\n toggleSelected() {\n const isSinglePersistSelect = this.selectionMode === \"single-persist\";\n if (this.disabled || (isSinglePersistSelect && this.selected)) {\n return;\n }\n this.selected = !this.selected;\n }\n // --------------------------------------------------------------------------\n //\n // Render Methods\n //\n // --------------------------------------------------------------------------\n renderIcon(iconPath) {\n return this.icon ? (h(\"calcite-icon\", { class: {\n [CSS.custom]: !!this.icon,\n [CSS.iconActive]: this.icon && this.selected,\n [CSS.iconIndent]: true,\n }, flipRtl: this.iconFlipRtl, icon: this.icon || iconPath, key: \"icon\", scale: getIconScale(this.scale) })) : null;\n }\n renderSelectIndicator(showDot, iconPath) {\n return showDot ? (h(\"span\", { class: {\n [CSS.icon]: true,\n [CSS.dot]: true,\n [CSS.iconIndent]: true,\n } })) : (h(\"calcite-icon\", { class: {\n [CSS.icon]: true,\n [CSS.iconActive]: this.selected,\n [CSS.iconIndent]: true,\n }, flipRtl: this.iconFlipRtl, icon: iconPath, key: \"indicator\", scale: getIconScale(this.scale) }));\n }\n renderChildren() {\n if (getSlotted(this.el)) {\n return (h(\"ul\", { key: \"default-slot-container\" }, h(\"slot\", null)));\n }\n return null;\n }\n render() {\n const isSingleSelect = isSingleLike(this.selectionMode);\n const showDot = isSingleSelect && !this.disabled;\n const defaultIcon = isSingleSelect ? \"dot\" : \"check\";\n const iconPath = this.disabled ? \"\" : defaultIcon;\n const classes = {\n [CSS.label]: true,\n [CSS.selected]: this.selected,\n [CSS.active]: this.active,\n [CSS.single]: isSingleSelect,\n };\n const depth = getDepth(this.el);\n return (h(Host, { \"aria-hidden\": \"true\" }, h(\"div\", { class: `container scale--${this.scale}`, style: { \"--calcite-combobox-item-spacing-indent-multiplier\": `${depth}` } }, h(\"li\", { class: classes, id: this.guid, onClick: this.itemClickHandler }, this.renderSelectIndicator(showDot, iconPath), this.renderIcon(iconPath), h(\"span\", { class: \"title\" }, this.textLabel)), this.renderChildren())));\n }\n get el() { return this; }\n static get watchers() { return {\n \"selected\": [\"selectedWatchHandler\"]\n }; }\n static get style() { return comboboxItemCss; }\n}, [1, \"calcite-combobox-item\", {\n \"disabled\": [516],\n \"selected\": [1540],\n \"active\": [516],\n \"ancestors\": [1040],\n \"guid\": [513],\n \"icon\": [513],\n \"iconFlipRtl\": [516, \"icon-flip-rtl\"],\n \"textLabel\": [513, \"text-label\"],\n \"value\": [8],\n \"filterDisabled\": [516, \"filter-disabled\"],\n \"selectionMode\": [513, \"selection-mode\"],\n \"scale\": [1]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"calcite-combobox-item\", \"calcite-icon\"];\n components.forEach(tagName => { switch (tagName) {\n case \"calcite-combobox-item\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, ComboboxItem);\n }\n break;\n case \"calcite-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\ndefineCustomElement();\n\nexport { ComboboxItem as C, defineCustomElement as d };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.\n * v1.11.0\n */\nfunction getIconScale(componentScale) {\n return componentScale === \"l\" ? \"m\" : \"s\";\n}\n\nexport { getIconScale as g };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.\n * v1.11.0\n */\nimport { forceUpdate } from '@stencil/core/internal/client/index.js';\nimport { c as createObserver } from './observers.js';\n\nconst observed = new Set();\nlet mutationObserver;\nconst observerOptions = { childList: true };\n/**\n * Helper to set up a conditional slot component on connectedCallback.\n *\n * @param component\n * @deprecated Use `onSlotchange` event with `slotChangeHasAssignedElement` DOM utility instead.\n *\n * ```\n * <slot onSlotchange={(event) => this.mySlotHasElement = slotChangeHasAssignedElement(event)} />}\n * ```\n */\nfunction connectConditionalSlotComponent(component) {\n if (!mutationObserver) {\n mutationObserver = createObserver(\"mutation\", processMutations);\n }\n mutationObserver.observe(component.el, observerOptions);\n}\n/**\n * Helper to tear down a conditional slot component on disconnectedCallback.\n *\n * @param component\n * @deprecated Use `onSlotchange` event with `slotChangeHasAssignedElement` DOM utility instead.\n *\n * ```\n * <slot onSlotchange={(event) => this.mySlotHasElement = slotChangeHasAssignedElement(event)} />}\n * ```\n */\nfunction disconnectConditionalSlotComponent(component) {\n observed.delete(component.el);\n // we explicitly process queued mutations and disconnect and reconnect\n // the observer until MutationObserver gets an `unobserve` method\n // see https://github.com/whatwg/dom/issues/126\n processMutations(mutationObserver.takeRecords());\n mutationObserver.disconnect();\n for (const [element] of observed.entries()) {\n mutationObserver.observe(element, observerOptions);\n }\n}\nfunction processMutations(mutations) {\n mutations.forEach(({ target }) => {\n forceUpdate(target);\n });\n}\n\nexport { connectConditionalSlotComponent as c, disconnectConditionalSlotComponent as d };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.\n * v1.11.0\n */\nimport { getAssetPath, proxyCustomElement, HTMLElement, h, Host, Build } from '@stencil/core/internal/client/index.js';\nimport { b 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 = \":host{display:inline-flex;color:var(--calcite-ui-icon-color)}:host([scale=s]){inline-size:16px;block-size:16px;min-inline-size:16px;min-block-size:16px}:host([scale=m]){inline-size:24px;block-size:24px;min-inline-size:24px;min-block-size:24px}:host([scale=l]){inline-size:32px;block-size:32px;min-inline-size:32px;min-block-size:32px}.flip-rtl{transform:scaleX(-1)}.svg{display:block}:host([hidden]){display:none}[hidden]{display:none}\";\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 const pathData = await fetchIcon({ icon, scale });\n // While the fetchIcon method is awaiting response, the icon requested can change. This check is to verify the response received belongs to the current icon.\n if (icon !== this.icon) {\n return;\n }\n this.pathData = pathData;\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-design-system/blob/main/LICENSE.md for details.\n * v1.11.0\n */\nimport { Build } from '@stencil/core/internal/client/index.js';\n\nfunction getUserAgentData() {\n return navigator.userAgentData;\n}\nfunction getUserAgentString() {\n if (!Build.isBrowser) {\n return \"\";\n }\n const uaData = getUserAgentData();\n return uaData?.brands\n ? uaData.brands.map(({ brand, version }) => `${brand}/${version}`).join(\" \")\n : navigator.userAgent;\n}\n\n// ⚠️ browser-sniffing is not a best practice and should be avoided ⚠️\nconst isFirefox = /firefox/i.test(getUserAgentString());\nconst interactiveElementToParent = isFirefox\n ? new WeakMap()\n : null;\nfunction interceptedClick() {\n const { disabled } = this;\n if (!disabled) {\n HTMLElement.prototype.click.call(this);\n }\n}\nfunction onPointerDown(event) {\n const interactiveElement = event.target;\n if (isFirefox && !interactiveElementToParent.get(interactiveElement)) {\n return;\n }\n const { disabled } = interactiveElement;\n if (disabled) {\n // prevent click from moving focus on host\n event.preventDefault();\n }\n}\nconst nonBubblingWhenDisabledMouseEvents = [\"mousedown\", \"mouseup\", \"click\"];\nfunction onNonBubblingWhenDisabledMouseEvent(event) {\n if (isFirefox && !interactiveElementToParent.get(event.target)) {\n return;\n }\n const { disabled } = event.target;\n // prevent disallowed mouse events from being emitted on the disabled host (per https://github.com/whatwg/html/issues/5886)\n //⚠ we generally avoid stopping propagation of events, but this is needed to adhere to the intended spec changes above ⚠\n if (disabled) {\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n}\nconst captureOnlyOptions = { capture: true };\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 – when set to true or its predicate returns true, the host is tabbable and will be managed by the helper. Set to \"managed\" for cases where a component's parent determines which item is tabbable (i.e., sets `tabindex` to allow tabbing).\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 blockInteraction(component);\n return;\n }\n restoreInteraction(component);\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}\nfunction blockInteraction(component) {\n component.el.click = interceptedClick;\n addInteractionListeners(isFirefox ? getParentElement(component) : component.el);\n}\nfunction addInteractionListeners(element) {\n if (!element) {\n // this path is only applicable to Firefox\n return;\n }\n element.addEventListener(\"pointerdown\", onPointerDown, captureOnlyOptions);\n nonBubblingWhenDisabledMouseEvents.forEach((event) => element.addEventListener(event, onNonBubblingWhenDisabledMouseEvent, captureOnlyOptions));\n}\nfunction getParentElement(component) {\n return interactiveElementToParent.get(component.el);\n}\nfunction restoreInteraction(component) {\n delete component.el.click; // fallback on HTMLElement.prototype.click\n removeInteractionListeners(isFirefox ? getParentElement(component) : component.el);\n}\nfunction removeInteractionListeners(element) {\n if (!element) {\n // this path is only applicable to Firefox\n return;\n }\n element.removeEventListener(\"pointerdown\", onPointerDown, captureOnlyOptions);\n nonBubblingWhenDisabledMouseEvents.forEach((event) => element.removeEventListener(event, onNonBubblingWhenDisabledMouseEvent, captureOnlyOptions));\n}\n/**\n * This utility helps disable components consistently in Firefox.\n *\n * It needs to be called in `connectedCallback` and is only needed for Firefox as it does not call capture event listeners before non-capture ones (see https://bugzilla.mozilla.org/show_bug.cgi?id=1731504).\n *\n * @param component\n */\nfunction connectInteractive(component) {\n if (!component.disabled || !isFirefox) {\n return;\n }\n const parent = component.el.parentElement || component.el; /* assume element is host if it has no parent when connected */\n interactiveElementToParent.set(component.el, parent);\n blockInteraction(component);\n}\n/**\n * This utility restores interactivity to disabled components consistently in Firefox.\n *\n * It needs to be called in `disconnectedCallback` and is only needed for Firefox as it does not call capture event listeners before non-capture ones (see https://bugzilla.mozilla.org/show_bug.cgi?id=1731504).\n *\n * @param component\n */\nfunction disconnectInteractive(component) {\n if (!isFirefox) {\n return;\n }\n // always remove on disconnect as render or connect will restore it\n interactiveElementToParent.delete(component.el);\n restoreInteraction(component);\n}\n\nexport { connectInteractive as c, disconnectInteractive as d, getUserAgentString as g, updateHostInteraction as u };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.\n * v1.11.0\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-design-system/blob/main/LICENSE.md for details.\n * v1.11.0\n */\nimport { o as nodeListToArray } from './dom.js';\nimport { Build } from '@stencil/core/internal/client/index.js';\n\nconst ComboboxItem = \"CALCITE-COMBOBOX-ITEM\";\nconst ComboboxItemGroup = \"CALCITE-COMBOBOX-ITEM-GROUP\";\nconst ComboboxChildSelector = `${ComboboxItem}, ${ComboboxItemGroup}`;\nconst CSS = {\n chipInvisible: \"chip--invisible\",\n selectionDisplayFit: \"selection-display-fit\",\n selectionDisplaySingle: \"selection-display-single\",\n listContainer: \"list-container\",\n};\n\nfunction getAncestors(element) {\n const parent = element.parentElement?.closest(ComboboxChildSelector);\n const grandparent = parent?.parentElement?.closest(ComboboxChildSelector);\n return [parent, grandparent].filter((el) => el);\n}\nfunction getItemAncestors(item) {\n return (item.ancestors?.filter((el) => el.nodeName === \"CALCITE-COMBOBOX-ITEM\") || []);\n}\nfunction getItemChildren(item) {\n return nodeListToArray(item.querySelectorAll(\"calcite-combobox-item\"));\n}\nfunction hasActiveChildren(node) {\n const items = nodeListToArray(node.querySelectorAll(\"calcite-combobox-item\"));\n return items.filter((item) => item.selected).length > 0;\n}\nfunction getDepth(element) {\n if (!Build.isBrowser) {\n return 0;\n }\n const result = document.evaluate(\"ancestor::calcite-combobox-item | ancestor::calcite-combobox-item-group\", element, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);\n return result.snapshotLength;\n}\nfunction isSingleLike(selectionMode) {\n return selectionMode.includes(\"single\");\n}\n\nexport { CSS as C, getDepth as a, ComboboxChildSelector as b, getItemAncestors as c, getItemChildren as d, ComboboxItem as e, ComboboxItemGroup as f, getAncestors as g, hasActiveChildren as h, isSingleLike as i };\n"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","CalciteComboboxItem","ComboboxItem","defineCustomElement","defineCustomElement$1","CSS","proxyCustomElement","HTMLElement","constructor","super","this","__registerHost","__attachShadow","calciteComboboxItemChange","createEvent","itemClickHandler","toggleSelected","disabled","selected","active","ancestors","undefined","guid","icon","iconFlipRtl","textLabel","value","filterDisabled","selectionMode","scale","selectedWatchHandler","emit","connectedCallback","getAncestors","el","connectConditionalSlotComponent","connectInteractive","disconnectedCallback","disconnectConditionalSlotComponent","disconnectInteractive","componentDidRender","updateHostInteraction","isSinglePersistSelect","renderIcon","iconPath","h","class","flipRtl","key","getIconScale","renderSelectIndicator","showDot","renderChildren","getSlotted","render","isSingleSelect","isSingleLike","defaultIcon","classes","depth","getDepth","Host","style","onClick","watchers","customElements","forEach","tagName","get","define","componentScale","observed","Set","mutationObserver","observerOptions","childList","component","createObserver","processMutations","observe","delete","takeRecords","disconnect","element","entries","mutations","target","forceUpdate","iconCache","requestCache","scaleToPx","s","m","l","async","fetchIcon","size","name","numberLeadingName","isNaN","Number","charAt","parts","split","length","firstNonDigitInPartPattern","map","part","partIndex","replace","match","offset","toUpperCase","join","normalizeIconName","filled","substring","fetch","getAssetPath","resp","json","catch","console","error","path","Icon","pathData","visible","waitUntilVisible","loadIconPathData","intersectionObserver","componentWillLoad","dir","getElementDir","semantic","paths","concat","toAriaBoolean","role","svg","fill","height","viewBox","width","xmlns","d","opacity","Build","isBrowser","callback","entry","isIntersecting","rootMargin","assetsDirs","getUserAgentString","uaData","navigator","userAgentData","brands","brand","version","userAgent","isFirefox","test","interactiveElementToParent","WeakMap","interceptedClick","prototype","click","call","onPointerDown","event","interactiveElement","preventDefault","nonBubblingWhenDisabledMouseEvents","onNonBubblingWhenDisabledMouseEvent","stopImmediatePropagation","captureOnlyOptions","capture","hostIsTabbable","setAttribute","contains","document","activeElement","blur","blockInteraction","restoreInteraction","removeAttribute","addEventListener","addInteractionListeners","getParentElement","removeEventListener","removeInteractionListeners","parent","parentElement","set","type","options","Observer","ExtendedMutationObserver","window","MutationObserver","observedEntry","push","unobserve","newObservedEntries","filter","IntersectionObserver","ResizeObserver","getObserver","ComboboxItemGroup","ComboboxChildSelector","chipInvisible","selectionDisplayFit","selectionDisplaySingle","listContainer","closest","grandparent","getItemAncestors","item","nodeName","getItemChildren","nodeListToArray","querySelectorAll","hasActiveChildren","node","evaluate","XPathResult","UNORDERED_NODE_SNAPSHOT_TYPE","snapshotLength","includes"],"sourceRoot":""}