@televet/kibble-ui 1.20.2 → 1.20.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/alert.component-27a1f5d4.js +2 -0
- package/build/alert.component-27a1f5d4.js.map +1 -0
- package/build/alert.types-4daf4eee.js +2 -0
- package/build/alert.types-4daf4eee.js.map +1 -0
- package/build/avatar.component-15867f35.js +2 -0
- package/build/avatar.component-15867f35.js.map +1 -0
- package/build/avatar.config-f2ca8baa.js +2 -0
- package/build/avatar.config-f2ca8baa.js.map +1 -0
- package/build/avatarGroup.component-ab7b40b1.js +2 -0
- package/build/avatarGroup.component-ab7b40b1.js.map +1 -0
- package/build/button.component-7994e6aa.js +2 -0
- package/build/button.component-7994e6aa.js.map +1 -0
- package/build/chakra/index.d.ts +2 -0
- package/build/chakra/index.js +2 -0
- package/build/chakra/index.js.map +1 -0
- package/build/chakra-ui-alert.esm-0751f858.js +2 -0
- package/build/chakra-ui-alert.esm-0751f858.js.map +1 -0
- package/build/chakra-ui-avatar.esm-59c90a73.js +2 -0
- package/build/chakra-ui-avatar.esm-59c90a73.js.map +1 -0
- package/build/chakra-ui-button.esm-35454bb1.js +2 -0
- package/build/chakra-ui-button.esm-35454bb1.js.map +1 -0
- package/build/chakra-ui-checkbox.esm-cdd9b730.js +2 -0
- package/build/chakra-ui-checkbox.esm-cdd9b730.js.map +1 -0
- package/build/chakra-ui-clickable.esm-b1a74f32.js +2 -0
- package/build/chakra-ui-clickable.esm-b1a74f32.js.map +1 -0
- package/build/chakra-ui-form-control.esm-0cef8b57.js +2 -0
- package/build/chakra-ui-form-control.esm-0cef8b57.js.map +1 -0
- package/build/chakra-ui-hooks.esm-567ac2a0.js +2 -0
- package/build/chakra-ui-hooks.esm-567ac2a0.js.map +1 -0
- package/build/chakra-ui-icon.esm-ce4e59f0.js +2 -0
- package/build/chakra-ui-icon.esm-ce4e59f0.js.map +1 -0
- package/build/chakra-ui-input.esm-ed97ec15.js +2 -0
- package/build/chakra-ui-input.esm-ed97ec15.js.map +1 -0
- package/build/chakra-ui-layout.esm-339b049e.js +2 -0
- package/build/chakra-ui-layout.esm-339b049e.js.map +1 -0
- package/build/chakra-ui-media-query.esm-d61e2d30.js +2 -0
- package/build/chakra-ui-media-query.esm-d61e2d30.js.map +1 -0
- package/build/chakra-ui-menu.esm-e0987e59.js +2 -0
- package/build/chakra-ui-menu.esm-e0987e59.js.map +1 -0
- package/build/chakra-ui-modal.esm-7aa63ee6.js +16 -0
- package/build/chakra-ui-modal.esm-7aa63ee6.js.map +1 -0
- package/build/chakra-ui-popover.esm-7715e41a.js +2 -0
- package/build/chakra-ui-popover.esm-7715e41a.js.map +1 -0
- package/build/chakra-ui-popper.esm-0f108f82.js +2 -0
- package/build/chakra-ui-popper.esm-0f108f82.js.map +1 -0
- package/build/chakra-ui-portal.esm-1b79ea40.js +2 -0
- package/build/chakra-ui-portal.esm-1b79ea40.js.map +1 -0
- package/build/chakra-ui-radio.esm-0b46b96d.js +2 -0
- package/build/chakra-ui-radio.esm-0b46b96d.js.map +1 -0
- package/build/chakra-ui-react.esm-9b647528.js +2 -0
- package/build/chakra-ui-react.esm-9b647528.js.map +1 -0
- package/build/chakra-ui-select.esm-25158f05.js +2 -0
- package/build/chakra-ui-select.esm-25158f05.js.map +1 -0
- package/build/chakra-ui-skeleton.esm-93e51908.js +2 -0
- package/build/chakra-ui-skeleton.esm-93e51908.js.map +1 -0
- package/build/chakra-ui-system.esm-1d513b8a.js +10 -0
- package/build/chakra-ui-system.esm-1d513b8a.js.map +1 -0
- package/build/chakra-ui-tabs.esm-ef9caadc.js +2 -0
- package/build/chakra-ui-tabs.esm-ef9caadc.js.map +1 -0
- package/build/chakra-ui-textarea.esm-be1a9598.js +2 -0
- package/build/chakra-ui-textarea.esm-be1a9598.js.map +1 -0
- package/build/chakra-ui-theme.esm-6392a200.js +2 -0
- package/build/chakra-ui-theme.esm-6392a200.js.map +1 -0
- package/build/chakra-ui-visually-hidden.esm-127ebfba.js +2 -0
- package/build/chakra-ui-visually-hidden.esm-127ebfba.js.map +1 -0
- package/build/checkbox.component-13b96bed.js +2 -0
- package/build/checkbox.component-13b96bed.js.map +1 -0
- package/build/checkboxGroup.component-d786905a.js +2 -0
- package/build/checkboxGroup.component-d786905a.js.map +1 -0
- package/build/color.record-43268868.js +2 -0
- package/build/color.record-43268868.js.map +1 -0
- package/build/components/{Feedback/Alert → Alert}/alert.argTypes.d.ts +2 -2
- package/build/components/{Feedback/Alert → Alert}/alert.component.d.ts +5 -6
- package/build/components/{Feedback/feedback.model.d.ts → Alert/alert.records.d.ts} +3 -2
- package/build/components/{Feedback/Alert → Alert}/alert.types.d.ts +1 -6
- package/build/components/{Feedback/Alert → Alert}/components/alertButton.component.d.ts +1 -1
- package/build/components/{Feedback/Alert → Alert}/components/alertDescription.component.d.ts +1 -1
- package/build/components/Alert/components/alertIcon.component.d.ts +7 -0
- package/build/components/{Feedback/Alert → Alert}/components/alertTitle.component.d.ts +1 -1
- package/build/components/Alert/index.d.ts +2 -0
- package/build/components/Alert/index.js +2 -0
- package/build/components/Alert/index.js.map +1 -0
- package/build/components/{MediaAndIcons/Avatar → Avatar}/avatar.argTypes.d.ts +3 -2
- package/build/components/{MediaAndIcons/Avatar → Avatar}/avatar.component.d.ts +2 -2
- package/build/components/{MediaAndIcons/Avatar → Avatar}/avatar.types.d.ts +1 -1
- package/build/components/Avatar/components/AvatarBadge/avatarBadge.component.d.ts +15 -0
- package/build/components/Avatar/components/AvatarBadge/avatarBadge.types.d.ts +6 -0
- package/build/components/Avatar/index.d.ts +2 -0
- package/build/components/Avatar/index.js +2 -0
- package/build/components/Avatar/index.js.map +1 -0
- package/build/components/AvatarGroup/index.js +2 -0
- package/build/components/AvatarGroup/index.js.map +1 -0
- package/build/components/Button/button.component.d.ts +14 -0
- package/build/components/{Forms/Button → Button}/button.types.d.ts +2 -1
- package/build/components/{Forms/Button → Button}/index.d.ts +0 -1
- package/build/components/Button/index.js +2 -0
- package/build/components/Button/index.js.map +1 -0
- package/build/components/Checkbox/index.d.ts +2 -0
- package/build/components/Checkbox/index.js +2 -0
- package/build/components/Checkbox/index.js.map +1 -0
- package/build/components/{Forms/Checkbox/components/CheckboxGroup → CheckboxGroup}/checkboxGroup.component.d.ts +3 -3
- package/build/components/CheckboxGroup/index.d.ts +1 -0
- package/build/components/CheckboxGroup/index.js +2 -0
- package/build/components/CheckboxGroup/index.js.map +1 -0
- package/build/components/DatePicker/components/Day/day.component.d.ts +7 -0
- package/build/components/{Forms/DatePicker → DatePicker}/components/Month/month.component.d.ts +1 -2
- package/build/components/{Forms/DatePicker → DatePicker/context}/datepicker.context.d.ts +2 -3
- package/build/components/{Forms/DatePicker → DatePicker}/datepicker.component.d.ts +1 -1
- package/build/components/DatePicker/datepicker.records.d.ts +7 -0
- package/build/components/{Forms/DatePicker → DatePicker}/index.d.ts +1 -1
- package/build/components/DatePicker/index.js +2 -0
- package/build/components/DatePicker/index.js.map +1 -0
- package/build/components/{Forms/FormControl → FormControl}/formControl.component.d.ts +1 -1
- package/build/components/FormControl/index.js +2 -0
- package/build/components/FormControl/index.js.map +1 -0
- package/build/components/{Typography/Heading → Heading}/heading.component.d.ts +3 -3
- package/build/components/{Typography/Heading → Heading}/heading.types.d.ts +1 -1
- package/build/components/{Typography/Heading → Heading}/index.d.ts +0 -1
- package/build/components/Heading/index.js +2 -0
- package/build/components/Heading/index.js.map +1 -0
- package/build/components/{MediaAndIcons/Icon → Icon}/icon.component.d.ts +1 -1
- package/build/components/{MediaAndIcons/Icon → Icon}/icon.types.d.ts +2 -1
- package/build/components/Icon/index.js +2 -0
- package/build/components/Icon/index.js.map +1 -0
- package/build/components/{Navigation/Link → Link}/components/linkIcon.component.d.ts +1 -1
- package/build/components/{Navigation/Link → Link}/index.d.ts +0 -1
- package/build/components/Link/index.js +2 -0
- package/build/components/Link/index.js.map +1 -0
- package/build/components/{Navigation/Link → Link}/link.component.d.ts +2 -1
- package/build/components/{Navigation/Link → Link}/link.config.d.ts +2 -2
- package/build/components/Logo/index.js +2 -0
- package/build/components/Logo/index.js.map +1 -0
- package/build/components/{MediaAndIcons/Logo → Logo}/logo.component.d.ts +2 -2
- package/build/components/Logo/logos.d.ts +7 -0
- package/build/components/Menu/components/MenuButton/index.d.ts +1 -0
- package/build/components/Menu/components/MenuButton/index.js +2 -0
- package/build/components/Menu/components/MenuButton/index.js.map +1 -0
- package/build/components/{Overlay/Menu → Menu}/components/MenuButton/menuButton.component.d.ts +3 -4
- package/build/components/Menu/components/MenuContainer/index.d.ts +1 -0
- package/build/components/Menu/components/MenuContainer/index.js +2 -0
- package/build/components/Menu/components/MenuContainer/index.js.map +1 -0
- package/build/components/{Overlay/Menu → Menu}/components/MenuContainer/menuContainer.component.d.ts +2 -3
- package/build/components/Menu/components/MenuItem/index.d.ts +1 -0
- package/build/components/Menu/components/MenuItem/index.js +2 -0
- package/build/components/Menu/components/MenuItem/index.js.map +1 -0
- package/build/components/{Overlay/Menu → Menu}/components/MenuItem/menuItem.component.d.ts +2 -3
- package/build/components/Menu/components/MenuList/index.d.ts +1 -0
- package/build/components/Menu/components/MenuList/index.js +2 -0
- package/build/components/Menu/components/MenuList/index.js.map +1 -0
- package/build/components/{Overlay/Menu → Menu}/components/MenuList/menuList.component.d.ts +2 -3
- package/build/components/Menu/components/MenuOptionGroup/index.d.ts +1 -0
- package/build/components/Menu/components/MenuOptionGroup/index.js +2 -0
- package/build/components/Menu/components/MenuOptionGroup/index.js.map +1 -0
- package/build/components/Menu/components/MenuOptionGroup/menuOptionGroup.component.d.ts +2 -0
- package/build/components/{Overlay/Menu → Menu}/components/MenuSearchBar/menuSearchBar.component.d.ts +2 -3
- package/build/components/{Overlay/Menu → Menu}/components/MenuSelectAllButtons/menuSelectAllButtons.component.d.ts +1 -2
- package/build/components/{Overlay/Menu → Menu/context}/menu.context.d.ts +2 -3
- package/build/components/Menu/index.d.ts +6 -0
- package/build/components/Menu/index.js +2 -0
- package/build/components/Menu/index.js.map +1 -0
- package/build/components/{Overlay/Menu → Menu}/menu.component.d.ts +3 -3
- package/build/components/Menu/menu.storiesData.d.ts +4 -0
- package/build/components/Modal/components/ModalBody/index.d.ts +1 -0
- package/build/components/Modal/components/ModalBody/index.js +2 -0
- package/build/components/Modal/components/ModalBody/index.js.map +1 -0
- package/build/components/Modal/components/ModalBody/modalBody.component.d.ts +4 -0
- package/build/components/Modal/components/ModalCloseButton/index.d.ts +1 -0
- package/build/components/Modal/components/ModalCloseButton/index.js +2 -0
- package/build/components/Modal/components/ModalCloseButton/index.js.map +1 -0
- package/build/components/Modal/components/ModalCloseButton/modalCloseButton.component.d.ts +4 -0
- package/build/components/Modal/components/ModalFooter/index.d.ts +1 -0
- package/build/components/Modal/components/ModalFooter/index.js +2 -0
- package/build/components/Modal/components/ModalFooter/index.js.map +1 -0
- package/build/components/Modal/components/ModalFooter/modalFooter.component.d.ts +4 -0
- package/build/components/Modal/components/ModalFooterButtons/index.d.ts +1 -0
- package/build/components/Modal/components/ModalFooterButtons/index.js +2 -0
- package/build/components/Modal/components/ModalFooterButtons/index.js.map +1 -0
- package/build/components/{Overlay/Modal → Modal}/components/ModalFooterButtons/modalFooterButtons.component.d.ts +2 -2
- package/build/components/Modal/components/ModalHeader/index.d.ts +1 -0
- package/build/components/Modal/components/ModalHeader/index.js +2 -0
- package/build/components/Modal/components/ModalHeader/index.js.map +1 -0
- package/build/components/Modal/components/ModalHeader/modalHeader.component.d.ts +6 -0
- package/build/components/Modal/index.d.ts +7 -0
- package/build/components/Modal/index.js +2 -0
- package/build/components/Modal/index.js.map +1 -0
- package/build/components/{Overlay/Modal → Modal}/modal.component.d.ts +2 -2
- package/build/components/NotificationCounter/index.js +2 -0
- package/build/components/NotificationCounter/index.js.map +1 -0
- package/build/components/{DataDisplay/NotificationCounter → NotificationCounter}/notificationCounter.component.d.ts +1 -1
- package/build/components/NotificationCounter/notificationCounter.records.d.ts +5 -0
- package/build/components/Popover/components/PopoverBody/index.d.ts +1 -0
- package/build/components/Popover/components/PopoverBody/index.js +2 -0
- package/build/components/Popover/components/PopoverBody/index.js.map +1 -0
- package/build/components/Popover/components/PopoverBody/popoverBody.component.d.ts +4 -0
- package/build/components/Popover/components/PopoverCloseButton/index.d.ts +1 -0
- package/build/components/Popover/components/PopoverCloseButton/index.js +2 -0
- package/build/components/Popover/components/PopoverCloseButton/index.js.map +1 -0
- package/build/components/Popover/components/PopoverCloseButton/popoverCloseButton.component.d.ts +4 -0
- package/build/components/Popover/components/PopoverFooter/index.d.ts +1 -0
- package/build/components/Popover/components/PopoverFooter/index.js +2 -0
- package/build/components/Popover/components/PopoverFooter/index.js.map +1 -0
- package/build/components/Popover/components/PopoverFooter/popoverFooter.component.d.ts +4 -0
- package/build/components/Popover/components/PopoverFooterButtons/index.d.ts +1 -0
- package/build/components/Popover/components/PopoverFooterButtons/index.js +2 -0
- package/build/components/Popover/components/PopoverFooterButtons/index.js.map +1 -0
- package/build/components/{Overlay/Popover → Popover}/components/PopoverFooterButtons/popoverFooterButtons.component.d.ts +2 -2
- package/build/components/Popover/components/PopoverHeader/index.d.ts +1 -0
- package/build/components/Popover/components/PopoverHeader/index.js +2 -0
- package/build/components/Popover/components/PopoverHeader/index.js.map +1 -0
- package/build/components/Popover/components/PopoverHeader/popoverHeader.component.d.ts +8 -0
- package/build/components/Popover/index.d.ts +7 -0
- package/build/components/Popover/index.js +2 -0
- package/build/components/Popover/index.js.map +1 -0
- package/build/components/{Overlay/Popover → Popover}/popover.component.d.ts +3 -3
- package/build/components/Radio/index.d.ts +2 -0
- package/build/components/Radio/index.js +2 -0
- package/build/components/Radio/index.js.map +1 -0
- package/build/components/RadioGroup/index.d.ts +1 -0
- package/build/components/RadioGroup/index.js +2 -0
- package/build/components/RadioGroup/index.js.map +1 -0
- package/build/components/{Forms/Radio/components/RadioGroup → RadioGroup}/radioGroup.component.d.ts +3 -3
- package/build/components/RatingDots/components/RatingDot/index.d.ts +2 -0
- package/build/components/RatingDots/components/RatingDot/index.js +2 -0
- package/build/components/RatingDots/components/RatingDot/index.js.map +1 -0
- package/build/components/RatingDots/index.d.ts +2 -0
- package/build/components/RatingDots/index.js +2 -0
- package/build/components/RatingDots/index.js.map +1 -0
- package/build/components/{Forms/RatingDots → RatingDots}/ratingDots.component.d.ts +2 -2
- package/build/components/{Forms/Select → Select}/components/SelectBrowserDefault/selectBrowserDefault.component.d.ts +1 -1
- package/build/components/{Forms/Select → Select}/components/SelectContainer/selectContainer.component.d.ts +1 -1
- package/build/components/{Forms/Select → Select}/components/SelectList/selectList.component.d.ts +2 -2
- package/build/components/{Forms/Select → Select}/index.d.ts +0 -1
- package/build/components/Select/index.js +2 -0
- package/build/components/Select/index.js.map +1 -0
- package/build/components/{Forms/Select → Select}/select.component.d.ts +3 -3
- package/build/components/Select/select.types.d.ts +3 -0
- package/build/components/SortableList/components/DragHandle/dragHandle.component.d.ts +4 -0
- package/build/components/SortableList/components/DragHandle/index.d.ts +1 -0
- package/build/components/SortableList/components/DragHandle/index.js +2 -0
- package/build/components/SortableList/components/DragHandle/index.js.map +1 -0
- package/build/components/SortableList/components/SortableItem/index.d.ts +1 -0
- package/build/components/SortableList/components/SortableItem/index.js +2 -0
- package/build/components/SortableList/components/SortableItem/index.js.map +1 -0
- package/build/components/{Draggable/SortableList → SortableList}/components/SortableItem/sortableItem.component.d.ts +1 -1
- package/build/components/SortableList/components/SortableOverlay/index.d.ts +1 -0
- package/build/components/SortableList/components/SortableOverlay/index.js +2 -0
- package/build/components/SortableList/components/SortableOverlay/index.js.map +1 -0
- package/build/components/SortableList/index.d.ts +4 -0
- package/build/components/SortableList/index.js +2 -0
- package/build/components/SortableList/index.js.map +1 -0
- package/build/components/{Draggable/SortableList → SortableList}/sortableList.component.d.ts +4 -3
- package/build/components/SortableList/utilities/index.js +2 -0
- package/build/components/SortableList/utilities/index.js.map +1 -0
- package/build/components/Spinner/index.js +2 -0
- package/build/components/Spinner/index.js.map +1 -0
- package/build/components/Spinner/spinner.records.d.ts +2 -0
- package/build/components/{Forms/Switch → Switch}/index.d.ts +0 -1
- package/build/components/Switch/index.js +2 -0
- package/build/components/Switch/index.js.map +1 -0
- package/build/components/Tabs/components/Tab/index.d.ts +2 -0
- package/build/components/Tabs/components/Tab/index.js +2 -0
- package/build/components/Tabs/components/Tab/index.js.map +1 -0
- package/build/components/{Disclosure/Tabs → Tabs}/components/Tab/tab.component.d.ts +3 -3
- package/build/components/Tabs/components/Tab/tab.records.d.ts +3 -0
- package/build/components/Tabs/index.d.ts +2 -0
- package/build/components/Tabs/index.js +2 -0
- package/build/components/Tabs/index.js.map +1 -0
- package/build/components/{Disclosure/Tabs → Tabs}/tabs.component.d.ts +1 -1
- package/build/components/TabsLayout/index.d.ts +1 -0
- package/build/components/TabsLayout/index.js +2 -0
- package/build/components/TabsLayout/index.js.map +1 -0
- package/build/components/{Disclosure/Tabs/components/TabsLayout → TabsLayout}/tabsLayout.component.d.ts +1 -1
- package/build/components/{DataDisplay/Tag → Tag}/index.d.ts +0 -1
- package/build/components/Tag/index.js +2 -0
- package/build/components/Tag/index.js.map +1 -0
- package/build/components/{DataDisplay/Tag → Tag}/tag.component.d.ts +2 -2
- package/build/components/Tag/tag.records.d.ts +2 -0
- package/build/components/{Typography/Text → Text}/index.d.ts +0 -1
- package/build/components/Text/index.js +2 -0
- package/build/components/Text/index.js.map +1 -0
- package/build/components/{Typography/Text → Text}/text.component.d.ts +4 -4
- package/build/components/Text/text.config.d.ts +2 -0
- package/build/components/{Forms/TextInput → TextInput}/components/ClearButton/clearButton.component.d.ts +1 -1
- package/build/components/TextInput/components/ClearButton/clearButton.records.d.ts +2 -0
- package/build/components/{Forms/TextInput → TextInput}/index.d.ts +0 -1
- package/build/components/TextInput/index.js +2 -0
- package/build/components/TextInput/index.js.map +1 -0
- package/build/components/{Forms/TextInput → TextInput}/textInput.component.d.ts +1 -1
- package/build/components/{Forms/Textarea → Textarea}/index.d.ts +1 -1
- package/build/components/Textarea/index.js +2 -0
- package/build/components/Textarea/index.js.map +1 -0
- package/build/components/TimePicker/components/scrollContainer.component.d.ts +3 -0
- package/build/components/{Forms/TimePicker/components/TimeOption.d.ts → TimePicker/components/timeOption.component.d.ts} +2 -2
- package/build/components/{Forms/TimePicker → TimePicker}/index.d.ts +0 -1
- package/build/components/TimePicker/index.js +2 -0
- package/build/components/TimePicker/index.js.map +1 -0
- package/build/components/{Forms/TimePicker → TimePicker}/timePicker.component.d.ts +1 -1
- package/build/components/TimeRange/index.js +2 -0
- package/build/components/TimeRange/index.js.map +1 -0
- package/build/components/Toast/index.d.ts +2 -0
- package/build/components/Toast/index.js +2 -0
- package/build/components/Toast/index.js.map +1 -0
- package/build/components/{Feedback/Toast/toast.utils.d.ts → Toast/toast.types.d.ts} +4 -1
- package/build/components/Toast/toast.utils.d.ts +2 -0
- package/build/components/{Feedback/Toast → Toast}/useToast.d.ts +2 -12
- package/build/components/{Overlay/Tooltip → Tooltip}/index.d.ts +0 -1
- package/build/components/Tooltip/index.js +2 -0
- package/build/components/Tooltip/index.js.map +1 -0
- package/build/components/{Overlay/Tooltip → Tooltip}/tooltip.component.d.ts +2 -2
- package/build/components/{Overlay/Tooltip → Tooltip}/tooltip.types.d.ts +1 -1
- package/build/components/TruncatedText/index.js +2 -0
- package/build/components/TruncatedText/index.js.map +1 -0
- package/build/components/{Typography/TruncatedText → TruncatedText}/truncatedText.component.d.ts +2 -3
- package/build/components/index.d.ts +34 -12
- package/build/components/index.js +2 -0
- package/build/components/index.js.map +1 -0
- package/build/core.esm-3a85aed4.js +2 -0
- package/build/core.esm-3a85aed4.js.map +1 -0
- package/build/datepicker.types-91c238b7.js +16 -0
- package/build/datepicker.types-91c238b7.js.map +1 -0
- package/build/dragHandle.component-3d2042c6.js +2 -0
- package/build/dragHandle.component-3d2042c6.js.map +1 -0
- package/build/fontSizes-6309063a.js +2 -0
- package/build/fontSizes-6309063a.js.map +1 -0
- package/build/formControl.component-13591c3d.js +2 -0
- package/build/formControl.component-13591c3d.js.map +1 -0
- package/build/heading.component-7d595aec.js +2 -0
- package/build/heading.component-7d595aec.js.map +1 -0
- package/build/hocs/index.js +2 -0
- package/build/hocs/index.js.map +1 -0
- package/build/hocs/withTheme.d.ts +1 -1
- package/build/hooks/index.d.ts +0 -3
- package/build/hooks/index.js +2 -0
- package/build/hooks/index.js.map +1 -0
- package/build/hooks/useAdaptiveColorMap.d.ts +1 -1
- package/build/hooks/useIconTextSizeMap.d.ts +2 -1
- package/build/hooks/useTheme.d.ts +1 -1
- package/build/hooks/useWindowSize.d.ts +1 -1
- package/build/icon.component-e549a530.js +2 -0
- package/build/icon.component-e549a530.js.map +1 -0
- package/build/index-27317c8c.js +2 -0
- package/build/index-27317c8c.js.map +1 -0
- package/build/index-8fecff45.js +15 -0
- package/build/index-8fecff45.js.map +1 -0
- package/build/index-bef968d3.js +2 -0
- package/build/index-bef968d3.js.map +1 -0
- package/build/index.d.ts +2 -1
- package/build/index.js +1 -28736
- package/build/index.js.map +1 -1
- package/build/inheritsLoose-490721fe.js +2 -0
- package/build/inheritsLoose-490721fe.js.map +1 -0
- package/build/link.component-aa529030.js +2 -0
- package/build/link.component-aa529030.js.map +1 -0
- package/build/logo.component-f41ae943.js +2 -0
- package/build/logo.component-f41ae943.js.map +1 -0
- package/build/menu.component-de420007.js +2 -0
- package/build/menu.component-de420007.js.map +1 -0
- package/build/menu.config-b32ff2af.js +2 -0
- package/build/menu.config-b32ff2af.js.map +1 -0
- package/build/menu.context-19ac1c6e.js +2 -0
- package/build/menu.context-19ac1c6e.js.map +1 -0
- package/build/menuButton.component-ec18bac5.js +2 -0
- package/build/menuButton.component-ec18bac5.js.map +1 -0
- package/build/menuContainer.component-7f1da5e6.js +2 -0
- package/build/menuContainer.component-7f1da5e6.js.map +1 -0
- package/build/menuItem.component-759ca712.js +2 -0
- package/build/menuItem.component-759ca712.js.map +1 -0
- package/build/menuList.component-d5d731bb.js +2 -0
- package/build/menuList.component-d5d731bb.js.map +1 -0
- package/build/menuOptionGroup.component-da4bd451.js +2 -0
- package/build/menuOptionGroup.component-da4bd451.js.map +1 -0
- package/build/modal.component-48f03ed3.js +2 -0
- package/build/modal.component-48f03ed3.js.map +1 -0
- package/build/modalBody.component-8a3dd614.js +2 -0
- package/build/modalBody.component-8a3dd614.js.map +1 -0
- package/build/modalCloseButton.component-8e2170fd.js +2 -0
- package/build/modalCloseButton.component-8e2170fd.js.map +1 -0
- package/build/modalFooter.component-fc1ac7e1.js +2 -0
- package/build/modalFooter.component-fc1ac7e1.js.map +1 -0
- package/build/modalFooterButtons.component-225729fc.js +2 -0
- package/build/modalFooterButtons.component-225729fc.js.map +1 -0
- package/build/modalHeader.component-16afb5d0.js +2 -0
- package/build/modalHeader.component-16afb5d0.js.map +1 -0
- package/build/motion-93f46f1f.js +2 -0
- package/build/motion-93f46f1f.js.map +1 -0
- package/build/notificationCounter.component-d4d35697.js +2 -0
- package/build/notificationCounter.component-d4d35697.js.map +1 -0
- package/build/popover.component-a37d20d9.js +2 -0
- package/build/popover.component-a37d20d9.js.map +1 -0
- package/build/popoverBody.component-69ec2050.js +2 -0
- package/build/popoverBody.component-69ec2050.js.map +1 -0
- package/build/popoverCloseButton.component-6a6e6909.js +2 -0
- package/build/popoverCloseButton.component-6a6e6909.js.map +1 -0
- package/build/popoverFooter.component-7eb4ed58.js +2 -0
- package/build/popoverFooter.component-7eb4ed58.js.map +1 -0
- package/build/popoverFooterButtons.component-8c24a6c6.js +2 -0
- package/build/popoverFooterButtons.component-8c24a6c6.js.map +1 -0
- package/build/popoverHeader.component-ef933e40.js +2 -0
- package/build/popoverHeader.component-ef933e40.js.map +1 -0
- package/build/radio.component-8821f41e.js +2 -0
- package/build/radio.component-8821f41e.js.map +1 -0
- package/build/radioGroup.component-b5c612d5.js +2 -0
- package/build/radioGroup.component-b5c612d5.js.map +1 -0
- package/build/ratingDot.component-1cbe2bf0.js +2 -0
- package/build/ratingDot.component-1cbe2bf0.js.map +1 -0
- package/build/ratingDots.component-df4cab11.js +2 -0
- package/build/ratingDots.component-df4cab11.js.map +1 -0
- package/build/select.component-97f13ab3.js +2 -0
- package/build/select.component-97f13ab3.js.map +1 -0
- package/build/shadows.config-fd05bf52.js +2 -0
- package/build/shadows.config-fd05bf52.js.map +1 -0
- package/build/shared/types.d.ts +2 -1
- package/build/sortableItem.component-d163a5ea.js +2 -0
- package/build/sortableItem.component-d163a5ea.js.map +1 -0
- package/build/sortableItem.context-f7dd54a1.js +2 -0
- package/build/sortableItem.context-f7dd54a1.js.map +1 -0
- package/build/sortableList.component-bd1a6934.js +2 -0
- package/build/sortableList.component-bd1a6934.js.map +1 -0
- package/build/sortableOverlay.component-7ecbda06.js +2 -0
- package/build/sortableOverlay.component-7ecbda06.js.map +1 -0
- package/build/spinner.component-bdb34a41.js +2 -0
- package/build/spinner.component-bdb34a41.js.map +1 -0
- package/build/strings-03c30366.js +2 -0
- package/build/strings-03c30366.js.map +1 -0
- package/build/switch.component-f710b6f4.js +2 -0
- package/build/switch.component-f710b6f4.js.map +1 -0
- package/build/tab.component-55fe94e4.js +2 -0
- package/build/tab.component-55fe94e4.js.map +1 -0
- package/build/tabs.component-d6e227c6.js +2 -0
- package/build/tabs.component-d6e227c6.js.map +1 -0
- package/build/tabsLayout.component-1fcaeacd.js +2 -0
- package/build/tabsLayout.component-1fcaeacd.js.map +1 -0
- package/build/tag.component-2aeabf52.js +2 -0
- package/build/tag.component-2aeabf52.js.map +1 -0
- package/build/text.component-aeaf39d8.js +2 -0
- package/build/text.component-aeaf39d8.js.map +1 -0
- package/build/textInput.component-5181d09d.js +2 -0
- package/build/textInput.component-5181d09d.js.map +1 -0
- package/build/textarea.component-d2c46d6e.js +2 -0
- package/build/textarea.component-d2c46d6e.js.map +1 -0
- package/build/theme/index.d.ts +1 -1
- package/build/theme/index.js +2 -0
- package/build/theme/index.js.map +1 -0
- package/build/theme/theme.types.d.ts +5 -2
- package/build/theme/tokens/colors/color.types.d.ts +2 -1
- package/build/theme/tokens/colors/index.js +2 -0
- package/build/theme/tokens/colors/index.js.map +1 -0
- package/build/theme/tokens/index.js +2 -0
- package/build/theme/tokens/index.js.map +1 -0
- package/build/theme/tokens/shadows/index.js +2 -0
- package/build/theme/tokens/shadows/index.js.map +1 -0
- package/build/theme.provider-aa0c8955.js +2 -0
- package/build/theme.provider-aa0c8955.js.map +1 -0
- package/build/timePicker.component-cc76ba22.js +2 -0
- package/build/timePicker.component-cc76ba22.js.map +1 -0
- package/build/timeRange.component-3295f4bf.js +2 -0
- package/build/timeRange.component-3295f4bf.js.map +1 -0
- package/build/tooltip.component-4891e19b.js +2 -0
- package/build/tooltip.component-4891e19b.js.map +1 -0
- package/build/truncatedText.component-568f013e.js +2 -0
- package/build/truncatedText.component-568f013e.js.map +1 -0
- package/build/tslib.es6-8e19e91f.js +2 -0
- package/build/tslib.es6-8e19e91f.js.map +1 -0
- package/build/typeof-a861d137.js +2 -0
- package/build/typeof-a861d137.js.map +1 -0
- package/build/useAdaptiveColor-74f29681.js +2 -0
- package/build/useAdaptiveColor-74f29681.js.map +1 -0
- package/build/useAdaptiveColorMap-83c28e16.js +2 -0
- package/build/useAdaptiveColorMap-83c28e16.js.map +1 -0
- package/build/useIconTextSizeMap-b81a72a5.js +2 -0
- package/build/useIconTextSizeMap-b81a72a5.js.map +1 -0
- package/build/useTheme-3dbb48a4.js +2 -0
- package/build/useTheme-3dbb48a4.js.map +1 -0
- package/build/useToast-4932aa7c.js +2 -0
- package/build/useToast-4932aa7c.js.map +1 -0
- package/build/utils/sizes.d.ts +2 -1
- package/build/withDarkMode-2a00cc1f.js +2 -0
- package/build/withDarkMode-2a00cc1f.js.map +1 -0
- package/build/withTheme-acb0ea42.js +2 -0
- package/build/withTheme-acb0ea42.js.map +1 -0
- package/build/zIndeces-4f459ad7.js +2 -0
- package/build/zIndeces-4f459ad7.js.map +1 -0
- package/package.json +14 -15
- package/build/components/DataDisplay/Table/index.d.ts +0 -1
- package/build/components/DataDisplay/index.d.ts +0 -3
- package/build/components/Disclosure/Tabs/index.d.ts +0 -6
- package/build/components/Disclosure/index.d.ts +0 -1
- package/build/components/Draggable/SortableList/components/DragHandle/dragHandle.component.d.ts +0 -2
- package/build/components/Draggable/SortableList/components/DragHandle/index.d.ts +0 -1
- package/build/components/Draggable/SortableList/components/SortableItem/index.d.ts +0 -1
- package/build/components/Draggable/SortableList/components/SortableOverlay/index.d.ts +0 -1
- package/build/components/Draggable/SortableList/components/index.d.ts +0 -3
- package/build/components/Draggable/SortableList/index.d.ts +0 -2
- package/build/components/Draggable/index.d.ts +0 -1
- package/build/components/Feedback/Alert/components/alertIcon.component.d.ts +0 -8
- package/build/components/Feedback/Alert/index.d.ts +0 -4
- package/build/components/Feedback/Spinner/spinner.records.d.ts +0 -2
- package/build/components/Feedback/Toast/index.d.ts +0 -1
- package/build/components/Feedback/feedback.types.d.ts +0 -1
- package/build/components/Feedback/index.d.ts +0 -5
- package/build/components/Forms/Button/button.component.d.ts +0 -15
- package/build/components/Forms/Checkbox/index.d.ts +0 -5
- package/build/components/Forms/DatePicker/components/Day/day.component.d.ts +0 -7
- package/build/components/Forms/Radio/index.d.ts +0 -5
- package/build/components/Forms/RatingDots/index.d.ts +0 -2
- package/build/components/Forms/Select/select.types.d.ts +0 -3
- package/build/components/Forms/TimePicker/components/ScrollContainer.d.ts +0 -4
- package/build/components/Forms/index.d.ts +0 -11
- package/build/components/Layout/Box/index.d.ts +0 -1
- package/build/components/Layout/Center/index.d.ts +0 -1
- package/build/components/Layout/Container/index.d.ts +0 -1
- package/build/components/Layout/Flex/index.d.ts +0 -1
- package/build/components/Layout/Grid/index.d.ts +0 -1
- package/build/components/Layout/SimpleGrid/index.d.ts +0 -1
- package/build/components/Layout/Stack/index.d.ts +0 -1
- package/build/components/Layout/Wrap/index.d.ts +0 -1
- package/build/components/Layout/index.d.ts +0 -8
- package/build/components/MediaAndIcons/Avatar/components/AvatarBadge/avatarBadge.component.d.ts +0 -20
- package/build/components/MediaAndIcons/Avatar/index.d.ts +0 -4
- package/build/components/MediaAndIcons/AvatarGroup/avatarGroup.utilities.d.ts +0 -6
- package/build/components/MediaAndIcons/Image/index.d.ts +0 -1
- package/build/components/MediaAndIcons/Logo/logos.d.ts +0 -7
- package/build/components/MediaAndIcons/index.d.ts +0 -3
- package/build/components/Navigation/LinkOverlay/index.d.ts +0 -1
- package/build/components/Navigation/index.d.ts +0 -2
- package/build/components/Other/Hide/index.d.ts +0 -1
- package/build/components/Other/Show/index.d.ts +0 -1
- package/build/components/Other/index.d.ts +0 -2
- package/build/components/Overlay/Drawer/drawer.config.d.ts +0 -13
- package/build/components/Overlay/Drawer/index.d.ts +0 -2
- package/build/components/Overlay/Menu/components/MenuOptionGroup/menuOptionGroup.component.d.ts +0 -3
- package/build/components/Overlay/Menu/index.d.ts +0 -9
- package/build/components/Overlay/Menu/menu.storiesData.d.ts +0 -4
- package/build/components/Overlay/Modal/components/ModalBody/modalBody.component.d.ts +0 -2
- package/build/components/Overlay/Modal/components/ModalCloseButton/modalCloseButton.component.d.ts +0 -2
- package/build/components/Overlay/Modal/components/ModalFooter/modalFooter.component.d.ts +0 -4
- package/build/components/Overlay/Modal/components/ModalHeader/modalHeader.component.d.ts +0 -6
- package/build/components/Overlay/Modal/index.d.ts +0 -7
- package/build/components/Overlay/Popover/components/PopoverBody/popoverBody.component.d.ts +0 -2
- package/build/components/Overlay/Popover/components/PopoverCloseButton/popoverCloseButton.component.d.ts +0 -2
- package/build/components/Overlay/Popover/components/PopoverFooter/popoverFooter.component.d.ts +0 -4
- package/build/components/Overlay/Popover/components/PopoverHeader/popoverHeader.component.d.ts +0 -7
- package/build/components/Overlay/Popover/index.d.ts +0 -9
- package/build/components/Overlay/index.d.ts +0 -5
- package/build/components/Typography/Text/text.config.d.ts +0 -2
- package/build/components/Typography/index.d.ts +0 -4
- package/build/components/Typography/typography.types.d.ts +0 -1
- package/build/components/hocs/index.d.ts +0 -1
- package/build/components/hocs/withDarkMode.d.ts +0 -2
- package/build/hooks/useDisclosure.d.ts +0 -1
- package/build/utils/index.d.ts +0 -3
- /package/build/components/{Feedback/Alert → Alert}/alert.config.d.ts +0 -0
- /package/build/components/{Feedback/Alert → Alert}/components/alertBody.component.d.ts +0 -0
- /package/build/components/{Feedback/Alert → Alert}/components/alertCloseButton.component.d.ts +0 -0
- /package/build/components/{Feedback/Alert → Alert}/components/alertHeader.component.d.ts +0 -0
- /package/build/components/{MediaAndIcons/Avatar → Avatar}/avatar.config.d.ts +0 -0
- /package/build/components/{MediaAndIcons/AvatarGroup → AvatarGroup}/avatarGroup.argTypes.d.ts +0 -0
- /package/build/components/{MediaAndIcons/AvatarGroup → AvatarGroup}/avatarGroup.component.d.ts +0 -0
- /package/build/components/{MediaAndIcons/AvatarGroup → AvatarGroup}/avatarGroup.storiesData.d.ts +0 -0
- /package/build/components/{MediaAndIcons/AvatarGroup → AvatarGroup}/index.d.ts +0 -0
- /package/build/components/{Forms/Button → Button}/button.config.d.ts +0 -0
- /package/build/components/{Forms/Checkbox → Checkbox}/checkbox.component.d.ts +0 -0
- /package/build/components/{Forms/Checkbox → Checkbox}/checkbox.config.d.ts +0 -0
- /package/build/components/{Forms/Checkbox → Checkbox}/checkbox.types.d.ts +0 -0
- /package/build/components/{Forms/DatePicker → DatePicker}/datepicker.argTypes.d.ts +0 -0
- /package/build/components/{Forms/DatePicker → DatePicker}/datepicker.types.d.ts +0 -0
- /package/build/components/{Forms/FormControl → FormControl}/formControl.argTypes.d.ts +0 -0
- /package/build/components/{Forms/FormControl → FormControl}/formControl.config.d.ts +0 -0
- /package/build/components/{Forms/FormControl → FormControl}/formControl.types.d.ts +0 -0
- /package/build/components/{Forms/FormControl → FormControl}/index.d.ts +0 -0
- /package/build/components/{Typography/Heading → Heading}/heading.config.d.ts +0 -0
- /package/build/components/{MediaAndIcons/Icon → Icon}/icon.records.d.ts +0 -0
- /package/build/components/{MediaAndIcons/Icon → Icon}/index.d.ts +0 -0
- /package/build/components/{Navigation/Link → Link}/link.argTypes.d.ts +0 -0
- /package/build/components/{MediaAndIcons/Logo → Logo}/index.d.ts +0 -0
- /package/build/components/{MediaAndIcons/Logo → Logo}/logo.config.d.ts +0 -0
- /package/build/components/{MediaAndIcons/Logo → Logo}/logo.types.d.ts +0 -0
- /package/build/components/{Overlay/Menu → Menu}/components/MenuButton/menuButton.argTypes.d.ts +0 -0
- /package/build/components/{Overlay/Menu → Menu}/components/MenuContainer/menuContainer.argTypes.d.ts +0 -0
- /package/build/components/{Overlay/Menu → Menu}/components/MenuItem/menuItem.argTypes.d.ts +0 -0
- /package/build/components/{Overlay/Menu → Menu}/components/MenuList/menuList.argTypes.d.ts +0 -0
- /package/build/components/{Overlay/Menu → Menu}/menu.argTypes.d.ts +0 -0
- /package/build/components/{Overlay/Menu → Menu}/menu.config.d.ts +0 -0
- /package/build/components/{Overlay/Modal → Modal}/modal.types.d.ts +0 -0
- /package/build/components/{DataDisplay/NotificationCounter → NotificationCounter}/index.d.ts +0 -0
- /package/build/components/{DataDisplay/NotificationCounter → NotificationCounter}/notificationCounter.types.d.ts +0 -0
- /package/build/components/{Overlay/Popover → Popover}/popover.config.d.ts +0 -0
- /package/build/components/{Overlay/Popover → Popover}/popover.types.d.ts +0 -0
- /package/build/components/{Forms/Radio → Radio}/radio.component.d.ts +0 -0
- /package/build/components/{Forms/Radio → Radio}/radio.config.d.ts +0 -0
- /package/build/components/{Forms/Radio → Radio}/radio.types.d.ts +0 -0
- /package/build/components/{Forms/RatingDots → RatingDots/components/RatingDot}/ratingDot.component.d.ts +0 -0
- /package/build/components/{Forms/Select → Select}/select.config.d.ts +0 -0
- /package/build/components/{Draggable/SortableList → SortableList}/components/SortableItem/sortableItem.context.d.ts +0 -0
- /package/build/components/{Draggable/SortableList → SortableList}/components/SortableOverlay/sortableOverlay.component.d.ts +0 -0
- /package/build/components/{Draggable/SortableList → SortableList}/mockData.d.ts +0 -0
- /package/build/components/{Draggable → SortableList}/utilities/createRange.d.ts +0 -0
- /package/build/components/{Draggable → SortableList}/utilities/index.d.ts +0 -0
- /package/build/components/{Feedback/Spinner → Spinner}/index.d.ts +0 -0
- /package/build/components/{Feedback/Spinner → Spinner}/spinner.component.d.ts +0 -0
- /package/build/components/{Feedback/Spinner → Spinner}/spinner.types.d.ts +0 -0
- /package/build/components/{Forms/Switch → Switch}/switch.component.d.ts +0 -0
- /package/build/components/{Forms/Switch → Switch}/switch.config.d.ts +0 -0
- /package/build/components/{Disclosure/Tabs/tabs.types.d.ts → Tabs/components/Tab/tab.types.d.ts} +0 -0
- /package/build/components/{Disclosure/Tabs → Tabs}/tabs.argTypes.d.ts +0 -0
- /package/build/components/{Disclosure/Tabs → Tabs}/tabs.config.d.ts +0 -0
- /package/build/components/{DataDisplay/Tag → Tag}/tag.config.d.ts +0 -0
- /package/build/components/{DataDisplay/Tag → Tag}/tag.types.d.ts +0 -0
- /package/build/components/{Typography/Text → Text}/text.types.d.ts +0 -0
- /package/build/components/{Forms/TextInput → TextInput}/textInput.config.d.ts +0 -0
- /package/build/components/{Forms/Textarea → Textarea}/textarea.component.d.ts +0 -0
- /package/build/components/{Forms/Textarea → Textarea}/textarea.config.d.ts +0 -0
- /package/build/components/{Forms/Textarea → Textarea}/textarea.types.d.ts +0 -0
- /package/build/components/{Forms/TimePicker → TimePicker}/timePicker.argTypes.d.ts +0 -0
- /package/build/components/{Forms/TimePicker → TimePicker}/timePicker.types.d.ts +0 -0
- /package/build/components/{Forms/TimeRange → TimeRange}/index.d.ts +0 -0
- /package/build/components/{Forms/TimeRange → TimeRange}/timeRange.argTypes.d.ts +0 -0
- /package/build/components/{Forms/TimeRange → TimeRange}/timeRange.component.d.ts +0 -0
- /package/build/components/{Overlay/Tooltip → Tooltip}/tooltip.config.d.ts +0 -0
- /package/build/components/{Typography/TruncatedText → TruncatedText}/index.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.esm-3a85aed4.js","sources":["../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js","../node_modules/@dnd-kit/core/dist/core.esm.js"],"sourcesContent":["import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n display: 'none'\n};\nfunction HiddenText(_ref) {\n let {\n id,\n value\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: hiddenStyles\n }, value);\n}\n\nconst visuallyHidden = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap'\n};\nfunction LiveRegion(_ref) {\n let {\n id,\n announcement\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: visuallyHidden,\n role: \"status\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": true\n }, announcement);\n}\n\nfunction useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback(value => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n return {\n announce,\n announcement\n };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n","import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, useReducer, memo, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n return;\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates);\n\n if (!activated && activationConstraint) {\n // Constraint validation\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n\n return;\n }\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onEnd\n } = this.props;\n this.detach();\n onEnd();\n }\n\n handleCancel() {\n const {\n onCancel\n } = this.props;\n this.detach();\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id !== null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id === null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, measureRect] = useReducer(reducer, null);\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n\n function reducer(currentRect) {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n }\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, measureRects] = useReducer(reducer, defaultValue$2);\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n\n if (elements.length > 0 && rects === defaultValue$2) {\n measureRects();\n }\n\n useIsomorphicLayoutEffect(() => {\n if (elements.length) {\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n }\n }, [elements]);\n return rects;\n\n function reducer() {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n }\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (!state.draggable.active) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n unstable_batchedUpdates(() => {\n setActiveSensor(sensorInstance);\n setActivatorEvent(event.nativeEvent);\n });\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Droppable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useIsomorphicLayoutEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n"],"names":["canUseDOM","window","document","createElement","isWindow","element","elementString","Object","prototype","toString","call","isNode","node","getWindow","target","_target$ownerDocument","_target$ownerDocument2","ownerDocument","defaultView","isDocument","Document","isHTMLElement","HTMLElement","getOwnerDocument","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","useEvent","handler","handlerRef","useRef","current","useCallback","_len","arguments","length","args","Array","_key","useLatestValue","value","dependencies","valueRef","useLazyMemo","callback","useMemo","newValue","useNodeRef","onChange","onChangeHandler","setNodeRef","usePrevious","ref","ids","useUniqueId","prefix","id","createAdjustmentFn","modifier","object","adjustments","reduce","accumulator","adjustment","entries","key","valueAdjustment","add","subtract","isKeyboardEvent","event","KeyboardEvent","getEventCoordinates","TouchEvent","isTouchEvent","touches","clientX","x","clientY","y","changedTouches","hasViewportRelativeCoordinates","CSS","freeze","Translate","transform","Math","round","Scale","scaleX","scaleY","Transform","join","Transition","_ref","property","duration","easing","SELECTOR","findFirstFocusableNode","matches","querySelector","hiddenStyles","display","HiddenText","React","style","visuallyHidden","position","width","height","margin","border","padding","overflow","clip","clipPath","whiteSpace","LiveRegion","announcement","role","DndMonitorContext","createContext","defaultScreenReaderInstructions","draggable","defaultAnnouncements","onDragStart","active","onDragOver","_ref2","over","onDragEnd","_ref3","onDragCancel","_ref4","Accessibility","announcements","container","hiddenTextDescribedById","screenReaderInstructions","announce","setAnnouncement","useState","useAnnouncement","liveRegionId","mounted","setMounted","listener","registerListener","useContext","Error","useDndMonitor","onDragMove","_ref5","_ref6","markup","Fragment","createPortal","Action","noop","defaultCoordinates","getRelativeTransformOrigin","rect","eventCoordinates","left","top","sortCollisionsAsc","data","a","b","sortCollisionsDesc","cornersOfRectangle","getFirstCollision","collisions","firstCollision","getIntersectionRatio","entry","max","right","min","bottom","targetArea","entryArea","intersectionArea","Number","toFixed","rectIntersection","collisionRect","droppableRects","droppableContainers","droppableContainer","get","intersectionRatio","push","sort","getRectDelta","rect1","rect2","createRectAdjustmentFn","acc","getAdjustedRect","parseTransform","startsWith","transformArray","slice","split","defaultOptions","ignoreTransform","getClientRect","options","getBoundingClientRect","transformOrigin","getComputedStyle","parsedTransform","translateX","translateY","parseFloat","indexOf","w","h","inverseTransform","getTransformAgnosticClientRect","getScrollableAncestors","limit","scrollParents","findScrollableAncestors","scrollingElement","includes","SVGElement","isSVGElement","computedStyle","overflowRegex","some","test","isScrollable","isFixed","parentNode","getFirstScrollableAncestor","firstScrollableAncestor","getScrollableElement","getScrollXCoordinate","scrollX","scrollLeft","getScrollYCoordinate","scrollY","scrollTop","getScrollCoordinates","Direction","isDocumentScrollingElement","getScrollPosition","scrollingContainer","minScroll","dimensions","innerHeight","innerWidth","clientHeight","clientWidth","maxScroll","scrollWidth","scrollHeight","isTop","isLeft","isBottom","isRight","defaultThreshold","getScrollDirectionAndSpeed","scrollContainer","scrollContainerRect","acceleration","thresholdPercentage","direction","speed","threshold","Backward","abs","Forward","getScrollElementRect","getScrollOffsets","scrollableAncestors","scrollIntoViewIfNeeded","measure","scrollIntoView","block","inline","properties","Rect","constructor","this","scrollOffsets","axis","keys","getScrollOffset","defineProperty","currentOffsets","scrollOffsetsDeltla","enumerable","Listeners","listeners","removeAll","forEach","_this$target","removeEventListener","eventName","_this$target2","addEventListener","hasExceededDistance","delta","measurement","dx","dy","sqrt","EventName","KeyboardCode","preventDefault","stopPropagation","defaultKeyboardCodes","start","Space","Enter","cancel","Esc","end","defaultKeyboardCoordinateGetter","currentCoordinates","code","Right","Left","Down","Up","KeyboardSensor","props","autoScrollEnabled","referenceCoordinates","windowListeners","handleKeyDown","bind","handleCancel","attach","handleStart","Resize","VisibilityChange","setTimeout","Keydown","activeNode","onStart","context","keyboardCodes","coordinateGetter","scrollBehavior","handleEnd","newCoordinates","coordinatesDelta","scrollDelta","scrollElementRect","clampedCoordinates","canScrollX","canScrollY","newScrollCoordinates","canScrollToNewCoordinates","scrollTo","behavior","scrollBy","handleMove","coordinates","onMove","onEnd","detach","onCancel","isDistanceConstraint","constraint","Boolean","isDelayConstraint","activators","onActivation","nativeEvent","activator","activatorNode","AbstractPointerSensor","events","listenerTarget","_getEventCoordinates","EventTarget","getEventListenerTarget","activated","initialCoordinates","timeoutId","documentListeners","handleKeydown","removeTextSelection","activationConstraint","move","name","passive","DragStart","ContextMenu","delay","clearTimeout","Click","capture","SelectionChange","_getEventCoordinates2","tolerance","distance","cancelable","_this$document$getSel","getSelection","removeAllRanges","PointerSensor","super","isPrimary","button","events$1","MouseButton","RightClick","events$2","AutoScrollActivator","TraversalOrder","useAutoScroller","Pointer","canScroll","draggingRect","enabled","interval","order","TreeOrder","pointerCoordinates","scrollableAncestorRects","scrollIntent","disabled","previousDelta","previousIntent","defaultScrollIntent","sign","useScrollIntent","setAutoScrollInterval","clearAutoScrollInterval","intervalRef","setInterval","clearInterval","useInterval","scrollSpeed","scrollDirection","DraggableRect","scrollContainerRef","autoScroll","sortedScrollableAncestors","reverse","index","JSON","stringify","static","MeasuringStrategy","MeasuringFrequency","defaultValue","Map","useInitialValue","computeFn","previousValue","useResizeObserver","handleResize","resizeObserver","ResizeObserver","disconnect","defaultMeasure","useRect","fallbackRect","measureRect","useReducer","currentRect","isConnected","newRect","mutationObserver","handleMutations","MutationObserver","useMutationObserver","records","record","type","contains","observe","body","childList","subtree","defaultValue$1","useScrollOffsetsDelta","initialScrollOffsets","hasScrollOffsets","useWindowRect","getWindowClientRect","defaultValue$2","getMeasurableNode","children","firstChild","defaultSensors","sensor","defaultData","defaultMeasuringConfiguration","droppable","strategy","WhileDragging","frequency","Optimized","dragOverlay","DroppableContainersMap","_super$get","undefined","toArray","from","values","getEnabled","filter","getNodeFor","_this$get$node$curren","_this$get","defaultPublicContext","activatorEvent","activeNodeRect","containerNodeRect","draggableNodes","nodeRef","setRef","measuringConfiguration","measureDroppableContainers","windowRect","measuringScheduled","defaultInternalContext","ariaDescribedById","dispatch","InternalContext","PublicContext","getInitialState","nodes","translate","containers","reducer","state","action","DragMove","DragEnd","DragCancel","RegisterDroppable","set","SetDroppableDisabled","UnregisterDroppable","delete","RestoreFocus","previousActivatorEvent","previousActiveId","activeElement","draggableNode","requestAnimationFrame","focusableNode","focus","applyModifiers","modifiers","ActiveDraggableContext","Status","DndContext","memo","_sensorContext$curren","_dragOverlay$nodeRef$","_dragOverlay$rect","_over$rect","accessibility","sensors","collisionDetection","measuring","store","dispatchMonitorEvent","registerMonitorListener","Set","_listener$type","useDndMonitorProvider","status","setStatus","Uninitialized","isInitialized","Initialized","activeId","activeRects","initial","translated","_node$data","activeRef","activeSensor","setActiveSensor","setActivatorEvent","latestProps","draggableDescribedById","enabledDroppableContainers","config","dragging","queue","setQueue","containersRef","Always","BeforeDragging","isDisabled","disabledRef","concat","map","useDroppableMeasuring","cachedNode","useCachedNode","activationCoordinates","autoScrollOptions","activeSensorDisablesAutoscroll","autoScrollGloballyDisabled","getAutoScrollerOptions","initialActiveNodeRect","useInitialRect","initialRect","initialized","rectDelta","useLayoutShiftScrollCompensation","layoutShiftCompensation","parentElement","sensorContext","draggingNode","draggingNodeRect","scrollAdjustedTranslate","overNode","setRect","handleNodeChange","useDragOverlayMeasuring","usesDragOverlay","nodeRectDelta","previousNode","ancestors","useScrollableAncestors","elements","firstElement","rects","measureRects","useRects","modifiedTranslate","overlayNodeRect","scrollCoordinates","setScrollCoordinates","prevElements","handleScroll","previousElements","cleanup","scrollableElement","useScrollOffsets","scrollAdjustment","activeNodeScrollDelta","overId","setOver","adjustScale","instantiateSensor","Sensor","sensorInstance","unstable_batchedUpdates","Initializing","createHandler","async","cancelDrop","Promise","resolve","bindActivatorToSensorInstantiator","activeDraggableNode","dndKit","defaultPrevented","activationContext","capturedBy","getSyntheticHandler","useCombineActivators","teardownFns","setup","teardown","useSensorSetup","overContainer","publicContext","internalContext","Provider","restoreFocus","NullContext","defaultRole","useDndContext","defaultResizeObserverConfig","timeout","AnimationManager","animation","clonedChildren","setClonedChildren","setElement","previousChildren","then","cloneElement","defaultTransform","NullifiedContextProvider","baseStyles","touchAction","defaultTransition","PositionedOverlay","forwardRef","as","className","transition","scaleAdjustedTransform","styles","defaultDropAnimationSideEffects","originalStyles","getPropertyValue","setProperty","classList","remove","defaultDropAnimationConfiguration","keyframes","final","sideEffects","opacity","useDropAnimation","activeDraggable","measurableNode","rest","scale","finalTransform","animationKeyframes","firstKeyframe","lastKeyframe","animate","fill","onfinish","createDefaultDropAnimation","useKey","DragOverlay","dropAnimation","dropAnimationConfig","wrapperElement","zIndex","modifiedTransform","corners","rectCorners","distances","corner","p1","p2","pow","effectiveDistance","refs","attributes","roleDescription","tabIndex","isDragging","setActivatorNodeRef","useSyntheticListeners","dataRef","resizeObserverConfig","previous","resizeObserverConnected","callbackId","resizeObserverDisabled","updateMeasurementsFor","resizeObserverTimeout","isArray","newElement","previousElement","unobserve","isOver"],"mappings":"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"}
|