{"version":3,"file":"7724.29682754.js","mappings":"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","sources":["webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/math.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/enums.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/createPopper.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/debounce.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/within.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://@finviz/website/../node_modules/@popperjs/core/lib/popper.js","webpack://@finviz/website/../node_modules/reakit-system/es/SystemContext.js","webpack://@finviz/website/../node_modules/reakit-system/es/_rollupPluginBabelHelpers-0c84a174.js","webpack://@finviz/website/../node_modules/reakit-utils/es/isPlainObject.js","webpack://@finviz/website/../node_modules/reakit-utils/es/splitProps.js","webpack://@finviz/website/../node_modules/reakit-utils/es/normalizePropsAreEqual.js","webpack://@finviz/website/../node_modules/reakit-system/es/createComponent.js","webpack://@finviz/website/../node_modules/reakit-system/es/useToken.js","webpack://@finviz/website/../node_modules/reakit-system/es/createHook.js","webpack://@finviz/website/../node_modules/reakit-utils/es/toArray.js","webpack://@finviz/website/../node_modules/reakit-system/es/useOptions.js","webpack://@finviz/website/../node_modules/reakit-system/es/useProps.js","webpack://@finviz/website/../node_modules/reakit-system/es/useCreateElement.js","webpack://@finviz/website/../node_modules/reakit-utils/es/_rollupPluginBabelHelpers-1f0bf8c2.js","webpack://@finviz/website/../node_modules/reakit-utils/es/canUseDOM.js","webpack://@finviz/website/../node_modules/reakit-utils/es/closest.js","webpack://@finviz/website/../node_modules/reakit-utils/es/contains.js","webpack://@finviz/website/../node_modules/reakit-utils/es/createEvent.js","webpack://@finviz/website/../node_modules/reakit-utils/es/dom.js","webpack://@finviz/website/../node_modules/reakit-utils/es/hasFocus.js","webpack://@finviz/website/../node_modules/reakit-utils/es/ensureFocus.js","webpack://@finviz/website/../node_modules/reakit-utils/es/getActiveElement.js","webpack://@finviz/website/../node_modules/reakit-utils/es/getDocument.js","webpack://@finviz/website/../node_modules/reakit-utils/es/getNextActiveElementOnBlur.js","webpack://@finviz/website/../node_modules/reakit-utils/es/getWindow.js","webpack://@finviz/website/../node_modules/reakit-utils/es/hasFocusWithin.js","webpack://@finviz/website/../node_modules/reakit-utils/es/isButton.js","webpack://@finviz/website/../node_modules/reakit-utils/es/isObject.js","webpack://@finviz/website/../node_modules/reakit-utils/es/isPortalEvent.js","webpack://@finviz/website/../node_modules/reakit-utils/es/isSelfTarget.js","webpack://@finviz/website/../node_modules/reakit-utils/es/matches.js","webpack://@finviz/website/../node_modules/reakit-utils/es/removeItemFromArray.js","webpack://@finviz/website/../node_modules/reakit-utils/es/removeIndexFromArray.js","webpack://@finviz/website/../node_modules/reakit-utils/es/shallowEqual.js","webpack://@finviz/website/../node_modules/reakit-utils/es/tabbable.js","webpack://@finviz/website/../node_modules/reakit-utils/es/useForkRef.js","webpack://@finviz/website/../node_modules/reakit-utils/es/useIsomorphicEffect.js","webpack://@finviz/website/../node_modules/reakit-utils/es/useLiveRef.js","webpack://@finviz/website/../node_modules/reakit-utils/es/useSealedState.js","webpack://@finviz/website/../node_modules/reakit-utils/es/useUpdateEffect.js","webpack://@finviz/website/../node_modules/reakit/es/Box/Box.js","webpack://@finviz/website/../node_modules/reakit/es/Clickable/Clickable.js","webpack://@finviz/website/../node_modules/reakit/es/Combobox/Combobox.js","webpack://@finviz/website/../node_modules/reakit/es/Combobox/ComboboxItem.js","webpack://@finviz/website/../node_modules/reakit/es/Combobox/ComboboxOption.js","webpack://@finviz/website/../node_modules/reakit/es/Combobox/ComboboxList.js","webpack://@finviz/website/../node_modules/reakit/es/Combobox/ComboboxPopover.js","webpack://@finviz/website/../node_modules/reakit/es/ComboboxBaseState-73fabcba.js","webpack://@finviz/website/../node_modules/reakit/es/Combobox/ComboboxState.js","webpack://@finviz/website/../node_modules/reakit/es/Combobox/ComboboxListState.js","webpack://@finviz/website/../node_modules/reakit/es/ComboboxPopoverState-fdc371b4.js","webpack://@finviz/website/../node_modules/reakit-utils/es/fireBlurEvent.js","webpack://@finviz/website/../node_modules/reakit-utils/es/fireKeyboardEvent.js","webpack://@finviz/website/../node_modules/reakit/es/Composite/Composite.js","webpack://@finviz/website/../node_modules/reakit-utils/es/isTextField.js","webpack://@finviz/website/../node_modules/reakit/es/Id/Id.js","webpack://@finviz/website/../node_modules/reakit/es/setTextFieldValue-0a221f4e.js","webpack://@finviz/website/../node_modules/reakit-utils/es/fireEvent.js","webpack://@finviz/website/../node_modules/reakit/es/Composite/CompositeItem.js","webpack://@finviz/website/../node_modules/reakit-utils/es/applyState.js","webpack://@finviz/website/../node_modules/reakit/es/Composite/CompositeState.js","webpack://@finviz/website/../node_modules/reakit/es/Id/IdProvider.js","webpack://@finviz/website/../node_modules/reakit/es/Id/IdState.js","webpack://@finviz/website/../node_modules/reakit/es/MenuContext-6af6cf92.js","webpack://@finviz/website/../node_modules/reakit/es/Disclosure/DisclosureContent.js","webpack://@finviz/website/../node_modules/reakit/es/DialogBackdropContext-8775f78b.js","webpack://@finviz/website/../node_modules/reakit/es/Dialog/Dialog.js","webpack://@finviz/website/../node_modules/reakit-utils/es/isEmpty.js","webpack://@finviz/website/../node_modules/reakit/es/Popover/Popover.js","webpack://@finviz/website/../node_modules/reakit/es/Disclosure/DisclosureState.js","webpack://@finviz/website/../node_modules/reakit/es/Popover/PopoverState.js","webpack://@finviz/website/../node_modules/reakit/es/Dialog/DialogState.js","webpack://@finviz/website/../node_modules/reakit/es/Portal/Portal.js","webpack://@finviz/website/../node_modules/reakit/es/Role/Role.js","webpack://@finviz/website/../node_modules/reakit/es/Tabbable/Tabbable.js","webpack://@finviz/website/../node_modules/reakit/es/__keys-0f89298f.js","webpack://@finviz/website/../node_modules/reakit/es/__keys-26bb1730.js","webpack://@finviz/website/../node_modules/reakit/es/__keys-6742f591.js","webpack://@finviz/website/../node_modules/reakit/es/__keys-e6a5cfbe.js","webpack://@finviz/website/../node_modules/reakit/es/__keys-ed7b48af.js","webpack://@finviz/website/../node_modules/reakit/es/_rollupPluginBabelHelpers-1f0bf8c2.js","webpack://@finviz/website/../node_modules/reakit/es/findEnabledItemById-8ddca752.js","webpack://@finviz/website/../node_modules/reakit/es/getCurrentId-5aa9849e.js","webpack://@finviz/website/../node_modules/reakit/es/getMenuId-34730bd3.js","webpack://@finviz/website/../node_modules/reakit/es/reverse-30eaa122.js","webpack://@finviz/website/../node_modules/reakit/es/userFocus-e16425e3.js"],"sourcesContent":["export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { createContext } from 'react';\n\nvar SystemContext = /*#__PURE__*/createContext({});\n\nexport { SystemContext };\n","function _defineProperty(obj, key, value) {\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\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\nexport { _objectSpread2 as _, _objectWithoutPropertiesLoose as a, _createForOfIteratorHelperLoose as b };\n","import { isObject } from './isObject.js';\n\n/**\n * Checks whether `arg` is a plain object or not.\n *\n * @returns {boolean}\n */\n\nfunction isPlainObject(arg) {\n var _proto$constructor;\n\n if (!isObject(arg)) return false;\n var proto = Object.getPrototypeOf(arg);\n if (proto == null) return true;\n return ((_proto$constructor = proto.constructor) === null || _proto$constructor === void 0 ? void 0 : _proto$constructor.toString()) === Object.toString();\n}\n\nexport { isPlainObject };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from './_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport './isObject.js';\nimport { isPlainObject } from './isPlainObject.js';\n\n/**\n * Splits an object (`props`) into a tuple where the first item is an object\n * with the passed `keys`, and the second item is an object with these keys\n * omitted.\n *\n * @deprecated will be removed in version 2\n *\n * @example\n * import { splitProps } from \"reakit-utils\";\n *\n * splitProps({ a: \"a\", b: \"b\" }, [\"a\"]); // [{ a: \"a\" }, { b: \"b\" }]\n */\n\nfunction __deprecatedSplitProps(props, keys) {\n var propsKeys = Object.keys(props);\n var picked = {};\n var omitted = {};\n\n for (var _i = 0, _propsKeys = propsKeys; _i < _propsKeys.length; _i++) {\n var key = _propsKeys[_i];\n\n if (keys.indexOf(key) >= 0) {\n picked[key] = props[key];\n } else {\n omitted[key] = props[key];\n }\n }\n\n return [picked, omitted];\n}\n/**\n * Splits an object (`props`) into a tuple where the first item\n * is the `state` property, and the second item is the rest of the properties.\n *\n * It is also backward compatible with version 1. If `keys` are passed then\n * splits an object (`props`) into a tuple where the first item is an object\n * with the passed `keys`, and the second item is an object with these keys\n * omitted.\n *\n * @example\n * import { splitProps } from \"reakit-utils\";\n *\n * splitProps({ a: \"a\", b: \"b\" }, [\"a\"]); // [{ a: \"a\" }, { b: \"b\" }]\n *\n * @example\n * import { splitProps } from \"reakit-utils\";\n *\n * splitProps({ state: { a: \"a\" }, b: \"b\" }); // [{ a: \"a\" }, { b: \"b\" }]\n */\n\n\nfunction splitProps(props, keys) {\n if (keys === void 0) {\n keys = [];\n }\n\n if (!isPlainObject(props.state)) {\n return __deprecatedSplitProps(props, keys);\n }\n\n var _deprecatedSplitProp = __deprecatedSplitProps(props, [].concat(keys, [\"state\"])),\n picked = _deprecatedSplitProp[0],\n omitted = _deprecatedSplitProp[1];\n\n var state = picked.state,\n restPicked = _objectWithoutPropertiesLoose(picked, [\"state\"]);\n\n return [_objectSpread2(_objectSpread2({}, state), restPicked), omitted];\n}\n\nexport { splitProps };\n","import { a as _objectSpread2 } from './_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport './isObject.js';\nimport { isPlainObject } from './isPlainObject.js';\n\n/**\n * This higher order functions take `propsAreEqual` function and\n * returns a new function which normalizes the props.\n *\n * Normalizing in our case is making sure the `propsAreEqual` works with\n * both version 1 (object spreading) and version 2 (state object) state passing.\n *\n * To achieve this, the returned function in case of a state object\n * will spread the state object in both `prev` and `next props.\n *\n * Other case it just returns the function as is which makes sure\n * that we are still backward compatible\n */\nfunction normalizePropsAreEqual(propsAreEqual) {\n if (propsAreEqual.name === \"normalizePropsAreEqualInner\") {\n return propsAreEqual;\n }\n\n return function normalizePropsAreEqualInner(prev, next) {\n if (!isPlainObject(prev.state) || !isPlainObject(next.state)) {\n return propsAreEqual(prev, next);\n }\n\n return propsAreEqual(_objectSpread2(_objectSpread2({}, prev.state), prev), _objectSpread2(_objectSpread2({}, next.state), next));\n };\n}\n\nexport { normalizePropsAreEqual };\n","import { forwardRef as forwardRef$1, memo as memo$1 } from 'react';\nimport './SystemContext.js';\nimport { a as _objectWithoutPropertiesLoose, _ as _objectSpread2 } from './_rollupPluginBabelHelpers-0c84a174.js';\nimport { useCreateElement } from './useCreateElement.js';\nimport { splitProps } from 'reakit-utils/splitProps';\nimport { shallowEqual } from 'reakit-utils/shallowEqual';\nimport { normalizePropsAreEqual } from 'reakit-utils/normalizePropsAreEqual';\n\nfunction forwardRef(component) {\n return /*#__PURE__*/forwardRef$1(component);\n}\n\nfunction memo(component, propsAreEqual) {\n return /*#__PURE__*/memo$1(component, propsAreEqual);\n}\n\n/**\n * Creates a React component.\n *\n * @example\n * import { createComponent } from \"reakit-system\";\n *\n * const A = createComponent({ as: \"a\" });\n *\n * @param options\n */\nfunction createComponent(_ref) {\n var type = _ref.as,\n useHook = _ref.useHook,\n shouldMemo = _ref.memo,\n _ref$propsAreEqual = _ref.propsAreEqual,\n propsAreEqual = _ref$propsAreEqual === void 0 ? useHook === null || useHook === void 0 ? void 0 : useHook.unstable_propsAreEqual : _ref$propsAreEqual,\n _ref$keys = _ref.keys,\n keys = _ref$keys === void 0 ? (useHook === null || useHook === void 0 ? void 0 : useHook.__keys) || [] : _ref$keys,\n _ref$useCreateElement = _ref.useCreateElement,\n useCreateElement$1 = _ref$useCreateElement === void 0 ? useCreateElement : _ref$useCreateElement;\n\n var Comp = function Comp(_ref2, ref) {\n var _ref2$as = _ref2.as,\n as = _ref2$as === void 0 ? type : _ref2$as,\n props = _objectWithoutPropertiesLoose(_ref2, [\"as\"]);\n\n if (useHook) {\n var _as$render;\n\n var _splitProps = splitProps(props, keys),\n _options = _splitProps[0],\n htmlProps = _splitProps[1];\n\n var _useHook = useHook(_options, _objectSpread2({\n ref: ref\n }, htmlProps)),\n wrapElement = _useHook.wrapElement,\n elementProps = _objectWithoutPropertiesLoose(_useHook, [\"wrapElement\"]); // @ts-ignore\n\n\n var asKeys = ((_as$render = as.render) === null || _as$render === void 0 ? void 0 : _as$render.__keys) || as.__keys;\n var asOptions = asKeys && splitProps(props, asKeys)[0];\n var allProps = asOptions ? _objectSpread2(_objectSpread2({}, elementProps), asOptions) : elementProps;\n\n var _element = useCreateElement$1(as, allProps);\n\n if (wrapElement) {\n return wrapElement(_element);\n }\n\n return _element;\n }\n\n return useCreateElement$1(as, _objectSpread2({\n ref: ref\n }, props));\n };\n\n if (process.env.NODE_ENV !== \"production\" && useHook) {\n Comp.displayName = useHook.name.replace(/^(unstable_)?use/, \"\");\n }\n\n Comp = forwardRef(Comp);\n\n if (shouldMemo) {\n Comp = memo(Comp, propsAreEqual && normalizePropsAreEqual(propsAreEqual));\n }\n\n Comp.__keys = keys;\n Comp.unstable_propsAreEqual = normalizePropsAreEqual(propsAreEqual || shallowEqual);\n return Comp;\n}\n\nexport { createComponent };\n","import { useDebugValue, useContext } from 'react';\nimport { SystemContext } from './SystemContext.js';\n\n/**\n * React custom hook that returns the value of any token defined in the\n * SystemContext. It's mainly used internally in [`useOptions`](#useoptions)\n * and [`useProps`](#useprops).\n *\n * @example\n * import { SystemProvider, useToken } from \"reakit-system\";\n *\n * const system = {\n * token: \"value\",\n * };\n *\n * function Component(props) {\n * const token = useToken(\"token\", \"default value\");\n * return
{token}
;\n * }\n *\n * function App() {\n * return (\n * \n * \n * \n * );\n * }\n */\n\nfunction useToken(token, defaultValue) {\n useDebugValue(token);\n var context = useContext(SystemContext);\n return context[token] != null ? context[token] : defaultValue;\n}\n\nexport { useToken };\n","import 'react';\nimport './SystemContext.js';\nimport './useToken.js';\nimport { useProps } from './useProps.js';\nimport { b as _createForOfIteratorHelperLoose } from './_rollupPluginBabelHelpers-0c84a174.js';\nimport { useOptions } from './useOptions.js';\nimport { shallowEqual } from 'reakit-utils/shallowEqual';\nimport { toArray } from 'reakit-utils/toArray';\n\n/**\n * Creates a React custom hook that will return component props.\n *\n * @example\n * import { createHook } from \"reakit-system\";\n *\n * const useA = createHook({\n * name: \"A\",\n * keys: [\"url\"], // custom props/options keys\n * useProps(options, htmlProps) {\n * return {\n * ...htmlProps,\n * href: options.url,\n * };\n * },\n * });\n *\n * function A({ url, ...htmlProps }) {\n * const props = useA({ url }, htmlProps);\n * return ;\n * }\n *\n * @param options\n */\nfunction createHook(options) {\n var _options$useState, _composedHooks$;\n\n var composedHooks = toArray(options.compose);\n\n var __useOptions = function __useOptions(hookOptions, htmlProps) {\n // Call the current hook's useOptions first\n if (options.useOptions) {\n hookOptions = options.useOptions(hookOptions, htmlProps);\n } // If there's name, call useOptions from the system context\n\n\n if (options.name) {\n hookOptions = useOptions(options.name, hookOptions, htmlProps);\n } // Run composed hooks useOptions\n\n\n if (options.compose) {\n for (var _iterator = _createForOfIteratorHelperLoose(composedHooks), _step; !(_step = _iterator()).done;) {\n var hook = _step.value;\n hookOptions = hook.__useOptions(hookOptions, htmlProps);\n }\n }\n\n return hookOptions;\n };\n\n var useHook = function useHook(hookOptions, htmlProps, unstable_ignoreUseOptions) {\n if (hookOptions === void 0) {\n hookOptions = {};\n }\n\n if (htmlProps === void 0) {\n htmlProps = {};\n }\n\n if (unstable_ignoreUseOptions === void 0) {\n unstable_ignoreUseOptions = false;\n }\n\n // This won't execute when useHook was called from within another useHook\n if (!unstable_ignoreUseOptions) {\n hookOptions = __useOptions(hookOptions, htmlProps);\n } // Call the current hook's useProps\n\n\n if (options.useProps) {\n htmlProps = options.useProps(hookOptions, htmlProps);\n } // If there's name, call useProps from the system context\n\n\n if (options.name) {\n htmlProps = useProps(options.name, hookOptions, htmlProps);\n }\n\n if (options.compose) {\n if (options.useComposeOptions) {\n hookOptions = options.useComposeOptions(hookOptions, htmlProps);\n }\n\n if (options.useComposeProps) {\n htmlProps = options.useComposeProps(hookOptions, htmlProps);\n } else {\n for (var _iterator2 = _createForOfIteratorHelperLoose(composedHooks), _step2; !(_step2 = _iterator2()).done;) {\n var hook = _step2.value;\n htmlProps = hook(hookOptions, htmlProps, true);\n }\n }\n } // Remove undefined values from htmlProps\n\n\n var finalHTMLProps = {};\n var definedHTMLProps = htmlProps || {};\n\n for (var prop in definedHTMLProps) {\n if (definedHTMLProps[prop] !== undefined) {\n finalHTMLProps[prop] = definedHTMLProps[prop];\n }\n }\n\n return finalHTMLProps;\n };\n\n useHook.__useOptions = __useOptions;\n var composedKeys = composedHooks.reduce(function (keys, hook) {\n keys.push.apply(keys, hook.__keys || []);\n return keys;\n }, []); // It's used by createComponent to split option props (keys) and html props\n\n useHook.__keys = [].concat(composedKeys, ((_options$useState = options.useState) === null || _options$useState === void 0 ? void 0 : _options$useState.__keys) || [], options.keys || []);\n useHook.unstable_propsAreEqual = options.propsAreEqual || ((_composedHooks$ = composedHooks[0]) === null || _composedHooks$ === void 0 ? void 0 : _composedHooks$.unstable_propsAreEqual) || shallowEqual;\n\n if (process.env.NODE_ENV !== \"production\" && options.name) {\n Object.defineProperty(useHook, \"name\", {\n value: \"use\" + options.name\n });\n }\n\n return useHook;\n}\n\nexport { createHook };\n","/**\n * Transforms `arg` into an array if it's not already.\n *\n * @example\n * import { toArray } from \"reakit-utils\";\n *\n * toArray(\"a\"); // [\"a\"]\n * toArray([\"a\"]); // [\"a\"]\n */\nfunction toArray(arg) {\n if (Array.isArray(arg)) {\n return arg;\n }\n\n return typeof arg !== \"undefined\" ? [arg] : [];\n}\n\nexport { toArray };\n","import { useDebugValue } from 'react';\nimport './SystemContext.js';\nimport { useToken } from './useToken.js';\nimport { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-0c84a174.js';\n\n/**\n * React custom hook that returns the options returned by a given\n * `use${name}Options` in the SystemContext.\n *\n * @example\n * import React from \"react\";\n * import { SystemProvider, useOptions } from \"reakit-system\";\n *\n * const system = {\n * useAOptions(options, htmlProps) {\n * return {\n * ...options,\n * url: htmlProps.href,\n * };\n * },\n * };\n *\n * function A({ url, ...htmlProps }) {\n * const options = useOptions(\"A\", { url }, htmlProps);\n * return ;\n * }\n *\n * function App() {\n * return (\n * \n * \n * It will convert href into url in useAOptions and then url into href in A\n * \n * \n * );\n * }\n */\n\nfunction useOptions(name, options, htmlProps) {\n if (options === void 0) {\n options = {};\n }\n\n if (htmlProps === void 0) {\n htmlProps = {};\n }\n\n var hookName = \"use\" + name + \"Options\";\n useDebugValue(hookName);\n var useHook = useToken(hookName);\n\n if (useHook) {\n return _objectSpread2(_objectSpread2({}, options), useHook(options, htmlProps));\n }\n\n return options;\n}\n\nexport { useOptions };\n","import { useDebugValue } from 'react';\nimport './SystemContext.js';\nimport { useToken } from './useToken.js';\n\n/**\n * React custom hook that returns the props returned by a given\n * `use${name}Props` in the SystemContext.\n *\n * @example\n * import { SystemProvider, useProps } from \"reakit-system\";\n *\n * const system = {\n * useAProps(options, htmlProps) {\n * return {\n * ...htmlProps,\n * href: options.url,\n * };\n * },\n * };\n *\n * function A({ url, ...htmlProps }) {\n * const props = useProps(\"A\", { url }, htmlProps);\n * return ;\n * }\n *\n * function App() {\n * return (\n * \n * It will convert url into href in useAProps\n * \n * );\n * }\n */\n\nfunction useProps(name, options, htmlProps) {\n if (options === void 0) {\n options = {};\n }\n\n if (htmlProps === void 0) {\n htmlProps = {};\n }\n\n var hookName = \"use\" + name + \"Props\";\n useDebugValue(hookName);\n var useHook = useToken(hookName);\n\n if (useHook) {\n return useHook(options, htmlProps);\n }\n\n return htmlProps;\n}\n\nexport { useProps };\n","import { useContext, createElement } from 'react';\nimport { SystemContext } from './SystemContext.js';\nimport { a as _objectWithoutPropertiesLoose } from './_rollupPluginBabelHelpers-0c84a174.js';\n\nfunction isRenderProp(children) {\n return typeof children === \"function\";\n}\n\n/**\n * Custom hook that will call `children` if it's a function. If\n * `useCreateElement` has been passed to the context, it'll be used instead.\n *\n * @example\n * import React from \"react\";\n * import { SystemProvider, useCreateElement } from \"reakit-system\";\n *\n * const system = {\n * useCreateElement(type, props, children = props.children) {\n * // very similar to what `useCreateElement` does already\n * if (typeof children === \"function\") {\n * const { children: _, ...rest } = props;\n * return children(rest);\n * }\n * return React.createElement(type, props, children);\n * },\n * };\n *\n * function Component(props) {\n * return useCreateElement(\"div\", props);\n * }\n *\n * function App() {\n * return (\n * \n * {({ url }) => link}\n * \n * );\n * }\n */\n\nvar useCreateElement = function useCreateElement(type, props, children) {\n if (children === void 0) {\n children = props.children;\n }\n\n var context = useContext(SystemContext);\n\n if (context.useCreateElement) {\n return context.useCreateElement(type, props, children);\n }\n\n if (typeof type === \"string\" && isRenderProp(children)) {\n var _ = props.children,\n rest = _objectWithoutPropertiesLoose(props, [\"children\"]);\n\n return children(rest);\n }\n\n return /*#__PURE__*/createElement(type, props, children);\n};\n\nexport { useCreateElement };\n","function _defineProperty(obj, key, value) {\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\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\nexport { _objectWithoutPropertiesLoose as _, _objectSpread2 as a, _createForOfIteratorHelperLoose as b };\n","import './getDocument.js';\nimport { getWindow } from './getWindow.js';\n\nfunction checkIsBrowser() {\n var _window = getWindow();\n\n return Boolean(typeof _window !== \"undefined\" && _window.document && _window.document.createElement);\n}\n/**\n * It's `true` if it is running in a browser environment or `false` if it is not (SSR).\n *\n * @example\n * import { canUseDOM } from \"reakit-utils\";\n *\n * const title = canUseDOM ? document.title : \"\";\n */\n\n\nvar canUseDOM = checkIsBrowser();\n\nexport { canUseDOM };\n","import { matches } from './matches.js';\n\n/**\n * Ponyfill for `Element.prototype.closest`\n *\n * @example\n * import { closest } from \"reakit-utils\";\n *\n * closest(document.getElementById(\"id\"), \"div\");\n * // same as\n * document.getElementById(\"id\").closest(\"div\");\n */\nfunction closest(element, selectors) {\n if (\"closest\" in element) return element.closest(selectors);\n\n do {\n if (matches(element, selectors)) return element;\n element = element.parentElement || element.parentNode;\n } while (element !== null && element.nodeType === 1);\n\n return null;\n}\n\nexport { closest };\n","/**\n * Similar to `Element.prototype.contains`, but a little bit faster when\n * `element` is the same as `child`.\n *\n * @example\n * import { contains } from \"reakit-utils\";\n *\n * contains(document.getElementById(\"parent\"), document.getElementById(\"child\"));\n */\nfunction contains(parent, child) {\n return parent === child || parent.contains(child);\n}\n\nexport { contains };\n","import { getDocument } from './getDocument.js';\n\n/**\n * Creates an `Event` in a way that also works on IE 11.\n *\n * @example\n * import { createEvent } from \"reakit-utils\";\n *\n * const el = document.getElementById(\"id\");\n * el.dispatchEvent(createEvent(el, \"blur\", { bubbles: false }));\n */\n\nfunction createEvent(element, type, eventInit) {\n if (typeof Event === \"function\") {\n return new Event(type, eventInit);\n } // IE 11 doesn't support Event constructors\n\n\n var event = getDocument(element).createEvent(\"Event\");\n event.initEvent(type, eventInit === null || eventInit === void 0 ? void 0 : eventInit.bubbles, eventInit === null || eventInit === void 0 ? void 0 : eventInit.cancelable);\n return event;\n}\n\nexport { createEvent };\n","import './getDocument.js';\nimport './getWindow.js';\nimport { canUseDOM } from './canUseDOM.js';\n\n/**\n * Checks if a given string exists in the user agent string.\n */\n\nfunction isUA(string) {\n if (!canUseDOM) return false;\n return window.navigator.userAgent.indexOf(string) !== -1;\n}\n\nexport { isUA };\n","import './getDocument.js';\nimport { getActiveElement } from './getActiveElement.js';\n\n/**\n * Checks if `element` has focus. Elements that are referenced by\n * `aria-activedescendant` are also considered.\n *\n * @example\n * import { hasFocus } from \"reakit-utils\";\n *\n * hasFocus(document.getElementById(\"id\"));\n */\n\nfunction hasFocus(element) {\n var activeElement = getActiveElement(element);\n if (!activeElement) return false;\n if (activeElement === element) return true;\n var activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n if (!activeDescendant) return false;\n return activeDescendant === element.id;\n}\n\nexport { hasFocus };\n","import './getDocument.js';\nimport './getActiveElement.js';\nimport { hasFocus } from './hasFocus.js';\n\n/**\n * Ensures `element` will receive focus if it's not already.\n *\n * @example\n * import { ensureFocus } from \"reakit-utils\";\n *\n * ensureFocus(document.activeElement); // does nothing\n *\n * const element = document.querySelector(\"input\");\n *\n * ensureFocus(element); // focuses element\n * ensureFocus(element, { preventScroll: true }); // focuses element preventing scroll jump\n *\n * function isActive(el) {\n * return el.dataset.active === \"true\";\n * }\n *\n * ensureFocus(document.querySelector(\"[data-active='true']\"), { isActive }); // does nothing\n *\n * @returns {number} `requestAnimationFrame` call ID so it can be passed to `cancelAnimationFrame` if needed.\n */\nfunction ensureFocus(element, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n preventScroll = _ref.preventScroll,\n _ref$isActive = _ref.isActive,\n isActive = _ref$isActive === void 0 ? hasFocus : _ref$isActive;\n\n if (isActive(element)) return -1;\n element.focus({\n preventScroll: preventScroll\n });\n if (isActive(element)) return -1;\n return requestAnimationFrame(function () {\n element.focus({\n preventScroll: preventScroll\n });\n });\n}\n\nexport { ensureFocus };\n","import { getDocument } from './getDocument.js';\n\n/**\n * Returns `element.ownerDocument.activeElement`.\n */\n\nfunction getActiveElement(element) {\n var _getDocument = getDocument(element),\n activeElement = _getDocument.activeElement;\n\n if (!(activeElement !== null && activeElement !== void 0 && activeElement.nodeName)) {\n // In IE11, activeElement might be an empty object if we're interacting\n // with elements inside of an iframe.\n return null;\n }\n\n return activeElement;\n}\n\nexport { getActiveElement };\n","/**\n * Returns `element.ownerDocument || document`.\n */\nfunction getDocument(element) {\n return element ? element.ownerDocument || element : document;\n}\n\nexport { getDocument };\n","import './getDocument.js';\nimport './getWindow.js';\nimport { canUseDOM } from './canUseDOM.js';\nimport { getActiveElement } from './getActiveElement.js';\n\nvar isIE11 = canUseDOM && \"msCrypto\" in window;\n/**\n * Cross-browser method that returns the next active element (the element that\n * is receiving focus) after a blur event is dispatched. It receives the blur\n * event object as the argument.\n *\n * @example\n * import { getNextActiveElementOnBlur } from \"reakit-utils\";\n *\n * const element = document.getElementById(\"id\");\n * element.addEventListener(\"blur\", (event) => {\n * const nextActiveElement = getNextActiveElementOnBlur(event);\n * });\n */\n\nfunction getNextActiveElementOnBlur(event) {\n // IE 11 doesn't support event.relatedTarget on blur.\n // document.activeElement points the the next active element.\n // On modern browsers, document.activeElement points to the current target.\n if (isIE11) {\n var activeElement = getActiveElement(event.currentTarget);\n return activeElement;\n }\n\n return event.relatedTarget;\n}\n\nexport { getNextActiveElementOnBlur };\n","import { getDocument } from './getDocument.js';\n\n// Thanks to Fluent UI for doing the [research on IE11 memory leak](https://github.com/microsoft/fluentui/pull/9010#issuecomment-490768427)\n\nvar _window; // Note: Accessing \"window\" in IE11 is somewhat expensive, and calling \"typeof window\"\n// hits a memory leak, whereas aliasing it and calling \"typeof _window\" does not.\n// Caching the window value at the file scope lets us minimize the impact.\n\n\ntry {\n _window = window;\n} catch (e) {\n /* no-op */\n}\n/**\n * Returns `element.ownerDocument.defaultView || window`.\n */\n\n\nfunction getWindow(element) {\n if (!element) {\n return _window;\n }\n\n return getDocument(element).defaultView || _window;\n}\n\nexport { getWindow };\n","import './getDocument.js';\nimport { getActiveElement } from './getActiveElement.js';\nimport { contains } from './contains.js';\n\n/**\n * Checks if `element` has focus within. Elements that are referenced by\n * `aria-activedescendant` are also considered.\n *\n * @example\n * import { hasFocusWithin } from \"reakit-utils\";\n *\n * hasFocusWithin(document.getElementById(\"id\"));\n */\n\nfunction hasFocusWithin(element) {\n var activeElement = getActiveElement(element);\n if (!activeElement) return false;\n if (contains(element, activeElement)) return true;\n var activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n if (!activeDescendant) return false;\n if (activeDescendant === element.id) return true;\n return !!element.querySelector(\"#\" + activeDescendant);\n}\n\nexport { hasFocusWithin };\n","var buttonInputTypes = [\"button\", \"color\", \"file\", \"image\", \"reset\", \"submit\"];\n/**\n * Checks whether `element` is a native HTML button element.\n *\n * @example\n * import { isButton } from \"reakit-utils\";\n *\n * isButton(document.querySelector(\"button\")); // true\n * isButton(document.querySelector(\"input[type='button']\")); // true\n * isButton(document.querySelector(\"div\")); // false\n * isButton(document.querySelector(\"input[type='text']\")); // false\n * isButton(document.querySelector(\"div[role='button']\")); // false\n *\n * @returns {boolean}\n */\n\nfunction isButton(element) {\n if (element.tagName === \"BUTTON\") return true;\n\n if (element.tagName === \"INPUT\") {\n var input = element;\n return buttonInputTypes.indexOf(input.type) !== -1;\n }\n\n return false;\n}\n\nexport { isButton };\n","/**\n * Checks whether `arg` is an object or not.\n *\n * @returns {boolean}\n */\nfunction isObject(arg) {\n return typeof arg === \"object\" && arg != null;\n}\n\nexport { isObject };\n","import { contains } from './contains.js';\n\n/**\n * Returns `true` if `event` has been fired within a React Portal element.\n */\n\nfunction isPortalEvent(event) {\n return !contains(event.currentTarget, event.target);\n}\n\nexport { isPortalEvent };\n","/**\n * Returns `true` if `event.target` and `event.currentTarget` are the same.\n */\nfunction isSelfTarget(event) {\n return event.target === event.currentTarget;\n}\n\nexport { isSelfTarget };\n","/**\n * Ponyfill for `Element.prototype.matches`\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/matches\n */\nfunction matches(element, selectors) {\n if (\"matches\" in element) {\n return element.matches(selectors);\n }\n\n if (\"msMatchesSelector\" in element) {\n return element.msMatchesSelector(selectors);\n }\n\n return element.webkitMatchesSelector(selectors);\n}\n\nexport { matches };\n","import { removeIndexFromArray } from './removeIndexFromArray.js';\n\n/**\n * Immutably removes an item from an array.\n *\n * @example\n * import { removeItemFromArray } from \"reakit-utils\";\n *\n * removeItemFromArray([\"a\", \"b\", \"c\"], \"b\"); // [\"a\", \"c\"]\n *\n * // This only works by reference\n * const obj = {};\n * removeItemFromArray([obj], {}); // [obj]\n * removeItemFromArray([obj], obj); // []\n *\n * @returns {Array} A new array without the passed item.\n */\n\nfunction removeItemFromArray(array, item) {\n var index = array.indexOf(item);\n return removeIndexFromArray(array, index);\n}\n\nexport { removeItemFromArray };\n","/**\n * Immutably removes an index from an array.\n *\n * @example\n * import { removeIndexFromArray } from \"reakit-utils\";\n *\n * removeIndexFromArray([\"a\", \"b\", \"c\"], 1); // [\"a\", \"c\"]\n *\n * @returns {Array} A new array without the item in the passed index.\n */\nfunction removeIndexFromArray(array, index) {\n if (index === -1) return array;\n return [].concat(array.slice(0, index), array.slice(index + 1));\n}\n\nexport { removeIndexFromArray };\n","/**\n * Compares two objects.\n *\n * @example\n * import { shallowEqual } from \"reakit-utils\";\n *\n * shallowEqual({ a: \"a\" }, {}); // false\n * shallowEqual({ a: \"a\" }, { b: \"b\" }); // false\n * shallowEqual({ a: \"a\" }, { a: \"a\" }); // true\n * shallowEqual({ a: \"a\" }, { a: \"a\", b: \"b\" }); // false\n */\nfunction shallowEqual(objA, objB) {\n if (objA === objB) return true;\n if (!objA) return false;\n if (!objB) return false;\n if (typeof objA !== \"object\") return false;\n if (typeof objB !== \"object\") return false;\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var length = aKeys.length;\n if (bKeys.length !== length) return false;\n\n for (var _i = 0, _aKeys = aKeys; _i < _aKeys.length; _i++) {\n var key = _aKeys[_i];\n\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n}\n\nexport { shallowEqual };\n","import './getDocument.js';\nimport { matches } from './matches.js';\nimport { closest } from './closest.js';\nimport { getActiveElement } from './getActiveElement.js';\n\n/** @module tabbable */\nvar selector = \"input:not([type='hidden']):not([disabled]), select:not([disabled]), \" + \"textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], \" + \"iframe, object, embed, area[href], audio[controls], video[controls], \" + \"[contenteditable]:not([contenteditable='false'])\";\n\nfunction isVisible(element) {\n var htmlElement = element;\n return htmlElement.offsetWidth > 0 || htmlElement.offsetHeight > 0 || element.getClientRects().length > 0;\n}\n\nfunction hasNegativeTabIndex(element) {\n var tabIndex = parseInt(element.getAttribute(\"tabindex\") || \"0\", 10);\n return tabIndex < 0;\n}\n/**\n * Checks whether `element` is focusable or not.\n *\n * @memberof tabbable\n *\n * @example\n * import { isFocusable } from \"reakit-utils\";\n *\n * isFocusable(document.querySelector(\"input\")); // true\n * isFocusable(document.querySelector(\"input[tabindex='-1']\")); // true\n * isFocusable(document.querySelector(\"input[hidden]\")); // false\n * isFocusable(document.querySelector(\"input:disabled\")); // false\n */\n\n\nfunction isFocusable(element) {\n return matches(element, selector) && isVisible(element);\n}\n/**\n * Checks whether `element` is tabbable or not.\n *\n * @memberof tabbable\n *\n * @example\n * import { isTabbable } from \"reakit-utils\";\n *\n * isTabbable(document.querySelector(\"input\")); // true\n * isTabbable(document.querySelector(\"input[tabindex='-1']\")); // false\n * isTabbable(document.querySelector(\"input[hidden]\")); // false\n * isTabbable(document.querySelector(\"input:disabled\")); // false\n */\n\nfunction isTabbable(element) {\n return isFocusable(element) && !hasNegativeTabIndex(element);\n}\n/**\n * Returns all the focusable elements in `container`.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n *\n * @returns {Element[]}\n */\n\nfunction getAllFocusableIn(container) {\n var allFocusable = Array.from(container.querySelectorAll(selector));\n allFocusable.unshift(container);\n return allFocusable.filter(isFocusable);\n}\n/**\n * Returns the first focusable element in `container`.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n *\n * @returns {Element|null}\n */\n\nfunction getFirstFocusableIn(container) {\n var _getAllFocusableIn = getAllFocusableIn(container),\n first = _getAllFocusableIn[0];\n\n return first || null;\n}\n/**\n * Returns all the tabbable elements in `container`, including the container\n * itself.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n * @param fallbackToFocusable If `true`, it'll return focusable elements if there are no tabbable ones.\n *\n * @returns {Element[]}\n */\n\nfunction getAllTabbableIn(container, fallbackToFocusable) {\n var allFocusable = Array.from(container.querySelectorAll(selector));\n var allTabbable = allFocusable.filter(isTabbable);\n\n if (isTabbable(container)) {\n allTabbable.unshift(container);\n }\n\n if (!allTabbable.length && fallbackToFocusable) {\n return allFocusable;\n }\n\n return allTabbable;\n}\n/**\n * Returns the first tabbable element in `container`, including the container\n * itself if it's tabbable.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n * @param fallbackToFocusable If `true`, it'll return the first focusable element if there are no tabbable ones.\n *\n * @returns {Element|null}\n */\n\nfunction getFirstTabbableIn(container, fallbackToFocusable) {\n var _getAllTabbableIn = getAllTabbableIn(container, fallbackToFocusable),\n first = _getAllTabbableIn[0];\n\n return first || null;\n}\n/**\n * Returns the last tabbable element in `container`, including the container\n * itself if it's tabbable.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n * @param fallbackToFocusable If `true`, it'll return the last focusable element if there are no tabbable ones.\n *\n * @returns {Element|null}\n */\n\nfunction getLastTabbableIn(container, fallbackToFocusable) {\n var allTabbable = getAllTabbableIn(container, fallbackToFocusable);\n return allTabbable[allTabbable.length - 1] || null;\n}\n/**\n * Returns the next tabbable element in `container`.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n * @param fallbackToFocusable If `true`, it'll return the next focusable element if there are no tabbable ones.\n *\n * @returns {Element|null}\n */\n\nfunction getNextTabbableIn(container, fallbackToFocusable) {\n var activeElement = getActiveElement(container);\n var allFocusable = getAllFocusableIn(container);\n var index = allFocusable.indexOf(activeElement);\n var slice = allFocusable.slice(index + 1);\n return slice.find(isTabbable) || allFocusable.find(isTabbable) || (fallbackToFocusable ? slice[0] : null);\n}\n/**\n * Returns the previous tabbable element in `container`.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n * @param fallbackToFocusable If `true`, it'll return the previous focusable element if there are no tabbable ones.\n *\n * @returns {Element|null}\n */\n\nfunction getPreviousTabbableIn(container, fallbackToFocusable) {\n var activeElement = getActiveElement(container);\n var allFocusable = getAllFocusableIn(container).reverse();\n var index = allFocusable.indexOf(activeElement);\n var slice = allFocusable.slice(index + 1);\n return slice.find(isTabbable) || allFocusable.find(isTabbable) || (fallbackToFocusable ? slice[0] : null);\n}\n/**\n * Returns the closest focusable element.\n *\n * @memberof tabbable\n *\n * @param {Element} container\n *\n * @returns {Element|null}\n */\n\nfunction getClosestFocusable(element) {\n while (element && !isFocusable(element)) {\n element = closest(element, selector);\n }\n\n return element;\n}\n\nexport { getAllFocusableIn, getAllTabbableIn, getClosestFocusable, getFirstFocusableIn, getFirstTabbableIn, getLastTabbableIn, getNextTabbableIn, getPreviousTabbableIn, isFocusable, isTabbable };\n","import { useMemo } from 'react';\n\n// https://github.com/mui-org/material-ui/blob/2bcc874cf07b81202968f769cb9c2398c7c11311/packages/material-ui/src/utils/useForkRef.js\n\nfunction setRef(ref, value) {\n if (value === void 0) {\n value = null;\n }\n\n if (!ref) return;\n\n if (typeof ref === \"function\") {\n ref(value);\n } else {\n ref.current = value;\n }\n}\n/**\n * Merges up to two React Refs into a single memoized function React Ref so you\n * can pass it to an element.\n *\n * @example\n * import React from \"react\";\n * import { useForkRef } from \"reakit-utils\";\n *\n * const Component = React.forwardRef((props, ref) => {\n * const internalRef = React.useRef();\n * return
;\n * });\n */\n\n\nfunction useForkRef(refA, refB) {\n return useMemo(function () {\n if (refA == null && refB == null) {\n return null;\n }\n\n return function (value) {\n setRef(refA, value);\n setRef(refB, value);\n };\n }, [refA, refB]);\n}\n\nexport { useForkRef };\n","import { useEffect, useLayoutEffect } from 'react';\nimport './getDocument.js';\nimport './getWindow.js';\nimport { canUseDOM } from './canUseDOM.js';\n\n/**\n * `React.useLayoutEffect` that fallbacks to `React.useEffect` on server side\n * rendering.\n */\n\nvar useIsomorphicEffect = !canUseDOM ? useEffect : useLayoutEffect;\n\nexport { useIsomorphicEffect };\n","import { useRef } from 'react';\nimport './getDocument.js';\nimport './getWindow.js';\nimport './canUseDOM.js';\nimport { useIsomorphicEffect } from './useIsomorphicEffect.js';\n\n/**\n * A `React.Ref` that keeps track of the passed `value`.\n */\n\nfunction useLiveRef(value) {\n var ref = useRef(value);\n useIsomorphicEffect(function () {\n ref.current = value;\n });\n return ref;\n}\n\nexport { useLiveRef };\n","import { useState } from 'react';\n\n/**\n * React custom hook that returns the very first value passed to `initialState`,\n * even if it changes between re-renders.\n */\nfunction useSealedState(initialState) {\n var _React$useState = useState(initialState),\n sealed = _React$useState[0];\n\n return sealed;\n}\n\nexport { useSealedState };\n","import { useRef, useEffect } from 'react';\n\n/**\n * A `React.useEffect` that will not run on the first render.\n */\n\nfunction useUpdateEffect(effect, deps) {\n var mounted = useRef(false);\n useEffect(function () {\n if (mounted.current) {\n return effect();\n }\n\n mounted.current = true;\n return undefined;\n }, deps);\n}\n\nexport { useUpdateEffect };\n","import { _ as _objectWithoutPropertiesLoose } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport { shallowEqual } from 'reakit-utils/shallowEqual';\n\n// Automatically generated\nvar BOX_KEYS = [\"unstable_system\"];\n\nvar useBox = createHook({\n name: \"Box\",\n keys: BOX_KEYS,\n propsAreEqual: function propsAreEqual(prev, next) {\n var prevSystem = prev.unstable_system,\n prevProps = _objectWithoutPropertiesLoose(prev, [\"unstable_system\"]);\n\n var nextSystem = next.unstable_system,\n nextProps = _objectWithoutPropertiesLoose(next, [\"unstable_system\"]);\n\n if (prevSystem !== nextSystem && !shallowEqual(prevSystem, nextSystem)) {\n return false;\n }\n\n return shallowEqual(prevProps, nextProps);\n }\n});\nvar Box = createComponent({\n as: \"div\",\n useHook: useBox\n});\n\nexport { Box, useBox };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useState, useCallback } from 'react';\nimport 'reakit-utils/useForkRef';\nimport { isButton } from 'reakit-utils/isButton';\nimport 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport { isSelfTarget } from 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport { useTabbable } from '../Tabbable/Tabbable.js';\n\n// Automatically generated\nvar CLICKABLE_KEYS = [\"unstable_clickOnEnter\", \"unstable_clickOnSpace\"];\n\nfunction isNativeClick(event) {\n var element = event.currentTarget;\n if (!event.isTrusted) return false; // istanbul ignore next: can't test trusted events yet\n\n return isButton(element) || element.tagName === \"INPUT\" || element.tagName === \"TEXTAREA\" || element.tagName === \"A\" || element.tagName === \"SELECT\";\n}\n\nvar useClickable = createHook({\n name: \"Clickable\",\n compose: useTabbable,\n keys: CLICKABLE_KEYS,\n useOptions: function useOptions(_ref) {\n var _ref$unstable_clickOn = _ref.unstable_clickOnEnter,\n unstable_clickOnEnter = _ref$unstable_clickOn === void 0 ? true : _ref$unstable_clickOn,\n _ref$unstable_clickOn2 = _ref.unstable_clickOnSpace,\n unstable_clickOnSpace = _ref$unstable_clickOn2 === void 0 ? true : _ref$unstable_clickOn2,\n options = _objectWithoutPropertiesLoose(_ref, [\"unstable_clickOnEnter\", \"unstable_clickOnSpace\"]);\n\n return _objectSpread2({\n unstable_clickOnEnter: unstable_clickOnEnter,\n unstable_clickOnSpace: unstable_clickOnSpace\n }, options);\n },\n useProps: function useProps(options, _ref2) {\n var htmlOnKeyDown = _ref2.onKeyDown,\n htmlOnKeyUp = _ref2.onKeyUp,\n htmlProps = _objectWithoutPropertiesLoose(_ref2, [\"onKeyDown\", \"onKeyUp\"]);\n\n var _React$useState = useState(false),\n active = _React$useState[0],\n setActive = _React$useState[1];\n\n var onKeyDownRef = useLiveRef(htmlOnKeyDown);\n var onKeyUpRef = useLiveRef(htmlOnKeyUp);\n var onKeyDown = useCallback(function (event) {\n var _onKeyDownRef$current;\n\n (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event);\n if (event.defaultPrevented) return;\n if (options.disabled) return;\n if (event.metaKey) return;\n if (!isSelfTarget(event)) return;\n var isEnter = options.unstable_clickOnEnter && event.key === \"Enter\";\n var isSpace = options.unstable_clickOnSpace && event.key === \" \";\n\n if (isEnter || isSpace) {\n if (isNativeClick(event)) return;\n event.preventDefault();\n\n if (isEnter) {\n event.currentTarget.click();\n } else if (isSpace) {\n setActive(true);\n }\n }\n }, [options.disabled, options.unstable_clickOnEnter, options.unstable_clickOnSpace]);\n var onKeyUp = useCallback(function (event) {\n var _onKeyUpRef$current;\n\n (_onKeyUpRef$current = onKeyUpRef.current) === null || _onKeyUpRef$current === void 0 ? void 0 : _onKeyUpRef$current.call(onKeyUpRef, event);\n if (event.defaultPrevented) return;\n if (options.disabled) return;\n if (event.metaKey) return;\n var isSpace = options.unstable_clickOnSpace && event.key === \" \";\n\n if (active && isSpace) {\n setActive(false);\n event.currentTarget.click();\n }\n }, [options.disabled, options.unstable_clickOnSpace, active]);\n return _objectSpread2({\n \"data-active\": active || undefined,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp\n }, htmlProps);\n }\n});\nvar Clickable = createComponent({\n as: \"button\",\n memo: true,\n useHook: useClickable\n});\n\nexport { Clickable, useClickable };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRef, useReducer, useMemo, useEffect, useCallback } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport { warning } from 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport { useUpdateEffect } from 'reakit-utils/useUpdateEffect';\nimport 'reakit-system/useCreateElement';\nimport 'reakit-utils/getDocument';\nimport 'reakit-utils/fireBlurEvent';\nimport 'reakit-utils/fireKeyboardEvent';\nimport 'reakit-utils/canUseDOM';\nimport 'reakit-utils/getNextActiveElementOnBlur';\nimport '../reverse-30eaa122.js';\nimport '../getCurrentId-5aa9849e.js';\nimport '../findEnabledItemById-8ddca752.js';\nimport '../__keys-6742f591.js';\nimport '../userFocus-e16425e3.js';\nimport { useComposite } from '../Composite/Composite.js';\nimport { C as COMBOBOX_KEYS } from '../__keys-0f89298f.js';\nimport { g as getMenuId } from '../getMenuId-34730bd3.js';\n\nfunction getControls(baseId, ariaControls) {\n var menuId = getMenuId(baseId);\n\n if (ariaControls) {\n return ariaControls + \" \" + menuId;\n }\n\n return menuId;\n}\n\nfunction getAutocomplete(options) {\n if (options.list && options.inline) return \"both\";\n if (options.list) return \"list\";\n if (options.inline) return \"inline\";\n return \"none\";\n}\n\nfunction isFirstItemAutoSelected(items, autoSelect, currentId) {\n if (!autoSelect) return false;\n var firstItem = items.find(function (item) {\n return !item.disabled;\n });\n return currentId && (firstItem === null || firstItem === void 0 ? void 0 : firstItem.id) === currentId;\n}\n\nfunction hasCompletionString(inputValue, currentValue) {\n return !!currentValue && currentValue.length > inputValue.length && currentValue.toLowerCase().indexOf(inputValue.toLowerCase()) === 0;\n}\n\nfunction getCompletionString(inputValue, currentValue) {\n if (!currentValue) return \"\";\n var index = currentValue.toLowerCase().indexOf(inputValue.toLowerCase());\n return currentValue.slice(index + inputValue.length);\n}\n\nfunction useValue(options) {\n return useMemo(function () {\n if (!options.inline) {\n return options.inputValue;\n }\n\n var firstItemAutoSelected = isFirstItemAutoSelected(options.items, options.autoSelect, options.currentId);\n\n if (firstItemAutoSelected) {\n if (hasCompletionString(options.inputValue, options.currentValue)) {\n return options.inputValue + getCompletionString(options.inputValue, options.currentValue);\n }\n\n return options.inputValue;\n }\n\n return options.currentValue || options.inputValue;\n }, [options.inline, options.inputValue, options.autoSelect, options.items, options.currentId, options.currentValue]);\n}\n\nfunction getFirstEnabledItemId(items) {\n var _items$find;\n\n return (_items$find = items.find(function (item) {\n return !item.disabled;\n })) === null || _items$find === void 0 ? void 0 : _items$find.id;\n}\n\nvar unstable_useCombobox = createHook({\n name: \"Combobox\",\n compose: useComposite,\n keys: COMBOBOX_KEYS,\n useOptions: function useOptions(_ref) {\n var _ref$menuRole = _ref.menuRole,\n menuRole = _ref$menuRole === void 0 ? \"listbox\" : _ref$menuRole,\n _ref$hideOnEsc = _ref.hideOnEsc,\n hideOnEsc = _ref$hideOnEsc === void 0 ? true : _ref$hideOnEsc,\n options = _objectWithoutPropertiesLoose(_ref, [\"menuRole\", \"hideOnEsc\"]);\n\n return _objectSpread2({\n menuRole: menuRole,\n hideOnEsc: hideOnEsc\n }, options);\n },\n useProps: function useProps(options, _ref2) {\n var htmlRef = _ref2.ref,\n htmlOnKeyDown = _ref2.onKeyDown,\n htmlOnKeyPress = _ref2.onKeyPress,\n htmlOnChange = _ref2.onChange,\n htmlOnClick = _ref2.onClick,\n htmlOnBlur = _ref2.onBlur,\n ariaControls = _ref2[\"aria-controls\"],\n htmlProps = _objectWithoutPropertiesLoose(_ref2, [\"ref\", \"onKeyDown\", \"onKeyPress\", \"onChange\", \"onClick\", \"onBlur\", \"aria-controls\"]);\n\n var ref = useRef(null);\n\n var _React$useReducer = useReducer(function () {\n return {};\n }, {}),\n updated = _React$useReducer[0],\n update = _React$useReducer[1];\n\n var onKeyDownRef = useLiveRef(htmlOnKeyDown);\n var onKeyPressRef = useLiveRef(htmlOnKeyPress);\n var onChangeRef = useLiveRef(htmlOnChange);\n var onClickRef = useLiveRef(htmlOnClick);\n var onBlurRef = useLiveRef(htmlOnBlur);\n var value = useValue(options);\n var hasInsertedTextRef = useRef(false); // Completion string\n\n useEffect(function () {\n if (!options.inline) return;\n if (!options.autoSelect) return;\n if (!options.currentValue) return;\n if (options.currentId !== getFirstEnabledItemId(options.items)) return;\n\n if (!hasCompletionString(options.inputValue, options.currentValue)) {\n return;\n }\n\n var element = ref.current;\n process.env.NODE_ENV !== \"production\" ? warning(!element, \"Can't auto select combobox because `ref` wasn't passed to the component\", \"See https://reakit.io/docs/combobox\") : void 0;\n element === null || element === void 0 ? void 0 : element.setSelectionRange(options.inputValue.length, options.currentValue.length);\n }, [updated, options.inline, options.autoSelect, options.currentValue, options.inputValue, options.currentId, options.items]); // Auto select on type\n\n useUpdateEffect(function () {\n if (options.autoSelect && options.items.length && hasInsertedTextRef.current) {\n // If autoSelect is set to true and the last change was a text\n // insertion, we want to automatically focus on the first suggestion.\n // This effect will run both when inputValue changes and when items\n // change so we can also catch async items.\n options.setCurrentId(undefined);\n } else {\n // Without autoSelect, we'll always blur the combobox option and move\n // focus onto the combobox input.\n options.setCurrentId(null);\n }\n }, [options.items, options.inputValue, options.autoSelect, options.setCurrentId]);\n var onKeyDown = useCallback(function (event) {\n var _onKeyDownRef$current;\n\n (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event); // Resets the reference on key down so we can figure it out later on\n // key press.\n\n hasInsertedTextRef.current = false;\n if (event.defaultPrevented) return;\n\n if (event.key === \"Escape\" && options.hideOnEsc) {\n var _options$hide;\n\n (_options$hide = options.hide) === null || _options$hide === void 0 ? void 0 : _options$hide.call(options);\n }\n }, [options.hideOnEsc, options.hide]);\n var onKeyPress = useCallback(function (event) {\n var _onKeyPressRef$curren;\n\n (_onKeyPressRef$curren = onKeyPressRef.current) === null || _onKeyPressRef$curren === void 0 ? void 0 : _onKeyPressRef$curren.call(onKeyPressRef, event); // onKeyPress will catch only printable character presses, so we skip\n // text removal and paste.\n\n hasInsertedTextRef.current = true;\n }, []);\n var onChange = useCallback(function (event) {\n var _onChangeRef$current, _options$show, _options$setInputValu;\n\n (_onChangeRef$current = onChangeRef.current) === null || _onChangeRef$current === void 0 ? void 0 : _onChangeRef$current.call(onChangeRef, event);\n if (event.defaultPrevented) return;\n (_options$show = options.show) === null || _options$show === void 0 ? void 0 : _options$show.call(options);\n (_options$setInputValu = options.setInputValue) === null || _options$setInputValu === void 0 ? void 0 : _options$setInputValu.call(options, event.target.value);\n update();\n\n if (!options.autoSelect || !hasInsertedTextRef.current) {\n var _options$setCurrentId;\n\n // If autoSelect is not set or it's not an insertion of text, focus\n // on the combobox input after changing the value.\n (_options$setCurrentId = options.setCurrentId) === null || _options$setCurrentId === void 0 ? void 0 : _options$setCurrentId.call(options, null);\n } else {\n var _options$setCurrentId2;\n\n // Selects first item\n (_options$setCurrentId2 = options.setCurrentId) === null || _options$setCurrentId2 === void 0 ? void 0 : _options$setCurrentId2.call(options, undefined);\n }\n }, [options.show, options.autoSelect, options.setCurrentId, options.setInputValue]);\n var onClick = useCallback(function (event) {\n var _onClickRef$current, _options$setCurrentId3;\n\n (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event);\n if (event.defaultPrevented) return; // https://github.com/reakit/reakit/issues/808\n\n if (!options.minValueLength || value.length >= options.minValueLength) {\n var _options$show2;\n\n (_options$show2 = options.show) === null || _options$show2 === void 0 ? void 0 : _options$show2.call(options);\n }\n\n (_options$setCurrentId3 = options.setCurrentId) === null || _options$setCurrentId3 === void 0 ? void 0 : _options$setCurrentId3.call(options, null);\n options.setInputValue(value);\n }, [options.show, options.setCurrentId, options.setInputValue, options.minValueLength, value]);\n var onBlur = useCallback(function (event) {\n var _onBlurRef$current;\n\n (_onBlurRef$current = onBlurRef.current) === null || _onBlurRef$current === void 0 ? void 0 : _onBlurRef$current.call(onBlurRef, event);\n if (event.defaultPrevented) return;\n options.setInputValue(value);\n }, [options.setInputValue, value]);\n return _objectSpread2({\n ref: useForkRef(ref, useForkRef(options.unstable_referenceRef, htmlRef)),\n role: \"combobox\",\n autoComplete: \"off\",\n \"aria-controls\": getControls(options.baseId, ariaControls),\n \"aria-haspopup\": options.menuRole,\n \"aria-expanded\": options.visible,\n \"aria-autocomplete\": getAutocomplete(options),\n value: value,\n onKeyDown: onKeyDown,\n onKeyPress: onKeyPress,\n onChange: onChange,\n onClick: onClick,\n onBlur: onBlur\n }, htmlProps);\n },\n useComposeProps: function useComposeProps(options, _ref3) {\n var onKeyUp = _ref3.onKeyUp,\n htmlOnKeyDownCapture = _ref3.onKeyDownCapture,\n htmlOnKeyDown = _ref3.onKeyDown,\n htmlProps = _objectWithoutPropertiesLoose(_ref3, [\"onKeyUp\", \"onKeyDownCapture\", \"onKeyDown\"]);\n\n var compositeHTMLProps = useComposite(options, htmlProps, true);\n var onKeyDownCaptureRef = useLiveRef(htmlOnKeyDownCapture);\n var onKeyDownRef = useLiveRef(htmlOnKeyDown);\n var onKeyDownCapture = useCallback(function (event) {\n var _onKeyDownCaptureRef$, _compositeHTMLProps$o;\n\n (_onKeyDownCaptureRef$ = onKeyDownCaptureRef.current) === null || _onKeyDownCaptureRef$ === void 0 ? void 0 : _onKeyDownCaptureRef$.call(onKeyDownCaptureRef, event);\n if (event.defaultPrevented) return;\n\n if (options.menuRole !== \"grid\") {\n // If menu is a one-dimensional list and there's an option with\n // focus, we don't want Home/End and printable characters to perform\n // actions on the option, only on the combobox input.\n if (event.key === \"Home\") return;\n if (event.key === \"End\") return;\n }\n\n if (event.key.length === 1) return; // Composite's onKeyDownCapture will proxy this event to the active\n // item.\n\n (_compositeHTMLProps$o = compositeHTMLProps.onKeyDownCapture) === null || _compositeHTMLProps$o === void 0 ? void 0 : _compositeHTMLProps$o.call(compositeHTMLProps, event);\n }, [options.menuRole, compositeHTMLProps.onKeyDownCapture]);\n var onKeyDown = useCallback(function (event) {\n var _onKeyDownRef$current2, _compositeHTMLProps$o2;\n\n (_onKeyDownRef$current2 = onKeyDownRef.current) === null || _onKeyDownRef$current2 === void 0 ? void 0 : _onKeyDownRef$current2.call(onKeyDownRef, event);\n if (event.defaultPrevented) return;\n var onlyInputHasFocus = options.currentId === null;\n if (!onlyInputHasFocus) return; // Do not perform list actions when pressing horizontal arrow keys when\n // focusing the combobox input while no option has focus.\n\n if (event.key === \"ArrowLeft\") return;\n if (event.key === \"ArrowRight\") return;\n if (event.key === \"Home\") return;\n if (event.key === \"End\") return;\n\n if (!event.ctrlKey && !event.altKey && !event.shiftKey && !event.metaKey && (event.key === \"ArrowUp\" || event.key === \"ArrowDown\" || event.key.length === 1)) {\n var _options$show3;\n\n // Up/Down arrow keys and printable characters should open the\n // combobox popover.\n (_options$show3 = options.show) === null || _options$show3 === void 0 ? void 0 : _options$show3.call(options);\n }\n\n (_compositeHTMLProps$o2 = compositeHTMLProps.onKeyDown) === null || _compositeHTMLProps$o2 === void 0 ? void 0 : _compositeHTMLProps$o2.call(compositeHTMLProps, event);\n }, [options.currentId, options.show, compositeHTMLProps.onKeyDown]);\n return _objectSpread2(_objectSpread2({}, compositeHTMLProps), {}, {\n onKeyDownCapture: onKeyDownCapture,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp\n });\n }\n});\nvar unstable_Combobox = createComponent({\n as: \"input\",\n memo: true,\n useHook: unstable_useCombobox\n});\n\nexport { unstable_Combobox, unstable_useCombobox };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useBox } from '../Box/Box.js';\nimport { useCallback } from 'react';\nimport 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport '../Clickable/Clickable.js';\nimport 'reakit-utils/getDocument';\nimport '../getCurrentId-5aa9849e.js';\nimport '../__keys-6742f591.js';\nimport '../userFocus-e16425e3.js';\nimport { c as COMBOBOX_ITEM_KEYS } from '../__keys-0f89298f.js';\nimport 'reakit-utils/isTextField';\nimport 'reakit-utils/ensureFocus';\nimport '../Id/IdProvider.js';\nimport '../Id/Id.js';\nimport 'reakit-utils/fireEvent';\nimport '../setTextFieldValue-0a221f4e.js';\nimport { useCompositeItem } from '../Composite/CompositeItem.js';\n\nfunction kebabCase(string) {\n return string.toLowerCase().replace(/[^a-z0-9]/g, \"-\");\n}\n\nfunction getItemId(baseId, value, id) {\n return id || baseId + \"-\" + kebabCase(value);\n}\n\nvar unstable_useComboboxItem = createHook({\n name: \"ComboboxItem\",\n compose: useBox,\n keys: COMBOBOX_ITEM_KEYS,\n propsAreEqual: function propsAreEqual(prev, next) {\n if (prev.value !== next.value) return false;\n\n if (!prev.value || !next.value || !prev.baseId || !next.baseId) {\n return useCompositeItem.unstable_propsAreEqual(prev, next);\n }\n\n var prevCurrentValue = prev.currentValue,\n prevInputValue = prev.inputValue,\n prevMatches = prev.matches,\n prevProps = _objectWithoutPropertiesLoose(prev, [\"currentValue\", \"inputValue\", \"matches\"]);\n\n var nextCurrentValue = next.currentValue,\n nextInputValue = next.inputValue,\n nextMatches = next.matches,\n nextProps = _objectWithoutPropertiesLoose(next, [\"currentValue\", \"inputValue\", \"matches\"]);\n\n if (prevCurrentValue !== nextCurrentValue) {\n if (next.value === prevCurrentValue || next.value === nextCurrentValue) {\n return false;\n }\n }\n\n var prevId = getItemId(prev.baseId, prev.value, prev.id);\n var nextId = getItemId(next.baseId, next.value, prev.id);\n return useCompositeItem.unstable_propsAreEqual(_objectSpread2(_objectSpread2({}, prevProps), {}, {\n id: prevId\n }), _objectSpread2(_objectSpread2({}, nextProps), {}, {\n id: nextId\n }));\n },\n useOptions: function useOptions(options) {\n var trulyDisabled = options.disabled && !options.focusable;\n var value = trulyDisabled ? undefined : options.value;\n var registerItem = useCallback(function (item) {\n if (options.visible) {\n var _options$registerItem;\n\n (_options$registerItem = options.registerItem) === null || _options$registerItem === void 0 ? void 0 : _options$registerItem.call(options, _objectSpread2(_objectSpread2({}, item), {}, {\n value: value\n }));\n }\n }, [options.registerItem, options.visible, value]);\n\n if (options.id || !options.baseId || !options.value) {\n return _objectSpread2(_objectSpread2({}, options), {}, {\n registerItem: registerItem\n });\n }\n\n var id = getItemId(options.baseId, options.value, options.id);\n return _objectSpread2(_objectSpread2({}, options), {}, {\n registerItem: registerItem,\n id: id\n });\n },\n useProps: function useProps(options, _ref) {\n var htmlOnClick = _ref.onClick,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"onClick\"]);\n\n var onClickRef = useLiveRef(htmlOnClick);\n var onClick = useCallback(function (event) {\n var _onClickRef$current, _options$hide, _options$setInputValu;\n\n (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event);\n if (event.defaultPrevented) return;\n if (!options.value) return;\n (_options$hide = options.hide) === null || _options$hide === void 0 ? void 0 : _options$hide.call(options);\n (_options$setInputValu = options.setInputValue) === null || _options$setInputValu === void 0 ? void 0 : _options$setInputValu.call(options, options.value);\n }, [options.hide, options.setInputValue, options.value]);\n return _objectSpread2({\n children: options.value,\n onClick: onClick,\n tabIndex: -1\n }, htmlProps);\n }\n});\nvar unstable_ComboboxItem = createComponent({\n as: \"span\",\n memo: true,\n useHook: unstable_useComboboxItem\n});\n\nexport { unstable_ComboboxItem, unstable_useComboboxItem };\n","import { a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport '../Box/Box.js';\nimport 'react';\nimport 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport 'reakit-warning';\nimport 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport '../Clickable/Clickable.js';\nimport 'reakit-utils/getDocument';\nimport '../getCurrentId-5aa9849e.js';\nimport '../__keys-6742f591.js';\nimport '../userFocus-e16425e3.js';\nimport { e as COMBOBOX_OPTION_KEYS } from '../__keys-0f89298f.js';\nimport 'reakit-utils/isTextField';\nimport 'reakit-utils/ensureFocus';\nimport '../Id/IdProvider.js';\nimport '../Id/Id.js';\nimport 'reakit-utils/fireEvent';\nimport '../setTextFieldValue-0a221f4e.js';\nimport { useCompositeItem } from '../Composite/CompositeItem.js';\nimport { unstable_useComboboxItem } from './ComboboxItem.js';\n\nvar unstable_useComboboxOption = createHook({\n name: \"ComboboxOption\",\n compose: [unstable_useComboboxItem, useCompositeItem],\n keys: COMBOBOX_OPTION_KEYS,\n useProps: function useProps(_, htmlProps) {\n return _objectSpread2({\n role: \"option\"\n }, htmlProps);\n }\n});\nvar unstable_ComboboxOption = createComponent({\n as: \"div\",\n memo: true,\n useHook: unstable_useComboboxOption\n});\n\nexport { unstable_ComboboxOption, unstable_useComboboxOption };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useBox } from '../Box/Box.js';\nimport { useWarning } from 'reakit-warning';\nimport { useCreateElement } from 'reakit-system/useCreateElement';\nimport { d as COMBOBOX_LIST_KEYS } from '../__keys-0f89298f.js';\nimport { g as getMenuId } from '../getMenuId-34730bd3.js';\n\nvar unstable_useComboboxList = createHook({\n name: \"ComboboxList\",\n compose: useBox,\n keys: COMBOBOX_LIST_KEYS,\n useOptions: function useOptions(_ref) {\n var _ref$menuRole = _ref.menuRole,\n menuRole = _ref$menuRole === void 0 ? \"listbox\" : _ref$menuRole,\n options = _objectWithoutPropertiesLoose(_ref, [\"menuRole\"]);\n\n return _objectSpread2({\n menuRole: menuRole\n }, options);\n },\n useProps: function useProps(options, htmlProps) {\n return _objectSpread2({\n role: options.menuRole,\n id: getMenuId(options.baseId)\n }, htmlProps);\n }\n});\nvar unstable_ComboboxList = createComponent({\n as: \"div\",\n useHook: unstable_useComboboxList,\n useCreateElement: function useCreateElement$1(type, props, children) {\n process.env.NODE_ENV !== \"production\" ? useWarning(!props[\"aria-label\"] && !props[\"aria-labelledby\"], \"You should provide either `aria-label` or `aria-labelledby` props.\", \"See https://reakit.io/docs/combobox\") : void 0;\n return useCreateElement(type, props, children);\n }\n});\n\nexport { unstable_ComboboxList, unstable_useComboboxList };\n","import { a as _objectSpread2, _ as _objectWithoutPropertiesLoose } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport '../Box/Box.js';\nimport 'react';\nimport 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport { useWarning } from 'reakit-warning';\nimport 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport 'reakit-utils/useUpdateEffect';\nimport { useCreateElement } from 'reakit-system/useCreateElement';\nimport 'reakit-utils/getDocument';\nimport 'reakit-utils/canUseDOM';\nimport 'reakit-utils/getNextActiveElementOnBlur';\nimport { f as COMBOBOX_POPOVER_KEYS } from '../__keys-0f89298f.js';\nimport '../getMenuId-34730bd3.js';\nimport 'reakit-utils/ensureFocus';\nimport { unstable_useComboboxList } from './ComboboxList.js';\nimport '../__keys-e6a5cfbe.js';\nimport '../Disclosure/DisclosureContent.js';\nimport 'react-dom';\nimport '../Portal/Portal.js';\nimport 'reakit-utils/removeItemFromArray';\nimport '../MenuContext-6af6cf92.js';\nimport '../Dialog/Dialog.js';\nimport 'body-scroll-lock';\nimport 'reakit-utils/closest';\nimport 'reakit-utils/getActiveElement';\nimport 'reakit-utils/contains';\nimport '../DialogBackdropContext-8775f78b.js';\nimport 'reakit-utils/isEmpty';\nimport '../__keys-ed7b48af.js';\nimport '../__keys-26bb1730.js';\nimport { usePopover } from '../Popover/Popover.js';\n\nvar unstable_useComboboxPopover = createHook({\n name: \"ComboboxPopover\",\n compose: [unstable_useComboboxList, usePopover],\n keys: COMBOBOX_POPOVER_KEYS,\n useOptions: function useOptions(options) {\n return _objectSpread2(_objectSpread2({}, options), {}, {\n unstable_disclosureRef: options.unstable_referenceRef,\n unstable_autoFocusOnShow: false,\n unstable_autoFocusOnHide: false\n });\n },\n useComposeProps: function useComposeProps(options, _ref) {\n var tabIndex = _ref.tabIndex,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"tabIndex\"]);\n\n htmlProps = unstable_useComboboxList(options, htmlProps, true);\n htmlProps = usePopover(options, htmlProps, true);\n return _objectSpread2(_objectSpread2({}, htmlProps), {}, {\n tabIndex: tabIndex != null ? tabIndex : undefined\n });\n }\n});\nvar unstable_ComboboxPopover = createComponent({\n as: \"div\",\n useHook: unstable_useComboboxPopover,\n useCreateElement: function useCreateElement$1(type, props, children) {\n process.env.NODE_ENV !== \"production\" ? useWarning(!props[\"aria-label\"] && !props[\"aria-labelledby\"], \"You should provide either `aria-label` or `aria-labelledby` props.\", \"See https://reakit.io/docs/combobox\") : void 0;\n return useCreateElement(type, props, children);\n }\n});\n\nexport { unstable_ComboboxPopover, unstable_useComboboxPopover };\n","import { a as _objectSpread2, b as _createForOfIteratorHelperLoose } from './_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { useRef, useState, useMemo, useCallback } from 'react';\n\nfunction escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\nfunction getMatches(inputValue, values, limit, list, autoSelect, minValueLength) {\n if (limit === 0 || inputValue.length < minValueLength) {\n // We don't want to populate combobox.matches if inputValue doesn't have\n // enough characters.\n return [];\n }\n\n var length = limit === false ? undefined : limit;\n\n if (!list) {\n // If list is false, this means that values aren't expected to be filtered.\n return values.slice(0, length);\n }\n\n var regex = new RegExp(escapeRegExp(inputValue), \"i\");\n var matches = [];\n\n if (autoSelect) {\n var match = values.find(function (value) {\n return value.search(regex) === 0;\n });\n\n if (match) {\n matches.push(match);\n }\n }\n\n for (var _iterator = _createForOfIteratorHelperLoose(values), _step; !(_step = _iterator()).done;) {\n var value = _step.value;\n\n if (length && matches.length >= length) {\n break;\n } // Excludes first match, that can be auto selected\n\n\n if (value !== matches[0] && value.search(regex) !== -1) {\n matches.push(value);\n }\n }\n\n return matches;\n}\n\nfunction useComboboxBaseState(composite, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$inputValue = _ref.inputValue,\n initialInputValue = _ref$inputValue === void 0 ? \"\" : _ref$inputValue,\n _ref$minValueLength = _ref.minValueLength,\n initialMinValueLength = _ref$minValueLength === void 0 ? 0 : _ref$minValueLength,\n _ref$values = _ref.values,\n initialValues = _ref$values === void 0 ? [] : _ref$values,\n _ref$limit = _ref.limit,\n initialLimit = _ref$limit === void 0 ? 10 : _ref$limit,\n _ref$list = _ref.list,\n initialList = _ref$list === void 0 ? !!initialValues.length : _ref$list,\n _ref$inline = _ref.inline,\n initialInline = _ref$inline === void 0 ? false : _ref$inline,\n _ref$autoSelect = _ref.autoSelect,\n initialAutoSelect = _ref$autoSelect === void 0 ? false : _ref$autoSelect;\n\n var valuesById = useRef({});\n\n var _React$useState = useState(initialInputValue),\n inputValue = _React$useState[0],\n setInputValue = _React$useState[1];\n\n var _React$useState2 = useState(initialMinValueLength),\n minValueLength = _React$useState2[0],\n setMinValueLength = _React$useState2[1];\n\n var _React$useState3 = useState(initialValues),\n values = _React$useState3[0],\n setValues = _React$useState3[1];\n\n var _React$useState4 = useState(initialLimit),\n limit = _React$useState4[0],\n setLimit = _React$useState4[1];\n\n var _React$useState5 = useState(initialList),\n list = _React$useState5[0],\n setList = _React$useState5[1];\n\n var _React$useState6 = useState(initialInline),\n inline = _React$useState6[0],\n setInline = _React$useState6[1];\n\n var _React$useState7 = useState(initialAutoSelect),\n autoSelect = _React$useState7[0],\n setAutoSelect = _React$useState7[1];\n\n var matches = useMemo(function () {\n return getMatches(inputValue, values, limit, list, autoSelect, minValueLength);\n }, [inputValue, values, limit, list, autoSelect, minValueLength]);\n var currentValue = useMemo(function () {\n return composite.currentId ? valuesById.current[composite.currentId] : undefined;\n }, [valuesById, composite.currentId]);\n var items = useMemo(function () {\n composite.items.forEach(function (item) {\n if (item.id) {\n item.value = valuesById.current[item.id];\n }\n });\n return composite.items;\n }, [composite.items]);\n var registerItem = useCallback(function (item) {\n composite.registerItem(item);\n\n if (item.id) {\n valuesById.current[item.id] = item.value;\n }\n }, [composite.registerItem]);\n var unregisterItem = useCallback(function (id) {\n composite.unregisterItem(id);\n delete valuesById.current[id];\n }, [composite.unregisterItem]);\n return _objectSpread2(_objectSpread2({}, composite), {}, {\n menuRole: \"listbox\",\n items: items,\n registerItem: registerItem,\n unregisterItem: unregisterItem,\n visible: true,\n inputValue: inputValue,\n minValueLength: minValueLength,\n currentValue: currentValue,\n values: values,\n limit: limit,\n matches: matches,\n list: list,\n inline: inline,\n autoSelect: autoSelect,\n setInputValue: setInputValue,\n setMinValueLength: setMinValueLength,\n setValues: setValues,\n setLimit: setLimit,\n setList: setList,\n setInline: setInline,\n setAutoSelect: setAutoSelect\n });\n}\n\nexport { useComboboxBaseState as u };\n","import '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport 'reakit-utils/shallowEqual';\nimport 'react';\nimport 'reakit-warning';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/dom';\nimport { useSealedState } from 'reakit-utils/useSealedState';\nimport 'reakit-utils/getDocument';\nimport '../reverse-30eaa122.js';\nimport '../getCurrentId-5aa9849e.js';\nimport '../findEnabledItemById-8ddca752.js';\nimport '../Id/IdProvider.js';\nimport 'reakit-utils/applyState';\nimport '../Id/IdState.js';\nimport '../Composite/CompositeState.js';\nimport '../ComboboxBaseState-73fabcba.js';\nimport '@popperjs/core';\nimport '../Disclosure/DisclosureState.js';\nimport '../Dialog/DialogState.js';\nimport '../Popover/PopoverState.js';\nimport { u as useComboboxPopoverState } from '../ComboboxPopoverState-fdc371b4.js';\nimport { unstable_useComboboxListState } from './ComboboxListState.js';\n\nfunction unstable_useComboboxState(initialState) {\n if (initialState === void 0) {\n initialState = {};\n }\n\n var sealed = useSealedState(initialState);\n var combobox = unstable_useComboboxListState(sealed);\n return useComboboxPopoverState(combobox, sealed);\n}\n\nexport { unstable_useComboboxState };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport 'react';\nimport 'reakit-utils/useIsomorphicEffect';\nimport { useSealedState } from 'reakit-utils/useSealedState';\nimport 'reakit-utils/getDocument';\nimport '../reverse-30eaa122.js';\nimport '../getCurrentId-5aa9849e.js';\nimport '../findEnabledItemById-8ddca752.js';\nimport '../Id/IdProvider.js';\nimport 'reakit-utils/applyState';\nimport '../Id/IdState.js';\nimport { useCompositeState } from '../Composite/CompositeState.js';\nimport { u as useComboboxBaseState } from '../ComboboxBaseState-73fabcba.js';\n\nfunction unstable_useComboboxListState(initialState) {\n if (initialState === void 0) {\n initialState = {};\n }\n\n var _useSealedState = useSealedState(initialState),\n _useSealedState$curre = _useSealedState.currentId,\n currentId = _useSealedState$curre === void 0 ? null : _useSealedState$curre,\n _useSealedState$orien = _useSealedState.orientation,\n orientation = _useSealedState$orien === void 0 ? \"vertical\" : _useSealedState$orien,\n _useSealedState$loop = _useSealedState.loop,\n loop = _useSealedState$loop === void 0 ? true : _useSealedState$loop,\n sealed = _objectWithoutPropertiesLoose(_useSealedState, [\"currentId\", \"orientation\", \"loop\"]);\n\n var composite = useCompositeState(_objectSpread2(_objectSpread2({\n currentId: currentId,\n orientation: orientation,\n loop: loop\n }, sealed), {}, {\n unstable_virtual: true,\n unstable_includesBaseElement: true\n }));\n return useComboboxBaseState(composite, sealed);\n}\n\nexport { unstable_useComboboxListState };\n","import { a as _objectSpread2, _ as _objectWithoutPropertiesLoose } from './_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { useEffect } from 'react';\nimport { usePopoverState } from './Popover/PopoverState.js';\n\nfunction useComboboxPopoverState(combobox, _ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$gutter = _ref2.gutter,\n gutter = _ref2$gutter === void 0 ? 0 : _ref2$gutter,\n _ref2$placement = _ref2.placement,\n placement = _ref2$placement === void 0 ? \"bottom-start\" : _ref2$placement,\n initialState = _objectWithoutPropertiesLoose(_ref2, [\"gutter\", \"placement\"]);\n\n var popover = usePopoverState(_objectSpread2({\n gutter: gutter,\n placement: placement\n }, initialState));\n var visible = popover.visible && combobox.inputValue.length >= combobox.minValueLength;\n useEffect(function () {\n if (!visible) {\n // We need to reset combobox.moves\n combobox.reset();\n }\n }, [visible, combobox.reset]);\n return _objectSpread2(_objectSpread2(_objectSpread2({}, combobox), popover), {}, {\n visible: visible\n });\n}\n\nexport { useComboboxPopoverState as u };\n","import './getDocument.js';\nimport { a as _objectSpread2 } from './_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createEvent } from './createEvent.js';\n\nfunction createFocusEvent(element, type, eventInit) {\n if (eventInit === void 0) {\n eventInit = {};\n }\n\n if (typeof FocusEvent === \"function\") {\n return new FocusEvent(type, eventInit);\n }\n\n return createEvent(element, type, eventInit);\n}\n/**\n * Creates and dispatches a blur event in a way that also works on IE 11.\n *\n * @example\n * import { fireBlurEvent } from \"reakit-utils\";\n *\n * fireBlurEvent(document.getElementById(\"id\"));\n */\n\n\nfunction fireBlurEvent(element, eventInit) {\n var event = createFocusEvent(element, \"blur\", eventInit);\n var defaultAllowed = element.dispatchEvent(event);\n\n var bubbleInit = _objectSpread2(_objectSpread2({}, eventInit), {}, {\n bubbles: true\n });\n\n element.dispatchEvent(createFocusEvent(element, \"focusout\", bubbleInit));\n return defaultAllowed;\n}\n\nexport { fireBlurEvent };\n","import { getDocument } from './getDocument.js';\nimport { getWindow } from './getWindow.js';\n\nfunction createKeyboardEvent(element, type, eventInit) {\n if (eventInit === void 0) {\n eventInit = {};\n }\n\n if (typeof KeyboardEvent === \"function\") {\n return new KeyboardEvent(type, eventInit);\n } // IE 11 doesn't support Event constructors\n\n\n var event = getDocument(element).createEvent(\"KeyboardEvent\");\n event.initKeyboardEvent(type, eventInit.bubbles, eventInit.cancelable, getWindow(element), eventInit.key, eventInit.location, eventInit.ctrlKey, eventInit.altKey, eventInit.shiftKey, eventInit.metaKey);\n return event;\n}\n/**\n * Creates and dispatches `KeyboardEvent` in a way that also works on IE 11.\n *\n * @example\n * import { fireKeyboardEvent } from \"reakit-utils\";\n *\n * fireKeyboardEvent(document.getElementById(\"id\"), \"keydown\", {\n * key: \"ArrowDown\",\n * shiftKey: true,\n * });\n */\n\n\nfunction fireKeyboardEvent(element, type, eventInit) {\n return element.dispatchEvent(createKeyboardEvent(element, type, eventInit));\n}\n\nexport { fireKeyboardEvent };\n","import { a as _objectSpread2, _ as _objectWithoutPropertiesLoose } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRef, useEffect, useCallback, useReducer } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport { warning, useWarning } from 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport { isSelfTarget } from 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport { useRole } from '../Role/Role.js';\nimport { useTabbable } from '../Tabbable/Tabbable.js';\nimport { useCreateElement } from 'reakit-system/useCreateElement';\nimport { getDocument } from 'reakit-utils/getDocument';\nimport { fireBlurEvent } from 'reakit-utils/fireBlurEvent';\nimport { fireKeyboardEvent } from 'reakit-utils/fireKeyboardEvent';\nimport { canUseDOM } from 'reakit-utils/canUseDOM';\nimport { getNextActiveElementOnBlur } from 'reakit-utils/getNextActiveElementOnBlur';\nimport { f as flatten, r as reverse, g as groupItems } from '../reverse-30eaa122.js';\nimport { g as getCurrentId, f as findFirstEnabledItem } from '../getCurrentId-5aa9849e.js';\nimport { f as findEnabledItemById } from '../findEnabledItemById-8ddca752.js';\nimport { C as COMPOSITE_KEYS } from '../__keys-6742f591.js';\nimport { u as userFocus } from '../userFocus-e16425e3.js';\n\nvar isIE11 = canUseDOM && \"msCrypto\" in window;\n\nfunction canProxyKeyboardEvent(event) {\n if (!isSelfTarget(event)) return false;\n if (event.metaKey) return false;\n if (event.key === \"Tab\") return false;\n return true;\n}\n\nfunction useKeyboardEventProxy(virtual, currentItem, htmlEventHandler) {\n var eventHandlerRef = useLiveRef(htmlEventHandler);\n return useCallback(function (event) {\n var _eventHandlerRef$curr;\n\n (_eventHandlerRef$curr = eventHandlerRef.current) === null || _eventHandlerRef$curr === void 0 ? void 0 : _eventHandlerRef$curr.call(eventHandlerRef, event);\n if (event.defaultPrevented) return;\n\n if (virtual && canProxyKeyboardEvent(event)) {\n var currentElement = currentItem === null || currentItem === void 0 ? void 0 : currentItem.ref.current;\n\n if (currentElement) {\n if (!fireKeyboardEvent(currentElement, event.type, event)) {\n event.preventDefault();\n } // The event will be triggered on the composite item and then\n // propagated up to this composite element again, so we can pretend\n // that it wasn't called on this component in the first place.\n\n\n if (event.currentTarget.contains(currentElement)) {\n event.stopPropagation();\n }\n }\n }\n }, [virtual, currentItem]);\n} // istanbul ignore next\n\n\nfunction useActiveElementRef(elementRef) {\n var activeElementRef = useRef(null);\n useEffect(function () {\n var document = getDocument(elementRef.current);\n\n var onFocus = function onFocus(event) {\n var target = event.target;\n activeElementRef.current = target;\n };\n\n document.addEventListener(\"focus\", onFocus, true);\n return function () {\n document.removeEventListener(\"focus\", onFocus, true);\n };\n }, []);\n return activeElementRef;\n}\n\nfunction findFirstEnabledItemInTheLastRow(items) {\n return findFirstEnabledItem(flatten(reverse(groupItems(items))));\n}\n\nfunction isItem(items, element) {\n return items === null || items === void 0 ? void 0 : items.some(function (item) {\n return !!element && item.ref.current === element;\n });\n}\n\nfunction useScheduleUserFocus(currentItem) {\n var currentItemRef = useLiveRef(currentItem);\n\n var _React$useReducer = useReducer(function (n) {\n return n + 1;\n }, 0),\n scheduled = _React$useReducer[0],\n schedule = _React$useReducer[1];\n\n useEffect(function () {\n var _currentItemRef$curre;\n\n var currentElement = (_currentItemRef$curre = currentItemRef.current) === null || _currentItemRef$curre === void 0 ? void 0 : _currentItemRef$curre.ref.current;\n\n if (scheduled && currentElement) {\n userFocus(currentElement);\n }\n }, [scheduled]);\n return schedule;\n}\n\nvar useComposite = createHook({\n name: \"Composite\",\n compose: [useTabbable],\n keys: COMPOSITE_KEYS,\n useOptions: function useOptions(options) {\n return _objectSpread2(_objectSpread2({}, options), {}, {\n currentId: getCurrentId(options)\n });\n },\n useProps: function useProps(options, _ref) {\n var htmlRef = _ref.ref,\n htmlOnFocusCapture = _ref.onFocusCapture,\n htmlOnFocus = _ref.onFocus,\n htmlOnBlurCapture = _ref.onBlurCapture,\n htmlOnKeyDown = _ref.onKeyDown,\n htmlOnKeyDownCapture = _ref.onKeyDownCapture,\n htmlOnKeyUpCapture = _ref.onKeyUpCapture,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"ref\", \"onFocusCapture\", \"onFocus\", \"onBlurCapture\", \"onKeyDown\", \"onKeyDownCapture\", \"onKeyUpCapture\"]);\n\n var ref = useRef(null);\n var currentItem = findEnabledItemById(options.items, options.currentId);\n var previousElementRef = useRef(null);\n var onFocusCaptureRef = useLiveRef(htmlOnFocusCapture);\n var onFocusRef = useLiveRef(htmlOnFocus);\n var onBlurCaptureRef = useLiveRef(htmlOnBlurCapture);\n var onKeyDownRef = useLiveRef(htmlOnKeyDown);\n var scheduleUserFocus = useScheduleUserFocus(currentItem); // IE 11 doesn't support event.relatedTarget, so we use the active element\n // ref instead.\n\n var activeElementRef = isIE11 ? useActiveElementRef(ref) : undefined;\n useEffect(function () {\n var element = ref.current;\n\n if (options.unstable_moves && !currentItem) {\n process.env.NODE_ENV !== \"production\" ? warning(!element, \"Can't focus composite component because `ref` wasn't passed to component.\", \"See https://reakit.io/docs/composite\") : void 0; // If composite.move(null) has been called, the composite container\n // will receive focus.\n\n element === null || element === void 0 ? void 0 : element.focus();\n }\n }, [options.unstable_moves, currentItem]);\n var onKeyDownCapture = useKeyboardEventProxy(options.unstable_virtual, currentItem, htmlOnKeyDownCapture);\n var onKeyUpCapture = useKeyboardEventProxy(options.unstable_virtual, currentItem, htmlOnKeyUpCapture);\n var onFocusCapture = useCallback(function (event) {\n var _onFocusCaptureRef$cu;\n\n (_onFocusCaptureRef$cu = onFocusCaptureRef.current) === null || _onFocusCaptureRef$cu === void 0 ? void 0 : _onFocusCaptureRef$cu.call(onFocusCaptureRef, event);\n if (event.defaultPrevented) return;\n if (!options.unstable_virtual) return; // IE11 doesn't support event.relatedTarget, so we use the active\n // element ref instead.\n\n var previousActiveElement = (activeElementRef === null || activeElementRef === void 0 ? void 0 : activeElementRef.current) || event.relatedTarget;\n var previousActiveElementWasItem = isItem(options.items, previousActiveElement);\n\n if (isSelfTarget(event) && previousActiveElementWasItem) {\n // Composite has been focused as a result of an item receiving focus.\n // The composite item will move focus back to the composite\n // container. In this case, we don't want to propagate this\n // additional event nor call the onFocus handler passed to\n // .\n event.stopPropagation(); // We keep track of the previous active item element so we can\n // manually fire a blur event on it later when the focus is moved to\n // another item on the onBlurCapture event below.\n\n previousElementRef.current = previousActiveElement;\n }\n }, [options.unstable_virtual, options.items]);\n var onFocus = useCallback(function (event) {\n var _onFocusRef$current;\n\n (_onFocusRef$current = onFocusRef.current) === null || _onFocusRef$current === void 0 ? void 0 : _onFocusRef$current.call(onFocusRef, event);\n if (event.defaultPrevented) return;\n\n if (options.unstable_virtual) {\n if (isSelfTarget(event)) {\n // This means that the composite element has been focused while the\n // composite item has not. For example, by clicking on the\n // composite element without touching any item, or by tabbing into\n // the composite element. In this case, we want to trigger focus on\n // the item, just like it would happen with roving tabindex.\n // When it receives focus, the composite item will put focus back\n // on the composite element, in which case hasItemWithFocus will be\n // true.\n scheduleUserFocus();\n }\n } else if (isSelfTarget(event)) {\n var _options$setCurrentId;\n\n // When the roving tabindex composite gets intentionally focused (for\n // example, by clicking directly on it, and not on an item), we make\n // sure to set the current id to null (which means the composite\n // itself is focused).\n (_options$setCurrentId = options.setCurrentId) === null || _options$setCurrentId === void 0 ? void 0 : _options$setCurrentId.call(options, null);\n }\n }, [options.unstable_virtual, options.setCurrentId]);\n var onBlurCapture = useCallback(function (event) {\n var _onBlurCaptureRef$cur;\n\n (_onBlurCaptureRef$cur = onBlurCaptureRef.current) === null || _onBlurCaptureRef$cur === void 0 ? void 0 : _onBlurCaptureRef$cur.call(onBlurCaptureRef, event);\n if (event.defaultPrevented) return;\n if (!options.unstable_virtual) return; // When virtual is set to true, we move focus from the composite\n // container (this component) to the composite item that is being\n // selected. Then we move focus back to the composite container. This\n // is so we can provide the same API as the roving tabindex method,\n // which means people can attach onFocus/onBlur handlers on the\n // CompositeItem component regardless of whether it's virtual or not.\n // This sequence of blurring and focusing items and composite may be\n // confusing, so we ignore intermediate focus and blurs by stopping its\n // propagation and not calling the passed onBlur handler (htmlOnBlur).\n\n var currentElement = (currentItem === null || currentItem === void 0 ? void 0 : currentItem.ref.current) || null;\n var nextActiveElement = getNextActiveElementOnBlur(event);\n var nextActiveElementIsItem = isItem(options.items, nextActiveElement);\n\n if (isSelfTarget(event) && nextActiveElementIsItem) {\n // This is an intermediate blur event: blurring the composite\n // container to focus an item (nextActiveElement).\n if (nextActiveElement === currentElement) {\n // The next active element will be the same as the current item in\n // the state in two scenarios:\n // - Moving focus with keyboard: the state is updated before the\n // blur event is triggered, so here the current item is already\n // pointing to the next active element.\n // - Clicking on the current active item with a pointer: this\n // will trigger blur on the composite element and then the next\n // active element will be the same as the current item. Clicking on\n // an item other than the current one doesn't end up here as the\n // currentItem state will be updated only after it.\n if (previousElementRef.current && previousElementRef.current !== nextActiveElement) {\n // If there's a previous active item and it's not a click action,\n // then we fire a blur event on it so it will work just like if\n // it had DOM focus before (like when using roving tabindex).\n fireBlurEvent(previousElementRef.current, event);\n }\n } else if (currentElement) {\n // This will be true when the next active element is not the\n // current element, but there's a current item. This will only\n // happen when clicking with a pointer on a different item, when\n // there's already an item selected, in which case currentElement\n // is the item that is getting blurred, and nextActiveElement is\n // the item that is being clicked.\n fireBlurEvent(currentElement, event);\n } // We want to ignore intermediate blur events, so we stop its\n // propagation and return early so onFocus will not be called.\n\n\n event.stopPropagation();\n } else {\n var targetIsItem = isItem(options.items, event.target);\n\n if (!targetIsItem && currentElement) {\n // If target is not a composite item, it may be the composite\n // element itself (isSelfTarget) or a tabbable element inside the\n // composite widget. This may be triggered by clicking outside the\n // composite widget or by tabbing out of it. In either cases we\n // want to fire a blur event on the current item.\n fireBlurEvent(currentElement, event);\n }\n }\n }, [options.unstable_virtual, options.items, currentItem]);\n var onKeyDown = useCallback(function (event) {\n var _onKeyDownRef$current, _options$groups;\n\n (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event);\n if (event.defaultPrevented) return;\n if (options.currentId !== null) return;\n if (!isSelfTarget(event)) return;\n var isVertical = options.orientation !== \"horizontal\";\n var isHorizontal = options.orientation !== \"vertical\";\n var isGrid = !!((_options$groups = options.groups) !== null && _options$groups !== void 0 && _options$groups.length);\n\n var up = function up() {\n if (isGrid) {\n var item = findFirstEnabledItemInTheLastRow(options.items);\n\n if (item !== null && item !== void 0 && item.id) {\n var _options$move;\n\n (_options$move = options.move) === null || _options$move === void 0 ? void 0 : _options$move.call(options, item.id);\n }\n } else {\n var _options$last;\n\n (_options$last = options.last) === null || _options$last === void 0 ? void 0 : _options$last.call(options);\n }\n };\n\n var keyMap = {\n ArrowUp: (isGrid || isVertical) && up,\n ArrowRight: (isGrid || isHorizontal) && options.first,\n ArrowDown: (isGrid || isVertical) && options.first,\n ArrowLeft: (isGrid || isHorizontal) && options.last,\n Home: options.first,\n End: options.last,\n PageUp: options.first,\n PageDown: options.last\n };\n var action = keyMap[event.key];\n\n if (action) {\n event.preventDefault();\n action();\n }\n }, [options.currentId, options.orientation, options.groups, options.items, options.move, options.last, options.first]);\n return _objectSpread2({\n ref: useForkRef(ref, htmlRef),\n id: options.baseId,\n onFocus: onFocus,\n onFocusCapture: onFocusCapture,\n onBlurCapture: onBlurCapture,\n onKeyDownCapture: onKeyDownCapture,\n onKeyDown: onKeyDown,\n onKeyUpCapture: onKeyUpCapture,\n \"aria-activedescendant\": options.unstable_virtual ? (currentItem === null || currentItem === void 0 ? void 0 : currentItem.id) || undefined : undefined\n }, htmlProps);\n },\n useComposeProps: function useComposeProps(options, htmlProps) {\n htmlProps = useRole(options, htmlProps, true);\n var tabbableHTMLProps = useTabbable(options, htmlProps, true);\n\n if (options.unstable_virtual || options.currentId === null) {\n // Composite will only be tabbable by default if the focus is managed\n // using aria-activedescendant, which requires DOM focus on the container\n // element (the composite)\n return _objectSpread2({\n tabIndex: 0\n }, tabbableHTMLProps);\n }\n\n return _objectSpread2(_objectSpread2({}, htmlProps), {}, {\n ref: tabbableHTMLProps.ref\n });\n }\n});\nvar Composite = createComponent({\n as: \"div\",\n useHook: useComposite,\n useCreateElement: function useCreateElement$1(type, props, children) {\n process.env.NODE_ENV !== \"production\" ? useWarning(!props[\"aria-label\"] && !props[\"aria-labelledby\"], \"You should provide either `aria-label` or `aria-labelledby` props.\", \"See https://reakit.io/docs/composite\") : void 0;\n return useCreateElement(type, props, children);\n }\n});\n\nexport { Composite, useComposite };\n","/**\n * Check whether the given element is a text field, where text field is defined\n * by the ability to select within the input, or that it is contenteditable.\n *\n * @example\n * import { isTextField } from \"reakit-utils\";\n *\n * isTextField(document.querySelector(\"div\")); // false\n * isTextField(document.querySelector(\"input\")); // true\n * isTextField(document.querySelector(\"input[type='button']\")); // false\n * isTextField(document.querySelector(\"textarea\")); // true\n * isTextField(document.querySelector(\"div[contenteditable='true']\")); // true\n */\nfunction isTextField(element) {\n try {\n var isTextInput = element instanceof HTMLInputElement && element.selectionStart !== null;\n var isTextArea = element.tagName === \"TEXTAREA\";\n var isContentEditable = element.contentEditable === \"true\";\n return isTextInput || isTextArea || isContentEditable || false;\n } catch (error) {\n // Safari throws an exception when trying to get `selectionStart`\n // on non-text elements (which, understandably, don't\n // have the text selection API). We catch this via a try/catch\n // block, as opposed to a more explicit check of the element's\n // input types, because of Safari's non-standard behavior. This\n // also means we don't have to worry about the list of input\n // types that support `selectionStart` changing as the HTML spec\n // evolves over time.\n return false;\n }\n}\n\nexport { isTextField };\n","import { a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport { useContext, useState, useMemo } from 'react';\nimport { unstable_IdContext } from './IdProvider.js';\n\n// Automatically generated\nvar ID_STATE_KEYS = [\"baseId\", \"unstable_idCountRef\", \"setBaseId\"];\nvar ID_KEYS = [].concat(ID_STATE_KEYS, [\"id\"]);\n\nvar unstable_useId = createHook({\n keys: ID_KEYS,\n useOptions: function useOptions(options, htmlProps) {\n var generateId = useContext(unstable_IdContext);\n\n var _React$useState = useState(function () {\n // This comes from useIdState\n if (options.unstable_idCountRef) {\n options.unstable_idCountRef.current += 1;\n return \"-\" + options.unstable_idCountRef.current;\n } // If there's no useIdState, we check if `baseId` was passed (as a prop,\n // not from useIdState).\n\n\n if (options.baseId) {\n return \"-\" + generateId(\"\");\n }\n\n return \"\";\n }),\n suffix = _React$useState[0]; // `baseId` will be the prop passed directly as a prop or via useIdState.\n // If there's neither, then it'll fallback to Context's generateId.\n // This generateId can result in a sequential ID (if there's a Provider)\n // or a random string (without Provider).\n\n\n var baseId = useMemo(function () {\n return options.baseId || generateId();\n }, [options.baseId, generateId]);\n var id = htmlProps.id || options.id || \"\" + baseId + suffix;\n return _objectSpread2(_objectSpread2({}, options), {}, {\n id: id\n });\n },\n useProps: function useProps(options, htmlProps) {\n return _objectSpread2({\n id: options.id\n }, htmlProps);\n }\n});\nvar unstable_Id = createComponent({\n as: \"div\",\n useHook: unstable_useId\n});\n\nexport { unstable_Id, unstable_useId };\n","import { fireEvent } from 'reakit-utils/fireEvent';\n\nfunction setTextFieldValue(element, value) {\n if (element instanceof HTMLInputElement || element instanceof HTMLTextAreaElement) {\n var _Object$getOwnPropert;\n\n var proto = Object.getPrototypeOf(element);\n var setValue = (_Object$getOwnPropert = Object.getOwnPropertyDescriptor(proto, \"value\")) === null || _Object$getOwnPropert === void 0 ? void 0 : _Object$getOwnPropert.set;\n\n if (setValue) {\n setValue.call(element, value);\n fireEvent(element, \"input\", {\n bubbles: true\n });\n }\n }\n}\n\nexport { setTextFieldValue as s };\n","import './getDocument.js';\nimport { createEvent } from './createEvent.js';\n\n/**\n * Creates and dispatches `Event` in a way that also works on IE 11.\n *\n * @example\n * import { fireEvent } from \"reakit-utils\";\n *\n * fireEvent(document.getElementById(\"id\"), \"blur\", {\n * bubbles: true,\n * cancelable: true,\n * });\n */\n\nfunction fireEvent(element, type, eventInit) {\n return element.dispatchEvent(createEvent(element, type, eventInit));\n}\n\nexport { fireEvent };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2, b as _createForOfIteratorHelperLoose } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRef, useMemo, useEffect, useCallback } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport { warning } from 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport { isSelfTarget } from 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport { hasFocusWithin } from 'reakit-utils/hasFocusWithin';\nimport { isPortalEvent } from 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport { useClickable } from '../Clickable/Clickable.js';\nimport { getDocument } from 'reakit-utils/getDocument';\nimport { g as getCurrentId } from '../getCurrentId-5aa9849e.js';\nimport { b as COMPOSITE_ITEM_KEYS } from '../__keys-6742f591.js';\nimport { u as userFocus, s as setUserFocus, h as hasUserFocus } from '../userFocus-e16425e3.js';\nimport { isTextField } from 'reakit-utils/isTextField';\nimport { ensureFocus } from 'reakit-utils/ensureFocus';\nimport '../Id/IdProvider.js';\nimport { unstable_useId } from '../Id/Id.js';\nimport 'reakit-utils/fireEvent';\nimport { s as setTextFieldValue } from '../setTextFieldValue-0a221f4e.js';\n\nfunction getWidget(itemElement) {\n return itemElement.querySelector(\"[data-composite-item-widget]\");\n}\n\nfunction useItem(options) {\n return useMemo(function () {\n var _options$items;\n\n return (_options$items = options.items) === null || _options$items === void 0 ? void 0 : _options$items.find(function (item) {\n return options.id && item.id === options.id;\n });\n }, [options.items, options.id]);\n}\n\nfunction targetIsAnotherItem(event, items) {\n if (isSelfTarget(event)) return false;\n\n for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {\n var item = _step.value;\n\n if (item.ref.current === event.target) {\n return true;\n }\n }\n\n return false;\n}\n\nvar useCompositeItem = createHook({\n name: \"CompositeItem\",\n compose: [useClickable, unstable_useId],\n keys: COMPOSITE_ITEM_KEYS,\n propsAreEqual: function propsAreEqual(prev, next) {\n if (!next.id || prev.id !== next.id) {\n return useClickable.unstable_propsAreEqual(prev, next);\n }\n\n var prevCurrentId = prev.currentId,\n prevMoves = prev.unstable_moves,\n prevProps = _objectWithoutPropertiesLoose(prev, [\"currentId\", \"unstable_moves\"]);\n\n var nextCurrentId = next.currentId,\n nextMoves = next.unstable_moves,\n nextProps = _objectWithoutPropertiesLoose(next, [\"currentId\", \"unstable_moves\"]);\n\n if (nextCurrentId !== prevCurrentId) {\n if (next.id === nextCurrentId || next.id === prevCurrentId) {\n return false;\n }\n } else if (prevMoves !== nextMoves) {\n return false;\n }\n\n return useClickable.unstable_propsAreEqual(prevProps, nextProps);\n },\n useOptions: function useOptions(options) {\n return _objectSpread2(_objectSpread2({}, options), {}, {\n id: options.id,\n currentId: getCurrentId(options),\n unstable_clickOnSpace: options.unstable_hasActiveWidget ? false : options.unstable_clickOnSpace\n });\n },\n useProps: function useProps(options, _ref) {\n var _options$items2;\n\n var htmlRef = _ref.ref,\n _ref$tabIndex = _ref.tabIndex,\n htmlTabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,\n htmlOnMouseDown = _ref.onMouseDown,\n htmlOnFocus = _ref.onFocus,\n htmlOnBlurCapture = _ref.onBlurCapture,\n htmlOnKeyDown = _ref.onKeyDown,\n htmlOnClick = _ref.onClick,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"ref\", \"tabIndex\", \"onMouseDown\", \"onFocus\", \"onBlurCapture\", \"onKeyDown\", \"onClick\"]);\n\n var ref = useRef(null);\n var id = options.id;\n var trulyDisabled = options.disabled && !options.focusable;\n var isCurrentItem = options.currentId === id;\n var isCurrentItemRef = useLiveRef(isCurrentItem);\n var hasFocusedComposite = useRef(false);\n var item = useItem(options);\n var onMouseDownRef = useLiveRef(htmlOnMouseDown);\n var onFocusRef = useLiveRef(htmlOnFocus);\n var onBlurCaptureRef = useLiveRef(htmlOnBlurCapture);\n var onKeyDownRef = useLiveRef(htmlOnKeyDown);\n var onClickRef = useLiveRef(htmlOnClick);\n var shouldTabIndex = !options.unstable_virtual && !options.unstable_hasActiveWidget && isCurrentItem || // We don't want to set tabIndex=\"-1\" when using CompositeItem as a\n // standalone component, without state props.\n !((_options$items2 = options.items) !== null && _options$items2 !== void 0 && _options$items2.length);\n useEffect(function () {\n var _options$registerItem;\n\n if (!id) return undefined;\n (_options$registerItem = options.registerItem) === null || _options$registerItem === void 0 ? void 0 : _options$registerItem.call(options, {\n id: id,\n ref: ref,\n disabled: !!trulyDisabled\n });\n return function () {\n var _options$unregisterIt;\n\n (_options$unregisterIt = options.unregisterItem) === null || _options$unregisterIt === void 0 ? void 0 : _options$unregisterIt.call(options, id);\n };\n }, [id, trulyDisabled, options.registerItem, options.unregisterItem]);\n useEffect(function () {\n var element = ref.current;\n\n if (!element) {\n process.env.NODE_ENV !== \"production\" ? warning(true, \"Can't focus composite item component because `ref` wasn't passed to component.\", \"See https://reakit.io/docs/composite\") : void 0;\n return;\n } // `moves` will be incremented whenever next, previous, up, down, first,\n // last or move have been called. This means that the composite item will\n // be focused whenever some of these functions are called. We're using\n // isCurrentItemRef instead of isCurrentItem because we don't want to\n // focus the item if isCurrentItem changes (and options.moves doesn't).\n\n\n if (options.unstable_moves && isCurrentItemRef.current) {\n userFocus(element);\n }\n }, [options.unstable_moves]);\n var onMouseDown = useCallback(function (event) {\n var _onMouseDownRef$curre;\n\n (_onMouseDownRef$curre = onMouseDownRef.current) === null || _onMouseDownRef$curre === void 0 ? void 0 : _onMouseDownRef$curre.call(onMouseDownRef, event);\n setUserFocus(event.currentTarget, true);\n }, []);\n var onFocus = useCallback(function (event) {\n var _onFocusRef$current, _options$setCurrentId;\n\n var shouldFocusComposite = hasUserFocus(event.currentTarget);\n setUserFocus(event.currentTarget, false);\n (_onFocusRef$current = onFocusRef.current) === null || _onFocusRef$current === void 0 ? void 0 : _onFocusRef$current.call(onFocusRef, event);\n if (event.defaultPrevented) return;\n if (isPortalEvent(event)) return;\n if (!id) return;\n if (targetIsAnotherItem(event, options.items)) return;\n (_options$setCurrentId = options.setCurrentId) === null || _options$setCurrentId === void 0 ? void 0 : _options$setCurrentId.call(options, id); // When using aria-activedescendant, we want to make sure that the\n // composite container receives focus, not the composite item.\n // But we don't want to do this if the target is another focusable\n // element inside the composite item, such as CompositeItemWidget.\n\n if (shouldFocusComposite && options.unstable_virtual && options.baseId && isSelfTarget(event)) {\n var target = event.target;\n var composite = getDocument(target).getElementById(options.baseId);\n\n if (composite) {\n hasFocusedComposite.current = true;\n ensureFocus(composite);\n }\n }\n }, [id, options.items, options.setCurrentId, options.unstable_virtual, options.baseId]);\n var onBlurCapture = useCallback(function (event) {\n var _onBlurCaptureRef$cur;\n\n (_onBlurCaptureRef$cur = onBlurCaptureRef.current) === null || _onBlurCaptureRef$cur === void 0 ? void 0 : _onBlurCaptureRef$cur.call(onBlurCaptureRef, event);\n if (event.defaultPrevented) return;\n\n if (options.unstable_virtual && hasFocusedComposite.current) {\n // When hasFocusedComposite is true, composite has been focused right\n // after focusing this item. This is an intermediate blur event, so\n // we ignore it.\n hasFocusedComposite.current = false;\n event.preventDefault();\n event.stopPropagation();\n }\n }, [options.unstable_virtual]);\n var onKeyDown = useCallback(function (event) {\n var _onKeyDownRef$current;\n\n if (!isSelfTarget(event)) return;\n var isVertical = options.orientation !== \"horizontal\";\n var isHorizontal = options.orientation !== \"vertical\";\n var isGrid = !!(item !== null && item !== void 0 && item.groupId);\n var keyMap = {\n ArrowUp: (isGrid || isVertical) && options.up,\n ArrowRight: (isGrid || isHorizontal) && options.next,\n ArrowDown: (isGrid || isVertical) && options.down,\n ArrowLeft: (isGrid || isHorizontal) && options.previous,\n Home: function Home() {\n if (!isGrid || event.ctrlKey) {\n var _options$first;\n\n (_options$first = options.first) === null || _options$first === void 0 ? void 0 : _options$first.call(options);\n } else {\n var _options$previous;\n\n (_options$previous = options.previous) === null || _options$previous === void 0 ? void 0 : _options$previous.call(options, true);\n }\n },\n End: function End() {\n if (!isGrid || event.ctrlKey) {\n var _options$last;\n\n (_options$last = options.last) === null || _options$last === void 0 ? void 0 : _options$last.call(options);\n } else {\n var _options$next;\n\n (_options$next = options.next) === null || _options$next === void 0 ? void 0 : _options$next.call(options, true);\n }\n },\n PageUp: function PageUp() {\n if (isGrid) {\n var _options$up;\n\n (_options$up = options.up) === null || _options$up === void 0 ? void 0 : _options$up.call(options, true);\n } else {\n var _options$first2;\n\n (_options$first2 = options.first) === null || _options$first2 === void 0 ? void 0 : _options$first2.call(options);\n }\n },\n PageDown: function PageDown() {\n if (isGrid) {\n var _options$down;\n\n (_options$down = options.down) === null || _options$down === void 0 ? void 0 : _options$down.call(options, true);\n } else {\n var _options$last2;\n\n (_options$last2 = options.last) === null || _options$last2 === void 0 ? void 0 : _options$last2.call(options);\n }\n }\n };\n var action = keyMap[event.key];\n\n if (action) {\n event.preventDefault();\n action();\n return;\n }\n\n (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event);\n if (event.defaultPrevented) return;\n\n if (event.key.length === 1 && event.key !== \" \") {\n var widget = getWidget(event.currentTarget);\n\n if (widget && isTextField(widget)) {\n widget.focus();\n setTextFieldValue(widget, \"\");\n }\n } else if (event.key === \"Delete\" || event.key === \"Backspace\") {\n var _widget = getWidget(event.currentTarget);\n\n if (_widget && isTextField(_widget)) {\n event.preventDefault();\n setTextFieldValue(_widget, \"\");\n }\n }\n }, [options.orientation, item, options.up, options.next, options.down, options.previous, options.first, options.last]);\n var onClick = useCallback(function (event) {\n var _onClickRef$current;\n\n (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event);\n if (event.defaultPrevented) return;\n var element = event.currentTarget;\n var widget = getWidget(element);\n\n if (widget && !hasFocusWithin(widget)) {\n // If there's a widget inside the composite item, we make sure it's\n // focused when pressing enter, space or clicking on the composite item.\n widget.focus();\n }\n }, []);\n return _objectSpread2({\n ref: useForkRef(ref, htmlRef),\n id: id,\n tabIndex: shouldTabIndex ? htmlTabIndex : -1,\n \"aria-selected\": options.unstable_virtual && isCurrentItem ? true : undefined,\n onMouseDown: onMouseDown,\n onFocus: onFocus,\n onBlurCapture: onBlurCapture,\n onKeyDown: onKeyDown,\n onClick: onClick\n }, htmlProps);\n }\n});\nvar CompositeItem = createComponent({\n as: \"button\",\n memo: true,\n useHook: useCompositeItem\n});\n\nexport { CompositeItem, useCompositeItem };\n","function isUpdater(argument) {\n return typeof argument === \"function\";\n}\n/**\n * Receives a `setState` argument and calls it with `currentValue` if it's a\n * function. Otherwise return the argument as the new value.\n *\n * @example\n * import { applyState } from \"reakit-utils\";\n *\n * applyState((value) => value + 1, 1); // 2\n * applyState(2, 1); // 2\n */\n\n\nfunction applyState(argument, currentValue) {\n if (isUpdater(argument)) {\n return argument(currentValue);\n }\n\n return argument;\n}\n\nexport { applyState };\n","import { b as _createForOfIteratorHelperLoose, a as _objectSpread2, _ as _objectWithoutPropertiesLoose } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { useRef, useEffect, useReducer, useState, useCallback } from 'react';\nimport { useIsomorphicEffect } from 'reakit-utils/useIsomorphicEffect';\nimport { useSealedState } from 'reakit-utils/useSealedState';\nimport { getDocument } from 'reakit-utils/getDocument';\nimport { g as groupItems, r as reverse, f as flatten } from '../reverse-30eaa122.js';\nimport { f as findFirstEnabledItem, g as getCurrentId } from '../getCurrentId-5aa9849e.js';\nimport { f as findEnabledItemById } from '../findEnabledItemById-8ddca752.js';\nimport '../Id/IdProvider.js';\nimport { applyState } from 'reakit-utils/applyState';\nimport { unstable_useIdState } from '../Id/IdState.js';\n\nfunction isElementPreceding(element1, element2) {\n return Boolean(element2.compareDocumentPosition(element1) & Node.DOCUMENT_POSITION_PRECEDING);\n}\n\nfunction findDOMIndex(items, item) {\n return items.findIndex(function (currentItem) {\n if (!currentItem.ref.current || !item.ref.current) {\n return false;\n }\n\n return isElementPreceding(item.ref.current, currentItem.ref.current);\n });\n}\n\nfunction getMaxLength(rows) {\n var maxLength = 0;\n\n for (var _iterator = _createForOfIteratorHelperLoose(rows), _step; !(_step = _iterator()).done;) {\n var length = _step.value.length;\n\n if (length > maxLength) {\n maxLength = length;\n }\n }\n\n return maxLength;\n}\n\n/**\n * Turns [row1, row1, row2, row2] into [row1, row2, row1, row2]\n */\n\nfunction verticalizeItems(items) {\n var groups = groupItems(items);\n var maxLength = getMaxLength(groups);\n var verticalized = [];\n\n for (var i = 0; i < maxLength; i += 1) {\n for (var _iterator = _createForOfIteratorHelperLoose(groups), _step; !(_step = _iterator()).done;) {\n var group = _step.value;\n\n if (group[i]) {\n verticalized.push(_objectSpread2(_objectSpread2({}, group[i]), {}, {\n // If there's no groupId, it means that it's not a grid composite,\n // but a single row instead. So, instead of verticalizing it, that\n // is, assigning a different groupId based on the column index, we\n // keep it undefined so they will be part of the same group.\n // It's useful when using up/down on one-dimensional composites.\n groupId: group[i].groupId ? \"\" + i : undefined\n }));\n }\n }\n }\n\n return verticalized;\n}\n\nfunction createEmptyItem(groupId) {\n return {\n id: \"__EMPTY_ITEM__\",\n disabled: true,\n ref: {\n current: null\n },\n groupId: groupId\n };\n}\n/**\n * Turns [[row1, row1], [row2]] into [[row1, row1], [row2, row2]]\n */\n\n\nfunction fillGroups(groups, currentId, shift) {\n var maxLength = getMaxLength(groups);\n\n for (var _iterator = _createForOfIteratorHelperLoose(groups), _step; !(_step = _iterator()).done;) {\n var group = _step.value;\n\n for (var i = 0; i < maxLength; i += 1) {\n var item = group[i];\n\n if (!item || shift && item.disabled) {\n var isFrist = i === 0;\n var previousItem = isFrist && shift ? findFirstEnabledItem(group) : group[i - 1];\n group[i] = previousItem && currentId !== (previousItem === null || previousItem === void 0 ? void 0 : previousItem.id) && shift ? previousItem : createEmptyItem(previousItem === null || previousItem === void 0 ? void 0 : previousItem.groupId);\n }\n }\n }\n\n return groups;\n}\n\nvar nullItem = {\n id: null,\n ref: {\n current: null\n }\n};\nfunction placeItemsAfter(items, id, shouldInsertNullItem) {\n var index = items.findIndex(function (item) {\n return item.id === id;\n });\n return [].concat(items.slice(index + 1), shouldInsertNullItem ? [nullItem] : [], items.slice(0, index));\n}\n\nfunction getItemsInGroup(items, groupId) {\n return items.filter(function (item) {\n return item.groupId === groupId;\n });\n}\n\nvar map = {\n horizontal: \"vertical\",\n vertical: \"horizontal\"\n};\nfunction getOppositeOrientation(orientation) {\n return orientation && map[orientation];\n}\n\nfunction addItemAtIndex(array, item, index) {\n if (!(index in array)) {\n return [].concat(array, [item]);\n }\n\n return [].concat(array.slice(0, index), [item], array.slice(index));\n}\n\nfunction sortBasedOnDOMPosition(items) {\n var pairs = items.map(function (item, index) {\n return [index, item];\n });\n var isOrderDifferent = false;\n pairs.sort(function (_ref, _ref2) {\n var indexA = _ref[0],\n a = _ref[1];\n var indexB = _ref2[0],\n b = _ref2[1];\n var elementA = a.ref.current;\n var elementB = b.ref.current;\n if (!elementA || !elementB) return 0; // a before b\n\n if (isElementPreceding(elementA, elementB)) {\n if (indexA > indexB) {\n isOrderDifferent = true;\n }\n\n return -1;\n } // a after b\n\n\n if (indexA < indexB) {\n isOrderDifferent = true;\n }\n\n return 1;\n });\n\n if (isOrderDifferent) {\n return pairs.map(function (_ref3) {\n var _ = _ref3[0],\n item = _ref3[1];\n return item;\n });\n }\n\n return items;\n}\n\nfunction setItemsBasedOnDOMPosition(items, setItems) {\n var sortedItems = sortBasedOnDOMPosition(items);\n\n if (items !== sortedItems) {\n setItems(sortedItems);\n }\n}\n\nfunction getCommonParent(items) {\n var _firstItem$ref$curren;\n\n var firstItem = items[0],\n nextItems = items.slice(1);\n var parentElement = firstItem === null || firstItem === void 0 ? void 0 : (_firstItem$ref$curren = firstItem.ref.current) === null || _firstItem$ref$curren === void 0 ? void 0 : _firstItem$ref$curren.parentElement;\n\n var _loop = function _loop() {\n var parent = parentElement;\n\n if (nextItems.every(function (item) {\n return parent.contains(item.ref.current);\n })) {\n return {\n v: parentElement\n };\n }\n\n parentElement = parentElement.parentElement;\n };\n\n while (parentElement) {\n var _ret = _loop();\n\n if (typeof _ret === \"object\") return _ret.v;\n }\n\n return getDocument(parentElement).body;\n} // istanbul ignore next: JSDOM doesn't support IntersectionObverser\n// See https://github.com/jsdom/jsdom/issues/2032\n\n\nfunction useIntersectionObserver(items, setItems) {\n var previousItems = useRef([]);\n useEffect(function () {\n var callback = function callback() {\n var hasPreviousItems = !!previousItems.current.length; // We don't want to sort items if items have been just registered.\n\n if (hasPreviousItems) {\n setItemsBasedOnDOMPosition(items, setItems);\n }\n\n previousItems.current = items;\n };\n\n var root = getCommonParent(items);\n var observer = new IntersectionObserver(callback, {\n root: root\n });\n\n for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {\n var item = _step.value;\n\n if (item.ref.current) {\n observer.observe(item.ref.current);\n }\n }\n\n return function () {\n observer.disconnect();\n };\n }, [items]);\n}\n\nfunction useTimeoutObserver(items, setItems) {\n useEffect(function () {\n var callback = function callback() {\n return setItemsBasedOnDOMPosition(items, setItems);\n };\n\n var timeout = setTimeout(callback, 250);\n return function () {\n return clearTimeout(timeout);\n };\n });\n}\n\nfunction useSortBasedOnDOMPosition(items, setItems) {\n if (typeof IntersectionObserver === \"function\") {\n useIntersectionObserver(items, setItems);\n } else {\n useTimeoutObserver(items, setItems);\n }\n}\n\nfunction reducer(state, action) {\n var virtual = state.unstable_virtual,\n rtl = state.rtl,\n orientation = state.orientation,\n items = state.items,\n groups = state.groups,\n currentId = state.currentId,\n loop = state.loop,\n wrap = state.wrap,\n pastIds = state.pastIds,\n shift = state.shift,\n moves = state.unstable_moves,\n includesBaseElement = state.unstable_includesBaseElement,\n initialVirtual = state.initialVirtual,\n initialRTL = state.initialRTL,\n initialOrientation = state.initialOrientation,\n initialCurrentId = state.initialCurrentId,\n initialLoop = state.initialLoop,\n initialWrap = state.initialWrap,\n initialShift = state.initialShift,\n hasSetCurrentId = state.hasSetCurrentId;\n\n switch (action.type) {\n case \"registerGroup\":\n {\n var _group = action.group; // If there are no groups yet, just add it as the first one\n\n if (groups.length === 0) {\n return _objectSpread2(_objectSpread2({}, state), {}, {\n groups: [_group]\n });\n } // Finds the group index based on DOM position\n\n\n var index = findDOMIndex(groups, _group);\n return _objectSpread2(_objectSpread2({}, state), {}, {\n groups: addItemAtIndex(groups, _group, index)\n });\n }\n\n case \"unregisterGroup\":\n {\n var _id = action.id;\n var nextGroups = groups.filter(function (group) {\n return group.id !== _id;\n }); // The group isn't registered, so do nothing\n\n if (nextGroups.length === groups.length) {\n return state;\n }\n\n return _objectSpread2(_objectSpread2({}, state), {}, {\n groups: nextGroups\n });\n }\n\n case \"registerItem\":\n {\n var _item = action.item; // Finds the item group based on the DOM hierarchy\n\n var _group2 = groups.find(function (r) {\n var _r$ref$current;\n\n return (_r$ref$current = r.ref.current) === null || _r$ref$current === void 0 ? void 0 : _r$ref$current.contains(_item.ref.current);\n }); // Group will be null if it's a one-dimensional composite\n\n\n var nextItem = _objectSpread2({\n groupId: _group2 === null || _group2 === void 0 ? void 0 : _group2.id\n }, _item);\n\n var _index = findDOMIndex(items, nextItem);\n\n var nextState = _objectSpread2(_objectSpread2({}, state), {}, {\n items: addItemAtIndex(items, nextItem, _index)\n });\n\n if (!hasSetCurrentId && !moves && initialCurrentId === undefined) {\n var _findFirstEnabledItem;\n\n // Sets currentId to the first enabled item. This runs whenever an item\n // is registered because the first enabled item may be registered\n // asynchronously.\n return _objectSpread2(_objectSpread2({}, nextState), {}, {\n currentId: (_findFirstEnabledItem = findFirstEnabledItem(nextState.items)) === null || _findFirstEnabledItem === void 0 ? void 0 : _findFirstEnabledItem.id\n });\n }\n\n return nextState;\n }\n\n case \"unregisterItem\":\n {\n var _id2 = action.id;\n var nextItems = items.filter(function (item) {\n return item.id !== _id2;\n }); // The item isn't registered, so do nothing\n\n if (nextItems.length === items.length) {\n return state;\n } // Filters out the item that is being removed from the pastIds list\n\n\n var nextPastIds = pastIds.filter(function (pastId) {\n return pastId !== _id2;\n });\n\n var _nextState = _objectSpread2(_objectSpread2({}, state), {}, {\n pastIds: nextPastIds,\n items: nextItems\n }); // If the current item is the item that is being removed, focus pastId\n\n\n if (currentId && currentId === _id2) {\n var nextId = includesBaseElement ? null : getCurrentId(_objectSpread2(_objectSpread2({}, _nextState), {}, {\n currentId: nextPastIds[0]\n }));\n return _objectSpread2(_objectSpread2({}, _nextState), {}, {\n currentId: nextId\n });\n }\n\n return _nextState;\n }\n\n case \"move\":\n {\n var _id3 = action.id; // move() does nothing\n\n if (_id3 === undefined) {\n return state;\n } // Removes the current item and the item that is receiving focus from the\n // pastIds list\n\n\n var filteredPastIds = pastIds.filter(function (pastId) {\n return pastId !== currentId && pastId !== _id3;\n }); // If there's a currentId, add it to the pastIds list so it can be focused\n // if the new item gets removed or disabled\n\n var _nextPastIds = currentId ? [currentId].concat(filteredPastIds) : filteredPastIds;\n\n var _nextState2 = _objectSpread2(_objectSpread2({}, state), {}, {\n pastIds: _nextPastIds\n }); // move(null) will focus the composite element itself, not an item\n\n\n if (_id3 === null) {\n return _objectSpread2(_objectSpread2({}, _nextState2), {}, {\n unstable_moves: moves + 1,\n currentId: getCurrentId(_nextState2, _id3)\n });\n }\n\n var _item2 = findEnabledItemById(items, _id3);\n\n return _objectSpread2(_objectSpread2({}, _nextState2), {}, {\n unstable_moves: _item2 ? moves + 1 : moves,\n currentId: getCurrentId(_nextState2, _item2 === null || _item2 === void 0 ? void 0 : _item2.id)\n });\n }\n\n case \"next\":\n {\n // If there's no item focused, we just move the first one\n if (currentId == null) {\n return reducer(state, _objectSpread2(_objectSpread2({}, action), {}, {\n type: \"first\"\n }));\n } // RTL doesn't make sense on vertical navigation\n\n\n var isHorizontal = orientation !== \"vertical\";\n var isRTL = rtl && isHorizontal;\n var allItems = isRTL ? reverse(items) : items;\n var currentItem = allItems.find(function (item) {\n return item.id === currentId;\n }); // If there's no item focused, we just move the first one\n\n if (!currentItem) {\n return reducer(state, _objectSpread2(_objectSpread2({}, action), {}, {\n type: \"first\"\n }));\n }\n\n var isGrid = !!currentItem.groupId;\n var currentIndex = allItems.indexOf(currentItem);\n\n var _nextItems = allItems.slice(currentIndex + 1);\n\n var nextItemsInGroup = getItemsInGroup(_nextItems, currentItem.groupId); // Home, End\n\n if (action.allTheWay) {\n // We reverse so we can get the last enabled item in the group. If it's\n // RTL, nextItems and nextItemsInGroup are already reversed and don't\n // have the items before the current one anymore. So we have to get\n // items in group again with allItems.\n var _nextItem2 = findFirstEnabledItem(isRTL ? getItemsInGroup(allItems, currentItem.groupId) : reverse(nextItemsInGroup));\n\n return reducer(state, _objectSpread2(_objectSpread2({}, action), {}, {\n type: \"move\",\n id: _nextItem2 === null || _nextItem2 === void 0 ? void 0 : _nextItem2.id\n }));\n }\n\n var oppositeOrientation = getOppositeOrientation( // If it's a grid and orientation is not set, it's a next/previous\n // call, which is inherently horizontal. up/down will call next with\n // orientation set to vertical by default (see below on up/down cases).\n isGrid ? orientation || \"horizontal\" : orientation);\n var canLoop = loop && loop !== oppositeOrientation;\n var canWrap = isGrid && wrap && wrap !== oppositeOrientation;\n var hasNullItem = // `previous` and `up` will set action.hasNullItem, but when calling\n // next directly, hasNullItem will only be true if it's not a grid and\n // loop is set to true, which means that pressing right or down keys on\n // grids will never focus the composite element. On one-dimensional\n // composites that don't loop, pressing right or down keys also doesn't\n // focus the composite element.\n action.hasNullItem || !isGrid && canLoop && includesBaseElement;\n\n if (canLoop) {\n var loopItems = canWrap && !hasNullItem ? allItems : getItemsInGroup(allItems, currentItem.groupId); // Turns [0, 1, current, 3, 4] into [3, 4, 0, 1]\n\n var sortedItems = placeItemsAfter(loopItems, currentId, hasNullItem);\n\n var _nextItem3 = findFirstEnabledItem(sortedItems, currentId);\n\n return reducer(state, _objectSpread2(_objectSpread2({}, action), {}, {\n type: \"move\",\n id: _nextItem3 === null || _nextItem3 === void 0 ? void 0 : _nextItem3.id\n }));\n }\n\n if (canWrap) {\n var _nextItem4 = findFirstEnabledItem( // We can use nextItems, which contains all the next items, including\n // items from other groups, to wrap between groups. However, if there\n // is a null item (the composite element), we'll only use the next\n // items in the group. So moving next from the last item will focus\n // the composite element (null). On grid composites, horizontal\n // navigation never focuses the composite element, only vertical.\n hasNullItem ? nextItemsInGroup : _nextItems, currentId);\n\n var _nextId = hasNullItem ? (_nextItem4 === null || _nextItem4 === void 0 ? void 0 : _nextItem4.id) || null : _nextItem4 === null || _nextItem4 === void 0 ? void 0 : _nextItem4.id;\n\n return reducer(state, _objectSpread2(_objectSpread2({}, action), {}, {\n type: \"move\",\n id: _nextId\n }));\n }\n\n var _nextItem = findFirstEnabledItem(nextItemsInGroup, currentId);\n\n if (!_nextItem && hasNullItem) {\n return reducer(state, _objectSpread2(_objectSpread2({}, action), {}, {\n type: \"move\",\n id: null\n }));\n }\n\n return reducer(state, _objectSpread2(_objectSpread2({}, action), {}, {\n type: \"move\",\n id: _nextItem === null || _nextItem === void 0 ? void 0 : _nextItem.id\n }));\n }\n\n case \"previous\":\n {\n // If currentId is initially set to null, the composite element will be\n // focusable while navigating with arrow keys. But, if it's a grid, we\n // don't want to focus the composite element with horizontal navigation.\n var _isGrid = !!groups.length;\n\n var _hasNullItem = !_isGrid && includesBaseElement;\n\n var _nextState3 = reducer(_objectSpread2(_objectSpread2({}, state), {}, {\n items: reverse(items)\n }), _objectSpread2(_objectSpread2({}, action), {}, {\n type: \"next\",\n hasNullItem: _hasNullItem\n }));\n\n return _objectSpread2(_objectSpread2({}, _nextState3), {}, {\n items: items\n });\n }\n\n case \"down\":\n {\n var shouldShift = shift && !action.allTheWay; // First, we make sure groups have the same number of items by filling it\n // with disabled fake items. Then, we reorganize the items list so\n // [1-1, 1-2, 2-1, 2-2] becomes [1-1, 2-1, 1-2, 2-2].\n\n var verticalItems = verticalizeItems(flatten(fillGroups(groupItems(items), currentId, shouldShift)));\n\n var _canLoop = loop && loop !== \"horizontal\"; // Pressing down arrow key will only focus the composite element if loop\n // is true or vertical.\n\n\n var _hasNullItem2 = _canLoop && includesBaseElement;\n\n var _nextState4 = reducer(_objectSpread2(_objectSpread2({}, state), {}, {\n orientation: \"vertical\",\n items: verticalItems\n }), _objectSpread2(_objectSpread2({}, action), {}, {\n type: \"next\",\n hasNullItem: _hasNullItem2\n }));\n\n return _objectSpread2(_objectSpread2({}, _nextState4), {}, {\n orientation: orientation,\n items: items\n });\n }\n\n case \"up\":\n {\n var _shouldShift = shift && !action.allTheWay;\n\n var _verticalItems = verticalizeItems(reverse(flatten(fillGroups(groupItems(items), currentId, _shouldShift)))); // If currentId is initially set to null, we'll always focus the\n // composite element when the up arrow key is pressed in the first row.\n\n\n var _hasNullItem3 = includesBaseElement;\n\n var _nextState5 = reducer(_objectSpread2(_objectSpread2({}, state), {}, {\n orientation: \"vertical\",\n items: _verticalItems\n }), _objectSpread2(_objectSpread2({}, action), {}, {\n type: \"next\",\n hasNullItem: _hasNullItem3\n }));\n\n return _objectSpread2(_objectSpread2({}, _nextState5), {}, {\n orientation: orientation,\n items: items\n });\n }\n\n case \"first\":\n {\n var firstItem = findFirstEnabledItem(items);\n return reducer(state, _objectSpread2(_objectSpread2({}, action), {}, {\n type: \"move\",\n id: firstItem === null || firstItem === void 0 ? void 0 : firstItem.id\n }));\n }\n\n case \"last\":\n {\n var _nextState6 = reducer(_objectSpread2(_objectSpread2({}, state), {}, {\n items: reverse(items)\n }), _objectSpread2(_objectSpread2({}, action), {}, {\n type: \"first\"\n }));\n\n return _objectSpread2(_objectSpread2({}, _nextState6), {}, {\n items: items\n });\n }\n\n case \"sort\":\n {\n return _objectSpread2(_objectSpread2({}, state), {}, {\n items: sortBasedOnDOMPosition(items),\n groups: sortBasedOnDOMPosition(groups)\n });\n }\n\n case \"setVirtual\":\n return _objectSpread2(_objectSpread2({}, state), {}, {\n unstable_virtual: applyState(action.virtual, virtual)\n });\n\n case \"setRTL\":\n return _objectSpread2(_objectSpread2({}, state), {}, {\n rtl: applyState(action.rtl, rtl)\n });\n\n case \"setOrientation\":\n return _objectSpread2(_objectSpread2({}, state), {}, {\n orientation: applyState(action.orientation, orientation)\n });\n\n case \"setCurrentId\":\n {\n var nextCurrentId = getCurrentId(_objectSpread2(_objectSpread2({}, state), {}, {\n currentId: applyState(action.currentId, currentId)\n }));\n return _objectSpread2(_objectSpread2({}, state), {}, {\n currentId: nextCurrentId,\n hasSetCurrentId: true\n });\n }\n\n case \"setLoop\":\n return _objectSpread2(_objectSpread2({}, state), {}, {\n loop: applyState(action.loop, loop)\n });\n\n case \"setWrap\":\n return _objectSpread2(_objectSpread2({}, state), {}, {\n wrap: applyState(action.wrap, wrap)\n });\n\n case \"setShift\":\n return _objectSpread2(_objectSpread2({}, state), {}, {\n shift: applyState(action.shift, shift)\n });\n\n case \"setIncludesBaseElement\":\n {\n return _objectSpread2(_objectSpread2({}, state), {}, {\n unstable_includesBaseElement: applyState(action.includesBaseElement, includesBaseElement)\n });\n }\n\n case \"reset\":\n return _objectSpread2(_objectSpread2({}, state), {}, {\n unstable_virtual: initialVirtual,\n rtl: initialRTL,\n orientation: initialOrientation,\n currentId: getCurrentId(_objectSpread2(_objectSpread2({}, state), {}, {\n currentId: initialCurrentId\n })),\n loop: initialLoop,\n wrap: initialWrap,\n shift: initialShift,\n unstable_moves: 0,\n pastIds: []\n });\n\n case \"setItems\":\n {\n return _objectSpread2(_objectSpread2({}, state), {}, {\n items: action.items\n });\n }\n\n default:\n throw new Error();\n }\n}\n\nfunction useAction(fn) {\n return useCallback(fn, []);\n}\n\nfunction useIsUnmountedRef() {\n var isUnmountedRef = useRef(false);\n useIsomorphicEffect(function () {\n return function () {\n isUnmountedRef.current = true;\n };\n }, []);\n return isUnmountedRef;\n}\n\nfunction useCompositeState(initialState) {\n if (initialState === void 0) {\n initialState = {};\n }\n\n var _useSealedState = useSealedState(initialState),\n _useSealedState$unsta = _useSealedState.unstable_virtual,\n virtual = _useSealedState$unsta === void 0 ? false : _useSealedState$unsta,\n _useSealedState$rtl = _useSealedState.rtl,\n rtl = _useSealedState$rtl === void 0 ? false : _useSealedState$rtl,\n orientation = _useSealedState.orientation,\n currentId = _useSealedState.currentId,\n _useSealedState$loop = _useSealedState.loop,\n loop = _useSealedState$loop === void 0 ? false : _useSealedState$loop,\n _useSealedState$wrap = _useSealedState.wrap,\n wrap = _useSealedState$wrap === void 0 ? false : _useSealedState$wrap,\n _useSealedState$shift = _useSealedState.shift,\n shift = _useSealedState$shift === void 0 ? false : _useSealedState$shift,\n unstable_includesBaseElement = _useSealedState.unstable_includesBaseElement,\n sealed = _objectWithoutPropertiesLoose(_useSealedState, [\"unstable_virtual\", \"rtl\", \"orientation\", \"currentId\", \"loop\", \"wrap\", \"shift\", \"unstable_includesBaseElement\"]);\n\n var idState = unstable_useIdState(sealed);\n\n var _React$useReducer = useReducer(reducer, {\n unstable_virtual: virtual,\n rtl: rtl,\n orientation: orientation,\n items: [],\n groups: [],\n currentId: currentId,\n loop: loop,\n wrap: wrap,\n shift: shift,\n unstable_moves: 0,\n pastIds: [],\n unstable_includesBaseElement: unstable_includesBaseElement != null ? unstable_includesBaseElement : currentId === null,\n initialVirtual: virtual,\n initialRTL: rtl,\n initialOrientation: orientation,\n initialCurrentId: currentId,\n initialLoop: loop,\n initialWrap: wrap,\n initialShift: shift\n }),\n _React$useReducer$ = _React$useReducer[0],\n pastIds = _React$useReducer$.pastIds,\n initialVirtual = _React$useReducer$.initialVirtual,\n initialRTL = _React$useReducer$.initialRTL,\n initialOrientation = _React$useReducer$.initialOrientation,\n initialCurrentId = _React$useReducer$.initialCurrentId,\n initialLoop = _React$useReducer$.initialLoop,\n initialWrap = _React$useReducer$.initialWrap,\n initialShift = _React$useReducer$.initialShift,\n hasSetCurrentId = _React$useReducer$.hasSetCurrentId,\n state = _objectWithoutPropertiesLoose(_React$useReducer$, [\"pastIds\", \"initialVirtual\", \"initialRTL\", \"initialOrientation\", \"initialCurrentId\", \"initialLoop\", \"initialWrap\", \"initialShift\", \"hasSetCurrentId\"]),\n dispatch = _React$useReducer[1];\n\n var _React$useState = useState(false),\n hasActiveWidget = _React$useState[0],\n setHasActiveWidget = _React$useState[1]; // register/unregister may be called when this component is unmounted. We\n // store the unmounted state here so we don't update the state if it's true.\n // This only happens in a very specific situation.\n // See https://github.com/reakit/reakit/issues/650\n\n\n var isUnmountedRef = useIsUnmountedRef();\n var setItems = useCallback(function (items) {\n return dispatch({\n type: \"setItems\",\n items: items\n });\n }, []);\n useSortBasedOnDOMPosition(state.items, setItems);\n return _objectSpread2(_objectSpread2(_objectSpread2({}, idState), state), {}, {\n unstable_hasActiveWidget: hasActiveWidget,\n unstable_setHasActiveWidget: setHasActiveWidget,\n registerItem: useAction(function (item) {\n if (isUnmountedRef.current) return;\n dispatch({\n type: \"registerItem\",\n item: item\n });\n }),\n unregisterItem: useAction(function (id) {\n if (isUnmountedRef.current) return;\n dispatch({\n type: \"unregisterItem\",\n id: id\n });\n }),\n registerGroup: useAction(function (group) {\n if (isUnmountedRef.current) return;\n dispatch({\n type: \"registerGroup\",\n group: group\n });\n }),\n unregisterGroup: useAction(function (id) {\n if (isUnmountedRef.current) return;\n dispatch({\n type: \"unregisterGroup\",\n id: id\n });\n }),\n move: useAction(function (id) {\n return dispatch({\n type: \"move\",\n id: id\n });\n }),\n next: useAction(function (allTheWay) {\n return dispatch({\n type: \"next\",\n allTheWay: allTheWay\n });\n }),\n previous: useAction(function (allTheWay) {\n return dispatch({\n type: \"previous\",\n allTheWay: allTheWay\n });\n }),\n up: useAction(function (allTheWay) {\n return dispatch({\n type: \"up\",\n allTheWay: allTheWay\n });\n }),\n down: useAction(function (allTheWay) {\n return dispatch({\n type: \"down\",\n allTheWay: allTheWay\n });\n }),\n first: useAction(function () {\n return dispatch({\n type: \"first\"\n });\n }),\n last: useAction(function () {\n return dispatch({\n type: \"last\"\n });\n }),\n sort: useAction(function () {\n return dispatch({\n type: \"sort\"\n });\n }),\n unstable_setVirtual: useAction(function (value) {\n return dispatch({\n type: \"setVirtual\",\n virtual: value\n });\n }),\n setRTL: useAction(function (value) {\n return dispatch({\n type: \"setRTL\",\n rtl: value\n });\n }),\n setOrientation: useAction(function (value) {\n return dispatch({\n type: \"setOrientation\",\n orientation: value\n });\n }),\n setCurrentId: useAction(function (value) {\n return dispatch({\n type: \"setCurrentId\",\n currentId: value\n });\n }),\n setLoop: useAction(function (value) {\n return dispatch({\n type: \"setLoop\",\n loop: value\n });\n }),\n setWrap: useAction(function (value) {\n return dispatch({\n type: \"setWrap\",\n wrap: value\n });\n }),\n setShift: useAction(function (value) {\n return dispatch({\n type: \"setShift\",\n shift: value\n });\n }),\n unstable_setIncludesBaseElement: useAction(function (value) {\n return dispatch({\n type: \"setIncludesBaseElement\",\n includesBaseElement: value\n });\n }),\n reset: useAction(function () {\n return dispatch({\n type: \"reset\"\n });\n })\n });\n}\n\nexport { useCompositeState };\n","import { createContext, useRef, useCallback, createElement } from 'react';\n\nvar defaultPrefix = \"id\";\nfunction generateRandomString(prefix) {\n if (prefix === void 0) {\n prefix = defaultPrefix;\n }\n\n return \"\" + (prefix ? prefix + \"-\" : \"\") + Math.random().toString(32).substr(2, 6);\n}\n\nvar unstable_IdContext = /*#__PURE__*/createContext(generateRandomString);\nfunction unstable_IdProvider(_ref) {\n var children = _ref.children,\n _ref$prefix = _ref.prefix,\n prefix = _ref$prefix === void 0 ? defaultPrefix : _ref$prefix;\n var count = useRef(0);\n var generateId = useCallback(function (localPrefix) {\n if (localPrefix === void 0) {\n localPrefix = prefix;\n }\n\n return \"\" + (localPrefix ? localPrefix + \"-\" : \"\") + ++count.current;\n }, [prefix]);\n return /*#__PURE__*/createElement(unstable_IdContext.Provider, {\n value: generateId\n }, children);\n}\n\nexport { unstable_IdContext, unstable_IdProvider };\n","import { useContext, useRef, useState } from 'react';\nimport { useSealedState } from 'reakit-utils/useSealedState';\nimport { unstable_IdContext } from './IdProvider.js';\n\nfunction unstable_useIdState(initialState) {\n if (initialState === void 0) {\n initialState = {};\n }\n\n var _useSealedState = useSealedState(initialState),\n initialBaseId = _useSealedState.baseId;\n\n var generateId = useContext(unstable_IdContext);\n var idCountRef = useRef(0);\n\n var _React$useState = useState(function () {\n return initialBaseId || generateId();\n }),\n baseId = _React$useState[0],\n setBaseId = _React$useState[1];\n\n return {\n baseId: baseId,\n setBaseId: setBaseId,\n unstable_idCountRef: idCountRef\n };\n}\n\nexport { unstable_useIdState };\n","import { createContext, useContext, useState, useCallback, useEffect, useMemo, createElement } from 'react';\nimport { removeItemFromArray } from 'reakit-utils/removeItemFromArray';\n\nvar MenuContext = /*#__PURE__*/createContext(null);\nfunction useMenuContext(menuRef, role, options) {\n var orphan = \"unstable_orphan\" in options && options.unstable_orphan;\n var parent = useContext(MenuContext);\n\n var _React$useState = useState([]),\n children = _React$useState[0],\n setChildren = _React$useState[1];\n\n var _ref = parent || {},\n addChildToParent = _ref.addChild,\n removeChildFromParent = _ref.removeChild;\n\n var addChild = useCallback(function (ref) {\n return setChildren(function (refs) {\n return [].concat(refs, [ref]);\n });\n }, []);\n var removeChild = useCallback(function (ref) {\n return setChildren(function (refs) {\n return removeItemFromArray(refs, ref);\n });\n }, []); // If it's a nested menu, add it to parent\n\n useEffect(function () {\n if (!addChildToParent || orphan) return undefined;\n addChildToParent(menuRef);\n return function () {\n removeChildFromParent === null || removeChildFromParent === void 0 ? void 0 : removeChildFromParent(menuRef);\n };\n }, [menuRef, addChildToParent, removeChildFromParent, orphan]);\n var providerValue = useMemo(function () {\n return {\n orientation: options.orientation,\n next: options.next,\n previous: options.previous,\n ref: menuRef,\n role: role,\n parent: parent,\n children: children,\n addChild: addChild,\n removeChild: removeChild\n };\n }, [options.orientation, options.next, options.previous, menuRef, role, parent, children, addChild, removeChild]);\n var wrapElement = useCallback(function (element) {\n return /*#__PURE__*/createElement(MenuContext.Provider, {\n value: providerValue\n }, element);\n }, [providerValue]);\n return wrapElement;\n}\n\nexport { MenuContext as M, useMenuContext as u };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useState, useRef, useEffect, useCallback } from 'react';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport { isSelfTarget } from 'reakit-utils/isSelfTarget';\nimport { useRole } from '../Role/Role.js';\nimport { a as DISCLOSURE_CONTENT_KEYS } from '../__keys-e6a5cfbe.js';\n\nvar useDisclosureContent = createHook({\n name: \"DisclosureContent\",\n compose: useRole,\n keys: DISCLOSURE_CONTENT_KEYS,\n useProps: function useProps(options, _ref) {\n var htmlOnTransitionEnd = _ref.onTransitionEnd,\n htmlOnAnimationEnd = _ref.onAnimationEnd,\n htmlStyle = _ref.style,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"onTransitionEnd\", \"onAnimationEnd\", \"style\"]);\n\n var animating = options.animated && options.animating;\n\n var _React$useState = useState(null),\n transition = _React$useState[0],\n setTransition = _React$useState[1];\n\n var hidden = !options.visible && !animating;\n var style = hidden ? _objectSpread2({\n display: \"none\"\n }, htmlStyle) : htmlStyle;\n var onTransitionEndRef = useLiveRef(htmlOnTransitionEnd);\n var onAnimationEndRef = useLiveRef(htmlOnAnimationEnd);\n var raf = useRef(0);\n useEffect(function () {\n if (!options.animated) return undefined; // Double RAF is needed so the browser has enough time to paint the\n // default styles before processing the `data-enter` attribute. Otherwise\n // it wouldn't be considered a transition.\n // See https://github.com/reakit/reakit/issues/643\n\n raf.current = window.requestAnimationFrame(function () {\n raf.current = window.requestAnimationFrame(function () {\n if (options.visible) {\n setTransition(\"enter\");\n } else if (animating) {\n setTransition(\"leave\");\n } else {\n setTransition(null);\n }\n });\n });\n return function () {\n return window.cancelAnimationFrame(raf.current);\n };\n }, [options.animated, options.visible, animating]);\n var onEnd = useCallback(function (event) {\n if (!isSelfTarget(event)) return;\n if (!animating) return; // Ignores number animated\n\n if (options.animated === true) {\n var _options$stopAnimatio;\n\n (_options$stopAnimatio = options.stopAnimation) === null || _options$stopAnimatio === void 0 ? void 0 : _options$stopAnimatio.call(options);\n }\n }, [options.animated, animating, options.stopAnimation]);\n var onTransitionEnd = useCallback(function (event) {\n var _onTransitionEndRef$c;\n\n (_onTransitionEndRef$c = onTransitionEndRef.current) === null || _onTransitionEndRef$c === void 0 ? void 0 : _onTransitionEndRef$c.call(onTransitionEndRef, event);\n onEnd(event);\n }, [onEnd]);\n var onAnimationEnd = useCallback(function (event) {\n var _onAnimationEndRef$cu;\n\n (_onAnimationEndRef$cu = onAnimationEndRef.current) === null || _onAnimationEndRef$cu === void 0 ? void 0 : _onAnimationEndRef$cu.call(onAnimationEndRef, event);\n onEnd(event);\n }, [onEnd]);\n return _objectSpread2({\n id: options.baseId,\n \"data-enter\": transition === \"enter\" ? \"\" : undefined,\n \"data-leave\": transition === \"leave\" ? \"\" : undefined,\n onTransitionEnd: onTransitionEnd,\n onAnimationEnd: onAnimationEnd,\n hidden: hidden,\n style: style\n }, htmlProps);\n }\n});\nvar DisclosureContent = createComponent({\n as: \"div\",\n useHook: useDisclosureContent\n});\n\nexport { DisclosureContent, useDisclosureContent };\n","import { createContext } from 'react';\n\nvar DialogBackdropContext = /*#__PURE__*/createContext(undefined);\n\nexport { DialogBackdropContext as D };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRef, useEffect, useContext, useState, useCallback, useMemo, createElement, createContext, useReducer } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport { isButton } from 'reakit-utils/isButton';\nimport { warning, useWarning } from 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport { useIsomorphicEffect } from 'reakit-utils/useIsomorphicEffect';\nimport { hasFocusWithin } from 'reakit-utils/hasFocusWithin';\nimport { getFirstTabbableIn, getLastTabbableIn, isTabbable } from 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport { useUpdateEffect } from 'reakit-utils/useUpdateEffect';\nimport { useCreateElement } from 'reakit-system/useCreateElement';\nimport { getDocument } from 'reakit-utils/getDocument';\nimport 'reakit-utils/canUseDOM';\nimport { getNextActiveElementOnBlur } from 'reakit-utils/getNextActiveElementOnBlur';\nimport { ensureFocus } from 'reakit-utils/ensureFocus';\nimport '../__keys-e6a5cfbe.js';\nimport { useDisclosureContent } from '../Disclosure/DisclosureContent.js';\nimport 'react-dom';\nimport { Portal } from '../Portal/Portal.js';\nimport { removeItemFromArray } from 'reakit-utils/removeItemFromArray';\nimport { M as MenuContext } from '../MenuContext-6af6cf92.js';\nimport { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport { closest } from 'reakit-utils/closest';\nimport { getActiveElement } from 'reakit-utils/getActiveElement';\nimport { contains } from 'reakit-utils/contains';\nimport { D as DialogBackdropContext } from '../DialogBackdropContext-8775f78b.js';\nimport { isEmpty } from 'reakit-utils/isEmpty';\nimport { D as DIALOG_KEYS } from '../__keys-ed7b48af.js';\n\nfunction useDisclosureRef(dialogRef, options) {\n var ref = useRef(null);\n var animating = !!(options.animated && options.animating);\n useEffect(function () {\n if (options.visible || animating) return undefined; // We get the last focused element before the dialog opens, so we can move\n // focus back to it when the dialog closes.\n\n var onFocus = function onFocus(event) {\n var target = event.target;\n\n if (\"focus\" in target) {\n ref.current = target;\n\n if (options.unstable_disclosureRef) {\n options.unstable_disclosureRef.current = target;\n }\n }\n };\n\n var document = getDocument(dialogRef.current);\n document.addEventListener(\"focusin\", onFocus);\n return function () {\n return document.removeEventListener(\"focusin\", onFocus);\n };\n }, [options.visible, animating, options.unstable_disclosureRef, dialogRef]);\n useEffect(function () {\n var _options$unstable_dis;\n\n if (!options.visible || animating) return undefined; // Safari and Firefox on MacOS don't focus on buttons on mouse down.\n // Instead, they focus on the closest focusable parent (ultimately, the\n // body element). This works around that by preventing that behavior and\n // forcing focus on the disclosure button. Otherwise, we wouldn't be able\n // to close the dialog by clicking again on the disclosure.\n\n var onMouseDown = function onMouseDown(event) {\n var element = event.currentTarget;\n if (!isButton(element)) return;\n event.preventDefault();\n element.focus();\n };\n\n var disclosure = ((_options$unstable_dis = options.unstable_disclosureRef) === null || _options$unstable_dis === void 0 ? void 0 : _options$unstable_dis.current) || ref.current;\n disclosure === null || disclosure === void 0 ? void 0 : disclosure.addEventListener(\"mousedown\", onMouseDown);\n return function () {\n return disclosure === null || disclosure === void 0 ? void 0 : disclosure.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [options.visible, animating, options.unstable_disclosureRef]);\n return options.unstable_disclosureRef || ref;\n}\n\nfunction usePreventBodyScroll(targetRef, options) {\n var shouldPrevent = Boolean(options.preventBodyScroll && options.visible);\n useEffect(function () {\n var element = targetRef.current;\n if (!element || !shouldPrevent) return undefined;\n disableBodyScroll(element, {\n reserveScrollBarGap: true\n });\n return function () {\n return enableBodyScroll(element);\n };\n }, [targetRef, shouldPrevent]);\n}\n\nfunction useFocusOnShow(dialogRef, nestedDialogs, options) {\n var initialFocusRef = options.unstable_initialFocusRef;\n var shouldFocus = options.visible && options.unstable_autoFocusOnShow;\n var animating = !!(options.animated && options.animating);\n useUpdateEffect(function () {\n var dialog = dialogRef.current;\n process.env.NODE_ENV !== \"production\" ? warning(!!shouldFocus && !dialog, \"[reakit/Dialog]\", \"Can't set initial focus on dialog because `ref` wasn't passed to the dialog element.\", \"See https://reakit.io/docs/dialog\") : void 0;\n if (!shouldFocus) return;\n if (!dialog) return;\n if (animating) return; // If there're nested open dialogs, let them handle focus\n\n if (nestedDialogs.some(function (child) {\n return child.current && !child.current.hidden;\n })) {\n return;\n }\n\n if (initialFocusRef !== null && initialFocusRef !== void 0 && initialFocusRef.current) {\n initialFocusRef.current.focus({\n preventScroll: true\n });\n } else {\n var tabbable = getFirstTabbableIn(dialog, true);\n\n var isActive = function isActive() {\n return hasFocusWithin(dialog);\n };\n\n if (tabbable) {\n ensureFocus(tabbable, {\n preventScroll: true,\n isActive: isActive\n });\n } else {\n ensureFocus(dialog, {\n preventScroll: true,\n isActive: isActive\n });\n process.env.NODE_ENV !== \"production\" ? warning(dialog.tabIndex === undefined || dialog.tabIndex < 0, \"It's recommended to have at least one tabbable element inside dialog. The dialog element has been automatically focused.\", \"If this is the intended behavior, pass `tabIndex={0}` to the dialog element to disable this warning.\", \"See https://reakit.io/docs/dialog/#initial-focus\", dialog) : void 0;\n }\n }\n }, [dialogRef, shouldFocus, animating, nestedDialogs, initialFocusRef]);\n}\n\nfunction usePortalRef(dialogRef, options) {\n var portalRef = useRef(null);\n useEffect(function () {\n var dialog = dialogRef.current;\n if (!dialog || !options.visible) return;\n portalRef.current = closest(dialog, Portal.__selector);\n }, [dialogRef, options.visible]);\n return portalRef;\n}\n\nfunction removeFromDOM(element) {\n if (element.parentNode == null) return;\n element.parentNode.removeChild(element);\n}\n\nvar focusTrapClassName = \"__reakit-focus-trap\";\nfunction isFocusTrap(element) {\n var _element$classList;\n\n return (_element$classList = element.classList) === null || _element$classList === void 0 ? void 0 : _element$classList.contains(focusTrapClassName);\n}\nfunction useFocusTrap(dialogRef, visibleModals, options) {\n var portalRef = usePortalRef(dialogRef, options);\n var shouldTrap = options.visible && options.modal;\n var beforeElement = useRef(null);\n var afterElement = useRef(null); // Create before and after elements\n // https://github.com/w3c/aria-practices/issues/545\n\n useEffect(function () {\n if (!shouldTrap) return undefined;\n var portal = portalRef.current;\n\n if (!portal) {\n process.env.NODE_ENV !== \"production\" ? warning(true, \"Can't trap focus within modal dialog because either `ref` wasn't passed to component or the component wasn't rendered within a portal\", \"See https://reakit.io/docs/dialog\") : void 0;\n return undefined;\n }\n\n if (!beforeElement.current) {\n var document = getDocument(portal);\n beforeElement.current = document.createElement(\"div\");\n beforeElement.current.className = focusTrapClassName;\n beforeElement.current.tabIndex = 0;\n beforeElement.current.style.position = \"fixed\";\n beforeElement.current.setAttribute(\"aria-hidden\", \"true\");\n }\n\n if (!afterElement.current) {\n afterElement.current = beforeElement.current.cloneNode();\n }\n\n portal.insertAdjacentElement(\"beforebegin\", beforeElement.current);\n portal.insertAdjacentElement(\"afterend\", afterElement.current);\n return function () {\n if (beforeElement.current) removeFromDOM(beforeElement.current);\n if (afterElement.current) removeFromDOM(afterElement.current);\n };\n }, [portalRef, shouldTrap]); // Focus trap\n\n useEffect(function () {\n var before = beforeElement.current;\n var after = afterElement.current;\n if (!shouldTrap || !before || !after) return undefined;\n\n var handleFocus = function handleFocus(event) {\n var dialog = dialogRef.current;\n if (!dialog || visibleModals.length) return;\n event.preventDefault();\n var isAfter = event.target === after;\n var tabbable = isAfter ? getFirstTabbableIn(dialog) : getLastTabbableIn(dialog);\n\n if (tabbable) {\n tabbable.focus();\n } else {\n // fallback to dialog\n dialog.focus();\n }\n };\n\n before.addEventListener(\"focus\", handleFocus);\n after.addEventListener(\"focus\", handleFocus);\n return function () {\n before.removeEventListener(\"focus\", handleFocus);\n after.removeEventListener(\"focus\", handleFocus);\n };\n }, [dialogRef, visibleModals, shouldTrap]);\n}\n\nfunction hidByFocusingAnotherElement(dialogRef) {\n var dialog = dialogRef.current;\n if (!dialog) return false;\n var activeElement = getActiveElement(dialog);\n if (!activeElement) return false;\n if (contains(dialog, activeElement)) return false;\n if (isTabbable(activeElement)) return true;\n if (activeElement.getAttribute(\"data-dialog\") === \"true\") return true;\n return false;\n}\n\nfunction useFocusOnHide(dialogRef, disclosureRef, options) {\n var shouldFocus = options.unstable_autoFocusOnHide && !options.visible;\n var animating = !!(options.animated && options.animating);\n useUpdateEffect(function () {\n var _options$unstable_fin;\n\n if (!shouldFocus) return;\n if (animating) return; // Hide was triggered by a click/focus on a tabbable element outside\n // the dialog or on another dialog. We won't change focus then.\n\n if (hidByFocusingAnotherElement(dialogRef)) {\n return;\n }\n\n var finalFocusEl = ((_options$unstable_fin = options.unstable_finalFocusRef) === null || _options$unstable_fin === void 0 ? void 0 : _options$unstable_fin.current) || disclosureRef.current;\n\n if (finalFocusEl) {\n if (finalFocusEl.id) {\n var document = getDocument(finalFocusEl);\n var compositeElement = document.querySelector(\"[aria-activedescendant='\" + finalFocusEl.id + \"']\");\n\n if (compositeElement) {\n ensureFocus(compositeElement);\n return;\n }\n }\n\n ensureFocus(finalFocusEl);\n return;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(true, \"Can't return focus after closing dialog. Either render a disclosure component or provide a `unstable_finalFocusRef` prop.\", \"See https://reakit.io/docs/dialog\", dialogRef.current) : void 0;\n }, [shouldFocus, animating, dialogRef, disclosureRef]);\n}\n\nvar DialogContext = /*#__PURE__*/createContext({});\nfunction useNestedDialogs(dialogRef, options) {\n var context = useContext(DialogContext);\n\n var _React$useState = useState([]),\n dialogs = _React$useState[0],\n setDialogs = _React$useState[1];\n\n var _React$useState2 = useState(dialogs),\n visibleModals = _React$useState2[0],\n setVisibleModals = _React$useState2[1];\n\n var addDialog = useCallback(function (ref) {\n var _context$addDialog;\n\n (_context$addDialog = context.addDialog) === null || _context$addDialog === void 0 ? void 0 : _context$addDialog.call(context, ref);\n setDialogs(function (prevDialogs) {\n return [].concat(prevDialogs, [ref]);\n });\n }, [context.addDialog]);\n var removeDialog = useCallback(function (ref) {\n var _context$removeDialog;\n\n (_context$removeDialog = context.removeDialog) === null || _context$removeDialog === void 0 ? void 0 : _context$removeDialog.call(context, ref);\n setDialogs(function (prevDialogs) {\n return removeItemFromArray(prevDialogs, ref);\n });\n }, [context.removeDialog]);\n var showDialog = useCallback(function (ref) {\n var _context$showDialog;\n\n (_context$showDialog = context.showDialog) === null || _context$showDialog === void 0 ? void 0 : _context$showDialog.call(context, ref);\n setVisibleModals(function (prevDialogs) {\n return [].concat(prevDialogs, [ref]);\n });\n }, [context.showDialog]);\n var hideDialog = useCallback(function (ref) {\n var _context$hideDialog;\n\n (_context$hideDialog = context.hideDialog) === null || _context$hideDialog === void 0 ? void 0 : _context$hideDialog.call(context, ref);\n setVisibleModals(function (prevDialogs) {\n return removeItemFromArray(prevDialogs, ref);\n });\n }, [context.hideDialog]); // If it's a nested dialog, add it to context\n\n useEffect(function () {\n var _context$addDialog2;\n\n if (options.unstable_orphan) return undefined;\n (_context$addDialog2 = context.addDialog) === null || _context$addDialog2 === void 0 ? void 0 : _context$addDialog2.call(context, dialogRef);\n return function () {\n var _context$removeDialog2;\n\n (_context$removeDialog2 = context.removeDialog) === null || _context$removeDialog2 === void 0 ? void 0 : _context$removeDialog2.call(context, dialogRef);\n };\n }, [options.unstable_orphan, context.addDialog, dialogRef, context.removeDialog]);\n useEffect(function () {\n var _context$showDialog2;\n\n if (options.unstable_orphan) return undefined;\n if (!options.modal) return undefined;\n if (!options.visible) return undefined;\n (_context$showDialog2 = context.showDialog) === null || _context$showDialog2 === void 0 ? void 0 : _context$showDialog2.call(context, dialogRef);\n return function () {\n var _context$hideDialog2;\n\n (_context$hideDialog2 = context.hideDialog) === null || _context$hideDialog2 === void 0 ? void 0 : _context$hideDialog2.call(context, dialogRef);\n };\n }, [options.unstable_orphan, options.modal, options.visible, context.showDialog, dialogRef, context.hideDialog]); // Close all nested dialogs when parent dialog closes\n\n useEffect(function () {\n if (context.visible === false && options.visible && !options.unstable_orphan) {\n var _options$hide;\n\n (_options$hide = options.hide) === null || _options$hide === void 0 ? void 0 : _options$hide.call(options);\n }\n }, [context.visible, options.visible, options.hide, options.unstable_orphan]); // Provider\n\n var providerValue = useMemo(function () {\n return {\n visible: options.visible,\n addDialog: addDialog,\n removeDialog: removeDialog,\n showDialog: showDialog,\n hideDialog: hideDialog\n };\n }, [options.visible, addDialog, removeDialog, showDialog, hideDialog]);\n var wrap = useCallback(function (element) {\n return /*#__PURE__*/createElement(DialogContext.Provider, {\n value: providerValue\n }, element);\n }, [providerValue]);\n return {\n dialogs: dialogs,\n visibleModals: visibleModals,\n wrap: wrap\n };\n}\n\nfunction dialogContains(target) {\n return function (dialogRef) {\n var dialog = dialogRef.current;\n if (!dialog) return false;\n if (contains(dialog, target)) return true;\n var document = getDocument(dialog);\n var backdrop = document.querySelector(\"[data-dialog-ref=\\\"\" + dialog.id + \"\\\"]\");\n\n if (backdrop) {\n return contains(backdrop, target);\n }\n\n return false;\n };\n}\n\nfunction isDisclosure(target, disclosure) {\n return contains(disclosure, target);\n}\n\nfunction isInDocument(target) {\n var document = getDocument(target);\n\n if (target.tagName === \"HTML\") {\n return true;\n }\n\n return contains(document.body, target);\n}\n\nfunction useEventListenerOutside(containerRef, disclosureRef, nestedDialogs, eventType, listener, shouldListen, capture) {\n var listenerRef = useLiveRef(listener);\n useEffect(function () {\n if (!shouldListen) return undefined;\n\n var onEvent = function onEvent(event) {\n if (!listenerRef.current) return;\n var container = containerRef.current;\n var disclosure = disclosureRef.current;\n var target = event.target;\n\n if (!container) {\n process.env.NODE_ENV !== \"production\" ? warning(true, \"Can't detect events outside dialog because `ref` wasn't passed to component.\", \"See https://reakit.io/docs/dialog\") : void 0;\n return;\n } // When an element is unmounted right after it receives focus, the focus\n // event is triggered after that, when the element isn't part of the\n // current document anymore. So we ignore it.\n\n\n if (!isInDocument(target)) return; // Event inside dialog\n\n if (contains(container, target)) return; // Event on disclosure\n\n if (disclosure && isDisclosure(target, disclosure)) return; // Event inside a nested dialog or focus trap\n\n if (isFocusTrap(target) || nestedDialogs.some(dialogContains(target))) {\n return;\n }\n\n listenerRef.current(event);\n };\n\n var document = getDocument(containerRef.current);\n document.addEventListener(eventType, onEvent, capture);\n return function () {\n return document.removeEventListener(eventType, onEvent, capture);\n };\n }, [containerRef, disclosureRef, nestedDialogs, eventType, shouldListen, listenerRef]);\n}\n\nfunction useMouseDownRef(dialogRef, options) {\n var mouseDownRef = useRef();\n useEffect(function () {\n if (!options.visible) return undefined;\n if (!options.hideOnClickOutside) return undefined;\n var document = getDocument(dialogRef.current);\n\n var onMouseDown = function onMouseDown(event) {\n mouseDownRef.current = event.target;\n };\n\n document.addEventListener(\"mousedown\", onMouseDown);\n return function () {\n return document.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [options.visible, options.hideOnClickOutside, dialogRef]);\n return mouseDownRef;\n}\n\nfunction useHideOnClickOutside(dialogRef, disclosureRef, nestedDialogs, options) {\n var mouseDownRef = useMouseDownRef(dialogRef, options);\n useEventListenerOutside(dialogRef, disclosureRef, nestedDialogs, \"click\", function (event) {\n // Make sure the element that has been clicked is the same that last\n // triggered the mousedown event. This prevents the dialog from closing\n // by dragging the cursor (for example, selecting some text inside the\n // dialog and releasing the mouse outside of it).\n if (mouseDownRef.current === event.target) {\n var _options$hide;\n\n (_options$hide = options.hide) === null || _options$hide === void 0 ? void 0 : _options$hide.call(options);\n }\n }, options.visible && options.hideOnClickOutside);\n useEventListenerOutside(dialogRef, disclosureRef, nestedDialogs, \"focusin\", function (event) {\n var document = getDocument(dialogRef.current); // Fix for https://github.com/reakit/reakit/issues/619\n // On IE11, calling element.blur() triggers the focus event on\n // document.body, so we make sure to ignore it as well.\n\n if (event.target !== document && event.target !== document.body) {\n var _options$hide2;\n\n (_options$hide2 = options.hide) === null || _options$hide2 === void 0 ? void 0 : _options$hide2.call(options);\n }\n }, options.visible && options.hideOnClickOutside);\n}\n\nfunction useDisableHoverOutside(portalRef, nestedDialogs, options) {\n var useEvent = function useEvent(eventType) {\n return useEventListenerOutside(portalRef, {\n current: null\n }, nestedDialogs, eventType, function (event) {\n event.stopPropagation();\n event.preventDefault();\n }, options.visible && options.modal, true);\n };\n\n useEvent(\"mouseover\");\n useEvent(\"mousemove\");\n useEvent(\"mouseout\");\n}\n\n/**\n * When the focused child gets removed from the DOM, we make sure to move focus\n * to the dialog.\n */\nfunction useFocusOnChildUnmount(dialogRef, options) {\n useEffect(function () {\n var dialog = dialogRef.current;\n if (!options.visible || !dialog) return undefined;\n var observer = new MutationObserver(function (mutations) {\n var target = mutations[0].target; // If target is not this dialog, then this observer was triggered by a\n // nested dialog, so we just ignore it here and let the nested dialog\n // handle it there.\n\n if (target !== dialog) return;\n var document = getDocument(dialog);\n var activeElement = getActiveElement(dialog); // We can check if the current focused element is the document body. On\n // IE 11, it's an empty object when the current document is in a frame or\n // iframe.\n\n if (activeElement === document.body || isEmpty(activeElement)) {\n dialog.focus();\n }\n });\n observer.observe(dialog, {\n childList: true,\n subtree: true\n });\n return function () {\n observer.disconnect();\n };\n }, [options.visible, dialogRef]);\n}\n\nfunction isActualElement(element) {\n return element && element.tagName && element.tagName !== \"HTML\" && element !== getDocument(element).body;\n}\n\nfunction useFocusOnBlur(dialogRef, options) {\n var _React$useReducer = useReducer(function (n) {\n return n + 1;\n }, 0),\n blurred = _React$useReducer[0],\n scheduleFocus = _React$useReducer[1];\n\n useIsomorphicEffect(function () {\n var dialog = dialogRef.current;\n if (!options.visible) return;\n if (!blurred) return; // After blur, if the active element isn't an actual element, this probably\n // means that element.blur() was called on an element inside the dialog.\n // In this case, the browser will automatically focus the body element.\n // So we move focus back to the dialog.\n\n if (!isActualElement(getActiveElement(dialog))) {\n process.env.NODE_ENV !== \"production\" ? warning(!dialog, \"Can't focus dialog after a nested element got blurred because `ref` wasn't passed to the component\", \"See https://reakit.io/docs/dialog\") : void 0;\n dialog === null || dialog === void 0 ? void 0 : dialog.focus();\n }\n }, [blurred, dialogRef]);\n var onBlur = useCallback(function (event) {\n if (!options.visible) return;\n var nextActiveElement = getNextActiveElementOnBlur(event);\n\n if (!isActualElement(nextActiveElement)) {\n scheduleFocus();\n }\n }, [options.visible]);\n return onBlur;\n}\n\nvar useDialog = createHook({\n name: \"Dialog\",\n compose: useDisclosureContent,\n keys: DIALOG_KEYS,\n useOptions: function useOptions(_ref) {\n var _ref$modal = _ref.modal,\n modal = _ref$modal === void 0 ? true : _ref$modal,\n _ref$hideOnEsc = _ref.hideOnEsc,\n hideOnEsc = _ref$hideOnEsc === void 0 ? true : _ref$hideOnEsc,\n _ref$hideOnClickOutsi = _ref.hideOnClickOutside,\n hideOnClickOutside = _ref$hideOnClickOutsi === void 0 ? true : _ref$hideOnClickOutsi,\n _ref$preventBodyScrol = _ref.preventBodyScroll,\n preventBodyScroll = _ref$preventBodyScrol === void 0 ? modal : _ref$preventBodyScrol,\n _ref$unstable_autoFoc = _ref.unstable_autoFocusOnShow,\n unstable_autoFocusOnShow = _ref$unstable_autoFoc === void 0 ? true : _ref$unstable_autoFoc,\n _ref$unstable_autoFoc2 = _ref.unstable_autoFocusOnHide,\n unstable_autoFocusOnHide = _ref$unstable_autoFoc2 === void 0 ? true : _ref$unstable_autoFoc2,\n unstable_orphan = _ref.unstable_orphan,\n options = _objectWithoutPropertiesLoose(_ref, [\"modal\", \"hideOnEsc\", \"hideOnClickOutside\", \"preventBodyScroll\", \"unstable_autoFocusOnShow\", \"unstable_autoFocusOnHide\", \"unstable_orphan\"]);\n\n return _objectSpread2({\n modal: modal,\n hideOnEsc: hideOnEsc,\n hideOnClickOutside: hideOnClickOutside,\n preventBodyScroll: modal && preventBodyScroll,\n unstable_autoFocusOnShow: unstable_autoFocusOnShow,\n unstable_autoFocusOnHide: unstable_autoFocusOnHide,\n unstable_orphan: modal && unstable_orphan\n }, options);\n },\n useProps: function useProps(options, _ref2) {\n var htmlRef = _ref2.ref,\n htmlOnKeyDown = _ref2.onKeyDown,\n htmlOnBlur = _ref2.onBlur,\n htmlWrapElement = _ref2.wrapElement,\n tabIndex = _ref2.tabIndex,\n htmlProps = _objectWithoutPropertiesLoose(_ref2, [\"ref\", \"onKeyDown\", \"onBlur\", \"wrapElement\", \"tabIndex\"]);\n\n var dialog = useRef(null);\n var backdrop = useContext(DialogBackdropContext);\n var hasBackdrop = backdrop && backdrop === options.baseId;\n var disclosure = useDisclosureRef(dialog, options);\n var onKeyDownRef = useLiveRef(htmlOnKeyDown);\n var onBlurRef = useLiveRef(htmlOnBlur);\n var focusOnBlur = useFocusOnBlur(dialog, options);\n\n var _useNestedDialogs = useNestedDialogs(dialog, options),\n dialogs = _useNestedDialogs.dialogs,\n visibleModals = _useNestedDialogs.visibleModals,\n wrap = _useNestedDialogs.wrap; // VoiceOver/Safari accepts only one `aria-modal` container, so if there\n // are visible child modals, then we don't want to set aria-modal on the\n // parent modal (this component).\n\n\n var modal = options.modal && !visibleModals.length ? true : undefined;\n usePreventBodyScroll(dialog, options);\n useFocusTrap(dialog, visibleModals, options);\n useFocusOnChildUnmount(dialog, options);\n useFocusOnShow(dialog, dialogs, options);\n useFocusOnHide(dialog, disclosure, options);\n useHideOnClickOutside(dialog, disclosure, dialogs, options);\n useDisableHoverOutside(dialog, dialogs, options);\n var onKeyDown = useCallback(function (event) {\n var _onKeyDownRef$current;\n\n (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event);\n if (event.defaultPrevented) return;\n if (event.key !== \"Escape\") return;\n if (!options.hideOnEsc) return;\n\n if (!options.hide) {\n process.env.NODE_ENV !== \"production\" ? warning(true, \"`hideOnEsc` prop is truthy, but `hide` prop wasn't provided.\", \"See https://reakit.io/docs/dialog\", dialog.current) : void 0;\n return;\n }\n\n event.stopPropagation();\n options.hide();\n }, [options.hideOnEsc, options.hide]);\n var onBlur = useCallback(function (event) {\n var _onBlurRef$current;\n\n (_onBlurRef$current = onBlurRef.current) === null || _onBlurRef$current === void 0 ? void 0 : _onBlurRef$current.call(onBlurRef, event);\n focusOnBlur(event);\n }, [focusOnBlur]);\n var wrapElement = useCallback(function (element) {\n element = wrap(element);\n\n if (options.modal && !hasBackdrop) {\n element = /*#__PURE__*/createElement(Portal, null, element);\n }\n\n if (htmlWrapElement) {\n element = htmlWrapElement(element);\n }\n\n return (\n /*#__PURE__*/\n // Prevents Menu > Dialog > Menu to behave as a sub menu\n createElement(MenuContext.Provider, {\n value: null\n }, element)\n );\n }, [wrap, options.modal, hasBackdrop, htmlWrapElement]);\n return _objectSpread2({\n ref: useForkRef(dialog, htmlRef),\n role: \"dialog\",\n tabIndex: tabIndex != null ? tabIndex : -1,\n \"aria-modal\": modal,\n \"data-dialog\": true,\n onKeyDown: onKeyDown,\n onBlur: onBlur,\n wrapElement: wrapElement\n }, htmlProps);\n }\n});\nvar Dialog = createComponent({\n as: \"div\",\n useHook: useDialog,\n useCreateElement: function useCreateElement$1(type, props, children) {\n process.env.NODE_ENV !== \"production\" ? useWarning(!props[\"aria-label\"] && !props[\"aria-labelledby\"], \"You should provide either `aria-label` or `aria-labelledby` props.\", \"See https://reakit.io/docs/dialog\") : void 0;\n return useCreateElement(type, props, children);\n }\n});\n\nexport { Dialog, useDialog };\n","import { isObject } from './isObject.js';\n\n/**\n * Checks whether `arg` is empty or not.\n *\n * @example\n * import { isEmpty } from \"reakit-utils\";\n *\n * isEmpty([]); // true\n * isEmpty([\"a\"]); // false\n * isEmpty({}); // true\n * isEmpty({ a: \"a\" }); // false\n * isEmpty(); // true\n * isEmpty(null); // true\n * isEmpty(undefined); // true\n * isEmpty(\"\"); // true\n */\n\nfunction isEmpty(arg) {\n if (Array.isArray(arg)) return !arg.length;\n if (isObject(arg)) return !Object.keys(arg).length;\n if (arg == null) return true;\n if (arg === \"\") return true;\n return false;\n}\n\nexport { isEmpty };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport { useWarning } from 'reakit-warning';\nimport 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport 'reakit-utils/useUpdateEffect';\nimport { useCreateElement } from 'reakit-system/useCreateElement';\nimport 'reakit-utils/getDocument';\nimport 'reakit-utils/canUseDOM';\nimport 'reakit-utils/getNextActiveElementOnBlur';\nimport 'reakit-utils/ensureFocus';\nimport '../__keys-e6a5cfbe.js';\nimport '../Disclosure/DisclosureContent.js';\nimport 'react-dom';\nimport '../Portal/Portal.js';\nimport 'reakit-utils/removeItemFromArray';\nimport '../MenuContext-6af6cf92.js';\nimport { useDialog } from '../Dialog/Dialog.js';\nimport 'body-scroll-lock';\nimport 'reakit-utils/closest';\nimport 'reakit-utils/getActiveElement';\nimport 'reakit-utils/contains';\nimport '../DialogBackdropContext-8775f78b.js';\nimport 'reakit-utils/isEmpty';\nimport '../__keys-ed7b48af.js';\nimport { P as POPOVER_KEYS } from '../__keys-26bb1730.js';\n\nvar usePopover = createHook({\n name: \"Popover\",\n compose: useDialog,\n keys: POPOVER_KEYS,\n useOptions: function useOptions(_ref) {\n var _ref$modal = _ref.modal,\n modal = _ref$modal === void 0 ? false : _ref$modal,\n options = _objectWithoutPropertiesLoose(_ref, [\"modal\"]);\n\n return _objectSpread2({\n modal: modal\n }, options);\n },\n useProps: function useProps(options, _ref2) {\n var htmlRef = _ref2.ref,\n htmlStyle = _ref2.style,\n htmlProps = _objectWithoutPropertiesLoose(_ref2, [\"ref\", \"style\"]);\n\n return _objectSpread2({\n ref: useForkRef(options.unstable_popoverRef, htmlRef),\n style: _objectSpread2(_objectSpread2({}, options.unstable_popoverStyles), htmlStyle)\n }, htmlProps);\n }\n});\nvar Popover = createComponent({\n as: \"div\",\n useHook: usePopover,\n useCreateElement: function useCreateElement$1(type, props, children) {\n process.env.NODE_ENV !== \"production\" ? useWarning(!props[\"aria-label\"] && !props[\"aria-labelledby\"], \"You should provide either `aria-label` or `aria-labelledby` props.\", \"See https://reakit.io/docs/popover\") : void 0;\n return useCreateElement(type, props, children);\n }\n});\n\nexport { Popover, usePopover };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { useState, useEffect, useCallback, useRef } from 'react';\nimport { warning } from 'reakit-warning';\nimport { useIsomorphicEffect } from 'reakit-utils/useIsomorphicEffect';\nimport { useSealedState } from 'reakit-utils/useSealedState';\nimport '../Id/IdProvider.js';\nimport { unstable_useIdState } from '../Id/IdState.js';\n\nfunction useLastValue(value) {\n var lastValue = useRef(null);\n useIsomorphicEffect(function () {\n lastValue.current = value;\n }, [value]);\n return lastValue;\n}\n\nfunction useDisclosureState(initialState) {\n if (initialState === void 0) {\n initialState = {};\n }\n\n var _useSealedState = useSealedState(initialState),\n _useSealedState$visib = _useSealedState.visible,\n initialVisible = _useSealedState$visib === void 0 ? false : _useSealedState$visib,\n _useSealedState$anima = _useSealedState.animated,\n initialAnimated = _useSealedState$anima === void 0 ? false : _useSealedState$anima,\n sealed = _objectWithoutPropertiesLoose(_useSealedState, [\"visible\", \"animated\"]);\n\n var id = unstable_useIdState(sealed);\n\n var _React$useState = useState(initialVisible),\n visible = _React$useState[0],\n setVisible = _React$useState[1];\n\n var _React$useState2 = useState(initialAnimated),\n animated = _React$useState2[0],\n setAnimated = _React$useState2[1];\n\n var _React$useState3 = useState(false),\n animating = _React$useState3[0],\n setAnimating = _React$useState3[1];\n\n var lastVisible = useLastValue(visible);\n var visibleHasChanged = lastVisible.current != null && lastVisible.current !== visible;\n\n if (animated && !animating && visibleHasChanged) {\n // Sets animating to true when when visible is updated\n setAnimating(true);\n }\n\n useEffect(function () {\n if (typeof animated === \"number\" && animating) {\n var timeout = setTimeout(function () {\n return setAnimating(false);\n }, animated);\n return function () {\n clearTimeout(timeout);\n };\n }\n\n if (animated && animating && process.env.NODE_ENV === \"development\") {\n var _timeout = setTimeout(function () {\n process.env.NODE_ENV !== \"production\" ? warning(animating, \"It's been 8 seconds but stopAnimation has not been called. Does the disclousure element have a CSS transition?\") : void 0;\n }, 8000);\n\n return function () {\n clearTimeout(_timeout);\n };\n }\n\n return function () {};\n }, [animated, animating]);\n var show = useCallback(function () {\n return setVisible(true);\n }, []);\n var hide = useCallback(function () {\n return setVisible(false);\n }, []);\n var toggle = useCallback(function () {\n return setVisible(function (v) {\n return !v;\n });\n }, []);\n var stopAnimation = useCallback(function () {\n return setAnimating(false);\n }, []);\n return _objectSpread2(_objectSpread2({}, id), {}, {\n visible: visible,\n animated: animated,\n animating: animating,\n show: show,\n hide: hide,\n toggle: toggle,\n setVisible: setVisible,\n setAnimated: setAnimated,\n stopAnimation: stopAnimation\n });\n}\n\nexport { useDisclosureState };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { shallowEqual } from 'reakit-utils/shallowEqual';\nimport { useRef, useState, useCallback, useEffect } from 'react';\nimport 'reakit-warning';\nimport { useIsomorphicEffect } from 'reakit-utils/useIsomorphicEffect';\nimport { isUA } from 'reakit-utils/dom';\nimport { useSealedState } from 'reakit-utils/useSealedState';\nimport '../Id/IdProvider.js';\nimport '../Id/IdState.js';\nimport { createPopper } from '@popperjs/core';\nimport '../Disclosure/DisclosureState.js';\nimport { useDialogState } from '../Dialog/DialogState.js';\n\nvar isSafari = isUA(\"Mac\") && !isUA(\"Chrome\") && isUA(\"Safari\");\n\nfunction applyStyles(styles) {\n return function (prevStyles) {\n if (styles && !shallowEqual(prevStyles, styles)) {\n return styles;\n }\n\n return prevStyles;\n };\n}\n\nfunction usePopoverState(initialState) {\n if (initialState === void 0) {\n initialState = {};\n }\n\n var _useSealedState = useSealedState(initialState),\n _useSealedState$gutte = _useSealedState.gutter,\n gutter = _useSealedState$gutte === void 0 ? 12 : _useSealedState$gutte,\n _useSealedState$place = _useSealedState.placement,\n sealedPlacement = _useSealedState$place === void 0 ? \"bottom\" : _useSealedState$place,\n _useSealedState$unsta = _useSealedState.unstable_flip,\n flip = _useSealedState$unsta === void 0 ? true : _useSealedState$unsta,\n sealedOffset = _useSealedState.unstable_offset,\n _useSealedState$unsta2 = _useSealedState.unstable_preventOverflow,\n preventOverflow = _useSealedState$unsta2 === void 0 ? true : _useSealedState$unsta2,\n _useSealedState$unsta3 = _useSealedState.unstable_fixed,\n fixed = _useSealedState$unsta3 === void 0 ? false : _useSealedState$unsta3,\n _useSealedState$modal = _useSealedState.modal,\n modal = _useSealedState$modal === void 0 ? false : _useSealedState$modal,\n sealed = _objectWithoutPropertiesLoose(_useSealedState, [\"gutter\", \"placement\", \"unstable_flip\", \"unstable_offset\", \"unstable_preventOverflow\", \"unstable_fixed\", \"modal\"]);\n\n var popper = useRef(null);\n var referenceRef = useRef(null);\n var popoverRef = useRef(null);\n var arrowRef = useRef(null);\n\n var _React$useState = useState(sealedPlacement),\n originalPlacement = _React$useState[0],\n place = _React$useState[1];\n\n var _React$useState2 = useState(sealedPlacement),\n placement = _React$useState2[0],\n setPlacement = _React$useState2[1];\n\n var _React$useState3 = useState(sealedOffset || [0, gutter]),\n offset = _React$useState3[0];\n\n var _React$useState4 = useState({\n position: \"fixed\",\n left: \"100%\",\n top: \"100%\"\n }),\n popoverStyles = _React$useState4[0],\n setPopoverStyles = _React$useState4[1];\n\n var _React$useState5 = useState({}),\n arrowStyles = _React$useState5[0],\n setArrowStyles = _React$useState5[1];\n\n var dialog = useDialogState(_objectSpread2({\n modal: modal\n }, sealed));\n var update = useCallback(function () {\n if (popper.current) {\n popper.current.forceUpdate();\n return true;\n }\n\n return false;\n }, []);\n var updateState = useCallback(function (state) {\n if (state.placement) {\n setPlacement(state.placement);\n }\n\n if (state.styles) {\n setPopoverStyles(applyStyles(state.styles.popper));\n\n if (arrowRef.current) {\n setArrowStyles(applyStyles(state.styles.arrow));\n }\n }\n }, []);\n useIsomorphicEffect(function () {\n if (referenceRef.current && popoverRef.current) {\n popper.current = createPopper(referenceRef.current, popoverRef.current, {\n // https://popper.js.org/docs/v2/constructors/#options\n placement: originalPlacement,\n strategy: fixed ? \"fixed\" : \"absolute\",\n // Safari needs styles to be applied in the first render, otherwise\n // hovering over the popover when it gets visible for the first time\n // will change its dimensions unexpectedly.\n onFirstUpdate: isSafari ? updateState : undefined,\n modifiers: [{\n // https://popper.js.org/docs/v2/modifiers/event-listeners/\n name: \"eventListeners\",\n enabled: dialog.visible\n }, {\n // https://popper.js.org/docs/v2/modifiers/apply-styles/\n name: \"applyStyles\",\n enabled: false\n }, {\n // https://popper.js.org/docs/v2/modifiers/flip/\n name: \"flip\",\n enabled: flip,\n options: {\n padding: 8\n }\n }, {\n // https://popper.js.org/docs/v2/modifiers/offset/\n name: \"offset\",\n options: {\n offset: offset\n }\n }, {\n // https://popper.js.org/docs/v2/modifiers/prevent-overflow/\n name: \"preventOverflow\",\n enabled: preventOverflow,\n options: {\n tetherOffset: function tetherOffset() {\n var _arrowRef$current;\n\n return ((_arrowRef$current = arrowRef.current) === null || _arrowRef$current === void 0 ? void 0 : _arrowRef$current.clientWidth) || 0;\n }\n }\n }, {\n // https://popper.js.org/docs/v2/modifiers/arrow/\n name: \"arrow\",\n enabled: !!arrowRef.current,\n options: {\n element: arrowRef.current\n }\n }, {\n // https://popper.js.org/docs/v2/modifiers/#custom-modifiers\n name: \"updateState\",\n phase: \"write\",\n requires: [\"computeStyles\"],\n enabled: dialog.visible && process.env.NODE_ENV !== \"test\",\n fn: function fn(_ref) {\n var state = _ref.state;\n return updateState(state);\n }\n }]\n });\n }\n\n return function () {\n if (popper.current) {\n popper.current.destroy();\n popper.current = null;\n }\n };\n }, [originalPlacement, fixed, dialog.visible, flip, offset, preventOverflow]); // Ensure that the popover will be correctly positioned with an additional\n // update.\n\n useEffect(function () {\n if (!dialog.visible) return undefined;\n var id = window.requestAnimationFrame(function () {\n var _popper$current;\n\n (_popper$current = popper.current) === null || _popper$current === void 0 ? void 0 : _popper$current.forceUpdate();\n });\n return function () {\n window.cancelAnimationFrame(id);\n };\n }, [dialog.visible]);\n return _objectSpread2(_objectSpread2({}, dialog), {}, {\n unstable_referenceRef: referenceRef,\n unstable_popoverRef: popoverRef,\n unstable_arrowRef: arrowRef,\n unstable_popoverStyles: popoverStyles,\n unstable_arrowStyles: arrowStyles,\n unstable_update: update,\n unstable_originalPlacement: originalPlacement,\n placement: placement,\n place: place\n });\n}\n\nexport { usePopoverState };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { useState, useRef } from 'react';\nimport 'reakit-warning';\nimport 'reakit-utils/useIsomorphicEffect';\nimport { useSealedState } from 'reakit-utils/useSealedState';\nimport '../Id/IdProvider.js';\nimport '../Id/IdState.js';\nimport { useDisclosureState } from '../Disclosure/DisclosureState.js';\n\nfunction useDialogState(initialState) {\n if (initialState === void 0) {\n initialState = {};\n }\n\n var _useSealedState = useSealedState(initialState),\n _useSealedState$modal = _useSealedState.modal,\n initialModal = _useSealedState$modal === void 0 ? true : _useSealedState$modal,\n sealed = _objectWithoutPropertiesLoose(_useSealedState, [\"modal\"]);\n\n var disclosure = useDisclosureState(sealed);\n\n var _React$useState = useState(initialModal),\n modal = _React$useState[0],\n setModal = _React$useState[1];\n\n var disclosureRef = useRef(null);\n return _objectSpread2(_objectSpread2({}, disclosure), {}, {\n modal: modal,\n setModal: setModal,\n unstable_disclosureRef: disclosureRef\n });\n}\n\nexport { useDialogState };\n","import { createContext, useContext, useState, createElement } from 'react';\nimport { useIsomorphicEffect } from 'reakit-utils/useIsomorphicEffect';\nimport { canUseDOM } from 'reakit-utils/canUseDOM';\nimport { createPortal } from 'react-dom';\n\nfunction getBodyElement() {\n return canUseDOM ? document.body : null;\n}\n\nvar PortalContext = /*#__PURE__*/createContext(getBodyElement());\nfunction Portal(_ref) {\n var children = _ref.children;\n // if it's a nested portal, context is the parent portal\n // otherwise it's document.body\n // https://github.com/reakit/reakit/issues/513\n var context = useContext(PortalContext) || getBodyElement();\n\n var _React$useState = useState(function () {\n if (canUseDOM) {\n var element = document.createElement(\"div\");\n element.className = Portal.__className;\n return element;\n } // ssr\n\n\n return null;\n }),\n hostNode = _React$useState[0];\n\n useIsomorphicEffect(function () {\n if (!hostNode || !context) return undefined;\n context.appendChild(hostNode);\n return function () {\n context.removeChild(hostNode);\n };\n }, [hostNode, context]);\n\n if (hostNode) {\n return /*#__PURE__*/createPortal( /*#__PURE__*/createElement(PortalContext.Provider, {\n value: hostNode\n }, children), hostNode);\n } // ssr\n\n\n return null;\n}\nPortal.__className = \"__reakit-portal\";\nPortal.__selector = \".\" + Portal.__className;\n\nexport { Portal, PortalContext };\n","import { _ as _objectWithoutPropertiesLoose } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport { shallowEqual } from 'reakit-utils/shallowEqual';\n\n// Automatically generated\nvar ROLE_KEYS = [\"unstable_system\"];\n\nvar useRole = createHook({\n name: \"Role\",\n keys: ROLE_KEYS,\n propsAreEqual: function propsAreEqual(prev, next) {\n var prevSystem = prev.unstable_system,\n prevProps = _objectWithoutPropertiesLoose(prev, [\"unstable_system\"]);\n\n var nextSystem = next.unstable_system,\n nextProps = _objectWithoutPropertiesLoose(next, [\"unstable_system\"]);\n\n if (prevSystem !== nextSystem && !shallowEqual(prevSystem, nextSystem)) {\n return false;\n }\n\n return shallowEqual(prevProps, nextProps);\n }\n});\nvar Role = createComponent({\n as: \"div\",\n useHook: useRole\n});\n\nexport { Role, useRole };\n","import { a as _objectSpread2, _ as _objectWithoutPropertiesLoose } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRef, useState, useCallback } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport { isButton } from 'reakit-utils/isButton';\nimport { warning } from 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport { useIsomorphicEffect } from 'reakit-utils/useIsomorphicEffect';\nimport { hasFocusWithin } from 'reakit-utils/hasFocusWithin';\nimport { isPortalEvent } from 'reakit-utils/isPortalEvent';\nimport { isUA } from 'reakit-utils/dom';\nimport { isFocusable } from 'reakit-utils/tabbable';\nimport { useRole } from '../Role/Role.js';\n\n// Automatically generated\nvar TABBABLE_KEYS = [\"disabled\", \"focusable\"];\n\nvar isSafariOrFirefoxOnMac = isUA(\"Mac\") && !isUA(\"Chrome\") && (isUA(\"Safari\") || isUA(\"Firefox\"));\n\nfunction focusIfNeeded(element) {\n if (!hasFocusWithin(element) && isFocusable(element)) {\n element.focus();\n }\n}\n\nfunction isNativeTabbable(element) {\n return [\"BUTTON\", \"INPUT\", \"SELECT\", \"TEXTAREA\", \"A\"].includes(element.tagName);\n}\n\nfunction supportsDisabledAttribute(element) {\n return [\"BUTTON\", \"INPUT\", \"SELECT\", \"TEXTAREA\"].includes(element.tagName);\n}\n\nfunction getTabIndex(trulyDisabled, nativeTabbable, supportsDisabled, htmlTabIndex) {\n if (trulyDisabled) {\n if (nativeTabbable && !supportsDisabled) {\n // Anchor, audio and video tags don't support the `disabled` attribute.\n // We must pass tabIndex={-1} so they don't receive focus on tab.\n return -1;\n } // Elements that support the `disabled` attribute don't need tabIndex.\n\n\n return undefined;\n }\n\n if (nativeTabbable) {\n // If the element is enabled and it's natively tabbable, we don't need to\n // specify a tabIndex attribute unless it's explicitly set by the user.\n return htmlTabIndex;\n } // If the element is enabled and is not natively tabbable, we have to\n // fallback tabIndex={0}.\n\n\n return htmlTabIndex || 0;\n}\n\nfunction useDisableEvent(htmlEventRef, disabled) {\n return useCallback(function (event) {\n var _htmlEventRef$current;\n\n (_htmlEventRef$current = htmlEventRef.current) === null || _htmlEventRef$current === void 0 ? void 0 : _htmlEventRef$current.call(htmlEventRef, event);\n if (event.defaultPrevented) return;\n\n if (disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n }, [htmlEventRef, disabled]);\n}\n\nvar useTabbable = createHook({\n name: \"Tabbable\",\n compose: useRole,\n keys: TABBABLE_KEYS,\n useOptions: function useOptions(options, _ref) {\n var disabled = _ref.disabled;\n return _objectSpread2({\n disabled: disabled\n }, options);\n },\n useProps: function useProps(options, _ref2) {\n var htmlRef = _ref2.ref,\n htmlTabIndex = _ref2.tabIndex,\n htmlOnClickCapture = _ref2.onClickCapture,\n htmlOnMouseDownCapture = _ref2.onMouseDownCapture,\n htmlOnMouseDown = _ref2.onMouseDown,\n htmlOnKeyPressCapture = _ref2.onKeyPressCapture,\n htmlStyle = _ref2.style,\n htmlProps = _objectWithoutPropertiesLoose(_ref2, [\"ref\", \"tabIndex\", \"onClickCapture\", \"onMouseDownCapture\", \"onMouseDown\", \"onKeyPressCapture\", \"style\"]);\n\n var ref = useRef(null);\n var onClickCaptureRef = useLiveRef(htmlOnClickCapture);\n var onMouseDownCaptureRef = useLiveRef(htmlOnMouseDownCapture);\n var onMouseDownRef = useLiveRef(htmlOnMouseDown);\n var onKeyPressCaptureRef = useLiveRef(htmlOnKeyPressCapture);\n var trulyDisabled = !!options.disabled && !options.focusable;\n\n var _React$useState = useState(true),\n nativeTabbable = _React$useState[0],\n setNativeTabbable = _React$useState[1];\n\n var _React$useState2 = useState(true),\n supportsDisabled = _React$useState2[0],\n setSupportsDisabled = _React$useState2[1];\n\n var style = options.disabled ? _objectSpread2({\n pointerEvents: \"none\"\n }, htmlStyle) : htmlStyle;\n useIsomorphicEffect(function () {\n var tabbable = ref.current;\n\n if (!tabbable) {\n process.env.NODE_ENV !== \"production\" ? warning(true, \"Can't determine if the element is a native tabbable element because `ref` wasn't passed to the component.\", \"See https://reakit.io/docs/tabbable\") : void 0;\n return;\n }\n\n if (!isNativeTabbable(tabbable)) {\n setNativeTabbable(false);\n }\n\n if (!supportsDisabledAttribute(tabbable)) {\n setSupportsDisabled(false);\n }\n }, []);\n var onClickCapture = useDisableEvent(onClickCaptureRef, options.disabled);\n var onMouseDownCapture = useDisableEvent(onMouseDownCaptureRef, options.disabled);\n var onKeyPressCapture = useDisableEvent(onKeyPressCaptureRef, options.disabled);\n var onMouseDown = useCallback(function (event) {\n var _onMouseDownRef$curre;\n\n (_onMouseDownRef$curre = onMouseDownRef.current) === null || _onMouseDownRef$curre === void 0 ? void 0 : _onMouseDownRef$curre.call(onMouseDownRef, event);\n var element = event.currentTarget;\n if (event.defaultPrevented) return; // Safari and Firefox on MacOS don't focus on buttons on mouse down\n // like other browsers/platforms. Instead, they focus on the closest\n // focusable ancestor element, which is ultimately the body element. So\n // we make sure to give focus to the tabbable element on mouse down so\n // it works consistently across browsers.\n\n if (!isSafariOrFirefoxOnMac) return;\n if (isPortalEvent(event)) return;\n if (!isButton(element)) return; // We can't focus right away after on mouse down, otherwise it would\n // prevent drag events from happening. So we schedule the focus to the\n // next animation frame.\n\n var raf = requestAnimationFrame(function () {\n element.removeEventListener(\"mouseup\", focusImmediately, true);\n focusIfNeeded(element);\n }); // If mouseUp happens before the next animation frame (which is common\n // on touch screens or by just tapping the trackpad on MacBook's), we\n // cancel the animation frame and immediately focus on the element.\n\n var focusImmediately = function focusImmediately() {\n cancelAnimationFrame(raf);\n focusIfNeeded(element);\n }; // By listening to the event in the capture phase, we make sure the\n // focus event is fired before the onMouseUp and onMouseUpCapture React\n // events, which is aligned with the default browser behavior.\n\n\n element.addEventListener(\"mouseup\", focusImmediately, {\n once: true,\n capture: true\n });\n }, []);\n return _objectSpread2({\n ref: useForkRef(ref, htmlRef),\n style: style,\n tabIndex: getTabIndex(trulyDisabled, nativeTabbable, supportsDisabled, htmlTabIndex),\n disabled: trulyDisabled && supportsDisabled ? true : undefined,\n \"aria-disabled\": options.disabled ? true : undefined,\n onClickCapture: onClickCapture,\n onMouseDownCapture: onMouseDownCapture,\n onMouseDown: onMouseDown,\n onKeyPressCapture: onKeyPressCapture\n }, htmlProps);\n }\n});\nvar Tabbable = createComponent({\n as: \"div\",\n useHook: useTabbable\n});\n\nexport { Tabbable, useTabbable };\n","// Automatically generated\nvar COMBOBOX_LIST_STATE_KEYS = [\"baseId\", \"unstable_idCountRef\", \"unstable_virtual\", \"rtl\", \"orientation\", \"groups\", \"currentId\", \"loop\", \"wrap\", \"shift\", \"unstable_moves\", \"unstable_hasActiveWidget\", \"unstable_includesBaseElement\", \"items\", \"menuRole\", \"inputValue\", \"minValueLength\", \"currentValue\", \"values\", \"limit\", \"matches\", \"list\", \"inline\", \"autoSelect\", \"visible\", \"setBaseId\", \"unregisterItem\", \"registerGroup\", \"unregisterGroup\", \"move\", \"next\", \"previous\", \"up\", \"down\", \"first\", \"last\", \"sort\", \"unstable_setVirtual\", \"setRTL\", \"setOrientation\", \"setCurrentId\", \"setLoop\", \"setWrap\", \"setShift\", \"reset\", \"unstable_setIncludesBaseElement\", \"unstable_setHasActiveWidget\", \"registerItem\", \"setInputValue\", \"setMinValueLength\", \"setValues\", \"setLimit\", \"setList\", \"setInline\", \"setAutoSelect\"];\nvar COMBOBOX_LIST_GRID_STATE_KEYS = [].concat(COMBOBOX_LIST_STATE_KEYS, [\"columns\", \"setColumns\"]);\nvar COMBOBOX_STATE_KEYS = [].concat(COMBOBOX_LIST_STATE_KEYS, [\"animated\", \"animating\", \"modal\", \"unstable_disclosureRef\", \"unstable_referenceRef\", \"unstable_popoverRef\", \"unstable_arrowRef\", \"unstable_popoverStyles\", \"unstable_arrowStyles\", \"unstable_originalPlacement\", \"unstable_update\", \"placement\", \"show\", \"hide\", \"toggle\", \"setVisible\", \"setAnimated\", \"stopAnimation\", \"setModal\", \"place\"]);\nvar COMBOBOX_GRID_STATE_KEYS = [].concat(COMBOBOX_LIST_GRID_STATE_KEYS, COMBOBOX_STATE_KEYS);\nvar COMBOBOX_KEYS = [].concat(COMBOBOX_GRID_STATE_KEYS, [\"hideOnEsc\"]);\nvar COMBOBOX_GRID_CELL_KEYS = COMBOBOX_GRID_STATE_KEYS;\nvar COMBOBOX_GRID_ROW_KEYS = COMBOBOX_GRID_CELL_KEYS;\nvar COMBOBOX_ITEM_KEYS = [].concat(COMBOBOX_GRID_ROW_KEYS, [\"value\"]);\nvar COMBOBOX_LIST_KEYS = COMBOBOX_GRID_ROW_KEYS;\nvar COMBOBOX_OPTION_KEYS = COMBOBOX_LIST_KEYS;\nvar COMBOBOX_POPOVER_KEYS = COMBOBOX_OPTION_KEYS;\n\nexport { COMBOBOX_KEYS as C, COMBOBOX_GRID_CELL_KEYS as a, COMBOBOX_GRID_ROW_KEYS as b, COMBOBOX_ITEM_KEYS as c, COMBOBOX_LIST_KEYS as d, COMBOBOX_OPTION_KEYS as e, COMBOBOX_POPOVER_KEYS as f };\n","// Automatically generated\nvar POPOVER_STATE_KEYS = [\"baseId\", \"unstable_idCountRef\", \"visible\", \"animated\", \"animating\", \"setBaseId\", \"show\", \"hide\", \"toggle\", \"setVisible\", \"setAnimated\", \"stopAnimation\", \"modal\", \"unstable_disclosureRef\", \"setModal\", \"unstable_referenceRef\", \"unstable_popoverRef\", \"unstable_arrowRef\", \"unstable_popoverStyles\", \"unstable_arrowStyles\", \"unstable_originalPlacement\", \"unstable_update\", \"placement\", \"place\"];\nvar POPOVER_KEYS = POPOVER_STATE_KEYS;\nvar POPOVER_ARROW_KEYS = [].concat(POPOVER_KEYS, [\"size\"]);\nvar POPOVER_BACKDROP_KEYS = POPOVER_KEYS;\nvar POPOVER_DISCLOSURE_KEYS = POPOVER_BACKDROP_KEYS;\n\nexport { POPOVER_KEYS as P, POPOVER_ARROW_KEYS as a, POPOVER_BACKDROP_KEYS as b, POPOVER_DISCLOSURE_KEYS as c };\n","// Automatically generated\nvar COMPOSITE_STATE_KEYS = [\"baseId\", \"unstable_idCountRef\", \"setBaseId\", \"unstable_virtual\", \"rtl\", \"orientation\", \"items\", \"groups\", \"currentId\", \"loop\", \"wrap\", \"shift\", \"unstable_moves\", \"unstable_hasActiveWidget\", \"unstable_includesBaseElement\", \"registerItem\", \"unregisterItem\", \"registerGroup\", \"unregisterGroup\", \"move\", \"next\", \"previous\", \"up\", \"down\", \"first\", \"last\", \"sort\", \"unstable_setVirtual\", \"setRTL\", \"setOrientation\", \"setCurrentId\", \"setLoop\", \"setWrap\", \"setShift\", \"reset\", \"unstable_setIncludesBaseElement\", \"unstable_setHasActiveWidget\"];\nvar COMPOSITE_KEYS = COMPOSITE_STATE_KEYS;\nvar COMPOSITE_GROUP_KEYS = COMPOSITE_KEYS;\nvar COMPOSITE_ITEM_KEYS = COMPOSITE_GROUP_KEYS;\nvar COMPOSITE_ITEM_WIDGET_KEYS = COMPOSITE_ITEM_KEYS;\n\nexport { COMPOSITE_KEYS as C, COMPOSITE_GROUP_KEYS as a, COMPOSITE_ITEM_KEYS as b, COMPOSITE_ITEM_WIDGET_KEYS as c };\n","// Automatically generated\nvar DISCLOSURE_STATE_KEYS = [\"baseId\", \"unstable_idCountRef\", \"visible\", \"animated\", \"animating\", \"setBaseId\", \"show\", \"hide\", \"toggle\", \"setVisible\", \"setAnimated\", \"stopAnimation\"];\nvar DISCLOSURE_KEYS = DISCLOSURE_STATE_KEYS;\nvar DISCLOSURE_CONTENT_KEYS = DISCLOSURE_KEYS;\n\nexport { DISCLOSURE_KEYS as D, DISCLOSURE_CONTENT_KEYS as a };\n","// Automatically generated\nvar DIALOG_STATE_KEYS = [\"baseId\", \"unstable_idCountRef\", \"visible\", \"animated\", \"animating\", \"setBaseId\", \"show\", \"hide\", \"toggle\", \"setVisible\", \"setAnimated\", \"stopAnimation\", \"modal\", \"unstable_disclosureRef\", \"setModal\"];\nvar DIALOG_KEYS = [].concat(DIALOG_STATE_KEYS, [\"hideOnEsc\", \"hideOnClickOutside\", \"preventBodyScroll\", \"unstable_initialFocusRef\", \"unstable_finalFocusRef\", \"unstable_orphan\", \"unstable_autoFocusOnShow\", \"unstable_autoFocusOnHide\"]);\nvar DIALOG_BACKDROP_KEYS = DIALOG_STATE_KEYS;\nvar DIALOG_DISCLOSURE_KEYS = DIALOG_BACKDROP_KEYS;\n\nexport { DIALOG_KEYS as D, DIALOG_BACKDROP_KEYS as a, DIALOG_DISCLOSURE_KEYS as b };\n","function _defineProperty(obj, key, value) {\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\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\nexport { _objectWithoutPropertiesLoose as _, _objectSpread2 as a, _createForOfIteratorHelperLoose as b };\n","function findEnabledItemById(items, id) {\n if (!id) return undefined;\n return items === null || items === void 0 ? void 0 : items.find(function (item) {\n return item.id === id && !item.disabled;\n });\n}\n\nexport { findEnabledItemById as f };\n","function findFirstEnabledItem(items, excludeId) {\n if (excludeId) {\n return items.find(function (item) {\n return !item.disabled && item.id !== excludeId;\n });\n }\n\n return items.find(function (item) {\n return !item.disabled;\n });\n}\n\nfunction getCurrentId(options, passedId) {\n var _findFirstEnabledItem;\n\n if (passedId || passedId === null) {\n return passedId;\n }\n\n if (options.currentId || options.currentId === null) {\n return options.currentId;\n }\n\n return (_findFirstEnabledItem = findFirstEnabledItem(options.items || [])) === null || _findFirstEnabledItem === void 0 ? void 0 : _findFirstEnabledItem.id;\n}\n\nexport { findFirstEnabledItem as f, getCurrentId as g };\n","function getMenuId(baseId) {\n return baseId + \"-menu\";\n}\n\nexport { getMenuId as g };\n","import { b as _createForOfIteratorHelperLoose } from './_rollupPluginBabelHelpers-1f0bf8c2.js';\n\nfunction groupItems(items) {\n var groups = [[]];\n\n var _loop = function _loop() {\n var item = _step.value;\n var group = groups.find(function (g) {\n return !g[0] || g[0].groupId === item.groupId;\n });\n\n if (group) {\n group.push(item);\n } else {\n groups.push([item]);\n }\n };\n\n for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {\n _loop();\n }\n\n return groups;\n}\n\nfunction flatten(grid) {\n var flattened = [];\n\n for (var _iterator = _createForOfIteratorHelperLoose(grid), _step; !(_step = _iterator()).done;) {\n var row = _step.value;\n flattened.push.apply(flattened, row);\n }\n\n return flattened;\n}\n\nfunction reverse(array) {\n return array.slice().reverse();\n}\n\nexport { flatten as f, groupItems as g, reverse as r };\n","function userFocus(element) {\n element.userFocus = true;\n element.focus();\n element.userFocus = false;\n}\nfunction hasUserFocus(element) {\n return !!element.userFocus;\n}\nfunction setUserFocus(element, value) {\n element.userFocus = value;\n}\n\nexport { hasUserFocus as h, setUserFocus as s, userFocus as u };\n"],"names":["getNodeName","element","nodeName","toLowerCase","getWindow","node","window","toString","ownerDocument","defaultView","isElement","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","name","enabled","phase","fn","_ref","state","Object","keys","elements","forEach","style","styles","attributes","assign","value","removeAttribute","setAttribute","effect","_ref2","initialStyles","popper","position","options","strategy","left","top","margin","arrow","reference","hasOwnProperty","reduce","property","attribute","requires","Math","max","min","round","getUAString","uaData","navigator","userAgentData","brands","map","item","brand","version","join","userAgent","isLayoutViewport","test","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","offsetWidth","width","offsetHeight","height","visualViewport","addVisualOffsets","x","offsetLeft","y","offsetTop","right","bottom","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","getDocumentElement","document","documentElement","getWindowScrollBarX","getComputedStyle","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","isOffsetParentAnElement","offsetParentIsScaled","rect","isElementScaled","scroll","offsets","clientLeft","clientTop","getLayoutRect","abs","getParentNode","assignedSlot","parentNode","host","getScrollParent","indexOf","body","listScrollParents","list","_element$ownerDocumen","scrollParent","isBody","target","concat","updatedList","isTableElement","getTrueOffsetParent","getOffsetParent","isFirefox","currentNode","css","transform","perspective","contain","willChange","filter","getContainingBlock","auto","basePlacements","start","end","clippingParents","viewport","variationPlacements","acc","placement","modifierPhases","order","modifiers","Map","visited","Set","result","sort","modifier","add","requiresIfExists","dep","has","depModifier","get","push","set","DEFAULT_OPTIONS","areValidElements","_len","arguments","length","args","Array","_key","some","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","modifiersData","effectCleanupFns","isDestroyed","instance","setOptions","setOptionsAction","cleanupModifierEffects","scrollParents","contextElement","orderModifiers","merged","current","existing","data","key","mergeByName","m","_ref3","_ref3$options","cleanupFn","noopFn","update","forceUpdate","_state$elements","rects","reset","index","_state$orderedModifie","_state$orderedModifie2","_options","Promise","resolve","then","undefined","destroy","onFirstUpdate","passive","_options$scroll","_options$resize","resize","addEventListener","removeEventListener","getBasePlacement","split","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","unsetSides","mapToStyles","_Object$assign2","popperRect","gpuAcceleration","adaptive","roundOffsets","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","popperOffsets","_options$offset","offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","hash","getOppositePlacement","replace","matched","getOppositeVariationPlacement","contains","parent","child","rootNode","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","html","clientWidth","clientHeight","layoutViewport","getViewportRect","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","direction","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","axis","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","placements","_options$allowedAutoP","allowedPlacements","overflows","a","b","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","find","slice","within","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","v","withinMaxClamp","_state$modifiersData$","toPaddingObject","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","_options$element","querySelector","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","eventListeners","applyStyles","SystemContext","createContext","_defineProperty","obj","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","apply","_objectSpread2","source","getOwnPropertyDescriptors","defineProperties","_objectWithoutPropertiesLoose","excluded","sourceKeys","_arrayLikeToArray","arr","arr2","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","isArray","n","prototype","call","constructor","from","_unsupportedIterableToArray","done","TypeError","bind","isPlainObject","arg","_proto$constructor","isObject","proto","getPrototypeOf","__deprecatedSplitProps","props","picked","omitted","_propsKeys","splitProps","_deprecatedSplitProp","restPicked","_","normalizePropsAreEqual","propsAreEqual","prev","createComponent","component","type","as","useHook","shouldMemo","memo","_ref$propsAreEqual","unstable_propsAreEqual","_ref$keys","__keys","_ref$useCreateElement","useCreateElement","useCreateElement$1","Comp","ref","_ref2$as","_as$render","_splitProps","htmlProps","_useHook","wrapElement","elementProps","asKeys","render","asOptions","allProps","_element","forwardRef","shallowEqual","useToken","token","defaultValue","useDebugValue","context","useContext","createHook","_options$useState","_composedHooks$","composedHooks","compose","__useOptions","hookOptions","useOptions","hookName","_step","_iterator","unstable_ignoreUseOptions","useProps","useComposeOptions","useComposeProps","_step2","_iterator2","hook","finalHTMLProps","definedHTMLProps","prop","composedKeys","useState","children","isRenderProp","createElement","_window","canUseDOM","Boolean","closest","selectors","parentElement","nodeType","createEvent","eventInit","Event","event","g","initEvent","bubbles","cancelable","isUA","string","hasFocus","activeElement","getActiveElement","activeDescendant","getAttribute","id","ensureFocus","_temp","preventScroll","_ref$isActive","isActive","focus","requestAnimationFrame","getDocument","isIE11","getNextActiveElementOnBlur","currentTarget","relatedTarget","e","hasFocusWithin","buttonInputTypes","isButton","tagName","input","isPortalEvent","isSelfTarget","matches","msMatchesSelector","webkitMatchesSelector","removeItemFromArray","array","removeIndexFromArray","objA","objB","aKeys","bKeys","_aKeys","selector","isFocusable","htmlElement","getClientRects","isVisible","isTabbable","parseInt","hasNegativeTabIndex","getAllTabbableIn","container","fallbackToFocusable","allFocusable","querySelectorAll","allTabbable","unshift","getFirstTabbableIn","getLastTabbableIn","setRef","useForkRef","refA","refB","useMemo","useIsomorphicEffect","useLayoutEffect","useEffect","useLiveRef","useRef","useSealedState","initialState","useUpdateEffect","deps","mounted","useBox","prevSystem","unstable_system","prevProps","nextSystem","nextProps","useClickable","_ref$unstable_clickOn","unstable_clickOnEnter","_ref$unstable_clickOn2","unstable_clickOnSpace","htmlOnKeyDown","onKeyDown","htmlOnKeyUp","onKeyUp","_React$useState","active","setActive","onKeyDownRef","onKeyUpRef","useCallback","_onKeyDownRef$current","defaultPrevented","disabled","metaKey","isEnter","isSpace","isTrusted","isNativeClick","preventDefault","click","_onKeyUpRef$current","getControls","baseId","ariaControls","menuId","getAutocomplete","inline","hasCompletionString","inputValue","currentValue","unstable_useCombobox","C","_ref$menuRole","menuRole","_ref$hideOnEsc","hideOnEsc","htmlRef","htmlOnKeyPress","onKeyPress","htmlOnChange","onChange","htmlOnClick","onClick","htmlOnBlur","onBlur","_React$useReducer","useReducer","updated","onKeyPressRef","onChangeRef","onClickRef","onBlurRef","items","autoSelect","currentId","firstItem","isFirstItemAutoSelected","getCompletionString","useValue","hasInsertedTextRef","_items$find","setSelectionRange","setCurrentId","_options$hide","hide","_onKeyPressRef$curren","_onChangeRef$current","_options$show","_options$setInputValu","_options$setCurrentId2","_options$setCurrentId","show","setInputValue","_onClickRef$current","_options$setCurrentId3","_options$show2","minValueLength","_onBlurRef$current","unstable_referenceRef","role","autoComplete","visible","htmlOnKeyDownCapture","onKeyDownCapture","compositeHTMLProps","onKeyDownCaptureRef","_onKeyDownCaptureRef$","_compositeHTMLProps$o","_onKeyDownRef$current2","_compositeHTMLProps$o2","_options$show3","ctrlKey","altKey","shiftKey","unstable_Combobox","getItemId","unstable_useComboboxItem","prevCurrentValue","nextCurrentValue","prevId","nextId","focusable","registerItem","_options$registerItem","tabIndex","unstable_useComboboxOption","unstable_ComboboxOption","unstable_useComboboxList","unstable_useComboboxPopover","unstable_disclosureRef","unstable_autoFocusOnShow","unstable_autoFocusOnHide","unstable_ComboboxPopover","useComboboxBaseState","composite","_ref$inputValue","initialInputValue","_ref$minValueLength","initialMinValueLength","_ref$values","values","initialValues","_ref$limit","limit","initialLimit","_ref$list","initialList","_ref$inline","initialInline","_ref$autoSelect","initialAutoSelect","valuesById","_React$useState2","setMinValueLength","_React$useState3","setValues","_React$useState4","setLimit","_React$useState5","setList","_React$useState6","setInline","_React$useState7","setAutoSelect","regex","RegExp","match","search","getMatches","unregisterItem","unstable_useComboboxState","sealed","u","combobox","_useSealedState","_useSealedState$curre","_useSealedState$orien","orientation","_useSealedState$loop","loop","unstable_virtual","unstable_includesBaseElement","unstable_useComboboxListState","_ref2$gutter","gutter","_ref2$placement","popover","useComboboxPopoverState","createFocusEvent","FocusEvent","fireBlurEvent","defaultAllowed","dispatchEvent","bubbleInit","fireKeyboardEvent","KeyboardEvent","initKeyboardEvent","location","createKeyboardEvent","useKeyboardEventProxy","virtual","currentItem","htmlEventHandler","eventHandlerRef","_eventHandlerRef$curr","canProxyKeyboardEvent","currentElement","stopPropagation","isItem","useComposite","htmlOnFocusCapture","onFocusCapture","htmlOnFocus","onFocus","htmlOnBlurCapture","onBlurCapture","htmlOnKeyUpCapture","onKeyUpCapture","f","previousElementRef","onFocusCaptureRef","onFocusRef","onBlurCaptureRef","scheduleUserFocus","currentItemRef","scheduled","schedule","_currentItemRef$curre","useScheduleUserFocus","activeElementRef","elementRef","useActiveElementRef","unstable_moves","_onFocusCaptureRef$cu","previousActiveElement","previousActiveElementWasItem","_onFocusRef$current","_onBlurCaptureRef$cur","nextActiveElement","nextActiveElementIsItem","_options$groups","isHorizontal","isGrid","groups","action","ArrowUp","_options$move","r","move","_options$last","last","ArrowRight","first","ArrowDown","ArrowLeft","Home","End","PageUp","PageDown","tabbableHTMLProps","Composite","isTextField","isTextInput","HTMLInputElement","selectionStart","isTextArea","isContentEditable","contentEditable","error","ID_KEYS","unstable_useId","generateId","suffix","unstable_idCountRef","setTextFieldValue","HTMLTextAreaElement","_Object$getOwnPropert","setValue","fireEvent","getWidget","itemElement","useCompositeItem","prevCurrentId","prevMoves","nextCurrentId","nextMoves","unstable_hasActiveWidget","_options$items2","_ref$tabIndex","htmlTabIndex","htmlOnMouseDown","onMouseDown","trulyDisabled","isCurrentItem","isCurrentItemRef","hasFocusedComposite","_options$items","useItem","onMouseDownRef","shouldTabIndex","_options$unregisterIt","_onMouseDownRef$curre","s","shouldFocusComposite","h","targetIsAnotherItem","getElementById","groupId","up","down","previous","_options$first","_options$previous","_options$next","_options$up","_options$first2","_options$down","_options$last2","widget","_widget","CompositeItem","applyState","argument","isUpdater","isElementPreceding","element1","element2","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","findDOMIndex","findIndex","getMaxLength","rows","maxLength","verticalizeItems","verticalized","group","fillGroups","shift","previousItem","nullItem","getItemsInGroup","horizontal","vertical","addItemAtIndex","sortBasedOnDOMPosition","pairs","isOrderDifferent","indexA","indexB","elementA","elementB","setItemsBasedOnDOMPosition","setItems","sortedItems","useIntersectionObserver","previousItems","root","_firstItem$ref$curren","nextItems","_ret","getCommonParent","observer","IntersectionObserver","observe","disconnect","useSortBasedOnDOMPosition","timeout","setTimeout","clearTimeout","useTimeoutObserver","reducer","rtl","wrap","pastIds","moves","includesBaseElement","initialVirtual","initialRTL","initialOrientation","initialCurrentId","initialLoop","initialWrap","initialShift","hasSetCurrentId","_group","_id","nextGroups","_findFirstEnabledItem","_item","_group2","_r$ref$current","nextItem","_index","nextState","_id2","nextPastIds","pastId","_nextState","_id3","filteredPastIds","_nextPastIds","_nextState2","_item2","isRTL","allItems","currentIndex","_nextItems","nextItemsInGroup","allTheWay","_nextItem2","oppositeOrientation","getOppositeOrientation","canLoop","canWrap","hasNullItem","shouldInsertNullItem","placeItemsAfter","_nextItem3","_nextItem4","_nextId","_nextItem","_hasNullItem","_nextState3","shouldShift","verticalItems","_hasNullItem2","_nextState4","_shouldShift","_verticalItems","_hasNullItem3","_nextState5","_nextState6","Error","useAction","useCompositeState","_useSealedState$unsta","_useSealedState$rtl","_useSealedState$wrap","_useSealedState$shift","idState","_React$useReducer$","dispatch","hasActiveWidget","setHasActiveWidget","isUnmountedRef","useIsUnmountedRef","unstable_setHasActiveWidget","registerGroup","unregisterGroup","unstable_setVirtual","setRTL","setOrientation","setLoop","setWrap","setShift","unstable_setIncludesBaseElement","generateRandomString","prefix","random","substr","unstable_IdContext","unstable_useIdState","initialBaseId","idCountRef","setBaseId","MenuContext","useMenuContext","menuRef","orphan","unstable_orphan","setChildren","addChildToParent","addChild","removeChildFromParent","removeChild","refs","providerValue","Provider","useDisclosureContent","htmlOnTransitionEnd","onTransitionEnd","htmlOnAnimationEnd","onAnimationEnd","htmlStyle","animating","animated","transition","setTransition","hidden","display","onTransitionEndRef","onAnimationEndRef","raf","cancelAnimationFrame","onEnd","_options$stopAnimatio","stopAnimation","_onTransitionEndRef$c","_onAnimationEndRef$cu","DialogBackdropContext","removeFromDOM","focusTrapClassName","useFocusTrap","dialogRef","visibleModals","portalRef","dialog","Portal","__selector","usePortalRef","shouldTrap","modal","beforeElement","afterElement","portal","className","cloneNode","insertAdjacentElement","before","after","handleFocus","tabbable","useFocusOnHide","disclosureRef","shouldFocus","_options$unstable_fin","hidByFocusingAnotherElement","finalFocusEl","unstable_finalFocusRef","compositeElement","DialogContext","useEventListenerOutside","containerRef","nestedDialogs","eventType","listener","shouldListen","capture","listenerRef","onEvent","_element$classList","disclosure","isInDocument","isDisclosure","classList","backdrop","dialogContains","useHideOnClickOutside","mouseDownRef","hideOnClickOutside","useMouseDownRef","_options$hide2","useFocusOnChildUnmount","MutationObserver","mutations","childList","subtree","isActualElement","useDialog","D","_ref$modal","_ref$hideOnClickOutsi","_ref$preventBodyScrol","preventBodyScroll","_ref$unstable_autoFoc","_ref$unstable_autoFoc2","htmlWrapElement","hasBackdrop","_options$unstable_dis","useDisclosureRef","focusOnBlur","blurred","scheduleFocus","useFocusOnBlur","_useNestedDialogs","dialogs","setDialogs","setVisibleModals","addDialog","_context$addDialog","prevDialogs","removeDialog","_context$removeDialog","showDialog","_context$showDialog","hideDialog","_context$hideDialog","_context$addDialog2","_context$removeDialog2","_context$showDialog2","_context$hideDialog2","useNestedDialogs","targetRef","shouldPrevent","reserveScrollBarGap","usePreventBodyScroll","initialFocusRef","unstable_initialFocusRef","useFocusOnShow","useEvent","useDisableHoverOutside","M","usePopover","P","unstable_popoverRef","unstable_popoverStyles","Popover","useDisclosureState","lastValue","_useSealedState$visib","initialVisible","_useSealedState$anima","initialAnimated","setVisible","setAnimated","setAnimating","lastVisible","visibleHasChanged","toggle","isSafari","prevStyles","usePopoverState","_useSealedState$gutte","_useSealedState$place","sealedPlacement","unstable_flip","flip","sealedOffset","unstable_offset","_useSealedState$unsta2","unstable_preventOverflow","_useSealedState$unsta3","unstable_fixed","fixed","_useSealedState$modal","referenceRef","popoverRef","arrowRef","originalPlacement","place","setPlacement","popoverStyles","setPopoverStyles","arrowStyles","setArrowStyles","initialModal","setModal","useDialogState","updateState","_arrowRef$current","_popper$current","unstable_arrowRef","unstable_arrowStyles","unstable_update","unstable_originalPlacement","getBodyElement","PortalContext","hostNode","__className","appendChild","createPortal","useRole","isSafariOrFirefoxOnMac","focusIfNeeded","getTabIndex","nativeTabbable","supportsDisabled","useDisableEvent","htmlEventRef","_htmlEventRef$current","useTabbable","htmlOnClickCapture","onClickCapture","htmlOnMouseDownCapture","onMouseDownCapture","htmlOnKeyPressCapture","onKeyPressCapture","onClickCaptureRef","onMouseDownCaptureRef","onKeyPressCaptureRef","setNativeTabbable","setSupportsDisabled","pointerEvents","includes","supportsDisabledAttribute","focusImmediately","once","COMBOBOX_LIST_STATE_KEYS","COMBOBOX_LIST_GRID_STATE_KEYS","COMBOBOX_STATE_KEYS","COMBOBOX_GRID_STATE_KEYS","COMBOBOX_KEYS","COMBOBOX_GRID_ROW_KEYS","COMBOBOX_ITEM_KEYS","COMBOBOX_LIST_KEYS","COMBOBOX_OPTION_KEYS","COMBOBOX_POPOVER_KEYS","POPOVER_KEYS","POPOVER_ARROW_KEYS","POPOVER_DISCLOSURE_KEYS","COMPOSITE_KEYS","COMPOSITE_ITEM_KEYS","DISCLOSURE_KEYS","DISCLOSURE_CONTENT_KEYS","DIALOG_STATE_KEYS","DIALOG_KEYS","DIALOG_DISCLOSURE_KEYS","findEnabledItemById","findFirstEnabledItem","excludeId","getCurrentId","passedId","getMenuId","groupItems","flatten","grid","flattened","row","reverse","userFocus","hasUserFocus","setUserFocus"],"sourceRoot":""}