{"version":3,"file":"vendor.27dcf80889e44fe3.js","sources":["webpack:///../../../node_modules/@dnd-kit/core/dist/core.esm.js","webpack:///../../../node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js","webpack:///../../../node_modules/@dnd-kit/modifiers/dist/modifiers.esm.js","webpack:///../../../node_modules/@dnd-kit/sortable/dist/sortable.esm.js","webpack:///../../../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","webpack:///../../../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack:///../../../node_modules/stylis/src/Utility.js","webpack:///../../../node_modules/stylis/src/Tokenizer.js","webpack:///../../../node_modules/stylis/src/Enum.js","webpack:///../../../node_modules/stylis/src/Serializer.js","webpack:///../../../node_modules/stylis/src/Parser.js","webpack:///../../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack:///../../../node_modules/stylis/src/Middleware.js","webpack:///../../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack:///../../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack:///../../../node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js","webpack:///../../../node_modules/@emotion/react/dist/emotion-element-43c6fea0.browser.esm.js","webpack:///../../../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///../../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","webpack:///../../../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","webpack:///../../../node_modules/@emotion/hash/dist/emotion-hash.esm.js","webpack:///../../../node_modules/@emotion/styled/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack:///../../../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","webpack:///../../../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","webpack:///../../../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","webpack:///../../../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js","webpack:///../../../node_modules/@floating-ui/react/dist/floating-ui.react.esm.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/utils/freeze.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/utils/element.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/utils/global.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/utils/process.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/utils/scheduler.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/ResizeObservation.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","webpack:///../../../node_modules/@juggle/resize-observer/lib/ResizeObserver.js","webpack:///../../../node_modules/@mantine/core/esm/Accordion/Accordion.errors.js","webpack:///../../../node_modules/@mantine/core/esm/Accordion/Accordion.context.js","webpack:///../../../node_modules/@mantine/core/esm/Accordion/AccordionProvider.js","webpack:///../../../node_modules/@mantine/core/esm/Accordion/AccordionItem.context.js","webpack:///../../../node_modules/@mantine/core/esm/Accordion/AccordionItem/AccordionItem.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Accordion/AccordionItem/AccordionItem.js","webpack:///../../../node_modules/@mantine/core/esm/Accordion/AccordionControl/AccordionControl.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Accordion/AccordionControl/AccordionControl.js","webpack:///../../../node_modules/@mantine/core/esm/Accordion/AccordionPanel/AccordionPanel.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Accordion/AccordionPanel/AccordionPanel.js","webpack:///../../../node_modules/@mantine/core/esm/Accordion/Accordion.js","webpack:///../../../node_modules/@mantine/core/esm/Accordion/ChevronIcon.js","webpack:///../../../node_modules/@mantine/core/esm/ActionIcon/ActionIcon.styles.js","webpack:///../../../node_modules/@mantine/core/esm/ActionIcon/ActionIcon.js","webpack:///../../../node_modules/@mantine/core/esm/Alert/Alert.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Alert/Alert.js","webpack:///../../../node_modules/@mantine/core/esm/Anchor/Anchor.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Anchor/Anchor.js","webpack:///../../../node_modules/@mantine/core/esm/Autocomplete/Autocomplete.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Autocomplete/Autocomplete.js","webpack:///../../../node_modules/@mantine/core/esm/Autocomplete/filter-data/filter-data.js","webpack:///../../../node_modules/@mantine/core/esm/Badge/Badge.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Badge/Badge.js","webpack:///../../../node_modules/@mantine/core/esm/Box/use-sx/use-sx.js","webpack:///../../../node_modules/@mantine/core/esm/Box/Box.js","webpack:///../../../node_modules/@mantine/core/esm/Box/style-system-props/extract-system-styles/extract-system-styles.js","webpack:///../../../node_modules/@mantine/core/esm/Box/style-system-props/value-getters/get-spacing-value.js","webpack:///../../../node_modules/@mantine/core/esm/Box/style-system-props/value-getters/value-getters.js","webpack:///../../../node_modules/@mantine/core/esm/Box/style-system-props/value-getters/get-default-value.js","webpack:///../../../node_modules/@mantine/core/esm/Box/style-system-props/value-getters/get-color-value.js","webpack:///../../../node_modules/@mantine/core/esm/Box/style-system-props/value-getters/get-font-size-value.js","webpack:///../../../node_modules/@mantine/core/esm/Box/style-system-props/system-props/system-props.js","webpack:///../../../node_modules/@mantine/core/esm/Box/style-system-props/get-system-styles/get-system-styles.js","webpack:///../../../node_modules/@mantine/core/esm/Box/style-system-props/get-responsive-value/get-responsive-value.js","webpack:///../../../node_modules/@mantine/core/esm/Button/ButtonGroup/ButtonGroup.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Button/ButtonGroup/ButtonGroup.js","webpack:///../../../node_modules/@mantine/core/esm/Button/Button.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Button/Button.js","webpack:///../../../node_modules/@mantine/core/esm/Card/Card.context.js","webpack:///../../../node_modules/@mantine/core/esm/Card/CardSection/CardSection.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Card/CardSection/CardSection.js","webpack:///../../../node_modules/@mantine/core/esm/Card/Card.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Card/Card.js","webpack:///../../../node_modules/@mantine/core/esm/Center/Center.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Center/Center.js","webpack:///../../../node_modules/@mantine/core/esm/Checkbox/CheckboxGroup.context.js","webpack:///../../../node_modules/@mantine/core/esm/Checkbox/CheckboxGroup/CheckboxGroup.js","webpack:///../../../node_modules/@mantine/core/esm/Checkbox/Checkbox.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Checkbox/Checkbox.js","webpack:///../../../node_modules/@mantine/core/esm/Checkbox/CheckboxIcon.js","webpack:///../../../node_modules/@mantine/core/esm/Chip/ChipGroup.context.js","webpack:///../../../node_modules/@mantine/core/esm/Chip/ChipGroup/ChipGroup.js","webpack:///../../../node_modules/@mantine/core/esm/Chip/Chip.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Chip/Chip.js","webpack:///../../../node_modules/@mantine/core/esm/CloseButton/CloseIcon.js","webpack:///../../../node_modules/@mantine/core/esm/CloseButton/CloseButton.js","webpack:///../../../node_modules/@mantine/core/esm/Collapse/use-collapse.js","webpack:///../../../node_modules/@mantine/core/esm/Collapse/Collapse.js","webpack:///../../../node_modules/@mantine/core/esm/Divider/Divider.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Divider/Divider.js","webpack:///../../../node_modules/@mantine/core/esm/Flex/flex-props.js","webpack:///../../../node_modules/@mantine/core/esm/Flex/Flex.js","webpack:///../../../node_modules/@mantine/core/esm/Floating/FloatingArrow/get-arrow-position-styles.js","webpack:///../../../node_modules/@mantine/core/esm/Floating/FloatingArrow/FloatingArrow.js","webpack:///../../../node_modules/@mantine/core/esm/Floating/get-floating-position/get-floating-position.js","webpack:///../../../node_modules/@mantine/core/esm/Floating/use-delayed-hover.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-focus-trap/tabbable.js","webpack:///../../../node_modules/@mantine/core/esm/FocusTrap/FocusTrap.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-focus-trap/use-focus-trap.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-focus-trap/create-aria-hider.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-focus-trap/scope-tab.js","webpack:///../../../node_modules/@mantine/core/esm/Grid/Grid.context.js","webpack:///../../../node_modules/@mantine/core/esm/Grid/Col/Col.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Grid/Col/Col.js","webpack:///../../../node_modules/@mantine/core/esm/Grid/Grid.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Grid/Grid.js","webpack:///../../../node_modules/@mantine/core/esm/Group/Group.js","webpack:///../../../node_modules/@mantine/core/esm/Group/filter-falsy-children/filter-falsy-children.js","webpack:///../../../node_modules/@mantine/core/esm/Group/Group.styles.js","webpack:///../../../node_modules/@mantine/core/esm/HoverCard/HoverCard.errors.js","webpack:///../../../node_modules/@mantine/core/esm/HoverCard/HoverCard.context.js","webpack:///../../../node_modules/@mantine/core/esm/HoverCard/HoverCardDropdown/HoverCardDropdown.js","webpack:///../../../node_modules/@mantine/core/esm/HoverCard/HoverCardTarget/HoverCardTarget.js","webpack:///../../../node_modules/@mantine/core/esm/HoverCard/HoverCard.js","webpack:///../../../node_modules/@mantine/core/esm/Image/ImageIcon.js","webpack:///../../../node_modules/@mantine/core/esm/Image/Image.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Image/Image.js","webpack:///../../../node_modules/@mantine/core/esm/Indicator/Indicator.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Indicator/Indicator.js","webpack:///../../../node_modules/@mantine/core/esm/InlineInput/InlineInput.styles.js","webpack:///../../../node_modules/@mantine/core/esm/InlineInput/InlineInput.js","webpack:///../../../node_modules/@mantine/core/esm/Input/InputLabel/InputLabel.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Input/InputLabel/InputLabel.js","webpack:///../../../node_modules/@mantine/core/esm/Input/InputError/InputError.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Input/InputError/InputError.js","webpack:///../../../node_modules/@mantine/core/esm/Input/InputDescription/InputDescription.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Input/InputDescription/InputDescription.js","webpack:///../../../node_modules/@mantine/core/esm/Input/InputWrapper.context.js","webpack:///../../../node_modules/@mantine/core/esm/Input/InputWrapper/InputWrapper.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Input/InputWrapper/InputWrapper.js","webpack:///../../../node_modules/@mantine/core/esm/Input/InputWrapper/get-input-offsets.js","webpack:///../../../node_modules/@mantine/core/esm/Input/InputPlaceholder/InputPlaceholder.js","webpack:///../../../node_modules/@mantine/core/esm/Input/Input.js","webpack:///../../../node_modules/@mantine/core/esm/Input/Input.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Input/use-input-props.js","webpack:///../../../node_modules/@mantine/core/esm/List/List.context.js","webpack:///../../../node_modules/@mantine/core/esm/List/ListItem/ListItem.styles.js","webpack:///../../../node_modules/@mantine/core/esm/List/ListItem/ListItem.js","webpack:///../../../node_modules/@mantine/core/esm/List/List.styles.js","webpack:///../../../node_modules/@mantine/core/esm/List/List.js","webpack:///../../../node_modules/@mantine/core/esm/Loader/loaders/Bars.js","webpack:///../../../node_modules/@mantine/core/esm/Loader/loaders/Oval.js","webpack:///../../../node_modules/@mantine/core/esm/Loader/loaders/Dots.js","webpack:///../../../node_modules/@mantine/core/esm/Loader/Loader.js","webpack:///../../../node_modules/@mantine/core/esm/Menu/Menu.errors.js","webpack:///../../../node_modules/@mantine/core/esm/Menu/Menu.context.js","webpack:///../../../node_modules/@mantine/core/esm/Menu/MenuDivider/MenuDivider.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Menu/MenuDivider/MenuDivider.js","webpack:///../../../node_modules/@mantine/core/esm/Menu/MenuDropdown/MenuDropdown.js","webpack:///../../../node_modules/@mantine/core/esm/Menu/MenuItem/MenuItem.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Menu/MenuItem/MenuItem.js","webpack:///../../../node_modules/@mantine/core/esm/Menu/MenuLabel/MenuLabel.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Menu/MenuLabel/MenuLabel.js","webpack:///../../../node_modules/@mantine/core/esm/Menu/MenuTarget/MenuTarget.js","webpack:///../../../node_modules/@mantine/core/esm/Menu/Menu.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Menu/Menu.js","webpack:///../../../node_modules/@mantine/utils/esm/use-hovered/use-hovered.js","webpack:///../../../node_modules/@mantine/utils/esm/get-context-item-index/get-context-item-index.js","webpack:///../../../node_modules/@mantine/core/esm/Modal/Modal.js","webpack:///../../../node_modules/react-remove-scroll/node_modules/use-sidecar/dist/es2015/medium.js","webpack:///../../../node_modules/react-remove-scroll/node_modules/use-sidecar/dist/es2015/exports.js","webpack:///../../../node_modules/@mantine/core/esm/Modal/Modal.context.js","webpack:///../../../node_modules/@mantine/core/esm/Modal/ModalRoot/ModalRoot.styles.js","webpack:///../../../node_modules/react-remove-scroll/node_modules/tslib/tslib.es6.mjs","webpack:///../../../node_modules/react-remove-scroll/node_modules/react-remove-scroll-bar/dist/es2015/constants.js","webpack:///../../../node_modules/react-remove-scroll/node_modules/use-sidecar/node_modules/tslib/tslib.es6.js","webpack:///../../../node_modules/react-remove-scroll/dist/es2015/medium.js","webpack:///../../../node_modules/react-remove-scroll/dist/es2015/UI.js","webpack:///../../../node_modules/react-remove-scroll/node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack:///../../../node_modules/react-remove-scroll/node_modules/use-callback-ref/dist/es2015/useRef.js","webpack:///../../../node_modules/react-remove-scroll/node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack:///../../../node_modules/react-remove-scroll/node_modules/react-style-singleton/dist/es2015/singleton.js","webpack:///../../../node_modules/react-remove-scroll/node_modules/react-style-singleton/dist/es2015/hook.js","webpack:///../../../node_modules/react-remove-scroll/node_modules/react-style-singleton/dist/es2015/component.js","webpack:///../../../node_modules/react-remove-scroll/node_modules/react-remove-scroll-bar/dist/es2015/utils.js","webpack:///../../../node_modules/react-remove-scroll/node_modules/react-remove-scroll-bar/dist/es2015/component.js","webpack:///../../../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack:///../../../node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack:///../../../node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack:///../../../node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack:///../../../node_modules/react-remove-scroll/dist/es2015/Combination.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBase.context.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBaseCloseButton/ModalBaseCloseButton.styles.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBaseCloseButton/ModalBaseCloseButton.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBaseOverlay/ModalBaseOverlay.styles.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBaseOverlay/ModalBaseOverlay.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBaseContent/ModalBaseContent.styles.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBaseContent/ModalBaseContent.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBaseHeader/ModalBaseHeader.styles.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBaseHeader/ModalBaseHeader.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBaseTitle/ModalBaseTitle.styles.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBaseTitle/ModalBaseTitle.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBaseBody/ModalBaseBody.styles.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBaseBody/ModalBaseBody.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBase.styles.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/ModalBase.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/use-lock-scroll.js","webpack:///../../../node_modules/@mantine/core/esm/ModalBase/NativeScrollArea/NativeScrollArea.js","webpack:///../../../node_modules/@mantine/core/esm/Modal/ModalRoot/ModalRoot.js","webpack:///../../../node_modules/@mantine/core/esm/Modal/ModalContent/ModalContent.js","webpack:///../../../node_modules/@mantine/core/esm/MultiSelect/DefaultValue/DefaultValue.styles.js","webpack:///../../../node_modules/@mantine/core/esm/MultiSelect/DefaultValue/DefaultValue.js","webpack:///../../../node_modules/@mantine/core/esm/MultiSelect/MultiSelect.styles.js","webpack:///../../../node_modules/@mantine/core/esm/MultiSelect/MultiSelect.js","webpack:///../../../node_modules/@mantine/core/esm/MultiSelect/filter-data/filter-data.js","webpack:///../../../node_modules/@mantine/core/esm/NavLink/NavLink.styles.js","webpack:///../../../node_modules/@mantine/core/esm/NavLink/NavLink.js","webpack:///../../../node_modules/@mantine/core/esm/Overlay/Overlay.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Overlay/Overlay.js","webpack:///../../../node_modules/@mantine/core/esm/Paper/Paper.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Paper/Paper.js","webpack:///../../../node_modules/@mantine/core/esm/Popover/Popover.errors.js","webpack:///../../../node_modules/@mantine/core/esm/Popover/Popover.context.js","webpack:///../../../node_modules/@mantine/core/esm/Popover/PopoverTarget/PopoverTarget.js","webpack:///../../../node_modules/@mantine/utils/esm/noop/noop.js","webpack:///../../../node_modules/@mantine/core/esm/Popover/PopoverDropdown/PopoverDropdown.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Popover/PopoverDropdown/PopoverDropdown.js","webpack:///../../../node_modules/@mantine/utils/esm/close-on-escape/close-on-escape.js","webpack:///../../../node_modules/@mantine/core/esm/Popover/Popover.js","webpack:///../../../node_modules/@mantine/core/esm/Portal/OptionalPortal.js","webpack:///../../../node_modules/@mantine/core/esm/Portal/Portal.js","webpack:///../../../node_modules/@mantine/core/esm/Progress/Progress.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Progress/Progress.js","webpack:///../../../node_modules/@mantine/core/esm/Radio/RadioIcon.js","webpack:///../../../node_modules/@mantine/core/esm/Radio/RadioGroup.context.js","webpack:///../../../node_modules/@mantine/core/esm/Radio/RadioGroup/RadioGroup.js","webpack:///../../../node_modules/@mantine/core/esm/Radio/Radio.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Radio/Radio.js","webpack:///../../../node_modules/@radix-ui/react-compose-refs/dist/index.module.js","webpack:///../../../node_modules/@radix-ui/react-slot/dist/index.module.js","webpack:///../../../node_modules/@radix-ui/react-primitive/dist/index.module.js","webpack:///../../../node_modules/@radix-ui/react-use-layout-effect/dist/index.module.js","webpack:///../../../node_modules/@radix-ui/react-presence/dist/index.module.js","webpack:///../../../node_modules/@radix-ui/react-use-callback-ref/dist/index.module.js","webpack:///../../../node_modules/@radix-ui/react-direction/dist/index.module.js","webpack:///../../../node_modules/@radix-ui/primitive/dist/index.module.js","webpack:///../../../node_modules/@radix-ui/react-scroll-area/dist/index.module.js","webpack:///../../../node_modules/@radix-ui/react-context/dist/index.module.js","webpack:///../../../node_modules/@radix-ui/number/dist/index.module.js","webpack:///../../../node_modules/@mantine/core/esm/ScrollArea/ScrollArea.styles.js","webpack:///../../../node_modules/@mantine/core/esm/ScrollArea/ScrollArea.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-resize-observer/use-resize-observer.js","webpack:///../../../node_modules/@mantine/core/esm/SegmentedControl/SegmentedControl.styles.js","webpack:///../../../node_modules/@mantine/core/esm/SegmentedControl/SegmentedControl.js","webpack:///../../../node_modules/@mantine/core/esm/Select/DefaultItem/DefaultItem.js","webpack:///../../../node_modules/@mantine/core/esm/Select/Select.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Select/Select.js","webpack:///../../../node_modules/@mantine/core/esm/Select/filter-data/filter-data.js","webpack:///../../../node_modules/@mantine/core/esm/Select/SelectItems/SelectItems.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Select/SelectItems/SelectItems.js","webpack:///../../../node_modules/@mantine/core/esm/Select/SelectPopover/SelectPopover.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Select/SelectPopover/SelectPopover.js","webpack:///../../../node_modules/@mantine/core/esm/Select/SelectRightSection/ChevronIcon.js","webpack:///../../../node_modules/@mantine/core/esm/Select/SelectRightSection/SelectRightSection.js","webpack:///../../../node_modules/@mantine/core/esm/Select/SelectRightSection/get-select-right-section-props.js","webpack:///../../../node_modules/@mantine/core/esm/Select/SelectScrollArea/SelectScrollArea.js","webpack:///../../../node_modules/@mantine/core/esm/SimpleGrid/SimpleGrid.styles.js","webpack:///../../../node_modules/@mantine/core/esm/SimpleGrid/get-sorted-breakpoints/get-sorted-breakpoints.js","webpack:///../../../node_modules/@mantine/core/esm/SimpleGrid/SimpleGrid.js","webpack:///../../../node_modules/@mantine/core/esm/Skeleton/Skeleton.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Skeleton/Skeleton.js","webpack:///../../../node_modules/@mantine/core/esm/Space/Space.js","webpack:///../../../node_modules/@mantine/core/esm/Stack/Stack.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Stack/Stack.js","webpack:///../../../node_modules/@mantine/core/esm/Switch/SwitchGroup.context.js","webpack:///../../../node_modules/@mantine/core/esm/Switch/SwitchGroup/SwitchGroup.js","webpack:///../../../node_modules/@mantine/core/esm/Switch/Switch.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Switch/Switch.js","webpack:///../../../node_modules/@mantine/core/esm/Tabs/Tabs.errors.js","webpack:///../../../node_modules/@mantine/core/esm/Tabs/Tabs.context.js","webpack:///../../../node_modules/@mantine/core/esm/Tabs/TabsList/TabsList.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Tabs/TabsList/TabsList.js","webpack:///../../../node_modules/@mantine/core/esm/Tabs/TabsPanel/TabsPanel.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Tabs/TabsPanel/TabsPanel.js","webpack:///../../../node_modules/@mantine/core/esm/Tabs/Tab/Tab.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Tabs/Tab/Tab.js","webpack:///../../../node_modules/@mantine/core/esm/Tabs/TabsProvider.js","webpack:///../../../node_modules/@mantine/core/esm/Tabs/Tabs.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Tabs/Tabs.js","webpack:///../../../node_modules/@mantine/core/esm/Text/Text.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Text/Text.js","webpack:///../../../node_modules/@mantine/core/esm/TextInput/TextInput.js","webpack:///../../../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","webpack:///../../../node_modules/use-latest/dist/use-latest.esm.js","webpack:///../../../node_modules/use-composed-ref/dist/use-composed-ref.esm.js","webpack:///../../../node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js","webpack:///../../../node_modules/@mantine/core/esm/Textarea/Textarea.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Textarea/Textarea.js","webpack:///../../../node_modules/@mantine/core/esm/Title/Title.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Title/Title.js","webpack:///../../../node_modules/@mantine/core/esm/Tooltip/TooltipGroup/TooltipGroup.context.js","webpack:///../../../node_modules/@mantine/core/esm/Tooltip/TooltipGroup/TooltipGroup.js","webpack:///../../../node_modules/@mantine/core/esm/Tooltip/Tooltip.styles.js","webpack:///../../../node_modules/@mantine/core/esm/Tooltip/Tooltip.errors.js","webpack:///../../../node_modules/@mantine/core/esm/Tooltip/TooltipFloating/TooltipFloating.js","webpack:///../../../node_modules/@mantine/core/esm/Tooltip/TooltipFloating/use-floating-tooltip.js","webpack:///../../../node_modules/@mantine/core/esm/Tooltip/Tooltip.js","webpack:///../../../node_modules/@mantine/core/esm/Tooltip/use-tooltip.js","webpack:///../../../node_modules/@mantine/core/esm/Floating/use-floating-auto-update.js","webpack:///../../../node_modules/@mantine/core/esm/Transition/transitions.js","webpack:///../../../node_modules/@mantine/core/esm/Transition/get-transition-styles/get-transition-styles.js","webpack:///../../../node_modules/@mantine/core/esm/Transition/Transition.js","webpack:///../../../node_modules/@mantine/core/esm/Transition/use-transition.js","webpack:///../../../node_modules/@mantine/core/esm/UnstyledButton/UnstyledButton.styles.js","webpack:///../../../node_modules/@mantine/core/esm/UnstyledButton/UnstyledButton.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Calendar/clamp-level/clamp-level.js","webpack:///../../../node_modules/@mantine/hooks/esm/utils/clamp/clamp.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Calendar/Calendar.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/MonthLevelGroup/MonthLevelGroup.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/MonthLevel/MonthLevel.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/CalendarHeader/Chevron.js","webpack:///../../../node_modules/@mantine/dates/esm/components/CalendarHeader/CalendarHeader.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/CalendarHeader/CalendarHeader.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Month/is-same-month/is-same-month.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Month/is-before-max-date/is-before-max-date.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Month/is-after-min-date/is-after-min-date.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Month/Month.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Day/Day.js","webpack:///../../../node_modules/@mantine/dates/esm/components/WeekdaysRow/WeekdaysRow.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/WeekdaysRow/WeekdaysRow.js","webpack:///../../../node_modules/@mantine/dates/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Month/Month.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Month/get-month-days/get-month-days.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Month/get-end-of-week/get-end-of-week.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Month/get-start-of-week/get-start-of-week.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.js","webpack:///../../../node_modules/@mantine/dates/esm/components/MonthLevel/MonthLevel.js","webpack:///../../../node_modules/@mantine/dates/esm/utils/handle-control-key-down.js","webpack:///../../../node_modules/@mantine/dates/esm/components/MonthLevelGroup/MonthLevelGroup.js","webpack:///../../../node_modules/@mantine/dates/esm/components/YearLevelGroup/YearLevelGroup.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/YearLevel/YearLevel.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/MonthsList/is-month-disabled/is-month-disabled.js","webpack:///../../../node_modules/@mantine/dates/esm/components/MonthsList/MonthsList.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/MonthsList/MonthsList.js","webpack:///../../../node_modules/@mantine/dates/esm/components/MonthsList/get-months-data/get-months-data.js","webpack:///../../../node_modules/@mantine/dates/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.js","webpack:///../../../node_modules/@mantine/dates/esm/components/YearLevel/YearLevel.js","webpack:///../../../node_modules/@mantine/dates/esm/components/YearLevelGroup/YearLevelGroup.js","webpack:///../../../node_modules/@mantine/dates/esm/components/DecadeLevelGroup/DecadeLevelGroup.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/YearsList/get-years-data/get-years-data.js","webpack:///../../../node_modules/@mantine/dates/esm/components/DecadeLevel/DecadeLevel.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/YearsList/is-year-disabled/is-year-disabled.js","webpack:///../../../node_modules/@mantine/dates/esm/components/YearsList/YearsList.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/YearsList/YearsList.js","webpack:///../../../node_modules/@mantine/dates/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.js","webpack:///../../../node_modules/@mantine/dates/esm/components/DecadeLevel/DecadeLevel.js","webpack:///../../../node_modules/@mantine/dates/esm/components/DecadeLevel/get-decade-range/get-decade-range.js","webpack:///../../../node_modules/@mantine/dates/esm/components/DecadeLevelGroup/DecadeLevelGroup.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Calendar/Calendar.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.js","webpack:///../../../node_modules/@mantine/dates/esm/components/HiddenDatesInput/HiddenDatesInput.js","webpack:///../../../node_modules/@mantine/dates/esm/components/DateInput/DateInput.js","webpack:///../../../node_modules/@mantine/dates/esm/components/DateInput/date-string-parser/date-string-parser.js","webpack:///../../../node_modules/@mantine/dates/esm/components/DateInput/is-date-valid/is-date-valid.js","webpack:///../../../node_modules/@mantine/dates/esm/utils/assign-time/assign-time.js","webpack:///../../../node_modules/@mantine/dates/esm/components/DatePicker/DatePicker.js","webpack:///../../../node_modules/@mantine/dates/esm/components/DatesProvider/DatesProvider.js","webpack:///../../../node_modules/@mantine/dates/esm/components/DatesProvider/use-dates-context.js","webpack:///../../../node_modules/@mantine/dates/esm/components/Day/Day.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/MonthPicker/MonthPicker.js","webpack:///../../../node_modules/@mantine/dates/esm/components/PickerControl/PickerControl.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/PickerControl/PickerControl.js","webpack:///../../../node_modules/@mantine/dates/esm/components/TimeInput/TimeInput.styles.js","webpack:///../../../node_modules/@mantine/dates/esm/components/TimeInput/TimeInput.js","webpack:///../../../node_modules/@mantine/dates/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js","webpack:///../../../node_modules/@mantine/dates/esm/hooks/use-dates-state/is-in-range/is-in-range.js","webpack:///../../../node_modules/@mantine/dates/esm/hooks/use-dates-state/use-dates-state.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-click-outside/use-click-outside.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-did-update/use-did-update.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-disclosure/use-disclosure.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-focus-return/use-focus-return.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-fullscreen/use-fullscreen.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-hover/use-hover.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-id/use-react-id.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-id/use-id.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-interval/use-interval.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-isomorphic-effect/use-isomorphic-effect.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-merged-ref/use-merged-ref.js","webpack:///../../../node_modules/@mantine/hooks/esm/utils/assign-ref/assign-ref.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-reduced-motion/use-reduced-motion.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-media-query/use-media-query.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-scroll-into-view/utils/ease-in-out-quad.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-scroll-into-view/utils/get-relative-position.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-scroll-into-view/utils/get-scroll-start.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-scroll-into-view/utils/set-scroll-param.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-scroll-into-view/use-scroll-into-view.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-uncontrolled/use-uncontrolled.js","webpack:///../../../node_modules/@mantine/hooks/esm/use-window-event/use-window-event.js","webpack:///../../../node_modules/@mantine/hooks/esm/utils/random-id/random-id.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/GlobalStyles.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/MantineCssVariables.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/utils/merge-theme/merge-theme.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/NormalizeCSS.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/MantineProvider.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/default-colors.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/default-theme.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/focus-styles/focus-styles.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/primary-shade/primary-shade.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/theme-color/theme-color.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/gradient/get-gradient-color-stops/get-gradient-color-stops.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/gradient/gradient.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/utils/to-rgba/to-rgba.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/rgba/rgba.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/index.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/font-styles/font-styles.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/cover/cover.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/darken/darken.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/lighten/lighten.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/radius/radius.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/variant/variant.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/hover/hover.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/primary-color/primary-color.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/placeholder-styles/placeholder-styles.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/dimmed/dimmed.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/attach-functions.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/functions/fns/breakpoints/breakpoints.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/utils/filter-props/filter-props.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/utils/get-default-z-index/get-default-z-index.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/utils/get-size/get-size.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/utils/px/px.js","webpack:///../../../node_modules/@mantine/styles/esm/theme/utils/rem/rem.js","webpack:///../../../node_modules/@mantine/styles/esm/tss/create-styles.js","webpack:///../../../node_modules/@mantine/styles/esm/tss/utils/merge-class-names/merge-class-names.js","webpack:///../../../node_modules/@mantine/styles/esm/tss/get-styles-ref.js","webpack:///../../../node_modules/@mantine/styles/esm/tss/default-emotion-cache.js","webpack:///../../../node_modules/@mantine/styles/esm/tss/use-css.js","webpack:///../../../node_modules/@mantine/styles/esm/tss/use-emotion-cache.js","webpack:///../../../node_modules/@mantine/styles/esm/tss/utils/use-guaranteed-memo/use-guaranteed-memo.js","webpack:///../../../node_modules/@mantine/utils/esm/create-event-handler/create-event-handler.js","webpack:///../../../node_modules/@mantine/utils/esm/create-polymorphic-component/create-polymorphic-component.js","webpack:///../../../node_modules/@mantine/utils/esm/create-safe-context/create-safe-context.js","webpack:///../../../node_modules/@mantine/utils/esm/create-scoped-keydown-handler/create-scoped-keydown-handler.js","webpack:///../../../node_modules/@mantine/utils/esm/find-element-ancestor/find-element-ancestor.js","webpack:///../../../node_modules/@mantine/utils/esm/get-safe-id/get-safe-id.js","webpack:///../../../node_modules/@mantine/utils/esm/group-options/group-options.js","webpack:///../../../node_modules/@mantine/utils/esm/is-element/is-element.js","webpack:///../../../node_modules/@mantine/utils/esm/pack-sx/pack-sx.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack:///../../../node_modules/@popperjs/core/lib/enums.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/getVariation.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/math.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack:///../../../node_modules/@radix-ui/react-portal/dist/index.js","webpack:///../../../node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-compose-refs/dist/index.js","webpack:///../../../node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-primitive/dist/index.js","webpack:///../../../node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-slot/dist/index.js","webpack:///../../../node_modules/@react-oauth/google/dist/index.esm.js","webpack:///../../../node_modules/@snowplow/browser-tracker-core/node_modules/uuid/index.js","webpack:///../../../node_modules/@snowplow/browser-tracker-core/node_modules/uuid/lib/bytesToUuid.js","webpack:///../../../node_modules/@snowplow/browser-tracker-core/node_modules/uuid/lib/rng-browser.js","webpack:///../../../node_modules/@snowplow/browser-tracker-core/node_modules/uuid/v1.js","webpack:///../../../node_modules/@snowplow/browser-tracker-core/node_modules/uuid/v4.js","webpack:///../../../node_modules/@snowplow/tracker-core/node_modules/tslib/tslib.es6.js","webpack:///../../../node_modules/@snowplow/tracker-core/dist/index.module.js","webpack:///../../../node_modules/@snowplow/browser-tracker-core/node_modules/tslib/tslib.es6.js","webpack:///../../../node_modules/@snowplow/browser-tracker-core/dist/index.module.js","webpack:///../../../node_modules/@snowplow/browser-tracker/dist/index.module.js","webpack:///../../../node_modules/@snowplow/tracker-core/node_modules/uuid/index.js","webpack:///../../../node_modules/@snowplow/tracker-core/node_modules/uuid/lib/bytesToUuid.js","webpack:///../../../node_modules/@snowplow/tracker-core/node_modules/uuid/lib/rng-browser.js","webpack:///../../../node_modules/@snowplow/tracker-core/node_modules/uuid/v1.js","webpack:///../../../node_modules/@snowplow/tracker-core/node_modules/uuid/v4.js","webpack:///../../../node_modules/@popperjs/core/lib/createPopper.js","webpack:///../../../node_modules/@tippyjs/react/dist/tippy-react.esm.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack:///../../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack:///../../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack:///../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/within.js","webpack:///../../../node_modules/@popperjs/core/lib/modifiers/hide.js","webpack:///../../../node_modules/@popperjs/core/lib/popper.js","webpack:///../../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack:///../../../node_modules/@popperjs/core/lib/modifiers/offset.js","webpack:///../../../node_modules/@popperjs/core/lib/modifiers/flip.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack:///../../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack:///../../../node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/debounce.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack:///../../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack:///../../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack:///../../../node_modules/tippy.js/dist/tippy.esm.js","webpack:///../../../node_modules/@visx/axis/esm/axis/Ticks.js","webpack:///../../../node_modules/@visx/axis/esm/axis/AxisRenderer.js","webpack:///../../../node_modules/@visx/axis/esm/utils/getLabelTransform.js","webpack:///../../../node_modules/@visx/scale/esm/utils/toString.js","webpack:///../../../node_modules/@visx/axis/esm/utils/createPoint.js","webpack:///../../../node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js","webpack:///../../../node_modules/@visx/axis/esm/axis/Axis.js","webpack:///../../../node_modules/@visx/axis/esm/utils/getTickFormatter.js","webpack:///../../../node_modules/@visx/axis/esm/utils/getTickPosition.js","webpack:///../../../node_modules/@visx/axis/esm/axis/AxisBottom.js","webpack:///../../../node_modules/@visx/axis/esm/axis/AxisLeft.js","webpack:///../../../node_modules/@visx/axis/esm/constants/orientation.js","webpack:///../../../node_modules/@visx/grid/esm/grids/GridColumns.js","webpack:///../../../node_modules/@visx/grid/esm/utils/getScaleBandwidth.js","webpack:///../../../node_modules/@visx/group/esm/Group.js","webpack:///../../../node_modules/@visx/point/esm/Point.js","webpack:///../../../node_modules/d3-interpolate/src/hsl.js","webpack:///../../../node_modules/d3-color/src/cubehelix.js","webpack:///../../../node_modules/d3-interpolate/src/cubehelix.js","webpack:///../../../node_modules/@visx/scale/esm/utils/createColorInterpolator.js","webpack:///../../../node_modules/d3-interpolate/src/lab.js","webpack:///../../../node_modules/d3-time/src/interval.js","webpack:///../../../node_modules/d3-time/src/duration.js","webpack:///../../../node_modules/d3-time/src/day.js","webpack:///../../../node_modules/d3-time/src/hour.js","webpack:///../../../node_modules/d3-time/src/minute.js","webpack:///../../../node_modules/d3-time/src/month.js","webpack:///../../../node_modules/d3-time/src/second.js","webpack:///../../../node_modules/d3-time/src/week.js","webpack:///../../../node_modules/d3-time/src/year.js","webpack:///../../../node_modules/@visx/scale/esm/utils/isUtcScale.js","webpack:///../../../node_modules/@visx/scale/esm/operators/nice.js","webpack:///../../../node_modules/@visx/scale/esm/operators/scaleOperator.js","webpack:///../../../node_modules/@visx/scale/esm/operators/domain.js","webpack:///../../../node_modules/@visx/scale/esm/operators/zero.js","webpack:///../../../node_modules/@visx/scale/esm/operators/interpolate.js","webpack:///../../../node_modules/@visx/scale/esm/operators/round.js","webpack:///../../../node_modules/@visx/scale/esm/operators/align.js","webpack:///../../../node_modules/@visx/scale/esm/operators/base.js","webpack:///../../../node_modules/@visx/scale/esm/operators/clamp.js","webpack:///../../../node_modules/@visx/scale/esm/operators/constant.js","webpack:///../../../node_modules/@visx/scale/esm/operators/exponent.js","webpack:///../../../node_modules/@visx/scale/esm/operators/padding.js","webpack:///../../../node_modules/@visx/scale/esm/operators/range.js","webpack:///../../../node_modules/@visx/scale/esm/operators/reverse.js","webpack:///../../../node_modules/@visx/scale/esm/operators/unknown.js","webpack:///../../../node_modules/internmap/src/index.js","webpack:///../../../node_modules/d3-scale/src/ordinal.js","webpack:///../../../node_modules/@visx/scale/esm/scales/band.js","webpack:///../../../node_modules/d3-scale/src/band.js","webpack:///../../../node_modules/@visx/scale/esm/scales/linear.js","webpack:///../../../node_modules/d3-scale/src/log.js","webpack:///../../../node_modules/@visx/scale/esm/scales/log.js","webpack:///../../../node_modules/d3-scale/src/nice.js","webpack:///../../../node_modules/d3-scale/src/pow.js","webpack:///../../../node_modules/@visx/scale/esm/scales/power.js","webpack:///../../../node_modules/@visx/scale/esm/utils/coerceNumber.js","webpack:///../../../node_modules/@visx/scale/esm/utils/getTicks.js","webpack:///../../../node_modules/@visx/shape/esm/shapes/Bar.js","webpack:///../../../node_modules/@visx/shape/esm/shapes/Line.js","webpack:///../../../node_modules/@visx/shape/lib/shapes/Line.js","webpack:///../../../node_modules/@visx/text/esm/util/getStringWidth.js","webpack:///../../../node_modules/@visx/text/esm/hooks/useText.js","webpack:///../../../node_modules/@visx/text/esm/Text.js","webpack:///../../../node_modules/ace-builds/src-noconflict/ace.js","webpack:///../../../node_modules/ace-builds/src-noconflict/ext-language_tools.js","webpack:///../../../node_modules/ace-builds/src-noconflict/ext-searchbox.js","webpack:///../../../node_modules/ace-builds/src-noconflict/ext-split.js","webpack:///../../../node_modules/ace-builds/src-noconflict/mode-clojure.js","webpack:///../../../node_modules/ace-builds/src-noconflict/mode-html.js","webpack:///../../../node_modules/ace-builds/src-noconflict/mode-html_ruby.js","webpack:///../../../node_modules/ace-builds/src-noconflict/mode-jade.js","webpack:///../../../node_modules/ace-builds/src-noconflict/mode-java.js","webpack:///../../../node_modules/ace-builds/src-noconflict/mode-javascript.js","webpack:///../../../node_modules/ace-builds/src-noconflict/mode-json.js","webpack:///../../../node_modules/ace-builds/src-noconflict/mode-jsx.js","webpack:///../../../node_modules/ace-builds/src-noconflict/mode-plain_text.js","webpack:///../../../node_modules/ace-builds/src-noconflict/mode-python.js","webpack:///../../../node_modules/ace-builds/src-noconflict/mode-ruby.js","webpack:///../../../node_modules/ace-builds/src-noconflict/mode-sql.js","webpack:///../../../node_modules/ace-builds/src-noconflict/snippets/json.js","webpack:///../../../node_modules/ace-builds/src-noconflict/snippets/sql.js","webpack:///../../../node_modules/ace-builds/src-noconflict/snippets/text.js","webpack:///../../../node_modules/ansi-regex/index.js","webpack:///../../../node_modules/ansi-style-parser/index.js","webpack:///../../../node_modules/asap/browser-asap.js","webpack:///../../../node_modules/asap/browser-raw.js","webpack:///../../../node_modules/asn1.js/lib/asn1.js","webpack:///../../../node_modules/asn1.js/lib/asn1/api.js","webpack:///../../../node_modules/asn1.js/lib/asn1/base/buffer.js","webpack:///../../../node_modules/asn1.js/lib/asn1/base/index.js","webpack:///../../../node_modules/asn1.js/lib/asn1/base/node.js","webpack:///../../../node_modules/asn1.js/lib/asn1/base/reporter.js","webpack:///../../../node_modules/asn1.js/lib/asn1/constants/der.js","webpack:///../../../node_modules/asn1.js/lib/asn1/constants/index.js","webpack:///../../../node_modules/asn1.js/lib/asn1/decoders/der.js","webpack:///../../../node_modules/asn1.js/lib/asn1/decoders/index.js","webpack:///../../../node_modules/asn1.js/lib/asn1/decoders/pem.js","webpack:///../../../node_modules/asn1.js/lib/asn1/encoders/der.js","webpack:///../../../node_modules/asn1.js/lib/asn1/encoders/index.js","webpack:///../../../node_modules/asn1.js/lib/asn1/encoders/pem.js","webpack:///../../../node_modules/assert/build/assert.js","webpack:///../../../node_modules/assert/build/internal/assert/assertion_error.js","webpack:///../../../node_modules/assert/build/internal/errors.js","webpack:///../../../node_modules/assert/build/internal/util/comparisons.js","webpack:///../../../node_modules/attr-accept/dist/es/index.js","webpack:///../../../node_modules/autobind-decorator/lib/esm/index.js","webpack:///../../../node_modules/balanced-match/index.js","webpack:///../../../node_modules/base64-js/index.js","webpack:///../../../node_modules/bn.js/lib/bn.js","webpack:///../../../node_modules/bowser/es5.js","webpack:///../../../node_modules/brorand/index.js","webpack:///../../../node_modules/browserify-aes/aes.js","webpack:///../../../node_modules/browserify-aes/authCipher.js","webpack:///../../../node_modules/browserify-aes/browser.js","webpack:///../../../node_modules/browserify-aes/decrypter.js","webpack:///../../../node_modules/browserify-aes/encrypter.js","webpack:///../../../node_modules/browserify-aes/ghash.js","webpack:///../../../node_modules/browserify-aes/incr32.js","webpack:///../../../node_modules/browserify-aes/modes/cbc.js","webpack:///../../../node_modules/browserify-aes/modes/cfb.js","webpack:///../../../node_modules/browserify-aes/modes/cfb1.js","webpack:///../../../node_modules/browserify-aes/modes/cfb8.js","webpack:///../../../node_modules/browserify-aes/modes/ctr.js","webpack:///../../../node_modules/browserify-aes/modes/ecb.js","webpack:///../../../node_modules/browserify-aes/modes/index.js","webpack:///../../../node_modules/browserify-aes/modes/ofb.js","webpack:///../../../node_modules/browserify-aes/streamCipher.js","webpack:///../../../node_modules/browserify-cipher/browser.js","webpack:///../../../node_modules/browserify-des/index.js","webpack:///../../../node_modules/browserify-des/modes.js","webpack:///../../../node_modules/browserify-rsa/index.js","webpack:///../../../node_modules/browserify-rsa/node_modules/bn.js/lib/bn.js","webpack:///../../../node_modules/browserify-sign/algos.js","webpack:///../../../node_modules/browserify-sign/browser/index.js","webpack:///../../../node_modules/browserify-sign/browser/sign.js","webpack:///../../../node_modules/browserify-sign/browser/verify.js","webpack:///../../../node_modules/browserify-sign/node_modules/bn.js/lib/bn.js","webpack:///../../../node_modules/buffer-xor/index.js","webpack:///../../../node_modules/buffer/index.js","webpack:///../../../node_modules/call-bind/callBound.js","webpack:///../../../node_modules/call-bind/index.js","webpack:///../../../node_modules/charenc/charenc.js","webpack:///../../../node_modules/cipher-base/index.js","webpack:///../../../node_modules/classnames/index.js","webpack:///../../../node_modules/clsx/dist/clsx.m.js","webpack:///../../../node_modules/color-convert/conversions.js","webpack:///../../../node_modules/color-convert/index.js","webpack:///../../../node_modules/color-convert/route.js","webpack:///../../../node_modules/color-name/index.js","webpack:///../../../node_modules/color-string/index.js","webpack:///../../../node_modules/color/index.js","webpack:///../../../node_modules/console-browserify/index.js","webpack:///../../../node_modules/copy-to-clipboard/index.js","webpack:///../../../node_modules/crc-32/crc32.js","webpack:///../../../node_modules/create-ecdh/browser.js","webpack:///../../../node_modules/create-hash/browser.js","webpack:///../../../node_modules/create-hash/md5.js","webpack:///../../../node_modules/create-hmac/browser.js","webpack:///../../../node_modules/create-hmac/legacy.js","webpack:///../../../node_modules/create-react-class/factory.js","webpack:///../../../node_modules/create-react-class/index.js","webpack:///../../../node_modules/cron-expression-validator/constants.js","webpack:///../../../node_modules/cron-expression-validator/index.js","webpack:///../../../node_modules/cronstrue/dist/cronstrue.js","webpack:///../../../node_modules/crossfilter/crossfilter.js","webpack:///../../../node_modules/crossfilter/index.js","webpack:///../../../node_modules/crypt/crypt.js","webpack:///../../../node_modules/crypto-browserify/index.js","webpack:///../../../node_modules/dayjs/dayjs.min.js","webpack:///../../../node_modules/dayjs/locale/af.js","webpack:///../../../node_modules/dayjs/locale/am.js","webpack:///../../../node_modules/dayjs/locale/ar-dz.js","webpack:///../../../node_modules/dayjs/locale/ar-iq.js","webpack:///../../../node_modules/dayjs/locale/ar-kw.js","webpack:///../../../node_modules/dayjs/locale/ar-ly.js","webpack:///../../../node_modules/dayjs/locale/ar-ma.js","webpack:///../../../node_modules/dayjs/locale/ar-sa.js","webpack:///../../../node_modules/dayjs/locale/ar-tn.js","webpack:///../../../node_modules/dayjs/locale/ar.js","webpack:///../../../node_modules/dayjs/locale/az.js","webpack:///../../../node_modules/dayjs/locale/be.js","webpack:///../../../node_modules/dayjs/locale/bg.js","webpack:///../../../node_modules/dayjs/locale/bi.js","webpack:///../../../node_modules/dayjs/locale/bm.js","webpack:///../../../node_modules/dayjs/locale/bn.js","webpack:///../../../node_modules/dayjs/locale/bo.js","webpack:///../../../node_modules/dayjs/locale/br.js","webpack:///../../../node_modules/dayjs/locale/bs.js","webpack:///../../../node_modules/dayjs/locale/ca.js","webpack:///../../../node_modules/dayjs/locale/cs.js","webpack:///../../../node_modules/dayjs/locale/cv.js","webpack:///../../../node_modules/dayjs/locale/cy.js","webpack:///../../../node_modules/dayjs/locale/da.js","webpack:///../../../node_modules/dayjs/locale/de-at.js","webpack:///../../../node_modules/dayjs/locale/de-ch.js","webpack:///../../../node_modules/dayjs/locale/de.js","webpack:///../../../node_modules/dayjs/locale/dv.js","webpack:///../../../node_modules/dayjs/locale/el.js","webpack:///../../../node_modules/dayjs/locale/en-au.js","webpack:///../../../node_modules/dayjs/locale/en-ca.js","webpack:///../../../node_modules/dayjs/locale/en-gb.js","webpack:///../../../node_modules/dayjs/locale/en-ie.js","webpack:///../../../node_modules/dayjs/locale/en-il.js","webpack:///../../../node_modules/dayjs/locale/en-in.js","webpack:///../../../node_modules/dayjs/locale/en-nz.js","webpack:///../../../node_modules/dayjs/locale/en-sg.js","webpack:///../../../node_modules/dayjs/locale/en-tt.js","webpack:///../../../node_modules/dayjs/locale/en.js","webpack:///../../../node_modules/dayjs/locale/eo.js","webpack:///../../../node_modules/dayjs/locale/es-do.js","webpack:///../../../node_modules/dayjs/locale/es-mx.js","webpack:///../../../node_modules/dayjs/locale/es-pr.js","webpack:///../../../node_modules/dayjs/locale/es-us.js","webpack:///../../../node_modules/dayjs/locale/es.js","webpack:///../../../node_modules/dayjs/locale/et.js","webpack:///../../../node_modules/dayjs/locale/eu.js","webpack:///../../../node_modules/dayjs/locale/fa.js","webpack:///../../../node_modules/dayjs/locale/fi.js","webpack:///../../../node_modules/dayjs/locale/fo.js","webpack:///../../../node_modules/dayjs/locale/fr-ca.js","webpack:///../../../node_modules/dayjs/locale/fr-ch.js","webpack:///../../../node_modules/dayjs/locale/fr.js","webpack:///../../../node_modules/dayjs/locale/fy.js","webpack:///../../../node_modules/dayjs/locale/ga.js","webpack:///../../../node_modules/dayjs/locale/gd.js","webpack:///../../../node_modules/dayjs/locale/gl.js","webpack:///../../../node_modules/dayjs/locale/gom-latn.js","webpack:///../../../node_modules/dayjs/locale/gu.js","webpack:///../../../node_modules/dayjs/locale/he.js","webpack:///../../../node_modules/dayjs/locale/hi.js","webpack:///../../../node_modules/dayjs/locale/hr.js","webpack:///../../../node_modules/dayjs/locale/ht.js","webpack:///../../../node_modules/dayjs/locale/hu.js","webpack:///../../../node_modules/dayjs/locale/hy-am.js","webpack:///../../../node_modules/dayjs/locale/id.js","webpack:///../../../node_modules/dayjs/locale/is.js","webpack:///../../../node_modules/dayjs/locale/it-ch.js","webpack:///../../../node_modules/dayjs/locale/it.js","webpack:///../../../node_modules/dayjs/locale/ja.js","webpack:///../../../node_modules/dayjs/locale/jv.js","webpack:///../../../node_modules/dayjs/locale/ka.js","webpack:///../../../node_modules/dayjs/locale/kk.js","webpack:///../../../node_modules/dayjs/locale/km.js","webpack:///../../../node_modules/dayjs/locale/kn.js","webpack:///../../../node_modules/dayjs/locale/ko.js","webpack:///../../../node_modules/dayjs/locale/ku.js","webpack:///../../../node_modules/dayjs/locale/ky.js","webpack:///../../../node_modules/dayjs/locale/lb.js","webpack:///../../../node_modules/dayjs/locale/lo.js","webpack:///../../../node_modules/dayjs/locale/lt.js","webpack:///../../../node_modules/dayjs/locale/lv.js","webpack:///../../../node_modules/dayjs/locale/me.js","webpack:///../../../node_modules/dayjs/locale/mi.js","webpack:///../../../node_modules/dayjs/locale/mk.js","webpack:///../../../node_modules/dayjs/locale/ml.js","webpack:///../../../node_modules/dayjs/locale/mn.js","webpack:///../../../node_modules/dayjs/locale/mr.js","webpack:///../../../node_modules/dayjs/locale/ms-my.js","webpack:///../../../node_modules/dayjs/locale/ms.js","webpack:///../../../node_modules/dayjs/locale/mt.js","webpack:///../../../node_modules/dayjs/locale/my.js","webpack:///../../../node_modules/dayjs/locale/nb.js","webpack:///../../../node_modules/dayjs/locale/ne.js","webpack:///../../../node_modules/dayjs/locale/nl-be.js","webpack:///../../../node_modules/dayjs/locale/nl.js","webpack:///../../../node_modules/dayjs/locale/nn.js","webpack:///../../../node_modules/dayjs/locale/oc-lnc.js","webpack:///../../../node_modules/dayjs/locale/pa-in.js","webpack:///../../../node_modules/dayjs/locale/pl.js","webpack:///../../../node_modules/dayjs/locale/pt-br.js","webpack:///../../../node_modules/dayjs/locale/pt.js","webpack:///../../../node_modules/dayjs/locale/rn.js","webpack:///../../../node_modules/dayjs/locale/ro.js","webpack:///../../../node_modules/dayjs/locale/ru.js","webpack:///../../../node_modules/dayjs/locale/rw.js","webpack:///../../../node_modules/dayjs/locale/sd.js","webpack:///../../../node_modules/dayjs/locale/se.js","webpack:///../../../node_modules/dayjs/locale/si.js","webpack:///../../../node_modules/dayjs/locale/sk.js","webpack:///../../../node_modules/dayjs/locale/sl.js","webpack:///../../../node_modules/dayjs/locale/sq.js","webpack:///../../../node_modules/dayjs/locale/sr-cyrl.js","webpack:///../../../node_modules/dayjs/locale/sr.js","webpack:///../../../node_modules/dayjs/locale/ss.js","webpack:///../../../node_modules/dayjs/locale/sv-fi.js","webpack:///../../../node_modules/dayjs/locale/sv.js","webpack:///../../../node_modules/dayjs/locale/sw.js","webpack:///../../../node_modules/dayjs/locale/ta.js","webpack:///../../../node_modules/dayjs/locale/te.js","webpack:///../../../node_modules/dayjs/locale/tet.js","webpack:///../../../node_modules/dayjs/locale/tg.js","webpack:///../../../node_modules/dayjs/locale/th.js","webpack:///../../../node_modules/dayjs/locale/tk.js","webpack:///../../../node_modules/dayjs/locale/tl-ph.js","webpack:///../../../node_modules/dayjs/locale/tlh.js","webpack:///../../../node_modules/dayjs/locale/tr.js","webpack:///../../../node_modules/dayjs/locale/tzl.js","webpack:///../../../node_modules/dayjs/locale/tzm-latn.js","webpack:///../../../node_modules/dayjs/locale/tzm.js","webpack:///../../../node_modules/dayjs/locale/ug-cn.js","webpack:///../../../node_modules/dayjs/locale/uk.js","webpack:///../../../node_modules/dayjs/locale/ur.js","webpack:///../../../node_modules/dayjs/locale/uz-latn.js","webpack:///../../../node_modules/dayjs/locale/uz.js","webpack:///../../../node_modules/dayjs/locale/vi.js","webpack:///../../../node_modules/dayjs/locale/x-pseudo.js","webpack:///../../../node_modules/dayjs/locale/yo.js","webpack:///../../../node_modules/dayjs/locale/zh-cn.js","webpack:///../../../node_modules/dayjs/locale/zh-hk.js","webpack:///../../../node_modules/dayjs/locale/zh-tw.js","webpack:///../../../node_modules/dayjs/locale/zh.js","webpack:///../../../node_modules/dayjs/plugin/advancedFormat.js","webpack:///../../../node_modules/dayjs/plugin/customParseFormat.js","webpack:///../../../node_modules/dayjs/plugin/dayOfYear.js","webpack:///../../../node_modules/dayjs/plugin/isoWeek.js","webpack:///../../../node_modules/dayjs/plugin/localeData.js","webpack:///../../../node_modules/dayjs/plugin/quarterOfYear.js","webpack:///../../../node_modules/dayjs/plugin/relativeTime.js","webpack:///../../../node_modules/dayjs/plugin/timezone.js","webpack:///../../../node_modules/dayjs/plugin/updateLocale.js","webpack:///../../../node_modules/dayjs/plugin/utc.js","webpack:///../../../node_modules/dayjs/plugin/weekOfYear.js","webpack:///../../../node_modules/dayjs/plugin/weekday.js","webpack:///../../../node_modules/define-data-property/index.js","webpack:///../../../node_modules/des.js/lib/des.js","webpack:///../../../node_modules/des.js/lib/des/cbc.js","webpack:///../../../node_modules/des.js/lib/des/cipher.js","webpack:///../../../node_modules/des.js/lib/des/des.js","webpack:///../../../node_modules/des.js/lib/des/ede.js","webpack:///../../../node_modules/des.js/lib/des/utils.js","webpack:///../../../node_modules/diff-match-patch/index.js","webpack:///../../../node_modules/diff/dist/diff.js","webpack:///../../../node_modules/diffie-hellman/browser.js","webpack:///../../../node_modules/diffie-hellman/lib/dh.js","webpack:///../../../node_modules/diffie-hellman/lib/generatePrime.js","webpack:///../../../node_modules/dnd-core/lib/DragDropManagerImpl.js","webpack:///../../../node_modules/dnd-core/lib/DragDropMonitorImpl.js","webpack:///../../../node_modules/dnd-core/lib/HandlerRegistryImpl.js","webpack:///../../../node_modules/dnd-core/lib/actions/dragDrop.js","webpack:///../../../node_modules/dnd-core/lib/actions/registry.js","webpack:///../../../node_modules/dnd-core/lib/contracts.js","webpack:///../../../node_modules/dnd-core/lib/factories.js","webpack:///../../../node_modules/dnd-core/lib/index.js","webpack:///../../../node_modules/dnd-core/lib/interfaces.js","webpack:///../../../node_modules/dnd-core/lib/reducers/dirtyHandlerIds.js","webpack:///../../../node_modules/dnd-core/lib/reducers/dragOffset.js","webpack:///../../../node_modules/dnd-core/lib/reducers/dragOperation.js","webpack:///../../../node_modules/dnd-core/lib/reducers/index.js","webpack:///../../../node_modules/dnd-core/lib/reducers/refCount.js","webpack:///../../../node_modules/dnd-core/lib/reducers/stateId.js","webpack:///../../../node_modules/dnd-core/lib/utils/coords.js","webpack:///../../../node_modules/dnd-core/lib/utils/dirtiness.js","webpack:///../../../node_modules/dnd-core/lib/utils/equality.js","webpack:///../../../node_modules/dnd-core/lib/utils/getNextUniqueId.js","webpack:///../../../node_modules/dnd-core/lib/utils/matchesType.js","webpack:///../../../node_modules/dnd-core/node_modules/redux/es/redux.js","webpack:///../../../node_modules/elliptic/lib/elliptic.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curve/base.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curve/edwards.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curve/index.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curve/mont.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curve/short.js","webpack:///../../../node_modules/elliptic/lib/elliptic/curves.js","webpack:///../../../node_modules/elliptic/lib/elliptic/ec/index.js","webpack:///../../../node_modules/elliptic/lib/elliptic/ec/key.js","webpack:///../../../node_modules/elliptic/lib/elliptic/ec/signature.js","webpack:///../../../node_modules/elliptic/lib/elliptic/eddsa/index.js","webpack:///../../../node_modules/elliptic/lib/elliptic/eddsa/key.js","webpack:///../../../node_modules/elliptic/lib/elliptic/eddsa/signature.js","webpack:///../../../node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","webpack:///../../../node_modules/elliptic/lib/elliptic/utils.js","webpack:///../../../node_modules/es-define-property/index.js","webpack:///../../../node_modules/es-errors/eval.js","webpack:///../../../node_modules/es-errors/index.js","webpack:///../../../node_modules/es-errors/range.js","webpack:///../../../node_modules/es-errors/ref.js","webpack:///../../../node_modules/es-errors/syntax.js","webpack:///../../../node_modules/es-errors/type.js","webpack:///../../../node_modules/es-errors/uri.js","webpack:///../../../node_modules/escape-string-regexp/index.js","webpack:///../../../node_modules/events/events.js","webpack:///../../../node_modules/evp_bytestokey/index.js","webpack:///../../../node_modules/extend/index.js","webpack:///../../../node_modules/fast-deep-equal/react.js","webpack:///../../../node_modules/fast-equals/dist/fast-equals.js","webpack:///../../../node_modules/fflate/esm/browser.js","webpack:///../../../node_modules/flux-standard-action/lib/index.js","webpack:///../../../node_modules/foreach/index.js","webpack:///../../../node_modules/formik/node_modules/deepmerge/dist/es.js","webpack:///../../../node_modules/lodash-es/_isMasked.js","webpack:///../../../node_modules/lodash-es/_memoizeCapped.js","webpack:///../../../node_modules/lodash-es/_freeGlobal.js","webpack:///../../../node_modules/lodash-es/_root.js","webpack:///../../../node_modules/lodash-es/_Symbol.js","webpack:///../../../node_modules/lodash-es/_getRawTag.js","webpack:///../../../node_modules/lodash-es/_objectToString.js","webpack:///../../../node_modules/lodash-es/_baseGetTag.js","webpack:///../../../node_modules/lodash-es/_overArg.js","webpack:///../../../node_modules/lodash-es/_getPrototype.js","webpack:///../../../node_modules/lodash-es/isObjectLike.js","webpack:///../../../node_modules/lodash-es/isPlainObject.js","webpack:///../../../node_modules/tiny-warning/dist/tiny-warning.esm.js","webpack:///../../../node_modules/lodash-es/eq.js","webpack:///../../../node_modules/lodash-es/_assocIndexOf.js","webpack:///../../../node_modules/lodash-es/_listCacheDelete.js","webpack:///../../../node_modules/lodash-es/_ListCache.js","webpack:///../../../node_modules/lodash-es/_listCacheClear.js","webpack:///../../../node_modules/lodash-es/_listCacheGet.js","webpack:///../../../node_modules/lodash-es/_listCacheHas.js","webpack:///../../../node_modules/lodash-es/_listCacheSet.js","webpack:///../../../node_modules/lodash-es/isObject.js","webpack:///../../../node_modules/lodash-es/isFunction.js","webpack:///../../../node_modules/lodash-es/_coreJsData.js","webpack:///../../../node_modules/lodash-es/_toSource.js","webpack:///../../../node_modules/lodash-es/_baseIsNative.js","webpack:///../../../node_modules/lodash-es/_getNative.js","webpack:///../../../node_modules/lodash-es/_getValue.js","webpack:///../../../node_modules/lodash-es/_Map.js","webpack:///../../../node_modules/lodash-es/_nativeCreate.js","webpack:///../../../node_modules/lodash-es/_hashGet.js","webpack:///../../../node_modules/lodash-es/_hashHas.js","webpack:///../../../node_modules/lodash-es/_Hash.js","webpack:///../../../node_modules/lodash-es/_hashClear.js","webpack:///../../../node_modules/lodash-es/_hashDelete.js","webpack:///../../../node_modules/lodash-es/_hashSet.js","webpack:///../../../node_modules/lodash-es/_isKeyable.js","webpack:///../../../node_modules/lodash-es/_getMapData.js","webpack:///../../../node_modules/lodash-es/_MapCache.js","webpack:///../../../node_modules/lodash-es/_mapCacheClear.js","webpack:///../../../node_modules/lodash-es/_mapCacheDelete.js","webpack:///../../../node_modules/lodash-es/_mapCacheGet.js","webpack:///../../../node_modules/lodash-es/_mapCacheHas.js","webpack:///../../../node_modules/lodash-es/_mapCacheSet.js","webpack:///../../../node_modules/lodash-es/_Stack.js","webpack:///../../../node_modules/lodash-es/_stackClear.js","webpack:///../../../node_modules/lodash-es/_stackDelete.js","webpack:///../../../node_modules/lodash-es/_stackGet.js","webpack:///../../../node_modules/lodash-es/_stackHas.js","webpack:///../../../node_modules/lodash-es/_stackSet.js","webpack:///../../../node_modules/lodash-es/_arrayEach.js","webpack:///../../../node_modules/lodash-es/_defineProperty.js","webpack:///../../../node_modules/lodash-es/_baseAssignValue.js","webpack:///../../../node_modules/lodash-es/_assignValue.js","webpack:///../../../node_modules/lodash-es/_copyObject.js","webpack:///../../../node_modules/lodash-es/_baseTimes.js","webpack:///../../../node_modules/lodash-es/_baseIsArguments.js","webpack:///../../../node_modules/lodash-es/isArguments.js","webpack:///../../../node_modules/lodash-es/isArray.js","webpack:///../../../node_modules/lodash-es/isBuffer.js","webpack:///../../../node_modules/lodash-es/stubFalse.js","webpack:///../../../node_modules/lodash-es/_isIndex.js","webpack:///../../../node_modules/lodash-es/isLength.js","webpack:///../../../node_modules/lodash-es/_baseIsTypedArray.js","webpack:///../../../node_modules/lodash-es/_baseUnary.js","webpack:///../../../node_modules/lodash-es/_nodeUtil.js","webpack:///../../../node_modules/lodash-es/isTypedArray.js","webpack:///../../../node_modules/lodash-es/_arrayLikeKeys.js","webpack:///../../../node_modules/lodash-es/_isPrototype.js","webpack:///../../../node_modules/lodash-es/_nativeKeys.js","webpack:///../../../node_modules/lodash-es/_baseKeys.js","webpack:///../../../node_modules/lodash-es/isArrayLike.js","webpack:///../../../node_modules/lodash-es/keys.js","webpack:///../../../node_modules/lodash-es/_nativeKeysIn.js","webpack:///../../../node_modules/lodash-es/_baseKeysIn.js","webpack:///../../../node_modules/lodash-es/keysIn.js","webpack:///../../../node_modules/lodash-es/_cloneBuffer.js","webpack:///../../../node_modules/lodash-es/_copyArray.js","webpack:///../../../node_modules/lodash-es/_arrayFilter.js","webpack:///../../../node_modules/lodash-es/stubArray.js","webpack:///../../../node_modules/lodash-es/_getSymbols.js","webpack:///../../../node_modules/lodash-es/_arrayPush.js","webpack:///../../../node_modules/lodash-es/_getSymbolsIn.js","webpack:///../../../node_modules/lodash-es/_baseGetAllKeys.js","webpack:///../../../node_modules/lodash-es/_getAllKeys.js","webpack:///../../../node_modules/lodash-es/_getAllKeysIn.js","webpack:///../../../node_modules/lodash-es/_DataView.js","webpack:///../../../node_modules/lodash-es/_Promise.js","webpack:///../../../node_modules/lodash-es/_Set.js","webpack:///../../../node_modules/lodash-es/_WeakMap.js","webpack:///../../../node_modules/lodash-es/_getTag.js","webpack:///../../../node_modules/lodash-es/_initCloneArray.js","webpack:///../../../node_modules/lodash-es/_Uint8Array.js","webpack:///../../../node_modules/lodash-es/_cloneArrayBuffer.js","webpack:///../../../node_modules/lodash-es/_cloneDataView.js","webpack:///../../../node_modules/lodash-es/_cloneRegExp.js","webpack:///../../../node_modules/lodash-es/_cloneSymbol.js","webpack:///../../../node_modules/lodash-es/_cloneTypedArray.js","webpack:///../../../node_modules/lodash-es/_initCloneByTag.js","webpack:///../../../node_modules/lodash-es/_baseCreate.js","webpack:///../../../node_modules/lodash-es/isMap.js","webpack:///../../../node_modules/lodash-es/_baseIsMap.js","webpack:///../../../node_modules/lodash-es/isSet.js","webpack:///../../../node_modules/lodash-es/_baseIsSet.js","webpack:///../../../node_modules/lodash-es/_baseClone.js","webpack:///../../../node_modules/lodash-es/_initCloneObject.js","webpack:///../../../node_modules/lodash-es/_baseAssignIn.js","webpack:///../../../node_modules/lodash-es/_copySymbolsIn.js","webpack:///../../../node_modules/lodash-es/_baseAssign.js","webpack:///../../../node_modules/lodash-es/_copySymbols.js","webpack:///../../../node_modules/lodash-es/clone.js","webpack:///../../../node_modules/lodash-es/_arrayMap.js","webpack:///../../../node_modules/lodash-es/isSymbol.js","webpack:///../../../node_modules/lodash-es/memoize.js","webpack:///../../../node_modules/lodash-es/_stringToPath.js","webpack:///../../../node_modules/lodash-es/_toKey.js","webpack:///../../../node_modules/lodash-es/_baseToString.js","webpack:///../../../node_modules/lodash-es/toPath.js","webpack:///../../../node_modules/lodash-es/toString.js","webpack:///../../../node_modules/formik/dist/formik.esm.js","webpack:///../../../node_modules/lodash-es/cloneDeep.js","webpack:///../../../node_modules/function-bind/implementation.js","webpack:///../../../node_modules/function-bind/index.js","webpack:///../../../node_modules/fuse.js/dist/fuse.esm.js","webpack:///../../../node_modules/get-intrinsic/index.js","webpack:///../../../node_modules/get-nonce/dist/es2015/index.js","webpack:///../../../node_modules/gopd/index.js","webpack:///../../../node_modules/has-property-descriptors/index.js","webpack:///../../../node_modules/has-proto/index.js","webpack:///../../../node_modules/has-symbols/index.js","webpack:///../../../node_modules/has-symbols/shams.js","webpack:///../../../node_modules/hash-base/index.js","webpack:///../../../node_modules/hash.js/lib/hash.js","webpack:///../../../node_modules/hash.js/lib/hash/common.js","webpack:///../../../node_modules/hash.js/lib/hash/hmac.js","webpack:///../../../node_modules/hash.js/lib/hash/ripemd.js","webpack:///../../../node_modules/hash.js/lib/hash/sha.js","webpack:///../../../node_modules/hash.js/lib/hash/sha/1.js","webpack:///../../../node_modules/hash.js/lib/hash/sha/224.js","webpack:///../../../node_modules/hash.js/lib/hash/sha/256.js","webpack:///../../../node_modules/hash.js/lib/hash/sha/384.js","webpack:///../../../node_modules/hash.js/lib/hash/sha/512.js","webpack:///../../../node_modules/hash.js/lib/hash/sha/common.js","webpack:///../../../node_modules/hash.js/lib/hash/utils.js","webpack:///../../../node_modules/hasown/index.js","webpack:///../../../node_modules/history/lib/Actions.js","webpack:///../../../node_modules/history/lib/AsyncUtils.js","webpack:///../../../node_modules/history/lib/BrowserProtocol.js","webpack:///../../../node_modules/history/lib/DOMStateStorage.js","webpack:///../../../node_modules/history/lib/DOMUtils.js","webpack:///../../../node_modules/history/lib/ExecutionEnvironment.js","webpack:///../../../node_modules/history/lib/HashProtocol.js","webpack:///../../../node_modules/history/lib/LocationUtils.js","webpack:///../../../node_modules/history/lib/PathUtils.js","webpack:///../../../node_modules/history/lib/RefreshProtocol.js","webpack:///../../../node_modules/history/lib/createBrowserHistory.js","webpack:///../../../node_modules/history/lib/createHashHistory.js","webpack:///../../../node_modules/history/lib/createHistory.js","webpack:///../../../node_modules/history/lib/createMemoryHistory.js","webpack:///../../../node_modules/history/lib/index.js","webpack:///../../../node_modules/history/lib/runTransitionHook.js","webpack:///../../../node_modules/history/lib/useBasename.js","webpack:///../../../node_modules/history/lib/useBeforeUnload.js","webpack:///../../../node_modules/history/lib/useQueries.js","webpack:///../../../node_modules/hmac-drbg/lib/hmac-drbg.js","webpack:///../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///../../../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","webpack:///../../../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","webpack:///../../../node_modules/html2canvas/dist/html2canvas.js","webpack:///../../../node_modules/humanize-plus/dist/humanize.js","webpack:///../../../node_modules/icepick/icepick.min.js","webpack:///../../../node_modules/ieee754/index.js","webpack:///../../../node_modules/iframe-resizer/js/iframeResizer.contentWindow.js","webpack:///../../../node_modules/inflection/lib/inflection.js","webpack:///../../../node_modules/inherits/inherits_browser.js","webpack:///../../../node_modules/inline-style-parser/index.js","webpack:///../../../node_modules/invariant/browser.js","webpack:///../../../node_modules/is-buffer/index.js","webpack:///../../../node_modules/is-generator-function/index.js","webpack:///../../../node_modules/is-nan/implementation.js","webpack:///../../../node_modules/is-nan/index.js","webpack:///../../../node_modules/is-nan/node_modules/define-properties/index.js","webpack:///../../../node_modules/is-nan/polyfill.js","webpack:///../../../node_modules/is-nan/shim.js","webpack:///../../../node_modules/is-promise/index.js","webpack:///../../../node_modules/js-cookie/src/js.cookie.js","webpack:///../../../node_modules/jsrsasign/lib/jsrsasign.js","webpack:///../../../node_modules/kbar/lib/InternalEvents.js","webpack:///../../../node_modules/kbar/lib/KBarAnimator.js","webpack:///../../../node_modules/kbar/lib/KBarContextProvider.js","webpack:///../../../node_modules/kbar/lib/KBarPortal.js","webpack:///../../../node_modules/kbar/lib/KBarPositioner.js","webpack:///../../../node_modules/kbar/lib/KBarResults.js","webpack:///../../../node_modules/kbar/lib/KBarSearch.js","webpack:///../../../node_modules/kbar/lib/action/ActionImpl.js","webpack:///../../../node_modules/kbar/lib/action/ActionInterface.js","webpack:///../../../node_modules/kbar/lib/action/Command.js","webpack:///../../../node_modules/kbar/lib/action/HistoryImpl.js","webpack:///../../../node_modules/kbar/lib/action/index.js","webpack:///../../../node_modules/kbar/lib/index.js","webpack:///../../../node_modules/kbar/lib/tinykeys.js","webpack:///../../../node_modules/kbar/lib/types.js","webpack:///../../../node_modules/kbar/lib/useKBar.js","webpack:///../../../node_modules/kbar/lib/useMatches.js","webpack:///../../../node_modules/kbar/lib/useRegisterActions.js","webpack:///../../../node_modules/kbar/lib/useStore.js","webpack:///../../../node_modules/kbar/lib/utils.js","webpack:///../../../node_modules/kbar/node_modules/tiny-invariant/dist/tiny-invariant.cjs.js","webpack:///../../../node_modules/leaflet-draw/dist/leaflet.draw.js","webpack:///../../../node_modules/leaflet.heat/dist/leaflet-heat.js","webpack:///../../../node_modules/leaflet/dist/leaflet-src.js","webpack:///../../../node_modules/lodash.debounce/index.js","webpack:///../../../node_modules/lodash.isequal/index.js","webpack:///../../../node_modules/lodash.isplainobject/index.js","webpack:///../../../node_modules/lodash.isstring/index.js","webpack:///../../../node_modules/lodash.orderby/index.js","webpack:///../../../node_modules/lodash/_DataView.js","webpack:///../../../node_modules/lodash/_Hash.js","webpack:///../../../node_modules/lodash/_ListCache.js","webpack:///../../../node_modules/lodash/_Map.js","webpack:///../../../node_modules/lodash/_MapCache.js","webpack:///../../../node_modules/lodash/_Promise.js","webpack:///../../../node_modules/lodash/_Set.js","webpack:///../../../node_modules/lodash/_SetCache.js","webpack:///../../../node_modules/lodash/_Stack.js","webpack:///../../../node_modules/lodash/_Symbol.js","webpack:///../../../node_modules/lodash/_Uint8Array.js","webpack:///../../../node_modules/lodash/_WeakMap.js","webpack:///../../../node_modules/lodash/_apply.js","webpack:///../../../node_modules/lodash/_arrayFilter.js","webpack:///../../../node_modules/lodash/_arrayIncludes.js","webpack:///../../../node_modules/lodash/_arrayIncludesWith.js","webpack:///../../../node_modules/lodash/_arrayLikeKeys.js","webpack:///../../../node_modules/lodash/_arrayMap.js","webpack:///../../../node_modules/lodash/_arrayPush.js","webpack:///../../../node_modules/lodash/_arrayReduce.js","webpack:///../../../node_modules/lodash/_arraySome.js","webpack:///../../../node_modules/lodash/_asciiToArray.js","webpack:///../../../node_modules/lodash/_asciiWords.js","webpack:///../../../node_modules/lodash/_assocIndexOf.js","webpack:///../../../node_modules/lodash/_baseAssignValue.js","webpack:///../../../node_modules/lodash/_baseDifference.js","webpack:///../../../node_modules/lodash/_baseFindIndex.js","webpack:///../../../node_modules/lodash/_baseFlatten.js","webpack:///../../../node_modules/lodash/_baseFor.js","webpack:///../../../node_modules/lodash/_baseForOwn.js","webpack:///../../../node_modules/lodash/_baseGet.js","webpack:///../../../node_modules/lodash/_baseGetAllKeys.js","webpack:///../../../node_modules/lodash/_baseGetTag.js","webpack:///../../../node_modules/lodash/_baseHas.js","webpack:///../../../node_modules/lodash/_baseHasIn.js","webpack:///../../../node_modules/lodash/_baseIndexOf.js","webpack:///../../../node_modules/lodash/_baseIntersection.js","webpack:///../../../node_modules/lodash/_baseIsArguments.js","webpack:///../../../node_modules/lodash/_baseIsEqual.js","webpack:///../../../node_modules/lodash/_baseIsEqualDeep.js","webpack:///../../../node_modules/lodash/_baseIsMatch.js","webpack:///../../../node_modules/lodash/_baseIsNaN.js","webpack:///../../../node_modules/lodash/_baseIsNative.js","webpack:///../../../node_modules/lodash/_baseIsTypedArray.js","webpack:///../../../node_modules/lodash/_baseIteratee.js","webpack:///../../../node_modules/lodash/_baseKeys.js","webpack:///../../../node_modules/lodash/_baseKeysIn.js","webpack:///../../../node_modules/lodash/_baseMatches.js","webpack:///../../../node_modules/lodash/_baseMatchesProperty.js","webpack:///../../../node_modules/lodash/_baseProperty.js","webpack:///../../../node_modules/lodash/_basePropertyDeep.js","webpack:///../../../node_modules/lodash/_basePropertyOf.js","webpack:///../../../node_modules/lodash/_baseRest.js","webpack:///../../../node_modules/lodash/_baseSetToString.js","webpack:///../../../node_modules/lodash/_baseSlice.js","webpack:///../../../node_modules/lodash/_baseTimes.js","webpack:///../../../node_modules/lodash/_baseToString.js","webpack:///../../../node_modules/lodash/_baseUnary.js","webpack:///../../../node_modules/lodash/_baseUniq.js","webpack:///../../../node_modules/lodash/_baseXor.js","webpack:///../../../node_modules/lodash/_cacheHas.js","webpack:///../../../node_modules/lodash/_castArrayLikeObject.js","webpack:///../../../node_modules/lodash/_castPath.js","webpack:///../../../node_modules/lodash/_castSlice.js","webpack:///../../../node_modules/lodash/_coreJsData.js","webpack:///../../../node_modules/lodash/_createBaseFor.js","webpack:///../../../node_modules/lodash/_createCaseFirst.js","webpack:///../../../node_modules/lodash/_createCompounder.js","webpack:///../../../node_modules/lodash/_createSet.js","webpack:///../../../node_modules/lodash/_deburrLetter.js","webpack:///../../../node_modules/lodash/_defineProperty.js","webpack:///../../../node_modules/lodash/_equalArrays.js","webpack:///../../../node_modules/lodash/_equalByTag.js","webpack:///../../../node_modules/lodash/_equalObjects.js","webpack:///../../../node_modules/lodash/_freeGlobal.js","webpack:///../../../node_modules/lodash/_getAllKeys.js","webpack:///../../../node_modules/lodash/_getMapData.js","webpack:///../../../node_modules/lodash/_getMatchData.js","webpack:///../../../node_modules/lodash/_getNative.js","webpack:///../../../node_modules/lodash/_getPrototype.js","webpack:///../../../node_modules/lodash/_getRawTag.js","webpack:///../../../node_modules/lodash/_getSymbols.js","webpack:///../../../node_modules/lodash/_getTag.js","webpack:///../../../node_modules/lodash/_getValue.js","webpack:///../../../node_modules/lodash/_hasPath.js","webpack:///../../../node_modules/lodash/_hasUnicode.js","webpack:///../../../node_modules/lodash/_hasUnicodeWord.js","webpack:///../../../node_modules/lodash/_hashClear.js","webpack:///../../../node_modules/lodash/_hashDelete.js","webpack:///../../../node_modules/lodash/_hashGet.js","webpack:///../../../node_modules/lodash/_hashHas.js","webpack:///../../../node_modules/lodash/_hashSet.js","webpack:///../../../node_modules/lodash/_isFlattenable.js","webpack:///../../../node_modules/lodash/_isIndex.js","webpack:///../../../node_modules/lodash/_isIterateeCall.js","webpack:///../../../node_modules/lodash/_isKey.js","webpack:///../../../node_modules/lodash/_isKeyable.js","webpack:///../../../node_modules/lodash/_isMasked.js","webpack:///../../../node_modules/lodash/_isPrototype.js","webpack:///../../../node_modules/lodash/_isStrictComparable.js","webpack:///../../../node_modules/lodash/_listCacheClear.js","webpack:///../../../node_modules/lodash/_listCacheDelete.js","webpack:///../../../node_modules/lodash/_listCacheGet.js","webpack:///../../../node_modules/lodash/_listCacheHas.js","webpack:///../../../node_modules/lodash/_listCacheSet.js","webpack:///../../../node_modules/lodash/_mapCacheClear.js","webpack:///../../../node_modules/lodash/_mapCacheDelete.js","webpack:///../../../node_modules/lodash/_mapCacheGet.js","webpack:///../../../node_modules/lodash/_mapCacheHas.js","webpack:///../../../node_modules/lodash/_mapCacheSet.js","webpack:///../../../node_modules/lodash/_mapToArray.js","webpack:///../../../node_modules/lodash/_matchesStrictComparable.js","webpack:///../../../node_modules/lodash/_memoizeCapped.js","webpack:///../../../node_modules/lodash/_nativeCreate.js","webpack:///../../../node_modules/lodash/_nativeKeys.js","webpack:///../../../node_modules/lodash/_nativeKeysIn.js","webpack:///../../../node_modules/lodash/_nodeUtil.js","webpack:///../../../node_modules/lodash/_objectToString.js","webpack:///../../../node_modules/lodash/_overArg.js","webpack:///../../../node_modules/lodash/_overRest.js","webpack:///../../../node_modules/lodash/_root.js","webpack:///../../../node_modules/lodash/_setCacheAdd.js","webpack:///../../../node_modules/lodash/_setCacheHas.js","webpack:///../../../node_modules/lodash/_setToArray.js","webpack:///../../../node_modules/lodash/_setToString.js","webpack:///../../../node_modules/lodash/_shortOut.js","webpack:///../../../node_modules/lodash/_stackClear.js","webpack:///../../../node_modules/lodash/_stackDelete.js","webpack:///../../../node_modules/lodash/_stackGet.js","webpack:///../../../node_modules/lodash/_stackHas.js","webpack:///../../../node_modules/lodash/_stackSet.js","webpack:///../../../node_modules/lodash/_strictIndexOf.js","webpack:///../../../node_modules/lodash/_stringToArray.js","webpack:///../../../node_modules/lodash/_stringToPath.js","webpack:///../../../node_modules/lodash/_toKey.js","webpack:///../../../node_modules/lodash/_toSource.js","webpack:///../../../node_modules/lodash/_unicodeToArray.js","webpack:///../../../node_modules/lodash/_unicodeWords.js","webpack:///../../../node_modules/lodash/camelCase.js","webpack:///../../../node_modules/lodash/capitalize.js","webpack:///../../../node_modules/lodash/constant.js","webpack:///../../../node_modules/lodash/deburr.js","webpack:///../../../node_modules/lodash/defaults.js","webpack:///../../../node_modules/lodash/eq.js","webpack:///../../../node_modules/lodash/get.js","webpack:///../../../node_modules/lodash/has.js","webpack:///../../../node_modules/lodash/hasIn.js","webpack:///../../../node_modules/lodash/identity.js","webpack:///../../../node_modules/lodash/intersection.js","webpack:///../../../node_modules/lodash/isArguments.js","webpack:///../../../node_modules/lodash/isArray.js","webpack:///../../../node_modules/lodash/isArrayLike.js","webpack:///../../../node_modules/lodash/isArrayLikeObject.js","webpack:///../../../node_modules/lodash/isBuffer.js","webpack:///../../../node_modules/lodash/isFunction.js","webpack:///../../../node_modules/lodash/isLength.js","webpack:///../../../node_modules/lodash/isObject.js","webpack:///../../../node_modules/lodash/isObjectLike.js","webpack:///../../../node_modules/lodash/isPlainObject.js","webpack:///../../../node_modules/lodash/isSymbol.js","webpack:///../../../node_modules/lodash/isTypedArray.js","webpack:///../../../node_modules/lodash/keys.js","webpack:///../../../node_modules/lodash/keysIn.js","webpack:///../../../node_modules/lodash/mapKeys.js","webpack:///../../../node_modules/lodash/mapValues.js","webpack:///../../../node_modules/lodash/memoize.js","webpack:///../../../node_modules/lodash/noop.js","webpack:///../../../node_modules/lodash/property.js","webpack:///../../../node_modules/lodash/snakeCase.js","webpack:///../../../node_modules/lodash/stubArray.js","webpack:///../../../node_modules/lodash/stubFalse.js","webpack:///../../../node_modules/lodash/toString.js","webpack:///../../../node_modules/lodash/union.js","webpack:///../../../node_modules/lodash/upperFirst.js","webpack:///../../../node_modules/lodash/without.js","webpack:///../../../node_modules/lodash/words.js","webpack:///../../../node_modules/lodash/xor.js","webpack:///../../../node_modules/markdown-table/index.js","webpack:///../../../node_modules/math-expression-evaluator/src/formula_evaluator.js","webpack:///../../../node_modules/math-expression-evaluator/src/lexer.js","webpack:///../../../node_modules/math-expression-evaluator/src/math_function.js","webpack:///../../../node_modules/math-expression-evaluator/src/postfix.js","webpack:///../../../node_modules/math-expression-evaluator/src/postfix_evaluator.js","webpack:///../../../node_modules/md5.js/index.js","webpack:///../../../node_modules/mdast-util-find-and-replace/index.js","webpack:///../../../node_modules/mdast-util-find-and-replace/node_modules/unist-util-visit-parents/color.browser.js","webpack:///../../../node_modules/mdast-util-find-and-replace/node_modules/unist-util-visit-parents/index.js","webpack:///../../../node_modules/mdast-util-gfm-autolink-literal/from-markdown.js","webpack:///../../../node_modules/mdast-util-gfm-autolink-literal/node_modules/ccount/index.js","webpack:///../../../node_modules/mdast-util-gfm-autolink-literal/to-markdown.js","webpack:///../../../node_modules/mdast-util-gfm-strikethrough/from-markdown.js","webpack:///../../../node_modules/mdast-util-gfm-strikethrough/to-markdown.js","webpack:///../../../node_modules/mdast-util-gfm-table/from-markdown.js","webpack:///../../../node_modules/mdast-util-gfm-table/to-markdown.js","webpack:///../../../node_modules/mdast-util-gfm-task-list-item/from-markdown.js","webpack:///../../../node_modules/mdast-util-gfm-task-list-item/to-markdown.js","webpack:///../../../node_modules/mdast-util-gfm/from-markdown.js","webpack:///../../../node_modules/mdast-util-gfm/to-markdown.js","webpack:///../../../node_modules/mdast-util-to-markdown/lib/configure.js","webpack:///../../../node_modules/mdast-util-to-markdown/lib/handle/inline-code.js","webpack:///../../../node_modules/mdast-util-to-markdown/lib/handle/list-item.js","webpack:///../../../node_modules/mdast-util-to-markdown/lib/util/check-bullet.js","webpack:///../../../node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js","webpack:///../../../node_modules/mdast-util-to-markdown/lib/util/container-flow.js","webpack:///../../../node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js","webpack:///../../../node_modules/mdast-util-to-markdown/lib/util/indent-lines.js","webpack:///../../../node_modules/mdast-util-to-markdown/lib/util/pattern-compile.js","webpack:///../../../node_modules/micromark-extension-gfm-autolink-literal/index.js","webpack:///../../../node_modules/micromark-extension-gfm-autolink-literal/syntax.js","webpack:///../../../node_modules/micromark-extension-gfm-strikethrough/index.js","webpack:///../../../node_modules/micromark-extension-gfm-table/index.js","webpack:///../../../node_modules/micromark-extension-gfm-table/syntax.js","webpack:///../../../node_modules/micromark-extension-gfm-task-list-item/index.js","webpack:///../../../node_modules/micromark-extension-gfm-task-list-item/syntax.js","webpack:///../../../node_modules/micromark-extension-gfm/index.js","webpack:///../../../node_modules/micromark-extension-gfm/syntax.js","webpack:///../../../node_modules/micromark/dist/character/ascii-alpha.js","webpack:///../../../node_modules/micromark/dist/character/ascii-alphanumeric.js","webpack:///../../../node_modules/micromark/dist/character/ascii-control.js","webpack:///../../../node_modules/micromark/dist/character/markdown-line-ending-or-space.js","webpack:///../../../node_modules/micromark/dist/character/markdown-line-ending.js","webpack:///../../../node_modules/micromark/dist/character/markdown-space.js","webpack:///../../../node_modules/micromark/dist/character/unicode-punctuation.js","webpack:///../../../node_modules/micromark/dist/character/unicode-whitespace.js","webpack:///../../../node_modules/micromark/dist/constant/assign.js","webpack:///../../../node_modules/micromark/dist/constant/from-char-code.js","webpack:///../../../node_modules/micromark/dist/constant/has-own-property.js","webpack:///../../../node_modules/micromark/dist/constant/splice.js","webpack:///../../../node_modules/micromark/dist/constant/unicode-punctuation-regex.js","webpack:///../../../node_modules/micromark/dist/tokenize/factory-space.js","webpack:///../../../node_modules/micromark/dist/util/chunked-splice.js","webpack:///../../../node_modules/micromark/dist/util/classify-character.js","webpack:///../../../node_modules/micromark/dist/util/combine-extensions.js","webpack:///../../../node_modules/micromark/dist/util/miniflat.js","webpack:///../../../node_modules/micromark/dist/util/prefix-size.js","webpack:///../../../node_modules/micromark/dist/util/regex-check.js","webpack:///../../../node_modules/micromark/dist/util/resolve-all.js","webpack:///../../../node_modules/micromark/dist/util/shallow.js","webpack:///../../../node_modules/micromark/dist/util/size-chunks.js","webpack:///../../../node_modules/miller-rabin/lib/mr.js","webpack:///../../../node_modules/minimalistic-assert/index.js","webpack:///../../../node_modules/minimalistic-crypto-utils/lib/utils.js","webpack:///../../../node_modules/moment-timezone/index.js","webpack:///../../../node_modules/moment-timezone/moment-timezone.js","webpack:///../../../node_modules/moment/locale/af.js","webpack:///../../../node_modules/moment/locale/ar-dz.js","webpack:///../../../node_modules/moment/locale/ar-kw.js","webpack:///../../../node_modules/moment/locale/ar-ly.js","webpack:///../../../node_modules/moment/locale/ar-ma.js","webpack:///../../../node_modules/moment/locale/ar-sa.js","webpack:///../../../node_modules/moment/locale/ar-tn.js","webpack:///../../../node_modules/moment/locale/ar.js","webpack:///../../../node_modules/moment/locale/az.js","webpack:///../../../node_modules/moment/locale/be.js","webpack:///../../../node_modules/moment/locale/bg.js","webpack:///../../../node_modules/moment/locale/bm.js","webpack:///../../../node_modules/moment/locale/bn-bd.js","webpack:///../../../node_modules/moment/locale/bn.js","webpack:///../../../node_modules/moment/locale/bo.js","webpack:///../../../node_modules/moment/locale/br.js","webpack:///../../../node_modules/moment/locale/bs.js","webpack:///../../../node_modules/moment/locale/ca.js","webpack:///../../../node_modules/moment/locale/cs.js","webpack:///../../../node_modules/moment/locale/cv.js","webpack:///../../../node_modules/moment/locale/cy.js","webpack:///../../../node_modules/moment/locale/da.js","webpack:///../../../node_modules/moment/locale/de-at.js","webpack:///../../../node_modules/moment/locale/de-ch.js","webpack:///../../../node_modules/moment/locale/de.js","webpack:///../../../node_modules/moment/locale/dv.js","webpack:///../../../node_modules/moment/locale/el.js","webpack:///../../../node_modules/moment/locale/en-au.js","webpack:///../../../node_modules/moment/locale/en-ca.js","webpack:///../../../node_modules/moment/locale/en-gb.js","webpack:///../../../node_modules/moment/locale/en-ie.js","webpack:///../../../node_modules/moment/locale/en-il.js","webpack:///../../../node_modules/moment/locale/en-in.js","webpack:///../../../node_modules/moment/locale/en-nz.js","webpack:///../../../node_modules/moment/locale/en-sg.js","webpack:///../../../node_modules/moment/locale/eo.js","webpack:///../../../node_modules/moment/locale/es-do.js","webpack:///../../../node_modules/moment/locale/es-mx.js","webpack:///../../../node_modules/moment/locale/es-us.js","webpack:///../../../node_modules/moment/locale/es.js","webpack:///../../../node_modules/moment/locale/et.js","webpack:///../../../node_modules/moment/locale/eu.js","webpack:///../../../node_modules/moment/locale/fa.js","webpack:///../../../node_modules/moment/locale/fi.js","webpack:///../../../node_modules/moment/locale/fil.js","webpack:///../../../node_modules/moment/locale/fo.js","webpack:///../../../node_modules/moment/locale/fr-ca.js","webpack:///../../../node_modules/moment/locale/fr-ch.js","webpack:///../../../node_modules/moment/locale/fr.js","webpack:///../../../node_modules/moment/locale/fy.js","webpack:///../../../node_modules/moment/locale/ga.js","webpack:///../../../node_modules/moment/locale/gd.js","webpack:///../../../node_modules/moment/locale/gl.js","webpack:///../../../node_modules/moment/locale/gom-deva.js","webpack:///../../../node_modules/moment/locale/gom-latn.js","webpack:///../../../node_modules/moment/locale/gu.js","webpack:///../../../node_modules/moment/locale/he.js","webpack:///../../../node_modules/moment/locale/hi.js","webpack:///../../../node_modules/moment/locale/hr.js","webpack:///../../../node_modules/moment/locale/hu.js","webpack:///../../../node_modules/moment/locale/hy-am.js","webpack:///../../../node_modules/moment/locale/id.js","webpack:///../../../node_modules/moment/locale/is.js","webpack:///../../../node_modules/moment/locale/it-ch.js","webpack:///../../../node_modules/moment/locale/it.js","webpack:///../../../node_modules/moment/locale/ja.js","webpack:///../../../node_modules/moment/locale/jv.js","webpack:///../../../node_modules/moment/locale/ka.js","webpack:///../../../node_modules/moment/locale/kk.js","webpack:///../../../node_modules/moment/locale/km.js","webpack:///../../../node_modules/moment/locale/kn.js","webpack:///../../../node_modules/moment/locale/ko.js","webpack:///../../../node_modules/moment/locale/ku.js","webpack:///../../../node_modules/moment/locale/ky.js","webpack:///../../../node_modules/moment/locale/lb.js","webpack:///../../../node_modules/moment/locale/lo.js","webpack:///../../../node_modules/moment/locale/lt.js","webpack:///../../../node_modules/moment/locale/lv.js","webpack:///../../../node_modules/moment/locale/me.js","webpack:///../../../node_modules/moment/locale/mi.js","webpack:///../../../node_modules/moment/locale/mk.js","webpack:///../../../node_modules/moment/locale/ml.js","webpack:///../../../node_modules/moment/locale/mn.js","webpack:///../../../node_modules/moment/locale/mr.js","webpack:///../../../node_modules/moment/locale/ms-my.js","webpack:///../../../node_modules/moment/locale/ms.js","webpack:///../../../node_modules/moment/locale/mt.js","webpack:///../../../node_modules/moment/locale/my.js","webpack:///../../../node_modules/moment/locale/nb.js","webpack:///../../../node_modules/moment/locale/ne.js","webpack:///../../../node_modules/moment/locale/nl-be.js","webpack:///../../../node_modules/moment/locale/nl.js","webpack:///../../../node_modules/moment/locale/nn.js","webpack:///../../../node_modules/moment/locale/oc-lnc.js","webpack:///../../../node_modules/moment/locale/pa-in.js","webpack:///../../../node_modules/moment/locale/pl.js","webpack:///../../../node_modules/moment/locale/pt-br.js","webpack:///../../../node_modules/moment/locale/pt.js","webpack:///../../../node_modules/moment/locale/ro.js","webpack:///../../../node_modules/moment/locale/ru.js","webpack:///../../../node_modules/moment/locale/sd.js","webpack:///../../../node_modules/moment/locale/se.js","webpack:///../../../node_modules/moment/locale/si.js","webpack:///../../../node_modules/moment/locale/sk.js","webpack:///../../../node_modules/moment/locale/sl.js","webpack:///../../../node_modules/moment/locale/sq.js","webpack:///../../../node_modules/moment/locale/sr-cyrl.js","webpack:///../../../node_modules/moment/locale/sr.js","webpack:///../../../node_modules/moment/locale/ss.js","webpack:///../../../node_modules/moment/locale/sv.js","webpack:///../../../node_modules/moment/locale/sw.js","webpack:///../../../node_modules/moment/locale/ta.js","webpack:///../../../node_modules/moment/locale/te.js","webpack:///../../../node_modules/moment/locale/tet.js","webpack:///../../../node_modules/moment/locale/tg.js","webpack:///../../../node_modules/moment/locale/th.js","webpack:///../../../node_modules/moment/locale/tk.js","webpack:///../../../node_modules/moment/locale/tl-ph.js","webpack:///../../../node_modules/moment/locale/tlh.js","webpack:///../../../node_modules/moment/locale/tr.js","webpack:///../../../node_modules/moment/locale/tzl.js","webpack:///../../../node_modules/moment/locale/tzm-latn.js","webpack:///../../../node_modules/moment/locale/tzm.js","webpack:///../../../node_modules/moment/locale/ug-cn.js","webpack:///../../../node_modules/moment/locale/uk.js","webpack:///../../../node_modules/moment/locale/ur.js","webpack:///../../../node_modules/moment/locale/uz-latn.js","webpack:///../../../node_modules/moment/locale/uz.js","webpack:///../../../node_modules/moment/locale/vi.js","webpack:///../../../node_modules/moment/locale/x-pseudo.js","webpack:///../../../node_modules/moment/locale/yo.js","webpack:///../../../node_modules/moment/locale/zh-cn.js","webpack:///../../../node_modules/moment/locale/zh-hk.js","webpack:///../../../node_modules/moment/locale/zh-mo.js","webpack:///../../../node_modules/moment/locale/zh-tw.js","webpack:///../../../node_modules/moment/moment.js","webpack:///../../../node_modules/mustache/mustache.js","webpack:///../../../node_modules/nearley/lib/nearley.js","webpack:///../../../node_modules/normalizr/dist/normalizr.es.js","webpack:///../../../node_modules/object-assign/index.js","webpack:///../../../node_modules/object-is/implementation.js","webpack:///../../../node_modules/object-is/index.js","webpack:///../../../node_modules/object-is/node_modules/call-bind/index.js","webpack:///../../../node_modules/object-is/node_modules/define-properties/index.js","webpack:///../../../node_modules/object-is/polyfill.js","webpack:///../../../node_modules/object-is/shim.js","webpack:///../../../node_modules/object-keys/implementation.js","webpack:///../../../node_modules/object-keys/index.js","webpack:///../../../node_modules/object-keys/isArguments.js","webpack:///../../../node_modules/object.assign/implementation.js","webpack:///../../../node_modules/object.assign/node_modules/call-bind/callBound.js","webpack:///../../../node_modules/object.assign/node_modules/call-bind/index.js","webpack:///../../../node_modules/object.assign/polyfill.js","webpack:///../../../node_modules/parse-asn1/asn1.js","webpack:///../../../node_modules/parse-asn1/certificate.js","webpack:///../../../node_modules/parse-asn1/fixProc.js","webpack:///../../../node_modules/parse-asn1/index.js","webpack:///../../../node_modules/password-generator/index.js","webpack:///../../../node_modules/password-generator/lib/password-generator.js","webpack:///../../../node_modules/pbkdf2/browser.js","webpack:///../../../node_modules/pbkdf2/lib/async.js","webpack:///../../../node_modules/pbkdf2/lib/default-encoding.js","webpack:///../../../node_modules/pbkdf2/lib/precondition.js","webpack:///../../../node_modules/pbkdf2/lib/sync-browser.js","webpack:///../../../node_modules/pbkdf2/lib/to-buffer.js","webpack:///../../../node_modules/process/browser.js","webpack:///../../../node_modules/prop-types/factoryWithThrowingShims.js","webpack:///../../../node_modules/prop-types/index.js","webpack:///../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///../../../node_modules/property-expr/index.js","webpack:///../../../node_modules/public-encrypt/browser.js","webpack:///../../../node_modules/public-encrypt/mgf.js","webpack:///../../../node_modules/public-encrypt/privateDecrypt.js","webpack:///../../../node_modules/public-encrypt/publicEncrypt.js","webpack:///../../../node_modules/public-encrypt/withPublic.js","webpack:///../../../node_modules/public-encrypt/xor.js","webpack:///../../../node_modules/query-string/index.js","webpack:///../../../node_modules/querystring/decode.js","webpack:///../../../node_modules/querystring/encode.js","webpack:///../../../node_modules/querystring/index.js","webpack:///../../../node_modules/randombytes/browser.js","webpack:///../../../node_modules/randomfill/browser.js","webpack:///../../../node_modules/re-reselect/dist/index.js","webpack:///../../../node_modules/react-ace/lib/ace.js","webpack:///../../../node_modules/react-ace/lib/diff.js","webpack:///../../../node_modules/react-ace/lib/editorOptions.js","webpack:///../../../node_modules/react-ace/lib/index.js","webpack:///../../../node_modules/react-ace/lib/split.js","webpack:///../../../node_modules/react-ace/node_modules/lodash.get/index.js","webpack:///../../../node_modules/react-ansi-style/default-css-prefix.js","webpack:///../../../node_modules/react-ansi-style/index.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/connect/connect.js","webpack:///../../../node_modules/react-beautiful-dnd/dist/react-beautiful-dnd.esm.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/redux/es/redux.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/components/Context.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/utils/batch.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/utils/Subscription.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/components/Provider.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/components/connectAdvanced.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/utils/shallowEqual.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/connect/wrapMapToProps.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/utils/bindActionCreators.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/connect/mapStateToProps.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/connect/mergeProps.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/connect/selectorFactory.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/hooks/useSelector.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-redux/es/index.js","webpack:///../../../node_modules/use-memo-one/dist/use-memo-one.esm.js","webpack:///../../../node_modules/css-box-model/node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///../../../node_modules/css-box-model/dist/css-box-model.esm.js","webpack:///../../../node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///../../../node_modules/raf-schd/dist/raf-schd.esm.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-is/cjs/react-is.production.min.js","webpack:///../../../node_modules/react-beautiful-dnd/node_modules/react-is/index.js","webpack:///../../../node_modules/react-copy-to-clipboard/lib/Component.js","webpack:///../../../node_modules/react-copy-to-clipboard/lib/index.js","webpack:///../../../node_modules/react-dnd-html5-backend/lib/BrowserDetector.js","webpack:///../../../node_modules/react-dnd-html5-backend/lib/EnterLeaveCounter.js","webpack:///../../../node_modules/react-dnd-html5-backend/lib/HTML5Backend.js","webpack:///../../../node_modules/react-dnd-html5-backend/lib/MonotonicInterpolant.js","webpack:///../../../node_modules/react-dnd-html5-backend/lib/NativeDragSources.js","webpack:///../../../node_modules/react-dnd-html5-backend/lib/NativeTypes.js","webpack:///../../../node_modules/react-dnd-html5-backend/lib/OffsetUtils.js","webpack:///../../../node_modules/react-dnd-html5-backend/lib/getEmptyImage.js","webpack:///../../../node_modules/react-dnd-html5-backend/lib/index.js","webpack:///../../../node_modules/react-dnd/lib/DragDropContext.js","webpack:///../../../node_modules/react-dnd/lib/DragLayer.js","webpack:///../../../node_modules/react-dnd/lib/DragSource.js","webpack:///../../../node_modules/react-dnd/lib/DropTarget.js","webpack:///../../../node_modules/react-dnd/lib/createSourceConnector.js","webpack:///../../../node_modules/react-dnd/lib/createSourceFactory.js","webpack:///../../../node_modules/react-dnd/lib/createSourceMonitor.js","webpack:///../../../node_modules/react-dnd/lib/createTargetConnector.js","webpack:///../../../node_modules/react-dnd/lib/createTargetFactory.js","webpack:///../../../node_modules/react-dnd/lib/createTargetMonitor.js","webpack:///../../../node_modules/react-dnd/lib/decorateHandler.js","webpack:///../../../node_modules/react-dnd/lib/index.js","webpack:///../../../node_modules/react-dnd/lib/registerSource.js","webpack:///../../../node_modules/react-dnd/lib/registerTarget.js","webpack:///../../../node_modules/react-dnd/lib/utils/checkDecoratorArguments.js","webpack:///../../../node_modules/react-dnd/lib/utils/cloneWithRef.js","webpack:///../../../node_modules/react-dnd/lib/utils/disposables/CompositeDisposable.js","webpack:///../../../node_modules/react-dnd/lib/utils/disposables/Disposable.js","webpack:///../../../node_modules/react-dnd/lib/utils/disposables/SerialDisposable.js","webpack:///../../../node_modules/react-dnd/lib/utils/disposables/index.js","webpack:///../../../node_modules/react-dnd/lib/utils/isValidType.js","webpack:///../../../node_modules/react-dnd/lib/wrapConnectorHooks.js","webpack:///../../../node_modules/react-dnd/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///../../../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js","webpack:///../../../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","webpack:///../../../node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///../../../node_modules/react-dom/client.js","webpack:///../../../node_modules/react-dom/index.js","webpack:///../../../node_modules/react-dom/node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///../../../node_modules/react-dom/node_modules/scheduler/index.js","webpack:///../../../node_modules/react-dom/server.browser.js","webpack:///../../../node_modules/react-draggable/build/cjs/Draggable.js","webpack:///../../../node_modules/react-draggable/build/cjs/DraggableCore.js","webpack:///../../../node_modules/react-draggable/build/cjs/cjs.js","webpack:///../../../node_modules/react-draggable/build/cjs/utils/domFns.js","webpack:///../../../node_modules/react-draggable/build/cjs/utils/getPrefix.js","webpack:///../../../node_modules/react-draggable/build/cjs/utils/log.js","webpack:///../../../node_modules/react-draggable/build/cjs/utils/positionFns.js","webpack:///../../../node_modules/react-draggable/build/cjs/utils/shims.js","webpack:///../../../node_modules/react-draggable/node_modules/clsx/dist/clsx.m.js","webpack:///../../../node_modules/file-selector/node_modules/tslib/tslib.es6.mjs","webpack:///../../../node_modules/file-selector/dist/es5/file.js","webpack:///../../../node_modules/file-selector/dist/es5/file-selector.js","webpack:///../../../node_modules/react-dropzone/dist/es/utils/index.js","webpack:///../../../node_modules/react-dropzone/dist/es/index.js","webpack:///../../../node_modules/react-fast-compare/index.js","webpack:///../../../node_modules/react-grid-layout/build/GridItem.js","webpack:///../../../node_modules/react-grid-layout/build/ReactGridLayout.js","webpack:///../../../node_modules/react-grid-layout/build/ReactGridLayoutPropTypes.js","webpack:///../../../node_modules/react-grid-layout/build/ResponsiveReactGridLayout.js","webpack:///../../../node_modules/react-grid-layout/build/calculateUtils.js","webpack:///../../../node_modules/react-grid-layout/build/components/WidthProvider.js","webpack:///../../../node_modules/react-grid-layout/build/fastRGLPropsEqual.js","webpack:///../../../node_modules/react-grid-layout/build/responsiveUtils.js","webpack:///../../../node_modules/react-grid-layout/build/utils.js","webpack:///../../../node_modules/react-grid-layout/index.js","webpack:///../../../node_modules/react-grid-layout/node_modules/classnames/index.js","webpack:///../../../node_modules/react-grid-layout/node_modules/react-draggable/build/cjs/Draggable.js","webpack:///../../../node_modules/react-grid-layout/node_modules/react-draggable/build/cjs/DraggableCore.js","webpack:///../../../node_modules/react-grid-layout/node_modules/react-draggable/build/cjs/cjs.js","webpack:///../../../node_modules/react-grid-layout/node_modules/react-draggable/build/cjs/utils/domFns.js","webpack:///../../../node_modules/react-grid-layout/node_modules/react-draggable/build/cjs/utils/getPrefix.js","webpack:///../../../node_modules/react-grid-layout/node_modules/react-draggable/build/cjs/utils/log.js","webpack:///../../../node_modules/react-grid-layout/node_modules/react-draggable/build/cjs/utils/positionFns.js","webpack:///../../../node_modules/react-grid-layout/node_modules/react-draggable/build/cjs/utils/shims.js","webpack:///../../../node_modules/react-innertext/index.js","webpack:///../../../node_modules/react-is/cjs/react-is.production.min.js","webpack:///../../../node_modules/react-is/index.js","webpack:///../../../node_modules/react-redux/dist/cjs/index.js","webpack:///../../../node_modules/react-resizable/build/Resizable.js","webpack:///../../../node_modules/react-resizable/build/ResizableBox.js","webpack:///../../../node_modules/react-resizable/build/propTypes.js","webpack:///../../../node_modules/react-resizable/build/utils.js","webpack:///../../../node_modules/react-resizable/index.js","webpack:///../../../node_modules/react-resizable/node_modules/react-draggable/build/cjs/Draggable.js","webpack:///../../../node_modules/react-resizable/node_modules/react-draggable/build/cjs/DraggableCore.js","webpack:///../../../node_modules/react-resizable/node_modules/react-draggable/build/cjs/cjs.js","webpack:///../../../node_modules/react-resizable/node_modules/react-draggable/build/cjs/utils/domFns.js","webpack:///../../../node_modules/react-resizable/node_modules/react-draggable/build/cjs/utils/getPrefix.js","webpack:///../../../node_modules/react-resizable/node_modules/react-draggable/build/cjs/utils/log.js","webpack:///../../../node_modules/react-resizable/node_modules/react-draggable/build/cjs/utils/positionFns.js","webpack:///../../../node_modules/react-resizable/node_modules/react-draggable/build/cjs/utils/shims.js","webpack:///../../../node_modules/react-router-redux/lib/actions.js","webpack:///../../../node_modules/react-router-redux/lib/index.js","webpack:///../../../node_modules/react-router-redux/lib/middleware.js","webpack:///../../../node_modules/react-router-redux/lib/reducer.js","webpack:///../../../node_modules/react-router-redux/lib/sync.js","webpack:///../../../node_modules/react-router/es/ContextUtils.js","webpack:///../../../node_modules/react-router/es/PatternUtils.js","webpack:///../../../node_modules/react-router/es/computeChangedRoutes.js","webpack:///../../../node_modules/react-router/es/AsyncUtils.js","webpack:///../../../node_modules/react-router/es/TransitionUtils.js","webpack:///../../../node_modules/react-router/es/isActive.js","webpack:///../../../node_modules/react-router/es/PromiseUtils.js","webpack:///../../../node_modules/react-router/es/getComponents.js","webpack:///../../../node_modules/react-router/es/RouteUtils.js","webpack:///../../../node_modules/react-router/es/matchRoutes.js","webpack:///../../../node_modules/react-router/es/createTransitionManager.js","webpack:///../../../node_modules/react-router/es/InternalPropTypes.js","webpack:///../../../node_modules/react-router/es/getRouteParams.js","webpack:///../../../node_modules/react-router/es/RouterContext.js","webpack:///../../../node_modules/react-router/es/RouterUtils.js","webpack:///../../../node_modules/react-router/es/Router.js","webpack:///../../../node_modules/react-router/es/PropTypes.js","webpack:///../../../node_modules/react-router/es/Link.js","webpack:///../../../node_modules/react-router/es/IndexLink.js","webpack:///../../../node_modules/react-router/es/withRouter.js","webpack:///../../../node_modules/react-router/es/Redirect.js","webpack:///../../../node_modules/react-router/es/IndexRedirect.js","webpack:///../../../node_modules/react-router/es/IndexRoute.js","webpack:///../../../node_modules/react-router/es/Route.js","webpack:///../../../node_modules/react-router/es/useRouterHistory.js","webpack:///../../../node_modules/react-router/es/createRouterHistory.js","webpack:///../../../node_modules/react-router/es/browserHistory.js","webpack:///../../../node_modules/react-router/es/hashHistory.js","webpack:///../../../node_modules/react-router/node_modules/react-is/cjs/react-is.production.min.js","webpack:///../../../node_modules/react-router/node_modules/react-is/index.js","webpack:///../../../node_modules/dom-helpers/esm/removeClass.js","webpack:///../../../node_modules/react-transition-group/esm/config.js","webpack:///../../../node_modules/react-transition-group/esm/utils/reflow.js","webpack:///../../../node_modules/react-transition-group/esm/Transition.js","webpack:///../../../node_modules/react-transition-group/esm/CSSTransition.js","webpack:///../../../node_modules/dom-helpers/esm/addClass.js","webpack:///../../../node_modules/dom-helpers/esm/hasClass.js","webpack:///../../../node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack:///../../../node_modules/react-transition-group/esm/TransitionGroup.js","webpack:///../../../node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///../../../node_modules/react-use/esm/misc/util.js","webpack:///../../../node_modules/react-use/esm/useAsync.js","webpack:///../../../node_modules/react-use/esm/useAsyncFn.js","webpack:///../../../node_modules/react-use/esm/useBeforeUnload.js","webpack:///../../../node_modules/react-use/esm/useDebounce.js","webpack:///../../../node_modules/react-use/esm/useCustomCompareEffect.js","webpack:///../../../node_modules/react-use/esm/misc/isDeepEqual.js","webpack:///../../../node_modules/react-use/esm/useDeepCompareEffect.js","webpack:///../../../node_modules/react-use/esm/useEffectOnce.js","webpack:///../../../node_modules/react-use/esm/useFirstMountState.js","webpack:///../../../node_modules/react-use/esm/useHoverDirty.js","webpack:///../../../node_modules/react-use/esm/useInterval.js","webpack:///../../../node_modules/react-use/esm/useEvent.js","webpack:///../../../node_modules/react-use/esm/useKey.js","webpack:///../../../node_modules/react-use/esm/useKeyPress.js","webpack:///../../../node_modules/react-use/esm/useKeyPressEvent.js","webpack:///../../../node_modules/react-use/esm/useLatest.js","webpack:///../../../node_modules/react-use/esm/useLocalStorage.js","webpack:///../../../node_modules/react-use/esm/useLocation.js","webpack:///../../../node_modules/react-use/esm/useMedia.js","webpack:///../../../node_modules/react-use/esm/useMount.js","webpack:///../../../node_modules/react-use/esm/useMountedState.js","webpack:///../../../node_modules/react-use/esm/usePrevious.js","webpack:///../../../node_modules/react-use/esm/usePreviousDistinct.js","webpack:///../../../node_modules/react-use/esm/useSet.js","webpack:///../../../node_modules/react-use/esm/useTimeout.js","webpack:///../../../node_modules/react-use/esm/useTimeoutFn.js","webpack:///../../../node_modules/react-use/esm/useUnmount.js","webpack:///../../../node_modules/react-use/esm/useUpdate.js","webpack:///../../../node_modules/react-use/esm/useUpdateEffect.js","webpack:///../../../node_modules/react-use/esm/useRafState.js","webpack:///../../../node_modules/react-use/esm/useWindowSize.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///../../../node_modules/dom-helpers/esm/scrollbarSize.js","webpack:///../../../node_modules/react-virtualized/dist/es/utils/animationFrame.js","webpack:///../../../node_modules/react-virtualized/dist/es/Grid/Grid.js","webpack:///../../../node_modules/react-virtualized/dist/es/ArrowKeyStepper/ArrowKeyStepper.js","webpack:///../../../node_modules/react-virtualized/dist/es/AutoSizer/AutoSizer.js","webpack:///../../../node_modules/react-virtualized/dist/es/CellMeasurer/CellMeasurer.js","webpack:///../../../node_modules/react-virtualized/dist/es/List/List.js","webpack:///../../../node_modules/react-virtualized/dist/es/Masonry/Masonry.js","webpack:///../../../node_modules/react-virtualized/dist/es/WindowScroller/WindowScroller.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack:///../../../node_modules/react-virtualized/dist/es/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///../../../node_modules/react-virtualized/dist/es/Grid/utils/CellSizeAndPositionManager.js","webpack:///../../../node_modules/react-virtualized/dist/es/Grid/utils/ScalingCellSizeAndPositionManager.js","webpack:///../../../node_modules/react-virtualized/dist/es/Grid/utils/maxElementSize.js","webpack:///../../../node_modules/react-virtualized/dist/es/utils/createCallbackMemoizer.js","webpack:///../../../node_modules/react-virtualized/dist/es/Grid/utils/updateScrollIndexHelper.js","webpack:///../../../node_modules/dom-helpers/esm/canUseDOM.js","webpack:///../../../node_modules/react-virtualized/dist/es/utils/requestAnimationTimeout.js","webpack:///../../../node_modules/react-virtualized/dist/es/Grid/defaultOverscanIndicesGetter.js","webpack:///../../../node_modules/react-virtualized/dist/es/Grid/defaultCellRangeRenderer.js","webpack:///../../../node_modules/react-virtualized/dist/es/Grid/accessibilityOverscanIndicesGetter.js","webpack:///../../../node_modules/react-virtualized/dist/es/vendor/detectElementResize.js","webpack:///../../../node_modules/react-virtualized/dist/es/CellMeasurer/CellMeasurerCache.js","webpack:///../../../node_modules/react-virtualized/dist/es/Collection/CollectionView.js","webpack:///../../../node_modules/react-virtualized/dist/es/Collection/Section.js","webpack:///../../../node_modules/react-virtualized/dist/es/Collection/SectionManager.js","webpack:///../../../node_modules/react-virtualized/dist/es/utils/getUpdatedOffsetForIndex.js","webpack:///../../../node_modules/react-virtualized/dist/es/Collection/Collection.js","webpack:///../../../node_modules/react-virtualized/dist/es/Collection/utils/calculateSizeAndPositionData.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///../../../node_modules/react-virtualized/dist/es/ColumnSizer/ColumnSizer.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///../../../node_modules/react-virtualized/dist/es/InfiniteLoader/InfiniteLoader.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///../../../node_modules/react-virtualized/dist/es/vendor/binarySearchBounds.js","webpack:///../../../node_modules/react-virtualized/dist/es/vendor/intervalTree.js","webpack:///../../../node_modules/react-virtualized/dist/es/Masonry/PositionCache.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///../../../node_modules/react-virtualized/dist/es/MultiGrid/CellMeasurerCacheDecorator.js","webpack:///../../../node_modules/react-virtualized/dist/es/MultiGrid/MultiGrid.js","webpack:///../../../node_modules/react-virtualized/dist/es/ScrollSync/ScrollSync.js","webpack:///../../../node_modules/react-virtualized/dist/es/Table/defaultHeaderRowRenderer.js","webpack:///../../../node_modules/react-virtualized/dist/es/Table/SortDirection.js","webpack:///../../../node_modules/react-virtualized/dist/es/Table/SortIndicator.js","webpack:///../../../node_modules/react-virtualized/dist/es/Table/defaultHeaderRenderer.js","webpack:///../../../node_modules/react-virtualized/dist/es/Table/defaultRowRenderer.js","webpack:///../../../node_modules/react-virtualized/dist/es/Table/Column.js","webpack:///../../../node_modules/react-virtualized/dist/es/Table/Table.js","webpack:///../../../node_modules/react-virtualized/dist/es/Table/defaultCellDataGetter.js","webpack:///../../../node_modules/react-virtualized/dist/es/Table/defaultCellRenderer.js","webpack:///../../../node_modules/react-virtualized/dist/es/WindowScroller/utils/onScroll.js","webpack:///../../../node_modules/react-virtualized/dist/es/WindowScroller/utils/dimensions.js","webpack:///../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack:///../../../node_modules/react/cjs/react.production.min.js","webpack:///../../../node_modules/react/index.js","webpack:///../../../node_modules/react/jsx-runtime.js","webpack:///../../../node_modules/readable-stream/errors-browser.js","webpack:///../../../node_modules/readable-stream/lib/_stream_duplex.js","webpack:///../../../node_modules/readable-stream/lib/_stream_passthrough.js","webpack:///../../../node_modules/readable-stream/lib/_stream_readable.js","webpack:///../../../node_modules/readable-stream/lib/_stream_transform.js","webpack:///../../../node_modules/readable-stream/lib/_stream_writable.js","webpack:///../../../node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack:///../../../node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack:///../../../node_modules/readable-stream/lib/internal/streams/destroy.js","webpack:///../../../node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack:///../../../node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack:///../../../node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack:///../../../node_modules/readable-stream/lib/internal/streams/state.js","webpack:///../../../node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack:///../../../node_modules/readable-stream/readable-browser.js","webpack:///../../../node_modules/reduce-css-calc/index.js","webpack:///../../../node_modules/reduce-css-calc/node_modules/balanced-match/index.js","webpack:///../../../node_modules/reduce-function-call/index.js","webpack:///../../../node_modules/reduce-reducers/es/index.js","webpack:///../../../node_modules/redux-actions/es/utils/isNull.js","webpack:///../../../node_modules/redux-actions/es/createAction.js","webpack:///../../../node_modules/redux-actions/node_modules/reduce-reducers/es/index.js","webpack:///../../../node_modules/redux-actions/es/utils/flattenWhenNode.js","webpack:///../../../node_modules/redux-actions/es/utils/isPlainObject.js","webpack:///../../../node_modules/redux-actions/es/utils/isMap.js","webpack:///../../../node_modules/redux-actions/es/utils/ownKeys.js","webpack:///../../../node_modules/redux-actions/es/utils/get.js","webpack:///../../../node_modules/redux-actions/es/utils/flattenReducerMap.js","webpack:///../../../node_modules/redux-actions/es/utils/hasGeneratorInterface.js","webpack:///../../../node_modules/redux-actions/es/constants.js","webpack:///../../../node_modules/redux-actions/es/utils/toString.js","webpack:///../../../node_modules/redux-actions/es/handleActions.js","webpack:///../../../node_modules/redux-actions/es/handleAction.js","webpack:///../../../node_modules/redux-actions/es/utils/isUndefined.js","webpack:///../../../node_modules/redux-actions/es/utils/isNil.js","webpack:///../../../node_modules/redux-actions/es/utils/identity.js","webpack:///../../../node_modules/redux-actions/es/utils/isFunction.js","webpack:///../../../node_modules/redux-auth-wrapper/authWrapper.js","webpack:///../../../node_modules/redux-auth-wrapper/helper/redirect.js","webpack:///../../../node_modules/redux-auth-wrapper/history3/locationHelper.js","webpack:///../../../node_modules/redux-auth-wrapper/history3/redirect.js","webpack:///../../../node_modules/redux-auth-wrapper/redirect.js","webpack:///../../../node_modules/redux-promise/lib/index.js","webpack:///../../../node_modules/regenerator-runtime/runtime.js","webpack:///../../../node_modules/remark-gfm/index.js","webpack:///../../../node_modules/repeat-string/index.js","webpack:///../../../node_modules/ripemd160/index.js","webpack:///../../../node_modules/safe-buffer/index.js","webpack:///../../../node_modules/safer-buffer/safer.js","webpack:///../../../node_modules/set-function-length/index.js","webpack:///../../../node_modules/set-function-length/node_modules/has-property-descriptors/index.js","webpack:///../../../node_modules/sha.js/hash.js","webpack:///../../../node_modules/sha.js/index.js","webpack:///../../../node_modules/sha.js/sha.js","webpack:///../../../node_modules/sha.js/sha1.js","webpack:///../../../node_modules/sha.js/sha224.js","webpack:///../../../node_modules/sha.js/sha256.js","webpack:///../../../node_modules/sha.js/sha384.js","webpack:///../../../node_modules/sha.js/sha512.js","webpack:///../../../node_modules/sha1/sha1.js","webpack:///../../../node_modules/shallowequal/index.js","webpack:///../../../node_modules/simple-statistics/index.js","webpack:///../../../node_modules/simple-statistics/src/add_to_mean.js","webpack:///../../../node_modules/simple-statistics/src/bayesian_classifier.js","webpack:///../../../node_modules/simple-statistics/src/bernoulli_distribution.js","webpack:///../../../node_modules/simple-statistics/src/binomial_distribution.js","webpack:///../../../node_modules/simple-statistics/src/bisect.js","webpack:///../../../node_modules/simple-statistics/src/chi_squared_distribution_table.js","webpack:///../../../node_modules/simple-statistics/src/chi_squared_goodness_of_fit.js","webpack:///../../../node_modules/simple-statistics/src/chunk.js","webpack:///../../../node_modules/simple-statistics/src/ckmeans.js","webpack:///../../../node_modules/simple-statistics/src/combinations.js","webpack:///../../../node_modules/simple-statistics/src/combinations_replacement.js","webpack:///../../../node_modules/simple-statistics/src/combine_means.js","webpack:///../../../node_modules/simple-statistics/src/combine_variances.js","webpack:///../../../node_modules/simple-statistics/src/cumulative_std_normal_probability.js","webpack:///../../../node_modules/simple-statistics/src/epsilon.js","webpack:///../../../node_modules/simple-statistics/src/equal_interval_breaks.js","webpack:///../../../node_modules/simple-statistics/src/error_function.js","webpack:///../../../node_modules/simple-statistics/src/factorial.js","webpack:///../../../node_modules/simple-statistics/src/geometric_mean.js","webpack:///../../../node_modules/simple-statistics/src/harmonic_mean.js","webpack:///../../../node_modules/simple-statistics/src/interquartile_range.js","webpack:///../../../node_modules/simple-statistics/src/inverse_error_function.js","webpack:///../../../node_modules/simple-statistics/src/linear_regression.js","webpack:///../../../node_modules/simple-statistics/src/linear_regression_line.js","webpack:///../../../node_modules/simple-statistics/src/max.js","webpack:///../../../node_modules/simple-statistics/src/max_sorted.js","webpack:///../../../node_modules/simple-statistics/src/mean.js","webpack:///../../../node_modules/simple-statistics/src/median.js","webpack:///../../../node_modules/simple-statistics/src/median_absolute_deviation.js","webpack:///../../../node_modules/simple-statistics/src/median_sorted.js","webpack:///../../../node_modules/simple-statistics/src/min.js","webpack:///../../../node_modules/simple-statistics/src/min_sorted.js","webpack:///../../../node_modules/simple-statistics/src/mixin.js","webpack:///../../../node_modules/simple-statistics/src/mode.js","webpack:///../../../node_modules/simple-statistics/src/mode_fast.js","webpack:///../../../node_modules/simple-statistics/src/mode_sorted.js","webpack:///../../../node_modules/simple-statistics/src/numeric_sort.js","webpack:///../../../node_modules/simple-statistics/src/perceptron.js","webpack:///../../../node_modules/simple-statistics/src/permutations_heap.js","webpack:///../../../node_modules/simple-statistics/src/poisson_distribution.js","webpack:///../../../node_modules/simple-statistics/src/probit.js","webpack:///../../../node_modules/simple-statistics/src/product.js","webpack:///../../../node_modules/simple-statistics/src/quantile.js","webpack:///../../../node_modules/simple-statistics/src/quantile_sorted.js","webpack:///../../../node_modules/simple-statistics/src/quickselect.js","webpack:///../../../node_modules/simple-statistics/src/r_squared.js","webpack:///../../../node_modules/simple-statistics/src/root_mean_square.js","webpack:///../../../node_modules/simple-statistics/src/sample.js","webpack:///../../../node_modules/simple-statistics/src/sample_correlation.js","webpack:///../../../node_modules/simple-statistics/src/sample_covariance.js","webpack:///../../../node_modules/simple-statistics/src/sample_skewness.js","webpack:///../../../node_modules/simple-statistics/src/sample_standard_deviation.js","webpack:///../../../node_modules/simple-statistics/src/sample_variance.js","webpack:///../../../node_modules/simple-statistics/src/sample_with_replacement.js","webpack:///../../../node_modules/simple-statistics/src/shuffle.js","webpack:///../../../node_modules/simple-statistics/src/shuffle_in_place.js","webpack:///../../../node_modules/simple-statistics/src/sign.js","webpack:///../../../node_modules/simple-statistics/src/standard_deviation.js","webpack:///../../../node_modules/simple-statistics/src/standard_normal_table.js","webpack:///../../../node_modules/simple-statistics/src/subtract_from_mean.js","webpack:///../../../node_modules/simple-statistics/src/sum.js","webpack:///../../../node_modules/simple-statistics/src/sum_nth_power_deviations.js","webpack:///../../../node_modules/simple-statistics/src/sum_simple.js","webpack:///../../../node_modules/simple-statistics/src/t_test.js","webpack:///../../../node_modules/simple-statistics/src/t_test_two_sample.js","webpack:///../../../node_modules/simple-statistics/src/unique_count_sorted.js","webpack:///../../../node_modules/simple-statistics/src/variance.js","webpack:///../../../node_modules/simple-statistics/src/z_score.js","webpack:///../../../node_modules/simple-swizzle/index.js","webpack:///../../../node_modules/simple-swizzle/node_modules/is-arrayish/index.js","webpack:///../../../node_modules/slugg/slugg.js","webpack:///../../../node_modules/stream-browserify/index.js","webpack:///../../../node_modules/strict-uri-encode/index.js","webpack:///../../../node_modules/string_decoder/lib/string_decoder.js","webpack:///../../../node_modules/style-to-object/index.js","webpack:///../../../node_modules/tether/dist/js/tether.js","webpack:///../../../node_modules/toggle-selection/index.js","webpack:///../../../node_modules/toposort/index.js","webpack:///../../../node_modules/tslib/tslib.es6.js","webpack:///../../../node_modules/ttag/dist/ttag.min.js","webpack:///../../../node_modules/ttag/index.js","webpack:///../../../node_modules/unist-util-is/convert.js","webpack:///../../../node_modules/url/node_modules/punycode/punycode.js","webpack:///../../../node_modules/url/url.js","webpack:///../../../node_modules/url/util.js","webpack:///../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.min.js","webpack:///../../../node_modules/use-sync-external-store/with-selector.js","webpack:///../../../node_modules/util-deprecate/browser.js","webpack:///../../../node_modules/util/node_modules/is-arguments/index.js","webpack:///../../../node_modules/util/node_modules/is-typed-array/index.js","webpack:///../../../node_modules/util/node_modules/which-typed-array/index.js","webpack:///../../../node_modules/util/support/isBufferBrowser.js","webpack:///../../../node_modules/util/support/types.js","webpack:///../../../node_modules/util/util.js","webpack:///../../../node_modules/warning/browser.js","webpack:///../../../node_modules/nanoclone/src/index.js","webpack:///../../../node_modules/yup/es/util/printValue.js","webpack:///../../../node_modules/yup/es/locale.js","webpack:///../../../node_modules/yup/es/util/isSchema.js","webpack:///../../../node_modules/yup/es/Condition.js","webpack:///../../../node_modules/yup/es/util/toArray.js","webpack:///../../../node_modules/yup/es/ValidationError.js","webpack:///../../../node_modules/yup/es/util/runTests.js","webpack:///../../../node_modules/yup/es/Reference.js","webpack:///../../../node_modules/yup/es/util/createValidation.js","webpack:///../../../node_modules/yup/es/util/reach.js","webpack:///../../../node_modules/yup/es/util/ReferenceSet.js","webpack:///../../../node_modules/yup/es/schema.js","webpack:///../../../node_modules/yup/es/mixed.js","webpack:///../../../node_modules/yup/es/util/isAbsent.js","webpack:///../../../node_modules/yup/es/boolean.js","webpack:///../../../node_modules/yup/es/string.js","webpack:///../../../node_modules/yup/es/number.js","webpack:///../../../node_modules/yup/es/util/isodate.js","webpack:///../../../node_modules/yup/es/date.js","webpack:///../../../node_modules/yup/es/util/sortByKeyOrder.js","webpack:///../../../node_modules/yup/es/object.js","webpack:///../../../node_modules/yup/es/util/sortFields.js","webpack:///../../../node_modules/yup/es/array.js","webpack:///../../../node_modules/@babel/runtime/helpers/extends.js","webpack:///../../../node_modules/@visx/axis/node_modules/classnames/index.js","webpack:///../../../node_modules/@visx/grid/node_modules/classnames/index.js","webpack:///../../../node_modules/@visx/group/node_modules/classnames/index.js","webpack:///../../../node_modules/@visx/shape/node_modules/classnames/index.js","webpack:///../../../node_modules/available-typed-arrays/index.js","webpack:///../../../node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js","webpack:///../../../node_modules/react-grid-layout/node_modules/react-draggable/node_modules/classnames/index.js","webpack:///../../../node_modules/react-redux/dist/cjs/react-redux.production.min.cjs","webpack:///../../../node_modules/react-resizable/node_modules/classnames/index.js","webpack:///../../../node_modules/reselect/dist/cjs/reselect.cjs","webpack:///../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack:///../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack:///../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack:///../../../node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.mjs","webpack:///../../../node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.mjs","webpack:///../../../node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.mjs","webpack:///../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs","webpack:///../../../node_modules/@reduxjs/toolkit/node_modules/redux-thunk/dist/redux-thunk.mjs","webpack:///../../../node_modules/@reduxjs/toolkit/node_modules/immer/dist/immer.mjs","webpack:///../../../node_modules/@reduxjs/toolkit/node_modules/redux/dist/redux.mjs","webpack:///../../../node_modules/@tanstack/virtual-core/dist/esm/utils.js","webpack:///../../../node_modules/@tanstack/virtual-core/dist/esm/index.js","webpack:///../../../node_modules/@tanstack/react-virtual/dist/esm/index.js","webpack:///../../../node_modules/csv-parse/dist/esm/sync.js","webpack:///../../../node_modules/csv-stringify/dist/esm/sync.js","webpack:///../../../node_modules/d3-array/src/ascending.js","webpack:///../../../node_modules/d3-array/src/descending.js","webpack:///../../../node_modules/d3-array/src/bisector.js","webpack:///../../../node_modules/d3-array/src/bisect.js","webpack:///../../../node_modules/d3-array/src/number.js","webpack:///../../../node_modules/d3-array/src/range.js","webpack:///../../../node_modules/d3-array/src/ticks.js","webpack:///../../../node_modules/d3-color/src/color.js","webpack:///../../../node_modules/d3-color/src/define.js","webpack:///../../../node_modules/d3-color/src/lab.js","webpack:///../../../node_modules/d3-color/src/math.js","webpack:///../../../node_modules/d3-format/src/formatPrefixAuto.js","webpack:///../../../node_modules/d3-format/src/defaultLocale.js","webpack:///../../../node_modules/d3-format/src/formatRounded.js","webpack:///../../../node_modules/d3-format/src/formatTypes.js","webpack:///../../../node_modules/d3-format/src/identity.js","webpack:///../../../node_modules/d3-format/src/locale.js","webpack:///../../../node_modules/d3-format/src/formatGroup.js","webpack:///../../../node_modules/d3-format/src/formatNumerals.js","webpack:///../../../node_modules/d3-format/src/formatTrim.js","webpack:///../../../node_modules/d3-format/src/exponent.js","webpack:///../../../node_modules/d3-format/src/formatDecimal.js","webpack:///../../../node_modules/d3-format/src/formatSpecifier.js","webpack:///../../../node_modules/d3-interpolate/src/color.js","webpack:///../../../node_modules/d3-interpolate/src/constant.js","webpack:///../../../node_modules/d3-interpolate/src/hcl.js","webpack:///../../../node_modules/d3-interpolate/src/number.js","webpack:///../../../node_modules/d3-interpolate/src/basis.js","webpack:///../../../node_modules/d3-interpolate/src/rgb.js","webpack:///../../../node_modules/d3-interpolate/src/basisClosed.js","webpack:///../../../node_modules/d3-interpolate/src/round.js","webpack:///../../../node_modules/d3-interpolate/src/string.js","webpack:///../../../node_modules/d3-interpolate/src/value.js","webpack:///../../../node_modules/d3-interpolate/src/numberArray.js","webpack:///../../../node_modules/d3-interpolate/src/date.js","webpack:///../../../node_modules/d3-interpolate/src/array.js","webpack:///../../../node_modules/d3-interpolate/src/object.js","webpack:///../../../node_modules/d3-scale/src/number.js","webpack:///../../../node_modules/d3-scale/src/continuous.js","webpack:///../../../node_modules/d3-scale/src/constant.js","webpack:///../../../node_modules/d3-scale/src/init.js","webpack:///../../../node_modules/d3-scale/src/linear.js","webpack:///../../../node_modules/d3-scale/src/tickFormat.js","webpack:///../../../node_modules/d3-format/src/precisionRound.js","webpack:///../../../node_modules/d3-format/src/precisionFixed.js","webpack:///../../../node_modules/d3-format/src/precisionPrefix.js","webpack:///../../../node_modules/d3-geo/src/path/string.js","webpack:///../../../node_modules/d3-array/src/extent.js","webpack:///../../../node_modules/d3-array/src/max.js","webpack:///../../../node_modules/d3-array/src/min.js","webpack:///../../../node_modules/d3-scale/src/quantile.js","webpack:///../../../node_modules/d3-array/src/quantile.js","webpack:///../../../node_modules/d3-scale/src/threshold.js","webpack:///../../../node_modules/d3-selection/src/selector.js","webpack:///../../../node_modules/d3-selection/src/selectorAll.js","webpack:///../../../node_modules/d3-selection/src/matcher.js","webpack:///../../../node_modules/d3-selection/src/selection/selectChild.js","webpack:///../../../node_modules/d3-selection/src/selection/selectChildren.js","webpack:///../../../node_modules/d3-selection/src/selection/sparse.js","webpack:///../../../node_modules/d3-selection/src/selection/enter.js","webpack:///../../../node_modules/d3-selection/src/selection/data.js","webpack:///../../../node_modules/d3-selection/src/selection/sort.js","webpack:///../../../node_modules/d3-selection/src/namespaces.js","webpack:///../../../node_modules/d3-selection/src/namespace.js","webpack:///../../../node_modules/d3-selection/src/window.js","webpack:///../../../node_modules/d3-selection/src/selection/style.js","webpack:///../../../node_modules/d3-selection/src/selection/classed.js","webpack:///../../../node_modules/d3-selection/src/selection/text.js","webpack:///../../../node_modules/d3-selection/src/selection/html.js","webpack:///../../../node_modules/d3-selection/src/selection/raise.js","webpack:///../../../node_modules/d3-selection/src/selection/lower.js","webpack:///../../../node_modules/d3-selection/src/creator.js","webpack:///../../../node_modules/d3-selection/src/selection/insert.js","webpack:///../../../node_modules/d3-selection/src/selection/remove.js","webpack:///../../../node_modules/d3-selection/src/selection/clone.js","webpack:///../../../node_modules/d3-selection/src/selection/on.js","webpack:///../../../node_modules/d3-selection/src/selection/dispatch.js","webpack:///../../../node_modules/d3-selection/src/selection/index.js","webpack:///../../../node_modules/d3-selection/src/selection/select.js","webpack:///../../../node_modules/d3-selection/src/selection/selectAll.js","webpack:///../../../node_modules/d3-selection/src/array.js","webpack:///../../../node_modules/d3-selection/src/selection/filter.js","webpack:///../../../node_modules/d3-selection/src/constant.js","webpack:///../../../node_modules/d3-selection/src/selection/exit.js","webpack:///../../../node_modules/d3-selection/src/selection/join.js","webpack:///../../../node_modules/d3-selection/src/selection/merge.js","webpack:///../../../node_modules/d3-selection/src/selection/order.js","webpack:///../../../node_modules/d3-selection/src/selection/call.js","webpack:///../../../node_modules/d3-selection/src/selection/nodes.js","webpack:///../../../node_modules/d3-selection/src/selection/node.js","webpack:///../../../node_modules/d3-selection/src/selection/size.js","webpack:///../../../node_modules/d3-selection/src/selection/empty.js","webpack:///../../../node_modules/d3-selection/src/selection/each.js","webpack:///../../../node_modules/d3-selection/src/selection/attr.js","webpack:///../../../node_modules/d3-selection/src/selection/property.js","webpack:///../../../node_modules/d3-selection/src/selection/append.js","webpack:///../../../node_modules/d3-selection/src/selection/datum.js","webpack:///../../../node_modules/d3-selection/src/selection/iterator.js","webpack:///../../../node_modules/d3-dispatch/src/dispatch.js","webpack:///../../../node_modules/d3-timer/src/timer.js","webpack:///../../../node_modules/d3-timer/src/timeout.js","webpack:///../../../node_modules/d3-transition/src/transition/schedule.js","webpack:///../../../node_modules/d3-interpolate/src/transform/decompose.js","webpack:///../../../node_modules/d3-interpolate/src/transform/index.js","webpack:///../../../node_modules/d3-interpolate/src/transform/parse.js","webpack:///../../../node_modules/d3-transition/src/transition/tween.js","webpack:///../../../node_modules/d3-transition/src/transition/interpolate.js","webpack:///../../../node_modules/d3-transition/src/transition/selection.js","webpack:///../../../node_modules/d3-transition/src/transition/style.js","webpack:///../../../node_modules/d3-transition/src/transition/index.js","webpack:///../../../node_modules/d3-transition/src/transition/select.js","webpack:///../../../node_modules/d3-transition/src/transition/selectAll.js","webpack:///../../../node_modules/d3-transition/src/transition/filter.js","webpack:///../../../node_modules/d3-transition/src/transition/merge.js","webpack:///../../../node_modules/d3-transition/src/transition/transition.js","webpack:///../../../node_modules/d3-transition/src/transition/on.js","webpack:///../../../node_modules/d3-transition/src/transition/attr.js","webpack:///../../../node_modules/d3-transition/src/transition/attrTween.js","webpack:///../../../node_modules/d3-transition/src/transition/styleTween.js","webpack:///../../../node_modules/d3-transition/src/transition/text.js","webpack:///../../../node_modules/d3-transition/src/transition/textTween.js","webpack:///../../../node_modules/d3-transition/src/transition/remove.js","webpack:///../../../node_modules/d3-transition/src/transition/delay.js","webpack:///../../../node_modules/d3-transition/src/transition/duration.js","webpack:///../../../node_modules/d3-transition/src/transition/ease.js","webpack:///../../../node_modules/d3-transition/src/transition/easeVarying.js","webpack:///../../../node_modules/d3-transition/src/transition/end.js","webpack:///../../../node_modules/d3-transition/src/selection/transition.js","webpack:///../../../node_modules/d3-ease/src/cubic.js","webpack:///../../../node_modules/d3-transition/src/selection/index.js","webpack:///../../../node_modules/d3-transition/src/selection/interrupt.js","webpack:///../../../node_modules/d3-transition/src/interrupt.js","webpack:///../../../node_modules/d3-brush/src/brush.js","webpack:///../../../node_modules/d3-fetch/src/json.js","webpack:///../../../node_modules/d3-geo/src/identity.js","webpack:///../../../node_modules/d3-geo/src/stream.js","webpack:///../../../node_modules/d3-array/src/fsum.js","webpack:///../../../node_modules/d3-geo/src/math.js","webpack:///../../../node_modules/d3-geo/src/noop.js","webpack:///../../../node_modules/d3-geo/src/path/area.js","webpack:///../../../node_modules/d3-geo/src/path/bounds.js","webpack:///../../../node_modules/d3-geo/src/path/centroid.js","webpack:///../../../node_modules/d3-geo/src/path/context.js","webpack:///../../../node_modules/d3-geo/src/path/measure.js","webpack:///../../../node_modules/d3-geo/src/path/index.js","webpack:///../../../node_modules/d3-geo/src/clip/buffer.js","webpack:///../../../node_modules/d3-geo/src/pointEqual.js","webpack:///../../../node_modules/d3-geo/src/clip/rejoin.js","webpack:///../../../node_modules/d3-geo/src/cartesian.js","webpack:///../../../node_modules/d3-geo/src/polygonContains.js","webpack:///../../../node_modules/d3-array/src/merge.js","webpack:///../../../node_modules/d3-geo/src/clip/index.js","webpack:///../../../node_modules/d3-geo/src/clip/antimeridian.js","webpack:///../../../node_modules/d3-geo/src/circle.js","webpack:///../../../node_modules/d3-geo/src/clip/rectangle.js","webpack:///../../../node_modules/d3-geo/src/compose.js","webpack:///../../../node_modules/d3-geo/src/rotation.js","webpack:///../../../node_modules/d3-geo/src/transform.js","webpack:///../../../node_modules/d3-geo/src/projection/fit.js","webpack:///../../../node_modules/d3-geo/src/projection/resample.js","webpack:///../../../node_modules/d3-geo/src/projection/index.js","webpack:///../../../node_modules/d3-geo/src/clip/circle.js","webpack:///../../../node_modules/d3-geo/src/clip/line.js","webpack:///../../../node_modules/d3-geo/src/projection/conicEqualArea.js","webpack:///../../../node_modules/d3-geo/src/projection/cylindricalEqualArea.js","webpack:///../../../node_modules/d3-geo/src/projection/conic.js","webpack:///../../../node_modules/d3-geo/src/projection/albersUsa.js","webpack:///../../../node_modules/d3-geo/src/projection/albers.js","webpack:///../../../node_modules/d3-geo/src/projection/mercator.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/constant.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/math.js","webpack:///../../../node_modules/d3/node_modules/d3-path/src/path.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/arc.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/path.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/array.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/descending.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/identity.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/pie.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/offset/none.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/order/none.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/stack.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/offset/expand.js","webpack:///../../../node_modules/d3/node_modules/d3-shape/src/offset/diverging.js","webpack:///../../../node_modules/d3-zoom/src/transform.js","webpack:///../../../node_modules/echarts/lib/animation/basicTransition.js","webpack:///../../../node_modules/echarts/lib/animation/customGraphicKeyframeAnimation.js","webpack:///../../../node_modules/echarts/lib/animation/customGraphicTransition.js","webpack:///../../../node_modules/echarts/lib/chart/bar/BaseBarSeries.js","webpack:///../../../node_modules/echarts/lib/chart/bar/BarSeries.js","webpack:///../../../node_modules/echarts/lib/util/shape/sausage.js","webpack:///../../../node_modules/echarts/lib/label/sectorLabel.js","webpack:///../../../node_modules/echarts/lib/chart/bar/BarView.js","webpack:///../../../node_modules/echarts/lib/chart/bar/install.js","webpack:///../../../node_modules/echarts/lib/chart/custom/CustomSeries.js","webpack:///../../../node_modules/echarts/lib/coord/cartesian/prepareCustom.js","webpack:///../../../node_modules/echarts/lib/coord/geo/prepareCustom.js","webpack:///../../../node_modules/echarts/lib/coord/single/prepareCustom.js","webpack:///../../../node_modules/echarts/lib/coord/polar/prepareCustom.js","webpack:///../../../node_modules/echarts/lib/chart/custom/CustomView.js","webpack:///../../../node_modules/echarts/lib/coord/calendar/prepareCustom.js","webpack:///../../../node_modules/echarts/lib/chart/custom/install.js","webpack:///../../../node_modules/echarts/lib/chart/helper/Symbol.js","webpack:///../../../node_modules/echarts/lib/chart/helper/SymbolDraw.js","webpack:///../../../node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js","webpack:///../../../node_modules/echarts/lib/chart/helper/createRenderPlanner.js","webpack:///../../../node_modules/echarts/lib/model/referHelper.js","webpack:///../../../node_modules/echarts/lib/chart/helper/createSeriesData.js","webpack:///../../../node_modules/echarts/lib/chart/helper/labelHelper.js","webpack:///../../../node_modules/echarts/lib/chart/helper/sectorHelper.js","webpack:///../../../node_modules/echarts/lib/chart/line/LineSeries.js","webpack:///../../../node_modules/echarts/lib/chart/line/helper.js","webpack:///../../../node_modules/echarts/lib/chart/line/poly.js","webpack:///../../../node_modules/echarts/lib/chart/line/LineView.js","webpack:///../../../node_modules/echarts/lib/chart/line/lineAnimationDiff.js","webpack:///../../../node_modules/echarts/lib/chart/line/install.js","webpack:///../../../node_modules/echarts/lib/chart/sankey/SankeyView.js","webpack:///../../../node_modules/echarts/lib/data/Graph.js","webpack:///../../../node_modules/echarts/lib/chart/sankey/SankeySeries.js","webpack:///../../../node_modules/echarts/lib/chart/helper/createGraphFromNodeEdge.js","webpack:///../../../node_modules/echarts/lib/chart/sankey/sankeyLayout.js","webpack:///../../../node_modules/echarts/lib/chart/sankey/sankeyVisual.js","webpack:///../../../node_modules/echarts/lib/chart/sankey/install.js","webpack:///../../../node_modules/echarts/lib/chart/scatter/ScatterSeries.js","webpack:///../../../node_modules/echarts/lib/chart/helper/LargeSymbolDraw.js","webpack:///../../../node_modules/echarts/lib/chart/scatter/ScatterView.js","webpack:///../../../node_modules/echarts/lib/chart/scatter/install.js","webpack:///../../../node_modules/echarts/lib/chart/sunburst/SunburstPiece.js","webpack:///../../../node_modules/echarts/lib/chart/helper/treeHelper.js","webpack:///../../../node_modules/echarts/lib/chart/sunburst/sunburstAction.js","webpack:///../../../node_modules/echarts/lib/chart/sunburst/SunburstView.js","webpack:///../../../node_modules/echarts/lib/data/Tree.js","webpack:///../../../node_modules/echarts/lib/chart/sunburst/SunburstSeries.js","webpack:///../../../node_modules/echarts/lib/chart/helper/enableAriaDecalForTree.js","webpack:///../../../node_modules/echarts/lib/chart/sunburst/sunburstLayout.js","webpack:///../../../node_modules/echarts/lib/chart/sunburst/sunburstVisual.js","webpack:///../../../node_modules/echarts/lib/processor/dataFilter.js","webpack:///../../../node_modules/echarts/lib/chart/sunburst/install.js","webpack:///../../../node_modules/echarts/lib/component/axis/AxisBuilder.js","webpack:///../../../node_modules/echarts/lib/component/axis/AxisView.js","webpack:///../../../node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js","webpack:///../../../node_modules/echarts/lib/component/axisPointer/globalListener.js","webpack:///../../../node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js","webpack:///../../../node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer.js","webpack:///../../../node_modules/echarts/lib/component/axisPointer/AxisPointerModel.js","webpack:///../../../node_modules/echarts/lib/component/axisPointer/AxisPointerView.js","webpack:///../../../node_modules/echarts/lib/component/axisPointer/axisTrigger.js","webpack:///../../../node_modules/echarts/lib/component/axisPointer/install.js","webpack:///../../../node_modules/echarts/lib/component/axisPointer/modelHelper.js","webpack:///../../../node_modules/echarts/lib/component/axisPointer/viewHelper.js","webpack:///../../../node_modules/echarts/lib/component/brush/preprocessor.js","webpack:///../../../node_modules/echarts/lib/visual/visualSolution.js","webpack:///../../../node_modules/zrender/lib/contain/polygon.js","webpack:///../../../node_modules/echarts/lib/component/brush/selector.js","webpack:///../../../node_modules/echarts/lib/component/brush/visualEncoding.js","webpack:///../../../node_modules/echarts/lib/component/brush/BrushView.js","webpack:///../../../node_modules/echarts/lib/component/brush/BrushModel.js","webpack:///../../../node_modules/echarts/lib/component/toolbox/feature/Brush.js","webpack:///../../../node_modules/echarts/lib/component/brush/install.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/DataZoomModel.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/DataZoomView.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/helper.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/InsideZoomModel.js","webpack:///../../../node_modules/echarts/lib/component/helper/RoamController.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/roams.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/InsideZoomView.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/installDataZoomInside.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/SliderZoomModel.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/SliderZoomView.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/installDataZoomSlider.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/install.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/AxisProxy.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/dataZoomProcessor.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/installCommon.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/dataZoomAction.js","webpack:///../../../node_modules/echarts/lib/component/dataset/install.js","webpack:///../../../node_modules/echarts/lib/component/graphic/GraphicModel.js","webpack:///../../../node_modules/echarts/lib/component/graphic/GraphicView.js","webpack:///../../../node_modules/echarts/lib/component/graphic/install.js","webpack:///../../../node_modules/echarts/lib/component/grid/install.js","webpack:///../../../node_modules/echarts/lib/coord/cartesian/GridModel.js","webpack:///../../../node_modules/echarts/lib/coord/axisModelCommonMixin.js","webpack:///../../../node_modules/echarts/lib/coord/cartesian/AxisModel.js","webpack:///../../../node_modules/echarts/lib/coord/axisDefault.js","webpack:///../../../node_modules/echarts/lib/coord/axisCommonTypes.js","webpack:///../../../node_modules/echarts/lib/coord/axisModelCreator.js","webpack:///../../../node_modules/echarts/lib/coord/cartesian/Cartesian.js","webpack:///../../../node_modules/echarts/lib/coord/cartesian/Cartesian2D.js","webpack:///../../../node_modules/echarts/lib/coord/axisTickLabelBuilder.js","webpack:///../../../node_modules/echarts/lib/coord/Axis.js","webpack:///../../../node_modules/echarts/lib/coord/cartesian/Axis2D.js","webpack:///../../../node_modules/echarts/lib/coord/axisAlignTicks.js","webpack:///../../../node_modules/echarts/lib/coord/cartesian/Grid.js","webpack:///../../../node_modules/echarts/lib/component/axis/axisSplitHelper.js","webpack:///../../../node_modules/echarts/lib/component/axis/CartesianAxisView.js","webpack:///../../../node_modules/echarts/lib/component/grid/installSimple.js","webpack:///../../../node_modules/echarts/lib/component/helper/BrushController.js","webpack:///../../../node_modules/echarts/lib/component/helper/cursorHelper.js","webpack:///../../../node_modules/echarts/lib/component/helper/brushHelper.js","webpack:///../../../node_modules/echarts/lib/component/helper/BrushTargetManager.js","webpack:///../../../node_modules/echarts/lib/component/helper/interactionMutex.js","webpack:///../../../node_modules/echarts/lib/component/helper/sliderMove.js","webpack:///../../../node_modules/echarts/lib/chart/helper/LinePath.js","webpack:///../../../node_modules/echarts/lib/component/marker/MarkerModel.js","webpack:///../../../node_modules/echarts/lib/component/marker/MarkLineModel.js","webpack:///../../../node_modules/echarts/lib/component/marker/markerHelper.js","webpack:///../../../node_modules/echarts/lib/chart/helper/Line.js","webpack:///../../../node_modules/echarts/lib/chart/helper/LineDraw.js","webpack:///../../../node_modules/echarts/lib/component/marker/MarkerView.js","webpack:///../../../node_modules/echarts/lib/component/marker/MarkLineView.js","webpack:///../../../node_modules/echarts/lib/component/marker/installMarkLine.js","webpack:///../../../node_modules/echarts/lib/component/marker/checkMarkerInSeries.js","webpack:///../../../node_modules/echarts/lib/component/toolbox/featureManager.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/SelectZoomModel.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/SelectZoomView.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/installDataZoomSelect.js","webpack:///../../../node_modules/echarts/lib/component/toolbox/ToolboxModel.js","webpack:///../../../node_modules/echarts/lib/component/toolbox/ToolboxView.js","webpack:///../../../node_modules/echarts/lib/component/helper/listComponent.js","webpack:///../../../node_modules/echarts/lib/component/toolbox/feature/SaveAsImage.js","webpack:///../../../node_modules/echarts/lib/component/toolbox/feature/MagicType.js","webpack:///../../../node_modules/echarts/lib/component/toolbox/feature/DataView.js","webpack:///../../../node_modules/echarts/lib/component/dataZoom/history.js","webpack:///../../../node_modules/echarts/lib/component/toolbox/feature/Restore.js","webpack:///../../../node_modules/echarts/lib/component/toolbox/feature/DataZoom.js","webpack:///../../../node_modules/echarts/lib/component/toolbox/install.js","webpack:///../../../node_modules/echarts/lib/component/tooltip/TooltipModel.js","webpack:///../../../node_modules/echarts/lib/component/tooltip/helper.js","webpack:///../../../node_modules/echarts/lib/component/tooltip/TooltipHTMLContent.js","webpack:///../../../node_modules/echarts/lib/component/tooltip/TooltipRichContent.js","webpack:///../../../node_modules/echarts/lib/component/tooltip/TooltipView.js","webpack:///../../../node_modules/echarts/lib/component/tooltip/install.js","webpack:///../../../node_modules/echarts/lib/component/tooltip/tooltipMarkup.js","webpack:///../../../node_modules/echarts/lib/coord/CoordinateSystem.js","webpack:///../../../node_modules/echarts/lib/scale/Ordinal.js","webpack:///../../../node_modules/echarts/lib/scale/Time.js","webpack:///../../../node_modules/echarts/lib/scale/Log.js","webpack:///../../../node_modules/echarts/lib/coord/axisHelper.js","webpack:///../../../node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js","webpack:///../../../node_modules/echarts/lib/coord/scaleRawExtentInfo.js","webpack:///../../../node_modules/echarts/lib/core/CoordinateSystem.js","webpack:///../../../node_modules/echarts/lib/core/echarts.js","webpack:///../../../node_modules/echarts/lib/model/Global.js","webpack:///../../../node_modules/echarts/lib/core/Scheduler.js","webpack:///../../../node_modules/echarts/lib/model/globalDefault.js","webpack:///../../../node_modules/echarts/lib/core/ExtensionAPI.js","webpack:///../../../node_modules/echarts/lib/model/OptionManager.js","webpack:///../../../node_modules/echarts/lib/preprocessor/helper/compatStyle.js","webpack:///../../../node_modules/echarts/lib/preprocessor/backwardCompat.js","webpack:///../../../node_modules/echarts/lib/processor/dataStack.js","webpack:///../../../node_modules/echarts/lib/visual/style.js","webpack:///../../../node_modules/echarts/lib/loading/default.js","webpack:///../../../node_modules/echarts/lib/theme/light.js","webpack:///../../../node_modules/echarts/lib/theme/dark.js","webpack:///../../../node_modules/echarts/lib/util/ECEventProcessor.js","webpack:///../../../node_modules/echarts/lib/visual/symbol.js","webpack:///../../../node_modules/echarts/lib/legacy/dataSelectAction.js","webpack:///../../../node_modules/echarts/lib/core/lifecycle.js","webpack:///../../../node_modules/echarts/lib/visual/decal.js","webpack:///../../../node_modules/echarts/lib/core/impl.js","webpack:///../../../node_modules/echarts/lib/core/locale.js","webpack:///../../../node_modules/echarts/lib/i18n/langEN.js","webpack:///../../../node_modules/echarts/lib/i18n/langZH.js","webpack:///../../../node_modules/echarts/lib/core/task.js","webpack:///../../../node_modules/echarts/lib/data/DataDiffer.js","webpack:///../../../node_modules/echarts/lib/data/DataStore.js","webpack:///../../../node_modules/echarts/lib/data/OrdinalMeta.js","webpack:///../../../node_modules/echarts/lib/data/SeriesData.js","webpack:///../../../node_modules/echarts/lib/data/SeriesDimensionDefine.js","webpack:///../../../node_modules/echarts/lib/data/Source.js","webpack:///../../../node_modules/echarts/lib/data/helper/SeriesDataSchema.js","webpack:///../../../node_modules/echarts/lib/data/helper/createDimensions.js","webpack:///../../../node_modules/echarts/lib/data/helper/dataProvider.js","webpack:///../../../node_modules/echarts/lib/data/helper/dataStackHelper.js","webpack:///../../../node_modules/echarts/lib/data/helper/dataValueHelper.js","webpack:///../../../node_modules/echarts/lib/data/helper/dimensionHelper.js","webpack:///../../../node_modules/echarts/lib/data/helper/linkSeriesData.js","webpack:///../../../node_modules/echarts/lib/data/helper/sourceHelper.js","webpack:///../../../node_modules/echarts/lib/data/helper/sourceManager.js","webpack:///../../../node_modules/echarts/lib/data/helper/transform.js","webpack:///../../../node_modules/echarts/lib/extension.js","webpack:///../../../node_modules/echarts/lib/label/labelGuideHelper.js","webpack:///../../../node_modules/echarts/lib/label/LabelManager.js","webpack:///../../../node_modules/echarts/lib/label/installLabelLayout.js","webpack:///../../../node_modules/echarts/lib/label/labelLayoutHelper.js","webpack:///../../../node_modules/echarts/lib/label/labelStyle.js","webpack:///../../../node_modules/echarts/lib/layout/barGrid.js","webpack:///../../../node_modules/echarts/lib/layout/points.js","webpack:///../../../node_modules/echarts/lib/model/Component.js","webpack:///../../../node_modules/echarts/lib/model/mixin/areaStyle.js","webpack:///../../../node_modules/echarts/lib/model/mixin/textStyle.js","webpack:///../../../node_modules/echarts/lib/model/Model.js","webpack:///../../../node_modules/echarts/lib/model/Series.js","webpack:///../../../node_modules/echarts/lib/component/tooltip/seriesFormatTooltip.js","webpack:///../../../node_modules/echarts/lib/model/internalComponentCreator.js","webpack:///../../../node_modules/echarts/lib/model/mixin/dataFormat.js","webpack:///../../../node_modules/echarts/lib/model/mixin/itemStyle.js","webpack:///../../../node_modules/echarts/lib/model/mixin/lineStyle.js","webpack:///../../../node_modules/echarts/lib/model/mixin/makeStyleMapper.js","webpack:///../../../node_modules/echarts/lib/model/mixin/palette.js","webpack:///../../../node_modules/echarts/lib/processor/dataSample.js","webpack:///../../../node_modules/zrender/lib/svg/graphic.js","webpack:///../../../node_modules/zrender/lib/svg/SVGPathRebuilder.js","webpack:///../../../node_modules/zrender/lib/svg/mapStyleToAttrs.js","webpack:///../../../node_modules/zrender/lib/svg/core.js","webpack:///../../../node_modules/zrender/lib/svg/cssClassId.js","webpack:///../../../node_modules/zrender/lib/svg/cssAnimation.js","webpack:///../../../node_modules/zrender/lib/svg/cssEmphasis.js","webpack:///../../../node_modules/zrender/lib/svg/domapi.js","webpack:///../../../node_modules/zrender/lib/svg/patch.js","webpack:///../../../node_modules/zrender/lib/svg/Painter.js","webpack:///../../../node_modules/echarts/lib/renderer/installSVGRenderer.js","webpack:///../../../node_modules/echarts/lib/scale/Interval.js","webpack:///../../../node_modules/echarts/lib/scale/Scale.js","webpack:///../../../node_modules/echarts/lib/scale/helper.js","webpack:///../../../node_modules/echarts/lib/util/clazz.js","webpack:///../../../node_modules/echarts/lib/util/component.js","webpack:///../../../node_modules/zrender/lib/core/WeakMap.js","webpack:///../../../node_modules/zrender/lib/canvas/graphic.js","webpack:///../../../node_modules/echarts/lib/util/decal.js","webpack:///../../../node_modules/echarts/lib/util/event.js","webpack:///../../../node_modules/echarts/lib/util/format.js","webpack:///../../../node_modules/echarts/lib/util/graphic.js","webpack:///../../../node_modules/zrender/lib/tool/transformPath.js","webpack:///../../../node_modules/zrender/lib/tool/path.js","webpack:///../../../node_modules/zrender/lib/graphic/shape/Ellipse.js","webpack:///../../../node_modules/zrender/lib/graphic/shape/Ring.js","webpack:///../../../node_modules/zrender/lib/graphic/RadialGradient.js","webpack:///../../../node_modules/zrender/lib/graphic/IncrementalDisplayable.js","webpack:///../../../node_modules/echarts/lib/util/innerStore.js","webpack:///../../../node_modules/echarts/lib/util/layout.js","webpack:///../../../node_modules/echarts/lib/util/log.js","webpack:///../../../node_modules/echarts/lib/util/model.js","webpack:///../../../node_modules/echarts/lib/util/number.js","webpack:///../../../node_modules/echarts/lib/util/states.js","webpack:///../../../node_modules/echarts/lib/util/styleCompat.js","webpack:///../../../node_modules/echarts/lib/util/symbol.js","webpack:///../../../node_modules/echarts/lib/util/throttle.js","webpack:///../../../node_modules/echarts/lib/util/time.js","webpack:///../../../node_modules/echarts/lib/util/types.js","webpack:///../../../node_modules/echarts/lib/util/vendor.js","webpack:///../../../node_modules/echarts/lib/view/Chart.js","webpack:///../../../node_modules/echarts/lib/view/Component.js","webpack:///../../../node_modules/echarts/lib/visual/VisualMapping.js","webpack:///../../../node_modules/echarts/lib/visual/helper.js","webpack:///../../../node_modules/merge-refs/dist/esm/index.js","webpack:///../../../node_modules/unist-util-stringify-position/index.js","webpack:///../../../node_modules/react-markdown/node_modules/vfile-message/index.js","webpack:///../../../node_modules/react-markdown/node_modules/vfile/lib/minpath.browser.js","webpack:///../../../node_modules/react-markdown/node_modules/vfile/lib/minproc.browser.js","webpack:///../../../node_modules/react-markdown/node_modules/vfile/lib/minurl.shared.js","webpack:///../../../node_modules/react-markdown/node_modules/vfile/lib/index.js","webpack:///../../../node_modules/react-markdown/node_modules/vfile/lib/minurl.browser.js","webpack:///../../../node_modules/bail/index.js","webpack:///../../../node_modules/unified/node_modules/is-plain-obj/index.js","webpack:///../../../node_modules/unified/node_modules/vfile-message/index.js","webpack:///../../../node_modules/unified/node_modules/vfile/lib/minpath.browser.js","webpack:///../../../node_modules/unified/node_modules/vfile/lib/minproc.browser.js","webpack:///../../../node_modules/unified/node_modules/vfile/lib/minurl.shared.js","webpack:///../../../node_modules/unified/node_modules/vfile/lib/index.js","webpack:///../../../node_modules/unified/node_modules/vfile/lib/minurl.browser.js","webpack:///../../../node_modules/unified/lib/index.js","webpack:///../../../node_modules/trough/index.js","webpack:///../../../node_modules/mdast-util-from-markdown/node_modules/mdast-util-to-string/index.js","webpack:///../../../node_modules/micromark-util-chunked/index.js","webpack:///../../../node_modules/micromark-util-combine-extensions/index.js","webpack:///../../../node_modules/micromark-util-character/index.js","webpack:///../../../node_modules/micromark-util-character/lib/unicode-punctuation-regex.js","webpack:///../../../node_modules/micromark-factory-space/index.js","webpack:///../../../node_modules/mdast-util-from-markdown/node_modules/micromark/lib/initialize/content.js","webpack:///../../../node_modules/mdast-util-from-markdown/node_modules/micromark/lib/initialize/document.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/blank-line.js","webpack:///../../../node_modules/micromark-util-subtokenize/index.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/content.js","webpack:///../../../node_modules/mdast-util-from-markdown/node_modules/micromark/lib/initialize/flow.js","webpack:///../../../node_modules/mdast-util-from-markdown/node_modules/micromark/lib/initialize/text.js","webpack:///../../../node_modules/micromark-util-resolve-all/index.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/thematic-break.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/list.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/block-quote.js","webpack:///../../../node_modules/micromark-factory-destination/index.js","webpack:///../../../node_modules/micromark-factory-label/index.js","webpack:///../../../node_modules/micromark-factory-title/index.js","webpack:///../../../node_modules/micromark-factory-whitespace/index.js","webpack:///../../../node_modules/micromark-util-normalize-identifier/index.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/definition.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/code-indented.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/setext-underline.js","webpack:///../../../node_modules/micromark-util-html-tag-name/index.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/html-flow.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/code-fenced.js","webpack:///../../../node_modules/decode-named-character-reference/index.dom.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/character-reference.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/character-escape.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/line-ending.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/label-end.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/label-start-image.js","webpack:///../../../node_modules/micromark-util-classify-character/index.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/attention.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/label-start-link.js","webpack:///../../../node_modules/mdast-util-from-markdown/node_modules/micromark/lib/constructs.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/heading-atx.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/autolink.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/html-text.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/hard-break-escape.js","webpack:///../../../node_modules/micromark-core-commonmark/lib/code-text.js","webpack:///../../../node_modules/mdast-util-from-markdown/node_modules/micromark/lib/preprocess.js","webpack:///../../../node_modules/micromark-util-decode-numeric-character-reference/index.js","webpack:///../../../node_modules/micromark-util-decode-string/index.js","webpack:///../../../node_modules/mdast-util-from-markdown/lib/index.js","webpack:///../../../node_modules/mdast-util-from-markdown/node_modules/micromark/lib/postprocess.js","webpack:///../../../node_modules/mdast-util-from-markdown/node_modules/micromark/lib/parse.js","webpack:///../../../node_modules/mdast-util-from-markdown/node_modules/micromark/lib/create-tokenizer.js","webpack:///../../../node_modules/remark-parse/index.js","webpack:///../../../node_modules/remark-parse/lib/index.js","webpack:///../../../node_modules/unist-builder/index.js","webpack:///../../../node_modules/remark-rehype/node_modules/unist-util-position/index.js","webpack:///../../../node_modules/mdast-util-definitions/index.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/traverse.js","webpack:///../../../node_modules/micromark-util-sanitize-uri/index.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/wrap.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/revert.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/list-item.js","webpack:///../../../node_modules/trim-lines/index.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/index.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/break.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/code.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/delete.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/footnote.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/heading.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/html.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/image.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/link.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/list.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/root.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/strong.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/table.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/text.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/index.js","webpack:///../../../node_modules/unist-util-generated/index.js","webpack:///../../../node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/footer.js","webpack:///../../../node_modules/remark-rehype/lib/index.js","webpack:///../../../node_modules/property-information/lib/util/schema.js","webpack:///../../../node_modules/property-information/lib/util/merge.js","webpack:///../../../node_modules/property-information/lib/normalize.js","webpack:///../../../node_modules/property-information/lib/util/info.js","webpack:///../../../node_modules/property-information/lib/util/types.js","webpack:///../../../node_modules/property-information/lib/util/defined-info.js","webpack:///../../../node_modules/property-information/lib/util/create.js","webpack:///../../../node_modules/property-information/lib/xlink.js","webpack:///../../../node_modules/property-information/lib/xml.js","webpack:///../../../node_modules/property-information/lib/util/case-sensitive-transform.js","webpack:///../../../node_modules/property-information/lib/util/case-insensitive-transform.js","webpack:///../../../node_modules/property-information/lib/xmlns.js","webpack:///../../../node_modules/property-information/lib/aria.js","webpack:///../../../node_modules/property-information/lib/html.js","webpack:///../../../node_modules/property-information/lib/svg.js","webpack:///../../../node_modules/property-information/index.js","webpack:///../../../node_modules/react-markdown/lib/rehype-filter.js","webpack:///../../../node_modules/property-information/lib/find.js","webpack:///../../../node_modules/property-information/lib/hast-to-react.js","webpack:///../../../node_modules/react-markdown/lib/uri-transformer.js","webpack:///../../../node_modules/react-markdown/lib/ast-to-react.js","webpack:///../../../node_modules/comma-separated-tokens/index.js","webpack:///../../../node_modules/style-to-object/index.mjs","webpack:///../../../node_modules/hast-util-whitespace/index.js","webpack:///../../../node_modules/react-markdown/lib/react-markdown.js","webpack:///../../../node_modules/react-redux/dist/react-redux.mjs","webpack:///../../../node_modules/react-use/node_modules/tslib/tslib.es6.mjs","webpack:///../../../node_modules/react-virtual/dist/react-virtual.mjs","webpack:///../../../node_modules/is-absolute-url/index.js","webpack:///../../../node_modules/rehype-external-links/index.js","webpack:///../../../node_modules/reselect/dist/reselect.mjs","webpack:///../../../node_modules/compute-scroll-into-view/dist/index.js","webpack:///../../../node_modules/scroll-into-view-if-needed/dist/index.js","webpack:///../../../node_modules/space-separated-tokens/index.js","webpack:///../../../node_modules/ts-pattern/dist/index.js","webpack:///../../../node_modules/underscore/modules/_setup.js","webpack:///../../../node_modules/underscore/modules/restArguments.js","webpack:///../../../node_modules/underscore/modules/isObject.js","webpack:///../../../node_modules/underscore/modules/isNull.js","webpack:///../../../node_modules/underscore/modules/isUndefined.js","webpack:///../../../node_modules/underscore/modules/isBoolean.js","webpack:///../../../node_modules/underscore/modules/isElement.js","webpack:///../../../node_modules/underscore/modules/_tagTester.js","webpack:///../../../node_modules/underscore/modules/isString.js","webpack:///../../../node_modules/underscore/modules/isNumber.js","webpack:///../../../node_modules/underscore/modules/isDate.js","webpack:///../../../node_modules/underscore/modules/isRegExp.js","webpack:///../../../node_modules/underscore/modules/isError.js","webpack:///../../../node_modules/underscore/modules/isSymbol.js","webpack:///../../../node_modules/underscore/modules/isArrayBuffer.js","webpack:///../../../node_modules/underscore/modules/isFunction.js","webpack:///../../../node_modules/underscore/modules/_hasObjectTag.js","webpack:///../../../node_modules/underscore/modules/_stringTagBug.js","webpack:///../../../node_modules/underscore/modules/isDataView.js","webpack:///../../../node_modules/underscore/modules/isArray.js","webpack:///../../../node_modules/underscore/modules/_has.js","webpack:///../../../node_modules/underscore/modules/isArguments.js","webpack:///../../../node_modules/underscore/modules/isFinite.js","webpack:///../../../node_modules/underscore/modules/isNaN.js","webpack:///../../../node_modules/underscore/modules/constant.js","webpack:///../../../node_modules/underscore/modules/_createSizePropertyCheck.js","webpack:///../../../node_modules/underscore/modules/_shallowProperty.js","webpack:///../../../node_modules/underscore/modules/_getByteLength.js","webpack:///../../../node_modules/underscore/modules/_isBufferLike.js","webpack:///../../../node_modules/underscore/modules/isTypedArray.js","webpack:///../../../node_modules/underscore/modules/_getLength.js","webpack:///../../../node_modules/underscore/modules/_collectNonEnumProps.js","webpack:///../../../node_modules/underscore/modules/keys.js","webpack:///../../../node_modules/underscore/modules/isEmpty.js","webpack:///../../../node_modules/underscore/modules/isMatch.js","webpack:///../../../node_modules/underscore/modules/underscore.js","webpack:///../../../node_modules/underscore/modules/_toBufferView.js","webpack:///../../../node_modules/underscore/modules/isEqual.js","webpack:///../../../node_modules/underscore/modules/allKeys.js","webpack:///../../../node_modules/underscore/modules/_methodFingerprint.js","webpack:///../../../node_modules/underscore/modules/isMap.js","webpack:///../../../node_modules/underscore/modules/isWeakMap.js","webpack:///../../../node_modules/underscore/modules/isSet.js","webpack:///../../../node_modules/underscore/modules/isWeakSet.js","webpack:///../../../node_modules/underscore/modules/values.js","webpack:///../../../node_modules/underscore/modules/pairs.js","webpack:///../../../node_modules/underscore/modules/invert.js","webpack:///../../../node_modules/underscore/modules/functions.js","webpack:///../../../node_modules/underscore/modules/_createAssigner.js","webpack:///../../../node_modules/underscore/modules/extend.js","webpack:///../../../node_modules/underscore/modules/extendOwn.js","webpack:///../../../node_modules/underscore/modules/defaults.js","webpack:///../../../node_modules/underscore/modules/_baseCreate.js","webpack:///../../../node_modules/underscore/modules/create.js","webpack:///../../../node_modules/underscore/modules/clone.js","webpack:///../../../node_modules/underscore/modules/tap.js","webpack:///../../../node_modules/underscore/modules/toPath.js","webpack:///../../../node_modules/underscore/modules/_toPath.js","webpack:///../../../node_modules/underscore/modules/_deepGet.js","webpack:///../../../node_modules/underscore/modules/get.js","webpack:///../../../node_modules/underscore/modules/has.js","webpack:///../../../node_modules/underscore/modules/identity.js","webpack:///../../../node_modules/underscore/modules/matcher.js","webpack:///../../../node_modules/underscore/modules/property.js","webpack:///../../../node_modules/underscore/modules/_optimizeCb.js","webpack:///../../../node_modules/underscore/modules/_baseIteratee.js","webpack:///../../../node_modules/underscore/modules/iteratee.js","webpack:///../../../node_modules/underscore/modules/_cb.js","webpack:///../../../node_modules/underscore/modules/mapObject.js","webpack:///../../../node_modules/underscore/modules/noop.js","webpack:///../../../node_modules/underscore/modules/propertyOf.js","webpack:///../../../node_modules/underscore/modules/times.js","webpack:///../../../node_modules/underscore/modules/random.js","webpack:///../../../node_modules/underscore/modules/now.js","webpack:///../../../node_modules/underscore/modules/_createEscaper.js","webpack:///../../../node_modules/underscore/modules/_escapeMap.js","webpack:///../../../node_modules/underscore/modules/escape.js","webpack:///../../../node_modules/underscore/modules/unescape.js","webpack:///../../../node_modules/underscore/modules/_unescapeMap.js","webpack:///../../../node_modules/underscore/modules/templateSettings.js","webpack:///../../../node_modules/underscore/modules/template.js","webpack:///../../../node_modules/underscore/modules/result.js","webpack:///../../../node_modules/underscore/modules/uniqueId.js","webpack:///../../../node_modules/underscore/modules/chain.js","webpack:///../../../node_modules/underscore/modules/_executeBound.js","webpack:///../../../node_modules/underscore/modules/partial.js","webpack:///../../../node_modules/underscore/modules/bind.js","webpack:///../../../node_modules/underscore/modules/_isArrayLike.js","webpack:///../../../node_modules/underscore/modules/_flatten.js","webpack:///../../../node_modules/underscore/modules/bindAll.js","webpack:///../../../node_modules/underscore/modules/memoize.js","webpack:///../../../node_modules/underscore/modules/delay.js","webpack:///../../../node_modules/underscore/modules/defer.js","webpack:///../../../node_modules/underscore/modules/throttle.js","webpack:///../../../node_modules/underscore/modules/debounce.js","webpack:///../../../node_modules/underscore/modules/wrap.js","webpack:///../../../node_modules/underscore/modules/negate.js","webpack:///../../../node_modules/underscore/modules/compose.js","webpack:///../../../node_modules/underscore/modules/after.js","webpack:///../../../node_modules/underscore/modules/before.js","webpack:///../../../node_modules/underscore/modules/once.js","webpack:///../../../node_modules/underscore/modules/findKey.js","webpack:///../../../node_modules/underscore/modules/_createPredicateIndexFinder.js","webpack:///../../../node_modules/underscore/modules/findIndex.js","webpack:///../../../node_modules/underscore/modules/findLastIndex.js","webpack:///../../../node_modules/underscore/modules/sortedIndex.js","webpack:///../../../node_modules/underscore/modules/_createIndexFinder.js","webpack:///../../../node_modules/underscore/modules/indexOf.js","webpack:///../../../node_modules/underscore/modules/lastIndexOf.js","webpack:///../../../node_modules/underscore/modules/find.js","webpack:///../../../node_modules/underscore/modules/findWhere.js","webpack:///../../../node_modules/underscore/modules/each.js","webpack:///../../../node_modules/underscore/modules/map.js","webpack:///../../../node_modules/underscore/modules/_createReduce.js","webpack:///../../../node_modules/underscore/modules/reduce.js","webpack:///../../../node_modules/underscore/modules/reduceRight.js","webpack:///../../../node_modules/underscore/modules/filter.js","webpack:///../../../node_modules/underscore/modules/reject.js","webpack:///../../../node_modules/underscore/modules/every.js","webpack:///../../../node_modules/underscore/modules/some.js","webpack:///../../../node_modules/underscore/modules/contains.js","webpack:///../../../node_modules/underscore/modules/invoke.js","webpack:///../../../node_modules/underscore/modules/pluck.js","webpack:///../../../node_modules/underscore/modules/where.js","webpack:///../../../node_modules/underscore/modules/max.js","webpack:///../../../node_modules/underscore/modules/min.js","webpack:///../../../node_modules/underscore/modules/toArray.js","webpack:///../../../node_modules/underscore/modules/sample.js","webpack:///../../../node_modules/underscore/modules/shuffle.js","webpack:///../../../node_modules/underscore/modules/sortBy.js","webpack:///../../../node_modules/underscore/modules/_group.js","webpack:///../../../node_modules/underscore/modules/groupBy.js","webpack:///../../../node_modules/underscore/modules/indexBy.js","webpack:///../../../node_modules/underscore/modules/countBy.js","webpack:///../../../node_modules/underscore/modules/partition.js","webpack:///../../../node_modules/underscore/modules/size.js","webpack:///../../../node_modules/underscore/modules/_keyInObj.js","webpack:///../../../node_modules/underscore/modules/pick.js","webpack:///../../../node_modules/underscore/modules/omit.js","webpack:///../../../node_modules/underscore/modules/initial.js","webpack:///../../../node_modules/underscore/modules/first.js","webpack:///../../../node_modules/underscore/modules/rest.js","webpack:///../../../node_modules/underscore/modules/last.js","webpack:///../../../node_modules/underscore/modules/compact.js","webpack:///../../../node_modules/underscore/modules/flatten.js","webpack:///../../../node_modules/underscore/modules/difference.js","webpack:///../../../node_modules/underscore/modules/without.js","webpack:///../../../node_modules/underscore/modules/uniq.js","webpack:///../../../node_modules/underscore/modules/union.js","webpack:///../../../node_modules/underscore/modules/intersection.js","webpack:///../../../node_modules/underscore/modules/unzip.js","webpack:///../../../node_modules/underscore/modules/zip.js","webpack:///../../../node_modules/underscore/modules/object.js","webpack:///../../../node_modules/underscore/modules/range.js","webpack:///../../../node_modules/underscore/modules/chunk.js","webpack:///../../../node_modules/underscore/modules/_chainResult.js","webpack:///../../../node_modules/underscore/modules/mixin.js","webpack:///../../../node_modules/underscore/modules/underscore-array-methods.js","webpack:///../../../node_modules/underscore/modules/index-default.js","webpack:///../../../node_modules/unist-util-visit-parents/node_modules/unist-util-is/index.js","webpack:///../../../node_modules/unist-util-visit-parents/index.js","webpack:///../../../node_modules/unist-util-visit/index.js","webpack:///../../../node_modules/zrender/lib/Element.js","webpack:///../../../node_modules/zrender/lib/animation/easing.js","webpack:///../../../node_modules/zrender/lib/animation/Clip.js","webpack:///../../../node_modules/zrender/lib/animation/Animator.js","webpack:///../../../node_modules/zrender/lib/animation/cubicEasing.js","webpack:///../../../node_modules/zrender/lib/canvas/dashStyle.js","webpack:///../../../node_modules/zrender/lib/canvas/helper.js","webpack:///../../../node_modules/zrender/lib/config.js","webpack:///../../../node_modules/zrender/lib/contain/text.js","webpack:///../../../node_modules/zrender/lib/contain/util.js","webpack:///../../../node_modules/zrender/lib/contain/windingLine.js","webpack:///../../../node_modules/zrender/lib/core/BoundingRect.js","webpack:///../../../node_modules/zrender/lib/core/Eventful.js","webpack:///../../../node_modules/zrender/lib/core/LRU.js","webpack:///../../../node_modules/zrender/lib/core/OrientedBoundingRect.js","webpack:///../../../node_modules/zrender/lib/core/bbox.js","webpack:///../../../node_modules/zrender/lib/core/PathProxy.js","webpack:///../../../node_modules/zrender/lib/core/Point.js","webpack:///../../../node_modules/zrender/lib/core/Transformable.js","webpack:///../../../node_modules/zrender/lib/core/curve.js","webpack:///../../../node_modules/zrender/lib/core/fourPointsTransform.js","webpack:///../../../node_modules/zrender/lib/core/dom.js","webpack:///../../../node_modules/zrender/lib/core/env.js","webpack:///../../../node_modules/zrender/lib/core/event.js","webpack:///../../../node_modules/zrender/lib/core/matrix.js","webpack:///../../../node_modules/zrender/lib/core/platform.js","webpack:///../../../node_modules/zrender/lib/core/timsort.js","webpack:///../../../node_modules/zrender/lib/core/util.js","webpack:///../../../node_modules/zrender/lib/core/vector.js","webpack:///../../../node_modules/zrender/lib/graphic/CompoundPath.js","webpack:///../../../node_modules/zrender/lib/graphic/Displayable.js","webpack:///../../../node_modules/zrender/lib/graphic/Gradient.js","webpack:///../../../node_modules/zrender/lib/graphic/Group.js","webpack:///../../../node_modules/zrender/lib/graphic/Image.js","webpack:///../../../node_modules/zrender/lib/graphic/LinearGradient.js","webpack:///../../../node_modules/zrender/lib/contain/line.js","webpack:///../../../node_modules/zrender/lib/contain/arc.js","webpack:///../../../node_modules/zrender/lib/contain/path.js","webpack:///../../../node_modules/zrender/lib/contain/cubic.js","webpack:///../../../node_modules/zrender/lib/contain/quadratic.js","webpack:///../../../node_modules/zrender/lib/graphic/Path.js","webpack:///../../../node_modules/zrender/lib/graphic/TSpan.js","webpack:///../../../node_modules/zrender/lib/graphic/helper/parseText.js","webpack:///../../../node_modules/zrender/lib/graphic/Text.js","webpack:///../../../node_modules/zrender/lib/graphic/constants.js","webpack:///../../../node_modules/zrender/lib/graphic/helper/image.js","webpack:///../../../node_modules/zrender/lib/graphic/helper/poly.js","webpack:///../../../node_modules/zrender/lib/graphic/helper/smoothBezier.js","webpack:///../../../node_modules/zrender/lib/graphic/helper/subPixelOptimize.js","webpack:///../../../node_modules/zrender/lib/graphic/shape/Arc.js","webpack:///../../../node_modules/zrender/lib/graphic/shape/BezierCurve.js","webpack:///../../../node_modules/zrender/lib/graphic/shape/Circle.js","webpack:///../../../node_modules/zrender/lib/graphic/shape/Line.js","webpack:///../../../node_modules/zrender/lib/graphic/shape/Polygon.js","webpack:///../../../node_modules/zrender/lib/graphic/shape/Polyline.js","webpack:///../../../node_modules/zrender/lib/graphic/shape/Rect.js","webpack:///../../../node_modules/zrender/lib/graphic/helper/roundRect.js","webpack:///../../../node_modules/zrender/lib/graphic/helper/roundSector.js","webpack:///../../../node_modules/zrender/lib/graphic/shape/Sector.js","webpack:///../../../node_modules/zrender/lib/svg/helper.js","webpack:///../../../node_modules/zrender/lib/tool/color.js","webpack:///../../../node_modules/zrender/lib/dom/HandlerProxy.js","webpack:///../../../node_modules/zrender/lib/animation/requestAnimationFrame.js","webpack:///../../../node_modules/zrender/lib/zrender.js","webpack:///../../../node_modules/zrender/lib/mixin/Draggable.js","webpack:///../../../node_modules/zrender/lib/core/GestureMgr.js","webpack:///../../../node_modules/zrender/lib/Handler.js","webpack:///../../../node_modules/zrender/lib/Storage.js","webpack:///../../../node_modules/zrender/lib/animation/Animation.js"],"sourcesContent":["import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, useReducer, memo, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of ');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint,\n bypassActivationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (bypassActivationConstraint != null && bypassActivationConstraint({\n event: this.props.event,\n activeNode: this.props.activeNode,\n options: this.props.options\n })) {\n return this.handleStart();\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates); // Constraint validation\n\n if (!activated && activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n }\n\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n }\n\n return;\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onEnd\n } = this.props;\n this.detach();\n onEnd();\n }\n\n handleCancel() {\n const {\n onCancel\n } = this.props;\n this.detach();\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id !== null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id === null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, measureRect] = useReducer(reducer, null);\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n\n function reducer(currentRect) {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n }\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, measureRects] = useReducer(reducer, defaultValue$2);\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n\n if (elements.length > 0 && rects === defaultValue$2) {\n measureRects();\n }\n\n useIsomorphicLayoutEffect(() => {\n if (elements.length) {\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n }\n }, [elements]);\n return rects;\n\n function reducer() {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n }\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (!state.draggable.active) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n unstable_batchedUpdates(() => {\n setActiveSensor(sensorInstance);\n setActivatorEvent(event.nativeEvent);\n });\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Droppable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useIsomorphicLayoutEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n","import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n display: 'none'\n};\nfunction HiddenText(_ref) {\n let {\n id,\n value\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: hiddenStyles\n }, value);\n}\n\nfunction LiveRegion(_ref) {\n let {\n id,\n announcement,\n ariaLiveType = \"assertive\"\n } = _ref;\n // Hide element visually but keep it readable by screen readers\n const visuallyHidden = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap'\n };\n return React.createElement(\"div\", {\n id: id,\n style: visuallyHidden,\n role: \"status\",\n \"aria-live\": ariaLiveType,\n \"aria-atomic\": true\n }, announcement);\n}\n\nfunction useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback(value => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n return {\n announce,\n announcement\n };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n","import { getEventCoordinates } from '@dnd-kit/utilities';\n\nfunction createSnapModifier(gridSize) {\n return _ref => {\n let {\n transform\n } = _ref;\n return { ...transform,\n x: Math.ceil(transform.x / gridSize) * gridSize,\n y: Math.ceil(transform.y / gridSize) * gridSize\n };\n };\n}\n\nconst restrictToHorizontalAxis = _ref => {\n let {\n transform\n } = _ref;\n return { ...transform,\n y: 0\n };\n};\n\nfunction restrictToBoundingRect(transform, rect, boundingRect) {\n const value = { ...transform\n };\n\n if (rect.top + transform.y <= boundingRect.top) {\n value.y = boundingRect.top - rect.top;\n } else if (rect.bottom + transform.y >= boundingRect.top + boundingRect.height) {\n value.y = boundingRect.top + boundingRect.height - rect.bottom;\n }\n\n if (rect.left + transform.x <= boundingRect.left) {\n value.x = boundingRect.left - rect.left;\n } else if (rect.right + transform.x >= boundingRect.left + boundingRect.width) {\n value.x = boundingRect.left + boundingRect.width - rect.right;\n }\n\n return value;\n}\n\nconst restrictToParentElement = _ref => {\n let {\n containerNodeRect,\n draggingNodeRect,\n transform\n } = _ref;\n\n if (!draggingNodeRect || !containerNodeRect) {\n return transform;\n }\n\n return restrictToBoundingRect(transform, draggingNodeRect, containerNodeRect);\n};\n\nconst restrictToFirstScrollableAncestor = _ref => {\n let {\n draggingNodeRect,\n transform,\n scrollableAncestorRects\n } = _ref;\n const firstScrollableAncestorRect = scrollableAncestorRects[0];\n\n if (!draggingNodeRect || !firstScrollableAncestorRect) {\n return transform;\n }\n\n return restrictToBoundingRect(transform, draggingNodeRect, firstScrollableAncestorRect);\n};\n\nconst restrictToVerticalAxis = _ref => {\n let {\n transform\n } = _ref;\n return { ...transform,\n x: 0\n };\n};\n\nconst restrictToWindowEdges = _ref => {\n let {\n transform,\n draggingNodeRect,\n windowRect\n } = _ref;\n\n if (!draggingNodeRect || !windowRect) {\n return transform;\n }\n\n return restrictToBoundingRect(transform, draggingNodeRect, windowRect);\n};\n\nconst snapCenterToCursor = _ref => {\n let {\n activatorEvent,\n draggingNodeRect,\n transform\n } = _ref;\n\n if (draggingNodeRect && activatorEvent) {\n const activatorCoordinates = getEventCoordinates(activatorEvent);\n\n if (!activatorCoordinates) {\n return transform;\n }\n\n const offsetX = activatorCoordinates.x - draggingNodeRect.left;\n const offsetY = activatorCoordinates.y - draggingNodeRect.top;\n return { ...transform,\n x: transform.x + offsetX - draggingNodeRect.width / 2,\n y: transform.y + offsetY - draggingNodeRect.height / 2\n };\n }\n\n return transform;\n};\n\nexport { createSnapModifier, restrictToFirstScrollableAncestor, restrictToHorizontalAxis, restrictToParentElement, restrictToVerticalAxis, restrictToWindowEdges, snapCenterToCursor };\n//# sourceMappingURL=modifiers.esm.js.map\n","import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId && !previous.current.activeId) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","var weakMemoize = function weakMemoize(func) {\n // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // $FlowFixMe\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport { weakMemoize as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwn = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-43c6fea0.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-43c6fea0.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.4\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.3\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.2\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import { arrow as arrow$1, computePosition } from '@floating-ui/dom';\nexport { autoPlacement, autoUpdate, computePosition, detectOverflow, flip, getOverflowAncestors, hide, inline, limitShift, offset, platform, shift, size } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect, useEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\n/**\n * A data provider that provides data to position an inner element of the\n * floating element (usually a triangle or caret) so that it is centered to the\n * reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => {\n const {\n element,\n padding\n } = options;\n function isRef(value) {\n return Object.prototype.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(args) {\n if (isRef(element)) {\n if (element.current != null) {\n return arrow$1({\n element: element.current,\n padding\n }).fn(args);\n }\n return {};\n } else if (element) {\n return arrow$1({\n element,\n padding\n }).fn(args);\n }\n return {};\n }\n };\n};\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length, i, keys;\n if (a && b && typeof a == 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/react\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: null,\n y: null,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const [reference, _setReference] = React.useState(null);\n const [floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback(node => {\n if (referenceRef.current !== node) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback(node => {\n if (floatingRef.current !== node) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n isPositioned: true\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (reference && floating) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(reference, floating, update);\n } else {\n update();\n }\n }\n }, [reference, floating, update, whileElementsMountedRef]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference,\n floating\n }), [reference, floating]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n reference: setReference,\n floating: setFloating\n }), [data, update, refs, elements, setReference, setFloating]);\n}\n\nexport { arrow, useFloating };\n","import * as React from 'react';\nimport { useLayoutEffect, useEffect, useRef } from 'react';\nimport { hideOthers } from 'aria-hidden';\nimport { tabbable } from 'tabbable';\nimport { createPortal, flushSync } from 'react-dom';\nimport { getOverflowAncestors, offset, detectOverflow, useFloating as useFloating$1 } from '@floating-ui/react-dom';\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, getOverflowAncestors, hide, inline, limitShift, offset, platform, shift, size } from '@floating-ui/react-dom';\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\nlet serverHandoffComplete = false;\nlet count = 0;\nconst genId = () => \"floating-ui-\" + count++;\nfunction useFloatingId() {\n const [id, setId] = React.useState(() => serverHandoffComplete ? genId() : undefined);\n index(() => {\n if (id == null) {\n setId(genId());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n React.useEffect(() => {\n if (!serverHandoffComplete) {\n serverHandoffComplete = true;\n }\n }, []);\n return id;\n}\n\n// `toString()` prevents bundlers from trying to `import { useId } from 'react'`\nconst useReactId = React[/*#__PURE__*/'useId'.toString()];\n\n/**\n * Uses React 18's built-in `useId()` when available, or falls back to a\n * slightly less performant (requiring a double render) implementation for\n * earlier React versions.\n * @see https://floating-ui.com/docs/useId\n */\nconst useId = useReactId || useFloatingId;\n\nfunction createPubSub() {\n const map = new Map();\n return {\n emit(event, data) {\n var _map$get;\n (_map$get = map.get(event)) == null ? void 0 : _map$get.forEach(handler => handler(data));\n },\n on(event, listener) {\n map.set(event, [...(map.get(event) || []), listener]);\n },\n off(event, listener) {\n map.set(event, (map.get(event) || []).filter(l => l !== listener));\n }\n };\n}\n\nconst FloatingNodeContext = /*#__PURE__*/React.createContext(null);\nconst FloatingTreeContext = /*#__PURE__*/React.createContext(null);\nconst useFloatingParentNodeId = () => {\n var _React$useContext;\n return ((_React$useContext = React.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;\n};\nconst useFloatingTree = () => React.useContext(FloatingTreeContext);\n\n/**\n * Registers a node into the floating tree, returning its id.\n */\nconst useFloatingNodeId = customParentId => {\n const id = useId();\n const tree = useFloatingTree();\n const reactParentId = useFloatingParentNodeId();\n const parentId = customParentId || reactParentId;\n index(() => {\n const node = {\n id,\n parentId\n };\n tree == null ? void 0 : tree.addNode(node);\n return () => {\n tree == null ? void 0 : tree.removeNode(node);\n };\n }, [tree, id, parentId]);\n return id;\n};\n\n/**\n * Provides parent node context for nested floating elements.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nconst FloatingNode = _ref => {\n let {\n children,\n id\n } = _ref;\n const parentId = useFloatingParentNodeId();\n return /*#__PURE__*/React.createElement(FloatingNodeContext.Provider, {\n value: React.useMemo(() => ({\n id,\n parentId\n }), [id, parentId])\n }, children);\n};\n\n/**\n * Provides context for nested floating elements when they are not children of\n * each other on the DOM (i.e. portalled to a common node, rather than their\n * respective parent).\n * @see https://floating-ui.com/docs/FloatingTree\n */\nconst FloatingTree = _ref2 => {\n let {\n children\n } = _ref2;\n const nodesRef = React.useRef([]);\n const addNode = React.useCallback(node => {\n nodesRef.current = [...nodesRef.current, node];\n }, []);\n const removeNode = React.useCallback(node => {\n nodesRef.current = nodesRef.current.filter(n => n !== node);\n }, []);\n const events = React.useState(() => createPubSub())[0];\n return /*#__PURE__*/React.createElement(FloatingTreeContext.Provider, {\n value: React.useMemo(() => ({\n nodesRef,\n addNode,\n removeNode,\n events\n }), [nodesRef, addNode, removeNode, events])\n }, children);\n};\n\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\n\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData != null && uaData.platform) {\n return uaData.platform;\n }\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(_ref => {\n let {\n brand,\n version\n } = _ref;\n return brand + \"/\" + version;\n }).join(' ');\n }\n return navigator.userAgent;\n}\n\nfunction getWindow(value) {\n return getDocument(value).defaultView || window;\n}\nfunction isElement(value) {\n return value ? value instanceof getWindow(value).Element : false;\n}\nfunction isHTMLElement(value) {\n return value ? value instanceof getWindow(value).HTMLElement : false;\n}\nfunction isShadowRoot(node) {\n // Browsers without `ShadowRoot` support\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n const androidRe = /Android/i;\n if ((androidRe.test(getPlatform()) || androidRe.test(getUserAgent())) && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n return event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType !== 'mouse' ||\n // iOS VoiceOver returns 0.333• for width/height.\n event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0;\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n const values = ['mouse', 'pen'];\n if (!strict) {\n values.push('', undefined);\n }\n return values.includes(pointerType);\n}\n\nfunction useLatestRef(value) {\n const ref = useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\nconst safePolygonIdentifier = 'data-floating-ui-safe-polygon';\nfunction getDelay(value, prop, pointerType) {\n if (pointerType && !isMouseLikePointerType(pointerType)) {\n return 0;\n }\n if (typeof value === 'number') {\n return value;\n }\n return value == null ? void 0 : value[prop];\n}\n/**\n * Opens the floating element while hovering over the reference element, like\n * CSS `:hover`.\n * @see https://floating-ui.com/docs/useHover\n */\nconst useHover = function (context, _temp) {\n let {\n enabled = true,\n delay = 0,\n handleClose = null,\n mouseOnly = false,\n restMs = 0,\n move = true\n } = _temp === void 0 ? {} : _temp;\n const {\n open,\n onOpenChange,\n dataRef,\n events,\n elements: {\n domReference,\n floating\n },\n refs\n } = context;\n const tree = useFloatingTree();\n const parentId = useFloatingParentNodeId();\n const handleCloseRef = useLatestRef(handleClose);\n const delayRef = useLatestRef(delay);\n const pointerTypeRef = React.useRef();\n const timeoutRef = React.useRef();\n const handlerRef = React.useRef();\n const restTimeoutRef = React.useRef();\n const blockMouseMoveRef = React.useRef(true);\n const performedPointerEventsMutationRef = React.useRef(false);\n const unbindMouseMoveRef = React.useRef(() => {});\n const isHoverOpen = React.useCallback(() => {\n var _dataRef$current$open;\n const type = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type;\n return (type == null ? void 0 : type.includes('mouse')) && type !== 'mousedown';\n }, [dataRef]);\n\n // When dismissing before opening, clear the delay timeouts to cancel it\n // from showing.\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n function onDismiss() {\n clearTimeout(timeoutRef.current);\n clearTimeout(restTimeoutRef.current);\n blockMouseMoveRef.current = true;\n }\n events.on('dismiss', onDismiss);\n return () => {\n events.off('dismiss', onDismiss);\n };\n }, [enabled, events]);\n React.useEffect(() => {\n if (!enabled || !handleCloseRef.current || !open) {\n return;\n }\n function onLeave() {\n if (isHoverOpen()) {\n onOpenChange(false);\n }\n }\n const html = getDocument(floating).documentElement;\n html.addEventListener('mouseleave', onLeave);\n return () => {\n html.removeEventListener('mouseleave', onLeave);\n };\n }, [floating, open, onOpenChange, enabled, handleCloseRef, dataRef, isHoverOpen]);\n const closeWithDelay = React.useCallback(function (runElseBranch) {\n if (runElseBranch === void 0) {\n runElseBranch = true;\n }\n const closeDelay = getDelay(delayRef.current, 'close', pointerTypeRef.current);\n if (closeDelay && !handlerRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => onOpenChange(false), closeDelay);\n } else if (runElseBranch) {\n clearTimeout(timeoutRef.current);\n onOpenChange(false);\n }\n }, [delayRef, onOpenChange]);\n const cleanupMouseMoveHandler = React.useCallback(() => {\n unbindMouseMoveRef.current();\n handlerRef.current = undefined;\n }, []);\n const clearPointerEvents = React.useCallback(() => {\n if (performedPointerEventsMutationRef.current) {\n const body = getDocument(refs.floating.current).body;\n body.style.pointerEvents = '';\n body.removeAttribute(safePolygonIdentifier);\n performedPointerEventsMutationRef.current = false;\n }\n }, [refs]);\n\n // Registering the mouse events on the reference directly to bypass React's\n // delegation system. If the cursor was on a disabled element and then entered\n // the reference (no gap), `mouseenter` doesn't fire in the delegation system.\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n function isClickLikeOpenEvent() {\n return dataRef.current.openEvent ? ['click', 'mousedown'].includes(dataRef.current.openEvent.type) : false;\n }\n function onMouseEnter(event) {\n clearTimeout(timeoutRef.current);\n blockMouseMoveRef.current = false;\n if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || restMs > 0 && getDelay(delayRef.current, 'open') === 0) {\n return;\n }\n dataRef.current.openEvent = event;\n const openDelay = getDelay(delayRef.current, 'open', pointerTypeRef.current);\n if (openDelay) {\n timeoutRef.current = setTimeout(() => {\n onOpenChange(true);\n }, openDelay);\n } else {\n onOpenChange(true);\n }\n }\n function onMouseLeave(event) {\n if (isClickLikeOpenEvent()) {\n return;\n }\n unbindMouseMoveRef.current();\n const doc = getDocument(floating);\n clearTimeout(restTimeoutRef.current);\n if (handleCloseRef.current) {\n // Prevent clearing `onScrollMouseLeave` timeout.\n if (!open) {\n clearTimeout(timeoutRef.current);\n }\n handlerRef.current = handleCloseRef.current({\n ...context,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n closeWithDelay();\n }\n });\n const handler = handlerRef.current;\n doc.addEventListener('mousemove', handler);\n unbindMouseMoveRef.current = () => {\n doc.removeEventListener('mousemove', handler);\n };\n return;\n }\n closeWithDelay();\n }\n\n // Ensure the floating element closes after scrolling even if the pointer\n // did not move.\n // https://github.com/floating-ui/floating-ui/discussions/1692\n function onScrollMouseLeave(event) {\n if (isClickLikeOpenEvent()) {\n return;\n }\n handleCloseRef.current == null ? void 0 : handleCloseRef.current({\n ...context,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n closeWithDelay();\n }\n })(event);\n }\n if (isElement(domReference)) {\n const ref = domReference;\n open && ref.addEventListener('mouseleave', onScrollMouseLeave);\n floating == null ? void 0 : floating.addEventListener('mouseleave', onScrollMouseLeave);\n move && ref.addEventListener('mousemove', onMouseEnter, {\n once: true\n });\n ref.addEventListener('mouseenter', onMouseEnter);\n ref.addEventListener('mouseleave', onMouseLeave);\n return () => {\n open && ref.removeEventListener('mouseleave', onScrollMouseLeave);\n floating == null ? void 0 : floating.removeEventListener('mouseleave', onScrollMouseLeave);\n move && ref.removeEventListener('mousemove', onMouseEnter);\n ref.removeEventListener('mouseenter', onMouseEnter);\n ref.removeEventListener('mouseleave', onMouseLeave);\n };\n }\n }, [domReference, floating, enabled, context, mouseOnly, restMs, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, tree, delayRef, handleCloseRef, dataRef]);\n\n // Block pointer-events of every element other than the reference and floating\n // while the floating element is open and has a `handleClose` handler. Also\n // handles nested floating elements.\n // https://github.com/floating-ui/floating-ui/issues/1722\n index(() => {\n var _handleCloseRef$curre;\n if (!enabled) {\n return;\n }\n if (open && (_handleCloseRef$curre = handleCloseRef.current) != null && _handleCloseRef$curre.__options.blockPointerEvents && isHoverOpen()) {\n const body = getDocument(floating).body;\n body.setAttribute(safePolygonIdentifier, '');\n body.style.pointerEvents = 'none';\n performedPointerEventsMutationRef.current = true;\n if (isElement(domReference) && floating) {\n var _tree$nodesRef$curren, _tree$nodesRef$curren2;\n const ref = domReference;\n const parentFloating = tree == null ? void 0 : (_tree$nodesRef$curren = tree.nodesRef.current.find(node => node.id === parentId)) == null ? void 0 : (_tree$nodesRef$curren2 = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren2.elements.floating;\n if (parentFloating) {\n parentFloating.style.pointerEvents = '';\n }\n ref.style.pointerEvents = 'auto';\n floating.style.pointerEvents = 'auto';\n return () => {\n ref.style.pointerEvents = '';\n floating.style.pointerEvents = '';\n };\n }\n }\n }, [enabled, open, parentId, floating, domReference, tree, handleCloseRef, dataRef, isHoverOpen]);\n index(() => {\n if (!open) {\n pointerTypeRef.current = undefined;\n cleanupMouseMoveHandler();\n clearPointerEvents();\n }\n }, [open, cleanupMouseMoveHandler, clearPointerEvents]);\n React.useEffect(() => {\n return () => {\n cleanupMouseMoveHandler();\n clearTimeout(timeoutRef.current);\n clearTimeout(restTimeoutRef.current);\n clearPointerEvents();\n };\n }, [enabled, cleanupMouseMoveHandler, clearPointerEvents]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n function setPointerRef(event) {\n pointerTypeRef.current = event.pointerType;\n }\n return {\n reference: {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n onMouseMove() {\n if (open || restMs === 0) {\n return;\n }\n clearTimeout(restTimeoutRef.current);\n restTimeoutRef.current = setTimeout(() => {\n if (!blockMouseMoveRef.current) {\n onOpenChange(true);\n }\n }, restMs);\n }\n },\n floating: {\n onMouseEnter() {\n clearTimeout(timeoutRef.current);\n },\n onMouseLeave() {\n events.emit('dismiss', {\n type: 'mouseLeave',\n data: {\n returnFocus: false\n }\n });\n closeWithDelay(false);\n }\n }\n };\n }, [events, enabled, restMs, open, onOpenChange, closeWithDelay]);\n};\n\nconst FloatingDelayGroupContext = /*#__PURE__*/React.createContext({\n delay: 0,\n initialDelay: 0,\n timeoutMs: 0,\n currentId: null,\n setCurrentId: () => {},\n setState: () => {},\n isInstantPhase: false\n});\nconst useDelayGroupContext = () => React.useContext(FloatingDelayGroupContext);\n\n/**\n * Provides context for a group of floating elements that should share a\n * `delay`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nconst FloatingDelayGroup = _ref => {\n let {\n children,\n delay,\n timeoutMs = 0\n } = _ref;\n const [state, setState] = React.useReducer((prev, next) => ({\n ...prev,\n ...next\n }), {\n delay,\n timeoutMs,\n initialDelay: delay,\n currentId: null,\n isInstantPhase: false\n });\n const initialCurrentIdRef = React.useRef(null);\n const setCurrentId = React.useCallback(currentId => {\n setState({\n currentId\n });\n }, []);\n index(() => {\n if (state.currentId) {\n if (initialCurrentIdRef.current === null) {\n initialCurrentIdRef.current = state.currentId;\n } else {\n setState({\n isInstantPhase: true\n });\n }\n } else {\n setState({\n isInstantPhase: false\n });\n initialCurrentIdRef.current = null;\n }\n }, [state.currentId]);\n return /*#__PURE__*/React.createElement(FloatingDelayGroupContext.Provider, {\n value: React.useMemo(() => ({\n ...state,\n setState,\n setCurrentId\n }), [state, setState, setCurrentId])\n }, children);\n};\nconst useDelayGroup = (_ref2, _ref3) => {\n let {\n open,\n onOpenChange\n } = _ref2;\n let {\n id\n } = _ref3;\n const {\n currentId,\n setCurrentId,\n initialDelay,\n setState,\n timeoutMs\n } = useDelayGroupContext();\n React.useEffect(() => {\n if (currentId) {\n setState({\n delay: {\n open: 1,\n close: getDelay(initialDelay, 'close')\n }\n });\n if (currentId !== id) {\n onOpenChange(false);\n }\n }\n }, [id, onOpenChange, setState, currentId, initialDelay]);\n React.useEffect(() => {\n function unset() {\n onOpenChange(false);\n setState({\n delay: initialDelay,\n currentId: null\n });\n }\n if (!open && currentId === id) {\n if (timeoutMs) {\n const timeout = window.setTimeout(unset, timeoutMs);\n return () => {\n clearTimeout(timeout);\n };\n } else {\n unset();\n }\n }\n }, [open, setState, currentId, id, onOpenChange, initialDelay, timeoutMs]);\n React.useEffect(() => {\n if (open) {\n setCurrentId(id);\n }\n }, [open, setCurrentId, id]);\n};\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n/**\n * Find the real active element. Traverses into shadowRoots.\n */\nfunction activeElement$1(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null ? void 0 : (_activeElement$shadow = _activeElement.shadowRoot) == null ? void 0 : _activeElement$shadow.activeElement) != null) {\n var _activeElement, _activeElement$shadow;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\n\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode && child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n do {\n if (next && parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n\nlet rafId = 0;\nfunction enqueueFocus(el, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n preventScroll = false,\n cancelPrevious = true,\n sync = false\n } = options;\n cancelPrevious && cancelAnimationFrame(rafId);\n const exec = () => el == null ? void 0 : el.focus({\n preventScroll\n });\n if (sync) {\n exec();\n } else {\n rafId = requestAnimationFrame(exec);\n }\n}\n\nfunction getAncestors(nodes, id) {\n var _nodes$find;\n let allAncestors = [];\n let currentParentId = (_nodes$find = nodes.find(node => node.id === id)) == null ? void 0 : _nodes$find.parentId;\n while (currentParentId) {\n const currentNode = nodes.find(node => node.id === currentParentId);\n currentParentId = currentNode == null ? void 0 : currentNode.parentId;\n if (currentNode) {\n allAncestors = allAncestors.concat(currentNode);\n }\n }\n return allAncestors;\n}\n\nfunction getChildren(nodes, id) {\n let allChildren = nodes.filter(node => {\n var _node$context;\n return node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);\n }) || [];\n let currentChildren = allChildren;\n while (currentChildren.length) {\n currentChildren = nodes.filter(node => {\n var _currentChildren;\n return (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some(n => {\n var _node$context2;\n return node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);\n });\n }) || [];\n allChildren = allChildren.concat(currentChildren);\n }\n return allChildren;\n}\n\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\n\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\n\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\nconst getTabbableOptions = () => ({\n getShadowRoot: true,\n displayCheck:\n // JSDOM does not support the `tabbable` library. To solve this we can\n // check if `ResizeObserver` is a real function (not polyfilled), which\n // determines if the current environment is JSDOM-like.\n typeof ResizeObserver === 'function' && ResizeObserver.toString().includes('[native code]') ? 'full' : 'none'\n});\nfunction getTabbableIn(container, direction) {\n const allTabbable = tabbable(container, getTabbableOptions());\n if (direction === 'prev') {\n allTabbable.reverse();\n }\n const activeIndex = allTabbable.indexOf(activeElement$1(getDocument(container)));\n const nextTabbableElements = allTabbable.slice(activeIndex + 1);\n return nextTabbableElements[0];\n}\nfunction getNextTabbable() {\n return getTabbableIn(document.body, 'next');\n}\nfunction getPreviousTabbable() {\n return getTabbableIn(document.body, 'prev');\n}\nfunction isOutsideEvent(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction disableFocusInside(container) {\n const tabbableElements = tabbable(container, getTabbableOptions());\n tabbableElements.forEach(element => {\n element.dataset.tabindex = element.getAttribute('tabindex') || '';\n element.setAttribute('tabindex', '-1');\n });\n}\nfunction enableFocusInside(container) {\n const elements = container.querySelectorAll('[data-tabindex]');\n elements.forEach(element => {\n const tabindex = element.dataset.tabindex;\n delete element.dataset.tabindex;\n if (tabindex) {\n element.setAttribute('tabindex', tabindex);\n } else {\n element.removeAttribute('tabindex');\n }\n });\n}\n\n// `toString()` prevents bundlers from trying to `import { useInsertionEffect } from 'react'`\nconst useInsertionEffect = React[/*#__PURE__*/'useInsertionEffect'.toString()];\nconst useSafeInsertionEffect = useInsertionEffect || (fn => fn());\nfunction useEvent(callback) {\n const ref = React.useRef(() => {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error('Cannot call an event handler while rendering.');\n }\n });\n useSafeInsertionEffect(() => {\n ref.current = callback;\n });\n return React.useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return ref.current == null ? void 0 : ref.current(...args);\n }, []);\n}\n\n// See Diego Haz's Sandbox for making this logic work well on Safari/iOS:\n// https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/FocusTrap.tsx\n\nconst HIDDEN_STYLES = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'fixed',\n whiteSpace: 'nowrap',\n width: '1px',\n top: 0,\n left: 0\n};\nlet activeElement;\nlet timeoutId;\nfunction setActiveElementOnTab(event) {\n if (event.key === 'Tab') {\n activeElement = event.target;\n clearTimeout(timeoutId);\n }\n}\nfunction isTabFocus(event) {\n const result = activeElement === event.relatedTarget;\n activeElement = event.relatedTarget;\n clearTimeout(timeoutId);\n return result;\n}\nconst FocusGuard = /*#__PURE__*/React.forwardRef(function FocusGuard(props, ref) {\n const onFocus = useEvent(props.onFocus);\n const [role, setRole] = React.useState();\n index(() => {\n if (isSafari()) {\n // Unlike other screen readers such as NVDA and JAWS, the virtual cursor\n // on VoiceOver does trigger the onFocus event, so we can use the focus\n // trap element. On Safari, only buttons trigger the onFocus event.\n // NB: \"group\" role in the Sandbox no longer appears to work, must be a\n // button role.\n setRole('button');\n }\n document.addEventListener('keydown', setActiveElementOnTab);\n return () => {\n document.removeEventListener('keydown', setActiveElementOnTab);\n };\n }, []);\n return /*#__PURE__*/React.createElement(\"span\", _extends({}, props, {\n ref: ref,\n tabIndex: 0\n // Role is only for VoiceOver\n ,\n role: role,\n \"aria-hidden\": role ? undefined : true,\n \"data-floating-ui-focus-guard\": \"\",\n style: HIDDEN_STYLES,\n onFocus: event => {\n if (isSafari() && isMac() && !isTabFocus(event)) {\n // On macOS we need to wait a little bit before moving\n // focus again.\n event.persist();\n timeoutId = window.setTimeout(() => {\n onFocus(event);\n }, 50);\n } else {\n onFocus(event);\n }\n }\n }));\n});\n\nconst PortalContext = /*#__PURE__*/React.createContext(null);\nconst useFloatingPortalNode = function (_temp) {\n let {\n id,\n enabled = true\n } = _temp === void 0 ? {} : _temp;\n const [portalEl, setPortalEl] = React.useState(null);\n const uniqueId = useId();\n const portalContext = usePortalContext();\n index(() => {\n if (!enabled) {\n return;\n }\n const rootNode = id ? document.getElementById(id) : null;\n if (rootNode) {\n rootNode.setAttribute('data-floating-ui-portal', '');\n setPortalEl(rootNode);\n } else {\n const newPortalEl = document.createElement('div');\n if (id !== '') {\n newPortalEl.id = id || uniqueId;\n }\n newPortalEl.setAttribute('data-floating-ui-portal', '');\n setPortalEl(newPortalEl);\n const container = (portalContext == null ? void 0 : portalContext.portalNode) || document.body;\n container.appendChild(newPortalEl);\n return () => {\n container.removeChild(newPortalEl);\n };\n }\n }, [id, portalContext, uniqueId, enabled]);\n return portalEl;\n};\n\n/**\n * Portals the floating element into a given container element — by default,\n * outside of the app root and into the body.\n * @see https://floating-ui.com/docs/FloatingPortal\n */\nconst FloatingPortal = _ref => {\n let {\n children,\n id,\n root = null,\n preserveTabOrder = true\n } = _ref;\n const portalNode = useFloatingPortalNode({\n id,\n enabled: !root\n });\n const [focusManagerState, setFocusManagerState] = React.useState(null);\n const beforeOutsideRef = React.useRef(null);\n const afterOutsideRef = React.useRef(null);\n const beforeInsideRef = React.useRef(null);\n const afterInsideRef = React.useRef(null);\n const shouldRenderGuards =\n // The FocusManager and therefore floating element are currently open/\n // rendered.\n !!focusManagerState &&\n // Guards are only for non-modal focus management.\n !focusManagerState.modal && !!(root || portalNode) && preserveTabOrder;\n\n // https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx\n React.useEffect(() => {\n if (!portalNode || !preserveTabOrder || focusManagerState != null && focusManagerState.modal) {\n return;\n }\n\n // Make sure elements inside the portal element are tabbable only when the\n // portal has already been focused, either by tabbing into a focus trap\n // element outside or using the mouse.\n function onFocus(event) {\n if (portalNode && isOutsideEvent(event)) {\n const focusing = event.type === 'focusin';\n const manageFocus = focusing ? enableFocusInside : disableFocusInside;\n manageFocus(portalNode);\n }\n }\n // Listen to the event on the capture phase so they run before the focus\n // trap elements onFocus prop is called.\n portalNode.addEventListener('focusin', onFocus, true);\n portalNode.addEventListener('focusout', onFocus, true);\n return () => {\n portalNode.removeEventListener('focusin', onFocus, true);\n portalNode.removeEventListener('focusout', onFocus, true);\n };\n }, [portalNode, preserveTabOrder, focusManagerState == null ? void 0 : focusManagerState.modal]);\n return /*#__PURE__*/React.createElement(PortalContext.Provider, {\n value: React.useMemo(() => ({\n preserveTabOrder,\n beforeOutsideRef,\n afterOutsideRef,\n beforeInsideRef,\n afterInsideRef,\n portalNode,\n setFocusManagerState\n }), [preserveTabOrder, portalNode])\n }, shouldRenderGuards && portalNode && /*#__PURE__*/React.createElement(FocusGuard, {\n \"data-type\": \"outside\",\n ref: beforeOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n var _beforeInsideRef$curr;\n (_beforeInsideRef$curr = beforeInsideRef.current) == null ? void 0 : _beforeInsideRef$curr.focus();\n } else {\n const prevTabbable = getPreviousTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);\n prevTabbable == null ? void 0 : prevTabbable.focus();\n }\n }\n }), shouldRenderGuards && portalNode && /*#__PURE__*/React.createElement(\"span\", {\n \"aria-owns\": portalNode.id,\n style: HIDDEN_STYLES\n }), root ? /*#__PURE__*/createPortal(children, root) : portalNode ? /*#__PURE__*/createPortal(children, portalNode) : null, shouldRenderGuards && portalNode && /*#__PURE__*/React.createElement(FocusGuard, {\n \"data-type\": \"outside\",\n ref: afterOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n var _afterInsideRef$curre;\n (_afterInsideRef$curre = afterInsideRef.current) == null ? void 0 : _afterInsideRef$curre.focus();\n } else {\n const nextTabbable = getNextTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);\n nextTabbable == null ? void 0 : nextTabbable.focus();\n (focusManagerState == null ? void 0 : focusManagerState.closeOnFocusOut) && (focusManagerState == null ? void 0 : focusManagerState.onOpenChange(false));\n }\n }\n }));\n};\nconst usePortalContext = () => React.useContext(PortalContext);\n\nconst VisuallyHiddenDismiss = /*#__PURE__*/React.forwardRef(function VisuallyHiddenDismiss(props, ref) {\n return /*#__PURE__*/React.createElement(\"button\", _extends({}, props, {\n type: \"button\",\n ref: ref,\n tabIndex: -1,\n style: HIDDEN_STYLES\n }));\n});\n/**\n * Provides focus management for the floating element.\n * @see https://floating-ui.com/docs/FloatingFocusManager\n */\nfunction FloatingFocusManager(_ref) {\n let {\n context,\n children,\n order = ['content'],\n guards = true,\n initialFocus = 0,\n returnFocus = true,\n modal = true,\n visuallyHiddenDismiss = false,\n closeOnFocusOut = true\n } = _ref;\n const {\n refs,\n nodeId,\n onOpenChange,\n events,\n dataRef,\n elements: {\n domReference,\n floating\n }\n } = context;\n const orderRef = useLatestRef(order);\n const tree = useFloatingTree();\n const portalContext = usePortalContext();\n const [tabbableContentLength, setTabbableContentLength] = React.useState(null);\n\n // Controlled by `useListNavigation`.\n const ignoreInitialFocus = typeof initialFocus === 'number' && initialFocus < 0;\n const startDismissButtonRef = React.useRef(null);\n const endDismissButtonRef = React.useRef(null);\n const preventReturnFocusRef = React.useRef(false);\n const previouslyFocusedElementRef = React.useRef(null);\n const isPointerDownRef = React.useRef(false);\n const isInsidePortal = portalContext != null;\n\n // If the reference is a combobox and is typeable (e.g. input/textarea),\n // there are different focus semantics. The guards should not be rendered, but\n // aria-hidden should be applied to all nodes still. Further, the visually\n // hidden dismiss button should only appear at the end of the list, not the\n // start.\n const isTypeableCombobox = domReference && domReference.getAttribute('role') === 'combobox' && isTypeableElement(domReference);\n const getTabbableContent = React.useCallback(function (container) {\n if (container === void 0) {\n container = floating;\n }\n return container ? tabbable(container, getTabbableOptions()) : [];\n }, [floating]);\n const getTabbableElements = React.useCallback(container => {\n const content = getTabbableContent(container);\n return orderRef.current.map(type => {\n if (domReference && type === 'reference') {\n return domReference;\n }\n if (floating && type === 'floating') {\n return floating;\n }\n return content;\n }).filter(Boolean).flat();\n }, [domReference, floating, orderRef, getTabbableContent]);\n React.useEffect(() => {\n if (!modal) {\n return;\n }\n function onKeyDown(event) {\n if (event.key === 'Tab') {\n // The focus guards have nothing to focus, so we need to stop the event.\n if (getTabbableContent().length === 0 && !isTypeableCombobox) {\n stopEvent(event);\n }\n const els = getTabbableElements();\n const target = getTarget(event);\n if (orderRef.current[0] === 'reference' && target === domReference) {\n stopEvent(event);\n if (event.shiftKey) {\n enqueueFocus(els[els.length - 1]);\n } else {\n enqueueFocus(els[1]);\n }\n }\n if (orderRef.current[1] === 'floating' && target === floating && event.shiftKey) {\n stopEvent(event);\n enqueueFocus(els[0]);\n }\n }\n }\n const doc = getDocument(floating);\n doc.addEventListener('keydown', onKeyDown);\n return () => {\n doc.removeEventListener('keydown', onKeyDown);\n };\n }, [domReference, floating, modal, orderRef, refs, isTypeableCombobox, getTabbableContent, getTabbableElements]);\n React.useEffect(() => {\n if (!closeOnFocusOut) {\n return;\n }\n\n // In Safari, buttons lose focus when pressing them.\n function handlePointerDown() {\n isPointerDownRef.current = true;\n setTimeout(() => {\n isPointerDownRef.current = false;\n });\n }\n function handleFocusOutside(event) {\n const relatedTarget = event.relatedTarget;\n const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext == null ? void 0 : portalContext.portalNode, relatedTarget) || relatedTarget != null && relatedTarget.hasAttribute('data-floating-ui-focus-guard') || tree && (getChildren(tree.nodesRef.current, nodeId).find(node => {\n var _node$context, _node$context2;\n return contains((_node$context = node.context) == null ? void 0 : _node$context.elements.floating, relatedTarget) || contains((_node$context2 = node.context) == null ? void 0 : _node$context2.elements.domReference, relatedTarget);\n }) || getAncestors(tree.nodesRef.current, nodeId).find(node => {\n var _node$context3, _node$context4;\n return ((_node$context3 = node.context) == null ? void 0 : _node$context3.elements.floating) === relatedTarget || ((_node$context4 = node.context) == null ? void 0 : _node$context4.elements.domReference) === relatedTarget;\n })));\n\n // Focus did not move inside the floating tree, and there are no tabbable\n // portal guards to handle closing.\n if (relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current &&\n // Fix React 18 Strict Mode returnFocus due to double rendering.\n relatedTarget !== previouslyFocusedElementRef.current) {\n preventReturnFocusRef.current = true;\n // On iOS VoiceOver, dismissing the nested submenu will cause the\n // first item of the list to receive focus. Delaying it appears to fix\n // the issue.\n setTimeout(() => onOpenChange(false));\n }\n }\n if (floating && isHTMLElement(domReference)) {\n domReference.addEventListener('focusout', handleFocusOutside);\n domReference.addEventListener('pointerdown', handlePointerDown);\n !modal && floating.addEventListener('focusout', handleFocusOutside);\n return () => {\n domReference.removeEventListener('focusout', handleFocusOutside);\n domReference.removeEventListener('pointerdown', handlePointerDown);\n !modal && floating.removeEventListener('focusout', handleFocusOutside);\n };\n }\n }, [domReference, floating, modal, nodeId, tree, portalContext, onOpenChange, closeOnFocusOut]);\n React.useEffect(() => {\n var _portalContext$portal;\n // Don't hide portals nested within the parent portal.\n const portalNodes = Array.from((portalContext == null ? void 0 : (_portalContext$portal = portalContext.portalNode) == null ? void 0 : _portalContext$portal.querySelectorAll('[data-floating-ui-portal]')) || []);\n function getDismissButtons() {\n return [startDismissButtonRef.current, endDismissButtonRef.current].filter(Boolean);\n }\n if (floating && modal) {\n const insideNodes = [floating, ...portalNodes, ...getDismissButtons()];\n const cleanup = hideOthers(orderRef.current.includes('reference') || isTypeableCombobox ? insideNodes.concat(domReference || []) : insideNodes);\n return () => {\n cleanup();\n };\n }\n }, [domReference, floating, modal, orderRef, portalContext, isTypeableCombobox]);\n React.useEffect(() => {\n if (modal && !guards && floating) {\n const tabIndexValues = [];\n const options = getTabbableOptions();\n const allTabbable = tabbable(getDocument(floating).body, options);\n const floatingTabbable = getTabbableElements();\n\n // Exclude all tabbable elements that are part of the order\n const elements = allTabbable.filter(el => !floatingTabbable.includes(el));\n elements.forEach((el, i) => {\n tabIndexValues[i] = el.getAttribute('tabindex');\n el.setAttribute('tabindex', '-1');\n });\n return () => {\n elements.forEach((el, i) => {\n const value = tabIndexValues[i];\n if (value == null) {\n el.removeAttribute('tabindex');\n } else {\n el.setAttribute('tabindex', value);\n }\n });\n };\n }\n }, [floating, modal, guards, getTabbableElements]);\n index(() => {\n if (!floating) return;\n const doc = getDocument(floating);\n let returnFocusValue = returnFocus;\n let preventReturnFocusScroll = false;\n const previouslyFocusedElement = activeElement$1(doc);\n const contextData = dataRef.current;\n previouslyFocusedElementRef.current = previouslyFocusedElement;\n const focusableElements = getTabbableElements(floating);\n const elToFocus = (typeof initialFocus === 'number' ? focusableElements[initialFocus] : initialFocus.current) || floating;\n\n // If the `useListNavigation` hook is active, always ignore `initialFocus`\n // because it has its own handling of the initial focus.\n !ignoreInitialFocus && enqueueFocus(elToFocus, {\n preventScroll: elToFocus === floating\n });\n\n // Dismissing via outside press should always ignore `returnFocus` to\n // prevent unwanted scrolling.\n function onDismiss(payload) {\n if (payload.type === 'escapeKey' && refs.domReference.current) {\n previouslyFocusedElementRef.current = refs.domReference.current;\n }\n if (['referencePress', 'escapeKey'].includes(payload.type)) {\n return;\n }\n const returnFocus = payload.data.returnFocus;\n if (typeof returnFocus === 'object') {\n returnFocusValue = true;\n preventReturnFocusScroll = returnFocus.preventScroll;\n } else {\n returnFocusValue = returnFocus;\n }\n }\n events.on('dismiss', onDismiss);\n return () => {\n events.off('dismiss', onDismiss);\n if (contains(floating, activeElement$1(doc)) && refs.domReference.current) {\n previouslyFocusedElementRef.current = refs.domReference.current;\n }\n if (returnFocusValue && isHTMLElement(previouslyFocusedElementRef.current) && !preventReturnFocusRef.current) {\n // `isPointerDownRef.current` to avoid the focus ring from appearing on\n // the reference element when click-toggling it.\n if (!refs.domReference.current || isPointerDownRef.current) {\n enqueueFocus(previouslyFocusedElementRef.current, {\n // When dismissing nested floating elements, by the time the rAF has\n // executed, the menus will all have been unmounted. When they try\n // to get focused, the calls get ignored — leaving the root\n // reference focused as desired.\n cancelPrevious: false,\n preventScroll: preventReturnFocusScroll\n });\n } else {\n var _previouslyFocusedEle;\n // If the user has specified a `keydown` listener that calls\n // setOpen(false) (e.g. selecting an item and closing the floating\n // element), then sync return focus causes `useClick` to immediately\n // re-open it, unless they call `event.preventDefault()` in the\n // `keydown` listener. This helps keep backwards compatibility with\n // older examples.\n contextData.__syncReturnFocus = true;\n\n // In Safari, `useListNavigation` moves focus sync, so making this\n // sync ensures the initial item remains focused despite this being\n // invoked in Strict Mode due to double-invoked useEffects. This also\n // has the positive side effect of closing a modally focus-managed\n // on `Tab` keydown to move naturally to the next focusable\n // element.\n (_previouslyFocusedEle = previouslyFocusedElementRef.current) == null ? void 0 : _previouslyFocusedEle.focus({\n preventScroll: preventReturnFocusScroll\n });\n setTimeout(() => {\n // This isn't an actual property the user should access, make sure\n // it doesn't persist.\n delete contextData.__syncReturnFocus;\n });\n }\n }\n };\n }, [floating, getTabbableElements, initialFocus, returnFocus, dataRef, refs, events, ignoreInitialFocus]);\n\n // Synchronize the `context` & `modal` value to the FloatingPortal context.\n // It will decide whether or not it needs to render its own guards.\n index(() => {\n if (!portalContext) return;\n portalContext.setFocusManagerState({\n ...context,\n modal,\n closeOnFocusOut\n // Not concerned about the generic type.\n });\n\n return () => {\n portalContext.setFocusManagerState(null);\n };\n }, [portalContext, modal, closeOnFocusOut, context]);\n index(() => {\n if (ignoreInitialFocus || !floating) return;\n function setState() {\n setTabbableContentLength(getTabbableContent().length);\n }\n setState();\n if (typeof MutationObserver === 'function') {\n const observer = new MutationObserver(setState);\n observer.observe(floating, {\n childList: true,\n subtree: true\n });\n return () => {\n observer.disconnect();\n };\n }\n }, [floating, getTabbableContent, ignoreInitialFocus, refs]);\n const shouldRenderGuards = guards && (isInsidePortal || modal) && !isTypeableCombobox;\n function renderDismissButton(location) {\n return visuallyHiddenDismiss && modal ? /*#__PURE__*/React.createElement(VisuallyHiddenDismiss, {\n ref: location === 'start' ? startDismissButtonRef : endDismissButtonRef,\n onClick: () => onOpenChange(false)\n }, typeof visuallyHiddenDismiss === 'string' ? visuallyHiddenDismiss : 'Dismiss') : null;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, shouldRenderGuards && /*#__PURE__*/React.createElement(FocusGuard, {\n \"data-type\": \"inside\",\n ref: portalContext == null ? void 0 : portalContext.beforeInsideRef,\n onFocus: event => {\n if (modal) {\n const els = getTabbableElements();\n enqueueFocus(order[0] === 'reference' ? els[0] : els[els.length - 1]);\n } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n preventReturnFocusRef.current = false;\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const nextTabbable = getNextTabbable() || domReference;\n nextTabbable == null ? void 0 : nextTabbable.focus();\n } else {\n var _portalContext$before;\n (_portalContext$before = portalContext.beforeOutsideRef.current) == null ? void 0 : _portalContext$before.focus();\n }\n }\n }\n }), isTypeableCombobox ? null : renderDismissButton('start'), /*#__PURE__*/React.cloneElement(children, tabbableContentLength === 0 || order.includes('floating') ? {\n tabIndex: 0\n } : {}), renderDismissButton('end'), shouldRenderGuards && /*#__PURE__*/React.createElement(FocusGuard, {\n \"data-type\": \"inside\",\n ref: portalContext == null ? void 0 : portalContext.afterInsideRef,\n onFocus: event => {\n if (modal) {\n enqueueFocus(getTabbableElements()[0]);\n } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n preventReturnFocusRef.current = true;\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const prevTabbable = getPreviousTabbable() || domReference;\n prevTabbable == null ? void 0 : prevTabbable.focus();\n } else {\n var _portalContext$afterO;\n (_portalContext$afterO = portalContext.afterOutsideRef.current) == null ? void 0 : _portalContext$afterO.focus();\n }\n }\n }\n }));\n}\n\nconst identifier = 'data-floating-ui-scroll-lock';\n\n/**\n * Provides base styling for a fixed overlay element to dim content or block\n * pointer events behind a floating element.\n * It's a regular `
`, so it can be styled via any CSS solution you prefer.\n * @see https://floating-ui.com/docs/FloatingOverlay\n */\nconst FloatingOverlay = /*#__PURE__*/React.forwardRef(function FloatingOverlay(_ref, ref) {\n let {\n lockScroll = false,\n ...rest\n } = _ref;\n index(() => {\n var _window$visualViewpor, _window$visualViewpor2;\n if (!lockScroll) {\n return;\n }\n const alreadyLocked = document.body.hasAttribute(identifier);\n if (alreadyLocked) {\n return;\n }\n document.body.setAttribute(identifier, '');\n\n // RTL scrollbar\n const scrollbarX = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft;\n const paddingProp = scrollbarX ? 'paddingLeft' : 'paddingRight';\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\n // Only iOS doesn't respect `overflow: hidden` on document.body, and this\n // technique has fewer side effects.\n if (!/iP(hone|ad|od)|iOS/.test(getPlatform())) {\n Object.assign(document.body.style, {\n overflow: 'hidden',\n [paddingProp]: scrollbarWidth + \"px\"\n });\n return () => {\n document.body.removeAttribute(identifier);\n Object.assign(document.body.style, {\n overflow: '',\n [paddingProp]: ''\n });\n };\n }\n\n // iOS 12 does not support `visualViewport`.\n const offsetLeft = ((_window$visualViewpor = window.visualViewport) == null ? void 0 : _window$visualViewpor.offsetLeft) || 0;\n const offsetTop = ((_window$visualViewpor2 = window.visualViewport) == null ? void 0 : _window$visualViewpor2.offsetTop) || 0;\n const scrollX = window.pageXOffset;\n const scrollY = window.pageYOffset;\n Object.assign(document.body.style, {\n position: 'fixed',\n overflow: 'hidden',\n top: -(scrollY - Math.floor(offsetTop)) + \"px\",\n left: -(scrollX - Math.floor(offsetLeft)) + \"px\",\n right: '0',\n [paddingProp]: scrollbarWidth + \"px\"\n });\n return () => {\n Object.assign(document.body.style, {\n position: '',\n overflow: '',\n top: '',\n left: '',\n right: '',\n [paddingProp]: ''\n });\n document.body.removeAttribute(identifier);\n window.scrollTo(scrollX, scrollY);\n };\n }, [lockScroll]);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref\n }, rest, {\n style: {\n position: 'fixed',\n overflow: 'auto',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...rest.style\n }\n }));\n});\n\nfunction isButtonTarget(event) {\n return isHTMLElement(event.target) && event.target.tagName === 'BUTTON';\n}\nfunction isSpaceIgnored(element) {\n return isTypeableElement(element);\n}\n/**\n * Opens or closes the floating element when clicking the reference element.\n * @see https://floating-ui.com/docs/useClick\n */\nconst useClick = function (_ref, _temp) {\n let {\n open,\n onOpenChange,\n dataRef,\n elements: {\n domReference\n }\n } = _ref;\n let {\n enabled = true,\n event: eventOption = 'click',\n toggle = true,\n ignoreMouse = false,\n keyboardHandlers = true\n } = _temp === void 0 ? {} : _temp;\n const pointerTypeRef = React.useRef();\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n return {\n reference: {\n onPointerDown(event) {\n pointerTypeRef.current = event.pointerType;\n },\n onMouseDown(event) {\n // Ignore all buttons except for the \"main\" button.\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n if (event.button !== 0) {\n return;\n }\n if (isMouseLikePointerType(pointerTypeRef.current, true) && ignoreMouse) {\n return;\n }\n if (eventOption === 'click') {\n return;\n }\n if (open) {\n if (toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === 'mousedown' : true)) {\n onOpenChange(false);\n }\n } else {\n // Prevent stealing focus from the floating element\n event.preventDefault();\n onOpenChange(true);\n }\n dataRef.current.openEvent = event.nativeEvent;\n },\n onClick(event) {\n if (dataRef.current.__syncReturnFocus) {\n return;\n }\n if (eventOption === 'mousedown' && pointerTypeRef.current) {\n pointerTypeRef.current = undefined;\n return;\n }\n if (isMouseLikePointerType(pointerTypeRef.current, true) && ignoreMouse) {\n return;\n }\n if (open) {\n if (toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === 'click' : true)) {\n onOpenChange(false);\n }\n } else {\n onOpenChange(true);\n }\n dataRef.current.openEvent = event.nativeEvent;\n },\n onKeyDown(event) {\n pointerTypeRef.current = undefined;\n if (!keyboardHandlers) {\n return;\n }\n if (isButtonTarget(event)) {\n return;\n }\n if (event.key === ' ' && !isSpaceIgnored(domReference)) {\n // Prevent scrolling\n event.preventDefault();\n }\n if (event.key === 'Enter') {\n if (open) {\n if (toggle) {\n onOpenChange(false);\n }\n } else {\n onOpenChange(true);\n }\n }\n },\n onKeyUp(event) {\n if (!keyboardHandlers) {\n return;\n }\n if (isButtonTarget(event) || isSpaceIgnored(domReference)) {\n return;\n }\n if (event.key === ' ') {\n if (open) {\n if (toggle) {\n onOpenChange(false);\n }\n } else {\n onOpenChange(true);\n }\n }\n }\n }\n };\n }, [enabled, dataRef, eventOption, ignoreMouse, keyboardHandlers, domReference, toggle, open, onOpenChange]);\n};\n\n/**\n * Check whether the event.target is within the provided node. Uses event.composedPath if available for custom element support.\n *\n * @param event The event whose target/composedPath to check\n * @param node The node to check against\n * @returns Whether the event.target/composedPath is within the node.\n */\nfunction isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const e = event;\n return e.target != null && node.contains(e.target);\n}\n\nconst bubbleHandlerKeys = {\n pointerdown: 'onPointerDown',\n mousedown: 'onMouseDown',\n click: 'onClick'\n};\nconst captureHandlerKeys = {\n pointerdown: 'onPointerDownCapture',\n mousedown: 'onMouseDownCapture',\n click: 'onClickCapture'\n};\nconst normalizeBubblesProp = function (bubbles) {\n var _bubbles$escapeKey, _bubbles$outsidePress;\n if (bubbles === void 0) {\n bubbles = true;\n }\n return {\n escapeKeyBubbles: typeof bubbles === 'boolean' ? bubbles : (_bubbles$escapeKey = bubbles.escapeKey) != null ? _bubbles$escapeKey : true,\n outsidePressBubbles: typeof bubbles === 'boolean' ? bubbles : (_bubbles$outsidePress = bubbles.outsidePress) != null ? _bubbles$outsidePress : true\n };\n};\n/**\n * Closes the floating element when a dismissal is requested — by default, when\n * the user presses the `escape` key or outside of the floating element.\n * @see https://floating-ui.com/docs/useDismiss\n */\nconst useDismiss = function (_ref, _temp) {\n let {\n open,\n onOpenChange,\n events,\n nodeId,\n elements: {\n reference,\n domReference,\n floating\n },\n dataRef\n } = _ref;\n let {\n enabled = true,\n escapeKey = true,\n outsidePress: unstable_outsidePress = true,\n outsidePressEvent = 'pointerdown',\n referencePress = false,\n referencePressEvent = 'pointerdown',\n ancestorScroll = false,\n bubbles = true\n } = _temp === void 0 ? {} : _temp;\n const tree = useFloatingTree();\n const nested = useFloatingParentNodeId() != null;\n const outsidePressFn = useEvent(typeof unstable_outsidePress === 'function' ? unstable_outsidePress : () => false);\n const outsidePress = typeof unstable_outsidePress === 'function' ? outsidePressFn : unstable_outsidePress;\n const insideReactTreeRef = React.useRef(false);\n const {\n escapeKeyBubbles,\n outsidePressBubbles\n } = normalizeBubblesProp(bubbles);\n React.useEffect(() => {\n if (!open || !enabled) {\n return;\n }\n dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;\n dataRef.current.__outsidePressBubbles = outsidePressBubbles;\n function onKeyDown(event) {\n if (event.key === 'Escape') {\n const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context;\n if ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n events.emit('dismiss', {\n type: 'escapeKey',\n data: {\n returnFocus: {\n preventScroll: false\n }\n }\n });\n onOpenChange(false);\n }\n }\n function onOutsidePress(event) {\n // Given developers can stop the propagation of the synthetic event,\n // we can only be confident with a positive value.\n const insideReactTree = insideReactTreeRef.current;\n insideReactTreeRef.current = false;\n if (insideReactTree) {\n return;\n }\n if (typeof outsidePress === 'function' && !outsidePress(event)) {\n return;\n }\n const target = getTarget(event);\n\n // Check if the click occurred on the scrollbar\n if (isHTMLElement(target) && floating) {\n const win = floating.ownerDocument.defaultView || window;\n const canScrollX = target.scrollWidth > target.clientWidth;\n const canScrollY = target.scrollHeight > target.clientHeight;\n let xCond = canScrollY && event.offsetX > target.clientWidth;\n\n // In some browsers it is possible to change the (or window)\n // scrollbar to the left side, but is very rare and is difficult to\n // check for. Plus, for modal dialogs with backdrops, it is more\n // important that the backdrop is checked but not so much the window.\n if (canScrollY) {\n const isRTL = win.getComputedStyle(target).direction === 'rtl';\n if (isRTL) {\n xCond = event.offsetX <= target.offsetWidth - target.clientWidth;\n }\n }\n if (xCond || canScrollX && event.offsetY > target.clientHeight) {\n return;\n }\n }\n const targetIsInsideChildren = tree && getChildren(tree.nodesRef.current, nodeId).some(node => {\n var _node$context;\n return isEventTargetWithin(event, (_node$context = node.context) == null ? void 0 : _node$context.elements.floating);\n });\n if (isEventTargetWithin(event, floating) || isEventTargetWithin(event, domReference) || targetIsInsideChildren) {\n return;\n }\n const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context2;\n if ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n events.emit('dismiss', {\n type: 'outsidePress',\n data: {\n returnFocus: nested ? {\n preventScroll: true\n } : isVirtualClick(event) || isVirtualPointerEvent(event)\n }\n });\n onOpenChange(false);\n }\n function onScroll() {\n onOpenChange(false);\n }\n const doc = getDocument(floating);\n escapeKey && doc.addEventListener('keydown', onKeyDown);\n outsidePress && doc.addEventListener(outsidePressEvent, onOutsidePress);\n let ancestors = [];\n if (ancestorScroll) {\n if (isElement(domReference)) {\n ancestors = getOverflowAncestors(domReference);\n }\n if (isElement(floating)) {\n ancestors = ancestors.concat(getOverflowAncestors(floating));\n }\n if (!isElement(reference) && reference && reference.contextElement) {\n ancestors = ancestors.concat(getOverflowAncestors(reference.contextElement));\n }\n }\n\n // Ignore the visual viewport for scrolling dismissal (allow pinch-zoom)\n ancestors = ancestors.filter(ancestor => {\n var _doc$defaultView;\n return ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);\n });\n ancestors.forEach(ancestor => {\n ancestor.addEventListener('scroll', onScroll, {\n passive: true\n });\n });\n return () => {\n escapeKey && doc.removeEventListener('keydown', onKeyDown);\n outsidePress && doc.removeEventListener(outsidePressEvent, onOutsidePress);\n ancestors.forEach(ancestor => {\n ancestor.removeEventListener('scroll', onScroll);\n });\n };\n }, [dataRef, floating, domReference, reference, escapeKey, outsidePress, outsidePressEvent, events, tree, nodeId, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, nested]);\n React.useEffect(() => {\n insideReactTreeRef.current = false;\n }, [outsidePress, outsidePressEvent]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n return {\n reference: {\n [bubbleHandlerKeys[referencePressEvent]]: () => {\n if (referencePress) {\n events.emit('dismiss', {\n type: 'referencePress',\n data: {\n returnFocus: false\n }\n });\n onOpenChange(false);\n }\n }\n },\n floating: {\n [captureHandlerKeys[outsidePressEvent]]: () => {\n insideReactTreeRef.current = true;\n }\n }\n };\n }, [enabled, events, referencePress, outsidePressEvent, referencePressEvent, onOpenChange]);\n};\n\n/**\n * Opens the floating element while the reference element has focus, like CSS\n * `:focus`.\n * @see https://floating-ui.com/docs/useFocus\n */\nconst useFocus = function (_ref, _temp) {\n let {\n open,\n onOpenChange,\n dataRef,\n events,\n refs,\n elements: {\n floating,\n domReference\n }\n } = _ref;\n let {\n enabled = true,\n keyboardOnly = true\n } = _temp === void 0 ? {} : _temp;\n const pointerTypeRef = React.useRef('');\n const blockFocusRef = React.useRef(false);\n const timeoutRef = React.useRef();\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n const doc = getDocument(floating);\n const win = doc.defaultView || window;\n\n // If the reference was focused and the user left the tab/window, and the\n // floating element was not open, the focus should be blocked when they\n // return to the tab/window.\n function onBlur() {\n if (!open && isHTMLElement(domReference) && domReference === activeElement$1(getDocument(domReference))) {\n blockFocusRef.current = true;\n }\n }\n win.addEventListener('blur', onBlur);\n return () => {\n win.removeEventListener('blur', onBlur);\n };\n }, [floating, domReference, open, enabled]);\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n function onDismiss(payload) {\n if (payload.type === 'referencePress' || payload.type === 'escapeKey') {\n blockFocusRef.current = true;\n }\n }\n events.on('dismiss', onDismiss);\n return () => {\n events.off('dismiss', onDismiss);\n };\n }, [events, enabled]);\n React.useEffect(() => {\n return () => {\n clearTimeout(timeoutRef.current);\n };\n }, []);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n return {\n reference: {\n onPointerDown(_ref2) {\n let {\n pointerType\n } = _ref2;\n pointerTypeRef.current = pointerType;\n blockFocusRef.current = !!(pointerType && keyboardOnly);\n },\n onMouseLeave() {\n blockFocusRef.current = false;\n },\n onFocus(event) {\n var _dataRef$current$open;\n if (blockFocusRef.current) {\n return;\n }\n\n // Dismiss with click should ignore the subsequent `focus` trigger,\n // but only if the click originated inside the reference element.\n if (event.type === 'focus' && ((_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type) === 'mousedown' && dataRef.current.openEvent && isEventTargetWithin(dataRef.current.openEvent, domReference)) {\n return;\n }\n dataRef.current.openEvent = event.nativeEvent;\n onOpenChange(true);\n },\n onBlur(event) {\n blockFocusRef.current = false;\n const relatedTarget = event.relatedTarget;\n\n // Hit the non-modal focus management portal guard. Focus will be\n // moved into the floating element immediately after.\n const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute('data-floating-ui-focus-guard') && relatedTarget.getAttribute('data-type') === 'outside';\n\n // Wait for the window blur listener to fire.\n timeoutRef.current = setTimeout(() => {\n // When focusing the reference element (e.g. regular click), then\n // clicking into the floating element, prevent it from hiding.\n // Note: it must be focusable, e.g. `tabindex=\"-1\"`.\n if (contains(refs.floating.current, relatedTarget) || contains(domReference, relatedTarget) || movedToFocusGuard) {\n return;\n }\n onOpenChange(false);\n });\n }\n }\n };\n }, [enabled, keyboardOnly, domReference, refs, dataRef, onOpenChange]);\n};\n\nlet isPreventScrollSupported = false;\nconst ARROW_UP = 'ArrowUp';\nconst ARROW_DOWN = 'ArrowDown';\nconst ARROW_LEFT = 'ArrowLeft';\nconst ARROW_RIGHT = 'ArrowRight';\nfunction isDifferentRow(index, cols, prevRow) {\n return Math.floor(index / cols) !== prevRow;\n}\nfunction isIndexOutOfBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nfunction findNonDisabledIndex(listRef, _temp) {\n let {\n startingIndex = -1,\n decrement = false,\n disabledIndices,\n amount = 1\n } = _temp === void 0 ? {} : _temp;\n const list = listRef.current;\n let index = startingIndex;\n do {\n var _list$index, _list$index2;\n index = index + (decrement ? -amount : amount);\n } while (index >= 0 && index <= list.length - 1 && (disabledIndices ? disabledIndices.includes(index) : list[index] == null || ((_list$index = list[index]) == null ? void 0 : _list$index.hasAttribute('disabled')) || ((_list$index2 = list[index]) == null ? void 0 : _list$index2.getAttribute('aria-disabled')) === 'true'));\n return index;\n}\nfunction doSwitch(orientation, vertical, horizontal) {\n switch (orientation) {\n case 'vertical':\n return vertical;\n case 'horizontal':\n return horizontal;\n default:\n return vertical || horizontal;\n }\n}\nfunction isMainOrientationKey(key, orientation) {\n const vertical = key === ARROW_UP || key === ARROW_DOWN;\n const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n const vertical = key === ARROW_DOWN;\n const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal) || key === 'Enter' || key == ' ' || key === '';\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n const horizontal = key === ARROW_DOWN;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n const horizontal = key === ARROW_UP;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction getMinIndex(listRef, disabledIndices) {\n return findNonDisabledIndex(listRef, {\n disabledIndices\n });\n}\nfunction getMaxIndex(listRef, disabledIndices) {\n return findNonDisabledIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\n/**\n * Adds arrow key-based navigation of a list of items, either using real DOM\n * focus or virtual focus.\n * @see https://floating-ui.com/docs/useListNavigation\n */\nconst useListNavigation = function (_ref, _temp2) {\n let {\n open,\n onOpenChange,\n refs,\n elements: {\n domReference\n }\n } = _ref;\n let {\n listRef,\n activeIndex,\n onNavigate: unstable_onNavigate = () => {},\n enabled = true,\n selectedIndex = null,\n allowEscape = false,\n loop = false,\n nested = false,\n rtl = false,\n virtual = false,\n focusItemOnOpen = 'auto',\n focusItemOnHover = true,\n openOnArrowKeyDown = true,\n disabledIndices = undefined,\n orientation = 'vertical',\n cols = 1,\n scrollItemIntoView = true\n } = _temp2 === void 0 ? {\n listRef: {\n current: []\n },\n activeIndex: null,\n onNavigate: () => {}\n } : _temp2;\n if (process.env.NODE_ENV !== \"production\") {\n if (allowEscape) {\n if (!loop) {\n console.warn(['Floating UI: `useListNavigation` looping must be enabled to allow', 'escaping.'].join(' '));\n }\n if (!virtual) {\n console.warn(['Floating UI: `useListNavigation` must be virtual to allow', 'escaping.'].join(' '));\n }\n }\n if (orientation === 'vertical' && cols > 1) {\n console.warn(['Floating UI: In grid list navigation mode (`cols` > 1), the', '`orientation` should be either \"horizontal\" or \"both\".'].join(' '));\n }\n }\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree();\n const onNavigate = useEvent(unstable_onNavigate);\n const focusItemOnOpenRef = React.useRef(focusItemOnOpen);\n const indexRef = React.useRef(selectedIndex != null ? selectedIndex : -1);\n const keyRef = React.useRef(null);\n const isPointerModalityRef = React.useRef(true);\n const previousOnNavigateRef = React.useRef(onNavigate);\n const previousOpenRef = React.useRef(open);\n const forceSyncFocus = React.useRef(false);\n const forceScrollIntoViewRef = React.useRef(false);\n const disabledIndicesRef = useLatestRef(disabledIndices);\n const latestOpenRef = useLatestRef(open);\n const scrollItemIntoViewRef = useLatestRef(scrollItemIntoView);\n const [activeId, setActiveId] = React.useState();\n const focusItem = React.useCallback(function (listRef, indexRef, forceScrollIntoView) {\n if (forceScrollIntoView === void 0) {\n forceScrollIntoView = false;\n }\n const item = listRef.current[indexRef.current];\n if (virtual) {\n setActiveId(item == null ? void 0 : item.id);\n } else {\n enqueueFocus(item, {\n preventScroll: true,\n // Mac Safari does not move the virtual cursor unless the focus call\n // is sync. However, for the very first focus call, we need to wait\n // for the position to be ready in order to prevent unwanted\n // scrolling. This means the virtual cursor will not move to the first\n // item when first opening the floating element, but will on\n // subsequent calls. `preventScroll` is supported in modern Safari,\n // so we can use that instead.\n // iOS Safari must be async or the first item will not be focused.\n sync: isMac() && isSafari() ? isPreventScrollSupported || forceSyncFocus.current : false\n });\n }\n requestAnimationFrame(() => {\n const scrollIntoViewOptions = scrollItemIntoViewRef.current;\n const shouldScrollIntoView = scrollIntoViewOptions && item && (forceScrollIntoView || !isPointerModalityRef.current);\n if (shouldScrollIntoView) {\n // JSDOM doesn't support `.scrollIntoView()` but it's widely supported\n // by all browsers.\n item.scrollIntoView == null ? void 0 : item.scrollIntoView(typeof scrollIntoViewOptions === 'boolean' ? {\n block: 'nearest',\n inline: 'nearest'\n } : scrollIntoViewOptions);\n }\n });\n }, [virtual, scrollItemIntoViewRef]);\n index(() => {\n document.createElement('div').focus({\n get preventScroll() {\n isPreventScrollSupported = true;\n return false;\n }\n });\n }, []);\n\n // Sync `selectedIndex` to be the `activeIndex` upon opening the floating\n // element. Also, reset `activeIndex` upon closing the floating element.\n index(() => {\n if (!enabled) {\n return;\n }\n if (open) {\n if (focusItemOnOpenRef.current && selectedIndex != null) {\n // Regardless of the pointer modality, we want to ensure the selected\n // item comes into view when the floating element is opened.\n forceScrollIntoViewRef.current = true;\n onNavigate(selectedIndex);\n }\n } else if (previousOpenRef.current) {\n // Since the user can specify `onNavigate` conditionally\n // (onNavigate: open ? setActiveIndex : setSelectedIndex),\n // we store and call the previous function.\n indexRef.current = -1;\n previousOnNavigateRef.current(null);\n }\n }, [enabled, open, selectedIndex, onNavigate]);\n\n // Sync `activeIndex` to be the focused item while the floating element is\n // open.\n index(() => {\n if (!enabled) {\n return;\n }\n if (open) {\n if (activeIndex == null) {\n forceSyncFocus.current = false;\n if (selectedIndex != null) {\n return;\n }\n\n // Reset while the floating element was open (e.g. the list changed).\n if (previousOpenRef.current) {\n indexRef.current = -1;\n focusItem(listRef, indexRef);\n }\n\n // Initial sync.\n if (!previousOpenRef.current && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinIndex(listRef, disabledIndicesRef.current) : getMaxIndex(listRef, disabledIndicesRef.current);\n onNavigate(indexRef.current);\n }\n } else if (!isIndexOutOfBounds(listRef, activeIndex)) {\n indexRef.current = activeIndex;\n focusItem(listRef, indexRef, forceScrollIntoViewRef.current);\n forceScrollIntoViewRef.current = false;\n }\n }\n }, [enabled, open, activeIndex, selectedIndex, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);\n\n // Ensure the parent floating element has focus when a nested child closes\n // to allow arrow key navigation to work after the pointer leaves the child.\n index(() => {\n if (!enabled) {\n return;\n }\n if (previousOpenRef.current && !open) {\n var _tree$nodesRef$curren, _tree$nodesRef$curren2;\n const parentFloating = tree == null ? void 0 : (_tree$nodesRef$curren = tree.nodesRef.current.find(node => node.id === parentId)) == null ? void 0 : (_tree$nodesRef$curren2 = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren2.elements.floating;\n if (parentFloating && !contains(parentFloating, activeElement$1(getDocument(parentFloating)))) {\n parentFloating.focus({\n preventScroll: true\n });\n }\n }\n }, [enabled, open, tree, parentId]);\n index(() => {\n keyRef.current = null;\n previousOnNavigateRef.current = onNavigate;\n previousOpenRef.current = open;\n });\n const hasActiveIndex = activeIndex != null;\n const item = React.useMemo(() => {\n function syncCurrentTarget(currentTarget) {\n if (!open) return;\n const index = listRef.current.indexOf(currentTarget);\n if (index !== -1) {\n onNavigate(index);\n }\n }\n const props = {\n onFocus(_ref2) {\n let {\n currentTarget\n } = _ref2;\n syncCurrentTarget(currentTarget);\n },\n onClick: _ref3 => {\n let {\n currentTarget\n } = _ref3;\n return currentTarget.focus({\n preventScroll: true\n });\n },\n // Safari\n ...(focusItemOnHover && {\n onMouseMove(_ref4) {\n let {\n currentTarget\n } = _ref4;\n syncCurrentTarget(currentTarget);\n },\n onPointerLeave() {\n if (!isPointerModalityRef.current) {\n return;\n }\n indexRef.current = -1;\n focusItem(listRef, indexRef);\n\n // Virtual cursor with VoiceOver on iOS needs this to be flushed\n // synchronously or there is a glitch that prevents nested\n // submenus from being accessible.\n flushSync(() => onNavigate(null));\n if (!virtual) {\n var _refs$floating$curren;\n // This also needs to be sync to prevent fast mouse movements\n // from leaving behind a stale active item when landing on a\n // disabled button item.\n (_refs$floating$curren = refs.floating.current) == null ? void 0 : _refs$floating$curren.focus({\n preventScroll: true\n });\n }\n }\n })\n };\n return props;\n }, [open, refs, focusItem, focusItemOnHover, listRef, onNavigate, virtual]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n const disabledIndices = disabledIndicesRef.current;\n function onKeyDown(event) {\n isPointerModalityRef.current = false;\n forceSyncFocus.current = true;\n\n // If the floating element is animating out, ignore navigation. Otherwise,\n // the `activeIndex` gets set to 0 despite not being open so the next time\n // the user ArrowDowns, the first item won't be focused.\n if (!latestOpenRef.current && event.currentTarget === refs.floating.current) {\n return;\n }\n if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl)) {\n stopEvent(event);\n onOpenChange(false);\n if (isHTMLElement(domReference)) {\n domReference.focus();\n }\n return;\n }\n const currentIndex = indexRef.current;\n const minIndex = getMinIndex(listRef, disabledIndices);\n const maxIndex = getMaxIndex(listRef, disabledIndices);\n if (event.key === 'Home') {\n indexRef.current = minIndex;\n onNavigate(indexRef.current);\n }\n if (event.key === 'End') {\n indexRef.current = maxIndex;\n onNavigate(indexRef.current);\n }\n\n // Grid navigation.\n if (cols > 1) {\n const prevIndex = indexRef.current;\n if (event.key === ARROW_UP) {\n stopEvent(event);\n if (prevIndex === -1) {\n indexRef.current = maxIndex;\n } else {\n indexRef.current = findNonDisabledIndex(listRef, {\n startingIndex: prevIndex,\n amount: cols,\n decrement: true,\n disabledIndices\n });\n if (loop && (prevIndex - cols < minIndex || indexRef.current < 0)) {\n const col = prevIndex % cols;\n const maxCol = maxIndex % cols;\n const offset = maxIndex - (maxCol - col);\n if (maxCol === col) {\n indexRef.current = maxIndex;\n } else {\n indexRef.current = maxCol > col ? offset : offset - cols;\n }\n }\n }\n if (isIndexOutOfBounds(listRef, indexRef.current)) {\n indexRef.current = prevIndex;\n }\n onNavigate(indexRef.current);\n }\n if (event.key === ARROW_DOWN) {\n stopEvent(event);\n if (prevIndex === -1) {\n indexRef.current = minIndex;\n } else {\n indexRef.current = findNonDisabledIndex(listRef, {\n startingIndex: prevIndex,\n amount: cols,\n disabledIndices\n });\n if (loop && prevIndex + cols > maxIndex) {\n indexRef.current = findNonDisabledIndex(listRef, {\n startingIndex: prevIndex % cols - cols,\n amount: cols,\n disabledIndices\n });\n }\n }\n if (isIndexOutOfBounds(listRef, indexRef.current)) {\n indexRef.current = prevIndex;\n }\n onNavigate(indexRef.current);\n }\n\n // Remains on the same row/column.\n if (orientation === 'both') {\n const prevRow = Math.floor(prevIndex / cols);\n if (event.key === ARROW_RIGHT) {\n stopEvent(event);\n if (prevIndex % cols !== cols - 1) {\n indexRef.current = findNonDisabledIndex(listRef, {\n startingIndex: prevIndex,\n disabledIndices\n });\n if (loop && isDifferentRow(indexRef.current, cols, prevRow)) {\n indexRef.current = findNonDisabledIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n } else if (loop) {\n indexRef.current = findNonDisabledIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n if (isDifferentRow(indexRef.current, cols, prevRow)) {\n indexRef.current = prevIndex;\n }\n }\n if (event.key === ARROW_LEFT) {\n stopEvent(event);\n if (prevIndex % cols !== 0) {\n indexRef.current = findNonDisabledIndex(listRef, {\n startingIndex: prevIndex,\n disabledIndices,\n decrement: true\n });\n if (loop && isDifferentRow(indexRef.current, cols, prevRow)) {\n indexRef.current = findNonDisabledIndex(listRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n } else if (loop) {\n indexRef.current = findNonDisabledIndex(listRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n if (isDifferentRow(indexRef.current, cols, prevRow)) {\n indexRef.current = prevIndex;\n }\n }\n const lastRow = Math.floor(maxIndex / cols) === prevRow;\n if (isIndexOutOfBounds(listRef, indexRef.current)) {\n if (loop && lastRow) {\n indexRef.current = event.key === ARROW_LEFT ? maxIndex : findNonDisabledIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n } else {\n indexRef.current = prevIndex;\n }\n }\n onNavigate(indexRef.current);\n return;\n }\n }\n if (isMainOrientationKey(event.key, orientation)) {\n stopEvent(event);\n\n // Reset the index if no item is focused.\n if (open && !virtual && activeElement$1(event.currentTarget.ownerDocument) === event.currentTarget) {\n indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n onNavigate(indexRef.current);\n return;\n }\n if (isMainOrientationToEndKey(event.key, orientation, rtl)) {\n if (loop) {\n indexRef.current = currentIndex >= maxIndex ? allowEscape && currentIndex !== listRef.current.length ? -1 : minIndex : findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n });\n } else {\n indexRef.current = Math.min(maxIndex, findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n }));\n }\n } else {\n if (loop) {\n indexRef.current = currentIndex <= minIndex ? allowEscape && currentIndex !== -1 ? listRef.current.length : maxIndex : findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n });\n } else {\n indexRef.current = Math.max(minIndex, findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n }));\n }\n }\n if (isIndexOutOfBounds(listRef, indexRef.current)) {\n onNavigate(null);\n } else {\n onNavigate(indexRef.current);\n }\n }\n }\n function checkVirtualMouse(event) {\n if (focusItemOnOpen === 'auto' && isVirtualClick(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n function checkVirtualPointer(event) {\n // `pointerdown` fires first, reset the state then perform the checks.\n focusItemOnOpenRef.current = focusItemOnOpen;\n if (focusItemOnOpen === 'auto' && isVirtualPointerEvent(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n const ariaActiveDescendantProp = virtual && open && hasActiveIndex && {\n 'aria-activedescendant': activeId\n };\n return {\n reference: {\n ...ariaActiveDescendantProp,\n onKeyDown(event) {\n isPointerModalityRef.current = false;\n const isArrowKey = event.key.indexOf('Arrow') === 0;\n if (virtual && open) {\n return onKeyDown(event);\n }\n\n // If a floating element should not open on arrow key down, avoid\n // setting `activeIndex` while it's closed.\n if (!open && !openOnArrowKeyDown && isArrowKey) {\n return;\n }\n const isNavigationKey = isArrowKey || event.key === 'Enter' || event.key === ' ' || event.key === '';\n if (isNavigationKey) {\n keyRef.current = event.key;\n }\n if (nested) {\n if (isCrossOrientationOpenKey(event.key, orientation, rtl)) {\n stopEvent(event);\n if (open) {\n indexRef.current = getMinIndex(listRef, disabledIndices);\n onNavigate(indexRef.current);\n } else {\n onOpenChange(true);\n }\n }\n return;\n }\n if (isMainOrientationKey(event.key, orientation)) {\n if (selectedIndex != null) {\n indexRef.current = selectedIndex;\n }\n stopEvent(event);\n if (!open && openOnArrowKeyDown) {\n onOpenChange(true);\n } else {\n onKeyDown(event);\n }\n if (open) {\n onNavigate(indexRef.current);\n }\n }\n },\n onFocus() {\n if (open) {\n onNavigate(null);\n }\n },\n onPointerDown: checkVirtualPointer,\n onMouseDown: checkVirtualMouse,\n onClick: checkVirtualMouse\n },\n floating: {\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n ...ariaActiveDescendantProp,\n onKeyDown,\n onPointerMove() {\n isPointerModalityRef.current = true;\n }\n },\n item\n };\n }, [domReference, refs, activeId, disabledIndicesRef, latestOpenRef, listRef, enabled, orientation, rtl, virtual, open, hasActiveIndex, nested, selectedIndex, openOnArrowKeyDown, allowEscape, cols, loop, focusItemOnOpen, onNavigate, onOpenChange, item]);\n};\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n * @see https://floating-ui.com/docs/useMergeRefs\n */\nfunction useMergeRefs(refs) {\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return value => {\n refs.forEach(ref => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref != null) {\n ref.current = value;\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n\n/**\n * Adds base screen reader props to the reference and floating elements for a\n * given floating element `role`.\n * @see https://floating-ui.com/docs/useRole\n */\nconst useRole = function (_ref, _temp) {\n let {\n open\n } = _ref;\n let {\n enabled = true,\n role = 'dialog'\n } = _temp === void 0 ? {} : _temp;\n const rootId = useId();\n const referenceId = useId();\n return React.useMemo(() => {\n const floatingProps = {\n id: rootId,\n role\n };\n if (!enabled) {\n return {};\n }\n if (role === 'tooltip') {\n return {\n reference: {\n 'aria-describedby': open ? rootId : undefined\n },\n floating: floatingProps\n };\n }\n return {\n reference: {\n 'aria-expanded': open ? 'true' : 'false',\n 'aria-haspopup': role === 'alertdialog' ? 'dialog' : role,\n 'aria-controls': open ? rootId : undefined,\n ...(role === 'listbox' && {\n role: 'combobox'\n }),\n ...(role === 'menu' && {\n id: referenceId\n })\n },\n floating: {\n ...floatingProps,\n ...(role === 'menu' && {\n 'aria-labelledby': referenceId\n })\n }\n };\n }, [enabled, role, open, rootId, referenceId]);\n};\n\n// Converts a JS style key like `backgroundColor` to a CSS transition-property\n// like `background-color`.\nconst camelCaseToKebabCase = str => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\nfunction useDelayUnmount(open, durationMs) {\n const [isMounted, setIsMounted] = React.useState(open);\n if (open && !isMounted) {\n setIsMounted(true);\n }\n React.useEffect(() => {\n if (!open) {\n const timeout = setTimeout(() => setIsMounted(false), durationMs);\n return () => clearTimeout(timeout);\n }\n }, [open, durationMs]);\n return isMounted;\n}\n/**\n * Provides a status string to apply CSS transitions to a floating element,\n * correctly handling placement-aware transitions.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstatus\n */\nfunction useTransitionStatus(_ref, _temp) {\n let {\n open,\n elements: {\n floating\n }\n } = _ref;\n let {\n duration = 250\n } = _temp === void 0 ? {} : _temp;\n const isNumberDuration = typeof duration === 'number';\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [initiated, setInitiated] = React.useState(false);\n const [status, setStatus] = React.useState('unmounted');\n const isMounted = useDelayUnmount(open, closeDuration);\n\n // `initiated` check prevents this `setState` call from breaking\n // . This call is necessary to ensure subsequent opens\n // after the initial one allows the correct side animation to play when the\n // placement has changed.\n index(() => {\n if (initiated && !isMounted) {\n setStatus('unmounted');\n }\n }, [initiated, isMounted]);\n index(() => {\n if (!floating) return;\n if (open) {\n setStatus('initial');\n const frame = requestAnimationFrame(() => {\n setStatus('open');\n });\n return () => {\n cancelAnimationFrame(frame);\n };\n } else {\n setInitiated(true);\n setStatus('close');\n }\n }, [open, floating]);\n return {\n isMounted,\n status\n };\n}\n/**\n * Provides styles to apply CSS transitions to a floating element, correctly\n * handling placement-aware transitions. Wrapper around `useTransitionStatus`.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstyles\n */\nfunction useTransitionStyles(context, _temp2) {\n let {\n initial: unstable_initial = {\n opacity: 0\n },\n open: unstable_open,\n close: unstable_close,\n common: unstable_common,\n duration = 250\n } = _temp2 === void 0 ? {} : _temp2;\n const placement = context.placement;\n const side = placement.split('-')[0];\n const [styles, setStyles] = React.useState({});\n const {\n isMounted,\n status\n } = useTransitionStatus(context, {\n duration\n });\n const initialRef = useLatestRef(unstable_initial);\n const openRef = useLatestRef(unstable_open);\n const closeRef = useLatestRef(unstable_close);\n const commonRef = useLatestRef(unstable_common);\n const isNumberDuration = typeof duration === 'number';\n const openDuration = (isNumberDuration ? duration : duration.open) || 0;\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n index(() => {\n const fnArgs = {\n side,\n placement\n };\n const initial = initialRef.current;\n const close = closeRef.current;\n const open = openRef.current;\n const common = commonRef.current;\n const initialStyles = typeof initial === 'function' ? initial(fnArgs) : initial;\n const closeStyles = typeof close === 'function' ? close(fnArgs) : close;\n const commonStyles = typeof common === 'function' ? common(fnArgs) : common;\n const openStyles = (typeof open === 'function' ? open(fnArgs) : open) || Object.keys(initialStyles).reduce((acc, key) => {\n acc[key] = '';\n return acc;\n }, {});\n if (status === 'initial' || status === 'unmounted') {\n setStyles(styles => ({\n transitionProperty: styles.transitionProperty,\n ...commonStyles,\n ...initialStyles\n }));\n }\n if (status === 'open') {\n setStyles({\n transitionProperty: Object.keys(openStyles).map(camelCaseToKebabCase).join(','),\n transitionDuration: openDuration + \"ms\",\n ...commonStyles,\n ...openStyles\n });\n }\n if (status === 'close') {\n const styles = closeStyles || initialStyles;\n setStyles({\n transitionProperty: Object.keys(styles).map(camelCaseToKebabCase).join(','),\n transitionDuration: closeDuration + \"ms\",\n ...commonStyles,\n ...styles\n });\n }\n }, [side, placement, closeDuration, closeRef, initialRef, openRef, commonRef, openDuration, status]);\n return {\n isMounted,\n styles\n };\n}\n\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nconst useTypeahead = function (_ref, _temp) {\n var _ref2;\n let {\n open,\n dataRef,\n refs\n } = _ref;\n let {\n listRef,\n activeIndex,\n onMatch: unstable_onMatch = () => {},\n enabled = true,\n findMatch = null,\n resetMs = 1000,\n ignoreKeys = [],\n selectedIndex = null\n } = _temp === void 0 ? {\n listRef: {\n current: []\n },\n activeIndex: null\n } : _temp;\n const timeoutIdRef = React.useRef();\n const stringRef = React.useRef('');\n const prevIndexRef = React.useRef((_ref2 = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref2 : -1);\n const matchIndexRef = React.useRef(null);\n const onMatch = useEvent(unstable_onMatch);\n const findMatchRef = useLatestRef(findMatch);\n const ignoreKeysRef = useLatestRef(ignoreKeys);\n index(() => {\n if (open) {\n clearTimeout(timeoutIdRef.current);\n matchIndexRef.current = null;\n stringRef.current = '';\n }\n }, [open]);\n index(() => {\n // Sync arrow key navigation but not typeahead navigation.\n if (open && stringRef.current === '') {\n var _ref3;\n prevIndexRef.current = (_ref3 = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref3 : -1;\n }\n }, [open, selectedIndex, activeIndex]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n function onKeyDown(event) {\n var _refs$floating$curren;\n // Correctly scope nested non-portalled floating elements. Since the nested\n // floating element is inside of the another, we find the closest role\n // that indicates the floating element scope.\n const target = getTarget(event.nativeEvent);\n if (isElement(target) && (activeElement$1(getDocument(target)) !== event.currentTarget ? (_refs$floating$curren = refs.floating.current) != null && _refs$floating$curren.contains(target) ? target.closest('[role=\"dialog\"],[role=\"menu\"],[role=\"listbox\"],[role=\"tree\"],[role=\"grid\"]') !== event.currentTarget : false : !event.currentTarget.contains(target))) {\n return;\n }\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n dataRef.current.typing = true;\n if (event.key === ' ') {\n stopEvent(event);\n }\n }\n const listContent = listRef.current;\n if (listContent == null || ignoreKeysRef.current.includes(event.key) ||\n // Character key.\n event.key.length !== 1 ||\n // Modifier key.\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n\n // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n // allow it in this case, too.\n const allowRapidSuccessionOfFirstLetter = listContent.every(text => {\n var _text$, _text$2;\n return text ? ((_text$ = text[0]) == null ? void 0 : _text$.toLocaleLowerCase()) !== ((_text$2 = text[1]) == null ? void 0 : _text$2.toLocaleLowerCase()) : true;\n });\n\n // Allows the user to cycle through items that start with the same letter\n // in rapid succession.\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n clearTimeout(timeoutIdRef.current);\n timeoutIdRef.current = setTimeout(() => {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n dataRef.current.typing = false;\n }, resetMs);\n const prevIndex = prevIndexRef.current;\n const orderedList = [...listContent.slice((prevIndex || 0) + 1), ...listContent.slice(0, (prevIndex || 0) + 1)];\n const str = findMatchRef.current ? findMatchRef.current(orderedList, stringRef.current) : orderedList.find(text => (text == null ? void 0 : text.toLocaleLowerCase().indexOf(stringRef.current.toLocaleLowerCase())) === 0);\n const index = str ? listContent.indexOf(str) : -1;\n if (index !== -1) {\n onMatch(index);\n matchIndexRef.current = index;\n }\n }\n return {\n reference: {\n onKeyDown\n },\n floating: {\n onKeyDown\n }\n };\n }, [enabled, dataRef, listRef, resetMs, ignoreKeysRef, findMatchRef, onMatch, refs]);\n};\n\nfunction getArgsWithCustomFloatingHeight(state, height) {\n return {\n ...state,\n rects: {\n ...state.rects,\n floating: {\n ...state.rects.floating,\n height\n }\n }\n };\n}\n/**\n * Positions the floating element such that an inner element inside\n * of it is anchored to the reference element.\n * @see https://floating-ui.com/docs/inner\n */\nconst inner = props => ({\n name: 'inner',\n options: props,\n async fn(state) {\n const {\n listRef,\n overflowRef,\n onFallbackChange,\n offset: innerOffset = 0,\n index = 0,\n minItemsVisible = 4,\n referenceOverflowThreshold = 0,\n scrollRef,\n ...detectOverflowOptions\n } = props;\n const {\n rects,\n elements: {\n floating\n }\n } = state;\n const item = listRef.current[index];\n if (process.env.NODE_ENV !== \"production\") {\n if (!state.placement.startsWith('bottom')) {\n console.warn(['Floating UI: `placement` side must be \"bottom\" when using the', '`inner` middleware.'].join(' '));\n }\n }\n if (!item) {\n return {};\n }\n const nextArgs = {\n ...state,\n ...(await offset(-item.offsetTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state))\n };\n const el = (scrollRef == null ? void 0 : scrollRef.current) || floating;\n const overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, el.scrollHeight), detectOverflowOptions);\n const refOverflow = await detectOverflow(nextArgs, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const diffY = Math.max(0, overflow.top);\n const nextY = nextArgs.y + diffY;\n const maxHeight = Math.max(0, el.scrollHeight - diffY - Math.max(0, overflow.bottom));\n el.style.maxHeight = maxHeight + \"px\";\n el.scrollTop = diffY;\n\n // There is not enough space, fallback to standard anchored positioning\n if (onFallbackChange) {\n if (el.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, listRef.current.length - 1) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold) {\n flushSync(() => onFallbackChange(true));\n } else {\n flushSync(() => onFallbackChange(false));\n }\n }\n if (overflowRef) {\n overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({\n ...nextArgs,\n y: nextY\n }, el.offsetHeight), detectOverflowOptions);\n }\n return {\n y: nextY\n };\n }\n});\n/**\n * Changes the `inner` middleware's `offset` upon a `wheel` event to\n * expand the floating element's height, revealing more list items.\n * @see https://floating-ui.com/docs/inner\n */\nconst useInnerOffset = (_ref, _ref2) => {\n let {\n open,\n elements\n } = _ref;\n let {\n enabled = true,\n overflowRef,\n scrollRef,\n onChange: unstable_onChange\n } = _ref2;\n const onChange = useEvent(unstable_onChange);\n const controlledScrollingRef = React.useRef(false);\n const prevScrollTopRef = React.useRef(null);\n const initialOverflowRef = React.useRef(null);\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n function onWheel(e) {\n if (e.ctrlKey || !el || overflowRef.current == null) {\n return;\n }\n const dY = e.deltaY;\n const isAtTop = overflowRef.current.top >= -0.5;\n const isAtBottom = overflowRef.current.bottom >= -0.5;\n const remainingScroll = el.scrollHeight - el.clientHeight;\n const sign = dY < 0 ? -1 : 1;\n const method = dY < 0 ? 'max' : 'min';\n if (el.scrollHeight <= el.clientHeight) {\n return;\n }\n if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n e.preventDefault();\n flushSync(() => {\n onChange(d => d + Math[method](dY, remainingScroll * sign));\n });\n } else if (/firefox/i.test(getUserAgent())) {\n // Needed to propagate scrolling during momentum scrolling phase once\n // it gets limited by the boundary. UX improvement, not critical.\n el.scrollTop += dY;\n }\n }\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (open && el) {\n el.addEventListener('wheel', onWheel);\n\n // Wait for the position to be ready.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n if (overflowRef.current != null) {\n initialOverflowRef.current = {\n ...overflowRef.current\n };\n }\n });\n return () => {\n prevScrollTopRef.current = null;\n initialOverflowRef.current = null;\n el.removeEventListener('wheel', onWheel);\n };\n }\n }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n return {\n floating: {\n onKeyDown() {\n controlledScrollingRef.current = true;\n },\n onWheel() {\n controlledScrollingRef.current = false;\n },\n onPointerMove() {\n controlledScrollingRef.current = false;\n },\n onScroll() {\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n return;\n }\n if (prevScrollTopRef.current !== null) {\n const scrollDiff = el.scrollTop - prevScrollTopRef.current;\n if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n flushSync(() => onChange(d => d + scrollDiff));\n }\n }\n\n // [Firefox] Wait for the height change to have been applied.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n });\n }\n }\n };\n }, [enabled, overflowRef, elements.floating, scrollRef, onChange]);\n};\n\nfunction isPointInPolygon(point, polygon) {\n const [x, y] = point;\n let isInside = false;\n const length = polygon.length;\n for (let i = 0, j = length - 1; i < length; j = i++) {\n const [xi, yi] = polygon[i] || [0, 0];\n const [xj, yj] = polygon[j] || [0, 0];\n const intersect = yi >= y !== yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) {\n isInside = !isInside;\n }\n }\n return isInside;\n}\nfunction isInside(point, rect) {\n return point[0] >= rect.x && point[0] <= rect.x + rect.width && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n}\nfunction safePolygon(_temp) {\n let {\n restMs = 0,\n buffer = 0.5,\n blockPointerEvents = false\n } = _temp === void 0 ? {} : _temp;\n let timeoutId;\n let isInsideRect = false;\n let hasLanded = false;\n const fn = _ref => {\n let {\n x,\n y,\n placement,\n elements,\n onClose,\n nodeId,\n tree\n } = _ref;\n return function onMouseMove(event) {\n function close() {\n clearTimeout(timeoutId);\n onClose();\n }\n clearTimeout(timeoutId);\n if (!elements.domReference || !elements.floating || placement == null || x == null || y == null) {\n return;\n }\n const {\n clientX,\n clientY\n } = event;\n const clientPoint = [clientX, clientY];\n const target = getTarget(event);\n const isLeave = event.type === 'mouseleave';\n const isOverFloatingEl = contains(elements.floating, target);\n const isOverReferenceEl = contains(elements.domReference, target);\n const refRect = elements.domReference.getBoundingClientRect();\n const rect = elements.floating.getBoundingClientRect();\n const side = placement.split('-')[0];\n const cursorLeaveFromRight = x > rect.right - rect.width / 2;\n const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;\n const isOverReferenceRect = isInside(clientPoint, refRect);\n if (isOverFloatingEl) {\n hasLanded = true;\n if (!isLeave) {\n return;\n }\n }\n if (isOverReferenceEl) {\n hasLanded = false;\n }\n if (isOverReferenceEl && !isLeave) {\n hasLanded = true;\n return;\n }\n\n // Prevent overlapping floating element from being stuck in an open-close\n // loop: https://github.com/floating-ui/floating-ui/issues/1910\n if (isLeave && isElement(event.relatedTarget) && contains(elements.floating, event.relatedTarget)) {\n return;\n }\n\n // If any nested child is open, abort.\n if (tree && getChildren(tree.nodesRef.current, nodeId).some(_ref2 => {\n let {\n context\n } = _ref2;\n return context == null ? void 0 : context.open;\n })) {\n return;\n }\n\n // If the pointer is leaving from the opposite side, the \"buffer\" logic\n // creates a point where the floating element remains open, but should be\n // ignored.\n // A constant of 1 handles floating point rounding errors.\n if (side === 'top' && y >= refRect.bottom - 1 || side === 'bottom' && y <= refRect.top + 1 || side === 'left' && x >= refRect.right - 1 || side === 'right' && x <= refRect.left + 1) {\n return close();\n }\n\n // Ignore when the cursor is within the rectangular trough between the\n // two elements. Since the triangle is created from the cursor point,\n // which can start beyond the ref element's edge, traversing back and\n // forth from the ref to the floating element can cause it to close. This\n // ensures it always remains open in that case.\n let rectPoly = [];\n switch (side) {\n case 'top':\n rectPoly = [[rect.left, refRect.top + 1], [rect.left, rect.bottom - 1], [rect.right, rect.bottom - 1], [rect.right, refRect.top + 1]];\n isInsideRect = clientX >= rect.left && clientX <= rect.right && clientY >= rect.top && clientY <= refRect.top + 1;\n break;\n case 'bottom':\n rectPoly = [[rect.left, rect.top + 1], [rect.left, refRect.bottom - 1], [rect.right, refRect.bottom - 1], [rect.right, rect.top + 1]];\n isInsideRect = clientX >= rect.left && clientX <= rect.right && clientY >= refRect.bottom - 1 && clientY <= rect.bottom;\n break;\n case 'left':\n rectPoly = [[rect.right - 1, rect.bottom], [rect.right - 1, rect.top], [refRect.left + 1, rect.top], [refRect.left + 1, rect.bottom]];\n isInsideRect = clientX >= rect.left && clientX <= refRect.left + 1 && clientY >= rect.top && clientY <= rect.bottom;\n break;\n case 'right':\n rectPoly = [[refRect.right - 1, rect.bottom], [refRect.right - 1, rect.top], [rect.left + 1, rect.top], [rect.left + 1, rect.bottom]];\n isInsideRect = clientX >= refRect.right - 1 && clientX <= rect.right && clientY >= rect.top && clientY <= rect.bottom;\n break;\n }\n function getPolygon(_ref3) {\n let [x, y] = _ref3;\n const isFloatingWider = rect.width > refRect.width;\n const isFloatingTaller = rect.height > refRect.height;\n switch (side) {\n case 'top':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.bottom - buffer : isFloatingWider ? rect.bottom - buffer : rect.top], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.bottom - buffer : rect.top : rect.bottom - buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'bottom':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.top + buffer : isFloatingWider ? rect.top + buffer : rect.bottom], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.top + buffer : rect.bottom : rect.top + buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'left':\n {\n const cursorPointOne = [x + buffer + 1, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x + buffer + 1, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.right - buffer : isFloatingTaller ? rect.right - buffer : rect.left, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.right - buffer : rect.left : rect.right - buffer, rect.bottom]];\n return [...commonPoints, cursorPointOne, cursorPointTwo];\n }\n case 'right':\n {\n const cursorPointOne = [x - buffer, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x - buffer, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.left + buffer : isFloatingTaller ? rect.left + buffer : rect.right, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.left + buffer : rect.right : rect.left + buffer, rect.bottom]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n }\n }\n const poly = isInsideRect ? rectPoly : getPolygon([x, y]);\n if (isInsideRect) {\n return;\n } else if (hasLanded && !isOverReferenceRect) {\n return close();\n }\n if (!isPointInPolygon([clientX, clientY], poly)) {\n close();\n } else if (restMs && !hasLanded) {\n timeoutId = setTimeout(close, restMs);\n }\n };\n };\n fn.__options = {\n blockPointerEvents\n };\n return fn;\n}\n\n/**\n * Provides data to position a floating element and context to add interactions.\n * @see https://floating-ui.com/docs/react\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n open = false,\n onOpenChange: unstable_onOpenChange,\n nodeId\n } = options;\n const position = useFloating$1(options);\n const tree = useFloatingTree();\n const domReferenceRef = React.useRef(null);\n const dataRef = React.useRef({});\n const events = React.useState(() => createPubSub())[0];\n const [domReference, setDomReference] = React.useState(null);\n const setPositionReference = React.useCallback(node => {\n const positionReference = isElement(node) ? {\n getBoundingClientRect: () => node.getBoundingClientRect(),\n contextElement: node\n } : node;\n position.refs.setReference(positionReference);\n }, [position.refs]);\n const setReference = React.useCallback(node => {\n if (isElement(node) || node === null) {\n domReferenceRef.current = node;\n setDomReference(node);\n }\n\n // Backwards-compatibility for passing a virtual element to `reference`\n // after it has set the DOM reference.\n if (isElement(position.refs.reference.current) || position.refs.reference.current === null ||\n // Don't allow setting virtual elements using the old technique back to\n // `null` to support `positionReference` + an unstable `reference`\n // callback ref.\n node !== null && !isElement(node)) {\n position.refs.setReference(node);\n }\n }, [position.refs]);\n const refs = React.useMemo(() => ({\n ...position.refs,\n setReference,\n setPositionReference,\n domReference: domReferenceRef\n }), [position.refs, setReference, setPositionReference]);\n const elements = React.useMemo(() => ({\n ...position.elements,\n domReference: domReference\n }), [position.elements, domReference]);\n const onOpenChange = useEvent(unstable_onOpenChange);\n const context = React.useMemo(() => ({\n ...position,\n refs,\n elements,\n dataRef,\n nodeId,\n events,\n open,\n onOpenChange\n }), [position, nodeId, events, open, onOpenChange, refs, elements]);\n index(() => {\n const node = tree == null ? void 0 : tree.nodesRef.current.find(node => node.id === nodeId);\n if (node) {\n node.context = context;\n }\n });\n return React.useMemo(() => ({\n ...position,\n context,\n refs,\n reference: setReference,\n positionReference: setPositionReference\n }), [position, refs, context, setReference, setPositionReference]);\n}\n\nfunction mergeProps(userProps, propsList, elementKey) {\n const map = new Map();\n return {\n ...(elementKey === 'floating' && {\n tabIndex: -1\n }),\n ...userProps,\n ...propsList.map(value => value ? value[elementKey] : null).concat(userProps).reduce((acc, props) => {\n if (!props) {\n return acc;\n }\n Object.entries(props).forEach(_ref => {\n let [key, value] = _ref;\n if (key.indexOf('on') === 0) {\n if (!map.has(key)) {\n map.set(key, []);\n }\n if (typeof value === 'function') {\n var _map$get;\n (_map$get = map.get(key)) == null ? void 0 : _map$get.push(value);\n acc[key] = function () {\n var _map$get2;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.forEach(fn => fn(...args));\n };\n }\n } else {\n acc[key] = value;\n }\n });\n return acc;\n }, {})\n };\n}\nconst useInteractions = function (propsList) {\n if (propsList === void 0) {\n propsList = [];\n }\n // The dependencies are a dynamic array, so we can't use the linter's\n // suggestion to add it to the deps array.\n const deps = propsList;\n const getReferenceProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'reference'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n deps);\n const getFloatingProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'floating'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n deps);\n const getItemProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'item'),\n // Granularly check for `item` changes, because the `getItemProps` getter\n // should be as referentially stable as possible since it may be passed as\n // a prop to many components. All `item` key values must therefore be\n // memoized.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n propsList.map(key => key == null ? void 0 : key.item));\n return React.useMemo(() => ({\n getReferenceProps,\n getFloatingProps,\n getItemProps\n }), [getReferenceProps, getFloatingProps, getItemProps]);\n};\n\nexport { FloatingDelayGroup, FloatingFocusManager, FloatingNode, FloatingOverlay, FloatingPortal, FloatingTree, inner, safePolygon, useClick, useDelayGroup, useDelayGroupContext, useDismiss, useFloating, useFloatingNodeId, useFloatingParentNodeId, useFloatingPortalNode, useFloatingTree, useFocus, useHover, useId, useInnerOffset, useInteractions, useListNavigation, useMergeRefs, useRole, useTransitionStatus, useTransitionStyles, useTypeahead };\n","var resizeObservers = [];\nexport { resizeObservers };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","const ACCORDION_ERRORS = {\n context: \"Accordion component was not found in the tree\",\n itemContext: \"Accordion.Item component was not found in the tree\",\n value: \"Accordion.Item component was rendered with invalid value or without value\"\n};\n\nexport { ACCORDION_ERRORS };\n//# sourceMappingURL=Accordion.errors.js.map\n","import { createSafeContext } from '@mantine/utils';\nimport { ACCORDION_ERRORS } from './Accordion.errors.js';\n\nconst [AccordionContextProvider, useAccordionContext] = createSafeContext(ACCORDION_ERRORS.context);\n\nexport { AccordionContextProvider, useAccordionContext };\n//# sourceMappingURL=Accordion.context.js.map\n","import React from 'react';\nimport { getSafeId } from '@mantine/utils';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport { AccordionContextProvider } from './Accordion.context.js';\nimport { ACCORDION_ERRORS } from './Accordion.errors.js';\n\nfunction AccordionProvider({\n children,\n multiple,\n value,\n defaultValue,\n onChange,\n id,\n loop,\n transitionDuration,\n disableChevronRotation,\n chevronPosition,\n chevronSize,\n order,\n chevron,\n variant,\n radius,\n classNames,\n styles,\n unstyled\n}) {\n const uid = useId(id);\n const [_value, handleChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: multiple ? [] : null,\n onChange\n });\n const isItemActive = (itemValue) => Array.isArray(_value) ? _value.includes(itemValue) : itemValue === _value;\n const handleItemChange = (itemValue) => {\n const nextValue = Array.isArray(_value) ? _value.includes(itemValue) ? _value.filter((selectedValue) => selectedValue !== itemValue) : [..._value, itemValue] : itemValue === _value ? null : itemValue;\n handleChange(nextValue);\n };\n return /* @__PURE__ */ React.createElement(AccordionContextProvider, {\n value: {\n isItemActive,\n onChange: handleItemChange,\n getControlId: getSafeId(`${uid}-control`, ACCORDION_ERRORS.value),\n getRegionId: getSafeId(`${uid}-panel`, ACCORDION_ERRORS.value),\n transitionDuration,\n disableChevronRotation,\n chevronPosition,\n chevronSize,\n order,\n chevron,\n loop,\n variant,\n radius,\n classNames,\n styles,\n unstyled\n }\n }, children);\n}\n\nexport { AccordionProvider };\n//# sourceMappingURL=AccordionProvider.js.map\n","import { createSafeContext } from '@mantine/utils';\nimport { ACCORDION_ERRORS } from './Accordion.errors.js';\n\nconst [AccordionItemContextProvider, useAccordionItemContext] = createSafeContext(ACCORDION_ERRORS.itemContext);\n\nexport { AccordionItemContextProvider, useAccordionItemContext };\n//# sourceMappingURL=AccordionItem.context.js.map\n","import { createStyles, rem } from '@mantine/styles';\n\nfunction getVariantStyles(theme, variant, { radius }) {\n const borderColor = theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[3];\n const filledColor = theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[0];\n const borderRadius = theme.fn.radius(radius);\n if (variant === \"default\") {\n return {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black,\n borderBottom: `${rem(1)} solid ${borderColor}`\n };\n }\n if (variant === \"contained\") {\n return {\n border: `${rem(1)} solid ${borderColor}`,\n transition: \"background-color 150ms ease\",\n \"&[data-active]\": {\n backgroundColor: filledColor\n },\n \"&:first-of-type\": {\n borderTopRightRadius: borderRadius,\n borderTopLeftRadius: borderRadius,\n \"& > [data-accordion-control]\": {\n borderTopRightRadius: borderRadius,\n borderTopLeftRadius: borderRadius\n }\n },\n \"&:last-of-type\": {\n borderBottomRightRadius: borderRadius,\n borderBottomLeftRadius: borderRadius,\n \"& > [data-accordion-control]\": {\n borderBottomRightRadius: borderRadius,\n borderBottomLeftRadius: borderRadius\n }\n },\n \"& + &\": {\n borderTop: 0\n }\n };\n }\n if (variant === \"filled\") {\n return {\n borderRadius,\n \"&[data-active]\": {\n backgroundColor: filledColor\n }\n };\n }\n if (variant === \"separated\") {\n return {\n borderRadius,\n backgroundColor: filledColor,\n border: `${rem(1)} solid transparent`,\n transition: \"background-color 150ms ease\",\n \"& + &\": {\n marginTop: theme.spacing.md\n },\n \"&[data-active]\": {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[7] : theme.white,\n borderColor\n }\n };\n }\n return {};\n}\nvar useStyles = createStyles((theme, params, { variant }) => ({\n item: getVariantStyles(theme, variant, params)\n}));\n\nexport default useStyles;\n//# sourceMappingURL=AccordionItem.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { AccordionItemContextProvider } from '../AccordionItem.context.js';\nimport useStyles from './AccordionItem.styles.js';\nimport { useAccordionContext } from '../Accordion.context.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst AccordionItem = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"AccordionItem\", defaultProps, props), { children, className, value } = _a, others = __objRest(_a, [\"children\", \"className\", \"value\"]);\n const ctx = useAccordionContext();\n const { classes, cx } = useStyles({ radius: ctx.radius }, {\n name: \"Accordion\",\n classNames: ctx.classNames,\n styles: ctx.styles,\n unstyled: ctx.unstyled,\n variant: ctx.variant\n });\n return /* @__PURE__ */ React.createElement(AccordionItemContextProvider, {\n value: { value }\n }, /* @__PURE__ */ React.createElement(Box, __spreadValues({\n ref,\n className: cx(classes.item, className),\n \"data-active\": ctx.isItemActive(value) || void 0\n }, others), children));\n});\nAccordionItem.displayName = \"@mantine/core/AccordionItem\";\n\nexport { AccordionItem };\n//# sourceMappingURL=AccordionItem.js.map\n","import { createStyles, rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction getVariantStyles(theme, variant) {\n if (variant === \"default\" || variant === \"contained\") {\n return theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[0]\n });\n }\n return {};\n}\nvar useStyles = createStyles((theme, { transitionDuration, chevronPosition, chevronSize }, { variant }) => ({\n icon: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n marginRight: chevronPosition === \"left\" ? 0 : theme.spacing.sm,\n marginLeft: chevronPosition === \"left\" ? theme.spacing.lg : 0\n },\n chevron: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n transition: `transform ${transitionDuration}ms ease`,\n marginRight: chevronPosition === \"right\" ? 0 : theme.spacing.sm,\n marginLeft: chevronPosition === \"right\" ? theme.spacing.lg : 0,\n width: rem(chevronSize),\n minWidth: rem(chevronSize),\n \"&[data-rotate]\": {\n transform: \"rotate(180deg)\"\n }\n },\n label: {\n color: \"inherit\",\n fontWeight: 400,\n flex: 1,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n paddingTop: theme.spacing.md,\n paddingBottom: theme.spacing.md\n },\n itemTitle: {\n margin: 0,\n padding: 0\n },\n control: __spreadProps(__spreadValues(__spreadValues(__spreadValues({}, theme.fn.focusStyles()), theme.fn.fontStyles()), getVariantStyles(theme, variant)), {\n width: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: chevronPosition === \"right\" ? \"row-reverse\" : \"row\",\n paddingRight: theme.spacing.md,\n paddingLeft: chevronPosition === \"right\" ? `calc(${theme.spacing.md} + ${rem(4)})` : theme.spacing.xs,\n textAlign: \"left\",\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black,\n \"&:disabled\": __spreadValues({\n opacity: 0.4,\n cursor: \"not-allowed\"\n }, theme.fn.hover({ backgroundColor: \"transparent\" }))\n })\n}));\n\nexport default useStyles;\n//# sourceMappingURL=AccordionControl.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createScopedKeydownHandler } from '@mantine/utils';\nimport { useAccordionContext } from '../Accordion.context.js';\nimport { useAccordionItemContext } from '../AccordionItem.context.js';\nimport useStyles from './AccordionControl.styles.js';\nimport { UnstyledButton } from '../../UnstyledButton/UnstyledButton.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst AccordionControl = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"AccordionControl\", defaultProps, props), { disabled, onKeyDown, onClick, chevron, children, className, icon } = _a, others = __objRest(_a, [\"disabled\", \"onKeyDown\", \"onClick\", \"chevron\", \"children\", \"className\", \"icon\"]);\n const ctx = useAccordionContext();\n const { value } = useAccordionItemContext();\n const { classes, cx } = useStyles({\n transitionDuration: ctx.transitionDuration,\n chevronPosition: ctx.chevronPosition,\n chevronSize: ctx.chevronSize,\n radius: ctx.radius\n }, {\n name: \"Accordion\",\n classNames: ctx.classNames,\n styles: ctx.styles,\n unstyled: ctx.unstyled,\n variant: ctx.variant\n });\n const isActive = ctx.isItemActive(value);\n const shouldWrapWithHeading = typeof ctx.order === \"number\";\n const Heading = `h${ctx.order}`;\n const content = /* @__PURE__ */ React.createElement(UnstyledButton, __spreadProps(__spreadValues({}, others), {\n ref,\n \"data-accordion-control\": true,\n disabled,\n className: cx(classes.control, className),\n onClick: (event) => {\n onClick == null ? void 0 : onClick(event);\n ctx.onChange(value);\n },\n type: \"button\",\n \"data-active\": isActive || void 0,\n \"aria-expanded\": isActive,\n \"aria-controls\": ctx.getRegionId(value),\n id: ctx.getControlId(value),\n unstyled: ctx.unstyled,\n onKeyDown: createScopedKeydownHandler({\n siblingSelector: \"[data-accordion-control]\",\n parentSelector: \"[data-accordion]\",\n activateOnFocus: false,\n loop: ctx.loop,\n orientation: \"vertical\",\n onKeyDown\n })\n }), /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.chevron,\n \"data-rotate\": !ctx.disableChevronRotation && isActive || void 0\n }, chevron || ctx.chevron), /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.label\n }, children), icon && /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.icon\n }, icon));\n return shouldWrapWithHeading ? /* @__PURE__ */ React.createElement(Heading, {\n className: classes.itemTitle\n }, content) : content;\n});\nAccordionControl.displayName = \"@mantine/core/AccordionControl\";\n\nexport { AccordionControl };\n//# sourceMappingURL=AccordionControl.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar useStyles = createStyles((theme, _params) => ({\n panel: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n wordBreak: \"break-word\",\n lineHeight: theme.lineHeight\n }),\n content: {\n padding: theme.spacing.md,\n paddingTop: `calc(${theme.spacing.xs} / 2)`\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=AccordionPanel.styles.js.map\n","import React from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useAccordionContext } from '../Accordion.context.js';\nimport { useAccordionItemContext } from '../AccordionItem.context.js';\nimport useStyles from './AccordionPanel.styles.js';\nimport { Collapse } from '../../Collapse/Collapse.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nfunction AccordionPanel(props) {\n const _a = useComponentDefaultProps(\"AccordionPanel\", defaultProps, props), { children, className } = _a, others = __objRest(_a, [\"children\", \"className\"]);\n const ctx = useAccordionContext();\n const { value } = useAccordionItemContext();\n const { classNames, styles, unstyled } = useAccordionContext();\n const { classes, cx } = useStyles({ radius: ctx.radius }, { name: \"Accordion\", classNames, styles, unstyled, variant: ctx.variant });\n return /* @__PURE__ */ React.createElement(Collapse, __spreadProps(__spreadValues({}, others), {\n className: cx(classes.panel, className),\n in: ctx.isItemActive(value),\n transitionDuration: ctx.transitionDuration,\n role: \"region\",\n id: ctx.getRegionId(value),\n \"aria-labelledby\": ctx.getControlId(value)\n }), /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.content\n }, children));\n}\nAccordionPanel.displayName = \"@mantine/core/AccordionPanel\";\n\nexport { AccordionPanel };\n//# sourceMappingURL=AccordionPanel.js.map\n","import React from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { AccordionProvider } from './AccordionProvider.js';\nimport { AccordionItem } from './AccordionItem/AccordionItem.js';\nimport { AccordionControl } from './AccordionControl/AccordionControl.js';\nimport { AccordionPanel } from './AccordionPanel/AccordionPanel.js';\nimport { ChevronIcon } from './ChevronIcon.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n multiple: false,\n disableChevronRotation: false,\n transitionDuration: 200,\n chevronPosition: \"right\",\n variant: \"default\",\n chevronSize: 24,\n chevron: /* @__PURE__ */ React.createElement(ChevronIcon, null)\n};\nfunction Accordion(props) {\n const _a = useComponentDefaultProps(\"Accordion\", defaultProps, props), {\n id,\n loop,\n children,\n multiple,\n value,\n defaultValue,\n onChange,\n transitionDuration,\n disableChevronRotation,\n chevronPosition,\n chevronSize,\n order,\n chevron,\n classNames,\n styles,\n unstyled,\n variant,\n radius\n } = _a, others = __objRest(_a, [\n \"id\",\n \"loop\",\n \"children\",\n \"multiple\",\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"transitionDuration\",\n \"disableChevronRotation\",\n \"chevronPosition\",\n \"chevronSize\",\n \"order\",\n \"chevron\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"variant\",\n \"radius\"\n ]);\n return /* @__PURE__ */ React.createElement(AccordionProvider, {\n id,\n multiple,\n value,\n defaultValue,\n onChange,\n loop,\n transitionDuration,\n disableChevronRotation,\n chevronPosition,\n chevronSize,\n order,\n chevron,\n variant,\n radius,\n classNames,\n styles,\n unstyled\n }, /* @__PURE__ */ React.createElement(Box, __spreadProps(__spreadValues({}, others), {\n \"data-accordion\": true\n }), children));\n}\nAccordion.Item = AccordionItem;\nAccordion.Control = AccordionControl;\nAccordion.Panel = AccordionPanel;\nAccordion.displayName = \"@mantine/core/Accordion\";\n\nexport { Accordion };\n//# sourceMappingURL=Accordion.js.map\n","import React from 'react';\nimport { rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction ChevronIcon(props) {\n const _a = props, { style } = _a, others = __objRest(_a, [\"style\"]);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n style: __spreadValues({ width: rem(16), height: rem(16) }, style)\n }, others), /* @__PURE__ */ React.createElement(\"path\", {\n d: \"M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n}\n\nexport { ChevronIcon };\n//# sourceMappingURL=ChevronIcon.js.map\n","import { createStyles, rem, getSize } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst ACTION_ICON_VARIANTS = [\n \"subtle\",\n \"filled\",\n \"outline\",\n \"light\",\n \"default\",\n \"transparent\",\n \"gradient\"\n];\nconst sizes = {\n xs: rem(18),\n sm: rem(22),\n md: rem(28),\n lg: rem(34),\n xl: rem(44)\n};\nfunction getVariantStyles({ variant, theme, color, gradient }) {\n const colors = theme.fn.variant({ color, variant, gradient });\n if (variant === \"gradient\") {\n return {\n border: 0,\n backgroundImage: colors.background,\n color: colors.color,\n \"&:hover\": theme.fn.hover({\n backgroundSize: \"200%\"\n })\n };\n }\n if (ACTION_ICON_VARIANTS.includes(variant)) {\n return __spreadValues({\n border: `${rem(1)} solid ${colors.border}`,\n backgroundColor: colors.background,\n color: colors.color\n }, theme.fn.hover({\n backgroundColor: colors.hover\n }));\n }\n return null;\n}\nvar useStyles = createStyles((theme, { radius, color, gradient }, { variant, size }) => ({\n root: __spreadProps(__spreadValues({\n position: \"relative\",\n borderRadius: theme.fn.radius(radius),\n padding: 0,\n lineHeight: 1,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: getSize({ size, sizes }),\n minHeight: getSize({ size, sizes }),\n width: getSize({ size, sizes }),\n minWidth: getSize({ size, sizes })\n }, getVariantStyles({ variant, theme, color, gradient })), {\n \"&:active\": theme.activeStyles,\n \"& [data-action-icon-loader]\": {\n maxWidth: \"70%\"\n },\n \"&:disabled, &[data-disabled]\": {\n color: theme.colors.gray[theme.colorScheme === \"dark\" ? 6 : 4],\n cursor: \"not-allowed\",\n backgroundColor: variant === \"transparent\" ? void 0 : theme.fn.themeColor(\"gray\", theme.colorScheme === \"dark\" ? 8 : 1),\n borderColor: variant === \"transparent\" ? void 0 : theme.fn.themeColor(\"gray\", theme.colorScheme === \"dark\" ? 8 : 1),\n backgroundImage: \"none\",\n pointerEvents: \"none\",\n \"&:active\": {\n transform: \"none\"\n }\n },\n \"&[data-loading]\": {\n pointerEvents: \"none\",\n \"&::before\": __spreadProps(__spreadValues({\n content: '\"\"'\n }, theme.fn.cover(rem(-1))), {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.fn.rgba(theme.colors.dark[7], 0.5) : \"rgba(255, 255, 255, .5)\",\n borderRadius: theme.fn.radius(radius),\n cursor: \"not-allowed\"\n })\n }\n })\n}));\n\nexport default useStyles;\nexport { ACTION_ICON_VARIANTS, sizes };\n//# sourceMappingURL=ActionIcon.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport useStyles from './ActionIcon.styles.js';\nimport { Loader } from '../Loader/Loader.js';\nimport { UnstyledButton } from '../UnstyledButton/UnstyledButton.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n color: \"gray\",\n size: \"md\",\n variant: \"subtle\"\n};\nconst _ActionIcon = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"ActionIcon\", defaultProps, props), {\n className,\n color,\n children,\n radius,\n size,\n variant,\n gradient,\n disabled,\n loaderProps,\n loading,\n unstyled,\n __staticSelector\n } = _a, others = __objRest(_a, [\n \"className\",\n \"color\",\n \"children\",\n \"radius\",\n \"size\",\n \"variant\",\n \"gradient\",\n \"disabled\",\n \"loaderProps\",\n \"loading\",\n \"unstyled\",\n \"__staticSelector\"\n ]);\n const { classes, cx, theme } = useStyles({ radius, color, gradient }, { name: [\"ActionIcon\", __staticSelector], unstyled, size, variant });\n const loader = /* @__PURE__ */ React.createElement(Loader, __spreadValues({\n color: theme.fn.variant({ color, variant }).color,\n size: \"100%\",\n \"data-action-icon-loader\": true\n }, loaderProps));\n return /* @__PURE__ */ React.createElement(UnstyledButton, __spreadValues({\n className: cx(classes.root, className),\n ref,\n disabled,\n \"data-disabled\": disabled || void 0,\n \"data-loading\": loading || void 0,\n unstyled\n }, others), loading ? loader : children);\n});\n_ActionIcon.displayName = \"@mantine/core/ActionIcon\";\nconst ActionIcon = createPolymorphicComponent(_ActionIcon);\n\nexport { ActionIcon, _ActionIcon };\n//# sourceMappingURL=ActionIcon.js.map\n","import { createStyles, rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction getVariantStyles({ variant, color, theme }) {\n if (variant === \"filled\") {\n const colors = theme.fn.variant({ variant: \"filled\", color });\n return {\n backgroundColor: colors.background,\n color: theme.white\n };\n }\n if (variant === \"outline\") {\n const colors = theme.fn.variant({ variant: \"outline\", color });\n return {\n color: colors.color,\n borderColor: colors.border,\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.white\n };\n }\n if (variant === \"light\") {\n const colors = theme.fn.variant({ variant: \"light\", color });\n return {\n backgroundColor: colors.background,\n color: colors.color\n };\n }\n return null;\n}\nvar useStyles = createStyles((theme, { radius, color }, { variant }) => ({\n root: __spreadValues(__spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n position: \"relative\",\n overflow: \"hidden\",\n paddingTop: theme.spacing.sm,\n paddingBottom: theme.spacing.sm,\n paddingLeft: theme.spacing.md,\n paddingRight: theme.spacing.sm,\n borderRadius: theme.fn.radius(radius),\n border: `${rem(1)} solid transparent`\n }), getVariantStyles({ variant, color, theme })),\n wrapper: {\n display: \"flex\"\n },\n body: {\n flex: 1\n },\n title: {\n boxSizing: \"border-box\",\n margin: 0,\n marginBottom: theme.spacing.xs,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n lineHeight: theme.lineHeight,\n fontSize: theme.fontSizes.sm,\n fontWeight: 700,\n \"&[data-with-close-button]\": {\n paddingRight: theme.spacing.md\n }\n },\n label: {\n display: \"block\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n },\n icon: {\n lineHeight: 1,\n width: rem(20),\n height: rem(20),\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n marginRight: theme.spacing.md,\n marginTop: 1\n },\n message: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n lineHeight: theme.lineHeight,\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n fontSize: theme.fontSizes.sm,\n color: variant === \"filled\" ? theme.white : theme.colorScheme === \"dark\" ? variant === \"light\" ? theme.white : theme.colors.dark[0] : theme.black\n }),\n closeButton: {\n width: rem(10),\n height: rem(10),\n color: variant === \"filled\" ? theme.white : theme.colorScheme === \"dark\" ? variant === \"light\" ? theme.white : theme.colors.dark[0] : theme.black\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Alert.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useId } from '@mantine/hooks';\nimport useStyles from './Alert.styles.js';\nimport { Box } from '../Box/Box.js';\nimport { CloseButton } from '../CloseButton/CloseButton.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n variant: \"light\"\n};\nconst Alert = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Alert\", defaultProps, props), {\n id,\n className,\n title,\n variant,\n children,\n color,\n classNames,\n icon,\n styles,\n onClose,\n radius,\n withCloseButton,\n closeButtonLabel,\n unstyled\n } = _a, others = __objRest(_a, [\n \"id\",\n \"className\",\n \"title\",\n \"variant\",\n \"children\",\n \"color\",\n \"classNames\",\n \"icon\",\n \"styles\",\n \"onClose\",\n \"radius\",\n \"withCloseButton\",\n \"closeButtonLabel\",\n \"unstyled\"\n ]);\n const { classes, cx } = useStyles({ color, radius }, { classNames, styles, unstyled, variant, name: \"Alert\" });\n const rootId = useId(id);\n const titleId = title && `${rootId}-title`;\n const bodyId = `${rootId}-body`;\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n id: rootId,\n role: \"alert\",\n \"aria-labelledby\": titleId,\n \"aria-describedby\": bodyId,\n className: cx(classes.root, classes[variant], className),\n ref\n }, others), /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.wrapper\n }, icon && /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.icon\n }, icon), /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.body\n }, title && /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.title,\n \"data-with-close-button\": withCloseButton || void 0\n }, /* @__PURE__ */ React.createElement(\"span\", {\n id: titleId,\n className: classes.label\n }, title)), /* @__PURE__ */ React.createElement(\"div\", {\n id: bodyId,\n className: classes.message\n }, children)), withCloseButton && /* @__PURE__ */ React.createElement(CloseButton, {\n className: classes.closeButton,\n onClick: onClose,\n variant: \"transparent\",\n size: 16,\n iconSize: 16,\n \"aria-label\": closeButtonLabel\n })));\n});\nAlert.displayName = \"@mantine/core/Alert\";\n\nexport { Alert };\n//# sourceMappingURL=Alert.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction getAnchorColor({ theme, color }) {\n if (color === \"dimmed\") {\n return theme.fn.dimmed();\n }\n return theme.fn.themeColor(color || theme.primaryColor, theme.colorScheme === \"dark\" ? 4 : 7, false, true);\n}\nvar useStyles = createStyles((theme, { color, underline }) => ({\n root: __spreadValues({\n backgroundColor: \"transparent\",\n cursor: \"pointer\",\n padding: 0,\n border: 0,\n color: getAnchorColor({ theme, color })\n }, theme.fn.hover({ textDecoration: underline ? \"underline\" : \"none\" }))\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Anchor.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { Text } from '../Text/Text.js';\nimport useStyles from './Anchor.styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n underline: true\n};\nconst _Anchor = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Anchor\", defaultProps, props), { component, className, unstyled, variant, size, color, underline } = _a, others = __objRest(_a, [\"component\", \"className\", \"unstyled\", \"variant\", \"size\", \"color\", \"underline\"]);\n const { classes, cx } = useStyles({ color, underline }, { name: \"Anchor\", unstyled, variant, size });\n const buttonProps = component === \"button\" ? { type: \"button\" } : null;\n return /* @__PURE__ */ React.createElement(Text, __spreadValues(__spreadValues({\n component: component || \"a\",\n ref,\n className: cx(classes.root, className),\n size\n }, buttonProps), others));\n});\n_Anchor.displayName = \"@mantine/core/Anchor\";\nconst Anchor = createPolymorphicComponent(_Anchor);\n\nexport { Anchor, _Anchor };\n//# sourceMappingURL=Anchor.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles(() => ({\n wrapper: {\n position: \"relative\"\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Autocomplete.styles.js.map\n","import React, { forwardRef, useState, useRef } from 'react';\nimport { useUncontrolled, useDidUpdate, useMergedRef } from '@mantine/hooks';\nimport { getDefaultZIndex } from '@mantine/styles';\nimport { groupOptions } from '@mantine/utils';\nimport { SelectItems } from '../Select/SelectItems/SelectItems.js';\nimport { DefaultItem } from '../Select/DefaultItem/DefaultItem.js';\nimport { SelectPopover } from '../Select/SelectPopover/SelectPopover.js';\nimport { SelectScrollArea } from '../Select/SelectScrollArea/SelectScrollArea.js';\nimport { filterData } from './filter-data/filter-data.js';\nimport useStyles from './Autocomplete.styles.js';\nimport { useInputProps } from '../Input/use-input-props.js';\nimport { Input } from '../Input/Input.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction defaultFilter(value, item) {\n return item.value.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\nconst defaultProps = {\n required: false,\n size: \"sm\",\n shadow: \"sm\",\n limit: 5,\n itemComponent: DefaultItem,\n transitionProps: { transition: \"fade\", duration: 0 },\n initiallyOpened: false,\n filter: defaultFilter,\n switchDirectionOnFlip: false,\n zIndex: getDefaultZIndex(\"popover\"),\n dropdownPosition: \"flip\",\n maxDropdownHeight: \"auto\",\n positionDependencies: []\n};\nconst Autocomplete = forwardRef((props, ref) => {\n const _a = useInputProps(\"Autocomplete\", defaultProps, props), {\n inputProps,\n wrapperProps,\n shadow,\n data,\n limit,\n value,\n defaultValue,\n onChange,\n unstyled,\n itemComponent,\n onItemSubmit,\n onKeyDown,\n onFocus,\n onBlur,\n onClick,\n transitionProps,\n initiallyOpened,\n classNames,\n styles,\n filter,\n nothingFound,\n onDropdownClose,\n onDropdownOpen,\n withinPortal,\n switchDirectionOnFlip,\n zIndex,\n dropdownPosition,\n maxDropdownHeight,\n dropdownComponent,\n positionDependencies,\n readOnly,\n hoverOnSearchChange\n } = _a, others = __objRest(_a, [\n \"inputProps\",\n \"wrapperProps\",\n \"shadow\",\n \"data\",\n \"limit\",\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"unstyled\",\n \"itemComponent\",\n \"onItemSubmit\",\n \"onKeyDown\",\n \"onFocus\",\n \"onBlur\",\n \"onClick\",\n \"transitionProps\",\n \"initiallyOpened\",\n \"classNames\",\n \"styles\",\n \"filter\",\n \"nothingFound\",\n \"onDropdownClose\",\n \"onDropdownOpen\",\n \"withinPortal\",\n \"switchDirectionOnFlip\",\n \"zIndex\",\n \"dropdownPosition\",\n \"maxDropdownHeight\",\n \"dropdownComponent\",\n \"positionDependencies\",\n \"readOnly\",\n \"hoverOnSearchChange\"\n ]);\n const { classes } = useStyles(null, { classNames, styles, name: \"Autocomplete\", unstyled });\n const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const [direction, setDirection] = useState(\"column\");\n const inputRef = useRef(null);\n const [IMEOpen, setIMEOpen] = useState(false);\n const [_value, handleChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: \"\",\n onChange\n });\n const setDropdownOpened = (opened) => {\n _setDropdownOpened(opened);\n const handler = opened ? onDropdownOpen : onDropdownClose;\n typeof handler === \"function\" && handler();\n };\n useDidUpdate(() => {\n if (hoverOnSearchChange && _value) {\n setHovered(0);\n } else {\n setHovered(-1);\n }\n }, [_value, hoverOnSearchChange]);\n const handleItemClick = (item) => {\n handleChange(item.value);\n typeof onItemSubmit === \"function\" && onItemSubmit(item);\n setDropdownOpened(false);\n };\n const formattedData = data.map((item) => typeof item === \"string\" ? { value: item } : item);\n const filteredData = groupOptions({\n data: filterData({ data: formattedData, value: _value, limit, filter })\n });\n const handleInputKeydown = (event) => {\n if (IMEOpen) {\n return;\n }\n typeof onKeyDown === \"function\" && onKeyDown(event);\n const isColumn = direction === \"column\";\n const handleNext = () => {\n setHovered((current) => current < filteredData.length - 1 ? current + 1 : current);\n };\n const handlePrevious = () => {\n setHovered((current) => current > 0 ? current - 1 : current);\n };\n switch (event.key) {\n case \"ArrowUp\": {\n event.preventDefault();\n isColumn ? handlePrevious() : handleNext();\n break;\n }\n case \"ArrowDown\": {\n event.preventDefault();\n isColumn ? handleNext() : handlePrevious();\n break;\n }\n case \"Enter\": {\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleChange(filteredData[hovered].value);\n typeof onItemSubmit === \"function\" && onItemSubmit(filteredData[hovered]);\n setDropdownOpened(false);\n }\n break;\n }\n case \"Escape\": {\n if (dropdownOpened) {\n event.preventDefault();\n setDropdownOpened(false);\n }\n }\n }\n };\n const handleInputFocus = (event) => {\n typeof onFocus === \"function\" && onFocus(event);\n setDropdownOpened(true);\n };\n const handleInputBlur = (event) => {\n typeof onBlur === \"function\" && onBlur(event);\n setDropdownOpened(false);\n };\n const handleInputClick = (event) => {\n typeof onClick === \"function\" && onClick(event);\n setDropdownOpened(true);\n };\n const shouldRenderDropdown = dropdownOpened && (filteredData.length > 0 || filteredData.length === 0 && !!nothingFound);\n return /* @__PURE__ */ React.createElement(Input.Wrapper, __spreadProps(__spreadValues({}, wrapperProps), {\n __staticSelector: \"Autocomplete\"\n }), /* @__PURE__ */ React.createElement(SelectPopover, {\n opened: shouldRenderDropdown,\n transitionProps,\n shadow: \"sm\",\n withinPortal,\n __staticSelector: \"Autocomplete\",\n onDirectionChange: setDirection,\n switchDirectionOnFlip,\n zIndex,\n dropdownPosition,\n positionDependencies,\n classNames,\n styles,\n unstyled,\n readOnly,\n variant: inputProps.variant\n }, /* @__PURE__ */ React.createElement(SelectPopover.Target, null, /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.wrapper,\n \"aria-controls\": inputProps.id,\n onMouseLeave: () => setHovered(-1),\n tabIndex: -1\n }, /* @__PURE__ */ React.createElement(Input, __spreadProps(__spreadValues(__spreadValues({\n type: \"search\",\n autoComplete: \"off\"\n }, inputProps), others), {\n readOnly,\n \"data-mantine-stop-propagation\": dropdownOpened,\n ref: useMergedRef(ref, inputRef),\n onKeyDown: handleInputKeydown,\n classNames,\n styles,\n __staticSelector: \"Autocomplete\",\n value: _value,\n onChange: (event) => {\n handleChange(event.currentTarget.value);\n setDropdownOpened(true);\n },\n onFocus: handleInputFocus,\n onBlur: handleInputBlur,\n onClick: handleInputClick,\n onCompositionStart: () => setIMEOpen(true),\n onCompositionEnd: () => setIMEOpen(false),\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-owns\": shouldRenderDropdown ? `${inputProps.id}-items` : null,\n \"aria-expanded\": shouldRenderDropdown,\n \"aria-autocomplete\": \"list\",\n \"aria-controls\": shouldRenderDropdown ? `${inputProps.id}-items` : null,\n \"aria-activedescendant\": hovered >= 0 ? `${inputProps.id}-${hovered}` : null\n })))), /* @__PURE__ */ React.createElement(SelectPopover.Dropdown, {\n component: dropdownComponent || SelectScrollArea,\n maxHeight: maxDropdownHeight,\n direction,\n id: inputProps.id,\n __staticSelector: \"Autocomplete\",\n classNames,\n styles\n }, /* @__PURE__ */ React.createElement(SelectItems, {\n data: filteredData,\n hovered,\n classNames,\n styles,\n uuid: inputProps.id,\n __staticSelector: \"Autocomplete\",\n onItemHover: setHovered,\n onItemSelect: handleItemClick,\n itemComponent,\n size: inputProps.size,\n nothingFound,\n variant: inputProps.variant\n }))));\n});\nAutocomplete.displayName = \"@mantine/core/Autocomplete\";\n\nexport { Autocomplete, defaultFilter };\n//# sourceMappingURL=Autocomplete.js.map\n","function filterData({ data, limit, value, filter }) {\n const result = [];\n for (let i = 0; i < data.length; i += 1) {\n if (filter(value, data[i])) {\n result.push(data[i]);\n }\n if (result.length >= limit) {\n break;\n }\n }\n return result;\n}\n\nexport { filterData };\n//# sourceMappingURL=filter-data.js.map\n","import { createStyles, rem, getSize } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst BADGE_VARIANTS = [\"light\", \"filled\", \"outline\", \"dot\", \"gradient\"];\nconst sizes = {\n xs: { fontSize: rem(9), height: rem(16) },\n sm: { fontSize: rem(10), height: rem(18) },\n md: { fontSize: rem(11), height: rem(20) },\n lg: { fontSize: rem(13), height: rem(26) },\n xl: { fontSize: rem(16), height: rem(32) }\n};\nconst dotSizes = {\n xs: rem(4),\n sm: rem(4),\n md: rem(6),\n lg: rem(8),\n xl: rem(10)\n};\nfunction getVariantStyles({ theme, variant, color, size, gradient }) {\n if (!BADGE_VARIANTS.includes(variant)) {\n return null;\n }\n if (variant === \"dot\") {\n const dotSize = getSize({ size, sizes: dotSizes });\n return {\n backgroundColor: \"transparent\",\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.colors.gray[7],\n border: `${rem(1)} solid ${theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[3]}`,\n paddingLeft: `calc(${getSize({ size, sizes: theme.spacing })} / 1.5 - ${dotSize} / 2)`,\n \"&::before\": {\n content: '\"\"',\n display: \"block\",\n width: dotSize,\n height: dotSize,\n borderRadius: dotSize,\n backgroundColor: theme.fn.themeColor(color, theme.colorScheme === \"dark\" ? 4 : theme.fn.primaryShade(\"light\"), true),\n marginRight: dotSize\n }\n };\n }\n const colors = theme.fn.variant({ color, variant, gradient });\n return {\n background: colors.background,\n color: colors.color,\n border: `${rem(variant === \"gradient\" ? 0 : 1)} solid ${colors.border}`\n };\n}\nvar useStyles = createStyles((theme, { color, radius, gradient, fullWidth }, { variant, size }) => {\n const { fontSize, height } = size in sizes ? sizes[size] : sizes.md;\n return {\n leftSection: {\n marginRight: `calc(${theme.spacing.xs} / 2)`\n },\n rightSection: {\n marginLeft: `calc(${theme.spacing.xs} / 2)`\n },\n inner: {\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n },\n root: __spreadValues(__spreadProps(__spreadValues(__spreadValues({}, theme.fn.focusStyles()), theme.fn.fontStyles()), {\n fontSize,\n height,\n WebkitTapHighlightColor: \"transparent\",\n lineHeight: `calc(${height} - ${rem(2)})`,\n textDecoration: \"none\",\n padding: `0 calc(${getSize({ size, sizes: theme.spacing })} / 1.5)`,\n boxSizing: \"border-box\",\n display: fullWidth ? \"flex\" : \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: fullWidth ? \"100%\" : \"auto\",\n textTransform: \"uppercase\",\n borderRadius: theme.fn.radius(radius),\n fontWeight: 700,\n letterSpacing: rem(0.25),\n cursor: \"inherit\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\"\n }), getVariantStyles({ theme, variant, color, size, gradient }))\n };\n});\n\nexport default useStyles;\n//# sourceMappingURL=Badge.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport useStyles from './Badge.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n variant: \"light\",\n size: \"md\",\n radius: \"xl\"\n};\nconst _Badge = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Badge\", defaultProps, props), {\n className,\n color,\n variant,\n fullWidth,\n children,\n size,\n leftSection,\n rightSection,\n radius,\n gradient,\n classNames,\n styles,\n unstyled\n } = _a, others = __objRest(_a, [\n \"className\",\n \"color\",\n \"variant\",\n \"fullWidth\",\n \"children\",\n \"size\",\n \"leftSection\",\n \"rightSection\",\n \"radius\",\n \"gradient\",\n \"classNames\",\n \"styles\",\n \"unstyled\"\n ]);\n const { classes, cx } = useStyles({ fullWidth, color, radius, gradient }, { classNames, styles, name: \"Badge\", unstyled, variant, size });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className),\n ref\n }, others), leftSection && /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.leftSection\n }, leftSection), /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.inner\n }, children), rightSection && /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.rightSection\n }, rightSection));\n});\n_Badge.displayName = \"@mantine/core/Badge\";\nconst Badge = createPolymorphicComponent(_Badge);\n\nexport { Badge, _Badge };\n//# sourceMappingURL=Badge.js.map\n","import { useMantineTheme, useCss } from '@mantine/styles';\nimport { getSystemStyles } from '../style-system-props/get-system-styles/get-system-styles.js';\n\nfunction extractSx(sx, theme) {\n return typeof sx === \"function\" ? sx(theme) : sx;\n}\nfunction useSx(sx, systemProps, className) {\n const theme = useMantineTheme();\n const { css, cx } = useCss();\n if (Array.isArray(sx)) {\n return cx(className, css(getSystemStyles(systemProps, theme)), sx.map((partial) => css(extractSx(partial, theme))));\n }\n return cx(className, css(extractSx(sx, theme)), css(getSystemStyles(systemProps, theme)));\n}\n\nexport { useSx };\n//# sourceMappingURL=use-sx.js.map\n","import React, { forwardRef } from 'react';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { extractSystemStyles } from './style-system-props/extract-system-styles/extract-system-styles.js';\nimport { useSx } from './use-sx/use-sx.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst _Box = forwardRef((_a, ref) => {\n var _b = _a, { className, component, style, sx } = _b, others = __objRest(_b, [\"className\", \"component\", \"style\", \"sx\"]);\n const { systemStyles, rest } = extractSystemStyles(others);\n const Element = component || \"div\";\n return /* @__PURE__ */ React.createElement(Element, __spreadValues({\n ref,\n className: useSx(sx, systemStyles, className),\n style\n }, rest));\n});\n_Box.displayName = \"@mantine/core/Box\";\nconst Box = createPolymorphicComponent(_Box);\n\nexport { Box, _Box };\n//# sourceMappingURL=Box.js.map\n","import { filterProps } from '@mantine/styles';\n\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction extractSystemStyles(others) {\n const _a = others, {\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n bg,\n c,\n opacity,\n ff,\n fz,\n fw,\n lts,\n ta,\n lh,\n fs,\n tt,\n td,\n w,\n miw,\n maw,\n h,\n mih,\n mah,\n bgsz,\n bgp,\n bgr,\n bga,\n pos,\n top,\n left,\n bottom,\n right,\n inset,\n display\n } = _a, rest = __objRest(_a, [\n \"m\",\n \"mx\",\n \"my\",\n \"mt\",\n \"mb\",\n \"ml\",\n \"mr\",\n \"p\",\n \"px\",\n \"py\",\n \"pt\",\n \"pb\",\n \"pl\",\n \"pr\",\n \"bg\",\n \"c\",\n \"opacity\",\n \"ff\",\n \"fz\",\n \"fw\",\n \"lts\",\n \"ta\",\n \"lh\",\n \"fs\",\n \"tt\",\n \"td\",\n \"w\",\n \"miw\",\n \"maw\",\n \"h\",\n \"mih\",\n \"mah\",\n \"bgsz\",\n \"bgp\",\n \"bgr\",\n \"bga\",\n \"pos\",\n \"top\",\n \"left\",\n \"bottom\",\n \"right\",\n \"inset\",\n \"display\"\n ]);\n const systemStyles = filterProps({\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n bg,\n c,\n opacity,\n ff,\n fz,\n fw,\n lts,\n ta,\n lh,\n fs,\n tt,\n td,\n w,\n miw,\n maw,\n h,\n mih,\n mah,\n bgsz,\n bgp,\n bgr,\n bga,\n pos,\n top,\n left,\n bottom,\n right,\n inset,\n display\n });\n return { systemStyles, rest };\n}\n\nexport { extractSystemStyles };\n//# sourceMappingURL=extract-system-styles.js.map\n","import { getSize } from '@mantine/styles';\n\nconst NEGATIVE_VALUES = [\"-xs\", \"-sm\", \"-md\", \"-lg\", \"-xl\"];\nfunction getSpacingValue(size, theme) {\n if (NEGATIVE_VALUES.includes(size)) {\n return `calc(${getSize({\n size: size.replace(\"-\", \"\"),\n sizes: theme.spacing\n })} * -1)`;\n }\n return getSize({ size, sizes: theme.spacing });\n}\n\nexport { getSpacingValue };\n//# sourceMappingURL=get-spacing-value.js.map\n","import { getColorValue } from './get-color-value.js';\nimport { identity, getSizeValue } from './get-default-value.js';\nimport { getFontSizeValue } from './get-font-size-value.js';\nimport { getSpacingValue } from './get-spacing-value.js';\n\nconst valueGetters = {\n identity,\n color: getColorValue,\n size: getSizeValue,\n fontSize: getFontSizeValue,\n spacing: getSpacingValue\n};\n\nexport { valueGetters };\n//# sourceMappingURL=value-getters.js.map\n","import { rem } from '@mantine/styles';\n\nfunction getSizeValue(value) {\n return rem(value);\n}\nfunction identity(value) {\n return value;\n}\n\nexport { getSizeValue, identity };\n//# sourceMappingURL=get-default-value.js.map\n","function getColorValue(color, theme) {\n if (color === \"dimmed\") {\n return theme.colorScheme === \"dark\" ? theme.colors.dark[2] : theme.colors.gray[6];\n }\n return theme.fn.variant({ variant: \"filled\", color, primaryFallback: false }).background;\n}\n\nexport { getColorValue };\n//# sourceMappingURL=get-color-value.js.map\n","import { getSize } from '@mantine/styles';\n\nfunction getFontSizeValue(size, theme) {\n return getSize({ size, sizes: theme.fontSizes });\n}\n\nexport { getFontSizeValue };\n//# sourceMappingURL=get-font-size-value.js.map\n","const SYSTEM_PROPS = {\n m: { type: \"spacing\", property: \"margin\" },\n mt: { type: \"spacing\", property: \"marginTop\" },\n mb: { type: \"spacing\", property: \"marginBottom\" },\n ml: { type: \"spacing\", property: \"marginLeft\" },\n mr: { type: \"spacing\", property: \"marginRight\" },\n mx: { type: \"spacing\", property: [\"marginRight\", \"marginLeft\"] },\n my: { type: \"spacing\", property: [\"marginTop\", \"marginBottom\"] },\n p: { type: \"spacing\", property: \"padding\" },\n pt: { type: \"spacing\", property: \"paddingTop\" },\n pb: { type: \"spacing\", property: \"paddingBottom\" },\n pl: { type: \"spacing\", property: \"paddingLeft\" },\n pr: { type: \"spacing\", property: \"paddingRight\" },\n px: { type: \"spacing\", property: [\"paddingRight\", \"paddingLeft\"] },\n py: { type: \"spacing\", property: [\"paddingTop\", \"paddingBottom\"] },\n bg: { type: \"color\", property: \"background\" },\n c: { type: \"color\", property: \"color\" },\n opacity: { type: \"identity\", property: \"opacity\" },\n ff: { type: \"identity\", property: \"fontFamily\" },\n fz: { type: \"fontSize\", property: \"fontSize\" },\n fw: { type: \"identity\", property: \"fontWeight\" },\n lts: { type: \"size\", property: \"letterSpacing\" },\n ta: { type: \"identity\", property: \"textAlign\" },\n lh: { type: \"identity\", property: \"lineHeight\" },\n fs: { type: \"identity\", property: \"fontStyle\" },\n tt: { type: \"identity\", property: \"textTransform\" },\n td: { type: \"identity\", property: \"textDecoration\" },\n w: { type: \"spacing\", property: \"width\" },\n miw: { type: \"spacing\", property: \"minWidth\" },\n maw: { type: \"spacing\", property: \"maxWidth\" },\n h: { type: \"spacing\", property: \"height\" },\n mih: { type: \"spacing\", property: \"minHeight\" },\n mah: { type: \"spacing\", property: \"maxHeight\" },\n bgsz: { type: \"size\", property: \"backgroundSize\" },\n bgp: { type: \"identity\", property: \"backgroundPosition\" },\n bgr: { type: \"identity\", property: \"backgroundRepeat\" },\n bga: { type: \"identity\", property: \"backgroundAttachment\" },\n pos: { type: \"identity\", property: \"position\" },\n top: { type: \"identity\", property: \"top\" },\n left: { type: \"size\", property: \"left\" },\n bottom: { type: \"size\", property: \"bottom\" },\n right: { type: \"size\", property: \"right\" },\n inset: { type: \"size\", property: \"inset\" },\n display: { type: \"identity\", property: \"display\" }\n};\n\nexport { SYSTEM_PROPS };\n//# sourceMappingURL=system-props.js.map\n","import { getResponsiveValue } from '../get-responsive-value/get-responsive-value.js';\nimport { valueGetters } from '../value-getters/value-getters.js';\nimport { SYSTEM_PROPS } from '../system-props/system-props.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction getSystemStyles(systemStyles, theme, systemProps = SYSTEM_PROPS) {\n const styles = Object.keys(systemProps).reduce((acc, systemProp) => {\n if (systemProp in systemStyles && systemStyles[systemProp] !== void 0) {\n acc.push(getResponsiveValue({\n value: systemStyles[systemProp],\n getValue: valueGetters[systemProps[systemProp].type],\n property: systemProps[systemProp].property,\n theme\n }));\n }\n return acc;\n }, []);\n return styles.reduce((acc, stylesPartial) => {\n Object.keys(stylesPartial).forEach((property) => {\n if (typeof stylesPartial[property] === \"object\" && stylesPartial[property] !== null) {\n if (!(property in acc)) {\n acc[property] = stylesPartial[property];\n } else {\n acc[property] = __spreadValues(__spreadValues({}, acc[property]), stylesPartial[property]);\n }\n } else {\n acc[property] = stylesPartial[property];\n }\n });\n return acc;\n }, {});\n}\n\nexport { getSystemStyles };\n//# sourceMappingURL=get-system-styles.js.map\n","import { getBreakpointValue, getSize } from '@mantine/styles';\n\nfunction getSortedKeys(value, theme) {\n const sorted = Object.keys(value).filter((breakpoint) => breakpoint !== \"base\").sort((a, b) => getBreakpointValue(getSize({ size: a, sizes: theme.breakpoints })) - getBreakpointValue(getSize({ size: b, sizes: theme.breakpoints })));\n return \"base\" in value ? [\"base\", ...sorted] : sorted;\n}\nfunction getResponsiveValue({ value, theme, getValue, property }) {\n if (value == null) {\n return void 0;\n }\n if (typeof value === \"object\") {\n const result = getSortedKeys(value, theme).reduce((acc, breakpointKey) => {\n if (breakpointKey === \"base\" && value.base !== void 0) {\n const baseValue = getValue(value.base, theme);\n if (Array.isArray(property)) {\n property.forEach((prop) => {\n acc[prop] = baseValue;\n });\n return acc;\n }\n acc[property] = baseValue;\n return acc;\n }\n const breakpointValue = getValue(value[breakpointKey], theme);\n if (Array.isArray(property)) {\n acc[theme.fn.largerThan(breakpointKey)] = {};\n property.forEach((prop) => {\n acc[theme.fn.largerThan(breakpointKey)][prop] = breakpointValue;\n });\n return acc;\n }\n acc[theme.fn.largerThan(breakpointKey)] = {\n [property]: breakpointValue\n };\n return acc;\n }, {});\n return result;\n }\n const cssValue = getValue(value, theme);\n if (Array.isArray(property)) {\n return property.reduce((acc, prop) => {\n acc[prop] = cssValue;\n return acc;\n }, {});\n }\n return { [property]: cssValue };\n}\n\nexport { getResponsiveValue };\n//# sourceMappingURL=get-responsive-value.js.map\n","import { createStyles, rem } from '@mantine/styles';\n\nvar useStyles = createStyles((_theme, { orientation, buttonBorderWidth }) => ({\n root: {\n display: \"flex\",\n flexDirection: orientation === \"vertical\" ? \"column\" : \"row\",\n \"& [data-button]\": {\n \"&:first-of-type:not(:last-of-type)\": {\n borderBottomRightRadius: 0,\n [orientation === \"vertical\" ? \"borderBottomLeftRadius\" : \"borderTopRightRadius\"]: 0,\n [orientation === \"vertical\" ? \"borderBottomWidth\" : \"borderRightWidth\"]: `calc(${rem(buttonBorderWidth)} / 2)`\n },\n \"&:last-of-type:not(:first-of-type)\": {\n borderTopLeftRadius: 0,\n [orientation === \"vertical\" ? \"borderTopRightRadius\" : \"borderBottomLeftRadius\"]: 0,\n [orientation === \"vertical\" ? \"borderTopWidth\" : \"borderLeftWidth\"]: `calc(${rem(buttonBorderWidth)} / 2)`\n },\n \"&:not(:first-of-type):not(:last-of-type)\": {\n borderRadius: 0,\n [orientation === \"vertical\" ? \"borderTopWidth\" : \"borderLeftWidth\"]: `calc(${rem(buttonBorderWidth)} / 2)`,\n [orientation === \"vertical\" ? \"borderBottomWidth\" : \"borderRightWidth\"]: `calc(${rem(buttonBorderWidth)} / 2)`\n },\n \"& + [data-button]\": {\n [orientation === \"vertical\" ? \"marginTop\" : \"marginLeft\"]: `calc(${buttonBorderWidth} * -1)`,\n \"@media (min-resolution: 192dpi)\": {\n [orientation === \"vertical\" ? \"marginTop\" : \"marginLeft\"]: 0\n }\n }\n }\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=ButtonGroup.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport useStyles from './ButtonGroup.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n orientation: \"horizontal\",\n buttonBorderWidth: 1\n};\nconst ButtonGroup = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"ButtonGroup\", defaultProps, props), { className, orientation, buttonBorderWidth, unstyled } = _a, others = __objRest(_a, [\"className\", \"orientation\", \"buttonBorderWidth\", \"unstyled\"]);\n const { classes, cx } = useStyles({ orientation, buttonBorderWidth }, { name: \"ButtonGroup\", unstyled });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className),\n ref\n }, others));\n});\nButtonGroup.displayName = \"@mantine/core/ButtonGroup\";\n\nexport { ButtonGroup };\n//# sourceMappingURL=ButtonGroup.js.map\n","import { createStyles, rem, getSize } from '@mantine/styles';\nimport { sizes as sizes$1 } from '../Input/Input.styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst BUTTON_VARIANTS = [\n \"filled\",\n \"outline\",\n \"light\",\n \"white\",\n \"default\",\n \"subtle\",\n \"gradient\"\n];\nconst sizes = {\n xs: { height: sizes$1.xs, paddingLeft: rem(14), paddingRight: rem(14) },\n sm: { height: sizes$1.sm, paddingLeft: rem(18), paddingRight: rem(18) },\n md: { height: sizes$1.md, paddingLeft: rem(22), paddingRight: rem(22) },\n lg: { height: sizes$1.lg, paddingLeft: rem(26), paddingRight: rem(26) },\n xl: { height: sizes$1.xl, paddingLeft: rem(32), paddingRight: rem(32) },\n \"compact-xs\": { height: rem(22), paddingLeft: rem(7), paddingRight: rem(7) },\n \"compact-sm\": { height: rem(26), paddingLeft: rem(8), paddingRight: rem(8) },\n \"compact-md\": { height: rem(30), paddingLeft: rem(10), paddingRight: rem(10) },\n \"compact-lg\": { height: rem(34), paddingLeft: rem(12), paddingRight: rem(12) },\n \"compact-xl\": { height: rem(40), paddingLeft: rem(14), paddingRight: rem(14) }\n};\nfunction getSizeStyles({ compact, size, withLeftIcon, withRightIcon }) {\n if (compact) {\n return sizes[`compact-${size}`];\n }\n const _sizes = sizes[size];\n if (!_sizes) {\n return {};\n }\n return __spreadProps(__spreadValues({}, _sizes), {\n paddingLeft: withLeftIcon ? `calc(${_sizes.paddingLeft} / 1.5)` : _sizes.paddingLeft,\n paddingRight: withRightIcon ? `calc(${_sizes.paddingRight} / 1.5)` : _sizes.paddingRight\n });\n}\nconst getWidthStyles = (fullWidth) => ({\n display: fullWidth ? \"block\" : \"inline-block\",\n width: fullWidth ? \"100%\" : \"auto\"\n});\nfunction getVariantStyles({ variant, theme, color, gradient }) {\n if (!BUTTON_VARIANTS.includes(variant)) {\n return null;\n }\n const colors = theme.fn.variant({ color, variant, gradient });\n if (variant === \"gradient\") {\n return __spreadValues({\n border: 0,\n backgroundImage: colors.background,\n color: colors.color\n }, theme.fn.hover({ backgroundSize: \"200%\" }));\n }\n return __spreadValues({\n border: `${rem(1)} solid ${colors.border}`,\n backgroundColor: colors.background,\n color: colors.color\n }, theme.fn.hover({ backgroundColor: colors.hover }));\n}\nvar useStyles = createStyles((theme, {\n radius,\n fullWidth,\n compact,\n withLeftIcon,\n withRightIcon,\n color,\n gradient\n}, { variant, size }) => ({\n root: __spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, getSizeStyles({ compact, size, withLeftIcon, withRightIcon })), theme.fn.fontStyles()), theme.fn.focusStyles()), getWidthStyles(fullWidth)), {\n borderRadius: theme.fn.radius(radius),\n fontWeight: 600,\n position: \"relative\",\n lineHeight: 1,\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n userSelect: \"none\",\n cursor: \"pointer\"\n }), getVariantStyles({ variant, theme, color, gradient })), {\n \"&:active\": theme.activeStyles,\n \"&:disabled, &[data-disabled]\": {\n borderColor: \"transparent\",\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[2],\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[5],\n cursor: \"not-allowed\",\n backgroundImage: \"none\",\n pointerEvents: \"none\",\n \"&:active\": {\n transform: \"none\"\n }\n },\n \"&[data-loading]\": {\n pointerEvents: \"none\",\n \"&::before\": __spreadProps(__spreadValues({\n content: '\"\"'\n }, theme.fn.cover(rem(-1))), {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.fn.rgba(theme.colors.dark[7], 0.5) : \"rgba(255, 255, 255, .5)\",\n borderRadius: theme.fn.radius(radius),\n cursor: \"not-allowed\"\n })\n }\n }),\n icon: {\n display: \"flex\",\n alignItems: \"center\"\n },\n leftIcon: {\n marginRight: theme.spacing.xs\n },\n rightIcon: {\n marginLeft: theme.spacing.xs\n },\n centerLoader: {\n position: \"absolute\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0.5\n },\n inner: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"100%\",\n overflow: \"visible\"\n },\n label: {\n whiteSpace: \"nowrap\",\n height: \"100%\",\n overflow: \"hidden\",\n display: \"flex\",\n alignItems: \"center\"\n }\n}));\n\nexport default useStyles;\nexport { BUTTON_VARIANTS, sizes };\n//# sourceMappingURL=Button.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, getSize } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { ButtonGroup } from './ButtonGroup/ButtonGroup.js';\nimport useStyles, { sizes } from './Button.styles.js';\nimport { Loader } from '../Loader/Loader.js';\nimport { UnstyledButton } from '../UnstyledButton/UnstyledButton.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n size: \"sm\",\n type: \"button\",\n variant: \"filled\",\n loaderPosition: \"left\"\n};\nconst _Button = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Button\", defaultProps, props), {\n className,\n size,\n color,\n type,\n disabled,\n children,\n leftIcon,\n rightIcon,\n fullWidth,\n variant,\n radius,\n uppercase,\n compact,\n loading,\n loaderPosition,\n loaderProps,\n gradient,\n classNames,\n styles,\n unstyled\n } = _a, others = __objRest(_a, [\n \"className\",\n \"size\",\n \"color\",\n \"type\",\n \"disabled\",\n \"children\",\n \"leftIcon\",\n \"rightIcon\",\n \"fullWidth\",\n \"variant\",\n \"radius\",\n \"uppercase\",\n \"compact\",\n \"loading\",\n \"loaderPosition\",\n \"loaderProps\",\n \"gradient\",\n \"classNames\",\n \"styles\",\n \"unstyled\"\n ]);\n const { classes, cx, theme } = useStyles({\n radius,\n color,\n fullWidth,\n compact,\n gradient,\n withLeftIcon: !!leftIcon,\n withRightIcon: !!rightIcon\n }, { name: \"Button\", unstyled, classNames, styles, variant, size });\n const colors = theme.fn.variant({ color, variant });\n const loader = /* @__PURE__ */ React.createElement(Loader, __spreadValues({\n color: colors.color,\n size: `calc(${getSize({ size, sizes }).height} / 2)`\n }, loaderProps));\n return /* @__PURE__ */ React.createElement(UnstyledButton, __spreadValues({\n className: cx(classes.root, className),\n type,\n disabled,\n \"data-button\": true,\n \"data-disabled\": disabled || void 0,\n \"data-loading\": loading || void 0,\n ref,\n unstyled\n }, others), /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.inner\n }, (leftIcon || loading && loaderPosition === \"left\") && /* @__PURE__ */ React.createElement(\"span\", {\n className: cx(classes.icon, classes.leftIcon)\n }, loading && loaderPosition === \"left\" ? loader : leftIcon), loading && loaderPosition === \"center\" && /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.centerLoader\n }, loader), /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.label,\n style: { textTransform: uppercase ? \"uppercase\" : void 0 }\n }, children), (rightIcon || loading && loaderPosition === \"right\") && /* @__PURE__ */ React.createElement(\"span\", {\n className: cx(classes.icon, classes.rightIcon)\n }, loading && loaderPosition === \"right\" ? loader : rightIcon)));\n});\n_Button.displayName = \"@mantine/core/Button\";\n_Button.Group = ButtonGroup;\nconst Button = createPolymorphicComponent(_Button);\n\nexport { Button, _Button };\n//# sourceMappingURL=Button.js.map\n","import { useContext, createContext } from 'react';\n\nconst CardContext = createContext({ padding: 0 });\nconst CardProvider = CardContext.Provider;\nconst useCardPadding = () => useContext(CardContext).padding;\n\nexport { CardProvider, useCardPadding };\n//# sourceMappingURL=Card.context.js.map\n","import { createStyles, getSize, rem } from '@mantine/styles';\n\nvar useStyles = createStyles((theme, { padding, withBorder, inheritPadding }) => {\n const spacing = getSize({ size: padding, sizes: theme.spacing });\n const offset = `calc(-1 * ${spacing})`;\n const borderColor = theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[3];\n return {\n cardSection: {\n display: \"block\",\n marginLeft: offset,\n marginRight: offset,\n paddingLeft: inheritPadding ? spacing : void 0,\n paddingRight: inheritPadding ? spacing : void 0,\n borderTop: withBorder ? `${rem(1)} solid ${borderColor}` : void 0,\n borderBottom: withBorder ? `${rem(1)} solid ${borderColor}` : void 0,\n \"& + &\": {\n borderTop: 0\n },\n \"&[data-first]\": {\n marginTop: offset,\n borderTop: 0,\n borderBottom: withBorder ? `${rem(1)} solid ${borderColor}` : void 0\n },\n \"&[data-last]\": {\n marginBottom: offset,\n borderBottom: 0\n }\n }\n };\n});\n\nexport default useStyles;\n//# sourceMappingURL=CardSection.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { useCardPadding } from '../Card.context.js';\nimport useStyles from './CardSection.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n withBorder: false,\n inheritPadding: false\n};\nconst _CardSection = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"CardSection\", defaultProps, props), { className, withBorder, inheritPadding, unstyled, variant } = _a, others = __objRest(_a, [\"className\", \"withBorder\", \"inheritPadding\", \"unstyled\", \"variant\"]);\n const { classes, cx } = useStyles({ padding: useCardPadding(), withBorder, inheritPadding }, { name: \"Card\", unstyled, variant });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.cardSection, className),\n ref\n }, others));\n});\n_CardSection.displayName = \"@mantine/core/CardSection\";\nconst CardSection = createPolymorphicComponent(_CardSection);\n\nexport { CardSection, _CardSection };\n//# sourceMappingURL=CardSection.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles((theme) => ({\n root: {\n position: \"relative\",\n overflow: \"hidden\",\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.white\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Card.styles.js.map\n","import React, { forwardRef, Children, cloneElement } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { Paper } from '../Paper/Paper.js';\nimport { CardSection } from './CardSection/CardSection.js';\nimport useStyles from './Card.styles.js';\nimport { CardProvider } from './Card.context.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n padding: \"md\"\n};\nconst _Card = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Card\", defaultProps, props), { className, padding, radius, children, unstyled, variant } = _a, others = __objRest(_a, [\"className\", \"padding\", \"radius\", \"children\", \"unstyled\", \"variant\"]);\n const { classes, cx } = useStyles(null, { name: \"Card\", unstyled, variant });\n const _children = Children.toArray(children);\n const content = _children.map((child, index) => {\n if (typeof child === \"object\" && child && \"type\" in child && child.type === CardSection) {\n return cloneElement(child, {\n variant,\n padding,\n \"data-first\": index === 0 || void 0,\n \"data-last\": index === _children.length - 1 || void 0\n });\n }\n return child;\n });\n return /* @__PURE__ */ React.createElement(CardProvider, {\n value: { padding }\n }, /* @__PURE__ */ React.createElement(Paper, __spreadValues({\n className: cx(classes.root, className),\n radius,\n p: padding,\n ref\n }, others), content));\n});\n_Card.Section = CardSection;\n_Card.displayName = \"@mantine/core/Card\";\nconst Card = createPolymorphicComponent(_Card);\n\nexport { Card, _Card };\n//# sourceMappingURL=Card.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles((theme, { inline }) => ({\n root: {\n display: inline ? \"inline-flex\" : \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Center.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport useStyles from './Center.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst _Center = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Center\", {}, props), { inline, className, unstyled, variant } = _a, others = __objRest(_a, [\"inline\", \"className\", \"unstyled\", \"variant\"]);\n const { classes, cx } = useStyles({ inline }, { name: \"Center\", unstyled, variant });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n ref,\n className: cx(classes.root, className)\n }, others));\n});\n_Center.displayName = \"@mantine/core/Center\";\nconst Center = createPolymorphicComponent(_Center);\n\nexport { Center, _Center };\n//# sourceMappingURL=Center.js.map\n","import { useContext, createContext } from 'react';\n\nconst CheckboxGroupContext = createContext(null);\nconst CheckboxGroupProvider = CheckboxGroupContext.Provider;\nconst useCheckboxGroupContext = () => useContext(CheckboxGroupContext);\n\nexport { CheckboxGroupProvider, useCheckboxGroupContext };\n//# sourceMappingURL=CheckboxGroup.context.js.map\n","import React, { forwardRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { CheckboxGroupProvider } from '../CheckboxGroup.context.js';\nimport { Input } from '../../Input/Input.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n size: \"sm\"\n};\nconst CheckboxGroup = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"CheckboxGroup\", defaultProps, props), { children, value, defaultValue, onChange, size, wrapperProps } = _a, others = __objRest(_a, [\"children\", \"value\", \"defaultValue\", \"onChange\", \"size\", \"wrapperProps\"]);\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n onChange\n });\n const handleChange = (event) => {\n const itemValue = event.currentTarget.value;\n setValue(_value.includes(itemValue) ? _value.filter((item) => item !== itemValue) : [..._value, itemValue]);\n };\n return /* @__PURE__ */ React.createElement(CheckboxGroupProvider, {\n value: { value: _value, onChange: handleChange, size }\n }, /* @__PURE__ */ React.createElement(Input.Wrapper, __spreadValues(__spreadValues({\n labelElement: \"div\",\n size,\n __staticSelector: \"CheckboxGroup\",\n ref\n }, wrapperProps), others), children));\n});\nCheckboxGroup.displayName = \"@mantine/core/CheckboxGroup\";\n\nexport { CheckboxGroup };\n//# sourceMappingURL=CheckboxGroup.js.map\n","import { createStyles, getSize, getStylesRef, rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst sizes = {\n xs: rem(16),\n sm: rem(20),\n md: rem(24),\n lg: rem(30),\n xl: rem(36)\n};\nvar useStyles = createStyles((theme, {\n radius,\n color,\n transitionDuration,\n labelPosition,\n error,\n indeterminate\n}, { size }) => {\n const _size = getSize({ size, sizes });\n const colors = theme.fn.variant({ variant: \"filled\", color });\n return {\n icon: __spreadProps(__spreadValues({}, theme.fn.cover()), {\n ref: getStylesRef(\"icon\"),\n color: indeterminate ? \"inherit\" : theme.white,\n transform: indeterminate ? \"none\" : `translateY(${rem(5)}) scale(0.5)`,\n opacity: indeterminate ? 1 : 0,\n transitionProperty: \"opacity, transform\",\n transitionTimingFunction: \"ease\",\n transitionDuration: `${transitionDuration}ms`,\n pointerEvents: \"none\",\n width: \"60%\",\n position: \"absolute\",\n zIndex: 1,\n margin: \"auto\",\n \"@media (prefers-reduced-motion)\": {\n transitionDuration: theme.respectReducedMotion ? \"0ms\" : void 0\n }\n }),\n inner: {\n position: \"relative\",\n width: _size,\n height: _size,\n order: labelPosition === \"left\" ? 2 : 1\n },\n input: __spreadProps(__spreadValues({}, theme.fn.focusStyles()), {\n appearance: \"none\",\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.white,\n border: `${rem(1)} solid ${error ? theme.fn.variant({ variant: \"filled\", color: \"red\" }).background : theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[4]}`,\n width: _size,\n height: _size,\n borderRadius: theme.fn.radius(radius),\n padding: 0,\n display: \"block\",\n margin: 0,\n transition: `border-color ${transitionDuration}ms ease, background-color ${transitionDuration}ms ease`,\n cursor: theme.cursorType,\n \"&:checked\": {\n backgroundColor: colors.background,\n borderColor: colors.background,\n [`& + .${getStylesRef(\"icon\")}`]: {\n opacity: 1,\n color: theme.white,\n transform: \"translateY(0) scale(1)\"\n }\n },\n \"&:disabled\": {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[2],\n borderColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[3],\n cursor: \"not-allowed\",\n pointerEvents: \"none\",\n [`& + .${getStylesRef(\"icon\")}`]: {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[5]\n }\n }\n })\n };\n});\n\nexport default useStyles;\n//# sourceMappingURL=Checkbox.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useId } from '@mantine/hooks';\nimport { useCheckboxGroupContext } from './CheckboxGroup.context.js';\nimport { CheckboxGroup } from './CheckboxGroup/CheckboxGroup.js';\nimport { CheckboxIcon } from './CheckboxIcon.js';\nimport useStyles from './Checkbox.styles.js';\nimport { extractSystemStyles } from '../Box/style-system-props/extract-system-styles/extract-system-styles.js';\nimport { InlineInput } from '../InlineInput/InlineInput.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n size: \"sm\",\n transitionDuration: 100,\n icon: CheckboxIcon,\n labelPosition: \"right\"\n};\nconst Checkbox = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Checkbox\", defaultProps, props), {\n className,\n style,\n sx,\n checked,\n disabled,\n color,\n label,\n indeterminate,\n id,\n size,\n radius,\n wrapperProps,\n children,\n classNames,\n styles,\n transitionDuration,\n icon: Icon,\n unstyled,\n labelPosition,\n description,\n error,\n variant\n } = _a, others = __objRest(_a, [\n \"className\",\n \"style\",\n \"sx\",\n \"checked\",\n \"disabled\",\n \"color\",\n \"label\",\n \"indeterminate\",\n \"id\",\n \"size\",\n \"radius\",\n \"wrapperProps\",\n \"children\",\n \"classNames\",\n \"styles\",\n \"transitionDuration\",\n \"icon\",\n \"unstyled\",\n \"labelPosition\",\n \"description\",\n \"error\",\n \"variant\"\n ]);\n const ctx = useCheckboxGroupContext();\n const uuid = useId(id);\n const { systemStyles, rest } = extractSystemStyles(others);\n const { classes } = useStyles({\n radius,\n color,\n transitionDuration,\n labelPosition,\n error: !!error,\n indeterminate\n }, { name: \"Checkbox\", classNames, styles, unstyled, variant, size: (ctx == null ? void 0 : ctx.size) || size });\n const contextProps = ctx ? {\n checked: ctx.value.includes(rest.value),\n onChange: ctx.onChange\n } : {};\n return /* @__PURE__ */ React.createElement(InlineInput, __spreadValues(__spreadValues({\n className,\n sx,\n style,\n id: uuid,\n size: (ctx == null ? void 0 : ctx.size) || size,\n labelPosition,\n label,\n description,\n error,\n disabled,\n __staticSelector: \"Checkbox\",\n classNames,\n styles,\n unstyled,\n \"data-checked\": contextProps.checked || void 0,\n variant\n }, systemStyles), wrapperProps), /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.inner\n }, /* @__PURE__ */ React.createElement(\"input\", __spreadValues(__spreadValues({\n id: uuid,\n ref,\n type: \"checkbox\",\n className: classes.input,\n checked,\n disabled\n }, rest), contextProps)), /* @__PURE__ */ React.createElement(Icon, {\n indeterminate,\n className: classes.icon\n })));\n});\nCheckbox.displayName = \"@mantine/core/Checkbox\";\nCheckbox.Group = CheckboxGroup;\n\nexport { Checkbox };\n//# sourceMappingURL=Checkbox.js.map\n","import React from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction CheckIcon(props) {\n const _a = props, { width, height, style } = _a, others = __objRest(_a, [\"width\", \"height\", \"style\"]);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n viewBox: \"0 0 10 7\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n style: __spreadValues({ width, height }, style)\n }, others), /* @__PURE__ */ React.createElement(\"path\", {\n d: \"M4 4.586L1.707 2.293A1 1 0 1 0 .293 3.707l3 3a.997.997 0 0 0 1.414 0l5-5A1 1 0 1 0 8.293.293L4 4.586z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n}\nfunction CheckboxIcon(_a) {\n var _b = _a, { indeterminate } = _b, others = __objRest(_b, [\"indeterminate\"]);\n if (indeterminate) {\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 32 6\"\n }, others), /* @__PURE__ */ React.createElement(\"rect\", {\n width: \"32\",\n height: \"6\",\n fill: \"currentColor\",\n rx: \"3\"\n }));\n }\n return /* @__PURE__ */ React.createElement(CheckIcon, __spreadValues({}, others));\n}\n\nexport { CheckIcon, CheckboxIcon };\n//# sourceMappingURL=CheckboxIcon.js.map\n","import { useContext, createContext } from 'react';\n\nconst ChipGroupContext = createContext(null);\nconst ChipGroupProvider = ChipGroupContext.Provider;\nconst useChipGroup = () => useContext(ChipGroupContext);\n\nexport { ChipGroupProvider, useChipGroup };\n//# sourceMappingURL=ChipGroup.context.js.map\n","import React from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { ChipGroupProvider } from '../ChipGroup.context.js';\n\nconst defaultProps = {};\nfunction ChipGroup(props) {\n const { value, defaultValue, onChange, multiple, children } = useComponentDefaultProps(\"ChipGroup\", defaultProps, props);\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: multiple ? [] : null,\n onChange\n });\n const isChipSelected = (val) => Array.isArray(_value) ? _value.includes(val) : val === _value;\n const handleChange = (event) => {\n const val = event.currentTarget.value;\n if (Array.isArray(_value)) {\n setValue(_value.includes(val) ? _value.filter((v) => v !== val) : [..._value, val]);\n } else {\n setValue(val);\n }\n };\n return /* @__PURE__ */ React.createElement(ChipGroupProvider, {\n value: { isChipSelected, onChange: handleChange, multiple }\n }, children);\n}\nChipGroup.displayName = \"@mantine/core/ChipGroup\";\n\nexport { ChipGroup };\n//# sourceMappingURL=ChipGroup.js.map\n","import { createStyles, getStylesRef, getSize, rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst sizes = {\n xs: rem(24),\n sm: rem(28),\n md: rem(32),\n lg: rem(36),\n xl: rem(40)\n};\nconst iconSizes = {\n xs: rem(10),\n sm: rem(12),\n md: rem(14),\n lg: rem(16),\n xl: rem(18)\n};\nconst padding = {\n xs: rem(16),\n sm: rem(20),\n md: rem(24),\n lg: rem(28),\n xl: rem(32)\n};\nconst checkedPadding = {\n xs: rem(7.5),\n sm: rem(10),\n md: rem(11.5),\n lg: rem(13),\n xl: rem(15)\n};\nfunction getVariantStyles(theme, { color }, variant) {\n const filledColors = theme.fn.variant({ variant: \"filled\", color });\n const lightColors = theme.fn.variant({ variant: \"light\", color });\n if (variant === \"light\") {\n return {\n label: __spreadValues({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[1]\n }, theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[0]\n })),\n checked: __spreadProps(__spreadValues({\n color: lightColors.color,\n backgroundColor: lightColors.background\n }, theme.fn.hover({ backgroundColor: lightColors.hover })), {\n \"&, &:hover\": {\n backgroundColor: theme.fn.variant({ variant: \"light\", color }).background\n }\n })\n };\n }\n if (variant === \"filled\") {\n return {\n label: __spreadValues({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[1]\n }, theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[0]\n })),\n checked: __spreadValues({\n color: filledColors.color,\n backgroundColor: filledColors.background\n }, theme.fn.hover({ backgroundColor: filledColors.hover }))\n };\n }\n if (variant === \"outline\") {\n return {\n label: __spreadValues({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.white,\n borderColor: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[4]\n }, theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[0]\n })),\n checked: {\n border: `${rem(1)} solid ${filledColors.background}`\n }\n };\n }\n return { label: null, checked: null };\n}\nvar useStyles = createStyles((theme, { radius, color }, { size, variant }) => {\n const variantStyles = getVariantStyles(theme, { color }, variant);\n return {\n root: {},\n label: __spreadProps(__spreadValues(__spreadProps(__spreadValues({\n ref: getStylesRef(\"label\")\n }, theme.fn.fontStyles()), {\n boxSizing: \"border-box\",\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black,\n display: \"inline-flex\",\n alignItems: \"center\",\n userSelect: \"none\",\n border: `${rem(1)} solid transparent`,\n borderRadius: theme.fn.radius(radius),\n height: getSize({ size, sizes }),\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n lineHeight: `calc(${getSize({ size, sizes })} - ${rem(2)})`,\n paddingLeft: getSize({ size, sizes: padding }),\n paddingRight: getSize({ size, sizes: padding }),\n cursor: \"pointer\",\n whiteSpace: \"nowrap\",\n transition: \"background-color 100ms ease\",\n WebkitTapHighlightColor: \"transparent\"\n }), variantStyles.label), {\n \"&[data-disabled]\": __spreadProps(__spreadValues({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[1],\n borderColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[1],\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5],\n cursor: \"not-allowed\",\n pointerEvents: \"none\"\n }, theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[1]\n })), {\n [`& .${getStylesRef(\"iconWrapper\")}`]: {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5]\n }\n }),\n \"&[data-checked]\": {\n paddingLeft: getSize({ size, sizes: checkedPadding }),\n paddingRight: getSize({ size, sizes: checkedPadding }),\n \"&:not([data-disabled])\": variantStyles.checked\n }\n }),\n iconWrapper: {\n ref: getStylesRef(\"iconWrapper\"),\n color: variant === \"filled\" ? theme.white : theme.fn.variant({ variant: \"filled\", color }).background,\n width: `calc(${getSize({ size, sizes: iconSizes })} + (${getSize({\n size,\n sizes: theme.spacing\n })} / 1.5))`,\n maxWidth: `calc(${getSize({ size, sizes: iconSizes })} + (${getSize({\n size,\n sizes: theme.spacing\n })} / 1.5))`,\n height: getSize({ size, sizes: iconSizes }),\n display: \"inline-block\",\n verticalAlign: \"middle\",\n overflow: \"hidden\"\n },\n checkIcon: {\n width: getSize({ size, sizes: iconSizes }),\n height: `calc(${getSize({ size, sizes: iconSizes })} / 1.1)`,\n display: \"block\"\n },\n input: {\n width: 0,\n height: 0,\n padding: 0,\n opacity: 0,\n margin: 0,\n \"&:disabled + label\": __spreadProps(__spreadValues({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[1],\n borderColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[1],\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5],\n cursor: \"not-allowed\",\n pointerEvents: \"none\"\n }, theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[1]\n })), {\n [`& .${getStylesRef(\"iconWrapper\")}`]: {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5]\n },\n \"&[data-checked]\": {\n paddingLeft: getSize({ size, sizes: checkedPadding }),\n paddingRight: getSize({ size, sizes: checkedPadding }),\n \"&:not([data-disabled])\": {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[1],\n borderColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[1],\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5]\n }\n }\n }),\n \"&:focus\": {\n outline: \"none\",\n [`& + .${getStylesRef(\"label\")}`]: __spreadValues({}, theme.focusRing === \"always\" || theme.focusRing === \"auto\" ? theme.focusRingStyles.styles(theme) : theme.focusRingStyles.resetStyles(theme)),\n \"&:focus:not(:focus-visible)\": {\n [`& + .${getStylesRef(\"label\")}`]: __spreadValues({}, theme.focusRing === \"auto\" || theme.focusRing === \"never\" ? theme.focusRingStyles.resetStyles(theme) : null)\n }\n }\n }\n };\n});\n\nexport default useStyles;\nexport { sizes };\n//# sourceMappingURL=Chip.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { ChipGroup } from './ChipGroup/ChipGroup.js';\nimport { useChipGroup } from './ChipGroup.context.js';\nimport useStyles from './Chip.styles.js';\nimport { extractSystemStyles } from '../Box/style-system-props/extract-system-styles/extract-system-styles.js';\nimport { Box } from '../Box/Box.js';\nimport { CheckIcon } from '../Checkbox/CheckboxIcon.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n type: \"checkbox\",\n size: \"sm\",\n radius: \"xl\",\n variant: \"outline\"\n};\nconst Chip = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Chip\", defaultProps, props), {\n radius,\n type,\n size,\n variant,\n disabled,\n id,\n color,\n children,\n className,\n classNames,\n style,\n styles,\n checked,\n defaultChecked,\n onChange,\n sx,\n wrapperProps,\n value,\n unstyled\n } = _a, others = __objRest(_a, [\n \"radius\",\n \"type\",\n \"size\",\n \"variant\",\n \"disabled\",\n \"id\",\n \"color\",\n \"children\",\n \"className\",\n \"classNames\",\n \"style\",\n \"styles\",\n \"checked\",\n \"defaultChecked\",\n \"onChange\",\n \"sx\",\n \"wrapperProps\",\n \"value\",\n \"unstyled\"\n ]);\n const ctx = useChipGroup();\n const uuid = useId(id);\n const { systemStyles, rest } = extractSystemStyles(others);\n const { classes, cx } = useStyles({ radius, color }, { classNames, styles, unstyled, name: \"Chip\", variant, size });\n const [_value, setValue] = useUncontrolled({\n value: checked,\n defaultValue: defaultChecked,\n finalValue: false,\n onChange\n });\n const contextProps = ctx ? {\n checked: ctx.isChipSelected(value),\n onChange: ctx.onChange,\n type: ctx.multiple ? \"checkbox\" : \"radio\"\n } : {};\n const _checked = contextProps.checked || _value;\n return /* @__PURE__ */ React.createElement(Box, __spreadValues(__spreadValues({\n className: cx(classes.root, className),\n style,\n sx\n }, systemStyles), wrapperProps), /* @__PURE__ */ React.createElement(\"input\", __spreadValues(__spreadValues({\n type,\n className: classes.input,\n checked: _checked,\n onChange: (event) => setValue(event.currentTarget.checked),\n id: uuid,\n disabled,\n ref,\n value\n }, contextProps), rest)), /* @__PURE__ */ React.createElement(\"label\", {\n htmlFor: uuid,\n \"data-checked\": _checked || void 0,\n \"data-disabled\": disabled || void 0,\n className: classes.label\n }, _checked && /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.iconWrapper\n }, /* @__PURE__ */ React.createElement(CheckIcon, {\n className: classes.checkIcon\n })), children));\n});\nChip.displayName = \"@mantine/core/Chip\";\nChip.Group = ChipGroup;\n\nexport { Chip };\n//# sourceMappingURL=Chip.js.map\n","import React from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction CloseIcon(props) {\n const _a = props, { width, height, style } = _a, others = __objRest(_a, [\"width\", \"height\", \"style\"]);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n style: __spreadValues({ width, height }, style)\n }, others), /* @__PURE__ */ React.createElement(\"path\", {\n d: \"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n}\nCloseIcon.displayName = \"@mantine/core/CloseIcon\";\n\nexport { CloseIcon };\n//# sourceMappingURL=CloseIcon.js.map\n","import React, { forwardRef } from 'react';\nimport { rem, useComponentDefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { ActionIcon } from '../ActionIcon/ActionIcon.js';\nimport { CloseIcon } from './CloseIcon.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst iconSizes = {\n xs: rem(12),\n sm: rem(16),\n md: rem(20),\n lg: rem(28),\n xl: rem(34)\n};\nconst defaultProps = {\n size: \"sm\"\n};\nconst _CloseButton = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"CloseButton\", defaultProps, props), { iconSize, size, children } = _a, others = __objRest(_a, [\"iconSize\", \"size\", \"children\"]);\n const _iconSize = rem(iconSize || iconSizes[size]);\n return /* @__PURE__ */ React.createElement(ActionIcon, __spreadValues({\n ref,\n __staticSelector: \"CloseButton\",\n size\n }, others), children || /* @__PURE__ */ React.createElement(CloseIcon, {\n width: _iconSize,\n height: _iconSize\n }));\n});\n_CloseButton.displayName = \"@mantine/core/CloseButton\";\nconst CloseButton = createPolymorphicComponent(_CloseButton);\n\nexport { CloseButton, _CloseButton };\n//# sourceMappingURL=CloseButton.js.map\n","import { useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport { mergeRefs, useDidUpdate } from '@mantine/hooks';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction getAutoHeightDuration(height) {\n if (!height || typeof height === \"string\") {\n return 0;\n }\n const constant = height / 36;\n return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10);\n}\nfunction getElementHeight(el) {\n return (el == null ? void 0 : el.current) ? el.current.scrollHeight : \"auto\";\n}\nconst raf = typeof window !== \"undefined\" && window.requestAnimationFrame;\nfunction useCollapse({\n transitionDuration,\n transitionTimingFunction = \"ease\",\n onTransitionEnd = () => {\n },\n opened\n}) {\n const el = useRef(null);\n const collapsedHeight = 0;\n const collapsedStyles = {\n display: \"none\",\n height: 0,\n overflow: \"hidden\"\n };\n const [styles, setStylesRaw] = useState(opened ? {} : collapsedStyles);\n const setStyles = (newStyles) => {\n flushSync(() => setStylesRaw(newStyles));\n };\n const mergeStyles = (newStyles) => {\n setStyles((oldStyles) => __spreadValues(__spreadValues({}, oldStyles), newStyles));\n };\n function getTransitionStyles(height) {\n const _duration = transitionDuration || getAutoHeightDuration(height);\n return {\n transition: `height ${_duration}ms ${transitionTimingFunction}`\n };\n }\n useDidUpdate(() => {\n if (opened) {\n raf(() => {\n mergeStyles({ willChange: \"height\", display: \"block\", overflow: \"hidden\" });\n raf(() => {\n const height = getElementHeight(el);\n mergeStyles(__spreadProps(__spreadValues({}, getTransitionStyles(height)), { height }));\n });\n });\n } else {\n raf(() => {\n const height = getElementHeight(el);\n mergeStyles(__spreadProps(__spreadValues({}, getTransitionStyles(height)), { willChange: \"height\", height }));\n raf(() => mergeStyles({ height: collapsedHeight, overflow: \"hidden\" }));\n });\n }\n }, [opened]);\n const handleTransitionEnd = (e) => {\n if (e.target !== el.current || e.propertyName !== \"height\") {\n return;\n }\n if (opened) {\n const height = getElementHeight(el);\n if (height === styles.height) {\n setStyles({});\n } else {\n mergeStyles({ height });\n }\n onTransitionEnd();\n } else if (styles.height === collapsedHeight) {\n setStyles(collapsedStyles);\n onTransitionEnd();\n }\n };\n function getCollapseProps(_a = {}) {\n var _b = _a, { style = {}, refKey = \"ref\" } = _b, rest = __objRest(_b, [\"style\", \"refKey\"]);\n const theirRef = rest[refKey];\n return __spreadProps(__spreadValues({\n \"aria-hidden\": !opened\n }, rest), {\n [refKey]: mergeRefs(el, theirRef),\n onTransitionEnd: handleTransitionEnd,\n style: __spreadValues(__spreadValues({ boxSizing: \"border-box\" }, style), styles)\n });\n }\n return getCollapseProps;\n}\n\nexport { getElementHeight, useCollapse };\n//# sourceMappingURL=use-collapse.js.map\n","import React, { forwardRef } from 'react';\nimport { useReducedMotion } from '@mantine/hooks';\nimport { useComponentDefaultProps, useMantineTheme } from '@mantine/styles';\nimport { useCollapse } from './use-collapse.js';\nimport { extractSystemStyles } from '../Box/style-system-props/extract-system-styles/extract-system-styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n transitionDuration: 200,\n transitionTimingFunction: \"ease\",\n animateOpacity: true\n};\nconst Collapse = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Collapse\", defaultProps, props), {\n children,\n in: opened,\n transitionDuration,\n transitionTimingFunction,\n style,\n onTransitionEnd,\n animateOpacity\n } = _a, others = __objRest(_a, [\n \"children\",\n \"in\",\n \"transitionDuration\",\n \"transitionTimingFunction\",\n \"style\",\n \"onTransitionEnd\",\n \"animateOpacity\"\n ]);\n const theme = useMantineTheme();\n const shouldReduceMotion = useReducedMotion();\n const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;\n const duration = reduceMotion ? 0 : transitionDuration;\n const { systemStyles, rest } = extractSystemStyles(others);\n const getCollapseProps = useCollapse({\n opened,\n transitionDuration: duration,\n transitionTimingFunction,\n onTransitionEnd\n });\n if (duration === 0) {\n return opened ? /* @__PURE__ */ React.createElement(Box, __spreadValues({}, rest), children) : null;\n }\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({}, getCollapseProps(__spreadValues(__spreadValues({ style, ref }, rest), systemStyles))), /* @__PURE__ */ React.createElement(\"div\", {\n style: {\n opacity: opened || !animateOpacity ? 1 : 0,\n transition: animateOpacity ? `opacity ${duration}ms ${transitionTimingFunction}` : \"none\"\n }\n }, children));\n});\nCollapse.displayName = \"@mantine/core/Collapse\";\n\nexport { Collapse };\n//# sourceMappingURL=Collapse.js.map\n","import { createStyles, rem, getSize } from '@mantine/styles';\n\nconst sizes = {\n xs: rem(1),\n sm: rem(2),\n md: rem(3),\n lg: rem(4),\n xl: rem(5)\n};\nfunction getColor(theme, color) {\n const themeColor = theme.fn.variant({ variant: \"outline\", color }).border;\n return typeof color === \"string\" && (color in theme.colors || color.split(\".\")[0] in theme.colors) ? themeColor : color === void 0 ? theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[4] : color;\n}\nvar useStyles = createStyles((theme, { color }, { size, variant }) => ({\n root: {},\n withLabel: {\n borderTop: \"0 !important\"\n },\n left: {\n \"&::before\": {\n display: \"none\"\n }\n },\n right: {\n \"&::after\": {\n display: \"none\"\n }\n },\n label: {\n display: \"flex\",\n alignItems: \"center\",\n \"&::before\": {\n content: '\"\"',\n flex: 1,\n height: rem(1),\n borderTop: `${getSize({ size, sizes })} ${variant} ${getColor(theme, color)}`,\n marginRight: theme.spacing.xs\n },\n \"&::after\": {\n content: '\"\"',\n flex: 1,\n borderTop: `${getSize({ size, sizes })} ${variant} ${getColor(theme, color)}`,\n marginLeft: theme.spacing.xs\n }\n },\n labelDefaultStyles: {\n color: color === \"dark\" ? theme.colors.dark[1] : theme.fn.themeColor(color, theme.colorScheme === \"dark\" ? 5 : theme.fn.primaryShade(), false)\n },\n horizontal: {\n border: 0,\n borderTopWidth: rem(getSize({ size, sizes })),\n borderTopColor: getColor(theme, color),\n borderTopStyle: variant,\n margin: 0\n },\n vertical: {\n border: 0,\n alignSelf: \"stretch\",\n height: \"auto\",\n borderLeftWidth: rem(getSize({ size, sizes })),\n borderLeftColor: getColor(theme, color),\n borderLeftStyle: variant\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Divider.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, rem } from '@mantine/styles';\nimport useStyles from './Divider.styles.js';\nimport { Box } from '../Box/Box.js';\nimport { Text } from '../Text/Text.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n orientation: \"horizontal\",\n size: \"xs\",\n labelPosition: \"left\",\n variant: \"solid\"\n};\nconst Divider = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Divider\", defaultProps, props), {\n className,\n color,\n orientation,\n size,\n label,\n labelPosition,\n labelProps,\n variant,\n styles,\n classNames,\n unstyled\n } = _a, others = __objRest(_a, [\n \"className\",\n \"color\",\n \"orientation\",\n \"size\",\n \"label\",\n \"labelPosition\",\n \"labelProps\",\n \"variant\",\n \"styles\",\n \"classNames\",\n \"unstyled\"\n ]);\n const { classes, cx } = useStyles({ color }, { classNames, styles, unstyled, name: \"Divider\", variant, size });\n const vertical = orientation === \"vertical\";\n const horizontal = orientation === \"horizontal\";\n const withLabel = !!label && horizontal;\n const useLabelDefaultStyles = !(labelProps == null ? void 0 : labelProps.color);\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n ref,\n className: cx(classes.root, {\n [classes.vertical]: vertical,\n [classes.horizontal]: horizontal,\n [classes.withLabel]: withLabel\n }, className),\n role: \"separator\"\n }, others), withLabel && /* @__PURE__ */ React.createElement(Text, __spreadProps(__spreadValues({}, labelProps), {\n size: (labelProps == null ? void 0 : labelProps.size) || \"xs\",\n mt: rem(2),\n className: cx(classes.label, classes[labelPosition], {\n [classes.labelDefaultStyles]: useLabelDefaultStyles\n })\n }), label));\n});\nDivider.displayName = \"@mantine/core/Divider\";\n\nexport { Divider };\n//# sourceMappingURL=Divider.js.map\n","const FLEX_SYSTEM_PROPS = {\n gap: { type: \"spacing\", property: \"gap\" },\n rowGap: { type: \"spacing\", property: \"rowGap\" },\n columnGap: { type: \"spacing\", property: \"columnGap\" },\n align: { type: \"identity\", property: \"alignItems\" },\n justify: { type: \"identity\", property: \"justifyContent\" },\n wrap: { type: \"identity\", property: \"flexWrap\" },\n direction: { type: \"identity\", property: \"flexDirection\" }\n};\n\nexport { FLEX_SYSTEM_PROPS };\n//# sourceMappingURL=flex-props.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { packSx } from '@mantine/utils';\nimport { FLEX_SYSTEM_PROPS } from './flex-props.js';\nimport { Box } from '../Box/Box.js';\nimport { getSystemStyles } from '../Box/style-system-props/get-system-styles/get-system-styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst Flex = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Flex\", defaultProps, props), { gap, rowGap, columnGap, align, justify, wrap, direction, sx } = _a, others = __objRest(_a, [\"gap\", \"rowGap\", \"columnGap\", \"align\", \"justify\", \"wrap\", \"direction\", \"sx\"]);\n return /* @__PURE__ */ React.createElement(Box, __spreadProps(__spreadValues({}, others), {\n sx: [\n { display: \"flex\" },\n (theme) => getSystemStyles({ gap, rowGap, columnGap, align, justify, wrap, direction }, theme, FLEX_SYSTEM_PROPS),\n ...packSx(sx)\n ],\n ref\n }));\n});\nFlex.displayName = \"@mantine/core/Flex\";\n\nexport { Flex };\n//# sourceMappingURL=Flex.js.map\n","import { rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction horizontalSide(placement, arrowY, arrowOffset, arrowPosition) {\n if (placement === \"center\" || arrowPosition === \"center\") {\n return { top: arrowY };\n }\n if (placement === \"end\") {\n return { bottom: arrowOffset };\n }\n if (placement === \"start\") {\n return { top: arrowOffset };\n }\n return {};\n}\nfunction verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir) {\n if (placement === \"center\" || arrowPosition === \"center\") {\n return { left: arrowX };\n }\n if (placement === \"end\") {\n return { [dir === \"ltr\" ? \"right\" : \"left\"]: arrowOffset };\n }\n if (placement === \"start\") {\n return { [dir === \"ltr\" ? \"left\" : \"right\"]: arrowOffset };\n }\n return {};\n}\nconst radiusByFloatingSide = {\n bottom: \"borderTopLeftRadius\",\n left: \"borderTopRightRadius\",\n right: \"borderBottomLeftRadius\",\n top: \"borderBottomRightRadius\"\n};\nfunction getArrowPositionStyles({\n position,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n arrowX,\n arrowY,\n dir\n}) {\n const [side, placement = \"center\"] = position.split(\"-\");\n const baseStyles = {\n width: rem(arrowSize),\n height: rem(arrowSize),\n transform: \"rotate(45deg)\",\n position: \"absolute\",\n [radiusByFloatingSide[side]]: rem(arrowRadius)\n };\n const arrowPlacement = rem(-arrowSize / 2);\n if (side === \"left\") {\n return __spreadProps(__spreadValues(__spreadValues({}, baseStyles), horizontalSide(placement, arrowY, arrowOffset, arrowPosition)), {\n right: arrowPlacement,\n borderLeftColor: \"transparent\",\n borderBottomColor: \"transparent\"\n });\n }\n if (side === \"right\") {\n return __spreadProps(__spreadValues(__spreadValues({}, baseStyles), horizontalSide(placement, arrowY, arrowOffset, arrowPosition)), {\n left: arrowPlacement,\n borderRightColor: \"transparent\",\n borderTopColor: \"transparent\"\n });\n }\n if (side === \"top\") {\n return __spreadProps(__spreadValues(__spreadValues({}, baseStyles), verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir)), {\n bottom: arrowPlacement,\n borderTopColor: \"transparent\",\n borderLeftColor: \"transparent\"\n });\n }\n if (side === \"bottom\") {\n return __spreadProps(__spreadValues(__spreadValues({}, baseStyles), verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir)), {\n top: arrowPlacement,\n borderBottomColor: \"transparent\",\n borderRightColor: \"transparent\"\n });\n }\n return {};\n}\n\nexport { getArrowPositionStyles };\n//# sourceMappingURL=get-arrow-position-styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useMantineTheme } from '@mantine/styles';\nimport { getArrowPositionStyles } from './get-arrow-position-styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst FloatingArrow = forwardRef((_a, ref) => {\n var _b = _a, {\n position,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n visible,\n arrowX,\n arrowY\n } = _b, others = __objRest(_b, [\n \"position\",\n \"arrowSize\",\n \"arrowOffset\",\n \"arrowRadius\",\n \"arrowPosition\",\n \"visible\",\n \"arrowX\",\n \"arrowY\"\n ]);\n const theme = useMantineTheme();\n if (!visible) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", __spreadProps(__spreadValues({}, others), {\n ref,\n style: getArrowPositionStyles({\n position,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n dir: theme.dir,\n arrowX,\n arrowY\n })\n }));\n});\nFloatingArrow.displayName = \"@mantine/core/FloatingArrow\";\n\nexport { FloatingArrow };\n//# sourceMappingURL=FloatingArrow.js.map\n","function getFloatingPosition(dir, position) {\n if (dir === \"rtl\" && (position.includes(\"right\") || position.includes(\"left\"))) {\n const [side, placement] = position.split(\"-\");\n const flippedPosition = side === \"right\" ? \"left\" : \"right\";\n return placement === void 0 ? flippedPosition : `${flippedPosition}-${placement}`;\n }\n return position;\n}\n\nexport { getFloatingPosition };\n//# sourceMappingURL=get-floating-position.js.map\n","import { useRef, useEffect } from 'react';\n\nfunction useDelayedHover({ open, close, openDelay, closeDelay }) {\n const openTimeout = useRef(-1);\n const closeTimeout = useRef(-1);\n const clearTimeouts = () => {\n window.clearTimeout(openTimeout.current);\n window.clearTimeout(closeTimeout.current);\n };\n const openDropdown = () => {\n clearTimeouts();\n if (openDelay === 0) {\n open();\n } else {\n openTimeout.current = window.setTimeout(open, openDelay);\n }\n };\n const closeDropdown = () => {\n clearTimeouts();\n if (closeDelay === 0) {\n close();\n } else {\n closeTimeout.current = window.setTimeout(close, closeDelay);\n }\n };\n useEffect(() => clearTimeouts, []);\n return { openDropdown, closeDropdown };\n}\n\nexport { useDelayedHover };\n//# sourceMappingURL=use-delayed-hover.js.map\n","const TABBABLE_NODES = /input|select|textarea|button|object/;\nconst FOCUS_SELECTOR = \"a, input, select, textarea, button, object, [tabindex]\";\nfunction hidden(element) {\n if (process.env.NODE_ENV === \"test\") {\n return false;\n }\n return element.style.display === \"none\";\n}\nfunction visible(element) {\n const isHidden = element.getAttribute(\"aria-hidden\") || element.getAttribute(\"hidden\") || element.getAttribute(\"type\") === \"hidden\";\n if (isHidden) {\n return false;\n }\n let parentElement = element;\n while (parentElement) {\n if (parentElement === document.body || parentElement.nodeType === 11) {\n break;\n }\n if (hidden(parentElement)) {\n return false;\n }\n parentElement = parentElement.parentNode;\n }\n return true;\n}\nfunction getElementTabIndex(element) {\n let tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) {\n tabIndex = void 0;\n }\n return parseInt(tabIndex, 10);\n}\nfunction focusable(element) {\n const nodeName = element.nodeName.toLowerCase();\n const isTabIndexNotNaN = !Number.isNaN(getElementTabIndex(element));\n const res = TABBABLE_NODES.test(nodeName) && !element.disabled || (element instanceof HTMLAnchorElement ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\nfunction tabbable(element) {\n const tabIndex = getElementTabIndex(element);\n const isTabIndexNaN = Number.isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element);\n}\nfunction findTabbableDescendants(element) {\n return Array.from(element.querySelectorAll(FOCUS_SELECTOR)).filter(tabbable);\n}\n\nexport { FOCUS_SELECTOR, findTabbableDescendants, focusable, tabbable };\n//# sourceMappingURL=tabbable.js.map\n","import { cloneElement } from 'react';\nimport { isElement } from '@mantine/utils';\nimport { useFocusTrap, useMergedRef } from '@mantine/hooks';\n\nfunction FocusTrap({\n children,\n active = true,\n refProp = \"ref\"\n}) {\n const focusTrapRef = useFocusTrap(active);\n const ref = useMergedRef(focusTrapRef, children == null ? void 0 : children.ref);\n if (!isElement(children)) {\n return children;\n }\n return cloneElement(children, { [refProp]: ref });\n}\nFocusTrap.displayName = \"@mantine/core/FocusTrap\";\n\nexport { FocusTrap };\n//# sourceMappingURL=FocusTrap.js.map\n","import { useRef, useCallback, useEffect } from 'react';\nimport { FOCUS_SELECTOR, tabbable, focusable } from './tabbable.js';\nimport { scopeTab } from './scope-tab.js';\nimport { createAriaHider } from './create-aria-hider.js';\n\nfunction useFocusTrap(active = true) {\n const ref = useRef();\n const restoreAria = useRef(null);\n const focusNode = (node) => {\n let focusElement = node.querySelector(\"[data-autofocus]\");\n if (!focusElement) {\n const children = Array.from(node.querySelectorAll(FOCUS_SELECTOR));\n focusElement = children.find(tabbable) || children.find(focusable) || null;\n if (!focusElement && focusable(node))\n focusElement = node;\n }\n if (focusElement) {\n focusElement.focus({ preventScroll: true });\n } else if (process.env.NODE_ENV === \"development\") {\n console.warn(\"[@mantine/hooks/use-focus-trap] Failed to find focusable element within provided node\", node);\n }\n };\n const setRef = useCallback((node) => {\n if (!active) {\n return;\n }\n if (node === null) {\n if (restoreAria.current) {\n restoreAria.current();\n restoreAria.current = null;\n }\n return;\n }\n restoreAria.current = createAriaHider(node);\n if (ref.current === node) {\n return;\n }\n if (node) {\n setTimeout(() => {\n if (node.getRootNode()) {\n focusNode(node);\n } else if (process.env.NODE_ENV === \"development\") {\n console.warn(\"[@mantine/hooks/use-focus-trap] Ref node is not part of the dom\", node);\n }\n });\n ref.current = node;\n } else {\n ref.current = null;\n }\n }, [active]);\n useEffect(() => {\n if (!active) {\n return void 0;\n }\n ref.current && setTimeout(() => focusNode(ref.current));\n const handleKeyDown = (event) => {\n if (event.key === \"Tab\" && ref.current) {\n scopeTab(ref.current, event);\n }\n };\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n if (restoreAria.current) {\n restoreAria.current();\n }\n };\n }, [active]);\n return setRef;\n}\n\nexport { useFocusTrap };\n//# sourceMappingURL=use-focus-trap.js.map\n","import { randomId } from '../utils/random-id/random-id.js';\n\nfunction createAriaHider(containerNode, selector = \"body > :not(script)\") {\n const id = randomId();\n const rootNodes = Array.from(document.querySelectorAll(selector)).map((node) => {\n var _a;\n if (((_a = node == null ? void 0 : node.shadowRoot) == null ? void 0 : _a.contains(containerNode)) || node.contains(containerNode)) {\n return void 0;\n }\n const ariaHidden = node.getAttribute(\"aria-hidden\");\n const prevAriaHidden = node.getAttribute(\"data-hidden\");\n const prevFocusId = node.getAttribute(\"data-focus-id\");\n node.setAttribute(\"data-focus-id\", id);\n if (ariaHidden === null || ariaHidden === \"false\") {\n node.setAttribute(\"aria-hidden\", \"true\");\n } else if (!prevAriaHidden && !prevFocusId) {\n node.setAttribute(\"data-hidden\", ariaHidden);\n }\n return {\n node,\n ariaHidden: prevAriaHidden || null\n };\n });\n return () => {\n rootNodes.forEach((item) => {\n if (!item || id !== item.node.getAttribute(\"data-focus-id\")) {\n return;\n }\n if (item.ariaHidden === null) {\n item.node.removeAttribute(\"aria-hidden\");\n } else {\n item.node.setAttribute(\"aria-hidden\", item.ariaHidden);\n }\n item.node.removeAttribute(\"data-focus-id\");\n item.node.removeAttribute(\"data-hidden\");\n });\n };\n}\n\nexport { createAriaHider };\n//# sourceMappingURL=create-aria-hider.js.map\n","import { findTabbableDescendants } from './tabbable.js';\n\nfunction scopeTab(node, event) {\n const tabbable = findTabbableDescendants(node);\n if (!tabbable.length) {\n event.preventDefault();\n return;\n }\n const finalTabbable = tabbable[event.shiftKey ? 0 : tabbable.length - 1];\n const root = node.getRootNode();\n const leavingFinalTabbable = finalTabbable === root.activeElement || node === root.activeElement;\n if (!leavingFinalTabbable) {\n return;\n }\n event.preventDefault();\n const target = tabbable[event.shiftKey ? tabbable.length - 1 : 0];\n if (target) {\n target.focus();\n }\n}\n\nexport { scopeTab };\n//# sourceMappingURL=scope-tab.js.map\n","import { createSafeContext } from '@mantine/utils';\n\nconst [GridProvider, useGridContext] = createSafeContext(\"Grid component was not found in tree\");\n\nexport { GridProvider, useGridContext };\n//# sourceMappingURL=Grid.context.js.map\n","import { createStyles, MANTINE_SIZES, em, getSize } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst getColumnFlexBasis = (colSpan, columns) => {\n if (colSpan === \"content\") {\n return \"auto\";\n }\n if (colSpan === \"auto\") {\n return \"0rem\";\n }\n return colSpan ? `${100 / (columns / colSpan)}%` : void 0;\n};\nconst getColumnMaxWidth = (colSpan, columns, grow) => {\n if (grow || colSpan === \"auto\" || colSpan === \"content\") {\n return \"unset\";\n }\n return getColumnFlexBasis(colSpan, columns);\n};\nconst getColumnFlexGrow = (colSpan, grow) => {\n if (!colSpan) {\n return void 0;\n }\n return colSpan === \"auto\" || grow ? 1 : 0;\n};\nconst getColumnOffset = (offset, columns) => offset === 0 ? 0 : offset ? `${100 / (columns / offset)}%` : void 0;\nconst getGutterSize = (gutter, theme) => typeof gutter !== \"undefined\" ? `calc(${getSize({ size: gutter, sizes: theme.spacing })} / 2)` : void 0;\nfunction getBreakpointsStyles({\n sizes,\n offsets,\n orders,\n theme,\n columns,\n gutters,\n grow\n}) {\n return MANTINE_SIZES.reduce((acc, size) => {\n acc[`@media (min-width: ${em(theme.breakpoints[size])})`] = {\n order: orders[size],\n flexBasis: getColumnFlexBasis(sizes[size], columns),\n padding: getGutterSize(gutters[size], theme),\n flexShrink: 0,\n width: sizes[size] === \"content\" ? \"auto\" : void 0,\n maxWidth: getColumnMaxWidth(sizes[size], columns, grow),\n marginLeft: getColumnOffset(offsets[size], columns),\n flexGrow: getColumnFlexGrow(sizes[size], grow)\n };\n return acc;\n }, {});\n}\nvar useStyles = createStyles((theme, {\n gutter,\n gutterXs,\n gutterSm,\n gutterMd,\n gutterLg,\n gutterXl,\n grow,\n offset,\n offsetXs,\n offsetSm,\n offsetMd,\n offsetLg,\n offsetXl,\n columns,\n span,\n xs,\n sm,\n md,\n lg,\n xl,\n order,\n orderXs,\n orderSm,\n orderMd,\n orderLg,\n orderXl\n}) => ({\n col: __spreadValues({\n boxSizing: \"border-box\",\n flexGrow: getColumnFlexGrow(span, grow),\n order,\n padding: getGutterSize(gutter, theme),\n marginLeft: getColumnOffset(offset, columns),\n flexBasis: getColumnFlexBasis(span, columns),\n flexShrink: 0,\n width: span === \"content\" ? \"auto\" : void 0,\n maxWidth: getColumnMaxWidth(span, columns, grow)\n }, getBreakpointsStyles({\n sizes: { xs, sm, md, lg, xl },\n offsets: { xs: offsetXs, sm: offsetSm, md: offsetMd, lg: offsetLg, xl: offsetXl },\n orders: { xs: orderXs, sm: orderSm, md: orderMd, lg: orderLg, xl: orderXl },\n gutters: { xs: gutterXs, sm: gutterSm, md: gutterMd, lg: gutterLg, xl: gutterXl },\n theme,\n columns,\n grow\n }))\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Col.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useGridContext } from '../Grid.context.js';\nimport useStyles from './Col.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nfunction isValidSpan(span) {\n if (span === \"auto\" || span === \"content\") {\n return true;\n }\n return typeof span === \"number\" && span > 0 && span % 1 === 0;\n}\nconst Col = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"GridCol\", defaultProps, props), {\n children,\n span,\n offset,\n offsetXs,\n offsetSm,\n offsetMd,\n offsetLg,\n offsetXl,\n xs,\n sm,\n md,\n lg,\n xl,\n order,\n orderXs,\n orderSm,\n orderMd,\n orderLg,\n orderXl,\n className,\n unstyled,\n variant\n } = _a, others = __objRest(_a, [\n \"children\",\n \"span\",\n \"offset\",\n \"offsetXs\",\n \"offsetSm\",\n \"offsetMd\",\n \"offsetLg\",\n \"offsetXl\",\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"order\",\n \"orderXs\",\n \"orderSm\",\n \"orderMd\",\n \"orderLg\",\n \"orderXl\",\n \"className\",\n \"unstyled\",\n \"variant\"\n ]);\n const ctx = useGridContext();\n const colSpan = span || ctx.columns;\n const { classes, cx } = useStyles({\n gutter: ctx.gutter,\n gutterXs: ctx.gutterXs,\n gutterSm: ctx.gutterSm,\n gutterMd: ctx.gutterMd,\n gutterLg: ctx.gutterLg,\n gutterXl: ctx.gutterXl,\n offset,\n offsetXs,\n offsetSm,\n offsetMd,\n offsetLg,\n offsetXl,\n xs,\n sm,\n md,\n lg,\n xl,\n order,\n orderXs,\n orderSm,\n orderMd,\n orderLg,\n orderXl,\n grow: ctx.grow,\n columns: ctx.columns,\n span: colSpan\n }, { unstyled, name: \"Grid\", variant });\n if (!isValidSpan(colSpan) || colSpan > ctx.columns) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.col, className),\n ref\n }, others), children);\n});\nCol.displayName = \"@mantine/core/Col\";\n\nexport { Col };\n//# sourceMappingURL=Col.js.map\n","import { createStyles, MANTINE_SIZES, getSize } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction getGutterStyles(gutters, theme) {\n return MANTINE_SIZES.reduce((acc, size) => {\n if (typeof gutters[size] !== \"undefined\") {\n acc[`@media (min-width: ${theme.breakpoints[size]})`] = {\n margin: `calc(-${getSize({ size: gutters[size], sizes: theme.spacing })} / 2)`\n };\n }\n return acc;\n }, {});\n}\nvar useStyles = createStyles((theme, { justify, align, gutter, gutterXs, gutterSm, gutterMd, gutterLg, gutterXl }) => ({\n root: __spreadValues({\n margin: `calc(-${getSize({ size: gutter, sizes: theme.spacing })} / 2)`,\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: justify,\n alignItems: align\n }, getGutterStyles({ xs: gutterXs, sm: gutterSm, md: gutterMd, lg: gutterLg, xl: gutterXl }, theme))\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Grid.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { Col } from './Col/Col.js';\nimport { GridProvider } from './Grid.context.js';\nimport useStyles from './Grid.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n gutter: \"md\",\n justify: \"flex-start\",\n align: \"stretch\",\n columns: 12\n};\nconst Grid = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Grid\", defaultProps, props), {\n gutter,\n gutterXs,\n gutterSm,\n gutterMd,\n gutterLg,\n gutterXl,\n children,\n grow,\n justify,\n align,\n columns,\n className,\n unstyled,\n variant\n } = _a, others = __objRest(_a, [\n \"gutter\",\n \"gutterXs\",\n \"gutterSm\",\n \"gutterMd\",\n \"gutterLg\",\n \"gutterXl\",\n \"children\",\n \"grow\",\n \"justify\",\n \"align\",\n \"columns\",\n \"className\",\n \"unstyled\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles({ gutter, justify, align, gutterXs, gutterSm, gutterMd, gutterLg, gutterXl }, { unstyled, name: \"Grid\", variant });\n return /* @__PURE__ */ React.createElement(GridProvider, {\n value: { gutter, gutterXs, gutterSm, gutterMd, gutterLg, gutterXl, grow, columns }\n }, /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className),\n ref\n }, others), children));\n});\nGrid.Col = Col;\nGrid.displayName = \"@mantine/core/Grid\";\n\nexport { Grid };\n//# sourceMappingURL=Grid.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { filterFalsyChildren } from './filter-falsy-children/filter-falsy-children.js';\nimport useStyles from './Group.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n position: \"left\",\n spacing: \"md\"\n};\nconst Group = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Group\", defaultProps, props), {\n className,\n position,\n align,\n children,\n noWrap,\n grow,\n spacing,\n unstyled,\n variant\n } = _a, others = __objRest(_a, [\n \"className\",\n \"position\",\n \"align\",\n \"children\",\n \"noWrap\",\n \"grow\",\n \"spacing\",\n \"unstyled\",\n \"variant\"\n ]);\n const filteredChildren = filterFalsyChildren(children);\n const { classes, cx } = useStyles({\n align,\n grow,\n noWrap,\n spacing,\n position,\n count: filteredChildren.length\n }, { unstyled, name: \"Group\", variant });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className),\n ref\n }, others), filteredChildren);\n});\nGroup.displayName = \"@mantine/core/Group\";\n\nexport { Group };\n//# sourceMappingURL=Group.js.map\n","import { Children } from 'react';\n\nfunction filterFalsyChildren(children) {\n return Children.toArray(children).filter(Boolean);\n}\n\nexport { filterFalsyChildren };\n//# sourceMappingURL=filter-falsy-children.js.map\n","import { createStyles, getSize, rem } from '@mantine/styles';\n\nconst GROUP_POSITIONS = {\n left: \"flex-start\",\n center: \"center\",\n right: \"flex-end\",\n apart: \"space-between\"\n};\nvar useStyles = createStyles((theme, { spacing, position, noWrap, grow, align, count }) => ({\n root: {\n boxSizing: \"border-box\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: align || \"center\",\n flexWrap: noWrap ? \"nowrap\" : \"wrap\",\n justifyContent: GROUP_POSITIONS[position],\n gap: getSize({ size: spacing, sizes: theme.spacing }),\n \"& > *\": {\n boxSizing: \"border-box\",\n maxWidth: grow ? `calc(${100 / count}% - (${rem(getSize({ size: spacing, sizes: theme.spacing }))} - ${getSize({ size: spacing, sizes: theme.spacing })} / ${count}))` : void 0,\n flexGrow: grow ? 1 : 0\n }\n }\n}));\n\nexport default useStyles;\nexport { GROUP_POSITIONS };\n//# sourceMappingURL=Group.styles.js.map\n","const HOVER_CARD_ERRORS = {\n context: \"HoverCard component was not found in the tree\",\n children: \"HoverCard.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported\"\n};\n\nexport { HOVER_CARD_ERRORS };\n//# sourceMappingURL=HoverCard.errors.js.map\n","import { createSafeContext } from '@mantine/utils';\nimport { HOVER_CARD_ERRORS } from './HoverCard.errors.js';\n\nconst [HoverCardContextProvider, useHoverCardContext] = createSafeContext(HOVER_CARD_ERRORS.context);\n\nexport { HoverCardContextProvider, useHoverCardContext };\n//# sourceMappingURL=HoverCard.context.js.map\n","import React from 'react';\nimport { createEventHandler } from '@mantine/utils';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useHoverCardContext } from '../HoverCard.context.js';\nimport { Popover } from '../../Popover/Popover.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nfunction HoverCardDropdown(props) {\n const _a = useComponentDefaultProps(\"HoverCardDropdown\", defaultProps, props), { children, onMouseEnter, onMouseLeave } = _a, others = __objRest(_a, [\"children\", \"onMouseEnter\", \"onMouseLeave\"]);\n const ctx = useHoverCardContext();\n const handleMouseEnter = createEventHandler(onMouseEnter, ctx.openDropdown);\n const handleMouseLeave = createEventHandler(onMouseLeave, ctx.closeDropdown);\n return /* @__PURE__ */ React.createElement(Popover.Dropdown, __spreadValues({\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave\n }, others), children);\n}\nHoverCardDropdown.displayName = \"@mantine/core/HoverCardDropdown\";\n\nexport { HoverCardDropdown };\n//# sourceMappingURL=HoverCardDropdown.js.map\n","import React, { forwardRef, cloneElement } from 'react';\nimport { isElement, createEventHandler } from '@mantine/utils';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useHoverCardContext } from '../HoverCard.context.js';\nimport { HOVER_CARD_ERRORS } from '../HoverCard.errors.js';\nimport { Popover } from '../../Popover/Popover.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n refProp: \"ref\"\n};\nconst HoverCardTarget = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"HoverCardTarget\", defaultProps, props), { children, refProp } = _a, others = __objRest(_a, [\"children\", \"refProp\"]);\n if (!isElement(children)) {\n throw new Error(HOVER_CARD_ERRORS.children);\n }\n const ctx = useHoverCardContext();\n const onMouseEnter = createEventHandler(children.props.onMouseEnter, ctx.openDropdown);\n const onMouseLeave = createEventHandler(children.props.onMouseLeave, ctx.closeDropdown);\n return /* @__PURE__ */ React.createElement(Popover.Target, __spreadValues({\n refProp,\n ref\n }, others), cloneElement(children, { onMouseEnter, onMouseLeave }));\n});\nHoverCardTarget.displayName = \"@mantine/core/HoverCardTarget\";\n\nexport { HoverCardTarget };\n//# sourceMappingURL=HoverCardTarget.js.map\n","import React from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useDisclosure } from '@mantine/hooks';\nimport { HoverCardContextProvider } from './HoverCard.context.js';\nimport { HoverCardDropdown } from './HoverCardDropdown/HoverCardDropdown.js';\nimport { HoverCardTarget } from './HoverCardTarget/HoverCardTarget.js';\nimport { useDelayedHover } from '../Floating/use-delayed-hover.js';\nimport { Popover } from '../Popover/Popover.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n openDelay: 0,\n closeDelay: 150,\n initiallyOpened: false\n};\nfunction HoverCard(props) {\n const _a = useComponentDefaultProps(\"HoverCard\", defaultProps, props), { children, onOpen, onClose, openDelay, closeDelay, initiallyOpened } = _a, others = __objRest(_a, [\"children\", \"onOpen\", \"onClose\", \"openDelay\", \"closeDelay\", \"initiallyOpened\"]);\n const [opened, { open, close }] = useDisclosure(initiallyOpened, { onClose, onOpen });\n const { openDropdown, closeDropdown } = useDelayedHover({ open, close, openDelay, closeDelay });\n return /* @__PURE__ */ React.createElement(HoverCardContextProvider, {\n value: { openDropdown, closeDropdown }\n }, /* @__PURE__ */ React.createElement(Popover, __spreadValues({\n opened,\n __staticSelector: \"HoverCard\"\n }, others), children));\n}\nHoverCard.displayName = \"@mantine/core/HoverCard\";\nHoverCard.Target = HoverCardTarget;\nHoverCard.Dropdown = HoverCardDropdown;\n\nexport { HoverCard };\n//# sourceMappingURL=HoverCard.js.map\n","import React from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction ImageIcon(props) {\n const _a = props, { width, height, style } = _a, others = __objRest(_a, [\"width\", \"height\", \"style\"]);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n style: __spreadValues({ width, height }, style)\n }, others), /* @__PURE__ */ React.createElement(\"path\", {\n d: \"M2.5 1H12.5C13.3284 1 14 1.67157 14 2.5V12.5C14 13.3284 13.3284 14 12.5 14H2.5C1.67157 14 1 13.3284 1 12.5V2.5C1 1.67157 1.67157 1 2.5 1ZM2.5 2C2.22386 2 2 2.22386 2 2.5V8.3636L3.6818 6.6818C3.76809 6.59551 3.88572 6.54797 4.00774 6.55007C4.12975 6.55216 4.24568 6.60372 4.32895 6.69293L7.87355 10.4901L10.6818 7.6818C10.8575 7.50607 11.1425 7.50607 11.3182 7.6818L13 9.3636V2.5C13 2.22386 12.7761 2 12.5 2H2.5ZM2 12.5V9.6364L3.98887 7.64753L7.5311 11.4421L8.94113 13H2.5C2.22386 13 2 12.7761 2 12.5ZM12.5 13H10.155L8.48336 11.153L11 8.6364L13 10.6364V12.5C13 12.7761 12.7761 13 12.5 13ZM6.64922 5.5C6.64922 5.03013 7.03013 4.64922 7.5 4.64922C7.96987 4.64922 8.35078 5.03013 8.35078 5.5C8.35078 5.96987 7.96987 6.35078 7.5 6.35078C7.03013 6.35078 6.64922 5.96987 6.64922 5.5ZM7.5 3.74922C6.53307 3.74922 5.74922 4.53307 5.74922 5.5C5.74922 6.46693 6.53307 7.25078 7.5 7.25078C8.46693 7.25078 9.25078 6.46693 9.25078 5.5C9.25078 4.53307 8.46693 3.74922 7.5 3.74922Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n}\n\nexport { ImageIcon };\n//# sourceMappingURL=ImageIcon.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar useStyles = createStyles((theme, { radius }) => ({\n root: {},\n imageWrapper: {\n position: \"relative\"\n },\n figure: {\n margin: 0\n },\n image: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n display: \"block\",\n width: \"100%\",\n height: \"100%\",\n border: 0,\n borderRadius: theme.fn.radius(radius)\n }),\n caption: {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[2] : theme.colors.gray[7],\n marginTop: theme.spacing.xs\n },\n placeholder: __spreadProps(__spreadValues({}, theme.fn.cover()), {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[2] : theme.colors.gray[6],\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[8] : theme.colors.gray[0],\n borderRadius: theme.fn.radius(radius)\n })\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Image.styles.js.map\n","import React, { forwardRef, useState } from 'react';\nimport { useComponentDefaultProps, rem } from '@mantine/styles';\nimport { useDidUpdate } from '@mantine/hooks';\nimport { ImageIcon } from './ImageIcon.js';\nimport useStyles from './Image.styles.js';\nimport { Box } from '../Box/Box.js';\nimport { Text } from '../Text/Text.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n fit: \"cover\",\n width: \"100%\",\n height: \"auto\",\n radius: 0\n};\nconst Image = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Image\", defaultProps, props), {\n className,\n alt,\n src,\n fit,\n width,\n height,\n radius,\n imageProps,\n withPlaceholder,\n placeholder,\n imageRef,\n classNames,\n styles,\n caption,\n unstyled,\n style,\n variant\n } = _a, others = __objRest(_a, [\n \"className\",\n \"alt\",\n \"src\",\n \"fit\",\n \"width\",\n \"height\",\n \"radius\",\n \"imageProps\",\n \"withPlaceholder\",\n \"placeholder\",\n \"imageRef\",\n \"classNames\",\n \"styles\",\n \"caption\",\n \"unstyled\",\n \"style\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles({ radius }, { classNames, styles, unstyled, name: \"Image\", variant });\n const [error, setError] = useState(!src);\n const isPlaceholder = withPlaceholder && error;\n useDidUpdate(() => {\n setError(!src);\n }, [src]);\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className),\n style: __spreadValues({ width: rem(width) }, style),\n ref\n }, others), /* @__PURE__ */ React.createElement(\"figure\", {\n className: classes.figure\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.imageWrapper\n }, /* @__PURE__ */ React.createElement(\"img\", __spreadProps(__spreadValues({\n src,\n alt,\n ref: imageRef\n }, imageProps), {\n className: cx(classes.image, imageProps == null ? void 0 : imageProps.className),\n onError: (event) => {\n setError(true);\n typeof (imageProps == null ? void 0 : imageProps.onError) === \"function\" && imageProps.onError(event);\n },\n style: __spreadValues(__spreadValues({\n objectFit: fit,\n width: rem(width),\n height: rem(height)\n }, isPlaceholder && { overflow: \"hidden\" }), imageProps == null ? void 0 : imageProps.style)\n })), isPlaceholder && /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.placeholder,\n title: alt\n }, placeholder || /* @__PURE__ */ React.createElement(\"div\", null, /* @__PURE__ */ React.createElement(ImageIcon, {\n width: rem(40),\n height: rem(40)\n })))), !!caption && /* @__PURE__ */ React.createElement(Text, {\n component: \"figcaption\",\n size: \"sm\",\n align: \"center\",\n className: classes.caption\n }, caption)));\n});\nImage.displayName = \"@mantine/core/Image\";\n\nexport { Image };\n//# sourceMappingURL=Image.js.map\n","import { createStyles, rem, keyframes } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst processingAnimation = (color) => keyframes({\n from: {\n boxShadow: `0 0 ${rem(0.5)} 0 ${color}`,\n opacity: 0.6\n },\n to: {\n boxShadow: `0 0 ${rem(0.5)} ${rem(4.4)} ${color}`,\n opacity: 0\n }\n});\nfunction getPositionStyles(_position, offset = 0) {\n const styles = {};\n const [position, placement] = _position.split(\"-\");\n let translateX = \"\";\n let translateY = \"\";\n if (position === \"top\") {\n styles.top = offset;\n translateY = \"-50%\";\n }\n if (position === \"middle\") {\n styles.top = \"50%\";\n translateY = \"-50%\";\n }\n if (position === \"bottom\") {\n styles.bottom = offset;\n translateY = \"50%\";\n }\n if (placement === \"start\") {\n styles.left = offset;\n translateX = \"-50%\";\n }\n if (placement === \"center\") {\n styles.left = \"50%\";\n translateX = \"-50%\";\n }\n if (placement === \"end\") {\n styles.right = offset;\n translateX = \"50%\";\n }\n styles.transform = `translate(${translateX}, ${translateY})`;\n return styles;\n}\nvar useStyles = createStyles((theme, {\n radius,\n color,\n position,\n offset,\n inline,\n withBorder,\n withLabel,\n zIndex\n}, { size }) => {\n const { background } = theme.fn.variant({\n variant: \"filled\",\n primaryFallback: false,\n color: color || theme.primaryColor\n });\n const _size = rem(size);\n return {\n root: {\n position: \"relative\",\n display: inline ? \"inline-block\" : \"block\"\n },\n indicator: __spreadProps(__spreadValues({}, getPositionStyles(position, offset)), {\n zIndex,\n position: \"absolute\",\n [withLabel ? \"minWidth\" : \"width\"]: _size,\n height: _size,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: theme.fontSizes.xs,\n paddingLeft: withLabel ? `calc(${theme.spacing.xs} / 2)` : 0,\n paddingRight: withLabel ? `calc(${theme.spacing.xs} / 2)` : 0,\n borderRadius: theme.fn.radius(radius),\n backgroundColor: theme.fn.variant({\n variant: \"filled\",\n primaryFallback: false,\n color: color || theme.primaryColor\n }).background,\n border: withBorder ? `${rem(2)} solid ${theme.colorScheme === \"dark\" ? theme.colors.dark[7] : theme.white}` : void 0,\n color: theme.white,\n whiteSpace: \"nowrap\"\n }),\n processing: {\n animation: `${processingAnimation(background)} 1000ms linear infinite`\n },\n common: __spreadProps(__spreadValues({}, getPositionStyles(position, offset)), {\n position: \"absolute\",\n [withLabel ? \"minWidth\" : \"width\"]: _size,\n height: _size,\n borderRadius: theme.fn.radius(radius)\n })\n };\n});\n\nexport default useStyles;\n//# sourceMappingURL=Indicator.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { getDefaultZIndex, useComponentDefaultProps } from '@mantine/styles';\nimport useStyles from './Indicator.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n position: \"top-end\",\n offset: 0,\n inline: false,\n withBorder: false,\n disabled: false,\n processing: false,\n size: 10,\n radius: 1e3,\n zIndex: getDefaultZIndex(\"app\")\n};\nconst Indicator = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Indicator\", defaultProps, props), {\n children,\n position,\n offset,\n size,\n radius,\n inline,\n withBorder,\n className,\n color,\n styles,\n label,\n classNames,\n disabled,\n zIndex,\n unstyled,\n processing,\n variant\n } = _a, others = __objRest(_a, [\n \"children\",\n \"position\",\n \"offset\",\n \"size\",\n \"radius\",\n \"inline\",\n \"withBorder\",\n \"className\",\n \"color\",\n \"styles\",\n \"label\",\n \"classNames\",\n \"disabled\",\n \"zIndex\",\n \"unstyled\",\n \"processing\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles({ position, offset, radius, inline, color, withBorder, zIndex, withLabel: !!label }, { name: \"Indicator\", classNames, styles, unstyled, variant, size });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n ref,\n className: cx(classes.root, className)\n }, others), !disabled && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(classes.indicator, classes.common)\n }, label), processing && /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(classes.processing, classes.common)\n })), children);\n});\nIndicator.displayName = \"@mantine/core/Indicator\";\n\nexport { Indicator };\n//# sourceMappingURL=Indicator.js.map\n","import { createStyles, getSize, rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst sizes = {\n xs: rem(16),\n sm: rem(20),\n md: rem(24),\n lg: rem(30),\n xl: rem(36)\n};\nvar useStyles = createStyles((theme, { labelPosition }, { size }) => ({\n root: {},\n body: {\n display: \"flex\",\n \"&:has(input:disabled) label\": {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5]\n }\n },\n labelWrapper: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n display: \"inline-flex\",\n flexDirection: \"column\",\n WebkitTapHighlightColor: \"transparent\",\n fontSize: size in sizes ? getSize({ size, sizes: theme.fontSizes }) : void 0,\n lineHeight: size in sizes ? getSize({ size, sizes }) : void 0,\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black,\n cursor: theme.cursorType,\n order: labelPosition === \"left\" ? 1 : 2\n }),\n description: {\n marginTop: `calc(${theme.spacing.xs} / 2)`,\n [labelPosition === \"left\" ? \"paddingRight\" : \"paddingLeft\"]: theme.spacing.sm\n },\n error: {\n marginTop: `calc(${theme.spacing.xs} / 2)`,\n [labelPosition === \"left\" ? \"paddingRight\" : \"paddingLeft\"]: theme.spacing.sm\n },\n label: {\n cursor: theme.cursorType,\n [labelPosition === \"left\" ? \"paddingRight\" : \"paddingLeft\"]: theme.spacing.sm,\n \"&:disabled, &[data-disabled]\": {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5]\n }\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=InlineInput.styles.js.map\n","import React, { forwardRef } from 'react';\nimport useStyles from './InlineInput.styles.js';\nimport { Box } from '../Box/Box.js';\nimport { Input } from '../Input/Input.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst InlineInput = forwardRef((_a, ref) => {\n var _b = _a, {\n __staticSelector,\n className,\n classNames,\n styles,\n unstyled,\n children,\n label,\n description,\n id,\n disabled,\n error,\n size,\n labelPosition,\n variant\n } = _b, others = __objRest(_b, [\n \"__staticSelector\",\n \"className\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"children\",\n \"label\",\n \"description\",\n \"id\",\n \"disabled\",\n \"error\",\n \"size\",\n \"labelPosition\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles({ labelPosition }, { name: __staticSelector, styles, classNames, unstyled, variant, size });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className),\n ref\n }, others), /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(classes.body)\n }, children, /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.labelWrapper\n }, label != null && /* @__PURE__ */ React.createElement(\"label\", {\n className: classes.label,\n \"data-disabled\": disabled || void 0,\n htmlFor: id\n }, label), description && /* @__PURE__ */ React.createElement(Input.Description, {\n className: classes.description\n }, description), error && error !== \"boolean\" && /* @__PURE__ */ React.createElement(Input.Error, {\n className: classes.error\n }, error))));\n});\nInlineInput.displayName = \"@mantine/core/InlineInput\";\n\nexport { InlineInput };\n//# sourceMappingURL=InlineInput.js.map\n","import { createStyles, getSize } from '@mantine/styles';\n\nvar useStyles = createStyles((theme, _params, { size }) => ({\n label: {\n display: \"inline-block\",\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n fontWeight: 500,\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.colors.gray[9],\n wordBreak: \"break-word\",\n cursor: \"default\",\n WebkitTapHighlightColor: \"transparent\"\n },\n required: {\n color: theme.fn.variant({ variant: \"filled\", color: \"red\" }).background\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=InputLabel.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport useStyles from './InputLabel.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n labelElement: \"label\",\n size: \"sm\"\n};\nconst InputLabel = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"InputLabel\", defaultProps, props), {\n labelElement,\n children,\n required,\n size,\n classNames,\n styles,\n unstyled,\n className,\n htmlFor,\n __staticSelector,\n variant,\n onMouseDown\n } = _a, others = __objRest(_a, [\n \"labelElement\",\n \"children\",\n \"required\",\n \"size\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"className\",\n \"htmlFor\",\n \"__staticSelector\",\n \"variant\",\n \"onMouseDown\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"InputWrapper\", __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n component: labelElement,\n ref,\n className: cx(classes.label, className),\n htmlFor: labelElement === \"label\" ? htmlFor : void 0,\n onMouseDown: (event) => {\n onMouseDown == null ? void 0 : onMouseDown(event);\n if (!event.defaultPrevented && event.detail > 1) {\n event.preventDefault();\n }\n }\n }, others), children, required && /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.required,\n \"aria-hidden\": true\n }, \" *\"));\n});\nInputLabel.displayName = \"@mantine/core/InputLabel\";\n\nexport { InputLabel };\n//# sourceMappingURL=InputLabel.js.map\n","import { createStyles, getSize, rem } from '@mantine/styles';\n\nvar useStyles = createStyles((theme, _params, { size }) => ({\n error: {\n wordBreak: \"break-word\",\n color: theme.fn.variant({ variant: \"filled\", color: \"red\" }).background,\n fontSize: `calc(${getSize({ size, sizes: theme.fontSizes })} - ${rem(2)})`,\n lineHeight: 1.2,\n display: \"block\"\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=InputError.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport useStyles from './InputError.styles.js';\nimport { Text } from '../../Text/Text.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n size: \"sm\"\n};\nconst InputError = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"InputError\", defaultProps, props), {\n children,\n className,\n classNames,\n styles,\n unstyled,\n size,\n __staticSelector,\n variant\n } = _a, others = __objRest(_a, [\n \"children\",\n \"className\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"size\",\n \"__staticSelector\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"InputWrapper\", __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n return /* @__PURE__ */ React.createElement(Text, __spreadValues({\n className: cx(classes.error, className),\n ref\n }, others), children);\n});\nInputError.displayName = \"@mantine/core/InputError\";\n\nexport { InputError };\n//# sourceMappingURL=InputError.js.map\n","import { createStyles, getSize, rem } from '@mantine/styles';\n\nvar useStyles = createStyles((theme, _params, { size }) => ({\n description: {\n wordBreak: \"break-word\",\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[2] : theme.colors.gray[6],\n fontSize: `calc(${getSize({ size, sizes: theme.fontSizes })} - ${rem(2)})`,\n lineHeight: 1.2,\n display: \"block\"\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=InputDescription.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport useStyles from './InputDescription.styles.js';\nimport { Text } from '../../Text/Text.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n size: \"sm\"\n};\nconst InputDescription = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"InputDescription\", defaultProps, props), {\n children,\n className,\n classNames,\n styles,\n unstyled,\n size,\n __staticSelector,\n variant\n } = _a, others = __objRest(_a, [\n \"children\",\n \"className\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"size\",\n \"__staticSelector\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"InputWrapper\", __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n return /* @__PURE__ */ React.createElement(Text, __spreadValues({\n color: \"dimmed\",\n className: cx(classes.description, className),\n ref,\n unstyled\n }, others), children);\n});\nInputDescription.displayName = \"@mantine/core/InputDescription\";\n\nexport { InputDescription };\n//# sourceMappingURL=InputDescription.js.map\n","import { useContext, createContext } from 'react';\n\nconst InputWrapperContext = createContext({\n offsetBottom: false,\n offsetTop: false,\n describedBy: void 0\n});\nconst InputWrapperProvider = InputWrapperContext.Provider;\nconst useInputWrapperContext = () => useContext(InputWrapperContext);\n\nexport { InputWrapperProvider, useInputWrapperContext };\n//# sourceMappingURL=InputWrapper.context.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar useStyles = createStyles((theme) => ({\n root: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n lineHeight: theme.lineHeight\n })\n}));\n\nexport default useStyles;\n//# sourceMappingURL=InputWrapper.styles.js.map\n","import React, { forwardRef, Fragment } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { InputLabel } from '../InputLabel/InputLabel.js';\nimport { InputError } from '../InputError/InputError.js';\nimport { InputDescription } from '../InputDescription/InputDescription.js';\nimport { InputWrapperProvider } from '../InputWrapper.context.js';\nimport { getInputOffsets } from './get-input-offsets.js';\nimport useStyles from './InputWrapper.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n labelElement: \"label\",\n size: \"sm\",\n inputContainer: (children) => children,\n inputWrapperOrder: [\"label\", \"description\", \"input\", \"error\"]\n};\nconst InputWrapper = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"InputWrapper\", defaultProps, props), {\n className,\n label,\n children,\n required,\n id,\n error,\n description,\n labelElement,\n labelProps,\n descriptionProps,\n errorProps,\n classNames,\n styles,\n size,\n inputContainer,\n __staticSelector,\n unstyled,\n inputWrapperOrder,\n withAsterisk,\n variant\n } = _a, others = __objRest(_a, [\n \"className\",\n \"label\",\n \"children\",\n \"required\",\n \"id\",\n \"error\",\n \"description\",\n \"labelElement\",\n \"labelProps\",\n \"descriptionProps\",\n \"errorProps\",\n \"classNames\",\n \"styles\",\n \"size\",\n \"inputContainer\",\n \"__staticSelector\",\n \"unstyled\",\n \"inputWrapperOrder\",\n \"withAsterisk\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles(null, {\n classNames,\n styles,\n name: [\"InputWrapper\", __staticSelector],\n unstyled,\n variant,\n size\n });\n const sharedProps = {\n classNames,\n styles,\n unstyled,\n size,\n variant,\n __staticSelector\n };\n const isRequired = typeof withAsterisk === \"boolean\" ? withAsterisk : required;\n const errorId = id ? `${id}-error` : errorProps == null ? void 0 : errorProps.id;\n const descriptionId = id ? `${id}-description` : descriptionProps == null ? void 0 : descriptionProps.id;\n const hasError = !!error && typeof error !== \"boolean\";\n const _describedBy = `${hasError ? errorId : \"\"} ${description ? descriptionId : \"\"}`;\n const describedBy = _describedBy.trim().length > 0 ? _describedBy.trim() : void 0;\n const _label = label && /* @__PURE__ */ React.createElement(InputLabel, __spreadValues(__spreadValues({\n key: \"label\",\n labelElement,\n id: id ? `${id}-label` : void 0,\n htmlFor: id,\n required: isRequired\n }, sharedProps), labelProps), label);\n const _description = description && /* @__PURE__ */ React.createElement(InputDescription, __spreadProps(__spreadValues(__spreadValues({\n key: \"description\"\n }, descriptionProps), sharedProps), {\n size: (descriptionProps == null ? void 0 : descriptionProps.size) || sharedProps.size,\n id: (descriptionProps == null ? void 0 : descriptionProps.id) || descriptionId\n }), description);\n const _input = /* @__PURE__ */ React.createElement(Fragment, {\n key: \"input\"\n }, inputContainer(children));\n const _error = typeof error !== \"boolean\" && error && /* @__PURE__ */ React.createElement(InputError, __spreadProps(__spreadValues(__spreadValues({}, errorProps), sharedProps), {\n size: (errorProps == null ? void 0 : errorProps.size) || sharedProps.size,\n key: \"error\",\n id: (errorProps == null ? void 0 : errorProps.id) || errorId\n }), error);\n const content = inputWrapperOrder.map((part) => {\n switch (part) {\n case \"label\":\n return _label;\n case \"input\":\n return _input;\n case \"description\":\n return _description;\n case \"error\":\n return _error;\n default:\n return null;\n }\n });\n return /* @__PURE__ */ React.createElement(InputWrapperProvider, {\n value: __spreadValues({\n describedBy\n }, getInputOffsets(inputWrapperOrder, {\n hasDescription: !!_description,\n hasError: !!_error\n }))\n }, /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className),\n ref\n }, others), content));\n});\nInputWrapper.displayName = \"@mantine/core/InputWrapper\";\n\nexport { InputWrapper };\n//# sourceMappingURL=InputWrapper.js.map\n","function getInputOffsets(inputWrapperOrder, { hasDescription, hasError }) {\n const inputIndex = inputWrapperOrder.findIndex((part) => part === \"input\");\n const aboveInput = inputWrapperOrder[inputIndex - 1];\n const belowInput = inputWrapperOrder[inputIndex + 1];\n const offsetTop = hasDescription && aboveInput === \"description\" || hasError && aboveInput === \"error\";\n const offsetBottom = hasDescription && belowInput === \"description\" || hasError && belowInput === \"error\";\n return { offsetBottom, offsetTop };\n}\n\nexport { getInputOffsets };\n//# sourceMappingURL=get-input-offsets.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { packSx } from '@mantine/utils';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst InputPlaceholder = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"InputPlaceholder\", defaultProps, props), { sx } = _a, others = __objRest(_a, [\"sx\"]);\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n component: \"span\",\n sx: [(theme) => theme.fn.placeholderStyles(), ...packSx(sx)],\n ref\n }, others));\n});\nInputPlaceholder.displayName = \"@mantine/core/InputPlaceholder\";\n\nexport { InputPlaceholder };\n//# sourceMappingURL=InputPlaceholder.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, rem } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { InputWrapper } from './InputWrapper/InputWrapper.js';\nimport { InputDescription } from './InputDescription/InputDescription.js';\nimport { InputLabel } from './InputLabel/InputLabel.js';\nimport { InputError } from './InputError/InputError.js';\nimport { InputPlaceholder } from './InputPlaceholder/InputPlaceholder.js';\nimport { useInputWrapperContext } from './InputWrapper.context.js';\nimport useStyles from './Input.styles.js';\nimport { extractSystemStyles } from '../Box/style-system-props/extract-system-styles/extract-system-styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n size: \"sm\",\n variant: \"default\"\n};\nconst _Input = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Input\", defaultProps, props), {\n className,\n error,\n required,\n disabled,\n variant,\n icon,\n style,\n rightSectionWidth,\n iconWidth,\n rightSection,\n rightSectionProps,\n radius,\n size,\n wrapperProps,\n classNames,\n styles,\n __staticSelector,\n multiline,\n sx,\n unstyled,\n pointer\n } = _a, others = __objRest(_a, [\n \"className\",\n \"error\",\n \"required\",\n \"disabled\",\n \"variant\",\n \"icon\",\n \"style\",\n \"rightSectionWidth\",\n \"iconWidth\",\n \"rightSection\",\n \"rightSectionProps\",\n \"radius\",\n \"size\",\n \"wrapperProps\",\n \"classNames\",\n \"styles\",\n \"__staticSelector\",\n \"multiline\",\n \"sx\",\n \"unstyled\",\n \"pointer\"\n ]);\n const { offsetBottom, offsetTop, describedBy } = useInputWrapperContext();\n const { classes, cx } = useStyles({\n radius,\n multiline,\n invalid: !!error,\n rightSectionWidth: rightSectionWidth ? rem(rightSectionWidth) : void 0,\n iconWidth,\n withRightSection: !!rightSection,\n offsetBottom,\n offsetTop,\n pointer\n }, { classNames, styles, name: [\"Input\", __staticSelector], unstyled, variant, size });\n const { systemStyles, rest } = extractSystemStyles(others);\n return /* @__PURE__ */ React.createElement(Box, __spreadValues(__spreadValues({\n className: cx(classes.wrapper, className),\n sx,\n style\n }, systemStyles), wrapperProps), icon && /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.icon\n }, icon), /* @__PURE__ */ React.createElement(Box, __spreadProps(__spreadValues({\n component: \"input\"\n }, rest), {\n ref,\n required,\n \"aria-invalid\": !!error,\n \"aria-describedby\": describedBy,\n disabled,\n \"data-disabled\": disabled || void 0,\n \"data-with-icon\": !!icon || void 0,\n \"data-invalid\": !!error || void 0,\n className: classes.input\n })), rightSection && /* @__PURE__ */ React.createElement(\"div\", __spreadProps(__spreadValues({}, rightSectionProps), {\n className: classes.rightSection\n }), rightSection));\n});\n_Input.displayName = \"@mantine/core/Input\";\n_Input.Wrapper = InputWrapper;\n_Input.Label = InputLabel;\n_Input.Description = InputDescription;\n_Input.Error = InputError;\n_Input.Placeholder = InputPlaceholder;\nconst Input = createPolymorphicComponent(_Input);\n\nexport { Input, _Input };\n//# sourceMappingURL=Input.js.map\n","import { rem, createStyles, getSize } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst sizes = {\n xs: rem(30),\n sm: rem(36),\n md: rem(42),\n lg: rem(50),\n xl: rem(60)\n};\nconst INPUT_VARIANTS = [\"default\", \"filled\", \"unstyled\"];\nfunction getVariantStyles({ theme, variant }) {\n if (!INPUT_VARIANTS.includes(variant)) {\n return null;\n }\n if (variant === \"default\") {\n return {\n border: `${rem(1)} solid ${theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[4]}`,\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.white,\n transition: \"border-color 100ms ease\",\n \"&:focus, &:focus-within\": theme.focusRingStyles.inputStyles(theme)\n };\n }\n if (variant === \"filled\") {\n return {\n border: `${rem(1)} solid transparent`,\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[1],\n \"&:focus, &:focus-within\": theme.focusRingStyles.inputStyles(theme)\n };\n }\n return {\n borderWidth: 0,\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black,\n backgroundColor: \"transparent\",\n minHeight: rem(28),\n outline: 0,\n \"&:focus, &:focus-within\": {\n outline: \"none\",\n borderColor: \"transparent\"\n },\n \"&:disabled\": {\n backgroundColor: \"transparent\",\n \"&:focus, &:focus-within\": {\n outline: \"none\",\n borderColor: \"transparent\"\n }\n }\n };\n}\nvar useStyles = createStyles((theme, {\n multiline,\n radius,\n invalid,\n rightSectionWidth,\n withRightSection,\n iconWidth,\n offsetBottom,\n offsetTop,\n pointer\n}, { variant, size }) => {\n const invalidColor = theme.fn.variant({\n variant: \"filled\",\n color: \"red\"\n }).background;\n const sizeStyles = variant === \"default\" || variant === \"filled\" ? {\n minHeight: getSize({ size, sizes }),\n paddingLeft: `calc(${getSize({ size, sizes })} / 3)`,\n paddingRight: withRightSection ? rightSectionWidth || getSize({ size, sizes }) : `calc(${getSize({ size, sizes })} / 3)`,\n borderRadius: theme.fn.radius(radius)\n } : variant === \"unstyled\" && withRightSection ? {\n paddingRight: rightSectionWidth || getSize({ size, sizes })\n } : null;\n return {\n wrapper: {\n position: \"relative\",\n marginTop: offsetTop ? `calc(${theme.spacing.xs} / 2)` : void 0,\n marginBottom: offsetBottom ? `calc(${theme.spacing.xs} / 2)` : void 0,\n \"&:has(input:disabled)\": {\n \"& .mantine-Input-rightSection\": {\n display: \"none\"\n }\n }\n },\n input: __spreadProps(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n height: multiline ? variant === \"unstyled\" ? void 0 : \"auto\" : getSize({ size, sizes }),\n WebkitTapHighlightColor: \"transparent\",\n lineHeight: multiline ? theme.lineHeight : `calc(${getSize({ size, sizes })} - ${rem(2)})`,\n appearance: \"none\",\n resize: \"none\",\n boxSizing: \"border-box\",\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n width: \"100%\",\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black,\n display: \"block\",\n textAlign: \"left\",\n cursor: pointer ? \"pointer\" : void 0\n }), getVariantStyles({ theme, variant })), sizeStyles), {\n \"&:disabled, &[data-disabled]\": {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[1],\n color: theme.colors.dark[2],\n opacity: 0.6,\n cursor: \"not-allowed\",\n pointerEvents: \"none\",\n \"&::placeholder\": {\n color: theme.colors.dark[2]\n }\n },\n \"&[data-invalid]\": {\n color: invalidColor,\n borderColor: invalidColor,\n \"&::placeholder\": {\n opacity: 1,\n color: invalidColor\n }\n },\n \"&[data-with-icon]\": {\n paddingLeft: typeof iconWidth === \"number\" ? rem(iconWidth) : getSize({ size, sizes })\n },\n \"&::placeholder\": __spreadProps(__spreadValues({}, theme.fn.placeholderStyles()), {\n opacity: 1\n }),\n \"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration\": {\n appearance: \"none\"\n },\n \"&[type=number]\": {\n MozAppearance: \"textfield\"\n }\n }),\n icon: {\n pointerEvents: \"none\",\n position: \"absolute\",\n zIndex: 1,\n left: 0,\n top: 0,\n bottom: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: iconWidth ? rem(iconWidth) : getSize({ size, sizes }),\n color: invalid ? theme.colors.red[theme.colorScheme === \"dark\" ? 6 : 7] : theme.colorScheme === \"dark\" ? theme.colors.dark[2] : theme.colors.gray[5]\n },\n rightSection: {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n right: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: rightSectionWidth || getSize({ size, sizes })\n }\n };\n});\n\nexport default useStyles;\nexport { sizes };\n//# sourceMappingURL=Input.styles.js.map\n","import { useComponentDefaultProps } from '@mantine/styles';\nimport { useId } from '@mantine/hooks';\nimport { extractSystemStyles } from '../Box/style-system-props/extract-system-styles/extract-system-styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction useInputProps(component, defaultProps, props) {\n const _a = useComponentDefaultProps(component, defaultProps, props), {\n label,\n description,\n error,\n required,\n classNames,\n styles,\n className,\n unstyled,\n __staticSelector,\n sx,\n errorProps,\n labelProps,\n descriptionProps,\n wrapperProps: _wrapperProps,\n id,\n size,\n style,\n inputContainer,\n inputWrapperOrder,\n withAsterisk,\n variant\n } = _a, others = __objRest(_a, [\n \"label\",\n \"description\",\n \"error\",\n \"required\",\n \"classNames\",\n \"styles\",\n \"className\",\n \"unstyled\",\n \"__staticSelector\",\n \"sx\",\n \"errorProps\",\n \"labelProps\",\n \"descriptionProps\",\n \"wrapperProps\",\n \"id\",\n \"size\",\n \"style\",\n \"inputContainer\",\n \"inputWrapperOrder\",\n \"withAsterisk\",\n \"variant\"\n ]);\n const uid = useId(id);\n const { systemStyles, rest } = extractSystemStyles(others);\n const wrapperProps = __spreadValues({\n label,\n description,\n error,\n required,\n classNames,\n className,\n __staticSelector,\n sx,\n errorProps,\n labelProps,\n descriptionProps,\n unstyled,\n styles,\n id: uid,\n size,\n style,\n inputContainer,\n inputWrapperOrder,\n withAsterisk,\n variant\n }, _wrapperProps);\n return __spreadProps(__spreadValues({}, rest), {\n classNames,\n styles,\n unstyled,\n wrapperProps: __spreadValues(__spreadValues({}, wrapperProps), systemStyles),\n inputProps: {\n required,\n classNames,\n styles,\n unstyled,\n id: uid,\n size,\n __staticSelector,\n error,\n variant\n }\n });\n}\n\nexport { useInputProps };\n//# sourceMappingURL=use-input-props.js.map\n","import { createSafeContext } from '@mantine/utils';\n\nconst [ListProvider, useListContext] = createSafeContext(\"List component was not found in tree\");\n\nexport { ListProvider, useListContext };\n//# sourceMappingURL=List.context.js.map\n","import { createStyles, getStylesRef, getSize } from '@mantine/styles';\n\nvar useStyles = createStyles((theme, { spacing, center }) => ({\n itemWrapper: {\n ref: getStylesRef(\"itemWrapper\"),\n display: \"inline-flex\",\n flexDirection: \"column\",\n whiteSpace: \"normal\"\n },\n item: {\n whiteSpace: \"nowrap\",\n lineHeight: center ? 1 : theme.lineHeight,\n \"&:not(:first-of-type)\": {\n marginTop: getSize({ size: spacing, sizes: theme.spacing })\n },\n \"&[data-with-icon]\": {\n listStyle: \"none\",\n [`& .${getStylesRef(\"itemWrapper\")}`]: {\n display: \"inline-flex\",\n alignItems: center ? \"center\" : \"flex-start\",\n flexDirection: \"row\"\n }\n }\n },\n itemIcon: {\n display: \"inline-block\",\n verticalAlign: \"middle\",\n marginRight: theme.spacing.sm\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=ListItem.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useListContext } from '../List.context.js';\nimport useStyles from './ListItem.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst ListItem = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"ListItem\", defaultProps, props), { className, children, icon } = _a, others = __objRest(_a, [\"className\", \"children\", \"icon\"]);\n const {\n icon: ctxIcon,\n spacing,\n center,\n listStyleType,\n size,\n withPadding,\n classNames,\n styles,\n unstyled,\n variant\n } = useListContext();\n const _icon = icon || ctxIcon;\n const { classes, cx } = useStyles({ withPadding, listStyleType, center, spacing }, { classNames, styles, unstyled, name: \"List\", variant, size });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n component: \"li\",\n className: cx(classes.item, className),\n \"data-with-icon\": !!_icon || void 0,\n ref\n }, others), /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.itemWrapper\n }, _icon && /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.itemIcon\n }, _icon), /* @__PURE__ */ React.createElement(\"span\", null, children)));\n});\nListItem.displayName = \"@mantine/core/ListItem\";\n\nexport { ListItem };\n//# sourceMappingURL=ListItem.js.map\n","import { createStyles, getSize } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar useStyles = createStyles((theme, { withPadding, listStyleType }, { size }) => ({\n root: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n listStyleType,\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black,\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n lineHeight: theme.lineHeight,\n margin: 0,\n paddingLeft: withPadding ? theme.spacing.xl : 0,\n listStylePosition: \"inside\"\n })\n}));\n\nexport default useStyles;\n//# sourceMappingURL=List.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { ListItem } from './ListItem/ListItem.js';\nimport { ListProvider } from './List.context.js';\nimport useStyles from './List.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n type: \"unordered\",\n size: \"md\",\n spacing: 0\n};\nconst List = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"List\", defaultProps, props), {\n children,\n type,\n size,\n listStyleType,\n withPadding,\n center,\n spacing,\n icon,\n className,\n styles,\n classNames,\n unstyled,\n variant\n } = _a, others = __objRest(_a, [\n \"children\",\n \"type\",\n \"size\",\n \"listStyleType\",\n \"withPadding\",\n \"center\",\n \"spacing\",\n \"icon\",\n \"className\",\n \"styles\",\n \"classNames\",\n \"unstyled\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles({ withPadding, listStyleType, center, spacing }, { classNames, styles, name: \"List\", unstyled, size, variant });\n return /* @__PURE__ */ React.createElement(ListProvider, {\n value: {\n spacing,\n center,\n icon,\n listStyleType,\n size,\n withPadding,\n classNames,\n styles,\n unstyled,\n variant\n }\n }, /* @__PURE__ */ React.createElement(Box, __spreadValues({\n component: type === \"unordered\" ? \"ul\" : \"ol\",\n className: cx(classes.root, className),\n ref\n }, others), children));\n});\nList.Item = ListItem;\nList.displayName = \"@mantine/core/List\";\n\nexport { List };\n//# sourceMappingURL=List.js.map\n","import React from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction Bars(_a) {\n var _b = _a, { size, color } = _b, others = __objRest(_b, [\"size\", \"color\"]);\n const _a2 = others, { style } = _a2, rest = __objRest(_a2, [\"style\"]);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n viewBox: \"0 0 135 140\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: color,\n style: __spreadValues({ width: size }, style)\n }, rest), /* @__PURE__ */ React.createElement(\"rect\", {\n y: \"10\",\n width: \"15\",\n height: \"120\",\n rx: \"6\"\n }, /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0.5s\",\n dur: \"1s\",\n values: \"120;110;100;90;80;70;60;50;40;140;120\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }), /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"y\",\n begin: \"0.5s\",\n dur: \"1s\",\n values: \"10;15;20;25;30;35;40;45;50;0;10\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })), /* @__PURE__ */ React.createElement(\"rect\", {\n x: \"30\",\n y: \"10\",\n width: \"15\",\n height: \"120\",\n rx: \"6\"\n }, /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0.25s\",\n dur: \"1s\",\n values: \"120;110;100;90;80;70;60;50;40;140;120\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }), /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"y\",\n begin: \"0.25s\",\n dur: \"1s\",\n values: \"10;15;20;25;30;35;40;45;50;0;10\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })), /* @__PURE__ */ React.createElement(\"rect\", {\n x: \"60\",\n width: \"15\",\n height: \"140\",\n rx: \"6\"\n }, /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0s\",\n dur: \"1s\",\n values: \"120;110;100;90;80;70;60;50;40;140;120\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }), /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"y\",\n begin: \"0s\",\n dur: \"1s\",\n values: \"10;15;20;25;30;35;40;45;50;0;10\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })), /* @__PURE__ */ React.createElement(\"rect\", {\n x: \"90\",\n y: \"10\",\n width: \"15\",\n height: \"120\",\n rx: \"6\"\n }, /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0.25s\",\n dur: \"1s\",\n values: \"120;110;100;90;80;70;60;50;40;140;120\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }), /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"y\",\n begin: \"0.25s\",\n dur: \"1s\",\n values: \"10;15;20;25;30;35;40;45;50;0;10\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })), /* @__PURE__ */ React.createElement(\"rect\", {\n x: \"120\",\n y: \"10\",\n width: \"15\",\n height: \"120\",\n rx: \"6\"\n }, /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0.5s\",\n dur: \"1s\",\n values: \"120;110;100;90;80;70;60;50;40;140;120\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }), /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"y\",\n begin: \"0.5s\",\n dur: \"1s\",\n values: \"10;15;20;25;30;35;40;45;50;0;10\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })));\n}\n\nexport { Bars };\n//# sourceMappingURL=Bars.js.map\n","import React from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction Oval(_a) {\n var _b = _a, { size, color } = _b, others = __objRest(_b, [\"size\", \"color\"]);\n const _a2 = others, { style } = _a2, rest = __objRest(_a2, [\"style\"]);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n viewBox: \"0 0 38 38\",\n xmlns: \"http://www.w3.org/2000/svg\",\n stroke: color,\n style: __spreadValues({ width: size, height: size }, style)\n }, rest), /* @__PURE__ */ React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /* @__PURE__ */ React.createElement(\"g\", {\n transform: \"translate(2.5 2.5)\",\n strokeWidth: \"5\"\n }, /* @__PURE__ */ React.createElement(\"circle\", {\n strokeOpacity: \".5\",\n cx: \"16\",\n cy: \"16\",\n r: \"16\"\n }), /* @__PURE__ */ React.createElement(\"path\", {\n d: \"M32 16c0-9.94-8.06-16-16-16\"\n }, /* @__PURE__ */ React.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 16 16\",\n to: \"360 16 16\",\n dur: \"1s\",\n repeatCount: \"indefinite\"\n })))));\n}\n\nexport { Oval };\n//# sourceMappingURL=Oval.js.map\n","import React from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction Dots(_a) {\n var _b = _a, { size, color } = _b, others = __objRest(_b, [\"size\", \"color\"]);\n const _a2 = others, { style } = _a2, rest = __objRest(_a2, [\"style\"]);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n viewBox: \"0 0 120 30\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: color,\n style: __spreadValues({ width: size }, style)\n }, rest), /* @__PURE__ */ React.createElement(\"circle\", {\n cx: \"15\",\n cy: \"15\",\n r: \"15\"\n }, /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"r\",\n from: \"15\",\n to: \"15\",\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"15;9;15\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }), /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n from: \"1\",\n to: \"1\",\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"1;.5;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })), /* @__PURE__ */ React.createElement(\"circle\", {\n cx: \"60\",\n cy: \"15\",\n r: \"9\",\n fillOpacity: \"0.3\"\n }, /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"r\",\n from: \"9\",\n to: \"9\",\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"9;15;9\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }), /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n from: \"0.5\",\n to: \"0.5\",\n begin: \"0s\",\n dur: \"0.8s\",\n values: \".5;1;.5\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })), /* @__PURE__ */ React.createElement(\"circle\", {\n cx: \"105\",\n cy: \"15\",\n r: \"15\"\n }, /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"r\",\n from: \"15\",\n to: \"15\",\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"15;9;15\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }), /* @__PURE__ */ React.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n from: \"1\",\n to: \"1\",\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"1;.5;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })));\n}\n\nexport { Dots };\n//# sourceMappingURL=Dots.js.map\n","import React from 'react';\nimport { rem, useComponentDefaultProps, useMantineTheme, getSize } from '@mantine/styles';\nimport { Bars } from './loaders/Bars.js';\nimport { Oval } from './loaders/Oval.js';\nimport { Dots } from './loaders/Dots.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst LOADERS = {\n bars: Bars,\n oval: Oval,\n dots: Dots\n};\nconst sizes = {\n xs: rem(18),\n sm: rem(22),\n md: rem(36),\n lg: rem(44),\n xl: rem(58)\n};\nconst defaultProps = {\n size: \"md\"\n};\nfunction Loader(props) {\n const _a = useComponentDefaultProps(\"Loader\", defaultProps, props), { size, color, variant } = _a, others = __objRest(_a, [\"size\", \"color\", \"variant\"]);\n const theme = useMantineTheme();\n const defaultLoader = variant in LOADERS ? variant : theme.loader;\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n role: \"presentation\",\n component: LOADERS[defaultLoader] || LOADERS.bars,\n size: getSize({ size, sizes }),\n color: theme.fn.variant({\n variant: \"filled\",\n primaryFallback: false,\n color: color || theme.primaryColor\n }).background\n }, others));\n}\nLoader.displayName = \"@mantine/core/Loader\";\n\nexport { Loader };\n//# sourceMappingURL=Loader.js.map\n","const MENU_ERRORS = {\n context: \"Menu component was not found in the tree\",\n children: \"Menu.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported\"\n};\n\nexport { MENU_ERRORS };\n//# sourceMappingURL=Menu.errors.js.map\n","import { createSafeContext } from '@mantine/utils';\nimport { MENU_ERRORS } from './Menu.errors.js';\n\nconst [MenuContextProvider, useMenuContext] = createSafeContext(MENU_ERRORS.context);\n\nexport { MenuContextProvider, useMenuContext };\n//# sourceMappingURL=Menu.context.js.map\n","import { createStyles, rem } from '@mantine/styles';\n\nvar useStyles = createStyles((theme) => ({\n divider: {\n marginTop: rem(4),\n marginBottom: rem(4),\n borderTop: `${rem(1)} solid ${theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[2]}`\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=MenuDivider.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useMenuContext } from '../Menu.context.js';\nimport useStyles from './MenuDivider.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst MenuDivider = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"MenuDivider\", defaultProps, props), { children, className } = _a, others = __objRest(_a, [\"children\", \"className\"]);\n const { classNames, styles, unstyled, variant } = useMenuContext();\n const { classes, cx } = useStyles(null, { name: \"Menu\", classNames, styles, unstyled, variant });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.divider, className),\n ref\n }, others));\n});\nMenuDivider.displayName = \"@mantine/core/MenuDivider\";\n\nexport { MenuDivider };\n//# sourceMappingURL=MenuDivider.js.map\n","import React, { useRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createEventHandler } from '@mantine/utils';\nimport { useMenuContext } from '../Menu.context.js';\nimport { Popover } from '../../Popover/Popover.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nfunction MenuDropdown(props) {\n const _a = useComponentDefaultProps(\"MenuDropdown\", defaultProps, props), { children, onMouseEnter, onMouseLeave } = _a, others = __objRest(_a, [\"children\", \"onMouseEnter\", \"onMouseLeave\"]);\n const wrapperRef = useRef();\n const ctx = useMenuContext();\n const handleKeyDown = (event) => {\n var _a2;\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n (_a2 = wrapperRef.current.querySelectorAll(\"[data-menu-item]:not(:disabled)\")[0]) == null ? void 0 : _a2.focus();\n }\n };\n const handleMouseEnter = createEventHandler(onMouseEnter, () => ctx.trigger === \"hover\" && ctx.openDropdown());\n const handleMouseLeave = createEventHandler(onMouseLeave, () => ctx.trigger === \"hover\" && ctx.closeDropdown());\n return /* @__PURE__ */ React.createElement(Popover.Dropdown, __spreadValues({\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n role: \"menu\",\n \"aria-orientation\": \"vertical\"\n }, others), /* @__PURE__ */ React.createElement(\"div\", {\n tabIndex: -1,\n \"data-menu-dropdown\": true,\n \"data-autofocus\": true,\n onKeyDown: handleKeyDown,\n ref: wrapperRef,\n style: { outline: 0 }\n }, children));\n}\nMenuDropdown.displayName = \"@mantine/core/MenuDropdown\";\n\nexport { MenuDropdown };\n//# sourceMappingURL=MenuDropdown.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar useStyles = createStyles((theme, { color, radius }) => ({\n item: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n WebkitTapHighlightColor: \"transparent\",\n fontSize: theme.fontSizes.sm,\n border: 0,\n backgroundColor: \"transparent\",\n outline: 0,\n width: \"100%\",\n textAlign: \"left\",\n textDecoration: \"none\",\n boxSizing: \"border-box\",\n padding: `${theme.spacing.xs} ${theme.spacing.sm}`,\n cursor: \"pointer\",\n borderRadius: theme.fn.radius(radius),\n color: color ? theme.fn.variant({ variant: \"filled\", primaryFallback: false, color }).background : theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black,\n display: \"flex\",\n alignItems: \"center\",\n \"&:disabled\": {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5],\n pointerEvents: \"none\",\n userSelect: \"none\"\n },\n \"&[data-hovered]\": {\n backgroundColor: color ? theme.fn.variant({ variant: \"light\", color }).background : theme.colorScheme === \"dark\" ? theme.fn.rgba(theme.colors.dark[3], 0.35) : theme.colors.gray[1]\n }\n }),\n itemLabel: {\n flex: 1\n },\n itemIcon: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n marginRight: theme.spacing.xs\n },\n itemRightSection: {}\n}));\n\nexport default useStyles;\n//# sourceMappingURL=MenuItem.styles.js.map\n","import React, { forwardRef, useRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createEventHandler, createScopedKeydownHandler, createPolymorphicComponent } from '@mantine/utils';\nimport { useMergedRef } from '@mantine/hooks';\nimport { useMenuContext } from '../Menu.context.js';\nimport useStyles from './MenuItem.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst _MenuItem = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"MenuItem\", defaultProps, props), { children, className, color, closeMenuOnClick, icon, rightSection } = _a, others = __objRest(_a, [\"children\", \"className\", \"color\", \"closeMenuOnClick\", \"icon\", \"rightSection\"]);\n const ctx = useMenuContext();\n const { classes, cx, theme } = useStyles({ radius: ctx.radius, color }, {\n name: \"Menu\",\n classNames: ctx.classNames,\n styles: ctx.styles,\n unstyled: ctx.unstyled,\n variant: ctx.variant\n });\n const itemRef = useRef();\n const itemIndex = ctx.getItemIndex(itemRef.current);\n const _others = others;\n const handleMouseLeave = createEventHandler(_others.onMouseLeave, () => ctx.setHovered(-1));\n const handleMouseEnter = createEventHandler(_others.onMouseEnter, () => ctx.setHovered(ctx.getItemIndex(itemRef.current)));\n const handleClick = createEventHandler(_others.onClick, () => {\n if (typeof closeMenuOnClick === \"boolean\") {\n closeMenuOnClick && ctx.closeDropdownImmediately();\n } else {\n ctx.closeOnItemClick && ctx.closeDropdownImmediately();\n }\n });\n const handleFocus = createEventHandler(_others.onFocus, () => ctx.setHovered(ctx.getItemIndex(itemRef.current)));\n return /* @__PURE__ */ React.createElement(Box, __spreadProps(__spreadValues({\n component: \"button\",\n type: \"button\"\n }, others), {\n tabIndex: -1,\n onFocus: handleFocus,\n className: cx(classes.item, className),\n ref: useMergedRef(itemRef, ref),\n role: \"menuitem\",\n \"data-menu-item\": true,\n \"data-hovered\": ctx.hovered === itemIndex ? true : void 0,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onClick: handleClick,\n onKeyDown: createScopedKeydownHandler({\n siblingSelector: \"[data-menu-item]\",\n parentSelector: \"[data-menu-dropdown]\",\n activateOnFocus: false,\n loop: ctx.loop,\n dir: theme.dir,\n orientation: \"vertical\",\n onKeyDown: _others.onKeydown\n })\n }), icon && /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.itemIcon\n }, icon), children && /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.itemLabel\n }, children), rightSection && /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.itemRightSection\n }, rightSection));\n});\n_MenuItem.displayName = \"@mantine/core/MenuItem\";\nconst MenuItem = createPolymorphicComponent(_MenuItem);\n\nexport { MenuItem, _MenuItem };\n//# sourceMappingURL=MenuItem.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles((theme) => ({\n label: {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[2] : theme.colors.gray[6],\n fontWeight: 500,\n fontSize: theme.fontSizes.xs,\n padding: `calc(${theme.spacing.xs} / 2) ${theme.spacing.sm}`,\n cursor: \"default\"\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=MenuLabel.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useMenuContext } from '../Menu.context.js';\nimport useStyles from './MenuLabel.styles.js';\nimport { Text } from '../../Text/Text.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst MenuLabel = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"MenuLabel\", defaultProps, props), { children, className } = _a, others = __objRest(_a, [\"children\", \"className\"]);\n const { classNames, styles, unstyled, variant } = useMenuContext();\n const { classes, cx } = useStyles(null, { name: \"Menu\", classNames, styles, unstyled, variant });\n return /* @__PURE__ */ React.createElement(Text, __spreadValues({\n className: cx(classes.label, className),\n ref\n }, others), children);\n});\nMenuLabel.displayName = \"@mantine/core/MenuLabel\";\n\nexport { MenuLabel };\n//# sourceMappingURL=MenuLabel.js.map\n","import React, { forwardRef, cloneElement } from 'react';\nimport { isElement, createEventHandler } from '@mantine/utils';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useMenuContext } from '../Menu.context.js';\nimport { MENU_ERRORS } from '../Menu.errors.js';\nimport { Popover } from '../../Popover/Popover.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n refProp: \"ref\"\n};\nconst MenuTarget = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"MenuTarget\", defaultProps, props), { children, refProp } = _a, others = __objRest(_a, [\"children\", \"refProp\"]);\n if (!isElement(children)) {\n throw new Error(MENU_ERRORS.children);\n }\n const ctx = useMenuContext();\n const onClick = createEventHandler(children.props.onClick, () => ctx.trigger === \"click\" && ctx.toggleDropdown());\n const onMouseEnter = createEventHandler(children.props.onMouseEnter, () => ctx.trigger === \"hover\" && ctx.openDropdown());\n const onMouseLeave = createEventHandler(children.props.onMouseLeave, () => ctx.trigger === \"hover\" && ctx.closeDropdown());\n return /* @__PURE__ */ React.createElement(Popover.Target, __spreadValues({\n refProp,\n popupType: \"menu\",\n ref\n }, others), cloneElement(children, {\n onClick,\n onMouseEnter,\n onMouseLeave,\n \"data-expanded\": ctx.opened ? true : void 0\n }));\n});\nMenuTarget.displayName = \"@mantine/core/MenuTarget\";\n\nexport { MenuTarget };\n//# sourceMappingURL=MenuTarget.js.map\n","import { createStyles, rem } from '@mantine/styles';\n\nvar useStyles = createStyles({\n dropdown: { padding: rem(4) }\n});\n\nexport default useStyles;\n//# sourceMappingURL=Menu.styles.js.map\n","import React from 'react';\nimport { useHovered, getContextItemIndex } from '@mantine/utils';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { MenuDivider } from './MenuDivider/MenuDivider.js';\nimport { MenuDropdown } from './MenuDropdown/MenuDropdown.js';\nimport { MenuItem } from './MenuItem/MenuItem.js';\nimport { MenuLabel } from './MenuLabel/MenuLabel.js';\nimport { MenuTarget } from './MenuTarget/MenuTarget.js';\nimport { MenuContextProvider } from './Menu.context.js';\nimport useStyles from './Menu.styles.js';\nimport { useDelayedHover } from '../Floating/use-delayed-hover.js';\nimport { Popover } from '../Popover/Popover.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n closeOnItemClick: true,\n loop: true,\n trigger: \"click\",\n openDelay: 0,\n closeDelay: 100\n};\nfunction Menu(props) {\n const _a = useComponentDefaultProps(\"Menu\", defaultProps, props), {\n children,\n onOpen,\n onClose,\n opened,\n defaultOpened,\n onChange,\n closeOnItemClick,\n loop,\n closeOnEscape,\n trigger,\n openDelay,\n closeDelay,\n classNames,\n styles,\n unstyled,\n radius,\n variant\n } = _a, others = __objRest(_a, [\n \"children\",\n \"onOpen\",\n \"onClose\",\n \"opened\",\n \"defaultOpened\",\n \"onChange\",\n \"closeOnItemClick\",\n \"loop\",\n \"closeOnEscape\",\n \"trigger\",\n \"openDelay\",\n \"closeDelay\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"radius\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles();\n const [hovered, { setHovered, resetHovered }] = useHovered();\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange\n });\n const close = () => {\n setOpened(false);\n _opened && (onClose == null ? void 0 : onClose());\n };\n const open = () => {\n setOpened(true);\n !_opened && (onOpen == null ? void 0 : onOpen());\n };\n const toggleDropdown = () => _opened ? close() : open();\n const { openDropdown, closeDropdown } = useDelayedHover({ open, close, closeDelay, openDelay });\n const getItemIndex = (node) => getContextItemIndex(\"[data-menu-item]\", \"[data-menu-dropdown]\", node);\n useDidUpdate(() => {\n resetHovered();\n }, [_opened]);\n return /* @__PURE__ */ React.createElement(MenuContextProvider, {\n value: {\n opened: _opened,\n toggleDropdown,\n getItemIndex,\n hovered,\n setHovered,\n closeOnItemClick,\n closeDropdown: trigger === \"click\" ? close : closeDropdown,\n openDropdown: trigger === \"click\" ? open : openDropdown,\n closeDropdownImmediately: close,\n loop,\n trigger,\n radius,\n classNames,\n styles,\n unstyled,\n variant\n }\n }, /* @__PURE__ */ React.createElement(Popover, __spreadProps(__spreadValues({}, others), {\n radius,\n opened: _opened,\n onChange: toggleDropdown,\n defaultOpened,\n trapFocus: trigger === \"click\",\n closeOnEscape: closeOnEscape && trigger === \"click\",\n __staticSelector: \"Menu\",\n classNames: __spreadProps(__spreadValues({}, classNames), { dropdown: cx(classes.dropdown, classNames == null ? void 0 : classNames.dropdown) }),\n styles,\n unstyled,\n variant\n }), children));\n}\nMenu.displayName = \"@mantine/core/Menu\";\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\nMenu.Dropdown = MenuDropdown;\nMenu.Target = MenuTarget;\nMenu.Divider = MenuDivider;\n\nexport { Menu };\n//# sourceMappingURL=Menu.js.map\n","import { useState } from 'react';\n\nfunction useHovered() {\n const [hovered, setHovered] = useState(-1);\n const resetHovered = () => setHovered(-1);\n return [hovered, { setHovered, resetHovered }];\n}\n\nexport { useHovered };\n//# sourceMappingURL=use-hovered.js.map\n","import { findElementAncestor } from '../find-element-ancestor/find-element-ancestor.js';\n\nfunction getContextItemIndex(elementSelector, parentSelector, node) {\n var _a;\n if (!node) {\n return null;\n }\n return Array.from(((_a = findElementAncestor(node, parentSelector)) == null ? void 0 : _a.querySelectorAll(elementSelector)) || []).findIndex((element) => element === node);\n}\n\nexport { getContextItemIndex };\n//# sourceMappingURL=get-context-item-index.js.map\n","import React from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { ModalRoot } from './ModalRoot/ModalRoot.js';\nimport { ModalContent } from './ModalContent/ModalContent.js';\nimport { ModalBase, ModalBaseDefaultProps } from '../ModalBase/ModalBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = __spreadProps(__spreadValues({}, ModalBaseDefaultProps), {\n transitionProps: { duration: 200, transition: \"pop\" },\n withOverlay: true,\n withCloseButton: true\n});\nfunction Modal(props) {\n const _a = useComponentDefaultProps(\"Modal\", defaultProps, props), {\n title,\n withOverlay,\n overlayProps,\n withCloseButton,\n closeButtonProps,\n children\n } = _a, others = __objRest(_a, [\n \"title\",\n \"withOverlay\",\n \"overlayProps\",\n \"withCloseButton\",\n \"closeButtonProps\",\n \"children\"\n ]);\n const hasHeader = !!title || withCloseButton;\n return /* @__PURE__ */ React.createElement(ModalRoot, __spreadValues({}, others), withOverlay && /* @__PURE__ */ React.createElement(ModalBase.Overlay, __spreadValues({}, overlayProps)), /* @__PURE__ */ React.createElement(ModalContent, null, hasHeader && /* @__PURE__ */ React.createElement(ModalBase.Header, null, title && /* @__PURE__ */ React.createElement(ModalBase.Title, null, title), withCloseButton && /* @__PURE__ */ React.createElement(ModalBase.CloseButton, __spreadValues({}, closeButtonProps))), /* @__PURE__ */ React.createElement(ModalBase.Body, null, children)));\n}\nModal.Root = ModalRoot;\nModal.CloseButton = ModalBase.CloseButton;\nModal.Overlay = ModalBase.Overlay;\nModal.Content = ModalContent;\nModal.Header = ModalBase.Header;\nModal.Title = ModalBase.Title;\nModal.Body = ModalBase.Body;\nModal.NativeScrollArea = ModalBase.NativeScrollArea;\n\nexport { Modal };\n//# sourceMappingURL=Modal.js.map\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error('Sidecar medium not found');\n }\n return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n}\n","import { createSafeContext } from '@mantine/utils';\n\nconst [ModalProvider, useModalContext] = createSafeContext(\"Modal component was not found in tree\");\n\nexport { ModalProvider, useModalContext };\n//# sourceMappingURL=Modal.context.js.map\n","import { createStyles, getSize, rem } from '@mantine/styles';\n\nconst sizes = {\n xs: rem(320),\n sm: rem(380),\n md: rem(440),\n lg: rem(620),\n xl: rem(780)\n};\nvar useStyles = createStyles((theme, { yOffset, xOffset, centered, fullScreen }, { size }) => ({\n content: {\n flex: fullScreen ? \"0 0 100%\" : `0 0 ${getSize({ size, sizes })}`,\n maxWidth: \"100%\",\n maxHeight: fullScreen ? void 0 : `calc(100dvh - (${rem(yOffset)} * 2))`,\n height: fullScreen ? \"100vh\" : void 0,\n borderRadius: fullScreen ? 0 : void 0,\n overflowY: \"auto\"\n },\n inner: {\n paddingTop: fullScreen ? 0 : yOffset,\n paddingBottom: fullScreen ? 0 : yOffset,\n paddingLeft: fullScreen ? 0 : xOffset,\n paddingRight: fullScreen ? 0 : xOffset,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: centered ? \"center\" : \"flex-start\"\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=ModalRoot.styles.js.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing,\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return (React.createElement(React.Fragment, null,\n enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),\n forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false,\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","import { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return
...
\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue || null, function (newValue) { return refs.forEach(function (ref) { return assignRef(ref, newValue); }); });\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n // @ts-ignore\n if (tag.styleSheet) {\n // @ts-ignore\n tag.styleSheet.cssText = css;\n }\n else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function (style) {\n if (counter == 0) {\n if ((stylesheet = makeStyleTag())) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function () {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n },\n };\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n var sheet = stylesheetSingleton();\n return function (styles, isDynamic) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n};\n","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n var useStyle = styleHookSingleton();\n var Sheet = function (_a) {\n var styles = _a.styles, dynamic = _a.dynamic;\n useStyle(styles, dynamic);\n return null;\n };\n return Sheet;\n};\n","export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) { gapMode = 'margin'; }\n return \"\\n .\".concat(noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === 'margin' &&\n \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n ]\n .filter(Boolean)\n .join(''), \"\\n }\\n \\n .\").concat(zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (props) {\n var noRelative = props.noRelative, noImportant = props.noImportant, _a = props.gapMode, gapMode = _a === void 0 ? 'margin' : _a;\n /*\n gap will be measured on every component mount\n however it will be used only by the \"first\" invocation\n due to singleton nature of d) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== ownerDocument.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n target = target.parentNode;\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n if (isDeltaPositive && ((noOverscroll && availableScroll === 0) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && availableScrollTop === 0) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(styleSingleton)[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if ('touches' in event && event.touches.length === 2) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta); })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove,\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (React.createElement(React.Fragment, null,\n inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React.createElement(RemoveScrollBar, { gapMode: props.gapMode }) : null));\n}\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n","import { createSafeContext } from '@mantine/utils';\n\nconst [ModalBaseProvider, useModalBaseContext] = createSafeContext(\"ModalBase component was not found in tree\");\n\nexport { ModalBaseProvider, useModalBaseContext };\n//# sourceMappingURL=ModalBase.context.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles(() => ({\n close: {\n marginLeft: \"auto\",\n marginRight: 0\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=ModalBaseCloseButton.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useModalBaseContext } from '../ModalBase.context.js';\nimport useStyles from './ModalBaseCloseButton.styles.js';\nimport { CloseButton } from '../../CloseButton/CloseButton.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n size: \"sm\"\n};\nconst ModalBaseCloseButton = forwardRef((props, ref) => {\n const ctx = useModalBaseContext();\n const _a = useComponentDefaultProps(`${ctx.__staticSelector}CloseButton`, defaultProps, props), { className } = _a, others = __objRest(_a, [\"className\"]);\n const { classes, cx } = useStyles(null, ctx.stylesApi);\n return /* @__PURE__ */ React.createElement(CloseButton, __spreadValues({\n className: cx(classes.close, className),\n ref,\n onClick: ctx.onClose\n }, others));\n});\n\nexport { ModalBaseCloseButton };\n//# sourceMappingURL=ModalBaseCloseButton.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles(() => ({\n overlay: {}\n}));\n\nexport default useStyles;\n//# sourceMappingURL=ModalBaseOverlay.styles.js.map\n","import { useComponentDefaultProps } from '@mantine/styles';\nimport React, { forwardRef } from 'react';\nimport { useModalBaseContext } from '../ModalBase.context.js';\nimport useStyles from './ModalBaseOverlay.styles.js';\nimport { Transition } from '../../Transition/Transition.js';\nimport { Overlay } from '../../Overlay/Overlay.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst ModalBaseOverlay = forwardRef((props, ref) => {\n const ctx = useModalBaseContext();\n const _a = useComponentDefaultProps(`${ctx.__staticSelector}Overlay`, defaultProps, props), { onClick, transitionProps, style, className } = _a, others = __objRest(_a, [\"onClick\", \"transitionProps\", \"style\", \"className\"]);\n const { classes, cx } = useStyles(null, ctx.stylesApi);\n const handleClick = (event) => {\n onClick == null ? void 0 : onClick(event);\n ctx.closeOnClickOutside && ctx.onClose();\n };\n return /* @__PURE__ */ React.createElement(Transition, __spreadProps(__spreadValues(__spreadValues({\n mounted: ctx.opened\n }, ctx.transitionProps), transitionProps), {\n transition: \"fade\"\n }), (transitionStyles) => /* @__PURE__ */ React.createElement(Overlay, __spreadValues({\n ref,\n onClick: handleClick,\n fixed: true,\n style: __spreadValues(__spreadValues({}, style), transitionStyles),\n className: cx(classes.overlay, className),\n zIndex: ctx.zIndex\n }, others)));\n});\n\nexport { ModalBaseOverlay };\n//# sourceMappingURL=ModalBaseOverlay.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles((_theme, { zIndex }) => ({\n inner: {\n position: \"fixed\",\n width: \"100%\",\n top: 0,\n bottom: 0,\n maxHeight: \"100%\",\n zIndex,\n pointerEvents: \"none\"\n },\n content: {\n pointerEvents: \"all\"\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=ModalBaseContent.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useModalBaseContext } from '../ModalBase.context.js';\nimport useStyles from './ModalBaseContent.styles.js';\nimport { Transition } from '../../Transition/Transition.js';\nimport { FocusTrap } from '../../FocusTrap/FocusTrap.js';\nimport { Paper } from '../../Paper/Paper.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst ModalBaseContent = forwardRef((props, ref) => {\n const ctx = useModalBaseContext();\n const _a = useComponentDefaultProps(`${ctx.__staticSelector}Content`, defaultProps, props), { className, transitionProps, style, onKeyDown } = _a, others = __objRest(_a, [\"className\", \"transitionProps\", \"style\", \"onKeyDown\"]);\n const { classes, cx } = useStyles({ zIndex: ctx.zIndex }, ctx.stylesApi);\n const handleKeyDown = (event) => {\n var _a2;\n const shouldTrigger = ((_a2 = event.target) == null ? void 0 : _a2.getAttribute(\"data-mantine-stop-propagation\")) !== \"true\";\n shouldTrigger && event.key === \"Escape\" && ctx.closeOnEscape && ctx.onClose();\n onKeyDown == null ? void 0 : onKeyDown(event);\n };\n return /* @__PURE__ */ React.createElement(Transition, __spreadValues(__spreadValues({\n mounted: ctx.opened,\n transition: \"pop\"\n }, ctx.transitionProps), transitionProps), (transitionStyles) => /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(classes.inner)\n }, /* @__PURE__ */ React.createElement(FocusTrap, {\n active: ctx.opened && ctx.trapFocus\n }, /* @__PURE__ */ React.createElement(Paper, __spreadValues({\n component: \"section\",\n role: \"dialog\",\n tabIndex: -1,\n \"aria-modal\": true,\n \"aria-describedby\": ctx.bodyMounted ? ctx.getBodyId() : void 0,\n \"aria-labelledby\": ctx.titleMounted ? ctx.getTitleId() : void 0,\n onKeyDown: handleKeyDown,\n ref,\n className: cx(classes.content, className),\n style: __spreadValues(__spreadValues({}, style), transitionStyles),\n shadow: ctx.shadow\n }, others), others.children))));\n});\n\nexport { ModalBaseContent };\n//# sourceMappingURL=ModalBaseContent.js.map\n","import { createStyles, getSize, rem } from '@mantine/styles';\n\nvar useStyles = createStyles((theme, { padding }) => {\n const paddingValue = getSize({ size: padding, sizes: theme.spacing });\n return {\n header: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: paddingValue,\n paddingRight: `calc(${paddingValue} - ${rem(5)})`,\n position: \"sticky\",\n top: 0,\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[7] : theme.white,\n zIndex: 1e3\n }\n };\n});\n\nexport default useStyles;\n//# sourceMappingURL=ModalBaseHeader.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useModalBaseContext } from '../ModalBase.context.js';\nimport useStyles from './ModalBaseHeader.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst ModalBaseHeader = forwardRef((props, ref) => {\n const ctx = useModalBaseContext();\n const _a = useComponentDefaultProps(`${ctx.__staticSelector}Header`, defaultProps, props), { className } = _a, others = __objRest(_a, [\"className\"]);\n const { classes, cx } = useStyles({ padding: ctx.padding }, ctx.stylesApi);\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n ref,\n className: cx(classes.header, className)\n }, others));\n});\n\nexport { ModalBaseHeader };\n//# sourceMappingURL=ModalBaseHeader.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles((theme) => ({\n title: {\n lineHeight: 1,\n padding: 0,\n margin: 0,\n fontWeight: 400,\n fontSize: theme.fontSizes.md\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=ModalBaseTitle.styles.js.map\n","import React, { forwardRef, useEffect } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useModalBaseContext } from '../ModalBase.context.js';\nimport useStyles from './ModalBaseTitle.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst ModalBaseTitle = forwardRef((props, ref) => {\n const ctx = useModalBaseContext();\n const _a = useComponentDefaultProps(`${ctx.__staticSelector}Title`, defaultProps, props), { className } = _a, others = __objRest(_a, [\"className\"]);\n const { classes, cx } = useStyles(null, ctx.stylesApi);\n useEffect(() => {\n ctx.setTitleMounted(true);\n return () => ctx.setTitleMounted(false);\n }, []);\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n component: \"h2\",\n id: ctx.getTitleId(),\n className: cx(classes.title, className),\n ref\n }, others));\n});\n\nexport { ModalBaseTitle };\n//# sourceMappingURL=ModalBaseTitle.js.map\n","import { createStyles, getSize } from '@mantine/styles';\n\nvar useStyles = createStyles((theme, { padding }) => ({\n body: {\n padding: getSize({ size: padding, sizes: theme.spacing }),\n \"&:not(:only-child)\": {\n paddingTop: 0\n }\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=ModalBaseBody.styles.js.map\n","import React, { forwardRef, useEffect } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useModalBaseContext } from '../ModalBase.context.js';\nimport useStyles from './ModalBaseBody.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst ModalBaseBody = forwardRef((props, ref) => {\n const ctx = useModalBaseContext();\n const _a = useComponentDefaultProps(`${ctx.__staticSelector}Body`, defaultProps, props), { className } = _a, others = __objRest(_a, [\"className\"]);\n const { classes, cx } = useStyles({ padding: ctx.padding }, ctx.stylesApi);\n useEffect(() => {\n ctx.setBodyMounted(true);\n return () => ctx.setBodyMounted(false);\n }, []);\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n id: ctx.getBodyId(),\n className: cx(classes.body, className),\n ref\n }, others));\n});\n\nexport { ModalBaseBody };\n//# sourceMappingURL=ModalBaseBody.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles(() => ({\n root: {}\n}));\n\nexport default useStyles;\n//# sourceMappingURL=ModalBase.styles.js.map\n","import React, { useState } from 'react';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport { useId, useWindowEvent, useFocusReturn } from '@mantine/hooks';\nimport { getDefaultZIndex, useComponentDefaultProps } from '@mantine/styles';\nimport { ModalBaseProvider } from './ModalBase.context.js';\nimport { ModalBaseCloseButton } from './ModalBaseCloseButton/ModalBaseCloseButton.js';\nimport { ModalBaseOverlay } from './ModalBaseOverlay/ModalBaseOverlay.js';\nimport { ModalBaseContent } from './ModalBaseContent/ModalBaseContent.js';\nimport { ModalBaseHeader } from './ModalBaseHeader/ModalBaseHeader.js';\nimport { ModalBaseTitle } from './ModalBaseTitle/ModalBaseTitle.js';\nimport { ModalBaseBody } from './ModalBaseBody/ModalBaseBody.js';\nimport { NativeScrollArea } from './NativeScrollArea/NativeScrollArea.js';\nimport { useLockScroll } from './use-lock-scroll.js';\nimport useStyles from './ModalBase.styles.js';\nimport { OptionalPortal } from '../Portal/OptionalPortal.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst ModalBaseDefaultProps = {\n closeOnClickOutside: true,\n withinPortal: true,\n lockScroll: true,\n trapFocus: true,\n returnFocus: true,\n closeOnEscape: true,\n keepMounted: false,\n zIndex: getDefaultZIndex(\"modal\"),\n padding: \"md\",\n size: \"md\",\n shadow: \"xl\"\n};\nfunction ModalBase(props) {\n const _a = useComponentDefaultProps(\"ModalBase\", ModalBaseDefaultProps, props), {\n opened,\n onClose,\n children,\n closeOnClickOutside,\n __staticSelector,\n transitionProps,\n withinPortal,\n portalProps,\n keepMounted,\n target,\n zIndex,\n lockScroll,\n trapFocus,\n closeOnEscape,\n returnFocus,\n padding,\n shadow,\n id,\n size,\n variant,\n classNames,\n unstyled,\n styles,\n className\n } = _a, others = __objRest(_a, [\n \"opened\",\n \"onClose\",\n \"children\",\n \"closeOnClickOutside\",\n \"__staticSelector\",\n \"transitionProps\",\n \"withinPortal\",\n \"portalProps\",\n \"keepMounted\",\n \"target\",\n \"zIndex\",\n \"lockScroll\",\n \"trapFocus\",\n \"closeOnEscape\",\n \"returnFocus\",\n \"padding\",\n \"shadow\",\n \"id\",\n \"size\",\n \"variant\",\n \"classNames\",\n \"unstyled\",\n \"styles\",\n \"className\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: __staticSelector,\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n const _id = useId(id);\n const [titleMounted, setTitleMounted] = useState(false);\n const [bodyMounted, setBodyMounted] = useState(false);\n const transitionDuration = typeof (transitionProps == null ? void 0 : transitionProps.duration) === \"number\" ? transitionProps == null ? void 0 : transitionProps.duration : 200;\n const shouldLockScroll = useLockScroll({ opened, transitionDuration });\n useWindowEvent(\"keydown\", (event) => {\n if (!trapFocus && event.key === \"Escape\" && closeOnEscape) {\n onClose();\n }\n });\n useFocusReturn({ opened, shouldReturnFocus: trapFocus && returnFocus });\n return /* @__PURE__ */ React.createElement(OptionalPortal, __spreadProps(__spreadValues({}, portalProps), {\n withinPortal,\n target\n }), /* @__PURE__ */ React.createElement(ModalBaseProvider, {\n value: {\n __staticSelector,\n opened,\n onClose,\n closeOnClickOutside,\n transitionProps: __spreadProps(__spreadValues({}, transitionProps), { duration: transitionDuration, keepMounted }),\n zIndex,\n padding,\n id: _id,\n getTitleId: () => `${_id}-title`,\n getBodyId: () => `${_id}-body`,\n titleMounted,\n bodyMounted,\n setTitleMounted,\n setBodyMounted,\n trapFocus,\n closeOnEscape,\n shadow,\n stylesApi: {\n name: __staticSelector,\n size,\n variant,\n classNames,\n styles,\n unstyled\n }\n }\n }, /* @__PURE__ */ React.createElement(RemoveScroll, {\n enabled: shouldLockScroll && lockScroll\n }, /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className)\n }, others), children))));\n}\nModalBase.CloseButton = ModalBaseCloseButton;\nModalBase.Overlay = ModalBaseOverlay;\nModalBase.Content = ModalBaseContent;\nModalBase.Header = ModalBaseHeader;\nModalBase.Title = ModalBaseTitle;\nModalBase.Body = ModalBaseBody;\nModalBase.NativeScrollArea = NativeScrollArea;\n\nexport { ModalBase, ModalBaseDefaultProps };\n//# sourceMappingURL=ModalBase.js.map\n","import { useState, useRef, useEffect } from 'react';\nimport { useReducedMotion } from '@mantine/hooks';\n\nfunction useLockScroll({ opened, transitionDuration }) {\n const [shouldLockScroll, setShouldLockScroll] = useState(opened);\n const timeout = useRef();\n const reduceMotion = useReducedMotion();\n const _transitionDuration = reduceMotion ? 0 : transitionDuration;\n useEffect(() => {\n if (opened) {\n setShouldLockScroll(true);\n window.clearTimeout(timeout.current);\n } else if (_transitionDuration === 0) {\n setShouldLockScroll(false);\n } else {\n timeout.current = window.setTimeout(() => setShouldLockScroll(false), _transitionDuration);\n }\n return () => window.clearTimeout(timeout.current);\n }, [opened, _transitionDuration]);\n return shouldLockScroll;\n}\n\nexport { useLockScroll };\n//# sourceMappingURL=use-lock-scroll.js.map\n","import React from 'react';\n\nfunction NativeScrollArea({ children }) {\n return /* @__PURE__ */ React.createElement(React.Fragment, null, children);\n}\n\nexport { NativeScrollArea };\n//# sourceMappingURL=NativeScrollArea.js.map\n","import React from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { ModalProvider } from '../Modal.context.js';\nimport useStyles from './ModalRoot.styles.js';\nimport { ModalBase, ModalBaseDefaultProps } from '../../ModalBase/ModalBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = __spreadProps(__spreadValues({}, ModalBaseDefaultProps), {\n yOffset: \"5dvh\",\n xOffset: \"5vw\"\n});\nfunction ModalRoot(props) {\n const _a = useComponentDefaultProps(\"ModalRoot\", defaultProps, props), {\n classNames,\n variant,\n size,\n yOffset,\n xOffset,\n scrollAreaComponent,\n radius,\n centered,\n fullScreen\n } = _a, others = __objRest(_a, [\n \"classNames\",\n \"variant\",\n \"size\",\n \"yOffset\",\n \"xOffset\",\n \"scrollAreaComponent\",\n \"radius\",\n \"centered\",\n \"fullScreen\"\n ]);\n const { classes, cx } = useStyles({ yOffset, xOffset, centered, fullScreen }, { name: \"Modal\", variant, size });\n return /* @__PURE__ */ React.createElement(ModalProvider, {\n value: { yOffset, scrollAreaComponent, radius }\n }, /* @__PURE__ */ React.createElement(ModalBase, __spreadValues({\n __staticSelector: \"Modal\",\n size,\n variant,\n classNames: __spreadProps(__spreadValues({}, classNames), {\n content: cx(classes.content, classNames == null ? void 0 : classNames.content),\n inner: cx(classes.inner, classNames == null ? void 0 : classNames.inner)\n })\n }, others)));\n}\n\nexport { ModalRoot };\n//# sourceMappingURL=ModalRoot.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, rem } from '@mantine/styles';\nimport { useModalContext } from '../Modal.context.js';\nimport { ModalBase } from '../../ModalBase/ModalBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n shadow: \"xl\"\n};\nconst ModalContent = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"ModalContent\", defaultProps, props), { children, scrollAreaComponent } = _a, others = __objRest(_a, [\"children\", \"scrollAreaComponent\"]);\n const ctx = useModalContext();\n const Scroll = scrollAreaComponent || ctx.scrollAreaComponent || ModalBase.NativeScrollArea;\n return /* @__PURE__ */ React.createElement(ModalBase.Content, __spreadValues({\n ref,\n radius: ctx.radius\n }, others), /* @__PURE__ */ React.createElement(Scroll, {\n style: { maxHeight: `calc(100dvh - (${rem(ctx.yOffset)} * 2))` }\n }, children));\n});\n\nexport { ModalContent };\n//# sourceMappingURL=ModalContent.js.map\n","import { rem, createStyles, getSize } from '@mantine/styles';\n\nconst sizes = {\n xs: rem(16),\n sm: rem(22),\n md: rem(26),\n lg: rem(30),\n xl: rem(36)\n};\nconst fontSizes = {\n xs: rem(10),\n sm: rem(12),\n md: rem(14),\n lg: rem(16),\n xl: rem(18)\n};\nvar useStyles = createStyles((theme, { disabled, radius, readOnly }, { size, variant }) => ({\n defaultValue: {\n display: \"flex\",\n alignItems: \"center\",\n backgroundColor: disabled ? theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[3] : theme.colorScheme === \"dark\" ? theme.colors.dark[7] : variant === \"filled\" ? theme.white : theme.colors.gray[1],\n color: disabled ? theme.colorScheme === \"dark\" ? theme.colors.dark[1] : theme.colors.gray[7] : theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.colors.gray[7],\n height: getSize({ size, sizes }),\n paddingLeft: `calc(${getSize({ size, sizes: theme.spacing })} / 1.5)`,\n paddingRight: disabled || readOnly ? getSize({ size, sizes: theme.spacing }) : 0,\n fontWeight: 500,\n fontSize: getSize({ size, sizes: fontSizes }),\n borderRadius: getSize({ size: radius, sizes: theme.radius }),\n cursor: disabled ? \"not-allowed\" : \"default\",\n userSelect: \"none\",\n maxWidth: `calc(100% - ${rem(10)})`\n },\n defaultValueRemove: {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.colors.gray[7],\n marginLeft: `calc(${getSize({ size, sizes: theme.spacing })} / 6)`\n },\n defaultValueLabel: {\n display: \"block\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\"\n }\n}));\n\nexport default useStyles;\nexport { sizes };\n//# sourceMappingURL=DefaultValue.styles.js.map\n","import React from 'react';\nimport useStyles from './DefaultValue.styles.js';\nimport { CloseButton } from '../../CloseButton/CloseButton.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst buttonSizes = {\n xs: 16,\n sm: 22,\n md: 24,\n lg: 26,\n xl: 30\n};\nfunction DefaultValue(_a) {\n var _b = _a, {\n label,\n classNames,\n styles,\n className,\n onRemove,\n disabled,\n readOnly,\n size,\n radius = \"sm\",\n variant,\n unstyled\n } = _b, others = __objRest(_b, [\n \"label\",\n \"classNames\",\n \"styles\",\n \"className\",\n \"onRemove\",\n \"disabled\",\n \"readOnly\",\n \"size\",\n \"radius\",\n \"variant\",\n \"unstyled\"\n ]);\n const { classes, cx } = useStyles({ disabled, readOnly, radius }, { name: \"MultiSelect\", classNames, styles, unstyled, size, variant });\n return /* @__PURE__ */ React.createElement(\"div\", __spreadValues({\n className: cx(classes.defaultValue, className)\n }, others), /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.defaultValueLabel\n }, label), !disabled && !readOnly && /* @__PURE__ */ React.createElement(CloseButton, {\n \"aria-hidden\": true,\n onMouseDown: onRemove,\n size: buttonSizes[size],\n radius: 2,\n color: \"blue\",\n variant: \"transparent\",\n iconSize: \"70%\",\n className: classes.defaultValueRemove,\n tabIndex: -1,\n unstyled\n }));\n}\nDefaultValue.displayName = \"@mantine/core/MultiSelect/DefaultValue\";\n\nexport { DefaultValue };\n//# sourceMappingURL=DefaultValue.js.map\n","import { createStyles, getSize, rem } from '@mantine/styles';\nimport { sizes as sizes$1 } from './DefaultValue/DefaultValue.styles.js';\nimport { sizes } from '../Input/Input.styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar useStyles = createStyles((theme, { invalid }, { size }) => ({\n wrapper: {\n position: \"relative\",\n \"&:has(input:disabled)\": {\n cursor: \"not-allowed\",\n pointerEvents: \"none\",\n \"& .mantine-MultiSelect-input\": {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[1],\n color: theme.colors.dark[2],\n opacity: 0.6,\n \"&::placeholder\": {\n color: theme.colors.dark[2]\n }\n },\n \"& .mantine-MultiSelect-defaultValue\": {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[3],\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[1] : theme.colors.gray[7]\n }\n }\n },\n values: {\n minHeight: `calc(${getSize({ size, sizes: sizes })} - ${rem(2)})`,\n display: \"flex\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n marginLeft: `calc(-${theme.spacing.xs} / 2)`,\n boxSizing: \"border-box\",\n \"&[data-clearable]\": {\n marginRight: getSize({ size, sizes: sizes })\n }\n },\n value: {\n margin: `calc(${theme.spacing.xs} / 2 - ${rem(2)}) calc(${theme.spacing.xs} / 2)`\n },\n searchInput: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n flex: 1,\n minWidth: rem(60),\n backgroundColor: \"transparent\",\n border: 0,\n outline: 0,\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n padding: 0,\n marginLeft: `calc(${theme.spacing.xs} / 2)`,\n appearance: \"none\",\n color: \"inherit\",\n maxHeight: getSize({ size, sizes: sizes$1 }),\n \"&::placeholder\": {\n opacity: 1,\n color: invalid ? theme.colors.red[theme.fn.primaryShade()] : theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5]\n },\n \"&:disabled\": {\n cursor: \"not-allowed\",\n pointerEvents: \"none\"\n }\n }),\n searchInputEmpty: {\n width: \"100%\"\n },\n searchInputInputHidden: {\n flex: 0,\n width: 0,\n minWidth: 0,\n margin: 0,\n overflow: \"hidden\"\n },\n searchInputPointer: {\n cursor: \"pointer\",\n \"&:disabled\": {\n cursor: \"not-allowed\",\n pointerEvents: \"none\"\n }\n },\n input: {\n cursor: \"pointer\",\n \"&:disabled\": {\n cursor: \"not-allowed\",\n pointerEvents: \"none\"\n }\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=MultiSelect.styles.js.map\n","import React, { forwardRef, useRef, useState } from 'react';\nimport { useId, useUncontrolled, useScrollIntoView, useDidUpdate, useMergedRef } from '@mantine/hooks';\nimport { getDefaultZIndex, useComponentDefaultProps } from '@mantine/styles';\nimport { groupOptions } from '@mantine/utils';\nimport { DefaultValue } from './DefaultValue/DefaultValue.js';\nimport { DefaultItem } from '../Select/DefaultItem/DefaultItem.js';\nimport { filterData } from './filter-data/filter-data.js';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props.js';\nimport { SelectScrollArea } from '../Select/SelectScrollArea/SelectScrollArea.js';\nimport { SelectPopover } from '../Select/SelectPopover/SelectPopover.js';\nimport { SelectItems } from '../Select/SelectItems/SelectItems.js';\nimport useStyles from './MultiSelect.styles.js';\nimport { extractSystemStyles } from '../Box/style-system-props/extract-system-styles/extract-system-styles.js';\nimport { Input } from '../Input/Input.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction defaultFilter(value, selected, item) {\n if (selected) {\n return false;\n }\n return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\nfunction defaultShouldCreate(query, data) {\n return !!query && !data.some((item) => item.value.toLowerCase() === query.toLowerCase());\n}\nfunction filterValue(value, data) {\n if (!Array.isArray(value)) {\n return void 0;\n }\n if (data.length === 0) {\n return [];\n }\n const flatData = data.map((item) => {\n if (typeof item === \"object\") {\n return item.value;\n }\n return item;\n });\n return value.filter((val) => flatData.includes(val));\n}\nconst defaultProps = {\n size: \"sm\",\n valueComponent: DefaultValue,\n itemComponent: DefaultItem,\n transitionProps: { transition: \"fade\", duration: 0 },\n maxDropdownHeight: 220,\n shadow: \"sm\",\n searchable: false,\n filter: defaultFilter,\n limit: Infinity,\n clearSearchOnChange: true,\n clearable: false,\n clearSearchOnBlur: false,\n disabled: false,\n initiallyOpened: false,\n creatable: false,\n shouldCreate: defaultShouldCreate,\n switchDirectionOnFlip: false,\n zIndex: getDefaultZIndex(\"popover\"),\n selectOnBlur: false,\n positionDependencies: [],\n dropdownPosition: \"flip\"\n};\nconst MultiSelect = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"MultiSelect\", defaultProps, props), {\n className,\n style,\n required,\n label,\n description,\n size,\n error,\n classNames,\n styles,\n wrapperProps,\n value,\n defaultValue,\n data,\n onChange,\n valueComponent: Value,\n itemComponent,\n id,\n transitionProps,\n maxDropdownHeight,\n shadow,\n nothingFound,\n onFocus,\n onBlur,\n searchable,\n placeholder,\n filter,\n limit,\n clearSearchOnChange,\n clearable,\n clearSearchOnBlur,\n variant,\n onSearchChange,\n searchValue,\n disabled,\n initiallyOpened,\n radius,\n icon,\n rightSection,\n rightSectionWidth,\n creatable,\n getCreateLabel,\n shouldCreate,\n onCreate,\n sx,\n dropdownComponent,\n onDropdownClose,\n onDropdownOpen,\n maxSelectedValues,\n withinPortal,\n portalProps,\n switchDirectionOnFlip,\n zIndex,\n selectOnBlur,\n name,\n dropdownPosition,\n errorProps,\n labelProps,\n descriptionProps,\n form,\n positionDependencies,\n onKeyDown,\n unstyled,\n inputContainer,\n inputWrapperOrder,\n readOnly,\n withAsterisk,\n clearButtonProps,\n hoverOnSearchChange,\n disableSelectedItemFiltering\n } = _a, others = __objRest(_a, [\n \"className\",\n \"style\",\n \"required\",\n \"label\",\n \"description\",\n \"size\",\n \"error\",\n \"classNames\",\n \"styles\",\n \"wrapperProps\",\n \"value\",\n \"defaultValue\",\n \"data\",\n \"onChange\",\n \"valueComponent\",\n \"itemComponent\",\n \"id\",\n \"transitionProps\",\n \"maxDropdownHeight\",\n \"shadow\",\n \"nothingFound\",\n \"onFocus\",\n \"onBlur\",\n \"searchable\",\n \"placeholder\",\n \"filter\",\n \"limit\",\n \"clearSearchOnChange\",\n \"clearable\",\n \"clearSearchOnBlur\",\n \"variant\",\n \"onSearchChange\",\n \"searchValue\",\n \"disabled\",\n \"initiallyOpened\",\n \"radius\",\n \"icon\",\n \"rightSection\",\n \"rightSectionWidth\",\n \"creatable\",\n \"getCreateLabel\",\n \"shouldCreate\",\n \"onCreate\",\n \"sx\",\n \"dropdownComponent\",\n \"onDropdownClose\",\n \"onDropdownOpen\",\n \"maxSelectedValues\",\n \"withinPortal\",\n \"portalProps\",\n \"switchDirectionOnFlip\",\n \"zIndex\",\n \"selectOnBlur\",\n \"name\",\n \"dropdownPosition\",\n \"errorProps\",\n \"labelProps\",\n \"descriptionProps\",\n \"form\",\n \"positionDependencies\",\n \"onKeyDown\",\n \"unstyled\",\n \"inputContainer\",\n \"inputWrapperOrder\",\n \"readOnly\",\n \"withAsterisk\",\n \"clearButtonProps\",\n \"hoverOnSearchChange\",\n \"disableSelectedItemFiltering\"\n ]);\n const { classes, cx, theme } = useStyles({ invalid: !!error }, { name: \"MultiSelect\", classNames, styles, unstyled, size, variant });\n const { systemStyles, rest } = extractSystemStyles(others);\n const inputRef = useRef();\n const itemsRefs = useRef({});\n const uuid = useId(id);\n const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);\n const [_hovered, setHovered] = useState(-1);\n const [direction, setDirection] = useState(\"column\");\n const [_searchValue, handleSearchChange] = useUncontrolled({\n value: searchValue,\n defaultValue: \"\",\n finalValue: void 0,\n onChange: onSearchChange\n });\n const [IMEOpen, setIMEOpen] = useState(false);\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true\n });\n const isCreatable = creatable && typeof getCreateLabel === \"function\";\n let createLabel = null;\n const formattedData = data.map((item) => typeof item === \"string\" ? { label: item, value: item } : item);\n const sortedData = groupOptions({ data: formattedData });\n const [_value, setValue] = useUncontrolled({\n value: filterValue(value, data),\n defaultValue: filterValue(defaultValue, data),\n finalValue: [],\n onChange\n });\n const valuesOverflow = useRef(!!maxSelectedValues && maxSelectedValues < _value.length);\n const handleValueRemove = (_val) => {\n if (!readOnly) {\n const newValue = _value.filter((val) => val !== _val);\n setValue(newValue);\n if (!!maxSelectedValues && newValue.length < maxSelectedValues) {\n valuesOverflow.current = false;\n }\n }\n };\n const handleInputChange = (event) => {\n handleSearchChange(event.currentTarget.value);\n !disabled && !valuesOverflow.current && searchable && setDropdownOpened(true);\n };\n const handleInputFocus = (event) => {\n typeof onFocus === \"function\" && onFocus(event);\n !disabled && !valuesOverflow.current && searchable && setDropdownOpened(true);\n };\n const filteredData = filterData({\n data: sortedData,\n searchable,\n searchValue: _searchValue,\n limit,\n filter,\n value: _value,\n disableSelectedItemFiltering\n });\n if (isCreatable && shouldCreate(_searchValue, sortedData)) {\n createLabel = getCreateLabel(_searchValue);\n filteredData.push({ label: _searchValue, value: _searchValue, creatable: true });\n }\n const hovered = Math.min(_hovered, filteredData.length - 1);\n const getNextIndex = (index, nextItem, compareFn) => {\n let i = index;\n while (compareFn(i)) {\n i = nextItem(i);\n if (!filteredData[i].disabled)\n return i;\n }\n return index;\n };\n useDidUpdate(() => {\n if (hoverOnSearchChange && _searchValue) {\n setHovered(0);\n } else {\n setHovered(-1);\n }\n }, [_searchValue, hoverOnSearchChange]);\n useDidUpdate(() => {\n if (!disabled && _value.length > data.length) {\n setDropdownOpened(false);\n }\n if (!!maxSelectedValues && _value.length < maxSelectedValues) {\n valuesOverflow.current = false;\n }\n if (!!maxSelectedValues && _value.length >= maxSelectedValues) {\n valuesOverflow.current = true;\n setDropdownOpened(false);\n }\n }, [_value]);\n const handleItemSelect = (item) => {\n if (!readOnly) {\n clearSearchOnChange && handleSearchChange(\"\");\n if (_value.includes(item.value)) {\n handleValueRemove(item.value);\n } else {\n if (item.creatable && typeof onCreate === \"function\") {\n const createdItem = onCreate(item.value);\n if (typeof createdItem !== \"undefined\" && createdItem !== null) {\n if (typeof createdItem === \"string\") {\n setValue([..._value, createdItem]);\n } else {\n setValue([..._value, createdItem.value]);\n }\n }\n } else {\n setValue([..._value, item.value]);\n }\n if (_value.length === maxSelectedValues - 1) {\n valuesOverflow.current = true;\n setDropdownOpened(false);\n }\n if (filteredData.length === 1) {\n setDropdownOpened(false);\n }\n }\n }\n };\n const handleInputBlur = (event) => {\n typeof onBlur === \"function\" && onBlur(event);\n if (selectOnBlur && filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n }\n clearSearchOnBlur && handleSearchChange(\"\");\n setDropdownOpened(false);\n };\n const handleInputKeydown = (event) => {\n if (IMEOpen) {\n return;\n }\n onKeyDown == null ? void 0 : onKeyDown(event);\n if (readOnly) {\n return;\n }\n if (event.key !== \"Backspace\" && !!maxSelectedValues && valuesOverflow.current) {\n return;\n }\n const isColumn = direction === \"column\";\n const handleNext = () => {\n setHovered((current) => {\n var _a2;\n const nextIndex = getNextIndex(current, (index) => index + 1, (index) => index < filteredData.length - 1);\n if (dropdownOpened) {\n targetRef.current = itemsRefs.current[(_a2 = filteredData[nextIndex]) == null ? void 0 : _a2.value];\n scrollIntoView({\n alignment: isColumn ? \"end\" : \"start\"\n });\n }\n return nextIndex;\n });\n };\n const handlePrevious = () => {\n setHovered((current) => {\n var _a2;\n const nextIndex = getNextIndex(current, (index) => index - 1, (index) => index > 0);\n if (dropdownOpened) {\n targetRef.current = itemsRefs.current[(_a2 = filteredData[nextIndex]) == null ? void 0 : _a2.value];\n scrollIntoView({\n alignment: isColumn ? \"start\" : \"end\"\n });\n }\n return nextIndex;\n });\n };\n switch (event.key) {\n case \"ArrowUp\": {\n event.preventDefault();\n setDropdownOpened(true);\n isColumn ? handlePrevious() : handleNext();\n break;\n }\n case \"ArrowDown\": {\n event.preventDefault();\n setDropdownOpened(true);\n isColumn ? handleNext() : handlePrevious();\n break;\n }\n case \"Enter\": {\n event.preventDefault();\n if (filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n }\n break;\n }\n case \" \": {\n if (!searchable) {\n event.preventDefault();\n if (filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n }\n }\n break;\n }\n case \"Backspace\": {\n if (_value.length > 0 && _searchValue.length === 0) {\n setValue(_value.slice(0, -1));\n setDropdownOpened(true);\n if (maxSelectedValues) {\n valuesOverflow.current = false;\n }\n }\n break;\n }\n case \"Home\": {\n if (!searchable) {\n event.preventDefault();\n if (!dropdownOpened) {\n setDropdownOpened(true);\n }\n const firstItemIndex = filteredData.findIndex((item) => !item.disabled);\n setHovered(firstItemIndex);\n scrollIntoView({\n alignment: isColumn ? \"end\" : \"start\"\n });\n }\n break;\n }\n case \"End\": {\n if (!searchable) {\n event.preventDefault();\n if (!dropdownOpened) {\n setDropdownOpened(true);\n }\n const lastItemIndex = filteredData.map((item) => !!item.disabled).lastIndexOf(false);\n setHovered(lastItemIndex);\n scrollIntoView({\n alignment: isColumn ? \"end\" : \"start\"\n });\n }\n break;\n }\n case \"Escape\": {\n setDropdownOpened(false);\n }\n }\n };\n const selectedItems = _value.map((val) => {\n let selectedItem = sortedData.find((item) => item.value === val && !item.disabled);\n if (!selectedItem && isCreatable) {\n selectedItem = {\n value: val,\n label: val\n };\n }\n return selectedItem;\n }).filter((val) => !!val).map((item, index) => /* @__PURE__ */ React.createElement(Value, __spreadProps(__spreadValues({}, item), {\n variant,\n disabled,\n className: classes.value,\n readOnly,\n onRemove: (event) => {\n event.preventDefault();\n event.stopPropagation();\n handleValueRemove(item.value);\n },\n key: item.value,\n size,\n styles,\n classNames,\n radius,\n index\n })));\n const isItemSelected = (itemValue) => _value.includes(itemValue);\n const handleClear = () => {\n var _a2;\n handleSearchChange(\"\");\n setValue([]);\n (_a2 = inputRef.current) == null ? void 0 : _a2.focus();\n if (maxSelectedValues) {\n valuesOverflow.current = false;\n }\n };\n const shouldRenderDropdown = !readOnly && (filteredData.length > 0 ? dropdownOpened : dropdownOpened && !!nothingFound);\n useDidUpdate(() => {\n const handler = shouldRenderDropdown ? onDropdownOpen : onDropdownClose;\n typeof handler === \"function\" && handler();\n }, [shouldRenderDropdown]);\n return /* @__PURE__ */ React.createElement(Input.Wrapper, __spreadValues(__spreadValues({\n required,\n id: uuid,\n label,\n error,\n description,\n size,\n className,\n style,\n classNames,\n styles,\n __staticSelector: \"MultiSelect\",\n sx,\n errorProps,\n descriptionProps,\n labelProps,\n inputContainer,\n inputWrapperOrder,\n unstyled,\n withAsterisk,\n variant\n }, systemStyles), wrapperProps), /* @__PURE__ */ React.createElement(SelectPopover, {\n opened: shouldRenderDropdown,\n transitionProps,\n shadow: \"sm\",\n withinPortal,\n portalProps,\n __staticSelector: \"MultiSelect\",\n onDirectionChange: setDirection,\n switchDirectionOnFlip,\n zIndex,\n dropdownPosition,\n positionDependencies: [...positionDependencies, _searchValue],\n classNames,\n styles,\n unstyled,\n variant\n }, /* @__PURE__ */ React.createElement(SelectPopover.Target, null, /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.wrapper,\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-owns\": dropdownOpened && shouldRenderDropdown ? `${uuid}-items` : null,\n \"aria-controls\": uuid,\n \"aria-expanded\": dropdownOpened,\n onMouseLeave: () => setHovered(-1),\n tabIndex: -1\n }, /* @__PURE__ */ React.createElement(\"input\", {\n type: \"hidden\",\n name,\n value: _value.join(\",\"),\n form,\n disabled\n }), /* @__PURE__ */ React.createElement(Input, __spreadValues({\n __staticSelector: \"MultiSelect\",\n style: { overflow: \"hidden\" },\n component: \"div\",\n multiline: true,\n size,\n variant,\n disabled,\n error,\n required,\n radius,\n icon,\n unstyled,\n onMouseDown: (event) => {\n var _a2;\n event.preventDefault();\n !disabled && !valuesOverflow.current && setDropdownOpened(!dropdownOpened);\n (_a2 = inputRef.current) == null ? void 0 : _a2.focus();\n },\n classNames: __spreadProps(__spreadValues({}, classNames), {\n input: cx({ [classes.input]: !searchable }, classNames == null ? void 0 : classNames.input)\n })\n }, getSelectRightSectionProps({\n theme,\n rightSection,\n rightSectionWidth,\n styles,\n size,\n shouldClear: clearable && _value.length > 0,\n onClear: handleClear,\n error,\n disabled,\n clearButtonProps,\n readOnly\n })), /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.values,\n \"data-clearable\": clearable || void 0\n }, selectedItems, /* @__PURE__ */ React.createElement(\"input\", __spreadValues({\n ref: useMergedRef(ref, inputRef),\n type: \"search\",\n id: uuid,\n className: cx(classes.searchInput, {\n [classes.searchInputPointer]: !searchable,\n [classes.searchInputInputHidden]: !dropdownOpened && _value.length > 0 || !searchable && _value.length > 0,\n [classes.searchInputEmpty]: _value.length === 0\n }),\n onKeyDown: handleInputKeydown,\n value: _searchValue,\n onChange: handleInputChange,\n onFocus: handleInputFocus,\n onBlur: handleInputBlur,\n readOnly: !searchable || valuesOverflow.current || readOnly,\n placeholder: _value.length === 0 ? placeholder : void 0,\n disabled,\n \"data-mantine-stop-propagation\": dropdownOpened,\n autoComplete: \"off\",\n onCompositionStart: () => setIMEOpen(true),\n onCompositionEnd: () => setIMEOpen(false)\n }, rest)))))), /* @__PURE__ */ React.createElement(SelectPopover.Dropdown, {\n component: dropdownComponent || SelectScrollArea,\n maxHeight: maxDropdownHeight,\n direction,\n id: uuid,\n innerRef: scrollableRef,\n __staticSelector: \"MultiSelect\",\n classNames,\n styles\n }, /* @__PURE__ */ React.createElement(SelectItems, {\n data: filteredData,\n hovered,\n classNames,\n styles,\n uuid,\n __staticSelector: \"MultiSelect\",\n onItemHover: setHovered,\n onItemSelect: handleItemSelect,\n itemsRefs,\n itemComponent,\n size,\n nothingFound,\n isItemSelected,\n creatable: creatable && !!createLabel,\n createLabel,\n unstyled,\n variant\n }))));\n});\nMultiSelect.displayName = \"@mantine/core/MultiSelect\";\n\nexport { MultiSelect, defaultFilter, defaultShouldCreate };\n//# sourceMappingURL=MultiSelect.js.map\n","function filterData({\n data,\n searchable,\n limit,\n searchValue,\n filter,\n value,\n disableSelectedItemFiltering\n}) {\n if (!searchable && value.length === 0) {\n return data;\n }\n if (!searchable) {\n const result2 = [];\n for (let i = 0; i < data.length; i += 1) {\n if (!!disableSelectedItemFiltering || !value.some((val) => val === data[i].value && !data[i].disabled)) {\n result2.push(data[i]);\n }\n }\n return result2;\n }\n const result = [];\n for (let i = 0; i < data.length; i += 1) {\n if (filter(searchValue, !disableSelectedItemFiltering && value.some((val) => val === data[i].value && !data[i].disabled), data[i])) {\n result.push(data[i]);\n }\n if (result.length >= limit) {\n break;\n }\n }\n return result;\n}\n\nexport { filterData };\n//# sourceMappingURL=filter-data.js.map\n","import { createStyles, rem, getSize } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst NAV_LINK_VARIANTS = [\"filled\", \"light\", \"subtle\"];\nfunction getVariantStyles({ theme, variant, color }) {\n if (!NAV_LINK_VARIANTS.includes(variant)) {\n return null;\n }\n const colors = theme.fn.variant({ variant, color });\n return {\n \"&[data-active]\": __spreadValues({\n backgroundColor: colors.background,\n color: colors.color\n }, theme.fn.hover({ backgroundColor: colors.hover }))\n };\n}\nvar useStyles = createStyles((theme, { noWrap, childrenOffset, alignIcon, color }, { variant }) => ({\n root: __spreadProps(__spreadValues(__spreadValues({\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n padding: `${rem(8)} ${theme.spacing.sm}`,\n userSelect: \"none\"\n }, getVariantStyles({ theme, variant, color })), theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[0]\n })), {\n \"&[data-disabled]\": {\n opacity: 0.4,\n pointerEvents: \"none\"\n }\n }),\n icon: {\n marginRight: theme.spacing.sm,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n alignSelf: alignIcon === \"center\" ? \"center\" : \"flex-start\",\n paddingTop: alignIcon === \"center\" ? void 0 : rem(4)\n },\n rightSection: {\n marginLeft: theme.spacing.sm,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n transition: `transform 150ms ${theme.transitionTimingFunction}`,\n \"&[data-rotate]\": {\n transform: \"rotate(90deg)\"\n }\n },\n body: {\n flex: 1,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: noWrap ? \"nowrap\" : void 0\n },\n label: {},\n description: {\n display: \"block\",\n \"&[data-active]\": {\n color: \"inherit\"\n }\n },\n children: {\n paddingLeft: getSize({ size: childrenOffset, sizes: theme.spacing })\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=NavLink.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, rem } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { useUncontrolled } from '@mantine/hooks';\nimport useStyles from './NavLink.styles.js';\nimport { UnstyledButton } from '../UnstyledButton/UnstyledButton.js';\nimport { Text } from '../Text/Text.js';\nimport { ChevronIcon } from '../Accordion/ChevronIcon.js';\nimport { Collapse } from '../Collapse/Collapse.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n variant: \"light\",\n childrenOffset: \"lg\"\n};\nconst _NavLink = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"NavLink\", defaultProps, props), {\n label,\n description,\n icon,\n rightSection,\n className,\n classNames,\n styles,\n unstyled,\n active,\n color,\n variant,\n noWrap,\n children,\n opened,\n defaultOpened,\n onChange,\n disableRightSectionRotation,\n childrenOffset,\n disabled,\n onClick\n } = _a, others = __objRest(_a, [\n \"label\",\n \"description\",\n \"icon\",\n \"rightSection\",\n \"className\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"active\",\n \"color\",\n \"variant\",\n \"noWrap\",\n \"children\",\n \"opened\",\n \"defaultOpened\",\n \"onChange\",\n \"disableRightSectionRotation\",\n \"childrenOffset\",\n \"disabled\",\n \"onClick\"\n ]);\n const { classes, cx } = useStyles({ color, noWrap, childrenOffset, alignIcon: description ? \"top\" : \"center\" }, { name: \"NavLink\", classNames, styles, unstyled, variant });\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange\n });\n const withChildren = !!children;\n const handleClick = (event) => {\n if (withChildren) {\n event.preventDefault();\n onClick == null ? void 0 : onClick(event);\n setOpened(!_opened);\n } else {\n onClick == null ? void 0 : onClick(event);\n }\n };\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(UnstyledButton, __spreadValues({\n ref,\n className: cx(classes.root, className),\n \"data-active\": active || void 0,\n onClick: handleClick,\n unstyled,\n \"data-expanded\": _opened || void 0,\n \"data-disabled\": disabled || void 0,\n disabled\n }, others), icon && /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.icon\n }, icon), /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.body\n }, /* @__PURE__ */ React.createElement(Text, {\n component: \"span\",\n size: \"sm\",\n className: classes.label\n }, label), /* @__PURE__ */ React.createElement(Text, {\n component: \"span\",\n color: \"dimmed\",\n size: \"xs\",\n \"data-active\": active || void 0,\n className: classes.description\n }, description)), (withChildren || rightSection) && /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.rightSection,\n \"data-rotate\": _opened && !disableRightSectionRotation || void 0\n }, withChildren ? rightSection || /* @__PURE__ */ React.createElement(ChevronIcon, {\n width: rem(14),\n height: rem(14),\n style: { transform: \"rotate(-90deg)\" }\n }) : rightSection)), /* @__PURE__ */ React.createElement(Collapse, {\n in: _opened\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.children\n }, children)));\n});\n_NavLink.displayName = \"@mantine/core/NavLink\";\nconst NavLink = createPolymorphicComponent(_NavLink);\n\nexport { NavLink, _NavLink };\n//# sourceMappingURL=NavLink.js.map\n","import { createStyles, rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar useStyles = createStyles((theme, { color, opacity, blur, radius, gradient, fixed, zIndex }) => ({\n root: __spreadProps(__spreadValues({}, theme.fn.cover(0)), {\n position: fixed ? \"fixed\" : \"absolute\",\n backgroundColor: gradient ? void 0 : theme.fn.rgba(color, opacity),\n backgroundImage: gradient,\n backdropFilter: blur ? `blur(${rem(blur)})` : void 0,\n borderRadius: theme.fn.radius(radius),\n zIndex,\n \"&[data-center]\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n }\n })\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Overlay.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { getDefaultZIndex, useComponentDefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport useStyles from './Overlay.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n opacity: 0.6,\n color: \"#000\",\n zIndex: getDefaultZIndex(\"modal\"),\n radius: 0\n};\nconst _Overlay = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Overlay\", defaultProps, props), {\n variant,\n opacity,\n color,\n blur,\n gradient,\n zIndex,\n radius,\n children,\n className,\n classNames,\n styles,\n unstyled,\n center,\n fixed\n } = _a, others = __objRest(_a, [\n \"variant\",\n \"opacity\",\n \"color\",\n \"blur\",\n \"gradient\",\n \"zIndex\",\n \"radius\",\n \"children\",\n \"className\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"center\",\n \"fixed\"\n ]);\n const { classes, cx } = useStyles({ color, opacity, blur, radius, gradient, fixed, zIndex }, { name: \"Overlay\", classNames, styles, unstyled, variant });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n ref,\n className: cx(classes.root, className),\n \"data-center\": center || void 0\n }, others), children);\n});\n_Overlay.displayName = \"@mantine/core/Overlay\";\nconst Overlay = createPolymorphicComponent(_Overlay);\n\nexport { Overlay };\n//# sourceMappingURL=Overlay.js.map\n","import { createStyles, rem } from '@mantine/styles';\n\nvar useStyles = createStyles((theme, { radius, shadow }) => ({\n root: {\n outline: 0,\n WebkitTapHighlightColor: \"transparent\",\n display: \"block\",\n textDecoration: \"none\",\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black,\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[7] : theme.white,\n boxSizing: \"border-box\",\n borderRadius: theme.fn.radius(radius),\n boxShadow: theme.shadows[shadow] || shadow || \"none\",\n \"&[data-with-border]\": {\n border: `${rem(1)} solid ${theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[3]}`\n }\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Paper.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport useStyles from './Paper.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst _Paper = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Paper\", defaultProps, props), { className, children, radius, withBorder, shadow, unstyled, variant } = _a, others = __objRest(_a, [\"className\", \"children\", \"radius\", \"withBorder\", \"shadow\", \"unstyled\", \"variant\"]);\n const { classes, cx } = useStyles({ radius, shadow }, { name: \"Paper\", unstyled, variant });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className),\n \"data-with-border\": withBorder || void 0,\n ref\n }, others), children);\n});\n_Paper.displayName = \"@mantine/core/Paper\";\nconst Paper = createPolymorphicComponent(_Paper);\n\nexport { Paper, _Paper };\n//# sourceMappingURL=Paper.js.map\n","const POPOVER_ERRORS = {\n context: \"Popover component was not found in the tree\",\n children: \"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported\"\n};\n\nexport { POPOVER_ERRORS };\n//# sourceMappingURL=Popover.errors.js.map\n","import { createSafeContext } from '@mantine/utils';\nimport { POPOVER_ERRORS } from './Popover.errors.js';\n\nconst [PopoverContextProvider, usePopoverContext] = createSafeContext(POPOVER_ERRORS.context);\n\nexport { PopoverContextProvider, usePopoverContext };\n//# sourceMappingURL=Popover.context.js.map\n","import { forwardRef, cloneElement } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { isElement } from '@mantine/utils';\nimport { useComponentDefaultProps, clsx } from '@mantine/styles';\nimport { usePopoverContext } from '../Popover.context.js';\nimport { POPOVER_ERRORS } from '../Popover.errors.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n refProp: \"ref\",\n popupType: \"dialog\",\n shouldOverrideDefaultTargetId: true\n};\nconst PopoverTarget = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"PopoverTarget\", defaultProps, props), { children, refProp, popupType, shouldOverrideDefaultTargetId } = _a, others = __objRest(_a, [\"children\", \"refProp\", \"popupType\", \"shouldOverrideDefaultTargetId\"]);\n if (!isElement(children)) {\n throw new Error(POPOVER_ERRORS.children);\n }\n const forwardedProps = others;\n const ctx = usePopoverContext();\n const targetRef = useMergedRef(ctx.reference, children.ref, ref);\n const accessibleProps = ctx.withRoles ? {\n \"aria-haspopup\": popupType,\n \"aria-expanded\": ctx.opened,\n \"aria-controls\": ctx.getDropdownId(),\n id: shouldOverrideDefaultTargetId ? ctx.getTargetId() : children.props.id\n } : {};\n return cloneElement(children, __spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, forwardedProps), accessibleProps), ctx.targetProps), {\n className: clsx(ctx.targetProps.className, forwardedProps.className, children.props.className),\n [refProp]: targetRef\n }), !ctx.controlled ? { onClick: ctx.onToggle } : null));\n});\nPopoverTarget.displayName = \"@mantine/core/PopoverTarget\";\n\nexport { PopoverTarget };\n//# sourceMappingURL=PopoverTarget.js.map\n","const noop = () => {\n};\n\nexport { noop };\n//# sourceMappingURL=noop.js.map\n","import { createStyles, rem } from '@mantine/styles';\n\nvar useStyles = createStyles((theme, { radius, shadow }) => ({\n dropdown: {\n position: \"absolute\",\n backgroundColor: theme.white,\n background: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.white,\n border: `${rem(1)} solid ${theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[2]}`,\n padding: `${theme.spacing.sm} ${theme.spacing.md}`,\n boxShadow: theme.shadows[shadow] || shadow || \"none\",\n borderRadius: theme.fn.radius(radius),\n \"&:focus\": {\n outline: 0\n }\n },\n arrow: {\n backgroundColor: \"inherit\",\n border: `${rem(1)} solid ${theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[2]}`,\n zIndex: 1\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=PopoverDropdown.styles.js.map\n","import React from 'react';\nimport { useComponentDefaultProps, rem } from '@mantine/styles';\nimport { closeOnEscape } from '@mantine/utils';\nimport { useFocusReturn } from '@mantine/hooks';\nimport { usePopoverContext } from '../Popover.context.js';\nimport useStyles from './PopoverDropdown.styles.js';\nimport { OptionalPortal } from '../../Portal/OptionalPortal.js';\nimport { Transition } from '../../Transition/Transition.js';\nimport { FocusTrap } from '../../FocusTrap/FocusTrap.js';\nimport { Box } from '../../Box/Box.js';\nimport { FloatingArrow } from '../../Floating/FloatingArrow/FloatingArrow.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nfunction PopoverDropdown(props) {\n var _b;\n const _a = useComponentDefaultProps(\"PopoverDropdown\", defaultProps, props), { style, className, children, onKeyDownCapture } = _a, others = __objRest(_a, [\"style\", \"className\", \"children\", \"onKeyDownCapture\"]);\n const ctx = usePopoverContext();\n const { classes, cx } = useStyles({ radius: ctx.radius, shadow: ctx.shadow }, {\n name: ctx.__staticSelector,\n classNames: ctx.classNames,\n styles: ctx.styles,\n unstyled: ctx.unstyled,\n variant: ctx.variant\n });\n const returnFocus = useFocusReturn({\n opened: ctx.opened,\n shouldReturnFocus: ctx.returnFocus\n });\n const accessibleProps = ctx.withRoles ? {\n \"aria-labelledby\": ctx.getTargetId(),\n id: ctx.getDropdownId(),\n role: \"dialog\"\n } : {};\n if (ctx.disabled) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(OptionalPortal, __spreadProps(__spreadValues({}, ctx.portalProps), {\n withinPortal: ctx.withinPortal\n }), /* @__PURE__ */ React.createElement(Transition, __spreadProps(__spreadValues({\n mounted: ctx.opened\n }, ctx.transitionProps), {\n transition: ctx.transitionProps.transition || \"fade\",\n duration: (_b = ctx.transitionProps.duration) != null ? _b : 150,\n keepMounted: ctx.keepMounted,\n exitDuration: typeof ctx.transitionProps.exitDuration === \"number\" ? ctx.transitionProps.exitDuration : ctx.transitionProps.duration\n }), (transitionStyles) => {\n var _a2, _b2;\n return /* @__PURE__ */ React.createElement(FocusTrap, {\n active: ctx.trapFocus\n }, /* @__PURE__ */ React.createElement(Box, __spreadValues(__spreadProps(__spreadValues({}, accessibleProps), {\n tabIndex: -1,\n ref: ctx.floating,\n style: __spreadProps(__spreadValues(__spreadValues({}, style), transitionStyles), {\n zIndex: ctx.zIndex,\n top: (_a2 = ctx.y) != null ? _a2 : 0,\n left: (_b2 = ctx.x) != null ? _b2 : 0,\n width: ctx.width === \"target\" ? void 0 : rem(ctx.width)\n }),\n className: cx(classes.dropdown, className),\n onKeyDownCapture: closeOnEscape(ctx.onClose, {\n active: ctx.closeOnEscape,\n onTrigger: returnFocus,\n onKeyDown: onKeyDownCapture\n }),\n \"data-position\": ctx.placement\n }), others), children, /* @__PURE__ */ React.createElement(FloatingArrow, {\n ref: ctx.arrowRef,\n arrowX: ctx.arrowX,\n arrowY: ctx.arrowY,\n visible: ctx.withArrow,\n position: ctx.placement,\n arrowSize: ctx.arrowSize,\n arrowRadius: ctx.arrowRadius,\n arrowOffset: ctx.arrowOffset,\n arrowPosition: ctx.arrowPosition,\n className: classes.arrow\n })));\n }));\n}\nPopoverDropdown.displayName = \"@mantine/core/PopoverDropdown\";\n\nexport { PopoverDropdown };\n//# sourceMappingURL=PopoverDropdown.js.map\n","import { noop } from '../noop/noop.js';\n\nfunction closeOnEscape(callback, options = { active: true }) {\n if (typeof callback !== \"function\" || !options.active) {\n return options.onKeyDown || noop;\n }\n return (event) => {\n var _a;\n if (event.key === \"Escape\") {\n callback(event);\n (_a = options.onTrigger) == null ? void 0 : _a.call(options);\n }\n };\n}\n\nexport { closeOnEscape };\n//# sourceMappingURL=close-on-escape.js.map\n","import React, { useRef, useState, useCallback } from 'react';\nimport { useId, useClickOutside } from '@mantine/hooks';\nimport { getDefaultZIndex, useComponentDefaultProps, useMantineTheme } from '@mantine/styles';\nimport { usePopover } from './use-popover.js';\nimport { PopoverContextProvider } from './Popover.context.js';\nimport { PopoverTarget } from './PopoverTarget/PopoverTarget.js';\nimport { PopoverDropdown } from './PopoverDropdown/PopoverDropdown.js';\nimport { getFloatingPosition } from '../Floating/get-floating-position/get-floating-position.js';\n\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n position: \"bottom\",\n offset: 8,\n positionDependencies: [],\n transitionProps: { transition: \"fade\", duration: 150 },\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: \"side\",\n closeOnClickOutside: true,\n withinPortal: false,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n clickOutsideEvents: [\"mousedown\", \"touchstart\"],\n zIndex: getDefaultZIndex(\"popover\"),\n __staticSelector: \"Popover\",\n width: \"max-content\"\n};\nfunction Popover(props) {\n var _b, _c, _d, _e, _f, _g;\n const arrowRef = useRef(null);\n const _a = useComponentDefaultProps(\"Popover\", defaultProps, props), {\n children,\n position,\n offset,\n onPositionChange,\n positionDependencies,\n opened,\n transitionProps,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n portalProps,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n variant,\n keepMounted\n } = _a, others = __objRest(_a, [\n \"children\",\n \"position\",\n \"offset\",\n \"onPositionChange\",\n \"positionDependencies\",\n \"opened\",\n \"transitionProps\",\n \"width\",\n \"middlewares\",\n \"withArrow\",\n \"arrowSize\",\n \"arrowOffset\",\n \"arrowRadius\",\n \"arrowPosition\",\n \"unstyled\",\n \"classNames\",\n \"styles\",\n \"closeOnClickOutside\",\n \"withinPortal\",\n \"portalProps\",\n \"closeOnEscape\",\n \"clickOutsideEvents\",\n \"trapFocus\",\n \"onClose\",\n \"onOpen\",\n \"onChange\",\n \"zIndex\",\n \"radius\",\n \"shadow\",\n \"id\",\n \"defaultOpened\",\n \"__staticSelector\",\n \"withRoles\",\n \"disabled\",\n \"returnFocus\",\n \"variant\",\n \"keepMounted\"\n ]);\n const [targetNode, setTargetNode] = useState(null);\n const [dropdownNode, setDropdownNode] = useState(null);\n const uid = useId(id);\n const theme = useMantineTheme();\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(theme.dir, position),\n offset: typeof offset === \"number\" ? offset + (withArrow ? arrowSize / 2 : 0) : offset,\n arrowRef,\n arrowOffset,\n onPositionChange,\n positionDependencies,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose\n });\n useClickOutside(() => popover.opened && closeOnClickOutside && popover.onClose(), clickOutsideEvents, [targetNode, dropdownNode]);\n const reference = useCallback((node) => {\n setTargetNode(node);\n popover.floating.reference(node);\n }, [popover.floating.reference]);\n const floating = useCallback((node) => {\n setDropdownNode(node);\n popover.floating.floating(node);\n }, [popover.floating.floating]);\n return /* @__PURE__ */ React.createElement(PopoverContextProvider, {\n value: {\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference,\n floating,\n x: popover.floating.x,\n y: popover.floating.y,\n arrowX: (_d = (_c = (_b = popover.floating) == null ? void 0 : _b.middlewareData) == null ? void 0 : _c.arrow) == null ? void 0 : _d.x,\n arrowY: (_g = (_f = (_e = popover.floating) == null ? void 0 : _e.middlewareData) == null ? void 0 : _f.arrow) == null ? void 0 : _g.y,\n opened: popover.opened,\n arrowRef,\n transitionProps,\n width,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n portalProps,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => `${uid}-target`,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n __staticSelector,\n classNames,\n styles,\n unstyled,\n variant,\n keepMounted\n }\n }, children);\n}\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.displayName = \"@mantine/core/Popover\";\n\nexport { Popover };\n//# sourceMappingURL=Popover.js.map\n","import React from 'react';\nimport { Portal } from './Portal.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction OptionalPortal(_a) {\n var _b = _a, { withinPortal = true, children } = _b, others = __objRest(_b, [\"withinPortal\", \"children\"]);\n if (withinPortal) {\n return /* @__PURE__ */ React.createElement(Portal, __spreadValues({}, others), children);\n }\n return /* @__PURE__ */ React.createElement(React.Fragment, null, children);\n}\nOptionalPortal.displayName = \"@mantine/core/OptionalPortal\";\n\nexport { OptionalPortal };\n//# sourceMappingURL=OptionalPortal.js.map\n","import React, { useState, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useIsomorphicEffect } from '@mantine/hooks';\nimport { useComponentDefaultProps, useMantineTheme } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction Portal(props) {\n const _a = useComponentDefaultProps(\"Portal\", {}, props), { children, target, className, innerRef } = _a, others = __objRest(_a, [\"children\", \"target\", \"className\", \"innerRef\"]);\n const theme = useMantineTheme();\n const [mounted, setMounted] = useState(false);\n const ref = useRef();\n useIsomorphicEffect(() => {\n setMounted(true);\n ref.current = !target ? document.createElement(\"div\") : typeof target === \"string\" ? document.querySelector(target) : target;\n if (!target) {\n document.body.appendChild(ref.current);\n }\n return () => {\n !target && document.body.removeChild(ref.current);\n };\n }, [target]);\n if (!mounted) {\n return null;\n }\n return createPortal(/* @__PURE__ */ React.createElement(\"div\", __spreadProps(__spreadValues({\n className,\n dir: theme.dir\n }, others), {\n ref: innerRef\n }), children), ref.current);\n}\nPortal.displayName = \"@mantine/core/Portal\";\n\nexport { Portal };\n//# sourceMappingURL=Portal.js.map\n","import { createStyles, getSize, rem, keyframes } from '@mantine/styles';\n\nconst sizes = {\n xs: rem(3),\n sm: rem(5),\n md: rem(8),\n lg: rem(12),\n xl: rem(16)\n};\nconst stripesAnimation = keyframes({\n from: { backgroundPosition: \"0 0\" },\n to: { backgroundPosition: `${rem(40)} 0` }\n});\nvar useStyles = createStyles((theme, { color, radius }, { size }) => ({\n root: {\n position: \"relative\",\n height: getSize({ size, sizes }),\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[2],\n borderRadius: theme.fn.radius(radius),\n overflow: \"hidden\"\n },\n bar: {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: 0,\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n backgroundColor: theme.fn.variant({\n variant: \"filled\",\n primaryFallback: false,\n color: color || theme.primaryColor\n }).background,\n transition: \"width 100ms linear\",\n \"&[data-animate]\": {\n animation: `${stripesAnimation} 1000ms linear infinite`\n },\n \"&[data-striped]\": {\n backgroundSize: `${rem(20)} ${rem(20)}`,\n backgroundImage: \"linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)\"\n },\n \"&:last-of-type\": {\n borderTopRightRadius: theme.fn.radius(radius),\n borderBottomRightRadius: theme.fn.radius(radius)\n },\n \"&:first-of-type\": {\n borderTopLeftRadius: theme.fn.radius(radius),\n borderBottomLeftRadius: theme.fn.radius(radius)\n },\n \"@media (prefers-reduced-motion)\": {\n transitionDuration: theme.respectReducedMotion ? \"0ms\" : void 0\n }\n },\n label: {\n color: theme.white,\n fontSize: `calc(${getSize({ size, sizes })} * 0.65)`,\n fontWeight: 700,\n userSelect: \"none\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\"\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Progress.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport useStyles from './Progress.styles.js';\nimport { Tooltip } from '../Tooltip/Tooltip.js';\nimport { Box } from '../Box/Box.js';\nimport { Text } from '../Text/Text.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction getCumulativeSections(sections) {\n return sections.reduce((acc, section) => {\n acc.sections.push(__spreadProps(__spreadValues({}, section), { accumulated: acc.accumulated }));\n acc.accumulated += section.value;\n return acc;\n }, { accumulated: 0, sections: [] }).sections;\n}\nconst defaultProps = {\n size: \"md\",\n radius: \"sm\",\n striped: false,\n animate: false,\n label: \"\"\n};\nconst Progress = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Progress\", defaultProps, props), {\n className,\n value,\n color,\n size,\n radius,\n striped,\n animate,\n label,\n \"aria-label\": ariaLabel,\n classNames,\n styles,\n sections,\n unstyled,\n variant\n } = _a, others = __objRest(_a, [\n \"className\",\n \"value\",\n \"color\",\n \"size\",\n \"radius\",\n \"striped\",\n \"animate\",\n \"label\",\n \"aria-label\",\n \"classNames\",\n \"styles\",\n \"sections\",\n \"unstyled\",\n \"variant\"\n ]);\n const { classes, cx, theme } = useStyles({ color, radius }, { name: \"Progress\", classNames, styles, unstyled, variant, size });\n const segments = Array.isArray(sections) ? getCumulativeSections(sections).map((_b, index) => {\n var _c = _b, {\n tooltip,\n accumulated,\n value: sectionValue,\n label: sectionLabel,\n color: sectionColor\n } = _c, sectionProps = __objRest(_c, [\n \"tooltip\",\n \"accumulated\",\n \"value\",\n \"label\",\n \"color\"\n ]);\n return /* @__PURE__ */ React.createElement(Tooltip.Floating, {\n label: tooltip,\n disabled: !tooltip,\n key: index\n }, /* @__PURE__ */ React.createElement(Box, __spreadProps(__spreadValues({}, sectionProps), {\n className: cx(classes.bar, sectionProps.className),\n \"data-striped\": striped || animate || void 0,\n \"data-animate\": animate || void 0,\n sx: {\n width: `${sectionValue}%`,\n left: `${accumulated}%`,\n backgroundColor: theme.fn.variant({\n variant: \"filled\",\n primaryFallback: false,\n color: sectionColor || theme.primaryColor\n }).background\n }\n }), sectionLabel && /* @__PURE__ */ React.createElement(Text, {\n className: classes.label\n }, sectionLabel)));\n }) : null;\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className),\n ref\n }, others), segments || /* @__PURE__ */ React.createElement(\"div\", {\n role: \"progressbar\",\n \"aria-valuemax\": 100,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": value,\n \"aria-label\": ariaLabel,\n className: classes.bar,\n style: { width: `${value}%` },\n \"data-striped\": striped || animate || void 0,\n \"data-animate\": animate || void 0\n }, label ? /* @__PURE__ */ React.createElement(Text, {\n className: classes.label\n }, label) : \"\"));\n});\nProgress.displayName = \"@mantine/core/Progress\";\n\nexport { Progress };\n//# sourceMappingURL=Progress.js.map\n","import React from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction RadioIcon(props) {\n const _a = props, { width, height, style } = _a, others = __objRest(_a, [\"width\", \"height\", \"style\"]);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 5 5\",\n style: __spreadValues({ width, height }, style)\n }, others), /* @__PURE__ */ React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M0 2.5a2.5 2.5 0 115 0 2.5 2.5 0 01-5 0z\"\n }));\n}\n\nexport { RadioIcon };\n//# sourceMappingURL=RadioIcon.js.map\n","import { useContext, createContext } from 'react';\n\nconst RadioGroupContext = createContext(null);\nconst RadioGroupProvider = RadioGroupContext.Provider;\nconst useRadioGroupContext = () => useContext(RadioGroupContext);\n\nexport { RadioGroupProvider, useRadioGroupContext };\n//# sourceMappingURL=RadioGroup.context.js.map\n","import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { RadioGroupProvider } from '../RadioGroup.context.js';\nimport { Input } from '../../Input/Input.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n size: \"sm\"\n};\nconst RadioGroup = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"RadioGroup\", defaultProps, props), {\n children,\n value,\n defaultValue,\n onChange,\n size,\n wrapperProps,\n unstyled,\n name\n } = _a, others = __objRest(_a, [\n \"children\",\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"size\",\n \"wrapperProps\",\n \"unstyled\",\n \"name\"\n ]);\n const _name = useId(name);\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: \"\",\n onChange\n });\n const handleChange = (event) => setValue(event.currentTarget.value);\n return /* @__PURE__ */ React.createElement(RadioGroupProvider, {\n value: { value: _value, onChange: handleChange, size, name: _name }\n }, /* @__PURE__ */ React.createElement(Input.Wrapper, __spreadValues(__spreadValues({\n labelElement: \"div\",\n size,\n __staticSelector: \"RadioGroup\",\n ref,\n unstyled\n }, wrapperProps), others), children));\n});\nRadioGroup.displayName = \"@mantine/core/RadioGroup\";\n\nexport { RadioGroup };\n//# sourceMappingURL=RadioGroup.js.map\n","import { createStyles, getStylesRef, rem, getSize } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst sizes = {\n xs: rem(16),\n sm: rem(20),\n md: rem(24),\n lg: rem(30),\n xl: rem(36)\n};\nconst iconSizes = {\n xs: rem(6),\n sm: rem(8),\n md: rem(10),\n lg: rem(14),\n xl: rem(16)\n};\nvar useStyles = createStyles((theme, { color, transitionDuration, labelPosition, error }, { size }) => {\n const colors = theme.fn.variant({ variant: \"filled\", color });\n const errorColor = theme.fn.variant({ variant: \"filled\", color: \"red\" }).background;\n return {\n inner: {\n order: labelPosition === \"left\" ? 2 : 1,\n position: \"relative\",\n alignSelf: \"flex-start\"\n },\n icon: {\n ref: getStylesRef(\"icon\"),\n color: theme.white,\n opacity: 0,\n transform: `scale(0.75) translateY(${rem(2)})`,\n transition: `opacity ${transitionDuration}ms ${theme.transitionTimingFunction}`,\n pointerEvents: \"none\",\n width: getSize({ sizes: iconSizes, size }),\n height: getSize({ sizes: iconSizes, size }),\n position: \"absolute\",\n top: `calc(50% - ${getSize({ sizes: iconSizes, size })} / 2)`,\n left: `calc(50% - ${getSize({ sizes: iconSizes, size })} / 2)`\n },\n radio: __spreadProps(__spreadValues({}, theme.fn.focusStyles()), {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.white,\n border: `${rem(1)} solid ${error ? errorColor : theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[4]}`,\n position: \"relative\",\n appearance: \"none\",\n width: getSize({ sizes, size }),\n height: getSize({ sizes, size }),\n borderRadius: getSize({ sizes, size }),\n margin: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n transitionProperty: \"background-color, border-color\",\n transitionTimingFunction: theme.transitionTimingFunction,\n transitionDuration: `${transitionDuration}ms`,\n cursor: theme.cursorType,\n \"&:checked\": {\n background: colors.background,\n borderColor: colors.background,\n [`& + .${getStylesRef(\"icon\")}`]: {\n opacity: 1,\n transform: \"scale(1)\"\n }\n },\n \"&:disabled\": {\n borderColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[4],\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[1],\n [`& + .${getStylesRef(\"icon\")}`]: {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[4]\n }\n }\n })\n };\n});\n\nexport default useStyles;\n//# sourceMappingURL=Radio.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useId } from '@mantine/hooks';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { RadioIcon } from './RadioIcon.js';\nimport { useRadioGroupContext } from './RadioGroup.context.js';\nimport { RadioGroup } from './RadioGroup/RadioGroup.js';\nimport useStyles from './Radio.styles.js';\nimport { extractSystemStyles } from '../Box/style-system-props/extract-system-styles/extract-system-styles.js';\nimport { InlineInput } from '../InlineInput/InlineInput.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n icon: RadioIcon,\n transitionDuration: 100,\n size: \"sm\",\n labelPosition: \"right\"\n};\nconst Radio = forwardRef((props, ref) => {\n var _b, _c;\n const _a = useComponentDefaultProps(\"Radio\", defaultProps, props), {\n className,\n style,\n id,\n label,\n size,\n title,\n disabled,\n color,\n classNames,\n styles,\n sx,\n icon: Icon,\n transitionDuration,\n wrapperProps,\n unstyled,\n labelPosition,\n description,\n error,\n variant\n } = _a, others = __objRest(_a, [\n \"className\",\n \"style\",\n \"id\",\n \"label\",\n \"size\",\n \"title\",\n \"disabled\",\n \"color\",\n \"classNames\",\n \"styles\",\n \"sx\",\n \"icon\",\n \"transitionDuration\",\n \"wrapperProps\",\n \"unstyled\",\n \"labelPosition\",\n \"description\",\n \"error\",\n \"variant\"\n ]);\n const ctx = useRadioGroupContext();\n const contextSize = (_b = ctx == null ? void 0 : ctx.size) != null ? _b : size;\n const componentSize = props.size ? size : contextSize;\n const { classes } = useStyles({ color, transitionDuration, labelPosition, error: !!error }, { name: \"Radio\", classNames, styles, unstyled, variant, size: componentSize });\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n const contextProps = ctx ? {\n checked: ctx.value === rest.value,\n name: (_c = rest.name) != null ? _c : ctx.name,\n onChange: ctx.onChange\n } : {};\n return /* @__PURE__ */ React.createElement(InlineInput, __spreadValues(__spreadValues({\n className,\n sx,\n style,\n id: uuid,\n size: componentSize,\n labelPosition,\n label,\n description,\n error,\n disabled,\n __staticSelector: \"Radio\",\n classNames,\n styles,\n unstyled,\n \"data-checked\": contextProps.checked || void 0,\n variant\n }, systemStyles), wrapperProps), /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.inner\n }, /* @__PURE__ */ React.createElement(\"input\", __spreadValues(__spreadValues({\n ref,\n className: classes.radio,\n type: \"radio\",\n id: uuid,\n disabled\n }, rest), contextProps)), /* @__PURE__ */ React.createElement(Icon, {\n className: classes.icon,\n \"aria-hidden\": true\n })));\n});\nRadio.displayName = \"@mantine/core/Radio\";\nRadio.Group = RadioGroup;\n\nexport { Radio };\n//# sourceMappingURL=Radio.js.map\n","import {useCallback as $3vqmr$useCallback} from \"react\";\n\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */ function $6ed0406888f73fc4$var$setRef(ref, value) {\n if (typeof ref === 'function') ref(value);\n else if (ref !== null && ref !== undefined) ref.current = value;\n}\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */ function $6ed0406888f73fc4$export$43e446d32b3d21af(...refs) {\n return (node)=>refs.forEach((ref)=>$6ed0406888f73fc4$var$setRef(ref, node)\n )\n ;\n}\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */ function $6ed0406888f73fc4$export$c7b2cbe3552a0d05(...refs) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return $3vqmr$useCallback($6ed0406888f73fc4$export$43e446d32b3d21af(...refs), refs);\n}\n\n\n\n\nexport {$6ed0406888f73fc4$export$43e446d32b3d21af as composeRefs, $6ed0406888f73fc4$export$c7b2cbe3552a0d05 as useComposedRefs};\n//# sourceMappingURL=index.module.js.map\n","import $9IrjX$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $9IrjX$forwardRef, Children as $9IrjX$Children, isValidElement as $9IrjX$isValidElement, createElement as $9IrjX$createElement, cloneElement as $9IrjX$cloneElement, Fragment as $9IrjX$Fragment} from \"react\";\nimport {composeRefs as $9IrjX$composeRefs} from \"@radix-ui/react-compose-refs\";\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$export$8c6ed5c666ac1360 = /*#__PURE__*/ $9IrjX$forwardRef((props, forwardedRef)=>{\n const { children: children , ...slotProps } = props;\n const childrenArray = $9IrjX$Children.toArray(children);\n const slottable = childrenArray.find($5e63c961fc1ce211$var$isSlottable);\n if (slottable) {\n // the new element to render is the one passed as a child of `Slottable`\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child)=>{\n if (child === slottable) {\n // because the new element will be the one rendered, we are only interested\n // in grabbing its children (`newElement.props.children`)\n if ($9IrjX$Children.count(newElement) > 1) return $9IrjX$Children.only(null);\n return /*#__PURE__*/ $9IrjX$isValidElement(newElement) ? newElement.props.children : null;\n } else return child;\n });\n return /*#__PURE__*/ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, $9IrjX$babelruntimehelpersesmextends({}, slotProps, {\n ref: forwardedRef\n }), /*#__PURE__*/ $9IrjX$isValidElement(newElement) ? /*#__PURE__*/ $9IrjX$cloneElement(newElement, undefined, newChildren) : null);\n }\n return /*#__PURE__*/ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, $9IrjX$babelruntimehelpersesmextends({}, slotProps, {\n ref: forwardedRef\n }), children);\n});\n$5e63c961fc1ce211$export$8c6ed5c666ac1360.displayName = 'Slot';\n/* -------------------------------------------------------------------------------------------------\n * SlotClone\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$var$SlotClone = /*#__PURE__*/ $9IrjX$forwardRef((props, forwardedRef)=>{\n const { children: children , ...slotProps } = props;\n if (/*#__PURE__*/ $9IrjX$isValidElement(children)) return /*#__PURE__*/ $9IrjX$cloneElement(children, {\n ...$5e63c961fc1ce211$var$mergeProps(slotProps, children.props),\n ref: $9IrjX$composeRefs(forwardedRef, children.ref)\n });\n return $9IrjX$Children.count(children) > 1 ? $9IrjX$Children.only(null) : null;\n});\n$5e63c961fc1ce211$var$SlotClone.displayName = 'SlotClone';\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 = ({ children: children })=>{\n return /*#__PURE__*/ $9IrjX$createElement($9IrjX$Fragment, null, children);\n};\n/* ---------------------------------------------------------------------------------------------- */ function $5e63c961fc1ce211$var$isSlottable(child) {\n return /*#__PURE__*/ $9IrjX$isValidElement(child) && child.type === $5e63c961fc1ce211$export$d9f1ccf0bdb05d45;\n}\nfunction $5e63c961fc1ce211$var$mergeProps(slotProps, childProps) {\n // all child props should override\n const overrideProps = {\n ...childProps\n };\n for(const propName in childProps){\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n // if the handler exists on both, we compose them\n if (slotPropValue && childPropValue) overrideProps[propName] = (...args)=>{\n childPropValue(...args);\n slotPropValue(...args);\n };\n else if (slotPropValue) overrideProps[propName] = slotPropValue;\n } else if (propName === 'style') overrideProps[propName] = {\n ...slotPropValue,\n ...childPropValue\n };\n else if (propName === 'className') overrideProps[propName] = [\n slotPropValue,\n childPropValue\n ].filter(Boolean).join(' ');\n }\n return {\n ...slotProps,\n ...overrideProps\n };\n}\nconst $5e63c961fc1ce211$export$be92b6f5f03c0fe9 = $5e63c961fc1ce211$export$8c6ed5c666ac1360;\n\n\n\n\nexport {$5e63c961fc1ce211$export$8c6ed5c666ac1360 as Slot, $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 as Slottable, $5e63c961fc1ce211$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.module.js.map\n","import $4q5Fq$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $4q5Fq$forwardRef, useEffect as $4q5Fq$useEffect, createElement as $4q5Fq$createElement} from \"react\";\nimport {flushSync as $4q5Fq$flushSync} from \"react-dom\";\nimport {Slot as $4q5Fq$Slot} from \"@radix-ui/react-slot\";\n\n\n\n\n\nconst $8927f6f2acc4f386$var$NODES = [\n 'a',\n 'button',\n 'div',\n 'h2',\n 'h3',\n 'img',\n 'label',\n 'li',\n 'nav',\n 'ol',\n 'p',\n 'span',\n 'svg',\n 'ul'\n]; // Temporary while we await merge of this fix:\n// https://github.com/DefinitelyTyped/DefinitelyTyped/pull/55396\n// prettier-ignore\n/* -------------------------------------------------------------------------------------------------\n * Primitive\n * -----------------------------------------------------------------------------------------------*/ const $8927f6f2acc4f386$export$250ffa63cdc0d034 = $8927f6f2acc4f386$var$NODES.reduce((primitive, node)=>{\n const Node = /*#__PURE__*/ $4q5Fq$forwardRef((props, forwardedRef)=>{\n const { asChild: asChild , ...primitiveProps } = props;\n const Comp = asChild ? $4q5Fq$Slot : node;\n $4q5Fq$useEffect(()=>{\n window[Symbol.for('radix-ui')] = true;\n }, []);\n return /*#__PURE__*/ $4q5Fq$createElement(Comp, $4q5Fq$babelruntimehelpersesmextends({}, primitiveProps, {\n ref: forwardedRef\n }));\n });\n Node.displayName = `Primitive.${node}`;\n return {\n ...primitive,\n [node]: Node\n };\n}, {});\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/ /**\n * Flush custom event dispatch\n * https://github.com/radix-ui/primitives/pull/1378\n *\n * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.\n *\n * Internally, React prioritises events in the following order:\n * - discrete\n * - continuous\n * - default\n *\n * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350\n *\n * `discrete` is an important distinction as updates within these events are applied immediately.\n * React however, is not able to infer the priority of custom event types due to how they are detected internally.\n * Because of this, it's possible for updates from custom events to be unexpectedly batched when\n * dispatched by another `discrete` event.\n *\n * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.\n * This utility should be used when dispatching a custom event from within another `discrete` event, this utility\n * is not nessesary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.\n * For example:\n *\n * dispatching a known click 👎\n * target.dispatchEvent(new Event(‘click’))\n *\n * dispatching a custom type within a non-discrete event 👎\n * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(‘customType’))}\n *\n * dispatching a custom type within a `discrete` event 👍\n * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(‘customType’))}\n *\n * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's not recommended to use\n * this utility with them. This is because it's possible for those handlers to be called implicitly during render\n * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.\n */ function $8927f6f2acc4f386$export$6d1a0317bde7de7f(target, event) {\n if (target) $4q5Fq$flushSync(()=>target.dispatchEvent(event)\n );\n}\n/* -----------------------------------------------------------------------------------------------*/ const $8927f6f2acc4f386$export$be92b6f5f03c0fe9 = $8927f6f2acc4f386$export$250ffa63cdc0d034;\n\n\n\n\nexport {$8927f6f2acc4f386$export$250ffa63cdc0d034 as Primitive, $8927f6f2acc4f386$export$be92b6f5f03c0fe9 as Root, $8927f6f2acc4f386$export$6d1a0317bde7de7f as dispatchDiscreteCustomEvent};\n//# sourceMappingURL=index.module.js.map\n","import {useLayoutEffect as $dxlwH$useLayoutEffect} from \"react\";\n\n\n/**\n * On the server, React emits a warning when calling `useLayoutEffect`.\n * This is because neither `useLayoutEffect` nor `useEffect` run on the server.\n * We use this safe version which suppresses the warning by replacing it with a noop on the server.\n *\n * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */ const $9f79659886946c16$export$e5c5a5f917a5871c = Boolean(globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) ? $dxlwH$useLayoutEffect : ()=>{};\n\n\n\n\nexport {$9f79659886946c16$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=index.module.js.map\n","import {Children as $iqq3r$Children, cloneElement as $iqq3r$cloneElement, useState as $iqq3r$useState, useRef as $iqq3r$useRef, useEffect as $iqq3r$useEffect, useCallback as $iqq3r$useCallback, useReducer as $iqq3r$useReducer} from \"react\";\nimport {flushSync as $iqq3r$flushSync} from \"react-dom\";\nimport {useComposedRefs as $iqq3r$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {useLayoutEffect as $iqq3r$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\n\n\n\n\n\n\nfunction $fe963b355347cc68$export$3e6543de14f8614f(initialState, machine) {\n return $iqq3r$useReducer((state, event)=>{\n const nextState = machine[state][event];\n return nextState !== null && nextState !== void 0 ? nextState : state;\n }, initialState);\n}\n\n\nconst $921a889cee6df7e8$export$99c2b779aa4e8b8b = (props)=>{\n const { present: present , children: children } = props;\n const presence = $921a889cee6df7e8$var$usePresence(present);\n const child = typeof children === 'function' ? children({\n present: presence.isPresent\n }) : $iqq3r$Children.only(children);\n const ref = $iqq3r$useComposedRefs(presence.ref, child.ref);\n const forceMount = typeof children === 'function';\n return forceMount || presence.isPresent ? /*#__PURE__*/ $iqq3r$cloneElement(child, {\n ref: ref\n }) : null;\n};\n$921a889cee6df7e8$export$99c2b779aa4e8b8b.displayName = 'Presence';\n/* -------------------------------------------------------------------------------------------------\n * usePresence\n * -----------------------------------------------------------------------------------------------*/ function $921a889cee6df7e8$var$usePresence(present) {\n const [node1, setNode] = $iqq3r$useState();\n const stylesRef = $iqq3r$useRef({});\n const prevPresentRef = $iqq3r$useRef(present);\n const prevAnimationNameRef = $iqq3r$useRef('none');\n const initialState = present ? 'mounted' : 'unmounted';\n const [state, send] = $fe963b355347cc68$export$3e6543de14f8614f(initialState, {\n mounted: {\n UNMOUNT: 'unmounted',\n ANIMATION_OUT: 'unmountSuspended'\n },\n unmountSuspended: {\n MOUNT: 'mounted',\n ANIMATION_END: 'unmounted'\n },\n unmounted: {\n MOUNT: 'mounted'\n }\n });\n $iqq3r$useEffect(()=>{\n const currentAnimationName = $921a889cee6df7e8$var$getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === 'mounted' ? currentAnimationName : 'none';\n }, [\n state\n ]);\n $iqq3r$useLayoutEffect(()=>{\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = $921a889cee6df7e8$var$getAnimationName(styles);\n if (present) send('MOUNT');\n else if (currentAnimationName === 'none' || (styles === null || styles === void 0 ? void 0 : styles.display) === 'none') // If there is no exit animation or the element is hidden, animations won't run\n // so we unmount instantly\n send('UNMOUNT');\n else {\n /**\n * When `present` changes to `false`, we check changes to animation-name to\n * determine whether an animation has started. We chose this approach (reading\n * computed styles) because there is no `animationrun` event and `animationstart`\n * fires after `animation-delay` has expired which would be too late.\n */ const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) send('ANIMATION_OUT');\n else send('UNMOUNT');\n }\n prevPresentRef.current = present;\n }\n }, [\n present,\n send\n ]);\n $iqq3r$useLayoutEffect(()=>{\n if (node1) {\n /**\n * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n * make sure we only trigger ANIMATION_END for the currently active animation.\n */ const handleAnimationEnd = (event)=>{\n const currentAnimationName = $921a889cee6df7e8$var$getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node1 && isCurrentAnimation) // With React 18 concurrency this update is applied\n // a frame after the animation ends, creating a flash of visible content.\n // By manually flushing we ensure they sync within a frame, removing the flash.\n $iqq3r$flushSync(()=>send('ANIMATION_END')\n );\n };\n const handleAnimationStart = (event)=>{\n if (event.target === node1) // if animation occurred, store its name as the previous animation.\n prevAnimationNameRef.current = $921a889cee6df7e8$var$getAnimationName(stylesRef.current);\n };\n node1.addEventListener('animationstart', handleAnimationStart);\n node1.addEventListener('animationcancel', handleAnimationEnd);\n node1.addEventListener('animationend', handleAnimationEnd);\n return ()=>{\n node1.removeEventListener('animationstart', handleAnimationStart);\n node1.removeEventListener('animationcancel', handleAnimationEnd);\n node1.removeEventListener('animationend', handleAnimationEnd);\n };\n } else // Transition to the unmounted state if the node is removed prematurely.\n // We avoid doing so during cleanup as the node may change but still exist.\n send('ANIMATION_END');\n }, [\n node1,\n send\n ]);\n return {\n isPresent: [\n 'mounted',\n 'unmountSuspended'\n ].includes(state),\n ref: $iqq3r$useCallback((node)=>{\n if (node) stylesRef.current = getComputedStyle(node);\n setNode(node);\n }, [])\n };\n}\n/* -----------------------------------------------------------------------------------------------*/ function $921a889cee6df7e8$var$getAnimationName(styles) {\n return (styles === null || styles === void 0 ? void 0 : styles.animationName) || 'none';\n}\n\n\n\n\nexport {$921a889cee6df7e8$export$99c2b779aa4e8b8b as Presence};\n//# sourceMappingURL=index.module.js.map\n","import {useRef as $lwiWj$useRef, useEffect as $lwiWj$useEffect, useMemo as $lwiWj$useMemo} from \"react\";\n\n\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */ function $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(callback) {\n const callbackRef = $lwiWj$useRef(callback);\n $lwiWj$useEffect(()=>{\n callbackRef.current = callback;\n }); // https://github.com/facebook/react/issues/19240\n return $lwiWj$useMemo(()=>(...args)=>{\n var _callbackRef$current;\n return (_callbackRef$current = callbackRef.current) === null || _callbackRef$current === void 0 ? void 0 : _callbackRef$current.call(callbackRef, ...args);\n }\n , []);\n}\n\n\n\n\nexport {$b1b2314f5f9a1d84$export$25bec8c6f54ee79a as useCallbackRef};\n//# sourceMappingURL=index.module.js.map\n","import {createContext as $7Gjcd$createContext, createElement as $7Gjcd$createElement, useContext as $7Gjcd$useContext} from \"react\";\n\n\nconst $f631663db3294ace$var$DirectionContext = /*#__PURE__*/ $7Gjcd$createContext(undefined);\n/* -------------------------------------------------------------------------------------------------\n * Direction\n * -----------------------------------------------------------------------------------------------*/ const $f631663db3294ace$export$c760c09fdd558351 = (props)=>{\n const { dir: dir , children: children } = props;\n return /*#__PURE__*/ $7Gjcd$createElement($f631663db3294ace$var$DirectionContext.Provider, {\n value: dir\n }, children);\n};\n/* -----------------------------------------------------------------------------------------------*/ function $f631663db3294ace$export$b39126d51d94e6f3(localDir) {\n const globalDir = $7Gjcd$useContext($f631663db3294ace$var$DirectionContext);\n return localDir || globalDir || 'ltr';\n}\nconst $f631663db3294ace$export$2881499e37b75b9a = $f631663db3294ace$export$c760c09fdd558351;\n\n\n\n\nexport {$f631663db3294ace$export$b39126d51d94e6f3 as useDirection, $f631663db3294ace$export$2881499e37b75b9a as Provider, $f631663db3294ace$export$c760c09fdd558351 as DirectionProvider};\n//# sourceMappingURL=index.module.js.map\n","function $e42e1063c40fb3ef$export$b9ecd428b558ff10(originalEventHandler, ourEventHandler, { checkForDefaultPrevented: checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler === null || originalEventHandler === void 0 || originalEventHandler(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) return ourEventHandler === null || ourEventHandler === void 0 ? void 0 : ourEventHandler(event);\n };\n}\n\n\n\n\nexport {$e42e1063c40fb3ef$export$b9ecd428b558ff10 as composeEventHandlers};\n//# sourceMappingURL=index.module.js.map\n","import $fnFM9$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $fnFM9$forwardRef, useState as $fnFM9$useState, createElement as $fnFM9$createElement, useRef as $fnFM9$useRef, Fragment as $fnFM9$Fragment, useEffect as $fnFM9$useEffect, useCallback as $fnFM9$useCallback, useReducer as $fnFM9$useReducer} from \"react\";\nimport {Primitive as $fnFM9$Primitive} from \"@radix-ui/react-primitive\";\nimport {Presence as $fnFM9$Presence} from \"@radix-ui/react-presence\";\nimport {createContextScope as $fnFM9$createContextScope} from \"@radix-ui/react-context\";\nimport {useComposedRefs as $fnFM9$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {useCallbackRef as $fnFM9$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\nimport {useDirection as $fnFM9$useDirection} from \"@radix-ui/react-direction\";\nimport {useLayoutEffect as $fnFM9$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\nimport {clamp as $fnFM9$clamp} from \"@radix-ui/number\";\nimport {composeEventHandlers as $fnFM9$composeEventHandlers} from \"@radix-ui/primitive\";\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction $6c2e24571c90391f$export$3e6543de14f8614f(initialState, machine) {\n return $fnFM9$useReducer((state, event)=>{\n const nextState = machine[state][event];\n return nextState !== null && nextState !== void 0 ? nextState : state;\n }, initialState);\n}\n\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollArea\n * -----------------------------------------------------------------------------------------------*/ const $57acba87d6e25586$var$SCROLL_AREA_NAME = 'ScrollArea';\nconst [$57acba87d6e25586$var$createScrollAreaContext, $57acba87d6e25586$export$488468afe3a6f2b1] = $fnFM9$createContextScope($57acba87d6e25586$var$SCROLL_AREA_NAME);\nconst [$57acba87d6e25586$var$ScrollAreaProvider, $57acba87d6e25586$var$useScrollAreaContext] = $57acba87d6e25586$var$createScrollAreaContext($57acba87d6e25586$var$SCROLL_AREA_NAME);\nconst $57acba87d6e25586$export$ccf8d8d7bbf3c2cc = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const { __scopeScrollArea: __scopeScrollArea , type: type = 'hover' , dir: dir , scrollHideDelay: scrollHideDelay = 600 , ...scrollAreaProps } = props;\n const [scrollArea, setScrollArea] = $fnFM9$useState(null);\n const [viewport, setViewport] = $fnFM9$useState(null);\n const [content, setContent] = $fnFM9$useState(null);\n const [scrollbarX, setScrollbarX] = $fnFM9$useState(null);\n const [scrollbarY, setScrollbarY] = $fnFM9$useState(null);\n const [cornerWidth, setCornerWidth] = $fnFM9$useState(0);\n const [cornerHeight, setCornerHeight] = $fnFM9$useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = $fnFM9$useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = $fnFM9$useState(false);\n const composedRefs = $fnFM9$useComposedRefs(forwardedRef, (node)=>setScrollArea(node)\n );\n const direction = $fnFM9$useDirection(dir);\n return /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaProvider, {\n scope: __scopeScrollArea,\n type: type,\n dir: direction,\n scrollHideDelay: scrollHideDelay,\n scrollArea: scrollArea,\n viewport: viewport,\n onViewportChange: setViewport,\n content: content,\n onContentChange: setContent,\n scrollbarX: scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled: scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY: scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled: scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight\n }, /*#__PURE__*/ $fnFM9$createElement($fnFM9$Primitive.div, $fnFM9$babelruntimehelpersesmextends({\n dir: direction\n }, scrollAreaProps, {\n ref: composedRefs,\n style: {\n position: 'relative',\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n ['--radix-scroll-area-corner-width']: cornerWidth + 'px',\n ['--radix-scroll-area-corner-height']: cornerHeight + 'px',\n ...props.style\n }\n })));\n});\n/*#__PURE__*/ Object.assign($57acba87d6e25586$export$ccf8d8d7bbf3c2cc, {\n displayName: $57acba87d6e25586$var$SCROLL_AREA_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaViewport\n * -----------------------------------------------------------------------------------------------*/ const $57acba87d6e25586$var$VIEWPORT_NAME = 'ScrollAreaViewport';\nconst $57acba87d6e25586$export$a21cbf9f11fca853 = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const { __scopeScrollArea: __scopeScrollArea , children: children , ...viewportProps } = props;\n const context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$VIEWPORT_NAME, __scopeScrollArea);\n const ref = $fnFM9$useRef(null);\n const composedRefs = $fnFM9$useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /*#__PURE__*/ $fnFM9$createElement($fnFM9$Fragment, null, /*#__PURE__*/ $fnFM9$createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n }\n }), /*#__PURE__*/ $fnFM9$createElement($fnFM9$Primitive.div, $fnFM9$babelruntimehelpersesmextends({\n \"data-radix-scroll-area-viewport\": \"\"\n }, viewportProps, {\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflowed#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */ overflowX: context.scrollbarXEnabled ? 'scroll' : 'hidden',\n overflowY: context.scrollbarYEnabled ? 'scroll' : 'hidden',\n ...props.style\n }\n }), /*#__PURE__*/ $fnFM9$createElement(\"div\", {\n ref: context.onContentChange,\n style: {\n minWidth: '100%',\n display: 'table'\n }\n }, children)));\n});\n/*#__PURE__*/ Object.assign($57acba87d6e25586$export$a21cbf9f11fca853, {\n displayName: $57acba87d6e25586$var$VIEWPORT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaScrollbar\n * -----------------------------------------------------------------------------------------------*/ const $57acba87d6e25586$var$SCROLLBAR_NAME = 'ScrollAreaScrollbar';\nconst $57acba87d6e25586$export$2fabd85d0eba3c57 = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const { forceMount: forceMount , ...scrollbarProps } = props;\n const context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange: onScrollbarXEnabledChange , onScrollbarYEnabledChange: onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === 'horizontal';\n $fnFM9$useEffect(()=>{\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return ()=>{\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [\n isHorizontal,\n onScrollbarXEnabledChange,\n onScrollbarYEnabledChange\n ]);\n return context.type === 'hover' ? /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarHover, $fnFM9$babelruntimehelpersesmextends({}, scrollbarProps, {\n ref: forwardedRef,\n forceMount: forceMount\n })) : context.type === 'scroll' ? /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarScroll, $fnFM9$babelruntimehelpersesmextends({}, scrollbarProps, {\n ref: forwardedRef,\n forceMount: forceMount\n })) : context.type === 'auto' ? /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarAuto, $fnFM9$babelruntimehelpersesmextends({}, scrollbarProps, {\n ref: forwardedRef,\n forceMount: forceMount\n })) : context.type === 'always' ? /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarVisible, $fnFM9$babelruntimehelpersesmextends({}, scrollbarProps, {\n ref: forwardedRef\n })) : null;\n});\n/*#__PURE__*/ Object.assign($57acba87d6e25586$export$2fabd85d0eba3c57, {\n displayName: $57acba87d6e25586$var$SCROLLBAR_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $57acba87d6e25586$var$ScrollAreaScrollbarHover = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const { forceMount: forceMount , ...scrollbarProps } = props;\n const context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = $fnFM9$useState(false);\n $fnFM9$useEffect(()=>{\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = ()=>{\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = ()=>{\n hideTimer = window.setTimeout(()=>setVisible(false)\n , context.scrollHideDelay);\n };\n scrollArea.addEventListener('pointerenter', handlePointerEnter);\n scrollArea.addEventListener('pointerleave', handlePointerLeave);\n return ()=>{\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener('pointerenter', handlePointerEnter);\n scrollArea.removeEventListener('pointerleave', handlePointerLeave);\n };\n }\n }, [\n context.scrollArea,\n context.scrollHideDelay\n ]);\n return /*#__PURE__*/ $fnFM9$createElement($fnFM9$Presence, {\n present: forceMount || visible\n }, /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarAuto, $fnFM9$babelruntimehelpersesmextends({\n \"data-state\": visible ? 'visible' : 'hidden'\n }, scrollbarProps, {\n ref: forwardedRef\n })));\n});\nconst $57acba87d6e25586$var$ScrollAreaScrollbarScroll = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const { forceMount: forceMount , ...scrollbarProps } = props;\n const context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === 'horizontal';\n const debounceScrollEnd = $57acba87d6e25586$var$useDebounceCallback(()=>send('SCROLL_END')\n , 100);\n const [state, send] = $6c2e24571c90391f$export$3e6543de14f8614f('hidden', {\n hidden: {\n SCROLL: 'scrolling'\n },\n scrolling: {\n SCROLL_END: 'idle',\n POINTER_ENTER: 'interacting'\n },\n interacting: {\n SCROLL: 'interacting',\n POINTER_LEAVE: 'idle'\n },\n idle: {\n HIDE: 'hidden',\n SCROLL: 'scrolling',\n POINTER_ENTER: 'interacting'\n }\n });\n $fnFM9$useEffect(()=>{\n if (state === 'idle') {\n const hideTimer = window.setTimeout(()=>send('HIDE')\n , context.scrollHideDelay);\n return ()=>window.clearTimeout(hideTimer)\n ;\n }\n }, [\n state,\n context.scrollHideDelay,\n send\n ]);\n $fnFM9$useEffect(()=>{\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? 'scrollLeft' : 'scrollTop';\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = ()=>{\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send('SCROLL');\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener('scroll', handleScroll);\n return ()=>viewport.removeEventListener('scroll', handleScroll)\n ;\n }\n }, [\n context.viewport,\n isHorizontal,\n send,\n debounceScrollEnd\n ]);\n return /*#__PURE__*/ $fnFM9$createElement($fnFM9$Presence, {\n present: forceMount || state !== 'hidden'\n }, /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarVisible, $fnFM9$babelruntimehelpersesmextends({\n \"data-state\": state === 'hidden' ? 'hidden' : 'visible'\n }, scrollbarProps, {\n ref: forwardedRef,\n onPointerEnter: $fnFM9$composeEventHandlers(props.onPointerEnter, ()=>send('POINTER_ENTER')\n ),\n onPointerLeave: $fnFM9$composeEventHandlers(props.onPointerLeave, ()=>send('POINTER_LEAVE')\n )\n })));\n});\nconst $57acba87d6e25586$var$ScrollAreaScrollbarAuto = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount: forceMount , ...scrollbarProps } = props;\n const [visible, setVisible] = $fnFM9$useState(false);\n const isHorizontal = props.orientation === 'horizontal';\n const handleResize = $57acba87d6e25586$var$useDebounceCallback(()=>{\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n $57acba87d6e25586$var$useResizeObserver(context.viewport, handleResize);\n $57acba87d6e25586$var$useResizeObserver(context.content, handleResize);\n return /*#__PURE__*/ $fnFM9$createElement($fnFM9$Presence, {\n present: forceMount || visible\n }, /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarVisible, $fnFM9$babelruntimehelpersesmextends({\n \"data-state\": visible ? 'visible' : 'hidden'\n }, scrollbarProps, {\n ref: forwardedRef\n })));\n});\n/* -----------------------------------------------------------------------------------------------*/ const $57acba87d6e25586$var$ScrollAreaScrollbarVisible = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const { orientation: orientation = 'vertical' , ...scrollbarProps } = props;\n const context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = $fnFM9$useRef(null);\n const pointerOffsetRef = $fnFM9$useRef(0);\n const [sizes, setSizes] = $fnFM9$useState({\n content: 0,\n viewport: 0,\n scrollbar: {\n size: 0,\n paddingStart: 0,\n paddingEnd: 0\n }\n });\n const thumbRatio = $57acba87d6e25586$var$getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes: sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb)=>thumbRef.current = thumb\n ,\n onThumbPointerUp: ()=>pointerOffsetRef.current = 0\n ,\n onThumbPointerDown: (pointerPos)=>pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return $57acba87d6e25586$var$getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === 'horizontal') return /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarX, $fnFM9$babelruntimehelpersesmextends({}, commonProps, {\n ref: forwardedRef,\n onThumbPositionChange: ()=>{\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = $57acba87d6e25586$var$getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos)=>{\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos)=>{\n if (context.viewport) context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }));\n if (orientation === 'vertical') return /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarY, $fnFM9$babelruntimehelpersesmextends({}, commonProps, {\n ref: forwardedRef,\n onThumbPositionChange: ()=>{\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = $57acba87d6e25586$var$getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos)=>{\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos)=>{\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }));\n return null;\n});\n/* -----------------------------------------------------------------------------------------------*/ const $57acba87d6e25586$var$ScrollAreaScrollbarX = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const { sizes: sizes , onSizesChange: onSizesChange , ...scrollbarProps } = props;\n const context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = $fnFM9$useState();\n const ref = $fnFM9$useRef(null);\n const composeRefs = $fnFM9$useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n $fnFM9$useEffect(()=>{\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [\n ref\n ]);\n return /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarImpl, $fnFM9$babelruntimehelpersesmextends({\n \"data-orientation\": \"horizontal\"\n }, scrollbarProps, {\n ref: composeRefs,\n sizes: sizes,\n style: {\n bottom: 0,\n left: context.dir === 'rtl' ? 'var(--radix-scroll-area-corner-width)' : 0,\n right: context.dir === 'ltr' ? 'var(--radix-scroll-area-corner-width)' : 0,\n ['--radix-scroll-area-thumb-width']: $57acba87d6e25586$var$getThumbSize(sizes) + 'px',\n ...props.style\n },\n onThumbPointerDown: (pointerPos)=>props.onThumbPointerDown(pointerPos.x)\n ,\n onDragScroll: (pointerPos)=>props.onDragScroll(pointerPos.x)\n ,\n onWheelScroll: (event, maxScrollPos)=>{\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos); // prevent window scroll when wheeling on scrollbar\n if ($57acba87d6e25586$var$isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) event.preventDefault();\n }\n },\n onResize: ()=>{\n if (ref.current && context.viewport && computedStyle) onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: $57acba87d6e25586$var$toInt(computedStyle.paddingLeft),\n paddingEnd: $57acba87d6e25586$var$toInt(computedStyle.paddingRight)\n }\n });\n }\n }));\n});\nconst $57acba87d6e25586$var$ScrollAreaScrollbarY = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const { sizes: sizes , onSizesChange: onSizesChange , ...scrollbarProps } = props;\n const context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = $fnFM9$useState();\n const ref = $fnFM9$useRef(null);\n const composeRefs = $fnFM9$useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n $fnFM9$useEffect(()=>{\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [\n ref\n ]);\n return /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaScrollbarImpl, $fnFM9$babelruntimehelpersesmextends({\n \"data-orientation\": \"vertical\"\n }, scrollbarProps, {\n ref: composeRefs,\n sizes: sizes,\n style: {\n top: 0,\n right: context.dir === 'ltr' ? 0 : undefined,\n left: context.dir === 'rtl' ? 0 : undefined,\n bottom: 'var(--radix-scroll-area-corner-height)',\n ['--radix-scroll-area-thumb-height']: $57acba87d6e25586$var$getThumbSize(sizes) + 'px',\n ...props.style\n },\n onThumbPointerDown: (pointerPos)=>props.onThumbPointerDown(pointerPos.y)\n ,\n onDragScroll: (pointerPos)=>props.onDragScroll(pointerPos.y)\n ,\n onWheelScroll: (event, maxScrollPos)=>{\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos); // prevent window scroll when wheeling on scrollbar\n if ($57acba87d6e25586$var$isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) event.preventDefault();\n }\n },\n onResize: ()=>{\n if (ref.current && context.viewport && computedStyle) onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: $57acba87d6e25586$var$toInt(computedStyle.paddingTop),\n paddingEnd: $57acba87d6e25586$var$toInt(computedStyle.paddingBottom)\n }\n });\n }\n }));\n});\n/* -----------------------------------------------------------------------------------------------*/ const [$57acba87d6e25586$var$ScrollbarProvider, $57acba87d6e25586$var$useScrollbarContext] = $57acba87d6e25586$var$createScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME);\nconst $57acba87d6e25586$var$ScrollAreaScrollbarImpl = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const { __scopeScrollArea: __scopeScrollArea , sizes: sizes , hasThumb: hasThumb , onThumbChange: onThumbChange , onThumbPointerUp: onThumbPointerUp , onThumbPointerDown: onThumbPointerDown , onThumbPositionChange: onThumbPositionChange , onDragScroll: onDragScroll , onWheelScroll: onWheelScroll , onResize: onResize , ...scrollbarProps } = props;\n const context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = $fnFM9$useState(null);\n const composeRefs = $fnFM9$useComposedRefs(forwardedRef, (node)=>setScrollbar(node)\n );\n const rectRef = $fnFM9$useRef(null);\n const prevWebkitUserSelectRef = $fnFM9$useRef('');\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = $fnFM9$useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = $fnFM9$useCallbackRef(onThumbPositionChange);\n const handleResize = $57acba87d6e25586$var$useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({\n x: x,\n y: y\n });\n }\n }\n /**\n * We bind wheel event imperatively so we can switch off passive\n * mode for document wheel event to allow it to be prevented\n */ $fnFM9$useEffect(()=>{\n const handleWheel = (event)=>{\n const element = event.target;\n const isScrollbarWheel = scrollbar === null || scrollbar === void 0 ? void 0 : scrollbar.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener('wheel', handleWheel, {\n passive: false\n });\n return ()=>document.removeEventListener('wheel', handleWheel, {\n passive: false\n })\n ;\n }, [\n viewport,\n scrollbar,\n maxScrollPos,\n handleWheelScroll\n ]);\n /**\n * Update thumb position on sizes change\n */ $fnFM9$useEffect(handleThumbPositionChange, [\n sizes,\n handleThumbPositionChange\n ]);\n $57acba87d6e25586$var$useResizeObserver(scrollbar, handleResize);\n $57acba87d6e25586$var$useResizeObserver(context.content, handleResize);\n return /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollbarProvider, {\n scope: __scopeScrollArea,\n scrollbar: scrollbar,\n hasThumb: hasThumb,\n onThumbChange: $fnFM9$useCallbackRef(onThumbChange),\n onThumbPointerUp: $fnFM9$useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: $fnFM9$useCallbackRef(onThumbPointerDown)\n }, /*#__PURE__*/ $fnFM9$createElement($fnFM9$Primitive.div, $fnFM9$babelruntimehelpersesmextends({}, scrollbarProps, {\n ref: composeRefs,\n style: {\n position: 'absolute',\n ...scrollbarProps.style\n },\n onPointerDown: $fnFM9$composeEventHandlers(props.onPointerDown, (event)=>{\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect(); // pointer capture doesn't prevent text selection in Safari\n // so we remove text selection manually when scrolling\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = 'none';\n handleDragScroll(event);\n }\n }),\n onPointerMove: $fnFM9$composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: $fnFM9$composeEventHandlers(props.onPointerUp, (event)=>{\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) element.releasePointerCapture(event.pointerId);\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n rectRef.current = null;\n })\n })));\n});\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaThumb\n * -----------------------------------------------------------------------------------------------*/ const $57acba87d6e25586$var$THUMB_NAME = 'ScrollAreaThumb';\nconst $57acba87d6e25586$export$9fba1154677d7cd2 = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const { forceMount: forceMount , ...thumbProps } = props;\n const scrollbarContext = $57acba87d6e25586$var$useScrollbarContext($57acba87d6e25586$var$THUMB_NAME, props.__scopeScrollArea);\n return /*#__PURE__*/ $fnFM9$createElement($fnFM9$Presence, {\n present: forceMount || scrollbarContext.hasThumb\n }, /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaThumbImpl, $fnFM9$babelruntimehelpersesmextends({\n ref: forwardedRef\n }, thumbProps)));\n});\nconst $57acba87d6e25586$var$ScrollAreaThumbImpl = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const { __scopeScrollArea: __scopeScrollArea , style: style , ...thumbProps } = props;\n const scrollAreaContext = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = $57acba87d6e25586$var$useScrollbarContext($57acba87d6e25586$var$THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange: onThumbPositionChange } = scrollbarContext;\n const composedRef = $fnFM9$useComposedRefs(forwardedRef, (node)=>scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = $fnFM9$useRef();\n const debounceScrollEnd = $57acba87d6e25586$var$useDebounceCallback(()=>{\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = undefined;\n }\n }, 100);\n $fnFM9$useEffect(()=>{\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n /**\n * We only bind to native scroll event so we know when scroll starts and ends.\n * When scroll starts we start a requestAnimationFrame loop that checks for\n * changes to scroll position. That rAF loop triggers our thumb position change\n * when relevant to avoid scroll-linked effects. We cancel the loop when scroll ends.\n * https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\n */ const handleScroll = ()=>{\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = $57acba87d6e25586$var$addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener('scroll', handleScroll);\n return ()=>viewport.removeEventListener('scroll', handleScroll)\n ;\n }\n }, [\n scrollAreaContext.viewport,\n debounceScrollEnd,\n onThumbPositionChange\n ]);\n return /*#__PURE__*/ $fnFM9$createElement($fnFM9$Primitive.div, $fnFM9$babelruntimehelpersesmextends({\n \"data-state\": scrollbarContext.hasThumb ? 'visible' : 'hidden'\n }, thumbProps, {\n ref: composedRef,\n style: {\n width: 'var(--radix-scroll-area-thumb-width)',\n height: 'var(--radix-scroll-area-thumb-height)',\n ...style\n },\n onPointerDownCapture: $fnFM9$composeEventHandlers(props.onPointerDownCapture, (event)=>{\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({\n x: x,\n y: y\n });\n }),\n onPointerUp: $fnFM9$composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }));\n});\n/*#__PURE__*/ Object.assign($57acba87d6e25586$export$9fba1154677d7cd2, {\n displayName: $57acba87d6e25586$var$THUMB_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaCorner\n * -----------------------------------------------------------------------------------------------*/ const $57acba87d6e25586$var$CORNER_NAME = 'ScrollAreaCorner';\nconst $57acba87d6e25586$export$56969d565df7cc4b = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== 'scroll' && hasBothScrollbarsVisible;\n return hasCorner ? /*#__PURE__*/ $fnFM9$createElement($57acba87d6e25586$var$ScrollAreaCornerImpl, $fnFM9$babelruntimehelpersesmextends({}, props, {\n ref: forwardedRef\n })) : null;\n});\n/*#__PURE__*/ Object.assign($57acba87d6e25586$export$56969d565df7cc4b, {\n displayName: $57acba87d6e25586$var$CORNER_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $57acba87d6e25586$var$ScrollAreaCornerImpl = /*#__PURE__*/ $fnFM9$forwardRef((props, forwardedRef)=>{\n const { __scopeScrollArea: __scopeScrollArea , ...cornerProps } = props;\n const context = $57acba87d6e25586$var$useScrollAreaContext($57acba87d6e25586$var$CORNER_NAME, __scopeScrollArea);\n const [width1, setWidth] = $fnFM9$useState(0);\n const [height1, setHeight] = $fnFM9$useState(0);\n const hasSize = Boolean(width1 && height1);\n $57acba87d6e25586$var$useResizeObserver(context.scrollbarX, ()=>{\n var _context$scrollbarX;\n const height = ((_context$scrollbarX = context.scrollbarX) === null || _context$scrollbarX === void 0 ? void 0 : _context$scrollbarX.offsetHeight) || 0;\n context.onCornerHeightChange(height);\n setHeight(height);\n });\n $57acba87d6e25586$var$useResizeObserver(context.scrollbarY, ()=>{\n var _context$scrollbarY;\n const width = ((_context$scrollbarY = context.scrollbarY) === null || _context$scrollbarY === void 0 ? void 0 : _context$scrollbarY.offsetWidth) || 0;\n context.onCornerWidthChange(width);\n setWidth(width);\n });\n return hasSize ? /*#__PURE__*/ $fnFM9$createElement($fnFM9$Primitive.div, $fnFM9$babelruntimehelpersesmextends({}, cornerProps, {\n ref: forwardedRef,\n style: {\n width: width1,\n height: height1,\n position: 'absolute',\n right: context.dir === 'ltr' ? 0 : undefined,\n left: context.dir === 'rtl' ? 0 : undefined,\n bottom: 0,\n ...props.style\n }\n })) : null;\n});\n/* -----------------------------------------------------------------------------------------------*/ function $57acba87d6e25586$var$toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction $57acba87d6e25586$var$getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction $57acba87d6e25586$var$getThumbSize(sizes) {\n const ratio = $57acba87d6e25586$var$getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio; // minimum of 18 matches macOS minimum\n return Math.max(thumbSize, 18);\n}\nfunction $57acba87d6e25586$var$getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = 'ltr') {\n const thumbSizePx = $57acba87d6e25586$var$getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === 'ltr' ? [\n 0,\n maxScrollPos\n ] : [\n maxScrollPos * -1,\n 0\n ];\n const interpolate = $57acba87d6e25586$var$linearScale([\n minPointerPos,\n maxPointerPos\n ], scrollRange);\n return interpolate(pointerPos);\n}\nfunction $57acba87d6e25586$var$getThumbOffsetFromScroll(scrollPos, sizes, dir = 'ltr') {\n const thumbSizePx = $57acba87d6e25586$var$getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === 'ltr' ? [\n 0,\n maxScrollPos\n ] : [\n maxScrollPos * -1,\n 0\n ];\n const scrollWithoutMomentum = $fnFM9$clamp(scrollPos, scrollClampRange);\n const interpolate = $57acba87d6e25586$var$linearScale([\n 0,\n maxScrollPos\n ], [\n 0,\n maxThumbPos\n ]);\n return interpolate(scrollWithoutMomentum);\n} // https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nfunction $57acba87d6e25586$var$linearScale(input, output) {\n return (value)=>{\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction $57acba87d6e25586$var$isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n} // Custom scroll handler to avoid scroll-linked effects\n// https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\nconst $57acba87d6e25586$var$addUnlinkedScrollListener = (node, handler = ()=>{})=>{\n let prevPosition = {\n left: node.scrollLeft,\n top: node.scrollTop\n };\n let rAF = 0;\n (function loop() {\n const position = {\n left: node.scrollLeft,\n top: node.scrollTop\n };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return ()=>window.cancelAnimationFrame(rAF)\n ;\n};\nfunction $57acba87d6e25586$var$useDebounceCallback(callback, delay) {\n const handleCallback = $fnFM9$useCallbackRef(callback);\n const debounceTimerRef = $fnFM9$useRef(0);\n $fnFM9$useEffect(()=>()=>window.clearTimeout(debounceTimerRef.current)\n , []);\n return $fnFM9$useCallback(()=>{\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [\n handleCallback,\n delay\n ]);\n}\nfunction $57acba87d6e25586$var$useResizeObserver(element, onResize) {\n const handleResize = $fnFM9$useCallbackRef(onResize);\n $fnFM9$useLayoutEffect(()=>{\n let rAF = 0;\n if (element) {\n /**\n * Resize Observer will throw an often benign error that says `ResizeObserver loop\n * completed with undelivered notifications`. This means that ResizeObserver was not\n * able to deliver all observations within a single animation frame, so we use\n * `requestAnimationFrame` to ensure we don't deliver unnecessary observations.\n * Further reading: https://github.com/WICG/resize-observer/issues/38\n */ const resizeObserver = new ResizeObserver(()=>{\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return ()=>{\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [\n element,\n handleResize\n ]);\n}\n/* -----------------------------------------------------------------------------------------------*/ const $57acba87d6e25586$export$be92b6f5f03c0fe9 = $57acba87d6e25586$export$ccf8d8d7bbf3c2cc;\nconst $57acba87d6e25586$export$d5c6c08dc2d3ca7 = $57acba87d6e25586$export$a21cbf9f11fca853;\nconst $57acba87d6e25586$export$9a4e88b92edfce6b = $57acba87d6e25586$export$2fabd85d0eba3c57;\nconst $57acba87d6e25586$export$6521433ed15a34db = $57acba87d6e25586$export$9fba1154677d7cd2;\nconst $57acba87d6e25586$export$ac61190d9fc311a9 = $57acba87d6e25586$export$56969d565df7cc4b;\n\n\n\n\nexport {$57acba87d6e25586$export$488468afe3a6f2b1 as createScrollAreaScope, $57acba87d6e25586$export$ccf8d8d7bbf3c2cc as ScrollArea, $57acba87d6e25586$export$a21cbf9f11fca853 as ScrollAreaViewport, $57acba87d6e25586$export$2fabd85d0eba3c57 as ScrollAreaScrollbar, $57acba87d6e25586$export$9fba1154677d7cd2 as ScrollAreaThumb, $57acba87d6e25586$export$56969d565df7cc4b as ScrollAreaCorner, $57acba87d6e25586$export$be92b6f5f03c0fe9 as Root, $57acba87d6e25586$export$d5c6c08dc2d3ca7 as Viewport, $57acba87d6e25586$export$9a4e88b92edfce6b as Scrollbar, $57acba87d6e25586$export$6521433ed15a34db as Thumb, $57acba87d6e25586$export$ac61190d9fc311a9 as Corner};\n//# sourceMappingURL=index.module.js.map\n","import {createContext as $3bkAK$createContext, useMemo as $3bkAK$useMemo, createElement as $3bkAK$createElement, useContext as $3bkAK$useContext} from \"react\";\n\n\nfunction $c512c27ab02ef895$export$fd42f52fd3ae1109(rootComponentName, defaultContext) {\n const Context = /*#__PURE__*/ $3bkAK$createContext(defaultContext);\n function Provider(props) {\n const { children: children , ...context } = props; // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = $3bkAK$useMemo(()=>context\n , Object.values(context));\n return /*#__PURE__*/ $3bkAK$createElement(Context.Provider, {\n value: value\n }, children);\n }\n function useContext(consumerName) {\n const context = $3bkAK$useContext(Context);\n if (context) return context;\n if (defaultContext !== undefined) return defaultContext; // if a defaultContext wasn't specified, it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + 'Provider';\n return [\n Provider,\n useContext\n ];\n}\n/* -------------------------------------------------------------------------------------------------\n * createContextScope\n * -----------------------------------------------------------------------------------------------*/ function $c512c27ab02ef895$export$50c7b4e9d9f19c1(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n /* -----------------------------------------------------------------------------------------------\n * createContext\n * ---------------------------------------------------------------------------------------------*/ function $c512c27ab02ef895$export$fd42f52fd3ae1109(rootComponentName, defaultContext) {\n const BaseContext = /*#__PURE__*/ $3bkAK$createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [\n ...defaultContexts,\n defaultContext\n ];\n function Provider(props) {\n const { scope: scope , children: children , ...context } = props;\n const Context = (scope === null || scope === void 0 ? void 0 : scope[scopeName][index]) || BaseContext; // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = $3bkAK$useMemo(()=>context\n , Object.values(context));\n return /*#__PURE__*/ $3bkAK$createElement(Context.Provider, {\n value: value\n }, children);\n }\n function useContext(consumerName, scope) {\n const Context = (scope === null || scope === void 0 ? void 0 : scope[scopeName][index]) || BaseContext;\n const context = $3bkAK$useContext(Context);\n if (context) return context;\n if (defaultContext !== undefined) return defaultContext; // if a defaultContext wasn't specified, it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + 'Provider';\n return [\n Provider,\n useContext\n ];\n }\n /* -----------------------------------------------------------------------------------------------\n * createScope\n * ---------------------------------------------------------------------------------------------*/ const createScope = ()=>{\n const scopeContexts = defaultContexts.map((defaultContext)=>{\n return /*#__PURE__*/ $3bkAK$createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = (scope === null || scope === void 0 ? void 0 : scope[scopeName]) || scopeContexts;\n return $3bkAK$useMemo(()=>({\n [`__scope${scopeName}`]: {\n ...scope,\n [scopeName]: contexts\n }\n })\n , [\n scope,\n contexts\n ]);\n };\n };\n createScope.scopeName = scopeName;\n return [\n $c512c27ab02ef895$export$fd42f52fd3ae1109,\n $c512c27ab02ef895$var$composeContextScopes(createScope, ...createContextScopeDeps)\n ];\n}\n/* -------------------------------------------------------------------------------------------------\n * composeContextScopes\n * -----------------------------------------------------------------------------------------------*/ function $c512c27ab02ef895$var$composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope1 = ()=>{\n const scopeHooks = scopes.map((createScope)=>({\n useScope: createScope(),\n scopeName: createScope.scopeName\n })\n );\n return function useComposedScopes(overrideScopes) {\n const nextScopes1 = scopeHooks.reduce((nextScopes, { useScope: useScope , scopeName: scopeName })=>{\n // We are calling a hook inside a callback which React warns against to avoid inconsistent\n // renders, however, scoping doesn't have render side effects so we ignore the rule.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return {\n ...nextScopes,\n ...currentScope\n };\n }, {});\n return $3bkAK$useMemo(()=>({\n [`__scope${baseScope.scopeName}`]: nextScopes1\n })\n , [\n nextScopes1\n ]);\n };\n };\n createScope1.scopeName = baseScope.scopeName;\n return createScope1;\n}\n\n\n\n\nexport {$c512c27ab02ef895$export$fd42f52fd3ae1109 as createContext, $c512c27ab02ef895$export$50c7b4e9d9f19c1 as createContextScope};\n//# sourceMappingURL=index.module.js.map\n","function $ae6933e535247d3d$export$7d15b64cf5a3a4c4(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\n\n\n\n\nexport {$ae6933e535247d3d$export$7d15b64cf5a3a4c4 as clamp};\n//# sourceMappingURL=index.module.js.map\n","import { createStyles, rem, getStylesRef } from '@mantine/styles';\n\nvar useStyles = createStyles((theme, { scrollbarSize, offsetScrollbars, scrollbarHovered, hidden }) => ({\n root: {\n overflow: \"hidden\"\n },\n viewport: {\n width: \"100%\",\n height: \"100%\",\n paddingRight: offsetScrollbars ? rem(scrollbarSize) : void 0,\n paddingBottom: offsetScrollbars ? rem(scrollbarSize) : void 0\n },\n scrollbar: {\n display: hidden ? \"none\" : \"flex\",\n userSelect: \"none\",\n touchAction: \"none\",\n boxSizing: \"border-box\",\n padding: `calc(${rem(scrollbarSize)} / 5)`,\n transition: \"background-color 150ms ease, opacity 150ms ease\",\n \"&:hover\": {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[8] : theme.colors.gray[0],\n [`& .${getStylesRef(\"thumb\")}`]: {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.fn.rgba(theme.white, 0.5) : theme.fn.rgba(theme.black, 0.5)\n }\n },\n '&[data-orientation=\"vertical\"]': {\n width: rem(scrollbarSize)\n },\n '&[data-orientation=\"horizontal\"]': {\n flexDirection: \"column\",\n height: rem(scrollbarSize)\n },\n '&[data-state=\"hidden\"]': {\n display: \"none\",\n opacity: 0\n }\n },\n thumb: {\n ref: getStylesRef(\"thumb\"),\n flex: 1,\n backgroundColor: theme.colorScheme === \"dark\" ? theme.fn.rgba(theme.white, 0.4) : theme.fn.rgba(theme.black, 0.4),\n borderRadius: rem(scrollbarSize),\n position: \"relative\",\n transition: \"background-color 150ms ease\",\n display: hidden ? \"none\" : void 0,\n overflow: \"hidden\",\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"100%\",\n height: \"100%\",\n minWidth: rem(44),\n minHeight: rem(44)\n }\n },\n corner: {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[0],\n transition: \"opacity 150ms ease\",\n opacity: scrollbarHovered ? 1 : 0,\n display: hidden ? \"none\" : void 0\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=ScrollArea.styles.js.map\n","import React, { forwardRef, useState } from 'react';\nimport * as RadixScrollArea from '@radix-ui/react-scroll-area';\nimport { useComponentDefaultProps, useMantineTheme } from '@mantine/styles';\nimport { packSx } from '@mantine/utils';\nimport useStyles from './ScrollArea.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n scrollbarSize: 12,\n scrollHideDelay: 1e3,\n type: \"hover\",\n offsetScrollbars: false\n};\nconst _ScrollArea = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"ScrollArea\", defaultProps, props), {\n children,\n className,\n classNames,\n styles,\n scrollbarSize,\n scrollHideDelay,\n type,\n dir,\n offsetScrollbars,\n viewportRef,\n onScrollPositionChange,\n unstyled,\n variant,\n viewportProps\n } = _a, others = __objRest(_a, [\n \"children\",\n \"className\",\n \"classNames\",\n \"styles\",\n \"scrollbarSize\",\n \"scrollHideDelay\",\n \"type\",\n \"dir\",\n \"offsetScrollbars\",\n \"viewportRef\",\n \"onScrollPositionChange\",\n \"unstyled\",\n \"variant\",\n \"viewportProps\"\n ]);\n const [scrollbarHovered, setScrollbarHovered] = useState(false);\n const theme = useMantineTheme();\n const { classes, cx } = useStyles({ scrollbarSize, offsetScrollbars, scrollbarHovered, hidden: type === \"never\" }, { name: \"ScrollArea\", classNames, styles, unstyled, variant });\n return /* @__PURE__ */ React.createElement(RadixScrollArea.Root, {\n type: type === \"never\" ? \"always\" : type,\n scrollHideDelay,\n dir: dir || theme.dir,\n ref,\n asChild: true\n }, /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className)\n }, others), /* @__PURE__ */ React.createElement(RadixScrollArea.Viewport, __spreadProps(__spreadValues({}, viewportProps), {\n className: classes.viewport,\n ref: viewportRef,\n onScroll: typeof onScrollPositionChange === \"function\" ? ({ currentTarget }) => onScrollPositionChange({\n x: currentTarget.scrollLeft,\n y: currentTarget.scrollTop\n }) : void 0\n }), children), /* @__PURE__ */ React.createElement(RadixScrollArea.Scrollbar, {\n orientation: \"horizontal\",\n className: classes.scrollbar,\n forceMount: true,\n onMouseEnter: () => setScrollbarHovered(true),\n onMouseLeave: () => setScrollbarHovered(false)\n }, /* @__PURE__ */ React.createElement(RadixScrollArea.Thumb, {\n className: classes.thumb\n })), /* @__PURE__ */ React.createElement(RadixScrollArea.Scrollbar, {\n orientation: \"vertical\",\n className: classes.scrollbar,\n forceMount: true,\n onMouseEnter: () => setScrollbarHovered(true),\n onMouseLeave: () => setScrollbarHovered(false)\n }, /* @__PURE__ */ React.createElement(RadixScrollArea.Thumb, {\n className: classes.thumb\n })), /* @__PURE__ */ React.createElement(RadixScrollArea.Corner, {\n className: classes.corner\n })));\n});\nconst ScrollAreaAutosize = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"ScrollAreaAutosize\", defaultProps, props), {\n children,\n classNames,\n styles,\n scrollbarSize,\n scrollHideDelay,\n type,\n dir,\n offsetScrollbars,\n viewportRef,\n onScrollPositionChange,\n unstyled,\n sx,\n variant,\n viewportProps\n } = _a, others = __objRest(_a, [\n \"children\",\n \"classNames\",\n \"styles\",\n \"scrollbarSize\",\n \"scrollHideDelay\",\n \"type\",\n \"dir\",\n \"offsetScrollbars\",\n \"viewportRef\",\n \"onScrollPositionChange\",\n \"unstyled\",\n \"sx\",\n \"variant\",\n \"viewportProps\"\n ]);\n return /* @__PURE__ */ React.createElement(Box, __spreadProps(__spreadValues({}, others), {\n ref,\n sx: [{ display: \"flex\" }, ...packSx(sx)]\n }), /* @__PURE__ */ React.createElement(Box, {\n sx: { display: \"flex\", flexDirection: \"column\", flex: 1 }\n }, /* @__PURE__ */ React.createElement(_ScrollArea, {\n classNames,\n styles,\n scrollHideDelay,\n scrollbarSize,\n type,\n dir,\n offsetScrollbars,\n viewportRef,\n onScrollPositionChange,\n unstyled,\n variant,\n viewportProps\n }, children)));\n});\nScrollAreaAutosize.displayName = \"@mantine/core/ScrollAreaAutosize\";\n_ScrollArea.displayName = \"@mantine/core/ScrollArea\";\n_ScrollArea.Autosize = ScrollAreaAutosize;\nconst ScrollArea = _ScrollArea;\n\nexport { ScrollArea, _ScrollArea };\n//# sourceMappingURL=ScrollArea.js.map\n","import { useRef, useState, useMemo } from 'react';\nimport { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect.js';\n\nconst defaultState = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n};\nfunction useResizeObserver() {\n const frameID = useRef(0);\n const ref = useRef(null);\n const [rect, setRect] = useState(defaultState);\n const observer = useMemo(() => typeof window !== \"undefined\" ? new ResizeObserver((entries) => {\n const entry = entries[0];\n if (entry) {\n cancelAnimationFrame(frameID.current);\n frameID.current = requestAnimationFrame(() => {\n if (ref.current) {\n setRect(entry.contentRect);\n }\n });\n }\n }) : null, []);\n useIsomorphicEffect(() => {\n if (ref.current) {\n observer.observe(ref.current);\n setRect(ref.current.getBoundingClientRect());\n }\n return () => {\n observer.disconnect();\n if (frameID.current) {\n cancelAnimationFrame(frameID.current);\n }\n };\n }, [ref.current]);\n return [ref, rect];\n}\nfunction useElementSize() {\n const [ref, { width, height }] = useResizeObserver();\n return { ref, width, height };\n}\n\nexport { useElementSize, useResizeObserver };\n//# sourceMappingURL=use-resize-observer.js.map\n","import { createStyles, getStylesRef, rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst WRAPPER_PADDING = 4;\nconst sizes = {\n xs: `${rem(3)} ${rem(6)}`,\n sm: `${rem(5)} ${rem(10)}`,\n md: `${rem(7)} ${rem(14)}`,\n lg: `${rem(9)} ${rem(16)}`,\n xl: `${rem(12)} ${rem(20)}`\n};\nvar useStyles = createStyles((theme, {\n fullWidth,\n color,\n radius,\n shouldAnimate,\n transitionDuration,\n transitionTimingFunction,\n orientation\n}, { size }) => {\n const vertical = orientation === \"vertical\";\n const colors = theme.fn.variant({ variant: \"filled\", color });\n return {\n label: __spreadProps(__spreadValues(__spreadValues({\n ref: getStylesRef(\"label\")\n }, theme.fn.focusStyles()), theme.fn.fontStyles()), {\n WebkitTapHighlightColor: \"transparent\",\n borderRadius: theme.fn.radius(radius),\n fontWeight: 500,\n fontSize: size in theme.fontSizes ? theme.fontSizes[size] : theme.fontSizes.sm,\n cursor: \"pointer\",\n display: \"block\",\n textAlign: \"center\",\n padding: sizes[size in sizes ? size : \"sm\"],\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n userSelect: \"none\",\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[1] : theme.colors.gray[7],\n transition: `color ${shouldAnimate ? 0 : transitionDuration}ms ${transitionTimingFunction || theme.transitionTimingFunction}`,\n \"&:hover\": {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black\n },\n \"&[data-disabled]\": {\n \"&, &:hover\": {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5],\n cursor: \"not-allowed\",\n pointerEvents: \"none\"\n }\n },\n \"&[data-active]\": {\n \"&, &:hover\": {\n color: color || theme.colorScheme === \"dark\" ? theme.white : theme.black\n }\n }\n }),\n control: {\n ref: getStylesRef(\"control\"),\n position: \"relative\",\n boxSizing: \"border-box\",\n flex: 1,\n zIndex: 2,\n transition: `border-left-color ${shouldAnimate ? 0 : transitionDuration}ms ${transitionTimingFunction || theme.transitionTimingFunction}`,\n \"&:not(:first-of-type)\": {\n borderStyle: \"solid\",\n borderWidth: vertical ? `${rem(1)} 0 0 0` : `0 0 0 ${rem(1)}`,\n borderColor: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[3]\n }\n },\n input: {\n height: 0,\n width: 0,\n position: \"absolute\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n opacity: 0,\n \"&:focus\": {\n outline: \"none\",\n [`& + .${getStylesRef(\"label\")}`]: __spreadValues({}, theme.focusRing === \"always\" || theme.focusRing === \"auto\" ? theme.focusRingStyles.styles(theme) : theme.focusRingStyles.resetStyles(theme)),\n \"&:focus:not(:focus-visible)\": {\n [`& + .${getStylesRef(\"label\")}`]: __spreadValues({}, theme.focusRing === \"auto\" || theme.focusRing === \"never\" ? theme.focusRingStyles.resetStyles(theme) : null)\n }\n },\n \"&:disabled + label\": {\n \"&, &:hover\": {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5],\n cursor: \"not-allowed\",\n pointerEvents: \"none\"\n }\n }\n },\n root: {\n position: \"relative\",\n display: fullWidth || vertical ? \"flex\" : \"inline-flex\",\n width: vertical && !fullWidth ? \"max-content\" : \"auto\",\n flexDirection: vertical ? \"column\" : \"row\",\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[8] : theme.colors.gray[1],\n borderRadius: theme.fn.radius(radius),\n overflow: \"hidden\",\n padding: WRAPPER_PADDING\n },\n controlActive: {\n borderLeftColor: \"transparent !important\",\n borderTopColor: \"transparent !important\",\n [`& + .${getStylesRef(\"control\")}`]: {\n [vertical ? \"borderTopColor\" : \"borderLeftColor\"]: \"transparent !important\"\n },\n borderRadius: theme.fn.radius(radius),\n boxShadow: shouldAnimate ? color || theme.colorScheme === \"dark\" ? \"none\" : theme.shadows.xs : void 0,\n backgroundColor: shouldAnimate ? color ? colors.background : theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.white : void 0\n },\n indicator: {\n boxSizing: \"border-box\",\n borderRadius: theme.fn.radius(radius),\n position: \"absolute\",\n zIndex: 1,\n boxShadow: color || theme.colorScheme === \"dark\" ? \"none\" : theme.shadows.xs,\n transition: `transform ${shouldAnimate ? 0 : transitionDuration}ms ${theme.transitionTimingFunction}, width ${shouldAnimate ? 0 : transitionDuration / 2}ms ${transitionTimingFunction || theme.transitionTimingFunction}`,\n backgroundColor: color ? colors.background : theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.white\n }\n };\n});\n\nexport default useStyles;\nexport { WRAPPER_PADDING };\n//# sourceMappingURL=SegmentedControl.styles.js.map\n","import React, { forwardRef, useRef, useState, useEffect } from 'react';\nimport { useReducedMotion, useUncontrolled, useId, useResizeObserver, useIsomorphicEffect, useMergedRef } from '@mantine/hooks';\nimport { useComponentDefaultProps, useMantineTheme } from '@mantine/styles';\nimport useStyles, { WRAPPER_PADDING } from './SegmentedControl.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n disabled: false,\n size: \"sm\",\n transitionDuration: 200\n};\nconst SegmentedControl = forwardRef((props, ref) => {\n var _b, _c, _d, _e;\n const _a = useComponentDefaultProps(\"SegmentedControl\", defaultProps, props), {\n className,\n disabled,\n data: _data,\n name,\n value,\n onChange,\n color,\n fullWidth,\n radius,\n size,\n transitionDuration,\n transitionTimingFunction,\n classNames,\n styles,\n defaultValue,\n orientation,\n unstyled,\n variant,\n readOnly\n } = _a, others = __objRest(_a, [\n \"className\",\n \"disabled\",\n \"data\",\n \"name\",\n \"value\",\n \"onChange\",\n \"color\",\n \"fullWidth\",\n \"radius\",\n \"size\",\n \"transitionDuration\",\n \"transitionTimingFunction\",\n \"classNames\",\n \"styles\",\n \"defaultValue\",\n \"orientation\",\n \"unstyled\",\n \"variant\",\n \"readOnly\"\n ]);\n const theme = useMantineTheme();\n const shouldReduceMotion = useReducedMotion();\n const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;\n const data = _data.map((item) => typeof item === \"string\" ? { label: item, value: item } : item);\n const mounted = useRef();\n const [shouldAnimate, setShouldAnimate] = useState(false);\n const [_value, handleValueChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: Array.isArray(data) ? (_e = (_d = (_b = data.find((item) => !item.disabled)) == null ? void 0 : _b.value) != null ? _d : (_c = data[0]) == null ? void 0 : _c.value) != null ? _e : null : null,\n onChange\n });\n const { classes, cx } = useStyles({\n fullWidth,\n color,\n radius,\n shouldAnimate: reduceMotion || !shouldAnimate,\n transitionDuration,\n transitionTimingFunction,\n orientation\n }, { name: \"SegmentedControl\", classNames, styles, unstyled, variant, size });\n const [activePosition, setActivePosition] = useState({\n width: 0,\n height: 0,\n translate: [0, 0]\n });\n const uuid = useId(name);\n const refs = useRef({});\n const [observerRef, containerRect] = useResizeObserver();\n useIsomorphicEffect(() => {\n if (!mounted.current) {\n mounted.current = true;\n setShouldAnimate(false);\n } else {\n setShouldAnimate(true);\n }\n });\n useEffect(() => {\n if (_value in refs.current && observerRef.current) {\n const element = refs.current[_value];\n const elementRect = element.getBoundingClientRect();\n const scaledValue = element.offsetWidth / elementRect.width;\n const width = elementRect.width * scaledValue || 0;\n const height = elementRect.height * scaledValue || 0;\n const offsetRight = containerRect.width - element.parentElement.offsetLeft + WRAPPER_PADDING - width;\n const offsetLeft = element.parentElement.offsetLeft - WRAPPER_PADDING;\n setActivePosition({\n width,\n height,\n translate: [\n theme.dir === \"rtl\" ? offsetRight : offsetLeft,\n element.parentElement.offsetTop - WRAPPER_PADDING\n ]\n });\n }\n }, [_value, containerRect]);\n const controls = data.map((item) => /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(classes.control, { [classes.controlActive]: _value === item.value }),\n key: item.value\n }, /* @__PURE__ */ React.createElement(\"input\", {\n className: classes.input,\n disabled: disabled || item.disabled,\n type: \"radio\",\n name: uuid,\n value: item.value,\n id: `${uuid}-${item.value}`,\n checked: _value === item.value,\n onChange: () => !readOnly && handleValueChange(item.value)\n }), /* @__PURE__ */ React.createElement(\"label\", {\n className: classes.label,\n \"data-active\": _value === item.value && !(disabled || item.disabled) || void 0,\n \"data-disabled\": disabled || item.disabled || void 0,\n htmlFor: `${uuid}-${item.value}`,\n ref: (node) => {\n refs.current[item.value] = node;\n }\n }, item.label)));\n const mergedRef = useMergedRef(observerRef, ref);\n if (data.length === 0) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className),\n ref: mergedRef\n }, others), typeof _value === \"string\" && shouldAnimate && /* @__PURE__ */ React.createElement(Box, {\n component: \"span\",\n className: classes.indicator,\n sx: {\n width: activePosition.width,\n height: activePosition.height,\n transform: `translate(${activePosition.translate[0]}px, ${activePosition.translate[1]}px)`\n }\n }), controls);\n});\nSegmentedControl.displayName = \"@mantine/core/SegmentedControl\";\n\nexport { SegmentedControl };\n//# sourceMappingURL=SegmentedControl.js.map\n","import React, { forwardRef } from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst DefaultItem = forwardRef((_a, ref) => {\n var _b = _a, { label, value } = _b, others = __objRest(_b, [\"label\", \"value\"]);\n return /* @__PURE__ */ React.createElement(\"div\", __spreadValues({\n ref\n }, others), label || value);\n});\nDefaultItem.displayName = \"@mantine/core/DefaultItem\";\n\nexport { DefaultItem };\n//# sourceMappingURL=DefaultItem.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles(() => ({\n input: {\n \"&:not(:disabled)\": {\n cursor: \"pointer\",\n \"&::selection\": {\n backgroundColor: \"transparent\"\n }\n }\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Select.styles.js.map\n","import React, { forwardRef, useState, useRef, useEffect } from 'react';\nimport { useScrollIntoView, useUncontrolled, useDidUpdate, useMergedRef } from '@mantine/hooks';\nimport { getDefaultZIndex } from '@mantine/styles';\nimport { groupOptions } from '@mantine/utils';\nimport { SelectScrollArea } from './SelectScrollArea/SelectScrollArea.js';\nimport { DefaultItem } from './DefaultItem/DefaultItem.js';\nimport { getSelectRightSectionProps } from './SelectRightSection/get-select-right-section-props.js';\nimport { SelectItems } from './SelectItems/SelectItems.js';\nimport { SelectPopover } from './SelectPopover/SelectPopover.js';\nimport { filterData } from './filter-data/filter-data.js';\nimport useStyles from './Select.styles.js';\nimport { useInputProps } from '../Input/use-input-props.js';\nimport { Input } from '../Input/Input.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction defaultFilter(value, item) {\n return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\nfunction defaultShouldCreate(query, data) {\n return !!query && !data.some((item) => item.label.toLowerCase() === query.toLowerCase());\n}\nconst defaultProps = {\n required: false,\n size: \"sm\",\n shadow: \"sm\",\n itemComponent: DefaultItem,\n transitionProps: { transition: \"fade\", duration: 0 },\n initiallyOpened: false,\n filter: defaultFilter,\n maxDropdownHeight: 220,\n searchable: false,\n clearable: false,\n limit: Infinity,\n disabled: false,\n creatable: false,\n shouldCreate: defaultShouldCreate,\n selectOnBlur: false,\n switchDirectionOnFlip: false,\n filterDataOnExactSearchMatch: false,\n zIndex: getDefaultZIndex(\"popover\"),\n positionDependencies: [],\n dropdownPosition: \"flip\"\n};\nconst Select = forwardRef((props, ref) => {\n const _a = useInputProps(\"Select\", defaultProps, props), {\n inputProps,\n wrapperProps,\n shadow,\n data,\n value,\n defaultValue,\n onChange,\n itemComponent,\n onKeyDown,\n onBlur,\n onFocus,\n transitionProps,\n initiallyOpened,\n unstyled,\n classNames,\n styles,\n filter,\n maxDropdownHeight,\n searchable,\n clearable,\n nothingFound,\n limit,\n disabled,\n onSearchChange,\n searchValue,\n rightSection,\n rightSectionWidth,\n creatable,\n getCreateLabel,\n shouldCreate,\n selectOnBlur,\n onCreate,\n dropdownComponent,\n onDropdownClose,\n onDropdownOpen,\n withinPortal,\n portalProps,\n switchDirectionOnFlip,\n zIndex,\n name,\n dropdownPosition,\n allowDeselect,\n placeholder,\n filterDataOnExactSearchMatch,\n form,\n positionDependencies,\n readOnly,\n clearButtonProps,\n hoverOnSearchChange\n } = _a, others = __objRest(_a, [\n \"inputProps\",\n \"wrapperProps\",\n \"shadow\",\n \"data\",\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"itemComponent\",\n \"onKeyDown\",\n \"onBlur\",\n \"onFocus\",\n \"transitionProps\",\n \"initiallyOpened\",\n \"unstyled\",\n \"classNames\",\n \"styles\",\n \"filter\",\n \"maxDropdownHeight\",\n \"searchable\",\n \"clearable\",\n \"nothingFound\",\n \"limit\",\n \"disabled\",\n \"onSearchChange\",\n \"searchValue\",\n \"rightSection\",\n \"rightSectionWidth\",\n \"creatable\",\n \"getCreateLabel\",\n \"shouldCreate\",\n \"selectOnBlur\",\n \"onCreate\",\n \"dropdownComponent\",\n \"onDropdownClose\",\n \"onDropdownOpen\",\n \"withinPortal\",\n \"portalProps\",\n \"switchDirectionOnFlip\",\n \"zIndex\",\n \"name\",\n \"dropdownPosition\",\n \"allowDeselect\",\n \"placeholder\",\n \"filterDataOnExactSearchMatch\",\n \"form\",\n \"positionDependencies\",\n \"readOnly\",\n \"clearButtonProps\",\n \"hoverOnSearchChange\"\n ]);\n const { classes, cx, theme } = useStyles();\n const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const inputRef = useRef();\n const itemsRefs = useRef({});\n const [direction, setDirection] = useState(\"column\");\n const isColumn = direction === \"column\";\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true\n });\n const isDeselectable = allowDeselect === void 0 ? clearable : allowDeselect;\n const setDropdownOpened = (opened) => {\n if (dropdownOpened !== opened) {\n _setDropdownOpened(opened);\n const handler = opened ? onDropdownOpen : onDropdownClose;\n typeof handler === \"function\" && handler();\n }\n };\n const isCreatable = creatable && typeof getCreateLabel === \"function\";\n let createLabel = null;\n const formattedData = data.map((item) => typeof item === \"string\" ? { label: item, value: item } : item);\n const sortedData = groupOptions({ data: formattedData });\n const [_value, handleChange, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange\n });\n const selectedValue = sortedData.find((item) => item.value === _value);\n const [inputValue, setInputValue] = useUncontrolled({\n value: searchValue,\n defaultValue: (selectedValue == null ? void 0 : selectedValue.label) || \"\",\n finalValue: void 0,\n onChange: onSearchChange\n });\n const handleSearchChange = (val) => {\n setInputValue(val);\n if (searchable && typeof onSearchChange === \"function\") {\n onSearchChange(val);\n }\n };\n const handleClear = () => {\n var _a2;\n if (!readOnly) {\n handleChange(null);\n if (!controlled) {\n handleSearchChange(\"\");\n }\n (_a2 = inputRef.current) == null ? void 0 : _a2.focus();\n }\n };\n useEffect(() => {\n const newSelectedValue = sortedData.find((item) => item.value === _value);\n if (newSelectedValue) {\n handleSearchChange(newSelectedValue.label);\n } else if (!isCreatable || !_value) {\n handleSearchChange(\"\");\n }\n }, [_value]);\n useEffect(() => {\n if (selectedValue && (!searchable || !dropdownOpened)) {\n handleSearchChange(selectedValue.label);\n }\n }, [selectedValue == null ? void 0 : selectedValue.label]);\n const handleItemSelect = (item) => {\n if (!readOnly) {\n if (isDeselectable && (selectedValue == null ? void 0 : selectedValue.value) === item.value) {\n handleChange(null);\n setDropdownOpened(false);\n } else {\n if (item.creatable && typeof onCreate === \"function\") {\n const createdItem = onCreate(item.value);\n if (typeof createdItem !== \"undefined\" && createdItem !== null) {\n if (typeof createdItem === \"string\") {\n handleChange(createdItem);\n } else {\n handleChange(createdItem.value);\n }\n }\n } else {\n handleChange(item.value);\n }\n if (!controlled) {\n handleSearchChange(item.label);\n }\n setHovered(-1);\n setDropdownOpened(false);\n inputRef.current.focus();\n }\n }\n };\n const filteredData = filterData({\n data: sortedData,\n searchable,\n limit,\n searchValue: inputValue,\n filter,\n filterDataOnExactSearchMatch,\n value: _value\n });\n if (isCreatable && shouldCreate(inputValue, filteredData)) {\n createLabel = getCreateLabel(inputValue);\n filteredData.push({ label: inputValue, value: inputValue, creatable: true });\n }\n const getNextIndex = (index, nextItem, compareFn) => {\n let i = index;\n while (compareFn(i)) {\n i = nextItem(i);\n if (!filteredData[i].disabled)\n return i;\n }\n return index;\n };\n useDidUpdate(() => {\n if (hoverOnSearchChange && inputValue) {\n setHovered(0);\n } else {\n setHovered(-1);\n }\n }, [inputValue, hoverOnSearchChange]);\n const selectedItemIndex = _value ? filteredData.findIndex((el) => el.value === _value) : 0;\n const shouldShowDropdown = !readOnly && (filteredData.length > 0 ? dropdownOpened : dropdownOpened && !!nothingFound);\n const handlePrevious = () => {\n setHovered((current) => {\n var _a2;\n const nextIndex = getNextIndex(current, (index) => index - 1, (index) => index > 0);\n targetRef.current = itemsRefs.current[(_a2 = filteredData[nextIndex]) == null ? void 0 : _a2.value];\n shouldShowDropdown && scrollIntoView({ alignment: isColumn ? \"start\" : \"end\" });\n return nextIndex;\n });\n };\n const handleNext = () => {\n setHovered((current) => {\n var _a2;\n const nextIndex = getNextIndex(current, (index) => index + 1, (index) => index < filteredData.length - 1);\n targetRef.current = itemsRefs.current[(_a2 = filteredData[nextIndex]) == null ? void 0 : _a2.value];\n shouldShowDropdown && scrollIntoView({ alignment: isColumn ? \"end\" : \"start\" });\n return nextIndex;\n });\n };\n const scrollSelectedItemIntoView = () => window.setTimeout(() => {\n var _a2;\n targetRef.current = itemsRefs.current[(_a2 = filteredData[selectedItemIndex]) == null ? void 0 : _a2.value];\n scrollIntoView({ alignment: isColumn ? \"end\" : \"start\" });\n }, 50);\n useDidUpdate(() => {\n if (shouldShowDropdown)\n scrollSelectedItemIntoView();\n }, [shouldShowDropdown]);\n const handleInputKeydown = (event) => {\n typeof onKeyDown === \"function\" && onKeyDown(event);\n switch (event.key) {\n case \"ArrowUp\": {\n event.preventDefault();\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handlePrevious() : handleNext();\n }\n break;\n }\n case \"ArrowDown\": {\n event.preventDefault();\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handleNext() : handlePrevious();\n }\n break;\n }\n case \"Home\": {\n if (!searchable) {\n event.preventDefault();\n if (!dropdownOpened) {\n setDropdownOpened(true);\n }\n const firstItemIndex = filteredData.findIndex((item) => !item.disabled);\n setHovered(firstItemIndex);\n shouldShowDropdown && scrollIntoView({ alignment: isColumn ? \"end\" : \"start\" });\n }\n break;\n }\n case \"End\": {\n if (!searchable) {\n event.preventDefault();\n if (!dropdownOpened) {\n setDropdownOpened(true);\n }\n const lastItemIndex = filteredData.map((item) => !!item.disabled).lastIndexOf(false);\n setHovered(lastItemIndex);\n shouldShowDropdown && scrollIntoView({ alignment: isColumn ? \"end\" : \"start\" });\n }\n break;\n }\n case \"Escape\": {\n event.preventDefault();\n setDropdownOpened(false);\n setHovered(-1);\n break;\n }\n case \" \": {\n if (!searchable) {\n event.preventDefault();\n if (filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n break;\n }\n case \"Enter\": {\n if (!searchable) {\n event.preventDefault();\n }\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n }\n }\n }\n };\n const handleInputBlur = (event) => {\n typeof onBlur === \"function\" && onBlur(event);\n const selected = sortedData.find((item) => item.value === _value);\n if (selectOnBlur && filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n }\n handleSearchChange((selected == null ? void 0 : selected.label) || \"\");\n setDropdownOpened(false);\n };\n const handleInputFocus = (event) => {\n typeof onFocus === \"function\" && onFocus(event);\n if (searchable) {\n setDropdownOpened(true);\n }\n };\n const handleInputChange = (event) => {\n if (!readOnly) {\n handleSearchChange(event.currentTarget.value);\n if (clearable && event.currentTarget.value === \"\") {\n handleChange(null);\n }\n setHovered(-1);\n setDropdownOpened(true);\n }\n };\n const handleInputClick = () => {\n if (!readOnly) {\n setDropdownOpened(!dropdownOpened);\n if (_value && !dropdownOpened) {\n setHovered(selectedItemIndex);\n }\n }\n };\n return /* @__PURE__ */ React.createElement(Input.Wrapper, __spreadProps(__spreadValues({}, wrapperProps), {\n __staticSelector: \"Select\"\n }), /* @__PURE__ */ React.createElement(SelectPopover, {\n opened: shouldShowDropdown,\n transitionProps,\n shadow,\n withinPortal,\n portalProps,\n __staticSelector: \"Select\",\n onDirectionChange: setDirection,\n switchDirectionOnFlip,\n zIndex,\n dropdownPosition,\n positionDependencies: [...positionDependencies, inputValue],\n classNames,\n styles,\n unstyled,\n variant: inputProps.variant\n }, /* @__PURE__ */ React.createElement(SelectPopover.Target, null, /* @__PURE__ */ React.createElement(\"div\", {\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-owns\": shouldShowDropdown ? `${inputProps.id}-items` : null,\n \"aria-controls\": inputProps.id,\n \"aria-expanded\": shouldShowDropdown,\n onMouseLeave: () => setHovered(-1),\n tabIndex: -1\n }, /* @__PURE__ */ React.createElement(\"input\", {\n type: \"hidden\",\n name,\n value: _value || \"\",\n form,\n disabled\n }), /* @__PURE__ */ React.createElement(Input, __spreadValues(__spreadProps(__spreadValues(__spreadValues({\n autoComplete: \"off\",\n type: \"search\"\n }, inputProps), others), {\n ref: useMergedRef(ref, inputRef),\n onKeyDown: handleInputKeydown,\n __staticSelector: \"Select\",\n value: inputValue,\n placeholder,\n onChange: handleInputChange,\n \"aria-autocomplete\": \"list\",\n \"aria-controls\": shouldShowDropdown ? `${inputProps.id}-items` : null,\n \"aria-activedescendant\": hovered >= 0 ? `${inputProps.id}-${hovered}` : null,\n onMouseDown: handleInputClick,\n onBlur: handleInputBlur,\n onFocus: handleInputFocus,\n readOnly: !searchable || readOnly,\n disabled,\n \"data-mantine-stop-propagation\": shouldShowDropdown,\n name: null,\n classNames: __spreadProps(__spreadValues({}, classNames), {\n input: cx({ [classes.input]: !searchable }, classNames == null ? void 0 : classNames.input)\n })\n }), getSelectRightSectionProps({\n theme,\n rightSection,\n rightSectionWidth,\n styles,\n size: inputProps.size,\n shouldClear: clearable && !!selectedValue,\n onClear: handleClear,\n error: wrapperProps.error,\n clearButtonProps,\n disabled,\n readOnly\n }))))), /* @__PURE__ */ React.createElement(SelectPopover.Dropdown, {\n component: dropdownComponent || SelectScrollArea,\n maxHeight: maxDropdownHeight,\n direction,\n id: inputProps.id,\n innerRef: scrollableRef,\n __staticSelector: \"Select\",\n classNames,\n styles\n }, /* @__PURE__ */ React.createElement(SelectItems, {\n data: filteredData,\n hovered,\n classNames,\n styles,\n isItemSelected: (val) => val === _value,\n uuid: inputProps.id,\n __staticSelector: \"Select\",\n onItemHover: setHovered,\n onItemSelect: handleItemSelect,\n itemsRefs,\n itemComponent,\n size: inputProps.size,\n nothingFound,\n creatable: isCreatable && !!createLabel,\n createLabel,\n \"aria-label\": wrapperProps.label,\n unstyled,\n variant: inputProps.variant\n }))));\n});\nSelect.displayName = \"@mantine/core/Select\";\n\nexport { Select, defaultFilter, defaultShouldCreate };\n//# sourceMappingURL=Select.js.map\n","function filterData({\n data,\n searchable,\n limit,\n searchValue,\n filter,\n value,\n filterDataOnExactSearchMatch\n}) {\n if (!searchable) {\n return data;\n }\n const selected = value != null ? data.find((item) => item.value === value) || null : null;\n if (selected && !filterDataOnExactSearchMatch && (selected == null ? void 0 : selected.label) === searchValue) {\n if (limit) {\n if (limit >= data.length) {\n return data;\n }\n const firstIndex = data.indexOf(selected);\n const lastIndex = firstIndex + limit;\n const firstIndexOffset = lastIndex - data.length;\n if (firstIndexOffset > 0) {\n return data.slice(firstIndex - firstIndexOffset);\n }\n return data.slice(firstIndex, lastIndex);\n }\n return data;\n }\n const result = [];\n for (let i = 0; i < data.length; i += 1) {\n if (filter(searchValue, data[i])) {\n result.push(data[i]);\n }\n if (result.length >= limit) {\n break;\n }\n }\n return result;\n}\n\nexport { filterData };\n//# sourceMappingURL=filter-data.js.map\n","import { createStyles, getSize } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar useStyles = createStyles((theme, _params, { size }) => ({\n item: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n boxSizing: \"border-box\",\n wordBreak: \"break-all\",\n textAlign: \"left\",\n width: \"100%\",\n padding: `calc(${getSize({ size, sizes: theme.spacing })} / 1.5) ${getSize({\n size,\n sizes: theme.spacing\n })}`,\n cursor: \"pointer\",\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black,\n borderRadius: theme.fn.radius(),\n \"&[data-hovered]\": {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[1]\n },\n \"&[data-selected]\": __spreadValues({\n backgroundColor: theme.fn.variant({ variant: \"filled\" }).background,\n color: theme.fn.variant({ variant: \"filled\" }).color\n }, theme.fn.hover({ backgroundColor: theme.fn.variant({ variant: \"filled\" }).hover })),\n \"&[data-disabled]\": {\n cursor: \"default\",\n color: theme.colors.dark[2]\n }\n }),\n nothingFound: {\n boxSizing: \"border-box\",\n color: theme.colors.gray[6],\n paddingTop: `calc(${getSize({ size, sizes: theme.spacing })} / 2)`,\n paddingBottom: `calc(${getSize({ size, sizes: theme.spacing })} / 2)`,\n textAlign: \"center\"\n },\n separator: {\n boxSizing: \"border-box\",\n textAlign: \"left\",\n width: \"100%\",\n padding: `calc(${getSize({ size, sizes: theme.spacing })} / 1.5) ${getSize({\n size,\n sizes: theme.spacing\n })}`\n },\n separatorLabel: {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5]\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=SelectItems.styles.js.map\n","import React from 'react';\nimport { randomId } from '@mantine/hooks';\nimport { Text } from '../../Text/Text.js';\nimport { Divider } from '../../Divider/Divider.js';\nimport useStyles from './SelectItems.styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction SelectItems({\n data,\n hovered,\n classNames,\n styles,\n isItemSelected,\n uuid,\n __staticSelector,\n onItemHover,\n onItemSelect,\n itemsRefs,\n itemComponent: Item,\n size,\n nothingFound,\n creatable,\n createLabel,\n unstyled,\n variant\n}) {\n const { classes } = useStyles(null, {\n classNames,\n styles,\n unstyled,\n name: __staticSelector,\n variant,\n size\n });\n const unGroupedItems = [];\n const groupedItems = [];\n let creatableDataIndex = null;\n const constructItemComponent = (item, index) => {\n const selected = typeof isItemSelected === \"function\" ? isItemSelected(item.value) : false;\n return /* @__PURE__ */ React.createElement(Item, __spreadValues({\n key: item.value,\n className: classes.item,\n \"data-disabled\": item.disabled || void 0,\n \"data-hovered\": !item.disabled && hovered === index || void 0,\n \"data-selected\": !item.disabled && selected || void 0,\n selected,\n onMouseEnter: () => onItemHover(index),\n id: `${uuid}-${index}`,\n role: \"option\",\n tabIndex: -1,\n \"aria-selected\": hovered === index,\n ref: (node) => {\n if (itemsRefs && itemsRefs.current) {\n itemsRefs.current[item.value] = node;\n }\n },\n onMouseDown: !item.disabled ? (event) => {\n event.preventDefault();\n onItemSelect(item);\n } : null,\n disabled: item.disabled,\n variant\n }, item));\n };\n let groupName = null;\n data.forEach((item, index) => {\n if (item.creatable) {\n creatableDataIndex = index;\n } else if (!item.group) {\n unGroupedItems.push(constructItemComponent(item, index));\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(/* @__PURE__ */ React.createElement(\"div\", {\n className: classes.separator,\n key: `__mantine-divider-${index}`\n }, /* @__PURE__ */ React.createElement(Divider, {\n classNames: { label: classes.separatorLabel },\n label: item.group\n })));\n }\n groupedItems.push(constructItemComponent(item, index));\n }\n });\n if (creatable) {\n const creatableDataItem = data[creatableDataIndex];\n unGroupedItems.push(/* @__PURE__ */ React.createElement(\"div\", {\n key: randomId(),\n className: classes.item,\n \"data-hovered\": hovered === creatableDataIndex || void 0,\n onMouseEnter: () => onItemHover(creatableDataIndex),\n onMouseDown: (event) => {\n event.preventDefault();\n onItemSelect(creatableDataItem);\n },\n tabIndex: -1,\n ref: (node) => {\n if (itemsRefs && itemsRefs.current) {\n itemsRefs.current[creatableDataItem.value] = node;\n }\n }\n }, createLabel));\n }\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(/* @__PURE__ */ React.createElement(\"div\", {\n className: classes.separator,\n key: \"empty-group-separator\"\n }, /* @__PURE__ */ React.createElement(Divider, null)));\n }\n return groupedItems.length > 0 || unGroupedItems.length > 0 ? /* @__PURE__ */ React.createElement(React.Fragment, null, groupedItems, unGroupedItems) : /* @__PURE__ */ React.createElement(Text, {\n size,\n unstyled,\n className: classes.nothingFound\n }, nothingFound);\n}\nSelectItems.displayName = \"@mantine/core/SelectItems\";\n\nexport { SelectItems };\n//# sourceMappingURL=SelectItems.js.map\n","import { createStyles, rem } from '@mantine/styles';\n\nvar useStyles = createStyles(() => ({\n dropdown: {},\n itemsWrapper: {\n padding: rem(4),\n display: \"flex\",\n width: \"100%\",\n boxSizing: \"border-box\"\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=SelectPopover.styles.js.map\n","import React from 'react';\nimport { rem } from '@mantine/styles';\nimport { SelectScrollArea } from '../SelectScrollArea/SelectScrollArea.js';\nimport useStyles from './SelectPopover.styles.js';\nimport { Popover } from '../../Popover/Popover.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction SelectPopoverDropdown(_a) {\n var _b = _a, {\n children,\n component = \"div\",\n maxHeight = 220,\n direction = \"column\",\n id,\n innerRef,\n __staticSelector,\n styles,\n classNames,\n unstyled\n } = _b, others = __objRest(_b, [\n \"children\",\n \"component\",\n \"maxHeight\",\n \"direction\",\n \"id\",\n \"innerRef\",\n \"__staticSelector\",\n \"styles\",\n \"classNames\",\n \"unstyled\"\n ]);\n const { classes } = useStyles(null, { name: __staticSelector, styles, classNames, unstyled });\n return /* @__PURE__ */ React.createElement(Popover.Dropdown, __spreadValues({\n p: 0,\n onMouseDown: (event) => event.preventDefault()\n }, others), /* @__PURE__ */ React.createElement(\"div\", {\n style: { maxHeight: rem(maxHeight), display: \"flex\" }\n }, /* @__PURE__ */ React.createElement(Box, {\n component: component || \"div\",\n id: `${id}-items`,\n \"aria-labelledby\": `${id}-label`,\n role: \"listbox\",\n onMouseDown: (event) => event.preventDefault(),\n style: { flex: 1, overflowY: component !== SelectScrollArea ? \"auto\" : void 0 },\n \"data-combobox-popover\": true,\n tabIndex: -1,\n ref: innerRef\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.itemsWrapper,\n style: { flexDirection: direction }\n }, children))));\n}\nfunction SelectPopover({\n opened,\n transitionProps = { transition: \"fade\", duration: 0 },\n shadow,\n withinPortal,\n portalProps,\n children,\n __staticSelector,\n onDirectionChange,\n switchDirectionOnFlip,\n zIndex,\n dropdownPosition,\n positionDependencies = [],\n classNames,\n styles,\n unstyled,\n readOnly,\n variant\n}) {\n return /* @__PURE__ */ React.createElement(Popover, {\n unstyled,\n classNames,\n styles,\n width: \"target\",\n withRoles: false,\n opened,\n middlewares: { flip: dropdownPosition === \"flip\", shift: false },\n position: dropdownPosition === \"flip\" ? \"bottom\" : dropdownPosition,\n positionDependencies,\n zIndex,\n __staticSelector,\n withinPortal,\n portalProps,\n transitionProps,\n shadow,\n disabled: readOnly,\n onPositionChange: (nextPosition) => switchDirectionOnFlip && (onDirectionChange == null ? void 0 : onDirectionChange(nextPosition === \"top\" ? \"column-reverse\" : \"column\")),\n variant\n }, children);\n}\nSelectPopover.Target = Popover.Target;\nSelectPopover.Dropdown = SelectPopoverDropdown;\n\nexport { SelectPopover };\n//# sourceMappingURL=SelectPopover.js.map\n","import React from 'react';\nimport { rem, useMantineTheme, getSize } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst iconSizes = {\n xs: rem(14),\n sm: rem(18),\n md: rem(20),\n lg: rem(24),\n xl: rem(28)\n};\nfunction ChevronIcon(_a) {\n var _b = _a, { size, error, style } = _b, others = __objRest(_b, [\"size\", \"error\", \"style\"]);\n const theme = useMantineTheme();\n const _size = getSize({ size, sizes: iconSizes });\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n style: __spreadValues({\n color: error ? theme.colors.red[6] : theme.colors.gray[6],\n width: _size,\n height: _size\n }, style),\n \"data-chevron\": true\n }, others), /* @__PURE__ */ React.createElement(\"path\", {\n d: \"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n}\n\nexport { ChevronIcon };\n//# sourceMappingURL=ChevronIcon.js.map\n","import React from 'react';\nimport { ChevronIcon } from './ChevronIcon.js';\nimport { CloseButton } from '../../CloseButton/CloseButton.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction SelectRightSection({\n shouldClear,\n clearButtonProps,\n onClear,\n size,\n error\n}) {\n return shouldClear ? /* @__PURE__ */ React.createElement(CloseButton, __spreadProps(__spreadValues({}, clearButtonProps), {\n variant: \"transparent\",\n onClick: onClear,\n size,\n onMouseDown: (event) => event.preventDefault()\n })) : /* @__PURE__ */ React.createElement(ChevronIcon, {\n error,\n size\n });\n}\nSelectRightSection.displayName = \"@mantine/core/SelectRightSection\";\n\nexport { SelectRightSection };\n//# sourceMappingURL=SelectRightSection.js.map\n","import React from 'react';\nimport { SelectRightSection } from './SelectRightSection.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction getSelectRightSectionProps(_a) {\n var _b = _a, {\n styles,\n rightSection,\n rightSectionWidth,\n theme\n } = _b, props = __objRest(_b, [\n \"styles\",\n \"rightSection\",\n \"rightSectionWidth\",\n \"theme\"\n ]);\n if (rightSection) {\n return { rightSection, rightSectionWidth, styles };\n }\n const _styles = typeof styles === \"function\" ? styles(theme) : styles;\n return {\n rightSection: !props.readOnly && !(props.disabled && props.shouldClear) && /* @__PURE__ */ React.createElement(SelectRightSection, __spreadValues({}, props)),\n styles: __spreadProps(__spreadValues({}, _styles), {\n rightSection: __spreadProps(__spreadValues({}, _styles == null ? void 0 : _styles.rightSection), {\n pointerEvents: props.shouldClear ? void 0 : \"none\"\n })\n })\n };\n}\n\nexport { getSelectRightSectionProps };\n//# sourceMappingURL=get-select-right-section-props.js.map\n","import React, { forwardRef } from 'react';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst SelectScrollArea = forwardRef((_a, ref) => {\n var _b = _a, { style } = _b, others = __objRest(_b, [\"style\"]);\n return /* @__PURE__ */ React.createElement(ScrollArea, __spreadProps(__spreadValues({}, others), {\n style: __spreadValues({ width: \"100%\" }, style),\n viewportProps: { tabIndex: -1 },\n viewportRef: ref\n }), others.children);\n});\nSelectScrollArea.displayName = \"@mantine/core/SelectScrollArea\";\n\nexport { SelectScrollArea };\n//# sourceMappingURL=SelectScrollArea.js.map\n","import { createStyles, getSize, getBreakpointValue, em } from '@mantine/styles';\nimport { getSortedBreakpoints } from './get-sorted-breakpoints/get-sorted-breakpoints.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar useStyles = createStyles((theme, { spacing, breakpoints, cols, verticalSpacing }) => {\n const hasVerticalSpacing = verticalSpacing != null;\n const gridBreakpoints = getSortedBreakpoints(theme, breakpoints).reduce((acc, breakpoint) => {\n var _a, _b;\n const property = \"maxWidth\" in breakpoint ? \"max-width\" : \"min-width\";\n const breakpointSize = getSize({\n size: property === \"max-width\" ? breakpoint.maxWidth : breakpoint.minWidth,\n sizes: theme.breakpoints,\n units: \"em\"\n });\n const breakpointValue = getBreakpointValue(breakpointSize) - (property === \"max-width\" ? 1 : 0);\n acc[`@media (${property}: ${em(breakpointValue)})`] = {\n gridTemplateColumns: `repeat(${breakpoint.cols}, minmax(0, 1fr))`,\n gap: `${getSize({\n size: (_a = breakpoint.verticalSpacing) != null ? _a : hasVerticalSpacing ? verticalSpacing : spacing,\n sizes: theme.spacing\n })} ${getSize({\n size: (_b = breakpoint.spacing) != null ? _b : spacing,\n sizes: theme.spacing\n })}`\n };\n return acc;\n }, {});\n return {\n root: __spreadValues({\n boxSizing: \"border-box\",\n display: \"grid\",\n gridTemplateColumns: `repeat(${cols}, minmax(0, 1fr))`,\n gap: `${getSize({\n size: hasVerticalSpacing ? verticalSpacing : spacing,\n sizes: theme.spacing\n })} ${getSize({ size: spacing, sizes: theme.spacing })}`\n }, gridBreakpoints)\n };\n});\n\nexport default useStyles;\n//# sourceMappingURL=SimpleGrid.styles.js.map\n","import { getBreakpointValue, getSize } from '@mantine/styles';\n\nfunction getSortedBreakpoints(theme, breakpoints) {\n if (breakpoints.length === 0) {\n return breakpoints;\n }\n const property = \"maxWidth\" in breakpoints[0] ? \"maxWidth\" : \"minWidth\";\n const sorted = [...breakpoints].sort((a, b) => getBreakpointValue(getSize({ size: b[property], sizes: theme.breakpoints })) - getBreakpointValue(getSize({ size: a[property], sizes: theme.breakpoints })));\n return property === \"minWidth\" ? sorted.reverse() : sorted;\n}\n\nexport { getSortedBreakpoints };\n//# sourceMappingURL=get-sorted-breakpoints.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport useStyles from './SimpleGrid.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n breakpoints: [],\n cols: 1,\n spacing: \"md\"\n};\nconst SimpleGrid = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"SimpleGrid\", defaultProps, props), {\n className,\n breakpoints,\n cols,\n spacing,\n verticalSpacing,\n children,\n unstyled,\n variant\n } = _a, others = __objRest(_a, [\n \"className\",\n \"breakpoints\",\n \"cols\",\n \"spacing\",\n \"verticalSpacing\",\n \"children\",\n \"unstyled\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles({ breakpoints, cols, spacing, verticalSpacing }, { name: \"SimpleGrid\", unstyled, variant });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className),\n ref\n }, others), children);\n});\nSimpleGrid.displayName = \"@mantine/core/SimpleGrid\";\n\nexport { SimpleGrid };\n//# sourceMappingURL=SimpleGrid.js.map\n","import { createStyles, rem, keyframes } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst fade = keyframes({\n \"from, to\": { opacity: 0.4 },\n \"50%\": { opacity: 1 }\n});\nvar useStyles = createStyles((theme, { height, width, radius, circle, animate }) => ({\n root: {\n height: rem(height),\n width: circle ? rem(height) : rem(width),\n borderRadius: circle ? rem(height) : theme.fn.radius(radius),\n position: \"relative\",\n WebkitTransform: \"translateZ(0)\"\n },\n visible: {\n overflow: \"hidden\",\n \"&::before\": __spreadProps(__spreadValues({}, theme.fn.cover(0)), {\n content: '\"\"',\n background: theme.colorScheme === \"dark\" ? theme.colors.dark[7] : theme.white,\n zIndex: 10\n }),\n \"&::after\": __spreadProps(__spreadValues({}, theme.fn.cover(0)), {\n content: '\"\"',\n background: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[3],\n animation: animate ? `${fade} 1500ms linear infinite` : \"none\",\n zIndex: 11\n })\n }\n}));\n\nexport default useStyles;\nexport { fade };\n//# sourceMappingURL=Skeleton.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport useStyles from './Skeleton.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n height: \"auto\",\n width: \"100%\",\n visible: true,\n animate: true\n};\nconst Skeleton = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Skeleton\", defaultProps, props), {\n height,\n width,\n visible,\n animate,\n className,\n circle,\n radius,\n unstyled,\n variant\n } = _a, others = __objRest(_a, [\n \"height\",\n \"width\",\n \"visible\",\n \"animate\",\n \"className\",\n \"circle\",\n \"radius\",\n \"unstyled\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles({ height, width, circle, radius, animate }, { name: \"Skeleton\", unstyled, variant });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, { [classes.visible]: visible }, className),\n ref\n }, others));\n});\nSkeleton.displayName = \"@mantine/core/Skeleton\";\n\nexport { Skeleton };\n//# sourceMappingURL=Skeleton.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n w: 0,\n h: 0\n};\nconst Space = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Space\", defaultProps, props), { w, h } = _a, others = __objRest(_a, [\"w\", \"h\"]);\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n ref,\n w,\n miw: w,\n h,\n mih: h\n }, others));\n});\nSpace.displayName = \"@mantine/core/Space\";\n\nexport { Space };\n//# sourceMappingURL=Space.js.map\n","import { createStyles, getSize } from '@mantine/styles';\n\nvar useStyles = createStyles((theme, { spacing, align, justify }) => ({\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: align,\n justifyContent: justify,\n gap: getSize({ size: spacing, sizes: theme.spacing })\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Stack.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport useStyles from './Stack.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n spacing: \"md\",\n align: \"stretch\",\n justify: \"flex-start\"\n};\nconst Stack = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Stack\", defaultProps, props), { spacing, className, align, justify, unstyled, variant } = _a, others = __objRest(_a, [\"spacing\", \"className\", \"align\", \"justify\", \"unstyled\", \"variant\"]);\n const { classes, cx } = useStyles({ spacing, align, justify }, { name: \"Stack\", unstyled, variant });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.root, className),\n ref\n }, others));\n});\nStack.displayName = \"@mantine/core/Stack\";\n\nexport { Stack };\n//# sourceMappingURL=Stack.js.map\n","import { useContext, createContext } from 'react';\n\nconst SwitchGroupContext = createContext(null);\nconst SwitchGroupProvider = SwitchGroupContext.Provider;\nconst useSwitchGroupContext = () => useContext(SwitchGroupContext);\n\nexport { SwitchGroupProvider, useSwitchGroupContext };\n//# sourceMappingURL=SwitchGroup.context.js.map\n","import React, { forwardRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { SwitchGroupProvider } from '../SwitchGroup.context.js';\nimport { Input } from '../../Input/Input.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n size: \"sm\"\n};\nconst SwitchGroup = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"SwitchGroup\", defaultProps, props), { children, value, defaultValue, onChange, size, wrapperProps } = _a, others = __objRest(_a, [\"children\", \"value\", \"defaultValue\", \"onChange\", \"size\", \"wrapperProps\"]);\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n onChange\n });\n const handleChange = (event) => {\n const itemValue = event.currentTarget.value;\n setValue(_value.includes(itemValue) ? _value.filter((item) => item !== itemValue) : [..._value, itemValue]);\n };\n return /* @__PURE__ */ React.createElement(SwitchGroupProvider, {\n value: { value: _value, onChange: handleChange, size }\n }, /* @__PURE__ */ React.createElement(Input.Wrapper, __spreadValues(__spreadValues({\n labelElement: \"div\",\n size,\n __staticSelector: \"SwitchGroup\",\n ref\n }, wrapperProps), others), children));\n});\nSwitchGroup.displayName = \"@mantine/core/SwitchGroup\";\n\nexport { SwitchGroup };\n//# sourceMappingURL=SwitchGroup.js.map\n","import { createStyles, getSize, rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst switchHeight = {\n xs: rem(16),\n sm: rem(20),\n md: rem(24),\n lg: rem(30),\n xl: rem(36)\n};\nconst switchWidth = {\n xs: rem(32),\n sm: rem(38),\n md: rem(46),\n lg: rem(56),\n xl: rem(72)\n};\nconst handleSizes = {\n xs: rem(12),\n sm: rem(14),\n md: rem(18),\n lg: rem(22),\n xl: rem(28)\n};\nconst labelFontSizes = {\n xs: rem(5),\n sm: rem(6),\n md: rem(7),\n lg: rem(9),\n xl: rem(11)\n};\nconst trackLabelPaddings = {\n xs: rem(4),\n sm: rem(5),\n md: rem(6),\n lg: rem(8),\n xl: rem(10)\n};\nvar useStyles = createStyles((theme, { radius, color, labelPosition, error }, { size }) => {\n const handleSize = getSize({ size, sizes: handleSizes });\n const borderRadius = getSize({ size: radius, sizes: theme.radius });\n const colors = theme.fn.variant({ variant: \"filled\", color });\n const trackWidth = getSize({ size, sizes: switchWidth });\n const trackPadding = rem(size === \"xs\" ? 1 : 2);\n const errorColor = theme.fn.variant({ variant: \"filled\", color: \"red\" }).background;\n return {\n root: {\n position: \"relative\"\n },\n input: {\n height: 0,\n width: 0,\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n padding: 0,\n WebkitClipPath: \"inset(50%)\",\n clipPath: \"inset(50%)\",\n position: \"absolute\"\n },\n track: __spreadProps(__spreadValues({}, theme.fn.focusStyles(\"input:focus + &\")), {\n cursor: theme.cursorType,\n overflow: \"hidden\",\n WebkitTapHighlightColor: \"transparent\",\n position: \"relative\",\n borderRadius,\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[2],\n border: `${rem(1)} solid ${error ? errorColor : theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[3]}`,\n height: getSize({ size, sizes: switchHeight }),\n minWidth: trackWidth,\n margin: 0,\n transitionProperty: \"background-color, border-color\",\n transitionTimingFunction: theme.transitionTimingFunction,\n transitionDuration: \"150ms\",\n boxSizing: \"border-box\",\n appearance: \"none\",\n display: \"flex\",\n alignItems: \"center\",\n fontSize: getSize({ size, sizes: labelFontSizes }),\n fontWeight: 600,\n order: labelPosition === \"left\" ? 2 : 1,\n userSelect: \"none\",\n zIndex: 0,\n lineHeight: 0,\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[1] : theme.colors.gray[6],\n transition: `color 150ms ${theme.transitionTimingFunction}`,\n \"input:checked + &\": {\n backgroundColor: colors.background,\n borderColor: colors.background,\n color: theme.white,\n transition: `color 150ms ${theme.transitionTimingFunction}`\n },\n \"input:disabled + &\": {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[2],\n borderColor: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[2],\n cursor: \"not-allowed\",\n pointerEvents: \"none\"\n }\n }),\n thumb: {\n position: \"absolute\",\n zIndex: 1,\n borderRadius,\n boxSizing: \"border-box\",\n display: \"flex\",\n backgroundColor: theme.white,\n height: handleSize,\n width: handleSize,\n border: `${rem(1)} solid ${theme.colorScheme === \"dark\" ? theme.white : theme.colors.gray[3]}`,\n left: trackPadding,\n transition: `left 150ms ${theme.transitionTimingFunction}`,\n \"& > *\": {\n margin: \"auto\"\n },\n \"@media (prefers-reduced-motion)\": {\n transitionDuration: theme.respectReducedMotion ? \"0ms\" : \"\"\n },\n \"input:checked + * > &\": {\n left: `calc(100% - ${handleSize} - ${trackPadding})`,\n borderColor: theme.white\n },\n \"input:disabled + * > &\": {\n borderColor: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[2],\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[0]\n }\n },\n trackLabel: {\n height: \"100%\",\n display: \"grid\",\n placeContent: \"center\",\n minWidth: `calc(${trackWidth} - ${handleSize})`,\n paddingInline: getSize({ size, sizes: trackLabelPaddings }),\n marginLeft: `calc(${handleSize} + ${trackPadding})`,\n transition: `margin 150ms ${theme.transitionTimingFunction}`,\n \"input:checked + * > &\": {\n marginLeft: 0,\n marginRight: `calc(${handleSize} + ${trackPadding})`\n }\n }\n };\n});\n\nexport default useStyles;\n//# sourceMappingURL=Switch.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { SwitchGroup } from './SwitchGroup/SwitchGroup.js';\nimport { useSwitchGroupContext } from './SwitchGroup.context.js';\nimport useStyles from './Switch.styles.js';\nimport { extractSystemStyles } from '../Box/style-system-props/extract-system-styles/extract-system-styles.js';\nimport { InlineInput } from '../InlineInput/InlineInput.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n offLabel: \"\",\n onLabel: \"\",\n size: \"sm\",\n radius: \"xl\",\n error: false\n};\nconst Switch = forwardRef((props, ref) => {\n var _b;\n const _a = useComponentDefaultProps(\"Switch\", defaultProps, props), {\n className,\n color,\n label,\n offLabel,\n onLabel,\n id,\n style,\n size,\n radius,\n wrapperProps,\n children,\n unstyled,\n styles,\n classNames,\n thumbIcon,\n sx,\n checked,\n defaultChecked,\n onChange,\n labelPosition,\n description,\n error,\n disabled,\n variant\n } = _a, others = __objRest(_a, [\n \"className\",\n \"color\",\n \"label\",\n \"offLabel\",\n \"onLabel\",\n \"id\",\n \"style\",\n \"size\",\n \"radius\",\n \"wrapperProps\",\n \"children\",\n \"unstyled\",\n \"styles\",\n \"classNames\",\n \"thumbIcon\",\n \"sx\",\n \"checked\",\n \"defaultChecked\",\n \"onChange\",\n \"labelPosition\",\n \"description\",\n \"error\",\n \"disabled\",\n \"variant\"\n ]);\n const ctx = useSwitchGroupContext();\n const _size = (ctx == null ? void 0 : ctx.size) || size;\n const { classes, cx } = useStyles({ color, radius, labelPosition, error: !!error }, { name: \"Switch\", classNames, styles, unstyled, size: _size, variant });\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n const contextProps = ctx ? {\n checked: ctx.value.includes(rest.value),\n onChange: ctx.onChange\n } : {};\n const [_checked, handleChange] = useUncontrolled({\n value: (_b = contextProps.checked) != null ? _b : checked,\n defaultValue: defaultChecked,\n finalValue: false\n });\n return /* @__PURE__ */ React.createElement(InlineInput, __spreadValues(__spreadValues({\n className: cx(className, classes.root),\n sx,\n style,\n id: uuid,\n size: (ctx == null ? void 0 : ctx.size) || size,\n labelPosition,\n label,\n description,\n error,\n disabled,\n __staticSelector: \"Switch\",\n classNames,\n styles,\n unstyled,\n \"data-checked\": contextProps.checked || void 0,\n variant\n }, systemStyles), wrapperProps), /* @__PURE__ */ React.createElement(\"input\", __spreadProps(__spreadValues({}, rest), {\n disabled,\n checked: _checked,\n onChange: (event) => {\n ctx ? contextProps.onChange(event) : onChange == null ? void 0 : onChange(event);\n handleChange(event.currentTarget.checked);\n },\n id: uuid,\n ref,\n type: \"checkbox\",\n className: classes.input\n })), /* @__PURE__ */ React.createElement(\"label\", {\n htmlFor: uuid,\n className: classes.track\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.thumb\n }, thumbIcon), /* @__PURE__ */ React.createElement(\"div\", {\n className: classes.trackLabel\n }, _checked ? onLabel : offLabel)));\n});\nSwitch.displayName = \"@mantine/core/Switch\";\nSwitch.Group = SwitchGroup;\n\nexport { Switch };\n//# sourceMappingURL=Switch.js.map\n","const TABS_ERRORS = {\n context: \"Tabs component was not found in the tree\",\n value: \"Tabs.Tab or Tabs.Panel component was rendered with invalid value or without value\"\n};\n\nexport { TABS_ERRORS };\n//# sourceMappingURL=Tabs.errors.js.map\n","import { createSafeContext } from '@mantine/utils';\nimport { TABS_ERRORS } from './Tabs.errors.js';\n\nconst [TabsContextProvider, useTabsContext] = createSafeContext(TABS_ERRORS.context);\n\nexport { TabsContextProvider, useTabsContext };\n//# sourceMappingURL=Tabs.context.js.map\n","import { createStyles, rem } from '@mantine/styles';\nimport { GROUP_POSITIONS } from '../../Group/Group.styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction getVariantStyles({ orientation, inverted, placement }, theme, variant) {\n const vertical = orientation === \"vertical\";\n if (variant === \"default\") {\n return {\n [vertical ? placement === \"left\" ? \"borderRight\" : \"borderLeft\" : inverted ? \"borderTop\" : \"borderBottom\"]: `${rem(2)} solid ${theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[3]}`\n };\n }\n if (variant === \"outline\") {\n return {\n [vertical ? placement === \"left\" ? \"borderRight\" : \"borderLeft\" : inverted ? \"borderTop\" : \"borderBottom\"]: `${rem(1)} solid ${theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[3]}`\n };\n }\n if (variant === \"pills\") {\n return {\n gap: `calc(${theme.spacing.sm} / 2)`\n };\n }\n return {};\n}\nvar useStyles = createStyles((theme, params, { variant }) => {\n const vertical = params.orientation === \"vertical\";\n return {\n tabsList: __spreadValues({\n display: \"flex\",\n flexWrap: \"wrap\",\n flexDirection: vertical ? \"column\" : \"row\",\n justifyContent: GROUP_POSITIONS[params.position],\n '& [role=\"tab\"]': {\n flex: params.grow ? 1 : void 0\n }\n }, getVariantStyles(params, theme, variant))\n };\n});\n\nexport default useStyles;\n//# sourceMappingURL=TabsList.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { useTabsContext } from '../Tabs.context.js';\nimport useStyles from './TabsList.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n grow: false,\n position: \"left\"\n};\nconst TabsList = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"TabsList\", defaultProps, props), { children, className, grow, position } = _a, others = __objRest(_a, [\"children\", \"className\", \"grow\", \"position\"]);\n const { orientation, variant, color, radius, inverted, placement, classNames, styles, unstyled } = useTabsContext();\n const { classes, cx } = useStyles({ orientation, grow, color, position, radius, inverted, placement }, { name: \"Tabs\", unstyled, classNames, styles, variant });\n return /* @__PURE__ */ React.createElement(Box, __spreadProps(__spreadValues({}, others), {\n className: cx(classes.tabsList, className),\n ref,\n role: \"tablist\",\n \"aria-orientation\": orientation\n }), children);\n});\nTabsList.displayName = \"@mantine/core/TabsList\";\n\nexport { TabsList };\n//# sourceMappingURL=TabsList.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles((_theme, { orientation }) => ({\n panel: {\n flex: orientation === \"vertical\" ? 1 : void 0\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=TabsPanel.styles.js.map\n","import React, { forwardRef, useEffect } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { packSx } from '@mantine/utils';\nimport { useTabsContext } from '../Tabs.context.js';\nimport useStyles from './TabsPanel.styles.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst TabsPanel = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"TabsPanel\", defaultProps, props), { value, children, sx, className } = _a, others = __objRest(_a, [\"value\", \"children\", \"sx\", \"className\"]);\n const ctx = useTabsContext();\n const { classes, cx } = useStyles({\n orientation: ctx.orientation,\n color: ctx.color,\n radius: ctx.radius,\n inverted: ctx.inverted,\n placement: ctx.placement\n }, {\n name: \"Tabs\",\n unstyled: ctx.unstyled,\n classNames: ctx.classNames,\n styles: ctx.styles,\n variant: ctx.variant\n });\n const panelId = ctx.getPanelId(value);\n const active = ctx.value === value;\n const content = ctx.keepMounted ? children : active ? children : null;\n useEffect(() => {\n ctx.setMountedPanelIds((prev) => [...prev, panelId]);\n return ctx.setMountedPanelIds((prev) => prev.filter((id) => id !== panelId));\n }, [panelId]);\n return /* @__PURE__ */ React.createElement(Box, __spreadProps(__spreadValues({}, others), {\n ref,\n sx: [{ display: !active ? \"none\" : void 0 }, ...packSx(sx)],\n className: cx(classes.panel, className),\n role: \"tabpanel\",\n id: panelId,\n \"aria-labelledby\": ctx.getTabId(value)\n }), content);\n});\nTabsPanel.displayName = \"@mantine/core/TabsPanel\";\n\nexport { TabsPanel };\n//# sourceMappingURL=TabsPanel.js.map\n","import { createStyles, rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction getVariantStyles(theme, { orientation, color, radius, inverted, placement }, variant) {\n const vertical = orientation === \"vertical\";\n const filledScheme = theme.fn.variant({ color, variant: \"filled\" });\n const radiusValue = rem(theme.fn.radius(radius));\n const borderRadius = orientation === \"vertical\" ? placement === \"left\" ? `${radiusValue} 0 0 ${radiusValue}` : ` 0 ${radiusValue} ${radiusValue} 0` : inverted ? `0 0 ${radiusValue} ${radiusValue}` : `${radiusValue} ${radiusValue} 0 0`;\n if (variant === \"default\") {\n return __spreadProps(__spreadValues({\n [vertical ? placement === \"left\" ? \"borderRight\" : \"borderLeft\" : inverted ? \"borderTop\" : \"borderBottom\"]: `${rem(2)} solid transparent`,\n [vertical ? placement === \"left\" ? \"marginRight\" : \"marginLeft\" : inverted ? \"marginTop\" : \"marginBottom\"]: rem(-2),\n borderRadius\n }, theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[0],\n borderColor: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[3]\n })), {\n \"&[data-active]\": __spreadValues({\n borderColor: filledScheme.background,\n color: theme.colorScheme === \"dark\" ? theme.white : theme.black\n }, theme.fn.hover({ borderColor: filledScheme.background }))\n });\n }\n if (variant === \"outline\") {\n return {\n borderRadius,\n border: `${rem(1)} solid transparent`,\n [vertical ? placement === \"left\" ? \"borderRight\" : \"borderLeft\" : inverted ? \"borderTop\" : \"borderBottom\"]: \"none\",\n \"&[data-active]\": {\n borderColor: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[3],\n \"&::before\": {\n content: '\"\"',\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[7] : theme.white,\n position: \"absolute\",\n bottom: vertical ? 0 : inverted ? \"unset\" : rem(-1),\n top: vertical ? 0 : inverted ? rem(-1) : \"unset\",\n [vertical ? \"width\" : \"height\"]: rem(1),\n right: vertical ? placement === \"left\" ? rem(-1) : \"unset\" : 0,\n left: vertical ? placement === \"left\" ? \"unset\" : rem(-1) : 0\n }\n }\n };\n }\n if (variant === \"pills\") {\n return __spreadProps(__spreadValues({\n borderRadius: theme.fn.radius(radius)\n }, theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[0]\n })), {\n \"&[data-active]\": __spreadValues({\n backgroundColor: filledScheme.background,\n color: theme.white\n }, theme.fn.hover({ backgroundColor: filledScheme.background }))\n });\n }\n return {};\n}\nvar useStyles = createStyles((theme, params, { variant }) => ({\n tabLabel: {},\n tab: __spreadValues({\n position: \"relative\",\n padding: `${theme.spacing.xs} ${theme.spacing.md}`,\n paddingLeft: params.withIcon ? theme.spacing.xs : void 0,\n paddingRight: params.withRightSection ? theme.spacing.xs : void 0,\n fontSize: theme.fontSizes.sm,\n whiteSpace: \"nowrap\",\n zIndex: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: params.orientation === \"horizontal\" ? \"center\" : void 0,\n lineHeight: 1,\n \"&:disabled\": __spreadValues({\n opacity: 0.5,\n cursor: \"not-allowed\"\n }, theme.fn.hover({ backgroundColor: \"transparent\" })),\n \"&:focus\": {\n zIndex: 1\n }\n }, getVariantStyles(theme, params, variant)),\n tabRightSection: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n \"&:not(:only-child)\": {\n marginLeft: rem(7)\n }\n },\n tabIcon: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n \"&:not(:only-child)\": {\n marginRight: rem(7)\n }\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Tab.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createScopedKeydownHandler } from '@mantine/utils';\nimport { useTabsContext } from '../Tabs.context.js';\nimport useStyles from './Tab.styles.js';\nimport { UnstyledButton } from '../../UnstyledButton/UnstyledButton.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst Tab = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"TabsTab\", defaultProps, props), { value, children, onKeyDown, onClick, className, icon, rightSection, color } = _a, others = __objRest(_a, [\"value\", \"children\", \"onKeyDown\", \"onClick\", \"className\", \"icon\", \"rightSection\", \"color\"]);\n const ctx = useTabsContext();\n const hasIcon = !!icon;\n const hasRightSection = !!rightSection;\n const { theme, classes, cx } = useStyles({\n withIcon: hasIcon || hasRightSection && !children,\n withRightSection: hasRightSection || hasIcon && !children,\n orientation: ctx.orientation,\n color: color || ctx.color,\n radius: ctx.radius,\n inverted: ctx.inverted,\n placement: ctx.placement\n }, {\n name: \"Tabs\",\n unstyled: ctx.unstyled,\n classNames: ctx.classNames,\n styles: ctx.styles,\n variant: ctx.variant\n });\n const isActive = value === ctx.value;\n const panelId = ctx.getPanelId(value);\n const ariaControls = ctx.mountedPanelIds.includes(value) ? panelId : void 0;\n const activateTab = (event) => {\n ctx.onTabChange(ctx.allowTabDeactivation ? value === ctx.value ? null : value : value);\n onClick == null ? void 0 : onClick(event);\n };\n return /* @__PURE__ */ React.createElement(UnstyledButton, __spreadProps(__spreadValues({}, others), {\n unstyled: ctx.unstyled,\n className: cx(classes.tab, className),\n \"data-active\": isActive || void 0,\n ref,\n type: \"button\",\n role: \"tab\",\n id: ctx.getTabId(value),\n \"aria-selected\": isActive,\n tabIndex: isActive || ctx.value === null ? 0 : -1,\n \"aria-controls\": ariaControls,\n onClick: activateTab,\n onKeyDown: createScopedKeydownHandler({\n siblingSelector: '[role=\"tab\"]',\n parentSelector: '[role=\"tablist\"]',\n activateOnFocus: ctx.activateTabWithKeyboard,\n loop: ctx.loop,\n dir: theme.dir,\n orientation: ctx.orientation,\n onKeyDown\n })\n }), icon && /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.tabIcon\n }, icon), children && /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.tabLabel\n }, children), rightSection && /* @__PURE__ */ React.createElement(\"span\", {\n className: classes.tabRightSection\n }, rightSection));\n});\nTab.displayName = \"@mantine/core/Tab\";\n\nexport { Tab };\n//# sourceMappingURL=Tab.js.map\n","import React, { useState } from 'react';\nimport { getSafeId } from '@mantine/utils';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport { TabsContextProvider } from './Tabs.context.js';\nimport { TABS_ERRORS } from './Tabs.errors.js';\n\nfunction TabsProvider({\n defaultValue,\n value,\n onTabChange,\n orientation,\n children,\n loop,\n id,\n activateTabWithKeyboard,\n allowTabDeactivation,\n variant,\n color,\n radius,\n inverted,\n placement,\n keepMounted = true,\n classNames,\n styles,\n unstyled\n}) {\n const uid = useId(id);\n const [mountedPanelIds, setMountedPanelIds] = useState([]);\n const [_value, onChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange: onTabChange\n });\n return /* @__PURE__ */ React.createElement(TabsContextProvider, {\n value: {\n placement,\n value: _value,\n orientation,\n id: uid,\n loop,\n activateTabWithKeyboard,\n getTabId: getSafeId(`${uid}-tab`, TABS_ERRORS.value),\n getPanelId: getSafeId(`${uid}-panel`, TABS_ERRORS.value),\n onTabChange: onChange,\n setMountedPanelIds,\n mountedPanelIds,\n allowTabDeactivation,\n variant,\n color,\n radius,\n inverted,\n keepMounted,\n classNames,\n styles,\n unstyled\n }\n }, children);\n}\nTabsProvider.displayName = \"@mantine/core/TabsProvider\";\n\nexport { TabsProvider };\n//# sourceMappingURL=TabsProvider.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles((_theme, { orientation, placement }) => ({\n root: {\n display: orientation === \"vertical\" ? \"flex\" : void 0,\n flexDirection: placement === \"right\" ? \"row-reverse\" : \"row\"\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Tabs.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { TabsList } from './TabsList/TabsList.js';\nimport { TabsPanel } from './TabsPanel/TabsPanel.js';\nimport { Tab } from './Tab/Tab.js';\nimport { TabsProvider } from './TabsProvider.js';\nimport useStyles from './Tabs.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n orientation: \"horizontal\",\n loop: true,\n activateTabWithKeyboard: true,\n allowTabDeactivation: false,\n unstyled: false,\n inverted: false,\n variant: \"default\",\n placement: \"left\"\n};\nconst Tabs = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Tabs\", defaultProps, props), {\n defaultValue,\n value,\n orientation,\n loop,\n activateTabWithKeyboard,\n allowTabDeactivation,\n children,\n id,\n onTabChange,\n variant,\n color,\n className,\n unstyled,\n classNames,\n styles,\n radius,\n inverted,\n keepMounted,\n placement\n } = _a, others = __objRest(_a, [\n \"defaultValue\",\n \"value\",\n \"orientation\",\n \"loop\",\n \"activateTabWithKeyboard\",\n \"allowTabDeactivation\",\n \"children\",\n \"id\",\n \"onTabChange\",\n \"variant\",\n \"color\",\n \"className\",\n \"unstyled\",\n \"classNames\",\n \"styles\",\n \"radius\",\n \"inverted\",\n \"keepMounted\",\n \"placement\"\n ]);\n const { classes, cx } = useStyles({ orientation, color, radius, inverted, placement }, { unstyled, name: \"Tabs\", classNames, styles, variant });\n return /* @__PURE__ */ React.createElement(TabsProvider, {\n activateTabWithKeyboard,\n defaultValue,\n orientation,\n onTabChange,\n value,\n id,\n loop,\n allowTabDeactivation,\n color,\n variant,\n radius,\n inverted,\n keepMounted,\n placement,\n classNames,\n styles,\n unstyled\n }, /* @__PURE__ */ React.createElement(Box, __spreadProps(__spreadValues({}, others), {\n className: cx(classes.root, className),\n id,\n ref\n }), children));\n});\nTabs.List = TabsList;\nTabs.Tab = Tab;\nTabs.Panel = TabsPanel;\nTabs.displayName = \"@mantine/core/Tabs\";\n\nexport { Tabs };\n//# sourceMappingURL=Tabs.js.map\n","import { createStyles, getSize } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction getTextDecoration({\n underline,\n strikethrough\n}) {\n const styles = [];\n if (underline) {\n styles.push(\"underline\");\n }\n if (strikethrough) {\n styles.push(\"line-through\");\n }\n return styles.length > 0 ? styles.join(\" \") : \"none\";\n}\nfunction getTextColor({ theme, color }) {\n if (color === \"dimmed\") {\n return theme.fn.dimmed();\n }\n return typeof color === \"string\" && (color in theme.colors || color.split(\".\")[0] in theme.colors) ? theme.fn.variant({ variant: \"filled\", color }).background : color || \"inherit\";\n}\nfunction getLineClamp(lineClamp) {\n if (typeof lineClamp === \"number\") {\n return {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n display: \"-webkit-box\",\n WebkitLineClamp: lineClamp,\n WebkitBoxOrient: \"vertical\"\n };\n }\n return null;\n}\nfunction getTruncate({ theme, truncate }) {\n if (truncate === \"start\") {\n return {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n direction: theme.dir === \"ltr\" ? \"rtl\" : \"ltr\",\n textAlign: theme.dir === \"ltr\" ? \"right\" : \"left\"\n };\n }\n if (truncate) {\n return {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\"\n };\n }\n return null;\n}\nvar useStyles = createStyles((theme, {\n color,\n lineClamp,\n truncate,\n inline,\n inherit,\n underline,\n gradient,\n weight,\n transform,\n align,\n strikethrough,\n italic\n}, { size }) => {\n const colors = theme.fn.variant({ variant: \"gradient\", gradient });\n return {\n root: __spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, theme.fn.fontStyles()), theme.fn.focusStyles()), getLineClamp(lineClamp)), getTruncate({ theme, truncate })), {\n color: getTextColor({ color, theme }),\n fontFamily: inherit ? \"inherit\" : theme.fontFamily,\n fontSize: inherit || size === void 0 ? \"inherit\" : getSize({ size, sizes: theme.fontSizes }),\n lineHeight: inherit ? \"inherit\" : inline ? 1 : theme.lineHeight,\n textDecoration: getTextDecoration({ underline, strikethrough }),\n WebkitTapHighlightColor: \"transparent\",\n fontWeight: inherit ? \"inherit\" : weight,\n textTransform: transform,\n textAlign: align,\n fontStyle: italic ? \"italic\" : void 0\n }),\n gradient: {\n backgroundImage: colors.background,\n WebkitBackgroundClip: \"text\",\n WebkitTextFillColor: \"transparent\"\n }\n };\n});\n\nexport default useStyles;\n//# sourceMappingURL=Text.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport useStyles from './Text.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n variant: \"text\"\n};\nconst _Text = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Text\", defaultProps, props), {\n className,\n size,\n weight,\n transform,\n color,\n align,\n variant,\n lineClamp,\n truncate,\n gradient,\n inline,\n inherit,\n underline,\n strikethrough,\n italic,\n classNames,\n styles,\n unstyled,\n span,\n __staticSelector\n } = _a, others = __objRest(_a, [\n \"className\",\n \"size\",\n \"weight\",\n \"transform\",\n \"color\",\n \"align\",\n \"variant\",\n \"lineClamp\",\n \"truncate\",\n \"gradient\",\n \"inline\",\n \"inherit\",\n \"underline\",\n \"strikethrough\",\n \"italic\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"span\",\n \"__staticSelector\"\n ]);\n const { classes, cx } = useStyles({\n color,\n lineClamp,\n truncate,\n inline,\n inherit,\n underline,\n strikethrough,\n italic,\n weight,\n transform,\n align,\n gradient\n }, { unstyled, name: __staticSelector || \"Text\", variant, size });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n ref,\n className: cx(classes.root, { [classes.gradient]: variant === \"gradient\" }, className),\n component: span ? \"span\" : \"div\"\n }, others));\n});\n_Text.displayName = \"@mantine/core/Text\";\nconst Text = createPolymorphicComponent(_Text);\n\nexport { Text, _Text };\n//# sourceMappingURL=Text.js.map\n","import React, { forwardRef } from 'react';\nimport { useInputProps } from '../Input/use-input-props.js';\nimport { Input } from '../Input/Input.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n type: \"text\",\n size: \"sm\",\n __staticSelector: \"TextInput\"\n};\nconst TextInput = forwardRef((props, ref) => {\n const _a = useInputProps(\"TextInput\", defaultProps, props), { inputProps, wrapperProps } = _a, others = __objRest(_a, [\"inputProps\", \"wrapperProps\"]);\n return /* @__PURE__ */ React.createElement(Input.Wrapper, __spreadValues({}, wrapperProps), /* @__PURE__ */ React.createElement(Input, __spreadProps(__spreadValues(__spreadValues({}, inputProps), others), {\n ref\n })));\n});\nTextInput.displayName = \"@mantine/core/TextInput\";\n\nexport { TextInput };\n//# sourceMappingURL=TextInput.js.map\n","import { useLayoutEffect } from 'react';\n\nvar index = useLayoutEffect ;\n\nexport default index;\n","import * as React from 'react';\nimport useIsomorphicLayoutEffect from 'use-isomorphic-layout-effect';\n\nvar useLatest = function useLatest(value) {\n var ref = React.useRef(value);\n useIsomorphicLayoutEffect(function () {\n ref.current = value;\n });\n return ref;\n};\n\nexport { useLatest as default };\n","import { useRef, useCallback } from 'react';\n\nvar updateRef = function updateRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n return;\n }\n ref.current = value;\n};\n\nvar useComposedRef = function useComposedRef(libRef, userRef) {\n var prevUserRef = useRef();\n return useCallback(function (instance) {\n libRef.current = instance;\n\n if (prevUserRef.current) {\n updateRef(prevUserRef.current, null);\n }\n\n prevUserRef.current = userRef;\n\n if (!userRef) {\n return;\n }\n\n updateRef(userRef, instance);\n }, [userRef]);\n};\n\nexport default useComposedRef;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport { useLayoutEffect, forwardRef, useRef, createElement } from 'react';\nimport useLatest from 'use-latest';\nimport useComposedRef from 'use-composed-ref';\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\n\nvar forceHiddenStyles = function forceHiddenStyles(node) {\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n node.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n};\n\n// export type CalculatedNodeHeights = [height: number, rowHeight: number];\n// https://github.com/microsoft/TypeScript/issues/28259\n\nvar hiddenTextarea = null;\n\nvar getHeight = function getHeight(node, sizingData) {\n var height = node.scrollHeight;\n\n if (sizingData.sizingStyle.boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n return height + sizingData.borderSize;\n } // remove padding, since height = content\n\n\n return height - sizingData.paddingSize;\n};\n\nfunction calculateNodeHeight(sizingData, value, minRows, maxRows) {\n if (minRows === void 0) {\n minRows = 1;\n }\n\n if (maxRows === void 0) {\n maxRows = Infinity;\n }\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n hiddenTextarea.setAttribute('tabindex', '-1');\n hiddenTextarea.setAttribute('aria-hidden', 'true');\n forceHiddenStyles(hiddenTextarea);\n }\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n var paddingSize = sizingData.paddingSize,\n borderSize = sizingData.borderSize,\n sizingStyle = sizingData.sizingStyle;\n var boxSizing = sizingStyle.boxSizing;\n Object.keys(sizingStyle).forEach(function (_key) {\n var key = _key;\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n forceHiddenStyles(hiddenTextarea);\n hiddenTextarea.value = value;\n var height = getHeight(hiddenTextarea, sizingData); // measure height of a textarea with a single row\n\n hiddenTextarea.value = 'x';\n var rowHeight = hiddenTextarea.scrollHeight - paddingSize;\n var minHeight = rowHeight * minRows;\n\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n\n height = Math.max(minHeight, height);\n var maxHeight = rowHeight * maxRows;\n\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n\n height = Math.min(maxHeight, height);\n return [height, rowHeight];\n}\n\nvar noop = function noop() {};\nvar pick = function pick(props, obj) {\n return props.reduce(function (acc, prop) {\n acc[prop] = obj[prop];\n return acc;\n }, {});\n};\n\nvar SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth', 'boxSizing', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'letterSpacing', 'lineHeight', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop', // non-standard\n'tabSize', 'textIndent', // non-standard\n'textRendering', 'textTransform', 'width', 'wordBreak'];\nvar isIE = !!document.documentElement.currentStyle ;\n\nvar getSizingData = function getSizingData(node) {\n var style = window.getComputedStyle(node);\n\n if (style === null) {\n return null;\n }\n\n var sizingStyle = pick(SIZING_STYLE, style);\n var boxSizing = sizingStyle.boxSizing; // probably node is detached from DOM, can't read computed dimensions\n\n if (boxSizing === '') {\n return null;\n } // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n\n\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(sizingStyle.borderRightWidth) + parseFloat(sizingStyle.borderLeftWidth) + parseFloat(sizingStyle.paddingRight) + parseFloat(sizingStyle.paddingLeft) + 'px';\n }\n\n var paddingSize = parseFloat(sizingStyle.paddingBottom) + parseFloat(sizingStyle.paddingTop);\n var borderSize = parseFloat(sizingStyle.borderBottomWidth) + parseFloat(sizingStyle.borderTopWidth);\n return {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize\n };\n};\n\nvar useWindowResizeListener = function useWindowResizeListener(listener) {\n var latestListener = useLatest(listener);\n useLayoutEffect(function () {\n var handler = function handler(event) {\n latestListener.current(event);\n };\n\n window.addEventListener('resize', handler);\n return function () {\n window.removeEventListener('resize', handler);\n };\n }, []);\n};\n\nvar TextareaAutosize = function TextareaAutosize(_ref, userRef) {\n var cacheMeasurements = _ref.cacheMeasurements,\n maxRows = _ref.maxRows,\n minRows = _ref.minRows,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n _ref$onHeightChange = _ref.onHeightChange,\n onHeightChange = _ref$onHeightChange === void 0 ? noop : _ref$onHeightChange,\n props = _objectWithoutPropertiesLoose(_ref, [\"cacheMeasurements\", \"maxRows\", \"minRows\", \"onChange\", \"onHeightChange\"]);\n\n if (process.env.NODE_ENV !== 'production' && props.style) {\n if ('maxHeight' in props.style) {\n throw new Error('Using `style.maxHeight` for is not supported. Please use `maxRows`.');\n }\n\n if ('minHeight' in props.style) {\n throw new Error('Using `style.minHeight` for is not supported. Please use `minRows`.');\n }\n }\n\n var isControlled = props.value !== undefined;\n var libRef = useRef(null);\n var ref = useComposedRef(libRef, userRef);\n var heightRef = useRef(0);\n var measurementsCacheRef = useRef();\n\n var resizeTextarea = function resizeTextarea() {\n var node = libRef.current;\n var nodeSizingData = cacheMeasurements && measurementsCacheRef.current ? measurementsCacheRef.current : getSizingData(node);\n\n if (!nodeSizingData) {\n return;\n }\n\n measurementsCacheRef.current = nodeSizingData;\n\n var _calculateNodeHeight = calculateNodeHeight(nodeSizingData, node.value || node.placeholder || 'x', minRows, maxRows),\n height = _calculateNodeHeight[0],\n rowHeight = _calculateNodeHeight[1];\n\n if (heightRef.current !== height) {\n heightRef.current = height;\n node.style.setProperty('height', height + \"px\", 'important');\n onHeightChange(height, {\n rowHeight: rowHeight\n });\n }\n };\n\n var handleChange = function handleChange(event) {\n if (!isControlled) {\n resizeTextarea();\n }\n\n onChange(event);\n };\n\n {\n useLayoutEffect(resizeTextarea);\n useWindowResizeListener(resizeTextarea);\n }\n\n return /*#__PURE__*/createElement(\"textarea\", _extends({}, props, {\n onChange: handleChange,\n ref: ref\n }));\n};\n\nvar index = /* #__PURE__ */forwardRef(TextareaAutosize);\n\nexport default index;\n","import { createStyles } from '@mantine/styles';\n\nvar useStyles = createStyles((theme) => ({\n input: {\n paddingTop: theme.spacing.xs,\n paddingBottom: theme.spacing.xs\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Textarea.styles.js.map\n","import React, { forwardRef } from 'react';\nimport TextareaAutosize from 'react-textarea-autosize';\nimport { useId } from '@mantine/hooks';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport useStyles from './Textarea.styles.js';\nimport { extractSystemStyles } from '../Box/style-system-props/extract-system-styles/extract-system-styles.js';\nimport { Input } from '../Input/Input.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n autosize: false,\n size: \"sm\",\n __staticSelector: \"Textarea\"\n};\nconst Textarea = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Textarea\", defaultProps, props), {\n autosize,\n maxRows,\n minRows,\n label,\n error,\n description,\n id,\n className,\n required,\n style,\n wrapperProps,\n classNames,\n styles,\n size,\n __staticSelector,\n sx,\n errorProps,\n descriptionProps,\n labelProps,\n inputWrapperOrder,\n inputContainer,\n unstyled,\n withAsterisk,\n variant\n } = _a, others = __objRest(_a, [\n \"autosize\",\n \"maxRows\",\n \"minRows\",\n \"label\",\n \"error\",\n \"description\",\n \"id\",\n \"className\",\n \"required\",\n \"style\",\n \"wrapperProps\",\n \"classNames\",\n \"styles\",\n \"size\",\n \"__staticSelector\",\n \"sx\",\n \"errorProps\",\n \"descriptionProps\",\n \"labelProps\",\n \"inputWrapperOrder\",\n \"inputContainer\",\n \"unstyled\",\n \"withAsterisk\",\n \"variant\"\n ]);\n const uuid = useId(id);\n const { classes, cx } = useStyles();\n const { systemStyles, rest } = extractSystemStyles(others);\n const sharedProps = __spreadValues({\n required,\n ref,\n error,\n id: uuid,\n classNames: __spreadProps(__spreadValues({}, classNames), { input: cx(classes.input, classNames == null ? void 0 : classNames.input) }),\n styles,\n __staticSelector,\n size,\n multiline: true,\n unstyled,\n variant\n }, rest);\n return /* @__PURE__ */ React.createElement(Input.Wrapper, __spreadValues(__spreadValues({\n label,\n error,\n id: uuid,\n description,\n required,\n style,\n className,\n classNames,\n styles,\n size,\n __staticSelector,\n sx,\n errorProps,\n labelProps,\n descriptionProps,\n inputContainer,\n inputWrapperOrder,\n unstyled,\n withAsterisk,\n variant\n }, systemStyles), wrapperProps), autosize ? /* @__PURE__ */ React.createElement(Input, __spreadProps(__spreadValues({}, sharedProps), {\n component: TextareaAutosize,\n maxRows,\n minRows\n })) : /* @__PURE__ */ React.createElement(Input, __spreadProps(__spreadValues({}, sharedProps), {\n component: \"textarea\",\n rows: minRows\n })));\n});\nTextarea.displayName = \"@mantine/core/Textarea\";\n\nexport { Textarea };\n//# sourceMappingURL=Textarea.js.map\n","import { createStyles, rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction getFontSize(size, element, theme) {\n if (typeof size !== \"undefined\") {\n return size in theme.headings.sizes ? theme.headings.sizes[size].fontSize : rem(size);\n }\n return theme.headings.sizes[element].fontSize;\n}\nfunction getLineHeight(size, element, theme) {\n if (typeof size !== \"undefined\" && size in theme.headings.sizes) {\n return theme.headings.sizes[size].lineHeight;\n }\n return theme.headings.sizes[element].lineHeight;\n}\nvar useStyles = createStyles((theme, { element, weight, inline }, { size }) => ({\n root: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n fontFamily: theme.headings.fontFamily,\n fontWeight: weight || theme.headings.sizes[element].fontWeight || theme.headings.fontWeight,\n fontSize: getFontSize(size, element, theme),\n lineHeight: inline ? 1 : getLineHeight(size, element, theme),\n margin: 0\n })\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Title.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport useStyles from './Title.styles.js';\nimport { Text } from '../Text/Text.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n order: 1\n};\nconst Title = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Title\", defaultProps, props), { className, order, children, unstyled, size, weight, inline, variant } = _a, others = __objRest(_a, [\"className\", \"order\", \"children\", \"unstyled\", \"size\", \"weight\", \"inline\", \"variant\"]);\n const { classes, cx } = useStyles({ element: `h${order}`, weight, inline }, { name: \"Title\", unstyled, variant, size });\n if (![1, 2, 3, 4, 5, 6].includes(order)) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(Text, __spreadValues({\n variant,\n component: `h${order}`,\n ref,\n className: cx(classes.root, className)\n }, others), children);\n});\nTitle.displayName = \"@mantine/core/Title\";\n\nexport { Title };\n//# sourceMappingURL=Title.js.map\n","import { useContext, createContext } from 'react';\n\nconst TooltipGroupContext = createContext(false);\nconst TooltipGroupProvider = TooltipGroupContext.Provider;\nconst useTooltipGroupContext = () => useContext(TooltipGroupContext);\n\nexport { TooltipGroupProvider, useTooltipGroupContext };\n//# sourceMappingURL=TooltipGroup.context.js.map\n","import React from 'react';\nimport { FloatingDelayGroup } from '@floating-ui/react';\nimport { TooltipGroupProvider } from './TooltipGroup.context.js';\n\nfunction TooltipGroup({ children, openDelay = 0, closeDelay = 0 }) {\n return /* @__PURE__ */ React.createElement(TooltipGroupProvider, {\n value: true\n }, /* @__PURE__ */ React.createElement(FloatingDelayGroup, {\n delay: { open: openDelay, close: closeDelay }\n }, children));\n}\nTooltipGroup.displayName = \"@mantine/core/TooltipGroup\";\n\nexport { TooltipGroup };\n//# sourceMappingURL=TooltipGroup.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction getColors(theme, color) {\n if (!color) {\n return {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.gray[2] : theme.colors.gray[9],\n color: theme.colorScheme === \"dark\" ? theme.black : theme.white\n };\n }\n const colors = theme.fn.variant({ variant: \"filled\", color, primaryFallback: false });\n return {\n backgroundColor: colors.background,\n color: colors.color\n };\n}\nvar useStyles = createStyles((theme, { color, radius, width, multiline }) => ({\n tooltip: __spreadProps(__spreadValues(__spreadValues({}, theme.fn.fontStyles()), getColors(theme, color)), {\n lineHeight: theme.lineHeight,\n fontSize: theme.fontSizes.sm,\n borderRadius: theme.fn.radius(radius),\n padding: `calc(${theme.spacing.xs} / 2) ${theme.spacing.xs}`,\n position: \"absolute\",\n whiteSpace: multiline ? \"unset\" : \"nowrap\",\n pointerEvents: \"none\",\n width\n }),\n arrow: {\n backgroundColor: \"inherit\",\n border: 0,\n zIndex: 1\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Tooltip.styles.js.map\n","const TOOLTIP_ERRORS = {\n children: \"Tooltip component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported\"\n};\n\nexport { TOOLTIP_ERRORS };\n//# sourceMappingURL=Tooltip.errors.js.map\n","import React, { cloneElement } from 'react';\nimport { isElement } from '@mantine/utils';\nimport { useMergedRef } from '@mantine/hooks';\nimport { getDefaultZIndex, useComponentDefaultProps } from '@mantine/styles';\nimport useStyles from '../Tooltip.styles.js';\nimport { TOOLTIP_ERRORS } from '../Tooltip.errors.js';\nimport { useFloatingTooltip } from './use-floating-tooltip.js';\nimport { OptionalPortal } from '../../Portal/OptionalPortal.js';\nimport { Box } from '../../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n refProp: \"ref\",\n withinPortal: true,\n offset: 10,\n position: \"right\",\n zIndex: getDefaultZIndex(\"popover\")\n};\nfunction TooltipFloating(props) {\n var _b;\n const _a = useComponentDefaultProps(\"TooltipFloating\", defaultProps, props), {\n children,\n refProp,\n withinPortal,\n portalProps,\n style,\n className,\n classNames,\n styles,\n unstyled,\n radius,\n color,\n label,\n offset,\n position,\n multiline,\n width,\n zIndex,\n disabled,\n variant\n } = _a, others = __objRest(_a, [\n \"children\",\n \"refProp\",\n \"withinPortal\",\n \"portalProps\",\n \"style\",\n \"className\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"radius\",\n \"color\",\n \"label\",\n \"offset\",\n \"position\",\n \"multiline\",\n \"width\",\n \"zIndex\",\n \"disabled\",\n \"variant\"\n ]);\n const { handleMouseMove, x, y, opened, boundaryRef, floating, setOpened } = useFloatingTooltip({\n offset,\n position\n });\n const { classes, cx } = useStyles({ radius, color, multiline, width }, { name: \"TooltipFloating\", classNames, styles, unstyled, variant });\n if (!isElement(children)) {\n throw new Error(TOOLTIP_ERRORS.children);\n }\n const targetRef = useMergedRef(boundaryRef, children.ref);\n const onMouseEnter = (event) => {\n var _a2, _b2;\n (_b2 = (_a2 = children.props).onMouseEnter) == null ? void 0 : _b2.call(_a2, event);\n handleMouseMove(event);\n setOpened(true);\n };\n const onMouseLeave = (event) => {\n var _a2, _b2;\n (_b2 = (_a2 = children.props).onMouseLeave) == null ? void 0 : _b2.call(_a2, event);\n setOpened(false);\n };\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(OptionalPortal, __spreadProps(__spreadValues({}, portalProps), {\n withinPortal\n }), /* @__PURE__ */ React.createElement(Box, __spreadProps(__spreadValues({}, others), {\n ref: floating,\n className: cx(classes.tooltip, className),\n style: __spreadProps(__spreadValues({}, style), {\n zIndex,\n display: !disabled && opened ? \"block\" : \"none\",\n top: y != null ? y : \"\",\n left: (_b = Math.round(x)) != null ? _b : \"\"\n })\n }), label)), cloneElement(children, __spreadProps(__spreadValues({}, children.props), {\n [refProp]: targetRef,\n onMouseEnter,\n onMouseLeave\n })));\n}\nTooltipFloating.displayName = \"@mantine/core/TooltipFloating\";\n\nexport { TooltipFloating };\n//# sourceMappingURL=TooltipFloating.js.map\n","import { useState, useRef, useCallback, useEffect } from 'react';\nimport { useFloating, shift, getOverflowAncestors } from '@floating-ui/react';\n\nfunction useFloatingTooltip({\n offset,\n position\n}) {\n const [opened, setOpened] = useState(false);\n const boundaryRef = useRef();\n const { x, y, reference, floating, refs, update, placement } = useFloating({\n placement: position,\n middleware: [\n shift({\n crossAxis: true,\n padding: 5,\n rootBoundary: \"document\"\n })\n ]\n });\n const horizontalOffset = placement.includes(\"right\") ? offset : position.includes(\"left\") ? offset * -1 : 0;\n const verticalOffset = placement.includes(\"bottom\") ? offset : position.includes(\"top\") ? offset * -1 : 0;\n const handleMouseMove = useCallback(({ clientX, clientY }) => {\n reference({\n getBoundingClientRect() {\n return {\n width: 0,\n height: 0,\n x: clientX,\n y: clientY,\n left: clientX + horizontalOffset,\n top: clientY + verticalOffset,\n right: clientX,\n bottom: clientY\n };\n }\n });\n }, [reference]);\n useEffect(() => {\n if (refs.floating.current) {\n const boundary = boundaryRef.current;\n boundary.addEventListener(\"mousemove\", handleMouseMove);\n const parents = getOverflowAncestors(refs.floating.current);\n parents.forEach((parent) => {\n parent.addEventListener(\"scroll\", update);\n });\n return () => {\n boundary.removeEventListener(\"mousemove\", handleMouseMove);\n parents.forEach((parent) => {\n parent.removeEventListener(\"scroll\", update);\n });\n };\n }\n return void 0;\n }, [reference, refs.floating.current, update, handleMouseMove, opened]);\n return { handleMouseMove, x, y, opened, setOpened, boundaryRef, floating };\n}\n\nexport { useFloatingTooltip };\n//# sourceMappingURL=use-floating-tooltip.js.map\n","import React, { forwardRef, useRef, cloneElement } from 'react';\nimport { isElement } from '@mantine/utils';\nimport { useMergedRef } from '@mantine/hooks';\nimport { getDefaultZIndex, useComponentDefaultProps } from '@mantine/styles';\nimport { TooltipGroup } from './TooltipGroup/TooltipGroup.js';\nimport { TooltipFloating } from './TooltipFloating/TooltipFloating.js';\nimport { useTooltip } from './use-tooltip.js';\nimport { TOOLTIP_ERRORS } from './Tooltip.errors.js';\nimport useStyles from './Tooltip.styles.js';\nimport { getFloatingPosition } from '../Floating/get-floating-position/get-floating-position.js';\nimport { OptionalPortal } from '../Portal/OptionalPortal.js';\nimport { Transition } from '../Transition/Transition.js';\nimport { Box } from '../Box/Box.js';\nimport { FloatingArrow } from '../Floating/FloatingArrow/FloatingArrow.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n position: \"top\",\n refProp: \"ref\",\n withinPortal: false,\n inline: false,\n arrowSize: 4,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: \"side\",\n offset: 5,\n transitionProps: { duration: 100, transition: \"fade\" },\n width: \"auto\",\n events: { hover: true, focus: false, touch: false },\n zIndex: getDefaultZIndex(\"popover\"),\n positionDependencies: []\n};\nconst _Tooltip = forwardRef((props, ref) => {\n var _b;\n const arrowRef = useRef(null);\n const _a = useComponentDefaultProps(\"Tooltip\", defaultProps, props), {\n children,\n position,\n refProp,\n label,\n openDelay,\n closeDelay,\n onPositionChange,\n opened,\n withinPortal,\n portalProps,\n radius,\n color,\n classNames,\n styles,\n unstyled,\n style,\n className,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n offset,\n transitionProps,\n multiline,\n width,\n events,\n zIndex,\n disabled,\n positionDependencies,\n onClick,\n onMouseEnter,\n onMouseLeave,\n inline,\n variant,\n keepMounted\n } = _a, others = __objRest(_a, [\n \"children\",\n \"position\",\n \"refProp\",\n \"label\",\n \"openDelay\",\n \"closeDelay\",\n \"onPositionChange\",\n \"opened\",\n \"withinPortal\",\n \"portalProps\",\n \"radius\",\n \"color\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"style\",\n \"className\",\n \"withArrow\",\n \"arrowSize\",\n \"arrowOffset\",\n \"arrowRadius\",\n \"arrowPosition\",\n \"offset\",\n \"transitionProps\",\n \"multiline\",\n \"width\",\n \"events\",\n \"zIndex\",\n \"disabled\",\n \"positionDependencies\",\n \"onClick\",\n \"onMouseEnter\",\n \"onMouseLeave\",\n \"inline\",\n \"variant\",\n \"keepMounted\"\n ]);\n const { classes, cx, theme } = useStyles({ radius, color, width, multiline }, { name: \"Tooltip\", classNames, styles, unstyled, variant });\n const tooltip = useTooltip({\n position: getFloatingPosition(theme.dir, position),\n closeDelay,\n openDelay,\n onPositionChange,\n opened,\n events,\n arrowRef,\n arrowOffset,\n offset: offset + (withArrow ? arrowSize / 2 : 0),\n positionDependencies: [...positionDependencies, children],\n inline\n });\n if (!isElement(children)) {\n throw new Error(TOOLTIP_ERRORS.children);\n }\n const targetRef = useMergedRef(tooltip.reference, children.ref, ref);\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(OptionalPortal, __spreadProps(__spreadValues({}, portalProps), {\n withinPortal\n }), /* @__PURE__ */ React.createElement(Transition, __spreadProps(__spreadValues({\n keepMounted,\n mounted: !disabled && tooltip.opened\n }, transitionProps), {\n transition: transitionProps.transition || \"fade\",\n duration: tooltip.isGroupPhase ? 10 : (_b = transitionProps.duration) != null ? _b : 100\n }), (transitionStyles) => {\n var _a2, _b2;\n return /* @__PURE__ */ React.createElement(Box, __spreadValues(__spreadValues({}, others), tooltip.getFloatingProps({\n ref: tooltip.floating,\n className: classes.tooltip,\n style: __spreadProps(__spreadValues(__spreadValues({}, style), transitionStyles), {\n zIndex,\n top: (_a2 = tooltip.y) != null ? _a2 : 0,\n left: (_b2 = tooltip.x) != null ? _b2 : 0\n })\n })), label, /* @__PURE__ */ React.createElement(FloatingArrow, {\n ref: arrowRef,\n arrowX: tooltip.arrowX,\n arrowY: tooltip.arrowY,\n visible: withArrow,\n position: tooltip.placement,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n className: classes.arrow\n }));\n })), cloneElement(children, tooltip.getReferenceProps(__spreadValues({\n onClick,\n onMouseEnter,\n onMouseLeave,\n onMouseMove: props.onMouseMove,\n onPointerDown: props.onPointerDown,\n onPointerEnter: props.onPointerEnter,\n [refProp]: targetRef,\n className: cx(className, children.props.className)\n }, children.props))));\n});\n_Tooltip.Group = TooltipGroup;\n_Tooltip.Floating = TooltipFloating;\n_Tooltip.displayName = \"@mantine/core/Tooltip\";\nconst Tooltip = _Tooltip;\n\nexport { Tooltip };\n//# sourceMappingURL=Tooltip.js.map\n","import { useState, useCallback } from 'react';\nimport { useDelayGroupContext, useFloating, offset, shift, flip, arrow, inline, useInteractions, useHover, useFocus, useRole, useDismiss, useDelayGroup } from '@floating-ui/react';\nimport { useId, useDidUpdate } from '@mantine/hooks';\nimport { useTooltipGroupContext } from './TooltipGroup/TooltipGroup.context.js';\nimport { useFloatingAutoUpdate } from '../Floating/use-floating-auto-update.js';\n\nfunction useTooltip(settings) {\n const [uncontrolledOpened, setUncontrolledOpened] = useState(false);\n const controlled = typeof settings.opened === \"boolean\";\n const opened = controlled ? settings.opened : uncontrolledOpened;\n const withinGroup = useTooltipGroupContext();\n const uid = useId();\n const { delay: groupDelay, currentId, setCurrentId } = useDelayGroupContext();\n const onChange = useCallback((_opened) => {\n setUncontrolledOpened(_opened);\n if (_opened) {\n setCurrentId(uid);\n }\n }, [setCurrentId, uid]);\n const {\n x,\n y,\n reference,\n floating,\n context,\n refs,\n update,\n placement,\n middlewareData: { arrow: { x: arrowX, y: arrowY } = {} }\n } = useFloating({\n placement: settings.position,\n open: opened,\n onOpenChange: onChange,\n middleware: [\n offset(settings.offset),\n shift({ padding: 8 }),\n flip(),\n arrow({ element: settings.arrowRef, padding: settings.arrowOffset }),\n ...settings.inline ? [inline()] : []\n ]\n });\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n enabled: settings.events.hover,\n delay: withinGroup ? groupDelay : { open: settings.openDelay, close: settings.closeDelay },\n mouseOnly: !settings.events.touch\n }),\n useFocus(context, { enabled: settings.events.focus, keyboardOnly: true }),\n useRole(context, { role: \"tooltip\" }),\n useDismiss(context, { enabled: typeof settings.opened === void 0 }),\n useDelayGroup(context, { id: uid })\n ]);\n useFloatingAutoUpdate({\n opened,\n position: settings.position,\n positionDependencies: settings.positionDependencies,\n floating: { refs, update }\n });\n useDidUpdate(() => {\n var _a;\n (_a = settings.onPositionChange) == null ? void 0 : _a.call(settings, placement);\n }, [placement]);\n const isGroupPhase = opened && currentId && currentId !== uid;\n return {\n x,\n y,\n arrowX,\n arrowY,\n reference,\n floating,\n getFloatingProps,\n getReferenceProps,\n isGroupPhase,\n opened,\n placement\n };\n}\n\nexport { useTooltip };\n//# sourceMappingURL=use-tooltip.js.map\n","import { useState, useEffect } from 'react';\nimport { autoUpdate } from '@floating-ui/react';\nimport { useDidUpdate } from '@mantine/hooks';\n\nfunction useFloatingAutoUpdate({\n opened,\n floating,\n position,\n positionDependencies\n}) {\n const [delayedUpdate, setDelayedUpdate] = useState(0);\n useEffect(() => {\n if (floating.refs.reference.current && floating.refs.floating.current) {\n return autoUpdate(floating.refs.reference.current, floating.refs.floating.current, floating.update);\n }\n return void 0;\n }, [\n floating.refs.reference.current,\n floating.refs.floating.current,\n opened,\n delayedUpdate,\n position\n ]);\n useDidUpdate(() => {\n floating.update();\n }, positionDependencies);\n useDidUpdate(() => {\n setDelayedUpdate((c) => c + 1);\n }, [opened]);\n}\n\nexport { useFloatingAutoUpdate };\n//# sourceMappingURL=use-floating-auto-update.js.map\n","import { rem } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst popIn = {\n in: { opacity: 1, transform: \"scale(1)\" },\n out: { opacity: 0, transform: `scale(.9) translateY(${rem(10)})` },\n transitionProperty: \"transform, opacity\"\n};\nconst transitions = {\n fade: {\n in: { opacity: 1 },\n out: { opacity: 0 },\n transitionProperty: \"opacity\"\n },\n scale: {\n in: { opacity: 1, transform: \"scale(1)\" },\n out: { opacity: 0, transform: \"scale(0)\" },\n common: { transformOrigin: \"top\" },\n transitionProperty: \"transform, opacity\"\n },\n \"scale-y\": {\n in: { opacity: 1, transform: \"scaleY(1)\" },\n out: { opacity: 0, transform: \"scaleY(0)\" },\n common: { transformOrigin: \"top\" },\n transitionProperty: \"transform, opacity\"\n },\n \"scale-x\": {\n in: { opacity: 1, transform: \"scaleX(1)\" },\n out: { opacity: 0, transform: \"scaleX(0)\" },\n common: { transformOrigin: \"left\" },\n transitionProperty: \"transform, opacity\"\n },\n \"skew-up\": {\n in: { opacity: 1, transform: \"translateY(0) skew(0deg, 0deg)\" },\n out: { opacity: 0, transform: `translateY(-${rem(20)}) skew(-10deg, -5deg)` },\n common: { transformOrigin: \"top\" },\n transitionProperty: \"transform, opacity\"\n },\n \"skew-down\": {\n in: { opacity: 1, transform: \"translateY(0) skew(0deg, 0deg)\" },\n out: { opacity: 0, transform: `translateY(${rem(20)}) skew(-10deg, -5deg)` },\n common: { transformOrigin: \"bottom\" },\n transitionProperty: \"transform, opacity\"\n },\n \"rotate-left\": {\n in: { opacity: 1, transform: \"translateY(0) rotate(0deg)\" },\n out: { opacity: 0, transform: `translateY(${rem(20)}) rotate(-5deg)` },\n common: { transformOrigin: \"bottom\" },\n transitionProperty: \"transform, opacity\"\n },\n \"rotate-right\": {\n in: { opacity: 1, transform: \"translateY(0) rotate(0deg)\" },\n out: { opacity: 0, transform: `translateY(${rem(20)}) rotate(5deg)` },\n common: { transformOrigin: \"top\" },\n transitionProperty: \"transform, opacity\"\n },\n \"slide-down\": {\n in: { opacity: 1, transform: \"translateY(0)\" },\n out: { opacity: 0, transform: \"translateY(-100%)\" },\n common: { transformOrigin: \"top\" },\n transitionProperty: \"transform, opacity\"\n },\n \"slide-up\": {\n in: { opacity: 1, transform: \"translateY(0)\" },\n out: { opacity: 0, transform: \"translateY(100%)\" },\n common: { transformOrigin: \"bottom\" },\n transitionProperty: \"transform, opacity\"\n },\n \"slide-left\": {\n in: { opacity: 1, transform: \"translateX(0)\" },\n out: { opacity: 0, transform: \"translateX(100%)\" },\n common: { transformOrigin: \"left\" },\n transitionProperty: \"transform, opacity\"\n },\n \"slide-right\": {\n in: { opacity: 1, transform: \"translateX(0)\" },\n out: { opacity: 0, transform: \"translateX(-100%)\" },\n common: { transformOrigin: \"right\" },\n transitionProperty: \"transform, opacity\"\n },\n pop: __spreadProps(__spreadValues({}, popIn), {\n common: { transformOrigin: \"center center\" }\n }),\n \"pop-bottom-left\": __spreadProps(__spreadValues({}, popIn), {\n common: { transformOrigin: \"bottom left\" }\n }),\n \"pop-bottom-right\": __spreadProps(__spreadValues({}, popIn), {\n common: { transformOrigin: \"bottom right\" }\n }),\n \"pop-top-left\": __spreadProps(__spreadValues({}, popIn), {\n common: { transformOrigin: \"top left\" }\n }),\n \"pop-top-right\": __spreadProps(__spreadValues({}, popIn), {\n common: { transformOrigin: \"top right\" }\n })\n};\n\nexport { transitions };\n//# sourceMappingURL=transitions.js.map\n","import { transitions } from '../transitions.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst transitionStatuses = {\n entering: \"in\",\n entered: \"in\",\n exiting: \"out\",\n exited: \"out\",\n \"pre-exiting\": \"out\",\n \"pre-entering\": \"out\"\n};\nfunction getTransitionStyles({\n transition,\n state,\n duration,\n timingFunction\n}) {\n const shared = {\n transitionDuration: `${duration}ms`,\n transitionTimingFunction: timingFunction\n };\n if (typeof transition === \"string\") {\n if (!(transition in transitions)) {\n return null;\n }\n return __spreadValues(__spreadValues(__spreadValues({\n transitionProperty: transitions[transition].transitionProperty\n }, shared), transitions[transition].common), transitions[transition][transitionStatuses[state]]);\n }\n return __spreadValues(__spreadValues(__spreadValues({\n transitionProperty: transition.transitionProperty\n }, shared), transition.common), transition[transitionStatuses[state]]);\n}\n\nexport { getTransitionStyles };\n//# sourceMappingURL=get-transition-styles.js.map\n","import React from 'react';\nimport { getTransitionStyles } from './get-transition-styles/get-transition-styles.js';\nimport { useTransition } from './use-transition.js';\n\nfunction Transition({\n keepMounted,\n transition,\n duration = 250,\n exitDuration = duration,\n mounted,\n children,\n timingFunction,\n onExit,\n onEntered,\n onEnter,\n onExited\n}) {\n const { transitionDuration, transitionStatus, transitionTimingFunction } = useTransition({\n mounted,\n exitDuration,\n duration,\n timingFunction,\n onExit,\n onEntered,\n onEnter,\n onExited\n });\n if (transitionDuration === 0) {\n return mounted ? /* @__PURE__ */ React.createElement(React.Fragment, null, children({})) : keepMounted ? children({ display: \"none\" }) : null;\n }\n return transitionStatus === \"exited\" ? keepMounted ? children({ display: \"none\" }) : null : /* @__PURE__ */ React.createElement(React.Fragment, null, children(getTransitionStyles({\n transition,\n duration: transitionDuration,\n state: transitionStatus,\n timingFunction: transitionTimingFunction\n })));\n}\nTransition.displayName = \"@mantine/core/Transition\";\n\nexport { Transition };\n//# sourceMappingURL=Transition.js.map\n","import { useState, useRef, useEffect } from 'react';\nimport { useReducedMotion, useDidUpdate } from '@mantine/hooks';\nimport { useMantineTheme } from '@mantine/styles';\n\nfunction useTransition({\n duration,\n exitDuration,\n timingFunction,\n mounted,\n onEnter,\n onExit,\n onEntered,\n onExited\n}) {\n const theme = useMantineTheme();\n const shouldReduceMotion = useReducedMotion();\n const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;\n const [transitionDuration, setTransitionDuration] = useState(reduceMotion ? 0 : duration);\n const [transitionStatus, setStatus] = useState(mounted ? \"entered\" : \"exited\");\n const timeoutRef = useRef(-1);\n const handleStateChange = (shouldMount) => {\n const preHandler = shouldMount ? onEnter : onExit;\n const handler = shouldMount ? onEntered : onExited;\n setStatus(shouldMount ? \"pre-entering\" : \"pre-exiting\");\n window.clearTimeout(timeoutRef.current);\n const newTransitionDuration = reduceMotion ? 0 : shouldMount ? duration : exitDuration;\n setTransitionDuration(newTransitionDuration);\n if (newTransitionDuration === 0) {\n typeof preHandler === \"function\" && preHandler();\n typeof handler === \"function\" && handler();\n setStatus(shouldMount ? \"entered\" : \"exited\");\n } else {\n const preStateTimeout = window.setTimeout(() => {\n typeof preHandler === \"function\" && preHandler();\n setStatus(shouldMount ? \"entering\" : \"exiting\");\n }, 10);\n timeoutRef.current = window.setTimeout(() => {\n window.clearTimeout(preStateTimeout);\n typeof handler === \"function\" && handler();\n setStatus(shouldMount ? \"entered\" : \"exited\");\n }, newTransitionDuration);\n }\n };\n useDidUpdate(() => {\n handleStateChange(mounted);\n }, [mounted]);\n useEffect(() => () => window.clearTimeout(timeoutRef.current), []);\n return {\n transitionDuration,\n transitionStatus,\n transitionTimingFunction: timingFunction || theme.transitionTimingFunction\n };\n}\n\nexport { useTransition };\n//# sourceMappingURL=use-transition.js.map\n","import { createStyles } from '@mantine/styles';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar useStyles = createStyles((theme) => ({\n root: __spreadProps(__spreadValues(__spreadValues({}, theme.fn.focusStyles()), theme.fn.fontStyles()), {\n cursor: \"pointer\",\n border: 0,\n padding: 0,\n appearance: \"none\",\n fontSize: theme.fontSizes.md,\n backgroundColor: \"transparent\",\n textAlign: \"left\",\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black,\n textDecoration: \"none\",\n boxSizing: \"border-box\"\n })\n}));\n\nexport default useStyles;\n//# sourceMappingURL=UnstyledButton.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport useStyles from './UnstyledButton.styles.js';\nimport { Box } from '../Box/Box.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst _UnstyledButton = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"UnstyledButton\", {}, props), {\n className,\n component = \"button\",\n unstyled,\n variant\n } = _a, others = __objRest(_a, [\n \"className\",\n \"component\",\n \"unstyled\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles(null, { name: \"UnstyledButton\", unstyled, variant });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n component,\n ref,\n className: cx(classes.root, className),\n type: component === \"button\" ? \"button\" : void 0\n }, others));\n});\n_UnstyledButton.displayName = \"@mantine/core/UnstyledButton\";\nconst UnstyledButton = createPolymorphicComponent(_UnstyledButton);\n\nexport { UnstyledButton, _UnstyledButton };\n//# sourceMappingURL=UnstyledButton.js.map\n","import { clamp } from '@mantine/hooks';\n\nfunction levelToNumber(level, fallback) {\n if (!level) {\n return fallback;\n }\n return level === \"month\" ? 0 : level === \"year\" ? 1 : 2;\n}\nfunction levelNumberToLevel(levelNumber) {\n return levelNumber === 0 ? \"month\" : levelNumber === 1 ? \"year\" : \"decade\";\n}\nfunction clampLevel(level, minLevel, maxLevel) {\n return levelNumberToLevel(clamp(levelToNumber(level, 0), levelToNumber(minLevel, 0), levelToNumber(maxLevel, 2)));\n}\n\nexport { clampLevel };\n//# sourceMappingURL=clamp-level.js.map\n","function clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\n\nexport { clamp };\n//# sourceMappingURL=clamp.js.map\n","import { createStyles } from '@mantine/core';\n\nvar useStyles = createStyles(() => ({\n calendar: {}\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Calendar.styles.js.map\n","import { createStyles, getSize } from '@mantine/core';\n\nvar useStyles = createStyles((theme, _, { size }) => ({\n monthLevelGroup: {\n display: \"flex\",\n \"& [data-month-level]:not(:last-of-type)\": {\n marginRight: getSize({ size, sizes: theme.spacing })\n }\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=MonthLevelGroup.styles.js.map\n","import { createStyles } from '@mantine/core';\n\nvar useStyles = createStyles((theme) => ({\n monthLevel: {},\n calendarHeader: {\n marginBottom: theme.spacing.xs\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=MonthLevel.styles.js.map\n","import React from 'react';\nimport { useMantineTheme, ChevronIcon } from '@mantine/core';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction Chevron(_a) {\n var _b = _a, { direction, style } = _b, others = __objRest(_b, [\"direction\", \"style\"]);\n const theme = useMantineTheme();\n return /* @__PURE__ */ React.createElement(ChevronIcon, __spreadProps(__spreadValues({}, others), {\n style: __spreadProps(__spreadValues({}, style), {\n transform: direction === \"next\" && theme.dir === \"ltr\" || direction === \"previous\" && theme.dir === \"rtl\" ? \"rotate(270deg)\" : \"rotate(90deg)\"\n })\n }));\n}\nChevron.displayName = \"@mantine/dates/Chevron\";\n\nexport { Chevron };\n//# sourceMappingURL=Chevron.js.map\n","import { createStyles, getSize, rem } from '@mantine/core';\nimport { sizes } from '../Day/Day.styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar useStyles = createStyles((theme, _, { size }) => {\n const controlSize = getSize({ size, sizes });\n return {\n calendarHeaderControlIcon: {},\n calendarHeader: {\n display: \"flex\",\n maxWidth: `calc(${controlSize} * 7 + ${rem(7)})`\n },\n calendarHeaderControl: __spreadProps(__spreadValues({\n width: controlSize,\n height: controlSize,\n borderRadius: theme.fn.radius(),\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n userSelect: \"none\"\n }, theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[0]\n })), {\n \"&:active\": theme.activeStyles,\n \"&[data-disabled]\": __spreadProps(__spreadValues({\n opacity: 0.2,\n cursor: \"not-allowed\"\n }, theme.fn.hover({ backgroundColor: \"transparent\" })), {\n \"&:active\": {\n transform: \"none\"\n }\n })\n }),\n calendarHeaderLevel: __spreadProps(__spreadValues({\n height: controlSize,\n borderRadius: theme.fn.radius(),\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n userSelect: \"none\",\n flex: 1,\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n fontWeight: 500,\n textTransform: \"capitalize\"\n }, theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[0]\n })), {\n \"&:active\": theme.activeStyles,\n \"&[data-static]\": __spreadProps(__spreadValues({\n cursor: \"default\",\n userSelect: \"unset\"\n }, theme.fn.hover({ backgroundColor: \"transparent\" })), {\n \"&:active\": {\n transform: \"none\"\n }\n })\n })\n };\n});\n\nexport default useStyles;\n//# sourceMappingURL=CalendarHeader.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, Box, UnstyledButton } from '@mantine/core';\nimport { Chevron } from './Chevron.js';\nimport useStyles from './CalendarHeader.styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n nextDisabled: false,\n previousDisabled: false,\n hasNextLevel: true,\n withNext: true,\n withPrevious: true,\n size: \"sm\"\n};\nconst CalendarHeader = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"CalendarHeader\", defaultProps, props), {\n className,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n label,\n classNames,\n styles,\n unstyled,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n __staticSelector,\n __preventFocus,\n __stopPropagation,\n size,\n variant\n } = _a, others = __objRest(_a, [\n \"className\",\n \"nextIcon\",\n \"previousIcon\",\n \"nextLabel\",\n \"previousLabel\",\n \"onNext\",\n \"onPrevious\",\n \"onLevelClick\",\n \"label\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"nextDisabled\",\n \"previousDisabled\",\n \"hasNextLevel\",\n \"levelControlAriaLabel\",\n \"withNext\",\n \"withPrevious\",\n \"__staticSelector\",\n \"__preventFocus\",\n \"__stopPropagation\",\n \"size\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"CalendarHeader\", __staticSelector],\n classNames,\n styles,\n unstyled,\n size,\n variant\n });\n const preventFocus = __preventFocus ? (event) => event.preventDefault() : void 0;\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.calendarHeader, className),\n ref\n }, others), withPrevious && /* @__PURE__ */ React.createElement(UnstyledButton, {\n className: classes.calendarHeaderControl,\n \"data-previous\": true,\n \"aria-label\": previousLabel,\n onClick: onPrevious,\n unstyled,\n onMouseDown: preventFocus,\n disabled: previousDisabled,\n \"data-disabled\": previousDisabled || void 0,\n tabIndex: __preventFocus ? -1 : 0,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0\n }, previousIcon || /* @__PURE__ */ React.createElement(Chevron, {\n className: classes.calendarHeaderControlIcon,\n direction: \"previous\",\n \"data-previous\": true\n })), /* @__PURE__ */ React.createElement(UnstyledButton, {\n component: hasNextLevel ? \"button\" : \"div\",\n className: classes.calendarHeaderLevel,\n onClick: hasNextLevel ? onLevelClick : void 0,\n unstyled,\n onMouseDown: hasNextLevel ? preventFocus : void 0,\n disabled: !hasNextLevel,\n \"data-static\": !hasNextLevel || void 0,\n \"aria-label\": levelControlAriaLabel,\n tabIndex: __preventFocus || !hasNextLevel ? -1 : 0,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0\n }, label), withNext && /* @__PURE__ */ React.createElement(UnstyledButton, {\n className: classes.calendarHeaderControl,\n \"data-next\": true,\n \"aria-label\": nextLabel,\n onClick: onNext,\n unstyled,\n onMouseDown: preventFocus,\n disabled: nextDisabled,\n \"data-disabled\": nextDisabled || void 0,\n tabIndex: __preventFocus ? -1 : 0,\n \"data-mantine-stop-propagation\": __stopPropagation || void 0\n }, nextIcon || /* @__PURE__ */ React.createElement(Chevron, {\n className: classes.calendarHeaderControlIcon,\n direction: \"next\",\n \"data-next\": true\n })));\n});\nCalendarHeader.displayName = \"@mantine/dates/CalendarHeader\";\n\nexport { CalendarHeader };\n//# sourceMappingURL=CalendarHeader.js.map\n","function isSameMonth(date, comparison) {\n return date.getFullYear() === comparison.getFullYear() && date.getMonth() === comparison.getMonth();\n}\n\nexport { isSameMonth };\n//# sourceMappingURL=is-same-month.js.map\n","import dayjs from 'dayjs';\n\nfunction isBeforeMaxDate(date, maxDate) {\n return maxDate instanceof Date ? dayjs(date).isBefore(dayjs(maxDate).add(1, \"day\"), \"day\") : true;\n}\n\nexport { isBeforeMaxDate };\n//# sourceMappingURL=is-before-max-date.js.map\n","import dayjs from 'dayjs';\n\nfunction isAfterMinDate(date, minDate) {\n return minDate instanceof Date ? dayjs(date).isAfter(dayjs(minDate).subtract(1, \"day\"), \"day\") : true;\n}\n\nexport { isAfterMinDate };\n//# sourceMappingURL=is-after-min-date.js.map\n","import { createStyles, rem } from '@mantine/core';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar useStyles = createStyles((theme) => ({\n monthThead: {},\n monthRow: {},\n monthTbody: {},\n monthCell: {\n padding: 0,\n \"&[data-with-spacing]\": {\n padding: rem(0.5)\n }\n },\n month: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n borderCollapse: \"collapse\",\n tableLayout: \"fixed\",\n \"& *\": {\n boxSizing: \"border-box\"\n }\n })\n}));\n\nexport default useStyles;\n//# sourceMappingURL=Month.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, UnstyledButton } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport useStyles from './Day.styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n tabIndex: 0,\n size: \"sm\"\n};\nconst Day = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Day\", defaultProps, props), {\n className,\n date,\n radius,\n disabled,\n styles,\n classNames,\n unstyled,\n __staticSelector,\n weekend,\n outside,\n selected,\n renderDay,\n inRange,\n firstInRange,\n lastInRange,\n hidden,\n static: isStatic,\n variant,\n size\n } = _a, others = __objRest(_a, [\n \"className\",\n \"date\",\n \"radius\",\n \"disabled\",\n \"styles\",\n \"classNames\",\n \"unstyled\",\n \"__staticSelector\",\n \"weekend\",\n \"outside\",\n \"selected\",\n \"renderDay\",\n \"inRange\",\n \"firstInRange\",\n \"lastInRange\",\n \"hidden\",\n \"static\",\n \"variant\",\n \"size\"\n ]);\n const { classes, cx } = useStyles({ radius, isStatic }, { name: [\"Day\", __staticSelector], classNames, styles, unstyled, variant, size });\n return /* @__PURE__ */ React.createElement(UnstyledButton, __spreadValues({\n component: isStatic ? \"div\" : \"button\",\n ref,\n className: cx(classes.day, className),\n disabled,\n \"data-today\": dayjs(date).isSame(new Date(), \"day\") || void 0,\n \"data-hidden\": hidden || void 0,\n \"data-disabled\": disabled || void 0,\n \"data-weekend\": !disabled && !outside && weekend || void 0,\n \"data-outside\": !disabled && outside || void 0,\n \"data-selected\": !disabled && selected || void 0,\n \"data-in-range\": inRange && !disabled || void 0,\n \"data-first-in-range\": firstInRange && !disabled || void 0,\n \"data-last-in-range\": lastInRange && !disabled || void 0,\n unstyled\n }, others), (renderDay == null ? void 0 : renderDay(date)) || date.getDate());\n});\nDay.displayName = \"@mantine/dates/Day\";\n\nexport { Day };\n//# sourceMappingURL=Day.js.map\n","import { createStyles, getSize } from '@mantine/core';\n\nvar useStyles = createStyles((theme, _, { size }) => ({\n weekdaysRow: {},\n weekday: {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[1] : theme.colors.gray[5],\n fontWeight: 400,\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n textTransform: \"capitalize\",\n paddingBottom: `calc(${getSize({ size, sizes: theme.spacing })} / 2)`\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=WeekdaysRow.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, Box } from '@mantine/core';\nimport { getWeekdayNames } from './get-weekdays-names/get-weekdays-names.js';\nimport useStyles from './WeekdaysRow.styles.js';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n weekdayFormat: \"dd\",\n cellComponent: \"th\",\n size: \"sm\"\n};\nconst WeekdaysRow = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"WeekdaysRow\", defaultProps, props), {\n className,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n cellComponent: CellComponent,\n __staticSelector,\n classNames,\n styles,\n unstyled,\n variant,\n size\n } = _a, others = __objRest(_a, [\n \"className\",\n \"locale\",\n \"firstDayOfWeek\",\n \"weekdayFormat\",\n \"cellComponent\",\n \"__staticSelector\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"variant\",\n \"size\"\n ]);\n const ctx = useDatesContext();\n const { classes, cx } = useStyles(null, {\n name: [\"WeekdaysRow\", __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n const weekdays = getWeekdayNames({\n locale: ctx.getLocale(locale),\n format: weekdayFormat,\n firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)\n }).map((weekday, index) => /* @__PURE__ */ React.createElement(CellComponent, {\n key: index,\n className: classes.weekday\n }, weekday));\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n component: \"tr\",\n ref,\n className: cx(classes.weekdaysRow, className)\n }, others), weekdays);\n});\nWeekdaysRow.displayName = \"@mantine/dates/WeekdaysRow\";\n\nexport { WeekdaysRow };\n//# sourceMappingURL=WeekdaysRow.js.map\n","import dayjs from 'dayjs';\n\nfunction getWeekdayNames({\n locale,\n format = \"dd\",\n firstDayOfWeek = 1\n}) {\n const baseDate = dayjs().day(firstDayOfWeek);\n const labels = [];\n for (let i = 0; i < 7; i += 1) {\n if (typeof format === \"string\") {\n labels.push(dayjs(baseDate).add(i, \"days\").locale(locale).format(format));\n } else {\n labels.push(format(dayjs(baseDate).add(i, \"days\").toDate()));\n }\n }\n return labels;\n}\n\nexport { getWeekdayNames };\n//# sourceMappingURL=get-weekdays-names.js.map\n","import dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, Box } from '@mantine/core';\nimport { getMonthDays } from './get-month-days/get-month-days.js';\nimport { isSameMonth } from './is-same-month/is-same-month.js';\nimport { isBeforeMaxDate } from './is-before-max-date/is-before-max-date.js';\nimport { isAfterMinDate } from './is-after-min-date/is-after-min-date.js';\nimport useStyles from './Month.styles.js';\nimport { getDateInTabOrder } from './get-date-in-tab-order/get-date-in-tab-order.js';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.js';\nimport { Day } from '../Day/Day.js';\nimport { WeekdaysRow } from '../WeekdaysRow/WeekdaysRow.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n size: \"sm\",\n withCellSpacing: true\n};\nconst Month = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Month\", defaultProps, props), {\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n month,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n static: isStatic,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n variant\n } = _a, others = __objRest(_a, [\n \"className\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"__staticSelector\",\n \"locale\",\n \"firstDayOfWeek\",\n \"weekdayFormat\",\n \"month\",\n \"weekendDays\",\n \"getDayProps\",\n \"excludeDate\",\n \"minDate\",\n \"maxDate\",\n \"renderDay\",\n \"hideOutsideDates\",\n \"hideWeekdays\",\n \"getDayAriaLabel\",\n \"static\",\n \"__getDayRef\",\n \"__onDayKeyDown\",\n \"__onDayClick\",\n \"__onDayMouseEnter\",\n \"__preventFocus\",\n \"__stopPropagation\",\n \"withCellSpacing\",\n \"size\",\n \"variant\"\n ]);\n const ctx = useDatesContext();\n const { classes, cx } = useStyles(null, {\n name: [\"Month\", __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"Month\",\n classNames,\n styles,\n unstyled,\n variant,\n size\n };\n const dates = getMonthDays(month, ctx.getFirstDayOfWeek(firstDayOfWeek));\n const dateInTabOrder = getDateInTabOrder(dates, minDate, maxDate, getDayProps, excludeDate, hideOutsideDates, month);\n const rows = dates.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const outside = !isSameMonth(date, month);\n const ariaLabel = (getDayAriaLabel == null ? void 0 : getDayAriaLabel(date)) || dayjs(date).locale(locale || ctx.locale).format(\"D MMMM YYYY\");\n const dayProps = getDayProps == null ? void 0 : getDayProps(date);\n const isDateInTabOrder = dayjs(date).isSame(dateInTabOrder, \"date\");\n return /* @__PURE__ */ React.createElement(\"td\", {\n key: date.toString(),\n className: classes.monthCell,\n \"data-with-spacing\": withCellSpacing || void 0\n }, /* @__PURE__ */ React.createElement(Day, __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, stylesApiProps), {\n \"data-mantine-stop-propagation\": __stopPropagation || void 0,\n renderDay,\n date,\n weekend: ctx.getWeekendDays(weekendDays).includes(date.getDay()),\n outside,\n hidden: hideOutsideDates ? outside : false,\n \"aria-label\": ariaLabel,\n static: isStatic,\n disabled: (excludeDate == null ? void 0 : excludeDate(date)) || !isBeforeMaxDate(date, maxDate) || !isAfterMinDate(date, minDate),\n ref: (node) => __getDayRef == null ? void 0 : __getDayRef(rowIndex, cellIndex, node)\n }), dayProps), {\n onKeyDown: (event) => {\n var _a2;\n (_a2 = dayProps == null ? void 0 : dayProps.onKeyDown) == null ? void 0 : _a2.call(dayProps, event);\n __onDayKeyDown == null ? void 0 : __onDayKeyDown(event, { rowIndex, cellIndex, date });\n },\n onMouseEnter: (event) => {\n var _a2;\n (_a2 = dayProps == null ? void 0 : dayProps.onMouseEnter) == null ? void 0 : _a2.call(dayProps, event);\n __onDayMouseEnter == null ? void 0 : __onDayMouseEnter(event, date);\n },\n onClick: (event) => {\n var _a2;\n (_a2 = dayProps == null ? void 0 : dayProps.onClick) == null ? void 0 : _a2.call(dayProps, event);\n __onDayClick == null ? void 0 : __onDayClick(event, date);\n },\n onMouseDown: (event) => {\n var _a2;\n (_a2 = dayProps == null ? void 0 : dayProps.onMouseDown) == null ? void 0 : _a2.call(dayProps, event);\n __preventFocus && event.preventDefault();\n },\n tabIndex: __preventFocus || !isDateInTabOrder ? -1 : 0\n })));\n });\n return /* @__PURE__ */ React.createElement(\"tr\", {\n key: rowIndex,\n className: classes.monthRow\n }, cells);\n });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n component: \"table\",\n className: cx(classes.month, className),\n ref\n }, others), !hideWeekdays && /* @__PURE__ */ React.createElement(\"thead\", {\n className: classes.monthThead\n }, /* @__PURE__ */ React.createElement(WeekdaysRow, __spreadProps(__spreadValues({}, stylesApiProps), {\n locale,\n firstDayOfWeek,\n weekdayFormat\n }))), /* @__PURE__ */ React.createElement(\"tbody\", {\n className: classes.monthTbody\n }, rows));\n});\nMonth.displayName = \"@mantine/dates/Month\";\n\nexport { Month };\n//# sourceMappingURL=Month.js.map\n","import { getStartOfWeek } from '../get-start-of-week/get-start-of-week.js';\nimport { getEndOfWeek } from '../get-end-of-week/get-end-of-week.js';\n\nfunction getMonthDays(month, firstDayOfWeek = 1) {\n const currentMonth = month.getMonth();\n const startOfMonth = new Date(month.getFullYear(), currentMonth, 1);\n const endOfMonth = new Date(month.getFullYear(), month.getMonth() + 1, 0);\n const endDate = getEndOfWeek(endOfMonth, firstDayOfWeek);\n const date = getStartOfWeek(startOfMonth, firstDayOfWeek);\n const weeks = [];\n while (date <= endDate) {\n const days = [];\n for (let i = 0; i < 7; i += 1) {\n days.push(new Date(date));\n date.setDate(date.getDate() + 1);\n }\n weeks.push(days);\n }\n return weeks;\n}\n\nexport { getMonthDays };\n//# sourceMappingURL=get-month-days.js.map\n","function getEndOfWeek(date, firstDayOfWeek = 1) {\n const value = new Date(date);\n const lastDayOfWeek = firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;\n while (value.getDay() !== lastDayOfWeek) {\n value.setDate(value.getDate() + 1);\n }\n return value;\n}\n\nexport { getEndOfWeek };\n//# sourceMappingURL=get-end-of-week.js.map\n","function getStartOfWeek(date, firstDayOfWeek = 1) {\n const value = new Date(date);\n while (value.getDay() !== firstDayOfWeek) {\n value.setDate(value.getDate() - 1);\n }\n return value;\n}\n\nexport { getStartOfWeek };\n//# sourceMappingURL=get-start-of-week.js.map\n","import dayjs from 'dayjs';\nimport { isAfterMinDate } from '../is-after-min-date/is-after-min-date.js';\nimport { isBeforeMaxDate } from '../is-before-max-date/is-before-max-date.js';\nimport { isSameMonth } from '../is-same-month/is-same-month.js';\n\nfunction getDateInTabOrder(dates, minDate, maxDate, getDateControlProps, excludeDate, hideOutsideDates, month) {\n const enabledDates = dates.flat().filter((date) => {\n var _a;\n return isBeforeMaxDate(date, maxDate) && isAfterMinDate(date, minDate) && !(excludeDate == null ? void 0 : excludeDate(date)) && !((_a = getDateControlProps == null ? void 0 : getDateControlProps(date)) == null ? void 0 : _a.disabled) && (!hideOutsideDates || isSameMonth(date, month));\n });\n const selectedDate = enabledDates.find((date) => {\n var _a;\n return (_a = getDateControlProps == null ? void 0 : getDateControlProps(date)) == null ? void 0 : _a.selected;\n });\n if (selectedDate) {\n return selectedDate;\n }\n const currentDate = enabledDates.find((date) => dayjs().isSame(date, \"date\"));\n if (currentDate) {\n return currentDate;\n }\n return enabledDates[0];\n}\n\nexport { getDateInTabOrder };\n//# sourceMappingURL=get-date-in-tab-order.js.map\n","import dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, Box } from '@mantine/core';\nimport useStyles from './MonthLevel.styles.js';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.js';\nimport { CalendarHeader } from '../CalendarHeader/CalendarHeader.js';\nimport { Month } from '../Month/Month.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n monthLabelFormat: \"MMMM YYYY\"\n};\nconst MonthLevel = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"MonthLevel\", defaultProps, props), {\n month,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n className,\n monthLabelFormat,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n size,\n variant,\n static: isStatic\n } = _a, others = __objRest(_a, [\n \"month\",\n \"locale\",\n \"firstDayOfWeek\",\n \"weekdayFormat\",\n \"weekendDays\",\n \"getDayProps\",\n \"excludeDate\",\n \"minDate\",\n \"maxDate\",\n \"renderDay\",\n \"hideOutsideDates\",\n \"hideWeekdays\",\n \"getDayAriaLabel\",\n \"__getDayRef\",\n \"__onDayKeyDown\",\n \"__onDayClick\",\n \"__onDayMouseEnter\",\n \"withCellSpacing\",\n \"__preventFocus\",\n \"__stopPropagation\",\n \"nextIcon\",\n \"previousIcon\",\n \"nextLabel\",\n \"previousLabel\",\n \"onNext\",\n \"onPrevious\",\n \"onLevelClick\",\n \"nextDisabled\",\n \"previousDisabled\",\n \"hasNextLevel\",\n \"levelControlAriaLabel\",\n \"withNext\",\n \"withPrevious\",\n \"className\",\n \"monthLabelFormat\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"__staticSelector\",\n \"size\",\n \"variant\",\n \"static\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"MonthLevel\", __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n const ctx = useDatesContext();\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"MonthLevel\",\n classNames,\n styles,\n unstyled,\n variant,\n size\n };\n const _nextDisabled = typeof nextDisabled === \"boolean\" ? nextDisabled : maxDate ? !dayjs(month).endOf(\"month\").isBefore(maxDate) : false;\n const _previousDisabled = typeof previousDisabled === \"boolean\" ? previousDisabled : minDate ? !dayjs(month).startOf(\"month\").isAfter(minDate) : false;\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.monthLevel, className),\n \"data-month-level\": true,\n ref\n }, others), /* @__PURE__ */ React.createElement(CalendarHeader, __spreadValues({\n label: typeof monthLabelFormat === \"function\" ? monthLabelFormat(month) : dayjs(month).locale(locale || ctx.locale).format(monthLabelFormat),\n className: classes.calendarHeader,\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled: _nextDisabled,\n previousDisabled: _previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious\n }, stylesApiProps)), /* @__PURE__ */ React.createElement(Month, __spreadValues({\n month,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n static: isStatic,\n withCellSpacing\n }, stylesApiProps)));\n});\nMonthLevel.displayName = \"@mantine/dates/MonthLevel\";\n\nexport { MonthLevel };\n//# sourceMappingURL=MonthLevel.js.map\n","function getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }) {\n switch (direction) {\n case \"up\":\n if (levelIndex === 0 && rowIndex === 0) {\n return null;\n }\n if (rowIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1 ? size[levelIndex - 1].length - 1 : size[levelIndex - 1].length - 2,\n cellIndex\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex\n };\n case \"down\":\n if (rowIndex === size[levelIndex].length - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex\n };\n }\n if (rowIndex === size[levelIndex].length - 2 && cellIndex >= size[levelIndex][size[levelIndex].length - 1]) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex\n };\n case \"left\":\n if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {\n return null;\n }\n if (rowIndex === 0 && cellIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: size[levelIndex - 1].length - 1,\n cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1\n };\n }\n if (cellIndex === 0) {\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex: size[levelIndex][rowIndex - 1] - 1\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex - 1\n };\n case \"right\":\n if (rowIndex === size[levelIndex].length - 1 && cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex: 0\n };\n }\n if (cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex: 0\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex + 1\n };\n default:\n return { levelIndex, rowIndex, cellIndex };\n }\n}\nfunction focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size\n}) {\n var _a, _b;\n const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });\n if (!nextIndex) {\n return;\n }\n const controlToFocus = (_b = (_a = controlsRef.current[nextIndex.levelIndex]) == null ? void 0 : _a[nextIndex.rowIndex]) == null ? void 0 : _b[nextIndex.cellIndex];\n if (!controlToFocus) {\n return;\n }\n if (controlToFocus.disabled || controlToFocus.getAttribute(\"data-hidden\") || controlToFocus.getAttribute(\"data-outside\")) {\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex: nextIndex.levelIndex,\n cellIndex: nextIndex.cellIndex,\n rowIndex: nextIndex.rowIndex,\n size\n });\n } else {\n controlToFocus.focus();\n }\n}\nfunction getDirection(key) {\n switch (key) {\n case \"ArrowDown\":\n return \"down\";\n case \"ArrowUp\":\n return \"up\";\n case \"ArrowRight\":\n return \"right\";\n case \"ArrowLeft\":\n return \"left\";\n default:\n return null;\n }\n}\nfunction getControlsSize(controlsRef) {\n return controlsRef.current.map((column) => column.map((row) => row.length));\n}\nfunction handleControlKeyDown({\n controlsRef,\n levelIndex,\n rowIndex,\n cellIndex,\n event\n}) {\n const direction = getDirection(event.key);\n if (direction) {\n event.preventDefault();\n const size = getControlsSize(controlsRef);\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size\n });\n }\n}\n\nexport { handleControlKeyDown };\n//# sourceMappingURL=handle-control-key-down.js.map\n","import React, { forwardRef, useRef } from 'react';\nimport { useComponentDefaultProps, Box } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport useStyles from './MonthLevelGroup.styles.js';\nimport { MonthLevel } from '../MonthLevel/MonthLevel.js';\nimport { handleControlKeyDown } from '../../utils/handle-control-key-down.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n numberOfColumns: 1\n};\nconst MonthLevelGroup = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"MonthLevelGroup\", defaultProps, props), {\n month,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n className,\n classNames,\n styles,\n unstyled,\n numberOfColumns,\n levelControlAriaLabel,\n monthLabelFormat,\n __staticSelector,\n __stopPropagation,\n size,\n variant,\n static: isStatic\n } = _a, others = __objRest(_a, [\n \"month\",\n \"locale\",\n \"firstDayOfWeek\",\n \"weekdayFormat\",\n \"weekendDays\",\n \"getDayProps\",\n \"excludeDate\",\n \"minDate\",\n \"maxDate\",\n \"renderDay\",\n \"hideOutsideDates\",\n \"hideWeekdays\",\n \"getDayAriaLabel\",\n \"__onDayClick\",\n \"__onDayMouseEnter\",\n \"withCellSpacing\",\n \"__preventFocus\",\n \"nextIcon\",\n \"previousIcon\",\n \"nextLabel\",\n \"previousLabel\",\n \"onNext\",\n \"onPrevious\",\n \"onLevelClick\",\n \"nextDisabled\",\n \"previousDisabled\",\n \"hasNextLevel\",\n \"className\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"numberOfColumns\",\n \"levelControlAriaLabel\",\n \"monthLabelFormat\",\n \"__staticSelector\",\n \"__stopPropagation\",\n \"size\",\n \"variant\",\n \"static\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"MonthLevelGroup\", __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n const daysRefs = useRef([]);\n const months = Array(numberOfColumns).fill(0).map((_, monthIndex) => {\n const currentMonth = dayjs(month).add(monthIndex, \"months\").toDate();\n return /* @__PURE__ */ React.createElement(MonthLevel, {\n key: monthIndex,\n month: currentMonth,\n withNext: monthIndex === numberOfColumns - 1,\n withPrevious: monthIndex === 0,\n monthLabelFormat,\n __stopPropagation,\n __onDayClick,\n __onDayMouseEnter,\n __onDayKeyDown: (event, payload) => handleControlKeyDown({\n levelIndex: monthIndex,\n rowIndex: payload.rowIndex,\n cellIndex: payload.cellIndex,\n event,\n controlsRef: daysRefs\n }),\n __getDayRef: (rowIndex, cellIndex, node) => {\n if (!Array.isArray(daysRefs.current[monthIndex])) {\n daysRefs.current[monthIndex] = [];\n }\n if (!Array.isArray(daysRefs.current[monthIndex][rowIndex])) {\n daysRefs.current[monthIndex][rowIndex] = [];\n }\n daysRefs.current[monthIndex][rowIndex][cellIndex] = node;\n },\n levelControlAriaLabel: typeof levelControlAriaLabel === \"function\" ? levelControlAriaLabel(currentMonth) : levelControlAriaLabel,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n classNames,\n styles,\n unstyled,\n __staticSelector: __staticSelector || \"MonthLevelGroup\",\n size,\n variant,\n static: isStatic,\n withCellSpacing\n });\n });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.monthLevelGroup, className),\n ref\n }, others), months);\n});\nMonthLevelGroup.displayName = \"@mantine/dates/MonthLevelGroup\";\n\nexport { MonthLevelGroup };\n//# sourceMappingURL=MonthLevelGroup.js.map\n","import { createStyles, getSize } from '@mantine/core';\n\nvar useStyles = createStyles((theme, _, { size }) => ({\n yearLevelGroup: {\n display: \"flex\",\n \"& [data-year-level]:not(:last-of-type)\": {\n marginRight: getSize({ size, sizes: theme.spacing })\n }\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=YearLevelGroup.styles.js.map\n","import { createStyles } from '@mantine/core';\n\nvar useStyles = createStyles((theme) => ({\n yearLevel: {},\n calendarHeader: {\n marginBottom: theme.spacing.xs\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=YearLevel.styles.js.map\n","import dayjs from 'dayjs';\n\nfunction isMonthDisabled(month, minDate, maxDate) {\n if (!minDate && !maxDate) {\n return false;\n }\n if (minDate && dayjs(month).isBefore(minDate, \"month\")) {\n return true;\n }\n if (maxDate && dayjs(month).isAfter(maxDate, \"month\")) {\n return true;\n }\n return false;\n}\n\nexport { isMonthDisabled };\n//# sourceMappingURL=is-month-disabled.js.map\n","import { createStyles, rem } from '@mantine/core';\n\nvar useStyles = createStyles(() => ({\n monthsList: {\n borderCollapse: \"collapse\",\n borderWidth: 0,\n cursor: \"pointer\"\n },\n monthsListCell: {\n padding: 0,\n \"&[data-with-spacing]\": {\n padding: rem(0.5)\n }\n },\n monthsListRow: {}\n}));\n\nexport default useStyles;\n//# sourceMappingURL=MonthsList.styles.js.map\n","import dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, Box } from '@mantine/core';\nimport { getMonthsData } from './get-months-data/get-months-data.js';\nimport { isMonthDisabled } from './is-month-disabled/is-month-disabled.js';\nimport useStyles from './MonthsList.styles.js';\nimport { getMonthInTabOrder } from './get-month-in-tab-order/get-month-in-tab-order.js';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.js';\nimport { PickerControl } from '../PickerControl/PickerControl.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n monthsListFormat: \"MMM\",\n size: \"sm\",\n withCellSpacing: true\n};\nconst MonthsList = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"MonthsList\", defaultProps, props), {\n year,\n className,\n monthsListFormat,\n locale,\n minDate,\n maxDate,\n getMonthControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n size,\n variant,\n __stopPropagation,\n withCellSpacing\n } = _a, others = __objRest(_a, [\n \"year\",\n \"className\",\n \"monthsListFormat\",\n \"locale\",\n \"minDate\",\n \"maxDate\",\n \"getMonthControlProps\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"__staticSelector\",\n \"__getControlRef\",\n \"__onControlKeyDown\",\n \"__onControlClick\",\n \"__onControlMouseEnter\",\n \"__preventFocus\",\n \"size\",\n \"variant\",\n \"__stopPropagation\",\n \"withCellSpacing\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"MonthsList\", __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n const ctx = useDatesContext();\n const months = getMonthsData(year);\n const monthInTabOrder = getMonthInTabOrder(months, minDate, maxDate, getMonthControlProps);\n const rows = months.map((monthsRow, rowIndex) => {\n const cells = monthsRow.map((month, cellIndex) => {\n const controlProps = getMonthControlProps == null ? void 0 : getMonthControlProps(month);\n const isMonthInTabOrder = dayjs(month).isSame(monthInTabOrder, \"month\");\n return /* @__PURE__ */ React.createElement(\"td\", {\n key: cellIndex,\n className: classes.monthsListCell,\n \"data-with-spacing\": withCellSpacing || void 0\n }, /* @__PURE__ */ React.createElement(PickerControl, __spreadProps(__spreadValues({\n variant,\n size,\n classNames,\n styles,\n unstyled,\n __staticSelector: __staticSelector || \"MonthsList\",\n \"data-mantine-stop-propagation\": __stopPropagation || void 0,\n disabled: isMonthDisabled(month, minDate, maxDate),\n ref: (node) => __getControlRef == null ? void 0 : __getControlRef(rowIndex, cellIndex, node)\n }, controlProps), {\n onKeyDown: (event) => {\n var _a2;\n (_a2 = controlProps == null ? void 0 : controlProps.onKeyDown) == null ? void 0 : _a2.call(controlProps, event);\n __onControlKeyDown == null ? void 0 : __onControlKeyDown(event, { rowIndex, cellIndex, date: month });\n },\n onClick: (event) => {\n var _a2;\n (_a2 = controlProps == null ? void 0 : controlProps.onClick) == null ? void 0 : _a2.call(controlProps, event);\n __onControlClick == null ? void 0 : __onControlClick(event, month);\n },\n onMouseEnter: (event) => {\n var _a2;\n (_a2 = controlProps == null ? void 0 : controlProps.onMouseEnter) == null ? void 0 : _a2.call(controlProps, event);\n __onControlMouseEnter == null ? void 0 : __onControlMouseEnter(event, month);\n },\n onMouseDown: (event) => {\n var _a2;\n (_a2 = controlProps == null ? void 0 : controlProps.onMouseDown) == null ? void 0 : _a2.call(controlProps, event);\n __preventFocus && event.preventDefault();\n },\n tabIndex: __preventFocus || !isMonthInTabOrder ? -1 : 0\n }), dayjs(month).locale(ctx.getLocale(locale)).format(monthsListFormat)));\n });\n return /* @__PURE__ */ React.createElement(\"tr\", {\n key: rowIndex,\n className: classes.monthsListRow\n }, cells);\n });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n component: \"table\",\n ref,\n className: cx(classes.monthsList, className)\n }, others), /* @__PURE__ */ React.createElement(\"tbody\", null, rows));\n});\nMonthsList.displayName = \"@mantine/dates/MonthsList\";\n\nexport { MonthsList };\n//# sourceMappingURL=MonthsList.js.map\n","import dayjs from 'dayjs';\n\nfunction getMonthsData(year) {\n const startOfYear = dayjs(year).startOf(\"year\").toDate();\n const results = [[], [], [], []];\n let currentMonthIndex = 0;\n for (let i = 0; i < 4; i += 1) {\n for (let j = 0; j < 3; j += 1) {\n results[i].push(dayjs(startOfYear).add(currentMonthIndex, \"months\").toDate());\n currentMonthIndex += 1;\n }\n }\n return results;\n}\n\nexport { getMonthsData };\n//# sourceMappingURL=get-months-data.js.map\n","import dayjs from 'dayjs';\nimport { isMonthDisabled } from '../is-month-disabled/is-month-disabled.js';\n\nfunction getMonthInTabOrder(months, minDate, maxDate, getMonthControlProps) {\n const enabledMonths = months.flat().filter((month) => {\n var _a;\n return !isMonthDisabled(month, minDate, maxDate) && !((_a = getMonthControlProps == null ? void 0 : getMonthControlProps(month)) == null ? void 0 : _a.disabled);\n });\n const selectedMonth = enabledMonths.find((month) => {\n var _a;\n return (_a = getMonthControlProps == null ? void 0 : getMonthControlProps(month)) == null ? void 0 : _a.selected;\n });\n if (selectedMonth) {\n return selectedMonth;\n }\n const currentMonth = enabledMonths.find((month) => dayjs().isSame(month, \"month\"));\n if (currentMonth) {\n return currentMonth;\n }\n return enabledMonths[0];\n}\n\nexport { getMonthInTabOrder };\n//# sourceMappingURL=get-month-in-tab-order.js.map\n","import dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, Box } from '@mantine/core';\nimport useStyles from './YearLevel.styles.js';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.js';\nimport { CalendarHeader } from '../CalendarHeader/CalendarHeader.js';\nimport { MonthsList } from '../MonthsList/MonthsList.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n yearLabelFormat: \"YYYY\",\n size: \"sm\"\n};\nconst YearLevel = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"YearLevel\", defaultProps, props), {\n year,\n locale,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n className,\n yearLabelFormat,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n size,\n variant\n } = _a, others = __objRest(_a, [\n \"year\",\n \"locale\",\n \"minDate\",\n \"maxDate\",\n \"monthsListFormat\",\n \"getMonthControlProps\",\n \"__getControlRef\",\n \"__onControlKeyDown\",\n \"__onControlClick\",\n \"__onControlMouseEnter\",\n \"withCellSpacing\",\n \"__preventFocus\",\n \"nextIcon\",\n \"previousIcon\",\n \"nextLabel\",\n \"previousLabel\",\n \"onNext\",\n \"onPrevious\",\n \"onLevelClick\",\n \"nextDisabled\",\n \"previousDisabled\",\n \"hasNextLevel\",\n \"levelControlAriaLabel\",\n \"withNext\",\n \"withPrevious\",\n \"className\",\n \"yearLabelFormat\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"__staticSelector\",\n \"__stopPropagation\",\n \"size\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"YearLevel\", __staticSelector],\n classNames,\n styles,\n unstyled,\n size,\n variant\n });\n const ctx = useDatesContext();\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"YearLevel\",\n classNames,\n styles,\n unstyled,\n size,\n variant\n };\n const _nextDisabled = typeof nextDisabled === \"boolean\" ? nextDisabled : maxDate ? !dayjs(year).endOf(\"year\").isBefore(maxDate) : false;\n const _previousDisabled = typeof previousDisabled === \"boolean\" ? previousDisabled : minDate ? !dayjs(year).startOf(\"year\").isAfter(minDate) : false;\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.yearLevel, className),\n \"data-year-level\": true,\n ref\n }, others), /* @__PURE__ */ React.createElement(CalendarHeader, __spreadValues({\n label: typeof yearLabelFormat === \"function\" ? yearLabelFormat(year) : dayjs(year).locale(locale || ctx.locale).format(yearLabelFormat),\n className: classes.calendarHeader,\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled: _nextDisabled,\n previousDisabled: _previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious\n }, stylesApiProps)), /* @__PURE__ */ React.createElement(MonthsList, __spreadValues({\n year,\n locale,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing\n }, stylesApiProps)));\n});\nYearLevel.displayName = \"@mantine/dates/YearLevel\";\n\nexport { YearLevel };\n//# sourceMappingURL=YearLevel.js.map\n","import React, { forwardRef, useRef } from 'react';\nimport { useComponentDefaultProps, Box } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport useStyles from './YearLevelGroup.styles.js';\nimport { YearLevel } from '../YearLevel/YearLevel.js';\nimport { handleControlKeyDown } from '../../utils/handle-control-key-down.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n numberOfColumns: 1,\n size: \"sm\"\n};\nconst YearLevelGroup = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"YearLevelGroup\", defaultProps, props), {\n year,\n locale,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n numberOfColumns,\n levelControlAriaLabel,\n yearLabelFormat,\n variant,\n size\n } = _a, others = __objRest(_a, [\n \"year\",\n \"locale\",\n \"minDate\",\n \"maxDate\",\n \"monthsListFormat\",\n \"getMonthControlProps\",\n \"__onControlClick\",\n \"__onControlMouseEnter\",\n \"withCellSpacing\",\n \"__preventFocus\",\n \"nextIcon\",\n \"previousIcon\",\n \"nextLabel\",\n \"previousLabel\",\n \"onNext\",\n \"onPrevious\",\n \"onLevelClick\",\n \"nextDisabled\",\n \"previousDisabled\",\n \"hasNextLevel\",\n \"className\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"__staticSelector\",\n \"__stopPropagation\",\n \"numberOfColumns\",\n \"levelControlAriaLabel\",\n \"yearLabelFormat\",\n \"variant\",\n \"size\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"YearLevelGroup\", __staticSelector],\n styles,\n classNames,\n unstyled,\n variant,\n size\n });\n const controlsRef = useRef([]);\n const years = Array(numberOfColumns).fill(0).map((_, yearIndex) => {\n const currentYear = dayjs(year).add(yearIndex, \"years\").toDate();\n return /* @__PURE__ */ React.createElement(YearLevel, {\n key: yearIndex,\n variant,\n size,\n monthsListFormat,\n year: currentYear,\n withNext: yearIndex === numberOfColumns - 1,\n withPrevious: yearIndex === 0,\n yearLabelFormat,\n __stopPropagation,\n __onControlClick,\n __onControlMouseEnter,\n __onControlKeyDown: (event, payload) => handleControlKeyDown({\n levelIndex: yearIndex,\n rowIndex: payload.rowIndex,\n cellIndex: payload.cellIndex,\n event,\n controlsRef\n }),\n __getControlRef: (rowIndex, cellIndex, node) => {\n if (!Array.isArray(controlsRef.current[yearIndex])) {\n controlsRef.current[yearIndex] = [];\n }\n if (!Array.isArray(controlsRef.current[yearIndex][rowIndex])) {\n controlsRef.current[yearIndex][rowIndex] = [];\n }\n controlsRef.current[yearIndex][rowIndex][cellIndex] = node;\n },\n levelControlAriaLabel: typeof levelControlAriaLabel === \"function\" ? levelControlAriaLabel(currentYear) : levelControlAriaLabel,\n locale,\n minDate,\n maxDate,\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n getMonthControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector: __staticSelector || \"YearLevelGroup\",\n withCellSpacing\n });\n });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.yearLevelGroup, className),\n ref\n }, others), years);\n});\nYearLevelGroup.displayName = \"@mantine/dates/YearLevelGroup\";\n\nexport { YearLevelGroup };\n//# sourceMappingURL=YearLevelGroup.js.map\n","import { createStyles } from '@mantine/core';\n\nvar useStyles = createStyles((theme) => ({\n decadeLevelGroup: {\n display: \"flex\",\n gap: theme.spacing.md\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=DecadeLevelGroup.styles.js.map\n","function getYearsData(decade) {\n const year = decade.getFullYear();\n const rounded = year - year % 10;\n let currentYearIndex = 0;\n const results = [[], [], [], []];\n for (let i = 0; i < 4; i += 1) {\n const max = i === 3 ? 1 : 3;\n for (let j = 0; j < max; j += 1) {\n results[i].push(new Date(rounded + currentYearIndex, 0));\n currentYearIndex += 1;\n }\n }\n return results;\n}\n\nexport { getYearsData };\n//# sourceMappingURL=get-years-data.js.map\n","import { createStyles } from '@mantine/core';\n\nvar useStyles = createStyles((theme) => ({\n decadeLevel: {},\n calendarHeader: {\n marginBottom: theme.spacing.xs\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=DecadeLevel.styles.js.map\n","import dayjs from 'dayjs';\n\nfunction isYearDisabled(year, minDate, maxDate) {\n if (!minDate && !maxDate) {\n return false;\n }\n if (minDate && dayjs(year).isBefore(minDate, \"year\")) {\n return true;\n }\n if (maxDate && dayjs(year).isAfter(maxDate, \"year\")) {\n return true;\n }\n return false;\n}\n\nexport { isYearDisabled };\n//# sourceMappingURL=is-year-disabled.js.map\n","import { createStyles, rem } from '@mantine/core';\n\nvar useStyles = createStyles(() => ({\n yearsList: {\n borderCollapse: \"collapse\",\n borderWidth: 0\n },\n yearsListCell: {\n padding: 0,\n \"&[data-with-spacing]\": {\n padding: rem(0.5)\n }\n },\n yearsListRow: {}\n}));\n\nexport default useStyles;\n//# sourceMappingURL=YearsList.styles.js.map\n","import dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, Box } from '@mantine/core';\nimport { getYearsData } from './get-years-data/get-years-data.js';\nimport { isYearDisabled } from './is-year-disabled/is-year-disabled.js';\nimport useStyles from './YearsList.styles.js';\nimport { getYearInTabOrder } from './get-year-in-tab-order/get-year-in-tab-order.js';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.js';\nimport { PickerControl } from '../PickerControl/PickerControl.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n yearsListFormat: \"YYYY\",\n size: \"sm\",\n withCellSpacing: true\n};\nconst YearsList = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"YearsList\", defaultProps, props), {\n decade,\n className,\n yearsListFormat,\n locale,\n minDate,\n maxDate,\n getYearControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n size,\n variant,\n withCellSpacing\n } = _a, others = __objRest(_a, [\n \"decade\",\n \"className\",\n \"yearsListFormat\",\n \"locale\",\n \"minDate\",\n \"maxDate\",\n \"getYearControlProps\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"__staticSelector\",\n \"__getControlRef\",\n \"__onControlKeyDown\",\n \"__onControlClick\",\n \"__onControlMouseEnter\",\n \"__preventFocus\",\n \"__stopPropagation\",\n \"size\",\n \"variant\",\n \"withCellSpacing\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"YearsList\", __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n const ctx = useDatesContext();\n const years = getYearsData(decade);\n const yearInTabOrder = getYearInTabOrder(years, minDate, maxDate, getYearControlProps);\n const rows = years.map((yearsRow, rowIndex) => {\n const cells = yearsRow.map((year, cellIndex) => {\n const controlProps = getYearControlProps == null ? void 0 : getYearControlProps(year);\n const isYearInTabOrder = dayjs(year).isSame(yearInTabOrder, \"year\");\n return /* @__PURE__ */ React.createElement(\"td\", {\n key: cellIndex,\n className: classes.yearsListCell,\n \"data-with-spacing\": withCellSpacing || void 0\n }, /* @__PURE__ */ React.createElement(PickerControl, __spreadProps(__spreadValues({\n size,\n variant,\n classNames,\n styles,\n unstyled,\n __staticSelector: __staticSelector || \"YearsList\",\n \"data-mantine-stop-propagation\": __stopPropagation || void 0,\n disabled: isYearDisabled(year, minDate, maxDate),\n ref: (node) => __getControlRef == null ? void 0 : __getControlRef(rowIndex, cellIndex, node)\n }, controlProps), {\n onKeyDown: (event) => {\n var _a2;\n (_a2 = controlProps == null ? void 0 : controlProps.onKeyDown) == null ? void 0 : _a2.call(controlProps, event);\n __onControlKeyDown == null ? void 0 : __onControlKeyDown(event, { rowIndex, cellIndex, date: year });\n },\n onClick: (event) => {\n var _a2;\n (_a2 = controlProps == null ? void 0 : controlProps.onClick) == null ? void 0 : _a2.call(controlProps, event);\n __onControlClick == null ? void 0 : __onControlClick(event, year);\n },\n onMouseEnter: (event) => {\n var _a2;\n (_a2 = controlProps == null ? void 0 : controlProps.onMouseEnter) == null ? void 0 : _a2.call(controlProps, event);\n __onControlMouseEnter == null ? void 0 : __onControlMouseEnter(event, year);\n },\n onMouseDown: (event) => {\n var _a2;\n (_a2 = controlProps == null ? void 0 : controlProps.onMouseDown) == null ? void 0 : _a2.call(controlProps, event);\n __preventFocus && event.preventDefault();\n },\n tabIndex: __preventFocus || !isYearInTabOrder ? -1 : 0\n }), dayjs(year).locale(ctx.getLocale(locale)).format(yearsListFormat)));\n });\n return /* @__PURE__ */ React.createElement(\"tr\", {\n key: rowIndex,\n className: classes.yearsListRow\n }, cells);\n });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n component: \"table\",\n ref,\n className: cx(classes.yearsList, className)\n }, others), /* @__PURE__ */ React.createElement(\"tbody\", null, rows));\n});\nYearsList.displayName = \"@mantine/dates/YearsList\";\n\nexport { YearsList };\n//# sourceMappingURL=YearsList.js.map\n","import dayjs from 'dayjs';\nimport { isYearDisabled } from '../is-year-disabled/is-year-disabled.js';\n\nfunction getYearInTabOrder(years, minDate, maxDate, getYearControlProps) {\n const enabledYears = years.flat().filter((year) => {\n var _a;\n return !isYearDisabled(year, minDate, maxDate) && !((_a = getYearControlProps == null ? void 0 : getYearControlProps(year)) == null ? void 0 : _a.disabled);\n });\n const selectedYear = enabledYears.find((year) => {\n var _a;\n return (_a = getYearControlProps == null ? void 0 : getYearControlProps(year)) == null ? void 0 : _a.selected;\n });\n if (selectedYear) {\n return selectedYear;\n }\n const currentYear = enabledYears.find((year) => dayjs().isSame(year, \"year\"));\n if (currentYear) {\n return currentYear;\n }\n return enabledYears[0];\n}\n\nexport { getYearInTabOrder };\n//# sourceMappingURL=get-year-in-tab-order.js.map\n","import dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, Box } from '@mantine/core';\nimport { getDecadeRange } from './get-decade-range/get-decade-range.js';\nimport useStyles from './DecadeLevel.styles.js';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.js';\nimport { CalendarHeader } from '../CalendarHeader/CalendarHeader.js';\nimport { YearsList } from '../YearsList/YearsList.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n decadeLabelFormat: \"YYYY\"\n};\nconst DecadeLevel = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"DecadeLevel\", defaultProps, props), {\n decade,\n locale,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled,\n previousDisabled,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n className,\n decadeLabelFormat,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n variant,\n size\n } = _a, others = __objRest(_a, [\n \"decade\",\n \"locale\",\n \"minDate\",\n \"maxDate\",\n \"yearsListFormat\",\n \"getYearControlProps\",\n \"__getControlRef\",\n \"__onControlKeyDown\",\n \"__onControlClick\",\n \"__onControlMouseEnter\",\n \"withCellSpacing\",\n \"__preventFocus\",\n \"nextIcon\",\n \"previousIcon\",\n \"nextLabel\",\n \"previousLabel\",\n \"onNext\",\n \"onPrevious\",\n \"nextDisabled\",\n \"previousDisabled\",\n \"levelControlAriaLabel\",\n \"withNext\",\n \"withPrevious\",\n \"className\",\n \"decadeLabelFormat\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"__staticSelector\",\n \"__stopPropagation\",\n \"variant\",\n \"size\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"DecadeLevel\", __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n const ctx = useDatesContext();\n const [startOfDecade, endOfDecade] = getDecadeRange(decade);\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"DecadeLevel\",\n classNames,\n styles,\n unstyled,\n variant,\n size\n };\n const _nextDisabled = typeof nextDisabled === \"boolean\" ? nextDisabled : maxDate ? !dayjs(endOfDecade).endOf(\"year\").isBefore(maxDate) : false;\n const _previousDisabled = typeof previousDisabled === \"boolean\" ? previousDisabled : minDate ? !dayjs(startOfDecade).startOf(\"year\").isAfter(minDate) : false;\n const formatDecade = (date, format) => dayjs(date).locale(locale || ctx.locale).format(format);\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.decadeLevel, className),\n \"data-decade-level\": true,\n ref\n }, others), /* @__PURE__ */ React.createElement(CalendarHeader, __spreadValues({\n label: typeof decadeLabelFormat === \"function\" ? decadeLabelFormat(startOfDecade, endOfDecade) : `${formatDecade(startOfDecade, decadeLabelFormat)} \\u2013 ${formatDecade(endOfDecade, decadeLabelFormat)}`,\n className: classes.calendarHeader,\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled: _nextDisabled,\n previousDisabled: _previousDisabled,\n hasNextLevel: false,\n levelControlAriaLabel,\n withNext,\n withPrevious\n }, stylesApiProps)), /* @__PURE__ */ React.createElement(YearsList, __spreadValues({\n decade,\n locale,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing\n }, stylesApiProps)));\n});\nDecadeLevel.displayName = \"@mantine/dates/DecadeLevel\";\n\nexport { DecadeLevel };\n//# sourceMappingURL=DecadeLevel.js.map\n","import { getYearsData } from '../../YearsList/get-years-data/get-years-data.js';\n\nfunction getDecadeRange(decade) {\n const years = getYearsData(decade);\n return [years[0][0], years[3][0]];\n}\n\nexport { getDecadeRange };\n//# sourceMappingURL=get-decade-range.js.map\n","import React, { forwardRef, useRef } from 'react';\nimport { useComponentDefaultProps, Box } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport useStyles from './DecadeLevelGroup.styles.js';\nimport { DecadeLevel } from '../DecadeLevel/DecadeLevel.js';\nimport { handleControlKeyDown } from '../../utils/handle-control-key-down.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n numberOfColumns: 1\n};\nconst DecadeLevelGroup = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"DecadeLevelGroup\", defaultProps, props), {\n decade,\n locale,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled,\n previousDisabled,\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n numberOfColumns,\n levelControlAriaLabel,\n decadeLabelFormat,\n variant,\n size\n } = _a, others = __objRest(_a, [\n \"decade\",\n \"locale\",\n \"minDate\",\n \"maxDate\",\n \"yearsListFormat\",\n \"getYearControlProps\",\n \"__onControlClick\",\n \"__onControlMouseEnter\",\n \"withCellSpacing\",\n \"__preventFocus\",\n \"nextIcon\",\n \"previousIcon\",\n \"nextLabel\",\n \"previousLabel\",\n \"onNext\",\n \"onPrevious\",\n \"nextDisabled\",\n \"previousDisabled\",\n \"className\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"__staticSelector\",\n \"__stopPropagation\",\n \"numberOfColumns\",\n \"levelControlAriaLabel\",\n \"decadeLabelFormat\",\n \"variant\",\n \"size\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"DecadeLevelGroup\", __staticSelector],\n styles,\n classNames,\n unstyled,\n variant,\n size\n });\n const controlsRef = useRef([]);\n const decades = Array(numberOfColumns).fill(0).map((_, decadeIndex) => {\n const currentDecade = dayjs(decade).add(decadeIndex * 10, \"years\").toDate();\n return /* @__PURE__ */ React.createElement(DecadeLevel, {\n key: decadeIndex,\n variant,\n size,\n yearsListFormat,\n decade: currentDecade,\n withNext: decadeIndex === numberOfColumns - 1,\n withPrevious: decadeIndex === 0,\n decadeLabelFormat,\n __onControlClick,\n __onControlMouseEnter,\n __onControlKeyDown: (event, payload) => handleControlKeyDown({\n levelIndex: decadeIndex,\n rowIndex: payload.rowIndex,\n cellIndex: payload.cellIndex,\n event,\n controlsRef\n }),\n __getControlRef: (rowIndex, cellIndex, node) => {\n if (!Array.isArray(controlsRef.current[decadeIndex])) {\n controlsRef.current[decadeIndex] = [];\n }\n if (!Array.isArray(controlsRef.current[decadeIndex][rowIndex])) {\n controlsRef.current[decadeIndex][rowIndex] = [];\n }\n controlsRef.current[decadeIndex][rowIndex][cellIndex] = node;\n },\n levelControlAriaLabel: typeof levelControlAriaLabel === \"function\" ? levelControlAriaLabel(currentDecade) : levelControlAriaLabel,\n locale,\n minDate,\n maxDate,\n __preventFocus,\n __stopPropagation,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled,\n previousDisabled,\n getYearControlProps,\n __staticSelector: __staticSelector || \"DecadeLevelGroup\",\n classNames,\n styles,\n unstyled,\n withCellSpacing\n });\n });\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.decadeLevelGroup, className),\n ref\n }, others), decades);\n});\nDecadeLevelGroup.displayName = \"@mantine/dates/DecadeLevelGroup\";\n\nexport { DecadeLevelGroup };\n//# sourceMappingURL=DecadeLevelGroup.js.map\n","import dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, Box } from '@mantine/core';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { clampLevel } from './clamp-level/clamp-level.js';\nimport useStyles from './Calendar.styles.js';\nimport { MonthLevelGroup } from '../MonthLevelGroup/MonthLevelGroup.js';\nimport { YearLevelGroup } from '../YearLevelGroup/YearLevelGroup.js';\nimport { DecadeLevelGroup } from '../DecadeLevelGroup/DecadeLevelGroup.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n maxLevel: \"decade\",\n minLevel: \"month\",\n __updateDateOnYearSelect: true,\n __updateDateOnMonthSelect: true\n};\nconst Calendar = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"Calendar\", defaultProps, props), {\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n nextIcon,\n previousIcon,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n minDate,\n maxDate,\n locale,\n className,\n classNames,\n styles,\n __staticSelector,\n unstyled,\n variant,\n size,\n __preventFocus,\n __stopPropagation,\n onNextDecade,\n onPreviousDecade,\n onNextYear,\n onPreviousYear,\n onNextMonth,\n onPreviousMonth,\n static: isStatic\n } = _a, others = __objRest(_a, [\n \"maxLevel\",\n \"minLevel\",\n \"defaultLevel\",\n \"level\",\n \"onLevelChange\",\n \"date\",\n \"defaultDate\",\n \"onDateChange\",\n \"numberOfColumns\",\n \"columnsToScroll\",\n \"ariaLabels\",\n \"onYearSelect\",\n \"onMonthSelect\",\n \"onYearMouseEnter\",\n \"onMonthMouseEnter\",\n \"__updateDateOnYearSelect\",\n \"__updateDateOnMonthSelect\",\n \"firstDayOfWeek\",\n \"weekdayFormat\",\n \"weekendDays\",\n \"getDayProps\",\n \"excludeDate\",\n \"renderDay\",\n \"hideOutsideDates\",\n \"hideWeekdays\",\n \"getDayAriaLabel\",\n \"monthLabelFormat\",\n \"nextIcon\",\n \"previousIcon\",\n \"__onDayClick\",\n \"__onDayMouseEnter\",\n \"withCellSpacing\",\n \"monthsListFormat\",\n \"getMonthControlProps\",\n \"yearLabelFormat\",\n \"yearsListFormat\",\n \"getYearControlProps\",\n \"decadeLabelFormat\",\n \"minDate\",\n \"maxDate\",\n \"locale\",\n \"className\",\n \"classNames\",\n \"styles\",\n \"__staticSelector\",\n \"unstyled\",\n \"variant\",\n \"size\",\n \"__preventFocus\",\n \"__stopPropagation\",\n \"onNextDecade\",\n \"onPreviousDecade\",\n \"onNextYear\",\n \"onPreviousYear\",\n \"onNextMonth\",\n \"onPreviousMonth\",\n \"static\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"Calendar\", __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n const [_level, setLevel] = useUncontrolled({\n value: level ? clampLevel(level, minLevel, maxLevel) : void 0,\n defaultValue: defaultLevel ? clampLevel(defaultLevel, minLevel, maxLevel) : void 0,\n finalValue: clampLevel(void 0, minLevel, maxLevel),\n onChange: onLevelChange\n });\n const [_date, setDate] = useUncontrolled({\n value: date,\n defaultValue: defaultDate,\n finalValue: null,\n onChange: onDateChange\n });\n const stylesApiProps = {\n __staticSelector: __staticSelector || \"Calendar\",\n styles,\n classNames,\n unstyled,\n variant,\n size\n };\n const _columnsToScroll = columnsToScroll || numberOfColumns || 1;\n const currentDate = _date || new Date();\n const handleNextMonth = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, \"month\").toDate();\n onNextMonth == null ? void 0 : onNextMonth(nextDate);\n setDate(nextDate);\n };\n const handlePreviousMonth = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, \"month\").toDate();\n onPreviousMonth == null ? void 0 : onPreviousMonth(nextDate);\n setDate(nextDate);\n };\n const handleNextYear = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, \"year\").toDate();\n onNextYear == null ? void 0 : onNextYear(nextDate);\n setDate(nextDate);\n };\n const handlePreviousYear = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, \"year\").toDate();\n onPreviousYear == null ? void 0 : onPreviousYear(nextDate);\n setDate(nextDate);\n };\n const handleNextDecade = () => {\n const nextDate = dayjs(currentDate).add(10 * _columnsToScroll, \"year\").toDate();\n onNextDecade == null ? void 0 : onNextDecade(nextDate);\n setDate(nextDate);\n };\n const handlePreviousDecade = () => {\n const nextDate = dayjs(currentDate).subtract(10 * _columnsToScroll, \"year\").toDate();\n onPreviousDecade == null ? void 0 : onPreviousDecade(nextDate);\n setDate(nextDate);\n };\n return /* @__PURE__ */ React.createElement(Box, __spreadValues({\n className: cx(classes.calendar, className),\n ref\n }, others), _level === \"month\" && /* @__PURE__ */ React.createElement(MonthLevelGroup, __spreadValues({\n month: currentDate,\n minDate,\n maxDate,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n onNext: handleNextMonth,\n onPrevious: handlePreviousMonth,\n hasNextLevel: maxLevel !== \"month\",\n onLevelClick: () => setLevel(\"year\"),\n numberOfColumns,\n locale,\n levelControlAriaLabel: ariaLabels == null ? void 0 : ariaLabels.monthLevelControl,\n nextLabel: ariaLabels == null ? void 0 : ariaLabels.nextMonth,\n nextIcon,\n previousLabel: ariaLabels == null ? void 0 : ariaLabels.previousMonth,\n previousIcon,\n monthLabelFormat,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n static: isStatic,\n withCellSpacing\n }, stylesApiProps)), _level === \"year\" && /* @__PURE__ */ React.createElement(YearLevelGroup, __spreadValues({\n year: currentDate,\n numberOfColumns,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n locale,\n onNext: handleNextYear,\n onPrevious: handlePreviousYear,\n hasNextLevel: maxLevel !== \"month\" && maxLevel !== \"year\",\n onLevelClick: () => setLevel(\"decade\"),\n levelControlAriaLabel: ariaLabels == null ? void 0 : ariaLabels.yearLevelControl,\n nextLabel: ariaLabels == null ? void 0 : ariaLabels.nextYear,\n nextIcon,\n previousLabel: ariaLabels == null ? void 0 : ariaLabels.previousYear,\n previousIcon,\n yearLabelFormat,\n __onControlMouseEnter: onMonthMouseEnter,\n __onControlClick: (_event, payload) => {\n __updateDateOnMonthSelect && setDate(payload);\n setLevel(clampLevel(\"month\", minLevel, maxLevel));\n onMonthSelect == null ? void 0 : onMonthSelect(payload);\n },\n __preventFocus,\n __stopPropagation,\n withCellSpacing\n }, stylesApiProps)), _level === \"decade\" && /* @__PURE__ */ React.createElement(DecadeLevelGroup, __spreadValues({\n decade: currentDate,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n locale,\n onNext: handleNextDecade,\n onPrevious: handlePreviousDecade,\n numberOfColumns,\n nextLabel: ariaLabels == null ? void 0 : ariaLabels.nextDecade,\n nextIcon,\n previousLabel: ariaLabels == null ? void 0 : ariaLabels.previousDecade,\n previousIcon,\n decadeLabelFormat,\n __onControlMouseEnter: onYearMouseEnter,\n __onControlClick: (_event, payload) => {\n __updateDateOnYearSelect && setDate(payload);\n setLevel(clampLevel(\"year\", minLevel, maxLevel));\n onYearSelect == null ? void 0 : onYearSelect(payload);\n },\n __preventFocus,\n __stopPropagation,\n withCellSpacing\n }, stylesApiProps)));\n});\nCalendar.displayName = \"@mantine/dates/Calendar\";\n\nexport { Calendar };\n//# sourceMappingURL=Calendar.js.map\n","var __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction pickCalendarProps(props) {\n const _a = props, {\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n nextIcon,\n previousIcon,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n onNextMonth,\n onPreviousMonth,\n onNextYear,\n onPreviousYear,\n onNextDecade,\n onPreviousDecade,\n withCellSpacing,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n allowSingleDateInRange,\n allowDeselect,\n minDate,\n maxDate,\n locale\n } = _a, others = __objRest(_a, [\n \"maxLevel\",\n \"minLevel\",\n \"defaultLevel\",\n \"level\",\n \"onLevelChange\",\n \"nextIcon\",\n \"previousIcon\",\n \"date\",\n \"defaultDate\",\n \"onDateChange\",\n \"numberOfColumns\",\n \"columnsToScroll\",\n \"ariaLabels\",\n \"onYearSelect\",\n \"onMonthSelect\",\n \"onYearMouseEnter\",\n \"onMonthMouseEnter\",\n \"onNextMonth\",\n \"onPreviousMonth\",\n \"onNextYear\",\n \"onPreviousYear\",\n \"onNextDecade\",\n \"onPreviousDecade\",\n \"withCellSpacing\",\n \"__updateDateOnYearSelect\",\n \"__updateDateOnMonthSelect\",\n \"firstDayOfWeek\",\n \"weekdayFormat\",\n \"weekendDays\",\n \"getDayProps\",\n \"excludeDate\",\n \"renderDay\",\n \"hideOutsideDates\",\n \"hideWeekdays\",\n \"getDayAriaLabel\",\n \"monthLabelFormat\",\n \"monthsListFormat\",\n \"getMonthControlProps\",\n \"yearLabelFormat\",\n \"yearsListFormat\",\n \"getYearControlProps\",\n \"decadeLabelFormat\",\n \"allowSingleDateInRange\",\n \"allowDeselect\",\n \"minDate\",\n \"maxDate\",\n \"locale\"\n ]);\n return {\n calendarProps: {\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n nextIcon,\n previousIcon,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n onNextMonth,\n onPreviousMonth,\n onNextYear,\n onPreviousYear,\n onNextDecade,\n onPreviousDecade,\n withCellSpacing,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n allowSingleDateInRange,\n allowDeselect,\n minDate,\n maxDate,\n locale\n },\n others\n };\n}\n\nexport { pickCalendarProps };\n//# sourceMappingURL=pick-calendar-levels-props.js.map\n","import React from 'react';\n\nfunction formatValue(value, type) {\n if (type === \"range\" && Array.isArray(value)) {\n const [startDate, endDate] = value;\n if (!startDate) {\n return \"\";\n }\n if (!endDate) {\n return `${startDate.toISOString()} \\u2013`;\n }\n return `${startDate.toISOString()} \\u2013 ${endDate.toISOString()}`;\n }\n if (type === \"multiple\" && Array.isArray(value)) {\n return value.map((date) => date.toISOString()).join(\", \");\n }\n if (!Array.isArray(value) && value) {\n return value.toISOString();\n }\n return \"\";\n}\nfunction HiddenDatesInput({ value, type, name, form }) {\n return /* @__PURE__ */ React.createElement(\"input\", {\n type: \"hidden\",\n value: formatValue(value, type),\n name,\n form\n });\n}\nHiddenDatesInput.displayName = \"@mantine/dates/HiddenDatesInput\";\n\nexport { HiddenDatesInput };\n//# sourceMappingURL=HiddenDatesInput.js.map\n","import dayjs from 'dayjs';\nimport React, { forwardRef, useEffect, useState } from 'react';\nimport { useInputProps, CloseButton, Input, Popover } from '@mantine/core';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport { isDateValid } from './is-date-valid/is-date-valid.js';\nimport { dateStringParser } from './date-string-parser/date-string-parser.js';\nimport { pickCalendarProps } from '../Calendar/pick-calendar-levels-props/pick-calendar-levels-props.js';\nimport { useDatesContext } from '../DatesProvider/use-dates-context.js';\nimport { Calendar } from '../Calendar/Calendar.js';\nimport { HiddenDatesInput } from '../HiddenDatesInput/HiddenDatesInput.js';\nimport { assignTime } from '../../utils/assign-time/assign-time.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n valueFormat: \"MMMM D, YYYY\",\n fixOnBlur: true,\n preserveTime: true,\n size: \"sm\"\n};\nconst DateInput = forwardRef((props, ref) => {\n const _a = useInputProps(\"DateInput\", defaultProps, props), {\n inputProps,\n wrapperProps,\n value,\n defaultValue,\n onChange,\n clearable,\n clearButtonProps,\n popoverProps,\n getDayProps,\n locale,\n valueFormat,\n dateParser,\n minDate,\n maxDate,\n fixOnBlur,\n onFocus,\n onBlur,\n onClick,\n readOnly,\n name,\n form,\n rightSection,\n unstyled,\n classNames,\n styles,\n allowDeselect,\n preserveTime,\n date,\n defaultDate,\n onDateChange\n } = _a, rest = __objRest(_a, [\n \"inputProps\",\n \"wrapperProps\",\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"clearable\",\n \"clearButtonProps\",\n \"popoverProps\",\n \"getDayProps\",\n \"locale\",\n \"valueFormat\",\n \"dateParser\",\n \"minDate\",\n \"maxDate\",\n \"fixOnBlur\",\n \"onFocus\",\n \"onBlur\",\n \"onClick\",\n \"readOnly\",\n \"name\",\n \"form\",\n \"rightSection\",\n \"unstyled\",\n \"classNames\",\n \"styles\",\n \"allowDeselect\",\n \"preserveTime\",\n \"date\",\n \"defaultDate\",\n \"onDateChange\"\n ]);\n const { calendarProps, others } = pickCalendarProps(rest);\n const ctx = useDatesContext();\n const defaultDateParser = (val) => {\n const parsedDate = dayjs(val, valueFormat, ctx.getLocale(locale)).toDate();\n return Number.isNaN(parsedDate.getTime()) ? dateStringParser(val) : parsedDate;\n };\n const _dateParser = dateParser || defaultDateParser;\n const _allowDeselect = allowDeselect !== void 0 ? allowDeselect : clearable;\n const formatValue = (val) => val ? dayjs(val).locale(ctx.getLocale(locale)).format(valueFormat) : \"\";\n const [_value, setValue, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange\n });\n const [_date, setDate] = useUncontrolled({\n value: date,\n defaultValue: defaultValue || defaultDate,\n finalValue: null,\n onChange: onDateChange\n });\n useEffect(() => {\n if (controlled) {\n setDate(value);\n }\n }, [controlled, value]);\n const [inputValue, setInputValue] = useState(formatValue(_value));\n useEffect(() => {\n setInputValue(formatValue(_value));\n }, [ctx.getLocale(locale)]);\n const [dropdownOpened, setDropdownOpened] = useState(false);\n const handleInputChange = (event) => {\n const val = event.currentTarget.value;\n setInputValue(val);\n if (val.trim() === \"\" && clearable) {\n setValue(null);\n } else {\n const dateValue = _dateParser(val);\n if (isDateValid({ date: dateValue, minDate, maxDate })) {\n setValue(dateValue);\n setDate(dateValue);\n }\n }\n };\n const handleInputBlur = (event) => {\n onBlur == null ? void 0 : onBlur(event);\n setDropdownOpened(false);\n fixOnBlur && setInputValue(formatValue(_value));\n };\n const handleInputFocus = (event) => {\n onFocus == null ? void 0 : onFocus(event);\n setDropdownOpened(true);\n };\n const handleInputClick = (event) => {\n onClick == null ? void 0 : onClick(event);\n setDropdownOpened(true);\n };\n const _getDayProps = (day) => __spreadProps(__spreadValues({}, getDayProps == null ? void 0 : getDayProps(day)), {\n selected: dayjs(_value).isSame(day, \"day\"),\n onClick: () => {\n const valueWithTime = preserveTime ? assignTime(_value, day) : day;\n const val = clearable && _allowDeselect ? dayjs(_value).isSame(day, \"day\") ? null : valueWithTime : valueWithTime;\n setValue(val);\n !controlled && setInputValue(formatValue(val));\n setDropdownOpened(false);\n }\n });\n const _rightSection = rightSection || (clearable && _value && !readOnly ? /* @__PURE__ */ React.createElement(CloseButton, __spreadValues({\n variant: \"transparent\",\n onMouseDown: (event) => event.preventDefault(),\n tabIndex: -1,\n onClick: () => {\n setValue(null);\n !controlled && setInputValue(\"\");\n setDropdownOpened(false);\n },\n unstyled\n }, clearButtonProps)) : null);\n useDidUpdate(() => {\n value !== void 0 && !dropdownOpened && setInputValue(formatValue(value));\n }, [value]);\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Input.Wrapper, __spreadProps(__spreadValues({}, wrapperProps), {\n __staticSelector: \"DateInput\"\n }), /* @__PURE__ */ React.createElement(Popover, __spreadValues({\n opened: dropdownOpened,\n trapFocus: false,\n position: \"bottom-start\",\n disabled: readOnly,\n withRoles: false\n }, popoverProps), /* @__PURE__ */ React.createElement(Popover.Target, null, /* @__PURE__ */ React.createElement(Input, __spreadProps(__spreadValues(__spreadValues({\n \"data-dates-input\": true,\n \"data-read-only\": readOnly || void 0,\n autoComplete: \"off\",\n ref,\n value: inputValue,\n onChange: handleInputChange,\n onBlur: handleInputBlur,\n onFocus: handleInputFocus,\n onClick: handleInputClick,\n readOnly,\n rightSection: _rightSection\n }, inputProps), others), {\n __staticSelector: \"DateInput\"\n }))), /* @__PURE__ */ React.createElement(Popover.Dropdown, {\n onMouseDown: (event) => event.preventDefault(),\n \"data-dates-dropdown\": true\n }, /* @__PURE__ */ React.createElement(Calendar, __spreadProps(__spreadValues({\n __staticSelector: \"DateInput\"\n }, calendarProps), {\n classNames,\n styles,\n unstyled,\n __preventFocus: true,\n minDate,\n maxDate,\n locale,\n getDayProps: _getDayProps,\n size: inputProps.size,\n date: _date,\n onDateChange: setDate\n }))))), /* @__PURE__ */ React.createElement(HiddenDatesInput, {\n name,\n form,\n value: _value,\n type: \"default\"\n }));\n});\nDateInput.displayName = \"@mantine/dates/DateInput\";\n\nexport { DateInput };\n//# sourceMappingURL=DateInput.js.map\n","function dateStringParser(dateString) {\n const date = new Date(dateString);\n if (Number.isNaN(date.getTime()) || !dateString) {\n return null;\n }\n return date;\n}\n\nexport { dateStringParser };\n//# sourceMappingURL=date-string-parser.js.map\n","import dayjs from 'dayjs';\n\nfunction isDateValid({ date, maxDate, minDate }) {\n if (date == null) {\n return false;\n }\n if (Number.isNaN(date.getTime())) {\n return false;\n }\n if (maxDate && dayjs(date).isAfter(maxDate, \"date\")) {\n return false;\n }\n if (minDate && dayjs(date).isBefore(minDate, \"date\")) {\n return false;\n }\n return true;\n}\n\nexport { isDateValid };\n//# sourceMappingURL=is-date-valid.js.map\n","function assignTime(originalDate, resultDate) {\n if (!originalDate || !resultDate) {\n return resultDate;\n }\n const hours = originalDate.getHours();\n const minutes = originalDate.getMinutes();\n const seconds = originalDate.getSeconds();\n const ms = originalDate.getMilliseconds();\n const result = new Date(resultDate);\n result.setHours(hours);\n result.setMinutes(minutes);\n result.setSeconds(seconds);\n result.setMilliseconds(ms);\n return result;\n}\n\nexport { assignTime };\n//# sourceMappingURL=assign-time.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/core';\nimport { useDatesState } from '../../hooks/use-dates-state/use-dates-state.js';\nimport { Calendar } from '../Calendar/Calendar.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n type: \"default\",\n numberOfColumns: 1\n};\nconst DatePicker = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"DatePicker\", defaultProps, props), {\n type,\n defaultValue,\n value,\n onChange,\n __staticSelector,\n getDayProps,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n numberOfColumns\n } = _a, others = __objRest(_a, [\n \"type\",\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"__staticSelector\",\n \"getDayProps\",\n \"allowSingleDateInRange\",\n \"allowDeselect\",\n \"onMouseLeave\",\n \"numberOfColumns\"\n ]);\n const { onDateChange, onRootMouseLeave, onHoveredDateChange, getControlProps } = useDatesState({\n type,\n level: \"day\",\n allowDeselect,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange,\n onMouseLeave\n });\n return /* @__PURE__ */ React.createElement(Calendar, __spreadValues({\n ref,\n minLevel: \"month\",\n __staticSelector: __staticSelector || \"DatePicker\",\n onMouseLeave: onRootMouseLeave,\n hideOutsideDates: numberOfColumns !== 1,\n numberOfColumns,\n __onDayMouseEnter: (_event, date) => onHoveredDateChange(date),\n __onDayClick: (_event, date) => onDateChange(date),\n getDayProps: (date) => __spreadValues(__spreadValues({}, getControlProps(date)), getDayProps == null ? void 0 : getDayProps(date))\n }, others));\n});\nDatePicker.displayName = \"@mantine/dates/DatePicker\";\n\nexport { DatePicker };\n//# sourceMappingURL=DatePicker.js.map\n","import React, { createContext } from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst DATES_PROVIDER_DEFAULT_SETTINGS = {\n locale: \"en\",\n firstDayOfWeek: 1,\n weekendDays: [0, 6],\n labelSeparator: \"\\u2013\"\n};\nconst DatesProviderContext = createContext(DATES_PROVIDER_DEFAULT_SETTINGS);\nfunction DatesProvider({ settings, children }) {\n return /* @__PURE__ */ React.createElement(DatesProviderContext.Provider, {\n value: __spreadValues(__spreadValues({}, DATES_PROVIDER_DEFAULT_SETTINGS), settings)\n }, children);\n}\n\nexport { DATES_PROVIDER_DEFAULT_SETTINGS, DatesProvider, DatesProviderContext };\n//# sourceMappingURL=DatesProvider.js.map\n","import { useContext, useCallback } from 'react';\nimport { DatesProviderContext } from './DatesProvider.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction useDatesContext() {\n const ctx = useContext(DatesProviderContext);\n const getLocale = useCallback((input) => input || ctx.locale, [ctx.locale]);\n const getFirstDayOfWeek = useCallback((input) => typeof input === \"number\" ? input : ctx.firstDayOfWeek, [ctx.firstDayOfWeek]);\n const getWeekendDays = useCallback((input) => Array.isArray(input) ? input : ctx.weekendDays, [ctx.weekendDays]);\n const getLabelSeparator = useCallback((input) => typeof input === \"string\" ? input : ctx.labelSeparator, [ctx.labelSeparator]);\n return __spreadProps(__spreadValues({}, ctx), {\n getLocale,\n getFirstDayOfWeek,\n getWeekendDays,\n getLabelSeparator\n });\n}\n\nexport { useDatesContext };\n//# sourceMappingURL=use-dates-context.js.map\n","import { createStyles, getSize, rem } from '@mantine/core';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst sizes = {\n xs: rem(30),\n sm: rem(36),\n md: rem(42),\n lg: rem(48),\n xl: rem(54)\n};\nvar useStyles = createStyles((theme, { radius, isStatic }, { size }) => {\n const colors = theme.fn.variant({ variant: \"filled\" });\n const lightColors = theme.fn.variant({ variant: \"light\" });\n return {\n day: __spreadProps(__spreadValues({\n width: getSize({ size, sizes }),\n height: getSize({ size, sizes }),\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n display: \"inline-flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n userSelect: isStatic ? void 0 : \"none\",\n cursor: isStatic ? \"default\" : \"pointer\",\n borderRadius: theme.fn.radius(radius)\n }, isStatic ? null : theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[0]\n })), {\n \"&:active\": isStatic ? void 0 : theme.activeStyles,\n \"&[data-disabled]\": __spreadProps(__spreadValues({\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[4],\n cursor: \"not-allowed\"\n }, theme.fn.hover({ backgroundColor: \"transparent\" })), {\n \"&:active\": {\n transform: \"none\"\n }\n }),\n \"&[data-weekend]\": {\n color: theme.colors.red[theme.fn.primaryShade()]\n },\n \"&[data-outside]\": {\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[4]\n },\n \"&[data-in-range]\": __spreadValues({\n backgroundColor: lightColors.background,\n borderRadius: 0\n }, isStatic ? null : theme.fn.hover({ backgroundColor: lightColors.hover })),\n \"&[data-first-in-range]\": {\n borderTopLeftRadius: theme.radius.sm,\n borderBottomLeftRadius: theme.radius.sm\n },\n \"&[data-last-in-range]\": {\n borderTopRightRadius: theme.radius.sm,\n borderBottomRightRadius: theme.radius.sm\n },\n \"&[data-selected]\": __spreadValues({\n color: colors.color,\n backgroundColor: colors.background\n }, isStatic ? null : theme.fn.hover({ backgroundColor: colors.hover })),\n \"&[data-hidden]\": {\n display: \"none\"\n }\n })\n };\n});\n\nexport default useStyles;\nexport { sizes };\n//# sourceMappingURL=Day.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/core';\nimport { useDatesState } from '../../hooks/use-dates-state/use-dates-state.js';\nimport { Calendar } from '../Calendar/Calendar.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n type: \"default\"\n};\nconst MonthPicker = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"MonthPicker\", defaultProps, props), {\n type,\n defaultValue,\n value,\n onChange,\n __staticSelector,\n getMonthControlProps,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n onMonthSelect\n } = _a, others = __objRest(_a, [\n \"type\",\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"__staticSelector\",\n \"getMonthControlProps\",\n \"allowSingleDateInRange\",\n \"allowDeselect\",\n \"onMouseLeave\",\n \"onMonthSelect\"\n ]);\n const { onDateChange, onRootMouseLeave, onHoveredDateChange, getControlProps } = useDatesState({\n type,\n level: \"month\",\n allowDeselect,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange,\n onMouseLeave\n });\n return /* @__PURE__ */ React.createElement(Calendar, __spreadValues({\n ref,\n minLevel: \"year\",\n __updateDateOnMonthSelect: false,\n __staticSelector: __staticSelector || \"MonthPicker\",\n onMouseLeave: onRootMouseLeave,\n onMonthMouseEnter: (_event, date) => onHoveredDateChange(date),\n onMonthSelect: (date) => {\n onDateChange(date);\n onMonthSelect == null ? void 0 : onMonthSelect(date);\n },\n getMonthControlProps: (date) => __spreadValues(__spreadValues({}, getControlProps(date)), getMonthControlProps == null ? void 0 : getMonthControlProps(date))\n }, others));\n});\nMonthPicker.displayName = \"@mantine/dates/MonthPicker\";\n\nexport { MonthPicker };\n//# sourceMappingURL=MonthPicker.js.map\n","import { createStyles, getSize, rem } from '@mantine/core';\nimport { sizes } from '../Day/Day.styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar useStyles = createStyles((theme, _, { size }) => {\n const colors = theme.fn.variant({ variant: \"filled\" });\n const lightColors = theme.fn.variant({ variant: \"light\" });\n return {\n pickerControl: __spreadProps(__spreadValues({\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n height: getSize({ size, sizes }),\n width: `calc((${getSize({ size, sizes })} * 7) / 3 + ${rem(1.5)})`,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n userSelect: \"none\",\n borderRadius: theme.fn.radius()\n }, theme.fn.hover({\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[0]\n })), {\n \"&:active\": theme.activeStyles,\n \"&[data-in-range]\": __spreadValues({\n backgroundColor: lightColors.background,\n borderRadius: 0\n }, theme.fn.hover({ backgroundColor: lightColors.hover })),\n \"&[data-first-in-range]\": {\n borderRadius: 0,\n borderTopLeftRadius: theme.radius.sm,\n borderBottomLeftRadius: theme.radius.sm\n },\n \"&[data-last-in-range]\": {\n borderRadius: 0,\n borderTopRightRadius: theme.radius.sm,\n borderBottomRightRadius: theme.radius.sm\n },\n \"&[data-last-in-range][data-first-in-range]\": {\n borderRadius: theme.radius.sm\n },\n \"&[data-selected]\": __spreadValues({\n color: colors.color,\n backgroundColor: colors.background\n }, theme.fn.hover({ backgroundColor: colors.hover })),\n \"&[data-disabled]\": __spreadProps(__spreadValues({\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[4],\n cursor: \"not-allowed\"\n }, theme.fn.hover({ backgroundColor: \"transparent\" })), {\n \"&:active\": {\n transform: \"none\"\n }\n })\n })\n };\n});\n\nexport default useStyles;\n//# sourceMappingURL=PickerControl.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, UnstyledButton } from '@mantine/core';\nimport useStyles from './PickerControl.styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {\n size: \"sm\"\n};\nconst PickerControl = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"PickerControl\", defaultProps, props), {\n className,\n children,\n disabled,\n selected,\n classNames,\n styles,\n unstyled,\n firstInRange,\n lastInRange,\n inRange,\n __staticSelector,\n size,\n variant\n } = _a, others = __objRest(_a, [\n \"className\",\n \"children\",\n \"disabled\",\n \"selected\",\n \"classNames\",\n \"styles\",\n \"unstyled\",\n \"firstInRange\",\n \"lastInRange\",\n \"inRange\",\n \"__staticSelector\",\n \"size\",\n \"variant\"\n ]);\n const { classes, cx } = useStyles(null, {\n name: [\"PickerControl\", __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n return /* @__PURE__ */ React.createElement(UnstyledButton, __spreadValues({\n className: cx(classes.pickerControl, className),\n ref,\n unstyled,\n \"data-picker-control\": true,\n \"data-selected\": selected && !disabled || void 0,\n \"data-disabled\": disabled || void 0,\n \"data-in-range\": inRange && !disabled && !selected || void 0,\n \"data-first-in-range\": firstInRange && !disabled || void 0,\n \"data-last-in-range\": lastInRange && !disabled || void 0,\n disabled\n }, others), children);\n});\nPickerControl.displayName = \"@mantine/dates/PickerControl\";\n\nexport { PickerControl };\n//# sourceMappingURL=PickerControl.js.map\n","import { createStyles, rem } from '@mantine/core';\n\nvar useStyles = createStyles((theme) => ({\n input: {\n paddingTop: 0,\n paddingBottom: 0,\n appearance: \"none\",\n \"&::-webkit-calendar-picker-indicator\": {\n display: \"none\"\n },\n \"&::-webkit-clear-button\": {\n display: \"none\"\n },\n \"&::-webkit-datetime-edit-hour-field, &::-webkit-datetime-edit-minute-field, &::-webkit-datetime-edit-second-field\": {\n paddingTop: 0,\n maxHeight: rem(30),\n display: \"inline\",\n \"&:focus\": {\n backgroundColor: theme.fn.variant({ variant: \"filled\" }).background,\n color: theme.white\n }\n }\n }\n}));\n\nexport default useStyles;\n//# sourceMappingURL=TimeInput.styles.js.map\n","import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, TextInput } from '@mantine/core';\nimport useStyles from './TimeInput.styles.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst defaultProps = {};\nconst TimeInput = forwardRef((props, ref) => {\n const _a = useComponentDefaultProps(\"TimeInput\", defaultProps, props), { classNames, withSeconds, variant, size, styles, unstyled } = _a, others = __objRest(_a, [\"classNames\", \"withSeconds\", \"variant\", \"size\", \"styles\", \"unstyled\"]);\n const { classes, cx } = useStyles(null, {\n name: \"TimeInput\",\n classNames,\n styles,\n unstyled,\n variant,\n size\n });\n return /* @__PURE__ */ React.createElement(TextInput, __spreadValues({\n type: \"time\",\n step: withSeconds ? 1 : 60,\n classNames: __spreadProps(__spreadValues({}, classNames), { input: cx(classes.input, classNames == null ? void 0 : classNames.input) }),\n styles,\n unstyled,\n variant,\n size,\n ref,\n __staticSelector: \"TimeInput\"\n }, others));\n});\nTimeInput.displayName = \"@mantine/dates/TimeInput\";\n\nexport { TimeInput };\n//# sourceMappingURL=TimeInput.js.map\n","import { useUncontrolled } from '@mantine/hooks';\nimport { useRef } from 'react';\n\nconst getEmptyValue = (type) => type === \"range\" ? [null, null] : type === \"multiple\" ? [] : null;\nfunction useUncontrolledDates({\n type,\n value,\n defaultValue,\n onChange\n}) {\n const storedType = useRef(type);\n const [_value, _setValue] = useUncontrolled({\n value,\n defaultValue,\n onChange,\n finalValue: getEmptyValue(type)\n });\n let _finalValue = _value;\n if (storedType.current !== type) {\n storedType.current = type;\n if (value === void 0) {\n _finalValue = defaultValue !== void 0 ? defaultValue : getEmptyValue(type);\n _setValue(_finalValue);\n } else if (process.env.NODE_ENV === \"development\") {\n switch (type) {\n case \"default\":\n if (value !== null && typeof value !== \"string\") {\n console.error(\"[@mantine/dates/use-uncontrolled-dates] Value must be type of `null` or `string`\");\n }\n break;\n case \"multiple\":\n if (!(value instanceof Array)) {\n console.error(\"[@mantine/dates/use-uncontrolled-dates] Value must be type of `string[]`\");\n }\n break;\n case \"range\":\n if (!(value instanceof Array) || value.length !== 2) {\n console.error(\"[@mantine/dates/use-uncontrolled-dates] Value must be type of `[string, string]`\");\n }\n break;\n }\n }\n }\n return [_finalValue, _setValue];\n}\n\nexport { useUncontrolledDates };\n//# sourceMappingURL=use-uncontrolled-dates.js.map\n","import dayjs from 'dayjs';\n\nfunction isInRange(date, range) {\n const _range = [...range].sort((a, b) => a.getTime() - b.getTime());\n return dayjs(_range[0]).startOf(\"day\").subtract(1, \"ms\").isBefore(date) && dayjs(_range[1]).endOf(\"day\").add(1, \"ms\").isAfter(date);\n}\n\nexport { isInRange };\n//# sourceMappingURL=is-in-range.js.map\n","import dayjs from 'dayjs';\nimport { useState } from 'react';\nimport { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates.js';\nimport { isInRange } from './is-in-range/is-in-range.js';\n\nfunction useDatesState({\n type,\n level,\n value,\n defaultValue,\n onChange,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave\n}) {\n const [_value, setValue] = useUncontrolledDates({ type, value, defaultValue, onChange });\n const [pickedDate, setPickedDate] = useState(type === \"range\" ? _value[0] && !_value[1] ? _value[0] : null : null);\n const [hoveredDate, setHoveredDate] = useState(null);\n const onDateChange = (date) => {\n if (type === \"range\") {\n if (pickedDate instanceof Date && !_value[1]) {\n if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n const result = [date, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n setValue(result);\n setHoveredDate(null);\n setPickedDate(null);\n return;\n }\n if (_value[0] && !_value[1] && dayjs(date).isSame(_value[0], level) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n setValue([date, null]);\n setHoveredDate(null);\n setPickedDate(date);\n return;\n }\n if (type === \"multiple\") {\n if (_value.some((selected) => dayjs(selected).isSame(date, level))) {\n setValue(_value.filter((selected) => !dayjs(selected).isSame(date, level)));\n } else {\n setValue([..._value, date]);\n }\n return;\n }\n if (_value && allowDeselect && dayjs(date).isSame(_value, level)) {\n setValue(null);\n } else {\n setValue(date);\n }\n };\n const isDateInRange = (date) => {\n if (pickedDate instanceof Date && hoveredDate instanceof Date) {\n return isInRange(date, [hoveredDate, pickedDate]);\n }\n if (_value[0] instanceof Date && _value[1] instanceof Date) {\n return isInRange(date, _value);\n }\n return false;\n };\n const onRootMouseLeave = type === \"range\" ? (event) => {\n onMouseLeave == null ? void 0 : onMouseLeave(event);\n setHoveredDate(null);\n } : onMouseLeave;\n const isFirstInRange = (date) => {\n if (!(_value[0] instanceof Date)) {\n return false;\n }\n if (dayjs(date).isSame(_value[0], level)) {\n return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));\n }\n return false;\n };\n const isLastInRange = (date) => {\n if (_value[1] instanceof Date) {\n return dayjs(date).isSame(_value[1], level);\n }\n if (!(_value[0] instanceof Date) || !hoveredDate) {\n return false;\n }\n return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);\n };\n const getControlProps = (date) => {\n if (type === \"range\") {\n return {\n selected: _value.some((selection) => selection && dayjs(selection).isSame(date, level)),\n inRange: isDateInRange(date),\n firstInRange: isFirstInRange(date),\n lastInRange: isLastInRange(date),\n \"data-autofocus\": !!_value[0] && dayjs(_value[0]).isSame(date, level) || void 0\n };\n }\n if (type === \"multiple\") {\n return {\n selected: _value.some((selection) => selection && dayjs(selection).isSame(date, level)),\n \"data-autofocus\": !!_value[0] && dayjs(_value[0]).isSame(date, level) || void 0\n };\n }\n const selected = dayjs(_value).isSame(date, level);\n return { selected, \"data-autofocus\": selected || void 0 };\n };\n const onHoveredDateChange = type === \"range\" && pickedDate ? setHoveredDate : () => {\n };\n return {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n _value,\n setValue\n };\n}\n\nexport { useDatesState };\n//# sourceMappingURL=use-dates-state.js.map\n","import { useRef, useEffect } from 'react';\n\nconst DEFAULT_EVENTS = [\"mousedown\", \"touchstart\"];\nfunction useClickOutside(handler, events, nodes) {\n const ref = useRef();\n useEffect(() => {\n const listener = (event) => {\n const { target } = event != null ? event : {};\n if (Array.isArray(nodes)) {\n const shouldIgnore = (target == null ? void 0 : target.hasAttribute(\"data-ignore-outside-clicks\")) || !document.body.contains(target) && target.tagName !== \"HTML\";\n const shouldTrigger = nodes.every((node) => !!node && !event.composedPath().includes(node));\n shouldTrigger && !shouldIgnore && handler();\n } else if (ref.current && !ref.current.contains(target)) {\n handler();\n }\n };\n (events || DEFAULT_EVENTS).forEach((fn) => document.addEventListener(fn, listener));\n return () => {\n (events || DEFAULT_EVENTS).forEach((fn) => document.removeEventListener(fn, listener));\n };\n }, [ref, handler, nodes]);\n return ref;\n}\n\nexport { useClickOutside };\n//# sourceMappingURL=use-click-outside.js.map\n","import { useRef, useEffect } from 'react';\n\nfunction useDidUpdate(fn, dependencies) {\n const mounted = useRef(false);\n useEffect(() => () => {\n mounted.current = false;\n }, []);\n useEffect(() => {\n if (mounted.current) {\n return fn();\n }\n mounted.current = true;\n return void 0;\n }, dependencies);\n}\n\nexport { useDidUpdate };\n//# sourceMappingURL=use-did-update.js.map\n","import { useState, useCallback } from 'react';\n\nfunction useDisclosure(initialState = false, callbacks) {\n const { onOpen, onClose } = callbacks || {};\n const [opened, setOpened] = useState(initialState);\n const open = useCallback(() => {\n setOpened((isOpened) => {\n if (!isOpened) {\n onOpen == null ? void 0 : onOpen();\n return true;\n }\n return isOpened;\n });\n }, [onOpen]);\n const close = useCallback(() => {\n setOpened((isOpened) => {\n if (isOpened) {\n onClose == null ? void 0 : onClose();\n return false;\n }\n return isOpened;\n });\n }, [onClose]);\n const toggle = useCallback(() => {\n opened ? close() : open();\n }, [close, open, opened]);\n return [opened, { open, close, toggle }];\n}\n\nexport { useDisclosure };\n//# sourceMappingURL=use-disclosure.js.map\n","import { useRef } from 'react';\nimport { useDidUpdate } from '../use-did-update/use-did-update.js';\n\nfunction useFocusReturn({ opened, shouldReturnFocus = true }) {\n const lastActiveElement = useRef();\n const returnFocus = () => {\n var _a;\n if (lastActiveElement.current && \"focus\" in lastActiveElement.current && typeof lastActiveElement.current.focus === \"function\") {\n (_a = lastActiveElement.current) == null ? void 0 : _a.focus({ preventScroll: true });\n }\n };\n useDidUpdate(() => {\n let timeout = -1;\n const clearFocusTimeout = (event) => {\n if (event.key === \"Tab\") {\n window.clearTimeout(timeout);\n }\n };\n document.addEventListener(\"keydown\", clearFocusTimeout);\n if (opened) {\n lastActiveElement.current = document.activeElement;\n } else if (shouldReturnFocus) {\n timeout = window.setTimeout(returnFocus, 10);\n }\n return () => {\n window.clearTimeout(timeout);\n document.removeEventListener(\"keydown\", clearFocusTimeout);\n };\n }, [opened, shouldReturnFocus]);\n return returnFocus;\n}\n\nexport { useFocusReturn };\n//# sourceMappingURL=use-focus-return.js.map\n","import { useState, useRef, useCallback, useEffect } from 'react';\n\nfunction getFullscreenElement() {\n const _document = window.document;\n const fullscreenElement = _document.fullscreenElement || _document.webkitFullscreenElement || _document.mozFullScreenElement || _document.msFullscreenElement;\n return fullscreenElement;\n}\nasync function exitFullscreen() {\n const _document = window.document;\n if (typeof _document.exitFullscreen === \"function\")\n return _document.exitFullscreen();\n if (typeof _document.msExitFullscreen === \"function\")\n return _document.msExitFullscreen();\n if (typeof _document.webkitExitFullscreen === \"function\")\n return _document.webkitExitFullscreen();\n if (typeof _document.mozCancelFullScreen === \"function\")\n return _document.mozCancelFullScreen();\n return null;\n}\nasync function enterFullScreen(element) {\n var _a, _b, _c, _d, _e;\n const _element = element;\n return ((_a = _element.requestFullscreen) == null ? void 0 : _a.call(_element)) || ((_b = _element.msRequestFullscreen) == null ? void 0 : _b.call(_element)) || ((_c = _element.webkitEnterFullscreen) == null ? void 0 : _c.call(_element)) || ((_d = _element.webkitRequestFullscreen) == null ? void 0 : _d.call(_element)) || ((_e = _element.mozRequestFullscreen) == null ? void 0 : _e.call(_element));\n}\nconst prefixes = [\"\", \"webkit\", \"moz\", \"ms\"];\nfunction addEvents(element, {\n onFullScreen,\n onError\n}) {\n prefixes.forEach((prefix) => {\n element.addEventListener(`${prefix}fullscreenchange`, onFullScreen);\n element.addEventListener(`${prefix}fullscreenerror`, onError);\n });\n return () => {\n prefixes.forEach((prefix) => {\n element.removeEventListener(`${prefix}fullscreenchange`, onFullScreen);\n element.removeEventListener(`${prefix}fullscreenerror`, onError);\n });\n };\n}\nfunction useFullscreen() {\n const [fullscreen, setFullscreen] = useState(false);\n const _ref = useRef();\n const handleFullscreenChange = useCallback((event) => {\n setFullscreen(event.target === getFullscreenElement());\n }, [setFullscreen]);\n const handleFullscreenError = useCallback((event) => {\n setFullscreen(false);\n console.error(`[@mantine/hooks] use-fullscreen: Error attempting full-screen mode method: ${event} (${event.target})`);\n }, [setFullscreen]);\n const toggle = useCallback(async () => {\n if (!getFullscreenElement()) {\n await enterFullScreen(_ref.current);\n } else {\n await exitFullscreen();\n }\n }, []);\n const ref = useCallback((element) => {\n if (element === null) {\n _ref.current = window.document.documentElement;\n } else {\n _ref.current = element;\n }\n }, []);\n useEffect(() => {\n if (!_ref.current && window.document) {\n _ref.current = window.document.documentElement;\n return addEvents(_ref.current, {\n onFullScreen: handleFullscreenChange,\n onError: handleFullscreenError\n });\n }\n if (_ref.current) {\n return addEvents(_ref.current, {\n onFullScreen: handleFullscreenChange,\n onError: handleFullscreenError\n });\n }\n return void 0;\n }, []);\n return { ref, toggle, fullscreen };\n}\n\nexport { useFullscreen };\n//# sourceMappingURL=use-fullscreen.js.map\n","import { useState, useRef, useCallback, useEffect } from 'react';\n\nfunction useHover() {\n const [hovered, setHovered] = useState(false);\n const ref = useRef(null);\n const onMouseEnter = useCallback(() => setHovered(true), []);\n const onMouseLeave = useCallback(() => setHovered(false), []);\n useEffect(() => {\n if (ref.current) {\n ref.current.addEventListener(\"mouseenter\", onMouseEnter);\n ref.current.addEventListener(\"mouseleave\", onMouseLeave);\n return () => {\n var _a, _b;\n (_a = ref.current) == null ? void 0 : _a.removeEventListener(\"mouseenter\", onMouseEnter);\n (_b = ref.current) == null ? void 0 : _b.removeEventListener(\"mouseleave\", onMouseLeave);\n };\n }\n return void 0;\n }, []);\n return { ref, hovered };\n}\n\nexport { useHover };\n//# sourceMappingURL=use-hover.js.map\n","import React from 'react';\n\nconst __useId = React[\"useId\".toString()] || (() => void 0);\nfunction useReactId() {\n const id = __useId();\n return id ? `mantine-${id.replace(/:/g, \"\")}` : \"\";\n}\n\nexport { useReactId };\n//# sourceMappingURL=use-react-id.js.map\n","import { useState } from 'react';\nimport { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect.js';\nimport { useReactId } from './use-react-id.js';\nimport { randomId } from '../utils/random-id/random-id.js';\n\nfunction useId(staticId) {\n const reactId = useReactId();\n const [uuid, setUuid] = useState(reactId);\n useIsomorphicEffect(() => {\n setUuid(randomId());\n }, []);\n if (typeof staticId === \"string\") {\n return staticId;\n }\n if (typeof window === \"undefined\") {\n return reactId;\n }\n return uuid;\n}\n\nexport { useId };\n//# sourceMappingURL=use-id.js.map\n","import { useState, useRef, useEffect } from 'react';\n\nfunction useInterval(fn, interval) {\n const [active, setActive] = useState(false);\n const intervalRef = useRef();\n const fnRef = useRef();\n useEffect(() => {\n fnRef.current = fn;\n }, [fn]);\n const start = () => {\n setActive((old) => {\n if (!old && !intervalRef.current) {\n intervalRef.current = window.setInterval(fnRef.current, interval);\n }\n return true;\n });\n };\n const stop = () => {\n setActive(false);\n window.clearInterval(intervalRef.current);\n intervalRef.current = void 0;\n };\n const toggle = () => {\n if (active) {\n stop();\n } else {\n start();\n }\n };\n return { start, stop, toggle, active };\n}\n\nexport { useInterval };\n//# sourceMappingURL=use-interval.js.map\n","import { useLayoutEffect, useEffect } from 'react';\n\nconst useIsomorphicEffect = typeof document !== \"undefined\" ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicEffect };\n//# sourceMappingURL=use-isomorphic-effect.js.map\n","import { useCallback } from 'react';\nimport { assignRef } from '../utils/assign-ref/assign-ref.js';\n\nfunction mergeRefs(...refs) {\n return (node) => {\n refs.forEach((ref) => assignRef(ref, node));\n };\n}\nfunction useMergedRef(...refs) {\n return useCallback(mergeRefs(...refs), refs);\n}\n\nexport { mergeRefs, useMergedRef };\n//# sourceMappingURL=use-merged-ref.js.map\n","function assignRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (typeof ref === \"object\" && ref !== null && \"current\" in ref) {\n ref.current = value;\n }\n}\n\nexport { assignRef };\n//# sourceMappingURL=assign-ref.js.map\n","import { useMediaQuery } from '../use-media-query/use-media-query.js';\n\nfunction useReducedMotion(initialValue, options) {\n return useMediaQuery(\"(prefers-reduced-motion: reduce)\", initialValue, options);\n}\n\nexport { useReducedMotion };\n//# sourceMappingURL=use-reduced-motion.js.map\n","import { useState, useRef, useEffect } from 'react';\n\nfunction attachMediaListener(query, callback) {\n try {\n query.addEventListener(\"change\", callback);\n return () => query.removeEventListener(\"change\", callback);\n } catch (e) {\n query.addListener(callback);\n return () => query.removeListener(callback);\n }\n}\nfunction getInitialValue(query, initialValue) {\n if (typeof initialValue === \"boolean\") {\n return initialValue;\n }\n if (typeof window !== \"undefined\" && \"matchMedia\" in window) {\n return window.matchMedia(query).matches;\n }\n return false;\n}\nfunction useMediaQuery(query, initialValue, { getInitialValueInEffect } = {\n getInitialValueInEffect: true\n}) {\n const [matches, setMatches] = useState(getInitialValueInEffect ? initialValue : getInitialValue(query, initialValue));\n const queryRef = useRef();\n useEffect(() => {\n if (\"matchMedia\" in window) {\n queryRef.current = window.matchMedia(query);\n setMatches(queryRef.current.matches);\n return attachMediaListener(queryRef.current, (event) => setMatches(event.matches));\n }\n return void 0;\n }, [query]);\n return matches;\n}\n\nexport { useMediaQuery };\n//# sourceMappingURL=use-media-query.js.map\n","const easeInOutQuad = (t) => t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n\nexport { easeInOutQuad };\n//# sourceMappingURL=ease-in-out-quad.js.map\n","const getRelativePosition = ({\n axis,\n target,\n parent,\n alignment,\n offset,\n isList\n}) => {\n if (!target || !parent && typeof document === \"undefined\") {\n return 0;\n }\n const isCustomParent = !!parent;\n const parentElement = parent || document.body;\n const parentPosition = parentElement.getBoundingClientRect();\n const targetPosition = target.getBoundingClientRect();\n const getDiff = (property) => targetPosition[property] - parentPosition[property];\n if (axis === \"y\") {\n const diff = getDiff(\"top\");\n if (diff === 0)\n return 0;\n if (alignment === \"start\") {\n const distance = diff - offset;\n const shouldScroll = distance <= targetPosition.height * (isList ? 0 : 1) || !isList;\n return shouldScroll ? distance : 0;\n }\n const parentHeight = isCustomParent ? parentPosition.height : window.innerHeight;\n if (alignment === \"end\") {\n const distance = diff + offset - parentHeight + targetPosition.height;\n const shouldScroll = distance >= -targetPosition.height * (isList ? 0 : 1) || !isList;\n return shouldScroll ? distance : 0;\n }\n if (alignment === \"center\") {\n return diff - parentHeight / 2 + targetPosition.height / 2;\n }\n return 0;\n }\n if (axis === \"x\") {\n const diff = getDiff(\"left\");\n if (diff === 0)\n return 0;\n if (alignment === \"start\") {\n const distance = diff - offset;\n const shouldScroll = distance <= targetPosition.width || !isList;\n return shouldScroll ? distance : 0;\n }\n const parentWidth = isCustomParent ? parentPosition.width : window.innerWidth;\n if (alignment === \"end\") {\n const distance = diff + offset - parentWidth + targetPosition.width;\n const shouldScroll = distance >= -targetPosition.width || !isList;\n return shouldScroll ? distance : 0;\n }\n if (alignment === \"center\") {\n return diff - parentWidth / 2 + targetPosition.width / 2;\n }\n return 0;\n }\n return 0;\n};\n\nexport { getRelativePosition };\n//# sourceMappingURL=get-relative-position.js.map\n","const getScrollStart = ({ axis, parent }) => {\n if (!parent && typeof document === \"undefined\") {\n return 0;\n }\n const method = axis === \"y\" ? \"scrollTop\" : \"scrollLeft\";\n if (parent) {\n return parent[method];\n }\n const { body, documentElement } = document;\n return body[method] + documentElement[method];\n};\n\nexport { getScrollStart };\n//# sourceMappingURL=get-scroll-start.js.map\n","const setScrollParam = ({ axis, parent, distance }) => {\n if (!parent && typeof document === \"undefined\") {\n return;\n }\n const method = axis === \"y\" ? \"scrollTop\" : \"scrollLeft\";\n if (parent) {\n parent[method] = distance;\n } else {\n const { body, documentElement } = document;\n body[method] = distance;\n documentElement[method] = distance;\n }\n};\n\nexport { setScrollParam };\n//# sourceMappingURL=set-scroll-param.js.map\n","import { useRef, useCallback, useEffect } from 'react';\nimport { useReducedMotion } from '../use-reduced-motion/use-reduced-motion.js';\nimport { useWindowEvent } from '../use-window-event/use-window-event.js';\nimport { easeInOutQuad } from './utils/ease-in-out-quad.js';\nimport { getRelativePosition } from './utils/get-relative-position.js';\nimport { getScrollStart } from './utils/get-scroll-start.js';\nimport { setScrollParam } from './utils/set-scroll-param.js';\n\nfunction useScrollIntoView({\n duration = 1250,\n axis = \"y\",\n onScrollFinish,\n easing = easeInOutQuad,\n offset = 0,\n cancelable = true,\n isList = false\n} = {}) {\n const frameID = useRef(0);\n const startTime = useRef(0);\n const shouldStop = useRef(false);\n const scrollableRef = useRef(null);\n const targetRef = useRef(null);\n const reducedMotion = useReducedMotion();\n const cancel = () => {\n if (frameID.current) {\n cancelAnimationFrame(frameID.current);\n }\n };\n const scrollIntoView = useCallback(({ alignment = \"start\" } = {}) => {\n var _a;\n shouldStop.current = false;\n if (frameID.current) {\n cancel();\n }\n const start = (_a = getScrollStart({ parent: scrollableRef.current, axis })) != null ? _a : 0;\n const change = getRelativePosition({\n parent: scrollableRef.current,\n target: targetRef.current,\n axis,\n alignment,\n offset,\n isList\n }) - (scrollableRef.current ? 0 : start);\n function animateScroll() {\n if (startTime.current === 0) {\n startTime.current = performance.now();\n }\n const now = performance.now();\n const elapsed = now - startTime.current;\n const t = reducedMotion || duration === 0 ? 1 : elapsed / duration;\n const distance = start + change * easing(t);\n setScrollParam({\n parent: scrollableRef.current,\n axis,\n distance\n });\n if (!shouldStop.current && t < 1) {\n frameID.current = requestAnimationFrame(animateScroll);\n } else {\n typeof onScrollFinish === \"function\" && onScrollFinish();\n startTime.current = 0;\n frameID.current = 0;\n cancel();\n }\n }\n animateScroll();\n }, [axis, duration, easing, isList, offset, onScrollFinish, reducedMotion]);\n const handleStop = () => {\n if (cancelable) {\n shouldStop.current = true;\n }\n };\n useWindowEvent(\"wheel\", handleStop, {\n passive: true\n });\n useWindowEvent(\"touchmove\", handleStop, {\n passive: true\n });\n useEffect(() => cancel, []);\n return {\n scrollableRef,\n targetRef,\n scrollIntoView,\n cancel\n };\n}\n\nexport { useScrollIntoView };\n//# sourceMappingURL=use-scroll-into-view.js.map\n","import { useState } from 'react';\n\nfunction useUncontrolled({\n value,\n defaultValue,\n finalValue,\n onChange = () => {\n }\n}) {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue !== void 0 ? defaultValue : finalValue);\n const handleUncontrolledChange = (val) => {\n setUncontrolledValue(val);\n onChange == null ? void 0 : onChange(val);\n };\n if (value !== void 0) {\n return [value, onChange, true];\n }\n return [uncontrolledValue, handleUncontrolledChange, false];\n}\n\nexport { useUncontrolled };\n//# sourceMappingURL=use-uncontrolled.js.map\n","import { useEffect } from 'react';\n\nfunction useWindowEvent(type, listener, options) {\n useEffect(() => {\n window.addEventListener(type, listener, options);\n return () => window.removeEventListener(type, listener, options);\n }, [type, listener]);\n}\n\nexport { useWindowEvent };\n//# sourceMappingURL=use-window-event.js.map\n","function randomId() {\n return `mantine-${Math.random().toString(36).slice(2, 11)}`;\n}\n\nexport { randomId };\n//# sourceMappingURL=random-id.js.map\n","import React from 'react';\nimport { Global } from '@emotion/react';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction GlobalStyles({ theme }) {\n return /* @__PURE__ */ React.createElement(Global, {\n styles: {\n \"*, *::before, *::after\": {\n boxSizing: \"border-box\"\n },\n html: {\n colorScheme: theme.colorScheme === \"dark\" ? \"dark\" : \"light\"\n },\n body: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {\n backgroundColor: theme.colorScheme === \"dark\" ? theme.colors.dark[7] : theme.white,\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.black,\n lineHeight: theme.lineHeight,\n fontSize: theme.fontSizes.md,\n WebkitFontSmoothing: \"antialiased\",\n MozOsxFontSmoothing: \"grayscale\"\n })\n }\n });\n}\n\nexport { GlobalStyles };\n//# sourceMappingURL=GlobalStyles.js.map\n","import React from 'react';\nimport { Global } from '@emotion/react';\nimport { rem, em } from './utils/rem/rem.js';\n\nfunction assignSizeVariables(variables, sizes, name, targetUnitConverter = rem) {\n Object.keys(sizes).forEach((size) => {\n variables[`--mantine-${name}-${size}`] = targetUnitConverter(sizes[size]);\n });\n}\nfunction MantineCssVariables({ theme }) {\n const variables = {\n \"--mantine-color-white\": theme.white,\n \"--mantine-color-black\": theme.black,\n \"--mantine-transition-timing-function\": theme.transitionTimingFunction,\n \"--mantine-line-height\": `${theme.lineHeight}`,\n \"--mantine-font-family\": theme.fontFamily,\n \"--mantine-font-family-monospace\": theme.fontFamilyMonospace,\n \"--mantine-font-family-headings\": theme.headings.fontFamily,\n \"--mantine-heading-font-weight\": `${theme.headings.fontWeight}`\n };\n assignSizeVariables(variables, theme.shadows, \"shadow\");\n assignSizeVariables(variables, theme.fontSizes, \"font-size\");\n assignSizeVariables(variables, theme.radius, \"radius\");\n assignSizeVariables(variables, theme.spacing, \"spacing\");\n assignSizeVariables(variables, theme.breakpoints, \"breakpoints\", em);\n Object.keys(theme.colors).forEach((color) => {\n theme.colors[color].forEach((shade, index) => {\n variables[`--mantine-color-${color}-${index}`] = shade;\n });\n });\n const headings = theme.headings.sizes;\n Object.keys(headings).forEach((heading) => {\n variables[`--mantine-${heading}-font-size`] = headings[heading].fontSize;\n variables[`--mantine-${heading}-line-height`] = `${headings[heading].lineHeight}`;\n });\n return /* @__PURE__ */ React.createElement(Global, {\n styles: {\n \":root\": variables\n }\n });\n}\n\nexport { MantineCssVariables };\n//# sourceMappingURL=MantineCssVariables.js.map\n","import { attachFunctions } from '../../functions/attach-functions.js';\nimport { getBreakpointValue } from '../../functions/fns/breakpoints/breakpoints.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction mergeTheme(currentTheme, themeOverride) {\n var _a;\n if (!themeOverride) {\n return currentTheme;\n }\n const result = Object.keys(currentTheme).reduce((acc, key) => {\n if (key === \"headings\" && themeOverride.headings) {\n const sizes = themeOverride.headings.sizes ? Object.keys(currentTheme.headings.sizes).reduce((headingsAcc, h) => {\n headingsAcc[h] = __spreadValues(__spreadValues({}, currentTheme.headings.sizes[h]), themeOverride.headings.sizes[h]);\n return headingsAcc;\n }, {}) : currentTheme.headings.sizes;\n return __spreadProps(__spreadValues({}, acc), {\n headings: __spreadProps(__spreadValues(__spreadValues({}, currentTheme.headings), themeOverride.headings), {\n sizes\n })\n });\n }\n if (key === \"breakpoints\" && themeOverride.breakpoints) {\n const mergedBreakpoints = __spreadValues(__spreadValues({}, currentTheme.breakpoints), themeOverride.breakpoints);\n return __spreadProps(__spreadValues({}, acc), {\n breakpoints: Object.fromEntries(Object.entries(mergedBreakpoints).sort((a, b) => getBreakpointValue(a[1]) - getBreakpointValue(b[1])))\n });\n }\n acc[key] = typeof themeOverride[key] === \"object\" ? __spreadValues(__spreadValues({}, currentTheme[key]), themeOverride[key]) : typeof themeOverride[key] === \"number\" || typeof themeOverride[key] === \"boolean\" || typeof themeOverride[key] === \"function\" ? themeOverride[key] : themeOverride[key] || currentTheme[key];\n return acc;\n }, {});\n if ((themeOverride == null ? void 0 : themeOverride.fontFamily) && !((_a = themeOverride == null ? void 0 : themeOverride.headings) == null ? void 0 : _a.fontFamily)) {\n result.headings.fontFamily = themeOverride.fontFamily;\n }\n if (!(result.primaryColor in result.colors)) {\n throw new Error(\"MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more \\u2013 https://mantine.dev/theming/colors/#primary-color\");\n }\n return result;\n}\nfunction mergeThemeWithFunctions(currentTheme, themeOverride) {\n return attachFunctions(mergeTheme(currentTheme, themeOverride));\n}\n\nexport { mergeTheme, mergeThemeWithFunctions };\n//# sourceMappingURL=merge-theme.js.map\n","import React from 'react';\nimport { Global } from '@emotion/react';\nimport { rem } from './utils/rem/rem.js';\n\nconst styles = {\n html: {\n fontFamily: \"sans-serif\",\n lineHeight: \"1.15\",\n textSizeAdjust: \"100%\"\n },\n body: {\n margin: 0\n },\n \"article, aside, footer, header, nav, section, figcaption, figure, main\": {\n display: \"block\"\n },\n h1: {\n fontSize: \"2em\"\n },\n hr: {\n boxSizing: \"content-box\",\n height: 0,\n overflow: \"visible\"\n },\n pre: {\n fontFamily: \"monospace, monospace\",\n fontSize: \"1em\"\n },\n a: {\n background: \"transparent\",\n textDecorationSkip: \"objects\"\n },\n \"a:active, a:hover\": {\n outlineWidth: 0\n },\n \"abbr[title]\": {\n borderBottom: \"none\",\n textDecoration: \"underline\"\n },\n \"b, strong\": {\n fontWeight: \"bolder\"\n },\n \"code, kbp, samp\": {\n fontFamily: \"monospace, monospace\",\n fontSize: \"1em\"\n },\n dfn: {\n fontStyle: \"italic\"\n },\n mark: {\n backgroundColor: \"#ff0\",\n color: \"#000\"\n },\n small: {\n fontSize: \"80%\"\n },\n \"sub, sup\": {\n fontSize: \"75%\",\n lineHeight: 0,\n position: \"relative\",\n verticalAlign: \"baseline\"\n },\n sup: {\n top: \"-0.5em\"\n },\n sub: {\n bottom: \"-0.25em\"\n },\n \"audio, video\": {\n display: \"inline-block\"\n },\n \"audio:not([controls])\": {\n display: \"none\",\n height: 0\n },\n img: {\n borderStyle: \"none\",\n verticalAlign: \"middle\"\n },\n \"svg:not(:root)\": {\n overflow: \"hidden\"\n },\n \"button, input, optgroup, select, textarea\": {\n fontFamily: \"sans-serif\",\n fontSize: \"100%\",\n lineHeight: \"1.15\",\n margin: 0\n },\n \"button, input\": {\n overflow: \"visible\"\n },\n \"button, select\": {\n textTransform: \"none\"\n },\n \"button, [type=reset], [type=submit]\": {\n WebkitAppearance: \"button\"\n },\n \"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner\": {\n borderStyle: \"none\",\n padding: 0\n },\n \"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring\": {\n outline: `${rem(1)} dotted ButtonText`\n },\n legend: {\n boxSizing: \"border-box\",\n color: \"inherit\",\n display: \"table\",\n maxWidth: \"100%\",\n padding: 0,\n whiteSpace: \"normal\"\n },\n progress: {\n display: \"inline-block\",\n verticalAlign: \"baseline\"\n },\n textarea: {\n overflow: \"auto\"\n },\n \"[type=checkbox], [type=radio]\": {\n boxSizing: \"border-box\",\n padding: 0\n },\n \"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button\": {\n height: \"auto\"\n },\n \"[type=search]\": {\n appearance: \"none\"\n },\n \"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration\": {\n appearance: \"none\"\n },\n \"::-webkit-file-upload-button\": {\n appearance: \"button\",\n font: \"inherit\"\n },\n \"details, menu\": {\n display: \"block\"\n },\n summary: {\n display: \"list-item\"\n },\n canvas: {\n display: \"inline-block\"\n },\n template: {\n display: \"none\"\n }\n};\nfunction NormalizeCSS() {\n return /* @__PURE__ */ React.createElement(Global, {\n styles\n });\n}\n\nexport { NormalizeCSS };\n//# sourceMappingURL=NormalizeCSS.js.map\n","import React, { createContext, useContext } from 'react';\nimport { ThemeProvider, Global } from '@emotion/react';\nimport { DEFAULT_THEME } from './default-theme.js';\nimport { GlobalStyles } from './GlobalStyles.js';\nimport { MantineCssVariables } from './MantineCssVariables.js';\nimport { mergeThemeWithFunctions } from './utils/merge-theme/merge-theme.js';\nimport { filterProps } from './utils/filter-props/filter-props.js';\nimport { NormalizeCSS } from './NormalizeCSS.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst MantineProviderContext = createContext({\n theme: DEFAULT_THEME\n});\nfunction useMantineTheme() {\n var _a;\n return ((_a = useContext(MantineProviderContext)) == null ? void 0 : _a.theme) || DEFAULT_THEME;\n}\nfunction useMantineProviderStyles(component) {\n const theme = useMantineTheme();\n const getStyles = (name) => {\n var _a, _b, _c, _d;\n return {\n styles: ((_a = theme.components[name]) == null ? void 0 : _a.styles) || {},\n classNames: ((_b = theme.components[name]) == null ? void 0 : _b.classNames) || {},\n variants: (_c = theme.components[name]) == null ? void 0 : _c.variants,\n sizes: (_d = theme.components[name]) == null ? void 0 : _d.sizes\n };\n };\n if (Array.isArray(component)) {\n return component.map(getStyles);\n }\n return [getStyles(component)];\n}\nfunction useMantineEmotionCache() {\n var _a;\n return (_a = useContext(MantineProviderContext)) == null ? void 0 : _a.emotionCache;\n}\nfunction useComponentDefaultProps(component, defaultProps, props) {\n var _a;\n const theme = useMantineTheme();\n const contextPropsPayload = (_a = theme.components[component]) == null ? void 0 : _a.defaultProps;\n const contextProps = typeof contextPropsPayload === \"function\" ? contextPropsPayload(theme) : contextPropsPayload;\n return __spreadValues(__spreadValues(__spreadValues({}, defaultProps), contextProps), filterProps(props));\n}\nfunction MantineProvider({\n theme,\n emotionCache,\n withNormalizeCSS = false,\n withGlobalStyles = false,\n withCSSVariables = false,\n inherit = false,\n children\n}) {\n const ctx = useContext(MantineProviderContext);\n const mergedTheme = mergeThemeWithFunctions(DEFAULT_THEME, inherit ? __spreadValues(__spreadValues({}, ctx.theme), theme) : theme);\n return /* @__PURE__ */ React.createElement(ThemeProvider, {\n theme: mergedTheme\n }, /* @__PURE__ */ React.createElement(MantineProviderContext.Provider, {\n value: { theme: mergedTheme, emotionCache }\n }, withNormalizeCSS && /* @__PURE__ */ React.createElement(NormalizeCSS, null), withGlobalStyles && /* @__PURE__ */ React.createElement(GlobalStyles, {\n theme: mergedTheme\n }), withCSSVariables && /* @__PURE__ */ React.createElement(MantineCssVariables, {\n theme: mergedTheme\n }), typeof mergedTheme.globalStyles === \"function\" && /* @__PURE__ */ React.createElement(Global, {\n styles: mergedTheme.globalStyles(mergedTheme)\n }), children));\n}\nMantineProvider.displayName = \"@mantine/core/MantineProvider\";\n\nexport { MantineProvider, useComponentDefaultProps, useMantineEmotionCache, useMantineProviderStyles, useMantineTheme };\n//# sourceMappingURL=MantineProvider.js.map\n","const DEFAULT_COLORS = {\n dark: [\n \"#C1C2C5\",\n \"#A6A7AB\",\n \"#909296\",\n \"#5c5f66\",\n \"#373A40\",\n \"#2C2E33\",\n \"#25262b\",\n \"#1A1B1E\",\n \"#141517\",\n \"#101113\"\n ],\n gray: [\n \"#f8f9fa\",\n \"#f1f3f5\",\n \"#e9ecef\",\n \"#dee2e6\",\n \"#ced4da\",\n \"#adb5bd\",\n \"#868e96\",\n \"#495057\",\n \"#343a40\",\n \"#212529\"\n ],\n red: [\n \"#fff5f5\",\n \"#ffe3e3\",\n \"#ffc9c9\",\n \"#ffa8a8\",\n \"#ff8787\",\n \"#ff6b6b\",\n \"#fa5252\",\n \"#f03e3e\",\n \"#e03131\",\n \"#c92a2a\"\n ],\n pink: [\n \"#fff0f6\",\n \"#ffdeeb\",\n \"#fcc2d7\",\n \"#faa2c1\",\n \"#f783ac\",\n \"#f06595\",\n \"#e64980\",\n \"#d6336c\",\n \"#c2255c\",\n \"#a61e4d\"\n ],\n grape: [\n \"#f8f0fc\",\n \"#f3d9fa\",\n \"#eebefa\",\n \"#e599f7\",\n \"#da77f2\",\n \"#cc5de8\",\n \"#be4bdb\",\n \"#ae3ec9\",\n \"#9c36b5\",\n \"#862e9c\"\n ],\n violet: [\n \"#f3f0ff\",\n \"#e5dbff\",\n \"#d0bfff\",\n \"#b197fc\",\n \"#9775fa\",\n \"#845ef7\",\n \"#7950f2\",\n \"#7048e8\",\n \"#6741d9\",\n \"#5f3dc4\"\n ],\n indigo: [\n \"#edf2ff\",\n \"#dbe4ff\",\n \"#bac8ff\",\n \"#91a7ff\",\n \"#748ffc\",\n \"#5c7cfa\",\n \"#4c6ef5\",\n \"#4263eb\",\n \"#3b5bdb\",\n \"#364fc7\"\n ],\n blue: [\n \"#e7f5ff\",\n \"#d0ebff\",\n \"#a5d8ff\",\n \"#74c0fc\",\n \"#4dabf7\",\n \"#339af0\",\n \"#228be6\",\n \"#1c7ed6\",\n \"#1971c2\",\n \"#1864ab\"\n ],\n cyan: [\n \"#e3fafc\",\n \"#c5f6fa\",\n \"#99e9f2\",\n \"#66d9e8\",\n \"#3bc9db\",\n \"#22b8cf\",\n \"#15aabf\",\n \"#1098ad\",\n \"#0c8599\",\n \"#0b7285\"\n ],\n teal: [\n \"#e6fcf5\",\n \"#c3fae8\",\n \"#96f2d7\",\n \"#63e6be\",\n \"#38d9a9\",\n \"#20c997\",\n \"#12b886\",\n \"#0ca678\",\n \"#099268\",\n \"#087f5b\"\n ],\n green: [\n \"#ebfbee\",\n \"#d3f9d8\",\n \"#b2f2bb\",\n \"#8ce99a\",\n \"#69db7c\",\n \"#51cf66\",\n \"#40c057\",\n \"#37b24d\",\n \"#2f9e44\",\n \"#2b8a3e\"\n ],\n lime: [\n \"#f4fce3\",\n \"#e9fac8\",\n \"#d8f5a2\",\n \"#c0eb75\",\n \"#a9e34b\",\n \"#94d82d\",\n \"#82c91e\",\n \"#74b816\",\n \"#66a80f\",\n \"#5c940d\"\n ],\n yellow: [\n \"#fff9db\",\n \"#fff3bf\",\n \"#ffec99\",\n \"#ffe066\",\n \"#ffd43b\",\n \"#fcc419\",\n \"#fab005\",\n \"#f59f00\",\n \"#f08c00\",\n \"#e67700\"\n ],\n orange: [\n \"#fff4e6\",\n \"#ffe8cc\",\n \"#ffd8a8\",\n \"#ffc078\",\n \"#ffa94d\",\n \"#ff922b\",\n \"#fd7e14\",\n \"#f76707\",\n \"#e8590c\",\n \"#d9480f\"\n ]\n};\n\nexport { DEFAULT_COLORS };\n//# sourceMappingURL=default-colors.js.map\n","import { DEFAULT_COLORS } from './default-colors.js';\nimport { attachFunctions } from './functions/attach-functions.js';\n\nconst MANTINE_COLORS = Object.keys(DEFAULT_COLORS);\nconst MANTINE_SIZES = [\"xs\", \"sm\", \"md\", \"lg\", \"xl\"];\nconst _DEFAULT_THEME = {\n dir: \"ltr\",\n primaryShade: {\n light: 6,\n dark: 8\n },\n focusRing: \"auto\",\n loader: \"oval\",\n colorScheme: \"light\",\n white: \"#fff\",\n black: \"#000\",\n defaultRadius: \"sm\",\n transitionTimingFunction: \"ease\",\n colors: DEFAULT_COLORS,\n lineHeight: 1.55,\n fontFamily: \"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji\",\n fontFamilyMonospace: \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace\",\n primaryColor: \"blue\",\n respectReducedMotion: true,\n cursorType: \"default\",\n defaultGradient: {\n from: \"indigo\",\n to: \"cyan\",\n deg: 45\n },\n shadows: {\n xs: \"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)\",\n sm: \"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem\",\n md: \"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem\",\n lg: \"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem\",\n xl: \"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem\"\n },\n fontSizes: {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n md: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\"\n },\n radius: {\n xs: \"0.125rem\",\n sm: \"0.25rem\",\n md: \"0.5rem\",\n lg: \"1rem\",\n xl: \"2rem\"\n },\n spacing: {\n xs: \"0.625rem\",\n sm: \"0.75rem\",\n md: \"1rem\",\n lg: \"1.25rem\",\n xl: \"1.5rem\"\n },\n breakpoints: {\n xs: \"36em\",\n sm: \"48em\",\n md: \"62em\",\n lg: \"75em\",\n xl: \"88em\"\n },\n headings: {\n fontFamily: \"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji\",\n fontWeight: 700,\n sizes: {\n h1: { fontSize: \"2.125rem\", lineHeight: 1.3, fontWeight: void 0 },\n h2: { fontSize: \"1.625rem\", lineHeight: 1.35, fontWeight: void 0 },\n h3: { fontSize: \"1.375rem\", lineHeight: 1.4, fontWeight: void 0 },\n h4: { fontSize: \"1.125rem\", lineHeight: 1.45, fontWeight: void 0 },\n h5: { fontSize: \"1rem\", lineHeight: 1.5, fontWeight: void 0 },\n h6: { fontSize: \"0.875rem\", lineHeight: 1.5, fontWeight: void 0 }\n }\n },\n other: {},\n components: {},\n activeStyles: { transform: \"translateY(0.0625rem)\" },\n datesLocale: \"en\",\n globalStyles: void 0,\n focusRingStyles: {\n styles: (theme) => ({\n outlineOffset: \"0.125rem\",\n outline: `0.125rem solid ${theme.colors[theme.primaryColor][theme.colorScheme === \"dark\" ? 7 : 5]}`\n }),\n resetStyles: () => ({ outline: \"none\" }),\n inputStyles: (theme) => ({\n outline: \"none\",\n borderColor: theme.colors[theme.primaryColor][typeof theme.primaryShade === \"object\" ? theme.primaryShade[theme.colorScheme] : theme.primaryShade]\n })\n }\n};\nconst DEFAULT_THEME = attachFunctions(_DEFAULT_THEME);\n\nexport { DEFAULT_THEME, MANTINE_COLORS, MANTINE_SIZES, _DEFAULT_THEME };\n//# sourceMappingURL=default-theme.js.map\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction focusStyles(theme) {\n return (selector) => ({\n WebkitTapHighlightColor: \"transparent\",\n [selector || \"&:focus\"]: __spreadValues({}, theme.focusRing === \"always\" || theme.focusRing === \"auto\" ? theme.focusRingStyles.styles(theme) : theme.focusRingStyles.resetStyles(theme)),\n [selector ? selector.replace(\":focus\", \":focus:not(:focus-visible)\") : \"&:focus:not(:focus-visible)\"]: __spreadValues({}, theme.focusRing === \"auto\" || theme.focusRing === \"never\" ? theme.focusRingStyles.resetStyles(theme) : null)\n });\n}\n\nexport { focusStyles };\n//# sourceMappingURL=focus-styles.js.map\n","function primaryShade(theme) {\n return (colorScheme) => {\n if (typeof theme.primaryShade === \"number\") {\n return theme.primaryShade;\n }\n return theme.primaryShade[colorScheme || theme.colorScheme];\n };\n}\n\nexport { primaryShade };\n//# sourceMappingURL=primary-shade.js.map\n","import { primaryShade } from '../primary-shade/primary-shade.js';\n\nfunction themeColor(theme) {\n const getPrimaryShade = primaryShade(theme);\n return (color, shade, primaryFallback = true, useSplittedShade = true) => {\n if (typeof color === \"string\" && color.includes(\".\")) {\n const [splitterColor, _splittedShade] = color.split(\".\");\n const splittedShade = parseInt(_splittedShade, 10);\n if (splitterColor in theme.colors && splittedShade >= 0 && splittedShade < 10) {\n return theme.colors[splitterColor][typeof shade === \"number\" && !useSplittedShade ? shade : splittedShade];\n }\n }\n const _shade = typeof shade === \"number\" ? shade : getPrimaryShade();\n return color in theme.colors ? theme.colors[color][_shade] : primaryFallback ? theme.colors[theme.primaryColor][_shade] : color;\n };\n}\n\nexport { themeColor };\n//# sourceMappingURL=theme-color.js.map\n","function getGradientColorStops(colors) {\n let stops = \"\";\n for (let i = 1; i < colors.length - 1; i += 1) {\n stops += `${colors[i]} ${i / (colors.length - 1) * 100}%, `;\n }\n return `${colors[0]} 0%, ${stops}${colors[colors.length - 1]} 100%`;\n}\n\nexport { getGradientColorStops };\n//# sourceMappingURL=get-gradient-color-stops.js.map\n","import { themeColor } from '../theme-color/theme-color.js';\nimport { primaryShade } from '../primary-shade/primary-shade.js';\nimport { getGradientColorStops } from './get-gradient-color-stops/get-gradient-color-stops.js';\n\nfunction linearGradient(deg, ...colors) {\n return `linear-gradient(${deg}deg, ${getGradientColorStops(colors)})`;\n}\nfunction radialGradient(...colors) {\n return `radial-gradient(circle, ${getGradientColorStops(colors)})`;\n}\nfunction gradient(theme) {\n const getThemeColor = themeColor(theme);\n const getPrimaryShade = primaryShade(theme);\n return (payload) => {\n const merged = {\n from: (payload == null ? void 0 : payload.from) || theme.defaultGradient.from,\n to: (payload == null ? void 0 : payload.to) || theme.defaultGradient.to,\n deg: (payload == null ? void 0 : payload.deg) || theme.defaultGradient.deg\n };\n return `linear-gradient(${merged.deg}deg, ${getThemeColor(merged.from, getPrimaryShade(), false)} 0%, ${getThemeColor(merged.to, getPrimaryShade(), false)} 100%)`;\n };\n}\n\nexport { gradient, linearGradient, radialGradient };\n//# sourceMappingURL=gradient.js.map\n","function isHexColor(hex) {\n const HEX_REGEXP = /^#?([0-9A-F]{3}){1,2}$/i;\n return HEX_REGEXP.test(hex);\n}\nfunction hexToRgba(color) {\n let hexString = color.replace(\"#\", \"\");\n if (hexString.length === 3) {\n const shorthandHex = hexString.split(\"\");\n hexString = [\n shorthandHex[0],\n shorthandHex[0],\n shorthandHex[1],\n shorthandHex[1],\n shorthandHex[2],\n shorthandHex[2]\n ].join(\"\");\n }\n const parsed = parseInt(hexString, 16);\n const r = parsed >> 16 & 255;\n const g = parsed >> 8 & 255;\n const b = parsed & 255;\n return {\n r,\n g,\n b,\n a: 1\n };\n}\nfunction rgbStringToRgba(color) {\n const [r, g, b, a] = color.replace(/[^0-9,.]/g, \"\").split(\",\").map(Number);\n return { r, g, b, a: a || 1 };\n}\nfunction toRgba(color) {\n if (isHexColor(color)) {\n return hexToRgba(color);\n }\n if (color.startsWith(\"rgb\")) {\n return rgbStringToRgba(color);\n }\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 1\n };\n}\n\nexport { toRgba };\n//# sourceMappingURL=to-rgba.js.map\n","import { toRgba } from '../../../utils/to-rgba/to-rgba.js';\n\nfunction rgba(color, alpha) {\n if (typeof color !== \"string\" || alpha > 1 || alpha < 0) {\n return \"rgba(0, 0, 0, 1)\";\n }\n if (color.startsWith(\"var(--\")) {\n return color;\n }\n const { r, g, b } = toRgba(color);\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n}\n\nexport { rgba };\n//# sourceMappingURL=rgba.js.map\n","import { fontStyles } from './font-styles/font-styles.js';\nimport { focusStyles } from './focus-styles/focus-styles.js';\nimport { themeColor } from './theme-color/theme-color.js';\nimport { linearGradient, radialGradient, gradient } from './gradient/gradient.js';\nimport { smallerThan, largerThan } from './breakpoints/breakpoints.js';\nimport { rgba } from './rgba/rgba.js';\nimport { cover } from './cover/cover.js';\nimport { darken } from './darken/darken.js';\nimport { lighten } from './lighten/lighten.js';\nimport { radius } from './radius/radius.js';\nimport { variant } from './variant/variant.js';\nimport { primaryShade } from './primary-shade/primary-shade.js';\nimport { primaryColor } from './primary-color/primary-color.js';\nimport { hover } from './hover/hover.js';\nimport { placeholderStyles } from './placeholder-styles/placeholder-styles.js';\nimport { dimmed } from './dimmed/dimmed.js';\n\nconst fns = {\n fontStyles,\n themeColor,\n focusStyles,\n linearGradient,\n radialGradient,\n smallerThan,\n largerThan,\n rgba,\n cover,\n darken,\n lighten,\n radius,\n variant,\n primaryShade,\n hover,\n gradient,\n primaryColor,\n placeholderStyles,\n dimmed\n};\n\nexport { fns };\n//# sourceMappingURL=index.js.map\n","function fontStyles(theme) {\n return () => ({ fontFamily: theme.fontFamily || \"sans-serif\" });\n}\n\nexport { fontStyles };\n//# sourceMappingURL=font-styles.js.map\n","import { rem } from '../../../utils/rem/rem.js';\n\nfunction cover(offset = 0) {\n return {\n position: \"absolute\",\n top: rem(offset),\n right: rem(offset),\n left: rem(offset),\n bottom: rem(offset)\n };\n}\n\nexport { cover };\n//# sourceMappingURL=cover.js.map\n","import { toRgba } from '../../../utils/to-rgba/to-rgba.js';\n\nfunction darken(color, alpha) {\n if (typeof color === \"string\" && color.startsWith(\"var(--\")) {\n return color;\n }\n const { r, g, b, a } = toRgba(color);\n const f = 1 - alpha;\n const dark = (input) => Math.round(input * f);\n return `rgba(${dark(r)}, ${dark(g)}, ${dark(b)}, ${a})`;\n}\n\nexport { darken };\n//# sourceMappingURL=darken.js.map\n","import { toRgba } from '../../../utils/to-rgba/to-rgba.js';\n\nfunction lighten(color, alpha) {\n if (typeof color === \"string\" && color.startsWith(\"var(--\")) {\n return color;\n }\n const { r, g, b, a } = toRgba(color);\n const light = (input) => Math.round(input + (255 - input) * alpha);\n return `rgba(${light(r)}, ${light(g)}, ${light(b)}, ${a})`;\n}\n\nexport { lighten };\n//# sourceMappingURL=lighten.js.map\n","import { rem } from '../../../utils/rem/rem.js';\n\nfunction radius(theme) {\n return (size) => {\n if (typeof size === \"number\") {\n return rem(size);\n }\n const defaultRadius = typeof theme.defaultRadius === \"number\" ? theme.defaultRadius : theme.radius[theme.defaultRadius] || theme.defaultRadius;\n return theme.radius[size] || size || defaultRadius;\n };\n}\n\nexport { radius };\n//# sourceMappingURL=radius.js.map\n","import { rgba } from '../rgba/rgba.js';\nimport { themeColor } from '../theme-color/theme-color.js';\nimport { primaryShade } from '../primary-shade/primary-shade.js';\nimport { gradient } from '../gradient/gradient.js';\n\nfunction getColorIndexInfo(color, theme) {\n if (typeof color === \"string\" && color.includes(\".\")) {\n const [splittedColor, _splittedShade] = color.split(\".\");\n const splittedShade = parseInt(_splittedShade, 10);\n if (splittedColor in theme.colors && splittedShade >= 0 && splittedShade < 10) {\n return { isSplittedColor: true, key: splittedColor, shade: splittedShade };\n }\n }\n return { isSplittedColor: false };\n}\nfunction variant(theme) {\n const getThemeColor = themeColor(theme);\n const getPrimaryShade = primaryShade(theme);\n const getGradient = gradient(theme);\n return ({ variant: variant2, color, gradient: gradient2, primaryFallback }) => {\n const colorInfo = getColorIndexInfo(color, theme);\n switch (variant2) {\n case \"light\": {\n return {\n border: \"transparent\",\n background: rgba(getThemeColor(color, theme.colorScheme === \"dark\" ? 8 : 0, primaryFallback, false), theme.colorScheme === \"dark\" ? 0.2 : 1),\n color: color === \"dark\" ? theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.colors.dark[9] : getThemeColor(color, theme.colorScheme === \"dark\" ? 2 : getPrimaryShade(\"light\")),\n hover: rgba(getThemeColor(color, theme.colorScheme === \"dark\" ? 7 : 1, primaryFallback, false), theme.colorScheme === \"dark\" ? 0.25 : 0.65)\n };\n }\n case \"subtle\": {\n return {\n border: \"transparent\",\n background: \"transparent\",\n color: color === \"dark\" ? theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.colors.dark[9] : getThemeColor(color, theme.colorScheme === \"dark\" ? 2 : getPrimaryShade(\"light\")),\n hover: rgba(getThemeColor(color, theme.colorScheme === \"dark\" ? 8 : 0, primaryFallback, false), theme.colorScheme === \"dark\" ? 0.2 : 1)\n };\n }\n case \"outline\": {\n return {\n border: getThemeColor(color, theme.colorScheme === \"dark\" ? 5 : getPrimaryShade(\"light\")),\n background: \"transparent\",\n color: getThemeColor(color, theme.colorScheme === \"dark\" ? 5 : getPrimaryShade(\"light\")),\n hover: theme.colorScheme === \"dark\" ? rgba(getThemeColor(color, 5, primaryFallback, false), 0.05) : rgba(getThemeColor(color, 0, primaryFallback, false), 0.35)\n };\n }\n case \"default\": {\n return {\n border: theme.colorScheme === \"dark\" ? theme.colors.dark[4] : theme.colors.gray[4],\n background: theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.white,\n color: theme.colorScheme === \"dark\" ? theme.white : theme.black,\n hover: theme.colorScheme === \"dark\" ? theme.colors.dark[5] : theme.colors.gray[0]\n };\n }\n case \"white\": {\n return {\n border: \"transparent\",\n background: theme.white,\n color: getThemeColor(color, getPrimaryShade()),\n hover: null\n };\n }\n case \"transparent\": {\n return {\n border: \"transparent\",\n color: color === \"dark\" ? theme.colorScheme === \"dark\" ? theme.colors.dark[0] : theme.colors.dark[9] : getThemeColor(color, theme.colorScheme === \"dark\" ? 2 : getPrimaryShade(\"light\")),\n background: \"transparent\",\n hover: null\n };\n }\n case \"gradient\": {\n return {\n background: getGradient(gradient2),\n color: theme.white,\n border: \"transparent\",\n hover: null\n };\n }\n default: {\n const _primaryShade = getPrimaryShade();\n const _shade = colorInfo.isSplittedColor ? colorInfo.shade : _primaryShade;\n const _color = colorInfo.isSplittedColor ? colorInfo.key : color;\n return {\n border: \"transparent\",\n background: getThemeColor(_color, _shade, primaryFallback),\n color: theme.white,\n hover: getThemeColor(_color, _shade === 9 ? 8 : _shade + 1)\n };\n }\n }\n };\n}\n\nexport { variant };\n//# sourceMappingURL=variant.js.map\n","function hover(hoverStyle) {\n return {\n \"@media (hover: hover)\": {\n \"&:hover\": hoverStyle\n },\n \"@media (hover: none)\": {\n \"&:active\": hoverStyle\n }\n };\n}\n\nexport { hover };\n//# sourceMappingURL=hover.js.map\n","import { primaryShade } from '../primary-shade/primary-shade.js';\n\nfunction primaryColor(theme) {\n return (colorScheme) => {\n const shade = primaryShade(theme)(colorScheme);\n return theme.colors[theme.primaryColor][shade];\n };\n}\n\nexport { primaryColor };\n//# sourceMappingURL=primary-color.js.map\n","function placeholderStyles(theme) {\n return () => ({\n userSelect: \"none\",\n color: theme.colorScheme === \"dark\" ? theme.colors.dark[3] : theme.colors.gray[5]\n });\n}\n\nexport { placeholderStyles };\n//# sourceMappingURL=placeholder-styles.js.map\n","function dimmed(theme) {\n return () => theme.colorScheme === \"dark\" ? theme.colors.dark[2] : theme.colors.gray[6];\n}\n\nexport { dimmed };\n//# sourceMappingURL=dimmed.js.map\n","import { fns } from './fns/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction attachFunctions(themeBase) {\n return __spreadProps(__spreadValues({}, themeBase), {\n fn: {\n fontStyles: fns.fontStyles(themeBase),\n themeColor: fns.themeColor(themeBase),\n focusStyles: fns.focusStyles(themeBase),\n largerThan: fns.largerThan(themeBase),\n smallerThan: fns.smallerThan(themeBase),\n radialGradient: fns.radialGradient,\n linearGradient: fns.linearGradient,\n gradient: fns.gradient(themeBase),\n rgba: fns.rgba,\n cover: fns.cover,\n lighten: fns.lighten,\n darken: fns.darken,\n primaryShade: fns.primaryShade(themeBase),\n radius: fns.radius(themeBase),\n variant: fns.variant(themeBase),\n hover: fns.hover,\n primaryColor: fns.primaryColor(themeBase),\n placeholderStyles: fns.placeholderStyles(themeBase),\n dimmed: fns.dimmed(themeBase)\n }\n });\n}\n\nexport { attachFunctions };\n//# sourceMappingURL=attach-functions.js.map\n","import { em } from '../../../utils/rem/rem.js';\nimport { getSize } from '../../../utils/get-size/get-size.js';\n\nfunction getBreakpointValue(value) {\n if (typeof value === \"number\") {\n return value;\n }\n if (typeof value === \"string\" && value.includes(\"rem\")) {\n return Number(value.replace(\"rem\", \"\")) * 16;\n }\n if (typeof value === \"string\" && value.includes(\"em\")) {\n return Number(value.replace(\"em\", \"\")) * 16;\n }\n return Number(value);\n}\nfunction largerThan(theme) {\n return (breakpoint) => `@media (min-width: ${em(getBreakpointValue(getSize({ size: breakpoint, sizes: theme.breakpoints })))})`;\n}\nfunction smallerThan(theme) {\n return (breakpoint) => `@media (max-width: ${em(getBreakpointValue(getSize({ size: breakpoint, sizes: theme.breakpoints })) - 1)})`;\n}\n\nexport { getBreakpointValue, largerThan, smallerThan };\n//# sourceMappingURL=breakpoints.js.map\n","function filterProps(props) {\n return Object.keys(props).reduce((acc, key) => {\n if (props[key] !== void 0) {\n acc[key] = props[key];\n }\n return acc;\n }, {});\n}\n\nexport { filterProps };\n//# sourceMappingURL=filter-props.js.map\n","const elevations = {\n app: 100,\n modal: 200,\n popover: 300,\n overlay: 400,\n max: 9999\n};\nfunction getDefaultZIndex(level) {\n return elevations[level];\n}\n\nexport { getDefaultZIndex };\n//# sourceMappingURL=get-default-z-index.js.map\n","import { em, rem } from '../rem/rem.js';\n\nfunction getSize({\n size,\n sizes,\n units\n}) {\n if (size in sizes) {\n return sizes[size];\n }\n if (typeof size === \"number\") {\n return units === \"em\" ? em(size) : rem(size);\n }\n return size || sizes.md;\n}\n\nexport { getSize };\n//# sourceMappingURL=get-size.js.map\n","function px(value) {\n if (typeof value === \"number\") {\n return value;\n }\n if (typeof value === \"string\") {\n if (value.includes(\"px\")) {\n return Number(value.replace(\"px\", \"\"));\n }\n if (value.includes(\"rem\")) {\n return Number(value.replace(\"rem\", \"\")) * 16;\n }\n return Number(value);\n }\n return NaN;\n}\n\nexport { px };\n//# sourceMappingURL=px.js.map\n","function createConverter(units) {\n return (px) => {\n if (typeof px === \"number\") {\n return `${px / 16}${units}`;\n }\n if (typeof px === \"string\") {\n const replaced = px.replace(\"px\", \"\");\n if (!Number.isNaN(Number(replaced))) {\n return `${Number(replaced) / 16}${units}`;\n }\n }\n return px;\n };\n}\nconst rem = createConverter(\"rem\");\nconst em = createConverter(\"em\");\n\nexport { em, rem };\n//# sourceMappingURL=rem.js.map\n","import { useCss } from './use-css.js';\nimport { useMantineTheme, useMantineProviderStyles, useMantineEmotionCache } from '../theme/MantineProvider.js';\nimport { mergeClassNames } from './utils/merge-class-names/merge-class-names.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction assignAccStyles(acc, styles) {\n if (styles) {\n Object.keys(styles).forEach((key) => {\n if (!acc[key]) {\n acc[key] = __spreadValues({}, styles[key]);\n } else {\n acc[key] = __spreadValues(__spreadValues({}, acc[key]), styles[key]);\n }\n });\n }\n return acc;\n}\nfunction getStyles(styles, theme, params, contextParams) {\n const extractStyles = (stylesPartial) => typeof stylesPartial === \"function\" ? stylesPartial(theme, params || {}, contextParams) : stylesPartial || {};\n if (Array.isArray(styles)) {\n return styles.map((item) => extractStyles(item.styles)).reduce((acc, item) => assignAccStyles(acc, item), {});\n }\n return extractStyles(styles);\n}\nfunction getContextVariation({ ctx, theme, params, variant, size }) {\n return ctx.reduce((acc, item) => {\n if (item.variants && variant in item.variants) {\n assignAccStyles(acc, item.variants[variant](theme, params, { variant, size }));\n }\n if (item.sizes && size in item.sizes) {\n assignAccStyles(acc, item.sizes[size](theme, params, { variant, size }));\n }\n return acc;\n }, {});\n}\nfunction createStyles(input) {\n const getCssObject = typeof input === \"function\" ? input : () => input;\n function useStyles(params, options) {\n const theme = useMantineTheme();\n const context = useMantineProviderStyles(options == null ? void 0 : options.name);\n const cache = useMantineEmotionCache();\n const contextParams = { variant: options == null ? void 0 : options.variant, size: options == null ? void 0 : options.size };\n const { css, cx } = useCss();\n const cssObject = getCssObject(theme, params, contextParams);\n const componentStyles = getStyles(options == null ? void 0 : options.styles, theme, params, contextParams);\n const providerStyles = getStyles(context, theme, params, contextParams);\n const contextVariations = getContextVariation({\n ctx: context,\n theme,\n params,\n variant: options == null ? void 0 : options.variant,\n size: options == null ? void 0 : options.size\n });\n const classes = Object.fromEntries(Object.keys(cssObject).map((key) => {\n const mergedStyles = cx({ [css(cssObject[key])]: !(options == null ? void 0 : options.unstyled) }, css(contextVariations[key]), css(providerStyles[key]), css(componentStyles[key]));\n return [key, mergedStyles];\n }));\n return {\n classes: mergeClassNames({\n cx,\n classes,\n context,\n classNames: options == null ? void 0 : options.classNames,\n name: options == null ? void 0 : options.name,\n cache\n }),\n cx,\n theme\n };\n }\n return useStyles;\n}\n\nexport { createStyles };\n//# sourceMappingURL=create-styles.js.map\n","function mergeClassNames({\n cx,\n classes,\n context,\n classNames,\n name,\n cache\n}) {\n const contextClassNames = context.reduce((acc, item) => {\n Object.keys(item.classNames).forEach((key) => {\n if (typeof acc[key] !== \"string\") {\n acc[key] = `${item.classNames[key]}`;\n } else {\n acc[key] = `${acc[key]} ${item.classNames[key]}`;\n }\n });\n return acc;\n }, {});\n return Object.keys(classes).reduce((acc, className) => {\n acc[className] = cx(classes[className], contextClassNames[className], classNames != null && classNames[className], Array.isArray(name) ? name.filter(Boolean).map((part) => `${(cache == null ? void 0 : cache.key) || \"mantine\"}-${part}-${className}`).join(\" \") : name ? `${(cache == null ? void 0 : cache.key) || \"mantine\"}-${name}-${className}` : null);\n return acc;\n }, {});\n}\n\nexport { mergeClassNames };\n//# sourceMappingURL=merge-class-names.js.map\n","function getStylesRef(refName) {\n return `___ref-${refName || \"\"}`;\n}\n\nexport { getStylesRef };\n//# sourceMappingURL=get-styles-ref.js.map\n","import createCache from '@emotion/cache';\n\nconst defaultMantineEmotionCache = createCache({ key: \"mantine\", prepend: true });\n\nexport { defaultMantineEmotionCache };\n//# sourceMappingURL=default-emotion-cache.js.map\n","import clsx from 'clsx';\nimport { serializeStyles } from '@emotion/serialize';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useGuaranteedMemo } from './utils/use-guaranteed-memo/use-guaranteed-memo.js';\nimport { useEmotionCache } from './use-emotion-cache.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst refPropertyName = \"ref\";\nfunction getRef(args) {\n let ref;\n if (args.length !== 1) {\n return { args, ref };\n }\n const [arg] = args;\n if (!(arg instanceof Object)) {\n return { args, ref };\n }\n if (!(refPropertyName in arg)) {\n return { args, ref };\n }\n ref = arg[refPropertyName];\n const argCopy = __spreadValues({}, arg);\n delete argCopy[refPropertyName];\n return { args: [argCopy], ref };\n}\nconst { cssFactory } = (() => {\n function merge(registered, css, className) {\n const registeredStyles = [];\n const rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n if (registeredStyles.length < 2) {\n return className;\n }\n return rawClassName + css(registeredStyles);\n }\n function _cssFactory(params) {\n const { cache } = params;\n const css = (...styles) => {\n const { ref, args } = getRef(styles);\n const serialized = serializeStyles(args, cache.registered);\n insertStyles(cache, serialized, false);\n return `${cache.key}-${serialized.name}${ref === void 0 ? \"\" : ` ${ref}`}`;\n };\n const cx = (...args) => merge(cache.registered, css, clsx(args));\n return { css, cx };\n }\n return { cssFactory: _cssFactory };\n})();\nfunction useCss() {\n const cache = useEmotionCache();\n return useGuaranteedMemo(() => cssFactory({ cache }), [cache]);\n}\n\nexport { cssFactory, useCss };\n//# sourceMappingURL=use-css.js.map\n","import { defaultMantineEmotionCache } from './default-emotion-cache.js';\nimport { useMantineEmotionCache } from '../theme/MantineProvider.js';\n\nfunction useEmotionCache() {\n const cache = useMantineEmotionCache();\n return cache || defaultMantineEmotionCache;\n}\n\nexport { useEmotionCache };\n//# sourceMappingURL=use-emotion-cache.js.map\n","import { useRef } from 'react';\n\nfunction useGuaranteedMemo(fn, deps) {\n const ref = useRef();\n if (!ref.current || deps.length !== ref.current.prevDeps.length || ref.current.prevDeps.map((v, i) => v === deps[i]).indexOf(false) >= 0) {\n ref.current = {\n v: fn(),\n prevDeps: [...deps]\n };\n }\n return ref.current.v;\n}\n\nexport { useGuaranteedMemo };\n//# sourceMappingURL=use-guaranteed-memo.js.map\n","function createEventHandler(parentEventHandler, eventHandler) {\n return (event) => {\n parentEventHandler == null ? void 0 : parentEventHandler(event);\n eventHandler == null ? void 0 : eventHandler(event);\n };\n}\n\nexport { createEventHandler };\n//# sourceMappingURL=create-event-handler.js.map\n","function createPolymorphicComponent(component) {\n return component;\n}\n\nexport { createPolymorphicComponent };\n//# sourceMappingURL=create-polymorphic-component.js.map\n","import React, { createContext, useContext } from 'react';\n\nfunction createSafeContext(errorMessage) {\n const Context = createContext(null);\n const useSafeContext = () => {\n const ctx = useContext(Context);\n if (ctx === null) {\n throw new Error(errorMessage);\n }\n return ctx;\n };\n const Provider = ({ children, value }) => /* @__PURE__ */ React.createElement(Context.Provider, {\n value\n }, children);\n return [Provider, useSafeContext];\n}\n\nexport { createSafeContext };\n//# sourceMappingURL=create-safe-context.js.map\n","import { findElementAncestor } from '../find-element-ancestor/find-element-ancestor.js';\n\nfunction getPreviousIndex(current, elements, loop) {\n for (let i = current - 1; i >= 0; i -= 1) {\n if (!elements[i].disabled) {\n return i;\n }\n }\n if (loop) {\n for (let i = elements.length - 1; i > -1; i -= 1) {\n if (!elements[i].disabled) {\n return i;\n }\n }\n }\n return current;\n}\nfunction getNextIndex(current, elements, loop) {\n for (let i = current + 1; i < elements.length; i += 1) {\n if (!elements[i].disabled) {\n return i;\n }\n }\n if (loop) {\n for (let i = 0; i < elements.length; i += 1) {\n if (!elements[i].disabled) {\n return i;\n }\n }\n }\n return current;\n}\nfunction onSameLevel(target, sibling, parentSelector) {\n return findElementAncestor(target, parentSelector) === findElementAncestor(sibling, parentSelector);\n}\nfunction createScopedKeydownHandler({\n parentSelector,\n siblingSelector,\n onKeyDown,\n loop = true,\n activateOnFocus = false,\n dir = \"rtl\",\n orientation\n}) {\n return (event) => {\n var _a;\n onKeyDown == null ? void 0 : onKeyDown(event);\n const elements = Array.from(((_a = findElementAncestor(event.currentTarget, parentSelector)) == null ? void 0 : _a.querySelectorAll(siblingSelector)) || []).filter((node) => onSameLevel(event.currentTarget, node, parentSelector));\n const current = elements.findIndex((el) => event.currentTarget === el);\n const _nextIndex = getNextIndex(current, elements, loop);\n const _previousIndex = getPreviousIndex(current, elements, loop);\n const nextIndex = dir === \"rtl\" ? _previousIndex : _nextIndex;\n const previousIndex = dir === \"rtl\" ? _nextIndex : _previousIndex;\n switch (event.key) {\n case \"ArrowRight\": {\n if (orientation === \"horizontal\") {\n event.stopPropagation();\n event.preventDefault();\n elements[nextIndex].focus();\n activateOnFocus && elements[nextIndex].click();\n }\n break;\n }\n case \"ArrowLeft\": {\n if (orientation === \"horizontal\") {\n event.stopPropagation();\n event.preventDefault();\n elements[previousIndex].focus();\n activateOnFocus && elements[previousIndex].click();\n }\n break;\n }\n case \"ArrowUp\": {\n if (orientation === \"vertical\") {\n event.stopPropagation();\n event.preventDefault();\n elements[_previousIndex].focus();\n activateOnFocus && elements[_previousIndex].click();\n }\n break;\n }\n case \"ArrowDown\": {\n if (orientation === \"vertical\") {\n event.stopPropagation();\n event.preventDefault();\n elements[_nextIndex].focus();\n activateOnFocus && elements[_nextIndex].click();\n }\n break;\n }\n case \"Home\": {\n event.stopPropagation();\n event.preventDefault();\n !elements[0].disabled && elements[0].focus();\n break;\n }\n case \"End\": {\n event.stopPropagation();\n event.preventDefault();\n const last = elements.length - 1;\n !elements[last].disabled && elements[last].focus();\n break;\n }\n }\n };\n}\n\nexport { createScopedKeydownHandler };\n//# sourceMappingURL=create-scoped-keydown-handler.js.map\n","function findElementAncestor(element, selector) {\n let _element = element;\n while ((_element = _element.parentElement) && !_element.matches(selector))\n ;\n return _element;\n}\n\nexport { findElementAncestor };\n//# sourceMappingURL=find-element-ancestor.js.map\n","function getSafeId(uid, errorMessage) {\n return (value) => {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new Error(errorMessage);\n }\n return `${uid}-${value}`;\n };\n}\n\nexport { getSafeId };\n//# sourceMappingURL=get-safe-id.js.map\n","function groupOptions({ data }) {\n const sortedData = [];\n const unGroupedData = [];\n const groupedData = data.reduce((acc, item, index) => {\n if (item.group) {\n if (acc[item.group])\n acc[item.group].push(index);\n else\n acc[item.group] = [index];\n } else {\n unGroupedData.push(index);\n }\n return acc;\n }, {});\n Object.keys(groupedData).forEach((groupName) => {\n sortedData.push(...groupedData[groupName].map((index) => data[index]));\n });\n sortedData.push(...unGroupedData.map((itemIndex) => data[itemIndex]));\n return sortedData;\n}\nfunction getGroupedOptions(data) {\n const sorted = groupOptions({ data });\n const unGrouped = [];\n const grouped = [];\n let groupName = null;\n sorted.forEach((item, index) => {\n if (!item.group) {\n unGrouped.push({ type: \"item\", item, index });\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n grouped.push({ type: \"label\", label: groupName });\n }\n grouped.push({ type: \"item\", item, index });\n }\n });\n return {\n grouped,\n unGrouped,\n items: [...grouped, ...unGrouped],\n hasItems: grouped.length > 0 || unGrouped.length > 0\n };\n}\n\nexport { getGroupedOptions, groupOptions };\n//# sourceMappingURL=group-options.js.map\n","import React from 'react';\n\nfunction isElement(value) {\n if (Array.isArray(value) || value === null) {\n return false;\n }\n if (typeof value === \"object\") {\n if (value.type === React.Fragment) {\n return false;\n }\n return true;\n }\n return false;\n}\n\nexport { isElement };\n//# sourceMappingURL=is-element.js.map\n","function packSx(sx) {\n return Array.isArray(sx) ? sx : [sx];\n}\n\nexport { packSx };\n//# sourceMappingURL=pack-sx.js.map\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}","// import { isHTMLElement } from './instanceOf';\nexport default function getBoundingClientRect(element, // eslint-disable-next-line unused-imports/no-unused-vars\nincludeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n var rect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1; // FIXME:\n // `offsetWidth` returns an integer while `getBoundingClientRect`\n // returns a float. This results in `scaleX` or `scaleY` being\n // non-1 when it should be for elements that aren't a full pixel in\n // width or height.\n // if (isHTMLElement(element) && includeScale) {\n // const offsetHeight = element.offsetHeight;\n // const offsetWidth = element.offsetWidth;\n // // Do not attempt to divide by 0, otherwise we get `Infinity` as scale\n // // Fallback to 1 in case both values are `0`\n // if (offsetWidth > 0) {\n // scaleX = rect.width / offsetWidth || 1;\n // }\n // if (offsetHeight > 0) {\n // scaleY = rect.height / offsetHeight || 1;\n // }\n // }\n\n return {\n width: rect.width / scaleX,\n height: rect.height / scaleY,\n top: rect.top / scaleY,\n right: rect.right / scaleX,\n bottom: rect.bottom / scaleY,\n left: rect.left / scaleX,\n x: rect.left / scaleX,\n y: rect.top / scaleY\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\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}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.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 = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\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 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}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\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}","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\";\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 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\";\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 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 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 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}","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 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}","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) {\n var rect = getBoundingClientRect(element);\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) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : 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) {\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);\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));\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\";\nexport default function getViewportRect(element) {\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; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\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 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$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);\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}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","var $amzHf$babelruntimehelpersextends = require(\"@babel/runtime/helpers/extends\");\nvar $amzHf$react = require(\"react\");\nvar $amzHf$reactdom = require(\"react-dom\");\nvar $amzHf$radixuireactprimitive = require(\"@radix-ui/react-primitive\");\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\n$parcel$export(module.exports, \"Portal\", () => $913a70b877676c16$export$602eac185826482c);\n$parcel$export(module.exports, \"Root\", () => $913a70b877676c16$export$be92b6f5f03c0fe9);\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Portal\n * -----------------------------------------------------------------------------------------------*/ const $913a70b877676c16$var$PORTAL_NAME = 'Portal';\nconst $913a70b877676c16$export$602eac185826482c = /*#__PURE__*/ $amzHf$react.forwardRef((props, forwardedRef)=>{\n var _globalThis$document;\n const { container: container = globalThis === null || globalThis === void 0 ? void 0 : (_globalThis$document = globalThis.document) === null || _globalThis$document === void 0 ? void 0 : _globalThis$document.body , ...portalProps } = props;\n return container ? /*#__PURE__*/ ($parcel$interopDefault($amzHf$reactdom)).createPortal(/*#__PURE__*/ $amzHf$react.createElement($amzHf$radixuireactprimitive.Primitive.div, ($parcel$interopDefault($amzHf$babelruntimehelpersextends))({}, portalProps, {\n ref: forwardedRef\n })), container) : null;\n});\n/*#__PURE__*/ Object.assign($913a70b877676c16$export$602eac185826482c, {\n displayName: $913a70b877676c16$var$PORTAL_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $913a70b877676c16$export$be92b6f5f03c0fe9 = $913a70b877676c16$export$602eac185826482c;\n\n\n\n\n//# sourceMappingURL=index.js.map\n","var $dJwbH$react = require(\"react\");\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n$parcel$export(module.exports, \"composeRefs\", () => $9c2aaba23466b352$export$43e446d32b3d21af);\n$parcel$export(module.exports, \"useComposedRefs\", () => $9c2aaba23466b352$export$c7b2cbe3552a0d05);\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */ function $9c2aaba23466b352$var$setRef(ref, value) {\n if (typeof ref === 'function') ref(value);\n else if (ref !== null && ref !== undefined) ref.current = value;\n}\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */ function $9c2aaba23466b352$export$43e446d32b3d21af(...refs) {\n return (node)=>refs.forEach((ref)=>$9c2aaba23466b352$var$setRef(ref, node)\n )\n ;\n}\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */ function $9c2aaba23466b352$export$c7b2cbe3552a0d05(...refs) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return $dJwbH$react.useCallback($9c2aaba23466b352$export$43e446d32b3d21af(...refs), refs);\n}\n\n\n\n\n//# sourceMappingURL=index.js.map\n","var $iMixA$babelruntimehelpersextends = require(\"@babel/runtime/helpers/extends\");\nvar $iMixA$react = require(\"react\");\nvar $iMixA$reactdom = require(\"react-dom\");\nvar $iMixA$radixuireactslot = require(\"@radix-ui/react-slot\");\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\n$parcel$export(module.exports, \"Primitive\", () => $c3def6332c2749a6$export$250ffa63cdc0d034);\n$parcel$export(module.exports, \"Root\", () => $c3def6332c2749a6$export$be92b6f5f03c0fe9);\n$parcel$export(module.exports, \"dispatchDiscreteCustomEvent\", () => $c3def6332c2749a6$export$6d1a0317bde7de7f);\n\n\n\n\nconst $c3def6332c2749a6$var$NODES = [\n 'a',\n 'button',\n 'div',\n 'form',\n 'h2',\n 'h3',\n 'img',\n 'input',\n 'label',\n 'li',\n 'nav',\n 'ol',\n 'p',\n 'span',\n 'svg',\n 'ul'\n]; // Temporary while we await merge of this fix:\n// https://github.com/DefinitelyTyped/DefinitelyTyped/pull/55396\n// prettier-ignore\n/* -------------------------------------------------------------------------------------------------\n * Primitive\n * -----------------------------------------------------------------------------------------------*/ const $c3def6332c2749a6$export$250ffa63cdc0d034 = $c3def6332c2749a6$var$NODES.reduce((primitive, node)=>{\n const Node = /*#__PURE__*/ $iMixA$react.forwardRef((props, forwardedRef)=>{\n const { asChild: asChild , ...primitiveProps } = props;\n const Comp = asChild ? $iMixA$radixuireactslot.Slot : node;\n $iMixA$react.useEffect(()=>{\n window[Symbol.for('radix-ui')] = true;\n }, []);\n return /*#__PURE__*/ $iMixA$react.createElement(Comp, ($parcel$interopDefault($iMixA$babelruntimehelpersextends))({}, primitiveProps, {\n ref: forwardedRef\n }));\n });\n Node.displayName = `Primitive.${node}`;\n return {\n ...primitive,\n [node]: Node\n };\n}, {});\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/ /**\n * Flush custom event dispatch\n * https://github.com/radix-ui/primitives/pull/1378\n *\n * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.\n *\n * Internally, React prioritises events in the following order:\n * - discrete\n * - continuous\n * - default\n *\n * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350\n *\n * `discrete` is an important distinction as updates within these events are applied immediately.\n * React however, is not able to infer the priority of custom event types due to how they are detected internally.\n * Because of this, it's possible for updates from custom events to be unexpectedly batched when\n * dispatched by another `discrete` event.\n *\n * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.\n * This utility should be used when dispatching a custom event from within another `discrete` event, this utility\n * is not nessesary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.\n * For example:\n *\n * dispatching a known click 👎\n * target.dispatchEvent(new Event(‘click’))\n *\n * dispatching a custom type within a non-discrete event 👎\n * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(‘customType’))}\n *\n * dispatching a custom type within a `discrete` event 👍\n * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(‘customType’))}\n *\n * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's not recommended to use\n * this utility with them. This is because it's possible for those handlers to be called implicitly during render\n * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.\n */ function $c3def6332c2749a6$export$6d1a0317bde7de7f(target, event) {\n if (target) $iMixA$reactdom.flushSync(()=>target.dispatchEvent(event)\n );\n}\n/* -----------------------------------------------------------------------------------------------*/ const $c3def6332c2749a6$export$be92b6f5f03c0fe9 = $c3def6332c2749a6$export$250ffa63cdc0d034;\n\n\n\n\n//# sourceMappingURL=index.js.map\n","var $dAvBt$babelruntimehelpersextends = require(\"@babel/runtime/helpers/extends\");\nvar $dAvBt$react = require(\"react\");\nvar $dAvBt$radixuireactcomposerefs = require(\"@radix-ui/react-compose-refs\");\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\n$parcel$export(module.exports, \"Slot\", () => $82dc8d030dec7549$export$8c6ed5c666ac1360);\n$parcel$export(module.exports, \"Slottable\", () => $82dc8d030dec7549$export$d9f1ccf0bdb05d45);\n$parcel$export(module.exports, \"Root\", () => $82dc8d030dec7549$export$be92b6f5f03c0fe9);\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/ const $82dc8d030dec7549$export$8c6ed5c666ac1360 = /*#__PURE__*/ $dAvBt$react.forwardRef((props, forwardedRef)=>{\n const { children: children , ...slotProps } = props;\n const childrenArray = $dAvBt$react.Children.toArray(children);\n const slottable = childrenArray.find($82dc8d030dec7549$var$isSlottable);\n if (slottable) {\n // the new element to render is the one passed as a child of `Slottable`\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child)=>{\n if (child === slottable) {\n // because the new element will be the one rendered, we are only interested\n // in grabbing its children (`newElement.props.children`)\n if ($dAvBt$react.Children.count(newElement) > 1) return $dAvBt$react.Children.only(null);\n return /*#__PURE__*/ $dAvBt$react.isValidElement(newElement) ? newElement.props.children : null;\n } else return child;\n });\n return /*#__PURE__*/ $dAvBt$react.createElement($82dc8d030dec7549$var$SlotClone, ($parcel$interopDefault($dAvBt$babelruntimehelpersextends))({}, slotProps, {\n ref: forwardedRef\n }), /*#__PURE__*/ $dAvBt$react.isValidElement(newElement) ? /*#__PURE__*/ $dAvBt$react.cloneElement(newElement, undefined, newChildren) : null);\n }\n return /*#__PURE__*/ $dAvBt$react.createElement($82dc8d030dec7549$var$SlotClone, ($parcel$interopDefault($dAvBt$babelruntimehelpersextends))({}, slotProps, {\n ref: forwardedRef\n }), children);\n});\n$82dc8d030dec7549$export$8c6ed5c666ac1360.displayName = 'Slot';\n/* -------------------------------------------------------------------------------------------------\n * SlotClone\n * -----------------------------------------------------------------------------------------------*/ const $82dc8d030dec7549$var$SlotClone = /*#__PURE__*/ $dAvBt$react.forwardRef((props, forwardedRef)=>{\n const { children: children , ...slotProps } = props;\n if (/*#__PURE__*/ $dAvBt$react.isValidElement(children)) return /*#__PURE__*/ $dAvBt$react.cloneElement(children, {\n ...$82dc8d030dec7549$var$mergeProps(slotProps, children.props),\n ref: forwardedRef ? $dAvBt$radixuireactcomposerefs.composeRefs(forwardedRef, children.ref) : children.ref\n });\n return $dAvBt$react.Children.count(children) > 1 ? $dAvBt$react.Children.only(null) : null;\n});\n$82dc8d030dec7549$var$SlotClone.displayName = 'SlotClone';\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/ const $82dc8d030dec7549$export$d9f1ccf0bdb05d45 = ({ children: children })=>{\n return /*#__PURE__*/ $dAvBt$react.createElement($dAvBt$react.Fragment, null, children);\n};\n/* ---------------------------------------------------------------------------------------------- */ function $82dc8d030dec7549$var$isSlottable(child) {\n return /*#__PURE__*/ $dAvBt$react.isValidElement(child) && child.type === $82dc8d030dec7549$export$d9f1ccf0bdb05d45;\n}\nfunction $82dc8d030dec7549$var$mergeProps(slotProps, childProps) {\n // all child props should override\n const overrideProps = {\n ...childProps\n };\n for(const propName in childProps){\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n // if the handler exists on both, we compose them\n if (slotPropValue && childPropValue) overrideProps[propName] = (...args)=>{\n childPropValue(...args);\n slotPropValue(...args);\n };\n else if (slotPropValue) overrideProps[propName] = slotPropValue;\n } else if (propName === 'style') overrideProps[propName] = {\n ...slotPropValue,\n ...childPropValue\n };\n else if (propName === 'className') overrideProps[propName] = [\n slotPropValue,\n childPropValue\n ].filter(Boolean).join(' ');\n }\n return {\n ...slotProps,\n ...overrideProps\n };\n}\nconst $82dc8d030dec7549$export$be92b6f5f03c0fe9 = $82dc8d030dec7549$export$8c6ed5c666ac1360;\n\n\n\n\n//# sourceMappingURL=index.js.map\n","import React, { useState, useRef, useEffect, createContext, useMemo, useContext, useCallback } from 'react';\n\nfunction useLoadGsiScript(options = {}) {\r\n const { nonce, onScriptLoadSuccess, onScriptLoadError } = options;\r\n const [scriptLoadedSuccessfully, setScriptLoadedSuccessfully] = useState(false);\r\n const onScriptLoadSuccessRef = useRef(onScriptLoadSuccess);\r\n onScriptLoadSuccessRef.current = onScriptLoadSuccess;\r\n const onScriptLoadErrorRef = useRef(onScriptLoadError);\r\n onScriptLoadErrorRef.current = onScriptLoadError;\r\n useEffect(() => {\r\n const scriptTag = document.createElement('script');\r\n scriptTag.src = 'https://accounts.google.com/gsi/client';\r\n scriptTag.async = true;\r\n scriptTag.defer = true;\r\n scriptTag.nonce = nonce;\r\n scriptTag.onload = () => {\r\n var _a;\r\n setScriptLoadedSuccessfully(true);\r\n (_a = onScriptLoadSuccessRef.current) === null || _a === void 0 ? void 0 : _a.call(onScriptLoadSuccessRef);\r\n };\r\n scriptTag.onerror = () => {\r\n var _a;\r\n setScriptLoadedSuccessfully(false);\r\n (_a = onScriptLoadErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onScriptLoadErrorRef);\r\n };\r\n document.body.appendChild(scriptTag);\r\n return () => {\r\n document.body.removeChild(scriptTag);\r\n };\r\n }, [nonce]);\r\n return scriptLoadedSuccessfully;\r\n}\n\nconst GoogleOAuthContext = createContext(null);\r\nfunction GoogleOAuthProvider({ clientId, nonce, onScriptLoadSuccess, onScriptLoadError, children, }) {\r\n const scriptLoadedSuccessfully = useLoadGsiScript({\r\n nonce,\r\n onScriptLoadSuccess,\r\n onScriptLoadError,\r\n });\r\n const contextValue = useMemo(() => ({\r\n clientId,\r\n scriptLoadedSuccessfully,\r\n }), [clientId, scriptLoadedSuccessfully]);\r\n return (React.createElement(GoogleOAuthContext.Provider, { value: contextValue }, children));\r\n}\r\nfunction useGoogleOAuth() {\r\n const context = useContext(GoogleOAuthContext);\r\n if (!context) {\r\n throw new Error('Google OAuth components must be used within GoogleOAuthProvider');\r\n }\r\n return context;\r\n}\n\nfunction extractClientId(credentialResponse) {\r\n var _a;\r\n const clientId = (_a = credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.clientId) !== null && _a !== void 0 ? _a : credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.client_id;\r\n return clientId;\r\n}\n\nconst containerHeightMap = { large: 40, medium: 32, small: 20 };\r\nfunction GoogleLogin({ onSuccess, onError, useOneTap, promptMomentNotification, type = 'standard', theme = 'outline', size = 'large', text, shape, logo_alignment, width, locale, click_listener, containerProps, ...props }) {\r\n const btnContainerRef = useRef(null);\r\n const { clientId, scriptLoadedSuccessfully } = useGoogleOAuth();\r\n const onSuccessRef = useRef(onSuccess);\r\n onSuccessRef.current = onSuccess;\r\n const onErrorRef = useRef(onError);\r\n onErrorRef.current = onError;\r\n const promptMomentNotificationRef = useRef(promptMomentNotification);\r\n promptMomentNotificationRef.current = promptMomentNotification;\r\n useEffect(() => {\r\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\r\n if (!scriptLoadedSuccessfully)\r\n return;\r\n (_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.accounts) === null || _b === void 0 ? void 0 : _b.id) === null || _c === void 0 ? void 0 : _c.initialize({\r\n client_id: clientId,\r\n callback: (credentialResponse) => {\r\n var _a;\r\n if (!(credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.credential)) {\r\n return (_a = onErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onErrorRef);\r\n }\r\n const { credential, select_by } = credentialResponse;\r\n onSuccessRef.current({\r\n credential,\r\n clientId: extractClientId(credentialResponse),\r\n select_by,\r\n });\r\n },\r\n ...props,\r\n });\r\n (_f = (_e = (_d = window === null || window === void 0 ? void 0 : window.google) === null || _d === void 0 ? void 0 : _d.accounts) === null || _e === void 0 ? void 0 : _e.id) === null || _f === void 0 ? void 0 : _f.renderButton(btnContainerRef.current, {\r\n type,\r\n theme,\r\n size,\r\n text,\r\n shape,\r\n logo_alignment,\r\n width,\r\n locale,\r\n click_listener,\r\n });\r\n if (useOneTap)\r\n (_j = (_h = (_g = window === null || window === void 0 ? void 0 : window.google) === null || _g === void 0 ? void 0 : _g.accounts) === null || _h === void 0 ? void 0 : _h.id) === null || _j === void 0 ? void 0 : _j.prompt(promptMomentNotificationRef.current);\r\n return () => {\r\n var _a, _b, _c;\r\n if (useOneTap)\r\n (_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.accounts) === null || _b === void 0 ? void 0 : _b.id) === null || _c === void 0 ? void 0 : _c.cancel();\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [\r\n clientId,\r\n scriptLoadedSuccessfully,\r\n useOneTap,\r\n type,\r\n theme,\r\n size,\r\n text,\r\n shape,\r\n logo_alignment,\r\n width,\r\n locale,\r\n ]);\r\n return (React.createElement(\"div\", { ...containerProps, ref: btnContainerRef, style: { height: containerHeightMap[size], ...containerProps === null || containerProps === void 0 ? void 0 : containerProps.style } }));\r\n}\n\nfunction googleLogout() {\r\n var _a, _b, _c;\r\n (_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.accounts) === null || _b === void 0 ? void 0 : _b.id) === null || _c === void 0 ? void 0 : _c.disableAutoSelect();\r\n}\n\n/* eslint-disable import/export */\r\nfunction useGoogleLogin({ flow = 'implicit', scope = '', onSuccess, onError, onNonOAuthError, overrideScope, state, ...props }) {\r\n const { clientId, scriptLoadedSuccessfully } = useGoogleOAuth();\r\n const clientRef = useRef();\r\n const onSuccessRef = useRef(onSuccess);\r\n onSuccessRef.current = onSuccess;\r\n const onErrorRef = useRef(onError);\r\n onErrorRef.current = onError;\r\n const onNonOAuthErrorRef = useRef(onNonOAuthError);\r\n onNonOAuthErrorRef.current = onNonOAuthError;\r\n useEffect(() => {\r\n var _a;\r\n if (!scriptLoadedSuccessfully)\r\n return;\r\n const clientMethod = flow === 'implicit' ? 'initTokenClient' : 'initCodeClient';\r\n const client = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.accounts.oauth2[clientMethod]({\r\n client_id: clientId,\r\n scope: overrideScope ? scope : `openid profile email ${scope}`,\r\n callback: (response) => {\r\n var _a, _b;\r\n if (response.error)\r\n return (_a = onErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onErrorRef, response);\r\n (_b = onSuccessRef.current) === null || _b === void 0 ? void 0 : _b.call(onSuccessRef, response);\r\n },\r\n error_callback: (nonOAuthError) => {\r\n var _a;\r\n (_a = onNonOAuthErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onNonOAuthErrorRef, nonOAuthError);\r\n },\r\n state,\r\n ...props,\r\n });\r\n clientRef.current = client;\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [clientId, scriptLoadedSuccessfully, flow, scope, state]);\r\n const loginImplicitFlow = useCallback((overrideConfig) => { var _a; return (_a = clientRef.current) === null || _a === void 0 ? void 0 : _a.requestAccessToken(overrideConfig); }, []);\r\n const loginAuthCodeFlow = useCallback(() => { var _a; return (_a = clientRef.current) === null || _a === void 0 ? void 0 : _a.requestCode(); }, []);\r\n return flow === 'implicit' ? loginImplicitFlow : loginAuthCodeFlow;\r\n}\n\nfunction useGoogleOneTapLogin({ onSuccess, onError, promptMomentNotification, cancel_on_tap_outside, prompt_parent_id, state_cookie_domain, hosted_domain, disabled, }) {\r\n const { clientId, scriptLoadedSuccessfully } = useGoogleOAuth();\r\n const onSuccessRef = useRef(onSuccess);\r\n onSuccessRef.current = onSuccess;\r\n const onErrorRef = useRef(onError);\r\n onErrorRef.current = onError;\r\n const promptMomentNotificationRef = useRef(promptMomentNotification);\r\n promptMomentNotificationRef.current = promptMomentNotification;\r\n useEffect(() => {\r\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\r\n if (!scriptLoadedSuccessfully)\r\n return;\r\n if (disabled) {\r\n (_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.accounts) === null || _b === void 0 ? void 0 : _b.id) === null || _c === void 0 ? void 0 : _c.cancel();\r\n return;\r\n }\r\n (_f = (_e = (_d = window === null || window === void 0 ? void 0 : window.google) === null || _d === void 0 ? void 0 : _d.accounts) === null || _e === void 0 ? void 0 : _e.id) === null || _f === void 0 ? void 0 : _f.initialize({\r\n client_id: clientId,\r\n callback: (credentialResponse) => {\r\n var _a;\r\n if (!(credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.credential)) {\r\n return (_a = onErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onErrorRef);\r\n }\r\n const { credential, select_by } = credentialResponse;\r\n onSuccessRef.current({\r\n credential,\r\n clientId: extractClientId(credentialResponse),\r\n select_by,\r\n });\r\n },\r\n hosted_domain,\r\n cancel_on_tap_outside,\r\n prompt_parent_id,\r\n state_cookie_domain,\r\n });\r\n (_j = (_h = (_g = window === null || window === void 0 ? void 0 : window.google) === null || _g === void 0 ? void 0 : _g.accounts) === null || _h === void 0 ? void 0 : _h.id) === null || _j === void 0 ? void 0 : _j.prompt(promptMomentNotificationRef.current);\r\n return () => {\r\n var _a, _b, _c;\r\n (_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.accounts) === null || _b === void 0 ? void 0 : _b.id) === null || _c === void 0 ? void 0 : _c.cancel();\r\n };\r\n }, [\r\n clientId,\r\n scriptLoadedSuccessfully,\r\n cancel_on_tap_outside,\r\n prompt_parent_id,\r\n state_cookie_domain,\r\n hosted_domain,\r\n disabled,\r\n ]);\r\n}\n\n/**\r\n * Checks if the user granted all the specified scope or scopes\r\n * @returns True if all the scopes are granted\r\n */\r\nfunction hasGrantedAllScopesGoogle(tokenResponse, firstScope, ...restScopes) {\r\n var _a, _b, _c;\r\n if (!(window === null || window === void 0 ? void 0 : window.google))\r\n return false;\r\n return (((_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.accounts) === null || _b === void 0 ? void 0 : _b.oauth2) === null || _c === void 0 ? void 0 : _c.hasGrantedAllScopes(tokenResponse, firstScope, ...restScopes)) || false);\r\n}\n\n/**\r\n * Checks if the user granted any of the specified scope or scopes.\r\n * @returns True if any of the scopes are granted\r\n */\r\nfunction hasGrantedAnyScopeGoogle(tokenResponse, firstScope, ...restScopes) {\r\n var _a, _b, _c;\r\n if (!(window === null || window === void 0 ? void 0 : window.google))\r\n return false;\r\n return (((_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.accounts) === null || _b === void 0 ? void 0 : _b.oauth2) === null || _c === void 0 ? void 0 : _c.hasGrantedAnyScope(tokenResponse, firstScope, ...restScopes)) || false);\r\n}\n\nexport { GoogleLogin, GoogleOAuthProvider, googleLogout, hasGrantedAllScopesGoogle, hasGrantedAnyScopeGoogle, useGoogleLogin, useGoogleOneTapLogin };\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/*!\n * Core functionality for Snowplow JavaScript trackers v3.1.6 (http://bit.ly/sp-js)\n * Copyright 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * Licensed under BSD-3-Clause\n */\n\nimport { __spreadArray, __assign } from 'tslib';\nimport { v4 } from 'uuid';\n\nvar version$1 = \"3.1.6\";\n\n/*\n * Copyright (c) 2013 Kevin van Zonneveld (http://kvz.io)\n * and Contributors (http://phpjs.org/authors)\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n * of the Software, and to permit persons to whom the Software is furnished to do\n * so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n/**\n * Encodes a string into a url safe Base 64 encoded string\n * @remarks See: {@link http://tools.ietf.org/html/rfc4648#page-7}\n * @param data - String to encode\n * @returns The url safe Base 64 string\n */\nfunction base64urlencode(data) {\n if (!data) {\n return data;\n }\n var enc = base64encode(data);\n return enc.replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n}\nvar b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n/**\n * Encode string as base64.\n * Any type can be passed, but will be stringified\n *\n * @param data - string to encode\n * @returns base64-encoded string\n */\nfunction base64encode(data) {\n // discuss at: http://phpjs.org/functions/base64_encode/\n // original by: Tyler Akins (http://rumkin.com)\n // improved by: Bayron Guevara\n // improved by: Thunder.m\n // improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // improved by: Rafał Kukawski (http://kukawski.pl)\n // bugfixed by: Pellentesque Malesuada\n // example 1: base64_encode('Kevin van Zonneveld');\n // returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='\n // example 2: base64_encode('a');\n // returns 2: 'YQ=='\n // example 3: base64_encode('✓ à la mode');\n // returns 3: '4pyTIMOgIGxhIG1vZGU='\n var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0;\n var tmp_arr = [];\n if (!data) {\n return data;\n }\n data = unescape(encodeURIComponent(data));\n do {\n // pack three octets into four hexets\n o1 = data.charCodeAt(i++);\n o2 = data.charCodeAt(i++);\n o3 = data.charCodeAt(i++);\n bits = (o1 << 16) | (o2 << 8) | o3;\n h1 = (bits >> 18) & 0x3f;\n h2 = (bits >> 12) & 0x3f;\n h3 = (bits >> 6) & 0x3f;\n h4 = bits & 0x3f;\n // use hexets to index into b64, and append result to encoded string\n tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);\n } while (i < data.length);\n var enc = tmp_arr.join('');\n var r = data.length % 3;\n return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3);\n}\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\nfunction payloadBuilder() {\n var dict = {}, allJson = [], jsonForProcessing = [];\n var processor;\n var add = function (key, value) {\n if (value != null && value !== '') {\n // null also checks undefined\n dict[key] = value;\n }\n };\n var addDict = function (dict) {\n for (var key in dict) {\n if (Object.prototype.hasOwnProperty.call(dict, key)) {\n add(key, dict[key]);\n }\n }\n };\n var addJson = function (keyIfEncoded, keyIfNotEncoded, json) {\n if (json && isNonEmptyJson(json)) {\n var jsonWithKeys = { keyIfEncoded: keyIfEncoded, keyIfNotEncoded: keyIfNotEncoded, json: json };\n jsonForProcessing.push(jsonWithKeys);\n allJson.push(jsonWithKeys);\n }\n };\n return {\n add: add,\n addDict: addDict,\n addJson: addJson,\n getPayload: function () { return dict; },\n getJson: function () { return allJson; },\n withJsonProcessor: function (jsonProcessor) {\n processor = jsonProcessor;\n },\n build: function () {\n processor === null || processor === void 0 ? void 0 : processor(this, jsonForProcessing);\n return dict;\n }\n };\n}\n/**\n * A helper to build a Snowplow request from a set of name-value pairs, provided using the add methods.\n * Will base64 encode JSON, if desired, on build\n *\n * @returns The request builder, with add and build methods\n */\nfunction payloadJsonProcessor(encodeBase64) {\n return function (payloadBuilder, jsonForProcessing) {\n for (var _i = 0, jsonForProcessing_1 = jsonForProcessing; _i < jsonForProcessing_1.length; _i++) {\n var json = jsonForProcessing_1[_i];\n var str = JSON.stringify(json.json);\n if (encodeBase64) {\n payloadBuilder.add(json.keyIfEncoded, base64urlencode(str));\n }\n else {\n payloadBuilder.add(json.keyIfNotEncoded, str);\n }\n }\n jsonForProcessing.length = 0;\n };\n}\n/**\n * Is property a non-empty JSON?\n * @param property - Checks if object is non-empty json\n */\nfunction isNonEmptyJson(property) {\n if (!isJson(property)) {\n return false;\n }\n for (var key in property) {\n if (Object.prototype.hasOwnProperty.call(property, key)) {\n return true;\n }\n }\n return false;\n}\n/**\n * Is property a JSON?\n * @param property - Checks if object is json\n */\nfunction isJson(property) {\n return (typeof property !== 'undefined' &&\n property !== null &&\n (property.constructor === {}.constructor || property.constructor === [].constructor));\n}\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\nvar label = 'Snowplow: ';\nvar LOG_LEVEL;\n(function (LOG_LEVEL) {\n LOG_LEVEL[LOG_LEVEL[\"none\"] = 0] = \"none\";\n LOG_LEVEL[LOG_LEVEL[\"error\"] = 1] = \"error\";\n LOG_LEVEL[LOG_LEVEL[\"warn\"] = 2] = \"warn\";\n LOG_LEVEL[LOG_LEVEL[\"debug\"] = 3] = \"debug\";\n LOG_LEVEL[LOG_LEVEL[\"info\"] = 4] = \"info\";\n})(LOG_LEVEL || (LOG_LEVEL = {}));\nvar LOG = logger();\nfunction logger(logLevel) {\n if (logLevel === void 0) { logLevel = LOG_LEVEL.warn; }\n function setLogLevel(level) {\n if (LOG_LEVEL[level]) {\n logLevel = level;\n }\n else {\n logLevel = LOG_LEVEL.warn;\n }\n }\n /**\n * Log errors, with or without error object\n */\n function error(message, error) {\n var extraParams = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n extraParams[_i - 2] = arguments[_i];\n }\n if (logLevel >= LOG_LEVEL.error && typeof console !== 'undefined') {\n var logMsg = label + message + '\\n';\n if (error) {\n console.error.apply(console, __spreadArray([logMsg + '\\n', error], extraParams));\n }\n else {\n console.error.apply(console, __spreadArray([logMsg], extraParams));\n }\n }\n }\n /**\n * Log warnings, with or without error object\n */\n function warn(message, error) {\n var extraParams = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n extraParams[_i - 2] = arguments[_i];\n }\n if (logLevel >= LOG_LEVEL.warn && typeof console !== 'undefined') {\n var logMsg = label + message;\n if (error) {\n console.warn.apply(console, __spreadArray([logMsg + '\\n', error], extraParams));\n }\n else {\n console.warn.apply(console, __spreadArray([logMsg], extraParams));\n }\n }\n }\n /**\n * Log debug messages\n */\n function debug(message) {\n var extraParams = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n extraParams[_i - 1] = arguments[_i];\n }\n if (logLevel >= LOG_LEVEL.debug && typeof console !== 'undefined') {\n console.debug.apply(console, __spreadArray([label + message], extraParams));\n }\n }\n /**\n * Log info messages\n */\n function info(message) {\n var extraParams = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n extraParams[_i - 1] = arguments[_i];\n }\n if (logLevel >= LOG_LEVEL.info && typeof console !== 'undefined') {\n console.info.apply(console, __spreadArray([label + message], extraParams));\n }\n }\n return { setLogLevel: setLogLevel, warn: warn, error: error, debug: debug, info: info };\n}\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n/**\n * Contains helper functions to aid in the addition and removal of Global Contexts\n */\nfunction globalContexts() {\n var globalPrimitives = [];\n var conditionalProviders = [];\n /**\n * Returns all applicable global contexts for a specified event\n * @param event - The event to check for applicable global contexts for\n * @returns An array of contexts\n */\n var assembleAllContexts = function (event) {\n var eventSchema = getUsefulSchema(event);\n var eventType = getEventType(event);\n var contexts = [];\n var generatedPrimitives = generatePrimitives(globalPrimitives, event, eventType, eventSchema);\n contexts.push.apply(contexts, generatedPrimitives);\n var generatedConditionals = generateConditionals(conditionalProviders, event, eventType, eventSchema);\n contexts.push.apply(contexts, generatedConditionals);\n return contexts;\n };\n return {\n getGlobalPrimitives: function () {\n return globalPrimitives;\n },\n getConditionalProviders: function () {\n return conditionalProviders;\n },\n addGlobalContexts: function (contexts) {\n var acceptedConditionalContexts = [];\n var acceptedContextPrimitives = [];\n for (var _i = 0, contexts_1 = contexts; _i < contexts_1.length; _i++) {\n var context = contexts_1[_i];\n if (isConditionalContextProvider(context)) {\n acceptedConditionalContexts.push(context);\n }\n else if (isContextPrimitive(context)) {\n acceptedContextPrimitives.push(context);\n }\n }\n globalPrimitives = globalPrimitives.concat(acceptedContextPrimitives);\n conditionalProviders = conditionalProviders.concat(acceptedConditionalContexts);\n },\n clearGlobalContexts: function () {\n conditionalProviders = [];\n globalPrimitives = [];\n },\n removeGlobalContexts: function (contexts) {\n var _loop_1 = function (context) {\n if (isConditionalContextProvider(context)) {\n conditionalProviders = conditionalProviders.filter(function (item) { return JSON.stringify(item) !== JSON.stringify(context); });\n }\n else if (isContextPrimitive(context)) {\n globalPrimitives = globalPrimitives.filter(function (item) { return JSON.stringify(item) !== JSON.stringify(context); });\n }\n };\n for (var _i = 0, contexts_2 = contexts; _i < contexts_2.length; _i++) {\n var context = contexts_2[_i];\n _loop_1(context);\n }\n },\n getApplicableContexts: function (event) {\n return assembleAllContexts(event);\n }\n };\n}\nfunction pluginContexts(plugins) {\n /**\n * Add common contexts to every event\n *\n * @param array - additionalContexts List of user-defined contexts\n * @returns userContexts combined with commonContexts\n */\n return {\n addPluginContexts: function (additionalContexts) {\n var combinedContexts = additionalContexts !== null && additionalContexts !== void 0 ? additionalContexts : [];\n plugins.forEach(function (plugin) {\n try {\n if (plugin.contexts) {\n combinedContexts.push.apply(combinedContexts, plugin.contexts());\n }\n }\n catch (ex) {\n LOG.error('Error adding plugin contexts', ex);\n }\n });\n return combinedContexts;\n }\n };\n}\n/**\n * Find dynamic context generating functions and return their results to be merged into the static contexts\n * Combine an array of unchanging contexts with the result of a context-creating function\n *\n * @param dynamicOrStaticContexts - Array of custom context Objects or custom context generating functions\n * @param Parameters - to pass to dynamic context callbacks\n * @returns An array of Self Describing JSON context\n */\nfunction resolveDynamicContext(dynamicOrStaticContexts) {\n var _a;\n var extraParams = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n extraParams[_i - 1] = arguments[_i];\n }\n return ((_a = dynamicOrStaticContexts === null || dynamicOrStaticContexts === void 0 ? void 0 : dynamicOrStaticContexts.map(function (context) {\n if (typeof context === 'function') {\n try {\n return context.apply(void 0, extraParams);\n }\n catch (e) {\n //TODO: provide warning\n return undefined;\n }\n }\n else {\n return context;\n }\n }).filter(Boolean)) !== null && _a !== void 0 ? _a : []);\n}\n/**\n * Slices a schema into its composite parts. Useful for ruleset filtering.\n * @param input - A schema string\n * @returns The vendor, schema name, major, minor and patch information of a schema string\n */\nfunction getSchemaParts(input) {\n var re = new RegExp('^iglu:([a-zA-Z0-9-_.]+)/([a-zA-Z0-9-_]+)/jsonschema/([1-9][0-9]*)-(0|[1-9][0-9]*)-(0|[1-9][0-9]*)$');\n var matches = re.exec(input);\n if (matches !== null)\n return matches.slice(1, 6);\n return undefined;\n}\n/**\n * Validates the vendor section of a schema string contains allowed wildcard values\n * @param parts - Array of parts from a schema string\n * @returns Whether the vendor validation parts are a valid combination\n */\nfunction validateVendorParts(parts) {\n if (parts[0] === '*' || parts[1] === '*') {\n return false; // no wildcard in first or second part\n }\n if (parts.slice(2).length > 0) {\n var asterisk = false;\n for (var _i = 0, _a = parts.slice(2); _i < _a.length; _i++) {\n var part = _a[_i];\n if (part === '*')\n // mark when we've found a wildcard\n asterisk = true;\n else if (asterisk)\n // invalid if alpha parts come after wildcard\n return false;\n }\n return true;\n }\n else if (parts.length == 2)\n return true;\n return false;\n}\n/**\n * Validates the vendor part of a schema string is valid for a rule set\n * @param input - Vendor part of a schema string\n * @returns Whether the vendor validation string is valid\n */\nfunction validateVendor(input) {\n var parts = input.split('.');\n if (parts && parts.length > 1)\n return validateVendorParts(parts);\n return false;\n}\n/**\n * Checks for validity of input and returns all the sections of a schema string that are used to match rules in a ruleset\n * @param input - A Schema string\n * @returns The sections of a schema string that are used to match rules in a ruleset\n */\nfunction getRuleParts(input) {\n var re = new RegExp('^iglu:((?:(?:[a-zA-Z0-9-_]+|\\\\*).)+(?:[a-zA-Z0-9-_]+|\\\\*))/([a-zA-Z0-9-_.]+|\\\\*)/jsonschema/([1-9][0-9]*|\\\\*)-(0|[1-9][0-9]*|\\\\*)-(0|[1-9][0-9]*|\\\\*)$');\n var matches = re.exec(input);\n if (matches !== null && validateVendor(matches[1]))\n return matches.slice(1, 6);\n return undefined;\n}\n/**\n * Ensures the rules specified in a schema string of a ruleset are valid\n * @param input - A Schema string\n * @returns if there rule is valid\n */\nfunction isValidRule(input) {\n var ruleParts = getRuleParts(input);\n if (ruleParts) {\n var vendor = ruleParts[0];\n return ruleParts.length === 5 && validateVendor(vendor);\n }\n return false;\n}\n/**\n * Check if a variable is an Array containing only strings\n * @param input - The variable to validate\n * @returns True if the input is an array containing only strings\n */\nfunction isStringArray(input) {\n return (Array.isArray(input) &&\n input.every(function (x) {\n return typeof x === 'string';\n }));\n}\n/**\n * Validates whether a rule set is an array of valid ruleset strings\n * @param input - The Array of rule set arguments\n * @returns True is the input is an array of valid rules\n */\nfunction isValidRuleSetArg(input) {\n if (isStringArray(input))\n return input.every(function (x) {\n return isValidRule(x);\n });\n else if (typeof input === 'string')\n return isValidRule(input);\n return false;\n}\n/**\n * Check if a variable is a valid, non-empty Self Describing JSON\n * @param input - The variable to validate\n * @returns True if a valid Self Describing JSON\n */\nfunction isSelfDescribingJson(input) {\n var sdj = input;\n if (isNonEmptyJson(sdj))\n if ('schema' in sdj && 'data' in sdj)\n return typeof sdj.schema === 'string' && typeof sdj.data === 'object';\n return false;\n}\n/**\n * Validates if the input object contains the expected properties of a ruleset\n * @param input - The object containing a rule set\n * @returns True if a valid rule set\n */\nfunction isRuleSet(input) {\n var ruleSet = input;\n var ruleCount = 0;\n if (input != null && typeof input === 'object' && !Array.isArray(input)) {\n if (Object.prototype.hasOwnProperty.call(ruleSet, 'accept')) {\n if (isValidRuleSetArg(ruleSet['accept'])) {\n ruleCount += 1;\n }\n else {\n return false;\n }\n }\n if (Object.prototype.hasOwnProperty.call(ruleSet, 'reject')) {\n if (isValidRuleSetArg(ruleSet['reject'])) {\n ruleCount += 1;\n }\n else {\n return false;\n }\n }\n // if either 'reject' or 'accept' or both exists,\n // we have a valid ruleset\n return ruleCount > 0 && ruleCount <= 2;\n }\n return false;\n}\n/**\n * Validates if the function can be a valid context generator function\n * @param input - The function to be validated\n */\nfunction isContextCallbackFunction(input) {\n return typeof input === 'function' && input.length <= 1;\n}\n/**\n * Validates if the function can be a valid context primitive function or self describing json\n * @param input - The function or orbject to be validated\n * @returns True if either a Context Generator or Self Describing JSON\n */\nfunction isContextPrimitive(input) {\n return isContextCallbackFunction(input) || isSelfDescribingJson(input);\n}\n/**\n * Validates if an array is a valid shape to be a Filter Provider\n * @param input - The Array of Context filter callbacks\n */\nfunction isFilterProvider(input) {\n if (Array.isArray(input)) {\n if (input.length === 2) {\n if (Array.isArray(input[1])) {\n return isContextCallbackFunction(input[0]) && input[1].every(isContextPrimitive);\n }\n return isContextCallbackFunction(input[0]) && isContextPrimitive(input[1]);\n }\n }\n return false;\n}\n/**\n * Validates if an array is a valid shape to be an array of rule sets\n * @param input - The Array of Rule Sets\n */\nfunction isRuleSetProvider(input) {\n if (Array.isArray(input) && input.length === 2) {\n if (!isRuleSet(input[0]))\n return false;\n if (Array.isArray(input[1]))\n return input[1].every(isContextPrimitive);\n return isContextPrimitive(input[1]);\n }\n return false;\n}\n/**\n * Checks if an input array is either a filter provider or a rule set provider\n * @param input - An array of filter providers or rule set providers\n * @returns Whether the array is a valid {@link ConditionalContextProvider}\n */\nfunction isConditionalContextProvider(input) {\n return isFilterProvider(input) || isRuleSetProvider(input);\n}\n/**\n * Checks if a given schema matches any rules within the provided rule set\n * @param ruleSet - The rule set containing rules to match schema against\n * @param schema - The schema to be matched against the rule set\n */\nfunction matchSchemaAgainstRuleSet(ruleSet, schema) {\n var rejectCount = 0;\n var acceptCount = 0;\n var acceptRules = ruleSet['accept'];\n if (Array.isArray(acceptRules)) {\n if (ruleSet.accept.some(function (rule) { return matchSchemaAgainstRule(rule, schema); })) {\n acceptCount++;\n }\n }\n else if (typeof acceptRules === 'string') {\n if (matchSchemaAgainstRule(acceptRules, schema)) {\n acceptCount++;\n }\n }\n var rejectRules = ruleSet['reject'];\n if (Array.isArray(rejectRules)) {\n if (ruleSet.reject.some(function (rule) { return matchSchemaAgainstRule(rule, schema); })) {\n rejectCount++;\n }\n }\n else if (typeof rejectRules === 'string') {\n if (matchSchemaAgainstRule(rejectRules, schema)) {\n rejectCount++;\n }\n }\n if (acceptCount > 0 && rejectCount === 0) {\n return true;\n }\n else if (acceptCount === 0 && rejectCount > 0) {\n return false;\n }\n return false;\n}\n/**\n * Checks if a given schema matches a specific rule from a rule set\n * @param rule - The rule to match schema against\n * @param schema - The schema to be matched against the rule\n */\nfunction matchSchemaAgainstRule(rule, schema) {\n if (!isValidRule(rule))\n return false;\n var ruleParts = getRuleParts(rule);\n var schemaParts = getSchemaParts(schema);\n if (ruleParts && schemaParts) {\n if (!matchVendor(ruleParts[0], schemaParts[0]))\n return false;\n for (var i = 1; i < 5; i++) {\n if (!matchPart(ruleParts[i], schemaParts[i]))\n return false;\n }\n return true; // if it hasn't failed, it passes\n }\n return false;\n}\nfunction matchVendor(rule, vendor) {\n // rule and vendor must have same number of elements\n var vendorParts = vendor.split('.');\n var ruleParts = rule.split('.');\n if (vendorParts && ruleParts) {\n if (vendorParts.length !== ruleParts.length)\n return false;\n for (var i = 0; i < ruleParts.length; i++) {\n if (!matchPart(vendorParts[i], ruleParts[i]))\n return false;\n }\n return true;\n }\n return false;\n}\nfunction matchPart(rule, schema) {\n // parts should be the string nested between slashes in the URI: /example/\n return (rule && schema && rule === '*') || rule === schema;\n}\n// Returns the \"useful\" schema, i.e. what would someone want to use to identify events.\n// For some events this is the 'e' property but for unstructured events, this is the\n// 'schema' from the 'ue_px' field.\nfunction getUsefulSchema(sb) {\n var eventJson = sb.getJson();\n for (var _i = 0, eventJson_1 = eventJson; _i < eventJson_1.length; _i++) {\n var json = eventJson_1[_i];\n if (json.keyIfEncoded === 'ue_px' && typeof json.json['data'] === 'object') {\n var schema = json.json['data']['schema'];\n if (typeof schema == 'string') {\n return schema;\n }\n }\n }\n return '';\n}\nfunction getEventType(payloadBuilder) {\n var eventType = payloadBuilder.getPayload()['e'];\n return typeof eventType === 'string' ? eventType : '';\n}\nfunction buildGenerator(generator, event, eventType, eventSchema) {\n var contextGeneratorResult = undefined;\n try {\n // try to evaluate context generator\n var args = {\n event: event.getPayload(),\n eventType: eventType,\n eventSchema: eventSchema\n };\n contextGeneratorResult = generator(args);\n // determine if the produced result is a valid SDJ\n if (Array.isArray(contextGeneratorResult) && contextGeneratorResult.every(isSelfDescribingJson)) {\n return contextGeneratorResult;\n }\n else if (isSelfDescribingJson(contextGeneratorResult)) {\n return contextGeneratorResult;\n }\n else {\n return undefined;\n }\n }\n catch (error) {\n contextGeneratorResult = undefined;\n }\n return contextGeneratorResult;\n}\nfunction normalizeToArray(input) {\n if (Array.isArray(input)) {\n return input;\n }\n return Array.of(input);\n}\nfunction generatePrimitives(contextPrimitives, event, eventType, eventSchema) {\n var _a;\n var normalizedInputs = normalizeToArray(contextPrimitives);\n var partialEvaluate = function (primitive) {\n var result = evaluatePrimitive(primitive, event, eventType, eventSchema);\n if (result && result.length !== 0) {\n return result;\n }\n return undefined;\n };\n var generatedContexts = normalizedInputs.map(partialEvaluate);\n return (_a = []).concat.apply(_a, generatedContexts.filter(function (c) { return c != null && c.filter(Boolean); }));\n}\nfunction evaluatePrimitive(contextPrimitive, event, eventType, eventSchema) {\n if (isSelfDescribingJson(contextPrimitive)) {\n return [contextPrimitive];\n }\n else if (isContextCallbackFunction(contextPrimitive)) {\n var generatorOutput = buildGenerator(contextPrimitive, event, eventType, eventSchema);\n if (isSelfDescribingJson(generatorOutput)) {\n return [generatorOutput];\n }\n else if (Array.isArray(generatorOutput)) {\n return generatorOutput;\n }\n }\n return undefined;\n}\nfunction evaluateProvider(provider, event, eventType, eventSchema) {\n if (isFilterProvider(provider)) {\n var filter = provider[0];\n var filterResult = false;\n try {\n var args = {\n event: event.getPayload(),\n eventType: eventType,\n eventSchema: eventSchema\n };\n filterResult = filter(args);\n }\n catch (error) {\n filterResult = false;\n }\n if (filterResult === true) {\n return generatePrimitives(provider[1], event, eventType, eventSchema);\n }\n }\n else if (isRuleSetProvider(provider)) {\n if (matchSchemaAgainstRuleSet(provider[0], eventSchema)) {\n return generatePrimitives(provider[1], event, eventType, eventSchema);\n }\n }\n return [];\n}\nfunction generateConditionals(providers, event, eventType, eventSchema) {\n var _a;\n var normalizedInput = normalizeToArray(providers);\n var partialEvaluate = function (provider) {\n var result = evaluateProvider(provider, event, eventType, eventSchema);\n if (result && result.length !== 0) {\n return result;\n }\n return undefined;\n };\n var generatedContexts = normalizedInput.map(partialEvaluate);\n return (_a = []).concat.apply(_a, generatedContexts.filter(function (c) { return c != null && c.filter(Boolean); }));\n}\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n/**\n * Transform optional/old-behavior number timestamp into`Timestamp` ADT\n *\n * @param timestamp - optional number or timestamp object\n * @returns correct timestamp object\n */\nfunction getTimestamp(timestamp) {\n if (timestamp == null) {\n return { type: 'dtm', value: new Date().getTime() };\n }\n else if (typeof timestamp === 'number') {\n return { type: 'dtm', value: timestamp };\n }\n else if (timestamp.type === 'ttm') {\n // We can return timestamp here, but this is safer fallback\n return { type: 'ttm', value: timestamp.value };\n }\n else {\n return { type: 'dtm', value: timestamp.value || new Date().getTime() };\n }\n}\n/**\n * Create a tracker core object\n *\n * @param base64 - Whether to base 64 encode contexts and self describing event JSONs\n * @param corePlugins - The core plugins to be processed with each event\n * @param callback - Function applied to every payload dictionary object\n * @returns Tracker core\n */\nfunction trackerCore(configuration) {\n if (configuration === void 0) { configuration = {}; }\n function newCore(base64, corePlugins, callback) {\n var pluginContextsHelper = pluginContexts(corePlugins), globalContextsHelper = globalContexts();\n var encodeBase64 = base64, payloadPairs = {}; // Dictionary of key-value pairs which get added to every payload, e.g. tracker version\n /**\n * Wraps an array of custom contexts in a self-describing JSON\n *\n * @param contexts - Array of custom context self-describing JSONs\n * @returns Outer JSON\n */\n function completeContexts(contexts) {\n if (contexts && contexts.length) {\n return {\n schema: 'iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0',\n data: contexts\n };\n }\n return undefined;\n }\n /**\n * Adds all global contexts to a contexts array\n *\n * @param pb - PayloadData\n * @param contexts - Custom contexts relating to the event\n */\n function attachGlobalContexts(pb, contexts) {\n var applicableContexts = globalContextsHelper.getApplicableContexts(pb);\n var returnedContexts = [];\n if (contexts && contexts.length) {\n returnedContexts.push.apply(returnedContexts, contexts);\n }\n if (applicableContexts && applicableContexts.length) {\n returnedContexts.push.apply(returnedContexts, applicableContexts);\n }\n return returnedContexts;\n }\n /**\n * Gets called by every trackXXX method\n * Adds context and payloadPairs name-value pairs to the payload\n * Applies the callback to the built payload\n *\n * @param pb - Payload\n * @param context - Custom contexts relating to the event\n * @param timestamp - Timestamp of the event\n * @returns Payload after the callback is applied\n */\n function track(pb, context, timestamp) {\n pb.withJsonProcessor(payloadJsonProcessor(encodeBase64));\n pb.add('eid', v4());\n pb.addDict(payloadPairs);\n var tstamp = getTimestamp(timestamp);\n pb.add(tstamp.type, tstamp.value.toString());\n var allContexts = attachGlobalContexts(pb, pluginContextsHelper.addPluginContexts(context));\n var wrappedContexts = completeContexts(allContexts);\n if (wrappedContexts !== undefined) {\n pb.addJson('cx', 'co', wrappedContexts);\n }\n corePlugins.forEach(function (plugin) {\n try {\n if (plugin.beforeTrack) {\n plugin.beforeTrack(pb);\n }\n }\n catch (ex) {\n LOG.error('Plugin beforeTrack', ex);\n }\n });\n if (typeof callback === 'function') {\n callback(pb);\n }\n var finalPayload = pb.build();\n corePlugins.forEach(function (plugin) {\n try {\n if (plugin.afterTrack) {\n plugin.afterTrack(finalPayload);\n }\n }\n catch (ex) {\n LOG.error('Plugin afterTrack', ex);\n }\n });\n return finalPayload;\n }\n /**\n * Set a persistent key-value pair to be added to every payload\n *\n * @param key - Field name\n * @param value - Field value\n */\n function addPayloadPair(key, value) {\n payloadPairs[key] = value;\n }\n var core = {\n track: track,\n addPayloadPair: addPayloadPair,\n getBase64Encoding: function () {\n return encodeBase64;\n },\n setBase64Encoding: function (encode) {\n encodeBase64 = encode;\n },\n addPayloadDict: function (dict) {\n for (var key in dict) {\n if (Object.prototype.hasOwnProperty.call(dict, key)) {\n payloadPairs[key] = dict[key];\n }\n }\n },\n resetPayloadPairs: function (dict) {\n payloadPairs = isJson(dict) ? dict : {};\n },\n setTrackerVersion: function (version) {\n addPayloadPair('tv', version);\n },\n setTrackerNamespace: function (name) {\n addPayloadPair('tna', name);\n },\n setAppId: function (appId) {\n addPayloadPair('aid', appId);\n },\n setPlatform: function (value) {\n addPayloadPair('p', value);\n },\n setUserId: function (userId) {\n addPayloadPair('uid', userId);\n },\n setScreenResolution: function (width, height) {\n addPayloadPair('res', width + 'x' + height);\n },\n setViewport: function (width, height) {\n addPayloadPair('vp', width + 'x' + height);\n },\n setColorDepth: function (depth) {\n addPayloadPair('cd', depth);\n },\n setTimezone: function (timezone) {\n addPayloadPair('tz', timezone);\n },\n setLang: function (lang) {\n addPayloadPair('lang', lang);\n },\n setIpAddress: function (ip) {\n addPayloadPair('ip', ip);\n },\n setUseragent: function (useragent) {\n addPayloadPair('ua', useragent);\n },\n addGlobalContexts: function (contexts) {\n globalContextsHelper.addGlobalContexts(contexts);\n },\n clearGlobalContexts: function () {\n globalContextsHelper.clearGlobalContexts();\n },\n removeGlobalContexts: function (contexts) {\n globalContextsHelper.removeGlobalContexts(contexts);\n }\n };\n return core;\n }\n var base64 = configuration.base64, corePlugins = configuration.corePlugins, callback = configuration.callback, plugins = corePlugins !== null && corePlugins !== void 0 ? corePlugins : [], partialCore = newCore(base64 !== null && base64 !== void 0 ? base64 : true, plugins, callback), core = __assign(__assign({}, partialCore), { addPlugin: function (configuration) {\n var _a, _b;\n var plugin = configuration.plugin;\n plugins.push(plugin);\n (_a = plugin.logger) === null || _a === void 0 ? void 0 : _a.call(plugin, LOG);\n (_b = plugin.activateCorePlugin) === null || _b === void 0 ? void 0 : _b.call(plugin, core);\n } });\n plugins === null || plugins === void 0 ? void 0 : plugins.forEach(function (plugin) {\n var _a, _b;\n (_a = plugin.logger) === null || _a === void 0 ? void 0 : _a.call(plugin, LOG);\n (_b = plugin.activateCorePlugin) === null || _b === void 0 ? void 0 : _b.call(plugin, core);\n });\n return core;\n}\n/**\n * Build a self-describing event\n * A custom event type, allowing for an event to be tracked using your own custom schema\n * and a data object which conforms to the supplied schema\n *\n * @param event - Contains the properties and schema location for the event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildSelfDescribingEvent(event) {\n var _a = event.event, schema = _a.schema, data = _a.data, pb = payloadBuilder();\n var ueJson = {\n schema: 'iglu:com.snowplowanalytics.snowplow/unstruct_event/jsonschema/1-0-0',\n data: { schema: schema, data: data }\n };\n pb.add('e', 'ue');\n pb.addJson('ue_px', 'ue_pr', ueJson);\n return pb;\n}\n/**\n * Build a Page View Event\n * Represents a Page View, which is typically fired as soon as possible when a web page\n * is loaded within the users browser. Often also fired on \"virtual page views\" within\n * Single Page Applications (SPA).\n *\n * @param event - Contains the properties for the Page View event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildPageView(event) {\n var pageUrl = event.pageUrl, pageTitle = event.pageTitle, referrer = event.referrer, pb = payloadBuilder();\n pb.add('e', 'pv'); // 'pv' for Page View\n pb.add('url', pageUrl);\n pb.add('page', pageTitle);\n pb.add('refr', referrer);\n return pb;\n}\n/**\n * Build a Page Ping Event\n * Fires when activity tracking is enabled in the browser.\n * Tracks same information as the last tracked Page View and includes scroll\n * information from the current page view\n *\n * @param event - Contains the properties for the Page Ping event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildPagePing(event) {\n var pageUrl = event.pageUrl, pageTitle = event.pageTitle, referrer = event.referrer, minXOffset = event.minXOffset, maxXOffset = event.maxXOffset, minYOffset = event.minYOffset, maxYOffset = event.maxYOffset, pb = payloadBuilder();\n pb.add('e', 'pp'); // 'pp' for Page Ping\n pb.add('url', pageUrl);\n pb.add('page', pageTitle);\n pb.add('refr', referrer);\n if (minXOffset && !isNaN(Number(minXOffset)))\n pb.add('pp_mix', minXOffset.toString());\n if (maxXOffset && !isNaN(Number(maxXOffset)))\n pb.add('pp_max', maxXOffset.toString());\n if (minYOffset && !isNaN(Number(minYOffset)))\n pb.add('pp_miy', minYOffset.toString());\n if (maxYOffset && !isNaN(Number(maxYOffset)))\n pb.add('pp_may', maxYOffset.toString());\n return pb;\n}\n/**\n * Build a Structured Event\n * A classic style of event tracking, allows for easier movement between analytics\n * systems. A loosely typed event, creating a Self Describing event is preferred, but\n * useful for interoperability.\n *\n * @param event - Contains the properties for the Structured event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildStructEvent(event) {\n var category = event.category, action = event.action, label = event.label, property = event.property, value = event.value, pb = payloadBuilder();\n pb.add('e', 'se'); // 'se' for Structured Event\n pb.add('se_ca', category);\n pb.add('se_ac', action);\n pb.add('se_la', label);\n pb.add('se_pr', property);\n pb.add('se_va', value == null ? undefined : value.toString());\n return pb;\n}\n/**\n * Build an Ecommerce Transaction Event\n * Allows for tracking common ecommerce events, this event is usually used when\n * a consumer completes a transaction.\n *\n * @param event - Contains the properties for the Ecommerce Transactoion event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildEcommerceTransaction(event) {\n var orderId = event.orderId, total = event.total, affiliation = event.affiliation, tax = event.tax, shipping = event.shipping, city = event.city, state = event.state, country = event.country, currency = event.currency, pb = payloadBuilder();\n pb.add('e', 'tr'); // 'tr' for Transaction\n pb.add('tr_id', orderId);\n pb.add('tr_af', affiliation);\n pb.add('tr_tt', total);\n pb.add('tr_tx', tax);\n pb.add('tr_sh', shipping);\n pb.add('tr_ci', city);\n pb.add('tr_st', state);\n pb.add('tr_co', country);\n pb.add('tr_cu', currency);\n return pb;\n}\n/**\n * Build an Ecommerce Transaction Item Event\n * Related to the {@link buildEcommerceTransaction}\n * Each Ecommerce Transaction may contain one or more EcommerceTransactionItem events\n *\n * @param event - Contains the properties for the Ecommerce Transaction Item event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildEcommerceTransactionItem(event) {\n var orderId = event.orderId, sku = event.sku, price = event.price, name = event.name, category = event.category, quantity = event.quantity, currency = event.currency, pb = payloadBuilder();\n pb.add('e', 'ti'); // 'tr' for Transaction Item\n pb.add('ti_id', orderId);\n pb.add('ti_sk', sku);\n pb.add('ti_nm', name);\n pb.add('ti_ca', category);\n pb.add('ti_pr', price);\n pb.add('ti_qu', quantity);\n pb.add('ti_cu', currency);\n return pb;\n}\n/**\n * Build a Scren View Event\n * Similar to a Page View but less focused on typical web properties\n * Often used for mobile applications as the user is presented with\n * new views as they performance navigation events\n *\n * @param event - Contains the properties for the Screen View event. One or more properties must be included.\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildScreenView(event) {\n var name = event.name, id = event.id;\n return buildSelfDescribingEvent({\n event: {\n schema: 'iglu:com.snowplowanalytics.snowplow/screen_view/jsonschema/1-0-0',\n data: removeEmptyProperties({ name: name, id: id })\n }\n });\n}\n/**\n * Build a Link Click Event\n * Used when a user clicks on a link on a webpage, typically an anchor tag \n *\n * @param event - Contains the properties for the Link Click event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildLinkClick(event) {\n var targetUrl = event.targetUrl, elementId = event.elementId, elementClasses = event.elementClasses, elementTarget = event.elementTarget, elementContent = event.elementContent;\n var eventJson = {\n schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1',\n data: removeEmptyProperties({ targetUrl: targetUrl, elementId: elementId, elementClasses: elementClasses, elementTarget: elementTarget, elementContent: elementContent })\n };\n return buildSelfDescribingEvent({ event: eventJson });\n}\n/**\n * Build a Ad Impression Event\n * Used to track an advertisement impression\n *\n * @remarks\n * If you provide the cost field, you must also provide one of 'cpa', 'cpc', and 'cpm' for the costModel field.\n *\n * @param event - Contains the properties for the Ad Impression event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildAdImpression(event) {\n var impressionId = event.impressionId, costModel = event.costModel, cost = event.cost, targetUrl = event.targetUrl, bannerId = event.bannerId, zoneId = event.zoneId, advertiserId = event.advertiserId, campaignId = event.campaignId;\n var eventJson = {\n schema: 'iglu:com.snowplowanalytics.snowplow/ad_impression/jsonschema/1-0-0',\n data: removeEmptyProperties({\n impressionId: impressionId,\n costModel: costModel,\n cost: cost,\n targetUrl: targetUrl,\n bannerId: bannerId,\n zoneId: zoneId,\n advertiserId: advertiserId,\n campaignId: campaignId\n })\n };\n return buildSelfDescribingEvent({ event: eventJson });\n}\n/**\n * Build a Ad Click Event\n * Used to track an advertisement click\n *\n * @remarks\n * If you provide the cost field, you must also provide one of 'cpa', 'cpc', and 'cpm' for the costModel field.\n *\n * @param event - Contains the properties for the Ad Click event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildAdClick(event) {\n var targetUrl = event.targetUrl, clickId = event.clickId, costModel = event.costModel, cost = event.cost, bannerId = event.bannerId, zoneId = event.zoneId, impressionId = event.impressionId, advertiserId = event.advertiserId, campaignId = event.campaignId;\n var eventJson = {\n schema: 'iglu:com.snowplowanalytics.snowplow/ad_click/jsonschema/1-0-0',\n data: removeEmptyProperties({\n targetUrl: targetUrl,\n clickId: clickId,\n costModel: costModel,\n cost: cost,\n bannerId: bannerId,\n zoneId: zoneId,\n impressionId: impressionId,\n advertiserId: advertiserId,\n campaignId: campaignId\n })\n };\n return buildSelfDescribingEvent({ event: eventJson });\n}\n/**\n * Build a Ad Conversion Event\n * Used to track an advertisement click\n *\n * @remarks\n * If you provide the cost field, you must also provide one of 'cpa', 'cpc', and 'cpm' for the costModel field.\n *\n * @param event - Contains the properties for the Ad Conversion event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildAdConversion(event) {\n var conversionId = event.conversionId, costModel = event.costModel, cost = event.cost, category = event.category, action = event.action, property = event.property, initialValue = event.initialValue, advertiserId = event.advertiserId, campaignId = event.campaignId;\n var eventJson = {\n schema: 'iglu:com.snowplowanalytics.snowplow/ad_conversion/jsonschema/1-0-0',\n data: removeEmptyProperties({\n conversionId: conversionId,\n costModel: costModel,\n cost: cost,\n category: category,\n action: action,\n property: property,\n initialValue: initialValue,\n advertiserId: advertiserId,\n campaignId: campaignId\n })\n };\n return buildSelfDescribingEvent({ event: eventJson });\n}\n/**\n * Build a Social Interaction Event\n * Social tracking will be used to track the way users interact\n * with Facebook, Twitter and Google + widgets\n * e.g. to capture “like this” or “tweet this” events.\n *\n * @param event - Contains the properties for the Social Interaction event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildSocialInteraction(event) {\n var action = event.action, network = event.network, target = event.target;\n var eventJson = {\n schema: 'iglu:com.snowplowanalytics.snowplow/social_interaction/jsonschema/1-0-0',\n data: removeEmptyProperties({ action: action, network: network, target: target })\n };\n return buildSelfDescribingEvent({ event: eventJson });\n}\n/**\n * Build a Add To Cart Event\n * For tracking users adding items from a cart\n * on an ecommerce site.\n *\n * @param event - Contains the properties for the Add To Cart event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildAddToCart(event) {\n var sku = event.sku, quantity = event.quantity, name = event.name, category = event.category, unitPrice = event.unitPrice, currency = event.currency;\n return buildSelfDescribingEvent({\n event: {\n schema: 'iglu:com.snowplowanalytics.snowplow/add_to_cart/jsonschema/1-0-0',\n data: removeEmptyProperties({\n sku: sku,\n quantity: quantity,\n name: name,\n category: category,\n unitPrice: unitPrice,\n currency: currency\n })\n }\n });\n}\n/**\n * Build a Remove From Cart Event\n * For tracking users removing items from a cart\n * on an ecommerce site.\n *\n * @param event - Contains the properties for the Remove From Cart event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildRemoveFromCart(event) {\n var sku = event.sku, quantity = event.quantity, name = event.name, category = event.category, unitPrice = event.unitPrice, currency = event.currency;\n return buildSelfDescribingEvent({\n event: {\n schema: 'iglu:com.snowplowanalytics.snowplow/remove_from_cart/jsonschema/1-0-0',\n data: removeEmptyProperties({\n sku: sku,\n quantity: quantity,\n name: name,\n category: category,\n unitPrice: unitPrice,\n currency: currency\n })\n }\n });\n}\n/**\n * Build a Form Focus or Change Form Event based on schema property\n * When a user focuses on a form element or when a user makes a\n * change to a form element.\n *\n * @param event - Contains the properties for the Form Focus or Change Form event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildFormFocusOrChange(event) {\n var event_schema = '';\n var schema = event.schema, formId = event.formId, elementId = event.elementId, nodeName = event.nodeName, elementClasses = event.elementClasses, value = event.value, type = event.type;\n var event_data = { formId: formId, elementId: elementId, nodeName: nodeName, elementClasses: elementClasses, value: value };\n if (schema === 'change_form') {\n event_schema = 'iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0';\n event_data.type = type;\n }\n else if (schema === 'focus_form') {\n event_schema = 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0';\n event_data.elementType = type;\n }\n return buildSelfDescribingEvent({\n event: {\n schema: event_schema,\n data: removeEmptyProperties(event_data, { value: true })\n }\n });\n}\n/**\n * Build a Form Submission Event\n * Used to track when a user submits a form\n *\n * @param event - Contains the properties for the Form Submission event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildFormSubmission(event) {\n var formId = event.formId, formClasses = event.formClasses, elements = event.elements;\n return buildSelfDescribingEvent({\n event: {\n schema: 'iglu:com.snowplowanalytics.snowplow/submit_form/jsonschema/1-0-0',\n data: removeEmptyProperties({ formId: formId, formClasses: formClasses, elements: elements })\n }\n });\n}\n/**\n * Build a Site Search Event\n * Used when a user performs a search action on a page\n *\n * @param event - Contains the properties for the Site Search event\n * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track}\n */\nfunction buildSiteSearch(event) {\n var terms = event.terms, filters = event.filters, totalResults = event.totalResults, pageResults = event.pageResults;\n return buildSelfDescribingEvent({\n event: {\n schema: 'iglu:com.snowplowanalytics.snowplow/site_search/jsonschema/1-0-0',\n data: removeEmptyProperties({ terms: terms, filters: filters, totalResults: totalResults, pageResults: pageResults })\n }\n });\n}\n/**\n * Build a Consent Withdrawn Event\n * Used for tracking when a user withdraws their consent\n *\n * @param event - Contains the properties for the Consent Withdrawn event\n * @returns An object containing the PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track} and a 'consent_document' context\n */\nfunction buildConsentWithdrawn(event) {\n var all = event.all, id = event.id, version = event.version, name = event.name, description = event.description;\n var documentJson = {\n schema: 'iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0',\n data: removeEmptyProperties({ id: id, version: version, name: name, description: description })\n };\n return {\n event: buildSelfDescribingEvent({\n event: {\n schema: 'iglu:com.snowplowanalytics.snowplow/consent_withdrawn/jsonschema/1-0-0',\n data: removeEmptyProperties({\n all: all\n })\n }\n }),\n context: [documentJson]\n };\n}\n/**\n * Build a Consent Granted Event\n * Used for tracking when a user grants their consent\n *\n * @param event - Contains the properties for the Consent Granted event\n * @returns An object containing the PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track} and a 'consent_document' context\n */\nfunction buildConsentGranted(event) {\n var expiry = event.expiry, id = event.id, version = event.version, name = event.name, description = event.description;\n var documentJson = {\n schema: 'iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0',\n data: removeEmptyProperties({ id: id, version: version, name: name, description: description })\n };\n return {\n event: buildSelfDescribingEvent({\n event: {\n schema: 'iglu:com.snowplowanalytics.snowplow/consent_granted/jsonschema/1-0-0',\n data: removeEmptyProperties({\n expiry: expiry\n })\n }\n }),\n context: [documentJson]\n };\n}\n/**\n * Returns a copy of a JSON with undefined and null properties removed\n *\n * @param event - JSON object to clean\n * @param exemptFields - Set of fields which should not be removed even if empty\n * @returns A cleaned copy of eventJson\n */\nfunction removeEmptyProperties(event, exemptFields) {\n if (exemptFields === void 0) { exemptFields = {}; }\n var ret = {};\n for (var k in event) {\n if (exemptFields[k] || (event[k] !== null && typeof event[k] !== 'undefined')) {\n ret[k] = event[k];\n }\n }\n return ret;\n}\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\nvar version = version$1;\n\nexport { LOG, LOG_LEVEL, buildAdClick, buildAdConversion, buildAdImpression, buildAddToCart, buildConsentGranted, buildConsentWithdrawn, buildEcommerceTransaction, buildEcommerceTransactionItem, buildFormFocusOrChange, buildFormSubmission, buildLinkClick, buildPagePing, buildPageView, buildRemoveFromCart, buildScreenView, buildSelfDescribingEvent, buildSiteSearch, buildSocialInteraction, buildStructEvent, getRuleParts, getSchemaParts, globalContexts, isConditionalContextProvider, isContextCallbackFunction, isContextPrimitive, isFilterProvider, isJson, isNonEmptyJson, isRuleSet, isRuleSetProvider, isSelfDescribingJson, isStringArray, isValidRule, isValidRuleSetArg, matchSchemaAgainstRule, matchSchemaAgainstRuleSet, payloadBuilder, payloadJsonProcessor, pluginContexts, resolveDynamicContext, trackerCore, validateVendor, validateVendorParts, version };\n//# sourceMappingURL=index.module.js.map\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/*!\n * Core functionality for Snowplow Browser trackers v3.1.6 (http://bit.ly/sp-js)\n * Copyright 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * Licensed under BSD-3-Clause\n */\n\nimport { LOG, trackerCore, buildPageView, buildPagePing } from '@snowplow/tracker-core';\nimport { __assign } from 'tslib';\nimport hash from 'sha1';\nimport { v4 } from 'uuid';\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n/*\n * Checks whether sessionStorage is available, in a way that\n * does not throw a SecurityError in Firefox if \"always ask\"\n * is enabled for cookies (https://github.com/snowplow/snowplow/issues/163).\n */\nfunction hasSessionStorage() {\n try {\n return !!window.sessionStorage;\n }\n catch (e) {\n return true; // SecurityError when referencing it means it exists\n }\n}\n/*\n * Checks whether localStorage is available, in a way that\n * does not throw a SecurityError in Firefox if \"always ask\"\n * is enabled for cookies (https://github.com/snowplow/snowplow/issues/163).\n */\nfunction hasLocalStorage() {\n try {\n return !!window.localStorage;\n }\n catch (e) {\n return true; // SecurityError when referencing it means it exists\n }\n}\n/*\n * Checks whether localStorage is accessible\n * sets and removes an item to handle private IOS5 browsing\n * (http://git.io/jFB2Xw)\n */\nfunction localStorageAccessible() {\n var mod = 'modernizr';\n if (!hasLocalStorage()) {\n return false;\n }\n try {\n var ls = window.localStorage;\n ls.setItem(mod, mod);\n ls.removeItem(mod);\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Gets the current viewport.\n *\n * Code based on:\n * - http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/\n * - http://responsejs.com/labs/dimensions/\n */\nfunction detectViewport() {\n var width, height;\n if ('innerWidth' in window) {\n width = window['innerWidth'];\n height = window['innerHeight'];\n }\n else {\n var e = document.documentElement || document.body;\n width = e['clientWidth'];\n height = e['clientHeight'];\n }\n if (width >= 0 && height >= 0) {\n return width + 'x' + height;\n }\n else {\n return null;\n }\n}\n/**\n * Gets the dimensions of the current\n * document.\n *\n * Code based on:\n * - http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/\n */\nfunction detectDocumentSize() {\n var de = document.documentElement, // Alias\n be = document.body, \n // document.body may not have rendered, so check whether be.offsetHeight is null\n bodyHeight = be ? Math.max(be.offsetHeight, be.scrollHeight) : 0;\n var w = Math.max(de.clientWidth, de.offsetWidth, de.scrollWidth);\n var h = Math.max(de.clientHeight, de.offsetHeight, de.scrollHeight, bodyHeight);\n return isNaN(w) || isNaN(h) ? '' : w + 'x' + h;\n}\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n/**\n * Checks if an object is a string\n * @param str - The object to check\n */\nfunction isString(str) {\n if (str && typeof str.valueOf() === 'string') {\n return true;\n }\n return false;\n}\n/**\n * Checks if an object is an integer\n * @param int - The object to check\n */\nfunction isInteger(int) {\n return ((Number.isInteger && Number.isInteger(int)) || (typeof int === 'number' && isFinite(int) && Math.floor(int) === int));\n}\n/**\n * Checks if the input parameter is a function\n * @param func - The object to check\n */\nfunction isFunction(func) {\n if (func && typeof func === 'function') {\n return true;\n }\n return false;\n}\n/**\n * Cleans up the page title\n */\nfunction fixupTitle(title) {\n if (!isString(title)) {\n title = title.text || '';\n var tmp = document.getElementsByTagName('title');\n if (tmp && tmp[0] != null) {\n title = tmp[0].text;\n }\n }\n return title;\n}\n/**\n * Extract hostname from URL\n */\nfunction getHostName(url) {\n // scheme : // [username [: password] @] hostname [: port] [/ [path] [? query] [# fragment]]\n var e = new RegExp('^(?:(?:https?|ftp):)/*(?:[^@]+@)?([^:/#]+)'), matches = e.exec(url);\n return matches ? matches[1] : url;\n}\n/**\n * Fix-up domain\n */\nfunction fixupDomain(domain) {\n var dl = domain.length;\n // remove trailing '.'\n if (domain.charAt(--dl) === '.') {\n domain = domain.slice(0, dl);\n }\n // remove leading '*'\n if (domain.slice(0, 2) === '*.') {\n domain = domain.slice(1);\n }\n return domain;\n}\n/**\n * Get page referrer. In the case of a single-page app,\n * if the URL changes without the page reloading, pass\n * in the old URL. It will be returned unless overriden\n * by a \"refer(r)er\" parameter in the querystring.\n *\n * @param string - oldLocation Optional.\n * @returns string The referrer\n */\nfunction getReferrer(oldLocation) {\n var windowAlias = window, referrer = '', fromQs = fromQuerystring('referrer', windowAlias.location.href) || fromQuerystring('referer', windowAlias.location.href);\n // Short-circuit\n if (fromQs) {\n return fromQs;\n }\n // In the case of a single-page app, return the old URL\n if (oldLocation) {\n return oldLocation;\n }\n try {\n referrer = windowAlias.top.document.referrer;\n }\n catch (e) {\n if (windowAlias.parent) {\n try {\n referrer = windowAlias.parent.document.referrer;\n }\n catch (e2) {\n referrer = '';\n }\n }\n }\n if (referrer === '') {\n referrer = document.referrer;\n }\n return referrer;\n}\n/**\n * Cross-browser helper function to add event handler\n */\nfunction addEventListener(element, eventType, eventHandler, options) {\n if (element.addEventListener) {\n element.addEventListener(eventType, eventHandler, options);\n return true;\n }\n // IE Support\n if (element.attachEvent) {\n return element.attachEvent('on' + eventType, eventHandler);\n }\n element['on' + eventType] = eventHandler;\n}\n/**\n * Return value from name-value pair in querystring\n */\nfunction fromQuerystring(field, url) {\n var match = new RegExp('^[^#]*[?&]' + field + '=([^&#]*)').exec(url);\n if (!match) {\n return null;\n }\n return decodeURIComponent(match[1].replace(/\\+/g, ' '));\n}\n/**\n * Add a name-value pair to the querystring of a URL\n *\n * @param string - url URL to decorate\n * @param string - name Name of the querystring pair\n * @param string - value Value of the querystring pair\n */\nfunction decorateQuerystring(url, name, value) {\n var initialQsParams = name + '=' + value;\n var hashSplit = url.split('#');\n var qsSplit = hashSplit[0].split('?');\n var beforeQuerystring = qsSplit.shift();\n // Necessary because a querystring may contain multiple question marks\n var querystring = qsSplit.join('?');\n if (!querystring) {\n querystring = initialQsParams;\n }\n else {\n // Whether this is the first time the link has been decorated\n var initialDecoration = true;\n var qsFields = querystring.split('&');\n for (var i = 0; i < qsFields.length; i++) {\n if (qsFields[i].substr(0, name.length + 1) === name + '=') {\n initialDecoration = false;\n qsFields[i] = initialQsParams;\n querystring = qsFields.join('&');\n break;\n }\n }\n if (initialDecoration) {\n querystring = initialQsParams + '&' + querystring;\n }\n }\n hashSplit[0] = beforeQuerystring + '?' + querystring;\n return hashSplit.join('#');\n}\n/**\n * Attempt to get a value from localStorage\n *\n * @param string - key\n * @returns string The value obtained from localStorage, or\n * undefined if localStorage is inaccessible\n */\nfunction attemptGetLocalStorage(key) {\n try {\n var localStorageAlias = window.localStorage, exp = localStorageAlias.getItem(key + '.expires');\n if (exp === null || +exp > Date.now()) {\n return localStorageAlias.getItem(key);\n }\n else {\n localStorageAlias.removeItem(key);\n localStorageAlias.removeItem(key + '.expires');\n }\n return undefined;\n }\n catch (e) {\n return undefined;\n }\n}\n/**\n * Attempt to write a value to localStorage\n *\n * @param string - key\n * @param string - value\n * @param number - ttl Time to live in seconds, defaults to 2 years from Date.now()\n * @returns boolean Whether the operation succeeded\n */\nfunction attemptWriteLocalStorage(key, value, ttl) {\n if (ttl === void 0) { ttl = 63072000; }\n try {\n var localStorageAlias = window.localStorage, t = Date.now() + ttl * 1000;\n localStorageAlias.setItem(key + \".expires\", t.toString());\n localStorageAlias.setItem(key, value);\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Attempt to delete a value from localStorage\n *\n * @param string - key\n * @returns boolean Whether the operation succeeded\n */\nfunction attemptDeleteLocalStorage(key) {\n try {\n var localStorageAlias = window.localStorage;\n localStorageAlias.removeItem(key);\n localStorageAlias.removeItem(key + '.expires');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Attempt to get a value from sessionStorage\n *\n * @param string - key\n * @returns string The value obtained from sessionStorage, or\n * undefined if sessionStorage is inaccessible\n */\nfunction attemptGetSessionStorage(key) {\n try {\n return window.sessionStorage.getItem(key);\n }\n catch (e) {\n return undefined;\n }\n}\n/**\n * Attempt to write a value to sessionStorage\n *\n * @param string - key\n * @param string - value\n * @returns boolean Whether the operation succeeded\n */\nfunction attemptWriteSessionStorage(key, value) {\n try {\n window.sessionStorage.setItem(key, value);\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Finds the root domain\n */\nfunction findRootDomain(sameSite, secure) {\n var windowLocationHostnameAlias = window.location.hostname, cookiePrefix = '_sp_root_domain_test_', cookieName = cookiePrefix + new Date().getTime(), cookieValue = '_test_value_' + new Date().getTime();\n var split = windowLocationHostnameAlias.split('.');\n var position = split.length - 1;\n while (position >= 0) {\n var currentDomain = split.slice(position, split.length).join('.');\n cookie(cookieName, cookieValue, 0, '/', currentDomain, sameSite, secure);\n if (cookie(cookieName) === cookieValue) {\n // Clean up created cookie(s)\n deleteCookie(cookieName, currentDomain, sameSite, secure);\n var cookieNames = getCookiesWithPrefix(cookiePrefix);\n for (var i = 0; i < cookieNames.length; i++) {\n deleteCookie(cookieNames[i], currentDomain, sameSite, secure);\n }\n return currentDomain;\n }\n position -= 1;\n }\n // Cookies cannot be read\n return windowLocationHostnameAlias;\n}\n/**\n * Checks whether a value is present within an array\n *\n * @param val - The value to check for\n * @param array - The array to check within\n * @returns boolean Whether it exists\n */\nfunction isValueInArray(val, array) {\n for (var i = 0; i < array.length; i++) {\n if (array[i] === val) {\n return true;\n }\n }\n return false;\n}\n/**\n * Deletes an arbitrary cookie by setting the expiration date to the past\n *\n * @param cookieName - The name of the cookie to delete\n * @param domainName - The domain the cookie is in\n */\nfunction deleteCookie(cookieName, domainName, sameSite, secure) {\n cookie(cookieName, '', -1, '/', domainName, sameSite, secure);\n}\n/**\n * Fetches the name of all cookies beginning with a certain prefix\n *\n * @param cookiePrefix - The prefix to check for\n * @returns array The cookies that begin with the prefix\n */\nfunction getCookiesWithPrefix(cookiePrefix) {\n var cookies = document.cookie.split('; ');\n var cookieNames = [];\n for (var i = 0; i < cookies.length; i++) {\n if (cookies[i].substring(0, cookiePrefix.length) === cookiePrefix) {\n cookieNames.push(cookies[i]);\n }\n }\n return cookieNames;\n}\n/**\n * Get and set the cookies associated with the current document in browser\n * This implementation always returns a string, returns the cookie value if only name is specified\n *\n * @param name - The cookie name (required)\n * @param value - The cookie value\n * @param ttl - The cookie Time To Live (seconds)\n * @param path - The cookies path\n * @param domain - The cookies domain\n * @param samesite - The cookies samesite attribute\n * @param secure - Boolean to specify if cookie should be secure\n * @returns string The cookies value\n */\nfunction cookie(name, value, ttl, path, domain, samesite, secure) {\n if (arguments.length > 1) {\n return (document.cookie =\n name +\n '=' +\n encodeURIComponent(value !== null && value !== void 0 ? value : '') +\n (ttl ? '; Expires=' + new Date(+new Date() + ttl * 1000).toUTCString() : '') +\n (path ? '; Path=' + path : '') +\n (domain ? '; Domain=' + domain : '') +\n (samesite ? '; SameSite=' + samesite : '') +\n (secure ? '; Secure' : ''));\n }\n return decodeURIComponent((('; ' + document.cookie).split('; ' + name + '=')[1] || '').split(';')[0]);\n}\n/**\n * Parses an object and returns either the\n * integer or undefined.\n *\n * @param obj - The object to parse\n * @returns the result of the parse operation\n */\nfunction parseAndValidateInt(obj) {\n var result = parseInt(obj);\n return isNaN(result) ? undefined : result;\n}\n/**\n * Parses an object and returns either the\n * number or undefined.\n *\n * @param obj - The object to parse\n * @returns the result of the parse operation\n */\nfunction parseAndValidateFloat(obj) {\n var result = parseFloat(obj);\n return isNaN(result) ? undefined : result;\n}\n/**\n * Convert a criterion object to a filter function\n *\n * @param object - criterion Either {allowlist: [array of allowable strings]}\n * or {denylist: [array of allowable strings]}\n * or {filter: function (elt) {return whether to track the element}\n * @param boolean - byClass Whether to allowlist/denylist based on an element's classes (for forms)\n * or name attribute (for fields)\n */\nfunction getFilterByClass(criterion) {\n // If the criterion argument is not an object, add listeners to all elements\n if (criterion == null || typeof criterion !== 'object' || Array.isArray(criterion)) {\n return function () {\n return true;\n };\n }\n var inclusive = Object.prototype.hasOwnProperty.call(criterion, 'allowlist');\n var specifiedClassesSet = getSpecifiedClassesSet(criterion);\n return getFilter(criterion, function (elt) {\n return checkClass(elt, specifiedClassesSet) === inclusive;\n });\n}\n/**\n * Convert a criterion object to a filter function\n *\n * @param object - criterion Either {allowlist: [array of allowable strings]}\n * or {denylist: [array of allowable strings]}\n * or {filter: function (elt) {return whether to track the element}\n */\nfunction getFilterByName(criterion) {\n // If the criterion argument is not an object, add listeners to all elements\n if (criterion == null || typeof criterion !== 'object' || Array.isArray(criterion)) {\n return function () {\n return true;\n };\n }\n var inclusive = criterion.hasOwnProperty('allowlist');\n var specifiedClassesSet = getSpecifiedClassesSet(criterion);\n return getFilter(criterion, function (elt) {\n return elt.name in specifiedClassesSet === inclusive;\n });\n}\n/**\n * List the classes of a DOM element without using elt.classList (for compatibility with IE 9)\n */\nfunction getCssClasses(elt) {\n return elt.className.match(/\\S+/g) || [];\n}\n/**\n * Check whether an element has at least one class from a given list\n */\nfunction checkClass(elt, classList) {\n var classes = getCssClasses(elt);\n for (var _i = 0, classes_1 = classes; _i < classes_1.length; _i++) {\n var className = classes_1[_i];\n if (classList[className]) {\n return true;\n }\n }\n return false;\n}\nfunction getFilter(criterion, fallbackFilter) {\n if (criterion.hasOwnProperty('filter') && criterion.filter) {\n return criterion.filter;\n }\n return fallbackFilter;\n}\nfunction getSpecifiedClassesSet(criterion) {\n // Convert the array of classes to an object of the form {class1: true, class2: true, ...}\n var specifiedClassesSet = {};\n var specifiedClasses = criterion.allowlist || criterion.denylist;\n if (specifiedClasses) {\n if (!Array.isArray(specifiedClasses)) {\n specifiedClasses = [specifiedClasses];\n }\n for (var i = 0; i < specifiedClasses.length; i++) {\n specifiedClassesSet[specifiedClasses[i]] = true;\n }\n }\n return specifiedClassesSet;\n}\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n/**\n * Object handling sending events to a collector.\n * Instantiated once per tracker instance.\n *\n * @param id - The Snowplow function name (used to generate the localStorage key)\n * @param sharedSate - Stores reference to the outbound queue so it can unload the page when all queues are empty\n * @param useLocalStorage - Whether to use localStorage at all\n * @param eventMethod - if null will use 'beacon' otherwise can be set to 'post', 'get', or 'beacon' to force.\n * @param postPath - The path where events are to be posted\n * @param bufferSize - How many events to batch in localStorage before sending them all\n * @param maxPostBytes - Maximum combined size in bytes of the event JSONs in a POST request\n * @param useStm - Whether to add timestamp to events\n * @param maxLocalStorageQueueSize - Maximum number of queued events we will attempt to store in local storage\n * @param connectionTimeout - Defines how long to wait before aborting the request\n * @param anonymousTracking - Defines whether to set the SP-Anonymous header for anonymous tracking on GET and POST\n * @returns object OutQueueManager instance\n */\nfunction OutQueueManager(id, sharedSate, useLocalStorage, eventMethod, postPath, bufferSize, maxPostBytes, useStm, maxLocalStorageQueueSize, connectionTimeout, anonymousTracking) {\n var executingQueue = false, configCollectorUrl, outQueue = [];\n //Force to lower case if its a string\n eventMethod = typeof eventMethod === 'string' ? eventMethod.toLowerCase() : eventMethod;\n // Use the Beacon API if eventMethod is set null, true, or 'beacon'.\n var isBeaconRequested = eventMethod === null || eventMethod === true || eventMethod === 'beacon' || eventMethod === 'true', \n // Fall back to POST or GET for browsers which don't support Beacon API\n isBeaconAvailable = Boolean(isBeaconRequested &&\n window.navigator &&\n window.navigator.sendBeacon &&\n !hasWebKitBeaconBug(window.navigator.userAgent)), useBeacon = isBeaconAvailable && isBeaconRequested, \n // Use GET if specified\n isGetRequested = eventMethod === 'get', \n // Don't use XhrHttpRequest for browsers which don't support CORS XMLHttpRequests (e.g. IE <= 9)\n useXhr = Boolean(window.XMLHttpRequest && 'withCredentials' in new XMLHttpRequest()), \n // Use POST if specified\n usePost = !isGetRequested && useXhr && (eventMethod === 'post' || isBeaconRequested), \n // Resolve all options and capabilities and decide path\n path = usePost ? postPath : '/i', \n // Different queue names for GET and POST since they are stored differently\n queueName = \"snowplowOutQueue_\" + id + \"_\" + (usePost ? 'post2' : 'get');\n // Get buffer size or set 1 if unable to buffer\n bufferSize = (useLocalStorage && localStorageAccessible() && usePost && bufferSize) || 1;\n if (useLocalStorage) {\n // Catch any JSON parse errors or localStorage that might be thrown\n try {\n var localStorageQueue = window.localStorage.getItem(queueName);\n outQueue = localStorageQueue ? JSON.parse(localStorageQueue) : [];\n }\n catch (e) { }\n }\n // Initialize to and empty array if we didn't get anything out of localStorage\n if (!Array.isArray(outQueue)) {\n outQueue = [];\n }\n // Used by pageUnloadGuard\n sharedSate.outQueues.push(outQueue);\n if (useXhr && bufferSize > 1) {\n sharedSate.bufferFlushers.push(function (sync) {\n if (!executingQueue) {\n executeQueue(sync);\n }\n });\n }\n /*\n * Convert a dictionary to a querystring\n * The context field is the last in the querystring\n */\n function getQuerystring(request) {\n var querystring = '?', lowPriorityKeys = { co: true, cx: true }, firstPair = true;\n for (var key in request) {\n if (request.hasOwnProperty(key) && !lowPriorityKeys.hasOwnProperty(key)) {\n if (!firstPair) {\n querystring += '&';\n }\n else {\n firstPair = false;\n }\n querystring += encodeURIComponent(key) + '=' + encodeURIComponent(request[key]);\n }\n }\n for (var contextKey in lowPriorityKeys) {\n if (request.hasOwnProperty(contextKey) && lowPriorityKeys.hasOwnProperty(contextKey)) {\n querystring += '&' + contextKey + '=' + encodeURIComponent(request[contextKey]);\n }\n }\n return querystring;\n }\n /*\n * Convert numeric fields to strings to match payload_data schema\n */\n function getBody(request) {\n var cleanedRequest = Object.keys(request)\n .map(function (k) { return [k, request[k]]; })\n .reduce(function (acc, _a) {\n var key = _a[0], value = _a[1];\n acc[key] = value.toString();\n return acc;\n }, {});\n return {\n evt: cleanedRequest,\n bytes: getUTF8Length(JSON.stringify(cleanedRequest))\n };\n }\n /**\n * Count the number of bytes a string will occupy when UTF-8 encoded\n * Taken from http://stackoverflow.com/questions/2848462/count-bytes-in-textarea-using-javascript/\n *\n * @param string - s\n * @returns number Length of s in bytes when UTF-8 encoded\n */\n function getUTF8Length(s) {\n var len = 0;\n for (var i = 0; i < s.length; i++) {\n var code = s.charCodeAt(i);\n if (code <= 0x7f) {\n len += 1;\n }\n else if (code <= 0x7ff) {\n len += 2;\n }\n else if (code >= 0xd800 && code <= 0xdfff) {\n // Surrogate pair: These take 4 bytes in UTF-8 and 2 chars in UCS-2\n // (Assume next char is the other [valid] half and just skip it)\n len += 4;\n i++;\n }\n else if (code < 0xffff) {\n len += 3;\n }\n else {\n len += 4;\n }\n }\n return len;\n }\n var postable = function (queue) {\n return typeof queue[0] === 'object';\n };\n /*\n * Queue for submission to the collector and start processing queue\n */\n function enqueueRequest(request, url) {\n configCollectorUrl = url + path;\n if (usePost) {\n var body = getBody(request);\n if (body.bytes >= maxPostBytes) {\n LOG.warn('Event (' + body.bytes + 'B) too big, max is ' + maxPostBytes);\n var xhr = initializeXMLHttpRequest(configCollectorUrl, true, false);\n xhr.send(encloseInPayloadDataEnvelope(attachStmToEvent([body.evt])));\n return;\n }\n else {\n outQueue.push(body);\n }\n }\n else {\n outQueue.push(getQuerystring(request));\n }\n var savedToLocalStorage = false;\n if (useLocalStorage) {\n savedToLocalStorage = attemptWriteLocalStorage(queueName, JSON.stringify(outQueue.slice(0, maxLocalStorageQueueSize)));\n }\n // If we're not processing the queue, we'll start.\n if (!executingQueue && (!savedToLocalStorage || outQueue.length >= bufferSize)) {\n executeQueue();\n }\n }\n /*\n * Run through the queue of requests, sending them one at a time.\n * Stops processing when we run out of queued requests, or we get an error.\n */\n function executeQueue(sync) {\n if (sync === void 0) { sync = false; }\n // Failsafe in case there is some way for a bad value like \"null\" to end up in the outQueue\n while (outQueue.length && typeof outQueue[0] !== 'string' && typeof outQueue[0] !== 'object') {\n outQueue.shift();\n }\n if (outQueue.length < 1) {\n executingQueue = false;\n return;\n }\n // Let's check that we have a URL\n if (!isString(configCollectorUrl)) {\n throw 'No collector configured';\n }\n executingQueue = true;\n if (useXhr) {\n // Keep track of number of events to delete from queue\n var chooseHowManyToSend = function (queue) {\n var numberToSend = 0, byteCount = 0;\n while (numberToSend < queue.length) {\n byteCount += queue[numberToSend].bytes;\n if (byteCount >= maxPostBytes) {\n break;\n }\n else {\n numberToSend += 1;\n }\n }\n return numberToSend;\n };\n var url = void 0, xhr_1, numberToSend_1;\n if (postable(outQueue)) {\n url = configCollectorUrl;\n xhr_1 = initializeXMLHttpRequest(url, true, sync);\n numberToSend_1 = chooseHowManyToSend(outQueue);\n }\n else {\n url = createGetUrl(outQueue[0]);\n xhr_1 = initializeXMLHttpRequest(url, false, sync);\n numberToSend_1 = 1;\n }\n // Time out POST requests after connectionTimeout\n var xhrTimeout_1 = setTimeout(function () {\n xhr_1.abort();\n executingQueue = false;\n }, connectionTimeout);\n // The events (`numberToSend` of them), have been sent, so we remove them from the outQueue\n // We also call executeQueue() again, to let executeQueue() check if we should keep running through the queue\n var onPostSuccess_1 = function (numberToSend) {\n for (var deleteCount = 0; deleteCount < numberToSend; deleteCount++) {\n outQueue.shift();\n }\n if (useLocalStorage) {\n attemptWriteLocalStorage(queueName, JSON.stringify(outQueue.slice(0, maxLocalStorageQueueSize)));\n }\n executeQueue();\n };\n xhr_1.onreadystatechange = function () {\n if (xhr_1.readyState === 4 && xhr_1.status >= 200 && xhr_1.status < 400) {\n clearTimeout(xhrTimeout_1);\n onPostSuccess_1(numberToSend_1);\n }\n else if (xhr_1.readyState === 4 && xhr_1.status >= 400) {\n clearTimeout(xhrTimeout_1);\n executingQueue = false;\n }\n };\n if (!postable(outQueue)) {\n // If not postable then it's a GET so just send it\n xhr_1.send();\n }\n else {\n var batch = outQueue.slice(0, numberToSend_1);\n if (batch.length > 0) {\n var beaconStatus = false;\n var eventBatch = batch.map(function (x) {\n return x.evt;\n });\n if (useBeacon) {\n var blob = new Blob([encloseInPayloadDataEnvelope(attachStmToEvent(eventBatch))], {\n type: 'application/json'\n });\n try {\n beaconStatus = navigator.sendBeacon(url, blob);\n }\n catch (error) {\n beaconStatus = false;\n }\n }\n // When beaconStatus is true, we can't _guarantee_ that it was successful (beacon queues asynchronously)\n // but the browser has taken it out of our hands, so we want to flush the queue assuming it will do its job\n if (beaconStatus === true) {\n onPostSuccess_1(numberToSend_1);\n }\n else {\n xhr_1.send(encloseInPayloadDataEnvelope(attachStmToEvent(eventBatch)));\n }\n }\n }\n }\n else if (!anonymousTracking && !postable(outQueue)) {\n // We can't send with this technique if anonymous tracking is on as we can't attach the header\n var image = new Image(1, 1), loading_1 = true;\n image.onload = function () {\n if (!loading_1)\n return;\n loading_1 = false;\n outQueue.shift();\n if (useLocalStorage) {\n attemptWriteLocalStorage(queueName, JSON.stringify(outQueue.slice(0, maxLocalStorageQueueSize)));\n }\n executeQueue();\n };\n image.onerror = function () {\n if (!loading_1)\n return;\n loading_1 = false;\n executingQueue = false;\n };\n image.src = createGetUrl(outQueue[0]);\n setTimeout(function () {\n if (loading_1 && executingQueue) {\n loading_1 = false;\n executeQueue();\n }\n }, connectionTimeout);\n }\n else {\n executingQueue = false;\n }\n }\n /**\n * Open an XMLHttpRequest for a given endpoint with the correct credentials and header\n *\n * @param string - url The destination URL\n * @returns object The XMLHttpRequest\n */\n function initializeXMLHttpRequest(url, post, sync) {\n var xhr = new XMLHttpRequest();\n if (post) {\n xhr.open('POST', url, !sync);\n xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');\n }\n else {\n xhr.open('GET', url, !sync);\n }\n xhr.withCredentials = true;\n if (anonymousTracking) {\n xhr.setRequestHeader('SP-Anonymous', '*');\n }\n return xhr;\n }\n /**\n * Enclose an array of events in a self-describing payload_data JSON string\n *\n * @param array - events Batch of events\n * @returns string payload_data self-describing JSON\n */\n function encloseInPayloadDataEnvelope(events) {\n return JSON.stringify({\n schema: 'iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4',\n data: events\n });\n }\n /**\n * Attaches the STM field to outbound POST events.\n *\n * @param events - the events to attach the STM to\n */\n function attachStmToEvent(events) {\n var stm = new Date().getTime().toString();\n for (var i = 0; i < events.length; i++) {\n events[i]['stm'] = stm;\n }\n return events;\n }\n /**\n * Creates the full URL for sending the GET request. Will append `stm` if enabled\n *\n * @param nextRequest - the query string of the next request\n */\n function createGetUrl(nextRequest) {\n if (useStm) {\n return configCollectorUrl + nextRequest.replace('?', '?stm=' + new Date().getTime() + '&');\n }\n return configCollectorUrl + nextRequest;\n }\n return {\n enqueueRequest: enqueueRequest,\n executeQueue: function () {\n if (!executingQueue) {\n executeQueue();\n }\n },\n setUseLocalStorage: function (localStorage) {\n useLocalStorage = localStorage;\n },\n setAnonymousTracking: function (anonymous) {\n anonymousTracking = anonymous;\n },\n setCollectorUrl: function (url) {\n configCollectorUrl = url + path;\n },\n setBufferSize: function (newBufferSize) {\n bufferSize = newBufferSize;\n }\n };\n function hasWebKitBeaconBug(useragent) {\n return (isIosVersionLessThanOrEqualTo(13, useragent) ||\n (isMacosxVersionLessThanOrEqualTo(10, 15, useragent) && isSafari(useragent)));\n function isIosVersionLessThanOrEqualTo(major, useragent) {\n var match = useragent.match('(iP.+; CPU .*OS (d+)[_d]*.*) AppleWebKit/');\n if (match && match.length) {\n return parseInt(match[0]) <= major;\n }\n return false;\n }\n function isMacosxVersionLessThanOrEqualTo(major, minor, useragent) {\n var match = useragent.match('(Macintosh;.*Mac OS X (d+)_(d+)[_d]*.*) AppleWebKit/');\n if (match && match.length) {\n return parseInt(match[0]) <= major || (parseInt(match[0]) === major && parseInt(match[1]) <= minor);\n }\n return false;\n }\n function isSafari(useragent) {\n return useragent.match('Version/.* Safari/') && !isChromiumBased(useragent);\n }\n function isChromiumBased(useragent) {\n return useragent.match('Chrom(e|ium)');\n }\n }\n}\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n/*\n * Extract parameter from URL\n */\nfunction getParameter(url, name) {\n // scheme : // [username [: password] @] hostname [: port] [/ [path] [? query] [# fragment]]\n var e = new RegExp('^(?:https?|ftp)(?::/*(?:[^?]+))([?][^#]+)'), matches = e.exec(url);\n if (matches && (matches === null || matches === void 0 ? void 0 : matches.length) > 1) {\n return fromQuerystring(name, matches[1]);\n }\n return null;\n}\n/*\n * Fix-up URL when page rendered from search engine cache or translated page.\n */\nfunction fixupUrl(hostName, href, referrer) {\n var _a;\n if (hostName === 'translate.googleusercontent.com') {\n // Google\n if (referrer === '') {\n referrer = href;\n }\n href = (_a = getParameter(href, 'u')) !== null && _a !== void 0 ? _a : '';\n hostName = getHostName(href);\n }\n else if (hostName === 'cc.bingj.com' || // Bing & Yahoo\n hostName === 'webcache.googleusercontent.com' // Google\n ) {\n href = document.links[0].href;\n hostName = getHostName(href);\n }\n return [hostName, href, referrer];\n}\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n/**\n * The Snowplow Tracker\n *\n * @param trackerId - The unique identifier of the tracker\n * @param namespace - The namespace of the tracker object\n * @param version - The current version of the JavaScript Tracker\n * @param endpoint - The collector endpoint to send events to, with or without protocol\n * @param sharedState - An object containing state which is shared across tracker instances\n * @param trackerConfiguration - Dictionary of configuration options\n */\nfunction Tracker(trackerId, namespace, version, endpoint, sharedState, trackerConfiguration) {\n var _a;\n if (trackerConfiguration === void 0) { trackerConfiguration = {}; }\n var newTracker = function (trackerId, namespace, version, endpoint, state, trackerConfiguration) {\n /************************************************************\n * Private members\n ************************************************************/\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;\n //use POST if eventMethod isn't present on the newTrackerConfiguration\n trackerConfiguration.eventMethod = (_a = trackerConfiguration.eventMethod) !== null && _a !== void 0 ? _a : 'post';\n var getStateStorageStrategy = function (config) { var _a; return (_a = config.stateStorageStrategy) !== null && _a !== void 0 ? _a : 'cookieAndLocalStorage'; }, getAnonymousSessionTracking = function (config) {\n var _a, _b;\n if (typeof config.anonymousTracking === 'boolean') {\n return false;\n }\n return (_b = ((_a = config.anonymousTracking) === null || _a === void 0 ? void 0 : _a.withSessionTracking) === true) !== null && _b !== void 0 ? _b : false;\n }, getAnonymousServerTracking = function (config) {\n var _a, _b;\n if (typeof config.anonymousTracking === 'boolean') {\n return false;\n }\n return (_b = ((_a = config.anonymousTracking) === null || _a === void 0 ? void 0 : _a.withServerAnonymisation) === true) !== null && _b !== void 0 ? _b : false;\n }, getAnonymousTracking = function (config) { return !!config.anonymousTracking; };\n // Get all injected plugins\n trackerConfiguration.plugins = (_b = trackerConfiguration.plugins) !== null && _b !== void 0 ? _b : [];\n if ((_d = (_c = trackerConfiguration === null || trackerConfiguration === void 0 ? void 0 : trackerConfiguration.contexts) === null || _c === void 0 ? void 0 : _c.webPage) !== null && _d !== void 0 ? _d : true) {\n trackerConfiguration.plugins.push(getWebPagePlugin()); // Defaults to including the Web Page context\n }\n var // Tracker core\n core = trackerCore({\n base64: trackerConfiguration.encodeBase64,\n corePlugins: trackerConfiguration.plugins,\n callback: function (payloadBuilder) {\n addBrowserData(payloadBuilder);\n sendRequest(payloadBuilder);\n }\n }), \n // Aliases\n browserLanguage = navigator.userLanguage || navigator.language, documentCharset = document.characterSet || document.charset, \n // Current URL and Referrer URL\n locationArray = fixupUrl(window.location.hostname, window.location.href, getReferrer()), domainAlias = fixupDomain(locationArray[0]), locationHrefAlias = locationArray[1], configReferrerUrl = locationArray[2], customReferrer, \n // Platform defaults to web for this tracker\n configPlatform = (_e = trackerConfiguration.platform) !== null && _e !== void 0 ? _e : 'web', \n // Snowplow collector URL\n configCollectorUrl = asCollectorUrl(endpoint), \n // Custom path for post requests (to get around adblockers)\n configPostPath = (_f = trackerConfiguration.postPath) !== null && _f !== void 0 ? _f : '/com.snowplowanalytics.snowplow/tp2', \n // Site ID\n configTrackerSiteId = (_g = trackerConfiguration.appId) !== null && _g !== void 0 ? _g : '', \n // Document URL\n configCustomUrl, \n // Document title\n lastDocumentTitle = document.title, \n // Custom title\n lastConfigTitle, \n // Controls whether activity tracking page ping event timers are reset on page view events\n resetActivityTrackingOnPageView = (_h = trackerConfiguration.resetActivityTrackingOnPageView) !== null && _h !== void 0 ? _h : true, \n // Disallow hash tags in URL. TODO: Should this be set to true by default?\n configDiscardHashTag, \n // Disallow brace in URL.\n configDiscardBrace, \n // First-party cookie name prefix\n configCookieNamePrefix = (_j = trackerConfiguration.cookieName) !== null && _j !== void 0 ? _j : '_sp_', \n // First-party cookie domain\n // User agent defaults to origin hostname\n configCookieDomain = (_k = trackerConfiguration.cookieDomain) !== null && _k !== void 0 ? _k : undefined, \n // First-party cookie path\n // Default is user agent defined.\n configCookiePath = '/', \n // First-party cookie samesite attribute\n configCookieSameSite = (_l = trackerConfiguration.cookieSameSite) !== null && _l !== void 0 ? _l : 'None', \n // First-party cookie secure attribute\n configCookieSecure = (_m = trackerConfiguration.cookieSecure) !== null && _m !== void 0 ? _m : true, \n // Do Not Track browser feature\n dnt = navigator.doNotTrack || navigator.msDoNotTrack || window.doNotTrack, \n // Do Not Track\n configDoNotTrack = typeof trackerConfiguration.respectDoNotTrack !== 'undefined'\n ? trackerConfiguration.respectDoNotTrack && (dnt === 'yes' || dnt === '1')\n : false, \n // Opt out of cookie tracking\n configOptOutCookie, \n // Life of the visitor cookie (in seconds)\n configVisitorCookieTimeout = (_o = trackerConfiguration.cookieLifetime) !== null && _o !== void 0 ? _o : 63072000, // 2 years\n // Life of the session cookie (in seconds)\n configSessionCookieTimeout = (_p = trackerConfiguration.sessionCookieTimeout) !== null && _p !== void 0 ? _p : 1800, // 30 minutes\n // Allows tracking user session (using cookies or local storage), can only be used with anonymousTracking\n configAnonymousSessionTracking = getAnonymousSessionTracking(trackerConfiguration), \n // Will send a header to server to prevent returning cookie and capturing IP\n configAnonymousServerTracking = getAnonymousServerTracking(trackerConfiguration), \n // Sets tracker to work in anonymous mode without accessing client storage\n configAnonymousTracking = getAnonymousTracking(trackerConfiguration), \n // Strategy defining how to store the state: cookie, localStorage, cookieAndLocalStorage or none\n configStateStorageStrategy = getStateStorageStrategy(trackerConfiguration), \n // Last activity timestamp\n lastActivityTime, \n // The last time an event was fired on the page - used to invalidate session if cookies are disabled\n lastEventTime = new Date().getTime(), \n // How are we scrolling?\n minXOffset, maxXOffset, minYOffset, maxYOffset, \n // Domain hash value\n domainHash, \n // Domain unique user ID\n domainUserId, \n // ID for the current session\n memorizedSessionId, \n // Index for the current session - kept in memory in case cookies are disabled\n memorizedVisitCount = 1, \n // Business-defined unique user ID\n businessUserId, \n // Manager for local storage queue\n outQueue = OutQueueManager(trackerId, state, configStateStorageStrategy == 'localStorage' || configStateStorageStrategy == 'cookieAndLocalStorage', trackerConfiguration.eventMethod, configPostPath, (_q = trackerConfiguration.bufferSize) !== null && _q !== void 0 ? _q : 1, (_r = trackerConfiguration.maxPostBytes) !== null && _r !== void 0 ? _r : 40000, (_s = trackerConfiguration.useStm) !== null && _s !== void 0 ? _s : true, (_t = trackerConfiguration.maxLocalStorageQueueSize) !== null && _t !== void 0 ? _t : 1000, (_u = trackerConfiguration.connectionTimeout) !== null && _u !== void 0 ? _u : 5000, configAnonymousServerTracking), \n // Whether pageViewId should be regenerated after each trackPageView. Affect web_page context\n preservePageViewId = false, \n // Whether first trackPageView was fired and pageViewId should not be changed anymore until reload\n pageViewSent = false, \n // Activity tracking config for callback and pacge ping variants\n activityTrackingConfig = {\n enabled: false,\n installed: false,\n configurations: {}\n };\n if (trackerConfiguration.hasOwnProperty('discoverRootDomain') && trackerConfiguration.discoverRootDomain) {\n configCookieDomain = findRootDomain(configCookieSameSite, configCookieSecure);\n }\n // Set up unchanging name-value pairs\n core.setTrackerVersion(version);\n core.setTrackerNamespace(namespace);\n core.setAppId(configTrackerSiteId);\n core.setPlatform(configPlatform);\n core.addPayloadPair('cookie', navigator.cookieEnabled ? '1' : '0');\n core.addPayloadPair('cs', documentCharset);\n core.addPayloadPair('lang', browserLanguage);\n core.addPayloadPair('res', screen.width + 'x' + screen.height);\n core.addPayloadPair('cd', screen.colorDepth);\n /*\n * Initialize tracker\n */\n updateDomainHash();\n initializeIdsAndCookies();\n if (trackerConfiguration.crossDomainLinker) {\n decorateLinks(trackerConfiguration.crossDomainLinker);\n }\n /**\n * Recalculate the domain, URL, and referrer\n */\n function refreshUrl() {\n locationArray = fixupUrl(window.location.hostname, window.location.href, getReferrer());\n // If this is a single-page app and the page URL has changed, then:\n // - if the new URL's querystring contains a \"refer(r)er\" parameter, use it as the referrer\n // - otherwise use the old URL as the referer\n if (locationArray[1] !== locationHrefAlias) {\n configReferrerUrl = getReferrer(locationHrefAlias);\n }\n domainAlias = fixupDomain(locationArray[0]);\n locationHrefAlias = locationArray[1];\n }\n /**\n * Decorate the querystring of a single link\n *\n * @param event - e The event targeting the link\n */\n function linkDecorationHandler(evt) {\n var timestamp = new Date().getTime();\n var elt = evt.currentTarget;\n if (elt === null || elt === void 0 ? void 0 : elt.href) {\n elt.href = decorateQuerystring(elt.href, '_sp', domainUserId + '.' + timestamp);\n }\n }\n /**\n * Enable querystring decoration for links pasing a filter\n * Whenever such a link is clicked on or navigated to via the keyboard,\n * add \"_sp={{duid}}.{{timestamp}}\" to its querystring\n *\n * @param crossDomainLinker - Function used to determine which links to decorate\n */\n function decorateLinks(crossDomainLinker) {\n for (var i = 0; i < document.links.length; i++) {\n var elt = document.links[i];\n if (!elt.spDecorationEnabled && crossDomainLinker(elt)) {\n addEventListener(elt, 'click', linkDecorationHandler, true);\n addEventListener(elt, 'mousedown', linkDecorationHandler, true);\n // Don't add event listeners more than once\n elt.spDecorationEnabled = true;\n }\n }\n }\n /*\n * Removes hash tag from the URL\n *\n * URLs are purified before being recorded in the cookie,\n * or before being sent as GET parameters\n */\n function purify(url) {\n var targetPattern;\n if (configDiscardHashTag) {\n targetPattern = new RegExp('#.*');\n url = url.replace(targetPattern, '');\n }\n if (configDiscardBrace) {\n targetPattern = new RegExp('[{}]', 'g');\n url = url.replace(targetPattern, '');\n }\n return url;\n }\n /*\n * Extract scheme/protocol from URL\n */\n function getProtocolScheme(url) {\n var e = new RegExp('^([a-z]+):'), matches = e.exec(url);\n return matches ? matches[1] : null;\n }\n /*\n * Resolve relative reference\n *\n * Note: not as described in rfc3986 section 5.2\n */\n function resolveRelativeReference(baseUrl, url) {\n var protocol = getProtocolScheme(url), i;\n if (protocol) {\n return url;\n }\n if (url.slice(0, 1) === '/') {\n return getProtocolScheme(baseUrl) + '://' + getHostName(baseUrl) + url;\n }\n baseUrl = purify(baseUrl);\n if ((i = baseUrl.indexOf('?')) >= 0) {\n baseUrl = baseUrl.slice(0, i);\n }\n if ((i = baseUrl.lastIndexOf('/')) !== baseUrl.length - 1) {\n baseUrl = baseUrl.slice(0, i + 1);\n }\n return baseUrl + url;\n }\n /*\n * Send request\n */\n function sendRequest(request) {\n // Set to true if Opt-out cookie is defined\n var toOptoutByCookie;\n if (configOptOutCookie) {\n toOptoutByCookie = !!cookie(configOptOutCookie);\n }\n else {\n toOptoutByCookie = false;\n }\n if (!(configDoNotTrack || toOptoutByCookie)) {\n outQueue.enqueueRequest(request.build(), configCollectorUrl);\n }\n }\n /*\n * Get cookie name with prefix and domain hash\n */\n function getSnowplowCookieName(baseName) {\n return configCookieNamePrefix + baseName + '.' + domainHash;\n }\n /*\n * Cookie getter.\n */\n function getSnowplowCookieValue(cookieName) {\n var fullName = getSnowplowCookieName(cookieName);\n if (configStateStorageStrategy == 'localStorage') {\n return attemptGetLocalStorage(fullName);\n }\n else if (configStateStorageStrategy == 'cookie' || configStateStorageStrategy == 'cookieAndLocalStorage') {\n return cookie(fullName);\n }\n return undefined;\n }\n /*\n * Update domain hash\n */\n function updateDomainHash() {\n refreshUrl();\n domainHash = hash((configCookieDomain || domainAlias) + (configCookiePath || '/')).slice(0, 4); // 4 hexits = 16 bits\n }\n /*\n * Process all \"activity\" events.\n * For performance, this function must have low overhead.\n */\n function activityHandler() {\n var now = new Date();\n lastActivityTime = now.getTime();\n }\n /*\n * Process all \"scroll\" events.\n */\n function scrollHandler() {\n updateMaxScrolls();\n activityHandler();\n }\n /*\n * Returns [pageXOffset, pageYOffset]\n */\n function getPageOffsets() {\n var documentElement = document.documentElement;\n if (documentElement) {\n return [documentElement.scrollLeft || window.pageXOffset, documentElement.scrollTop || window.pageYOffset];\n }\n return [0, 0];\n }\n /*\n * Quick initialization/reset of max scroll levels\n */\n function resetMaxScrolls() {\n var offsets = getPageOffsets();\n var x = offsets[0];\n minXOffset = x;\n maxXOffset = x;\n var y = offsets[1];\n minYOffset = y;\n maxYOffset = y;\n }\n /*\n * Check the max scroll levels, updating as necessary\n */\n function updateMaxScrolls() {\n var offsets = getPageOffsets();\n var x = offsets[0];\n if (x < minXOffset) {\n minXOffset = x;\n }\n else if (x > maxXOffset) {\n maxXOffset = x;\n }\n var y = offsets[1];\n if (y < minYOffset) {\n minYOffset = y;\n }\n else if (y > maxYOffset) {\n maxYOffset = y;\n }\n }\n /*\n * Prevents offsets from being decimal or NaN\n * See https://github.com/snowplow/snowplow-javascript-tracker/issues/324\n */\n function cleanOffset(offset) {\n return Math.round(offset);\n }\n /*\n * Sets or renews the session cookie\n */\n function setSessionCookie() {\n var cookieName = getSnowplowCookieName('ses');\n var cookieValue = '*';\n setCookie(cookieName, cookieValue, configSessionCookieTimeout);\n }\n /*\n * Sets the Visitor ID cookie: either the first time loadDomainUserIdCookie is called\n * or when there is a new visit or a new page view\n */\n function setDomainUserIdCookie(domainUserId, createTs, visitCount, nowTs, lastVisitTs, sessionId) {\n var cookieName = getSnowplowCookieName('id');\n var cookieValue = domainUserId + '.' + createTs + '.' + visitCount + '.' + nowTs + '.' + lastVisitTs + '.' + sessionId;\n setCookie(cookieName, cookieValue, configVisitorCookieTimeout);\n }\n /*\n * no-op if anonymousTracking enabled, will still set cookies if anonymousSessionTracking is enabled\n * Sets a cookie based on the storage strategy:\n * - if 'localStorage': attemps to write to local storage\n * - if 'cookie' or 'cookieAndLocalStorage': writes to cookies\n * - otherwise: no-op\n */\n function setCookie(name, value, timeout) {\n if (configAnonymousTracking && !configAnonymousSessionTracking) {\n return;\n }\n if (configStateStorageStrategy == 'localStorage') {\n attemptWriteLocalStorage(name, value, timeout);\n }\n else if (configStateStorageStrategy == 'cookie' || configStateStorageStrategy == 'cookieAndLocalStorage') {\n cookie(name, value, timeout, configCookiePath, configCookieDomain, configCookieSameSite, configCookieSecure);\n }\n }\n /**\n * Clears all cookie and local storage for id and ses values\n */\n function clearUserDataAndCookies(configuration) {\n var idname = getSnowplowCookieName('id');\n var sesname = getSnowplowCookieName('ses');\n attemptDeleteLocalStorage(idname);\n attemptDeleteLocalStorage(sesname);\n deleteCookie(idname, configCookieDomain, configCookieSameSite, configCookieSecure);\n deleteCookie(sesname, configCookieDomain, configCookieSameSite, configCookieSecure);\n if (!(configuration === null || configuration === void 0 ? void 0 : configuration.preserveSession)) {\n memorizedSessionId = v4();\n memorizedVisitCount = 0;\n }\n if (!(configuration === null || configuration === void 0 ? void 0 : configuration.preserveUser)) {\n domainUserId = v4();\n businessUserId = null;\n }\n }\n /**\n * Toggle Anaonymous Tracking\n */\n function toggleAnonymousTracking(configuration) {\n if (configuration && configuration.stateStorageStrategy) {\n trackerConfiguration.stateStorageStrategy = configuration.stateStorageStrategy;\n configStateStorageStrategy = getStateStorageStrategy(trackerConfiguration);\n }\n configAnonymousTracking = getAnonymousTracking(trackerConfiguration);\n configAnonymousSessionTracking = getAnonymousSessionTracking(trackerConfiguration);\n configAnonymousServerTracking = getAnonymousServerTracking(trackerConfiguration);\n outQueue.setUseLocalStorage(configStateStorageStrategy == 'localStorage' || configStateStorageStrategy == 'cookieAndLocalStorage');\n outQueue.setAnonymousTracking(configAnonymousServerTracking);\n }\n /*\n * Load the domain user ID and the session ID\n * Set the cookies (if cookies are enabled)\n */\n function initializeIdsAndCookies() {\n if (configAnonymousTracking && !configAnonymousSessionTracking) {\n return;\n }\n var sesCookieSet = configStateStorageStrategy != 'none' && !!getSnowplowCookieValue('ses');\n var idCookieComponents = loadDomainUserIdCookie();\n if (idCookieComponents[1]) {\n domainUserId = idCookieComponents[1];\n }\n else if (!configAnonymousTracking) {\n domainUserId = v4();\n idCookieComponents[1] = domainUserId;\n }\n else {\n domainUserId = '';\n idCookieComponents[1] = domainUserId;\n }\n memorizedSessionId = idCookieComponents[6];\n if (!sesCookieSet) {\n // Increment the session ID\n idCookieComponents[3]++;\n // Create a new sessionId\n memorizedSessionId = v4();\n idCookieComponents[6] = memorizedSessionId;\n // Set lastVisitTs to currentVisitTs\n idCookieComponents[5] = idCookieComponents[4];\n }\n if (configStateStorageStrategy != 'none') {\n setSessionCookie();\n // Update currentVisitTs\n idCookieComponents[4] = Math.round(new Date().getTime() / 1000);\n idCookieComponents.shift();\n setDomainUserIdCookie.apply(null, idCookieComponents); // TODO: Remove any\n }\n }\n /*\n * Load visitor ID cookie\n */\n function loadDomainUserIdCookie() {\n if (configStateStorageStrategy == 'none') {\n return [];\n }\n var now = new Date(), nowTs = Math.round(now.getTime() / 1000), id = getSnowplowCookieValue('id'), tmpContainer;\n if (id) {\n tmpContainer = id.split('.');\n // cookies enabled\n tmpContainer.unshift('0');\n }\n else {\n tmpContainer = [\n // cookies disabled\n '1',\n // Domain user ID\n domainUserId,\n // Creation timestamp - seconds since Unix epoch\n nowTs,\n // visitCount - 0 = no previous visit\n 0,\n // Current visit timestamp\n nowTs,\n // Last visit timestamp - blank meaning no previous visit\n '',\n ];\n }\n if (!tmpContainer[6] || tmpContainer[6] === 'undefined') {\n // session id\n tmpContainer[6] = v4();\n }\n return tmpContainer;\n }\n /*\n * Attaches common web fields to every request (resolution, url, referrer, etc.)\n * Also sets the required cookies.\n */\n function addBrowserData(payloadBuilder) {\n var anonymizeOr = function (value) { return (configAnonymousTracking ? null : value); };\n var anonymizeSessionOr = function (value) {\n return configAnonymousSessionTracking ? value : anonymizeOr(value);\n };\n var nowTs = Math.round(new Date().getTime() / 1000), ses = getSnowplowCookieValue('ses'), id = loadDomainUserIdCookie(), cookiesDisabled = id[0], _domainUserId = id[1], // We could use the global (domainUserId) but this is better etiquette\n createTs = id[2], visitCount = id[3], currentVisitTs = id[4], lastVisitTs = id[5], sessionIdFromCookie = id[6];\n var toOptoutByCookie;\n if (configOptOutCookie) {\n toOptoutByCookie = !!cookie(configOptOutCookie);\n }\n else {\n toOptoutByCookie = false;\n }\n if (configDoNotTrack || toOptoutByCookie) {\n clearUserDataAndCookies();\n return;\n }\n // If cookies are enabled, base visit count and session ID on the cookies\n if (cookiesDisabled === '0') {\n memorizedSessionId = sessionIdFromCookie;\n // New session?\n if (!ses && configStateStorageStrategy != 'none') {\n // New session (aka new visit)\n visitCount++;\n // Update the last visit timestamp\n lastVisitTs = currentVisitTs;\n // Regenerate the session ID\n memorizedSessionId = v4();\n }\n memorizedVisitCount = visitCount;\n }\n else if (new Date().getTime() - lastEventTime > configSessionCookieTimeout * 1000) {\n memorizedSessionId = v4();\n memorizedVisitCount++;\n }\n payloadBuilder.add('vp', detectViewport());\n payloadBuilder.add('ds', detectDocumentSize());\n payloadBuilder.add('vid', anonymizeSessionOr(memorizedVisitCount));\n payloadBuilder.add('sid', anonymizeSessionOr(memorizedSessionId));\n payloadBuilder.add('duid', anonymizeOr(_domainUserId)); // Set to our local variable\n payloadBuilder.add('uid', anonymizeOr(businessUserId));\n refreshUrl();\n payloadBuilder.add('refr', purify(customReferrer || configReferrerUrl));\n // Add the page URL last as it may take us over the IE limit (and we don't always need it)\n payloadBuilder.add('url', purify(configCustomUrl || locationHrefAlias));\n // Update cookies\n if (configStateStorageStrategy != 'none') {\n setDomainUserIdCookie(_domainUserId, createTs, memorizedVisitCount, nowTs, lastVisitTs, memorizedSessionId);\n setSessionCookie();\n }\n lastEventTime = new Date().getTime();\n }\n /**\n * Adds the protocol in front of our collector URL\n *\n * @param string - collectorUrl The collector URL with or without protocol\n * @returns string collectorUrl The tracker URL with protocol\n */\n function asCollectorUrl(collectorUrl) {\n if (collectorUrl.indexOf('http') === 0) {\n return collectorUrl;\n }\n return ('https:' === document.location.protocol ? 'https' : 'http') + '://' + collectorUrl;\n }\n /**\n * Initialize new `pageViewId` if it shouldn't be preserved.\n * Should be called when `trackPageView` is invoked\n */\n function resetPageView() {\n if (!preservePageViewId || state.pageViewId == null) {\n state.pageViewId = v4();\n }\n }\n /**\n * Safe function to get `pageViewId`.\n * Generates it if it wasn't initialized by other tracker\n */\n function getPageViewId() {\n if (state.pageViewId == null) {\n state.pageViewId = v4();\n }\n return state.pageViewId;\n }\n /**\n * Put together a web page context with a unique UUID for the page view\n *\n * @returns web_page context\n */\n function getWebPagePlugin() {\n return {\n contexts: function () {\n return [\n {\n schema: 'iglu:com.snowplowanalytics.snowplow/web_page/jsonschema/1-0-0',\n data: {\n id: getPageViewId()\n }\n },\n ];\n }\n };\n }\n /**\n * Expires current session and starts a new session.\n */\n function newSession() {\n // If cookies are enabled, base visit count and session ID on the cookies\n var nowTs = Math.round(new Date().getTime() / 1000), id = loadDomainUserIdCookie(), cookiesDisabled = id[0], _domainUserId = id[1], // We could use the global (domainUserId) but this is better etiquette\n createTs = id[2], visitCount = id[3], currentVisitTs = id[4], lastVisitTs = id[5], sessionIdFromCookie = id[6];\n // When cookies are enabled\n if (cookiesDisabled === '0') {\n memorizedSessionId = sessionIdFromCookie;\n // When cookie/local storage is enabled - make a new session\n if (configStateStorageStrategy != 'none') {\n // New session (aka new visit)\n visitCount++;\n // Update the last visit timestamp\n lastVisitTs = currentVisitTs;\n // Regenerate the session ID\n memorizedSessionId = v4();\n }\n memorizedVisitCount = visitCount;\n // Create a new session cookie\n setSessionCookie();\n }\n else {\n memorizedSessionId = v4();\n memorizedVisitCount++;\n }\n // Update cookies\n if (configStateStorageStrategy != 'none') {\n setDomainUserIdCookie(_domainUserId, createTs, memorizedVisitCount, nowTs, lastVisitTs, memorizedSessionId);\n setSessionCookie();\n }\n lastEventTime = new Date().getTime();\n }\n /**\n * Combine an array of unchanging contexts with the result of a context-creating function\n *\n * @param staticContexts - Array of custom contexts\n * @param contextCallback - Function returning an array of contexts\n */\n function finalizeContexts(staticContexts, contextCallback) {\n return (staticContexts || []).concat(contextCallback ? contextCallback() : []);\n }\n function logPageView(_a) {\n var title = _a.title, context = _a.context, timestamp = _a.timestamp, contextCallback = _a.contextCallback;\n refreshUrl();\n if (pageViewSent) {\n // Do not reset pageViewId if previous events were not page_view\n resetPageView();\n }\n pageViewSent = true;\n // So we know what document.title was at the time of trackPageView\n lastDocumentTitle = document.title;\n lastConfigTitle = title;\n // Fixup page title\n var pageTitle = fixupTitle(lastConfigTitle || lastDocumentTitle);\n // Log page view\n core.track(buildPageView({\n pageUrl: purify(configCustomUrl || locationHrefAlias),\n pageTitle: pageTitle,\n referrer: purify(customReferrer || configReferrerUrl)\n }), finalizeContexts(context, contextCallback), timestamp);\n // Send ping (to log that user has stayed on page)\n var now = new Date();\n var installingActivityTracking = false;\n if (activityTrackingConfig.enabled && !activityTrackingConfig.installed) {\n activityTrackingConfig.installed = true;\n installingActivityTracking = true;\n // Add mousewheel event handler, detect passive event listeners for performance\n var detectPassiveEvents = {\n update: function update() {\n if (typeof window !== 'undefined' && typeof window.addEventListener === 'function') {\n var passive = false;\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passive = true;\n },\n set: function set() { }\n });\n // note: have to set and remove a no-op listener instead of null\n // (which was used previously), becasue Edge v15 throws an error\n // when providing a null callback.\n // https://github.com/rafrex/detect-passive-events/pull/3\n var noop = function noop() { };\n window.addEventListener('testPassiveEventSupport', noop, options);\n window.removeEventListener('testPassiveEventSupport', noop, options);\n detectPassiveEvents.hasSupport = passive;\n }\n }\n };\n detectPassiveEvents.update();\n // Detect available wheel event\n var wheelEvent = 'onwheel' in document.createElement('div')\n ? 'wheel' // Modern browsers support \"wheel\"\n : document.onmousewheel !== undefined\n ? 'mousewheel' // Webkit and IE support at least \"mousewheel\"\n : 'DOMMouseScroll'; // let's assume that remaining browsers are older Firefox\n if (Object.prototype.hasOwnProperty.call(detectPassiveEvents, 'hasSupport')) {\n addEventListener(document, wheelEvent, activityHandler, { passive: true });\n }\n else {\n addEventListener(document, wheelEvent, activityHandler);\n }\n // Capture our initial scroll points\n resetMaxScrolls();\n // Add event handlers; cross-browser compatibility here varies significantly\n // @see http://quirksmode.org/dom/events\n var documentHandlers = ['click', 'mouseup', 'mousedown', 'mousemove', 'keypress', 'keydown', 'keyup'];\n var windowHandlers = ['resize', 'focus', 'blur'];\n var listener = function (_, handler) {\n if (handler === void 0) { handler = activityHandler; }\n return function (ev) {\n return addEventListener(document, ev, handler);\n };\n };\n documentHandlers.forEach(listener(document));\n windowHandlers.forEach(listener(window));\n listener(window, scrollHandler)('scroll');\n }\n if (activityTrackingConfig.enabled && (resetActivityTrackingOnPageView || installingActivityTracking)) {\n // Periodic check for activity.\n lastActivityTime = now.getTime();\n var key = void 0;\n for (key in activityTrackingConfig.configurations) {\n var config = activityTrackingConfig.configurations[key];\n if (config) {\n //Clear page ping heartbeat on new page view\n window.clearInterval(config.activityInterval);\n activityInterval(config, context, contextCallback);\n }\n }\n }\n }\n function activityInterval(config, context, contextCallback) {\n var executePagePing = function (cb, c) {\n refreshUrl();\n cb({ context: c, pageViewId: getPageViewId(), minXOffset: minXOffset, minYOffset: minYOffset, maxXOffset: maxXOffset, maxYOffset: maxYOffset });\n resetMaxScrolls();\n };\n var timeout = function () {\n var now = new Date();\n // There was activity during the heart beat period;\n // on average, this is going to overstate the visitDuration by configHeartBeatTimer/2\n if (lastActivityTime + config.configMinimumVisitLength > now.getTime()) {\n executePagePing(config.callback, finalizeContexts(context, contextCallback));\n }\n config.activityInterval = window.setInterval(heartbeat, config.configHeartBeatTimer);\n };\n var heartbeat = function () {\n var now = new Date();\n // There was activity during the heart beat period;\n // on average, this is going to overstate the visitDuration by configHeartBeatTimer/2\n if (lastActivityTime + config.configHeartBeatTimer > now.getTime()) {\n executePagePing(config.callback, finalizeContexts(context, contextCallback));\n }\n };\n if (config.configMinimumVisitLength != 0) {\n config.activityInterval = window.setTimeout(timeout, config.configMinimumVisitLength);\n }\n else {\n config.activityInterval = window.setInterval(heartbeat, config.configHeartBeatTimer);\n }\n }\n /**\n * Configure the activity tracking and ensures integer values for min visit and heartbeat\n */\n function configureActivityTracking(configuration) {\n var minimumVisitLength = configuration.minimumVisitLength, heartbeatDelay = configuration.heartbeatDelay, callback = configuration.callback;\n if (isInteger(minimumVisitLength) && isInteger(heartbeatDelay)) {\n return {\n configMinimumVisitLength: minimumVisitLength * 1000,\n configHeartBeatTimer: heartbeatDelay * 1000,\n callback: callback\n };\n }\n LOG.error('Activity tracking minimumVisitLength & heartbeatDelay must be integers');\n return undefined;\n }\n /**\n * Log that a user is still viewing a given page by sending a page ping.\n * Not part of the public API - only called from logPageView() above.\n */\n function logPagePing(_a) {\n var context = _a.context, minXOffset = _a.minXOffset, minYOffset = _a.minYOffset, maxXOffset = _a.maxXOffset, maxYOffset = _a.maxYOffset;\n var newDocumentTitle = document.title;\n if (newDocumentTitle !== lastDocumentTitle) {\n lastDocumentTitle = newDocumentTitle;\n lastConfigTitle = undefined;\n }\n core.track(buildPagePing({\n pageUrl: purify(configCustomUrl || locationHrefAlias),\n pageTitle: fixupTitle(lastConfigTitle || lastDocumentTitle),\n referrer: purify(customReferrer || configReferrerUrl),\n minXOffset: cleanOffset(minXOffset),\n maxXOffset: cleanOffset(maxXOffset),\n minYOffset: cleanOffset(minYOffset),\n maxYOffset: cleanOffset(maxYOffset)\n }), context);\n }\n var apiMethods = {\n getDomainSessionIndex: function () {\n return memorizedVisitCount;\n },\n getPageViewId: function () {\n return getPageViewId();\n },\n newSession: newSession,\n getCookieName: function (basename) {\n return getSnowplowCookieName(basename);\n },\n getUserId: function () {\n return businessUserId;\n },\n getDomainUserId: function () {\n return loadDomainUserIdCookie()[1];\n },\n getDomainUserInfo: function () {\n return loadDomainUserIdCookie();\n },\n setReferrerUrl: function (url) {\n customReferrer = url;\n },\n setCustomUrl: function (url) {\n refreshUrl();\n configCustomUrl = resolveRelativeReference(locationHrefAlias, url);\n },\n setDocumentTitle: function (title) {\n // So we know what document.title was at the time of trackPageView\n lastDocumentTitle = document.title;\n lastConfigTitle = title;\n },\n discardHashTag: function (enableFilter) {\n configDiscardHashTag = enableFilter;\n },\n discardBrace: function (enableFilter) {\n configDiscardBrace = enableFilter;\n },\n setCookiePath: function (path) {\n configCookiePath = path;\n updateDomainHash();\n },\n setVisitorCookieTimeout: function (timeout) {\n configVisitorCookieTimeout = timeout;\n },\n crossDomainLinker: function (crossDomainLinkerCriterion) {\n decorateLinks(crossDomainLinkerCriterion);\n },\n enableActivityTracking: function (configuration) {\n if (!activityTrackingConfig.configurations.pagePing) {\n activityTrackingConfig.enabled = true;\n activityTrackingConfig.configurations.pagePing = configureActivityTracking(__assign(__assign({}, configuration), { callback: logPagePing }));\n }\n },\n enableActivityTrackingCallback: function (configuration) {\n if (!activityTrackingConfig.configurations.callback) {\n activityTrackingConfig.enabled = true;\n activityTrackingConfig.configurations.callback = configureActivityTracking(configuration);\n }\n },\n updatePageActivity: function () {\n activityHandler();\n },\n setOptOutCookie: function (name) {\n configOptOutCookie = name;\n },\n setUserId: function (userId) {\n businessUserId = userId;\n },\n setUserIdFromLocation: function (querystringField) {\n refreshUrl();\n businessUserId = fromQuerystring(querystringField, locationHrefAlias);\n },\n setUserIdFromReferrer: function (querystringField) {\n refreshUrl();\n businessUserId = fromQuerystring(querystringField, configReferrerUrl);\n },\n setUserIdFromCookie: function (cookieName) {\n businessUserId = cookie(cookieName);\n },\n setCollectorUrl: function (collectorUrl) {\n configCollectorUrl = asCollectorUrl(collectorUrl);\n outQueue.setCollectorUrl(configCollectorUrl);\n },\n setBufferSize: function (newBufferSize) {\n outQueue.setBufferSize(newBufferSize);\n },\n flushBuffer: function (configuration) {\n if (configuration === void 0) { configuration = {}; }\n outQueue.executeQueue();\n if (configuration.newBufferSize) {\n outQueue.setBufferSize(configuration.newBufferSize);\n }\n },\n trackPageView: function (event) {\n if (event === void 0) { event = {}; }\n logPageView(event);\n },\n preservePageViewId: function () {\n preservePageViewId = true;\n },\n disableAnonymousTracking: function (configuration) {\n trackerConfiguration.anonymousTracking = false;\n toggleAnonymousTracking(configuration);\n initializeIdsAndCookies();\n outQueue.executeQueue(); // There might be some events in the queue we've been unable to send in anonymous mode\n },\n enableAnonymousTracking: function (configuration) {\n var _a;\n trackerConfiguration.anonymousTracking = (_a = (configuration && (configuration === null || configuration === void 0 ? void 0 : configuration.options))) !== null && _a !== void 0 ? _a : true;\n toggleAnonymousTracking(configuration);\n // Reset the page view, if not tracking the session, so can't stitch user into new events on the page view id\n if (!configAnonymousSessionTracking) {\n resetPageView();\n }\n },\n clearUserData: clearUserDataAndCookies\n };\n return __assign(__assign({}, apiMethods), { id: trackerId, namespace: namespace, core: core, sharedState: state });\n };\n // Initialise the tracker\n var partialTracker = newTracker(trackerId, namespace, version, endpoint, sharedState, trackerConfiguration), tracker = __assign(__assign({}, partialTracker), { addPlugin: function (configuration) {\n var _a, _b;\n tracker.core.addPlugin(configuration);\n (_b = (_a = configuration.plugin).activateBrowserPlugin) === null || _b === void 0 ? void 0 : _b.call(_a, tracker);\n } });\n // Initialise each plugin with the tracker\n (_a = trackerConfiguration.plugins) === null || _a === void 0 ? void 0 : _a.forEach(function (p) {\n var _a;\n (_a = p.activateBrowserPlugin) === null || _a === void 0 ? void 0 : _a.call(p, tracker);\n });\n return tracker;\n}\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\nvar namedTrackers = {};\n/**\n * Dispatch function to all specified trackers\n *\n * @param trackers - An optional list of trackers to send the event to, or will send to all trackers\n * @param fn - The function which will run against each tracker\n */\nfunction dispatchToTrackers(trackers, fn) {\n try {\n getTrackers(trackers !== null && trackers !== void 0 ? trackers : allTrackerNames()).forEach(fn);\n }\n catch (ex) {\n LOG.error('Function failed', ex);\n }\n}\n/**\n * Dispatch function to all specified trackers from the supplied collection\n *\n * @param trackers - An optional list of trackers to send the event to, or will send to all trackers\n * @param trackerCollection - The collection which the trackers will be selected from\n * @param fn - The function which will run against each tracker\n */\nfunction dispatchToTrackersInCollection(trackers, trackerCollection, fn) {\n try {\n getTrackersFromCollection(trackers !== null && trackers !== void 0 ? trackers : Object.keys(trackerCollection), trackerCollection).forEach(fn);\n }\n catch (ex) {\n LOG.error('Function failed', ex);\n }\n}\n/**\n * Checks if a tracker has been created for a particular identifier\n * @param trackerId - The unique identifier of the tracker\n */\nfunction trackerExists(trackerId) {\n return namedTrackers.hasOwnProperty(trackerId);\n}\n/**\n * Creates a Tracker and adds it to the internal collection\n * @param trackerId - The unique identifier of the tracker\n * @param namespace - The namespace of the tracker, tracked with each event as `tna`\n * @param version - The current version of the tracker library\n * @param endpoint - The endpoint to send events to\n * @param sharedState - The instance of shared state to use for this tracker\n * @param configuration - The configuration to use for this tracker instance\n */\nfunction addTracker(trackerId, namespace, version, endpoint, sharedState, configuration) {\n if (!namedTrackers.hasOwnProperty(trackerId)) {\n namedTrackers[trackerId] = Tracker(trackerId, namespace, version, endpoint, sharedState, configuration);\n return namedTrackers[trackerId];\n }\n return null;\n}\n/**\n * Gets a single instance of the internal tracker object\n * @param trackerId - The unique identifier of the tracker\n * @returns The tracker instance, or null if not found\n */\nfunction getTracker(trackerId) {\n if (namedTrackers.hasOwnProperty(trackerId)) {\n return namedTrackers[trackerId];\n }\n LOG.warn(trackerId + ' not configured');\n return null;\n}\n/**\n * Gets an array of tracker instances based on the list of identifiers\n * @param trackerIds - An array of unique identifiers of the trackers\n * @returns The tracker instances, or empty list if none found\n */\nfunction getTrackers(trackerIds) {\n return getTrackersFromCollection(trackerIds, namedTrackers);\n}\n/**\n * Gets all the trackers as a object, keyed by their unique identifiers\n */\nfunction allTrackers() {\n return namedTrackers;\n}\n/**\n * Returns all the unique tracker identifiers\n */\nfunction allTrackerNames() {\n return Object.keys(namedTrackers);\n}\nfunction getTrackersFromCollection(trackerIds, trackerCollection) {\n var trackers = [];\n for (var _i = 0, trackerIds_1 = trackerIds; _i < trackerIds_1.length; _i++) {\n var id = trackerIds_1[_i];\n if (trackerCollection.hasOwnProperty(id)) {\n trackers.push(trackerCollection[id]);\n }\n else {\n LOG.warn(id + ' not configured');\n }\n }\n return trackers;\n}\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n/**\n * A set of variables which are shared among all initialised trackers\n */\nvar SharedState = /** @class */ (function () {\n function SharedState() {\n /* List of request queues - one per Tracker instance */\n this.outQueues = [];\n this.bufferFlushers = [];\n /* DOM Ready */\n this.hasLoaded = false;\n this.registeredOnLoadHandlers = [];\n }\n return SharedState;\n}());\nfunction createSharedState() {\n var sharedState = new SharedState(), documentAlias = document, windowAlias = window;\n /*\n * Handle page visibility event\n * Works everywhere except IE9\n */\n function visibilityChangeHandler() {\n if (documentAlias.visibilityState == 'hidden') {\n // Flush all POST queues\n sharedState.bufferFlushers.forEach(function (flusher) {\n flusher(false);\n });\n }\n }\n function flushBuffers() {\n // Flush all POST queues\n sharedState.bufferFlushers.forEach(function (flusher) {\n flusher(false);\n });\n }\n /*\n * Handler for onload event\n */\n function loadHandler() {\n var i;\n if (!sharedState.hasLoaded) {\n sharedState.hasLoaded = true;\n for (i = 0; i < sharedState.registeredOnLoadHandlers.length; i++) {\n sharedState.registeredOnLoadHandlers[i]();\n }\n }\n return true;\n }\n /*\n * Add onload or DOM ready handler\n */\n function addReadyListener() {\n if (documentAlias.addEventListener) {\n documentAlias.addEventListener('DOMContentLoaded', function ready() {\n documentAlias.removeEventListener('DOMContentLoaded', ready, false);\n loadHandler();\n });\n }\n else if (documentAlias.attachEvent) {\n documentAlias.attachEvent('onreadystatechange', function ready() {\n if (documentAlias.readyState === 'complete') {\n documentAlias.detachEvent('onreadystatechange', ready);\n loadHandler();\n }\n });\n }\n // fallback\n addEventListener(windowAlias, 'load', loadHandler, false);\n }\n /************************************************************\n * Constructor\n ************************************************************/\n // initialize the Snowplow singleton\n if (documentAlias.visibilityState) {\n // Flush for mobile and modern browsers\n addEventListener(documentAlias, 'visibilitychange', visibilityChangeHandler, false);\n }\n // Last attempt at flushing in beforeunload\n addEventListener(windowAlias, 'beforeunload', flushBuffers, false);\n if (document.readyState === 'loading') {\n addReadyListener();\n }\n else {\n loadHandler();\n }\n return sharedState;\n}\n\nexport { SharedState, addEventListener, addTracker, allTrackerNames, allTrackers, attemptDeleteLocalStorage, attemptGetLocalStorage, attemptGetSessionStorage, attemptWriteLocalStorage, attemptWriteSessionStorage, cookie, createSharedState, decorateQuerystring, deleteCookie, detectDocumentSize, detectViewport, dispatchToTrackers, dispatchToTrackersInCollection, findRootDomain, fixupDomain, fixupTitle, fixupUrl, fromQuerystring, getCookiesWithPrefix, getCssClasses, getFilterByClass, getFilterByName, getHostName, getReferrer, getTracker, getTrackers, hasLocalStorage, hasSessionStorage, isFunction, isInteger, isString, isValueInArray, localStorageAccessible, parseAndValidateFloat, parseAndValidateInt, trackerExists };\n//# sourceMappingURL=index.module.js.map\n","/*!\n * Browser tracker for Snowplow v3.1.6 (http://bit.ly/sp-js)\n * Copyright 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * Licensed under BSD-3-Clause\n */\n\nimport { dispatchToTrackers, createSharedState, addTracker } from '@snowplow/browser-tracker-core';\nimport { buildStructEvent, buildSelfDescribingEvent, version } from '@snowplow/tracker-core';\nexport { version } from '@snowplow/tracker-core';\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n/**\n * Expires current session and starts a new session.\n *\n * @param trackers - The tracker identifiers which will have their session refreshed\n */\nfunction newSession(trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.newSession();\n });\n}\n/**\n * Override referrer\n *\n * @param url - Custom Referrer which will be used as override\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction setReferrerUrl(url, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.setReferrerUrl(url);\n });\n}\n/**\n * Override url\n *\n * @param url - Custom URL which will be used as override\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction setCustomUrl(url, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.setCustomUrl(url);\n });\n}\n/**\n * Override document.title\n *\n * @param title - Document title which will be used as override\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction setDocumentTitle(title, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.setDocumentTitle(title);\n });\n}\n/**\n * Strip hash tag (or anchor) from URL\n *\n * @param enable - Whether to enable stripping of hash\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction discardHashTag(enable, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.discardHashTag(enable);\n });\n}\n/**\n * Strip braces from URL\n *\n * @param enable - Whther to enable stripping of braces\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction discardBrace(enable, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.discardBrace(enable);\n });\n}\n/**\n * Set first-party cookie path\n *\n * @param path - The path which will be used when setting cookies\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction setCookiePath(path, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.setCookiePath(path);\n });\n}\n/**\n * Set visitor cookie timeout (in seconds)\n *\n * @param timeout - The timeout until cookies will expire\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction setVisitorCookieTimeout(timeout, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.setVisitorCookieTimeout(timeout);\n });\n}\n/**\n * Enable querystring decoration for links pasing a filter\n *\n * @param crossDomainLinker - Function used to determine which links to decorate\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction crossDomainLinker(crossDomainLinkerCriterion, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.crossDomainLinker(crossDomainLinkerCriterion);\n });\n}\n/**\n * Enables page activity tracking (sends page pings to the Collector regularly).\n *\n * @param configuration - The activity tracking configuration\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction enableActivityTracking(configuration, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.enableActivityTracking(configuration);\n });\n}\n/**\n * Enables page activity tracking (replaces collector ping with callback).\n *\n * @param configuration - The activity tracking callback configuration\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction enableActivityTrackingCallback(configuration, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.enableActivityTrackingCallback(configuration);\n });\n}\n/**\n * Triggers the activityHandler manually to allow external user defined activity. i.e. While watching a video\n *\n * @param trackers - The tracker identifiers which will be updated\n */\nfunction updatePageActivity(trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.updatePageActivity();\n });\n}\n/**\n * Sets the opt out cookie.\n *\n * @param name - of the opt out cookie\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction setOptOutCookie(name, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.setOptOutCookie(name);\n });\n}\n/**\n * Set the business-defined user ID for this user.\n *\n * @param userId - The business-defined user ID\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction setUserId(userId, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.setUserId(userId);\n });\n}\n/**\n * Set the business-defined user ID for this user using the location querystring.\n *\n * @param querystringField - Name of a querystring name-value pair\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction setUserIdFromLocation(querystringField, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.setUserIdFromLocation(querystringField);\n });\n}\n/**\n * Set the business-defined user ID for this user using the referrer querystring.\n *\n * @param querystringField - Name of a querystring name-value pair\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction setUserIdFromReferrer(querystringField, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.setUserIdFromReferrer(querystringField);\n });\n}\n/**\n * Set the business-defined user ID for this user to the value of a cookie.\n *\n * @param cookieName - Name of the cookie whose value will be assigned to businessUserId\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction setUserIdFromCookie(cookieName, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.setUserIdFromCookie(cookieName);\n });\n}\n/**\n * Specify the Snowplow collector URL. Specific http or https to force it\n * or leave it off to match the website protocol.\n *\n * @param collectorUrl - The collector URL, with or without protocol\n * @param trackers - The tracker identifiers which will be configured\n */\nfunction setCollectorUrl(collectorUrl, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.setCollectorUrl(collectorUrl);\n });\n}\n/**\n * Set the buffer size\n * Can be useful if you want to stop batching requests to ensure events start\n * sending closer to event creation\n *\n * @param newBufferSize - The value with which to update the bufferSize to\n * @param trackers - The tracker identifiers which will be flushed\n */\nfunction setBufferSize(newBufferSize, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.setBufferSize(newBufferSize);\n });\n}\n/**\n * Send all events in the outQueue\n * Only need to use this when sending events with a bufferSize of at least 2\n *\n * @param configuration - The configuration to use following flushing the buffer\n * @param trackers - The tracker identifiers which will be flushed\n */\nfunction flushBuffer(configuration, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.flushBuffer(configuration);\n });\n}\n/**\n * Track a visit to a web page\n *\n * @param event - The Page View Event properties\n * @param trackers - The tracker identifiers which the event will be sent to\n */\nfunction trackPageView(event, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.trackPageView(event);\n });\n}\n/**\n * Track a structured event\n * A classic style of event tracking, allows for easier movement between analytics\n * systems. A loosely typed event, creating a Self Describing event is preferred, but\n * useful for interoperability.\n *\n * @param event - The Structured Event properties\n * @param trackers - The tracker identifiers which the event will be sent to\n */\nfunction trackStructEvent(event, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.core.track(buildStructEvent(event), event.context, event.timestamp);\n });\n}\n/**\n * Track a self-describing event happening on this page.\n * A custom event type, allowing for an event to be tracked using your own custom schema\n * and a data object which conforms to the supplied schema\n *\n * @param event - The event information\n * @param trackers - The tracker identifiers which the event will be sent to\n */\nfunction trackSelfDescribingEvent(event, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.core.track(buildSelfDescribingEvent({ event: event.event }), event.context, event.timestamp);\n });\n}\n/**\n * All provided contexts will be sent with every event\n *\n * @param contexts - An array of contexts or conditional contexts\n * @param trackers - The tracker identifiers which the global contexts will be added to\n */\nfunction addGlobalContexts(contexts, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.core.addGlobalContexts(contexts);\n });\n}\n/**\n * All provided contexts will no longer be sent with every event\n *\n * @param contexts - An array of contexts or conditional contexts\n * @param trackers - The tracker identifiers which the global contexts will be remove from\n */\nfunction removeGlobalContexts(contexts, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.core.removeGlobalContexts(contexts);\n });\n}\n/**\n * Clear all global contexts that are sent with events\n *\n * @param trackers - The tracker identifiers which the global contexts will be cleared from\n */\nfunction clearGlobalContexts(trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.core.clearGlobalContexts();\n });\n}\n/**\n * Stop regenerating `pageViewId` (available from `web_page` context)\n *\n * @param trackers - The tracker identifiers which the event will preserve their Page View Ids\n */\nfunction preservePageViewId(trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.preservePageViewId();\n });\n}\n/**\n * Disables anonymous tracking if active (ie. tracker initialized with `anonymousTracking`)\n * For stateStorageStrategy override, uses supplied value first,\n * falls back to one defined in initial config, otherwise uses cookieAndLocalStorage.\n *\n * @param configuration - The configuration for disabling anonymous tracking\n * @param trackers - The tracker identifiers which the event will be sent to\n */\nfunction disableAnonymousTracking(configuration, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.disableAnonymousTracking(configuration);\n });\n}\n/**\n * Enables anonymous tracking (ie. tracker initialized without `anonymousTracking`)\n *\n * @param configuration - The configuration for enabling anonymous tracking\n * @param trackers - The tracker identifiers which the event will be sent to\n */\nfunction enableAnonymousTracking(configuration, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.enableAnonymousTracking(configuration);\n });\n}\n/**\n * Clears all cookies and local storage containing user and session identifiers\n *\n * @param trackers - The tracker identifiers which the event will be sent to\n */\nfunction clearUserData(configuration, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.clearUserData(configuration);\n });\n}\n/**\n * Add a plugin into the plugin collection after trackers have already been initialised\n *\n * @param configuration - The plugin to add\n * @param trackers - The tracker identifiers which the plugin will be added to\n */\nfunction addPlugin(configuration, trackers) {\n dispatchToTrackers(trackers, function (t) {\n t.addPlugin(configuration);\n });\n}\n\n/*\n * Copyright (c) 2021 Snowplow Analytics Ltd, 2010 Anthon Pang\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\nvar state = typeof window !== 'undefined' ? createSharedState() : undefined;\n/**\n * Initialise a new tracker\n *\n * @param trackerId - The tracker id - also known as tracker namespace\n * @param endpoint - Collector endpoint in the form collector.mysite.com\n * @param configuration - The initialisation options of the tracker\n */\nfunction newTracker(trackerId, endpoint, configuration) {\n if (configuration === void 0) { configuration = {}; }\n if (state) {\n return addTracker(trackerId, trackerId, \"js-\" + version, endpoint, state, configuration);\n }\n else {\n return undefined;\n }\n}\n\nexport { addGlobalContexts, addPlugin, clearGlobalContexts, clearUserData, crossDomainLinker, disableAnonymousTracking, discardBrace, discardHashTag, enableActivityTracking, enableActivityTrackingCallback, enableAnonymousTracking, flushBuffer, newSession, newTracker, preservePageViewId, removeGlobalContexts, setBufferSize, setCollectorUrl, setCookiePath, setCustomUrl, setDocumentTitle, setOptOutCookie, setReferrerUrl, setUserId, setUserIdFromCookie, setUserIdFromLocation, setUserIdFromReferrer, setVisitorCookieTimeout, trackPageView, trackSelfDescribingEvent, trackStructEvent, updatePageActivity };\n//# sourceMappingURL=index.module.js.map\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\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 };","import tippy, { createSingleton } from 'tippy.js';\nexport { default as tippy } from 'tippy.js';\nimport React, { useLayoutEffect, useEffect, useRef, useState, cloneElement, useMemo, forwardRef as forwardRef$1 } from 'react';\nimport { createPortal } from 'react-dom';\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\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nfunction preserveRef(ref, node) {\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n }\n\n if ({}.hasOwnProperty.call(ref, 'current')) {\n ref.current = node;\n }\n }\n}\nfunction ssrSafeCreateDiv() {\n return isBrowser && document.createElement('div');\n}\nfunction toDataAttributes(attrs) {\n var dataAttrs = {\n 'data-placement': attrs.placement\n };\n\n if (attrs.referenceHidden) {\n dataAttrs['data-reference-hidden'] = '';\n }\n\n if (attrs.escaped) {\n dataAttrs['data-escaped'] = '';\n }\n\n return dataAttrs;\n}\n\nfunction deepEqual(x, y) {\n if (x === y) {\n return true;\n } else if (typeof x === 'object' && x != null && typeof y === 'object' && y != null) {\n if (Object.keys(x).length !== Object.keys(y).length) {\n return false;\n }\n\n for (var prop in x) {\n if (y.hasOwnProperty(prop)) {\n if (!deepEqual(x[prop], y[prop])) {\n return false;\n }\n } else {\n return false;\n }\n }\n\n return true;\n } else {\n return false;\n }\n}\n\nfunction uniqueByShape(arr) {\n var output = [];\n arr.forEach(function (item) {\n if (!output.find(function (outputItem) {\n return deepEqual(item, outputItem);\n })) {\n output.push(item);\n }\n });\n return output;\n}\nfunction deepPreserveProps(instanceProps, componentProps) {\n var _instanceProps$popper, _componentProps$poppe;\n\n return Object.assign({}, componentProps, {\n popperOptions: Object.assign({}, instanceProps.popperOptions, componentProps.popperOptions, {\n modifiers: uniqueByShape([].concat(((_instanceProps$popper = instanceProps.popperOptions) == null ? void 0 : _instanceProps$popper.modifiers) || [], ((_componentProps$poppe = componentProps.popperOptions) == null ? void 0 : _componentProps$poppe.modifiers) || []))\n })\n });\n}\n\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nfunction useMutableBox(initialValue) {\n // Using refs instead of state as it's recommended to not store imperative\n // values in state due to memory problems in React(?)\n var ref = useRef();\n\n if (!ref.current) {\n ref.current = typeof initialValue === 'function' ? initialValue() : initialValue;\n }\n\n return ref.current;\n}\n\nfunction updateClassName(box, action, classNames) {\n classNames.split(/\\s+/).forEach(function (name) {\n if (name) {\n box.classList[action](name);\n }\n });\n}\n\nvar classNamePlugin = {\n name: 'className',\n defaultValue: '',\n fn: function fn(instance) {\n var box = instance.popper.firstElementChild;\n\n var isDefaultRenderFn = function isDefaultRenderFn() {\n var _instance$props$rende;\n\n return !!((_instance$props$rende = instance.props.render) == null ? void 0 : _instance$props$rende.$$tippy);\n };\n\n function add() {\n if (instance.props.className && !isDefaultRenderFn()) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['@tippyjs/react: Cannot use `className` prop in conjunction with', '`render` prop. Place the className on the element you are', 'rendering.'].join(' '));\n }\n\n return;\n }\n\n updateClassName(box, 'add', instance.props.className);\n }\n\n function remove() {\n if (isDefaultRenderFn()) {\n updateClassName(box, 'remove', instance.props.className);\n }\n }\n\n return {\n onCreate: add,\n onBeforeUpdate: remove,\n onAfterUpdate: add\n };\n }\n};\n\nfunction TippyGenerator(tippy) {\n function Tippy(_ref) {\n var children = _ref.children,\n content = _ref.content,\n visible = _ref.visible,\n singleton = _ref.singleton,\n render = _ref.render,\n reference = _ref.reference,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$ignoreAttributes = _ref.ignoreAttributes,\n ignoreAttributes = _ref$ignoreAttributes === void 0 ? true : _ref$ignoreAttributes,\n __source = _ref.__source,\n __self = _ref.__self,\n restOfNativeProps = _objectWithoutPropertiesLoose(_ref, [\"children\", \"content\", \"visible\", \"singleton\", \"render\", \"reference\", \"disabled\", \"ignoreAttributes\", \"__source\", \"__self\"]);\n\n var isControlledMode = visible !== undefined;\n var isSingletonMode = singleton !== undefined;\n\n var _useState = useState(false),\n mounted = _useState[0],\n setMounted = _useState[1];\n\n var _useState2 = useState({}),\n attrs = _useState2[0],\n setAttrs = _useState2[1];\n\n var _useState3 = useState(),\n singletonContent = _useState3[0],\n setSingletonContent = _useState3[1];\n\n var mutableBox = useMutableBox(function () {\n return {\n container: ssrSafeCreateDiv(),\n renders: 1\n };\n });\n var props = Object.assign({\n ignoreAttributes: ignoreAttributes\n }, restOfNativeProps, {\n content: mutableBox.container\n });\n\n if (isControlledMode) {\n if (process.env.NODE_ENV !== 'production') {\n ['trigger', 'hideOnClick', 'showOnCreate'].forEach(function (nativeStateProp) {\n if (props[nativeStateProp] !== undefined) {\n console.warn([\"@tippyjs/react: Cannot specify `\" + nativeStateProp + \"` prop in\", \"controlled mode (`visible` prop)\"].join(' '));\n }\n });\n }\n\n props.trigger = 'manual';\n props.hideOnClick = false;\n }\n\n if (isSingletonMode) {\n disabled = true;\n }\n\n var computedProps = props;\n var plugins = props.plugins || [];\n\n if (render) {\n computedProps = Object.assign({}, props, {\n plugins: isSingletonMode && singleton.data != null ? [].concat(plugins, [{\n fn: function fn() {\n return {\n onTrigger: function onTrigger(instance, event) {\n var node = singleton.data.children.find(function (_ref2) {\n var instance = _ref2.instance;\n return instance.reference === event.currentTarget;\n });\n instance.state.$$activeSingletonInstance = node.instance;\n setSingletonContent(node.content);\n }\n };\n }\n }]) : plugins,\n render: function render() {\n return {\n popper: mutableBox.container\n };\n }\n });\n }\n\n var deps = [reference].concat(children ? [children.type] : []); // CREATE\n\n useIsomorphicLayoutEffect(function () {\n var element = reference;\n\n if (reference && reference.hasOwnProperty('current')) {\n element = reference.current;\n }\n\n var instance = tippy(element || mutableBox.ref || ssrSafeCreateDiv(), Object.assign({}, computedProps, {\n plugins: [classNamePlugin].concat(props.plugins || [])\n }));\n mutableBox.instance = instance;\n\n if (disabled) {\n instance.disable();\n }\n\n if (visible) {\n instance.show();\n }\n\n if (isSingletonMode) {\n singleton.hook({\n instance: instance,\n content: content,\n props: computedProps,\n setSingletonContent: setSingletonContent\n });\n }\n\n setMounted(true);\n return function () {\n instance.destroy();\n singleton == null ? void 0 : singleton.cleanup(instance);\n };\n }, deps); // UPDATE\n\n useIsomorphicLayoutEffect(function () {\n var _instance$popperInsta;\n\n // Prevent this effect from running on 1st render\n if (mutableBox.renders === 1) {\n mutableBox.renders++;\n return;\n }\n\n var instance = mutableBox.instance;\n instance.setProps(deepPreserveProps(instance.props, computedProps)); // Fixes #264\n\n (_instance$popperInsta = instance.popperInstance) == null ? void 0 : _instance$popperInsta.forceUpdate();\n\n if (disabled) {\n instance.disable();\n } else {\n instance.enable();\n }\n\n if (isControlledMode) {\n if (visible) {\n instance.show();\n } else {\n instance.hide();\n }\n }\n\n if (isSingletonMode) {\n singleton.hook({\n instance: instance,\n content: content,\n props: computedProps,\n setSingletonContent: setSingletonContent\n });\n }\n });\n useIsomorphicLayoutEffect(function () {\n var _instance$props$poppe;\n\n if (!render) {\n return;\n }\n\n var instance = mutableBox.instance;\n instance.setProps({\n popperOptions: Object.assign({}, instance.props.popperOptions, {\n modifiers: [].concat((((_instance$props$poppe = instance.props.popperOptions) == null ? void 0 : _instance$props$poppe.modifiers) || []).filter(function (_ref3) {\n var name = _ref3.name;\n return name !== '$$tippyReact';\n }), [{\n name: '$$tippyReact',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n fn: function fn(_ref4) {\n var _state$modifiersData;\n\n var state = _ref4.state;\n var hideData = (_state$modifiersData = state.modifiersData) == null ? void 0 : _state$modifiersData.hide; // WARNING: this is a high-risk path that can cause an infinite\n // loop. This expression _must_ evaluate to false when required\n\n if (attrs.placement !== state.placement || attrs.referenceHidden !== (hideData == null ? void 0 : hideData.isReferenceHidden) || attrs.escaped !== (hideData == null ? void 0 : hideData.hasPopperEscaped)) {\n setAttrs({\n placement: state.placement,\n referenceHidden: hideData == null ? void 0 : hideData.isReferenceHidden,\n escaped: hideData == null ? void 0 : hideData.hasPopperEscaped\n });\n }\n\n state.attributes.popper = {};\n }\n }])\n })\n });\n }, [attrs.placement, attrs.referenceHidden, attrs.escaped].concat(deps));\n return /*#__PURE__*/React.createElement(React.Fragment, null, children ? /*#__PURE__*/cloneElement(children, {\n ref: function ref(node) {\n mutableBox.ref = node;\n preserveRef(children.ref, node);\n }\n }) : null, mounted && /*#__PURE__*/createPortal(render ? render(toDataAttributes(attrs), singletonContent, mutableBox.instance) : content, mutableBox.container));\n }\n\n return Tippy;\n}\n\nfunction useSingletonGenerator(createSingleton) {\n return function useSingleton(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$overrides = _ref.overrides,\n overrides = _ref$overrides === void 0 ? [] : _ref$overrides;\n\n var _useState = useState(false),\n mounted = _useState[0],\n setMounted = _useState[1];\n\n var mutableBox = useMutableBox({\n children: [],\n renders: 1\n });\n useIsomorphicLayoutEffect(function () {\n if (!mounted) {\n setMounted(true);\n return;\n }\n\n var children = mutableBox.children,\n sourceData = mutableBox.sourceData;\n\n if (!sourceData) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(['@tippyjs/react: The `source` variable from `useSingleton()` has', 'not been passed to a component.'].join(' '));\n }\n\n return;\n }\n\n var instance = createSingleton(children.map(function (child) {\n return child.instance;\n }), Object.assign({}, sourceData.props, {\n popperOptions: sourceData.instance.props.popperOptions,\n overrides: overrides,\n plugins: [classNamePlugin].concat(sourceData.props.plugins || [])\n }));\n mutableBox.instance = instance;\n\n if (disabled) {\n instance.disable();\n }\n\n return function () {\n instance.destroy();\n mutableBox.children = children.filter(function (_ref2) {\n var instance = _ref2.instance;\n return !instance.state.isDestroyed;\n });\n };\n }, [mounted]);\n useIsomorphicLayoutEffect(function () {\n if (!mounted) {\n return;\n }\n\n if (mutableBox.renders === 1) {\n mutableBox.renders++;\n return;\n }\n\n var children = mutableBox.children,\n instance = mutableBox.instance,\n sourceData = mutableBox.sourceData;\n\n if (!(instance && sourceData)) {\n return;\n }\n\n var _sourceData$props = sourceData.props,\n content = _sourceData$props.content,\n props = _objectWithoutPropertiesLoose(_sourceData$props, [\"content\"]);\n\n instance.setProps(deepPreserveProps(instance.props, Object.assign({}, props, {\n overrides: overrides\n })));\n instance.setInstances(children.map(function (child) {\n return child.instance;\n }));\n\n if (disabled) {\n instance.disable();\n } else {\n instance.enable();\n }\n });\n return useMemo(function () {\n var source = {\n data: mutableBox,\n hook: function hook(data) {\n mutableBox.sourceData = data;\n mutableBox.setSingletonContent = data.setSingletonContent;\n },\n cleanup: function cleanup() {\n mutableBox.sourceData = null;\n }\n };\n var target = {\n hook: function hook(data) {\n var _mutableBox$instance, _mutableBox$instance2;\n\n mutableBox.children = mutableBox.children.filter(function (_ref3) {\n var instance = _ref3.instance;\n return data.instance !== instance;\n });\n mutableBox.children.push(data);\n\n if (((_mutableBox$instance = mutableBox.instance) == null ? void 0 : _mutableBox$instance.state.isMounted) && ((_mutableBox$instance2 = mutableBox.instance) == null ? void 0 : _mutableBox$instance2.state.$$activeSingletonInstance) === data.instance) {\n mutableBox.setSingletonContent == null ? void 0 : mutableBox.setSingletonContent(data.content);\n }\n\n if (mutableBox.instance && !mutableBox.instance.state.isDestroyed) {\n mutableBox.instance.setInstances(mutableBox.children.map(function (child) {\n return child.instance;\n }));\n }\n },\n cleanup: function cleanup(instance) {\n mutableBox.children = mutableBox.children.filter(function (data) {\n return data.instance !== instance;\n });\n\n if (mutableBox.instance && !mutableBox.instance.state.isDestroyed) {\n mutableBox.instance.setInstances(mutableBox.children.map(function (child) {\n return child.instance;\n }));\n }\n }\n };\n return [source, target];\n }, []);\n };\n}\n\nvar forwardRef = (function (Tippy, defaultProps) {\n return /*#__PURE__*/forwardRef$1(function TippyWrapper(_ref, _ref2) {\n var children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, [\"children\"]);\n\n return (\n /*#__PURE__*/\n // If I spread them separately here, Babel adds the _extends ponyfill for\n // some reason\n React.createElement(Tippy, Object.assign({}, defaultProps, props), children ? /*#__PURE__*/cloneElement(children, {\n ref: function ref(node) {\n preserveRef(_ref2, node);\n preserveRef(children.ref, node);\n }\n }) : null)\n );\n });\n});\n\nvar useSingleton = /*#__PURE__*/useSingletonGenerator(createSingleton);\nvar index = /*#__PURE__*/forwardRef( /*#__PURE__*/TippyGenerator(tippy));\n\nexport default index;\nexport { useSingleton };\n//# sourceMappingURL=tippy-react.esm.js.map\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 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 { 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(round(x * dpr) / dpr) || 0,\n y: round(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\n var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,\n _ref3$x = _ref3.x,\n x = _ref3$x === void 0 ? 0 : _ref3$x,\n _ref3$y = _ref3.y,\n y = _ref3$y === void 0 ? 0 : _ref3$y;\n\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; // $FlowFixMe[prop-missing]\n\n y -= offsetParent[heightProp] - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right; // $FlowFixMe[prop-missing]\n\n x -= offsetParent[widthProp] - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\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(_ref4) {\n var state = _ref4.state,\n options = _ref4.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 };\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 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};","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 { max as mathMax, min as mathMin } from \"./math.js\";\nexport default function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\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 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 getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\";\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};","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 { 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 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 { max as mathMax, min as mathMin } 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 data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis || checkAltAxis) {\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 = popperOffsets[mainAxis] + overflow[mainSide];\n var max = popperOffsets[mainAxis] - 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 - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\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 = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n if (checkMainAxis) {\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 _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var _preventedOffset = within(tether ? mathMin(_min, tetherMin) : _min, _offset, tether ? mathMax(_max, tetherMax) : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\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};","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 { 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 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\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = rect.width / element.offsetWidth || 1;\n var scaleY = 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);\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}","/**!\n* tippy.js v6.3.5\n* (c) 2017-2021 atomiks\n* MIT License\n*/\nimport { createPopper, applyStyles } from '@popperjs/core';\n\nvar ROUND_ARROW = '';\nvar BOX_CLASS = \"tippy-box\";\nvar CONTENT_CLASS = \"tippy-content\";\nvar BACKDROP_CLASS = \"tippy-backdrop\";\nvar ARROW_CLASS = \"tippy-arrow\";\nvar SVG_ARROW_CLASS = \"tippy-svg-arrow\";\nvar TOUCH_OPTIONS = {\n passive: true,\n capture: true\n};\nvar TIPPY_DEFAULT_APPEND_TO = function TIPPY_DEFAULT_APPEND_TO() {\n return document.body;\n};\n\nfunction hasOwnProperty(obj, key) {\n return {}.hasOwnProperty.call(obj, key);\n}\nfunction getValueAtIndexOrReturn(value, index, defaultValue) {\n if (Array.isArray(value)) {\n var v = value[index];\n return v == null ? Array.isArray(defaultValue) ? defaultValue[index] : defaultValue : v;\n }\n\n return value;\n}\nfunction isType(value, type) {\n var str = {}.toString.call(value);\n return str.indexOf('[object') === 0 && str.indexOf(type + \"]\") > -1;\n}\nfunction invokeWithArgsOrReturn(value, args) {\n return typeof value === 'function' ? value.apply(void 0, args) : value;\n}\nfunction debounce(fn, ms) {\n // Avoid wrapping in `setTimeout` if ms is 0 anyway\n if (ms === 0) {\n return fn;\n }\n\n var timeout;\n return function (arg) {\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n fn(arg);\n }, ms);\n };\n}\nfunction removeProperties(obj, keys) {\n var clone = Object.assign({}, obj);\n keys.forEach(function (key) {\n delete clone[key];\n });\n return clone;\n}\nfunction splitBySpaces(value) {\n return value.split(/\\s+/).filter(Boolean);\n}\nfunction normalizeToArray(value) {\n return [].concat(value);\n}\nfunction pushIfUnique(arr, value) {\n if (arr.indexOf(value) === -1) {\n arr.push(value);\n }\n}\nfunction unique(arr) {\n return arr.filter(function (item, index) {\n return arr.indexOf(item) === index;\n });\n}\nfunction getBasePlacement(placement) {\n return placement.split('-')[0];\n}\nfunction arrayFrom(value) {\n return [].slice.call(value);\n}\nfunction removeUndefinedProps(obj) {\n return Object.keys(obj).reduce(function (acc, key) {\n if (obj[key] !== undefined) {\n acc[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n\nfunction div() {\n return document.createElement('div');\n}\nfunction isElement(value) {\n return ['Element', 'Fragment'].some(function (type) {\n return isType(value, type);\n });\n}\nfunction isNodeList(value) {\n return isType(value, 'NodeList');\n}\nfunction isMouseEvent(value) {\n return isType(value, 'MouseEvent');\n}\nfunction isReferenceElement(value) {\n return !!(value && value._tippy && value._tippy.reference === value);\n}\nfunction getArrayOfElements(value) {\n if (isElement(value)) {\n return [value];\n }\n\n if (isNodeList(value)) {\n return arrayFrom(value);\n }\n\n if (Array.isArray(value)) {\n return value;\n }\n\n return arrayFrom(document.querySelectorAll(value));\n}\nfunction setTransitionDuration(els, value) {\n els.forEach(function (el) {\n if (el) {\n el.style.transitionDuration = value + \"ms\";\n }\n });\n}\nfunction setVisibilityState(els, state) {\n els.forEach(function (el) {\n if (el) {\n el.setAttribute('data-state', state);\n }\n });\n}\nfunction getOwnerDocument(elementOrElements) {\n var _element$ownerDocumen;\n\n var _normalizeToArray = normalizeToArray(elementOrElements),\n element = _normalizeToArray[0]; // Elements created via a