{"version":3,"file":"static/js/6861.a910d9a6.chunk.js","mappings":"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","sources":["../node_modules/@esri/calcite-components/dist/components/array.js","../node_modules/@esri/calcite-components/dist/components/focusTrapComponent.js","../node_modules/@esri/calcite-components/dist/components/Heading.js","../node_modules/@esri/calcite-components/dist/components/popover.js","../node_modules/@esri/calcite-components/dist/components/action-menu.js","../node_modules/@esri/calcite-components/dist/components/panel.js","../node_modules/@esri/calcite-components/dist/components/calcite-flow-item.js","../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","_component$focusTrap","focusTrapDisabled","focusTrap","deactivateFocusTrap","_component$focusTrap2","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","_this","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","async","setUpMessages","setUpLoadableComponent","componentDidLoad","setComponentLoaded","disconnectedCallback","disconnectLocalized","disconnectMessages","disconnectFloatingUI","disconnectOpenCloseComponent","delayed","floatingEl","includeArrow","type","componentLoaded","forceUpdate","focusFirstTabbable","_component$focusTrap3","updateFocusTrapElements","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","activeAction","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","_this$resizeObserver","_this$resizeObserver2","disconnect","observe","disabled","loading","description","menuOpen","componentDidRender","updateHostInteraction","_this$resizeObserver3","_this$panelScrollEl","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","_this$containerEl","scrollContentTo","renderBackButton","rtl","getElementDir","back","onCalcitePanelClose","onCalcitePanelScroll","defineCustomElement$9","defineCustomElement$8","defineCustomElement$7","CalciteFlowItem","Scrim","hasContent","innerHTML","trim","loaderNode","contentNode"],"sourceRoot":""}