{"version":3,"file":"js/vendor/restart/ui.3a3d9fac.js","mappings":"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","sources":["webpack://NX/./node_modules/@restart/ui/esm/Anchor.js","webpack://NX/./node_modules/@restart/ui/esm/Button.js","webpack://NX/./node_modules/@restart/ui/esm/DataKey.js","webpack://NX/./node_modules/@restart/ui/esm/Dropdown.js","webpack://NX/./node_modules/@restart/ui/esm/DropdownContext.js","webpack://NX/./node_modules/@restart/ui/esm/DropdownItem.js","webpack://NX/./node_modules/@restart/ui/esm/popper.js","webpack://NX/./node_modules/@restart/ui/esm/usePopper.js","webpack://NX/./node_modules/@restart/ui/esm/useClickOutside.js","webpack://NX/./node_modules/@restart/ui/esm/mergeOptionsWithPopperConfig.js","webpack://NX/./node_modules/@restart/ui/esm/DropdownMenu.js","webpack://NX/./node_modules/@restart/ui/esm/DropdownToggle.js","webpack://NX/./node_modules/@restart/ui/esm/useWaitForDOMRef.js","webpack://NX/./node_modules/@restart/ui/esm/ImperativeTransition.js","webpack://NX/./node_modules/@restart/ui/esm/Modal.js","webpack://NX/./node_modules/@restart/ui/esm/utils.js","webpack://NX/./node_modules/@restart/ui/esm/ModalManager.js","webpack://NX/./node_modules/@restart/ui/esm/getScrollbarWidth.js","webpack://NX/./node_modules/@restart/ui/esm/Nav.js","webpack://NX/./node_modules/@restart/ui/esm/NavContext.js","webpack://NX/./node_modules/@restart/ui/esm/NavItem.js","webpack://NX/./node_modules/@restart/ui/esm/NoopTransition.js","webpack://NX/./node_modules/@restart/ui/esm/SelectableContext.js","webpack://NX/./node_modules/@restart/ui/esm/TabContext.js","webpack://NX/./node_modules/@restart/ui/esm/TabPanel.js","webpack://NX/./node_modules/@restart/ui/esm/Tabs.js","webpack://NX/./node_modules/@restart/ui/esm/useWindow.js"],"sourcesContent":["const _excluded = [\"onKeyDown\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/anchor-has-content */\n\nimport * as React from 'react';\nimport { useEventCallback } from '@restart/hooks';\nimport { useButtonProps } from './Button';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\n/**\n * An generic `` component that covers a few A11y cases, ensuring that\n * cases where the `href` is missing or trivial like \"#\" are treated like buttons.\n */\nconst Anchor = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n onKeyDown\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [buttonProps] = useButtonProps(Object.assign({\n tagName: 'a'\n }, props));\n const handleKeyDown = useEventCallback(e => {\n buttonProps.onKeyDown(e);\n onKeyDown == null ? void 0 : onKeyDown(e);\n });\n if (isTrivialHref(props.href) || props.role === 'button') {\n return /*#__PURE__*/_jsx(\"a\", Object.assign({\n ref: ref\n }, props, buttonProps, {\n onKeyDown: handleKeyDown\n }));\n }\n return /*#__PURE__*/_jsx(\"a\", Object.assign({\n ref: ref\n }, props, {\n onKeyDown: onKeyDown\n }));\n});\nAnchor.displayName = 'Anchor';\nexport default Anchor;","const _excluded = [\"as\", \"disabled\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\nexport function useButtonProps({\n tagName,\n disabled,\n href,\n target,\n rel,\n role,\n onClick,\n tabIndex = 0,\n type\n}) {\n if (!tagName) {\n if (href != null || target != null || rel != null) {\n tagName = 'a';\n } else {\n tagName = 'button';\n }\n }\n const meta = {\n tagName\n };\n if (tagName === 'button') {\n return [{\n type: type || 'button',\n disabled\n }, meta];\n }\n const handleClick = event => {\n if (disabled || tagName === 'a' && isTrivialHref(href)) {\n event.preventDefault();\n }\n if (disabled) {\n event.stopPropagation();\n return;\n }\n onClick == null ? void 0 : onClick(event);\n };\n const handleKeyDown = event => {\n if (event.key === ' ') {\n event.preventDefault();\n handleClick(event);\n }\n };\n if (tagName === 'a') {\n // Ensure there's a href so Enter can trigger anchor button.\n href || (href = '#');\n if (disabled) {\n href = undefined;\n }\n }\n return [{\n role: role != null ? role : 'button',\n // explicitly undefined so that it overrides the props disabled in a spread\n // e.g. \n disabled: undefined,\n tabIndex: disabled ? undefined : tabIndex,\n href,\n target: tagName === 'a' ? target : undefined,\n 'aria-disabled': !disabled ? undefined : disabled,\n rel: tagName === 'a' ? rel : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown\n }, meta];\n}\nconst Button = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n as: asProp,\n disabled\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [buttonProps, {\n tagName: Component\n }] = useButtonProps(Object.assign({\n tagName: asProp,\n disabled\n }, props));\n return /*#__PURE__*/_jsx(Component, Object.assign({}, props, buttonProps, {\n ref: ref\n }));\n});\nButton.displayName = 'Button';\nexport default Button;","export const ATTRIBUTE_PREFIX = `data-rr-ui-`;\nexport const PROPERTY_PREFIX = `rrUi`;\nexport function dataAttr(property) {\n return `${ATTRIBUTE_PREFIX}${property}`;\n}\nexport function dataProp(property) {\n return `${PROPERTY_PREFIX}${property}`;\n}","import qsa from 'dom-helpers/querySelectorAll';\nimport addEventListener from 'dom-helpers/addEventListener';\nimport { useCallback, useRef, useEffect, useMemo, useContext } from 'react';\nimport * as React from 'react';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport usePrevious from '@restart/hooks/usePrevious';\nimport useForceUpdate from '@restart/hooks/useForceUpdate';\nimport useEventListener from '@restart/hooks/useEventListener';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownMenu from './DropdownMenu';\nimport DropdownToggle, { isRoleMenu } from './DropdownToggle';\nimport DropdownItem from './DropdownItem';\nimport SelectableContext from './SelectableContext';\nimport { dataAttr } from './DataKey';\nimport useWindow from './useWindow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction useRefWithUpdate() {\n const forceUpdate = useForceUpdate();\n const ref = useRef(null);\n const attachRef = useCallback(element => {\n ref.current = element;\n // ensure that a menu set triggers an update for consumers\n forceUpdate();\n }, [forceUpdate]);\n return [ref, attachRef];\n}\n\n/**\n * @displayName Dropdown\n * @public\n */\nfunction Dropdown({\n defaultShow,\n show: rawShow,\n onSelect,\n onToggle: rawOnToggle,\n itemSelector = `* [${dataAttr('dropdown-item')}]`,\n focusFirstItemOnShow,\n placement = 'bottom-start',\n children\n}) {\n const window = useWindow();\n const [show, onToggle] = useUncontrolledProp(rawShow, defaultShow, rawOnToggle);\n\n // We use normal refs instead of useCallbackRef in order to populate the\n // the value as quickly as possible, otherwise the effect to focus the element\n // may run before the state value is set\n const [menuRef, setMenu] = useRefWithUpdate();\n const menuElement = menuRef.current;\n const [toggleRef, setToggle] = useRefWithUpdate();\n const toggleElement = toggleRef.current;\n const lastShow = usePrevious(show);\n const lastSourceEvent = useRef(null);\n const focusInDropdown = useRef(false);\n const onSelectCtx = useContext(SelectableContext);\n const toggle = useCallback((nextShow, event, source = event == null ? void 0 : event.type) => {\n onToggle(nextShow, {\n originalEvent: event,\n source\n });\n }, [onToggle]);\n const handleSelect = useEventCallback((key, event) => {\n onSelect == null ? void 0 : onSelect(key, event);\n toggle(false, event, 'select');\n if (!event.isPropagationStopped()) {\n onSelectCtx == null ? void 0 : onSelectCtx(key, event);\n }\n });\n const context = useMemo(() => ({\n toggle,\n placement,\n show,\n menuElement,\n toggleElement,\n setMenu,\n setToggle\n }), [toggle, placement, show, menuElement, toggleElement, setMenu, setToggle]);\n if (menuElement && lastShow && !show) {\n focusInDropdown.current = menuElement.contains(menuElement.ownerDocument.activeElement);\n }\n const focusToggle = useEventCallback(() => {\n if (toggleElement && toggleElement.focus) {\n toggleElement.focus();\n }\n });\n const maybeFocusFirst = useEventCallback(() => {\n const type = lastSourceEvent.current;\n let focusType = focusFirstItemOnShow;\n if (focusType == null) {\n focusType = menuRef.current && isRoleMenu(menuRef.current) ? 'keyboard' : false;\n }\n if (focusType === false || focusType === 'keyboard' && !/^key.+$/.test(type)) {\n return;\n }\n const first = qsa(menuRef.current, itemSelector)[0];\n if (first && first.focus) first.focus();\n });\n useEffect(() => {\n if (show) maybeFocusFirst();else if (focusInDropdown.current) {\n focusInDropdown.current = false;\n focusToggle();\n }\n // only `show` should be changing\n }, [show, focusInDropdown, focusToggle, maybeFocusFirst]);\n useEffect(() => {\n lastSourceEvent.current = null;\n });\n const getNextFocusedChild = (current, offset) => {\n if (!menuRef.current) return null;\n const items = qsa(menuRef.current, itemSelector);\n let index = items.indexOf(current) + offset;\n index = Math.max(0, Math.min(index, items.length));\n return items[index];\n };\n useEventListener(useCallback(() => window.document, [window]), 'keydown', event => {\n var _menuRef$current, _toggleRef$current;\n const {\n key\n } = event;\n const target = event.target;\n const fromMenu = (_menuRef$current = menuRef.current) == null ? void 0 : _menuRef$current.contains(target);\n const fromToggle = (_toggleRef$current = toggleRef.current) == null ? void 0 : _toggleRef$current.contains(target);\n\n // Second only to https://github.com/twbs/bootstrap/blob/8cfbf6933b8a0146ac3fbc369f19e520bd1ebdac/js/src/dropdown.js#L400\n // in inscrutability\n const isInput = /input|textarea/i.test(target.tagName);\n if (isInput && (key === ' ' || key !== 'Escape' && fromMenu || key === 'Escape' && target.type === 'search')) {\n return;\n }\n if (!fromMenu && !fromToggle) {\n return;\n }\n if (key === 'Tab' && (!menuRef.current || !show)) {\n return;\n }\n lastSourceEvent.current = event.type;\n const meta = {\n originalEvent: event,\n source: event.type\n };\n switch (key) {\n case 'ArrowUp':\n {\n const next = getNextFocusedChild(target, -1);\n if (next && next.focus) next.focus();\n event.preventDefault();\n return;\n }\n case 'ArrowDown':\n event.preventDefault();\n if (!show) {\n onToggle(true, meta);\n } else {\n const next = getNextFocusedChild(target, 1);\n if (next && next.focus) next.focus();\n }\n return;\n case 'Tab':\n // on keydown the target is the element being tabbed FROM, we need that\n // to know if this event is relevant to this dropdown (e.g. in this menu).\n // On `keyup` the target is the element being tagged TO which we use to check\n // if focus has left the menu\n addEventListener(target.ownerDocument, 'keyup', e => {\n var _menuRef$current2;\n if (e.key === 'Tab' && !e.target || !((_menuRef$current2 = menuRef.current) != null && _menuRef$current2.contains(e.target))) {\n onToggle(false, meta);\n }\n }, {\n once: true\n });\n break;\n case 'Escape':\n if (key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n }\n onToggle(false, meta);\n break;\n default:\n }\n });\n return /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: handleSelect,\n children: /*#__PURE__*/_jsx(DropdownContext.Provider, {\n value: context,\n children: children\n })\n });\n}\nDropdown.displayName = 'Dropdown';\nDropdown.Menu = DropdownMenu;\nDropdown.Toggle = DropdownToggle;\nDropdown.Item = DropdownItem;\nexport default Dropdown;","import * as React from 'react';\nconst DropdownContext = /*#__PURE__*/React.createContext(null);\nexport default DropdownContext;","const _excluded = [\"eventKey\", \"disabled\", \"onClick\", \"active\", \"as\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport NavContext from './NavContext';\nimport Button from './Button';\nimport { dataAttr } from './DataKey';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Create a dropdown item. Returns a set of props for the dropdown item component\n * including an `onClick` handler that prevents selection when the item is disabled\n */\nexport function useDropdownItem({\n key,\n href,\n active,\n disabled,\n onClick\n}) {\n const onSelectCtx = useContext(SelectableContext);\n const navContext = useContext(NavContext);\n const {\n activeKey\n } = navContext || {};\n const eventKey = makeEventKey(key, href);\n const isActive = active == null && key != null ? makeEventKey(activeKey) === eventKey : active;\n const handleClick = useEventCallback(event => {\n if (disabled) return;\n onClick == null ? void 0 : onClick(event);\n if (onSelectCtx && !event.isPropagationStopped()) {\n onSelectCtx(eventKey, event);\n }\n });\n return [{\n onClick: handleClick,\n 'aria-disabled': disabled || undefined,\n 'aria-selected': isActive,\n [dataAttr('dropdown-item')]: ''\n }, {\n isActive\n }];\n}\nconst DropdownItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n eventKey,\n disabled,\n onClick,\n active,\n as: Component = Button\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [dropdownItemProps] = useDropdownItem({\n key: eventKey,\n href: props.href,\n disabled,\n onClick,\n active\n });\n return /*#__PURE__*/_jsx(Component, Object.assign({}, props, {\n ref: ref\n }, dropdownItemProps));\n});\nDropdownItem.displayName = 'DropdownItem';\nexport default DropdownItem;","import arrow from '@popperjs/core/lib/modifiers/arrow';\nimport computeStyles from '@popperjs/core/lib/modifiers/computeStyles';\nimport eventListeners from '@popperjs/core/lib/modifiers/eventListeners';\nimport flip from '@popperjs/core/lib/modifiers/flip';\nimport hide from '@popperjs/core/lib/modifiers/hide';\nimport offset from '@popperjs/core/lib/modifiers/offset';\nimport popperOffsets from '@popperjs/core/lib/modifiers/popperOffsets';\nimport preventOverflow from '@popperjs/core/lib/modifiers/preventOverflow';\nimport { placements } from '@popperjs/core/lib/enums';\nimport { popperGenerator } from '@popperjs/core/lib/popper-base';\n\n// For the common JS build we will turn this file into a bundle with no imports.\n// This is b/c the Popper lib is all esm files, and would break in a common js only environment\nexport const createPopper = popperGenerator({\n defaultModifiers: [hide, popperOffsets, computeStyles, eventListeners, offset, flip, preventOverflow, arrow]\n});\nexport { placements };","const _excluded = [\"enabled\", \"placement\", \"strategy\", \"modifiers\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { dequal } from 'dequal';\nimport useSafeState from '@restart/hooks/useSafeState';\nimport { createPopper } from './popper';\nconst disabledApplyStylesModifier = {\n name: 'applyStyles',\n enabled: false,\n phase: 'afterWrite',\n fn: () => undefined\n};\n\n// until docjs supports type exports...\n\nconst ariaDescribedByModifier = {\n name: 'ariaDescribedBy',\n enabled: true,\n phase: 'afterWrite',\n effect: ({\n state\n }) => () => {\n const {\n reference,\n popper\n } = state.elements;\n if ('removeAttribute' in reference) {\n const ids = (reference.getAttribute('aria-describedby') || '').split(',').filter(id => id.trim() !== popper.id);\n if (!ids.length) reference.removeAttribute('aria-describedby');else reference.setAttribute('aria-describedby', ids.join(','));\n }\n },\n fn: ({\n state\n }) => {\n var _popper$getAttribute;\n const {\n popper,\n reference\n } = state.elements;\n const role = (_popper$getAttribute = popper.getAttribute('role')) == null ? void 0 : _popper$getAttribute.toLowerCase();\n if (popper.id && role === 'tooltip' && 'setAttribute' in reference) {\n const ids = reference.getAttribute('aria-describedby');\n if (ids && ids.split(',').indexOf(popper.id) !== -1) {\n return;\n }\n reference.setAttribute('aria-describedby', ids ? `${ids},${popper.id}` : popper.id);\n }\n }\n};\nconst EMPTY_MODIFIERS = [];\n/**\n * Position an element relative some reference element using Popper.js\n *\n * @param referenceElement\n * @param popperElement\n * @param {object} options\n * @param {object=} options.modifiers Popper.js modifiers\n * @param {boolean=} options.enabled toggle the popper functionality on/off\n * @param {string=} options.placement The popper element placement relative to the reference element\n * @param {string=} options.strategy the positioning strategy\n * @param {function=} options.onCreate called when the popper is created\n * @param {function=} options.onUpdate called when the popper is updated\n *\n * @returns {UsePopperState} The popper state\n */\nfunction usePopper(referenceElement, popperElement, _ref = {}) {\n let {\n enabled = true,\n placement = 'bottom',\n strategy = 'absolute',\n modifiers = EMPTY_MODIFIERS\n } = _ref,\n config = _objectWithoutPropertiesLoose(_ref, _excluded);\n const prevModifiers = useRef(modifiers);\n const popperInstanceRef = useRef();\n const update = useCallback(() => {\n var _popperInstanceRef$cu;\n (_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.update();\n }, []);\n const forceUpdate = useCallback(() => {\n var _popperInstanceRef$cu2;\n (_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.forceUpdate();\n }, []);\n const [popperState, setState] = useSafeState(useState({\n placement,\n update,\n forceUpdate,\n attributes: {},\n styles: {\n popper: {},\n arrow: {}\n }\n }));\n const updateModifier = useMemo(() => ({\n name: 'updateStateModifier',\n enabled: true,\n phase: 'write',\n requires: ['computeStyles'],\n fn: ({\n state\n }) => {\n const styles = {};\n const attributes = {};\n Object.keys(state.elements).forEach(element => {\n styles[element] = state.styles[element];\n attributes[element] = state.attributes[element];\n });\n setState({\n state,\n styles,\n attributes,\n update,\n forceUpdate,\n placement: state.placement\n });\n }\n }), [update, forceUpdate, setState]);\n const nextModifiers = useMemo(() => {\n if (!dequal(prevModifiers.current, modifiers)) {\n prevModifiers.current = modifiers;\n }\n return prevModifiers.current;\n }, [modifiers]);\n useEffect(() => {\n if (!popperInstanceRef.current || !enabled) return;\n popperInstanceRef.current.setOptions({\n placement,\n strategy,\n modifiers: [...nextModifiers, updateModifier, disabledApplyStylesModifier]\n });\n }, [strategy, placement, updateModifier, enabled, nextModifiers]);\n useEffect(() => {\n if (!enabled || referenceElement == null || popperElement == null) {\n return undefined;\n }\n popperInstanceRef.current = createPopper(referenceElement, popperElement, Object.assign({}, config, {\n placement,\n strategy,\n modifiers: [...nextModifiers, ariaDescribedByModifier, updateModifier]\n }));\n return () => {\n if (popperInstanceRef.current != null) {\n popperInstanceRef.current.destroy();\n popperInstanceRef.current = undefined;\n setState(s => Object.assign({}, s, {\n attributes: {},\n styles: {\n popper: {}\n }\n }));\n }\n };\n // This is only run once to _create_ the popper\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled, referenceElement, popperElement]);\n return popperState;\n}\nexport default usePopper;","import contains from 'dom-helpers/contains';\nimport listen from 'dom-helpers/listen';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport { useCallback, useEffect, useRef } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport warning from 'warning';\nconst noop = () => {};\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nexport const getRefTarget = ref => ref && ('current' in ref ? ref.current : ref);\nconst InitialTriggerEvents = {\n click: 'mousedown',\n mouseup: 'mousedown',\n pointerup: 'pointerdown'\n};\n\n/**\n * The `useClickOutside` hook registers your callback on the document that fires\n * when a pointer event is registered outside of the provided ref or element.\n *\n * @param {Ref| HTMLElement} ref The element boundary\n * @param {function} onClickOutside\n * @param {object=} options\n * @param {boolean=} options.disabled\n * @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on\n */\nfunction useClickOutside(ref, onClickOutside = noop, {\n disabled,\n clickTrigger = 'click'\n} = {}) {\n const preventMouseClickOutsideRef = useRef(false);\n const waitingForTrigger = useRef(false);\n const handleMouseCapture = useCallback(e => {\n const currentTarget = getRefTarget(ref);\n warning(!!currentTarget, 'ClickOutside captured a close event but does not have a ref to compare it to. ' + 'useClickOutside(), should be passed a ref that resolves to a DOM node');\n preventMouseClickOutsideRef.current = !currentTarget || isModifiedEvent(e) || !isLeftClickEvent(e) || !!contains(currentTarget, e.target) || waitingForTrigger.current;\n waitingForTrigger.current = false;\n }, [ref]);\n const handleInitialMouse = useEventCallback(e => {\n const currentTarget = getRefTarget(ref);\n if (currentTarget && contains(currentTarget, e.target)) {\n waitingForTrigger.current = true;\n }\n });\n const handleMouse = useEventCallback(e => {\n if (!preventMouseClickOutsideRef.current) {\n onClickOutside(e);\n }\n });\n useEffect(() => {\n if (disabled || ref == null) return undefined;\n const doc = ownerDocument(getRefTarget(ref));\n\n // Store the current event to avoid triggering handlers immediately\n // https://github.com/facebook/react/issues/20074\n let currentEvent = (doc.defaultView || window).event;\n let removeInitialTriggerListener = null;\n if (InitialTriggerEvents[clickTrigger]) {\n removeInitialTriggerListener = listen(doc, InitialTriggerEvents[clickTrigger], handleInitialMouse, true);\n }\n\n // Use capture for this listener so it fires before React's listener, to\n // avoid false positives in the contains() check below if the target DOM\n // element is removed in the React mouse callback.\n const removeMouseCaptureListener = listen(doc, clickTrigger, handleMouseCapture, true);\n const removeMouseListener = listen(doc, clickTrigger, e => {\n // skip if this event is the same as the one running when we added the handlers\n if (e === currentEvent) {\n currentEvent = undefined;\n return;\n }\n handleMouse(e);\n });\n let mobileSafariHackListeners = [];\n if ('ontouchstart' in doc.documentElement) {\n mobileSafariHackListeners = [].slice.call(doc.body.children).map(el => listen(el, 'mousemove', noop));\n }\n return () => {\n removeInitialTriggerListener == null ? void 0 : removeInitialTriggerListener();\n removeMouseCaptureListener();\n removeMouseListener();\n mobileSafariHackListeners.forEach(remove => remove());\n };\n }, [ref, disabled, clickTrigger, handleMouseCapture, handleInitialMouse, handleMouse]);\n}\nexport default useClickOutside;","export function toModifierMap(modifiers) {\n const result = {};\n if (!Array.isArray(modifiers)) {\n return modifiers || result;\n }\n\n // eslint-disable-next-line no-unused-expressions\n modifiers == null ? void 0 : modifiers.forEach(m => {\n result[m.name] = m;\n });\n return result;\n}\nexport function toModifierArray(map = {}) {\n if (Array.isArray(map)) return map;\n return Object.keys(map).map(k => {\n map[k].name = k;\n return map[k];\n });\n}\nexport default function mergeOptionsWithPopperConfig({\n enabled,\n enableEvents,\n placement,\n flip,\n offset,\n fixed,\n containerPadding,\n arrowElement,\n popperConfig = {}\n}) {\n var _modifiers$eventListe, _modifiers$preventOve, _modifiers$preventOve2, _modifiers$offset, _modifiers$arrow;\n const modifiers = toModifierMap(popperConfig.modifiers);\n return Object.assign({}, popperConfig, {\n placement,\n enabled,\n strategy: fixed ? 'fixed' : popperConfig.strategy,\n modifiers: toModifierArray(Object.assign({}, modifiers, {\n eventListeners: {\n enabled: enableEvents,\n options: (_modifiers$eventListe = modifiers.eventListeners) == null ? void 0 : _modifiers$eventListe.options\n },\n preventOverflow: Object.assign({}, modifiers.preventOverflow, {\n options: containerPadding ? Object.assign({\n padding: containerPadding\n }, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options) : (_modifiers$preventOve2 = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve2.options\n }),\n offset: {\n options: Object.assign({\n offset\n }, (_modifiers$offset = modifiers.offset) == null ? void 0 : _modifiers$offset.options)\n },\n arrow: Object.assign({}, modifiers.arrow, {\n enabled: !!arrowElement,\n options: Object.assign({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {\n element: arrowElement\n })\n }),\n flip: Object.assign({\n enabled: !!flip\n }, modifiers.flip)\n }))\n });\n}","const _excluded = [\"children\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { useContext, useRef } from 'react';\nimport * as React from 'react';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport DropdownContext from './DropdownContext';\nimport usePopper from './usePopper';\nimport useClickOutside from './useClickOutside';\nimport mergeOptionsWithPopperConfig from './mergeOptionsWithPopperConfig';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst noop = () => {};\n\n/**\n * @memberOf Dropdown\n * @param {object} options\n * @param {boolean} options.flip Automatically adjust the menu `drop` position based on viewport edge detection\n * @param {[number, number]} options.offset Define an offset distance between the Menu and the Toggle\n * @param {boolean} options.show Display the menu manually, ignored in the context of a `Dropdown`\n * @param {boolean} options.usePopper opt in/out of using PopperJS to position menus. When disabled you must position it yourself.\n * @param {string} options.rootCloseEvent The pointer event to listen for when determining \"clicks outside\" the menu for triggering a close.\n * @param {object} options.popperConfig Options passed to the [`usePopper`](/api/usePopper) hook.\n */\nexport function useDropdownMenu(options = {}) {\n const context = useContext(DropdownContext);\n const [arrowElement, attachArrowRef] = useCallbackRef();\n const hasShownRef = useRef(false);\n const {\n flip,\n offset,\n rootCloseEvent,\n fixed = false,\n placement: placementOverride,\n popperConfig = {},\n enableEventListeners = true,\n usePopper: shouldUsePopper = !!context\n } = options;\n const show = (context == null ? void 0 : context.show) == null ? !!options.show : context.show;\n if (show && !hasShownRef.current) {\n hasShownRef.current = true;\n }\n const handleClose = e => {\n context == null ? void 0 : context.toggle(false, e);\n };\n const {\n placement,\n setMenu,\n menuElement,\n toggleElement\n } = context || {};\n const popper = usePopper(toggleElement, menuElement, mergeOptionsWithPopperConfig({\n placement: placementOverride || placement || 'bottom-start',\n enabled: shouldUsePopper,\n enableEvents: enableEventListeners == null ? show : enableEventListeners,\n offset,\n flip,\n fixed,\n arrowElement,\n popperConfig\n }));\n const menuProps = Object.assign({\n ref: setMenu || noop,\n 'aria-labelledby': toggleElement == null ? void 0 : toggleElement.id\n }, popper.attributes.popper, {\n style: popper.styles.popper\n });\n const metadata = {\n show,\n placement,\n hasShown: hasShownRef.current,\n toggle: context == null ? void 0 : context.toggle,\n popper: shouldUsePopper ? popper : null,\n arrowProps: shouldUsePopper ? Object.assign({\n ref: attachArrowRef\n }, popper.attributes.arrow, {\n style: popper.styles.arrow\n }) : {}\n };\n useClickOutside(menuElement, handleClose, {\n clickTrigger: rootCloseEvent,\n disabled: !show\n });\n return [menuProps, metadata];\n}\nconst defaultProps = {\n usePopper: true\n};\n/**\n * Also exported as `` from `Dropdown`.\n *\n * @displayName DropdownMenu\n * @memberOf Dropdown\n */\nfunction DropdownMenu(_ref) {\n let {\n children\n } = _ref,\n options = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [props, meta] = useDropdownMenu(options);\n return /*#__PURE__*/_jsx(_Fragment, {\n children: children(props, meta)\n });\n}\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.defaultProps = defaultProps;\n\n/** @component */\nexport default DropdownMenu;","import { useContext, useCallback } from 'react';\nimport * as React from 'react';\nimport { useSSRSafeId } from './ssr';\nimport DropdownContext from './DropdownContext';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const isRoleMenu = el => {\n var _el$getAttribute;\n return ((_el$getAttribute = el.getAttribute('role')) == null ? void 0 : _el$getAttribute.toLowerCase()) === 'menu';\n};\nconst noop = () => {};\n\n/**\n * Wires up Dropdown toggle functionality, returning a set a props to attach\n * to the element that functions as the dropdown toggle (generally a button).\n *\n * @memberOf Dropdown\n */\nexport function useDropdownToggle() {\n const id = useSSRSafeId();\n const {\n show = false,\n toggle = noop,\n setToggle,\n menuElement\n } = useContext(DropdownContext) || {};\n const handleClick = useCallback(e => {\n toggle(!show, e);\n }, [show, toggle]);\n const props = {\n id,\n ref: setToggle || noop,\n onClick: handleClick,\n 'aria-expanded': !!show\n };\n\n // This is maybe better down in an effect, but\n // the component is going to update anyway when the menu element\n // is set so might return new props.\n if (menuElement && isRoleMenu(menuElement)) {\n props['aria-haspopup'] = true;\n }\n return [props, {\n show,\n toggle\n }];\n}\n/**\n * Also exported as `` from `Dropdown`.\n *\n * @displayName DropdownToggle\n * @memberOf Dropdown\n */\nfunction DropdownToggle({\n children\n}) {\n const [props, meta] = useDropdownToggle();\n return /*#__PURE__*/_jsx(_Fragment, {\n children: children(props, meta)\n });\n}\nDropdownToggle.displayName = 'DropdownToggle';\n\n/** @component */\nexport default DropdownToggle;","import ownerDocument from 'dom-helpers/ownerDocument';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport { useState, useEffect } from 'react';\nimport useWindow from './useWindow';\nexport const resolveContainerRef = (ref, document) => {\n if (!canUseDOM) return null;\n if (ref == null) return (document || ownerDocument()).body;\n if (typeof ref === 'function') ref = ref();\n if (ref && 'current' in ref) ref = ref.current;\n if (ref && ('nodeType' in ref || ref.getBoundingClientRect)) return ref;\n return null;\n};\nexport default function useWaitForDOMRef(ref, onResolved) {\n const window = useWindow();\n const [resolvedRef, setRef] = useState(() => resolveContainerRef(ref, window == null ? void 0 : window.document));\n if (!resolvedRef) {\n const earlyRef = resolveContainerRef(ref);\n if (earlyRef) setRef(earlyRef);\n }\n useEffect(() => {\n if (onResolved && resolvedRef) {\n onResolved(resolvedRef);\n }\n }, [onResolved, resolvedRef]);\n useEffect(() => {\n const nextRef = resolveContainerRef(ref);\n if (nextRef !== resolvedRef) {\n setRef(nextRef);\n }\n }, [ref, resolvedRef]);\n return resolvedRef;\n}","import useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport React, { useRef, cloneElement, useState } from 'react';\nimport NoopTransition from './NoopTransition';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useTransition({\n in: inProp,\n onTransition\n}) {\n const ref = useRef(null);\n const isInitialRef = useRef(true);\n const handleTransition = useEventCallback(onTransition);\n useIsomorphicEffect(() => {\n if (!ref.current) {\n return undefined;\n }\n let stale = false;\n handleTransition({\n in: inProp,\n element: ref.current,\n initial: isInitialRef.current,\n isStale: () => stale\n });\n return () => {\n stale = true;\n };\n }, [inProp, handleTransition]);\n useIsomorphicEffect(() => {\n isInitialRef.current = false;\n // this is for strict mode\n return () => {\n isInitialRef.current = true;\n };\n }, []);\n return ref;\n}\n/**\n * Adapts an imperative transition function to a subset of the RTG `` component API.\n *\n * ImperativeTransition does not support mounting options or `appear` at the moment, meaning\n * that it always acts like: `mountOnEnter={true} unmountOnExit={true} appear={true}`\n */\nexport default function ImperativeTransition({\n children,\n in: inProp,\n onExited,\n onEntered,\n transition\n}) {\n const [exited, setExited] = useState(!inProp);\n\n // TODO: I think this needs to be in an effect\n if (inProp && exited) {\n setExited(false);\n }\n const ref = useTransition({\n in: !!inProp,\n onTransition: options => {\n const onFinish = () => {\n if (options.isStale()) return;\n if (options.in) {\n onEntered == null ? void 0 : onEntered(options.element, options.initial);\n } else {\n setExited(true);\n onExited == null ? void 0 : onExited(options.element);\n }\n };\n Promise.resolve(transition(options)).then(onFinish, error => {\n if (!options.in) setExited(true);\n throw error;\n });\n }\n });\n const combinedRef = useMergedRefs(ref, children.ref);\n return exited && !inProp ? null : /*#__PURE__*/cloneElement(children, {\n ref: combinedRef\n });\n}\nexport function renderTransition(Component, runTransition, props) {\n if (Component) {\n return /*#__PURE__*/_jsx(Component, Object.assign({}, props));\n }\n if (runTransition) {\n return /*#__PURE__*/_jsx(ImperativeTransition, Object.assign({}, props, {\n transition: runTransition\n }));\n }\n return /*#__PURE__*/_jsx(NoopTransition, Object.assign({}, props));\n}","const _excluded = [\"show\", \"role\", \"className\", \"style\", \"children\", \"backdrop\", \"keyboard\", \"onBackdropClick\", \"onEscapeKeyDown\", \"transition\", \"runTransition\", \"backdropTransition\", \"runBackdropTransition\", \"autoFocus\", \"enforceFocus\", \"restoreFocus\", \"restoreFocusOptions\", \"renderDialog\", \"renderBackdrop\", \"manager\", \"container\", \"onShow\", \"onHide\", \"onExit\", \"onExited\", \"onExiting\", \"onEnter\", \"onEntering\", \"onEntered\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* eslint-disable @typescript-eslint/no-use-before-define, react/prop-types */\n\nimport activeElement from 'dom-helpers/activeElement';\nimport contains from 'dom-helpers/contains';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport listen from 'dom-helpers/listen';\nimport { useState, useRef, useCallback, useImperativeHandle, forwardRef, useEffect } from 'react';\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport useMounted from '@restart/hooks/useMounted';\nimport useWillUnmount from '@restart/hooks/useWillUnmount';\nimport usePrevious from '@restart/hooks/usePrevious';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport ModalManager from './ModalManager';\nimport useWaitForDOMRef from './useWaitForDOMRef';\nimport useWindow from './useWindow';\nimport { renderTransition } from './ImperativeTransition';\nimport { isEscKey } from './utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nlet manager;\nfunction getManager(window) {\n if (!manager) manager = new ModalManager({\n ownerDocument: window == null ? void 0 : window.document\n });\n return manager;\n}\nfunction useModalManager(provided) {\n const window = useWindow();\n const modalManager = provided || getManager(window);\n const modal = useRef({\n dialog: null,\n backdrop: null\n });\n return Object.assign(modal.current, {\n add: () => modalManager.add(modal.current),\n remove: () => modalManager.remove(modal.current),\n isTopModal: () => modalManager.isTopModal(modal.current),\n setDialogRef: useCallback(ref => {\n modal.current.dialog = ref;\n }, []),\n setBackdropRef: useCallback(ref => {\n modal.current.backdrop = ref;\n }, [])\n });\n}\nconst Modal = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n show = false,\n role = 'dialog',\n className,\n style,\n children,\n backdrop = true,\n keyboard = true,\n onBackdropClick,\n onEscapeKeyDown,\n transition,\n runTransition,\n backdropTransition,\n runBackdropTransition,\n autoFocus = true,\n enforceFocus = true,\n restoreFocus = true,\n restoreFocusOptions,\n renderDialog,\n renderBackdrop = props => /*#__PURE__*/_jsx(\"div\", Object.assign({}, props)),\n manager: providedManager,\n container: containerRef,\n onShow,\n onHide = () => {},\n onExit,\n onExited,\n onExiting,\n onEnter,\n onEntering,\n onEntered\n } = _ref,\n rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n const container = useWaitForDOMRef(containerRef);\n const modal = useModalManager(providedManager);\n const isMounted = useMounted();\n const prevShow = usePrevious(show);\n const [exited, setExited] = useState(!show);\n const lastFocusRef = useRef(null);\n useImperativeHandle(ref, () => modal, [modal]);\n if (canUseDOM && !prevShow && show) {\n lastFocusRef.current = activeElement();\n }\n\n // TODO: I think this needs to be in an effect\n if (show && exited) {\n setExited(false);\n }\n const handleShow = useEventCallback(() => {\n modal.add();\n removeKeydownListenerRef.current = listen(document, 'keydown', handleDocumentKeyDown);\n removeFocusListenerRef.current = listen(document, 'focus',\n // the timeout is necessary b/c this will run before the new modal is mounted\n // and so steals focus from it\n () => setTimeout(handleEnforceFocus), true);\n if (onShow) {\n onShow();\n }\n\n // autofocus after onShow to not trigger a focus event for previous\n // modals before this one is shown.\n if (autoFocus) {\n const currentActiveElement = activeElement(document);\n if (modal.dialog && currentActiveElement && !contains(modal.dialog, currentActiveElement)) {\n lastFocusRef.current = currentActiveElement;\n modal.dialog.focus();\n }\n }\n });\n const handleHide = useEventCallback(() => {\n modal.remove();\n removeKeydownListenerRef.current == null ? void 0 : removeKeydownListenerRef.current();\n removeFocusListenerRef.current == null ? void 0 : removeFocusListenerRef.current();\n if (restoreFocus) {\n var _lastFocusRef$current;\n // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)\n (_lastFocusRef$current = lastFocusRef.current) == null ? void 0 : _lastFocusRef$current.focus == null ? void 0 : _lastFocusRef$current.focus(restoreFocusOptions);\n lastFocusRef.current = null;\n }\n });\n\n // TODO: try and combine these effects: https://github.com/react-bootstrap/react-overlays/pull/794#discussion_r409954120\n\n // Show logic when:\n // - show is `true` _and_ `container` has resolved\n useEffect(() => {\n if (!show || !container) return;\n handleShow();\n }, [show, container, /* should never change: */handleShow]);\n\n // Hide cleanup logic when:\n // - `exited` switches to true\n // - component unmounts;\n useEffect(() => {\n if (!exited) return;\n handleHide();\n }, [exited, handleHide]);\n useWillUnmount(() => {\n handleHide();\n });\n\n // --------------------------------\n\n const handleEnforceFocus = useEventCallback(() => {\n if (!enforceFocus || !isMounted() || !modal.isTopModal()) {\n return;\n }\n const currentActiveElement = activeElement();\n if (modal.dialog && currentActiveElement && !contains(modal.dialog, currentActiveElement)) {\n modal.dialog.focus();\n }\n });\n const handleBackdropClick = useEventCallback(e => {\n if (e.target !== e.currentTarget) {\n return;\n }\n onBackdropClick == null ? void 0 : onBackdropClick(e);\n if (backdrop === true) {\n onHide();\n }\n });\n const handleDocumentKeyDown = useEventCallback(e => {\n if (keyboard && isEscKey(e) && modal.isTopModal()) {\n onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e);\n if (!e.defaultPrevented) {\n onHide();\n }\n }\n });\n const removeFocusListenerRef = useRef();\n const removeKeydownListenerRef = useRef();\n const handleHidden = (...args) => {\n setExited(true);\n onExited == null ? void 0 : onExited(...args);\n };\n if (!container) {\n return null;\n }\n const dialogProps = Object.assign({\n role,\n ref: modal.setDialogRef,\n // apparently only works on the dialog role element\n 'aria-modal': role === 'dialog' ? true : undefined\n }, rest, {\n style,\n className,\n tabIndex: -1\n });\n let dialog = renderDialog ? renderDialog(dialogProps) : /*#__PURE__*/_jsx(\"div\", Object.assign({}, dialogProps, {\n children: /*#__PURE__*/React.cloneElement(children, {\n role: 'document'\n })\n }));\n dialog = renderTransition(transition, runTransition, {\n unmountOnExit: true,\n mountOnEnter: true,\n appear: true,\n in: !!show,\n onExit,\n onExiting,\n onExited: handleHidden,\n onEnter,\n onEntering,\n onEntered,\n children: dialog\n });\n let backdropElement = null;\n if (backdrop) {\n backdropElement = renderBackdrop({\n ref: modal.setBackdropRef,\n onClick: handleBackdropClick\n });\n backdropElement = renderTransition(backdropTransition, runBackdropTransition, {\n in: !!show,\n appear: true,\n mountOnEnter: true,\n unmountOnExit: true,\n children: backdropElement\n });\n }\n return /*#__PURE__*/_jsx(_Fragment, {\n children: /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/_jsxs(_Fragment, {\n children: [backdropElement, dialog]\n }), container)\n });\n});\nModal.displayName = 'Modal';\nexport default Object.assign(Modal, {\n Manager: ModalManager\n});","/* eslint-disable import/prefer-default-export */\nexport function isEscKey(e) {\n return e.code === 'Escape' || e.keyCode === 27;\n}","import css from 'dom-helpers/css';\nimport { dataAttr } from './DataKey';\nimport getBodyScrollbarWidth from './getScrollbarWidth';\nexport const OPEN_DATA_ATTRIBUTE = dataAttr('modal-open');\n\n/**\n * Manages a stack of Modals as well as ensuring\n * body scrolling is is disabled and padding accounted for\n */\nclass ModalManager {\n constructor({\n ownerDocument,\n handleContainerOverflow = true,\n isRTL = false\n } = {}) {\n this.handleContainerOverflow = handleContainerOverflow;\n this.isRTL = isRTL;\n this.modals = [];\n this.ownerDocument = ownerDocument;\n }\n getScrollbarWidth() {\n return getBodyScrollbarWidth(this.ownerDocument);\n }\n getElement() {\n return (this.ownerDocument || document).body;\n }\n setModalAttributes(_modal) {\n // For overriding\n }\n removeModalAttributes(_modal) {\n // For overriding\n }\n setContainerStyle(containerState) {\n const style = {\n overflow: 'hidden'\n };\n\n // we are only interested in the actual `style` here\n // because we will override it\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const container = this.getElement();\n containerState.style = {\n overflow: container.style.overflow,\n [paddingProp]: container.style[paddingProp]\n };\n if (containerState.scrollBarWidth) {\n // use computed style, here to get the real padding\n // to add our scrollbar width\n style[paddingProp] = `${parseInt(css(container, paddingProp) || '0', 10) + containerState.scrollBarWidth}px`;\n }\n container.setAttribute(OPEN_DATA_ATTRIBUTE, '');\n css(container, style);\n }\n reset() {\n [...this.modals].forEach(m => this.remove(m));\n }\n removeContainerStyle(containerState) {\n const container = this.getElement();\n container.removeAttribute(OPEN_DATA_ATTRIBUTE);\n Object.assign(container.style, containerState.style);\n }\n add(modal) {\n let modalIdx = this.modals.indexOf(modal);\n if (modalIdx !== -1) {\n return modalIdx;\n }\n modalIdx = this.modals.length;\n this.modals.push(modal);\n this.setModalAttributes(modal);\n if (modalIdx !== 0) {\n return modalIdx;\n }\n this.state = {\n scrollBarWidth: this.getScrollbarWidth(),\n style: {}\n };\n if (this.handleContainerOverflow) {\n this.setContainerStyle(this.state);\n }\n return modalIdx;\n }\n remove(modal) {\n const modalIdx = this.modals.indexOf(modal);\n if (modalIdx === -1) {\n return;\n }\n this.modals.splice(modalIdx, 1);\n\n // if that was the last modal in a container,\n // clean up the container\n if (!this.modals.length && this.handleContainerOverflow) {\n this.removeContainerStyle(this.state);\n }\n this.removeModalAttributes(modal);\n }\n isTopModal(modal) {\n return !!this.modals.length && this.modals[this.modals.length - 1] === modal;\n }\n}\nexport default ModalManager;","/**\n * Get the width of the vertical window scrollbar if it's visible\n */\nexport default function getBodyScrollbarWidth(ownerDocument = document) {\n const window = ownerDocument.defaultView;\n return Math.abs(window.innerWidth - ownerDocument.documentElement.clientWidth);\n}","const _excluded = [\"as\", \"onSelect\", \"activeKey\", \"role\", \"onKeyDown\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport qsa from 'dom-helpers/querySelectorAll';\nimport * as React from 'react';\nimport { useContext, useEffect, useRef } from 'react';\nimport useForceUpdate from '@restart/hooks/useForceUpdate';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport NavContext from './NavContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport TabContext from './TabContext';\nimport { dataAttr, dataProp } from './DataKey';\nimport NavItem from './NavItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = () => {};\nconst EVENT_KEY_ATTR = dataAttr('event-key');\nconst Nav = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n onSelect,\n activeKey,\n role,\n onKeyDown\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n // A ref and forceUpdate for refocus, b/c we only want to trigger when needed\n // and don't want to reset the set in the effect\n const forceUpdate = useForceUpdate();\n const needsRefocusRef = useRef(false);\n const parentOnSelect = useContext(SelectableContext);\n const tabContext = useContext(TabContext);\n let getControlledId, getControllerId;\n if (tabContext) {\n role = role || 'tablist';\n activeKey = tabContext.activeKey;\n // TODO: do we need to duplicate these?\n getControlledId = tabContext.getControlledId;\n getControllerId = tabContext.getControllerId;\n }\n const listNode = useRef(null);\n const getNextActiveTab = offset => {\n const currentListNode = listNode.current;\n if (!currentListNode) return null;\n const items = qsa(currentListNode, `[${EVENT_KEY_ATTR}]:not([aria-disabled=true])`);\n const activeChild = currentListNode.querySelector('[aria-selected=true]');\n if (!activeChild || activeChild !== document.activeElement) return null;\n const index = items.indexOf(activeChild);\n if (index === -1) return null;\n let nextIndex = index + offset;\n if (nextIndex >= items.length) nextIndex = 0;\n if (nextIndex < 0) nextIndex = items.length - 1;\n return items[nextIndex];\n };\n const handleSelect = (key, event) => {\n if (key == null) return;\n onSelect == null ? void 0 : onSelect(key, event);\n parentOnSelect == null ? void 0 : parentOnSelect(key, event);\n };\n const handleKeyDown = event => {\n onKeyDown == null ? void 0 : onKeyDown(event);\n if (!tabContext) {\n return;\n }\n let nextActiveChild;\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n nextActiveChild = getNextActiveTab(-1);\n break;\n case 'ArrowRight':\n case 'ArrowDown':\n nextActiveChild = getNextActiveTab(1);\n break;\n default:\n return;\n }\n if (!nextActiveChild) return;\n event.preventDefault();\n handleSelect(nextActiveChild.dataset[dataProp('EventKey')] || null, event);\n needsRefocusRef.current = true;\n forceUpdate();\n };\n useEffect(() => {\n if (listNode.current && needsRefocusRef.current) {\n const activeChild = listNode.current.querySelector(`[${EVENT_KEY_ATTR}][aria-selected=true]`);\n activeChild == null ? void 0 : activeChild.focus();\n }\n needsRefocusRef.current = false;\n });\n const mergedRef = useMergedRefs(ref, listNode);\n return /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: handleSelect,\n children: /*#__PURE__*/_jsx(NavContext.Provider, {\n value: {\n role,\n // used by NavLink to determine it's role\n activeKey: makeEventKey(activeKey),\n getControlledId: getControlledId || noop,\n getControllerId: getControllerId || noop\n },\n children: /*#__PURE__*/_jsx(Component, Object.assign({}, props, {\n onKeyDown: handleKeyDown,\n ref: mergedRef,\n role: role\n }))\n })\n });\n});\nNav.displayName = 'Nav';\nexport default Object.assign(Nav, {\n Item: NavItem\n});","import * as React from 'react';\nconst NavContext = /*#__PURE__*/React.createContext(null);\nNavContext.displayName = 'NavContext';\nexport default NavContext;","const _excluded = [\"as\", \"active\", \"eventKey\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport NavContext from './NavContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport Button from './Button';\nimport { dataAttr } from './DataKey';\nimport TabContext from './TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useNavItem({\n key,\n onClick,\n active,\n id,\n role,\n disabled\n}) {\n const parentOnSelect = useContext(SelectableContext);\n const navContext = useContext(NavContext);\n const tabContext = useContext(TabContext);\n let isActive = active;\n const props = {\n role\n };\n if (navContext) {\n if (!role && navContext.role === 'tablist') props.role = 'tab';\n const contextControllerId = navContext.getControllerId(key != null ? key : null);\n const contextControlledId = navContext.getControlledId(key != null ? key : null);\n\n // @ts-ignore\n props[dataAttr('event-key')] = key;\n props.id = contextControllerId || id;\n isActive = active == null && key != null ? navContext.activeKey === key : active;\n\n /**\n * Simplified scenario for `mountOnEnter`.\n *\n * While it would make sense to keep 'aria-controls' for tabs that have been mounted at least\n * once, it would also complicate the code quite a bit, for very little gain.\n * The following implementation is probably good enough.\n *\n * @see https://github.com/react-restart/ui/pull/40#issuecomment-1009971561\n */\n if (isActive || !(tabContext != null && tabContext.unmountOnExit) && !(tabContext != null && tabContext.mountOnEnter)) props['aria-controls'] = contextControlledId;\n }\n if (props.role === 'tab') {\n props['aria-selected'] = isActive;\n if (!isActive) {\n props.tabIndex = -1;\n }\n if (disabled) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n }\n }\n props.onClick = useEventCallback(e => {\n if (disabled) return;\n onClick == null ? void 0 : onClick(e);\n if (key == null) {\n return;\n }\n if (parentOnSelect && !e.isPropagationStopped()) {\n parentOnSelect(key, e);\n }\n });\n return [props, {\n isActive\n }];\n}\nconst NavItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n as: Component = Button,\n active,\n eventKey\n } = _ref,\n options = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [props, meta] = useNavItem(Object.assign({\n key: makeEventKey(eventKey, options.href),\n active\n }, options));\n\n // @ts-ignore\n props[dataAttr('active')] = meta.isActive;\n return /*#__PURE__*/_jsx(Component, Object.assign({}, options, props, {\n ref: ref\n }));\n});\nNavItem.displayName = 'NavItem';\nexport default NavItem;","import useEventCallback from '@restart/hooks/useEventCallback';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport { cloneElement, useEffect, useRef } from 'react';\nfunction NoopTransition({\n children,\n in: inProp,\n onExited,\n mountOnEnter,\n unmountOnExit\n}) {\n const ref = useRef(null);\n const hasEnteredRef = useRef(inProp);\n const handleExited = useEventCallback(onExited);\n useEffect(() => {\n if (inProp) hasEnteredRef.current = true;else {\n handleExited(ref.current);\n }\n }, [inProp, handleExited]);\n const combinedRef = useMergedRefs(ref, children.ref);\n const child = /*#__PURE__*/cloneElement(children, {\n ref: combinedRef\n });\n if (inProp) return child;\n if (unmountOnExit) {\n return null;\n }\n if (!hasEnteredRef.current && mountOnEnter) {\n return null;\n }\n return child;\n}\nexport default NoopTransition;","import * as React from 'react';\nconst SelectableContext = /*#__PURE__*/React.createContext(null);\nexport const makeEventKey = (eventKey, href = null) => {\n if (eventKey != null) return String(eventKey);\n return href || null;\n};\nexport default SelectableContext;","import * as React from 'react';\nconst TabContext = /*#__PURE__*/React.createContext(null);\nexport default TabContext;","const _excluded = [\"active\", \"eventKey\", \"mountOnEnter\", \"transition\", \"unmountOnExit\", \"role\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\"],\n _excluded2 = [\"activeKey\", \"getControlledId\", \"getControllerId\"],\n _excluded3 = [\"as\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport TabContext from './TabContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport NoopTransition from './NoopTransition';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useTabPanel(_ref) {\n let {\n active,\n eventKey,\n mountOnEnter,\n transition,\n unmountOnExit,\n role = 'tabpanel',\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const context = useContext(TabContext);\n if (!context) return [Object.assign({}, props, {\n role\n }), {\n eventKey,\n isActive: active,\n mountOnEnter,\n transition,\n unmountOnExit,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited\n }];\n const {\n activeKey,\n getControlledId,\n getControllerId\n } = context,\n rest = _objectWithoutPropertiesLoose(context, _excluded2);\n const key = makeEventKey(eventKey);\n return [Object.assign({}, props, {\n role,\n id: getControlledId(eventKey),\n 'aria-labelledby': getControllerId(eventKey)\n }), {\n eventKey,\n isActive: active == null && key != null ? makeEventKey(activeKey) === key : active,\n transition: transition || rest.transition,\n mountOnEnter: mountOnEnter != null ? mountOnEnter : rest.mountOnEnter,\n unmountOnExit: unmountOnExit != null ? unmountOnExit : rest.unmountOnExit,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited\n }];\n}\nconst TabPanel = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n(_ref2, ref) => {\n let {\n as: Component = 'div'\n } = _ref2,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded3);\n const [tabPanelProps, {\n isActive,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n mountOnEnter,\n unmountOnExit,\n transition: Transition = NoopTransition\n }] = useTabPanel(props);\n // We provide an empty the TabContext so `