{"version":3,"file":"static/js/6037.f6a73a6f.chunk.js","mappings":"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","sources":["../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/array.js","../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/focusTrapComponent.js","../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/Heading.js","../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/popover.js","../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/action-menu.js","../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/panel.js","../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/calcite-flow-item.js","../node_modules/@arcgis/core/node_modules/@esri/calcite-components/dist/components/scrim.js"],"sourcesContent":["/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n * v1.0.8-next.4\n */\nfunction getRoundRobinIndex(index, total) {\n return (index + total) % total;\n}\n\nexport { getRoundRobinIndex as g };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n * v1.0.8-next.4\n */\nimport { w as tabbable, x as focusable, y as isTabbable, z as isFocusable, h as focusElement, A as tabbableOptions } from './dom.js';\n\n/*!\n* focus-trap 7.2.0\n* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE\n*/\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nvar activeFocusTraps = {\n activateTrap: function activateTrap(trapStack, trap) {\n if (trapStack.length > 0) {\n var activeTrap = trapStack[trapStack.length - 1];\n if (activeTrap !== trap) {\n activeTrap.pause();\n }\n }\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex === -1) {\n trapStack.push(trap);\n } else {\n // move this existing trap to the front of the queue\n trapStack.splice(trapIndex, 1);\n trapStack.push(trap);\n }\n },\n deactivateTrap: function deactivateTrap(trapStack, trap) {\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex !== -1) {\n trapStack.splice(trapIndex, 1);\n }\n if (trapStack.length > 0) {\n trapStack[trapStack.length - 1].unpause();\n }\n }\n};\nvar isSelectableInput = function isSelectableInput(node) {\n return node.tagName && node.tagName.toLowerCase() === 'input' && typeof node.select === 'function';\n};\nvar isEscapeEvent = function isEscapeEvent(e) {\n return e.key === 'Escape' || e.key === 'Esc' || e.keyCode === 27;\n};\nvar isTabEvent = function isTabEvent(e) {\n return e.key === 'Tab' || e.keyCode === 9;\n};\n\n// checks for TAB by default\nvar isKeyForward = function isKeyForward(e) {\n return isTabEvent(e) && !e.shiftKey;\n};\n\n// checks for SHIFT+TAB by default\nvar isKeyBackward = function isKeyBackward(e) {\n return isTabEvent(e) && e.shiftKey;\n};\nvar delay = function delay(fn) {\n return setTimeout(fn, 0);\n};\n\n// Array.find/findIndex() are not supported on IE; this replicates enough\n// of Array.findIndex() for our needs\nvar findIndex = function findIndex(arr, fn) {\n var idx = -1;\n arr.every(function (value, i) {\n if (fn(value)) {\n idx = i;\n return false; // break\n }\n\n return true; // next\n });\n\n return idx;\n};\n\n/**\n * Get an option's value when it could be a plain value, or a handler that provides\n * the value.\n * @param {*} value Option's value to check.\n * @param {...*} [params] Any parameters to pass to the handler, if `value` is a function.\n * @returns {*} The `value`, or the handler's returned value.\n */\nvar valueOrHandler = function valueOrHandler(value) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n return typeof value === 'function' ? value.apply(void 0, params) : value;\n};\nvar getActualTarget = function getActualTarget(event) {\n // NOTE: If the trap is _inside_ a shadow DOM, event.target will always be the\n // shadow host. However, event.target.composedPath() will be an array of\n // nodes \"clicked\" from inner-most (the actual element inside the shadow) to\n // outer-most (the host HTML document). If we have access to composedPath(),\n // then use its first element; otherwise, fall back to event.target (and\n // this only works for an _open_ shadow DOM; otherwise,\n // composedPath()[0] === event.target always).\n return event.target.shadowRoot && typeof event.composedPath === 'function' ? event.composedPath()[0] : event.target;\n};\n\n// NOTE: this must be _outside_ `createFocusTrap()` to make sure all traps in this\n// current instance use the same stack if `userOptions.trapStack` isn't specified\nvar internalTrapStack = [];\nvar createFocusTrap = function createFocusTrap(elements, userOptions) {\n // SSR: a live trap shouldn't be created in this type of environment so this\n // should be safe code to execute if the `document` option isn't specified\n var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;\n var trapStack = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.trapStack) || internalTrapStack;\n var config = _objectSpread2({\n returnFocusOnDeactivate: true,\n escapeDeactivates: true,\n delayInitialFocus: true,\n isKeyForward: isKeyForward,\n isKeyBackward: isKeyBackward\n }, userOptions);\n var state = {\n // containers given to createFocusTrap()\n // @type {Array}\n containers: [],\n // list of objects identifying tabbable nodes in `containers` in the trap\n // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap\n // is active, but the trap should never get to a state where there isn't at least one group\n // with at least one tabbable node in it (that would lead to an error condition that would\n // result in an error being thrown)\n // @type {Array<{\n // container: HTMLElement,\n // tabbableNodes: Array, // empty if none\n // focusableNodes: Array, // empty if none\n // firstTabbableNode: HTMLElement|null,\n // lastTabbableNode: HTMLElement|null,\n // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined\n // }>}\n containerGroups: [],\n // same order/length as `containers` list\n\n // references to objects in `containerGroups`, but only those that actually have\n // tabbable nodes in them\n // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__\n // the same length\n tabbableGroups: [],\n nodeFocusedBeforeActivation: null,\n mostRecentlyFocusedNode: null,\n active: false,\n paused: false,\n // timer ID for when delayInitialFocus is true and initial focus in this trap\n // has been delayed during activation\n delayInitialFocusTimer: undefined\n };\n var trap; // eslint-disable-line prefer-const -- some private functions reference it, and its methods reference private functions, so we must declare here and define later\n\n /**\n * Gets a configuration option value.\n * @param {Object|undefined} configOverrideOptions If true, and option is defined in this set,\n * value will be taken from this object. Otherwise, value will be taken from base configuration.\n * @param {string} optionName Name of the option whose value is sought.\n * @param {string|undefined} [configOptionName] Name of option to use __instead of__ `optionName`\n * IIF `configOverrideOptions` is not defined. Otherwise, `optionName` is used.\n */\n var getOption = function getOption(configOverrideOptions, optionName, configOptionName) {\n return configOverrideOptions && configOverrideOptions[optionName] !== undefined ? configOverrideOptions[optionName] : config[configOptionName || optionName];\n };\n\n /**\n * Finds the index of the container that contains the element.\n * @param {HTMLElement} element\n * @returns {number} Index of the container in either `state.containers` or\n * `state.containerGroups` (the order/length of these lists are the same); -1\n * if the element isn't found.\n */\n var findContainerIndex = function findContainerIndex(element) {\n // NOTE: search `containerGroups` because it's possible a group contains no tabbable\n // nodes, but still contains focusable nodes (e.g. if they all have `tabindex=-1`)\n // and we still need to find the element in there\n return state.containerGroups.findIndex(function (_ref) {\n var container = _ref.container,\n tabbableNodes = _ref.tabbableNodes;\n return container.contains(element) ||\n // fall back to explicit tabbable search which will take into consideration any\n // web components if the `tabbableOptions.getShadowRoot` option was used for\n // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't\n // look inside web components even if open)\n tabbableNodes.find(function (node) {\n return node === element;\n });\n });\n };\n\n /**\n * Gets the node for the given option, which is expected to be an option that\n * can be either a DOM node, a string that is a selector to get a node, `false`\n * (if a node is explicitly NOT given), or a function that returns any of these\n * values.\n * @param {string} optionName\n * @returns {undefined | false | HTMLElement | SVGElement} Returns\n * `undefined` if the option is not specified; `false` if the option\n * resolved to `false` (node explicitly not given); otherwise, the resolved\n * DOM node.\n * @throws {Error} If the option is set, not `false`, and is not, or does not\n * resolve to a node.\n */\n var getNodeForOption = function getNodeForOption(optionName) {\n var optionValue = config[optionName];\n if (typeof optionValue === 'function') {\n for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n params[_key2 - 1] = arguments[_key2];\n }\n optionValue = optionValue.apply(void 0, params);\n }\n if (optionValue === true) {\n optionValue = undefined; // use default value\n }\n\n if (!optionValue) {\n if (optionValue === undefined || optionValue === false) {\n return optionValue;\n }\n // else, empty string (invalid), null (invalid), 0 (invalid)\n\n throw new Error(\"`\".concat(optionName, \"` was specified but was not a node, or did not return a node\"));\n }\n var node = optionValue; // could be HTMLElement, SVGElement, or non-empty string at this point\n\n if (typeof optionValue === 'string') {\n node = doc.querySelector(optionValue); // resolve to node, or null if fails\n if (!node) {\n throw new Error(\"`\".concat(optionName, \"` as selector refers to no known node\"));\n }\n }\n return node;\n };\n var getInitialFocusNode = function getInitialFocusNode() {\n var node = getNodeForOption('initialFocus');\n\n // false explicitly indicates we want no initialFocus at all\n if (node === false) {\n return false;\n }\n if (node === undefined) {\n // option not specified: use fallback options\n if (findContainerIndex(doc.activeElement) >= 0) {\n node = doc.activeElement;\n } else {\n var firstTabbableGroup = state.tabbableGroups[0];\n var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;\n\n // NOTE: `fallbackFocus` option function cannot return `false` (not supported)\n node = firstTabbableNode || getNodeForOption('fallbackFocus');\n }\n }\n if (!node) {\n throw new Error('Your focus-trap needs to have at least one focusable element');\n }\n return node;\n };\n var updateTabbableNodes = function updateTabbableNodes() {\n state.containerGroups = state.containers.map(function (container) {\n var tabbableNodes = tabbable(container, config.tabbableOptions);\n\n // NOTE: if we have tabbable nodes, we must have focusable nodes; focusable nodes\n // are a superset of tabbable nodes\n var focusableNodes = focusable(container, config.tabbableOptions);\n return {\n container: container,\n tabbableNodes: tabbableNodes,\n focusableNodes: focusableNodes,\n firstTabbableNode: tabbableNodes.length > 0 ? tabbableNodes[0] : null,\n lastTabbableNode: tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : null,\n /**\n * Finds the __tabbable__ node that follows the given node in the specified direction,\n * in this container, if any.\n * @param {HTMLElement} node\n * @param {boolean} [forward] True if going in forward tab order; false if going\n * in reverse.\n * @returns {HTMLElement|undefined} The next tabbable node, if any.\n */\n nextTabbableNode: function nextTabbableNode(node) {\n var forward = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n // NOTE: If tabindex is positive (in order to manipulate the tab order separate\n // from the DOM order), this __will not work__ because the list of focusableNodes,\n // while it contains tabbable nodes, does not sort its nodes in any order other\n // than DOM order, because it can't: Where would you place focusable (but not\n // tabbable) nodes in that order? They have no order, because they aren't tabbale...\n // Support for positive tabindex is already broken and hard to manage (possibly\n // not supportable, TBD), so this isn't going to make things worse than they\n // already are, and at least makes things better for the majority of cases where\n // tabindex is either 0/unset or negative.\n // FYI, positive tabindex issue: https://github.com/focus-trap/focus-trap/issues/375\n var nodeIdx = focusableNodes.findIndex(function (n) {\n return n === node;\n });\n if (nodeIdx < 0) {\n return undefined;\n }\n if (forward) {\n return focusableNodes.slice(nodeIdx + 1).find(function (n) {\n return isTabbable(n, config.tabbableOptions);\n });\n }\n return focusableNodes.slice(0, nodeIdx).reverse().find(function (n) {\n return isTabbable(n, config.tabbableOptions);\n });\n }\n };\n });\n state.tabbableGroups = state.containerGroups.filter(function (group) {\n return group.tabbableNodes.length > 0;\n });\n\n // throw if no groups have tabbable nodes and we don't have a fallback focus node either\n if (state.tabbableGroups.length <= 0 && !getNodeForOption('fallbackFocus') // returning false not supported for this option\n ) {\n throw new Error('Your focus-trap must have at least one container with at least one tabbable node in it at all times');\n }\n };\n var tryFocus = function tryFocus(node) {\n if (node === false) {\n return;\n }\n if (node === doc.activeElement) {\n return;\n }\n if (!node || !node.focus) {\n tryFocus(getInitialFocusNode());\n return;\n }\n node.focus({\n preventScroll: !!config.preventScroll\n });\n state.mostRecentlyFocusedNode = node;\n if (isSelectableInput(node)) {\n node.select();\n }\n };\n var getReturnFocusNode = function getReturnFocusNode(previousActiveElement) {\n var node = getNodeForOption('setReturnFocus', previousActiveElement);\n return node ? node : node === false ? false : previousActiveElement;\n };\n\n // This needs to be done on mousedown and touchstart instead of click\n // so that it precedes the focus event.\n var checkPointerDown = function checkPointerDown(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target) >= 0) {\n // allow the click since it ocurred inside the trap\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n // immediately deactivate the trap\n trap.deactivate({\n // if, on deactivation, we should return focus to the node originally-focused\n // when the trap was activated (or the configured `setReturnFocus` node),\n // then assume it's also OK to return focus to the outside node that was\n // just clicked, causing deactivation, as long as that node is focusable;\n // if it isn't focusable, then return focus to the original node focused\n // on activation (or the configured `setReturnFocus` node)\n // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,\n // which will result in the outside click setting focus to the node\n // that was clicked, whether it's focusable or not; by setting\n // `returnFocus: true`, we'll attempt to re-focus the node originally-focused\n // on activation (or the configured `setReturnFocus` node)\n returnFocus: config.returnFocusOnDeactivate && !isFocusable(target, config.tabbableOptions)\n });\n return;\n }\n\n // This is needed for mobile devices.\n // (If we'll only let `click` events through,\n // then on mobile they will be blocked anyways if `touchstart` is blocked.)\n if (valueOrHandler(config.allowOutsideClick, e)) {\n // allow the click outside the trap to take place\n return;\n }\n\n // otherwise, prevent the click\n e.preventDefault();\n };\n\n // In case focus escapes the trap for some strange reason, pull it back in.\n var checkFocusIn = function checkFocusIn(e) {\n var target = getActualTarget(e);\n var targetContained = findContainerIndex(target) >= 0;\n\n // In Firefox when you Tab out of an iframe the Document is briefly focused.\n if (targetContained || target instanceof Document) {\n if (targetContained) {\n state.mostRecentlyFocusedNode = target;\n }\n } else {\n // escaped! pull it back in to where it just left\n e.stopImmediatePropagation();\n tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());\n }\n };\n\n // Hijack key nav events on the first and last focusable nodes of the trap,\n // in order to prevent focus from escaping. If it escapes for even a\n // moment it can end up scrolling the page and causing confusion so we\n // kind of need to capture the action at the keydown phase.\n var checkKeyNav = function checkKeyNav(event) {\n var isBackward = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var target = getActualTarget(event);\n updateTabbableNodes();\n var destinationNode = null;\n if (state.tabbableGroups.length > 0) {\n // make sure the target is actually contained in a group\n // NOTE: the target may also be the container itself if it's focusable\n // with tabIndex='-1' and was given initial focus\n var containerIndex = findContainerIndex(target);\n var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : undefined;\n if (containerIndex < 0) {\n // target not found in any group: quite possible focus has escaped the trap,\n // so bring it back into...\n if (isBackward) {\n // ...the last node in the last group\n destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;\n } else {\n // ...the first node in the first group\n destinationNode = state.tabbableGroups[0].firstTabbableNode;\n }\n } else if (isBackward) {\n // REVERSE\n\n // is the target the first tabbable node in a group?\n var startOfGroupIndex = findIndex(state.tabbableGroups, function (_ref2) {\n var firstTabbableNode = _ref2.firstTabbableNode;\n return target === firstTabbableNode;\n });\n if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {\n // an exception case where the target is either the container itself, or\n // a non-tabbable node that was given focus (i.e. tabindex is negative\n // and user clicked on it or node was programmatically given focus)\n // and is not followed by any other tabbable node, in which\n // case, we should handle shift+tab as if focus were on the container's\n // first tabbable node, and go to the last tabbable node of the LAST group\n startOfGroupIndex = containerIndex;\n }\n if (startOfGroupIndex >= 0) {\n // YES: then shift+tab should go to the last tabbable node in the\n // previous group (and wrap around to the last tabbable node of\n // the LAST group if it's the first tabbable node of the FIRST group)\n var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;\n var destinationGroup = state.tabbableGroups[destinationGroupIndex];\n destinationNode = destinationGroup.lastTabbableNode;\n } else if (!isTabEvent(event)) {\n // user must have customized the nav keys so we have to move focus manually _within_\n // the active group: do this based on the order determined by tabbable()\n destinationNode = containerGroup.nextTabbableNode(target, false);\n }\n } else {\n // FORWARD\n\n // is the target the last tabbable node in a group?\n var lastOfGroupIndex = findIndex(state.tabbableGroups, function (_ref3) {\n var lastTabbableNode = _ref3.lastTabbableNode;\n return target === lastTabbableNode;\n });\n if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {\n // an exception case where the target is the container itself, or\n // a non-tabbable node that was given focus (i.e. tabindex is negative\n // and user clicked on it or node was programmatically given focus)\n // and is not followed by any other tabbable node, in which\n // case, we should handle tab as if focus were on the container's\n // last tabbable node, and go to the first tabbable node of the FIRST group\n lastOfGroupIndex = containerIndex;\n }\n if (lastOfGroupIndex >= 0) {\n // YES: then tab should go to the first tabbable node in the next\n // group (and wrap around to the first tabbable node of the FIRST\n // group if it's the last tabbable node of the LAST group)\n var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;\n var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];\n destinationNode = _destinationGroup.firstTabbableNode;\n } else if (!isTabEvent(event)) {\n // user must have customized the nav keys so we have to move focus manually _within_\n // the active group: do this based on the order determined by tabbable()\n destinationNode = containerGroup.nextTabbableNode(target);\n }\n }\n } else {\n // no groups available\n // NOTE: the fallbackFocus option does not support returning false to opt-out\n destinationNode = getNodeForOption('fallbackFocus');\n }\n if (destinationNode) {\n if (isTabEvent(event)) {\n // since tab natively moves focus, we wouldn't have a destination node unless we\n // were on the edge of a container and had to move to the next/previous edge, in\n // which case we want to prevent default to keep the browser from moving focus\n // to where it normally would\n event.preventDefault();\n }\n tryFocus(destinationNode);\n }\n // else, let the browser take care of [shift+]tab and move the focus\n };\n\n var checkKey = function checkKey(event) {\n if (isEscapeEvent(event) && valueOrHandler(config.escapeDeactivates, event) !== false) {\n event.preventDefault();\n trap.deactivate();\n return;\n }\n if (config.isKeyForward(event) || config.isKeyBackward(event)) {\n checkKeyNav(event, config.isKeyBackward(event));\n }\n };\n var checkClick = function checkClick(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target) >= 0) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n\n //\n // EVENT LISTENERS\n //\n\n var addListeners = function addListeners() {\n if (!state.active) {\n return;\n }\n\n // There can be only one listening focus trap at a time\n activeFocusTraps.activateTrap(trapStack, trap);\n\n // Delay ensures that the focused element doesn't capture the event\n // that caused the focus trap activation.\n state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function () {\n tryFocus(getInitialFocusNode());\n }) : tryFocus(getInitialFocusNode());\n doc.addEventListener('focusin', checkFocusIn, true);\n doc.addEventListener('mousedown', checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener('touchstart', checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener('click', checkClick, {\n capture: true,\n passive: false\n });\n doc.addEventListener('keydown', checkKey, {\n capture: true,\n passive: false\n });\n return trap;\n };\n var removeListeners = function removeListeners() {\n if (!state.active) {\n return;\n }\n doc.removeEventListener('focusin', checkFocusIn, true);\n doc.removeEventListener('mousedown', checkPointerDown, true);\n doc.removeEventListener('touchstart', checkPointerDown, true);\n doc.removeEventListener('click', checkClick, true);\n doc.removeEventListener('keydown', checkKey, true);\n return trap;\n };\n\n //\n // TRAP DEFINITION\n //\n\n trap = {\n get active() {\n return state.active;\n },\n get paused() {\n return state.paused;\n },\n activate: function activate(activateOptions) {\n if (state.active) {\n return this;\n }\n var onActivate = getOption(activateOptions, 'onActivate');\n var onPostActivate = getOption(activateOptions, 'onPostActivate');\n var checkCanFocusTrap = getOption(activateOptions, 'checkCanFocusTrap');\n if (!checkCanFocusTrap) {\n updateTabbableNodes();\n }\n state.active = true;\n state.paused = false;\n state.nodeFocusedBeforeActivation = doc.activeElement;\n if (onActivate) {\n onActivate();\n }\n var finishActivation = function finishActivation() {\n if (checkCanFocusTrap) {\n updateTabbableNodes();\n }\n addListeners();\n if (onPostActivate) {\n onPostActivate();\n }\n };\n if (checkCanFocusTrap) {\n checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);\n return this;\n }\n finishActivation();\n return this;\n },\n deactivate: function deactivate(deactivateOptions) {\n if (!state.active) {\n return this;\n }\n var options = _objectSpread2({\n onDeactivate: config.onDeactivate,\n onPostDeactivate: config.onPostDeactivate,\n checkCanReturnFocus: config.checkCanReturnFocus\n }, deactivateOptions);\n clearTimeout(state.delayInitialFocusTimer); // noop if undefined\n state.delayInitialFocusTimer = undefined;\n removeListeners();\n state.active = false;\n state.paused = false;\n activeFocusTraps.deactivateTrap(trapStack, trap);\n var onDeactivate = getOption(options, 'onDeactivate');\n var onPostDeactivate = getOption(options, 'onPostDeactivate');\n var checkCanReturnFocus = getOption(options, 'checkCanReturnFocus');\n var returnFocus = getOption(options, 'returnFocus', 'returnFocusOnDeactivate');\n if (onDeactivate) {\n onDeactivate();\n }\n var finishDeactivation = function finishDeactivation() {\n delay(function () {\n if (returnFocus) {\n tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));\n }\n if (onPostDeactivate) {\n onPostDeactivate();\n }\n });\n };\n if (returnFocus && checkCanReturnFocus) {\n checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);\n return this;\n }\n finishDeactivation();\n return this;\n },\n pause: function pause() {\n if (state.paused || !state.active) {\n return this;\n }\n state.paused = true;\n removeListeners();\n return this;\n },\n unpause: function unpause() {\n if (!state.paused || !state.active) {\n return this;\n }\n state.paused = false;\n updateTabbableNodes();\n addListeners();\n return this;\n },\n updateContainerElements: function updateContainerElements(containerElements) {\n var elementsAsArray = [].concat(containerElements).filter(Boolean);\n state.containers = elementsAsArray.map(function (element) {\n return typeof element === 'string' ? doc.querySelector(element) : element;\n });\n if (state.active) {\n updateTabbableNodes();\n }\n return this;\n }\n };\n\n // initialize container elements\n trap.updateContainerElements(elements);\n return trap;\n};\n\nconst trapStack = [];\n/**\n * Helper to set up the FocusTrap component.\n *\n * @param {FocusTrapComponent} component The FocusTrap component.\n */\nfunction connectFocusTrap(component) {\n const { focusTrapEl } = component;\n if (!focusTrapEl) {\n return;\n }\n if (focusTrapEl.tabIndex == null) {\n focusTrapEl.tabIndex = -1;\n }\n const focusTrapOptions = {\n clickOutsideDeactivates: true,\n document: focusTrapEl.ownerDocument,\n escapeDeactivates: false,\n fallbackFocus: focusTrapEl,\n setReturnFocus: (el) => {\n focusElement(el);\n return false;\n },\n tabbableOptions,\n trapStack\n };\n component.focusTrap = createFocusTrap(focusTrapEl, focusTrapOptions);\n}\n/**\n * Helper to activate the FocusTrap component.\n *\n * @param {FocusTrapComponent} component The FocusTrap component.\n */\nfunction activateFocusTrap(component) {\n if (!component.focusTrapDisabled) {\n component.focusTrap?.activate();\n }\n}\n/**\n * Helper to deactivate the FocusTrap component.\n *\n * @param {FocusTrapComponent} component The FocusTrap component.\n */\nfunction deactivateFocusTrap(component) {\n component.focusTrap?.deactivate();\n}\n/**\n * Helper to update the element(s) that are used within the FocusTrap component.\n *\n * @param {FocusTrapComponent} component The FocusTrap component.\n * @example\n * const modal = document.querySelector(\"calcite-modal\");\n * const input = document.createElement(\"calcite-input\");\n * content.appendChild(input);\n * await input.componentOnReady();\n * await modal.updateFocusTrapElements();\n * requestAnimationFrame(() => input.setFocus());\n */\nfunction updateFocusTrapElements(component) {\n component.focusTrap?.updateContainerElements(component.focusTrapEl);\n}\n\nexport { activateFocusTrap as a, connectFocusTrap as c, deactivateFocusTrap as d, updateFocusTrapElements as u };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n * v1.0.8-next.4\n */\nimport { h } from '@stencil/core/internal/client/index.js';\n\nfunction constrainHeadingLevel(level) {\n return Math.min(Math.max(Math.ceil(level), 1), 6);\n}\nconst Heading = (props, children) => {\n const HeadingTag = props.level ? `h${props.level}` : \"div\";\n delete props.level;\n return h(HeadingTag, { ...props }, children);\n};\n\nexport { Heading as H, constrainHeadingLevel 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.8-next.4\n */\nimport { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Host } from '@stencil/core/internal/client/index.js';\nimport { f as filterComputedPlacements, c as connectFloatingUI, b as defaultOffsetDistance, u as updateAfterClose, a as disconnectFloatingUI, r as reposition, F as FloatingCSS } from './floating-ui.js';\nimport { c as connectFocusTrap, d as deactivateFocusTrap, a as activateFocusTrap, u as updateFocusTrapElements } from './focusTrapComponent.js';\nimport { i as isPrimaryPointerButton, t as toAriaBoolean, j as focusFirstTabbable, u as queryElementRoots } from './dom.js';\nimport { g as guid } from './guid.js';\nimport { c as connectOpenCloseComponent, d as disconnectOpenCloseComponent } from './openCloseComponent.js';\nimport { H as Heading } from './Heading.js';\nimport { c as connectLocalized, d as disconnectLocalized } from './locale.js';\nimport { u as updateMessages, c as connectMessages, s as setUpMessages, d as disconnectMessages } from './t9n.js';\nimport { i as isActivationKey } from './key.js';\nimport { a as setUpLoadableComponent, s as setComponentLoaded, c as componentLoaded } from './loadable.js';\nimport { d as defineCustomElement$3 } from './action.js';\nimport { d as defineCustomElement$2 } from './icon.js';\nimport { d as defineCustomElement$1 } from './loader.js';\n\nconst CSS = {\n container: \"container\",\n arrow: \"arrow\",\n imageContainer: \"image-container\",\n closeButtonContainer: \"close-button-container\",\n closeButton: \"close-button\",\n content: \"content\",\n hasHeader: \"has-header\",\n header: \"header\",\n headerContent: \"header-content\",\n heading: \"heading\"\n};\nconst defaultPopoverPlacement = \"auto\";\nconst ARIA_CONTROLS = \"aria-controls\";\nconst ARIA_EXPANDED = \"aria-expanded\";\n\nclass PopoverManager {\n constructor() {\n // --------------------------------------------------------------------------\n //\n // Private Properties\n //\n // --------------------------------------------------------------------------\n this.registeredElements = new Map();\n this.registeredElementCount = 0;\n // --------------------------------------------------------------------------\n //\n // Private Methods\n //\n // --------------------------------------------------------------------------\n this.queryPopover = (composedPath) => {\n const { registeredElements } = this;\n const registeredElement = composedPath.find((pathEl) => registeredElements.has(pathEl));\n return registeredElements.get(registeredElement);\n };\n this.togglePopovers = (event) => {\n const composedPath = event.composedPath();\n const togglePopover = this.queryPopover(composedPath);\n if (togglePopover && !togglePopover.triggerDisabled) {\n togglePopover.open = !togglePopover.open;\n }\n Array.from(this.registeredElements.values())\n .filter((popover) => popover !== togglePopover && popover.autoClose && popover.open && !composedPath.includes(popover))\n .forEach((popover) => (popover.open = false));\n };\n this.keyHandler = (event) => {\n if (event.defaultPrevented) {\n return;\n }\n if (event.key === \"Escape\") {\n this.closeAllPopovers();\n }\n else if (isActivationKey(event.key)) {\n this.togglePopovers(event);\n }\n };\n this.clickHandler = (event) => {\n if (isPrimaryPointerButton(event)) {\n this.togglePopovers(event);\n }\n };\n }\n // --------------------------------------------------------------------------\n //\n // Public Methods\n //\n // --------------------------------------------------------------------------\n registerElement(referenceEl, popover) {\n this.registeredElementCount++;\n this.registeredElements.set(referenceEl, popover);\n if (this.registeredElementCount === 1) {\n this.addListeners();\n }\n }\n unregisterElement(referenceEl) {\n if (this.registeredElements.delete(referenceEl)) {\n this.registeredElementCount--;\n }\n if (this.registeredElementCount === 0) {\n this.removeListeners();\n }\n }\n closeAllPopovers() {\n Array.from(this.registeredElements.values()).forEach((popover) => (popover.open = false));\n }\n addListeners() {\n document.addEventListener(\"pointerdown\", this.clickHandler, { capture: true });\n document.addEventListener(\"keydown\", this.keyHandler, { capture: true });\n }\n removeListeners() {\n document.removeEventListener(\"pointerdown\", this.clickHandler, { capture: true });\n document.removeEventListener(\"keydown\", this.keyHandler, { capture: true });\n }\n}\n\nconst popoverCss = \"@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0}}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing);--calcite-floating-ui-z-index:600}:host([hidden]){display:none}:host{--calcite-floating-ui-z-index:var(--calcite-popover-z-index, 900);display:block;position:absolute;z-index:var(--calcite-floating-ui-z-index)}.calcite-floating-ui-anim{position:relative;transition:var(--calcite-floating-ui-transition);transition-property:transform, visibility, opacity;opacity:0;box-shadow:0 0 16px 0 rgba(0, 0, 0, 0.16);z-index:1;border-radius:0.25rem}:host([data-placement^=bottom]) .calcite-floating-ui-anim{transform:translateY(-5px)}:host([data-placement^=top]) .calcite-floating-ui-anim{transform:translateY(5px)}:host([data-placement^=left]) .calcite-floating-ui-anim{transform:translateX(5px)}:host([data-placement^=right]) .calcite-floating-ui-anim{transform:translateX(-5px)}:host([data-placement]) .calcite-floating-ui-anim--active{opacity:1;transform:translate(0)}:host([calcite-hydrated-hidden]){visibility:hidden !important;pointer-events:none}.arrow,.arrow::before{position:absolute;inline-size:8px;block-size:8px;z-index:-1}.arrow::before{content:\\\"\\\";--tw-shadow:0 4px 8px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);--tw-shadow-colored:0 4px 8px -1px var(--tw-shadow-color), 0 2px 4px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);transform:rotate(45deg);background:var(--calcite-ui-foreground-1)}:host([data-placement^=top]) .arrow{inset-block-end:-4px}:host([data-placement^=bottom]) .arrow{inset-block-start:-4px}:host([data-placement^=right]) .arrow,:host([data-placement^=left]) .arrow{direction:ltr;text-align:start}:host([data-placement^=left]) .arrow{inset-inline-end:-4px}:host([data-placement^=right]) .arrow{inset-inline-start:-4px}:host([scale=s]) .heading{padding-inline:0.75rem;padding-block:0.5rem;font-size:var(--calcite-font-size--1);line-height:1.375}:host([scale=m]) .heading{padding-inline:1rem;padding-block:0.75rem;font-size:var(--calcite-font-size-0);line-height:1.375}:host([scale=l]) .heading{padding-inline:1.25rem;padding-block:1rem;font-size:var(--calcite-font-size-1);line-height:1.375}:host{pointer-events:none}:host([open]){pointer-events:initial}.calcite-floating-ui-anim{border-radius:0.25rem;border-width:1px;border-style:solid;border-color:var(--calcite-ui-border-3);background-color:var(--calcite-ui-foreground-1)}.arrow::before{outline:1px solid var(--calcite-ui-border-3)}.header{display:flex;flex:1 1 auto;align-items:stretch;justify-content:flex-start;border-width:0px;border-block-end-width:1px;border-style:solid;background-color:var(--calcite-ui-foreground-1);border-block-end-color:var(--calcite-ui-border-3)}.heading{margin:0px;display:block;flex:1 1 auto;align-self:center;white-space:normal;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-1);word-wrap:break-word;word-break:break-word}.container{position:relative;display:flex;block-size:100%;flex-direction:row;flex-wrap:nowrap;border-radius:0.25rem;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-1)}.container.has-header{flex-direction:column}.content{display:flex;block-size:100%;inline-size:100%;flex-direction:column;flex-wrap:nowrap;align-self:center;word-wrap:break-word;word-break:break-word}.close-button-container{display:flex;overflow:hidden;flex:0 0 auto;border-start-end-radius:0.25rem;border-end-end-radius:0.25rem}::slotted(calcite-panel),::slotted(calcite-flow){block-size:100%}\";\n\nconst manager = new PopoverManager();\nconst Popover = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.calcitePopoverBeforeClose = createEvent(this, \"calcitePopoverBeforeClose\", 6);\n this.calcitePopoverClose = createEvent(this, \"calcitePopoverClose\", 6);\n this.calcitePopoverBeforeOpen = createEvent(this, \"calcitePopoverBeforeOpen\", 6);\n this.calcitePopoverOpen = createEvent(this, \"calcitePopoverOpen\", 6);\n this.guid = `calcite-popover-${guid()}`;\n this.openTransitionProp = \"opacity\";\n this.hasLoaded = false;\n // --------------------------------------------------------------------------\n //\n // Private Methods\n //\n // --------------------------------------------------------------------------\n this.setTransitionEl = (el) => {\n this.transitionEl = el;\n connectOpenCloseComponent(this);\n this.focusTrapEl = el;\n connectFocusTrap(this);\n };\n this.setFilteredPlacements = () => {\n const { el, flipPlacements } = this;\n this.filteredFlipPlacements = flipPlacements\n ? filterComputedPlacements(flipPlacements, el)\n : null;\n };\n this.setUpReferenceElement = (warn = true) => {\n this.removeReferences();\n this.effectiveReferenceElement = this.getReferenceElement();\n connectFloatingUI(this, this.effectiveReferenceElement, this.el);\n const { el, referenceElement, effectiveReferenceElement } = this;\n if (warn && referenceElement && !effectiveReferenceElement) {\n console.warn(`${el.tagName}: reference-element id \"${referenceElement}\" was not found.`, {\n el\n });\n }\n this.addReferences();\n };\n this.getId = () => {\n return this.el.id || this.guid;\n };\n this.setExpandedAttr = () => {\n const { effectiveReferenceElement, open } = this;\n if (!effectiveReferenceElement) {\n return;\n }\n if (\"setAttribute\" in effectiveReferenceElement) {\n effectiveReferenceElement.setAttribute(ARIA_EXPANDED, toAriaBoolean(open));\n }\n };\n this.addReferences = () => {\n const { effectiveReferenceElement } = this;\n if (!effectiveReferenceElement) {\n return;\n }\n const id = this.getId();\n if (\"setAttribute\" in effectiveReferenceElement) {\n effectiveReferenceElement.setAttribute(ARIA_CONTROLS, id);\n }\n manager.registerElement(effectiveReferenceElement, this.el);\n this.setExpandedAttr();\n };\n this.removeReferences = () => {\n const { effectiveReferenceElement } = this;\n if (!effectiveReferenceElement) {\n return;\n }\n if (\"removeAttribute\" in effectiveReferenceElement) {\n effectiveReferenceElement.removeAttribute(ARIA_CONTROLS);\n effectiveReferenceElement.removeAttribute(ARIA_EXPANDED);\n }\n manager.unregisterElement(effectiveReferenceElement);\n };\n this.hide = () => {\n this.open = false;\n };\n this.storeArrowEl = (el) => {\n this.arrowEl = el;\n this.reposition(true);\n };\n this.autoClose = false;\n this.closable = false;\n this.flipDisabled = false;\n this.focusTrapDisabled = false;\n this.pointerDisabled = false;\n this.flipPlacements = undefined;\n this.heading = undefined;\n this.headingLevel = undefined;\n this.label = undefined;\n this.messageOverrides = undefined;\n this.messages = undefined;\n this.offsetDistance = defaultOffsetDistance;\n this.offsetSkidding = 0;\n this.open = false;\n this.overlayPositioning = \"absolute\";\n this.placement = defaultPopoverPlacement;\n this.referenceElement = undefined;\n this.scale = \"m\";\n this.triggerDisabled = false;\n this.effectiveLocale = \"\";\n this.effectiveReferenceElement = undefined;\n this.defaultMessages = undefined;\n }\n handlefocusTrapDisabled(focusTrapDisabled) {\n if (!this.open) {\n return;\n }\n focusTrapDisabled ? deactivateFocusTrap(this) : activateFocusTrap(this);\n }\n flipPlacementsHandler() {\n this.setFilteredPlacements();\n this.reposition(true);\n }\n onMessagesChange() {\n /* wired up by t9n util */\n }\n offsetDistanceOffsetHandler() {\n this.reposition(true);\n }\n offsetSkiddingHandler() {\n this.reposition(true);\n }\n openHandler(value) {\n if (value) {\n this.reposition(true);\n }\n else {\n updateAfterClose(this.el);\n }\n this.setExpandedAttr();\n }\n overlayPositioningHandler() {\n this.reposition(true);\n }\n placementHandler() {\n this.reposition(true);\n }\n referenceElementHandler() {\n this.setUpReferenceElement();\n this.reposition(true);\n }\n effectiveLocaleChange() {\n updateMessages(this, this.effectiveLocale);\n }\n // --------------------------------------------------------------------------\n //\n // Lifecycle\n //\n // --------------------------------------------------------------------------\n connectedCallback() {\n this.setFilteredPlacements();\n connectLocalized(this);\n connectMessages(this);\n connectOpenCloseComponent(this);\n this.setUpReferenceElement(this.hasLoaded);\n }\n async componentWillLoad() {\n await setUpMessages(this);\n setUpLoadableComponent(this);\n }\n componentDidLoad() {\n setComponentLoaded(this);\n if (this.referenceElement && !this.effectiveReferenceElement) {\n this.setUpReferenceElement();\n }\n this.reposition();\n this.hasLoaded = true;\n }\n disconnectedCallback() {\n this.removeReferences();\n disconnectLocalized(this);\n disconnectMessages(this);\n disconnectFloatingUI(this, this.effectiveReferenceElement, this.el);\n disconnectOpenCloseComponent(this);\n deactivateFocusTrap(this);\n }\n // --------------------------------------------------------------------------\n //\n // Public Methods\n //\n // --------------------------------------------------------------------------\n /**\n * Updates the position of the component.\n *\n * @param delayed\n */\n async reposition(delayed = false) {\n const { el, effectiveReferenceElement, placement, overlayPositioning, flipDisabled, filteredFlipPlacements, offsetDistance, offsetSkidding, arrowEl } = this;\n return reposition(this, {\n floatingEl: el,\n referenceEl: effectiveReferenceElement,\n overlayPositioning,\n placement,\n flipDisabled,\n flipPlacements: filteredFlipPlacements,\n offsetDistance,\n offsetSkidding,\n includeArrow: !this.pointerDisabled,\n arrowEl,\n type: \"popover\"\n }, delayed);\n }\n /**\n * Sets focus on the component's first focusable element.\n */\n async setFocus() {\n await componentLoaded(this);\n forceUpdate(this.el);\n focusFirstTabbable(this.focusTrapEl);\n }\n /**\n * Updates the element(s) that are used within the focus-trap of the component.\n */\n async updateFocusTrapElements() {\n updateFocusTrapElements(this);\n }\n getReferenceElement() {\n const { referenceElement, el } = this;\n return ((typeof referenceElement === \"string\"\n ? queryElementRoots(el, { id: referenceElement })\n : referenceElement) || null);\n }\n onBeforeOpen() {\n this.calcitePopoverBeforeOpen.emit();\n }\n onOpen() {\n this.calcitePopoverOpen.emit();\n activateFocusTrap(this);\n }\n onBeforeClose() {\n this.calcitePopoverBeforeClose.emit();\n }\n onClose() {\n this.calcitePopoverClose.emit();\n deactivateFocusTrap(this);\n }\n // --------------------------------------------------------------------------\n //\n // Render Methods\n //\n // --------------------------------------------------------------------------\n renderCloseButton() {\n const { messages, closable } = this;\n return closable ? (h(\"div\", { class: CSS.closeButtonContainer, key: CSS.closeButtonContainer }, h(\"calcite-action\", { class: CSS.closeButton, onClick: this.hide, ref: (closeButtonEl) => (this.closeButtonEl = closeButtonEl), scale: this.scale, text: messages.close }, h(\"calcite-icon\", { icon: \"x\", scale: this.scale === \"l\" ? \"m\" : this.scale })))) : null;\n }\n renderHeader() {\n const { heading, headingLevel } = this;\n const headingNode = heading ? (h(Heading, { class: CSS.heading, level: headingLevel }, heading)) : null;\n return headingNode ? (h(\"div\", { class: CSS.header, key: CSS.header }, headingNode, this.renderCloseButton())) : null;\n }\n render() {\n const { effectiveReferenceElement, heading, label, open, pointerDisabled } = this;\n const displayed = effectiveReferenceElement && open;\n const hidden = !displayed;\n const arrowNode = !pointerDisabled ? h(\"div\", { class: CSS.arrow, ref: this.storeArrowEl }) : null;\n return (h(Host, { \"aria-hidden\": toAriaBoolean(hidden), \"aria-label\": label, \"aria-live\": \"polite\", \"calcite-hydrated-hidden\": hidden, id: this.getId(), role: \"dialog\" }, h(\"div\", { class: {\n [FloatingCSS.animation]: true,\n [FloatingCSS.animationActive]: displayed\n }, ref: this.setTransitionEl }, arrowNode, h(\"div\", { class: {\n [CSS.hasHeader]: !!heading,\n [CSS.container]: true\n } }, this.renderHeader(), h(\"div\", { class: CSS.content }, h(\"slot\", null)), !heading ? this.renderCloseButton() : null))));\n }\n static get assetsDirs() { return [\"assets\"]; }\n get el() { return this; }\n static get watchers() { return {\n \"focusTrapDisabled\": [\"handlefocusTrapDisabled\"],\n \"flipPlacements\": [\"flipPlacementsHandler\"],\n \"messageOverrides\": [\"onMessagesChange\"],\n \"offsetDistance\": [\"offsetDistanceOffsetHandler\"],\n \"offsetSkidding\": [\"offsetSkiddingHandler\"],\n \"open\": [\"openHandler\"],\n \"overlayPositioning\": [\"overlayPositioningHandler\"],\n \"placement\": [\"placementHandler\"],\n \"referenceElement\": [\"referenceElementHandler\"],\n \"effectiveLocale\": [\"effectiveLocaleChange\"]\n }; }\n static get style() { return popoverCss; }\n}, [1, \"calcite-popover\", {\n \"autoClose\": [516, \"auto-close\"],\n \"closable\": [1540],\n \"flipDisabled\": [516, \"flip-disabled\"],\n \"focusTrapDisabled\": [516, \"focus-trap-disabled\"],\n \"pointerDisabled\": [516, \"pointer-disabled\"],\n \"flipPlacements\": [16],\n \"heading\": [1],\n \"headingLevel\": [514, \"heading-level\"],\n \"label\": [1],\n \"messageOverrides\": [1040],\n \"messages\": [1040],\n \"offsetDistance\": [514, \"offset-distance\"],\n \"offsetSkidding\": [514, \"offset-skidding\"],\n \"open\": [1540],\n \"overlayPositioning\": [513, \"overlay-positioning\"],\n \"placement\": [513],\n \"referenceElement\": [1, \"reference-element\"],\n \"scale\": [513],\n \"triggerDisabled\": [516, \"trigger-disabled\"],\n \"effectiveLocale\": [32],\n \"effectiveReferenceElement\": [32],\n \"defaultMessages\": [32],\n \"reposition\": [64],\n \"setFocus\": [64],\n \"updateFocusTrapElements\": [64]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"calcite-popover\", \"calcite-action\", \"calcite-icon\", \"calcite-loader\"];\n components.forEach(tagName => { switch (tagName) {\n case \"calcite-popover\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Popover);\n }\n break;\n case \"calcite-action\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\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 { Popover as P, defineCustomElement as d };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n * v1.0.8-next.4\n */\nimport { proxyCustomElement, HTMLElement, createEvent, h, Fragment } from '@stencil/core/internal/client/index.js';\nimport { g as getRoundRobinIndex } from './array.js';\nimport { t as toAriaBoolean, i as isPrimaryPointerButton, h as focusElement } from './dom.js';\nimport { g as guid } from './guid.js';\nimport { i as isActivationKey } from './key.js';\nimport { a as setUpLoadableComponent, s as setComponentLoaded, c as componentLoaded } from './loadable.js';\nimport { d as defineCustomElement$4 } from './action.js';\nimport { d as defineCustomElement$3 } from './icon.js';\nimport { d as defineCustomElement$2 } from './loader.js';\nimport { d as defineCustomElement$1 } from './popover.js';\n\nconst CSS = {\n menu: \"menu\",\n defaultTrigger: \"default-trigger\"\n};\nconst SLOTS = {\n tooltip: \"tooltip\",\n trigger: \"trigger\"\n};\nconst ICONS = {\n menu: \"ellipsis\"\n};\n\nconst actionMenuCss = \"@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0}}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing);--calcite-floating-ui-z-index:600}:host([hidden]){display:none}:host{box-sizing:border-box;display:flex;flex-direction:column;background-color:var(--calcite-ui-foreground-1);font-size:var(--calcite-font-size-1);color:var(--calcite-ui-text-2)}.menu ::slotted(calcite-action){margin:0.125rem;display:flex;outline-color:transparent}.menu ::slotted(calcite-action[active]){outline:2px solid var(--calcite-ui-brand);outline-offset:0px}.default-trigger{position:relative;block-size:100%;flex:0 1 auto;align-self:stretch}slot[name=trigger]::slotted(calcite-action),calcite-action::slotted([slot=trigger]){position:relative;block-size:100%;flex:0 1 auto;align-self:stretch}.menu{flex-direction:column;flex-wrap:nowrap;outline:2px solid transparent;outline-offset:2px}\";\n\nconst SUPPORTED_MENU_NAV_KEYS = [\"ArrowUp\", \"ArrowDown\", \"End\", \"Home\"];\nconst ActionMenu = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.calciteActionMenuOpen = createEvent(this, \"calciteActionMenuOpen\", 6);\n this.actionElements = [];\n this.guid = `calcite-action-menu-${guid()}`;\n this.menuId = `${this.guid}-menu`;\n this.menuButtonId = `${this.guid}-menu-button`;\n // --------------------------------------------------------------------------\n //\n // Component Methods\n //\n // --------------------------------------------------------------------------\n this.connectMenuButtonEl = () => {\n const { menuButtonId, menuId, open, label } = this;\n const menuButtonEl = this.slottedMenuButtonEl || this.defaultMenuButtonEl;\n if (this.menuButtonEl === menuButtonEl) {\n return;\n }\n this.disconnectMenuButtonEl();\n this.menuButtonEl = menuButtonEl;\n this.setTooltipReferenceElement();\n if (!menuButtonEl) {\n return;\n }\n menuButtonEl.active = open;\n menuButtonEl.setAttribute(\"aria-controls\", menuId);\n menuButtonEl.setAttribute(\"aria-expanded\", toAriaBoolean(open));\n menuButtonEl.setAttribute(\"aria-haspopup\", \"true\");\n if (!menuButtonEl.id) {\n menuButtonEl.id = menuButtonId;\n }\n if (!menuButtonEl.label) {\n menuButtonEl.label = label;\n }\n if (!menuButtonEl.text) {\n menuButtonEl.text = label;\n }\n menuButtonEl.addEventListener(\"pointerdown\", this.menuButtonClick);\n menuButtonEl.addEventListener(\"keydown\", this.menuButtonKeyDown);\n };\n this.disconnectMenuButtonEl = () => {\n const { menuButtonEl } = this;\n if (!menuButtonEl) {\n return;\n }\n menuButtonEl.removeEventListener(\"pointerdown\", this.menuButtonClick);\n menuButtonEl.removeEventListener(\"keydown\", this.menuButtonKeyDown);\n };\n this.setMenuButtonEl = (event) => {\n const actions = event.target\n .assignedElements({\n flatten: true\n })\n .filter((el) => el?.matches(\"calcite-action\"));\n this.slottedMenuButtonEl = actions[0];\n this.connectMenuButtonEl();\n };\n this.setDefaultMenuButtonEl = (el) => {\n this.defaultMenuButtonEl = el;\n this.connectMenuButtonEl();\n };\n // --------------------------------------------------------------------------\n //\n // Private Methods\n //\n // --------------------------------------------------------------------------\n this.handleCalciteActionClick = () => {\n this.open = false;\n this.setFocus();\n };\n this.menuButtonClick = (event) => {\n if (!isPrimaryPointerButton(event)) {\n return;\n }\n this.toggleOpen();\n };\n this.updateTooltip = (event) => {\n const tooltips = event.target\n .assignedElements({\n flatten: true\n })\n .filter((el) => el?.matches(\"calcite-tooltip\"));\n this.tooltipEl = tooltips[0];\n this.setTooltipReferenceElement();\n };\n this.setTooltipReferenceElement = () => {\n const { tooltipEl, expanded, menuButtonEl, open } = this;\n if (tooltipEl) {\n tooltipEl.referenceElement = !expanded && !open ? menuButtonEl : null;\n }\n };\n this.updateAction = (action, index) => {\n const { guid, activeMenuItemIndex } = this;\n const id = `${guid}-action-${index}`;\n action.tabIndex = -1;\n action.setAttribute(\"role\", \"menuitem\");\n if (!action.id) {\n action.id = id;\n }\n action.active = index === activeMenuItemIndex;\n };\n this.updateActions = (actions) => {\n actions?.forEach(this.updateAction);\n };\n this.handleDefaultSlotChange = (event) => {\n const actions = event.target\n .assignedElements({\n flatten: true\n })\n .filter((el) => el?.matches(\"calcite-action\"));\n this.actionElements = actions;\n };\n this.menuButtonKeyDown = (event) => {\n const { key } = event;\n const { actionElements, activeMenuItemIndex, open } = this;\n if (!actionElements.length) {\n return;\n }\n if (isActivationKey(key)) {\n event.preventDefault();\n if (!open) {\n this.toggleOpen();\n return;\n }\n const action = actionElements[activeMenuItemIndex];\n action ? action.click() : this.toggleOpen(false);\n }\n if (key === \"Tab\") {\n this.open = false;\n return;\n }\n if (key === \"Escape\") {\n this.toggleOpen(false);\n event.preventDefault();\n return;\n }\n this.handleActionNavigation(event, key, actionElements);\n };\n this.handleActionNavigation = (event, key, actions) => {\n if (!this.isValidKey(key, SUPPORTED_MENU_NAV_KEYS)) {\n return;\n }\n event.preventDefault();\n if (!this.open) {\n this.toggleOpen();\n if (key === \"Home\" || key === \"ArrowDown\") {\n this.activeMenuItemIndex = 0;\n }\n if (key === \"End\" || key === \"ArrowUp\") {\n this.activeMenuItemIndex = actions.length - 1;\n }\n return;\n }\n if (key === \"Home\") {\n this.activeMenuItemIndex = 0;\n }\n if (key === \"End\") {\n this.activeMenuItemIndex = actions.length - 1;\n }\n const currentIndex = this.activeMenuItemIndex;\n if (key === \"ArrowUp\") {\n this.activeMenuItemIndex = getRoundRobinIndex(Math.max(currentIndex - 1, -1), actions.length);\n }\n if (key === \"ArrowDown\") {\n this.activeMenuItemIndex = getRoundRobinIndex(currentIndex + 1, actions.length);\n }\n };\n this.toggleOpenEnd = () => {\n this.setFocus();\n this.el.removeEventListener(\"calcitePopoverOpen\", this.toggleOpenEnd);\n };\n this.toggleOpen = (value = !this.open) => {\n this.el.addEventListener(\"calcitePopoverOpen\", this.toggleOpenEnd);\n this.open = value;\n };\n this.expanded = false;\n this.flipPlacements = undefined;\n this.label = undefined;\n this.open = false;\n this.overlayPositioning = \"absolute\";\n this.placement = \"auto\";\n this.scale = undefined;\n this.menuButtonEl = undefined;\n this.activeMenuItemIndex = -1;\n }\n // --------------------------------------------------------------------------\n //\n // Lifecycle\n //\n // --------------------------------------------------------------------------\n componentWillLoad() {\n setUpLoadableComponent(this);\n }\n componentDidLoad() {\n setComponentLoaded(this);\n }\n disconnectedCallback() {\n this.disconnectMenuButtonEl();\n }\n expandedHandler() {\n this.open = false;\n this.setTooltipReferenceElement();\n }\n openHandler(open) {\n this.activeMenuItemIndex = this.open ? 0 : -1;\n if (this.menuButtonEl) {\n this.menuButtonEl.active = open;\n }\n this.calciteActionMenuOpen.emit();\n this.setTooltipReferenceElement();\n }\n closeCalciteActionMenuOnClick(event) {\n if (!isPrimaryPointerButton(event)) {\n return;\n }\n const composedPath = event.composedPath();\n if (composedPath.includes(this.el)) {\n return;\n }\n this.open = false;\n }\n activeMenuItemIndexHandler() {\n this.updateActions(this.actionElements);\n }\n // --------------------------------------------------------------------------\n //\n // Methods\n //\n // --------------------------------------------------------------------------\n /** Sets focus on the component. */\n async setFocus() {\n await componentLoaded(this);\n focusElement(this.menuButtonEl);\n }\n renderMenuButton() {\n const { label, scale, expanded } = this;\n const menuButtonSlot = (h(\"slot\", { name: SLOTS.trigger, onSlotchange: this.setMenuButtonEl }, h(\"calcite-action\", { class: CSS.defaultTrigger, icon: ICONS.menu, ref: this.setDefaultMenuButtonEl, scale: scale, text: label, textEnabled: expanded })));\n return menuButtonSlot;\n }\n renderMenuItems() {\n const { actionElements, activeMenuItemIndex, open, menuId, menuButtonEl, label, placement, overlayPositioning, flipPlacements } = this;\n const activeAction = actionElements[activeMenuItemIndex];\n const activeDescendantId = activeAction?.id || null;\n return (h(\"calcite-popover\", { flipPlacements: flipPlacements, focusTrapDisabled: true, label: label, offsetDistance: 0, open: open, overlayPositioning: overlayPositioning, placement: placement, pointerDisabled: true, referenceElement: menuButtonEl }, h(\"div\", { \"aria-activedescendant\": activeDescendantId, \"aria-labelledby\": menuButtonEl?.id, class: CSS.menu, id: menuId, onClick: this.handleCalciteActionClick, role: \"menu\", tabIndex: -1 }, h(\"slot\", { onSlotchange: this.handleDefaultSlotChange }))));\n }\n render() {\n return (h(Fragment, null, this.renderMenuButton(), this.renderMenuItems(), h(\"slot\", { name: SLOTS.tooltip, onSlotchange: this.updateTooltip })));\n }\n isValidKey(key, supportedKeys) {\n return !!supportedKeys.find((k) => k === key);\n }\n get el() { return this; }\n static get watchers() { return {\n \"expanded\": [\"expandedHandler\"],\n \"open\": [\"openHandler\"],\n \"activeMenuItemIndex\": [\"activeMenuItemIndexHandler\"]\n }; }\n static get style() { return actionMenuCss; }\n}, [1, \"calcite-action-menu\", {\n \"expanded\": [516],\n \"flipPlacements\": [16],\n \"label\": [1],\n \"open\": [1540],\n \"overlayPositioning\": [513, \"overlay-positioning\"],\n \"placement\": [513],\n \"scale\": [513],\n \"menuButtonEl\": [32],\n \"activeMenuItemIndex\": [32],\n \"setFocus\": [64]\n }, [[9, \"pointerdown\", \"closeCalciteActionMenuOnClick\"]]]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"calcite-action-menu\", \"calcite-action\", \"calcite-icon\", \"calcite-loader\", \"calcite-popover\"];\n components.forEach(tagName => { switch (tagName) {\n case \"calcite-action-menu\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, ActionMenu);\n }\n break;\n case \"calcite-action\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"calcite-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"calcite-loader\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n case \"calcite-popover\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\ndefineCustomElement();\n\nexport { ActionMenu as A, SLOTS as S, defineCustomElement as d };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n * v1.0.8-next.4\n */\nimport { proxyCustomElement, HTMLElement, createEvent, h, Fragment } from '@stencil/core/internal/client/index.js';\nimport { j as focusFirstTabbable, t as toAriaBoolean } from './dom.js';\nimport { u as updateHostInteraction } from './interactive.js';\nimport { a as setUpLoadableComponent, s as setComponentLoaded, c as componentLoaded } from './loadable.js';\nimport { c as createObserver } from './observers.js';\nimport { S as SLOTS$1, d as defineCustomElement$5 } from './action-menu.js';\nimport { H as Heading } from './Heading.js';\nimport { c as connectLocalized, d as disconnectLocalized } from './locale.js';\nimport { c as connectMessages, s as setUpMessages, d as disconnectMessages, u as updateMessages } from './t9n.js';\nimport { d as defineCustomElement$6 } from './action.js';\nimport { d as defineCustomElement$4 } from './icon.js';\nimport { d as defineCustomElement$3 } from './loader.js';\nimport { d as defineCustomElement$2 } from './popover.js';\nimport { d as defineCustomElement$1 } from './scrim.js';\n\nconst CSS = {\n backButton: \"back-button\",\n container: \"container\",\n header: \"header\",\n heading: \"heading\",\n summary: \"summary\",\n description: \"description\",\n headerContent: \"header-content\",\n headerActions: \"header-actions\",\n headerActionsEnd: \"header-actions--end\",\n headerActionsStart: \"header-actions--start\",\n contentWrapper: \"content-wrapper\",\n contentContainer: \"content-container\",\n contentHeight: \"content-height\",\n fabContainer: \"fab-container\",\n footer: \"footer\"\n};\nconst ICONS = {\n close: \"x\",\n menu: \"ellipsis\",\n backLeft: \"chevron-left\",\n backRight: \"chevron-right\"\n};\nconst SLOTS = {\n headerActionsStart: \"header-actions-start\",\n headerActionsEnd: \"header-actions-end\",\n headerMenuActions: \"header-menu-actions\",\n headerContent: \"header-content\",\n fab: \"fab\",\n footer: \"footer\",\n footerActions: \"footer-actions\"\n};\n\nconst panelCss = \"@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0}}:host{box-sizing:border-box;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}:host *{box-sizing:border-box}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing);--calcite-floating-ui-z-index:600}:host([hidden]){display:none}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host{position:relative;display:flex;block-size:100%;inline-size:100%;flex:1 1 auto;overflow:hidden;--calcite-min-header-height:calc(var(--calcite-icon-size) * 3)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.header{margin:0px;display:flex;align-content:space-between;align-items:center;fill:var(--calcite-ui-text-2);color:var(--calcite-ui-text-2)}.heading{margin:0px;padding:0px;font-weight:var(--calcite-font-weight-medium)}.header .heading{flex:1 1 auto;padding:0.5rem}.container{margin:0px;display:flex;inline-size:100%;flex:1 1 auto;flex-direction:column;align-items:stretch;background-color:var(--calcite-ui-background);padding:0px;transition:max-block-size var(--calcite-animation-timing), inline-size var(--calcite-animation-timing)}.container[hidden]{display:none}.header{border-block-end:1px solid;position:sticky;inset-block-start:0px;z-index:400;inline-size:100%;align-items:stretch;justify-content:flex-start;background-color:var(--calcite-ui-foreground-1);border-block-end-color:var(--calcite-ui-border-3);flex:0 0 auto}.header-content{display:flex;flex-direction:column;overflow:hidden;padding-inline:0.75rem;padding-block:0.875rem;margin-inline-end:auto}.header-content .heading,.header-content .description{display:block;overflow-wrap:break-word;padding:0px}.header-content .heading{margin-inline:0px;margin-block:0px 0.25rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;font-weight:var(--calcite-font-weight-medium)}.header-content .heading:only-child{margin-block-end:0px}.header-content .description{font-size:var(--calcite-font-size--1);line-height:1rem;color:var(--calcite-ui-text-2)}.back-button{border-width:0px;border-style:solid;border-color:var(--calcite-ui-border-3);border-inline-end-width:1px}.header-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch}.header-actions--end{margin-inline-start:auto}.content-wrapper{overflow:auto}.content-height{block-size:100%}.content-container{display:flex;flex:1 1 auto;flex-direction:column;flex-wrap:nowrap;align-items:stretch;background-color:var(--calcite-ui-background)}.footer{border-block-start:1px solid;position:sticky;inset-block-end:0px;display:flex;inline-size:100%;justify-content:space-evenly;background-color:var(--calcite-ui-foreground-1);border-block-start-color:var(--calcite-ui-border-3);flex:0 0 auto;min-block-size:3rem;padding:0.5rem}.fab-container{position:sticky;inset-block-end:0px;z-index:300;margin-block:0px;margin-inline:auto;display:block;padding:0.5rem;inset-inline:0;inline-size:-moz-fit-content;inline-size:fit-content}[hidden]{display:none}\";\n\nconst Panel = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.calcitePanelClose = createEvent(this, \"calcitePanelClose\", 6);\n this.calcitePanelScroll = createEvent(this, \"calcitePanelScroll\", 6);\n this.resizeObserver = createObserver(\"resize\", () => this.resizeHandler());\n // --------------------------------------------------------------------------\n //\n // Private Methods\n //\n // --------------------------------------------------------------------------\n this.resizeHandler = () => {\n const { panelScrollEl } = this;\n if (!panelScrollEl ||\n typeof panelScrollEl.scrollHeight !== \"number\" ||\n typeof panelScrollEl.offsetHeight !== \"number\") {\n return;\n }\n panelScrollEl.tabIndex = panelScrollEl.scrollHeight > panelScrollEl.offsetHeight ? 0 : -1;\n };\n this.setContainerRef = (node) => {\n this.containerEl = node;\n };\n this.setCloseRef = (node) => {\n this.closeButtonEl = node;\n };\n this.setBackRef = (node) => {\n this.backButtonEl = node;\n };\n this.panelKeyDownHandler = (event) => {\n if (this.closable && event.key === \"Escape\" && !event.defaultPrevented) {\n this.close();\n event.preventDefault();\n }\n };\n this.close = () => {\n this.closed = true;\n this.calcitePanelClose.emit();\n };\n this.panelScrollHandler = () => {\n this.calcitePanelScroll.emit();\n };\n this.handleHeaderActionsStartSlotChange = (event) => {\n const elements = event.target.assignedElements({\n flatten: true\n });\n this.hasStartActions = !!elements.length;\n };\n this.handleHeaderActionsEndSlotChange = (event) => {\n const elements = event.target.assignedElements({\n flatten: true\n });\n this.hasEndActions = !!elements.length;\n };\n this.handleHeaderMenuActionsSlotChange = (event) => {\n const elements = event.target.assignedElements({\n flatten: true\n });\n this.hasMenuItems = !!elements.length;\n };\n this.handleHeaderContentSlotChange = (event) => {\n const elements = event.target.assignedElements({\n flatten: true\n });\n this.hasHeaderContent = !!elements.length;\n };\n this.handleFooterSlotChange = (event) => {\n const elements = event.target.assignedElements({\n flatten: true\n });\n this.hasFooterContent = !!elements.length;\n };\n this.handleFooterActionsSlotChange = (event) => {\n const elements = event.target.assignedElements({\n flatten: true\n });\n this.hasFooterActions = !!elements.length;\n };\n this.handleFabSlotChange = (event) => {\n const elements = event.target.assignedElements({\n flatten: true\n });\n this.hasFab = !!elements.length;\n };\n this.setPanelScrollEl = (el) => {\n this.panelScrollEl = el;\n this.resizeObserver?.disconnect();\n if (el) {\n this.resizeObserver?.observe(el);\n this.resizeHandler();\n }\n };\n this.closed = false;\n this.disabled = false;\n this.closable = false;\n this.headingLevel = undefined;\n this.loading = false;\n this.heading = undefined;\n this.description = undefined;\n this.menuOpen = false;\n this.messageOverrides = undefined;\n this.messages = undefined;\n this.hasStartActions = false;\n this.hasEndActions = false;\n this.hasMenuItems = false;\n this.hasHeaderContent = false;\n this.hasFooterContent = false;\n this.hasFooterActions = false;\n this.hasFab = false;\n this.defaultMessages = undefined;\n this.effectiveLocale = \"\";\n }\n onMessagesChange() {\n /* wired up by t9n util */\n }\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n connectedCallback() {\n connectLocalized(this);\n connectMessages(this);\n }\n async componentWillLoad() {\n setUpLoadableComponent(this);\n await setUpMessages(this);\n }\n componentDidLoad() {\n setComponentLoaded(this);\n }\n componentDidRender() {\n updateHostInteraction(this);\n }\n disconnectedCallback() {\n disconnectLocalized(this);\n disconnectMessages(this);\n this.resizeObserver?.disconnect();\n }\n effectiveLocaleChange() {\n updateMessages(this, this.effectiveLocale);\n }\n // --------------------------------------------------------------------------\n //\n // Methods\n //\n // --------------------------------------------------------------------------\n /**\n * Sets focus on the component's first focusable element.\n */\n async setFocus() {\n await componentLoaded(this);\n focusFirstTabbable(this.containerEl);\n }\n /**\n * Scrolls the component's content to a specified set of coordinates.\n *\n * @example\n * myCalciteFlowItem.scrollContentTo({\n * left: 0, // Specifies the number of pixels along the X axis to scroll the window or element.\n * top: 0, // Specifies the number of pixels along the Y axis to scroll the window or element\n * behavior: \"auto\" // Specifies whether the scrolling should animate smoothly (smooth), or happen instantly in a single jump (auto, the default value).\n * });\n * @param options\n */\n async scrollContentTo(options) {\n this.panelScrollEl?.scrollTo(options);\n }\n // --------------------------------------------------------------------------\n //\n // Render Methods\n //\n // --------------------------------------------------------------------------\n renderHeaderContent() {\n const { heading, headingLevel, description, hasHeaderContent } = this;\n const headingNode = heading ? (h(Heading, { class: CSS.heading, level: headingLevel }, heading)) : null;\n const descriptionNode = description ? h(\"span\", { class: CSS.description }, description) : null;\n return !hasHeaderContent && (headingNode || descriptionNode) ? (h(\"div\", { class: CSS.headerContent, key: \"header-content\" }, headingNode, descriptionNode)) : null;\n }\n /**\n * Allows user to override the entire header-content node.\n */\n renderHeaderSlottedContent() {\n return (h(\"div\", { class: CSS.headerContent, hidden: !this.hasHeaderContent, key: \"slotted-header-content\" }, h(\"slot\", { name: SLOTS.headerContent, onSlotchange: this.handleHeaderContentSlotChange })));\n }\n renderHeaderStartActions() {\n const { hasStartActions } = this;\n return (h(\"div\", { class: { [CSS.headerActionsStart]: true, [CSS.headerActions]: true }, hidden: !hasStartActions, key: \"header-actions-start\" }, h(\"slot\", { name: SLOTS.headerActionsStart, onSlotchange: this.handleHeaderActionsStartSlotChange })));\n }\n renderHeaderActionsEnd() {\n const { close, hasEndActions, messages, closable } = this;\n const text = messages.close;\n const closableNode = closable ? (h(\"calcite-action\", { \"aria-label\": text, icon: ICONS.close, onClick: close, ref: this.setCloseRef, text: text })) : null;\n const slotNode = (h(\"slot\", { name: SLOTS.headerActionsEnd, onSlotchange: this.handleHeaderActionsEndSlotChange }));\n const showContainer = hasEndActions || closableNode;\n return (h(\"div\", { class: { [CSS.headerActionsEnd]: true, [CSS.headerActions]: true }, hidden: !showContainer, key: \"header-actions-end\" }, slotNode, closableNode));\n }\n renderMenu() {\n const { hasMenuItems, messages, menuOpen } = this;\n return (h(\"calcite-action-menu\", { flipPlacements: [\"top\", \"bottom\"], hidden: !hasMenuItems, key: \"menu\", label: messages.options, open: menuOpen, placement: \"bottom-end\" }, h(\"calcite-action\", { icon: ICONS.menu, slot: SLOTS$1.trigger, text: messages.options }), h(\"slot\", { name: SLOTS.headerMenuActions, onSlotchange: this.handleHeaderMenuActionsSlotChange })));\n }\n renderHeaderNode() {\n const { hasHeaderContent, hasStartActions, hasEndActions, closable, hasMenuItems } = this;\n const headerContentNode = this.renderHeaderContent();\n const showHeader = hasHeaderContent ||\n headerContentNode ||\n hasStartActions ||\n hasEndActions ||\n closable ||\n hasMenuItems;\n return (h(\"header\", { class: CSS.header, hidden: !showHeader }, this.renderHeaderStartActions(), this.renderHeaderSlottedContent(), headerContentNode, this.renderHeaderActionsEnd(), this.renderMenu()));\n }\n renderFooterNode() {\n const { hasFooterContent, hasFooterActions } = this;\n const showFooter = hasFooterContent || hasFooterActions;\n return (h(\"footer\", { class: CSS.footer, hidden: !showFooter }, h(\"slot\", { key: \"footer-slot\", name: SLOTS.footer, onSlotchange: this.handleFooterSlotChange }), h(\"slot\", { key: \"footer-actions-slot\", name: SLOTS.footerActions, onSlotchange: this.handleFooterActionsSlotChange })));\n }\n renderContent() {\n const { hasFab } = this;\n const defaultSlotNode = h(\"slot\", { key: \"default-slot\" });\n const containerNode = hasFab ? (h(\"section\", { class: CSS.contentContainer }, defaultSlotNode)) : (defaultSlotNode);\n return (h(\"div\", { class: {\n [CSS.contentWrapper]: true,\n [CSS.contentContainer]: !hasFab,\n [CSS.contentHeight]: hasFab\n }, onScroll: this.panelScrollHandler, ref: this.setPanelScrollEl }, containerNode, this.renderFab()));\n }\n renderFab() {\n return (h(\"div\", { class: CSS.fabContainer, hidden: !this.hasFab }, h(\"slot\", { name: SLOTS.fab, onSlotchange: this.handleFabSlotChange })));\n }\n render() {\n const { loading, panelKeyDownHandler, closed, closable } = this;\n const panelNode = (h(\"article\", { \"aria-busy\": toAriaBoolean(loading), class: CSS.container, hidden: closed, onKeyDown: panelKeyDownHandler, ref: this.setContainerRef, tabIndex: closable ? 0 : -1 }, this.renderHeaderNode(), this.renderContent(), this.renderFooterNode()));\n return (h(Fragment, null, loading ? h(\"calcite-scrim\", { loading: loading }) : null, panelNode));\n }\n static get assetsDirs() { return [\"assets\"]; }\n get el() { return this; }\n static get watchers() { return {\n \"messageOverrides\": [\"onMessagesChange\"],\n \"effectiveLocale\": [\"effectiveLocaleChange\"]\n }; }\n static get style() { return panelCss; }\n}, [1, \"calcite-panel\", {\n \"closed\": [1540],\n \"disabled\": [516],\n \"closable\": [1540],\n \"headingLevel\": [514, \"heading-level\"],\n \"loading\": [516],\n \"heading\": [1],\n \"description\": [1],\n \"menuOpen\": [516, \"menu-open\"],\n \"messageOverrides\": [1040],\n \"messages\": [1040],\n \"hasStartActions\": [32],\n \"hasEndActions\": [32],\n \"hasMenuItems\": [32],\n \"hasHeaderContent\": [32],\n \"hasFooterContent\": [32],\n \"hasFooterActions\": [32],\n \"hasFab\": [32],\n \"defaultMessages\": [32],\n \"effectiveLocale\": [32],\n \"setFocus\": [64],\n \"scrollContentTo\": [64]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"calcite-panel\", \"calcite-action\", \"calcite-action-menu\", \"calcite-icon\", \"calcite-loader\", \"calcite-popover\", \"calcite-scrim\"];\n components.forEach(tagName => { switch (tagName) {\n case \"calcite-panel\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Panel);\n }\n break;\n case \"calcite-action\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"calcite-action-menu\":\n if (!customElements.get(tagName)) {\n defineCustomElement$5();\n }\n break;\n case \"calcite-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"calcite-loader\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"calcite-popover\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n case \"calcite-scrim\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\ndefineCustomElement();\n\nexport { Panel as P, SLOTS as S, defineCustomElement as d };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n * v1.0.8-next.4\n */\nimport { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client/index.js';\nimport { c as getElementDir } from './dom.js';\nimport { u as updateHostInteraction } from './interactive.js';\nimport { a as setUpLoadableComponent, s as setComponentLoaded, c as componentLoaded } from './loadable.js';\nimport { c as connectLocalized, d as disconnectLocalized } from './locale.js';\nimport { c as connectMessages, s as setUpMessages, d as disconnectMessages, u as updateMessages } from './t9n.js';\nimport { S as SLOTS$1, d as defineCustomElement$5 } from './panel.js';\nimport { d as defineCustomElement$9 } from './action.js';\nimport { d as defineCustomElement$8 } from './action-menu.js';\nimport { d as defineCustomElement$7 } from './icon.js';\nimport { d as defineCustomElement$6 } from './loader.js';\nimport { d as defineCustomElement$4 } from './popover.js';\nimport { d as defineCustomElement$3 } from './scrim.js';\nimport { d as defineCustomElement$2 } from './tooltip.js';\n\nconst CSS = {\n backButton: \"back-button\"\n};\nconst ICONS = {\n backLeft: \"chevron-left\",\n backRight: \"chevron-right\"\n};\nconst SLOTS = {\n headerActionsStart: \"header-actions-start\",\n headerActionsEnd: \"header-actions-end\",\n headerMenuActions: \"header-menu-actions\",\n headerContent: \"header-content\",\n fab: \"fab\",\n footer: \"footer\",\n footerActions: \"footer-actions\"\n};\n\nconst flowItemCss = \"@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0}}:host{box-sizing:border-box;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}:host *{box-sizing:border-box}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing);--calcite-floating-ui-z-index:600}:host([hidden]){display:none}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host{position:relative;display:flex;inline-size:100%;flex:1 1 auto;overflow:hidden}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.back-button{border-width:0px;border-style:solid;border-color:var(--calcite-ui-border-3);border-inline-end-width:1px}\";\n\nconst FlowItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.calciteFlowItemBack = createEvent(this, \"calciteFlowItemBack\", 6);\n this.calciteFlowItemScroll = createEvent(this, \"calciteFlowItemScroll\", 6);\n this.calciteFlowItemClose = createEvent(this, \"calciteFlowItemClose\", 6);\n // --------------------------------------------------------------------------\n //\n // Private Methods\n //\n // --------------------------------------------------------------------------\n this.handlePanelScroll = (event) => {\n event.stopPropagation();\n this.calciteFlowItemScroll.emit();\n };\n this.handlePanelClose = (event) => {\n event.stopPropagation();\n this.calciteFlowItemClose.emit();\n };\n this.backButtonClick = () => {\n this.calciteFlowItemBack.emit();\n };\n this.setBackRef = (node) => {\n this.backButtonEl = node;\n };\n this.setContainerRef = (node) => {\n this.containerEl = node;\n };\n this.closable = false;\n this.closed = false;\n this.beforeBack = undefined;\n this.description = undefined;\n this.disabled = false;\n this.heading = undefined;\n this.headingLevel = undefined;\n this.loading = false;\n this.menuOpen = false;\n this.messageOverrides = undefined;\n this.messages = undefined;\n this.showBackButton = false;\n this.backButtonEl = undefined;\n this.defaultMessages = undefined;\n this.effectiveLocale = \"\";\n }\n onMessagesChange() {\n /* wired up by t9n util */\n }\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n connectedCallback() {\n connectLocalized(this);\n connectMessages(this);\n }\n async componentWillLoad() {\n await setUpMessages(this);\n setUpLoadableComponent(this);\n }\n componentDidRender() {\n updateHostInteraction(this);\n }\n disconnectedCallback() {\n disconnectLocalized(this);\n disconnectMessages(this);\n }\n componentDidLoad() {\n setComponentLoaded(this);\n }\n effectiveLocaleChange() {\n updateMessages(this, this.effectiveLocale);\n }\n // --------------------------------------------------------------------------\n //\n // Methods\n //\n // --------------------------------------------------------------------------\n /**\n * Sets focus on the component.\n */\n async setFocus() {\n await componentLoaded(this);\n const { backButtonEl, containerEl } = this;\n if (backButtonEl) {\n backButtonEl.setFocus();\n return;\n }\n containerEl?.setFocus();\n }\n /**\n * Scrolls the component's content to a specified set of coordinates.\n *\n * @example\n * myCalciteFlowItem.scrollContentTo({\n * left: 0, // Specifies the number of pixels along the X axis to scroll the window or element.\n * top: 0, // Specifies the number of pixels along the Y axis to scroll the window or element\n * behavior: \"auto\" // Specifies whether the scrolling should animate smoothly (smooth), or happen instantly in a single jump (auto, the default value).\n * });\n * @param options\n */\n async scrollContentTo(options) {\n await this.containerEl?.scrollContentTo(options);\n }\n // --------------------------------------------------------------------------\n //\n // Render Methods\n //\n // --------------------------------------------------------------------------\n renderBackButton() {\n const { el } = this;\n const rtl = getElementDir(el) === \"rtl\";\n const { showBackButton, backButtonClick, messages } = this;\n const label = messages.back;\n const icon = rtl ? ICONS.backRight : ICONS.backLeft;\n return showBackButton ? (h(\"calcite-action\", { \"aria-label\": label, class: CSS.backButton, icon: icon, key: \"flow-back-button\", onClick: backButtonClick, ref: this.setBackRef, scale: \"s\", slot: \"header-actions-start\", text: label })) : null;\n }\n render() {\n const { closable, closed, description, disabled, heading, headingLevel, loading, menuOpen, messages, backButtonEl } = this;\n const label = messages.back;\n return (h(Host, null, h(\"calcite-panel\", { closable: closable, closed: closed, description: description, disabled: disabled, heading: heading, headingLevel: headingLevel, loading: loading, menuOpen: menuOpen, messageOverrides: messages, onCalcitePanelClose: this.handlePanelClose, onCalcitePanelScroll: this.handlePanelScroll, ref: this.setContainerRef }, this.renderBackButton(), h(\"slot\", { name: SLOTS.headerActionsStart, slot: SLOTS$1.headerActionsStart }), h(\"slot\", { name: SLOTS.headerActionsEnd, slot: SLOTS$1.headerActionsEnd }), h(\"slot\", { name: SLOTS.headerContent, slot: SLOTS$1.headerContent }), h(\"slot\", { name: SLOTS.headerMenuActions, slot: SLOTS$1.headerMenuActions }), h(\"slot\", { name: SLOTS.fab, slot: SLOTS$1.fab }), h(\"slot\", { name: SLOTS.footerActions, slot: SLOTS$1.footerActions }), h(\"slot\", { name: SLOTS.footer, slot: SLOTS$1.footer }), h(\"slot\", null)), backButtonEl ? (h(\"calcite-tooltip\", { label: label, overlayPositioning: \"fixed\", placement: \"top\", referenceElement: backButtonEl }, label)) : null));\n }\n static get assetsDirs() { return [\"assets\"]; }\n get el() { return this; }\n static get watchers() { return {\n \"messageOverrides\": [\"onMessagesChange\"],\n \"effectiveLocale\": [\"effectiveLocaleChange\"]\n }; }\n static get style() { return flowItemCss; }\n}, [1, \"calcite-flow-item\", {\n \"closable\": [1540],\n \"closed\": [1540],\n \"beforeBack\": [16],\n \"description\": [1],\n \"disabled\": [516],\n \"heading\": [1],\n \"headingLevel\": [514, \"heading-level\"],\n \"loading\": [516],\n \"menuOpen\": [516, \"menu-open\"],\n \"messageOverrides\": [1040],\n \"messages\": [1040],\n \"showBackButton\": [4, \"show-back-button\"],\n \"backButtonEl\": [32],\n \"defaultMessages\": [32],\n \"effectiveLocale\": [32],\n \"setFocus\": [64],\n \"scrollContentTo\": [64]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"calcite-flow-item\", \"calcite-action\", \"calcite-action-menu\", \"calcite-icon\", \"calcite-loader\", \"calcite-panel\", \"calcite-popover\", \"calcite-scrim\", \"calcite-tooltip\"];\n components.forEach(tagName => { switch (tagName) {\n case \"calcite-flow-item\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, FlowItem);\n }\n break;\n case \"calcite-action\":\n if (!customElements.get(tagName)) {\n defineCustomElement$9();\n }\n break;\n case \"calcite-action-menu\":\n if (!customElements.get(tagName)) {\n defineCustomElement$8();\n }\n break;\n case \"calcite-icon\":\n if (!customElements.get(tagName)) {\n defineCustomElement$7();\n }\n break;\n case \"calcite-loader\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"calcite-panel\":\n if (!customElements.get(tagName)) {\n defineCustomElement$5();\n }\n break;\n case \"calcite-popover\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"calcite-scrim\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"calcite-tooltip\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\ndefineCustomElement$1();\n\nconst CalciteFlowItem = FlowItem;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { CalciteFlowItem, defineCustomElement };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n * v1.0.8-next.4\n */\nimport { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client/index.js';\nimport { c as connectLocalized, d as disconnectLocalized } from './locale.js';\nimport { u as updateMessages, c as connectMessages, s as setUpMessages, d as disconnectMessages } from './t9n.js';\nimport { d as defineCustomElement$1 } from './loader.js';\n\nconst CSS = {\n scrim: \"scrim\",\n content: \"content\"\n};\n\nconst scrimCss = \"@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0}}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing);--calcite-floating-ui-z-index:600}:host([hidden]){display:none}:host{position:absolute;inset:0px;z-index:700;display:flex;block-size:100%;inline-size:100%;flex-direction:column;align-items:stretch}@keyframes calcite-scrim-fade-in{0%{--tw-bg-opacity:0}100%{--tw-text-opacity:1}}.scrim{position:absolute;inset:0px;display:flex;flex-direction:column;align-content:center;align-items:center;justify-content:center;overflow:hidden;animation:calcite-scrim-fade-in var(--calcite-internal-animation-timing-medium) ease-in-out;background-color:var(--calcite-scrim-background, var(--calcite-scrim-background-internal))}.content{padding:1rem}\";\n\nconst Scrim = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.loading = false;\n this.messages = undefined;\n this.messageOverrides = undefined;\n this.defaultMessages = undefined;\n this.effectiveLocale = \"\";\n }\n onMessagesChange() {\n /* wired up by t9n util */\n }\n effectiveLocaleChange() {\n updateMessages(this, this.effectiveLocale);\n }\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n connectedCallback() {\n connectLocalized(this);\n connectMessages(this);\n }\n async componentWillLoad() {\n await setUpMessages(this);\n }\n disconnectedCallback() {\n disconnectLocalized(this);\n disconnectMessages(this);\n }\n // --------------------------------------------------------------------------\n //\n // Render Method\n //\n // --------------------------------------------------------------------------\n render() {\n const { el, loading, messages } = this;\n const hasContent = el.innerHTML.trim().length > 0;\n const loaderNode = loading ? h(\"calcite-loader\", { label: messages.loading }) : null;\n const contentNode = hasContent ? (h(\"div\", { class: CSS.content }, h(\"slot\", null))) : null;\n return (h(\"div\", { class: CSS.scrim }, loaderNode, contentNode));\n }\n static get assetsDirs() { return [\"assets\"]; }\n get el() { return this; }\n static get watchers() { return {\n \"messageOverrides\": [\"onMessagesChange\"],\n \"effectiveLocale\": [\"effectiveLocaleChange\"]\n }; }\n static get style() { return scrimCss; }\n}, [1, \"calcite-scrim\", {\n \"loading\": [516],\n \"messages\": [1040],\n \"messageOverrides\": [1040],\n \"defaultMessages\": [32],\n \"effectiveLocale\": [32]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"calcite-scrim\", \"calcite-loader\"];\n components.forEach(tagName => { switch (tagName) {\n case \"calcite-scrim\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Scrim);\n }\n break;\n case \"calcite-loader\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\ndefineCustomElement();\n\nexport { Scrim as S, defineCustomElement as d };\n"],"names":["getRoundRobinIndex","index","total","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","arg","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","String","Number","_toPrimitive","_toPropertyKey","configurable","writable","activeFocusTraps","trapStack","trap","activeTrap","pause","trapIndex","indexOf","splice","unpause","isTabEvent","e","keyCode","isKeyForward","shiftKey","isKeyBackward","delay","fn","setTimeout","findIndex","arr","idx","every","valueOrHandler","_len","params","Array","_key","getActualTarget","event","shadowRoot","composedPath","internalTrapStack","createFocusTrap","elements","userOptions","doc","document","config","returnFocusOnDeactivate","escapeDeactivates","delayInitialFocus","state","containers","containerGroups","tabbableGroups","nodeFocusedBeforeActivation","mostRecentlyFocusedNode","active","paused","delayInitialFocusTimer","getOption","configOverrideOptions","optionName","configOptionName","findContainerIndex","element","_ref","container","tabbableNodes","contains","find","node","getNodeForOption","optionValue","_len2","_key2","Error","concat","querySelector","getInitialFocusNode","activeElement","firstTabbableGroup","firstTabbableNode","updateTabbableNodes","map","tabbable","tabbableOptions","focusableNodes","focusable","lastTabbableNode","nextTabbableNode","forward","nodeIdx","n","slice","isTabbable","reverse","group","tryFocus","focus","preventScroll","tagName","toLowerCase","select","isSelectableInput","getReturnFocusNode","previousActiveElement","checkPointerDown","clickOutsideDeactivates","deactivate","returnFocus","isFocusable","allowOutsideClick","preventDefault","checkFocusIn","targetContained","Document","stopImmediatePropagation","checkKey","isBackward","destinationNode","containerIndex","containerGroup","startOfGroupIndex","_ref2","destinationGroupIndex","lastOfGroupIndex","_ref3","_destinationGroupIndex","checkKeyNav","checkClick","addListeners","addEventListener","capture","passive","removeListeners","removeEventListener","activate","activateOptions","this","onActivate","onPostActivate","checkCanFocusTrap","finishActivation","then","deactivateOptions","options","onDeactivate","onPostDeactivate","checkCanReturnFocus","clearTimeout","finishDeactivation","updateContainerElements","containerElements","elementsAsArray","Boolean","activateFocusTrap","component","focusTrapDisabled","focusTrap","deactivateFocusTrap","Heading","props","children","HeadingTag","level","h","CSS","ARIA_CONTROLS","ARIA_EXPANDED","manager","constructor","registeredElements","Map","registeredElementCount","queryPopover","registeredElement","pathEl","has","get","togglePopovers","togglePopover","triggerDisabled","open","from","values","popover","autoClose","includes","keyHandler","defaultPrevented","closeAllPopovers","isActivationKey","clickHandler","isPrimaryPointerButton","registerElement","referenceEl","set","unregisterElement","delete","Popover","proxyCustomElement","HTMLElement","super","__registerHost","__attachShadow","calcitePopoverBeforeClose","createEvent","calcitePopoverClose","calcitePopoverBeforeOpen","calcitePopoverOpen","guid","openTransitionProp","hasLoaded","setTransitionEl","el","transitionEl","connectOpenCloseComponent","focusTrapEl","tabIndex","focusTrapOptions","ownerDocument","fallbackFocus","setReturnFocus","focusElement","connectFocusTrap","setFilteredPlacements","flipPlacements","filteredFlipPlacements","filterComputedPlacements","setUpReferenceElement","warn","removeReferences","effectiveReferenceElement","getReferenceElement","connectFloatingUI","referenceElement","console","addReferences","getId","id","setExpandedAttr","setAttribute","toAriaBoolean","removeAttribute","hide","storeArrowEl","arrowEl","reposition","closable","flipDisabled","pointerDisabled","heading","headingLevel","label","messageOverrides","messages","offsetDistance","defaultOffsetDistance","offsetSkidding","overlayPositioning","placement","scale","effectiveLocale","defaultMessages","handlefocusTrapDisabled","flipPlacementsHandler","onMessagesChange","offsetDistanceOffsetHandler","offsetSkiddingHandler","openHandler","updateAfterClose","overlayPositioningHandler","placementHandler","referenceElementHandler","effectiveLocaleChange","updateMessages","connectedCallback","connectLocalized","connectMessages","setUpMessages","setUpLoadableComponent","componentDidLoad","setComponentLoaded","disconnectedCallback","disconnectLocalized","disconnectMessages","disconnectFloatingUI","disconnectOpenCloseComponent","delayed","floatingEl","includeArrow","type","componentLoaded","forceUpdate","focusFirstTabbable","queryElementRoots","onBeforeOpen","emit","onOpen","onBeforeClose","onClose","renderCloseButton","class","onClick","ref","closeButtonEl","text","close","icon","renderHeader","headingNode","render","displayed","hidden","arrowNode","Host","role","FloatingCSS","assetsDirs","watchers","style","defineCustomElement","customElements","define","defineCustomElement$3","defineCustomElement$2","defineCustomElement$1","SLOTS","ICONS","SUPPORTED_MENU_NAV_KEYS","ActionMenu","calciteActionMenuOpen","actionElements","menuId","menuButtonId","connectMenuButtonEl","menuButtonEl","slottedMenuButtonEl","defaultMenuButtonEl","disconnectMenuButtonEl","setTooltipReferenceElement","menuButtonClick","menuButtonKeyDown","setMenuButtonEl","actions","assignedElements","flatten","matches","setDefaultMenuButtonEl","handleCalciteActionClick","setFocus","toggleOpen","updateTooltip","tooltips","tooltipEl","expanded","updateAction","action","activeMenuItemIndex","updateActions","handleDefaultSlotChange","click","handleActionNavigation","isValidKey","currentIndex","Math","max","toggleOpenEnd","componentWillLoad","expandedHandler","closeCalciteActionMenuOnClick","activeMenuItemIndexHandler","renderMenuButton","name","onSlotchange","textEnabled","renderMenuItems","activeDescendantId","Fragment","supportedKeys","k","defineCustomElement$4","Panel","calcitePanelClose","calcitePanelScroll","resizeObserver","createObserver","resizeHandler","panelScrollEl","scrollHeight","offsetHeight","setContainerRef","containerEl","setCloseRef","setBackRef","backButtonEl","panelKeyDownHandler","closed","panelScrollHandler","handleHeaderActionsStartSlotChange","hasStartActions","handleHeaderActionsEndSlotChange","hasEndActions","handleHeaderMenuActionsSlotChange","hasMenuItems","handleHeaderContentSlotChange","hasHeaderContent","handleFooterSlotChange","hasFooterContent","handleFooterActionsSlotChange","hasFooterActions","handleFabSlotChange","hasFab","setPanelScrollEl","disconnect","observe","disabled","loading","description","menuOpen","componentDidRender","updateHostInteraction","scrollTo","renderHeaderContent","descriptionNode","renderHeaderSlottedContent","renderHeaderStartActions","renderHeaderActionsEnd","closableNode","slotNode","showContainer","renderMenu","slot","SLOTS$1","renderHeaderNode","headerContentNode","showHeader","renderFooterNode","showFooter","renderContent","defaultSlotNode","containerNode","onScroll","renderFab","panelNode","onKeyDown","defineCustomElement$6","defineCustomElement$5","FlowItem","calciteFlowItemBack","calciteFlowItemScroll","calciteFlowItemClose","handlePanelScroll","stopPropagation","handlePanelClose","backButtonClick","beforeBack","showBackButton","scrollContentTo","renderBackButton","rtl","getElementDir","back","onCalcitePanelClose","onCalcitePanelScroll","defineCustomElement$9","defineCustomElement$8","defineCustomElement$7","CalciteFlowItem","Scrim","hasContent","innerHTML","trim","loaderNode","contentNode"],"sourceRoot":""}