react-aria 3.48.0 → 3.49.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/dist/exports/CollectionBuilder.cjs.map +1 -1
- package/dist/exports/CollectionBuilder.js.map +1 -1
- package/dist/exports/CollectionBuilder.mjs.map +1 -1
- package/dist/exports/index.cjs +12 -0
- package/dist/exports/index.cjs.map +1 -1
- package/dist/exports/index.js +9 -1
- package/dist/exports/index.js.map +1 -1
- package/dist/exports/index.mjs +9 -1
- package/dist/exports/index.mjs.map +1 -1
- package/dist/exports/private/actiongroup/useActionGroup.cjs.map +1 -1
- package/dist/exports/private/actiongroup/useActionGroup.js.map +1 -1
- package/dist/exports/private/actiongroup/useActionGroup.mjs.map +1 -1
- package/dist/exports/private/actiongroup/useActionGroupItem.cjs.map +1 -1
- package/dist/exports/private/actiongroup/useActionGroupItem.js.map +1 -1
- package/dist/exports/private/actiongroup/useActionGroupItem.mjs.map +1 -1
- package/dist/exports/private/autocomplete/useSearchAutocomplete.cjs.map +1 -1
- package/dist/exports/private/autocomplete/useSearchAutocomplete.js.map +1 -1
- package/dist/exports/private/autocomplete/useSearchAutocomplete.mjs.map +1 -1
- package/dist/exports/private/collections/BaseCollection.cjs.map +1 -1
- package/dist/exports/private/collections/BaseCollection.js.map +1 -1
- package/dist/exports/private/collections/BaseCollection.mjs.map +1 -1
- package/dist/exports/private/collections/useCachedChildren.cjs.map +1 -1
- package/dist/exports/private/collections/useCachedChildren.js.map +1 -1
- package/dist/exports/private/collections/useCachedChildren.mjs.map +1 -1
- package/dist/exports/private/focus/FocusScope.cjs.map +1 -1
- package/dist/exports/private/focus/FocusScope.js.map +1 -1
- package/dist/exports/private/focus/FocusScope.mjs.map +1 -1
- package/dist/exports/private/focus/virtualFocus.cjs.map +1 -1
- package/dist/exports/private/focus/virtualFocus.js.map +1 -1
- package/dist/exports/private/focus/virtualFocus.mjs.map +1 -1
- package/dist/exports/private/grid/GridKeyboardDelegate.cjs.map +1 -1
- package/dist/exports/private/grid/GridKeyboardDelegate.js.map +1 -1
- package/dist/exports/private/grid/GridKeyboardDelegate.mjs.map +1 -1
- package/dist/exports/private/grid/useGridSelectionAnnouncement.cjs.map +1 -1
- package/dist/exports/private/grid/useGridSelectionAnnouncement.js.map +1 -1
- package/dist/exports/private/grid/useGridSelectionAnnouncement.mjs.map +1 -1
- package/dist/exports/private/grid/useGridSelectionCheckbox.cjs.map +1 -1
- package/dist/exports/private/grid/useGridSelectionCheckbox.js.map +1 -1
- package/dist/exports/private/grid/useGridSelectionCheckbox.mjs.map +1 -1
- package/dist/exports/private/grid/useHighlightSelectionDescription.cjs.map +1 -1
- package/dist/exports/private/grid/useHighlightSelectionDescription.js.map +1 -1
- package/dist/exports/private/grid/useHighlightSelectionDescription.mjs.map +1 -1
- package/dist/exports/private/interactions/useFocusVisible.cjs.map +1 -1
- package/dist/exports/private/interactions/useFocusVisible.js.map +1 -1
- package/dist/exports/private/interactions/useFocusVisible.mjs.map +1 -1
- package/dist/exports/private/interactions/useFocusable.cjs.map +1 -1
- package/dist/exports/private/interactions/useFocusable.js.map +1 -1
- package/dist/exports/private/interactions/useFocusable.mjs.map +1 -1
- package/dist/exports/private/landmark/useLandmark.cjs.map +1 -1
- package/dist/exports/private/landmark/useLandmark.js.map +1 -1
- package/dist/exports/private/landmark/useLandmark.mjs.map +1 -1
- package/dist/exports/private/live-announcer/LiveAnnouncer.cjs.map +1 -1
- package/dist/exports/private/live-announcer/LiveAnnouncer.js.map +1 -1
- package/dist/exports/private/live-announcer/LiveAnnouncer.mjs.map +1 -1
- package/dist/exports/private/overlays/useModal.cjs.map +1 -1
- package/dist/exports/private/overlays/useModal.js.map +1 -1
- package/dist/exports/private/overlays/useModal.mjs.map +1 -1
- package/dist/exports/private/selection/useSelectableCollection.cjs.map +1 -1
- package/dist/exports/private/selection/useSelectableCollection.js.map +1 -1
- package/dist/exports/private/selection/useSelectableCollection.mjs.map +1 -1
- package/dist/exports/private/selection/useSelectableItem.cjs.map +1 -1
- package/dist/exports/private/selection/useSelectableItem.js.map +1 -1
- package/dist/exports/private/selection/useSelectableItem.mjs.map +1 -1
- package/dist/exports/private/selection/useSelectableList.cjs.map +1 -1
- package/dist/exports/private/selection/useSelectableList.js.map +1 -1
- package/dist/exports/private/selection/useSelectableList.mjs.map +1 -1
- package/dist/exports/private/selection/useTypeSelect.cjs.map +1 -1
- package/dist/exports/private/selection/useTypeSelect.js.map +1 -1
- package/dist/exports/private/selection/useTypeSelect.mjs.map +1 -1
- package/dist/exports/private/spinbutton/useSpinButton.cjs.map +1 -1
- package/dist/exports/private/spinbutton/useSpinButton.js.map +1 -1
- package/dist/exports/private/spinbutton/useSpinButton.mjs.map +1 -1
- package/dist/exports/private/steplist/useStepList.cjs.map +1 -1
- package/dist/exports/private/steplist/useStepList.js.map +1 -1
- package/dist/exports/private/steplist/useStepList.mjs.map +1 -1
- package/dist/exports/private/steplist/useStepListItem.cjs.map +1 -1
- package/dist/exports/private/steplist/useStepListItem.js.map +1 -1
- package/dist/exports/private/steplist/useStepListItem.mjs.map +1 -1
- package/dist/exports/private/utils/openLink.cjs.map +1 -1
- package/dist/exports/private/utils/openLink.js.map +1 -1
- package/dist/exports/private/utils/openLink.mjs.map +1 -1
- package/dist/exports/private/utils/platform.cjs.map +1 -1
- package/dist/exports/private/utils/platform.js.map +1 -1
- package/dist/exports/private/utils/platform.mjs.map +1 -1
- package/dist/exports/private/utils/shadowdom/DOMFunctions.cjs.map +1 -1
- package/dist/exports/private/utils/shadowdom/DOMFunctions.js.map +1 -1
- package/dist/exports/private/utils/shadowdom/DOMFunctions.mjs.map +1 -1
- package/dist/exports/private/utils/shadowdom/ShadowTreeWalker.cjs.map +1 -1
- package/dist/exports/private/utils/shadowdom/ShadowTreeWalker.js.map +1 -1
- package/dist/exports/private/utils/shadowdom/ShadowTreeWalker.mjs.map +1 -1
- package/dist/exports/private/utils/useLoadMoreSentinel.cjs.map +1 -1
- package/dist/exports/private/utils/useLoadMoreSentinel.js.map +1 -1
- package/dist/exports/private/utils/useLoadMoreSentinel.mjs.map +1 -1
- package/dist/exports/private/virtualizer/useVirtualizerItem.cjs.map +1 -1
- package/dist/exports/private/virtualizer/useVirtualizerItem.js.map +1 -1
- package/dist/exports/private/virtualizer/useVirtualizerItem.mjs.map +1 -1
- package/dist/exports/private/virtualizer/utils.cjs.map +1 -1
- package/dist/exports/private/virtualizer/utils.js.map +1 -1
- package/dist/exports/private/virtualizer/utils.mjs.map +1 -1
- package/dist/exports/useAutocomplete.cjs.map +1 -1
- package/dist/exports/useAutocomplete.js.map +1 -1
- package/dist/exports/useAutocomplete.mjs.map +1 -1
- package/dist/exports/useBreadcrumbs.cjs.map +1 -1
- package/dist/exports/useBreadcrumbs.js.map +1 -1
- package/dist/exports/useBreadcrumbs.mjs.map +1 -1
- package/dist/exports/useButton.cjs.map +1 -1
- package/dist/exports/useButton.js.map +1 -1
- package/dist/exports/useButton.mjs.map +1 -1
- package/dist/exports/useCalendar.cjs +9 -0
- package/dist/exports/useCalendar.cjs.map +1 -1
- package/dist/exports/useCalendar.js +7 -1
- package/dist/exports/useCalendar.js.map +1 -1
- package/dist/exports/useCalendar.mjs +7 -1
- package/dist/exports/useCalendar.mjs.map +1 -1
- package/dist/exports/useClipboard.cjs.map +1 -1
- package/dist/exports/useClipboard.js.map +1 -1
- package/dist/exports/useClipboard.mjs.map +1 -1
- package/dist/exports/useColorArea.cjs.map +1 -1
- package/dist/exports/useColorArea.js.map +1 -1
- package/dist/exports/useColorArea.mjs.map +1 -1
- package/dist/exports/useColorField.cjs.map +1 -1
- package/dist/exports/useColorField.js.map +1 -1
- package/dist/exports/useColorField.mjs.map +1 -1
- package/dist/exports/useColorSlider.cjs.map +1 -1
- package/dist/exports/useColorSlider.js.map +1 -1
- package/dist/exports/useColorSlider.mjs.map +1 -1
- package/dist/exports/useColorWheel.cjs.map +1 -1
- package/dist/exports/useColorWheel.js.map +1 -1
- package/dist/exports/useColorWheel.mjs.map +1 -1
- package/dist/exports/useComboBox.cjs.map +1 -1
- package/dist/exports/useComboBox.js.map +1 -1
- package/dist/exports/useComboBox.mjs.map +1 -1
- package/dist/exports/useDateField.cjs.map +1 -1
- package/dist/exports/useDateField.js.map +1 -1
- package/dist/exports/useDateField.mjs.map +1 -1
- package/dist/exports/useDateRangePicker.cjs.map +1 -1
- package/dist/exports/useDateRangePicker.js.map +1 -1
- package/dist/exports/useDateRangePicker.mjs.map +1 -1
- package/dist/exports/useDisclosure.cjs +1 -1
- package/dist/exports/useDisclosure.cjs.map +1 -1
- package/dist/exports/useDisclosure.js +1 -1
- package/dist/exports/useDisclosure.js.map +1 -1
- package/dist/exports/useDisclosure.mjs +1 -1
- package/dist/exports/useDisclosure.mjs.map +1 -1
- package/dist/exports/useDrag.cjs.map +1 -1
- package/dist/exports/useDrag.js.map +1 -1
- package/dist/exports/useDrag.mjs.map +1 -1
- package/dist/exports/useDraggableCollection.cjs.map +1 -1
- package/dist/exports/useDraggableCollection.js.map +1 -1
- package/dist/exports/useDraggableCollection.mjs.map +1 -1
- package/dist/exports/useDrop.cjs.map +1 -1
- package/dist/exports/useDrop.js.map +1 -1
- package/dist/exports/useDrop.mjs.map +1 -1
- package/dist/exports/useDroppableCollection.cjs.map +1 -1
- package/dist/exports/useDroppableCollection.js.map +1 -1
- package/dist/exports/useDroppableCollection.mjs.map +1 -1
- package/dist/exports/useFocusable.cjs.map +1 -1
- package/dist/exports/useFocusable.js.map +1 -1
- package/dist/exports/useFocusable.mjs.map +1 -1
- package/dist/exports/useGridList.cjs.map +1 -1
- package/dist/exports/useGridList.js.map +1 -1
- package/dist/exports/useGridList.mjs.map +1 -1
- package/dist/exports/useInteractOutside.cjs.map +1 -1
- package/dist/exports/useInteractOutside.js.map +1 -1
- package/dist/exports/useInteractOutside.mjs.map +1 -1
- package/dist/exports/useLandmark.cjs.map +1 -1
- package/dist/exports/useLandmark.js.map +1 -1
- package/dist/exports/useLandmark.mjs.map +1 -1
- package/dist/exports/useListBox.cjs.map +1 -1
- package/dist/exports/useListBox.js.map +1 -1
- package/dist/exports/useListBox.mjs.map +1 -1
- package/dist/exports/useLocalizedStringFormatter.cjs.map +1 -1
- package/dist/exports/useLocalizedStringFormatter.js.map +1 -1
- package/dist/exports/useLocalizedStringFormatter.mjs.map +1 -1
- package/dist/exports/useMove.cjs.map +1 -1
- package/dist/exports/useMove.js.map +1 -1
- package/dist/exports/useMove.mjs.map +1 -1
- package/dist/exports/useOverlayPosition.cjs.map +1 -1
- package/dist/exports/useOverlayPosition.js.map +1 -1
- package/dist/exports/useOverlayPosition.mjs.map +1 -1
- package/dist/exports/useProgressBar.cjs.map +1 -1
- package/dist/exports/useProgressBar.js.map +1 -1
- package/dist/exports/useProgressBar.mjs.map +1 -1
- package/dist/exports/useRangeCalendar.cjs +15 -0
- package/dist/exports/useRangeCalendar.cjs.map +1 -1
- package/dist/exports/useRangeCalendar.js +11 -1
- package/dist/exports/useRangeCalendar.js.map +1 -1
- package/dist/exports/useRangeCalendar.mjs +11 -1
- package/dist/exports/useRangeCalendar.mjs.map +1 -1
- package/dist/exports/useSelect.cjs.map +1 -1
- package/dist/exports/useSelect.js.map +1 -1
- package/dist/exports/useSelect.mjs.map +1 -1
- package/dist/exports/useSlider.cjs.map +1 -1
- package/dist/exports/useSlider.js.map +1 -1
- package/dist/exports/useSlider.mjs.map +1 -1
- package/dist/exports/useTable.cjs.map +1 -1
- package/dist/exports/useTable.js.map +1 -1
- package/dist/exports/useTable.mjs.map +1 -1
- package/dist/exports/useTimeField.cjs.map +1 -1
- package/dist/exports/useTimeField.js.map +1 -1
- package/dist/exports/useTimeField.mjs.map +1 -1
- package/dist/exports/useToggleButton.cjs.map +1 -1
- package/dist/exports/useToggleButton.js.map +1 -1
- package/dist/exports/useToggleButton.mjs.map +1 -1
- package/dist/exports/useToggleButtonGroup.cjs.map +1 -1
- package/dist/exports/useToggleButtonGroup.js.map +1 -1
- package/dist/exports/useToggleButtonGroup.mjs.map +1 -1
- package/dist/exports/useTree.cjs.map +1 -1
- package/dist/exports/useTree.js.map +1 -1
- package/dist/exports/useTree.mjs.map +1 -1
- package/dist/private/actiongroup/useActionGroup.cjs +3 -3
- package/dist/private/actiongroup/useActionGroup.cjs.map +1 -1
- package/dist/private/actiongroup/useActionGroup.js +3 -3
- package/dist/private/actiongroup/useActionGroup.js.map +1 -1
- package/dist/private/actiongroup/useActionGroup.mjs +3 -3
- package/dist/private/actiongroup/useActionGroup.mjs.map +1 -1
- package/dist/private/actiongroup/useActionGroupItem.cjs +5 -4
- package/dist/private/actiongroup/useActionGroupItem.cjs.map +1 -1
- package/dist/private/actiongroup/useActionGroupItem.js +5 -4
- package/dist/private/actiongroup/useActionGroupItem.js.map +1 -1
- package/dist/private/actiongroup/useActionGroupItem.mjs +5 -4
- package/dist/private/actiongroup/useActionGroupItem.mjs.map +1 -1
- package/dist/private/aria-modal-polyfill/ariaModalPolyfill.cjs +7 -5
- package/dist/private/aria-modal-polyfill/ariaModalPolyfill.cjs.map +1 -1
- package/dist/private/aria-modal-polyfill/ariaModalPolyfill.js +7 -5
- package/dist/private/aria-modal-polyfill/ariaModalPolyfill.js.map +1 -1
- package/dist/private/aria-modal-polyfill/ariaModalPolyfill.mjs +7 -5
- package/dist/private/aria-modal-polyfill/ariaModalPolyfill.mjs.map +1 -1
- package/dist/private/autocomplete/useAutocomplete.cjs.map +1 -1
- package/dist/private/autocomplete/useAutocomplete.js.map +1 -1
- package/dist/private/autocomplete/useAutocomplete.mjs.map +1 -1
- package/dist/private/autocomplete/useSearchAutocomplete.cjs.map +1 -1
- package/dist/private/autocomplete/useSearchAutocomplete.js.map +1 -1
- package/dist/private/autocomplete/useSearchAutocomplete.mjs.map +1 -1
- package/dist/private/breadcrumbs/useBreadcrumbItem.cjs.map +1 -1
- package/dist/private/breadcrumbs/useBreadcrumbItem.js.map +1 -1
- package/dist/private/breadcrumbs/useBreadcrumbItem.mjs.map +1 -1
- package/dist/private/breadcrumbs/useBreadcrumbs.cjs.map +1 -1
- package/dist/private/breadcrumbs/useBreadcrumbs.js.map +1 -1
- package/dist/private/breadcrumbs/useBreadcrumbs.mjs.map +1 -1
- package/dist/private/button/useButton.cjs.map +1 -1
- package/dist/private/button/useButton.js.map +1 -1
- package/dist/private/button/useButton.mjs.map +1 -1
- package/dist/private/button/useToggleButton.cjs.map +1 -1
- package/dist/private/button/useToggleButton.js.map +1 -1
- package/dist/private/button/useToggleButton.mjs.map +1 -1
- package/dist/private/button/useToggleButtonGroup.cjs.map +1 -1
- package/dist/private/button/useToggleButtonGroup.js.map +1 -1
- package/dist/private/button/useToggleButtonGroup.mjs.map +1 -1
- package/dist/private/calendar/useCalendar.cjs.map +1 -1
- package/dist/private/calendar/useCalendar.js.map +1 -1
- package/dist/private/calendar/useCalendar.mjs.map +1 -1
- package/dist/private/calendar/useCalendarBase.cjs.map +1 -1
- package/dist/private/calendar/useCalendarBase.js.map +1 -1
- package/dist/private/calendar/useCalendarBase.mjs.map +1 -1
- package/dist/private/calendar/useCalendarCell.cjs +10 -14
- package/dist/private/calendar/useCalendarCell.cjs.map +1 -1
- package/dist/private/calendar/useCalendarCell.js +10 -14
- package/dist/private/calendar/useCalendarCell.js.map +1 -1
- package/dist/private/calendar/useCalendarCell.mjs +10 -14
- package/dist/private/calendar/useCalendarCell.mjs.map +1 -1
- package/dist/private/calendar/useCalendarGrid.cjs +9 -5
- package/dist/private/calendar/useCalendarGrid.cjs.map +1 -1
- package/dist/private/calendar/useCalendarGrid.js +10 -6
- package/dist/private/calendar/useCalendarGrid.js.map +1 -1
- package/dist/private/calendar/useCalendarGrid.mjs +10 -6
- package/dist/private/calendar/useCalendarGrid.mjs.map +1 -1
- package/dist/private/calendar/useCalendarHeading.cjs +56 -0
- package/dist/private/calendar/useCalendarHeading.cjs.map +1 -0
- package/dist/private/calendar/useCalendarHeading.js +52 -0
- package/dist/private/calendar/useCalendarHeading.js.map +1 -0
- package/dist/private/calendar/useCalendarHeading.mjs +51 -0
- package/dist/private/calendar/useCalendarHeading.mjs.map +1 -0
- package/dist/private/calendar/useCalendarMonthPicker.cjs +66 -0
- package/dist/private/calendar/useCalendarMonthPicker.cjs.map +1 -0
- package/dist/private/calendar/useCalendarMonthPicker.js +61 -0
- package/dist/private/calendar/useCalendarMonthPicker.js.map +1 -0
- package/dist/private/calendar/useCalendarMonthPicker.mjs +61 -0
- package/dist/private/calendar/useCalendarMonthPicker.mjs.map +1 -0
- package/dist/private/calendar/useCalendarYearPicker.cjs +90 -0
- package/dist/private/calendar/useCalendarYearPicker.cjs.map +1 -0
- package/dist/private/calendar/useCalendarYearPicker.js +86 -0
- package/dist/private/calendar/useCalendarYearPicker.js.map +1 -0
- package/dist/private/calendar/useCalendarYearPicker.mjs +85 -0
- package/dist/private/calendar/useCalendarYearPicker.mjs.map +1 -0
- package/dist/private/calendar/useRangeCalendar.cjs +1 -1
- package/dist/private/calendar/useRangeCalendar.cjs.map +1 -1
- package/dist/private/calendar/useRangeCalendar.js +1 -1
- package/dist/private/calendar/useRangeCalendar.js.map +1 -1
- package/dist/private/calendar/useRangeCalendar.mjs +1 -1
- package/dist/private/calendar/useRangeCalendar.mjs.map +1 -1
- package/dist/private/calendar/utils.cjs +20 -4
- package/dist/private/calendar/utils.cjs.map +1 -1
- package/dist/private/calendar/utils.js +22 -5
- package/dist/private/calendar/utils.js.map +1 -1
- package/dist/private/calendar/utils.mjs +20 -4
- package/dist/private/calendar/utils.mjs.map +1 -1
- package/dist/private/checkbox/useCheckbox.cjs +6 -35
- package/dist/private/checkbox/useCheckbox.cjs.map +1 -1
- package/dist/private/checkbox/useCheckbox.js +6 -35
- package/dist/private/checkbox/useCheckbox.js.map +1 -1
- package/dist/private/checkbox/useCheckbox.mjs +6 -35
- package/dist/private/checkbox/useCheckbox.mjs.map +1 -1
- package/dist/private/checkbox/useCheckboxGroup.cjs.map +1 -1
- package/dist/private/checkbox/useCheckboxGroup.js.map +1 -1
- package/dist/private/checkbox/useCheckboxGroup.mjs.map +1 -1
- package/dist/private/checkbox/useCheckboxGroupItem.cjs +1 -1
- package/dist/private/checkbox/useCheckboxGroupItem.cjs.map +1 -1
- package/dist/private/checkbox/useCheckboxGroupItem.js +1 -1
- package/dist/private/checkbox/useCheckboxGroupItem.js.map +1 -1
- package/dist/private/checkbox/useCheckboxGroupItem.mjs +1 -1
- package/dist/private/checkbox/useCheckboxGroupItem.mjs.map +1 -1
- package/dist/private/checkbox/utils.cjs.map +1 -1
- package/dist/private/checkbox/utils.js.map +1 -1
- package/dist/private/checkbox/utils.mjs.map +1 -1
- package/dist/private/collections/BaseCollection.cjs +4 -4
- package/dist/private/collections/BaseCollection.cjs.map +1 -1
- package/dist/private/collections/BaseCollection.js +4 -4
- package/dist/private/collections/BaseCollection.js.map +1 -1
- package/dist/private/collections/BaseCollection.mjs +4 -4
- package/dist/private/collections/BaseCollection.mjs.map +1 -1
- package/dist/private/collections/CollectionBuilder.cjs +5 -3
- package/dist/private/collections/CollectionBuilder.cjs.map +1 -1
- package/dist/private/collections/CollectionBuilder.js +5 -3
- package/dist/private/collections/CollectionBuilder.js.map +1 -1
- package/dist/private/collections/CollectionBuilder.mjs +5 -3
- package/dist/private/collections/CollectionBuilder.mjs.map +1 -1
- package/dist/private/collections/Document.cjs.map +1 -1
- package/dist/private/collections/Document.js.map +1 -1
- package/dist/private/collections/Document.mjs.map +1 -1
- package/dist/private/collections/Hidden.cjs.map +1 -1
- package/dist/private/collections/Hidden.js.map +1 -1
- package/dist/private/collections/Hidden.mjs.map +1 -1
- package/dist/private/collections/useCachedChildren.cjs +29 -8
- package/dist/private/collections/useCachedChildren.cjs.map +1 -1
- package/dist/private/collections/useCachedChildren.js +29 -8
- package/dist/private/collections/useCachedChildren.js.map +1 -1
- package/dist/private/collections/useCachedChildren.mjs +29 -8
- package/dist/private/collections/useCachedChildren.mjs.map +1 -1
- package/dist/private/color/useColorArea.cjs.map +1 -1
- package/dist/private/color/useColorArea.js.map +1 -1
- package/dist/private/color/useColorArea.mjs.map +1 -1
- package/dist/private/color/useColorAreaGradient.cjs +1 -1
- package/dist/private/color/useColorAreaGradient.cjs.map +1 -1
- package/dist/private/color/useColorAreaGradient.js +1 -1
- package/dist/private/color/useColorAreaGradient.js.map +1 -1
- package/dist/private/color/useColorAreaGradient.mjs +1 -1
- package/dist/private/color/useColorAreaGradient.mjs.map +1 -1
- package/dist/private/color/useColorChannelField.cjs.map +1 -1
- package/dist/private/color/useColorChannelField.js.map +1 -1
- package/dist/private/color/useColorChannelField.mjs.map +1 -1
- package/dist/private/color/useColorField.cjs +1 -1
- package/dist/private/color/useColorField.cjs.map +1 -1
- package/dist/private/color/useColorField.js +1 -1
- package/dist/private/color/useColorField.js.map +1 -1
- package/dist/private/color/useColorField.mjs +1 -1
- package/dist/private/color/useColorField.mjs.map +1 -1
- package/dist/private/color/useColorSlider.cjs +2 -2
- package/dist/private/color/useColorSlider.cjs.map +1 -1
- package/dist/private/color/useColorSlider.js +2 -2
- package/dist/private/color/useColorSlider.js.map +1 -1
- package/dist/private/color/useColorSlider.mjs +2 -2
- package/dist/private/color/useColorSlider.mjs.map +1 -1
- package/dist/private/color/useColorSwatch.cjs.map +1 -1
- package/dist/private/color/useColorSwatch.js.map +1 -1
- package/dist/private/color/useColorSwatch.mjs.map +1 -1
- package/dist/private/color/useColorWheel.cjs.map +1 -1
- package/dist/private/color/useColorWheel.js.map +1 -1
- package/dist/private/color/useColorWheel.mjs.map +1 -1
- package/dist/private/combobox/useComboBox.cjs +3 -3
- package/dist/private/combobox/useComboBox.cjs.map +1 -1
- package/dist/private/combobox/useComboBox.js +3 -3
- package/dist/private/combobox/useComboBox.js.map +1 -1
- package/dist/private/combobox/useComboBox.mjs +3 -3
- package/dist/private/combobox/useComboBox.mjs.map +1 -1
- package/dist/private/datepicker/useDateField.cjs.map +1 -1
- package/dist/private/datepicker/useDateField.js.map +1 -1
- package/dist/private/datepicker/useDateField.mjs.map +1 -1
- package/dist/private/datepicker/useDatePicker.cjs.map +1 -1
- package/dist/private/datepicker/useDatePicker.js.map +1 -1
- package/dist/private/datepicker/useDatePicker.mjs.map +1 -1
- package/dist/private/datepicker/useDatePickerGroup.cjs.map +1 -1
- package/dist/private/datepicker/useDatePickerGroup.js.map +1 -1
- package/dist/private/datepicker/useDatePickerGroup.mjs.map +1 -1
- package/dist/private/datepicker/useDateRangePicker.cjs.map +1 -1
- package/dist/private/datepicker/useDateRangePicker.js.map +1 -1
- package/dist/private/datepicker/useDateRangePicker.mjs.map +1 -1
- package/dist/private/datepicker/useDateSegment.cjs +2 -2
- package/dist/private/datepicker/useDateSegment.cjs.map +1 -1
- package/dist/private/datepicker/useDateSegment.js +2 -2
- package/dist/private/datepicker/useDateSegment.js.map +1 -1
- package/dist/private/datepicker/useDateSegment.mjs +2 -2
- package/dist/private/datepicker/useDateSegment.mjs.map +1 -1
- package/dist/private/datepicker/useDisplayNames.cjs.map +1 -1
- package/dist/private/datepicker/useDisplayNames.js.map +1 -1
- package/dist/private/datepicker/useDisplayNames.mjs.map +1 -1
- package/dist/private/dialog/useDialog.cjs.map +1 -1
- package/dist/private/dialog/useDialog.js.map +1 -1
- package/dist/private/dialog/useDialog.mjs.map +1 -1
- package/dist/private/disclosure/useDisclosure.cjs.map +1 -1
- package/dist/private/disclosure/useDisclosure.js.map +1 -1
- package/dist/private/disclosure/useDisclosure.mjs.map +1 -1
- package/dist/private/dnd/DragManager.cjs.map +1 -1
- package/dist/private/dnd/DragManager.js.map +1 -1
- package/dist/private/dnd/DragManager.mjs.map +1 -1
- package/dist/private/dnd/DragPreview.cjs.map +1 -1
- package/dist/private/dnd/DragPreview.js.map +1 -1
- package/dist/private/dnd/DragPreview.mjs.map +1 -1
- package/dist/private/dnd/DropTargetKeyboardNavigation.cjs +16 -4
- package/dist/private/dnd/DropTargetKeyboardNavigation.cjs.map +1 -1
- package/dist/private/dnd/DropTargetKeyboardNavigation.js +16 -4
- package/dist/private/dnd/DropTargetKeyboardNavigation.js.map +1 -1
- package/dist/private/dnd/DropTargetKeyboardNavigation.mjs +16 -4
- package/dist/private/dnd/DropTargetKeyboardNavigation.mjs.map +1 -1
- package/dist/private/dnd/ListDropTargetDelegate.cjs.map +1 -1
- package/dist/private/dnd/ListDropTargetDelegate.js.map +1 -1
- package/dist/private/dnd/ListDropTargetDelegate.mjs.map +1 -1
- package/dist/private/dnd/constants.cjs.map +1 -1
- package/dist/private/dnd/constants.js.map +1 -1
- package/dist/private/dnd/constants.mjs.map +1 -1
- package/dist/private/dnd/useAutoScroll.cjs.map +1 -1
- package/dist/private/dnd/useAutoScroll.js.map +1 -1
- package/dist/private/dnd/useAutoScroll.mjs.map +1 -1
- package/dist/private/dnd/useClipboard.cjs.map +1 -1
- package/dist/private/dnd/useClipboard.js.map +1 -1
- package/dist/private/dnd/useClipboard.mjs.map +1 -1
- package/dist/private/dnd/useDrag.cjs.map +1 -1
- package/dist/private/dnd/useDrag.js.map +1 -1
- package/dist/private/dnd/useDrag.mjs.map +1 -1
- package/dist/private/dnd/useDraggableCollection.cjs.map +1 -1
- package/dist/private/dnd/useDraggableCollection.js.map +1 -1
- package/dist/private/dnd/useDraggableCollection.mjs.map +1 -1
- package/dist/private/dnd/useDraggableItem.cjs.map +1 -1
- package/dist/private/dnd/useDraggableItem.js.map +1 -1
- package/dist/private/dnd/useDraggableItem.mjs.map +1 -1
- package/dist/private/dnd/useDrop.cjs.map +1 -1
- package/dist/private/dnd/useDrop.js.map +1 -1
- package/dist/private/dnd/useDrop.mjs.map +1 -1
- package/dist/private/dnd/useDropIndicator.cjs.map +1 -1
- package/dist/private/dnd/useDropIndicator.js.map +1 -1
- package/dist/private/dnd/useDropIndicator.mjs.map +1 -1
- package/dist/private/dnd/useDroppableCollection.cjs.map +1 -1
- package/dist/private/dnd/useDroppableCollection.js.map +1 -1
- package/dist/private/dnd/useDroppableCollection.mjs.map +1 -1
- package/dist/private/dnd/useDroppableItem.cjs.map +1 -1
- package/dist/private/dnd/useDroppableItem.js.map +1 -1
- package/dist/private/dnd/useDroppableItem.mjs.map +1 -1
- package/dist/private/dnd/useVirtualDrop.cjs.map +1 -1
- package/dist/private/dnd/useVirtualDrop.js.map +1 -1
- package/dist/private/dnd/useVirtualDrop.mjs.map +1 -1
- package/dist/private/dnd/utils.cjs +1 -1
- package/dist/private/dnd/utils.cjs.map +1 -1
- package/dist/private/dnd/utils.js +1 -1
- package/dist/private/dnd/utils.js.map +1 -1
- package/dist/private/dnd/utils.mjs +1 -1
- package/dist/private/dnd/utils.mjs.map +1 -1
- package/dist/private/focus/FocusRing.cjs.map +1 -1
- package/dist/private/focus/FocusRing.js.map +1 -1
- package/dist/private/focus/FocusRing.mjs.map +1 -1
- package/dist/private/focus/FocusScope.cjs +4 -1
- package/dist/private/focus/FocusScope.cjs.map +1 -1
- package/dist/private/focus/FocusScope.js +4 -1
- package/dist/private/focus/FocusScope.js.map +1 -1
- package/dist/private/focus/FocusScope.mjs +4 -1
- package/dist/private/focus/FocusScope.mjs.map +1 -1
- package/dist/private/focus/useFocusRing.cjs.map +1 -1
- package/dist/private/focus/useFocusRing.js.map +1 -1
- package/dist/private/focus/useFocusRing.mjs.map +1 -1
- package/dist/private/focus/useHasTabbableChild.cjs.map +1 -1
- package/dist/private/focus/useHasTabbableChild.js.map +1 -1
- package/dist/private/focus/useHasTabbableChild.mjs.map +1 -1
- package/dist/private/form/useFormValidation.cjs.map +1 -1
- package/dist/private/form/useFormValidation.js.map +1 -1
- package/dist/private/form/useFormValidation.mjs.map +1 -1
- package/dist/private/grid/GridKeyboardDelegate.cjs +9 -9
- package/dist/private/grid/GridKeyboardDelegate.cjs.map +1 -1
- package/dist/private/grid/GridKeyboardDelegate.js +10 -10
- package/dist/private/grid/GridKeyboardDelegate.js.map +1 -1
- package/dist/private/grid/GridKeyboardDelegate.mjs +9 -9
- package/dist/private/grid/GridKeyboardDelegate.mjs.map +1 -1
- package/dist/private/grid/useGrid.cjs.map +1 -1
- package/dist/private/grid/useGrid.js.map +1 -1
- package/dist/private/grid/useGrid.mjs.map +1 -1
- package/dist/private/grid/useGridCell.cjs.map +1 -1
- package/dist/private/grid/useGridCell.js.map +1 -1
- package/dist/private/grid/useGridCell.mjs.map +1 -1
- package/dist/private/grid/useGridRow.cjs.map +1 -1
- package/dist/private/grid/useGridRow.js.map +1 -1
- package/dist/private/grid/useGridRow.mjs.map +1 -1
- package/dist/private/grid/useGridRowGroup.cjs.map +1 -1
- package/dist/private/grid/useGridRowGroup.js.map +1 -1
- package/dist/private/grid/useGridRowGroup.mjs.map +1 -1
- package/dist/private/grid/useGridSelectionAnnouncement.cjs.map +1 -1
- package/dist/private/grid/useGridSelectionAnnouncement.js.map +1 -1
- package/dist/private/grid/useGridSelectionAnnouncement.mjs.map +1 -1
- package/dist/private/grid/useGridSelectionCheckbox.cjs.map +1 -1
- package/dist/private/grid/useGridSelectionCheckbox.js.map +1 -1
- package/dist/private/grid/useGridSelectionCheckbox.mjs.map +1 -1
- package/dist/private/grid/useHighlightSelectionDescription.cjs.map +1 -1
- package/dist/private/grid/useHighlightSelectionDescription.js.map +1 -1
- package/dist/private/grid/useHighlightSelectionDescription.mjs.map +1 -1
- package/dist/private/grid/utils.cjs.map +1 -1
- package/dist/private/grid/utils.js.map +1 -1
- package/dist/private/grid/utils.mjs.map +1 -1
- package/dist/private/gridlist/useGridList.cjs.map +1 -1
- package/dist/private/gridlist/useGridList.js.map +1 -1
- package/dist/private/gridlist/useGridList.mjs.map +1 -1
- package/dist/private/gridlist/useGridListItem.cjs +5 -3
- package/dist/private/gridlist/useGridListItem.cjs.map +1 -1
- package/dist/private/gridlist/useGridListItem.js +6 -3
- package/dist/private/gridlist/useGridListItem.js.map +1 -1
- package/dist/private/gridlist/useGridListItem.mjs +5 -3
- package/dist/private/gridlist/useGridListItem.mjs.map +1 -1
- package/dist/private/gridlist/useGridListSection.cjs +3 -1
- package/dist/private/gridlist/useGridListSection.cjs.map +1 -1
- package/dist/private/gridlist/useGridListSection.js +3 -1
- package/dist/private/gridlist/useGridListSection.js.map +1 -1
- package/dist/private/gridlist/useGridListSection.mjs +3 -1
- package/dist/private/gridlist/useGridListSection.mjs.map +1 -1
- package/dist/private/gridlist/useGridListSelectionCheckbox.cjs.map +1 -1
- package/dist/private/gridlist/useGridListSelectionCheckbox.js.map +1 -1
- package/dist/private/gridlist/useGridListSelectionCheckbox.mjs.map +1 -1
- package/dist/private/gridlist/utils.cjs.map +1 -1
- package/dist/private/gridlist/utils.js.map +1 -1
- package/dist/private/gridlist/utils.mjs.map +1 -1
- package/dist/private/i18n/I18nProvider.cjs.map +1 -1
- package/dist/private/i18n/I18nProvider.js.map +1 -1
- package/dist/private/i18n/I18nProvider.mjs.map +1 -1
- package/dist/private/i18n/server.cjs.map +1 -1
- package/dist/private/i18n/server.js.map +1 -1
- package/dist/private/i18n/server.mjs.map +1 -1
- package/dist/private/i18n/useCollator.cjs.map +1 -1
- package/dist/private/i18n/useCollator.js.map +1 -1
- package/dist/private/i18n/useCollator.mjs.map +1 -1
- package/dist/private/i18n/useDateFormatter.cjs.map +1 -1
- package/dist/private/i18n/useDateFormatter.js.map +1 -1
- package/dist/private/i18n/useDateFormatter.mjs.map +1 -1
- package/dist/private/i18n/useDefaultLocale.cjs +2 -1
- package/dist/private/i18n/useDefaultLocale.cjs.map +1 -1
- package/dist/private/i18n/useDefaultLocale.js +2 -1
- package/dist/private/i18n/useDefaultLocale.js.map +1 -1
- package/dist/private/i18n/useDefaultLocale.mjs +2 -1
- package/dist/private/i18n/useDefaultLocale.mjs.map +1 -1
- package/dist/private/i18n/useFilter.cjs.map +1 -1
- package/dist/private/i18n/useFilter.js.map +1 -1
- package/dist/private/i18n/useFilter.mjs.map +1 -1
- package/dist/private/i18n/useListFormatter.cjs.map +1 -1
- package/dist/private/i18n/useListFormatter.js.map +1 -1
- package/dist/private/i18n/useListFormatter.mjs.map +1 -1
- package/dist/private/i18n/useLocalizedStringFormatter.cjs.map +1 -1
- package/dist/private/i18n/useLocalizedStringFormatter.js.map +1 -1
- package/dist/private/i18n/useLocalizedStringFormatter.mjs.map +1 -1
- package/dist/private/i18n/useNumberFormatter.cjs.map +1 -1
- package/dist/private/i18n/useNumberFormatter.js.map +1 -1
- package/dist/private/i18n/useNumberFormatter.mjs.map +1 -1
- package/dist/private/i18n/utils.cjs +2 -2
- package/dist/private/i18n/utils.cjs.map +1 -1
- package/dist/private/i18n/utils.js +2 -2
- package/dist/private/i18n/utils.js.map +1 -1
- package/dist/private/i18n/utils.mjs +2 -2
- package/dist/private/i18n/utils.mjs.map +1 -1
- package/dist/private/interactions/PressResponder.cjs.map +1 -1
- package/dist/private/interactions/PressResponder.js.map +1 -1
- package/dist/private/interactions/PressResponder.mjs.map +1 -1
- package/dist/private/interactions/Pressable.cjs.map +1 -1
- package/dist/private/interactions/Pressable.js.map +1 -1
- package/dist/private/interactions/Pressable.mjs.map +1 -1
- package/dist/private/interactions/context.cjs.map +1 -1
- package/dist/private/interactions/context.js.map +1 -1
- package/dist/private/interactions/context.mjs.map +1 -1
- package/dist/private/interactions/createEventHandler.cjs.map +1 -1
- package/dist/private/interactions/createEventHandler.js.map +1 -1
- package/dist/private/interactions/createEventHandler.mjs.map +1 -1
- package/dist/private/interactions/focusSafely.cjs.map +1 -1
- package/dist/private/interactions/focusSafely.js.map +1 -1
- package/dist/private/interactions/focusSafely.mjs.map +1 -1
- package/dist/private/interactions/textSelection.cjs.map +1 -1
- package/dist/private/interactions/textSelection.js.map +1 -1
- package/dist/private/interactions/textSelection.mjs.map +1 -1
- package/dist/private/interactions/useFocus.cjs.map +1 -1
- package/dist/private/interactions/useFocus.js.map +1 -1
- package/dist/private/interactions/useFocus.mjs.map +1 -1
- package/dist/private/interactions/useFocusVisible.cjs +4 -3
- package/dist/private/interactions/useFocusVisible.cjs.map +1 -1
- package/dist/private/interactions/useFocusVisible.js +4 -3
- package/dist/private/interactions/useFocusVisible.js.map +1 -1
- package/dist/private/interactions/useFocusVisible.mjs +4 -3
- package/dist/private/interactions/useFocusVisible.mjs.map +1 -1
- package/dist/private/interactions/useFocusWithin.cjs.map +1 -1
- package/dist/private/interactions/useFocusWithin.js.map +1 -1
- package/dist/private/interactions/useFocusWithin.mjs.map +1 -1
- package/dist/private/interactions/useFocusable.cjs.map +1 -1
- package/dist/private/interactions/useFocusable.js.map +1 -1
- package/dist/private/interactions/useFocusable.mjs.map +1 -1
- package/dist/private/interactions/useHover.cjs.map +1 -1
- package/dist/private/interactions/useHover.js.map +1 -1
- package/dist/private/interactions/useHover.mjs.map +1 -1
- package/dist/private/interactions/useInteractOutside.cjs.map +1 -1
- package/dist/private/interactions/useInteractOutside.js.map +1 -1
- package/dist/private/interactions/useInteractOutside.mjs.map +1 -1
- package/dist/private/interactions/useKeyboard.cjs.map +1 -1
- package/dist/private/interactions/useKeyboard.js.map +1 -1
- package/dist/private/interactions/useKeyboard.mjs.map +1 -1
- package/dist/private/interactions/useLongPress.cjs.map +1 -1
- package/dist/private/interactions/useLongPress.js.map +1 -1
- package/dist/private/interactions/useLongPress.mjs.map +1 -1
- package/dist/private/interactions/useMove.cjs.map +1 -1
- package/dist/private/interactions/useMove.js.map +1 -1
- package/dist/private/interactions/useMove.mjs.map +1 -1
- package/dist/private/interactions/usePress.cjs +11 -0
- package/dist/private/interactions/usePress.cjs.map +1 -1
- package/dist/private/interactions/usePress.js +12 -1
- package/dist/private/interactions/usePress.js.map +1 -1
- package/dist/private/interactions/usePress.mjs +12 -1
- package/dist/private/interactions/usePress.mjs.map +1 -1
- package/dist/private/interactions/useScrollWheel.cjs.map +1 -1
- package/dist/private/interactions/useScrollWheel.js.map +1 -1
- package/dist/private/interactions/useScrollWheel.mjs.map +1 -1
- package/dist/private/interactions/utils.cjs.map +1 -1
- package/dist/private/interactions/utils.js.map +1 -1
- package/dist/private/interactions/utils.mjs.map +1 -1
- package/dist/private/intl/tag/en-US.cjs.map +1 -1
- package/dist/private/intl/tag/en-US.js.map +1 -1
- package/dist/private/intl/tag/en-US.mjs.map +1 -1
- package/dist/private/label/useField.cjs.map +1 -1
- package/dist/private/label/useField.js.map +1 -1
- package/dist/private/label/useField.mjs.map +1 -1
- package/dist/private/label/useLabel.cjs.map +1 -1
- package/dist/private/label/useLabel.js.map +1 -1
- package/dist/private/label/useLabel.mjs.map +1 -1
- package/dist/private/landmark/useLandmark.cjs +2 -1
- package/dist/private/landmark/useLandmark.cjs.map +1 -1
- package/dist/private/landmark/useLandmark.js +2 -1
- package/dist/private/landmark/useLandmark.js.map +1 -1
- package/dist/private/landmark/useLandmark.mjs +2 -1
- package/dist/private/landmark/useLandmark.mjs.map +1 -1
- package/dist/private/link/useLink.cjs.map +1 -1
- package/dist/private/link/useLink.js.map +1 -1
- package/dist/private/link/useLink.mjs.map +1 -1
- package/dist/private/listbox/useListBox.cjs.map +1 -1
- package/dist/private/listbox/useListBox.js.map +1 -1
- package/dist/private/listbox/useListBox.mjs.map +1 -1
- package/dist/private/listbox/useListBoxSection.cjs.map +1 -1
- package/dist/private/listbox/useListBoxSection.js.map +1 -1
- package/dist/private/listbox/useListBoxSection.mjs.map +1 -1
- package/dist/private/listbox/useOption.cjs.map +1 -1
- package/dist/private/listbox/useOption.js.map +1 -1
- package/dist/private/listbox/useOption.mjs.map +1 -1
- package/dist/private/listbox/utils.cjs.map +1 -1
- package/dist/private/listbox/utils.js.map +1 -1
- package/dist/private/listbox/utils.mjs.map +1 -1
- package/dist/private/live-announcer/LiveAnnouncer.cjs +2 -2
- package/dist/private/live-announcer/LiveAnnouncer.cjs.map +1 -1
- package/dist/private/live-announcer/LiveAnnouncer.js +2 -2
- package/dist/private/live-announcer/LiveAnnouncer.js.map +1 -1
- package/dist/private/live-announcer/LiveAnnouncer.mjs +2 -2
- package/dist/private/live-announcer/LiveAnnouncer.mjs.map +1 -1
- package/dist/private/menu/useMenu.cjs.map +1 -1
- package/dist/private/menu/useMenu.js.map +1 -1
- package/dist/private/menu/useMenu.mjs.map +1 -1
- package/dist/private/menu/useMenuItem.cjs.map +1 -1
- package/dist/private/menu/useMenuItem.js.map +1 -1
- package/dist/private/menu/useMenuItem.mjs.map +1 -1
- package/dist/private/menu/useMenuSection.cjs.map +1 -1
- package/dist/private/menu/useMenuSection.js.map +1 -1
- package/dist/private/menu/useMenuSection.mjs.map +1 -1
- package/dist/private/menu/useMenuTrigger.cjs.map +1 -1
- package/dist/private/menu/useMenuTrigger.js.map +1 -1
- package/dist/private/menu/useMenuTrigger.mjs.map +1 -1
- package/dist/private/menu/useSafelyMouseToSubmenu.cjs.map +1 -1
- package/dist/private/menu/useSafelyMouseToSubmenu.js.map +1 -1
- package/dist/private/menu/useSafelyMouseToSubmenu.mjs.map +1 -1
- package/dist/private/menu/useSubmenuTrigger.cjs.map +1 -1
- package/dist/private/menu/useSubmenuTrigger.js.map +1 -1
- package/dist/private/menu/useSubmenuTrigger.mjs.map +1 -1
- package/dist/private/menu/utils.cjs.map +1 -1
- package/dist/private/menu/utils.js.map +1 -1
- package/dist/private/menu/utils.mjs.map +1 -1
- package/dist/private/meter/useMeter.cjs.map +1 -1
- package/dist/private/meter/useMeter.js.map +1 -1
- package/dist/private/meter/useMeter.mjs.map +1 -1
- package/dist/private/numberfield/useNumberField.cjs.map +1 -1
- package/dist/private/numberfield/useNumberField.js.map +1 -1
- package/dist/private/numberfield/useNumberField.mjs.map +1 -1
- package/dist/private/overlays/DismissButton.cjs.map +1 -1
- package/dist/private/overlays/DismissButton.js.map +1 -1
- package/dist/private/overlays/DismissButton.mjs.map +1 -1
- package/dist/private/overlays/Overlay.cjs.map +1 -1
- package/dist/private/overlays/Overlay.js.map +1 -1
- package/dist/private/overlays/Overlay.mjs.map +1 -1
- package/dist/private/overlays/PortalProvider.cjs.map +1 -1
- package/dist/private/overlays/PortalProvider.js.map +1 -1
- package/dist/private/overlays/PortalProvider.mjs.map +1 -1
- package/dist/private/overlays/ariaHideOutside.cjs.map +1 -1
- package/dist/private/overlays/ariaHideOutside.js.map +1 -1
- package/dist/private/overlays/ariaHideOutside.mjs.map +1 -1
- package/dist/private/overlays/calculatePosition.cjs +12 -13
- package/dist/private/overlays/calculatePosition.cjs.map +1 -1
- package/dist/private/overlays/calculatePosition.js +13 -14
- package/dist/private/overlays/calculatePosition.js.map +1 -1
- package/dist/private/overlays/calculatePosition.mjs +12 -13
- package/dist/private/overlays/calculatePosition.mjs.map +1 -1
- package/dist/private/overlays/useCloseOnScroll.cjs.map +1 -1
- package/dist/private/overlays/useCloseOnScroll.js.map +1 -1
- package/dist/private/overlays/useCloseOnScroll.mjs.map +1 -1
- package/dist/private/overlays/useModal.cjs.map +1 -1
- package/dist/private/overlays/useModal.js.map +1 -1
- package/dist/private/overlays/useModal.mjs.map +1 -1
- package/dist/private/overlays/useModalOverlay.cjs.map +1 -1
- package/dist/private/overlays/useModalOverlay.js.map +1 -1
- package/dist/private/overlays/useModalOverlay.mjs.map +1 -1
- package/dist/private/overlays/useOverlay.cjs.map +1 -1
- package/dist/private/overlays/useOverlay.js.map +1 -1
- package/dist/private/overlays/useOverlay.mjs.map +1 -1
- package/dist/private/overlays/useOverlayPosition.cjs.map +1 -1
- package/dist/private/overlays/useOverlayPosition.js.map +1 -1
- package/dist/private/overlays/useOverlayPosition.mjs.map +1 -1
- package/dist/private/overlays/useOverlayTrigger.cjs.map +1 -1
- package/dist/private/overlays/useOverlayTrigger.js.map +1 -1
- package/dist/private/overlays/useOverlayTrigger.mjs.map +1 -1
- package/dist/private/overlays/usePopover.cjs.map +1 -1
- package/dist/private/overlays/usePopover.js.map +1 -1
- package/dist/private/overlays/usePopover.mjs.map +1 -1
- package/dist/private/overlays/usePreventScroll.cjs.map +1 -1
- package/dist/private/overlays/usePreventScroll.js.map +1 -1
- package/dist/private/overlays/usePreventScroll.mjs.map +1 -1
- package/dist/private/progress/useProgressBar.cjs.map +1 -1
- package/dist/private/progress/useProgressBar.js.map +1 -1
- package/dist/private/progress/useProgressBar.mjs.map +1 -1
- package/dist/private/radio/useRadio.cjs +5 -0
- package/dist/private/radio/useRadio.cjs.map +1 -1
- package/dist/private/radio/useRadio.js +5 -0
- package/dist/private/radio/useRadio.js.map +1 -1
- package/dist/private/radio/useRadio.mjs +5 -0
- package/dist/private/radio/useRadio.mjs.map +1 -1
- package/dist/private/radio/useRadioGroup.cjs.map +1 -1
- package/dist/private/radio/useRadioGroup.js.map +1 -1
- package/dist/private/radio/useRadioGroup.mjs.map +1 -1
- package/dist/private/radio/utils.cjs.map +1 -1
- package/dist/private/radio/utils.js.map +1 -1
- package/dist/private/radio/utils.mjs.map +1 -1
- package/dist/private/searchfield/useSearchField.cjs.map +1 -1
- package/dist/private/searchfield/useSearchField.js.map +1 -1
- package/dist/private/searchfield/useSearchField.mjs.map +1 -1
- package/dist/private/select/HiddenSelect.cjs +2 -1
- package/dist/private/select/HiddenSelect.cjs.map +1 -1
- package/dist/private/select/HiddenSelect.js +2 -1
- package/dist/private/select/HiddenSelect.js.map +1 -1
- package/dist/private/select/HiddenSelect.mjs +2 -1
- package/dist/private/select/HiddenSelect.mjs.map +1 -1
- package/dist/private/select/useSelect.cjs +2 -2
- package/dist/private/select/useSelect.cjs.map +1 -1
- package/dist/private/select/useSelect.js +2 -2
- package/dist/private/select/useSelect.js.map +1 -1
- package/dist/private/select/useSelect.mjs +2 -2
- package/dist/private/select/useSelect.mjs.map +1 -1
- package/dist/private/selection/ListKeyboardDelegate.cjs +25 -25
- package/dist/private/selection/ListKeyboardDelegate.cjs.map +1 -1
- package/dist/private/selection/ListKeyboardDelegate.js +26 -26
- package/dist/private/selection/ListKeyboardDelegate.js.map +1 -1
- package/dist/private/selection/ListKeyboardDelegate.mjs +25 -25
- package/dist/private/selection/ListKeyboardDelegate.mjs.map +1 -1
- package/dist/private/selection/useSelectableCollection.cjs +1 -0
- package/dist/private/selection/useSelectableCollection.cjs.map +1 -1
- package/dist/private/selection/useSelectableCollection.js +1 -0
- package/dist/private/selection/useSelectableCollection.js.map +1 -1
- package/dist/private/selection/useSelectableCollection.mjs +1 -0
- package/dist/private/selection/useSelectableCollection.mjs.map +1 -1
- package/dist/private/selection/useSelectableItem.cjs.map +1 -1
- package/dist/private/selection/useSelectableItem.js.map +1 -1
- package/dist/private/selection/useSelectableItem.mjs.map +1 -1
- package/dist/private/selection/useSelectableList.cjs.map +1 -1
- package/dist/private/selection/useSelectableList.js.map +1 -1
- package/dist/private/selection/useSelectableList.mjs.map +1 -1
- package/dist/private/selection/useTypeSelect.cjs.map +1 -1
- package/dist/private/selection/useTypeSelect.js.map +1 -1
- package/dist/private/selection/useTypeSelect.mjs.map +1 -1
- package/dist/private/selection/utils.cjs.map +1 -1
- package/dist/private/selection/utils.js.map +1 -1
- package/dist/private/selection/utils.mjs.map +1 -1
- package/dist/private/separator/useSeparator.cjs.map +1 -1
- package/dist/private/separator/useSeparator.js.map +1 -1
- package/dist/private/separator/useSeparator.mjs.map +1 -1
- package/dist/private/slider/useSlider.cjs +4 -2
- package/dist/private/slider/useSlider.cjs.map +1 -1
- package/dist/private/slider/useSlider.js +4 -2
- package/dist/private/slider/useSlider.js.map +1 -1
- package/dist/private/slider/useSlider.mjs +4 -2
- package/dist/private/slider/useSlider.mjs.map +1 -1
- package/dist/private/slider/useSliderThumb.cjs.map +1 -1
- package/dist/private/slider/useSliderThumb.js.map +1 -1
- package/dist/private/slider/useSliderThumb.mjs.map +1 -1
- package/dist/private/slider/utils.cjs.map +1 -1
- package/dist/private/slider/utils.js.map +1 -1
- package/dist/private/slider/utils.mjs.map +1 -1
- package/dist/private/spinbutton/useSpinButton.cjs +2 -0
- package/dist/private/spinbutton/useSpinButton.cjs.map +1 -1
- package/dist/private/spinbutton/useSpinButton.js +2 -0
- package/dist/private/spinbutton/useSpinButton.js.map +1 -1
- package/dist/private/spinbutton/useSpinButton.mjs +2 -0
- package/dist/private/spinbutton/useSpinButton.mjs.map +1 -1
- package/dist/private/ssr/SSRProvider.cjs +6 -6
- package/dist/private/ssr/SSRProvider.cjs.map +1 -1
- package/dist/private/ssr/SSRProvider.js +6 -6
- package/dist/private/ssr/SSRProvider.js.map +1 -1
- package/dist/private/ssr/SSRProvider.mjs +6 -6
- package/dist/private/ssr/SSRProvider.mjs.map +1 -1
- package/dist/private/steplist/useStepList.cjs.map +1 -1
- package/dist/private/steplist/useStepList.js.map +1 -1
- package/dist/private/steplist/useStepList.mjs.map +1 -1
- package/dist/private/steplist/useStepListItem.cjs.map +1 -1
- package/dist/private/steplist/useStepListItem.js.map +1 -1
- package/dist/private/steplist/useStepListItem.mjs.map +1 -1
- package/dist/private/switch/useSwitch.cjs +2 -4
- package/dist/private/switch/useSwitch.cjs.map +1 -1
- package/dist/private/switch/useSwitch.js +2 -4
- package/dist/private/switch/useSwitch.js.map +1 -1
- package/dist/private/switch/useSwitch.mjs +2 -4
- package/dist/private/switch/useSwitch.mjs.map +1 -1
- package/dist/private/table/TableKeyboardDelegate.cjs +4 -4
- package/dist/private/table/TableKeyboardDelegate.cjs.map +1 -1
- package/dist/private/table/TableKeyboardDelegate.js +4 -4
- package/dist/private/table/TableKeyboardDelegate.js.map +1 -1
- package/dist/private/table/TableKeyboardDelegate.mjs +4 -4
- package/dist/private/table/TableKeyboardDelegate.mjs.map +1 -1
- package/dist/private/table/useTable.cjs.map +1 -1
- package/dist/private/table/useTable.js.map +1 -1
- package/dist/private/table/useTable.mjs.map +1 -1
- package/dist/private/table/useTableCell.cjs.map +1 -1
- package/dist/private/table/useTableCell.js.map +1 -1
- package/dist/private/table/useTableCell.mjs.map +1 -1
- package/dist/private/table/useTableColumnHeader.cjs.map +1 -1
- package/dist/private/table/useTableColumnHeader.js.map +1 -1
- package/dist/private/table/useTableColumnHeader.mjs.map +1 -1
- package/dist/private/table/useTableColumnResize.cjs +1 -1
- package/dist/private/table/useTableColumnResize.cjs.map +1 -1
- package/dist/private/table/useTableColumnResize.js +1 -1
- package/dist/private/table/useTableColumnResize.js.map +1 -1
- package/dist/private/table/useTableColumnResize.mjs +1 -1
- package/dist/private/table/useTableColumnResize.mjs.map +1 -1
- package/dist/private/table/useTableHeaderRow.cjs +2 -1
- package/dist/private/table/useTableHeaderRow.cjs.map +1 -1
- package/dist/private/table/useTableHeaderRow.js +2 -1
- package/dist/private/table/useTableHeaderRow.js.map +1 -1
- package/dist/private/table/useTableHeaderRow.mjs +2 -1
- package/dist/private/table/useTableHeaderRow.mjs.map +1 -1
- package/dist/private/table/useTableRow.cjs +2 -2
- package/dist/private/table/useTableRow.cjs.map +1 -1
- package/dist/private/table/useTableRow.js +2 -2
- package/dist/private/table/useTableRow.js.map +1 -1
- package/dist/private/table/useTableRow.mjs +2 -2
- package/dist/private/table/useTableRow.mjs.map +1 -1
- package/dist/private/table/useTableSelectionCheckbox.cjs.map +1 -1
- package/dist/private/table/useTableSelectionCheckbox.js.map +1 -1
- package/dist/private/table/useTableSelectionCheckbox.mjs.map +1 -1
- package/dist/private/table/utils.cjs.map +1 -1
- package/dist/private/table/utils.js.map +1 -1
- package/dist/private/table/utils.mjs.map +1 -1
- package/dist/private/tabs/TabsKeyboardDelegate.cjs.map +1 -1
- package/dist/private/tabs/TabsKeyboardDelegate.js.map +1 -1
- package/dist/private/tabs/TabsKeyboardDelegate.mjs.map +1 -1
- package/dist/private/tabs/useTab.cjs.map +1 -1
- package/dist/private/tabs/useTab.js.map +1 -1
- package/dist/private/tabs/useTab.mjs.map +1 -1
- package/dist/private/tabs/useTabList.cjs +10 -10
- package/dist/private/tabs/useTabList.cjs.map +1 -1
- package/dist/private/tabs/useTabList.js +10 -10
- package/dist/private/tabs/useTabList.js.map +1 -1
- package/dist/private/tabs/useTabList.mjs +10 -10
- package/dist/private/tabs/useTabList.mjs.map +1 -1
- package/dist/private/tabs/useTabPanel.cjs.map +1 -1
- package/dist/private/tabs/useTabPanel.js.map +1 -1
- package/dist/private/tabs/useTabPanel.mjs.map +1 -1
- package/dist/private/tabs/utils.cjs.map +1 -1
- package/dist/private/tabs/utils.js.map +1 -1
- package/dist/private/tabs/utils.mjs.map +1 -1
- package/dist/private/tag/useTag.cjs.map +1 -1
- package/dist/private/tag/useTag.js.map +1 -1
- package/dist/private/tag/useTag.mjs.map +1 -1
- package/dist/private/tag/useTagGroup.cjs.map +1 -1
- package/dist/private/tag/useTagGroup.js.map +1 -1
- package/dist/private/tag/useTagGroup.mjs.map +1 -1
- package/dist/private/textfield/useFormattedTextField.cjs.map +1 -1
- package/dist/private/textfield/useFormattedTextField.js.map +1 -1
- package/dist/private/textfield/useFormattedTextField.mjs.map +1 -1
- package/dist/private/textfield/useTextField.cjs.map +1 -1
- package/dist/private/textfield/useTextField.js.map +1 -1
- package/dist/private/textfield/useTextField.mjs.map +1 -1
- package/dist/private/toast/useToast.cjs +2 -1
- package/dist/private/toast/useToast.cjs.map +1 -1
- package/dist/private/toast/useToast.js +2 -1
- package/dist/private/toast/useToast.js.map +1 -1
- package/dist/private/toast/useToast.mjs +2 -1
- package/dist/private/toast/useToast.mjs.map +1 -1
- package/dist/private/toast/useToastRegion.cjs.map +1 -1
- package/dist/private/toast/useToastRegion.js.map +1 -1
- package/dist/private/toast/useToastRegion.mjs.map +1 -1
- package/dist/private/toggle/useToggle.cjs +70 -8
- package/dist/private/toggle/useToggle.cjs.map +1 -1
- package/dist/private/toggle/useToggle.js +70 -8
- package/dist/private/toggle/useToggle.js.map +1 -1
- package/dist/private/toggle/useToggle.mjs +70 -8
- package/dist/private/toggle/useToggle.mjs.map +1 -1
- package/dist/private/toolbar/useToolbar.cjs.map +1 -1
- package/dist/private/toolbar/useToolbar.js.map +1 -1
- package/dist/private/toolbar/useToolbar.mjs.map +1 -1
- package/dist/private/tooltip/useTooltip.cjs.map +1 -1
- package/dist/private/tooltip/useTooltip.js.map +1 -1
- package/dist/private/tooltip/useTooltip.mjs.map +1 -1
- package/dist/private/tooltip/useTooltipTrigger.cjs.map +1 -1
- package/dist/private/tooltip/useTooltipTrigger.js.map +1 -1
- package/dist/private/tooltip/useTooltipTrigger.mjs.map +1 -1
- package/dist/private/tree/useTree.cjs.map +1 -1
- package/dist/private/tree/useTree.js.map +1 -1
- package/dist/private/tree/useTree.mjs.map +1 -1
- package/dist/private/tree/useTreeItem.cjs.map +1 -1
- package/dist/private/tree/useTreeItem.js.map +1 -1
- package/dist/private/tree/useTreeItem.mjs.map +1 -1
- package/dist/private/utils/animation.cjs.map +1 -1
- package/dist/private/utils/animation.js.map +1 -1
- package/dist/private/utils/animation.mjs.map +1 -1
- package/dist/private/utils/domHelpers.cjs +2 -1
- package/dist/private/utils/domHelpers.cjs.map +1 -1
- package/dist/private/utils/domHelpers.js +2 -1
- package/dist/private/utils/domHelpers.js.map +1 -1
- package/dist/private/utils/domHelpers.mjs +2 -1
- package/dist/private/utils/domHelpers.mjs.map +1 -1
- package/dist/private/utils/filterDOMProps.cjs.map +1 -1
- package/dist/private/utils/filterDOMProps.js.map +1 -1
- package/dist/private/utils/filterDOMProps.mjs.map +1 -1
- package/dist/private/utils/focusWithoutScrolling.cjs.map +1 -1
- package/dist/private/utils/focusWithoutScrolling.js.map +1 -1
- package/dist/private/utils/focusWithoutScrolling.mjs.map +1 -1
- package/dist/private/utils/getNonce.cjs.map +1 -1
- package/dist/private/utils/getNonce.js.map +1 -1
- package/dist/private/utils/getNonce.mjs.map +1 -1
- package/dist/private/utils/getOffset.cjs.map +1 -1
- package/dist/private/utils/getOffset.js.map +1 -1
- package/dist/private/utils/getOffset.mjs.map +1 -1
- package/dist/private/utils/getScrollParent.cjs.map +1 -1
- package/dist/private/utils/getScrollParent.js.map +1 -1
- package/dist/private/utils/getScrollParent.mjs.map +1 -1
- package/dist/private/utils/getScrollParents.cjs +3 -2
- package/dist/private/utils/getScrollParents.cjs.map +1 -1
- package/dist/private/utils/getScrollParents.js +3 -2
- package/dist/private/utils/getScrollParents.js.map +1 -1
- package/dist/private/utils/getScrollParents.mjs +3 -2
- package/dist/private/utils/getScrollParents.mjs.map +1 -1
- package/dist/private/utils/isElementVisible.cjs.map +1 -1
- package/dist/private/utils/isElementVisible.js.map +1 -1
- package/dist/private/utils/isElementVisible.mjs.map +1 -1
- package/dist/private/utils/isFocusable.cjs.map +1 -1
- package/dist/private/utils/isFocusable.js.map +1 -1
- package/dist/private/utils/isFocusable.mjs.map +1 -1
- package/dist/private/utils/isVirtualEvent.cjs.map +1 -1
- package/dist/private/utils/isVirtualEvent.js.map +1 -1
- package/dist/private/utils/isVirtualEvent.mjs.map +1 -1
- package/dist/private/utils/keyboard.cjs.map +1 -1
- package/dist/private/utils/keyboard.js.map +1 -1
- package/dist/private/utils/keyboard.mjs.map +1 -1
- package/dist/private/utils/mergeProps.cjs.map +1 -1
- package/dist/private/utils/mergeProps.js.map +1 -1
- package/dist/private/utils/mergeProps.mjs.map +1 -1
- package/dist/private/utils/mergeRefs.cjs.map +1 -1
- package/dist/private/utils/mergeRefs.js.map +1 -1
- package/dist/private/utils/mergeRefs.mjs.map +1 -1
- package/dist/private/utils/openLink.cjs +12 -8
- package/dist/private/utils/openLink.cjs.map +1 -1
- package/dist/private/utils/openLink.js +12 -8
- package/dist/private/utils/openLink.js.map +1 -1
- package/dist/private/utils/openLink.mjs +12 -8
- package/dist/private/utils/openLink.mjs.map +1 -1
- package/dist/private/utils/platform.cjs.map +1 -1
- package/dist/private/utils/platform.js.map +1 -1
- package/dist/private/utils/platform.mjs.map +1 -1
- package/dist/private/utils/scrollIntoView.cjs +21 -18
- package/dist/private/utils/scrollIntoView.cjs.map +1 -1
- package/dist/private/utils/scrollIntoView.js +21 -18
- package/dist/private/utils/scrollIntoView.js.map +1 -1
- package/dist/private/utils/scrollIntoView.mjs +21 -18
- package/dist/private/utils/scrollIntoView.mjs.map +1 -1
- package/dist/private/utils/shadowdom/DOMFunctions.cjs.map +1 -1
- package/dist/private/utils/shadowdom/DOMFunctions.js.map +1 -1
- package/dist/private/utils/shadowdom/DOMFunctions.mjs.map +1 -1
- package/dist/private/utils/shadowdom/ShadowTreeWalker.cjs +6 -6
- package/dist/private/utils/shadowdom/ShadowTreeWalker.cjs.map +1 -1
- package/dist/private/utils/shadowdom/ShadowTreeWalker.js +6 -6
- package/dist/private/utils/shadowdom/ShadowTreeWalker.js.map +1 -1
- package/dist/private/utils/shadowdom/ShadowTreeWalker.mjs +6 -6
- package/dist/private/utils/shadowdom/ShadowTreeWalker.mjs.map +1 -1
- package/dist/private/utils/useDeepMemo.cjs +1 -1
- package/dist/private/utils/useDeepMemo.cjs.map +1 -1
- package/dist/private/utils/useDeepMemo.js +1 -1
- package/dist/private/utils/useDeepMemo.js.map +1 -1
- package/dist/private/utils/useDeepMemo.mjs +1 -1
- package/dist/private/utils/useDeepMemo.mjs.map +1 -1
- package/dist/private/utils/useDescription.cjs.map +1 -1
- package/dist/private/utils/useDescription.js.map +1 -1
- package/dist/private/utils/useDescription.mjs.map +1 -1
- package/dist/private/utils/useDrag1D.cjs +1 -1
- package/dist/private/utils/useDrag1D.cjs.map +1 -1
- package/dist/private/utils/useDrag1D.js +1 -1
- package/dist/private/utils/useDrag1D.js.map +1 -1
- package/dist/private/utils/useDrag1D.mjs +1 -1
- package/dist/private/utils/useDrag1D.mjs.map +1 -1
- package/dist/private/utils/useFormReset.cjs.map +1 -1
- package/dist/private/utils/useFormReset.js.map +1 -1
- package/dist/private/utils/useFormReset.mjs.map +1 -1
- package/dist/private/utils/useGlobalListeners.cjs.map +1 -1
- package/dist/private/utils/useGlobalListeners.js.map +1 -1
- package/dist/private/utils/useGlobalListeners.mjs.map +1 -1
- package/dist/private/utils/useId.cjs.map +1 -1
- package/dist/private/utils/useId.js.map +1 -1
- package/dist/private/utils/useId.mjs.map +1 -1
- package/dist/private/utils/useLabels.cjs.map +1 -1
- package/dist/private/utils/useLabels.js.map +1 -1
- package/dist/private/utils/useLabels.mjs.map +1 -1
- package/dist/private/utils/useLayoutEffect.cjs.map +1 -1
- package/dist/private/utils/useLayoutEffect.js.map +1 -1
- package/dist/private/utils/useLayoutEffect.mjs.map +1 -1
- package/dist/private/utils/useLoadMore.cjs.map +1 -1
- package/dist/private/utils/useLoadMore.js.map +1 -1
- package/dist/private/utils/useLoadMore.mjs.map +1 -1
- package/dist/private/utils/useLoadMoreSentinel.cjs.map +1 -1
- package/dist/private/utils/useLoadMoreSentinel.js.map +1 -1
- package/dist/private/utils/useLoadMoreSentinel.mjs.map +1 -1
- package/dist/private/utils/useObjectRef.cjs.map +1 -1
- package/dist/private/utils/useObjectRef.js.map +1 -1
- package/dist/private/utils/useObjectRef.mjs.map +1 -1
- package/dist/private/utils/useResizeObserver.cjs.map +1 -1
- package/dist/private/utils/useResizeObserver.js.map +1 -1
- package/dist/private/utils/useResizeObserver.mjs.map +1 -1
- package/dist/private/utils/useSlot.cjs +54 -0
- package/dist/private/utils/useSlot.cjs.map +1 -0
- package/dist/private/utils/useSlot.js +49 -0
- package/dist/private/utils/useSlot.js.map +1 -0
- package/dist/private/utils/useSlot.mjs +49 -0
- package/dist/private/utils/useSlot.mjs.map +1 -0
- package/dist/private/utils/useSyncRef.cjs +2 -1
- package/dist/private/utils/useSyncRef.cjs.map +1 -1
- package/dist/private/utils/useSyncRef.js +2 -1
- package/dist/private/utils/useSyncRef.js.map +1 -1
- package/dist/private/utils/useSyncRef.mjs +2 -1
- package/dist/private/utils/useSyncRef.mjs.map +1 -1
- package/dist/private/utils/useUpdateEffect.cjs.map +1 -1
- package/dist/private/utils/useUpdateEffect.js.map +1 -1
- package/dist/private/utils/useUpdateEffect.mjs.map +1 -1
- package/dist/private/utils/useValueEffect.cjs.map +1 -1
- package/dist/private/utils/useValueEffect.js.map +1 -1
- package/dist/private/utils/useValueEffect.mjs.map +1 -1
- package/dist/private/utils/useViewportSize.cjs +3 -1
- package/dist/private/utils/useViewportSize.cjs.map +1 -1
- package/dist/private/utils/useViewportSize.js +3 -1
- package/dist/private/utils/useViewportSize.js.map +1 -1
- package/dist/private/utils/useViewportSize.mjs +3 -1
- package/dist/private/utils/useViewportSize.mjs.map +1 -1
- package/dist/private/virtualizer/ScrollView.cjs +2 -2
- package/dist/private/virtualizer/ScrollView.cjs.map +1 -1
- package/dist/private/virtualizer/ScrollView.js +2 -2
- package/dist/private/virtualizer/ScrollView.js.map +1 -1
- package/dist/private/virtualizer/ScrollView.mjs +2 -2
- package/dist/private/virtualizer/ScrollView.mjs.map +1 -1
- package/dist/private/virtualizer/Virtualizer.cjs.map +1 -1
- package/dist/private/virtualizer/Virtualizer.js.map +1 -1
- package/dist/private/virtualizer/Virtualizer.mjs.map +1 -1
- package/dist/private/virtualizer/VirtualizerItem.cjs.map +1 -1
- package/dist/private/virtualizer/VirtualizerItem.js.map +1 -1
- package/dist/private/virtualizer/VirtualizerItem.mjs.map +1 -1
- package/dist/private/virtualizer/useVirtualizerItem.cjs.map +1 -1
- package/dist/private/virtualizer/useVirtualizerItem.js.map +1 -1
- package/dist/private/virtualizer/useVirtualizerItem.mjs.map +1 -1
- package/dist/private/virtualizer/utils.cjs.map +1 -1
- package/dist/private/virtualizer/utils.js.map +1 -1
- package/dist/private/virtualizer/utils.mjs.map +1 -1
- package/dist/private/visually-hidden/VisuallyHidden.cjs.map +1 -1
- package/dist/private/visually-hidden/VisuallyHidden.js.map +1 -1
- package/dist/private/visually-hidden/VisuallyHidden.mjs.map +1 -1
- package/dist/types/exports/index.d.ts +7 -0
- package/dist/types/exports/useCalendar.d.ts +6 -0
- package/dist/types/exports/useRangeCalendar.d.ts +11 -0
- package/dist/types/src/actiongroup/useActionGroup.d.ts +5 -1
- package/dist/types/src/aria-modal-polyfill/ariaModalPolyfill.d.ts +2 -1
- package/dist/types/src/autocomplete/useAutocomplete.d.ts +21 -9
- package/dist/types/src/autocomplete/useSearchAutocomplete.d.ts +15 -8
- package/dist/types/src/breadcrumbs/useBreadcrumbItem.d.ts +2 -0
- package/dist/types/src/button/useButton.d.ts +25 -7
- package/dist/types/src/button/useToggleButtonGroup.d.ts +1 -0
- package/dist/types/src/calendar/useCalendar.d.ts +3 -3
- package/dist/types/src/calendar/useCalendarBase.d.ts +2 -2
- package/dist/types/src/calendar/useCalendarCell.d.ts +9 -8
- package/dist/types/src/calendar/useCalendarGrid.d.ts +8 -4
- package/dist/types/src/calendar/useCalendarHeading.d.ts +22 -0
- package/dist/types/src/calendar/useCalendarMonthPicker.d.ts +22 -0
- package/dist/types/src/calendar/useCalendarYearPicker.d.ts +32 -0
- package/dist/types/src/calendar/useRangeCalendar.d.ts +5 -5
- package/dist/types/src/calendar/utils.d.ts +3 -3
- package/dist/types/src/checkbox/useCheckbox.d.ts +6 -1
- package/dist/types/src/checkbox/useCheckboxGroup.d.ts +1 -0
- package/dist/types/src/checkbox/useCheckboxGroupItem.d.ts +3 -2
- package/dist/types/src/collections/CollectionBuilder.d.ts +8 -7
- package/dist/types/src/collections/useCachedChildren.d.ts +1 -1
- package/dist/types/src/color/useColorArea.d.ts +7 -4
- package/dist/types/src/color/useColorChannelField.d.ts +2 -2
- package/dist/types/src/combobox/useComboBox.d.ts +5 -3
- package/dist/types/src/datepicker/useDateField.d.ts +2 -1
- package/dist/types/src/datepicker/useDatePicker.d.ts +5 -3
- package/dist/types/src/dialog/useDialog.d.ts +1 -0
- package/dist/types/src/disclosure/useDisclosure.d.ts +1 -0
- package/dist/types/src/dnd/ListDropTargetDelegate.d.ts +3 -0
- package/dist/types/src/dnd/useDrag.d.ts +11 -4
- package/dist/types/src/dnd/useDraggableCollection.d.ts +2 -2
- package/dist/types/src/dnd/useDraggableItem.d.ts +7 -6
- package/dist/types/src/dnd/useDrop.d.ts +5 -4
- package/dist/types/src/dnd/useDroppableCollection.d.ts +2 -2
- package/dist/types/src/dnd/utils.d.ts +1 -1
- package/dist/types/src/focus/FocusRing.d.ts +1 -0
- package/dist/types/src/focus/useFocusRing.d.ts +1 -0
- package/dist/types/src/focus/useHasTabbableChild.d.ts +1 -0
- package/dist/types/src/grid/GridKeyboardDelegate.d.ts +8 -4
- package/dist/types/src/grid/useGrid.d.ts +12 -4
- package/dist/types/src/grid/useGridCell.d.ts +11 -3
- package/dist/types/src/grid/useGridRow.d.ts +7 -2
- package/dist/types/src/grid/useGridSelectionAnnouncement.d.ts +3 -1
- package/dist/types/src/grid/useGridSelectionCheckbox.d.ts +1 -0
- package/dist/types/src/grid/useHighlightSelectionDescription.d.ts +1 -0
- package/dist/types/src/gridlist/useGridList.d.ts +13 -5
- package/dist/types/src/gridlist/useGridListItem.d.ts +5 -1
- package/dist/types/src/gridlist/useGridListSection.d.ts +1 -0
- package/dist/types/src/gridlist/useGridListSelectionCheckbox.d.ts +1 -0
- package/dist/types/src/i18n/useCollator.d.ts +3 -2
- package/dist/types/src/i18n/useDateFormatter.d.ts +3 -2
- package/dist/types/src/i18n/useFilter.d.ts +3 -2
- package/dist/types/src/i18n/useListFormatter.d.ts +3 -2
- package/dist/types/src/i18n/useLocalizedStringFormatter.d.ts +3 -1
- package/dist/types/src/i18n/useNumberFormatter.d.ts +3 -2
- package/dist/types/src/i18n/utils.d.ts +2 -1
- package/dist/types/src/interactions/createEventHandler.d.ts +2 -1
- package/dist/types/src/interactions/useFocusVisible.d.ts +11 -9
- package/dist/types/src/interactions/useLongPress.d.ts +3 -2
- package/dist/types/src/interactions/utils.d.ts +4 -3
- package/dist/types/src/label/useField.d.ts +3 -2
- package/dist/types/src/label/useLabel.d.ts +2 -0
- package/dist/types/src/landmark/useLandmark.d.ts +4 -1
- package/dist/types/src/link/useLink.d.ts +1 -0
- package/dist/types/src/listbox/useListBox.d.ts +8 -3
- package/dist/types/src/listbox/useListBoxSection.d.ts +1 -0
- package/dist/types/src/listbox/useOption.d.ts +7 -0
- package/dist/types/src/menu/useMenu.d.ts +2 -0
- package/dist/types/src/menu/useMenuItem.d.ts +10 -1
- package/dist/types/src/menu/useMenuSection.d.ts +1 -0
- package/dist/types/src/menu/useMenuTrigger.d.ts +1 -0
- package/dist/types/src/menu/useSafelyMouseToSubmenu.d.ts +3 -2
- package/dist/types/src/menu/useSubmenuTrigger.d.ts +7 -2
- package/dist/types/src/numberfield/useNumberField.d.ts +11 -4
- package/dist/types/src/overlays/Overlay.d.ts +1 -0
- package/dist/types/src/overlays/PortalProvider.d.ts +4 -1
- package/dist/types/src/overlays/ariaHideOutside.d.ts +1 -0
- package/dist/types/src/overlays/calculatePosition.d.ts +2 -1
- package/dist/types/src/overlays/useModal.d.ts +8 -7
- package/dist/types/src/overlays/useModalOverlay.d.ts +2 -0
- package/dist/types/src/overlays/useOverlay.d.ts +2 -0
- package/dist/types/src/overlays/useOverlayPosition.d.ts +10 -0
- package/dist/types/src/progress/useProgressBar.d.ts +5 -1
- package/dist/types/src/radio/useRadio.d.ts +4 -1
- package/dist/types/src/radio/useRadioGroup.d.ts +1 -0
- package/dist/types/src/searchfield/useSearchField.d.ts +7 -2
- package/dist/types/src/select/HiddenSelect.d.ts +2 -1
- package/dist/types/src/select/useSelect.d.ts +3 -1
- package/dist/types/src/selection/ListKeyboardDelegate.d.ts +18 -6
- package/dist/types/src/selection/useSelectableCollection.d.ts +10 -2
- package/dist/types/src/selection/useSelectableItem.d.ts +9 -7
- package/dist/types/src/selection/useSelectableList.d.ts +5 -2
- package/dist/types/src/separator/useSeparator.d.ts +1 -0
- package/dist/types/src/slider/useSlider.d.ts +5 -4
- package/dist/types/src/slider/useSliderThumb.d.ts +3 -1
- package/dist/types/src/switch/useSwitch.d.ts +14 -27
- package/dist/types/src/table/TableKeyboardDelegate.d.ts +6 -2
- package/dist/types/src/table/useTable.d.ts +8 -4
- package/dist/types/src/table/useTableCell.d.ts +7 -2
- package/dist/types/src/table/useTableColumnHeader.d.ts +9 -2
- package/dist/types/src/table/useTableColumnResize.d.ts +12 -6
- package/dist/types/src/table/useTableHeaderRow.d.ts +1 -0
- package/dist/types/src/table/useTableRow.d.ts +1 -0
- package/dist/types/src/table/useTableSelectionCheckbox.d.ts +2 -0
- package/dist/types/src/tabs/useTabList.d.ts +2 -0
- package/dist/types/src/tabs/useTabPanel.d.ts +2 -2
- package/dist/types/src/tag/useTag.d.ts +1 -0
- package/dist/types/src/tag/useTagGroup.d.ts +7 -3
- package/dist/types/src/textfield/useTextField.d.ts +26 -11
- package/dist/types/src/toast/useToast.d.ts +2 -2
- package/dist/types/src/toast/useToastRegion.d.ts +5 -3
- package/dist/types/src/toggle/useToggle.d.ts +8 -3
- package/dist/types/src/toolbar/useToolbar.d.ts +2 -0
- package/dist/types/src/tree/useTree.d.ts +4 -2
- package/dist/types/src/tree/useTreeItem.d.ts +5 -1
- package/dist/types/src/utils/filterDOMProps.d.ts +1 -0
- package/dist/types/src/utils/getNonce.d.ts +3 -2
- package/dist/types/src/utils/isElementVisible.d.ts +1 -0
- package/dist/types/src/utils/mergeProps.d.ts +3 -2
- package/dist/types/src/utils/scrollIntoView.d.ts +5 -3
- package/dist/types/src/utils/shadowdom/DOMFunctions.d.ts +1 -0
- package/dist/types/src/utils/useId.d.ts +2 -0
- package/dist/types/src/utils/useLabels.d.ts +1 -0
- package/dist/types/src/utils/useLoadMore.d.ts +6 -4
- package/dist/types/src/utils/useLoadMoreSentinel.d.ts +5 -3
- package/dist/types/src/utils/useSlot.d.ts +8 -0
- package/dist/types/src/visually-hidden/VisuallyHidden.d.ts +1 -0
- package/package.json +10 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/react-aria/src/dnd/DragManager.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {announce} from '../live-announcer/LiveAnnouncer';\n\nimport {ariaHideOutside} from '../overlays/ariaHideOutside';\nimport {DragEndEvent, DragItem, DropActivateEvent, DropEnterEvent, DropEvent, DropExitEvent, DropItem, DropOperation, DropTarget as DroppableCollectionTarget, FocusableElement} from '@react-types/shared';\nimport {getActiveElement, getEventTarget, nodeContains} from '../utils/shadowdom/DOMFunctions';\nimport {getDragModality, getTypes} from './utils';\nimport {isVirtualClick, isVirtualPointerEvent} from '../utils/isVirtualEvent';\nimport type {LocalizedStringFormatter} from '@internationalized/string';\nimport {RefObject, useEffect, useState} from 'react';\n\nlet dropTargets = new Map<Element, DropTarget>();\nlet dropItems = new Map<Element, DroppableItem>();\nlet dragSession: DragSession | null = null;\nlet subscriptions = new Set<() => void>();\n\ninterface DropTarget {\n element: FocusableElement,\n preventFocusOnDrop?: boolean,\n getDropOperation?: (types: Set<string>, allowedOperations: DropOperation[]) => DropOperation,\n onDropEnter?: (e: DropEnterEvent, dragTarget: DragTarget) => void,\n onDropExit?: (e: DropExitEvent) => void,\n onDropTargetEnter?: (target: DroppableCollectionTarget | null) => void,\n onDropActivate?: (e: DropActivateEvent, target: DroppableCollectionTarget | null) => void,\n onDrop?: (e: DropEvent, target: DroppableCollectionTarget | null) => void,\n onKeyDown?: (e: KeyboardEvent, dragTarget: DragTarget) => void,\n activateButtonRef?: RefObject<FocusableElement | null>\n}\n\nexport function registerDropTarget(target: DropTarget) {\n dropTargets.set(target.element, target);\n dragSession?.updateValidDropTargets();\n return (): void => {\n dropTargets.delete(target.element);\n dragSession?.updateValidDropTargets();\n };\n}\n\ninterface DroppableItem {\n element: FocusableElement,\n target: DroppableCollectionTarget,\n getDropOperation?: (types: Set<string>, allowedOperations: DropOperation[]) => DropOperation,\n activateButtonRef?: RefObject<FocusableElement | null>\n}\n\nexport function registerDropItem(item: DroppableItem) {\n dropItems.set(item.element, item);\n return (): void => {\n dropItems.delete(item.element);\n };\n}\n\ninterface DragTarget {\n element: FocusableElement,\n items: DragItem[],\n allowedDropOperations: DropOperation[],\n onDragEnd?: (e: DragEndEvent) => void\n}\n\nexport function beginDragging(target: DragTarget, stringFormatter: LocalizedStringFormatter): void {\n if (dragSession) {\n throw new Error('Cannot begin dragging while already dragging');\n }\n\n dragSession = new DragSession(target, stringFormatter);\n requestAnimationFrame(() => {\n if (dragSession) {\n dragSession.setup();\n if (getDragModality() === 'keyboard') {\n dragSession.next();\n }\n }\n });\n\n for (let cb of subscriptions) {\n cb();\n }\n}\n\nexport function useDragSession(): DragSession | null {\n let [session, setSession] = useState(dragSession);\n\n useEffect(() => {\n let cb = () => setSession(dragSession);\n subscriptions.add(cb);\n return () => {\n subscriptions.delete(cb);\n };\n }, []);\n\n return session;\n}\n\n/** @private */\nexport function isVirtualDragging(): boolean {\n return !!dragSession;\n}\n\nfunction endDragging() {\n dragSession = null;\n for (let cb of subscriptions) {\n cb();\n }\n}\n\nexport function isValidDropTarget(element: Element): boolean {\n for (let target of dropTargets.keys()) {\n if (nodeContains(target, element)) {\n return true;\n }\n }\n\n return false;\n}\n\nconst CANCELED_EVENTS = [\n 'pointerdown',\n 'pointermove',\n 'pointerenter',\n 'pointerleave',\n 'pointerover',\n 'pointerout',\n 'pointerup',\n 'mousedown',\n 'mousemove',\n 'mouseenter',\n 'mouseleave',\n 'mouseover',\n 'mouseout',\n 'mouseup',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'focusin',\n 'focusout'\n];\n\nconst CLICK_EVENTS = [\n 'pointerup',\n 'mouseup',\n 'touchend'\n];\n\nconst MESSAGES = {\n keyboard: 'dragStartedKeyboard',\n touch: 'dragStartedTouch',\n virtual: 'dragStartedVirtual'\n};\n\nclass DragSession {\n dragTarget: DragTarget;\n validDropTargets: DropTarget[] = [];\n currentDropTarget: DropTarget | null = null;\n currentDropItem: DroppableItem | null = null;\n dropOperation: DropOperation | null = null;\n private mutationObserver: MutationObserver | null = null;\n private restoreAriaHidden: (() => void) | null = null;\n private stringFormatter: LocalizedStringFormatter;\n private isVirtualClick: boolean = false;\n private initialFocused: boolean;\n\n constructor(target: DragTarget, stringFormatter: LocalizedStringFormatter) {\n this.dragTarget = target;\n this.stringFormatter = stringFormatter;\n\n this.onKeyDown = this.onKeyDown.bind(this);\n this.onKeyUp = this.onKeyUp.bind(this);\n this.onFocus = this.onFocus.bind(this);\n this.onBlur = this.onBlur.bind(this);\n this.onClick = this.onClick.bind(this);\n this.onPointerDown = this.onPointerDown.bind(this);\n this.cancelEvent = this.cancelEvent.bind(this);\n this.initialFocused = false;\n }\n\n setup(): void {\n document.addEventListener('keydown', this.onKeyDown, true);\n document.addEventListener('keyup', this.onKeyUp, true);\n window.addEventListener('focus', this.onFocus, true);\n window.addEventListener('blur', this.onBlur, true);\n document.addEventListener('click', this.onClick, true);\n document.addEventListener('pointerdown', this.onPointerDown, true);\n\n for (let event of CANCELED_EVENTS) {\n document.addEventListener(event, this.cancelEvent, true);\n }\n\n this.mutationObserver = new MutationObserver(() =>\n this.updateValidDropTargets()\n );\n this.updateValidDropTargets();\n\n announce(this.stringFormatter.format(MESSAGES[getDragModality()]));\n }\n\n teardown(): void {\n document.removeEventListener('keydown', this.onKeyDown, true);\n document.removeEventListener('keyup', this.onKeyUp, true);\n window.removeEventListener('focus', this.onFocus, true);\n window.removeEventListener('blur', this.onBlur, true);\n document.removeEventListener('click', this.onClick, true);\n document.removeEventListener('pointerdown', this.onPointerDown, true);\n\n for (let event of CANCELED_EVENTS) {\n document.removeEventListener(event, this.cancelEvent, true);\n }\n\n this.mutationObserver?.disconnect();\n this.restoreAriaHidden?.();\n }\n\n onKeyDown(e: KeyboardEvent): void {\n this.cancelEvent(e);\n\n if (e.key === 'Escape') {\n this.cancel();\n return;\n }\n\n if (e.key === 'Tab' && !(e.metaKey || e.altKey || e.ctrlKey)) {\n if (e.shiftKey) {\n this.previous();\n } else {\n this.next();\n }\n }\n\n if (typeof this.currentDropTarget?.onKeyDown === 'function') {\n this.currentDropTarget.onKeyDown(e, this.dragTarget);\n }\n }\n\n onKeyUp(e: KeyboardEvent): void {\n this.cancelEvent(e);\n\n if (e.key === 'Enter') {\n if (e.altKey || nodeContains(this.getCurrentActivateButton(), getEventTarget(e) as Node)) {\n this.activate(this.currentDropTarget, this.currentDropItem);\n } else {\n this.drop();\n }\n }\n }\n\n getCurrentActivateButton(): FocusableElement | null {\n return this.currentDropItem?.activateButtonRef?.current ?? this.currentDropTarget?.activateButtonRef?.current ?? null;\n }\n\n onFocus(e: FocusEvent): void {\n let activateButton = this.getCurrentActivateButton();\n let eventTarget = getEventTarget(e);\n if (eventTarget === activateButton) {\n // TODO: canceling this breaks the focus ring. Revisit when we support tabbing.\n this.cancelEvent(e);\n return;\n }\n\n // Prevent focus events, except to the original drag target.\n if (eventTarget !== this.dragTarget.element) {\n this.cancelEvent(e);\n }\n\n // Ignore focus events on the window/document (JSDOM). Will be handled in onBlur, below.\n if (!(eventTarget instanceof HTMLElement) || eventTarget === this.dragTarget.element) {\n return;\n }\n\n let dropTarget =\n this.validDropTargets.find(target => target.element === eventTarget) ||\n this.validDropTargets.find(target => nodeContains(target.element, eventTarget));\n\n if (!dropTarget) {\n // if (e.target === activateButton) {\n // activateButton.focus();\n // }\n if (this.currentDropTarget) {\n this.currentDropTarget.element.focus();\n } else {\n this.dragTarget.element.focus();\n }\n return;\n }\n\n let item = dropItems.get(eventTarget);\n if (dropTarget) {\n this.setCurrentDropTarget(dropTarget, item);\n }\n }\n\n onBlur(e: FocusEvent): void {\n let activateButton = this.getCurrentActivateButton();\n if (e.relatedTarget === activateButton) {\n this.cancelEvent(e);\n return;\n }\n\n if (getEventTarget(e) !== this.dragTarget.element) {\n this.cancelEvent(e);\n }\n\n // If nothing is gaining focus, or e.relatedTarget is the window/document (JSDOM),\n // restore focus back to the current drop target if any, or the original drag target.\n if (!e.relatedTarget || !(e.relatedTarget instanceof HTMLElement)) {\n if (this.currentDropTarget) {\n this.currentDropTarget.element.focus();\n } else {\n this.dragTarget.element.focus();\n }\n }\n }\n\n onClick(e: MouseEvent): void {\n this.cancelEvent(e);\n if (isVirtualClick(e) || this.isVirtualClick) {\n let dropElements = dropItems.values();\n let eventTarget = getEventTarget(e) as HTMLElement;\n let item = [...dropElements].find(item => item.element === eventTarget || nodeContains(item.activateButtonRef?.current, eventTarget));\n let dropTarget = this.validDropTargets.find(target => nodeContains(target.element, eventTarget));\n let activateButton = item?.activateButtonRef?.current ?? dropTarget?.activateButtonRef?.current;\n if (nodeContains(activateButton, eventTarget) && dropTarget) {\n this.activate(dropTarget, item);\n return;\n }\n\n if (getEventTarget(e) === this.dragTarget.element) {\n this.cancel();\n return;\n }\n\n if (dropTarget) {\n this.setCurrentDropTarget(dropTarget, item);\n this.drop(item);\n }\n }\n }\n\n onPointerDown(e: PointerEvent): void {\n // Android Talkback double tap has e.detail = 1 for onClick. Detect the virtual click in onPointerDown before onClick fires\n // so we can properly perform cancel and drop operations.\n this.cancelEvent(e);\n this.isVirtualClick = isVirtualPointerEvent(e);\n }\n\n cancelEvent(e: Event): void {\n // Allow focusin and focusout on the drag target so focus ring works properly.\n let eventTarget = getEventTarget(e);\n if ((e.type === 'focusin' || e.type === 'focusout') && (eventTarget === this.dragTarget?.element || eventTarget === this.getCurrentActivateButton())) {\n return;\n }\n\n // Allow default for events that might cancel a click event\n if (!CLICK_EVENTS.includes(e.type)) {\n e.preventDefault();\n }\n\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n\n updateValidDropTargets(): void {\n if (!this.mutationObserver) {\n return;\n }\n\n this.mutationObserver.disconnect();\n if (this.restoreAriaHidden) {\n this.restoreAriaHidden();\n }\n\n this.validDropTargets = findValidDropTargets(this.dragTarget);\n\n // Shuffle drop target order based on starting drag target.\n if (this.validDropTargets.length > 0) {\n let nearestIndex = this.findNearestDropTarget();\n this.validDropTargets = [\n ...this.validDropTargets.slice(nearestIndex),\n ...this.validDropTargets.slice(0, nearestIndex)\n ];\n }\n\n if (this.currentDropTarget && !this.validDropTargets.includes(this.currentDropTarget)) {\n this.setCurrentDropTarget(this.validDropTargets[0]);\n }\n\n // Find valid drop items within collections\n let types = getTypes(this.dragTarget.items);\n let validDropItems = [...dropItems.values()].filter(item => {\n if (typeof item.getDropOperation === 'function') {\n return item.getDropOperation(types, this.dragTarget.allowedDropOperations) !== 'cancel';\n }\n\n return true;\n });\n\n // Filter out drop targets that contain valid items. We don't want to stop hiding elements\n // other than the drop items that exist inside the collection.\n let visibleDropTargets = this.validDropTargets.filter(target =>\n !validDropItems.some(item => nodeContains(target.element, item.element))\n );\n\n this.restoreAriaHidden = ariaHideOutside([\n this.dragTarget.element,\n ...validDropItems.flatMap(item => item.activateButtonRef?.current ? [item.element, item.activateButtonRef?.current] : [item.element]),\n ...visibleDropTargets.flatMap(target => target.activateButtonRef?.current ? [target.element, target.activateButtonRef?.current] : [target.element])\n ], {shouldUseInert: true});\n\n this.mutationObserver.observe(document.body, {subtree: true, attributes: true, attributeFilter: ['aria-hidden', 'inert']});\n }\n\n next(): void {\n // TODO: Allow tabbing to the activate button. Revisit once we fix the focus ring.\n // For now, the activate button is reachable by screen readers and ArrowLeft/ArrowRight\n // is usable specifically by Tree. Will need tabbing for other components.\n // let activateButton = this.getCurrentActivateButton();\n // if (activateButton && document.activeElement !== activateButton) {\n // activateButton.focus();\n // return;\n // }\n\n if (!this.currentDropTarget) {\n this.setCurrentDropTarget(this.validDropTargets[0]);\n return;\n }\n\n let index = this.validDropTargets.indexOf(this.currentDropTarget);\n if (index < 0) {\n this.setCurrentDropTarget(this.validDropTargets[0]);\n return;\n }\n\n // If we've reached the end of the valid drop targets, cycle back to the original drag target.\n // This lets the user cancel the drag in case they don't have an Escape key (e.g. iPad keyboard case).\n if (index === this.validDropTargets.length - 1) {\n if (!this.dragTarget.element.closest('[aria-hidden=\"true\"], [inert]')) {\n this.setCurrentDropTarget(null);\n this.dragTarget.element.focus();\n } else {\n this.setCurrentDropTarget(this.validDropTargets[0]);\n }\n } else {\n this.setCurrentDropTarget(this.validDropTargets[index + 1]);\n }\n }\n\n previous(): void {\n // let activateButton = this.getCurrentActivateButton();\n // if (activateButton && document.activeElement === activateButton) {\n // let target = this.currentDropItem ?? this.currentDropTarget;\n // if (target) {\n // target.element.focus();\n // return;\n // }\n // }\n\n if (!this.currentDropTarget) {\n this.setCurrentDropTarget(this.validDropTargets[this.validDropTargets.length - 1]);\n return;\n }\n\n let index = this.validDropTargets.indexOf(this.currentDropTarget);\n if (index < 0) {\n this.setCurrentDropTarget(this.validDropTargets[this.validDropTargets.length - 1]);\n return;\n }\n\n // If we've reached the start of the valid drop targets, cycle back to the original drag target.\n // This lets the user cancel the drag in case they don't have an Escape key (e.g. iPad keyboard case).\n if (index === 0) {\n if (!this.dragTarget.element.closest('[aria-hidden=\"true\"], [inert]')) {\n this.setCurrentDropTarget(null);\n this.dragTarget.element.focus();\n } else {\n this.setCurrentDropTarget(this.validDropTargets[this.validDropTargets.length - 1]);\n }\n } else {\n this.setCurrentDropTarget(this.validDropTargets[index - 1]);\n }\n }\n\n findNearestDropTarget(): number {\n let dragTargetRect = this.dragTarget.element.getBoundingClientRect();\n\n let minDistance = Infinity;\n let nearest = -1;\n for (let i = 0; i < this.validDropTargets.length; i++) {\n let dropTarget = this.validDropTargets[i];\n let rect = dropTarget.element.getBoundingClientRect();\n let dx = rect.left - dragTargetRect.left;\n let dy = rect.top - dragTargetRect.top;\n let dist = (dx * dx) + (dy * dy);\n if (dist < minDistance) {\n minDistance = dist;\n nearest = i;\n }\n }\n\n return nearest;\n }\n\n setCurrentDropTarget(dropTarget: DropTarget | null, item?: DroppableItem): void {\n if (dropTarget !== this.currentDropTarget) {\n if (this.currentDropTarget && typeof this.currentDropTarget.onDropExit === 'function') {\n let rect = this.currentDropTarget.element.getBoundingClientRect();\n this.currentDropTarget.onDropExit({\n type: 'dropexit',\n x: rect.left + (rect.width / 2),\n y: rect.top + (rect.height / 2)\n });\n }\n\n this.currentDropTarget = dropTarget;\n\n if (dropTarget) {\n if (typeof dropTarget.onDropEnter === 'function') {\n let rect = dropTarget.element.getBoundingClientRect();\n dropTarget.onDropEnter({\n type: 'dropenter',\n x: rect.left + (rect.width / 2),\n y: rect.top + (rect.height / 2)\n }, this.dragTarget);\n }\n\n if (!item) {\n dropTarget?.element.focus();\n }\n }\n }\n\n if (item != null && item !== this.currentDropItem) {\n if (this.currentDropTarget && typeof this.currentDropTarget.onDropTargetEnter === 'function') {\n this.currentDropTarget.onDropTargetEnter(item.target);\n }\n item.element.focus();\n this.currentDropItem = item;\n\n // Announce first drop target after drag start announcement finishes.\n // Otherwise, it will never get announced because drag start announcement is assertive.\n if (!this.initialFocused) {\n let label = item?.element.getAttribute('aria-label');\n if (label) {\n announce(label, 'polite');\n }\n this.initialFocused = true;\n }\n }\n }\n\n end(): void {\n this.teardown();\n endDragging();\n\n if (typeof this.dragTarget.onDragEnd === 'function') {\n let target = this.currentDropTarget && this.dropOperation !== 'cancel' ? this.currentDropTarget : this.dragTarget;\n let rect = target.element.getBoundingClientRect();\n this.dragTarget.onDragEnd({\n type: 'dragend',\n x: rect.x + (rect.width / 2),\n y: rect.y + (rect.height / 2),\n dropOperation: this.dropOperation || 'cancel'\n });\n }\n\n if (this.currentDropTarget && !this.currentDropTarget.preventFocusOnDrop) {\n // Re-trigger focus event on active element, since it will not have received it during dragging (see cancelEvent).\n // This corrects state such as whether focus ring should appear.\n // useDroppableCollection handles this itself, so this is only for standalone drop zones.\n getActiveElement()?.dispatchEvent(new FocusEvent('focusin', {bubbles: true}));\n }\n\n this.setCurrentDropTarget(null);\n }\n\n cancel(): void {\n this.setCurrentDropTarget(null);\n this.end();\n if (!this.dragTarget.element.closest('[aria-hidden=\"true\"], [inert]')) {\n this.dragTarget.element.focus();\n }\n\n // Re-trigger focus event on active element, since it will not have received it during dragging (see cancelEvent).\n getActiveElement()?.dispatchEvent(new FocusEvent('focusin', {bubbles: true}));\n\n announce(this.stringFormatter.format('dropCanceled'));\n }\n\n drop(item?: DroppableItem): void {\n if (!this.currentDropTarget) {\n this.cancel();\n return;\n }\n\n if (typeof item?.getDropOperation === 'function') {\n let types = getTypes(this.dragTarget.items);\n this.dropOperation = item.getDropOperation(types, this.dragTarget.allowedDropOperations);\n } else if (typeof this.currentDropTarget.getDropOperation === 'function') {\n let types = getTypes(this.dragTarget.items);\n this.dropOperation = this.currentDropTarget.getDropOperation(types, this.dragTarget.allowedDropOperations);\n } else {\n // TODO: show menu ??\n this.dropOperation = this.dragTarget.allowedDropOperations[0];\n }\n\n if (typeof this.currentDropTarget.onDrop === 'function') {\n let items: DropItem[] = this.dragTarget.items.map(item => ({\n kind: 'text',\n types: new Set(Object.keys(item)),\n getText: (type: string) => Promise.resolve(item[type])\n }));\n\n let rect = this.currentDropTarget.element.getBoundingClientRect();\n this.currentDropTarget.onDrop({\n type: 'drop',\n x: rect.left + (rect.width / 2),\n y: rect.top + (rect.height / 2),\n items,\n dropOperation: this.dropOperation\n }, item?.target ?? null);\n }\n\n this.end();\n announce(this.stringFormatter.format('dropComplete'));\n }\n\n activate(dropTarget: DropTarget | null, dropItem: DroppableItem | null | undefined): void {\n if (dropTarget && typeof dropTarget.onDropActivate === 'function') {\n let target = dropItem?.target ?? null;\n let rect = dropTarget.element.getBoundingClientRect();\n dropTarget.onDropActivate({\n type: 'dropactivate',\n x: rect.left + (rect.width / 2),\n y: rect.top + (rect.height / 2)\n }, target);\n }\n }\n}\n\nfunction findValidDropTargets(options: DragTarget) {\n let types = getTypes(options.items);\n return [...dropTargets.values()].filter(target => {\n if (target.element.closest('[aria-hidden=\"true\"], [inert]')) {\n return false;\n }\n\n if (typeof target.getDropOperation === 'function') {\n return target.getDropOperation(types, options.allowedDropOperations) !== 'cancel';\n }\n\n return true;\n });\n}\n"],"names":[],"version":3,"file":"DragManager.mjs.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/react-aria/src/dnd/DragManager.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {announce} from '../live-announcer/LiveAnnouncer';\n\nimport {ariaHideOutside} from '../overlays/ariaHideOutside';\nimport {\n DragEndEvent,\n DragItem,\n DropActivateEvent,\n DropEnterEvent,\n DropEvent,\n DropExitEvent,\n DropItem,\n DropOperation,\n DropTarget as DroppableCollectionTarget,\n FocusableElement\n} from '@react-types/shared';\nimport {getActiveElement, getEventTarget, nodeContains} from '../utils/shadowdom/DOMFunctions';\nimport {getDragModality, getTypes} from './utils';\nimport {isVirtualClick, isVirtualPointerEvent} from '../utils/isVirtualEvent';\nimport type {LocalizedStringFormatter} from '@internationalized/string';\nimport {RefObject, useEffect, useState} from 'react';\n\nlet dropTargets = new Map<Element, DropTarget>();\nlet dropItems = new Map<Element, DroppableItem>();\nlet dragSession: DragSession | null = null;\nlet subscriptions = new Set<() => void>();\n\ninterface DropTarget {\n element: FocusableElement;\n preventFocusOnDrop?: boolean;\n getDropOperation?: (types: Set<string>, allowedOperations: DropOperation[]) => DropOperation;\n onDropEnter?: (e: DropEnterEvent, dragTarget: DragTarget) => void;\n onDropExit?: (e: DropExitEvent) => void;\n onDropTargetEnter?: (target: DroppableCollectionTarget | null) => void;\n onDropActivate?: (e: DropActivateEvent, target: DroppableCollectionTarget | null) => void;\n onDrop?: (e: DropEvent, target: DroppableCollectionTarget | null) => void;\n onKeyDown?: (e: KeyboardEvent, dragTarget: DragTarget) => void;\n activateButtonRef?: RefObject<FocusableElement | null>;\n}\n\nexport function registerDropTarget(target: DropTarget) {\n dropTargets.set(target.element, target);\n dragSession?.updateValidDropTargets();\n return (): void => {\n dropTargets.delete(target.element);\n dragSession?.updateValidDropTargets();\n };\n}\n\ninterface DroppableItem {\n element: FocusableElement;\n target: DroppableCollectionTarget;\n getDropOperation?: (types: Set<string>, allowedOperations: DropOperation[]) => DropOperation;\n activateButtonRef?: RefObject<FocusableElement | null>;\n}\n\nexport function registerDropItem(item: DroppableItem) {\n dropItems.set(item.element, item);\n return (): void => {\n dropItems.delete(item.element);\n };\n}\n\ninterface DragTarget {\n element: FocusableElement;\n items: DragItem[];\n allowedDropOperations: DropOperation[];\n onDragEnd?: (e: DragEndEvent) => void;\n}\n\nexport function beginDragging(target: DragTarget, stringFormatter: LocalizedStringFormatter): void {\n if (dragSession) {\n throw new Error('Cannot begin dragging while already dragging');\n }\n\n dragSession = new DragSession(target, stringFormatter);\n requestAnimationFrame(() => {\n if (dragSession) {\n dragSession.setup();\n if (getDragModality() === 'keyboard') {\n dragSession.next();\n }\n }\n });\n\n for (let cb of subscriptions) {\n cb();\n }\n}\n\nexport function useDragSession(): DragSession | null {\n let [session, setSession] = useState(dragSession);\n\n useEffect(() => {\n let cb = () => setSession(dragSession);\n subscriptions.add(cb);\n return () => {\n subscriptions.delete(cb);\n };\n }, []);\n\n return session;\n}\n\n/** @private */\nexport function isVirtualDragging(): boolean {\n return !!dragSession;\n}\n\nfunction endDragging() {\n dragSession = null;\n for (let cb of subscriptions) {\n cb();\n }\n}\n\nexport function isValidDropTarget(element: Element): boolean {\n for (let target of dropTargets.keys()) {\n if (nodeContains(target, element)) {\n return true;\n }\n }\n\n return false;\n}\n\nconst CANCELED_EVENTS = [\n 'pointerdown',\n 'pointermove',\n 'pointerenter',\n 'pointerleave',\n 'pointerover',\n 'pointerout',\n 'pointerup',\n 'mousedown',\n 'mousemove',\n 'mouseenter',\n 'mouseleave',\n 'mouseover',\n 'mouseout',\n 'mouseup',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'focusin',\n 'focusout'\n];\n\nconst CLICK_EVENTS = ['pointerup', 'mouseup', 'touchend'];\n\nconst MESSAGES = {\n keyboard: 'dragStartedKeyboard',\n touch: 'dragStartedTouch',\n virtual: 'dragStartedVirtual'\n};\n\nclass DragSession {\n dragTarget: DragTarget;\n validDropTargets: DropTarget[] = [];\n currentDropTarget: DropTarget | null = null;\n currentDropItem: DroppableItem | null = null;\n dropOperation: DropOperation | null = null;\n private mutationObserver: MutationObserver | null = null;\n private restoreAriaHidden: (() => void) | null = null;\n private stringFormatter: LocalizedStringFormatter;\n private isVirtualClick: boolean = false;\n private initialFocused: boolean;\n\n constructor(target: DragTarget, stringFormatter: LocalizedStringFormatter) {\n this.dragTarget = target;\n this.stringFormatter = stringFormatter;\n\n this.onKeyDown = this.onKeyDown.bind(this);\n this.onKeyUp = this.onKeyUp.bind(this);\n this.onFocus = this.onFocus.bind(this);\n this.onBlur = this.onBlur.bind(this);\n this.onClick = this.onClick.bind(this);\n this.onPointerDown = this.onPointerDown.bind(this);\n this.cancelEvent = this.cancelEvent.bind(this);\n this.initialFocused = false;\n }\n\n setup(): void {\n document.addEventListener('keydown', this.onKeyDown, true);\n document.addEventListener('keyup', this.onKeyUp, true);\n window.addEventListener('focus', this.onFocus, true);\n window.addEventListener('blur', this.onBlur, true);\n document.addEventListener('click', this.onClick, true);\n document.addEventListener('pointerdown', this.onPointerDown, true);\n\n for (let event of CANCELED_EVENTS) {\n document.addEventListener(event, this.cancelEvent, true);\n }\n\n this.mutationObserver = new MutationObserver(() => this.updateValidDropTargets());\n this.updateValidDropTargets();\n\n announce(this.stringFormatter.format(MESSAGES[getDragModality()]));\n }\n\n teardown(): void {\n document.removeEventListener('keydown', this.onKeyDown, true);\n document.removeEventListener('keyup', this.onKeyUp, true);\n window.removeEventListener('focus', this.onFocus, true);\n window.removeEventListener('blur', this.onBlur, true);\n document.removeEventListener('click', this.onClick, true);\n document.removeEventListener('pointerdown', this.onPointerDown, true);\n\n for (let event of CANCELED_EVENTS) {\n document.removeEventListener(event, this.cancelEvent, true);\n }\n\n this.mutationObserver?.disconnect();\n this.restoreAriaHidden?.();\n }\n\n onKeyDown(e: KeyboardEvent): void {\n this.cancelEvent(e);\n\n if (e.key === 'Escape') {\n this.cancel();\n return;\n }\n\n if (e.key === 'Tab' && !(e.metaKey || e.altKey || e.ctrlKey)) {\n if (e.shiftKey) {\n this.previous();\n } else {\n this.next();\n }\n }\n\n if (typeof this.currentDropTarget?.onKeyDown === 'function') {\n this.currentDropTarget.onKeyDown(e, this.dragTarget);\n }\n }\n\n onKeyUp(e: KeyboardEvent): void {\n this.cancelEvent(e);\n\n if (e.key === 'Enter') {\n if (e.altKey || nodeContains(this.getCurrentActivateButton(), getEventTarget(e) as Node)) {\n this.activate(this.currentDropTarget, this.currentDropItem);\n } else {\n this.drop();\n }\n }\n }\n\n getCurrentActivateButton(): FocusableElement | null {\n return (\n this.currentDropItem?.activateButtonRef?.current ??\n this.currentDropTarget?.activateButtonRef?.current ??\n null\n );\n }\n\n onFocus(e: FocusEvent): void {\n let activateButton = this.getCurrentActivateButton();\n let eventTarget = getEventTarget(e);\n if (eventTarget === activateButton) {\n // TODO: canceling this breaks the focus ring. Revisit when we support tabbing.\n this.cancelEvent(e);\n return;\n }\n\n // Prevent focus events, except to the original drag target.\n if (eventTarget !== this.dragTarget.element) {\n this.cancelEvent(e);\n }\n\n // Ignore focus events on the window/document (JSDOM). Will be handled in onBlur, below.\n if (!(eventTarget instanceof HTMLElement) || eventTarget === this.dragTarget.element) {\n return;\n }\n\n let dropTarget =\n this.validDropTargets.find(target => target.element === eventTarget) ||\n this.validDropTargets.find(target => nodeContains(target.element, eventTarget));\n\n if (!dropTarget) {\n // if (e.target === activateButton) {\n // activateButton.focus();\n // }\n if (this.currentDropTarget) {\n this.currentDropTarget.element.focus();\n } else {\n this.dragTarget.element.focus();\n }\n return;\n }\n\n let item = dropItems.get(eventTarget);\n if (dropTarget) {\n this.setCurrentDropTarget(dropTarget, item);\n }\n }\n\n onBlur(e: FocusEvent): void {\n let activateButton = this.getCurrentActivateButton();\n if (e.relatedTarget === activateButton) {\n this.cancelEvent(e);\n return;\n }\n\n if (getEventTarget(e) !== this.dragTarget.element) {\n this.cancelEvent(e);\n }\n\n // If nothing is gaining focus, or e.relatedTarget is the window/document (JSDOM),\n // restore focus back to the current drop target if any, or the original drag target.\n if (!e.relatedTarget || !(e.relatedTarget instanceof HTMLElement)) {\n if (this.currentDropTarget) {\n this.currentDropTarget.element.focus();\n } else {\n this.dragTarget.element.focus();\n }\n }\n }\n\n onClick(e: MouseEvent): void {\n this.cancelEvent(e);\n if (isVirtualClick(e) || this.isVirtualClick) {\n let dropElements = dropItems.values();\n let eventTarget = getEventTarget(e) as HTMLElement;\n let item = [...dropElements].find(\n item =>\n item.element === eventTarget || nodeContains(item.activateButtonRef?.current, eventTarget)\n );\n let dropTarget = this.validDropTargets.find(target =>\n nodeContains(target.element, eventTarget)\n );\n let activateButton =\n item?.activateButtonRef?.current ?? dropTarget?.activateButtonRef?.current;\n if (nodeContains(activateButton, eventTarget) && dropTarget) {\n this.activate(dropTarget, item);\n return;\n }\n\n if (getEventTarget(e) === this.dragTarget.element) {\n this.cancel();\n return;\n }\n\n if (dropTarget) {\n this.setCurrentDropTarget(dropTarget, item);\n this.drop(item);\n }\n }\n }\n\n onPointerDown(e: PointerEvent): void {\n // Android Talkback double tap has e.detail = 1 for onClick. Detect the virtual click in onPointerDown before onClick fires\n // so we can properly perform cancel and drop operations.\n this.cancelEvent(e);\n this.isVirtualClick = isVirtualPointerEvent(e);\n }\n\n cancelEvent(e: Event): void {\n // Allow focusin and focusout on the drag target so focus ring works properly.\n let eventTarget = getEventTarget(e);\n if (\n (e.type === 'focusin' || e.type === 'focusout') &&\n (eventTarget === this.dragTarget?.element || eventTarget === this.getCurrentActivateButton())\n ) {\n return;\n }\n\n // Allow default for events that might cancel a click event\n if (!CLICK_EVENTS.includes(e.type)) {\n e.preventDefault();\n }\n\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n\n updateValidDropTargets(): void {\n if (!this.mutationObserver) {\n return;\n }\n\n this.mutationObserver.disconnect();\n if (this.restoreAriaHidden) {\n this.restoreAriaHidden();\n }\n\n this.validDropTargets = findValidDropTargets(this.dragTarget);\n\n // Shuffle drop target order based on starting drag target.\n if (this.validDropTargets.length > 0) {\n let nearestIndex = this.findNearestDropTarget();\n this.validDropTargets = [\n ...this.validDropTargets.slice(nearestIndex),\n ...this.validDropTargets.slice(0, nearestIndex)\n ];\n }\n\n if (this.currentDropTarget && !this.validDropTargets.includes(this.currentDropTarget)) {\n this.setCurrentDropTarget(this.validDropTargets[0]);\n }\n\n // Find valid drop items within collections\n let types = getTypes(this.dragTarget.items);\n let validDropItems = [...dropItems.values()].filter(item => {\n if (typeof item.getDropOperation === 'function') {\n return item.getDropOperation(types, this.dragTarget.allowedDropOperations) !== 'cancel';\n }\n\n return true;\n });\n\n // Filter out drop targets that contain valid items. We don't want to stop hiding elements\n // other than the drop items that exist inside the collection.\n let visibleDropTargets = this.validDropTargets.filter(\n target => !validDropItems.some(item => nodeContains(target.element, item.element))\n );\n\n this.restoreAriaHidden = ariaHideOutside(\n [\n this.dragTarget.element,\n ...validDropItems.flatMap(item =>\n item.activateButtonRef?.current\n ? [item.element, item.activateButtonRef?.current]\n : [item.element]\n ),\n ...visibleDropTargets.flatMap(target =>\n target.activateButtonRef?.current\n ? [target.element, target.activateButtonRef?.current]\n : [target.element]\n )\n ],\n {shouldUseInert: true}\n );\n\n this.mutationObserver.observe(document.body, {\n subtree: true,\n attributes: true,\n attributeFilter: ['aria-hidden', 'inert']\n });\n }\n\n next(): void {\n // TODO: Allow tabbing to the activate button. Revisit once we fix the focus ring.\n // For now, the activate button is reachable by screen readers and ArrowLeft/ArrowRight\n // is usable specifically by Tree. Will need tabbing for other components.\n // let activateButton = this.getCurrentActivateButton();\n // if (activateButton && document.activeElement !== activateButton) {\n // activateButton.focus();\n // return;\n // }\n\n if (!this.currentDropTarget) {\n this.setCurrentDropTarget(this.validDropTargets[0]);\n return;\n }\n\n let index = this.validDropTargets.indexOf(this.currentDropTarget);\n if (index < 0) {\n this.setCurrentDropTarget(this.validDropTargets[0]);\n return;\n }\n\n // If we've reached the end of the valid drop targets, cycle back to the original drag target.\n // This lets the user cancel the drag in case they don't have an Escape key (e.g. iPad keyboard case).\n if (index === this.validDropTargets.length - 1) {\n if (!this.dragTarget.element.closest('[aria-hidden=\"true\"], [inert]')) {\n this.setCurrentDropTarget(null);\n this.dragTarget.element.focus();\n } else {\n this.setCurrentDropTarget(this.validDropTargets[0]);\n }\n } else {\n this.setCurrentDropTarget(this.validDropTargets[index + 1]);\n }\n }\n\n previous(): void {\n // let activateButton = this.getCurrentActivateButton();\n // if (activateButton && document.activeElement === activateButton) {\n // let target = this.currentDropItem ?? this.currentDropTarget;\n // if (target) {\n // target.element.focus();\n // return;\n // }\n // }\n\n if (!this.currentDropTarget) {\n this.setCurrentDropTarget(this.validDropTargets[this.validDropTargets.length - 1]);\n return;\n }\n\n let index = this.validDropTargets.indexOf(this.currentDropTarget);\n if (index < 0) {\n this.setCurrentDropTarget(this.validDropTargets[this.validDropTargets.length - 1]);\n return;\n }\n\n // If we've reached the start of the valid drop targets, cycle back to the original drag target.\n // This lets the user cancel the drag in case they don't have an Escape key (e.g. iPad keyboard case).\n if (index === 0) {\n if (!this.dragTarget.element.closest('[aria-hidden=\"true\"], [inert]')) {\n this.setCurrentDropTarget(null);\n this.dragTarget.element.focus();\n } else {\n this.setCurrentDropTarget(this.validDropTargets[this.validDropTargets.length - 1]);\n }\n } else {\n this.setCurrentDropTarget(this.validDropTargets[index - 1]);\n }\n }\n\n findNearestDropTarget(): number {\n let dragTargetRect = this.dragTarget.element.getBoundingClientRect();\n\n let minDistance = Infinity;\n let nearest = -1;\n for (let i = 0; i < this.validDropTargets.length; i++) {\n let dropTarget = this.validDropTargets[i];\n let rect = dropTarget.element.getBoundingClientRect();\n let dx = rect.left - dragTargetRect.left;\n let dy = rect.top - dragTargetRect.top;\n let dist = dx * dx + dy * dy;\n if (dist < minDistance) {\n minDistance = dist;\n nearest = i;\n }\n }\n\n return nearest;\n }\n\n setCurrentDropTarget(dropTarget: DropTarget | null, item?: DroppableItem): void {\n if (dropTarget !== this.currentDropTarget) {\n if (this.currentDropTarget && typeof this.currentDropTarget.onDropExit === 'function') {\n let rect = this.currentDropTarget.element.getBoundingClientRect();\n this.currentDropTarget.onDropExit({\n type: 'dropexit',\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height / 2\n });\n }\n\n this.currentDropTarget = dropTarget;\n\n if (dropTarget) {\n if (typeof dropTarget.onDropEnter === 'function') {\n let rect = dropTarget.element.getBoundingClientRect();\n dropTarget.onDropEnter(\n {\n type: 'dropenter',\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height / 2\n },\n this.dragTarget\n );\n }\n\n if (!item) {\n dropTarget?.element.focus();\n }\n }\n }\n\n if (item != null && item !== this.currentDropItem) {\n if (\n this.currentDropTarget &&\n typeof this.currentDropTarget.onDropTargetEnter === 'function'\n ) {\n this.currentDropTarget.onDropTargetEnter(item.target);\n }\n item.element.focus();\n this.currentDropItem = item;\n\n // Announce first drop target after drag start announcement finishes.\n // Otherwise, it will never get announced because drag start announcement is assertive.\n if (!this.initialFocused) {\n let label = item?.element.getAttribute('aria-label');\n if (label) {\n announce(label, 'polite');\n }\n this.initialFocused = true;\n }\n }\n }\n\n end(): void {\n this.teardown();\n endDragging();\n\n if (typeof this.dragTarget.onDragEnd === 'function') {\n let target =\n this.currentDropTarget && this.dropOperation !== 'cancel'\n ? this.currentDropTarget\n : this.dragTarget;\n let rect = target.element.getBoundingClientRect();\n this.dragTarget.onDragEnd({\n type: 'dragend',\n x: rect.x + rect.width / 2,\n y: rect.y + rect.height / 2,\n dropOperation: this.dropOperation || 'cancel'\n });\n }\n\n if (this.currentDropTarget && !this.currentDropTarget.preventFocusOnDrop) {\n // Re-trigger focus event on active element, since it will not have received it during dragging (see cancelEvent).\n // This corrects state such as whether focus ring should appear.\n // useDroppableCollection handles this itself, so this is only for standalone drop zones.\n getActiveElement()?.dispatchEvent(new FocusEvent('focusin', {bubbles: true}));\n }\n\n this.setCurrentDropTarget(null);\n }\n\n cancel(): void {\n this.setCurrentDropTarget(null);\n this.end();\n if (!this.dragTarget.element.closest('[aria-hidden=\"true\"], [inert]')) {\n this.dragTarget.element.focus();\n }\n\n // Re-trigger focus event on active element, since it will not have received it during dragging (see cancelEvent).\n getActiveElement()?.dispatchEvent(new FocusEvent('focusin', {bubbles: true}));\n\n announce(this.stringFormatter.format('dropCanceled'));\n }\n\n drop(item?: DroppableItem): void {\n if (!this.currentDropTarget) {\n this.cancel();\n return;\n }\n\n if (typeof item?.getDropOperation === 'function') {\n let types = getTypes(this.dragTarget.items);\n this.dropOperation = item.getDropOperation(types, this.dragTarget.allowedDropOperations);\n } else if (typeof this.currentDropTarget.getDropOperation === 'function') {\n let types = getTypes(this.dragTarget.items);\n this.dropOperation = this.currentDropTarget.getDropOperation(\n types,\n this.dragTarget.allowedDropOperations\n );\n } else {\n // TODO: show menu ??\n this.dropOperation = this.dragTarget.allowedDropOperations[0];\n }\n\n if (typeof this.currentDropTarget.onDrop === 'function') {\n let items: DropItem[] = this.dragTarget.items.map(item => ({\n kind: 'text',\n types: new Set(Object.keys(item)),\n getText: (type: string) => Promise.resolve(item[type])\n }));\n\n let rect = this.currentDropTarget.element.getBoundingClientRect();\n this.currentDropTarget.onDrop(\n {\n type: 'drop',\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height / 2,\n items,\n dropOperation: this.dropOperation\n },\n item?.target ?? null\n );\n }\n\n this.end();\n announce(this.stringFormatter.format('dropComplete'));\n }\n\n activate(dropTarget: DropTarget | null, dropItem: DroppableItem | null | undefined): void {\n if (dropTarget && typeof dropTarget.onDropActivate === 'function') {\n let target = dropItem?.target ?? null;\n let rect = dropTarget.element.getBoundingClientRect();\n dropTarget.onDropActivate(\n {\n type: 'dropactivate',\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height / 2\n },\n target\n );\n }\n }\n}\n\nfunction findValidDropTargets(options: DragTarget) {\n let types = getTypes(options.items);\n return [...dropTargets.values()].filter(target => {\n if (target.element.closest('[aria-hidden=\"true\"], [inert]')) {\n return false;\n }\n\n if (typeof target.getDropOperation === 'function') {\n return target.getDropOperation(types, options.allowedDropOperations) !== 'cancel';\n }\n\n return true;\n });\n}\n"],"names":[],"version":3,"file":"DragManager.mjs.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;AAiBM,MAAM,0DAET,CAAA,GAAA,sCAAI,EAAE,UAAU,CAAC,SAAS,YAC5B,KAAuB,EACvB,GAA6C;IAE7C,IAAI,SAAS,MAAM,QAAQ;IAC3B,IAAI,CAAC,UAAU,YAAY,GAAG,CAAA,GAAA,qBAAO,EAAsB;IAC3D,IAAI,SAAS,CAAA,GAAA,mBAAK,EAAyB;IAC3C,IAAI,MAAM,CAAA,GAAA,mBAAK,EAAwD;IAEvE,CAAA,GAAA,gCAAkB,EAChB,KACA,IACE,CAAC,OAAmB;YAClB,qFAAqF;YACrF,kGAAkG;YAElG,IAAI,SAAS,OAAO;YACpB,IAAI;YACJ,IAAI;YACJ,IAAI;YAEJ,IAAI,UAAU,OAAO,WAAW,YAAY,aAAa,QAAQ;gBAC/D,UAAU,OAAO,OAAO;gBACxB,UAAU,OAAO,CAAC;gBAClB,UAAU,OAAO,CAAC;YACpB,OACE,UAAU;YAGZ,CAAA,GAAA,yBAAQ,EAAE;gBACR,YAAY;YACd;YAEA,+CAA+C;YAC/C,SAAS,OAAO,OAAO,EAAE,SAAS;YAElC,kFAAkF;YAClF,IAAI,OAAO,GAAG,sBAAsB;gBAClC,YAAY;YACd;QACF,GACF;QAAC;KAAO;IAGV,CAAA,GAAA,sBAAQ,EAAE;QACR,OAAO;YACL,IAAI,IAAI,OAAO,EACb,qBAAqB,IAAI,OAAO;QAEpC;IACF,GAAG,EAAE;IAEL,IAAI,CAAC,UACH,OAAO;IAGT,qBACE,0DAAC;QAAI,OAAO;YAAC,QAAQ;YAAM,UAAU;YAAS,KAAK;YAAG,MAAM;QAAO;QAAG,KAAK;OACxE;AAGP","sources":["packages/react-aria/src/dnd/DragPreview.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {DragItem, DragPreviewRenderer} from '@react-types/shared';\nimport {flushSync} from 'react-dom';\nimport React, {ForwardedRef, JSX, useEffect, useImperativeHandle, useRef, useState} from 'react';\n\nexport interface DragPreviewProps {\n /**\n * A render function which returns a preview element, or an object containing the element\n * and a custom offset. If an object is returned, the provided `x` and `y` values will be\n * used as the drag preview offset instead of the default calculation.\n */\n children: (\n items: DragItem[]\n ) => JSX.Element | {element: JSX.Element; x: number; y: number} | null;\n}\n\nexport const DragPreview: React.ForwardRefExoticComponent<\n DragPreviewProps & React.RefAttributes<DragPreviewRenderer | null>\n> = React.forwardRef(function DragPreview(\n props: DragPreviewProps,\n ref: ForwardedRef<DragPreviewRenderer | null>\n) {\n let render = props.children;\n let [children, setChildren] = useState<JSX.Element | null>(null);\n let domRef = useRef<HTMLDivElement | null>(null);\n let raf = useRef<ReturnType<typeof requestAnimationFrame> | undefined>(undefined);\n\n useImperativeHandle(\n ref,\n () =>\n (items: DragItem[], callback: (node: HTMLElement | null, x?: number, y?: number) => void) => {\n // This will be called during the onDragStart event by useDrag. We need to render the\n // preview synchronously before this event returns so we can call event.dataTransfer.setDragImage.\n\n let result = render(items);\n let element: JSX.Element | null;\n let offsetX: number | undefined;\n let offsetY: number | undefined;\n\n if (result && typeof result === 'object' && 'element' in result) {\n element = result.element;\n offsetX = result.x;\n offsetY = result.y;\n } else {\n element = result as JSX.Element | null;\n }\n\n flushSync(() => {\n setChildren(element);\n });\n\n // Yield back to useDrag to set the drag image.\n callback(domRef.current, offsetX, offsetY);\n\n // Remove the preview from the DOM after a frame so the browser has time to paint.\n raf.current = requestAnimationFrame(() => {\n setChildren(null);\n });\n },\n [render]\n );\n\n useEffect(() => {\n return () => {\n if (raf.current) {\n cancelAnimationFrame(raf.current);\n }\n };\n }, []);\n\n if (!children) {\n return null;\n }\n\n return (\n <div style={{zIndex: -100, position: 'fixed', top: 0, left: -100000}} ref={domRef}>\n {children}\n </div>\n );\n});\n"],"names":[],"version":3,"file":"DragPreview.cjs.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;AAAA;;;;;;;;;;CAUC;;
|
|
1
|
+
{"mappings":";;;AAAA;;;;;;;;;;CAUC;;AAiBM,MAAM,0DAET,CAAA,GAAA,YAAI,EAAE,UAAU,CAAC,SAAS,YAC5B,KAAuB,EACvB,GAA6C;IAE7C,IAAI,SAAS,MAAM,QAAQ;IAC3B,IAAI,CAAC,UAAU,YAAY,GAAG,CAAA,GAAA,eAAO,EAAsB;IAC3D,IAAI,SAAS,CAAA,GAAA,aAAK,EAAyB;IAC3C,IAAI,MAAM,CAAA,GAAA,aAAK,EAAwD;IAEvE,CAAA,GAAA,0BAAkB,EAChB,KACA,IACE,CAAC,OAAmB;YAClB,qFAAqF;YACrF,kGAAkG;YAElG,IAAI,SAAS,OAAO;YACpB,IAAI;YACJ,IAAI;YACJ,IAAI;YAEJ,IAAI,UAAU,OAAO,WAAW,YAAY,aAAa,QAAQ;gBAC/D,UAAU,OAAO,OAAO;gBACxB,UAAU,OAAO,CAAC;gBAClB,UAAU,OAAO,CAAC;YACpB,OACE,UAAU;YAGZ,CAAA,GAAA,gBAAQ,EAAE;gBACR,YAAY;YACd;YAEA,+CAA+C;YAC/C,SAAS,OAAO,OAAO,EAAE,SAAS;YAElC,kFAAkF;YAClF,IAAI,OAAO,GAAG,sBAAsB;gBAClC,YAAY;YACd;QACF,GACF;QAAC;KAAO;IAGV,CAAA,GAAA,gBAAQ,EAAE;QACR,OAAO;YACL,IAAI,IAAI,OAAO,EACb,qBAAqB,IAAI,OAAO;QAEpC;IACF,GAAG,EAAE;IAEL,IAAI,CAAC,UACH,OAAO;IAGT,qBACE,gCAAC;QAAI,OAAO;YAAC,QAAQ;YAAM,UAAU;YAAS,KAAK;YAAG,MAAM;QAAO;QAAG,KAAK;OACxE;AAGP","sources":["packages/react-aria/src/dnd/DragPreview.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {DragItem, DragPreviewRenderer} from '@react-types/shared';\nimport {flushSync} from 'react-dom';\nimport React, {ForwardedRef, JSX, useEffect, useImperativeHandle, useRef, useState} from 'react';\n\nexport interface DragPreviewProps {\n /**\n * A render function which returns a preview element, or an object containing the element\n * and a custom offset. If an object is returned, the provided `x` and `y` values will be\n * used as the drag preview offset instead of the default calculation.\n */\n children: (\n items: DragItem[]\n ) => JSX.Element | {element: JSX.Element; x: number; y: number} | null;\n}\n\nexport const DragPreview: React.ForwardRefExoticComponent<\n DragPreviewProps & React.RefAttributes<DragPreviewRenderer | null>\n> = React.forwardRef(function DragPreview(\n props: DragPreviewProps,\n ref: ForwardedRef<DragPreviewRenderer | null>\n) {\n let render = props.children;\n let [children, setChildren] = useState<JSX.Element | null>(null);\n let domRef = useRef<HTMLDivElement | null>(null);\n let raf = useRef<ReturnType<typeof requestAnimationFrame> | undefined>(undefined);\n\n useImperativeHandle(\n ref,\n () =>\n (items: DragItem[], callback: (node: HTMLElement | null, x?: number, y?: number) => void) => {\n // This will be called during the onDragStart event by useDrag. We need to render the\n // preview synchronously before this event returns so we can call event.dataTransfer.setDragImage.\n\n let result = render(items);\n let element: JSX.Element | null;\n let offsetX: number | undefined;\n let offsetY: number | undefined;\n\n if (result && typeof result === 'object' && 'element' in result) {\n element = result.element;\n offsetX = result.x;\n offsetY = result.y;\n } else {\n element = result as JSX.Element | null;\n }\n\n flushSync(() => {\n setChildren(element);\n });\n\n // Yield back to useDrag to set the drag image.\n callback(domRef.current, offsetX, offsetY);\n\n // Remove the preview from the DOM after a frame so the browser has time to paint.\n raf.current = requestAnimationFrame(() => {\n setChildren(null);\n });\n },\n [render]\n );\n\n useEffect(() => {\n return () => {\n if (raf.current) {\n cancelAnimationFrame(raf.current);\n }\n };\n }, []);\n\n if (!children) {\n return null;\n }\n\n return (\n <div style={{zIndex: -100, position: 'fixed', top: 0, left: -100000}} ref={domRef}>\n {children}\n </div>\n );\n});\n"],"names":[],"version":3,"file":"DragPreview.js.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;AAAA;;;;;;;;;;CAUC;;
|
|
1
|
+
{"mappings":";;;AAAA;;;;;;;;;;CAUC;;AAiBM,MAAM,0DAET,CAAA,GAAA,YAAI,EAAE,UAAU,CAAC,SAAS,YAC5B,KAAuB,EACvB,GAA6C;IAE7C,IAAI,SAAS,MAAM,QAAQ;IAC3B,IAAI,CAAC,UAAU,YAAY,GAAG,CAAA,GAAA,eAAO,EAAsB;IAC3D,IAAI,SAAS,CAAA,GAAA,aAAK,EAAyB;IAC3C,IAAI,MAAM,CAAA,GAAA,aAAK,EAAwD;IAEvE,CAAA,GAAA,0BAAkB,EAChB,KACA,IACE,CAAC,OAAmB;YAClB,qFAAqF;YACrF,kGAAkG;YAElG,IAAI,SAAS,OAAO;YACpB,IAAI;YACJ,IAAI;YACJ,IAAI;YAEJ,IAAI,UAAU,OAAO,WAAW,YAAY,aAAa,QAAQ;gBAC/D,UAAU,OAAO,OAAO;gBACxB,UAAU,OAAO,CAAC;gBAClB,UAAU,OAAO,CAAC;YACpB,OACE,UAAU;YAGZ,CAAA,GAAA,gBAAQ,EAAE;gBACR,YAAY;YACd;YAEA,+CAA+C;YAC/C,SAAS,OAAO,OAAO,EAAE,SAAS;YAElC,kFAAkF;YAClF,IAAI,OAAO,GAAG,sBAAsB;gBAClC,YAAY;YACd;QACF,GACF;QAAC;KAAO;IAGV,CAAA,GAAA,gBAAQ,EAAE;QACR,OAAO;YACL,IAAI,IAAI,OAAO,EACb,qBAAqB,IAAI,OAAO;QAEpC;IACF,GAAG,EAAE;IAEL,IAAI,CAAC,UACH,OAAO;IAGT,qBACE,gCAAC;QAAI,OAAO;YAAC,QAAQ;YAAM,UAAU;YAAS,KAAK;YAAG,MAAM;QAAO;QAAG,KAAK;OACxE;AAGP","sources":["packages/react-aria/src/dnd/DragPreview.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {DragItem, DragPreviewRenderer} from '@react-types/shared';\nimport {flushSync} from 'react-dom';\nimport React, {ForwardedRef, JSX, useEffect, useImperativeHandle, useRef, useState} from 'react';\n\nexport interface DragPreviewProps {\n /**\n * A render function which returns a preview element, or an object containing the element\n * and a custom offset. If an object is returned, the provided `x` and `y` values will be\n * used as the drag preview offset instead of the default calculation.\n */\n children: (\n items: DragItem[]\n ) => JSX.Element | {element: JSX.Element; x: number; y: number} | null;\n}\n\nexport const DragPreview: React.ForwardRefExoticComponent<\n DragPreviewProps & React.RefAttributes<DragPreviewRenderer | null>\n> = React.forwardRef(function DragPreview(\n props: DragPreviewProps,\n ref: ForwardedRef<DragPreviewRenderer | null>\n) {\n let render = props.children;\n let [children, setChildren] = useState<JSX.Element | null>(null);\n let domRef = useRef<HTMLDivElement | null>(null);\n let raf = useRef<ReturnType<typeof requestAnimationFrame> | undefined>(undefined);\n\n useImperativeHandle(\n ref,\n () =>\n (items: DragItem[], callback: (node: HTMLElement | null, x?: number, y?: number) => void) => {\n // This will be called during the onDragStart event by useDrag. We need to render the\n // preview synchronously before this event returns so we can call event.dataTransfer.setDragImage.\n\n let result = render(items);\n let element: JSX.Element | null;\n let offsetX: number | undefined;\n let offsetY: number | undefined;\n\n if (result && typeof result === 'object' && 'element' in result) {\n element = result.element;\n offsetX = result.x;\n offsetY = result.y;\n } else {\n element = result as JSX.Element | null;\n }\n\n flushSync(() => {\n setChildren(element);\n });\n\n // Yield back to useDrag to set the drag image.\n callback(domRef.current, offsetX, offsetY);\n\n // Remove the preview from the DOM after a frame so the browser has time to paint.\n raf.current = requestAnimationFrame(() => {\n setChildren(null);\n });\n },\n [render]\n );\n\n useEffect(() => {\n return () => {\n if (raf.current) {\n cancelAnimationFrame(raf.current);\n }\n };\n }, []);\n\n if (!children) {\n return null;\n }\n\n return (\n <div style={{zIndex: -100, position: 'fixed', top: 0, left: -100000}} ref={domRef}>\n {children}\n </div>\n );\n});\n"],"names":[],"version":3,"file":"DragPreview.mjs.map"}
|
|
@@ -31,8 +31,14 @@ function $f052f021c3076f5b$var$nextDropTarget(keyboardDelegate, collection, targ
|
|
|
31
31
|
}
|
|
32
32
|
if (target.type === 'item') {
|
|
33
33
|
let nextKey = null;
|
|
34
|
-
if (horizontal) nextKey = horizontal === 'right' ? keyboardDelegate.getKeyRightOf?.(target.key
|
|
35
|
-
|
|
34
|
+
if (horizontal) nextKey = horizontal === 'right' ? keyboardDelegate.getKeyRightOf?.(target.key, {
|
|
35
|
+
includeDisabled: true
|
|
36
|
+
}) : keyboardDelegate.getKeyLeftOf?.(target.key, {
|
|
37
|
+
includeDisabled: true
|
|
38
|
+
});
|
|
39
|
+
else nextKey = keyboardDelegate.getKeyBelow?.(target.key, {
|
|
40
|
+
includeDisabled: true
|
|
41
|
+
});
|
|
36
42
|
let nextCollectionKey = $f052f021c3076f5b$var$getNextItem(collection, target.key, (key)=>collection.getKeyAfter(key));
|
|
37
43
|
// If the keyboard delegate did not move to the next key in the collection,
|
|
38
44
|
// jump to that key with the same drop position. Otherwise, try the other
|
|
@@ -121,8 +127,14 @@ function $f052f021c3076f5b$var$previousDropTarget(keyboardDelegate, collection,
|
|
|
121
127
|
}
|
|
122
128
|
if (target.type === 'item') {
|
|
123
129
|
let prevKey = null;
|
|
124
|
-
if (horizontal) prevKey = horizontal === 'left' ? keyboardDelegate.getKeyLeftOf?.(target.key
|
|
125
|
-
|
|
130
|
+
if (horizontal) prevKey = horizontal === 'left' ? keyboardDelegate.getKeyLeftOf?.(target.key, {
|
|
131
|
+
includeDisabled: true
|
|
132
|
+
}) : keyboardDelegate.getKeyRightOf?.(target.key, {
|
|
133
|
+
includeDisabled: true
|
|
134
|
+
});
|
|
135
|
+
else prevKey = keyboardDelegate.getKeyAbove?.(target.key, {
|
|
136
|
+
includeDisabled: true
|
|
137
|
+
});
|
|
126
138
|
let prevCollectionKey = $f052f021c3076f5b$var$getNextItem(collection, target.key, (key)=>collection.getKeyBefore(key));
|
|
127
139
|
// If the keyboard delegate did not move to the next key in the collection,
|
|
128
140
|
// jump to that key with the same drop position. Otherwise, try the other
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/react-aria/src/dnd/DropTargetKeyboardNavigation.ts"],"sourcesContent":["import {Collection, DropTarget, Key, KeyboardDelegate, Node} from '@react-types/shared';\n\nexport function navigate(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n direction: 'left' | 'right' | 'up' | 'down',\n rtl = false,\n wrap = false\n): DropTarget | null {\n switch (direction) {\n case 'left':\n return rtl\n ? nextDropTarget(keyboardDelegate, collection, target, wrap, 'left')\n : previousDropTarget(keyboardDelegate, collection, target, wrap, 'left');\n case 'right':\n return rtl\n ? previousDropTarget(keyboardDelegate, collection, target, wrap, 'right')\n : nextDropTarget(keyboardDelegate, collection, target, wrap, 'right');\n case 'up':\n return previousDropTarget(keyboardDelegate, collection, target, wrap);\n case 'down':\n return nextDropTarget(keyboardDelegate, collection, target, wrap);\n }\n}\n\nfunction nextDropTarget(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n wrap = false,\n horizontal: 'left' | 'right' | null = null\n): DropTarget | null {\n if (!target) {\n return {\n type: 'root'\n };\n }\n\n if (target.type === 'root') {\n let nextKey = keyboardDelegate.getFirstKey?.() ?? null;\n if (nextKey != null) {\n return {\n type: 'item',\n key: nextKey,\n dropPosition: 'before'\n };\n }\n\n return null;\n }\n\n if (target.type === 'item') {\n let nextKey: Key | null | undefined = null;\n if (horizontal) {\n nextKey = horizontal === 'right' ? keyboardDelegate.getKeyRightOf?.(target.key) : keyboardDelegate.getKeyLeftOf?.(target.key);\n } else {\n nextKey = keyboardDelegate.getKeyBelow?.(target.key);\n }\n let nextCollectionKey = getNextItem(collection, target.key, key => collection.getKeyAfter(key));\n\n // If the keyboard delegate did not move to the next key in the collection,\n // jump to that key with the same drop position. Otherwise, try the other\n // drop positions on the current key first.\n if (nextKey != null && nextKey !== nextCollectionKey) {\n return {\n type: 'item',\n key: nextKey,\n dropPosition: target.dropPosition\n };\n }\n\n switch (target.dropPosition) {\n case 'before': {\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'on'\n };\n }\n case 'on': {\n // If there are nested items, traverse to them prior to the \"after\" position of this target.\n // If the next key is on the same level, then its \"before\" position is equivalent to this item's \"after\" position.\n let targetNode = collection.getItem(target.key);\n let nextNode = nextKey != null ? collection.getItem(nextKey) : null;\n if (targetNode && nextNode && nextNode.level >= targetNode.level) {\n return {\n type: 'item',\n key: nextNode.key,\n dropPosition: 'before'\n };\n }\n\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'after'\n };\n }\n case 'after': {\n // If this is the last sibling in a level, traverse to the parent.\n let targetNode = collection.getItem(target.key);\n let nextItemInSameLevel = targetNode?.nextKey != null ? collection.getItem(targetNode.nextKey) : null;\n while (nextItemInSameLevel != null && nextItemInSameLevel.type !== 'item') {\n nextItemInSameLevel = nextItemInSameLevel.nextKey != null ? collection.getItem(nextItemInSameLevel.nextKey) : null;\n }\n\n if (targetNode && nextItemInSameLevel == null && targetNode.parentKey != null) {\n // If the parent item has an item after it, use the \"before\" position.\n let parentNode = collection.getItem(targetNode.parentKey);\n const nextNode = parentNode?.nextKey != null ? collection.getItem(parentNode.nextKey) : null;\n if (nextNode?.type === 'item') {\n return {\n type: 'item',\n key: nextNode.key,\n dropPosition: 'before'\n };\n }\n\n if (parentNode?.type === 'item') {\n return {\n type: 'item',\n key: parentNode.key,\n dropPosition: 'after'\n };\n }\n }\n\n if (nextItemInSameLevel) {\n return {\n type: 'item',\n key: nextItemInSameLevel.key,\n dropPosition: 'on'\n };\n }\n }\n }\n }\n\n if (wrap) {\n return {\n type: 'root'\n };\n }\n\n return null;\n}\n\nfunction previousDropTarget(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n wrap = false,\n horizontal: 'left' | 'right' | null = null\n): DropTarget | null {\n // Start after the last root-level item.\n if (!target || (wrap && target.type === 'root')) {\n // Keyboard delegate gets the deepest item but we want the shallowest.\n let prevKey: Key | null = null;\n let lastKey = keyboardDelegate.getLastKey?.();\n while (lastKey != null) {\n let node = collection.getItem(lastKey);\n if (node?.type !== 'item') {\n break;\n }\n prevKey = lastKey;\n lastKey = node?.parentKey;\n }\n\n if (prevKey != null) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: 'after'\n };\n }\n\n return null;\n }\n\n if (target.type === 'item') {\n let prevKey: Key | null | undefined = null;\n if (horizontal) {\n prevKey = horizontal === 'left' ? keyboardDelegate.getKeyLeftOf?.(target.key) : keyboardDelegate.getKeyRightOf?.(target.key);\n } else {\n prevKey = keyboardDelegate.getKeyAbove?.(target.key);\n }\n let prevCollectionKey = getNextItem(collection, target.key, key => collection.getKeyBefore(key));\n\n // If the keyboard delegate did not move to the next key in the collection,\n // jump to that key with the same drop position. Otherwise, try the other\n // drop positions on the current key first.\n if (prevKey != null && prevKey !== prevCollectionKey) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: target.dropPosition\n };\n }\n\n switch (target.dropPosition) {\n case 'before': {\n // Move after the last child of the previous item.\n let targetNode = collection.getItem(target.key);\n if (targetNode && targetNode.prevKey != null) {\n let lastChild = getLastChild(collection, targetNode.prevKey);\n if (lastChild) {\n return lastChild;\n }\n }\n\n if (prevKey != null) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: 'on'\n };\n }\n\n return {\n type: 'root'\n };\n }\n case 'on': {\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'before'\n };\n }\n case 'after': {\n // Move after the last child of this item.\n let lastChild = getLastChild(collection, target.key);\n if (lastChild) {\n return lastChild;\n }\n\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'on'\n };\n }\n }\n }\n\n if (target.type !== 'root') {\n return {\n type: 'root'\n };\n }\n\n return null;\n}\n\nfunction getLastChild(collection: Collection<Node<unknown>>, key: Key): DropTarget | null {\n // getChildNodes still returns child tree items even when the item is collapsed.\n // Checking if the next item has a greater level is a silly way to determine if the item is expanded.\n let targetNode = collection.getItem(key);\n let nextKey = getNextItem(collection, key, key => collection.getKeyAfter(key));\n let nextNode = nextKey != null ? collection.getItem(nextKey) : null;\n if (targetNode && nextNode && nextNode.level > targetNode.level) {\n let lastChild: Node<unknown> | null = null;\n if ('lastChildKey' in targetNode) {\n lastChild = targetNode.lastChildKey != null ? collection.getItem(targetNode.lastChildKey) : null;\n while (lastChild && lastChild.type !== 'item' && lastChild.prevKey != null) {\n lastChild = collection.getItem(lastChild.prevKey)!;\n }\n } else {\n lastChild = Array.from(targetNode.childNodes).findLast(item => item.type === 'item') || null;\n }\n\n if (lastChild) {\n return {\n type: 'item',\n key: lastChild.key,\n dropPosition: 'after'\n };\n }\n }\n\n return null;\n}\n\n// Find the next or previous item in a collection, skipping over other types of nodes (e.g. content).\nfunction getNextItem(collection: Collection<Node<unknown>>, key: Key, getNextKey: (key: Key) => Key | null): Key | null {\n let nextCollectionKey = getNextKey(key);\n let nextCollectionNode = nextCollectionKey != null ? collection.getItem(nextCollectionKey) : null;\n while (nextCollectionNode && nextCollectionNode.type !== 'item') {\n nextCollectionKey = getNextKey(nextCollectionNode.key);\n nextCollectionNode = nextCollectionKey != null ? collection.getItem(nextCollectionKey) : null;\n }\n return nextCollectionKey;\n}\n"],"names":[],"version":3,"file":"DropTargetKeyboardNavigation.cjs.map"}
|
|
1
|
+
{"mappings":";;;;;;AAEO,SAAS,0CACd,gBAAkC,EAClC,UAAqC,EACrC,MAAqC,EACrC,SAA2C,EAC3C,MAAM,KAAK,EACX,OAAO,KAAK;IAEZ,OAAQ;QACN,KAAK;YACH,OAAO,MACH,qCAAe,kBAAkB,YAAY,QAAQ,MAAM,UAC3D,yCAAmB,kBAAkB,YAAY,QAAQ,MAAM;QACrE,KAAK;YACH,OAAO,MACH,yCAAmB,kBAAkB,YAAY,QAAQ,MAAM,WAC/D,qCAAe,kBAAkB,YAAY,QAAQ,MAAM;QACjE,KAAK;YACH,OAAO,yCAAmB,kBAAkB,YAAY,QAAQ;QAClE,KAAK;YACH,OAAO,qCAAe,kBAAkB,YAAY,QAAQ;IAChE;AACF;AAEA,SAAS,qCACP,gBAAkC,EAClC,UAAqC,EACrC,MAAqC,EACrC,OAAO,KAAK,EACZ,aAAsC,IAAI;IAE1C,IAAI,CAAC,QACH,OAAO;QACL,MAAM;IACR;IAGF,IAAI,OAAO,IAAI,KAAK,QAAQ;QAC1B,IAAI,UAAU,iBAAiB,WAAW,QAAQ;QAClD,IAAI,WAAW,MACb,OAAO;YACL,MAAM;YACN,KAAK;YACL,cAAc;QAChB;QAGF,OAAO;IACT;IAEA,IAAI,OAAO,IAAI,KAAK,QAAQ;QAC1B,IAAI,UAAkC;QACtC,IAAI,YACF,UACE,eAAe,UACX,iBAAiB,aAAa,GAAG,OAAO,GAAG,EAAE;YAAC,iBAAiB;QAAI,KACnE,iBAAiB,YAAY,GAAG,OAAO,GAAG,EAAE;YAAC,iBAAiB;QAAI;aAExE,UAAU,iBAAiB,WAAW,GAAG,OAAO,GAAG,EAAE;YAAC,iBAAiB;QAAI;QAE7E,IAAI,oBAAoB,kCAAY,YAAY,OAAO,GAAG,EAAE,CAAA,MAAO,WAAW,WAAW,CAAC;QAE1F,2EAA2E;QAC3E,yEAAyE;QACzE,2CAA2C;QAC3C,IAAI,WAAW,QAAQ,YAAY,mBACjC,OAAO;YACL,MAAM;YACN,KAAK;YACL,cAAc,OAAO,YAAY;QACnC;QAGF,OAAQ,OAAO,YAAY;YACzB,KAAK;gBACH,OAAO;oBACL,MAAM;oBACN,KAAK,OAAO,GAAG;oBACf,cAAc;gBAChB;YAEF,KAAK;gBAAM;oBACT,4FAA4F;oBAC5F,kHAAkH;oBAClH,IAAI,aAAa,WAAW,OAAO,CAAC,OAAO,GAAG;oBAC9C,IAAI,WAAW,WAAW,OAAO,WAAW,OAAO,CAAC,WAAW;oBAC/D,IAAI,cAAc,YAAY,SAAS,KAAK,IAAI,WAAW,KAAK,EAC9D,OAAO;wBACL,MAAM;wBACN,KAAK,SAAS,GAAG;wBACjB,cAAc;oBAChB;oBAGF,OAAO;wBACL,MAAM;wBACN,KAAK,OAAO,GAAG;wBACf,cAAc;oBAChB;gBACF;YACA,KAAK;gBAAS;oBACZ,kEAAkE;oBAClE,IAAI,aAAa,WAAW,OAAO,CAAC,OAAO,GAAG;oBAC9C,IAAI,sBACF,YAAY,WAAW,OAAO,WAAW,OAAO,CAAC,WAAW,OAAO,IAAI;oBACzE,MAAO,uBAAuB,QAAQ,oBAAoB,IAAI,KAAK,OACjE,sBACE,oBAAoB,OAAO,IAAI,OAC3B,WAAW,OAAO,CAAC,oBAAoB,OAAO,IAC9C;oBAGR,IAAI,cAAc,uBAAuB,QAAQ,WAAW,SAAS,IAAI,MAAM;wBAC7E,sEAAsE;wBACtE,IAAI,aAAa,WAAW,OAAO,CAAC,WAAW,SAAS;wBACxD,MAAM,WACJ,YAAY,WAAW,OAAO,WAAW,OAAO,CAAC,WAAW,OAAO,IAAI;wBACzE,IAAI,UAAU,SAAS,QACrB,OAAO;4BACL,MAAM;4BACN,KAAK,SAAS,GAAG;4BACjB,cAAc;wBAChB;wBAGF,IAAI,YAAY,SAAS,QACvB,OAAO;4BACL,MAAM;4BACN,KAAK,WAAW,GAAG;4BACnB,cAAc;wBAChB;oBAEJ;oBAEA,IAAI,qBACF,OAAO;wBACL,MAAM;wBACN,KAAK,oBAAoB,GAAG;wBAC5B,cAAc;oBAChB;gBAEJ;QACF;IACF;IAEA,IAAI,MACF,OAAO;QACL,MAAM;IACR;IAGF,OAAO;AACT;AAEA,SAAS,yCACP,gBAAkC,EAClC,UAAqC,EACrC,MAAqC,EACrC,OAAO,KAAK,EACZ,aAAsC,IAAI;IAE1C,wCAAwC;IACxC,IAAI,CAAC,UAAW,QAAQ,OAAO,IAAI,KAAK,QAAS;QAC/C,sEAAsE;QACtE,IAAI,UAAsB;QAC1B,IAAI,UAAU,iBAAiB,UAAU;QACzC,MAAO,WAAW,KAAM;YACtB,IAAI,OAAO,WAAW,OAAO,CAAC;YAC9B,IAAI,MAAM,SAAS,QACjB;YAEF,UAAU;YACV,UAAU,MAAM;QAClB;QAEA,IAAI,WAAW,MACb,OAAO;YACL,MAAM;YACN,KAAK;YACL,cAAc;QAChB;QAGF,OAAO;IACT;IAEA,IAAI,OAAO,IAAI,KAAK,QAAQ;QAC1B,IAAI,UAAkC;QACtC,IAAI,YACF,UACE,eAAe,SACX,iBAAiB,YAAY,GAAG,OAAO,GAAG,EAAE;YAAC,iBAAiB;QAAI,KAClE,iBAAiB,aAAa,GAAG,OAAO,GAAG,EAAE;YAAC,iBAAiB;QAAI;aAEzE,UAAU,iBAAiB,WAAW,GAAG,OAAO,GAAG,EAAE;YAAC,iBAAiB;QAAI;QAE7E,IAAI,oBAAoB,kCAAY,YAAY,OAAO,GAAG,EAAE,CAAA,MAC1D,WAAW,YAAY,CAAC;QAG1B,2EAA2E;QAC3E,yEAAyE;QACzE,2CAA2C;QAC3C,IAAI,WAAW,QAAQ,YAAY,mBACjC,OAAO;YACL,MAAM;YACN,KAAK;YACL,cAAc,OAAO,YAAY;QACnC;QAGF,OAAQ,OAAO,YAAY;YACzB,KAAK;gBAAU;oBACb,kDAAkD;oBAClD,IAAI,aAAa,WAAW,OAAO,CAAC,OAAO,GAAG;oBAC9C,IAAI,cAAc,WAAW,OAAO,IAAI,MAAM;wBAC5C,IAAI,YAAY,mCAAa,YAAY,WAAW,OAAO;wBAC3D,IAAI,WACF,OAAO;oBAEX;oBAEA,IAAI,WAAW,MACb,OAAO;wBACL,MAAM;wBACN,KAAK;wBACL,cAAc;oBAChB;oBAGF,OAAO;wBACL,MAAM;oBACR;gBACF;YACA,KAAK;gBACH,OAAO;oBACL,MAAM;oBACN,KAAK,OAAO,GAAG;oBACf,cAAc;gBAChB;YAEF,KAAK;gBAAS;oBACZ,0CAA0C;oBAC1C,IAAI,YAAY,mCAAa,YAAY,OAAO,GAAG;oBACnD,IAAI,WACF,OAAO;oBAGT,OAAO;wBACL,MAAM;wBACN,KAAK,OAAO,GAAG;wBACf,cAAc;oBAChB;gBACF;QACF;IACF;IAEA,IAAI,OAAO,IAAI,KAAK,QAClB,OAAO;QACL,MAAM;IACR;IAGF,OAAO;AACT;AAEA,SAAS,mCAAa,UAAqC,EAAE,GAAQ;IACnE,gFAAgF;IAChF,qGAAqG;IACrG,IAAI,aAAa,WAAW,OAAO,CAAC;IACpC,IAAI,UAAU,kCAAY,YAAY,KAAK,CAAA,MAAO,WAAW,WAAW,CAAC;IACzE,IAAI,WAAW,WAAW,OAAO,WAAW,OAAO,CAAC,WAAW;IAC/D,IAAI,cAAc,YAAY,SAAS,KAAK,GAAG,WAAW,KAAK,EAAE;QAC/D,IAAI,YAAkC;QACtC,IAAI,kBAAkB,YAAY;YAChC,YACE,WAAW,YAAY,IAAI,OAAO,WAAW,OAAO,CAAC,WAAW,YAAY,IAAI;YAClF,MAAO,aAAa,UAAU,IAAI,KAAK,UAAU,UAAU,OAAO,IAAI,KACpE,YAAY,WAAW,OAAO,CAAC,UAAU,OAAO;QAEpD,OACE,YAAY,MAAM,IAAI,CAAC,WAAW,UAAU,EAAE,QAAQ,CAAC,CAAA,OAAQ,KAAK,IAAI,KAAK,WAAW;QAG1F,IAAI,WACF,OAAO;YACL,MAAM;YACN,KAAK,UAAU,GAAG;YAClB,cAAc;QAChB;IAEJ;IAEA,OAAO;AACT;AAEA,qGAAqG;AACrG,SAAS,kCACP,UAAqC,EACrC,GAAQ,EACR,UAAoC;IAEpC,IAAI,oBAAoB,WAAW;IACnC,IAAI,qBAAqB,qBAAqB,OAAO,WAAW,OAAO,CAAC,qBAAqB;IAC7F,MAAO,sBAAsB,mBAAmB,IAAI,KAAK,OAAQ;QAC/D,oBAAoB,WAAW,mBAAmB,GAAG;QACrD,qBAAqB,qBAAqB,OAAO,WAAW,OAAO,CAAC,qBAAqB;IAC3F;IACA,OAAO;AACT","sources":["packages/react-aria/src/dnd/DropTargetKeyboardNavigation.ts"],"sourcesContent":["import {Collection, DropTarget, Key, KeyboardDelegate, Node} from '@react-types/shared';\n\nexport function navigate(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n direction: 'left' | 'right' | 'up' | 'down',\n rtl = false,\n wrap = false\n): DropTarget | null {\n switch (direction) {\n case 'left':\n return rtl\n ? nextDropTarget(keyboardDelegate, collection, target, wrap, 'left')\n : previousDropTarget(keyboardDelegate, collection, target, wrap, 'left');\n case 'right':\n return rtl\n ? previousDropTarget(keyboardDelegate, collection, target, wrap, 'right')\n : nextDropTarget(keyboardDelegate, collection, target, wrap, 'right');\n case 'up':\n return previousDropTarget(keyboardDelegate, collection, target, wrap);\n case 'down':\n return nextDropTarget(keyboardDelegate, collection, target, wrap);\n }\n}\n\nfunction nextDropTarget(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n wrap = false,\n horizontal: 'left' | 'right' | null = null\n): DropTarget | null {\n if (!target) {\n return {\n type: 'root'\n };\n }\n\n if (target.type === 'root') {\n let nextKey = keyboardDelegate.getFirstKey?.() ?? null;\n if (nextKey != null) {\n return {\n type: 'item',\n key: nextKey,\n dropPosition: 'before'\n };\n }\n\n return null;\n }\n\n if (target.type === 'item') {\n let nextKey: Key | null | undefined = null;\n if (horizontal) {\n nextKey =\n horizontal === 'right'\n ? keyboardDelegate.getKeyRightOf?.(target.key, {includeDisabled: true})\n : keyboardDelegate.getKeyLeftOf?.(target.key, {includeDisabled: true});\n } else {\n nextKey = keyboardDelegate.getKeyBelow?.(target.key, {includeDisabled: true});\n }\n let nextCollectionKey = getNextItem(collection, target.key, key => collection.getKeyAfter(key));\n\n // If the keyboard delegate did not move to the next key in the collection,\n // jump to that key with the same drop position. Otherwise, try the other\n // drop positions on the current key first.\n if (nextKey != null && nextKey !== nextCollectionKey) {\n return {\n type: 'item',\n key: nextKey,\n dropPosition: target.dropPosition\n };\n }\n\n switch (target.dropPosition) {\n case 'before': {\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'on'\n };\n }\n case 'on': {\n // If there are nested items, traverse to them prior to the \"after\" position of this target.\n // If the next key is on the same level, then its \"before\" position is equivalent to this item's \"after\" position.\n let targetNode = collection.getItem(target.key);\n let nextNode = nextKey != null ? collection.getItem(nextKey) : null;\n if (targetNode && nextNode && nextNode.level >= targetNode.level) {\n return {\n type: 'item',\n key: nextNode.key,\n dropPosition: 'before'\n };\n }\n\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'after'\n };\n }\n case 'after': {\n // If this is the last sibling in a level, traverse to the parent.\n let targetNode = collection.getItem(target.key);\n let nextItemInSameLevel =\n targetNode?.nextKey != null ? collection.getItem(targetNode.nextKey) : null;\n while (nextItemInSameLevel != null && nextItemInSameLevel.type !== 'item') {\n nextItemInSameLevel =\n nextItemInSameLevel.nextKey != null\n ? collection.getItem(nextItemInSameLevel.nextKey)\n : null;\n }\n\n if (targetNode && nextItemInSameLevel == null && targetNode.parentKey != null) {\n // If the parent item has an item after it, use the \"before\" position.\n let parentNode = collection.getItem(targetNode.parentKey);\n const nextNode =\n parentNode?.nextKey != null ? collection.getItem(parentNode.nextKey) : null;\n if (nextNode?.type === 'item') {\n return {\n type: 'item',\n key: nextNode.key,\n dropPosition: 'before'\n };\n }\n\n if (parentNode?.type === 'item') {\n return {\n type: 'item',\n key: parentNode.key,\n dropPosition: 'after'\n };\n }\n }\n\n if (nextItemInSameLevel) {\n return {\n type: 'item',\n key: nextItemInSameLevel.key,\n dropPosition: 'on'\n };\n }\n }\n }\n }\n\n if (wrap) {\n return {\n type: 'root'\n };\n }\n\n return null;\n}\n\nfunction previousDropTarget(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n wrap = false,\n horizontal: 'left' | 'right' | null = null\n): DropTarget | null {\n // Start after the last root-level item.\n if (!target || (wrap && target.type === 'root')) {\n // Keyboard delegate gets the deepest item but we want the shallowest.\n let prevKey: Key | null = null;\n let lastKey = keyboardDelegate.getLastKey?.();\n while (lastKey != null) {\n let node = collection.getItem(lastKey);\n if (node?.type !== 'item') {\n break;\n }\n prevKey = lastKey;\n lastKey = node?.parentKey;\n }\n\n if (prevKey != null) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: 'after'\n };\n }\n\n return null;\n }\n\n if (target.type === 'item') {\n let prevKey: Key | null | undefined = null;\n if (horizontal) {\n prevKey =\n horizontal === 'left'\n ? keyboardDelegate.getKeyLeftOf?.(target.key, {includeDisabled: true})\n : keyboardDelegate.getKeyRightOf?.(target.key, {includeDisabled: true});\n } else {\n prevKey = keyboardDelegate.getKeyAbove?.(target.key, {includeDisabled: true});\n }\n let prevCollectionKey = getNextItem(collection, target.key, key =>\n collection.getKeyBefore(key)\n );\n\n // If the keyboard delegate did not move to the next key in the collection,\n // jump to that key with the same drop position. Otherwise, try the other\n // drop positions on the current key first.\n if (prevKey != null && prevKey !== prevCollectionKey) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: target.dropPosition\n };\n }\n\n switch (target.dropPosition) {\n case 'before': {\n // Move after the last child of the previous item.\n let targetNode = collection.getItem(target.key);\n if (targetNode && targetNode.prevKey != null) {\n let lastChild = getLastChild(collection, targetNode.prevKey);\n if (lastChild) {\n return lastChild;\n }\n }\n\n if (prevKey != null) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: 'on'\n };\n }\n\n return {\n type: 'root'\n };\n }\n case 'on': {\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'before'\n };\n }\n case 'after': {\n // Move after the last child of this item.\n let lastChild = getLastChild(collection, target.key);\n if (lastChild) {\n return lastChild;\n }\n\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'on'\n };\n }\n }\n }\n\n if (target.type !== 'root') {\n return {\n type: 'root'\n };\n }\n\n return null;\n}\n\nfunction getLastChild(collection: Collection<Node<unknown>>, key: Key): DropTarget | null {\n // getChildNodes still returns child tree items even when the item is collapsed.\n // Checking if the next item has a greater level is a silly way to determine if the item is expanded.\n let targetNode = collection.getItem(key);\n let nextKey = getNextItem(collection, key, key => collection.getKeyAfter(key));\n let nextNode = nextKey != null ? collection.getItem(nextKey) : null;\n if (targetNode && nextNode && nextNode.level > targetNode.level) {\n let lastChild: Node<unknown> | null = null;\n if ('lastChildKey' in targetNode) {\n lastChild =\n targetNode.lastChildKey != null ? collection.getItem(targetNode.lastChildKey) : null;\n while (lastChild && lastChild.type !== 'item' && lastChild.prevKey != null) {\n lastChild = collection.getItem(lastChild.prevKey)!;\n }\n } else {\n lastChild = Array.from(targetNode.childNodes).findLast(item => item.type === 'item') || null;\n }\n\n if (lastChild) {\n return {\n type: 'item',\n key: lastChild.key,\n dropPosition: 'after'\n };\n }\n }\n\n return null;\n}\n\n// Find the next or previous item in a collection, skipping over other types of nodes (e.g. content).\nfunction getNextItem(\n collection: Collection<Node<unknown>>,\n key: Key,\n getNextKey: (key: Key) => Key | null\n): Key | null {\n let nextCollectionKey = getNextKey(key);\n let nextCollectionNode = nextCollectionKey != null ? collection.getItem(nextCollectionKey) : null;\n while (nextCollectionNode && nextCollectionNode.type !== 'item') {\n nextCollectionKey = getNextKey(nextCollectionNode.key);\n nextCollectionNode = nextCollectionKey != null ? collection.getItem(nextCollectionKey) : null;\n }\n return nextCollectionKey;\n}\n"],"names":[],"version":3,"file":"DropTargetKeyboardNavigation.cjs.map"}
|
|
@@ -28,8 +28,14 @@ function $43485f2cf144fdea$var$nextDropTarget(keyboardDelegate, collection, targ
|
|
|
28
28
|
if (target.type === 'item') {
|
|
29
29
|
var _keyboardDelegate_getKeyRightOf, _keyboardDelegate_getKeyLeftOf, _keyboardDelegate_getKeyBelow;
|
|
30
30
|
let nextKey = null;
|
|
31
|
-
if (horizontal) nextKey = horizontal === 'right' ? (_keyboardDelegate_getKeyRightOf = keyboardDelegate.getKeyRightOf) === null || _keyboardDelegate_getKeyRightOf === void 0 ? void 0 : _keyboardDelegate_getKeyRightOf.call(keyboardDelegate, target.key
|
|
32
|
-
|
|
31
|
+
if (horizontal) nextKey = horizontal === 'right' ? (_keyboardDelegate_getKeyRightOf = keyboardDelegate.getKeyRightOf) === null || _keyboardDelegate_getKeyRightOf === void 0 ? void 0 : _keyboardDelegate_getKeyRightOf.call(keyboardDelegate, target.key, {
|
|
32
|
+
includeDisabled: true
|
|
33
|
+
}) : (_keyboardDelegate_getKeyLeftOf = keyboardDelegate.getKeyLeftOf) === null || _keyboardDelegate_getKeyLeftOf === void 0 ? void 0 : _keyboardDelegate_getKeyLeftOf.call(keyboardDelegate, target.key, {
|
|
34
|
+
includeDisabled: true
|
|
35
|
+
});
|
|
36
|
+
else nextKey = (_keyboardDelegate_getKeyBelow = keyboardDelegate.getKeyBelow) === null || _keyboardDelegate_getKeyBelow === void 0 ? void 0 : _keyboardDelegate_getKeyBelow.call(keyboardDelegate, target.key, {
|
|
37
|
+
includeDisabled: true
|
|
38
|
+
});
|
|
33
39
|
let nextCollectionKey = $43485f2cf144fdea$var$getNextItem(collection, target.key, (key)=>collection.getKeyAfter(key));
|
|
34
40
|
// If the keyboard delegate did not move to the next key in the collection,
|
|
35
41
|
// jump to that key with the same drop position. Otherwise, try the other
|
|
@@ -120,8 +126,14 @@ function $43485f2cf144fdea$var$previousDropTarget(keyboardDelegate, collection,
|
|
|
120
126
|
if (target.type === 'item') {
|
|
121
127
|
var _keyboardDelegate_getKeyLeftOf, _keyboardDelegate_getKeyRightOf, _keyboardDelegate_getKeyAbove;
|
|
122
128
|
let prevKey = null;
|
|
123
|
-
if (horizontal) prevKey = horizontal === 'left' ? (_keyboardDelegate_getKeyLeftOf = keyboardDelegate.getKeyLeftOf) === null || _keyboardDelegate_getKeyLeftOf === void 0 ? void 0 : _keyboardDelegate_getKeyLeftOf.call(keyboardDelegate, target.key
|
|
124
|
-
|
|
129
|
+
if (horizontal) prevKey = horizontal === 'left' ? (_keyboardDelegate_getKeyLeftOf = keyboardDelegate.getKeyLeftOf) === null || _keyboardDelegate_getKeyLeftOf === void 0 ? void 0 : _keyboardDelegate_getKeyLeftOf.call(keyboardDelegate, target.key, {
|
|
130
|
+
includeDisabled: true
|
|
131
|
+
}) : (_keyboardDelegate_getKeyRightOf = keyboardDelegate.getKeyRightOf) === null || _keyboardDelegate_getKeyRightOf === void 0 ? void 0 : _keyboardDelegate_getKeyRightOf.call(keyboardDelegate, target.key, {
|
|
132
|
+
includeDisabled: true
|
|
133
|
+
});
|
|
134
|
+
else prevKey = (_keyboardDelegate_getKeyAbove = keyboardDelegate.getKeyAbove) === null || _keyboardDelegate_getKeyAbove === void 0 ? void 0 : _keyboardDelegate_getKeyAbove.call(keyboardDelegate, target.key, {
|
|
135
|
+
includeDisabled: true
|
|
136
|
+
});
|
|
125
137
|
let prevCollectionKey = $43485f2cf144fdea$var$getNextItem(collection, target.key, (key)=>collection.getKeyBefore(key));
|
|
126
138
|
// If the keyboard delegate did not move to the next key in the collection,
|
|
127
139
|
// jump to that key with the same drop position. Otherwise, try the other
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/react-aria/src/dnd/DropTargetKeyboardNavigation.ts"],"sourcesContent":["import {Collection, DropTarget, Key, KeyboardDelegate, Node} from '@react-types/shared';\n\nexport function navigate(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n direction: 'left' | 'right' | 'up' | 'down',\n rtl = false,\n wrap = false\n): DropTarget | null {\n switch (direction) {\n case 'left':\n return rtl\n ? nextDropTarget(keyboardDelegate, collection, target, wrap, 'left')\n : previousDropTarget(keyboardDelegate, collection, target, wrap, 'left');\n case 'right':\n return rtl\n ? previousDropTarget(keyboardDelegate, collection, target, wrap, 'right')\n : nextDropTarget(keyboardDelegate, collection, target, wrap, 'right');\n case 'up':\n return previousDropTarget(keyboardDelegate, collection, target, wrap);\n case 'down':\n return nextDropTarget(keyboardDelegate, collection, target, wrap);\n }\n}\n\nfunction nextDropTarget(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n wrap = false,\n horizontal: 'left' | 'right' | null = null\n): DropTarget | null {\n if (!target) {\n return {\n type: 'root'\n };\n }\n\n if (target.type === 'root') {\n let nextKey = keyboardDelegate.getFirstKey?.() ?? null;\n if (nextKey != null) {\n return {\n type: 'item',\n key: nextKey,\n dropPosition: 'before'\n };\n }\n\n return null;\n }\n\n if (target.type === 'item') {\n let nextKey: Key | null | undefined = null;\n if (horizontal) {\n nextKey = horizontal === 'right' ? keyboardDelegate.getKeyRightOf?.(target.key) : keyboardDelegate.getKeyLeftOf?.(target.key);\n } else {\n nextKey = keyboardDelegate.getKeyBelow?.(target.key);\n }\n let nextCollectionKey = getNextItem(collection, target.key, key => collection.getKeyAfter(key));\n\n // If the keyboard delegate did not move to the next key in the collection,\n // jump to that key with the same drop position. Otherwise, try the other\n // drop positions on the current key first.\n if (nextKey != null && nextKey !== nextCollectionKey) {\n return {\n type: 'item',\n key: nextKey,\n dropPosition: target.dropPosition\n };\n }\n\n switch (target.dropPosition) {\n case 'before': {\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'on'\n };\n }\n case 'on': {\n // If there are nested items, traverse to them prior to the \"after\" position of this target.\n // If the next key is on the same level, then its \"before\" position is equivalent to this item's \"after\" position.\n let targetNode = collection.getItem(target.key);\n let nextNode = nextKey != null ? collection.getItem(nextKey) : null;\n if (targetNode && nextNode && nextNode.level >= targetNode.level) {\n return {\n type: 'item',\n key: nextNode.key,\n dropPosition: 'before'\n };\n }\n\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'after'\n };\n }\n case 'after': {\n // If this is the last sibling in a level, traverse to the parent.\n let targetNode = collection.getItem(target.key);\n let nextItemInSameLevel = targetNode?.nextKey != null ? collection.getItem(targetNode.nextKey) : null;\n while (nextItemInSameLevel != null && nextItemInSameLevel.type !== 'item') {\n nextItemInSameLevel = nextItemInSameLevel.nextKey != null ? collection.getItem(nextItemInSameLevel.nextKey) : null;\n }\n\n if (targetNode && nextItemInSameLevel == null && targetNode.parentKey != null) {\n // If the parent item has an item after it, use the \"before\" position.\n let parentNode = collection.getItem(targetNode.parentKey);\n const nextNode = parentNode?.nextKey != null ? collection.getItem(parentNode.nextKey) : null;\n if (nextNode?.type === 'item') {\n return {\n type: 'item',\n key: nextNode.key,\n dropPosition: 'before'\n };\n }\n\n if (parentNode?.type === 'item') {\n return {\n type: 'item',\n key: parentNode.key,\n dropPosition: 'after'\n };\n }\n }\n\n if (nextItemInSameLevel) {\n return {\n type: 'item',\n key: nextItemInSameLevel.key,\n dropPosition: 'on'\n };\n }\n }\n }\n }\n\n if (wrap) {\n return {\n type: 'root'\n };\n }\n\n return null;\n}\n\nfunction previousDropTarget(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n wrap = false,\n horizontal: 'left' | 'right' | null = null\n): DropTarget | null {\n // Start after the last root-level item.\n if (!target || (wrap && target.type === 'root')) {\n // Keyboard delegate gets the deepest item but we want the shallowest.\n let prevKey: Key | null = null;\n let lastKey = keyboardDelegate.getLastKey?.();\n while (lastKey != null) {\n let node = collection.getItem(lastKey);\n if (node?.type !== 'item') {\n break;\n }\n prevKey = lastKey;\n lastKey = node?.parentKey;\n }\n\n if (prevKey != null) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: 'after'\n };\n }\n\n return null;\n }\n\n if (target.type === 'item') {\n let prevKey: Key | null | undefined = null;\n if (horizontal) {\n prevKey = horizontal === 'left' ? keyboardDelegate.getKeyLeftOf?.(target.key) : keyboardDelegate.getKeyRightOf?.(target.key);\n } else {\n prevKey = keyboardDelegate.getKeyAbove?.(target.key);\n }\n let prevCollectionKey = getNextItem(collection, target.key, key => collection.getKeyBefore(key));\n\n // If the keyboard delegate did not move to the next key in the collection,\n // jump to that key with the same drop position. Otherwise, try the other\n // drop positions on the current key first.\n if (prevKey != null && prevKey !== prevCollectionKey) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: target.dropPosition\n };\n }\n\n switch (target.dropPosition) {\n case 'before': {\n // Move after the last child of the previous item.\n let targetNode = collection.getItem(target.key);\n if (targetNode && targetNode.prevKey != null) {\n let lastChild = getLastChild(collection, targetNode.prevKey);\n if (lastChild) {\n return lastChild;\n }\n }\n\n if (prevKey != null) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: 'on'\n };\n }\n\n return {\n type: 'root'\n };\n }\n case 'on': {\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'before'\n };\n }\n case 'after': {\n // Move after the last child of this item.\n let lastChild = getLastChild(collection, target.key);\n if (lastChild) {\n return lastChild;\n }\n\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'on'\n };\n }\n }\n }\n\n if (target.type !== 'root') {\n return {\n type: 'root'\n };\n }\n\n return null;\n}\n\nfunction getLastChild(collection: Collection<Node<unknown>>, key: Key): DropTarget | null {\n // getChildNodes still returns child tree items even when the item is collapsed.\n // Checking if the next item has a greater level is a silly way to determine if the item is expanded.\n let targetNode = collection.getItem(key);\n let nextKey = getNextItem(collection, key, key => collection.getKeyAfter(key));\n let nextNode = nextKey != null ? collection.getItem(nextKey) : null;\n if (targetNode && nextNode && nextNode.level > targetNode.level) {\n let lastChild: Node<unknown> | null = null;\n if ('lastChildKey' in targetNode) {\n lastChild = targetNode.lastChildKey != null ? collection.getItem(targetNode.lastChildKey) : null;\n while (lastChild && lastChild.type !== 'item' && lastChild.prevKey != null) {\n lastChild = collection.getItem(lastChild.prevKey)!;\n }\n } else {\n lastChild = Array.from(targetNode.childNodes).findLast(item => item.type === 'item') || null;\n }\n\n if (lastChild) {\n return {\n type: 'item',\n key: lastChild.key,\n dropPosition: 'after'\n };\n }\n }\n\n return null;\n}\n\n// Find the next or previous item in a collection, skipping over other types of nodes (e.g. content).\nfunction getNextItem(collection: Collection<Node<unknown>>, key: Key, getNextKey: (key: Key) => Key | null): Key | null {\n let nextCollectionKey = getNextKey(key);\n let nextCollectionNode = nextCollectionKey != null ? collection.getItem(nextCollectionKey) : null;\n while (nextCollectionNode && nextCollectionNode.type !== 'item') {\n nextCollectionKey = getNextKey(nextCollectionNode.key);\n nextCollectionNode = nextCollectionKey != null ? collection.getItem(nextCollectionKey) : null;\n }\n return nextCollectionKey;\n}\n"],"names":[],"version":3,"file":"DropTargetKeyboardNavigation.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/react-aria/src/dnd/DropTargetKeyboardNavigation.ts"],"sourcesContent":["import {Collection, DropTarget, Key, KeyboardDelegate, Node} from '@react-types/shared';\n\nexport function navigate(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n direction: 'left' | 'right' | 'up' | 'down',\n rtl = false,\n wrap = false\n): DropTarget | null {\n switch (direction) {\n case 'left':\n return rtl\n ? nextDropTarget(keyboardDelegate, collection, target, wrap, 'left')\n : previousDropTarget(keyboardDelegate, collection, target, wrap, 'left');\n case 'right':\n return rtl\n ? previousDropTarget(keyboardDelegate, collection, target, wrap, 'right')\n : nextDropTarget(keyboardDelegate, collection, target, wrap, 'right');\n case 'up':\n return previousDropTarget(keyboardDelegate, collection, target, wrap);\n case 'down':\n return nextDropTarget(keyboardDelegate, collection, target, wrap);\n }\n}\n\nfunction nextDropTarget(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n wrap = false,\n horizontal: 'left' | 'right' | null = null\n): DropTarget | null {\n if (!target) {\n return {\n type: 'root'\n };\n }\n\n if (target.type === 'root') {\n let nextKey = keyboardDelegate.getFirstKey?.() ?? null;\n if (nextKey != null) {\n return {\n type: 'item',\n key: nextKey,\n dropPosition: 'before'\n };\n }\n\n return null;\n }\n\n if (target.type === 'item') {\n let nextKey: Key | null | undefined = null;\n if (horizontal) {\n nextKey =\n horizontal === 'right'\n ? keyboardDelegate.getKeyRightOf?.(target.key, {includeDisabled: true})\n : keyboardDelegate.getKeyLeftOf?.(target.key, {includeDisabled: true});\n } else {\n nextKey = keyboardDelegate.getKeyBelow?.(target.key, {includeDisabled: true});\n }\n let nextCollectionKey = getNextItem(collection, target.key, key => collection.getKeyAfter(key));\n\n // If the keyboard delegate did not move to the next key in the collection,\n // jump to that key with the same drop position. Otherwise, try the other\n // drop positions on the current key first.\n if (nextKey != null && nextKey !== nextCollectionKey) {\n return {\n type: 'item',\n key: nextKey,\n dropPosition: target.dropPosition\n };\n }\n\n switch (target.dropPosition) {\n case 'before': {\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'on'\n };\n }\n case 'on': {\n // If there are nested items, traverse to them prior to the \"after\" position of this target.\n // If the next key is on the same level, then its \"before\" position is equivalent to this item's \"after\" position.\n let targetNode = collection.getItem(target.key);\n let nextNode = nextKey != null ? collection.getItem(nextKey) : null;\n if (targetNode && nextNode && nextNode.level >= targetNode.level) {\n return {\n type: 'item',\n key: nextNode.key,\n dropPosition: 'before'\n };\n }\n\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'after'\n };\n }\n case 'after': {\n // If this is the last sibling in a level, traverse to the parent.\n let targetNode = collection.getItem(target.key);\n let nextItemInSameLevel =\n targetNode?.nextKey != null ? collection.getItem(targetNode.nextKey) : null;\n while (nextItemInSameLevel != null && nextItemInSameLevel.type !== 'item') {\n nextItemInSameLevel =\n nextItemInSameLevel.nextKey != null\n ? collection.getItem(nextItemInSameLevel.nextKey)\n : null;\n }\n\n if (targetNode && nextItemInSameLevel == null && targetNode.parentKey != null) {\n // If the parent item has an item after it, use the \"before\" position.\n let parentNode = collection.getItem(targetNode.parentKey);\n const nextNode =\n parentNode?.nextKey != null ? collection.getItem(parentNode.nextKey) : null;\n if (nextNode?.type === 'item') {\n return {\n type: 'item',\n key: nextNode.key,\n dropPosition: 'before'\n };\n }\n\n if (parentNode?.type === 'item') {\n return {\n type: 'item',\n key: parentNode.key,\n dropPosition: 'after'\n };\n }\n }\n\n if (nextItemInSameLevel) {\n return {\n type: 'item',\n key: nextItemInSameLevel.key,\n dropPosition: 'on'\n };\n }\n }\n }\n }\n\n if (wrap) {\n return {\n type: 'root'\n };\n }\n\n return null;\n}\n\nfunction previousDropTarget(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n wrap = false,\n horizontal: 'left' | 'right' | null = null\n): DropTarget | null {\n // Start after the last root-level item.\n if (!target || (wrap && target.type === 'root')) {\n // Keyboard delegate gets the deepest item but we want the shallowest.\n let prevKey: Key | null = null;\n let lastKey = keyboardDelegate.getLastKey?.();\n while (lastKey != null) {\n let node = collection.getItem(lastKey);\n if (node?.type !== 'item') {\n break;\n }\n prevKey = lastKey;\n lastKey = node?.parentKey;\n }\n\n if (prevKey != null) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: 'after'\n };\n }\n\n return null;\n }\n\n if (target.type === 'item') {\n let prevKey: Key | null | undefined = null;\n if (horizontal) {\n prevKey =\n horizontal === 'left'\n ? keyboardDelegate.getKeyLeftOf?.(target.key, {includeDisabled: true})\n : keyboardDelegate.getKeyRightOf?.(target.key, {includeDisabled: true});\n } else {\n prevKey = keyboardDelegate.getKeyAbove?.(target.key, {includeDisabled: true});\n }\n let prevCollectionKey = getNextItem(collection, target.key, key =>\n collection.getKeyBefore(key)\n );\n\n // If the keyboard delegate did not move to the next key in the collection,\n // jump to that key with the same drop position. Otherwise, try the other\n // drop positions on the current key first.\n if (prevKey != null && prevKey !== prevCollectionKey) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: target.dropPosition\n };\n }\n\n switch (target.dropPosition) {\n case 'before': {\n // Move after the last child of the previous item.\n let targetNode = collection.getItem(target.key);\n if (targetNode && targetNode.prevKey != null) {\n let lastChild = getLastChild(collection, targetNode.prevKey);\n if (lastChild) {\n return lastChild;\n }\n }\n\n if (prevKey != null) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: 'on'\n };\n }\n\n return {\n type: 'root'\n };\n }\n case 'on': {\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'before'\n };\n }\n case 'after': {\n // Move after the last child of this item.\n let lastChild = getLastChild(collection, target.key);\n if (lastChild) {\n return lastChild;\n }\n\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'on'\n };\n }\n }\n }\n\n if (target.type !== 'root') {\n return {\n type: 'root'\n };\n }\n\n return null;\n}\n\nfunction getLastChild(collection: Collection<Node<unknown>>, key: Key): DropTarget | null {\n // getChildNodes still returns child tree items even when the item is collapsed.\n // Checking if the next item has a greater level is a silly way to determine if the item is expanded.\n let targetNode = collection.getItem(key);\n let nextKey = getNextItem(collection, key, key => collection.getKeyAfter(key));\n let nextNode = nextKey != null ? collection.getItem(nextKey) : null;\n if (targetNode && nextNode && nextNode.level > targetNode.level) {\n let lastChild: Node<unknown> | null = null;\n if ('lastChildKey' in targetNode) {\n lastChild =\n targetNode.lastChildKey != null ? collection.getItem(targetNode.lastChildKey) : null;\n while (lastChild && lastChild.type !== 'item' && lastChild.prevKey != null) {\n lastChild = collection.getItem(lastChild.prevKey)!;\n }\n } else {\n lastChild = Array.from(targetNode.childNodes).findLast(item => item.type === 'item') || null;\n }\n\n if (lastChild) {\n return {\n type: 'item',\n key: lastChild.key,\n dropPosition: 'after'\n };\n }\n }\n\n return null;\n}\n\n// Find the next or previous item in a collection, skipping over other types of nodes (e.g. content).\nfunction getNextItem(\n collection: Collection<Node<unknown>>,\n key: Key,\n getNextKey: (key: Key) => Key | null\n): Key | null {\n let nextCollectionKey = getNextKey(key);\n let nextCollectionNode = nextCollectionKey != null ? collection.getItem(nextCollectionKey) : null;\n while (nextCollectionNode && nextCollectionNode.type !== 'item') {\n nextCollectionKey = getNextKey(nextCollectionNode.key);\n nextCollectionNode = nextCollectionKey != null ? collection.getItem(nextCollectionKey) : null;\n }\n return nextCollectionKey;\n}\n"],"names":[],"version":3,"file":"DropTargetKeyboardNavigation.js.map"}
|
|
@@ -25,8 +25,14 @@ function $4ba715d4c7df8887$var$nextDropTarget(keyboardDelegate, collection, targ
|
|
|
25
25
|
}
|
|
26
26
|
if (target.type === 'item') {
|
|
27
27
|
let nextKey = null;
|
|
28
|
-
if (horizontal) nextKey = horizontal === 'right' ? keyboardDelegate.getKeyRightOf?.(target.key
|
|
29
|
-
|
|
28
|
+
if (horizontal) nextKey = horizontal === 'right' ? keyboardDelegate.getKeyRightOf?.(target.key, {
|
|
29
|
+
includeDisabled: true
|
|
30
|
+
}) : keyboardDelegate.getKeyLeftOf?.(target.key, {
|
|
31
|
+
includeDisabled: true
|
|
32
|
+
});
|
|
33
|
+
else nextKey = keyboardDelegate.getKeyBelow?.(target.key, {
|
|
34
|
+
includeDisabled: true
|
|
35
|
+
});
|
|
30
36
|
let nextCollectionKey = $4ba715d4c7df8887$var$getNextItem(collection, target.key, (key)=>collection.getKeyAfter(key));
|
|
31
37
|
// If the keyboard delegate did not move to the next key in the collection,
|
|
32
38
|
// jump to that key with the same drop position. Otherwise, try the other
|
|
@@ -115,8 +121,14 @@ function $4ba715d4c7df8887$var$previousDropTarget(keyboardDelegate, collection,
|
|
|
115
121
|
}
|
|
116
122
|
if (target.type === 'item') {
|
|
117
123
|
let prevKey = null;
|
|
118
|
-
if (horizontal) prevKey = horizontal === 'left' ? keyboardDelegate.getKeyLeftOf?.(target.key
|
|
119
|
-
|
|
124
|
+
if (horizontal) prevKey = horizontal === 'left' ? keyboardDelegate.getKeyLeftOf?.(target.key, {
|
|
125
|
+
includeDisabled: true
|
|
126
|
+
}) : keyboardDelegate.getKeyRightOf?.(target.key, {
|
|
127
|
+
includeDisabled: true
|
|
128
|
+
});
|
|
129
|
+
else prevKey = keyboardDelegate.getKeyAbove?.(target.key, {
|
|
130
|
+
includeDisabled: true
|
|
131
|
+
});
|
|
120
132
|
let prevCollectionKey = $4ba715d4c7df8887$var$getNextItem(collection, target.key, (key)=>collection.getKeyBefore(key));
|
|
121
133
|
// If the keyboard delegate did not move to the next key in the collection,
|
|
122
134
|
// jump to that key with the same drop position. Otherwise, try the other
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/react-aria/src/dnd/DropTargetKeyboardNavigation.ts"],"sourcesContent":["import {Collection, DropTarget, Key, KeyboardDelegate, Node} from '@react-types/shared';\n\nexport function navigate(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n direction: 'left' | 'right' | 'up' | 'down',\n rtl = false,\n wrap = false\n): DropTarget | null {\n switch (direction) {\n case 'left':\n return rtl\n ? nextDropTarget(keyboardDelegate, collection, target, wrap, 'left')\n : previousDropTarget(keyboardDelegate, collection, target, wrap, 'left');\n case 'right':\n return rtl\n ? previousDropTarget(keyboardDelegate, collection, target, wrap, 'right')\n : nextDropTarget(keyboardDelegate, collection, target, wrap, 'right');\n case 'up':\n return previousDropTarget(keyboardDelegate, collection, target, wrap);\n case 'down':\n return nextDropTarget(keyboardDelegate, collection, target, wrap);\n }\n}\n\nfunction nextDropTarget(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n wrap = false,\n horizontal: 'left' | 'right' | null = null\n): DropTarget | null {\n if (!target) {\n return {\n type: 'root'\n };\n }\n\n if (target.type === 'root') {\n let nextKey = keyboardDelegate.getFirstKey?.() ?? null;\n if (nextKey != null) {\n return {\n type: 'item',\n key: nextKey,\n dropPosition: 'before'\n };\n }\n\n return null;\n }\n\n if (target.type === 'item') {\n let nextKey: Key | null | undefined = null;\n if (horizontal) {\n nextKey = horizontal === 'right' ? keyboardDelegate.getKeyRightOf?.(target.key) : keyboardDelegate.getKeyLeftOf?.(target.key);\n } else {\n nextKey = keyboardDelegate.getKeyBelow?.(target.key);\n }\n let nextCollectionKey = getNextItem(collection, target.key, key => collection.getKeyAfter(key));\n\n // If the keyboard delegate did not move to the next key in the collection,\n // jump to that key with the same drop position. Otherwise, try the other\n // drop positions on the current key first.\n if (nextKey != null && nextKey !== nextCollectionKey) {\n return {\n type: 'item',\n key: nextKey,\n dropPosition: target.dropPosition\n };\n }\n\n switch (target.dropPosition) {\n case 'before': {\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'on'\n };\n }\n case 'on': {\n // If there are nested items, traverse to them prior to the \"after\" position of this target.\n // If the next key is on the same level, then its \"before\" position is equivalent to this item's \"after\" position.\n let targetNode = collection.getItem(target.key);\n let nextNode = nextKey != null ? collection.getItem(nextKey) : null;\n if (targetNode && nextNode && nextNode.level >= targetNode.level) {\n return {\n type: 'item',\n key: nextNode.key,\n dropPosition: 'before'\n };\n }\n\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'after'\n };\n }\n case 'after': {\n // If this is the last sibling in a level, traverse to the parent.\n let targetNode = collection.getItem(target.key);\n let nextItemInSameLevel = targetNode?.nextKey != null ? collection.getItem(targetNode.nextKey) : null;\n while (nextItemInSameLevel != null && nextItemInSameLevel.type !== 'item') {\n nextItemInSameLevel = nextItemInSameLevel.nextKey != null ? collection.getItem(nextItemInSameLevel.nextKey) : null;\n }\n\n if (targetNode && nextItemInSameLevel == null && targetNode.parentKey != null) {\n // If the parent item has an item after it, use the \"before\" position.\n let parentNode = collection.getItem(targetNode.parentKey);\n const nextNode = parentNode?.nextKey != null ? collection.getItem(parentNode.nextKey) : null;\n if (nextNode?.type === 'item') {\n return {\n type: 'item',\n key: nextNode.key,\n dropPosition: 'before'\n };\n }\n\n if (parentNode?.type === 'item') {\n return {\n type: 'item',\n key: parentNode.key,\n dropPosition: 'after'\n };\n }\n }\n\n if (nextItemInSameLevel) {\n return {\n type: 'item',\n key: nextItemInSameLevel.key,\n dropPosition: 'on'\n };\n }\n }\n }\n }\n\n if (wrap) {\n return {\n type: 'root'\n };\n }\n\n return null;\n}\n\nfunction previousDropTarget(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n wrap = false,\n horizontal: 'left' | 'right' | null = null\n): DropTarget | null {\n // Start after the last root-level item.\n if (!target || (wrap && target.type === 'root')) {\n // Keyboard delegate gets the deepest item but we want the shallowest.\n let prevKey: Key | null = null;\n let lastKey = keyboardDelegate.getLastKey?.();\n while (lastKey != null) {\n let node = collection.getItem(lastKey);\n if (node?.type !== 'item') {\n break;\n }\n prevKey = lastKey;\n lastKey = node?.parentKey;\n }\n\n if (prevKey != null) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: 'after'\n };\n }\n\n return null;\n }\n\n if (target.type === 'item') {\n let prevKey: Key | null | undefined = null;\n if (horizontal) {\n prevKey = horizontal === 'left' ? keyboardDelegate.getKeyLeftOf?.(target.key) : keyboardDelegate.getKeyRightOf?.(target.key);\n } else {\n prevKey = keyboardDelegate.getKeyAbove?.(target.key);\n }\n let prevCollectionKey = getNextItem(collection, target.key, key => collection.getKeyBefore(key));\n\n // If the keyboard delegate did not move to the next key in the collection,\n // jump to that key with the same drop position. Otherwise, try the other\n // drop positions on the current key first.\n if (prevKey != null && prevKey !== prevCollectionKey) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: target.dropPosition\n };\n }\n\n switch (target.dropPosition) {\n case 'before': {\n // Move after the last child of the previous item.\n let targetNode = collection.getItem(target.key);\n if (targetNode && targetNode.prevKey != null) {\n let lastChild = getLastChild(collection, targetNode.prevKey);\n if (lastChild) {\n return lastChild;\n }\n }\n\n if (prevKey != null) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: 'on'\n };\n }\n\n return {\n type: 'root'\n };\n }\n case 'on': {\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'before'\n };\n }\n case 'after': {\n // Move after the last child of this item.\n let lastChild = getLastChild(collection, target.key);\n if (lastChild) {\n return lastChild;\n }\n\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'on'\n };\n }\n }\n }\n\n if (target.type !== 'root') {\n return {\n type: 'root'\n };\n }\n\n return null;\n}\n\nfunction getLastChild(collection: Collection<Node<unknown>>, key: Key): DropTarget | null {\n // getChildNodes still returns child tree items even when the item is collapsed.\n // Checking if the next item has a greater level is a silly way to determine if the item is expanded.\n let targetNode = collection.getItem(key);\n let nextKey = getNextItem(collection, key, key => collection.getKeyAfter(key));\n let nextNode = nextKey != null ? collection.getItem(nextKey) : null;\n if (targetNode && nextNode && nextNode.level > targetNode.level) {\n let lastChild: Node<unknown> | null = null;\n if ('lastChildKey' in targetNode) {\n lastChild = targetNode.lastChildKey != null ? collection.getItem(targetNode.lastChildKey) : null;\n while (lastChild && lastChild.type !== 'item' && lastChild.prevKey != null) {\n lastChild = collection.getItem(lastChild.prevKey)!;\n }\n } else {\n lastChild = Array.from(targetNode.childNodes).findLast(item => item.type === 'item') || null;\n }\n\n if (lastChild) {\n return {\n type: 'item',\n key: lastChild.key,\n dropPosition: 'after'\n };\n }\n }\n\n return null;\n}\n\n// Find the next or previous item in a collection, skipping over other types of nodes (e.g. content).\nfunction getNextItem(collection: Collection<Node<unknown>>, key: Key, getNextKey: (key: Key) => Key | null): Key | null {\n let nextCollectionKey = getNextKey(key);\n let nextCollectionNode = nextCollectionKey != null ? collection.getItem(nextCollectionKey) : null;\n while (nextCollectionNode && nextCollectionNode.type !== 'item') {\n nextCollectionKey = getNextKey(nextCollectionNode.key);\n nextCollectionNode = nextCollectionKey != null ? collection.getItem(nextCollectionKey) : null;\n }\n return nextCollectionKey;\n}\n"],"names":[],"version":3,"file":"DropTargetKeyboardNavigation.mjs.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/react-aria/src/dnd/DropTargetKeyboardNavigation.ts"],"sourcesContent":["import {Collection, DropTarget, Key, KeyboardDelegate, Node} from '@react-types/shared';\n\nexport function navigate(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n direction: 'left' | 'right' | 'up' | 'down',\n rtl = false,\n wrap = false\n): DropTarget | null {\n switch (direction) {\n case 'left':\n return rtl\n ? nextDropTarget(keyboardDelegate, collection, target, wrap, 'left')\n : previousDropTarget(keyboardDelegate, collection, target, wrap, 'left');\n case 'right':\n return rtl\n ? previousDropTarget(keyboardDelegate, collection, target, wrap, 'right')\n : nextDropTarget(keyboardDelegate, collection, target, wrap, 'right');\n case 'up':\n return previousDropTarget(keyboardDelegate, collection, target, wrap);\n case 'down':\n return nextDropTarget(keyboardDelegate, collection, target, wrap);\n }\n}\n\nfunction nextDropTarget(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n wrap = false,\n horizontal: 'left' | 'right' | null = null\n): DropTarget | null {\n if (!target) {\n return {\n type: 'root'\n };\n }\n\n if (target.type === 'root') {\n let nextKey = keyboardDelegate.getFirstKey?.() ?? null;\n if (nextKey != null) {\n return {\n type: 'item',\n key: nextKey,\n dropPosition: 'before'\n };\n }\n\n return null;\n }\n\n if (target.type === 'item') {\n let nextKey: Key | null | undefined = null;\n if (horizontal) {\n nextKey =\n horizontal === 'right'\n ? keyboardDelegate.getKeyRightOf?.(target.key, {includeDisabled: true})\n : keyboardDelegate.getKeyLeftOf?.(target.key, {includeDisabled: true});\n } else {\n nextKey = keyboardDelegate.getKeyBelow?.(target.key, {includeDisabled: true});\n }\n let nextCollectionKey = getNextItem(collection, target.key, key => collection.getKeyAfter(key));\n\n // If the keyboard delegate did not move to the next key in the collection,\n // jump to that key with the same drop position. Otherwise, try the other\n // drop positions on the current key first.\n if (nextKey != null && nextKey !== nextCollectionKey) {\n return {\n type: 'item',\n key: nextKey,\n dropPosition: target.dropPosition\n };\n }\n\n switch (target.dropPosition) {\n case 'before': {\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'on'\n };\n }\n case 'on': {\n // If there are nested items, traverse to them prior to the \"after\" position of this target.\n // If the next key is on the same level, then its \"before\" position is equivalent to this item's \"after\" position.\n let targetNode = collection.getItem(target.key);\n let nextNode = nextKey != null ? collection.getItem(nextKey) : null;\n if (targetNode && nextNode && nextNode.level >= targetNode.level) {\n return {\n type: 'item',\n key: nextNode.key,\n dropPosition: 'before'\n };\n }\n\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'after'\n };\n }\n case 'after': {\n // If this is the last sibling in a level, traverse to the parent.\n let targetNode = collection.getItem(target.key);\n let nextItemInSameLevel =\n targetNode?.nextKey != null ? collection.getItem(targetNode.nextKey) : null;\n while (nextItemInSameLevel != null && nextItemInSameLevel.type !== 'item') {\n nextItemInSameLevel =\n nextItemInSameLevel.nextKey != null\n ? collection.getItem(nextItemInSameLevel.nextKey)\n : null;\n }\n\n if (targetNode && nextItemInSameLevel == null && targetNode.parentKey != null) {\n // If the parent item has an item after it, use the \"before\" position.\n let parentNode = collection.getItem(targetNode.parentKey);\n const nextNode =\n parentNode?.nextKey != null ? collection.getItem(parentNode.nextKey) : null;\n if (nextNode?.type === 'item') {\n return {\n type: 'item',\n key: nextNode.key,\n dropPosition: 'before'\n };\n }\n\n if (parentNode?.type === 'item') {\n return {\n type: 'item',\n key: parentNode.key,\n dropPosition: 'after'\n };\n }\n }\n\n if (nextItemInSameLevel) {\n return {\n type: 'item',\n key: nextItemInSameLevel.key,\n dropPosition: 'on'\n };\n }\n }\n }\n }\n\n if (wrap) {\n return {\n type: 'root'\n };\n }\n\n return null;\n}\n\nfunction previousDropTarget(\n keyboardDelegate: KeyboardDelegate,\n collection: Collection<Node<unknown>>,\n target: DropTarget | null | undefined,\n wrap = false,\n horizontal: 'left' | 'right' | null = null\n): DropTarget | null {\n // Start after the last root-level item.\n if (!target || (wrap && target.type === 'root')) {\n // Keyboard delegate gets the deepest item but we want the shallowest.\n let prevKey: Key | null = null;\n let lastKey = keyboardDelegate.getLastKey?.();\n while (lastKey != null) {\n let node = collection.getItem(lastKey);\n if (node?.type !== 'item') {\n break;\n }\n prevKey = lastKey;\n lastKey = node?.parentKey;\n }\n\n if (prevKey != null) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: 'after'\n };\n }\n\n return null;\n }\n\n if (target.type === 'item') {\n let prevKey: Key | null | undefined = null;\n if (horizontal) {\n prevKey =\n horizontal === 'left'\n ? keyboardDelegate.getKeyLeftOf?.(target.key, {includeDisabled: true})\n : keyboardDelegate.getKeyRightOf?.(target.key, {includeDisabled: true});\n } else {\n prevKey = keyboardDelegate.getKeyAbove?.(target.key, {includeDisabled: true});\n }\n let prevCollectionKey = getNextItem(collection, target.key, key =>\n collection.getKeyBefore(key)\n );\n\n // If the keyboard delegate did not move to the next key in the collection,\n // jump to that key with the same drop position. Otherwise, try the other\n // drop positions on the current key first.\n if (prevKey != null && prevKey !== prevCollectionKey) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: target.dropPosition\n };\n }\n\n switch (target.dropPosition) {\n case 'before': {\n // Move after the last child of the previous item.\n let targetNode = collection.getItem(target.key);\n if (targetNode && targetNode.prevKey != null) {\n let lastChild = getLastChild(collection, targetNode.prevKey);\n if (lastChild) {\n return lastChild;\n }\n }\n\n if (prevKey != null) {\n return {\n type: 'item',\n key: prevKey,\n dropPosition: 'on'\n };\n }\n\n return {\n type: 'root'\n };\n }\n case 'on': {\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'before'\n };\n }\n case 'after': {\n // Move after the last child of this item.\n let lastChild = getLastChild(collection, target.key);\n if (lastChild) {\n return lastChild;\n }\n\n return {\n type: 'item',\n key: target.key,\n dropPosition: 'on'\n };\n }\n }\n }\n\n if (target.type !== 'root') {\n return {\n type: 'root'\n };\n }\n\n return null;\n}\n\nfunction getLastChild(collection: Collection<Node<unknown>>, key: Key): DropTarget | null {\n // getChildNodes still returns child tree items even when the item is collapsed.\n // Checking if the next item has a greater level is a silly way to determine if the item is expanded.\n let targetNode = collection.getItem(key);\n let nextKey = getNextItem(collection, key, key => collection.getKeyAfter(key));\n let nextNode = nextKey != null ? collection.getItem(nextKey) : null;\n if (targetNode && nextNode && nextNode.level > targetNode.level) {\n let lastChild: Node<unknown> | null = null;\n if ('lastChildKey' in targetNode) {\n lastChild =\n targetNode.lastChildKey != null ? collection.getItem(targetNode.lastChildKey) : null;\n while (lastChild && lastChild.type !== 'item' && lastChild.prevKey != null) {\n lastChild = collection.getItem(lastChild.prevKey)!;\n }\n } else {\n lastChild = Array.from(targetNode.childNodes).findLast(item => item.type === 'item') || null;\n }\n\n if (lastChild) {\n return {\n type: 'item',\n key: lastChild.key,\n dropPosition: 'after'\n };\n }\n }\n\n return null;\n}\n\n// Find the next or previous item in a collection, skipping over other types of nodes (e.g. content).\nfunction getNextItem(\n collection: Collection<Node<unknown>>,\n key: Key,\n getNextKey: (key: Key) => Key | null\n): Key | null {\n let nextCollectionKey = getNextKey(key);\n let nextCollectionNode = nextCollectionKey != null ? collection.getItem(nextCollectionKey) : null;\n while (nextCollectionNode && nextCollectionNode.type !== 'item') {\n nextCollectionKey = getNextKey(nextCollectionNode.key);\n nextCollectionNode = nextCollectionKey != null ? collection.getItem(nextCollectionKey) : null;\n }\n return nextCollectionKey;\n}\n"],"names":[],"version":3,"file":"DropTargetKeyboardNavigation.mjs.map"}
|