{"version":3,"file":"theme-BRYCkxg2.js","sources":["../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/index.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/tslib/tslib.es6.mjs","../../../node_modules/react-remove-scroll-bar/dist/es2015/constants.js","../../../node_modules/use-callback-ref/dist/es2015/assignRef.js","../../../node_modules/use-callback-ref/dist/es2015/useRef.js","../../../node_modules/use-callback-ref/dist/es2015/useMergeRef.js","../../../node_modules/use-sidecar/dist/es2015/medium.js","../../../node_modules/use-sidecar/dist/es2015/exports.js","../../../node_modules/react-remove-scroll/dist/es2015/medium.js","../../../node_modules/react-remove-scroll/dist/es2015/UI.js","../../../node_modules/get-nonce/dist/es2015/index.js","../../../node_modules/react-style-singleton/dist/es2015/singleton.js","../../../node_modules/react-style-singleton/dist/es2015/hook.js","../../../node_modules/react-style-singleton/dist/es2015/component.js","../../../node_modules/react-remove-scroll-bar/dist/es2015/utils.js","../../../node_modules/react-remove-scroll-bar/dist/es2015/component.js","../../../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","../../../node_modules/react-remove-scroll/dist/es2015/handleScroll.js","../../../node_modules/react-remove-scroll/dist/es2015/SideEffect.js","../../../node_modules/react-remove-scroll/dist/es2015/sidecar.js","../../../node_modules/react-remove-scroll/dist/es2015/Combination.js","../../../node_modules/@mantine/core/esm/core/utils/keys/keys.mjs","../../../node_modules/@mantine/core/esm/core/utils/deep-merge/deep-merge.mjs","../../../node_modules/@mantine/core/esm/core/utils/camel-to-kebab-case/camel-to-kebab-case.mjs","../../../node_modules/@mantine/core/esm/core/utils/units-converters/rem.mjs","../../../node_modules/@mantine/core/esm/core/utils/filter-props/filter-props.mjs","../../../node_modules/@mantine/core/esm/core/utils/is-number-like/is-number-like.mjs","../../../node_modules/@mantine/core/esm/core/utils/is-element/is-element.mjs","../../../node_modules/@mantine/core/esm/core/utils/create-safe-context/create-safe-context.mjs","../../../node_modules/@mantine/core/esm/core/utils/create-optional-context/create-optional-context.mjs","../../../node_modules/@mantine/core/esm/core/utils/get-default-z-index/get-default-z-index.mjs","../../../node_modules/@mantine/core/esm/core/utils/noop/noop.mjs","../../../node_modules/@mantine/core/esm/core/utils/close-on-escape/close-on-escape.mjs","../../../node_modules/@mantine/core/esm/core/utils/get-size/get-size.mjs","../../../node_modules/@mantine/hooks/esm/utils/clamp/clamp.mjs","../../../node_modules/@mantine/hooks/esm/utils/random-id/random-id.mjs","../../../node_modules/@mantine/hooks/esm/use-callback-ref/use-callback-ref.mjs","../../../node_modules/@mantine/hooks/esm/use-debounced-callback/use-debounced-callback.mjs","../../../node_modules/@mantine/hooks/esm/use-click-outside/use-click-outside.mjs","../../../node_modules/@mantine/hooks/esm/use-media-query/use-media-query.mjs","../../../node_modules/@mantine/hooks/esm/use-isomorphic-effect/use-isomorphic-effect.mjs","../../../node_modules/@mantine/hooks/esm/use-did-update/use-did-update.mjs","../../../node_modules/@mantine/hooks/esm/use-focus-return/use-focus-return.mjs","../../../node_modules/@mantine/hooks/esm/use-focus-trap/create-aria-hider.mjs","../../../node_modules/@mantine/hooks/esm/use-focus-trap/tabbable.mjs","../../../node_modules/@mantine/hooks/esm/use-focus-trap/scope-tab.mjs","../../../node_modules/@mantine/hooks/esm/use-focus-trap/use-focus-trap.mjs","../../../node_modules/@mantine/hooks/esm/use-id/use-react-id.mjs","../../../node_modules/@mantine/hooks/esm/use-id/use-id.mjs","../../../node_modules/@mantine/hooks/esm/use-window-event/use-window-event.mjs","../../../node_modules/@mantine/hooks/esm/use-merged-ref/use-merged-ref.mjs","../../../node_modules/@mantine/hooks/esm/use-uncontrolled/use-uncontrolled.mjs","../../../node_modules/@mantine/hooks/esm/use-reduced-motion/use-reduced-motion.mjs","../../../node_modules/@mantine/hooks/esm/use-disclosure/use-disclosure.mjs","../../../node_modules/@mantine/hooks/esm/use-previous/use-previous.mjs","../../../node_modules/@mantine/core/esm/core/utils/get-env/get-env.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/create-vars-resolver/create-vars-resolver.mjs","../../../node_modules/clsx/dist/clsx.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/resolve-class-names/resolve-class-names.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/resolve-styles/resolve-styles.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/Mantine.context.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/color-functions/to-rgba/to-rgba.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/color-functions/darken/darken.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/color-functions/get-primary-shade/get-primary-shade.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/color-functions/luminance/luminance.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/color-functions/get-theme-color/get-theme-color.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/color-functions/get-gradient/get-gradient.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/color-functions/rgba/rgba.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/default-colors.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/default-theme.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/merge-mantine-theme/merge-mantine-theme.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-global-class-names/get-global-class-names.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-root-class-name/get-root-class-name.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-selector-class-name/get-selector-class-name.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-static-class-names/get-static-class-names.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-theme-class-names/get-theme-class-names.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-variant-class-name/get-variant-class-name.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-class-name.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/get-theme-styles/get-theme-styles.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/resolve-style/resolve-style.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/resolve-vars/merge-vars.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/resolve-vars/resolve-vars.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/get-style.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/use-transformed-styles.mjs","../../../node_modules/@mantine/core/esm/core/styles-api/use-styles/use-styles.mjs","../../../node_modules/@mantine/core/esm/core/MantineProvider/use-props/use-props.mjs","../../../node_modules/@mantine/core/esm/core/InlineStyles/css-object-to-string/css-object-to-string.mjs","../../../node_modules/@mantine/core/esm/core/InlineStyles/styles-to-string/styles-to-string.mjs","../../../node_modules/@mantine/core/esm/core/InlineStyles/InlineStyles.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/extract-style-props/extract-style-props.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/style-props-data.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/resolvers/color-resolver/color-resolver.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/resolvers/border-resolver/border-resolver.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/resolvers/font-family-resolver/font-family-resolver.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/resolvers/font-size-resolver/font-size-resolver.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/resolvers/identity-resolver/identity-resolver.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/resolvers/line-height-resolver/line-height-resolver.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/resolvers/size-resolver/size-resolver.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/resolvers/spacing-resolver/spacing-resolver.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/resolvers/index.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/parse-style-props/sort-media-queries.mjs","../../../node_modules/@mantine/core/esm/core/Box/style-props/parse-style-props/parse-style-props.mjs","../../../node_modules/@mantine/core/esm/core/Box/use-random-classname/use-random-classname.mjs","../../../node_modules/@mantine/core/esm/core/factory/create-polymorphic-component.mjs","../../../node_modules/@mantine/core/esm/core/Box/get-box-mod/get-box-mod.mjs","../../../node_modules/@mantine/core/esm/core/Box/get-box-style/get-box-style.mjs","../../../node_modules/@mantine/core/esm/core/Box/Box.mjs","../../../node_modules/@mantine/core/esm/core/factory/factory.mjs","../../../node_modules/@mantine/core/esm/core/factory/polymorphic-factory.mjs","../../../node_modules/@mantine/core/esm/core/DirectionProvider/DirectionProvider.mjs","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/index.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/index.js","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollArea.context.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/use-resize-observer.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/utils/get-thumb-ratio.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/utils/get-thumb-size.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/utils/linear-scale.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/utils/get-thumb-offset-from-scroll.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/utils/get-scroll-position-from-pointer.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/utils/is-scrolling-within-scrollbar-bounds.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/utils/to-int.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/utils/compose-event-handlers.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/utils/add-unlinked-scroll-listener.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollArea.module.css.mjs","../../../node_modules/@mantine/core/esm/components/ScrollArea/ScrollArea.mjs","../../../node_modules/@mantine/core/esm/components/UnstyledButton/UnstyledButton.module.css.mjs","../../../node_modules/@mantine/core/esm/components/UnstyledButton/UnstyledButton.mjs","../../../node_modules/@mantine/core/esm/components/VisuallyHidden/VisuallyHidden.module.css.mjs","../../../node_modules/@mantine/core/esm/components/VisuallyHidden/VisuallyHidden.mjs","../../../node_modules/@mantine/core/esm/components/Paper/Paper.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Paper/Paper.mjs","../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs","../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs","../../../node_modules/@mantine/core/esm/components/Floating/get-floating-position/get-floating-position.mjs","../../../node_modules/@mantine/core/esm/components/Floating/FloatingArrow/get-arrow-position-styles.mjs","../../../node_modules/@mantine/core/esm/components/Floating/FloatingArrow/FloatingArrow.mjs","../../../node_modules/@mantine/core/esm/components/Popover/Popover.context.mjs","../../../node_modules/@mantine/core/esm/components/FocusTrap/FocusTrap.mjs","../../../node_modules/@mantine/core/esm/components/Portal/Portal.mjs","../../../node_modules/@mantine/core/esm/components/Portal/OptionalPortal.mjs","../../../node_modules/@mantine/core/esm/components/Transition/transitions.mjs","../../../node_modules/@mantine/core/esm/components/Transition/get-transition-styles/get-transition-styles.mjs","../../../node_modules/@mantine/core/esm/components/Transition/use-transition.mjs","../../../node_modules/@mantine/core/esm/components/Transition/Transition.mjs","../../../node_modules/@mantine/core/esm/components/Popover/Popover.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs","../../../node_modules/@mantine/core/esm/components/Popover/PopoverTarget/PopoverTarget.mjs","../../../node_modules/@mantine/core/esm/components/Floating/use-floating-auto-update.mjs","../../../node_modules/@mantine/core/esm/components/Popover/use-popover.mjs","../../../node_modules/@mantine/core/esm/components/Popover/Popover.mjs","../../../node_modules/@mantine/core/esm/components/Loader/Loader.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Loader/loaders/Bars.mjs","../../../node_modules/@mantine/core/esm/components/Loader/loaders/Dots.mjs","../../../node_modules/@mantine/core/esm/components/Loader/loaders/Oval.mjs","../../../node_modules/@mantine/core/esm/components/Loader/Loader.mjs","../../../node_modules/@mantine/core/esm/components/ActionIcon/ActionIcon.module.css.mjs","../../../node_modules/@mantine/core/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.mjs","../../../node_modules/@mantine/core/esm/components/ActionIcon/ActionIcon.mjs","../../../node_modules/@mantine/core/esm/components/CloseButton/CloseIcon.mjs","../../../node_modules/@mantine/core/esm/components/CloseButton/CloseButton.module.css.mjs","../../../node_modules/@mantine/core/esm/components/CloseButton/CloseButton.mjs","../../../node_modules/@mantine/core/esm/components/Overlay/Overlay.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Overlay/Overlay.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/ModalBase.context.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/use-lock-scroll.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/use-modal.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/ModalBase.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/use-modal-body-id.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/ModalBase.module.css.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/ModalBaseBody.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/ModalBaseCloseButton.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/ModalBaseContent.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/ModalBaseHeader.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/use-modal-transition.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/ModalBaseOverlay.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/use-modal-title-id.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/ModalBaseTitle.mjs","../../../node_modules/@mantine/core/esm/components/ModalBase/NativeScrollArea.mjs","../../../node_modules/@mantine/core/esm/components/Input/InputWrapper.context.mjs","../../../node_modules/@mantine/core/esm/components/Input/Input.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Input/InputDescription/InputDescription.mjs","../../../node_modules/@mantine/core/esm/components/Input/InputError/InputError.mjs","../../../node_modules/@mantine/core/esm/components/Input/InputLabel/InputLabel.mjs","../../../node_modules/@mantine/core/esm/components/Input/InputPlaceholder/InputPlaceholder.mjs","../../../node_modules/@mantine/core/esm/components/Input/InputWrapper/get-input-offsets/get-input-offsets.mjs","../../../node_modules/@mantine/core/esm/components/Input/InputWrapper/InputWrapper.mjs","../../../node_modules/@mantine/core/esm/components/Input/Input.mjs","../../../node_modules/@mantine/core/esm/components/Input/use-input-props.mjs","../../../node_modules/@mantine/core/esm/components/InputBase/InputBase.mjs","../../../node_modules/@mantine/core/esm/components/Accordion/AccordionChevron.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/get-parsed-combobox-data/get-parsed-combobox-data.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/get-options-lockup/get-options-lockup.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/Combobox.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxChevron/ComboboxChevron.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/Combobox.context.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxClearButton/ComboboxClearButton.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxDropdown/ComboboxDropdown.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxDropdownTarget/ComboboxDropdownTarget.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxEmpty/ComboboxEmpty.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxFooter/ComboboxFooter.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxGroup/ComboboxGroup.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxHeader/ComboboxHeader.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxHiddenInput/ComboboxHiddenInput.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxOption/ComboboxOption.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxOptions/ComboboxOptions.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxSearch/ComboboxSearch.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/ComboboxTarget/ComboboxTarget.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/use-combobox/get-index/get-index.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/use-combobox/use-combobox.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/Combobox.mjs","../../../node_modules/@mantine/core/esm/components/Checkbox/CheckIcon.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/OptionsDropdown/is-options-group.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/OptionsDropdown/default-options-filter.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/OptionsDropdown/is-empty-combobox-data.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/OptionsDropdown/validate-options.mjs","../../../node_modules/@mantine/core/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs","../../../node_modules/@mantine/core/esm/components/Autocomplete/Autocomplete.mjs","../../../node_modules/@mantine/core/esm/components/Button/Button.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Button/ButtonGroup/ButtonGroup.mjs","../../../node_modules/@mantine/core/esm/components/Button/Button.mjs","../../../node_modules/@mantine/core/esm/components/Card/Card.context.mjs","../../../node_modules/@mantine/core/esm/components/Card/Card.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Card/CardSection/CardSection.mjs","../../../node_modules/@mantine/core/esm/components/Card/Card.mjs","../../../node_modules/@mantine/core/esm/components/Container/Container.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Container/Container.mjs","../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../../../node_modules/use-latest/dist/use-latest.esm.js","../../../node_modules/use-composed-ref/dist/use-composed-ref.esm.js","../../../node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js","../../../node_modules/@mantine/core/esm/components/Textarea/Textarea.mjs","../../../node_modules/@mantine/core/esm/components/Modal/Modal.context.mjs","../../../node_modules/@mantine/core/esm/components/Modal/Modal.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Modal/ModalBody.mjs","../../../node_modules/@mantine/core/esm/components/Modal/ModalCloseButton.mjs","../../../node_modules/@mantine/core/esm/components/Modal/ModalContent.mjs","../../../node_modules/@mantine/core/esm/components/Modal/ModalHeader.mjs","../../../node_modules/@mantine/core/esm/components/Modal/ModalOverlay.mjs","../../../node_modules/@mantine/core/esm/components/Modal/ModalRoot.mjs","../../../node_modules/@mantine/core/esm/components/Modal/ModalTitle.mjs","../../../node_modules/@mantine/core/esm/components/Modal/Modal.mjs","../../../node_modules/@mantine/core/esm/components/PillsInput/PillsInput.context.mjs","../../../node_modules/@mantine/core/esm/components/Pill/PillGroup.context.mjs","../../../node_modules/@mantine/core/esm/components/Pill/Pill.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Pill/PillGroup/PillGroup.mjs","../../../node_modules/@mantine/core/esm/components/Pill/Pill.mjs","../../../node_modules/@mantine/core/esm/components/PillsInput/PillsInput.module.css.mjs","../../../node_modules/@mantine/core/esm/components/PillsInput/PillsInputField/PillsInputField.mjs","../../../node_modules/@mantine/core/esm/components/PillsInput/PillsInput.mjs","../../../node_modules/@mantine/core/esm/components/MultiSelect/filter-picked-values.mjs","../../../node_modules/@mantine/core/esm/components/MultiSelect/MultiSelect.mjs","../../../node_modules/@mantine/core/esm/components/NativeSelect/NativeSelectOption.mjs","../../../node_modules/@mantine/core/esm/components/NativeSelect/NativeSelect.mjs","../../../node_modules/react-number-format/dist/react-number-format.es.js","../../../node_modules/@mantine/core/esm/components/NumberInput/NumberInputChevron.mjs","../../../node_modules/@mantine/core/esm/components/NumberInput/NumberInput.module.css.mjs","../../../node_modules/@mantine/core/esm/components/NumberInput/NumberInput.mjs","../../../node_modules/@mantine/core/esm/components/PasswordInput/PasswordToggleIcon.mjs","../../../node_modules/@mantine/core/esm/components/PasswordInput/PasswordInput.module.css.mjs","../../../node_modules/@mantine/core/esm/components/PasswordInput/PasswordInput.mjs","../../../node_modules/@mantine/core/esm/components/Select/Select.mjs","../../../node_modules/@mantine/core/esm/components/Table/Table.context.mjs","../../../node_modules/@mantine/core/esm/components/Table/Table.module.css.mjs","../../../node_modules/@mantine/core/esm/components/Table/Table.components.mjs","../../../node_modules/@mantine/core/esm/components/Table/TableDataRenderer.mjs","../../../node_modules/@mantine/core/esm/components/Table/TableScrollContainer.mjs","../../../node_modules/@mantine/core/esm/components/Table/Table.mjs","../../../node_modules/@mantine/core/esm/components/TextInput/TextInput.mjs","../../../node_modules/dayjs/dayjs.min.js","../../../node_modules/@mantine/dates/esm/utils/get-formatted-date.mjs","../../../node_modules/@mantine/dates/esm/utils/handle-control-key-down.mjs","../../../node_modules/@mantine/dates/esm/utils/assign-time/assign-time.mjs","../../../node_modules/dayjs/plugin/timezone.js","../../../node_modules/dayjs/plugin/utc.js","../../../node_modules/@mantine/dates/esm/utils/get-timezone-offset.mjs","../../../node_modules/@mantine/dates/esm/utils/shift-timezone.mjs","../../../node_modules/@mantine/dates/esm/utils/get-default-clamped-date.mjs","../../../node_modules/@mantine/dates/esm/components/DatesProvider/DatesProvider.mjs","../../../node_modules/@mantine/dates/esm/components/DatesProvider/use-dates-context.mjs","../../../node_modules/@mantine/dates/esm/components/HiddenDatesInput/HiddenDatesInput.mjs","../../../node_modules/@mantine/dates/esm/components/TimeInput/TimeInput.module.css.mjs","../../../node_modules/@mantine/dates/esm/components/TimeInput/TimeInput.mjs","../../../node_modules/@mantine/dates/esm/components/Day/Day.module.css.mjs","../../../node_modules/@mantine/dates/esm/components/Day/Day.mjs","../../../node_modules/@mantine/dates/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs","../../../node_modules/@mantine/dates/esm/components/WeekdaysRow/WeekdaysRow.module.css.mjs","../../../node_modules/@mantine/dates/esm/components/WeekdaysRow/WeekdaysRow.mjs","../../../node_modules/@mantine/dates/esm/components/Month/get-end-of-week/get-end-of-week.mjs","../../../node_modules/@mantine/dates/esm/components/Month/get-start-of-week/get-start-of-week.mjs","../../../node_modules/@mantine/dates/esm/components/Month/get-month-days/get-month-days.mjs","../../../node_modules/@mantine/dates/esm/components/Month/is-same-month/is-same-month.mjs","../../../node_modules/@mantine/dates/esm/components/Month/is-after-min-date/is-after-min-date.mjs","../../../node_modules/@mantine/dates/esm/components/Month/is-before-max-date/is-before-max-date.mjs","../../../node_modules/@mantine/dates/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs","../../../node_modules/@mantine/dates/esm/components/Month/Month.module.css.mjs","../../../node_modules/@mantine/dates/esm/components/Month/Month.mjs","../../../node_modules/@mantine/dates/esm/components/PickerControl/PickerControl.module.css.mjs","../../../node_modules/@mantine/dates/esm/components/PickerControl/PickerControl.mjs","../../../node_modules/@mantine/dates/esm/components/YearsList/is-year-disabled/is-year-disabled.mjs","../../../node_modules/@mantine/dates/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs","../../../node_modules/@mantine/dates/esm/components/YearsList/get-years-data/get-years-data.mjs","../../../node_modules/@mantine/dates/esm/components/YearsList/YearsList.module.css.mjs","../../../node_modules/@mantine/dates/esm/components/YearsList/YearsList.mjs","../../../node_modules/@mantine/dates/esm/components/MonthsList/is-month-disabled/is-month-disabled.mjs","../../../node_modules/@mantine/dates/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs","../../../node_modules/@mantine/dates/esm/components/MonthsList/get-months-data/get-months-data.mjs","../../../node_modules/@mantine/dates/esm/components/MonthsList/MonthsList.module.css.mjs","../../../node_modules/@mantine/dates/esm/components/MonthsList/MonthsList.mjs","../../../node_modules/@mantine/dates/esm/components/CalendarHeader/CalendarHeader.module.css.mjs","../../../node_modules/@mantine/dates/esm/components/CalendarHeader/CalendarHeader.mjs","../../../node_modules/@mantine/dates/esm/components/DecadeLevel/get-decade-range/get-decade-range.mjs","../../../node_modules/@mantine/dates/esm/components/DecadeLevel/DecadeLevel.mjs","../../../node_modules/@mantine/dates/esm/components/YearLevel/YearLevel.mjs","../../../node_modules/@mantine/dates/esm/components/MonthLevel/MonthLevel.mjs","../../../node_modules/@mantine/dates/esm/components/LevelsGroup/LevelsGroup.module.css.mjs","../../../node_modules/@mantine/dates/esm/components/LevelsGroup/LevelsGroup.mjs","../../../node_modules/@mantine/dates/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs","../../../node_modules/@mantine/dates/esm/components/YearLevelGroup/YearLevelGroup.mjs","../../../node_modules/@mantine/dates/esm/components/MonthLevelGroup/MonthLevelGroup.mjs","../../../node_modules/@mantine/dates/esm/components/PickerInputBase/PickerInputBase.module.css.mjs","../../../node_modules/@mantine/dates/esm/components/PickerInputBase/PickerInputBase.mjs","../../../node_modules/@mantine/dates/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs","../../../node_modules/@mantine/dates/esm/components/Calendar/clamp-level/clamp-level.mjs","../../../node_modules/@mantine/dates/esm/components/Calendar/Calendar.mjs","../../../node_modules/@mantine/dates/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs","../../../node_modules/@mantine/dates/esm/hooks/use-dates-state/is-in-range/is-in-range.mjs","../../../node_modules/@mantine/dates/esm/hooks/use-dates-state/use-dates-state.mjs","../../../node_modules/@mantine/dates/esm/components/DatePicker/DatePicker.mjs","../../../node_modules/@mantine/dates/esm/components/DateInput/date-string-parser/date-string-parser.mjs","../../../node_modules/@mantine/dates/esm/components/DateInput/is-date-valid/is-date-valid.mjs","../../../node_modules/@mantine/dates/esm/components/DateInput/DateInput.mjs","../../../node_modules/@mantine/dates/esm/components/DateTimePicker/DateTimePicker.module.css.mjs","../../../node_modules/@mantine/dates/esm/components/DateTimePicker/DateTimePicker.mjs","../../../node_modules/@mantine/dates/esm/hooks/use-dates-input/use-dates-input.mjs","../../../node_modules/@mantine/dates/esm/components/DatePickerInput/DatePickerInput.mjs","../../../app/frontend/entrypoints/theme.ts"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1= 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\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\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, inner;\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 if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\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","/**\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 { 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","import * as React from 'react';\nimport { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar currentValues = new WeakMap();\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 var callbackRef = useCallbackRef(defaultValue || null, function (newValue) {\n return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n });\n // handle refs changes - added or removed\n useIsomorphicLayoutEffect(function () {\n var oldValue = currentValues.get(callbackRef);\n if (oldValue) {\n var prevRefs_1 = new Set(oldValue);\n var nextRefs_1 = new Set(refs);\n var current_1 = callbackRef.current;\n prevRefs_1.forEach(function (ref) {\n if (!nextRefs_1.has(ref)) {\n assignRef(ref, null);\n }\n });\n nextRefs_1.forEach(function (ref) {\n if (!prevRefs_1.has(ref)) {\n assignRef(ref, current_1);\n }\n });\n }\n currentValues.set(callbackRef, refs);\n }, [refs]);\n return callbackRef;\n}\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 { 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","var currentNonce;\nexport var setNonce = function (nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n return undefined;\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();\nexport var lockAttribute = 'data-scroll-locked';\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[\").concat(lockAttribute, \"] {\\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[\").concat(lockAttribute, \"] {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\nvar getCurrentUseCounter = function () {\n var counter = parseInt(document.body.getAttribute(lockAttribute) || '0', 10);\n return isFinite(counter) ? counter : 0;\n};\nexport var useLockAttribute = function () {\n React.useEffect(function () {\n document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n return function () {\n var newCounter = getCurrentUseCounter() - 1;\n if (newCounter <= 0) {\n document.body.removeAttribute(lockAttribute);\n }\n else {\n document.body.setAttribute(lockAttribute, newCounter.toString());\n }\n };\n }, []);\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (_a) {\n var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? 'margin' : _b;\n useLockAttribute();\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 clientHeight) {\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 if (target instanceof ShadowRoot) {\n target = target.host;\n }\n else {\n target = target.parentNode;\n }\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n // handle epsilon around 0 (non standard zoom levels)\n if (isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!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 || event.target === e.shadowParent) && 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, shadowParent: getOutermostShadowParent(target) };\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}\nfunction getOutermostShadowParent(node) {\n var shadowParent = null;\n while (node !== null) {\n if (node instanceof ShadowRoot) {\n shadowParent = node.host;\n node = node.host;\n }\n node = node.parentNode;\n }\n return shadowParent;\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","'use client';\nfunction keys(object) {\n return Object.keys(object);\n}\n\nexport { keys };\n//# sourceMappingURL=keys.mjs.map\n","function isObject(item) {\n return item && typeof item === \"object\" && !Array.isArray(item);\n}\nfunction deepMerge(target, source) {\n const result = { ...target };\n const _source = source;\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach((key) => {\n if (isObject(_source[key])) {\n if (!(key in target)) {\n result[key] = _source[key];\n } else {\n result[key] = deepMerge(result[key], _source[key]);\n }\n } else {\n result[key] = _source[key];\n }\n });\n }\n return result;\n}\n\nexport { deepMerge };\n//# sourceMappingURL=deep-merge.mjs.map\n","'use client';\nfunction camelToKebabCase(value) {\n return value.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);\n}\n\nexport { camelToKebabCase };\n//# sourceMappingURL=camel-to-kebab-case.mjs.map\n","function scaleRem(remValue) {\n if (remValue === \"0rem\") {\n return \"0rem\";\n }\n return `calc(${remValue} * var(--mantine-scale))`;\n}\nfunction createConverter(units, { shouldScale = false } = {}) {\n function converter(value) {\n if (value === 0 || value === \"0\") {\n return `0${units}`;\n }\n if (typeof value === \"number\") {\n const val = `${value / 16}${units}`;\n return shouldScale ? scaleRem(val) : val;\n }\n if (typeof value === \"string\") {\n if (value === \"\") {\n return value;\n }\n if (value.startsWith(\"calc(\") || value.startsWith(\"clamp(\") || value.includes(\"rgba(\")) {\n return value;\n }\n if (value.includes(\",\")) {\n return value.split(\",\").map((val) => converter(val)).join(\",\");\n }\n if (value.includes(\" \")) {\n return value.split(\" \").map((val) => converter(val)).join(\" \");\n }\n if (value.includes(units)) {\n return shouldScale ? scaleRem(value) : value;\n }\n const replaced = value.replace(\"px\", \"\");\n if (!Number.isNaN(Number(replaced))) {\n const val = `${Number(replaced) / 16}${units}`;\n return shouldScale ? scaleRem(val) : val;\n }\n }\n return value;\n }\n return converter;\n}\nconst rem = createConverter(\"rem\", { shouldScale: true });\nconst em = createConverter(\"em\");\n\nexport { em, rem };\n//# sourceMappingURL=rem.mjs.map\n","'use client';\nfunction 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.mjs.map\n","'use client';\nfunction isNumberLike(value) {\n if (typeof value === \"number\") {\n return true;\n }\n if (typeof value === \"string\") {\n if (value.startsWith(\"calc(\") || value.startsWith(\"var(\") || value.includes(\" \") && value.trim() !== \"\") {\n return true;\n }\n return /[0-9]/.test(value.trim().replace(\"-\", \"\")[0]);\n }\n return false;\n}\n\nexport { isNumberLike };\n//# sourceMappingURL=is-number-like.mjs.map\n","'use client';\nimport { Fragment } 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 === Fragment) {\n return false;\n }\n return true;\n }\n return false;\n}\n\nexport { isElement };\n//# sourceMappingURL=is-element.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { 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__ */ jsx(Context.Provider, { value, children });\n return [Provider, useSafeContext];\n}\n\nexport { createSafeContext };\n//# sourceMappingURL=create-safe-context.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { createContext, useContext } from 'react';\n\nfunction createOptionalContext(initialValue = null) {\n const Context = createContext(initialValue);\n const useOptionalContext = () => useContext(Context);\n const Provider = ({ children, value }) => /* @__PURE__ */ jsx(Context.Provider, { value, children });\n return [Provider, useOptionalContext];\n}\n\nexport { createOptionalContext };\n//# sourceMappingURL=create-optional-context.mjs.map\n","'use client';\nconst 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.mjs.map\n","'use client';\nconst noop = () => {\n};\n\nexport { noop };\n//# sourceMappingURL=noop.mjs.map\n","'use client';\nimport { noop } from '../noop/noop.mjs';\n\nfunction closeOnEscape(callback, options = { active: true }) {\n if (typeof callback !== \"function\" || !options.active) {\n return options.onKeyDown || noop;\n }\n return (event) => {\n if (event.key === \"Escape\") {\n callback(event);\n options.onTrigger?.();\n }\n };\n}\n\nexport { closeOnEscape };\n//# sourceMappingURL=close-on-escape.mjs.map\n","'use client';\nimport { isNumberLike } from '../is-number-like/is-number-like.mjs';\nimport { rem } from '../units-converters/rem.mjs';\n\nfunction getSize(size, prefix = \"size\", convertToRem = true) {\n if (size === void 0) {\n return void 0;\n }\n return isNumberLike(size) ? convertToRem ? rem(size) : size : `var(--${prefix}-${size})`;\n}\nfunction getSpacing(size) {\n return getSize(size, \"mantine-spacing\");\n}\nfunction getRadius(size) {\n if (size === void 0) {\n return \"var(--mantine-radius-default)\";\n }\n return getSize(size, \"mantine-radius\");\n}\nfunction getFontSize(size) {\n return getSize(size, \"mantine-font-size\");\n}\nfunction getLineHeight(size) {\n return getSize(size, \"mantine-line-height\", false);\n}\nfunction getShadow(size) {\n if (!size) {\n return void 0;\n }\n return getSize(size, \"mantine-shadow\", false);\n}\n\nexport { getFontSize, getLineHeight, getRadius, getShadow, getSize, getSpacing };\n//# sourceMappingURL=get-size.mjs.map\n","'use client';\nfunction clamp(value, min, max) {\n if (min === void 0 && max === void 0) {\n return value;\n }\n if (min !== void 0 && max === void 0) {\n return Math.max(value, min);\n }\n if (min === void 0 && max !== void 0) {\n return Math.min(value, max);\n }\n return Math.min(Math.max(value, min), max);\n}\n\nexport { clamp };\n//# sourceMappingURL=clamp.mjs.map\n","'use client';\nfunction randomId() {\n return `mantine-${Math.random().toString(36).slice(2, 11)}`;\n}\n\nexport { randomId };\n//# sourceMappingURL=random-id.mjs.map\n","'use client';\nimport { useRef, useEffect, useMemo } from 'react';\n\nfunction useCallbackRef(callback) {\n const callbackRef = useRef(callback);\n useEffect(() => {\n callbackRef.current = callback;\n });\n return useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\n\nexport { useCallbackRef };\n//# sourceMappingURL=use-callback-ref.mjs.map\n","'use client';\nimport { useRef, useEffect, useCallback } from 'react';\nimport { useCallbackRef } from '../use-callback-ref/use-callback-ref.mjs';\n\nfunction useDebouncedCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = useRef(0);\n useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return useCallback(\n (...args) => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(() => handleCallback(...args), delay);\n },\n [handleCallback, delay]\n );\n}\n\nexport { useDebouncedCallback };\n//# sourceMappingURL=use-debounced-callback.mjs.map\n","'use client';\nimport { 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 ?? {};\n if (Array.isArray(nodes)) {\n const shouldIgnore = 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.mjs.map\n","'use client';\nimport { 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(\n getInitialValueInEffect ? initialValue : getInitialValue(query)\n );\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.mjs.map\n","'use client';\nimport { useLayoutEffect, useEffect } from 'react';\n\nconst useIsomorphicEffect = typeof document !== \"undefined\" ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicEffect };\n//# sourceMappingURL=use-isomorphic-effect.mjs.map\n","'use client';\nimport { useRef, useEffect } from 'react';\n\nfunction useDidUpdate(fn, dependencies) {\n const mounted = useRef(false);\n useEffect(\n () => () => {\n mounted.current = false;\n },\n []\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.mjs.map\n","'use client';\nimport { useRef } from 'react';\nimport { useDidUpdate } from '../use-did-update/use-did-update.mjs';\n\nfunction useFocusReturn({ opened, shouldReturnFocus = true }) {\n const lastActiveElement = useRef();\n const returnFocus = () => {\n if (lastActiveElement.current && \"focus\" in lastActiveElement.current && typeof lastActiveElement.current.focus === \"function\") {\n lastActiveElement.current?.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.mjs.map\n","'use client';\nimport { randomId } from '../utils/random-id/random-id.mjs';\n\nfunction createAriaHider(containerNode, selector = \"body > :not(script)\") {\n const id = randomId();\n const rootNodes = Array.from(\n document.querySelectorAll(selector)\n ).map((node) => {\n if (node?.shadowRoot?.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.mjs.map\n","'use client';\nconst 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 = (\n // @ts-expect-error function accepts any html element but if it is a button, it should not be disabled to trigger the condition\n TABBABLE_NODES.test(nodeName) && !element.disabled || (element instanceof HTMLAnchorElement ? element.href || isTabIndexNotNaN : isTabIndexNotNaN)\n );\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.mjs.map\n","'use client';\nimport { findTabbableDescendants } from './tabbable.mjs';\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 let leavingFinalTabbable = finalTabbable === root.activeElement || node === root.activeElement;\n const activeElement = root.activeElement;\n const activeElementIsRadio = activeElement.tagName === \"INPUT\" && activeElement.getAttribute(\"type\") === \"radio\";\n if (activeElementIsRadio) {\n const activeRadioGroup = tabbable.filter(\n (element) => element.getAttribute(\"type\") === \"radio\" && element.getAttribute(\"name\") === activeElement.getAttribute(\"name\")\n );\n leavingFinalTabbable = activeRadioGroup.includes(finalTabbable);\n }\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.mjs.map\n","'use client';\nimport { useRef, useCallback, useEffect } from 'react';\nimport { createAriaHider } from './create-aria-hider.mjs';\nimport { scopeTab } from './scope-tab.mjs';\nimport { FOCUS_SELECTOR, tabbable, focusable } from './tabbable.mjs';\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(\n \"[@mantine/hooks/use-focus-trap] Failed to find focusable element within provided node\",\n node\n );\n }\n };\n const setRef = useCallback(\n (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 },\n [active]\n );\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.mjs.map\n","'use client';\nimport 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.mjs.map\n","'use client';\nimport { useState } from 'react';\nimport { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect.mjs';\nimport { randomId } from '../utils/random-id/random-id.mjs';\nimport { useReactId } from './use-react-id.mjs';\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.mjs.map\n","'use client';\nimport { 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.mjs.map\n","'use client';\nimport { useCallback } from 'react';\n\nfunction 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}\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 { assignRef, mergeRefs, useMergedRef };\n//# sourceMappingURL=use-merged-ref.mjs.map\n","'use client';\nimport { useState } from 'react';\n\nfunction useUncontrolled({\n value,\n defaultValue,\n finalValue,\n onChange = () => {\n }\n}) {\n const [uncontrolledValue, setUncontrolledValue] = useState(\n defaultValue !== void 0 ? defaultValue : finalValue\n );\n const handleUncontrolledChange = (val, ...payload) => {\n setUncontrolledValue(val);\n onChange?.(val, ...payload);\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.mjs.map\n","'use client';\nimport { useMediaQuery } from '../use-media-query/use-media-query.mjs';\n\nfunction useReducedMotion(initialValue, options) {\n return useMediaQuery(\"(prefers-reduced-motion: reduce)\", initialValue, options);\n}\n\nexport { useReducedMotion };\n//# sourceMappingURL=use-reduced-motion.mjs.map\n","'use client';\nimport { 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?.();\n return true;\n }\n return isOpened;\n });\n }, [onOpen]);\n const close = useCallback(() => {\n setOpened((isOpened) => {\n if (isOpened) {\n 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.mjs.map\n","'use client';\nimport { useRef, useEffect } from 'react';\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nexport { usePrevious };\n//# sourceMappingURL=use-previous.mjs.map\n","'use client';\nfunction getEnv() {\n if (typeof process !== \"undefined\" && process.env && process.env.NODE_ENV) {\n return process.env.NODE_ENV;\n }\n return \"development\";\n}\n\nexport { getEnv };\n//# sourceMappingURL=get-env.mjs.map\n","'use client';\nfunction createVarsResolver(resolver) {\n return resolver;\n}\n\nexport { createVarsResolver };\n//# sourceMappingURL=create-vars-resolver.mjs.map\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t {\n Object.entries(obj).forEach(([key, value]) => {\n if (merged[key]) {\n merged[key] = cx(merged[key], value);\n } else {\n merged[key] = value;\n }\n });\n });\n return merged;\n}\nfunction resolveClassNames({ theme, classNames, props, stylesCtx }) {\n const arrayClassNames = Array.isArray(classNames) ? classNames : [classNames];\n const resolvedClassNames = arrayClassNames.map(\n (item) => typeof item === \"function\" ? item(theme, props, stylesCtx) : item || EMPTY_CLASS_NAMES\n );\n return mergeClassNames(resolvedClassNames);\n}\n\nexport { resolveClassNames };\n//# sourceMappingURL=resolve-class-names.mjs.map\n","'use client';\nfunction resolveStyles({ theme, styles, props, stylesCtx }) {\n const arrayStyles = Array.isArray(styles) ? styles : [styles];\n return arrayStyles.reduce((acc, style) => {\n if (typeof style === \"function\") {\n return { ...acc, ...style(theme, props, stylesCtx) };\n }\n return { ...acc, ...style };\n }, {});\n}\n\nexport { resolveStyles };\n//# sourceMappingURL=resolve-styles.mjs.map\n","'use client';\nimport { createContext, useContext } from 'react';\n\nconst MantineContext = createContext(null);\nfunction useMantineContext() {\n const ctx = useContext(MantineContext);\n if (!ctx) {\n throw new Error(\"[@mantine/core] MantineProvider was not found in tree\");\n }\n return ctx;\n}\nfunction useMantineCssVariablesResolver() {\n return useMantineContext().cssVariablesResolver;\n}\nfunction useMantineClassNamesPrefix() {\n return useMantineContext().classNamesPrefix;\n}\nfunction useMantineStyleNonce() {\n return useMantineContext().getStyleNonce;\n}\nfunction useMantineWithStaticClasses() {\n return useMantineContext().withStaticClasses;\n}\nfunction useMantineIsHeadless() {\n return useMantineContext().headless;\n}\nfunction useMantineSxTransform() {\n return useMantineContext().stylesTransform?.sx;\n}\nfunction useMantineStylesTransform() {\n return useMantineContext().stylesTransform?.styles;\n}\n\nexport { MantineContext, useMantineClassNamesPrefix, useMantineContext, useMantineCssVariablesResolver, useMantineIsHeadless, useMantineStyleNonce, useMantineStylesTransform, useMantineSxTransform, useMantineWithStaticClasses };\n//# sourceMappingURL=Mantine.context.mjs.map\n","function isHexColor(hex) {\n const HEX_REGEXP = /^#?([0-9A-F]{3}){1,2}([0-9A-F]{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 if (hexString.length === 8) {\n const alpha = parseInt(hexString.slice(6, 8), 16) / 255;\n return {\n r: parseInt(hexString.slice(0, 2), 16),\n g: parseInt(hexString.slice(2, 4), 16),\n b: parseInt(hexString.slice(4, 6), 16),\n a: alpha\n };\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 hslStringToRgba(hslaString) {\n const hslaRegex = /^hsla?\\(\\s*(\\d+)\\s*,\\s*(\\d+%)\\s*,\\s*(\\d+%)\\s*(,\\s*(0?\\.\\d+|\\d+(\\.\\d+)?))?\\s*\\)$/i;\n const matches = hslaString.match(hslaRegex);\n if (!matches) {\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 1\n };\n }\n const h = parseInt(matches[1], 10);\n const s = parseInt(matches[2], 10) / 100;\n const l = parseInt(matches[3], 10) / 100;\n const a = matches[5] ? parseFloat(matches[5]) : void 0;\n const chroma = (1 - Math.abs(2 * l - 1)) * s;\n const huePrime = h / 60;\n const x = chroma * (1 - Math.abs(huePrime % 2 - 1));\n const m = l - chroma / 2;\n let r;\n let g;\n let b;\n if (huePrime >= 0 && huePrime < 1) {\n r = chroma;\n g = x;\n b = 0;\n } else if (huePrime >= 1 && huePrime < 2) {\n r = x;\n g = chroma;\n b = 0;\n } else if (huePrime >= 2 && huePrime < 3) {\n r = 0;\n g = chroma;\n b = x;\n } else if (huePrime >= 3 && huePrime < 4) {\n r = 0;\n g = x;\n b = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n r = x;\n g = 0;\n b = chroma;\n } else {\n r = chroma;\n g = 0;\n b = x;\n }\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n a: a || 1\n };\n}\nfunction toRgba(color) {\n if (isHexColor(color)) {\n return hexToRgba(color);\n }\n if (color.startsWith(\"rgb\")) {\n return rgbStringToRgba(color);\n }\n if (color.startsWith(\"hsl\")) {\n return hslStringToRgba(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.mjs.map\n","import { toRgba } from '../to-rgba/to-rgba.mjs';\n\nfunction darken(color, alpha) {\n if (color.startsWith(\"var(\")) {\n return `color-mix(in srgb, ${color}, black ${alpha * 100}%)`;\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.mjs.map\n","'use client';\nfunction getPrimaryShade(theme, colorScheme) {\n if (typeof theme.primaryShade === \"number\") {\n return theme.primaryShade;\n }\n if (colorScheme === \"dark\") {\n return theme.primaryShade.dark;\n }\n return theme.primaryShade.light;\n}\n\nexport { getPrimaryShade };\n//# sourceMappingURL=get-primary-shade.mjs.map\n","'use client';\nimport { toRgba } from '../to-rgba/to-rgba.mjs';\n\nfunction gammaCorrect(c) {\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n}\nfunction getLightnessFromOklch(oklchColor) {\n const match = oklchColor.match(/oklch\\((.*?)%\\s/);\n return match ? parseFloat(match[1]) : null;\n}\nfunction luminance(color) {\n if (color.startsWith(\"oklch(\")) {\n return (getLightnessFromOklch(color) || 0) / 100;\n }\n const { r, g, b } = toRgba(color);\n const sR = r / 255;\n const sG = g / 255;\n const sB = b / 255;\n const rLinear = gammaCorrect(sR);\n const gLinear = gammaCorrect(sG);\n const bLinear = gammaCorrect(sB);\n return 0.2126 * rLinear + 0.7152 * gLinear + 0.0722 * bLinear;\n}\nfunction isLightColor(color, luminanceThreshold = 0.179) {\n if (color.startsWith(\"var(\")) {\n return false;\n }\n return luminance(color) > luminanceThreshold;\n}\n\nexport { isLightColor, luminance };\n//# sourceMappingURL=luminance.mjs.map\n","'use client';\nimport { getPrimaryShade } from '../get-primary-shade/get-primary-shade.mjs';\nimport { isLightColor } from '../luminance/luminance.mjs';\n\nfunction parseThemeColor({\n color,\n theme,\n colorScheme\n}) {\n if (typeof color !== \"string\") {\n throw new Error(\n `[@mantine/core] Failed to parse color. Expected color to be a string, instead got ${typeof color}`\n );\n }\n if (color === \"bright\") {\n return {\n color,\n value: colorScheme === \"dark\" ? theme.white : theme.black,\n shade: void 0,\n isThemeColor: false,\n isLight: isLightColor(\n colorScheme === \"dark\" ? theme.white : theme.black,\n theme.luminanceThreshold\n ),\n variable: \"--mantine-color-bright\"\n };\n }\n if (color === \"dimmed\") {\n return {\n color,\n value: colorScheme === \"dark\" ? theme.colors.dark[2] : theme.colors.gray[7],\n shade: void 0,\n isThemeColor: false,\n isLight: isLightColor(\n colorScheme === \"dark\" ? theme.colors.dark[2] : theme.colors.gray[6],\n theme.luminanceThreshold\n ),\n variable: \"--mantine-color-dimmed\"\n };\n }\n if (color === \"white\" || color === \"black\") {\n return {\n color,\n value: color === \"white\" ? theme.white : theme.black,\n shade: void 0,\n isThemeColor: false,\n isLight: isLightColor(\n color === \"white\" ? theme.white : theme.black,\n theme.luminanceThreshold\n ),\n variable: `--mantine-color-${color}`\n };\n }\n const [_color, shade] = color.split(\".\");\n const colorShade = shade ? Number(shade) : void 0;\n const isThemeColor = _color in theme.colors;\n if (isThemeColor) {\n const colorValue = colorShade !== void 0 ? theme.colors[_color][colorShade] : theme.colors[_color][getPrimaryShade(theme, colorScheme || \"light\")];\n return {\n color: _color,\n value: colorValue,\n shade: colorShade,\n isThemeColor,\n isLight: isLightColor(colorValue, theme.luminanceThreshold),\n variable: shade ? `--mantine-color-${_color}-${colorShade}` : `--mantine-color-${_color}-filled`\n };\n }\n return {\n color,\n value: color,\n isThemeColor,\n isLight: isLightColor(color, theme.luminanceThreshold),\n shade: colorShade,\n variable: void 0\n };\n}\n\nexport { parseThemeColor };\n//# sourceMappingURL=parse-theme-color.mjs.map\n","'use client';\nimport { parseThemeColor } from '../parse-theme-color/parse-theme-color.mjs';\n\nfunction getThemeColor(color, theme) {\n const parsed = parseThemeColor({ color: color || theme.primaryColor, theme });\n return parsed.variable ? `var(${parsed.variable})` : color;\n}\n\nexport { getThemeColor };\n//# sourceMappingURL=get-theme-color.mjs.map\n","'use client';\nimport { getThemeColor } from '../get-theme-color/get-theme-color.mjs';\n\nfunction getGradient(gradient, theme) {\n const merged = {\n from: gradient?.from || theme.defaultGradient.from,\n to: gradient?.to || theme.defaultGradient.to,\n deg: gradient?.deg || theme.defaultGradient.deg || 0\n };\n const fromColor = getThemeColor(merged.from, theme);\n const toColor = getThemeColor(merged.to, theme);\n return `linear-gradient(${merged.deg}deg, ${fromColor} 0%, ${toColor} 100%)`;\n}\n\nexport { getGradient };\n//# sourceMappingURL=get-gradient.mjs.map\n","import { toRgba } from '../to-rgba/to-rgba.mjs';\n\nfunction rgba(color, alpha2) {\n if (typeof color !== \"string\" || alpha2 > 1 || alpha2 < 0) {\n return \"rgba(0, 0, 0, 1)\";\n }\n if (color.startsWith(\"var(\")) {\n const mixPercentage = (1 - alpha2) * 100;\n return `color-mix(in srgb, ${color}, transparent ${mixPercentage}%)`;\n }\n if (color.startsWith(\"oklch\")) {\n if (color.includes(\"/\")) {\n return color.replace(/\\/\\s*[\\d.]+\\s*\\)/, `/ ${alpha2})`);\n }\n return color.replace(\")\", ` / ${alpha2})`);\n }\n const { r, g, b } = toRgba(color);\n return `rgba(${r}, ${g}, ${b}, ${alpha2})`;\n}\nconst alpha = rgba;\n\nexport { alpha, rgba };\n//# sourceMappingURL=rgba.mjs.map\n","'use client';\nimport { rem } from '../../../utils/units-converters/rem.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport { darken } from '../darken/darken.mjs';\nimport { getGradient } from '../get-gradient/get-gradient.mjs';\nimport { parseThemeColor } from '../parse-theme-color/parse-theme-color.mjs';\nimport { rgba } from '../rgba/rgba.mjs';\n\nconst defaultVariantColorsResolver = ({\n color,\n theme,\n variant,\n gradient,\n autoContrast\n}) => {\n const parsed = parseThemeColor({ color, theme });\n const _autoContrast = typeof autoContrast === \"boolean\" ? autoContrast : theme.autoContrast;\n if (variant === \"filled\") {\n const textColor = _autoContrast ? parsed.isLight ? \"var(--mantine-color-black)\" : \"var(--mantine-color-white)\" : \"var(--mantine-color-white)\";\n if (parsed.isThemeColor) {\n if (parsed.shade === void 0) {\n return {\n background: `var(--mantine-color-${color}-filled)`,\n hover: `var(--mantine-color-${color}-filled-hover)`,\n color: textColor,\n border: `${rem(1)} solid transparent`\n };\n }\n return {\n background: `var(--mantine-color-${parsed.color}-${parsed.shade})`,\n hover: `var(--mantine-color-${parsed.color}-${parsed.shade === 9 ? 8 : parsed.shade + 1})`,\n color: textColor,\n border: `${rem(1)} solid transparent`\n };\n }\n return {\n background: color,\n hover: darken(color, 0.1),\n color: textColor,\n border: `${rem(1)} solid transparent`\n };\n }\n if (variant === \"light\") {\n if (parsed.isThemeColor) {\n if (parsed.shade === void 0) {\n return {\n background: `var(--mantine-color-${color}-light)`,\n hover: `var(--mantine-color-${color}-light-hover)`,\n color: `var(--mantine-color-${color}-light-color)`,\n border: `${rem(1)} solid transparent`\n };\n }\n const parsedColor = theme.colors[parsed.color][parsed.shade];\n return {\n background: rgba(parsedColor, 0.1),\n hover: rgba(parsedColor, 0.12),\n color: `var(--mantine-color-${parsed.color}-${Math.min(parsed.shade, 6)})`,\n border: `${rem(1)} solid transparent`\n };\n }\n return {\n background: rgba(color, 0.1),\n hover: rgba(color, 0.12),\n color,\n border: `${rem(1)} solid transparent`\n };\n }\n if (variant === \"outline\") {\n if (parsed.isThemeColor) {\n if (parsed.shade === void 0) {\n return {\n background: \"transparent\",\n hover: `var(--mantine-color-${color}-outline-hover)`,\n color: `var(--mantine-color-${color}-outline)`,\n border: `${rem(1)} solid var(--mantine-color-${color}-outline)`\n };\n }\n return {\n background: \"transparent\",\n hover: rgba(theme.colors[parsed.color][parsed.shade], 0.05),\n color: `var(--mantine-color-${parsed.color}-${parsed.shade})`,\n border: `${rem(1)} solid var(--mantine-color-${parsed.color}-${parsed.shade})`\n };\n }\n return {\n background: \"transparent\",\n hover: rgba(color, 0.05),\n color,\n border: `${rem(1)} solid ${color}`\n };\n }\n if (variant === \"subtle\") {\n if (parsed.isThemeColor) {\n if (parsed.shade === void 0) {\n return {\n background: \"transparent\",\n hover: `var(--mantine-color-${color}-light-hover)`,\n color: `var(--mantine-color-${color}-light-color)`,\n border: `${rem(1)} solid transparent`\n };\n }\n const parsedColor = theme.colors[parsed.color][parsed.shade];\n return {\n background: \"transparent\",\n hover: rgba(parsedColor, 0.12),\n color: `var(--mantine-color-${parsed.color}-${Math.min(parsed.shade, 6)})`,\n border: `${rem(1)} solid transparent`\n };\n }\n return {\n background: \"transparent\",\n hover: rgba(color, 0.12),\n color,\n border: `${rem(1)} solid transparent`\n };\n }\n if (variant === \"transparent\") {\n if (parsed.isThemeColor) {\n if (parsed.shade === void 0) {\n return {\n background: \"transparent\",\n hover: \"transparent\",\n color: `var(--mantine-color-${color}-light-color)`,\n border: `${rem(1)} solid transparent`\n };\n }\n return {\n background: \"transparent\",\n hover: \"transparent\",\n color: `var(--mantine-color-${parsed.color}-${Math.min(parsed.shade, 6)})`,\n border: `${rem(1)} solid transparent`\n };\n }\n return {\n background: \"transparent\",\n hover: \"transparent\",\n color,\n border: `${rem(1)} solid transparent`\n };\n }\n if (variant === \"white\") {\n if (parsed.isThemeColor) {\n if (parsed.shade === void 0) {\n return {\n background: \"var(--mantine-color-white)\",\n hover: darken(theme.white, 0.01),\n color: `var(--mantine-color-${color}-filled)`,\n border: `${rem(1)} solid transparent`\n };\n }\n return {\n background: \"var(--mantine-color-white)\",\n hover: darken(theme.white, 0.01),\n color: `var(--mantine-color-${parsed.color}-${parsed.shade})`,\n border: `${rem(1)} solid transparent`\n };\n }\n return {\n background: \"var(--mantine-color-white)\",\n hover: darken(theme.white, 0.01),\n color,\n border: `${rem(1)} solid transparent`\n };\n }\n if (variant === \"gradient\") {\n return {\n background: getGradient(gradient, theme),\n hover: getGradient(gradient, theme),\n color: \"var(--mantine-color-white)\",\n border: \"none\"\n };\n }\n if (variant === \"default\") {\n return {\n background: \"var(--mantine-color-default)\",\n hover: \"var(--mantine-color-default-hover)\",\n color: \"var(--mantine-color-default-color)\",\n border: `${rem(1)} solid var(--mantine-color-default-border)`\n };\n }\n return {};\n};\n\nexport { defaultVariantColorsResolver };\n//# sourceMappingURL=default-variant-colors-resolver.mjs.map\n","const DEFAULT_COLORS = {\n dark: [\n \"#C9C9C9\",\n \"#b8b8b8\",\n \"#828282\",\n \"#696969\",\n \"#424242\",\n \"#3b3b3b\",\n \"#2e2e2e\",\n \"#242424\",\n \"#1f1f1f\",\n \"#141414\"\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.mjs.map\n","import { rem } from '../utils/units-converters/rem.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport { defaultVariantColorsResolver } from './color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs';\nimport { DEFAULT_COLORS } from './default-colors.mjs';\n\nconst DEFAULT_FONT_FAMILY = \"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji\";\nconst DEFAULT_THEME = {\n scale: 1,\n fontSmoothing: true,\n focusRing: \"auto\",\n white: \"#fff\",\n black: \"#000\",\n colors: DEFAULT_COLORS,\n primaryShade: { light: 6, dark: 8 },\n primaryColor: \"blue\",\n variantColorResolver: defaultVariantColorsResolver,\n autoContrast: false,\n luminanceThreshold: 0.3,\n fontFamily: DEFAULT_FONT_FAMILY,\n fontFamilyMonospace: \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace\",\n respectReducedMotion: false,\n cursorType: \"default\",\n defaultGradient: { from: \"blue\", to: \"cyan\", deg: 45 },\n defaultRadius: \"sm\",\n activeClassName: \"mantine-active\",\n focusClassName: \"\",\n headings: {\n fontFamily: DEFAULT_FONT_FAMILY,\n fontWeight: \"700\",\n textWrap: \"wrap\",\n sizes: {\n h1: { fontSize: rem(34), lineHeight: \"1.3\" },\n h2: { fontSize: rem(26), lineHeight: \"1.35\" },\n h3: { fontSize: rem(22), lineHeight: \"1.4\" },\n h4: { fontSize: rem(18), lineHeight: \"1.45\" },\n h5: { fontSize: rem(16), lineHeight: \"1.5\" },\n h6: { fontSize: rem(14), lineHeight: \"1.5\" }\n }\n },\n fontSizes: {\n xs: rem(12),\n sm: rem(14),\n md: rem(16),\n lg: rem(18),\n xl: rem(20)\n },\n lineHeights: {\n xs: \"1.4\",\n sm: \"1.45\",\n md: \"1.55\",\n lg: \"1.6\",\n xl: \"1.65\"\n },\n radius: {\n xs: rem(2),\n sm: rem(4),\n md: rem(8),\n lg: rem(16),\n xl: rem(32)\n },\n spacing: {\n xs: rem(10),\n sm: rem(12),\n md: rem(16),\n lg: rem(20),\n xl: rem(32)\n },\n breakpoints: {\n xs: \"36em\",\n sm: \"48em\",\n md: \"62em\",\n lg: \"75em\",\n xl: \"88em\"\n },\n shadows: {\n xs: `0 ${rem(1)} ${rem(3)} rgba(0, 0, 0, 0.05), 0 ${rem(1)} ${rem(2)} rgba(0, 0, 0, 0.1)`,\n sm: `0 ${rem(1)} ${rem(3)} rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 ${rem(10)} ${rem(\n 15\n )} ${rem(-5)}, rgba(0, 0, 0, 0.04) 0 ${rem(7)} ${rem(7)} ${rem(-5)}`,\n md: `0 ${rem(1)} ${rem(3)} rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 ${rem(20)} ${rem(\n 25\n )} ${rem(-5)}, rgba(0, 0, 0, 0.04) 0 ${rem(10)} ${rem(10)} ${rem(-5)}`,\n lg: `0 ${rem(1)} ${rem(3)} rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 ${rem(28)} ${rem(\n 23\n )} ${rem(-7)}, rgba(0, 0, 0, 0.04) 0 ${rem(12)} ${rem(12)} ${rem(-7)}`,\n xl: `0 ${rem(1)} ${rem(3)} rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 ${rem(36)} ${rem(\n 28\n )} ${rem(-7)}, rgba(0, 0, 0, 0.04) 0 ${rem(17)} ${rem(17)} ${rem(-7)}`\n },\n other: {},\n components: {}\n};\n\nexport { DEFAULT_THEME };\n//# sourceMappingURL=default-theme.mjs.map\n","import { deepMerge } from '../../utils/deep-merge/deep-merge.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\n\nconst INVALID_PRIMARY_COLOR_ERROR = \"[@mantine/core] MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more \\u2013 https://mantine.dev/theming/colors/#primary-color\";\nconst INVALID_PRIMARY_SHADE_ERROR = \"[@mantine/core] MantineProvider: Invalid theme.primaryShade, it accepts only 0-9 integers or an object { light: 0-9, dark: 0-9 }\";\nfunction isValidPrimaryShade(shade) {\n if (shade < 0 || shade > 9) {\n return false;\n }\n return parseInt(shade.toString(), 10) === shade;\n}\nfunction validateMantineTheme(theme) {\n if (!(theme.primaryColor in theme.colors)) {\n throw new Error(INVALID_PRIMARY_COLOR_ERROR);\n }\n if (typeof theme.primaryShade === \"object\") {\n if (!isValidPrimaryShade(theme.primaryShade.dark) || !isValidPrimaryShade(theme.primaryShade.light)) {\n throw new Error(INVALID_PRIMARY_SHADE_ERROR);\n }\n }\n if (typeof theme.primaryShade === \"number\" && !isValidPrimaryShade(theme.primaryShade)) {\n throw new Error(INVALID_PRIMARY_SHADE_ERROR);\n }\n}\nfunction mergeMantineTheme(currentTheme, themeOverride) {\n if (!themeOverride) {\n validateMantineTheme(currentTheme);\n return currentTheme;\n }\n const result = deepMerge(currentTheme, themeOverride);\n if (themeOverride.fontFamily && !themeOverride.headings?.fontFamily) {\n result.headings.fontFamily = themeOverride.fontFamily;\n }\n validateMantineTheme(result);\n return result;\n}\n\nexport { INVALID_PRIMARY_COLOR_ERROR, INVALID_PRIMARY_SHADE_ERROR, mergeMantineTheme, validateMantineTheme };\n//# sourceMappingURL=merge-mantine-theme.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { createContext, useContext, useMemo } from 'react';\nimport { DEFAULT_THEME } from '../default-theme.mjs';\nimport { mergeMantineTheme } from '../merge-mantine-theme/merge-mantine-theme.mjs';\n\nconst MantineThemeContext = createContext(null);\nconst useSafeMantineTheme = () => useContext(MantineThemeContext) || DEFAULT_THEME;\nfunction useMantineTheme() {\n const ctx = useContext(MantineThemeContext);\n if (!ctx) {\n throw new Error(\n \"@mantine/core: MantineProvider was not found in component tree, make sure you have it in your app\"\n );\n }\n return ctx;\n}\nfunction MantineThemeProvider({\n theme,\n children,\n inherit = true\n}) {\n const parentTheme = useSafeMantineTheme();\n const mergedTheme = useMemo(\n () => mergeMantineTheme(inherit ? parentTheme : DEFAULT_THEME, theme),\n [theme, parentTheme, inherit]\n );\n return /* @__PURE__ */ jsx(MantineThemeContext.Provider, { value: mergedTheme, children });\n}\nMantineThemeProvider.displayName = \"@mantine/core/MantineThemeProvider\";\n\nexport { MantineThemeContext, MantineThemeProvider, useMantineTheme, useSafeMantineTheme };\n//# sourceMappingURL=MantineThemeProvider.mjs.map\n","'use client';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport '../../MantineProvider/Mantine.context.mjs';\nimport '../../MantineProvider/default-theme.mjs';\nimport '../../MantineProvider/MantineProvider.mjs';\nimport { useMantineTheme } from '../../MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { resolveClassNames } from '../use-styles/get-class-name/resolve-class-names/resolve-class-names.mjs';\nimport { resolveStyles } from '../use-styles/get-style/resolve-styles/resolve-styles.mjs';\n\nfunction useResolvedStylesApi({\n classNames,\n styles,\n props,\n stylesCtx\n}) {\n const theme = useMantineTheme();\n return {\n resolvedClassNames: resolveClassNames({\n theme,\n classNames,\n props,\n stylesCtx: stylesCtx || void 0\n }),\n resolvedStyles: resolveStyles({\n theme,\n styles,\n props,\n stylesCtx: stylesCtx || void 0\n })\n };\n}\n\nexport { useResolvedStylesApi };\n//# sourceMappingURL=use-resolved-styles-api.mjs.map\n","'use client';\nimport cx from 'clsx';\n\nconst FOCUS_CLASS_NAMES = {\n always: \"mantine-focus-always\",\n auto: \"mantine-focus-auto\",\n never: \"mantine-focus-never\"\n};\nfunction getGlobalClassNames({ theme, options, unstyled }) {\n return cx(\n options?.focusable && !unstyled && (theme.focusClassName || FOCUS_CLASS_NAMES[theme.focusRing]),\n options?.active && !unstyled && theme.activeClassName\n );\n}\n\nexport { FOCUS_CLASS_NAMES, getGlobalClassNames };\n//# sourceMappingURL=get-global-class-names.mjs.map\n","'use client';\nimport { resolveClassNames } from '../resolve-class-names/resolve-class-names.mjs';\n\nfunction getOptionsClassNames({\n selector,\n stylesCtx,\n options,\n props,\n theme\n}) {\n return resolveClassNames({\n theme,\n classNames: options?.classNames,\n props: options?.props || props,\n stylesCtx\n })[selector];\n}\n\nexport { getOptionsClassNames };\n//# sourceMappingURL=get-options-class-names.mjs.map\n","'use client';\nimport { resolveClassNames } from '../resolve-class-names/resolve-class-names.mjs';\n\nfunction getResolvedClassNames({\n selector,\n stylesCtx,\n theme,\n classNames,\n props\n}) {\n return resolveClassNames({ theme, classNames, props, stylesCtx })[selector];\n}\n\nexport { getResolvedClassNames };\n//# sourceMappingURL=get-resolved-class-names.mjs.map\n","'use client';\nfunction getRootClassName({ rootSelector, selector, className }) {\n return rootSelector === selector ? className : void 0;\n}\n\nexport { getRootClassName };\n//# sourceMappingURL=get-root-class-name.mjs.map\n","'use client';\nfunction getSelectorClassName({ selector, classes, unstyled }) {\n return unstyled ? void 0 : classes[selector];\n}\n\nexport { getSelectorClassName };\n//# sourceMappingURL=get-selector-class-name.mjs.map\n","'use client';\nfunction getStaticClassNames({\n themeName,\n classNamesPrefix,\n selector,\n withStaticClass\n}) {\n if (withStaticClass === false) {\n return [];\n }\n return themeName.map((n) => `${classNamesPrefix}-${n}-${selector}`);\n}\n\nexport { getStaticClassNames };\n//# sourceMappingURL=get-static-class-names.mjs.map\n","'use client';\nimport { resolveClassNames } from '../resolve-class-names/resolve-class-names.mjs';\n\nfunction getThemeClassNames({\n themeName,\n theme,\n selector,\n props,\n stylesCtx\n}) {\n return themeName.map(\n (n) => resolveClassNames({\n theme,\n classNames: theme.components[n]?.classNames,\n props,\n stylesCtx\n })?.[selector]\n );\n}\n\nexport { getThemeClassNames };\n//# sourceMappingURL=get-theme-class-names.mjs.map\n","'use client';\nfunction getVariantClassName({\n options,\n classes,\n selector,\n unstyled\n}) {\n return options?.variant && !unstyled ? classes[`${selector}--${options.variant}`] : void 0;\n}\n\nexport { getVariantClassName };\n//# sourceMappingURL=get-variant-class-name.mjs.map\n","'use client';\nimport cx from 'clsx';\nimport { getGlobalClassNames } from './get-global-class-names/get-global-class-names.mjs';\nimport { getOptionsClassNames } from './get-options-class-names/get-options-class-names.mjs';\nimport { getResolvedClassNames } from './get-resolved-class-names/get-resolved-class-names.mjs';\nimport { getRootClassName } from './get-root-class-name/get-root-class-name.mjs';\nimport { getSelectorClassName } from './get-selector-class-name/get-selector-class-name.mjs';\nimport { getStaticClassNames } from './get-static-class-names/get-static-class-names.mjs';\nimport { getThemeClassNames } from './get-theme-class-names/get-theme-class-names.mjs';\nimport { getVariantClassName } from './get-variant-class-name/get-variant-class-name.mjs';\n\nfunction getClassName({\n theme,\n options,\n themeName,\n selector,\n classNamesPrefix,\n classNames,\n classes,\n unstyled,\n className,\n rootSelector,\n props,\n stylesCtx,\n withStaticClasses,\n headless,\n transformedStyles\n}) {\n return cx(\n getGlobalClassNames({ theme, options, unstyled: unstyled || headless }),\n getThemeClassNames({ theme, themeName, selector, props, stylesCtx }),\n getVariantClassName({ options, classes, selector, unstyled }),\n getResolvedClassNames({ selector, stylesCtx, theme, classNames, props }),\n getResolvedClassNames({ selector, stylesCtx, theme, classNames: transformedStyles, props }),\n getOptionsClassNames({ selector, stylesCtx, options, props, theme }),\n getRootClassName({ rootSelector, selector, className }),\n getSelectorClassName({ selector, classes, unstyled: unstyled || headless }),\n withStaticClasses && !headless && getStaticClassNames({\n themeName,\n classNamesPrefix,\n selector,\n withStaticClass: options?.withStaticClass\n }),\n options?.className\n );\n}\n\nexport { getClassName };\n//# sourceMappingURL=get-class-name.mjs.map\n","'use client';\nimport { resolveStyles } from '../resolve-styles/resolve-styles.mjs';\n\nfunction getThemeStyles({\n theme,\n themeName,\n props,\n stylesCtx,\n selector\n}) {\n return themeName.map(\n (n) => resolveStyles({\n theme,\n styles: theme.components[n]?.styles,\n props,\n stylesCtx\n })[selector]\n ).reduce((acc, val) => ({ ...acc, ...val }), {});\n}\n\nexport { getThemeStyles };\n//# sourceMappingURL=get-theme-styles.mjs.map\n","'use client';\nfunction resolveStyle({ style, theme }) {\n if (Array.isArray(style)) {\n return [...style].reduce(\n (acc, item) => ({ ...acc, ...resolveStyle({ style: item, theme }) }),\n {}\n );\n }\n if (typeof style === \"function\") {\n return style(theme);\n }\n if (style == null) {\n return {};\n }\n return style;\n}\n\nexport { resolveStyle };\n//# sourceMappingURL=resolve-style.mjs.map\n","'use client';\nimport { filterProps } from '../../../../utils/filter-props/filter-props.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\n\nfunction mergeVars(vars) {\n return vars.reduce((acc, current) => {\n if (current) {\n Object.keys(current).forEach((key) => {\n acc[key] = { ...acc[key], ...filterProps(current[key]) };\n });\n }\n return acc;\n }, {});\n}\n\nexport { mergeVars };\n//# sourceMappingURL=merge-vars.mjs.map\n","'use client';\nimport { mergeVars } from './merge-vars.mjs';\n\nfunction resolveVars({\n vars,\n varsResolver,\n theme,\n props,\n stylesCtx,\n selector,\n themeName,\n headless\n}) {\n return mergeVars([\n headless ? {} : varsResolver?.(theme, props, stylesCtx),\n ...themeName.map((name) => theme.components?.[name]?.vars?.(theme, props, stylesCtx)),\n vars?.(theme, props, stylesCtx)\n ])?.[selector];\n}\n\nexport { resolveVars };\n//# sourceMappingURL=resolve-vars.mjs.map\n","'use client';\nimport { getThemeStyles } from './get-theme-styles/get-theme-styles.mjs';\nimport { resolveStyle } from './resolve-style/resolve-style.mjs';\nimport { resolveStyles } from './resolve-styles/resolve-styles.mjs';\nimport { resolveVars } from './resolve-vars/resolve-vars.mjs';\n\nfunction getStyle({\n theme,\n themeName,\n selector,\n options,\n props,\n stylesCtx,\n rootSelector,\n styles,\n style,\n vars,\n varsResolver,\n headless,\n withStylesTransform\n}) {\n return {\n ...!withStylesTransform && getThemeStyles({ theme, themeName, props, stylesCtx, selector }),\n ...!withStylesTransform && resolveStyles({ theme, styles, props, stylesCtx })[selector],\n ...!withStylesTransform && resolveStyles({ theme, styles: options?.styles, props: options?.props || props, stylesCtx })[selector],\n ...resolveVars({ theme, props, stylesCtx, vars, varsResolver, selector, themeName, headless }),\n ...rootSelector === selector ? resolveStyle({ style, theme }) : null,\n ...resolveStyle({ style: options?.style, theme })\n };\n}\n\nexport { getStyle };\n//# sourceMappingURL=get-style.mjs.map\n","'use client';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport { useMantineStylesTransform } from '../../MantineProvider/Mantine.context.mjs';\nimport '../../MantineProvider/default-theme.mjs';\nimport '../../MantineProvider/MantineProvider.mjs';\nimport { useMantineTheme } from '../../MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\n\nfunction useStylesTransform({ props, stylesCtx, themeName }) {\n const theme = useMantineTheme();\n const stylesTransform = useMantineStylesTransform()?.();\n const getTransformedStyles = (styles) => {\n if (!stylesTransform) {\n return [];\n }\n const transformedStyles = styles.map(\n (style) => stylesTransform(style, { props, theme, ctx: stylesCtx })\n );\n return [\n ...transformedStyles,\n ...themeName.map(\n (n) => stylesTransform(theme.components[n]?.styles, { props, theme, ctx: stylesCtx })\n )\n ].filter(Boolean);\n };\n return {\n getTransformedStyles,\n withStylesTransform: !!stylesTransform\n };\n}\n\nexport { useStylesTransform };\n//# sourceMappingURL=use-transformed-styles.mjs.map\n","'use client';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport { useMantineClassNamesPrefix, useMantineWithStaticClasses, useMantineIsHeadless } from '../../MantineProvider/Mantine.context.mjs';\nimport '../../MantineProvider/default-theme.mjs';\nimport '../../MantineProvider/MantineProvider.mjs';\nimport { useMantineTheme } from '../../MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { getClassName } from './get-class-name/get-class-name.mjs';\nimport { getStyle } from './get-style/get-style.mjs';\nimport { useStylesTransform } from './use-transformed-styles.mjs';\n\nfunction useStyles({\n name,\n classes,\n props,\n stylesCtx,\n className,\n style,\n rootSelector = \"root\",\n unstyled,\n classNames,\n styles,\n vars,\n varsResolver\n}) {\n const theme = useMantineTheme();\n const classNamesPrefix = useMantineClassNamesPrefix();\n const withStaticClasses = useMantineWithStaticClasses();\n const headless = useMantineIsHeadless();\n const themeName = (Array.isArray(name) ? name : [name]).filter((n) => n);\n const { withStylesTransform, getTransformedStyles } = useStylesTransform({\n props,\n stylesCtx,\n themeName\n });\n return (selector, options) => ({\n className: getClassName({\n theme,\n options,\n themeName,\n selector,\n classNamesPrefix,\n classNames,\n classes,\n unstyled,\n className,\n rootSelector,\n props,\n stylesCtx,\n withStaticClasses,\n headless,\n transformedStyles: getTransformedStyles([options?.styles, styles])\n }),\n style: getStyle({\n theme,\n themeName,\n selector,\n options,\n props,\n stylesCtx,\n rootSelector,\n styles,\n style,\n vars,\n varsResolver,\n headless,\n withStylesTransform\n })\n });\n}\n\nexport { useStyles };\n//# sourceMappingURL=use-styles.mjs.map\n","'use client';\nimport { filterProps } from '../../utils/filter-props/filter-props.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport { useMantineTheme } from '../MantineThemeProvider/MantineThemeProvider.mjs';\n\nfunction useProps(component, defaultProps, props) {\n const theme = useMantineTheme();\n const contextPropsPayload = theme.components[component]?.defaultProps;\n const contextProps = typeof contextPropsPayload === \"function\" ? contextPropsPayload(theme) : contextPropsPayload;\n return { ...defaultProps, ...contextProps, ...filterProps(props) };\n}\n\nexport { useProps };\n//# sourceMappingURL=use-props.mjs.map\n","'use client';\nimport { keys } from '../../utils/keys/keys.mjs';\nimport { camelToKebabCase } from '../../utils/camel-to-kebab-case/camel-to-kebab-case.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\n\nfunction cssObjectToString(css) {\n return keys(css).reduce(\n (acc, rule) => css[rule] !== void 0 ? `${acc}${camelToKebabCase(rule)}:${css[rule]};` : acc,\n \"\"\n ).trim();\n}\n\nexport { cssObjectToString };\n//# sourceMappingURL=css-object-to-string.mjs.map\n","'use client';\nimport { cssObjectToString } from '../css-object-to-string/css-object-to-string.mjs';\n\nfunction stylesToString({ selector, styles, media, container }) {\n const baseStyles = styles ? cssObjectToString(styles) : \"\";\n const mediaQueryStyles = !Array.isArray(media) ? [] : media.map((item) => `@media${item.query}{${selector}{${cssObjectToString(item.styles)}}}`);\n const containerStyles = !Array.isArray(container) ? [] : container.map(\n (item) => `@container ${item.query}{${selector}{${cssObjectToString(item.styles)}}}`\n );\n return `${baseStyles ? `${selector}{${baseStyles}}` : \"\"}${mediaQueryStyles.join(\"\")}${containerStyles.join(\"\")}`.trim();\n}\n\nexport { stylesToString };\n//# sourceMappingURL=styles-to-string.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport '@mantine/hooks';\nimport { useMantineStyleNonce } from '../MantineProvider/Mantine.context.mjs';\nimport '../MantineProvider/default-theme.mjs';\nimport '../MantineProvider/MantineProvider.mjs';\nimport '../MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { stylesToString } from './styles-to-string/styles-to-string.mjs';\n\nfunction InlineStyles(props) {\n const nonce = useMantineStyleNonce();\n return /* @__PURE__ */ jsx(\n \"style\",\n {\n \"data-mantine-styles\": \"inline\",\n nonce: nonce?.(),\n dangerouslySetInnerHTML: { __html: stylesToString(props) }\n }\n );\n}\n\nexport { InlineStyles };\n//# sourceMappingURL=InlineStyles.mjs.map\n","'use client';\nimport { filterProps } from '../../../utils/filter-props/filter-props.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\n\nfunction extractStyleProps(others) {\n const {\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n me,\n ms,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n pe,\n ps,\n bd,\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 flex,\n hiddenFrom,\n visibleFrom,\n lightHidden,\n darkHidden,\n sx,\n ...rest\n } = others;\n const styleProps = filterProps({\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n me,\n ms,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n pe,\n ps,\n bd,\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 flex,\n hiddenFrom,\n visibleFrom,\n lightHidden,\n darkHidden,\n sx\n });\n return { styleProps, rest };\n}\n\nexport { extractStyleProps };\n//# sourceMappingURL=extract-style-props.mjs.map\n","'use client';\nconst STYlE_PROPS_DATA = {\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 ms: { type: \"spacing\", property: \"marginInlineStart\" },\n me: { type: \"spacing\", property: \"marginInlineEnd\" },\n mx: { type: \"spacing\", property: \"marginInline\" },\n my: { type: \"spacing\", property: \"marginBlock\" },\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 ps: { type: \"spacing\", property: \"paddingInlineStart\" },\n pe: { type: \"spacing\", property: \"paddingInlineEnd\" },\n px: { type: \"spacing\", property: \"paddingInline\" },\n py: { type: \"spacing\", property: \"paddingBlock\" },\n bd: { type: \"border\", property: \"border\" },\n bg: { type: \"color\", property: \"background\" },\n c: { type: \"textColor\", property: \"color\" },\n opacity: { type: \"identity\", property: \"opacity\" },\n ff: { type: \"fontFamily\", 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: \"lineHeight\", 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 flex: { type: \"identity\", property: \"flex\" }\n};\n\nexport { STYlE_PROPS_DATA };\n//# sourceMappingURL=style-props-data.mjs.map\n","'use client';\nimport { parseThemeColor } from '../../../../MantineProvider/color-functions/parse-theme-color/parse-theme-color.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport '../../../../MantineProvider/Mantine.context.mjs';\nimport '../../../../MantineProvider/default-theme.mjs';\nimport '../../../../MantineProvider/MantineProvider.mjs';\nimport '../../../../MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\n\nfunction colorResolver(color, theme) {\n const parsedColor = parseThemeColor({ color, theme });\n if (parsedColor.color === \"dimmed\") {\n return \"var(--mantine-color-dimmed)\";\n }\n if (parsedColor.color === \"bright\") {\n return \"var(--mantine-color-bright)\";\n }\n return parsedColor.variable ? `var(${parsedColor.variable})` : parsedColor.color;\n}\nfunction textColorResolver(color, theme) {\n const parsedColor = parseThemeColor({ color, theme });\n if (parsedColor.isThemeColor && parsedColor.shade === void 0) {\n return `var(--mantine-color-${parsedColor.color}-text)`;\n }\n return colorResolver(color, theme);\n}\n\nexport { colorResolver, textColorResolver };\n//# sourceMappingURL=color-resolver.mjs.map\n","'use client';\nimport { rem } from '../../../../utils/units-converters/rem.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport { colorResolver } from '../color-resolver/color-resolver.mjs';\n\nfunction borderResolver(value, theme) {\n if (typeof value === \"number\") {\n return rem(value);\n }\n if (typeof value === \"string\") {\n const [size, style, ...colorTuple] = value.split(\" \").filter((val) => val.trim() !== \"\");\n let result = `${rem(size)}`;\n style && (result += ` ${style}`);\n colorTuple.length > 0 && (result += ` ${colorResolver(colorTuple.join(\" \"), theme)}`);\n return result.trim();\n }\n return value;\n}\n\nexport { borderResolver };\n//# sourceMappingURL=border-resolver.mjs.map\n","'use client';\nconst values = {\n text: \"var(--mantine-font-family)\",\n mono: \"var(--mantine-font-family-monospace)\",\n monospace: \"var(--mantine-font-family-monospace)\",\n heading: \"var(--mantine-font-family-headings)\",\n headings: \"var(--mantine-font-family-headings)\"\n};\nfunction fontFamilyResolver(fontFamily) {\n if (typeof fontFamily === \"string\" && fontFamily in values) {\n return values[fontFamily];\n }\n return fontFamily;\n}\n\nexport { fontFamilyResolver };\n//# sourceMappingURL=font-family-resolver.mjs.map\n","'use client';\nimport { rem } from '../../../../utils/units-converters/rem.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\n\nconst headings = [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"];\nfunction fontSizeResolver(value, theme) {\n if (typeof value === \"string\" && value in theme.fontSizes) {\n return `var(--mantine-font-size-${value})`;\n }\n if (typeof value === \"string\" && headings.includes(value)) {\n return `var(--mantine-${value}-font-size)`;\n }\n if (typeof value === \"number\") {\n return rem(value);\n }\n if (typeof value === \"string\") {\n return rem(value);\n }\n return value;\n}\n\nexport { fontSizeResolver };\n//# sourceMappingURL=font-size-resolver.mjs.map\n","'use client';\nfunction identityResolver(value) {\n return value;\n}\n\nexport { identityResolver };\n//# sourceMappingURL=identity-resolver.mjs.map\n","'use client';\nconst headings = [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"];\nfunction lineHeightResolver(value, theme) {\n if (typeof value === \"string\" && value in theme.lineHeights) {\n return `var(--mantine-line-height-${value})`;\n }\n if (typeof value === \"string\" && headings.includes(value)) {\n return `var(--mantine-${value}-line-height)`;\n }\n return value;\n}\n\nexport { lineHeightResolver };\n//# sourceMappingURL=line-height-resolver.mjs.map\n","'use client';\nimport { rem } from '../../../../utils/units-converters/rem.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\n\nfunction sizeResolver(value) {\n if (typeof value === \"number\") {\n return rem(value);\n }\n return value;\n}\n\nexport { sizeResolver };\n//# sourceMappingURL=size-resolver.mjs.map\n","'use client';\nimport { rem } from '../../../../utils/units-converters/rem.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\n\nfunction spacingResolver(value, theme) {\n if (typeof value === \"number\") {\n return rem(value);\n }\n if (typeof value === \"string\") {\n const mod = value.replace(\"-\", \"\");\n if (!(mod in theme.spacing)) {\n return rem(value);\n }\n const variable = `--mantine-spacing-${mod}`;\n return value.startsWith(\"-\") ? `calc(var(${variable}) * -1)` : `var(${variable})`;\n }\n return value;\n}\n\nexport { spacingResolver };\n//# sourceMappingURL=spacing-resolver.mjs.map\n","'use client';\nimport { borderResolver } from './border-resolver/border-resolver.mjs';\nimport { colorResolver, textColorResolver } from './color-resolver/color-resolver.mjs';\nimport { fontFamilyResolver } from './font-family-resolver/font-family-resolver.mjs';\nimport { fontSizeResolver } from './font-size-resolver/font-size-resolver.mjs';\nimport { identityResolver } from './identity-resolver/identity-resolver.mjs';\nimport { lineHeightResolver } from './line-height-resolver/line-height-resolver.mjs';\nimport { sizeResolver } from './size-resolver/size-resolver.mjs';\nimport { spacingResolver } from './spacing-resolver/spacing-resolver.mjs';\n\nconst resolvers = {\n color: colorResolver,\n textColor: textColorResolver,\n fontSize: fontSizeResolver,\n spacing: spacingResolver,\n identity: identityResolver,\n size: sizeResolver,\n lineHeight: lineHeightResolver,\n fontFamily: fontFamilyResolver,\n border: borderResolver\n};\n\nexport { resolvers };\n//# sourceMappingURL=index.mjs.map\n","'use client';\nfunction replaceMediaQuery(query) {\n return query.replace(\"(min-width: \", \"\").replace(\"em)\", \"\");\n}\nfunction sortMediaQueries({\n media,\n ...props\n}) {\n const breakpoints = Object.keys(media);\n const sortedMedia = breakpoints.sort((a, b) => Number(replaceMediaQuery(a)) - Number(replaceMediaQuery(b))).map((query) => ({ query, styles: media[query] }));\n return { ...props, media: sortedMedia };\n}\n\nexport { sortMediaQueries };\n//# sourceMappingURL=sort-media-queries.mjs.map\n","'use client';\nimport { keys } from '../../../utils/keys/keys.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport { resolvers } from '../resolvers/index.mjs';\nimport { sortMediaQueries } from './sort-media-queries.mjs';\n\nfunction hasResponsiveStyles(styleProp) {\n if (typeof styleProp !== \"object\" || styleProp === null) {\n return false;\n }\n const breakpoints = Object.keys(styleProp);\n if (breakpoints.length === 1 && breakpoints[0] === \"base\") {\n return false;\n }\n return true;\n}\nfunction getBaseValue(value) {\n if (typeof value === \"object\" && value !== null) {\n if (\"base\" in value) {\n return value.base;\n }\n return void 0;\n }\n return value;\n}\nfunction getBreakpointKeys(value) {\n if (typeof value === \"object\" && value !== null) {\n return keys(value).filter((key) => key !== \"base\");\n }\n return [];\n}\nfunction getBreakpointValue(value, breakpoint) {\n if (typeof value === \"object\" && value !== null && breakpoint in value) {\n return value[breakpoint];\n }\n return value;\n}\nfunction parseStyleProps({\n styleProps,\n data,\n theme\n}) {\n return sortMediaQueries(\n keys(styleProps).reduce(\n (acc, styleProp) => {\n if (styleProp === \"hiddenFrom\" || styleProp === \"visibleFrom\" || styleProp === \"sx\") {\n return acc;\n }\n const propertyData = data[styleProp];\n const properties = Array.isArray(propertyData.property) ? propertyData.property : [propertyData.property];\n const baseValue = getBaseValue(styleProps[styleProp]);\n if (!hasResponsiveStyles(styleProps[styleProp])) {\n properties.forEach((property) => {\n acc.inlineStyles[property] = resolvers[propertyData.type](baseValue, theme);\n });\n return acc;\n }\n acc.hasResponsiveStyles = true;\n const breakpoints = getBreakpointKeys(styleProps[styleProp]);\n properties.forEach((property) => {\n if (baseValue) {\n acc.styles[property] = resolvers[propertyData.type](baseValue, theme);\n }\n breakpoints.forEach((breakpoint) => {\n const bp = `(min-width: ${theme.breakpoints[breakpoint]})`;\n acc.media[bp] = {\n ...acc.media[bp],\n [property]: resolvers[propertyData.type](\n getBreakpointValue(styleProps[styleProp], breakpoint),\n theme\n )\n };\n });\n });\n return acc;\n },\n {\n hasResponsiveStyles: false,\n styles: {},\n inlineStyles: {},\n media: {}\n }\n )\n );\n}\n\nexport { parseStyleProps };\n//# sourceMappingURL=parse-style-props.mjs.map\n","'use client';\nimport { useId } from 'react';\n\nfunction useRandomClassName() {\n const id = useId().replace(/:/g, \"\");\n return `__m__-${id}`;\n}\n\nexport { useRandomClassName };\n//# sourceMappingURL=use-random-classname.mjs.map\n","function createPolymorphicComponent(component) {\n return component;\n}\n\nexport { createPolymorphicComponent };\n//# sourceMappingURL=create-polymorphic-component.mjs.map\n","'use client';\nfunction transformModKey(key) {\n return key.startsWith(\"data-\") ? key : `data-${key}`;\n}\nfunction getMod(props) {\n return Object.keys(props).reduce((acc, key) => {\n const value = props[key];\n if (value === void 0 || value === \"\" || value === false || value === null) {\n return acc;\n }\n acc[transformModKey(key)] = props[key];\n return acc;\n }, {});\n}\nfunction getBoxMod(mod) {\n if (!mod) {\n return null;\n }\n if (typeof mod === \"string\") {\n return { [transformModKey(mod)]: true };\n }\n if (Array.isArray(mod)) {\n return [...mod].reduce(\n (acc, value) => ({ ...acc, ...getBoxMod(value) }),\n {}\n );\n }\n return getMod(mod);\n}\n\nexport { getBoxMod, getMod };\n//# sourceMappingURL=get-box-mod.mjs.map\n","'use client';\nfunction mergeStyles(styles, theme) {\n if (Array.isArray(styles)) {\n return [...styles].reduce(\n (acc, item) => ({ ...acc, ...mergeStyles(item, theme) }),\n {}\n );\n }\n if (typeof styles === \"function\") {\n return styles(theme);\n }\n if (styles == null) {\n return {};\n }\n return styles;\n}\nfunction getBoxStyle({\n theme,\n style,\n vars,\n styleProps\n}) {\n const _style = mergeStyles(style, theme);\n const _vars = mergeStyles(vars, theme);\n return { ..._style, ..._vars, ...styleProps };\n}\n\nexport { getBoxStyle };\n//# sourceMappingURL=get-box-style.mjs.map\n","'use client';\nimport { jsxs, Fragment, jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport cx from 'clsx';\nimport { createPolymorphicComponent } from '../factory/create-polymorphic-component.mjs';\nimport { InlineStyles } from '../InlineStyles/InlineStyles.mjs';\nimport { isNumberLike } from '../utils/is-number-like/is-number-like.mjs';\nimport '@mantine/hooks';\nimport { useMantineSxTransform } from '../MantineProvider/Mantine.context.mjs';\nimport '../MantineProvider/default-theme.mjs';\nimport '../MantineProvider/MantineProvider.mjs';\nimport { useMantineTheme } from '../MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { getBoxMod } from './get-box-mod/get-box-mod.mjs';\nimport { getBoxStyle } from './get-box-style/get-box-style.mjs';\nimport { extractStyleProps } from './style-props/extract-style-props/extract-style-props.mjs';\nimport { STYlE_PROPS_DATA } from './style-props/style-props-data.mjs';\nimport { parseStyleProps } from './style-props/parse-style-props/parse-style-props.mjs';\nimport { useRandomClassName } from './use-random-classname/use-random-classname.mjs';\n\nconst _Box = forwardRef(\n ({\n component,\n style,\n __vars,\n className,\n variant,\n mod,\n size,\n hiddenFrom,\n visibleFrom,\n lightHidden,\n darkHidden,\n renderRoot,\n __size,\n ...others\n }, ref) => {\n const theme = useMantineTheme();\n const Element = component || \"div\";\n const { styleProps, rest } = extractStyleProps(others);\n const useSxTransform = useMantineSxTransform();\n const transformedSx = useSxTransform?.()?.(styleProps.sx);\n const responsiveClassName = useRandomClassName();\n const parsedStyleProps = parseStyleProps({\n styleProps,\n theme,\n data: STYlE_PROPS_DATA\n });\n const props = {\n ref,\n style: getBoxStyle({\n theme,\n style,\n vars: __vars,\n styleProps: parsedStyleProps.inlineStyles\n }),\n className: cx(className, transformedSx, {\n [responsiveClassName]: parsedStyleProps.hasResponsiveStyles,\n \"mantine-light-hidden\": lightHidden,\n \"mantine-dark-hidden\": darkHidden,\n [`mantine-hidden-from-${hiddenFrom}`]: hiddenFrom,\n [`mantine-visible-from-${visibleFrom}`]: visibleFrom\n }),\n \"data-variant\": variant,\n \"data-size\": isNumberLike(size) ? void 0 : size || void 0,\n size: __size,\n ...getBoxMod(mod),\n ...rest\n };\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n parsedStyleProps.hasResponsiveStyles && /* @__PURE__ */ jsx(\n InlineStyles,\n {\n selector: `.${responsiveClassName}`,\n styles: parsedStyleProps.styles,\n media: parsedStyleProps.media\n }\n ),\n typeof renderRoot === \"function\" ? renderRoot(props) : /* @__PURE__ */ jsx(Element, { ...props })\n ] });\n }\n);\n_Box.displayName = \"@mantine/core/Box\";\nconst Box = createPolymorphicComponent(_Box);\n\nexport { Box };\n//# sourceMappingURL=Box.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\n\nfunction identity(value) {\n return value;\n}\nfunction factory(ui) {\n const Component = forwardRef(ui);\n Component.extend = identity;\n Component.withProps = (fixedProps) => {\n const Extended = forwardRef((props, ref) => /* @__PURE__ */ jsx(Component, { ...fixedProps, ...props, ref }));\n Extended.extend = Component.extend;\n Extended.displayName = `WithProps(${Component.displayName})`;\n return Extended;\n };\n return Component;\n}\n\nexport { factory, identity };\n//# sourceMappingURL=factory.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { identity } from './factory.mjs';\n\nfunction polymorphicFactory(ui) {\n const Component = forwardRef(ui);\n Component.withProps = (fixedProps) => {\n const Extended = forwardRef((props, ref) => /* @__PURE__ */ jsx(Component, { ...fixedProps, ...props, ref }));\n Extended.extend = Component.extend;\n Extended.displayName = `WithProps(${Component.displayName})`;\n return Extended;\n };\n Component.extend = identity;\n return Component;\n}\n\nexport { polymorphicFactory };\n//# sourceMappingURL=polymorphic-factory.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { createContext, useContext, useState } from 'react';\nimport { useIsomorphicEffect } from '@mantine/hooks';\n\nconst DirectionContext = createContext({\n dir: \"ltr\",\n toggleDirection: () => {\n },\n setDirection: () => {\n }\n});\nfunction useDirection() {\n return useContext(DirectionContext);\n}\nfunction DirectionProvider({\n children,\n initialDirection = \"ltr\",\n detectDirection = true\n}) {\n const [dir, setDir] = useState(initialDirection);\n const setDirection = (direction) => {\n setDir(direction);\n document.documentElement.setAttribute(\"dir\", direction);\n };\n const toggleDirection = () => setDirection(dir === \"ltr\" ? \"rtl\" : \"ltr\");\n useIsomorphicEffect(() => {\n if (detectDirection) {\n const direction = document.documentElement.getAttribute(\"dir\");\n if (direction === \"rtl\" || direction === \"ltr\") {\n setDirection(direction);\n }\n }\n }, []);\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: { dir, toggleDirection, setDirection }, children });\n}\n\nexport { DirectionContext, DirectionProvider, useDirection };\n//# sourceMappingURL=DirectionProvider.mjs.map\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3 {\n let rAF = 0;\n if (element) {\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 return void 0;\n }, [element, handleResize]);\n}\n\nexport { useResizeObserver };\n//# sourceMappingURL=use-resize-observer.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState } from 'react';\nimport { useScrollAreaContext } from '../ScrollArea.context.mjs';\nimport { useResizeObserver } from '../use-resize-observer.mjs';\n\nconst Corner = forwardRef((props, ref) => {\n const { style, ...others } = props;\n const ctx = useScrollAreaContext();\n const [width, setWidth] = useState(0);\n const [height, setHeight] = useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(ctx.scrollbarX, () => {\n const h = ctx.scrollbarX?.offsetHeight || 0;\n ctx.onCornerHeightChange(h);\n setHeight(h);\n });\n useResizeObserver(ctx.scrollbarY, () => {\n const w = ctx.scrollbarY?.offsetWidth || 0;\n ctx.onCornerWidthChange(w);\n setWidth(w);\n });\n return hasSize ? /* @__PURE__ */ jsx(\"div\", { ...others, ref, style: { ...style, width, height } }) : null;\n});\nconst ScrollAreaCorner = forwardRef((props, ref) => {\n const ctx = useScrollAreaContext();\n const hasBothScrollbarsVisible = Boolean(ctx.scrollbarX && ctx.scrollbarY);\n const hasCorner = ctx.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(Corner, { ...props, ref }) : null;\n});\n\nexport { Corner, ScrollAreaCorner };\n//# sourceMappingURL=ScrollAreaCorner.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { ScrollAreaProvider } from '../ScrollArea.context.mjs';\n\nconst defaultProps = {\n scrollHideDelay: 1e3,\n type: \"hover\"\n};\nconst ScrollAreaRoot = forwardRef((_props, ref) => {\n const props = useProps(\"ScrollAreaRoot\", defaultProps, _props);\n const { type, scrollHideDelay, scrollbars, ...others } = props;\n const [scrollArea, setScrollArea] = useState(null);\n const [viewport, setViewport] = useState(null);\n const [content, setContent] = useState(null);\n const [scrollbarX, setScrollbarX] = useState(null);\n const [scrollbarY, setScrollbarY] = useState(null);\n const [cornerWidth, setCornerWidth] = useState(0);\n const [cornerHeight, setCornerHeight] = useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = useState(false);\n const rootRef = useMergedRef(ref, (node) => setScrollArea(node));\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n value: {\n type,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight\n },\n children: /* @__PURE__ */ jsx(\n Box,\n {\n ...others,\n ref: rootRef,\n __vars: {\n \"--sa-corner-width\": scrollbars !== \"xy\" ? \"0px\" : `${cornerWidth}px`,\n \"--sa-corner-height\": scrollbars !== \"xy\" ? \"0px\" : `${cornerHeight}px`\n }\n }\n )\n }\n );\n});\nScrollAreaRoot.displayName = \"@mantine/core/ScrollAreaRoot\";\n\nexport { ScrollAreaRoot };\n//# sourceMappingURL=ScrollAreaRoot.mjs.map\n","'use client';\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return Number.isNaN(ratio) ? 0 : ratio;\n}\n\nexport { getThumbRatio };\n//# sourceMappingURL=get-thumb-ratio.mjs.map\n","'use client';\nimport { getThumbRatio } from './get-thumb-ratio.mjs';\n\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\n\nexport { getThumbSize };\n//# sourceMappingURL=get-thumb-size.mjs.map\n","'use client';\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1])\n return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\n\nexport { linearScale };\n//# sourceMappingURL=linear-scale.mjs.map\n","'use client';\nimport { getThumbSize } from './get-thumb-size.mjs';\nimport { linearScale } from './linear-scale.mjs';\n\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = 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\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\n\nexport { getThumbOffsetFromScroll };\n//# sourceMappingURL=get-thumb-offset-from-scroll.mjs.map\n","'use client';\nimport { getThumbSize } from './get-thumb-size.mjs';\nimport { linearScale } from './linear-scale.mjs';\n\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = 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\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\n\nexport { getScrollPositionFromPointer };\n//# sourceMappingURL=get-scroll-position-from-pointer.mjs.map\n","'use client';\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\n\nexport { isScrollingWithinScrollbarBounds };\n//# sourceMappingURL=is-scrolling-within-scrollbar-bounds.mjs.map\n","'use client';\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\n\nexport { toInt };\n//# sourceMappingURL=to-int.mjs.map\n","'use client';\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return (event) => {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n ourEventHandler?.(event);\n }\n };\n}\n\nexport { composeEventHandlers };\n//# sourceMappingURL=compose-event-handlers.mjs.map\n","'use client';\nimport 'react';\nimport { createSafeContext } from '../../../core/utils/create-safe-context/create-safe-context.mjs';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\n\nconst [ScrollbarProvider, useScrollbarContext] = createSafeContext(\n \"ScrollAreaScrollbar was not found in tree\"\n);\n\nexport { ScrollbarProvider, useScrollbarContext };\n//# sourceMappingURL=Scrollbar.context.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState, useRef, useEffect } from 'react';\nimport { useMergedRef, useCallbackRef, useDebouncedCallback } from '@mantine/hooks';\nimport { useScrollAreaContext } from '../ScrollArea.context.mjs';\nimport { useResizeObserver } from '../use-resize-observer.mjs';\nimport { composeEventHandlers } from '../utils/compose-event-handlers.mjs';\nimport { ScrollbarProvider } from './Scrollbar.context.mjs';\n\nconst Scrollbar = forwardRef((props, forwardedRef) => {\n const {\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext();\n const [scrollbar, setScrollbar] = useState(null);\n const composeRefs = useMergedRef(forwardedRef, (node) => setScrollbar(node));\n const rectRef = useRef(null);\n const prevWebkitUserSelectRef = useRef(\"\");\n const { viewport } = context;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebouncedCallback(onResize, 10);\n const handleDragScroll = (event) => {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n };\n useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel)\n handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n value: {\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown)\n },\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n event.preventDefault();\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n document.body.style.pointerEvents = \"none\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n event.preventDefault();\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n document.body.style.pointerEvents = \"auto\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\n\nexport { Scrollbar };\n//# sourceMappingURL=Scrollbar.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState, useRef, useEffect } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { useScrollAreaContext } from '../ScrollArea.context.mjs';\nimport { isScrollingWithinScrollbarBounds } from '../utils/is-scrolling-within-scrollbar-bounds.mjs';\nimport { getThumbSize } from '../utils/get-thumb-size.mjs';\nimport { toInt } from '../utils/to-int.mjs';\nimport { Scrollbar } from './Scrollbar.mjs';\n\nconst ScrollAreaScrollbarX = forwardRef(\n (props, forwardedRef) => {\n const { sizes, onSizesChange, style, ...others } = props;\n const ctx = useScrollAreaContext();\n const [computedStyle, setComputedStyle] = useState();\n const ref = useRef(null);\n const composeRefs = useMergedRef(forwardedRef, ref, ctx.onScrollbarXChange);\n useEffect(() => {\n if (ref.current)\n setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n Scrollbar,\n {\n \"data-orientation\": \"horizontal\",\n ...others,\n ref: composeRefs,\n sizes,\n style: {\n ...style,\n [\"--sa-thumb-width\"]: `${getThumbSize(sizes)}px`\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (ctx.viewport) {\n const scrollPos = ctx.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && ctx.viewport && computedStyle) {\n onSizesChange({\n content: ctx.viewport.scrollWidth,\n viewport: ctx.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n }\n);\n\nexport { ScrollAreaScrollbarX };\n//# sourceMappingURL=ScrollbarX.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState, useRef, useEffect } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { useScrollAreaContext } from '../ScrollArea.context.mjs';\nimport { isScrollingWithinScrollbarBounds } from '../utils/is-scrolling-within-scrollbar-bounds.mjs';\nimport { getThumbSize } from '../utils/get-thumb-size.mjs';\nimport { toInt } from '../utils/to-int.mjs';\nimport { Scrollbar } from './Scrollbar.mjs';\n\nconst ScrollAreaScrollbarY = forwardRef(\n (props, forwardedRef) => {\n const { sizes, onSizesChange, style, ...others } = props;\n const context = useScrollAreaContext();\n const [computedStyle, setComputedStyle] = useState();\n const ref = useRef(null);\n const composeRefs = useMergedRef(forwardedRef, ref, context.onScrollbarYChange);\n useEffect(() => {\n if (ref.current) {\n setComputedStyle(window.getComputedStyle(ref.current));\n }\n }, []);\n return /* @__PURE__ */ jsx(\n Scrollbar,\n {\n ...others,\n \"data-orientation\": \"vertical\",\n ref: composeRefs,\n sizes,\n style: {\n [\"--sa-thumb-height\"]: `${getThumbSize(sizes)}px`,\n ...style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n }\n);\n\nexport { ScrollAreaScrollbarY };\n//# sourceMappingURL=ScrollbarY.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useRef, useState } from 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport { useDirection } from '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useScrollAreaContext } from '../ScrollArea.context.mjs';\nimport { getThumbRatio } from '../utils/get-thumb-ratio.mjs';\nimport { getThumbOffsetFromScroll } from '../utils/get-thumb-offset-from-scroll.mjs';\nimport { getScrollPositionFromPointer } from '../utils/get-scroll-position-from-pointer.mjs';\nimport { ScrollAreaScrollbarX } from './ScrollbarX.mjs';\nimport { ScrollAreaScrollbarY } from './ScrollbarY.mjs';\n\nconst ScrollAreaScrollbarVisible = forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const { dir } = useDirection();\n const context = useScrollAreaContext();\n const thumbRef = useRef(null);\n const pointerOffsetRef = useRef(0);\n const [sizes, setSizes] = useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => {\n thumbRef.current = thumb;\n },\n onThumbPointerUp: () => {\n pointerOffsetRef.current = 0;\n },\n onThumbPointerDown: (pointerPos) => {\n pointerOffsetRef.current = pointerPos;\n }\n };\n const getScrollPosition = (pointerPos, direction) => getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, direction);\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport)\n context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n if (sizes.scrollbar.size === 0) {\n thumbRef.current.style.opacity = \"0\";\n } else {\n thumbRef.current.style.opacity = \"1\";\n }\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport)\n context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport)\n context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\n\nexport { ScrollAreaScrollbarVisible };\n//# sourceMappingURL=ScrollAreaScrollbarVisible.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState } from 'react';\nimport { useDebouncedCallback } from '@mantine/hooks';\nimport { useScrollAreaContext } from '../ScrollArea.context.mjs';\nimport { useResizeObserver } from '../use-resize-observer.mjs';\nimport { ScrollAreaScrollbarVisible } from './ScrollAreaScrollbarVisible.mjs';\n\nconst ScrollAreaScrollbarAuto = forwardRef(\n (props, ref) => {\n const context = useScrollAreaContext();\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebouncedCallback(() => {\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 useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n if (forceMount || visible) {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref\n }\n );\n }\n return null;\n }\n);\n\nexport { ScrollAreaScrollbarAuto };\n//# sourceMappingURL=ScrollAreaScrollbarAuto.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState, useEffect } from 'react';\nimport { useScrollAreaContext } from '../ScrollArea.context.mjs';\nimport { ScrollAreaScrollbarAuto } from './ScrollAreaScrollbarAuto.mjs';\n\nconst ScrollAreaScrollbarHover = forwardRef(\n (props, ref) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext();\n const [visible, setVisible] = useState(false);\n useEffect(() => {\n const { scrollArea } = context;\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), 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 return void 0;\n }, [context.scrollArea, context.scrollHideDelay]);\n if (forceMount || visible) {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref\n }\n );\n }\n return null;\n }\n);\n\nexport { ScrollAreaScrollbarHover };\n//# sourceMappingURL=ScrollAreaScrollbarHover.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState, useEffect } from 'react';\nimport { useDebouncedCallback } from '@mantine/hooks';\nimport { useScrollAreaContext } from '../ScrollArea.context.mjs';\nimport { composeEventHandlers } from '../utils/compose-event-handlers.mjs';\nimport { ScrollAreaScrollbarVisible } from './ScrollAreaScrollbarVisible.mjs';\n\nconst ScrollAreaScrollbarScroll = forwardRef(\n (props, red) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext();\n const isHorizontal = props.orientation === \"horizontal\";\n const [state, setState] = useState(\"hidden\");\n const debounceScrollEnd = useDebouncedCallback(() => setState(\"idle\"), 100);\n useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => setState(\"hidden\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n return void 0;\n }, [state, context.scrollHideDelay]);\n useEffect(() => {\n const { viewport } = context;\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 setState(\"scrolling\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n return void 0;\n }, [context.viewport, isHorizontal, debounceScrollEnd]);\n if (forceMount || state !== \"hidden\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: red,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => setState(\"interacting\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => setState(\"idle\"))\n }\n );\n }\n return null;\n }\n);\n\nexport { ScrollAreaScrollbarScroll };\n//# sourceMappingURL=ScrollAreaScrollbarScroll.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useEffect } from 'react';\nimport { useScrollAreaContext } from '../ScrollArea.context.mjs';\nimport { ScrollAreaScrollbarAuto } from './ScrollAreaScrollbarAuto.mjs';\nimport { ScrollAreaScrollbarHover } from './ScrollAreaScrollbarHover.mjs';\nimport { ScrollAreaScrollbarScroll } from './ScrollAreaScrollbarScroll.mjs';\nimport { ScrollAreaScrollbarVisible } from './ScrollAreaScrollbarVisible.mjs';\n\nconst ScrollAreaScrollbar = forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext();\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\n\nexport { ScrollAreaScrollbar };\n//# sourceMappingURL=ScrollAreaScrollbar.mjs.map\n","'use client';\nfunction addUnlinkedScrollListener(node, handler = () => {\n}) {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll)\n handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n}\n\nexport { addUnlinkedScrollListener };\n//# sourceMappingURL=add-unlinked-scroll-listener.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useRef, useEffect } from 'react';\nimport { useMergedRef, useDebouncedCallback } from '@mantine/hooks';\nimport { useScrollAreaContext } from '../ScrollArea.context.mjs';\nimport { useScrollbarContext } from '../ScrollAreaScrollbar/Scrollbar.context.mjs';\nimport { composeEventHandlers } from '../utils/compose-event-handlers.mjs';\nimport { addUnlinkedScrollListener } from '../utils/add-unlinked-scroll-listener.mjs';\n\nconst Thumb = forwardRef((props, forwardedRef) => {\n const { style, ...others } = props;\n const scrollAreaContext = useScrollAreaContext();\n const scrollbarContext = useScrollbarContext();\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useMergedRef(forwardedRef, (node) => scrollbarContext.onThumbChange(node));\n const removeUnlinkedScrollListenerRef = useRef();\n const debounceScrollEnd = useDebouncedCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n useEffect(() => {\n const { viewport } = scrollAreaContext;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = 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 return void 0;\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...others,\n ref: composedRef,\n style: {\n width: \"var(--sa-thumb-width)\",\n height: \"var(--sa-thumb-height)\",\n ...style\n },\n onPointerDownCapture: 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({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n});\nconst ScrollAreaThumb = forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext();\n if (forceMount || scrollbarContext.hasThumb) {\n return /* @__PURE__ */ jsx(Thumb, { ref: forwardedRef, ...thumbProps });\n }\n return null;\n }\n);\n\nexport { ScrollAreaThumb, Thumb };\n//# sourceMappingURL=ScrollAreaThumb.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useScrollAreaContext } from '../ScrollArea.context.mjs';\n\nconst ScrollAreaViewport = forwardRef(\n ({ children, style, ...others }, ref) => {\n const ctx = useScrollAreaContext();\n const rootRef = useMergedRef(ref, ctx.onViewportChange);\n return /* @__PURE__ */ jsx(\n Box,\n {\n ...others,\n ref: rootRef,\n style: {\n overflowX: ctx.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: ctx.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...style\n },\n children: /* @__PURE__ */ jsx(\"div\", { style: { minWidth: \"100%\", display: \"table\" }, ref: ctx.onContentChange, children })\n }\n );\n }\n);\nScrollAreaViewport.displayName = \"@mantine/core/ScrollAreaViewport\";\n\nexport { ScrollAreaViewport };\n//# sourceMappingURL=ScrollAreaViewport.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_d57069b5\",\"viewport\":\"m_c0783ff9\",\"viewportInner\":\"m_f8f631dd\",\"scrollbar\":\"m_c44ba933\",\"thumb\":\"m_d8b5e363\",\"corner\":\"m_21657268\"};\n\nexport { classes as default };\n//# sourceMappingURL=ScrollArea.module.css.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { useState } from 'react';\nimport { rem } from '../../core/utils/units-converters/rem.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport { ScrollAreaCorner } from './ScrollAreaCorner/ScrollAreaCorner.mjs';\nimport { ScrollAreaRoot } from './ScrollAreaRoot/ScrollAreaRoot.mjs';\nimport { ScrollAreaScrollbar } from './ScrollAreaScrollbar/ScrollAreaScrollbar.mjs';\nimport { ScrollAreaThumb } from './ScrollAreaThumb/ScrollAreaThumb.mjs';\nimport { ScrollAreaViewport } from './ScrollAreaViewport/ScrollAreaViewport.mjs';\nimport classes from './ScrollArea.module.css.mjs';\n\nconst defaultProps = {\n scrollHideDelay: 1e3,\n type: \"hover\",\n scrollbars: \"xy\"\n};\nconst varsResolver = createVarsResolver((_, { scrollbarSize }) => ({\n root: {\n \"--scrollarea-scrollbar-size\": rem(scrollbarSize)\n }\n}));\nconst ScrollArea = factory((_props, ref) => {\n const props = useProps(\"ScrollArea\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n scrollbarSize,\n vars,\n type,\n scrollHideDelay,\n viewportProps,\n viewportRef,\n onScrollPositionChange,\n children,\n offsetScrollbars,\n scrollbars,\n ...others\n } = props;\n const [scrollbarHovered, setScrollbarHovered] = useState(false);\n const getStyles = useStyles({\n name: \"ScrollArea\",\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n return /* @__PURE__ */ jsxs(\n ScrollAreaRoot,\n {\n type: type === \"never\" ? \"always\" : type,\n scrollHideDelay,\n ref,\n scrollbars,\n ...getStyles(\"root\"),\n ...others,\n children: [\n /* @__PURE__ */ jsx(\n ScrollAreaViewport,\n {\n ...viewportProps,\n ...getStyles(\"viewport\", { style: viewportProps?.style }),\n ref: viewportRef,\n \"data-offset-scrollbars\": offsetScrollbars === true ? \"xy\" : offsetScrollbars || void 0,\n \"data-scrollbars\": scrollbars || void 0,\n onScroll: (e) => {\n viewportProps?.onScroll?.(e);\n onScrollPositionChange?.({ x: e.currentTarget.scrollLeft, y: e.currentTarget.scrollTop });\n },\n children\n }\n ),\n (scrollbars === \"xy\" || scrollbars === \"x\") && /* @__PURE__ */ jsx(\n ScrollAreaScrollbar,\n {\n ...getStyles(\"scrollbar\"),\n orientation: \"horizontal\",\n \"data-hidden\": type === \"never\" || void 0,\n forceMount: true,\n onMouseEnter: () => setScrollbarHovered(true),\n onMouseLeave: () => setScrollbarHovered(false),\n children: /* @__PURE__ */ jsx(ScrollAreaThumb, { ...getStyles(\"thumb\") })\n }\n ),\n (scrollbars === \"xy\" || scrollbars === \"y\") && /* @__PURE__ */ jsx(\n ScrollAreaScrollbar,\n {\n ...getStyles(\"scrollbar\"),\n orientation: \"vertical\",\n \"data-hidden\": type === \"never\" || void 0,\n forceMount: true,\n onMouseEnter: () => setScrollbarHovered(true),\n onMouseLeave: () => setScrollbarHovered(false),\n children: /* @__PURE__ */ jsx(ScrollAreaThumb, { ...getStyles(\"thumb\") })\n }\n ),\n /* @__PURE__ */ jsx(\n ScrollAreaCorner,\n {\n ...getStyles(\"corner\"),\n \"data-hovered\": scrollbarHovered || void 0,\n \"data-hidden\": type === \"never\" || void 0\n }\n )\n ]\n }\n );\n});\nScrollArea.displayName = \"@mantine/core/ScrollArea\";\nconst ScrollAreaAutosize = factory((props, ref) => {\n const {\n children,\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 scrollbars,\n style,\n vars,\n ...others\n } = useProps(\"ScrollAreaAutosize\", defaultProps, props);\n return /* @__PURE__ */ jsx(Box, { ...others, ref, style: [{ display: \"flex\", overflow: \"auto\" }, style], children: /* @__PURE__ */ jsx(Box, { style: { display: \"flex\", flexDirection: \"column\", flex: 1 }, children: /* @__PURE__ */ jsx(\n ScrollArea,\n {\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 vars,\n scrollbars,\n children\n }\n ) }) });\n});\nScrollArea.classes = classes;\nScrollAreaAutosize.displayName = \"@mantine/core/ScrollAreaAutosize\";\nScrollAreaAutosize.classes = classes;\nScrollArea.Autosize = ScrollAreaAutosize;\n\nexport { ScrollArea, ScrollAreaAutosize };\n//# sourceMappingURL=ScrollArea.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_87cf2631\"};\n\nexport { classes as default };\n//# sourceMappingURL=UnstyledButton.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { polymorphicFactory } from '../../core/factory/polymorphic-factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './UnstyledButton.module.css.mjs';\n\nconst defaultProps = {\n __staticSelector: \"UnstyledButton\"\n};\nconst UnstyledButton = polymorphicFactory(\n (_props, ref) => {\n const props = useProps(\"UnstyledButton\", defaultProps, _props);\n const {\n className,\n component = \"button\",\n __staticSelector,\n unstyled,\n classNames,\n styles,\n style,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector,\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled\n });\n return /* @__PURE__ */ jsx(\n Box,\n {\n ...getStyles(\"root\", { focusable: true }),\n component,\n ref,\n type: component === \"button\" ? \"button\" : void 0,\n ...others\n }\n );\n }\n);\nUnstyledButton.classes = classes;\nUnstyledButton.displayName = \"@mantine/core/UnstyledButton\";\n\nexport { UnstyledButton };\n//# sourceMappingURL=UnstyledButton.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_515a97f8\"};\n\nexport { classes as default };\n//# sourceMappingURL=VisuallyHidden.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './VisuallyHidden.module.css.mjs';\n\nconst defaultProps = {};\nconst VisuallyHidden = factory((_props, ref) => {\n const props = useProps(\"VisuallyHidden\", defaultProps, _props);\n const { classNames, className, style, styles, unstyled, vars, ...others } = props;\n const getStyles = useStyles({\n name: \"VisuallyHidden\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled\n });\n return /* @__PURE__ */ jsx(Box, { component: \"span\", ref, ...getStyles(\"root\"), ...others });\n});\nVisuallyHidden.classes = classes;\nVisuallyHidden.displayName = \"@mantine/core/VisuallyHidden\";\n\nexport { VisuallyHidden };\n//# sourceMappingURL=VisuallyHidden.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_1b7284a3\"};\n\nexport { classes as default };\n//# sourceMappingURL=Paper.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport { getRadius, getShadow } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { polymorphicFactory } from '../../core/factory/polymorphic-factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './Paper.module.css.mjs';\n\nconst defaultProps = {};\nconst varsResolver = createVarsResolver((_, { radius, shadow }) => ({\n root: {\n \"--paper-radius\": radius === void 0 ? void 0 : getRadius(radius),\n \"--paper-shadow\": getShadow(shadow)\n }\n}));\nconst Paper = polymorphicFactory((_props, ref) => {\n const props = useProps(\"Paper\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n withBorder,\n vars,\n radius,\n shadow,\n variant,\n mod,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"Paper\",\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n return /* @__PURE__ */ jsx(\n Box,\n {\n ref,\n mod: [{ \"data-with-border\": withBorder }, mod],\n ...getStyles(\"root\"),\n variant,\n ...others\n }\n );\n});\nPaper.classes = classes;\nPaper.displayName = \"@mantine/core/Paper\";\n\nexport { Paper };\n//# sourceMappingURL=Paper.mjs.map\n","function getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n // Browsers without `ShadowRoot` support.\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(element) {\n const webkit = isWebKit();\n const css = getComputedStyle(element);\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isTopLayer(currentNode)) {\n return null;\n }\n if (isContainingBlock(currentNode)) {\n return currentNode;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';\n\nfunction activeElement(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n var _activeElement;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\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\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n // Try to find a workaround for this. `react-aria` source still has the check.\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n if (isAndroid() && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && 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 && event.pointerType === 'touch';\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes('jsdom/');\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}\nfunction isReactEvent(event) {\n return 'nativeEvent' in event;\n}\nfunction isRootElement(element) {\n return element.matches('html,body');\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\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}\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}\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}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\n\nexport { TYPEABLE_SELECTOR, activeElement, contains, getDocument, getPlatform, getTarget, getUserAgent, isAndroid, isEventTargetWithin, isJSDOM, isMac, isMouseLikePointerType, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, stopEvent };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...rawValue\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (isYAxis) {\n availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n } else {\n availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getNodeScroll, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = currentWin.frameElement;\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = currentWin.frameElement;\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n ...clippingAncestor,\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const x = rect.left + scroll.scrollLeft - offsets.x;\n const y = rect.top + scroll.scrollTop - offsets.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n return element.offsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle