@purpur/library 9.10.0 → 10.0.0
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/CHANGELOG.json +124 -0
- package/CHANGELOG.md +53 -1
- package/dist/LICENSE.txt +270 -175
- package/dist/{RichText-BAVZadzi.js → RichText-B865Qkzj.js} +2 -2
- package/dist/{RichText-BAVZadzi.js.map → RichText-B865Qkzj.js.map} +1 -1
- package/dist/{RichText-D4vznH1B.mjs → RichText-CPkBwXNI.mjs} +3 -3
- package/dist/{RichText-D4vznH1B.mjs.map → RichText-CPkBwXNI.mjs.map} +1 -1
- package/dist/accordion-aEZas0k1.mjs +122 -0
- package/dist/accordion-aEZas0k1.mjs.map +1 -0
- package/dist/accordion-zwsF1oUj.js +2 -0
- package/dist/accordion-zwsF1oUj.js.map +1 -0
- package/dist/accordion.cjs.js +1 -1
- package/dist/accordion.es.js +1 -1
- package/dist/button-C5CYysw5.js +2 -0
- package/dist/button-C5CYysw5.js.map +1 -0
- package/dist/button-mHw_J7JU.mjs +106 -0
- package/dist/button-mHw_J7JU.mjs.map +1 -0
- package/dist/button.cjs.js +1 -1
- package/dist/button.es.js +1 -1
- package/dist/{calendar-Cru-p6gC.mjs → calendar-DTL_g0ue.mjs} +4 -14
- package/dist/{calendar-Cru-p6gC.mjs.map → calendar-DTL_g0ue.mjs.map} +1 -1
- package/dist/{calendar-DDR8CQYo.js → calendar-DVOrK53J.js} +2 -2
- package/dist/{calendar-DDR8CQYo.js.map → calendar-DVOrK53J.js.map} +1 -1
- package/dist/calendar.cjs.js +1 -1
- package/dist/calendar.es.js +1 -1
- package/dist/{card-t2ZkZ82G.mjs → card-C0yhMN5d.mjs} +3 -3
- package/dist/card-C0yhMN5d.mjs.map +1 -0
- package/dist/{card-pdsBEJif.js → card-CIlY38WI.js} +2 -2
- package/dist/card-CIlY38WI.js.map +1 -0
- package/dist/card.cjs.js +1 -1
- package/dist/card.es.js +1 -1
- package/dist/{carousel-BIKcwvYz.mjs → carousel-Dq9yzk_-.mjs} +2 -2
- package/dist/{carousel-BIKcwvYz.mjs.map → carousel-Dq9yzk_-.mjs.map} +1 -1
- package/dist/{carousel-DnSaLDZf.js → carousel-j-s6M1hu.js} +2 -2
- package/dist/{carousel-DnSaLDZf.js.map → carousel-j-s6M1hu.js.map} +1 -1
- package/dist/carousel.cjs.js +1 -1
- package/dist/carousel.es.js +1 -1
- package/dist/{chat-field-Wjvh2J6C.js → chat-field-CLAjIHlM.js} +2 -2
- package/dist/{chat-field-Wjvh2J6C.js.map → chat-field-CLAjIHlM.js.map} +1 -1
- package/dist/{chat-field-CVF4DooY.mjs → chat-field-nxFRXoQx.mjs} +2 -2
- package/dist/{chat-field-CVF4DooY.mjs.map → chat-field-nxFRXoQx.mjs.map} +1 -1
- package/dist/chat-field.cjs.js +1 -1
- package/dist/chat-field.es.js +1 -1
- package/dist/{chip-group-B775zvKD.js → chip-group-BLuG0MC6.js} +2 -2
- package/dist/{chip-group-B775zvKD.js.map → chip-group-BLuG0MC6.js.map} +1 -1
- package/dist/{chip-group-xuOe7nL3.mjs → chip-group-Bo4kJ8Vq.mjs} +2 -2
- package/dist/{chip-group-xuOe7nL3.mjs.map → chip-group-Bo4kJ8Vq.mjs.map} +1 -1
- package/dist/chip-group.cjs.js +1 -1
- package/dist/chip-group.es.js +1 -1
- package/dist/color-dot-BEE5rKco.js.map +1 -1
- package/dist/color-dot-Dz9yzVX3.mjs.map +1 -1
- package/dist/{comparison-table-Dtqxz8vL.js → comparison-table-CRWRijfG.js} +2 -2
- package/dist/{comparison-table-Dtqxz8vL.js.map → comparison-table-CRWRijfG.js.map} +1 -1
- package/dist/{comparison-table-D1evE0ri.mjs → comparison-table-DYaRaP9Z.mjs} +3 -3
- package/dist/{comparison-table-D1evE0ri.mjs.map → comparison-table-DYaRaP9Z.mjs.map} +1 -1
- package/dist/comparison-table.cjs.js +1 -1
- package/dist/comparison-table.es.js +1 -1
- package/dist/components/accordion/src/accordion-item.d.ts +3 -3
- package/dist/components/accordion/src/accordion-item.d.ts.map +1 -1
- package/dist/components/accordion/src/accordion.d.ts +3 -7
- package/dist/components/accordion/src/accordion.d.ts.map +1 -1
- package/dist/components/accordion/src/accordion.visual.fixtures.d.ts.map +1 -1
- package/dist/components/alert-badge/src/alert-badge.d.ts +1 -1
- package/dist/components/avatar/src/avatar.d.ts +1 -1
- package/dist/components/badge/src/badge.d.ts +1 -1
- package/dist/components/button/src/button.d.ts +7 -8
- package/dist/components/button/src/button.d.ts.map +1 -1
- package/dist/components/button/src/button.visual.fixtures.d.ts +1 -1
- package/dist/components/calendar/src/calendar.d.ts.map +1 -1
- package/dist/components/card/src/card-content-container.d.ts +1 -1
- package/dist/components/card/src/card-content.d.ts +1 -1
- package/dist/components/card/src/card-cta.d.ts +1 -1
- package/dist/components/card/src/card-heading.d.ts +4 -4
- package/dist/components/card/src/card-heading.d.ts.map +1 -1
- package/dist/components/card/src/card-media-layout.d.ts +1 -1
- package/dist/components/card/src/card-media.d.ts +1 -1
- package/dist/components/card/src/card-root.d.ts +1 -1
- package/dist/components/checkbox/src/checkbox.d.ts +1 -1
- package/dist/components/color-dot/src/color-dot.d.ts +2 -1
- package/dist/components/color-dot/src/color-dot.d.ts.map +1 -1
- package/dist/components/content-block/src/content-block-group.d.ts +1 -1
- package/dist/components/content-block/src/content-block.d.ts +3 -3
- package/dist/components/content-block/src/content-block.d.ts.map +1 -1
- package/dist/components/country-flag-icon/src/all-country-flag-assets.d.ts +0 -1
- package/dist/components/country-flag-icon/src/all-country-flag-assets.d.ts.map +1 -1
- package/dist/components/country-flag-icon/src/country-flag-icon.d.ts +2 -2
- package/dist/components/cta-link/src/cta-link.d.ts +10 -10
- package/dist/components/date-picker/src/date-picker.d.ts +5 -5
- package/dist/components/date-range-field/src/date-range-field.d.ts +2 -2
- package/dist/components/date-range-field/src/date-range-field.d.ts.map +1 -1
- package/dist/components/dismissable-chip-group/src/dismissable-chip-group-item.d.ts +1 -1
- package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts +4 -4
- package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-container.d.ts +1 -1
- package/dist/components/drawer/src/drawer-container.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-content.d.ts +2 -2
- package/dist/components/drawer/src/drawer-frame.d.ts +1 -1
- package/dist/components/drawer/src/drawer-handle.d.ts +1 -1
- package/dist/components/drawer/src/drawer-header.d.ts +1 -1
- package/dist/components/drawer/src/drawer-scroll-area.d.ts +1 -1
- package/dist/components/drawer/src/drawer.context.d.ts +2 -0
- package/dist/components/drawer/src/drawer.context.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer.d.ts +2 -0
- package/dist/components/drawer/src/drawer.d.ts.map +1 -1
- package/dist/components/dropdown/src/dropdown-combobox.d.ts +2 -34
- package/dist/components/dropdown/src/dropdown-combobox.d.ts.map +1 -1
- package/dist/components/dropdown/src/dropdown-select.d.ts +2 -34
- package/dist/components/dropdown/src/dropdown-select.d.ts.map +1 -1
- package/dist/components/dropdown/src/dropdown-shared.d.ts +2 -1
- package/dist/components/dropdown/src/dropdown-shared.d.ts.map +1 -1
- package/dist/components/dropdown/src/dropdown.types.d.ts +24 -13
- package/dist/components/dropdown/src/dropdown.types.d.ts.map +1 -1
- package/dist/components/dropdown/src/useDropdown.d.ts +1 -1
- package/dist/components/dropdown/src/useDropdown.d.ts.map +1 -1
- package/dist/components/dropdown/src/useDropdownFilter.d.ts.map +1 -1
- package/dist/components/dropdown/src/useDropdownInput.d.ts.map +1 -1
- package/dist/components/field-error-text/src/field-error-text.d.ts +2 -2
- package/dist/components/file-upload/src/file-upload-button.d.ts +22 -0
- package/dist/components/file-upload/src/file-upload-button.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload-drag-and-drop.d.ts +10 -0
- package/dist/components/file-upload/src/file-upload-drag-and-drop.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload-file-name-label.d.ts +8 -0
- package/dist/components/file-upload/src/file-upload-file-name-label.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload-icon.d.ts +8 -0
- package/dist/components/file-upload/src/file-upload-icon.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload-types.d.ts +82 -0
- package/dist/components/file-upload/src/file-upload-types.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload-utils.d.ts +7 -0
- package/dist/components/file-upload/src/file-upload-utils.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload.d.ts +6 -0
- package/dist/components/file-upload/src/file-upload.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload.visual.fixtures.d.ts +14 -0
- package/dist/components/file-upload/src/file-upload.visual.fixtures.d.ts.map +1 -0
- package/dist/components/footer/src/footer-navigation.d.ts +1 -1
- package/dist/components/footer/src/footer.d.ts +3 -3
- package/dist/components/grid/src/grid.item.d.ts +1 -1
- package/dist/components/heading/src/heading.d.ts +20 -2
- package/dist/components/heading/src/heading.d.ts.map +1 -1
- package/dist/components/hero-banner/src/hero-banner-actions.d.ts +1 -1
- package/dist/components/hero-banner/src/hero-banner-media.d.ts +1 -1
- package/dist/components/hero-banner/src/hero-banner-types.d.ts +2 -2
- package/dist/components/hero-banner/src/hero-banner-types.d.ts.map +1 -1
- package/dist/components/hero-banner/src/hero-banner.d.ts +1 -1
- package/dist/components/hero-banner/src/hero-banner.d.ts.map +1 -1
- package/dist/components/icon/src/icon.d.ts +2 -2
- package/dist/components/label/src/label.d.ts +1 -1
- package/dist/components/listbox/src/listbox-item.d.ts +1 -1
- package/dist/components/loading/src/loading-illustrative.d.ts +1 -1
- package/dist/components/logo/src/logo.types.d.ts +2 -2
- package/dist/components/modal/src/modal-content.d.ts +1 -1
- package/dist/components/modal/src/modal-content.d.ts.map +1 -1
- package/dist/components/notification-banner/src/notification-banner.d.ts +5 -5
- package/dist/components/notification-banner/src/notification-banner.d.ts.map +1 -1
- package/dist/components/pagination/src/pagination-page-selector.d.ts +2 -2
- package/dist/components/pagination/src/pagination-page-trigger.d.ts +1 -1
- package/dist/components/pagination/src/pagination-step-trigger.d.ts +2 -2
- package/dist/components/pagination/src/pagination-truncation-separator.d.ts +1 -1
- package/dist/components/pagination/src/types.d.ts +1 -1
- package/dist/components/pagination/src/use-page-options.hook.d.ts +1 -1
- package/dist/components/pagination/src/use-page-size-options.hook.d.ts +1 -1
- package/dist/components/password-field/src/password-strength-indicator.d.ts +1 -1
- package/dist/components/password-field/src/password-strength.d.ts +2 -2
- package/dist/components/promotion-card/src/promotion-card.d.ts +9 -9
- package/dist/components/promotion-card/src/promotion-card.d.ts.map +1 -1
- package/dist/components/quantity-selector/src/quantity-selector-button.d.ts +2 -3
- package/dist/components/quantity-selector/src/quantity-selector-button.d.ts.map +1 -1
- package/dist/components/quantity-selector/src/quantity-selector.d.ts +2 -5
- package/dist/components/quantity-selector/src/quantity-selector.d.ts.map +1 -1
- package/dist/components/radio-card-group/src/radio-card-group.d.ts +2 -2
- package/dist/components/radio-card-group/src/radio-card-item.d.ts +1 -1
- package/dist/components/rich-text/src/types.d.ts +3 -3
- package/dist/components/search-field/src/search-field.d.ts +6 -6
- package/dist/components/skeleton/src/skeleton.d.ts +1 -1
- package/dist/components/spinner/src/spinner.d.ts +2 -2
- package/dist/components/stepper/src/stepper-container.d.ts +1 -1
- package/dist/components/stepper/src/stepper-content.d.ts +1 -1
- package/dist/components/stepper/src/{stepper-button.d.ts → stepper-link.d.ts} +5 -4
- package/dist/components/stepper/src/stepper-link.d.ts.map +1 -0
- package/dist/components/stepper/src/stepper-nav-items.d.ts +1 -0
- package/dist/components/stepper/src/stepper-nav-items.d.ts.map +1 -1
- package/dist/components/stepper/src/stepper.d.ts.map +1 -1
- package/dist/components/stepper/src/types.d.ts +2 -2
- package/dist/components/stepper/src/types.d.ts.map +1 -1
- package/dist/components/stepper/src/use-content-focus.hook.d.ts.map +1 -1
- package/dist/components/table/src/cell-types/button-group-cell.d.ts +3 -3
- package/dist/components/table/src/draggable-table.d.ts.map +1 -1
- package/dist/components/table/src/table-column-header-cell.d.ts +1 -2
- package/dist/components/table/src/table-column-header-cell.d.ts.map +1 -1
- package/dist/components/table/src/table-content.d.ts +1 -1
- package/dist/components/table/src/table-headers.d.ts +2 -3
- package/dist/components/table/src/table-headers.d.ts.map +1 -1
- package/dist/components/table/src/table-settings-drawer.d.ts +11 -20
- package/dist/components/table/src/table-settings-drawer.d.ts.map +1 -1
- package/dist/components/table/src/table.d.ts +2 -9
- package/dist/components/table/src/table.d.ts.map +1 -1
- package/dist/components/table/src/test-utils/helpers.d.ts +10 -19
- package/dist/components/table/src/test-utils/helpers.d.ts.map +1 -1
- package/dist/components/table/src/test-utils/table-data.d.ts +3 -3
- package/dist/components/tabs/src/tab-content.d.ts +3 -1
- package/dist/components/tabs/src/tab-content.d.ts.map +1 -1
- package/dist/components/text-area/src/text-area.d.ts +1 -1
- package/dist/components/text-field/src/text-field-ai.d.ts +4 -4
- package/dist/components/text-field/src/text-field-base.d.ts +4 -4
- package/dist/components/text-field/src/text-field.d.ts +5 -5
- package/dist/components/text-spacing/src/text-spacing.d.ts +2 -2
- package/dist/components/tooltip/src/tooltip.d.ts +4 -6
- package/dist/components/tooltip/src/tooltip.d.ts.map +1 -1
- package/dist/components-metadata.js +20 -10
- package/dist/{content-block-CDMrz41K.mjs → content-block-BCM0I3Y2.mjs} +2 -2
- package/dist/content-block-BCM0I3Y2.mjs.map +1 -0
- package/dist/{content-block-DyYAnL2e.js → content-block-DQppQumZ.js} +2 -2
- package/dist/content-block-DQppQumZ.js.map +1 -0
- package/dist/content-block.cjs.js +1 -1
- package/dist/content-block.es.js +1 -1
- package/dist/core.esm-BmIwrKkJ.js +6 -0
- package/dist/core.esm-BmIwrKkJ.js.map +1 -0
- package/dist/core.esm-CKGHpLM_.mjs +2892 -0
- package/dist/core.esm-CKGHpLM_.mjs.map +1 -0
- package/dist/country-flag-icon/LICENSE.txt +11 -0
- package/dist/country-flag-icon/all-country-flag-assets.cjs.js +1 -1
- package/dist/country-flag-icon/all-country-flag-assets.cjs.js.map +1 -1
- package/dist/country-flag-icon/all-country-flag-assets.d.ts +0 -1
- package/dist/country-flag-icon/all-country-flag-assets.d.ts.map +1 -1
- package/dist/country-flag-icon/all-country-flag-assets.es.js +0 -1
- package/dist/country-flag-icon/all-country-flag-assets.es.js.map +1 -1
- package/dist/country-flag-icon/dynamic-country-flag-icon.cjs.js +2 -0
- package/dist/country-flag-icon/dynamic-country-flag-icon.cjs.js.map +1 -0
- package/dist/country-flag-icon/dynamic-country-flag-icon.es.js +366 -0
- package/dist/country-flag-icon/dynamic-country-flag-icon.es.js.map +1 -0
- package/dist/{date-field-hA79n6mP.js → date-field-CtpWDaSh.js} +2 -2
- package/dist/{date-field-hA79n6mP.js.map → date-field-CtpWDaSh.js.map} +1 -1
- package/dist/{date-field-DVp_RMNm.mjs → date-field-_rCuf15v.mjs} +2 -2
- package/dist/{date-field-DVp_RMNm.mjs.map → date-field-_rCuf15v.mjs.map} +1 -1
- package/dist/date-field.cjs.js +1 -1
- package/dist/date-field.es.js +1 -1
- package/dist/{date-picker-Dzoo_hhQ.js → date-picker-BYlszX1W.js} +2 -2
- package/dist/{date-picker-Dzoo_hhQ.js.map → date-picker-BYlszX1W.js.map} +1 -1
- package/dist/{date-picker-B8ta-Q8V.mjs → date-picker-sqcNAplg.mjs} +6 -6
- package/dist/{date-picker-B8ta-Q8V.mjs.map → date-picker-sqcNAplg.mjs.map} +1 -1
- package/dist/date-picker.cjs.js +1 -1
- package/dist/date-picker.es.js +1 -1
- package/dist/date-range-field-B33XeBW8.js +2 -0
- package/dist/date-range-field-B33XeBW8.js.map +1 -0
- package/dist/{date-range-field-BZUjfftV.mjs → date-range-field-BmjQeiOv.mjs} +23 -23
- package/dist/date-range-field-BmjQeiOv.mjs.map +1 -0
- package/dist/date-range-field.cjs.js +1 -1
- package/dist/date-range-field.es.js +1 -1
- package/dist/{dismissable-chip-group-2updhyuR.js → dismissable-chip-group-5ALErhD2.js} +2 -2
- package/dist/dismissable-chip-group-5ALErhD2.js.map +1 -0
- package/dist/{dismissable-chip-group-Cfs2s2BH.mjs → dismissable-chip-group-DMNU7g5e.mjs} +3 -3
- package/dist/dismissable-chip-group-DMNU7g5e.mjs.map +1 -0
- package/dist/dismissable-chip-group.cjs.js +1 -1
- package/dist/dismissable-chip-group.es.js +1 -1
- package/dist/{drawer-cIUx6WSZ.mjs → drawer-Chx3H8EU.mjs} +241 -233
- package/dist/drawer-Chx3H8EU.mjs.map +1 -0
- package/dist/drawer-oFJcxW58.js +2 -0
- package/dist/drawer-oFJcxW58.js.map +1 -0
- package/dist/drawer.cjs.js +1 -1
- package/dist/drawer.es.js +1 -1
- package/dist/dropdown-Bn7WvsL2.js +2 -0
- package/dist/dropdown-Bn7WvsL2.js.map +1 -0
- package/dist/dropdown-CrufJnb4.mjs +945 -0
- package/dist/dropdown-CrufJnb4.mjs.map +1 -0
- package/dist/dropdown.cjs.js +1 -1
- package/dist/dropdown.es.js +1 -1
- package/dist/file-upload-Ctw6LCTU.mjs +589 -0
- package/dist/file-upload-Ctw6LCTU.mjs.map +1 -0
- package/dist/file-upload-MvNuX4ks.js +2 -0
- package/dist/file-upload-MvNuX4ks.js.map +1 -0
- package/dist/file-upload.cjs.js +2 -0
- package/dist/file-upload.cjs.js.map +1 -0
- package/dist/file-upload.es.js +5 -0
- package/dist/file-upload.es.js.map +1 -0
- package/dist/{floating-ui.react-dom-EredA301.mjs → floating-ui.react-dom-1kwKo24Z.mjs} +15 -15
- package/dist/{floating-ui.react-dom-EredA301.mjs.map → floating-ui.react-dom-1kwKo24Z.mjs.map} +1 -1
- package/dist/footer-Bbemct3Z.js +2 -0
- package/dist/footer-Bbemct3Z.js.map +1 -0
- package/dist/{footer-D-2b7UIB.mjs → footer-DkVmTd-f.mjs} +25 -25
- package/dist/footer-DkVmTd-f.mjs.map +1 -0
- package/dist/footer.cjs.js +1 -1
- package/dist/footer.es.js +1 -1
- package/dist/{heading-xwBuT_-9.mjs → heading-BG7JTFO1.mjs} +25 -24
- package/dist/heading-BG7JTFO1.mjs.map +1 -0
- package/dist/{heading-drD5ugCC.js → heading-BPeRwNYu.js} +2 -2
- package/dist/heading-BPeRwNYu.js.map +1 -0
- package/dist/heading.cjs.js +1 -1
- package/dist/heading.es.js +6 -5
- package/dist/{hero-banner-n9K-Jsdz.mjs → hero-banner-ChDoFRhq.mjs} +4 -4
- package/dist/hero-banner-ChDoFRhq.mjs.map +1 -0
- package/dist/{hero-banner--v-ezYMr.js → hero-banner-Mag1OwL4.js} +2 -2
- package/dist/hero-banner-Mag1OwL4.js.map +1 -0
- package/dist/hero-banner.cjs.js +1 -1
- package/dist/hero-banner.es.js +1 -1
- package/dist/index-BPY_9ddu.js +2 -0
- package/dist/index-BPY_9ddu.js.map +1 -0
- package/dist/index-Fewa56cA.mjs +440 -0
- package/dist/index-Fewa56cA.mjs.map +1 -0
- package/dist/libraries/library/src/calendar.d.ts +1 -1
- package/dist/libraries/library/src/card.d.ts +1 -1
- package/dist/libraries/library/src/container.d.ts +1 -1
- package/dist/libraries/library/src/content-block.d.ts +1 -1
- package/dist/libraries/library/src/dismissable-chip-group.d.ts +1 -1
- package/dist/libraries/library/src/drawer.d.ts +1 -1
- package/dist/libraries/library/src/file-upload.d.ts +6 -0
- package/dist/libraries/library/src/file-upload.d.ts.map +1 -0
- package/dist/libraries/library/src/library.d.ts +2 -1
- package/dist/libraries/library/src/library.d.ts.map +1 -1
- package/dist/libraries/library/src/notification-banner.d.ts +1 -1
- package/dist/libraries/library/src/notification.d.ts +1 -1
- package/dist/libraries/library/src/password-field.d.ts +6 -2
- package/dist/libraries/library/src/password-field.d.ts.map +1 -1
- package/dist/libraries/library/src/radio-button-group.d.ts +1 -1
- package/dist/libraries/library/src/radio-card-group.d.ts +1 -1
- package/dist/libraries/library/src/spinner.d.ts +1 -1
- package/dist/libraries/library/src/stepper.d.ts +1 -1
- package/dist/libraries/library/src/tooltip.d.ts +1 -1
- package/dist/libraries/library/src/visually-hidden.d.ts +1 -1
- package/dist/libraries/theme/src/ThemeProvider.d.ts +1 -1
- package/dist/library.cjs.js +1 -1
- package/dist/library.es.js +603 -601
- package/dist/library.es.js.map +1 -1
- package/dist/link-Dzqd0QuD.js +2 -0
- package/dist/{link-DhWVrkTz.js.map → link-Dzqd0QuD.js.map} +1 -1
- package/dist/link-ccCdDvBc.mjs +72 -0
- package/dist/{link-DY5WLpyc.mjs.map → link-ccCdDvBc.mjs.map} +1 -1
- package/dist/link.cjs.js +1 -1
- package/dist/link.es.js +1 -1
- package/dist/main-B501z9Ql.js +2 -0
- package/dist/main-B501z9Ql.js.map +1 -0
- package/dist/main-L71Sqg3s.mjs +1016 -0
- package/dist/main-L71Sqg3s.mjs.map +1 -0
- package/dist/{modal-D0Qxrvx5.js → modal-CXOYUsJm.js} +2 -2
- package/dist/modal-CXOYUsJm.js.map +1 -0
- package/dist/{modal-Bu1Zv5Ic.mjs → modal-Pwvhrzn-.mjs} +31 -31
- package/dist/modal-Pwvhrzn-.mjs.map +1 -0
- package/dist/modal.cjs.js +1 -1
- package/dist/modal.es.js +1 -1
- package/dist/{notification-D2oClkX2.js → notification-BkM2vLzI.js} +2 -2
- package/dist/{notification-D2oClkX2.js.map → notification-BkM2vLzI.js.map} +1 -1
- package/dist/{notification-DiVdy6E_.mjs → notification-Cbn0UN1p.mjs} +3 -3
- package/dist/{notification-DiVdy6E_.mjs.map → notification-Cbn0UN1p.mjs.map} +1 -1
- package/dist/notification-banner-B9RhXAZ8.js +2 -0
- package/dist/notification-banner-B9RhXAZ8.js.map +1 -0
- package/dist/{notification-banner-CZTQZ5Le.mjs → notification-banner-C4NVekCZ.mjs} +5 -5
- package/dist/notification-banner-C4NVekCZ.mjs.map +1 -0
- package/dist/notification-banner.cjs.js +1 -1
- package/dist/notification-banner.es.js +1 -1
- package/dist/notification.cjs.js +1 -1
- package/dist/notification.es.js +1 -1
- package/dist/password-field-Cy_E-D_G.mjs +200 -0
- package/dist/password-field-Cy_E-D_G.mjs.map +1 -0
- package/dist/password-field-lKyWHjQS.js +2 -0
- package/dist/password-field-lKyWHjQS.js.map +1 -0
- package/dist/password-field.cjs.js +2 -0
- package/dist/password-field.cjs.js.map +1 -0
- package/dist/password-field.es.js +6 -0
- package/dist/password-field.es.js.map +1 -0
- package/dist/popover-B6ntmuEK.mjs +614 -0
- package/dist/popover-B6ntmuEK.mjs.map +1 -0
- package/dist/popover-DJHMEFXP.js +2 -0
- package/dist/popover-DJHMEFXP.js.map +1 -0
- package/dist/popover.cjs.js +1 -1
- package/dist/popover.es.js +1 -1
- package/dist/{product-card-CxfHfJVV.mjs → product-card-BMseoNrG.mjs} +3 -3
- package/dist/{product-card-CxfHfJVV.mjs.map → product-card-BMseoNrG.mjs.map} +1 -1
- package/dist/{product-card-XxBwuxM-.js → product-card-D0jX5-up.js} +2 -2
- package/dist/{product-card-XxBwuxM-.js.map → product-card-D0jX5-up.js.map} +1 -1
- package/dist/product-card.cjs.js +1 -1
- package/dist/product-card.es.js +1 -1
- package/dist/{promotion-card-C1UoxzcV.js → promotion-card-B3mz__m7.js} +2 -2
- package/dist/promotion-card-B3mz__m7.js.map +1 -0
- package/dist/{promotion-card-CooYPpFo.mjs → promotion-card-Co6qAkTZ.mjs} +5 -5
- package/dist/promotion-card-Co6qAkTZ.mjs.map +1 -0
- package/dist/promotion-card.cjs.js +1 -1
- package/dist/promotion-card.es.js +1 -1
- package/dist/purpur.css +1 -1
- package/dist/quantity-selector-Cy0aJGGX.js +2 -0
- package/dist/quantity-selector-Cy0aJGGX.js.map +1 -0
- package/dist/quantity-selector-k6ZaVrk1.mjs +162 -0
- package/dist/quantity-selector-k6ZaVrk1.mjs.map +1 -0
- package/dist/quantity-selector.cjs.js +1 -1
- package/dist/quantity-selector.es.js +2 -3
- package/dist/{radio-button-group-D_F6kWD6.mjs → radio-button-group-DjiTo3b1.mjs} +2 -2
- package/dist/{radio-button-group-D_F6kWD6.mjs.map → radio-button-group-DjiTo3b1.mjs.map} +1 -1
- package/dist/{radio-button-group-CdUrC7h9.js → radio-button-group-uCRGh1H5.js} +2 -2
- package/dist/{radio-button-group-CdUrC7h9.js.map → radio-button-group-uCRGh1H5.js.map} +1 -1
- package/dist/radio-button-group.cjs.js +1 -1
- package/dist/radio-button-group.es.js +1 -1
- package/dist/{radio-card-group-B9_jOJnM.mjs → radio-card-group-DoM7qYO1.mjs} +2 -2
- package/dist/{radio-card-group-B9_jOJnM.mjs.map → radio-card-group-DoM7qYO1.mjs.map} +1 -1
- package/dist/{radio-card-group-DcdGkfOp.js → radio-card-group-_9wJC-s3.js} +2 -2
- package/dist/{radio-card-group-DcdGkfOp.js.map → radio-card-group-_9wJC-s3.js.map} +1 -1
- package/dist/radio-card-group.cjs.js +1 -1
- package/dist/radio-card-group.es.js +1 -1
- package/dist/rich-text.cjs.js +1 -1
- package/dist/rich-text.es.js +1 -1
- package/dist/{search-field-afhtC6q5.mjs → search-field-BTJtRyw5.mjs} +3 -3
- package/dist/{search-field-afhtC6q5.mjs.map → search-field-BTJtRyw5.mjs.map} +1 -1
- package/dist/{search-field-WJBtiK0K.js → search-field-nzVXak1a.js} +2 -2
- package/dist/{search-field-WJBtiK0K.js.map → search-field-nzVXak1a.js.map} +1 -1
- package/dist/search-field.cjs.js +1 -1
- package/dist/search-field.es.js +1 -1
- package/dist/stepper-D59T-Y2_.mjs +469 -0
- package/dist/stepper-D59T-Y2_.mjs.map +1 -0
- package/dist/stepper-Dao4XaDV.js +2 -0
- package/dist/stepper-Dao4XaDV.js.map +1 -0
- package/dist/stepper.cjs.js +1 -1
- package/dist/stepper.es.js +1 -1
- package/dist/table-DRSgesQ4.mjs +4545 -0
- package/dist/table-DRSgesQ4.mjs.map +1 -0
- package/dist/table-zBs9JALh.js +5 -0
- package/dist/table-zBs9JALh.js.map +1 -0
- package/dist/table.cjs.js +1 -1
- package/dist/table.es.js +1 -1
- package/dist/tabs-D2__wbCs.js +2 -0
- package/dist/tabs-D2__wbCs.js.map +1 -0
- package/dist/tabs-DOG5g2wf.mjs +440 -0
- package/dist/tabs-DOG5g2wf.mjs.map +1 -0
- package/dist/tabs.cjs.js +1 -1
- package/dist/tabs.es.js +1 -1
- package/dist/{text-field-VW8ObP83.js → text-field-BSgqJjpv.js} +2 -2
- package/dist/text-field-BSgqJjpv.js.map +1 -0
- package/dist/{text-field-D0e-cRbG.mjs → text-field-MQHeITxy.mjs} +3 -3
- package/dist/text-field-MQHeITxy.mjs.map +1 -0
- package/dist/text-field.cjs.js +1 -1
- package/dist/text-field.es.js +1 -1
- package/dist/tooltip-DeP1UsPW.js +2 -0
- package/dist/{tooltip-B-11qk-0.js.map → tooltip-DeP1UsPW.js.map} +1 -1
- package/dist/{tooltip-DngYHn5W.mjs → tooltip-bqdd2lJL.mjs} +347 -309
- package/dist/{tooltip-DngYHn5W.mjs.map → tooltip-bqdd2lJL.mjs.map} +1 -1
- package/dist/tooltip.cjs.js +1 -1
- package/dist/tooltip.es.js +1 -1
- package/package.json +21 -26
- package/scripts/generate.mts +1 -4
- package/src/aliases.ts +8 -4
- package/src/entries.js +2 -1
- package/src/{autocomplete.ts → file-upload.ts} +1 -1
- package/src/library.ts +2 -2
- package/src/password-field.ts +0 -1
- package/src/purpur.css +4 -0
- package/dist/accordion-B6OoQ4uZ.mjs +0 -128
- package/dist/accordion-B6OoQ4uZ.mjs.map +0 -1
- package/dist/accordion-BfpN5h4C.js +0 -2
- package/dist/accordion-BfpN5h4C.js.map +0 -1
- package/dist/autocomplete-BX1KDZqL.js +0 -2
- package/dist/autocomplete-BX1KDZqL.js.map +0 -1
- package/dist/autocomplete-CmLzmWp4.mjs +0 -228
- package/dist/autocomplete-CmLzmWp4.mjs.map +0 -1
- package/dist/autocomplete.cjs.js +0 -2
- package/dist/autocomplete.cjs.js.map +0 -1
- package/dist/autocomplete.es.js +0 -6
- package/dist/autocomplete.es.js.map +0 -1
- package/dist/button-4-yWOgtD.mjs +0 -109
- package/dist/button-4-yWOgtD.mjs.map +0 -1
- package/dist/button-DmybVApa.js +0 -2
- package/dist/button-DmybVApa.js.map +0 -1
- package/dist/card-pdsBEJif.js.map +0 -1
- package/dist/card-t2ZkZ82G.mjs.map +0 -1
- package/dist/components/autocomplete/src/autocomplete.d.ts +0 -18
- package/dist/components/autocomplete/src/autocomplete.d.ts.map +0 -1
- package/dist/components/autocomplete/src/useAutocomplete.d.ts +0 -59
- package/dist/components/autocomplete/src/useAutocomplete.d.ts.map +0 -1
- package/dist/components/autocomplete/src/utils.d.ts +0 -7
- package/dist/components/autocomplete/src/utils.d.ts.map +0 -1
- package/dist/components/stepper/src/stepper-button.d.ts.map +0 -1
- package/dist/content-block-CDMrz41K.mjs.map +0 -1
- package/dist/content-block-DyYAnL2e.js.map +0 -1
- package/dist/date-range-field-BZUjfftV.mjs.map +0 -1
- package/dist/date-range-field-Dqqgj41u.js +0 -2
- package/dist/date-range-field-Dqqgj41u.js.map +0 -1
- package/dist/dismissable-chip-group-2updhyuR.js.map +0 -1
- package/dist/dismissable-chip-group-Cfs2s2BH.mjs.map +0 -1
- package/dist/drawer-DyLQfvEh.js +0 -2
- package/dist/drawer-DyLQfvEh.js.map +0 -1
- package/dist/drawer-cIUx6WSZ.mjs.map +0 -1
- package/dist/dropdown-C8VsfTQw.mjs +0 -936
- package/dist/dropdown-C8VsfTQw.mjs.map +0 -1
- package/dist/dropdown-p4R2yCnJ.js +0 -2
- package/dist/dropdown-p4R2yCnJ.js.map +0 -1
- package/dist/footer-Cn1-zG1v.js +0 -2
- package/dist/footer-Cn1-zG1v.js.map +0 -1
- package/dist/footer-D-2b7UIB.mjs.map +0 -1
- package/dist/heading-drD5ugCC.js.map +0 -1
- package/dist/heading-xwBuT_-9.mjs.map +0 -1
- package/dist/hero-banner--v-ezYMr.js.map +0 -1
- package/dist/hero-banner-n9K-Jsdz.mjs.map +0 -1
- package/dist/libraries/library/src/autocomplete.d.ts +0 -6
- package/dist/libraries/library/src/autocomplete.d.ts.map +0 -1
- package/dist/link-DY5WLpyc.mjs +0 -72
- package/dist/link-DhWVrkTz.js +0 -2
- package/dist/modal-Bu1Zv5Ic.mjs.map +0 -1
- package/dist/modal-D0Qxrvx5.js.map +0 -1
- package/dist/notification-banner-BxHwTFnH.js +0 -2
- package/dist/notification-banner-BxHwTFnH.js.map +0 -1
- package/dist/notification-banner-CZTQZ5Le.mjs.map +0 -1
- package/dist/popover-CY75TnbA.js +0 -2
- package/dist/popover-CY75TnbA.js.map +0 -1
- package/dist/popover-wiiwtqWE.mjs +0 -1043
- package/dist/popover-wiiwtqWE.mjs.map +0 -1
- package/dist/promotion-card-C1UoxzcV.js.map +0 -1
- package/dist/promotion-card-CooYPpFo.mjs.map +0 -1
- package/dist/quantity-selector-BEYMDsBM.js +0 -2
- package/dist/quantity-selector-BEYMDsBM.js.map +0 -1
- package/dist/quantity-selector-Cp-e5xKJ.mjs +0 -172
- package/dist/quantity-selector-Cp-e5xKJ.mjs.map +0 -1
- package/dist/stepper-20s8dnPA.mjs +0 -449
- package/dist/stepper-20s8dnPA.mjs.map +0 -1
- package/dist/stepper-VDiR2I8F.js +0 -2
- package/dist/stepper-VDiR2I8F.js.map +0 -1
- package/dist/table-B5ZitZoL.js +0 -9
- package/dist/table-B5ZitZoL.js.map +0 -1
- package/dist/table-CNIL-60s.mjs +0 -7428
- package/dist/table-CNIL-60s.mjs.map +0 -1
- package/dist/tabs-Bye5lgZ1.mjs +0 -424
- package/dist/tabs-Bye5lgZ1.mjs.map +0 -1
- package/dist/tabs-D-nfZHIA.js +0 -2
- package/dist/tabs-D-nfZHIA.js.map +0 -1
- package/dist/text-field-D0e-cRbG.mjs.map +0 -1
- package/dist/text-field-VW8ObP83.js.map +0 -1
- package/dist/tooltip-B-11qk-0.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.esm-CKGHpLM_.mjs","sources":["../../../common/temp/node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../../../common/temp/node_modules/.pnpm/@dnd-kit+accessibility@3.1.1_react@19.2.4/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js","../../../common/temp/node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/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) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n display: 'none'\n};\nfunction HiddenText(_ref) {\n let {\n id,\n value\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: hiddenStyles\n }, value);\n}\n\nfunction LiveRegion(_ref) {\n let {\n id,\n announcement,\n ariaLiveType = \"assertive\"\n } = _ref;\n // Hide element visually but keep it readable by screen readers\n const visuallyHidden = {\n position: 'fixed',\n top: 0,\n left: 0,\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap'\n };\n return React.createElement(\"div\", {\n id: id,\n style: visuallyHidden,\n role: \"status\",\n \"aria-live\": ariaLiveType,\n \"aria-atomic\": true\n }, announcement);\n}\n\nfunction useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback(value => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n return {\n announce,\n announcement\n };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n","import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, memo, useReducer, 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[\"Tab\"] = \"Tab\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter, KeyboardCode.Tab]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint,\n bypassActivationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n\n if (events.cancel) {\n this.listeners.add(events.cancel.name, this.handleCancel);\n }\n\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (bypassActivationConstraint != null && bypassActivationConstraint({\n event: this.props.event,\n activeNode: this.props.activeNode,\n options: this.props.options\n })) {\n return this.handleStart();\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n this.handlePending(activationConstraint);\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n this.handlePending(activationConstraint);\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handlePending(constraint, offset) {\n const {\n active,\n onPending\n } = this.props;\n onPending(active, constraint, this.initialCoordinates, offset);\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates); // Constraint validation\n\n if (!activated && activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n }\n\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n }\n\n this.handlePending(activationConstraint, delta);\n return;\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onAbort,\n onEnd\n } = this.props;\n this.detach();\n\n if (!this.activated) {\n onAbort(this.props.active);\n }\n\n onEnd();\n }\n\n handleCancel() {\n const {\n onAbort,\n onCancel\n } = this.props;\n this.detach();\n\n if (!this.activated) {\n onAbort(this.props.active);\n }\n\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 cancel: {\n name: 'pointercancel'\n },\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 cancel: {\n name: 'touchcancel'\n },\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, setRect] = useState(null);\n\n function measureRect() {\n setRect(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\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\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, setRects] = useState(defaultValue$2);\n\n function measureRects() {\n setRects(() => {\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\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n useIsomorphicLayoutEffect(() => {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n }, [elements]);\n return rects;\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 == null) {\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 != null ? 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 != null ? 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 activeSensorRef = useRef(null);\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 onAbort(id) {\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragAbort\n } = latestProps.current;\n const event = {\n id\n };\n onDragAbort == null ? void 0 : onDragAbort(event);\n dispatchMonitorEvent({\n type: 'onDragAbort',\n event\n });\n },\n\n onPending(id, constraint, initialCoordinates, offset) {\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragPending\n } = latestProps.current;\n const event = {\n id,\n constraint,\n initialCoordinates,\n offset\n };\n onDragPending == null ? void 0 : onDragPending(event);\n dispatchMonitorEvent({\n type: 'onDragPending',\n event\n });\n },\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 activatorEvent,\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 setActiveSensor(activeSensorRef.current);\n setActivatorEvent(activatorEvent);\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 activeSensorRef.current = sensorInstance;\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 activeSensorRef.current = 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 = 'Draggable';\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 useEffect(() => {\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, defaultKeyboardCoordinateGetter, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n"],"names":["useCombinedRefs","_len","refs","_key","useMemo","node","ref","canUseDOM","isWindow","element","elementString","isNode","getWindow","target","_target$ownerDocument","_target$ownerDocument2","isDocument","Document","isHTMLElement","isSVGElement","getOwnerDocument","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","useEvent","handler","handlerRef","useRef","useCallback","args","useInterval","intervalRef","set","listener","duration","clear","useLatestValue","value","dependencies","valueRef","useLazyMemo","callback","newValue","useNodeRef","onChange","onChangeHandler","setNodeRef","usePrevious","ids","useUniqueId","prefix","id","createAdjustmentFn","modifier","object","adjustments","accumulator","adjustment","entries","key","valueAdjustment","add","subtract","hasViewportRelativeCoordinates","event","isKeyboardEvent","KeyboardEvent","isTouchEvent","TouchEvent","getEventCoordinates","x","y","CSS","transform","scaleX","scaleY","_ref","property","easing","SELECTOR","findFirstFocusableNode","hiddenStyles","HiddenText","React","LiveRegion","announcement","ariaLiveType","visuallyHidden","useAnnouncement","setAnnouncement","useState","DndMonitorContext","createContext","useDndMonitor","registerListener","useContext","useDndMonitorProvider","listeners","type","_listener$type","defaultScreenReaderInstructions","defaultAnnouncements","active","_ref2","over","_ref3","_ref4","Accessibility","announcements","container","hiddenTextDescribedById","screenReaderInstructions","announce","liveRegionId","mounted","setMounted","_ref5","_ref6","markup","createPortal","Action","noop","useSensor","sensor","options","useSensors","sensors","defaultCoordinates","distanceBetween","p1","p2","getRelativeTransformOrigin","rect","eventCoordinates","transformOrigin","sortCollisionsAsc","a","b","sortCollisionsDesc","cornersOfRectangle","left","top","height","width","getFirstCollision","collisions","firstCollision","centerOfRectangle","closestCenter","collisionRect","droppableRects","droppableContainers","centerRect","droppableContainer","distBetween","closestCorners","corners","rectCorners","distances","corner","index","effectiveDistance","getIntersectionRatio","entry","right","bottom","targetArea","entryArea","intersectionArea","intersectionRatio","rectIntersection","adjustScale","rect1","rect2","getRectDelta","createRectAdjustmentFn","acc","getAdjustedRect","parseTransform","transformArray","inverseTransform","parsedTransform","translateX","translateY","w","h","defaultOptions","getClientRect","getTransformAgnosticClientRect","getWindowClientRect","isFixed","computedStyle","isScrollable","overflowRegex","getScrollableAncestors","limit","scrollParents","findScrollableAncestors","getFirstScrollableAncestor","firstScrollableAncestor","getScrollableElement","getScrollXCoordinate","getScrollYCoordinate","getScrollCoordinates","Direction","isDocumentScrollingElement","getScrollPosition","scrollingContainer","minScroll","dimensions","maxScroll","isTop","isLeft","isBottom","isRight","defaultThreshold","getScrollDirectionAndSpeed","scrollContainer","scrollContainerRect","acceleration","thresholdPercentage","direction","speed","threshold","getScrollElementRect","innerWidth","innerHeight","getScrollOffsets","scrollableAncestors","getScrollXOffset","getScrollYOffset","scrollIntoViewIfNeeded","measure","properties","Rect","scrollOffsets","axis","keys","getScrollOffset","currentOffsets","scrollOffsetsDeltla","Listeners","_this$target","eventName","_this$target2","getEventListenerTarget","EventTarget","hasExceededDistance","delta","measurement","dx","dy","EventName","preventDefault","stopPropagation","KeyboardCode","defaultKeyboardCodes","defaultKeyboardCoordinateGetter","currentCoordinates","KeyboardSensor","props","activeNode","onStart","context","keyboardCodes","coordinateGetter","scrollBehavior","code","newCoordinates","coordinatesDelta","scrollDelta","scrollElementRect","clampedCoordinates","canScrollX","canScrollY","newScrollCoordinates","canScrollToNewCoordinates","coordinates","onMove","onEnd","onCancel","onActivation","activator","isDistanceConstraint","constraint","isDelayConstraint","AbstractPointerSensor","events","listenerTarget","_getEventCoordinates","activationConstraint","bypassActivationConstraint","offset","onPending","initialCoordinates","_getEventCoordinates2","activated","onAbort","_this$document$getSel","PointerSensor","events$1","MouseButton","MouseSensor","events$2","TouchSensor","touches","AutoScrollActivator","TraversalOrder","useAutoScroller","canScroll","draggingRect","enabled","interval","order","pointerCoordinates","scrollableAncestorRects","scrollIntent","useScrollIntent","setAutoScrollInterval","clearAutoScrollInterval","scrollSpeed","scrollDirection","scrollContainerRef","autoScroll","scrollLeft","scrollTop","sortedScrollableAncestors","defaultScrollIntent","disabled","previousDelta","previousIntent","useCachedNode","draggableNodes","draggableNode","cachedNode","useCombineActivators","getSyntheticHandler","Sensor","sensorActivators","MeasuringStrategy","MeasuringFrequency","defaultValue","useDroppableMeasuring","containers","dragging","config","queue","setQueue","frequency","strategy","containersRef","isDisabled","disabledRef","measureDroppableContainers","timeoutId","previousValue","map","useInitialValue","computeFn","useInitialRect","useMutationObserver","handleMutations","mutationObserver","MutationObserver","useResizeObserver","handleResize","resizeObserver","ResizeObserver","defaultMeasure","useRect","fallbackRect","setRect","measureRect","currentRect","newRect","records","record","useRectDelta","initialRect","defaultValue$1","useScrollableAncestors","previousNode","ancestors","useScrollOffsets","elements","scrollCoordinates","setScrollCoordinates","prevElements","handleScroll","scrollingElement","previousElements","cleanup","scrollableElement","useScrollOffsetsDelta","initialScrollOffsets","hasScrollOffsets","useSensorSetup","teardownFns","teardown","useSyntheticListeners","useWindowRect","defaultValue$2","useRects","firstElement","windowRect","rects","setRects","measureRects","getMeasurableNode","firstChild","useDragOverlayMeasuring","handleNodeChange","nodeRef","setRef","defaultSensors","defaultData","defaultMeasuringConfiguration","DroppableContainersMap","_super$get","_this$get$node$curren","_this$get","defaultPublicContext","defaultInternalContext","InternalContext","PublicContext","getInitialState","reducer","state","action","RestoreFocus","activatorEvent","previousActivatorEvent","previousActiveId","activatorNode","focusableNode","applyModifiers","modifiers","useMeasuringConfiguration","useLayoutShiftScrollCompensation","initialized","rectDelta","ActiveDraggableContext","Status","DndContext","memo","_sensorContext$curren","_dragOverlay$nodeRef$","_dragOverlay$rect","_over$rect","accessibility","children","collisionDetection","measuring","store","useReducer","dispatch","dispatchMonitorEvent","registerMonitorListener","status","setStatus","isInitialized","activeId","translate","activeRects","_node$data","activeRef","activeSensor","setActiveSensor","setActivatorEvent","latestProps","draggableDescribedById","enabledDroppableContainers","measuringConfiguration","measuringScheduled","activationCoordinates","autoScrollOptions","getAutoScrollerOptions","initialActiveNodeRect","activeNodeRect","containerNodeRect","sensorContext","overNode","dragOverlay","draggingNode","draggingNodeRect","usesDragOverlay","nodeRectDelta","modifiedTranslate","scrollAdjustment","activeNodeScrollDelta","scrollAdjustedTranslate","overId","setOver","appliedTranslate","activeSensorRef","instantiateSensor","sensorInstance","onDragAbort","onDragPending","onDragStart","unstable_batchedUpdates","createHandler","cancelDrop","bindActivatorToSensorInstantiator","nativeEvent","activeDraggableNode","activationContext","activators","onDragMove","onDragOver","overContainer","publicContext","internalContext","activeSensorDisablesAutoscroll","autoScrollGloballyDisabled","NullContext","defaultRole","ID_PREFIX","useDraggable","data","attributes","ariaDescribedById","role","roleDescription","tabIndex","isDragging","setActivatorNodeRef","dataRef","memoizedAttributes","useDndContext","ID_PREFIX$1","defaultResizeObserverConfig","useDroppable","resizeObserverConfig","previous","resizeObserverConnected","callbackId","resizeObserverDisabled","updateMeasurementsFor","resizeObserverTimeout","newElement","previousElement","AnimationManager","animation","clonedChildren","setClonedChildren","setElement","previousChildren","cloneElement","defaultTransform","NullifiedContextProvider","baseStyles","defaultTransition","PositionedOverlay","forwardRef","as","className","style","transition","scaleAdjustedTransform","styles","defaultDropAnimationSideEffects","originalStyles","defaultKeyframeResolver","initial","final","defaultDropAnimationConfiguration","useDropAnimation","activeDraggable","measurableNode","createDefaultDropAnimation","sideEffects","keyframes","rest","scale","finalTransform","animationKeyframes","firstKeyframe","lastKeyframe","resolve","useKey","DragOverlay","dropAnimationConfig","wrapperElement","zIndex","modifiedTransform","dropAnimation"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
Name: change-case
|
|
2
|
+
Version: 5.4.4
|
|
3
|
+
License: MIT
|
|
4
|
+
Private: false
|
|
5
|
+
Description: Transform a string between `camelCase`, `PascalCase`, `Capital Case`, `snake_case`, `kebab-case`, `CONSTANT_CASE` and others
|
|
6
|
+
Repository: git://github.com/blakeembrey/change-case.git
|
|
7
|
+
Homepage: https://github.com/blakeembrey/change-case/tree/master/packages/change-case#readme
|
|
8
|
+
Author: Blake Embrey <hello@blakeembrey.com> (http://blakeembrey.me)
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
1
12
|
Name: classnames
|
|
2
13
|
Version: 2.5.1
|
|
3
14
|
License: MIT
|