@proyecto-viviana/solidaria 0.3.0 → 0.4.1
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/_chunk/DragManager.js +627 -0
- package/dist/_chunk/DragManager.js.map +1 -0
- package/dist/_chunk/DragManager.jsx +627 -0
- package/dist/_chunk/DragManager.jsx.map +1 -0
- package/dist/_chunk/FocusScope.js +400 -0
- package/dist/_chunk/FocusScope.js.map +1 -0
- package/dist/_chunk/FocusScope.jsx +375 -0
- package/dist/_chunk/FocusScope.jsx.map +1 -0
- package/dist/_chunk/actiongroup.js +141 -0
- package/dist/_chunk/actiongroup.js.map +1 -0
- package/dist/_chunk/actiongroup.jsx +141 -0
- package/dist/_chunk/actiongroup.jsx.map +1 -0
- package/dist/_chunk/announce.js +207 -0
- package/dist/_chunk/announce.js.map +1 -0
- package/dist/_chunk/announce.jsx +207 -0
- package/dist/_chunk/announce.jsx.map +1 -0
- package/dist/_chunk/ariaHideOutside.js +122 -0
- package/dist/_chunk/ariaHideOutside.js.map +1 -0
- package/dist/_chunk/ariaHideOutside.jsx +122 -0
- package/dist/_chunk/ariaHideOutside.jsx.map +1 -0
- package/dist/_chunk/autocomplete.js +244 -0
- package/dist/_chunk/autocomplete.js.map +1 -0
- package/dist/_chunk/autocomplete.jsx +244 -0
- package/dist/_chunk/autocomplete.jsx.map +1 -0
- package/dist/_chunk/breadcrumbs.js +121 -0
- package/dist/_chunk/breadcrumbs.js.map +1 -0
- package/dist/_chunk/breadcrumbs.jsx +121 -0
- package/dist/_chunk/breadcrumbs.jsx.map +1 -0
- package/dist/_chunk/button.js +275 -0
- package/dist/_chunk/button.js.map +1 -0
- package/dist/_chunk/button.jsx +275 -0
- package/dist/_chunk/button.jsx.map +1 -0
- package/dist/_chunk/calendar.js +1037 -0
- package/dist/_chunk/calendar.js.map +1 -0
- package/dist/_chunk/calendar.jsx +1037 -0
- package/dist/_chunk/calendar.jsx.map +1 -0
- package/dist/_chunk/checkbox.js +235 -0
- package/dist/_chunk/checkbox.js.map +1 -0
- package/dist/_chunk/checkbox.jsx +235 -0
- package/dist/_chunk/checkbox.jsx.map +1 -0
- package/dist/_chunk/color.js +1458 -0
- package/dist/_chunk/color.js.map +1 -0
- package/dist/_chunk/color.jsx +1458 -0
- package/dist/_chunk/color.jsx.map +1 -0
- package/dist/_chunk/combobox.js +1062 -0
- package/dist/_chunk/combobox.js.map +1 -0
- package/dist/_chunk/combobox.jsx +1062 -0
- package/dist/_chunk/combobox.jsx.map +1 -0
- package/dist/_chunk/constants.js +19 -0
- package/dist/_chunk/constants.js.map +1 -0
- package/dist/_chunk/constants.jsx +19 -0
- package/dist/_chunk/constants.jsx.map +1 -0
- package/dist/_chunk/createCollator.js +61 -0
- package/dist/_chunk/createCollator.js.map +1 -0
- package/dist/_chunk/createCollator.jsx +61 -0
- package/dist/_chunk/createCollator.jsx.map +1 -0
- package/dist/_chunk/createCollectionRowInteraction.js +133 -0
- package/dist/_chunk/createCollectionRowInteraction.js.map +1 -0
- package/dist/_chunk/createCollectionRowInteraction.jsx +133 -0
- package/dist/_chunk/createCollectionRowInteraction.jsx.map +1 -0
- package/dist/_chunk/createField.js +55 -0
- package/dist/_chunk/createField.js.map +1 -0
- package/dist/_chunk/createField.jsx +55 -0
- package/dist/_chunk/createField.jsx.map +1 -0
- package/dist/_chunk/createFocus.js +105 -0
- package/dist/_chunk/createFocus.js.map +1 -0
- package/dist/_chunk/createFocus.jsx +105 -0
- package/dist/_chunk/createFocus.jsx.map +1 -0
- package/dist/_chunk/createFocusRing.js +54 -0
- package/dist/_chunk/createFocusRing.js.map +1 -0
- package/dist/_chunk/createFocusRing.jsx +54 -0
- package/dist/_chunk/createFocusRing.jsx.map +1 -0
- package/dist/_chunk/createFocusWithin.js +120 -0
- package/dist/_chunk/createFocusWithin.js.map +1 -0
- package/dist/_chunk/createFocusWithin.jsx +120 -0
- package/dist/_chunk/createFocusWithin.jsx.map +1 -0
- package/dist/_chunk/createFocusable.js +131 -0
- package/dist/_chunk/createFocusable.js.map +1 -0
- package/dist/_chunk/createFocusable.jsx +131 -0
- package/dist/_chunk/createFocusable.jsx.map +1 -0
- package/dist/_chunk/createFormReset.js +39 -0
- package/dist/_chunk/createFormReset.js.map +1 -0
- package/dist/_chunk/createFormReset.jsx +39 -0
- package/dist/_chunk/createFormReset.jsx.map +1 -0
- package/dist/_chunk/createFormValidation.js +135 -0
- package/dist/_chunk/createFormValidation.js.map +1 -0
- package/dist/_chunk/createFormValidation.jsx +135 -0
- package/dist/_chunk/createFormValidation.jsx.map +1 -0
- package/dist/_chunk/createHover.js +131 -0
- package/dist/_chunk/createHover.js.map +1 -0
- package/dist/_chunk/createHover.jsx +131 -0
- package/dist/_chunk/createHover.jsx.map +1 -0
- package/dist/_chunk/createInteractionModality.js +268 -0
- package/dist/_chunk/createInteractionModality.js.map +1 -0
- package/dist/_chunk/createInteractionModality.jsx +268 -0
- package/dist/_chunk/createInteractionModality.jsx.map +1 -0
- package/dist/_chunk/createLabel.js +47 -0
- package/dist/_chunk/createLabel.js.map +1 -0
- package/dist/_chunk/createLabel.jsx +47 -0
- package/dist/_chunk/createLabel.jsx.map +1 -0
- package/dist/_chunk/createLabels.js +32 -0
- package/dist/_chunk/createLabels.js.map +1 -0
- package/dist/_chunk/createLabels.jsx +32 -0
- package/dist/_chunk/createLabels.jsx.map +1 -0
- package/dist/_chunk/createLandmark.js +198 -0
- package/dist/_chunk/createLandmark.js.map +1 -0
- package/dist/_chunk/createLandmark.jsx +198 -0
- package/dist/_chunk/createLandmark.jsx.map +1 -0
- package/dist/_chunk/createOverlay.js +327 -0
- package/dist/_chunk/createOverlay.js.map +1 -0
- package/dist/_chunk/createOverlay.jsx +327 -0
- package/dist/_chunk/createOverlay.jsx.map +1 -0
- package/dist/_chunk/createPress.js +526 -0
- package/dist/_chunk/createPress.js.map +1 -0
- package/dist/_chunk/createPress.jsx +526 -0
- package/dist/_chunk/createPress.jsx.map +1 -0
- package/dist/_chunk/createProgressBar.js +82 -0
- package/dist/_chunk/createProgressBar.js.map +1 -0
- package/dist/_chunk/createProgressBar.jsx +82 -0
- package/dist/_chunk/createProgressBar.jsx.map +1 -0
- package/dist/_chunk/createSelectableItem.js +302 -0
- package/dist/_chunk/createSelectableItem.js.map +1 -0
- package/dist/_chunk/createSelectableItem.jsx +302 -0
- package/dist/_chunk/createSelectableItem.jsx.map +1 -0
- package/dist/_chunk/createStringFormatter.js +61 -0
- package/dist/_chunk/createStringFormatter.js.map +1 -0
- package/dist/_chunk/createStringFormatter.jsx +61 -0
- package/dist/_chunk/createStringFormatter.jsx.map +1 -0
- package/dist/_chunk/createToggle.js +159 -0
- package/dist/_chunk/createToggle.js.map +1 -0
- package/dist/_chunk/createToggle.jsx +159 -0
- package/dist/_chunk/createToggle.jsx.map +1 -0
- package/dist/_chunk/createTypeSelect.js +125 -0
- package/dist/_chunk/createTypeSelect.js.map +1 -0
- package/dist/_chunk/createTypeSelect.jsx +125 -0
- package/dist/_chunk/createTypeSelect.jsx.map +1 -0
- package/dist/_chunk/datepicker.js +1706 -0
- package/dist/_chunk/datepicker.js.map +1 -0
- package/dist/_chunk/datepicker.jsx +1706 -0
- package/dist/_chunk/datepicker.jsx.map +1 -0
- package/dist/_chunk/dialog.js +62 -0
- package/dist/_chunk/dialog.js.map +1 -0
- package/dist/_chunk/dialog.jsx +62 -0
- package/dist/_chunk/dialog.jsx.map +1 -0
- package/dist/_chunk/disclosure.js +185 -0
- package/dist/_chunk/disclosure.js.map +1 -0
- package/dist/_chunk/disclosure.jsx +185 -0
- package/dist/_chunk/disclosure.jsx.map +1 -0
- package/dist/_chunk/dnd.js +2395 -0
- package/dist/_chunk/dnd.js.map +1 -0
- package/dist/_chunk/dnd.jsx +2395 -0
- package/dist/_chunk/dnd.jsx.map +1 -0
- package/dist/_chunk/env.js +87 -0
- package/dist/_chunk/env.js.map +1 -0
- package/dist/_chunk/env.jsx +87 -0
- package/dist/_chunk/env.jsx.map +1 -0
- package/dist/_chunk/filterDOMProps.js +82 -0
- package/dist/_chunk/filterDOMProps.js.map +1 -0
- package/dist/_chunk/filterDOMProps.jsx +82 -0
- package/dist/_chunk/filterDOMProps.jsx.map +1 -0
- package/dist/_chunk/focus.js +399 -0
- package/dist/_chunk/focus.js.map +1 -0
- package/dist/_chunk/focus.jsx +399 -0
- package/dist/_chunk/focus.jsx.map +1 -0
- package/dist/_chunk/focus2.js +631 -0
- package/dist/_chunk/focus2.js.map +1 -0
- package/dist/_chunk/focus2.jsx +631 -0
- package/dist/_chunk/focus2.jsx.map +1 -0
- package/dist/_chunk/grid.js +623 -0
- package/dist/_chunk/grid.js.map +1 -0
- package/dist/_chunk/grid.jsx +623 -0
- package/dist/_chunk/grid.jsx.map +1 -0
- package/dist/_chunk/gridlist.js +369 -0
- package/dist/_chunk/gridlist.js.map +1 -0
- package/dist/_chunk/gridlist.jsx +369 -0
- package/dist/_chunk/gridlist.jsx.map +1 -0
- package/dist/_chunk/i18n.js +199 -0
- package/dist/_chunk/i18n.js.map +1 -0
- package/dist/_chunk/i18n.jsx +199 -0
- package/dist/_chunk/i18n.jsx.map +1 -0
- package/dist/_chunk/interactions.js +331 -0
- package/dist/_chunk/interactions.js.map +1 -0
- package/dist/_chunk/interactions.jsx +325 -0
- package/dist/_chunk/interactions.jsx.map +1 -0
- package/dist/_chunk/link.js +97 -0
- package/dist/_chunk/link.js.map +1 -0
- package/dist/_chunk/link.jsx +97 -0
- package/dist/_chunk/link.jsx.map +1 -0
- package/dist/_chunk/listbox.js +356 -0
- package/dist/_chunk/listbox.js.map +1 -0
- package/dist/_chunk/listbox.jsx +356 -0
- package/dist/_chunk/listbox.jsx.map +1 -0
- package/dist/_chunk/locale.js +173 -0
- package/dist/_chunk/locale.js.map +1 -0
- package/dist/_chunk/locale.jsx +167 -0
- package/dist/_chunk/locale.jsx.map +1 -0
- package/dist/_chunk/menu.js +519 -0
- package/dist/_chunk/menu.js.map +1 -0
- package/dist/_chunk/menu.jsx +519 -0
- package/dist/_chunk/menu.jsx.map +1 -0
- package/dist/_chunk/meter.js +33 -0
- package/dist/_chunk/meter.js.map +1 -0
- package/dist/_chunk/meter.jsx +33 -0
- package/dist/_chunk/meter.jsx.map +1 -0
- package/dist/_chunk/numberfield.js +259 -0
- package/dist/_chunk/numberfield.js.map +1 -0
- package/dist/_chunk/numberfield.jsx +259 -0
- package/dist/_chunk/numberfield.jsx.map +1 -0
- package/dist/_chunk/overlays.js +186 -0
- package/dist/_chunk/overlays.js.map +1 -0
- package/dist/_chunk/overlays.jsx +162 -0
- package/dist/_chunk/overlays.jsx.map +1 -0
- package/dist/_chunk/popover.js +574 -0
- package/dist/_chunk/popover.js.map +1 -0
- package/dist/_chunk/popover.jsx +574 -0
- package/dist/_chunk/popover.jsx.map +1 -0
- package/dist/_chunk/radio.js +320 -0
- package/dist/_chunk/radio.js.map +1 -0
- package/dist/_chunk/radio.jsx +320 -0
- package/dist/_chunk/radio.jsx.map +1 -0
- package/dist/_chunk/reactivity.js +21 -0
- package/dist/_chunk/reactivity.js.map +1 -0
- package/dist/_chunk/reactivity.jsx +21 -0
- package/dist/_chunk/reactivity.jsx.map +1 -0
- package/dist/_chunk/searchfield.js +210 -0
- package/dist/_chunk/searchfield.js.map +1 -0
- package/dist/_chunk/searchfield.jsx +210 -0
- package/dist/_chunk/searchfield.jsx.map +1 -0
- package/dist/_chunk/select.js +406 -0
- package/dist/_chunk/select.js.map +1 -0
- package/dist/_chunk/select.jsx +397 -0
- package/dist/_chunk/select.jsx.map +1 -0
- package/dist/_chunk/selection.js +666 -0
- package/dist/_chunk/selection.js.map +1 -0
- package/dist/_chunk/selection.jsx +666 -0
- package/dist/_chunk/selection.jsx.map +1 -0
- package/dist/_chunk/separator.js +29 -0
- package/dist/_chunk/separator.js.map +1 -0
- package/dist/_chunk/separator.jsx +29 -0
- package/dist/_chunk/separator.jsx.map +1 -0
- package/dist/_chunk/slider.js +256 -0
- package/dist/_chunk/slider.js.map +1 -0
- package/dist/_chunk/slider.jsx +256 -0
- package/dist/_chunk/slider.jsx.map +1 -0
- package/dist/_chunk/spinbutton.js +153 -0
- package/dist/_chunk/spinbutton.js.map +1 -0
- package/dist/_chunk/spinbutton.jsx +153 -0
- package/dist/_chunk/spinbutton.jsx.map +1 -0
- package/dist/_chunk/steplist.js +66 -0
- package/dist/_chunk/steplist.js.map +1 -0
- package/dist/_chunk/steplist.jsx +66 -0
- package/dist/_chunk/steplist.jsx.map +1 -0
- package/dist/_chunk/switch.js +34 -0
- package/dist/_chunk/switch.js.map +1 -0
- package/dist/_chunk/switch.jsx +34 -0
- package/dist/_chunk/switch.jsx.map +1 -0
- package/dist/_chunk/table.js +1088 -0
- package/dist/_chunk/table.js.map +1 -0
- package/dist/_chunk/table.jsx +1088 -0
- package/dist/_chunk/table.jsx.map +1 -0
- package/dist/_chunk/tabs.js +263 -0
- package/dist/_chunk/tabs.js.map +1 -0
- package/dist/_chunk/tabs.jsx +263 -0
- package/dist/_chunk/tabs.jsx.map +1 -0
- package/dist/_chunk/tag.js +322 -0
- package/dist/_chunk/tag.js.map +1 -0
- package/dist/_chunk/tag.jsx +322 -0
- package/dist/_chunk/tag.jsx.map +1 -0
- package/dist/_chunk/textfield.js +110 -0
- package/dist/_chunk/textfield.js.map +1 -0
- package/dist/_chunk/textfield.jsx +110 -0
- package/dist/_chunk/textfield.jsx.map +1 -0
- package/dist/_chunk/toast.js +250 -0
- package/dist/_chunk/toast.js.map +1 -0
- package/dist/_chunk/toast.jsx +250 -0
- package/dist/_chunk/toast.jsx.map +1 -0
- package/dist/_chunk/toolbar.js +226 -0
- package/dist/_chunk/toolbar.js.map +1 -0
- package/dist/_chunk/toolbar.jsx +226 -0
- package/dist/_chunk/toolbar.jsx.map +1 -0
- package/dist/_chunk/tooltip.js +185 -0
- package/dist/_chunk/tooltip.js.map +1 -0
- package/dist/_chunk/tooltip.jsx +185 -0
- package/dist/_chunk/tooltip.jsx.map +1 -0
- package/dist/_chunk/tree.js +452 -0
- package/dist/_chunk/tree.js.map +1 -0
- package/dist/_chunk/tree.jsx +452 -0
- package/dist/_chunk/tree.jsx.map +1 -0
- package/dist/_chunk/utils.js +705 -0
- package/dist/_chunk/utils.js.map +1 -0
- package/dist/_chunk/utils.jsx +705 -0
- package/dist/_chunk/utils.jsx.map +1 -0
- package/dist/_chunk/visually-hidden.js +93 -0
- package/dist/_chunk/visually-hidden.js.map +1 -0
- package/dist/_chunk/visually-hidden.jsx +93 -0
- package/dist/_chunk/visually-hidden.jsx.map +1 -0
- package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
- package/dist/actiongroup/index.js +2 -0
- package/dist/actiongroup/index.jsx +2 -0
- package/dist/autocomplete/createAutocomplete.d.ts +12 -7
- package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
- package/dist/autocomplete/index.js +2 -0
- package/dist/autocomplete/index.jsx +2 -0
- package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
- package/dist/breadcrumbs/index.js +2 -0
- package/dist/breadcrumbs/index.jsx +2 -0
- package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
- package/dist/button/index.js +2 -0
- package/dist/button/index.jsx +2 -0
- package/dist/calendar/createCalendar.d.ts.map +1 -1
- package/dist/calendar/createCalendarCell.d.ts.map +1 -1
- package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
- package/dist/calendar/createCalendarMonthPicker.d.ts +41 -0
- package/dist/calendar/createCalendarMonthPicker.d.ts.map +1 -0
- package/dist/calendar/createCalendarYearPicker.d.ts +49 -0
- package/dist/calendar/createCalendarYearPicker.d.ts.map +1 -0
- package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
- package/dist/calendar/index.d.ts +2 -0
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/index.js +2 -0
- package/dist/calendar/index.jsx +2 -0
- package/dist/calendar/intl/index.d.ts +1 -1
- package/dist/calendar/intl/index.d.ts.map +1 -1
- package/dist/calendar/utils.d.ts +4 -0
- package/dist/calendar/utils.d.ts.map +1 -1
- package/dist/checkbox/createCheckbox.d.ts +4 -0
- package/dist/checkbox/createCheckbox.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
- package/dist/checkbox/index.js +2 -0
- package/dist/checkbox/index.jsx +2 -0
- package/dist/collections/index.js +160 -0
- package/dist/collections/index.js.map +1 -0
- package/dist/collections/index.jsx +160 -0
- package/dist/collections/index.jsx.map +1 -0
- package/dist/color/createColorArea.d.ts.map +1 -1
- package/dist/color/createColorField.d.ts.map +1 -1
- package/dist/color/createColorSlider.d.ts.map +1 -1
- package/dist/color/createColorSwatch.d.ts.map +1 -1
- package/dist/color/createColorWheel.d.ts.map +1 -1
- package/dist/color/index.js +2 -0
- package/dist/color/index.jsx +2 -0
- package/dist/color/intl/index.d.ts +30 -0
- package/dist/color/intl/index.d.ts.map +1 -0
- package/dist/combobox/createComboBox.d.ts.map +1 -1
- package/dist/combobox/index.js +2 -0
- package/dist/combobox/index.jsx +2 -0
- package/dist/combobox/intl/generated-locales.d.ts +16 -0
- package/dist/combobox/intl/generated-locales.d.ts.map +1 -0
- package/dist/combobox/intl/index.d.ts +2 -2
- package/dist/combobox/intl/index.d.ts.map +1 -1
- package/dist/datepicker/createDateField.d.ts +45 -23
- package/dist/datepicker/createDateField.d.ts.map +1 -1
- package/dist/datepicker/createDatePicker.d.ts +34 -6
- package/dist/datepicker/createDatePicker.d.ts.map +1 -1
- package/dist/datepicker/createDatePickerGroup.d.ts +13 -13
- package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -1
- package/dist/datepicker/createDateRangePicker.d.ts +55 -7
- package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
- package/dist/datepicker/createDateSegment.d.ts +6 -15
- package/dist/datepicker/createDateSegment.d.ts.map +1 -1
- package/dist/datepicker/createDisplayNames.d.ts +17 -0
- package/dist/datepicker/createDisplayNames.d.ts.map +1 -0
- package/dist/datepicker/createTimeField.d.ts +12 -49
- package/dist/datepicker/createTimeField.d.ts.map +1 -1
- package/dist/datepicker/index.d.ts +3 -3
- package/dist/datepicker/index.d.ts.map +1 -1
- package/dist/datepicker/index.js +2 -0
- package/dist/datepicker/index.jsx +2 -0
- package/dist/datepicker/intl.d.ts +12 -0
- package/dist/datepicker/intl.d.ts.map +1 -0
- package/dist/dialog/index.js +2 -0
- package/dist/dialog/index.jsx +2 -0
- package/dist/disclosure/index.js +2 -0
- package/dist/disclosure/index.jsx +2 -0
- package/dist/dnd/DragManager.d.ts +86 -0
- package/dist/dnd/DragManager.d.ts.map +1 -0
- package/dist/dnd/DropTargetKeyboardNavigation.d.ts +42 -0
- package/dist/dnd/DropTargetKeyboardNavigation.d.ts.map +1 -0
- package/dist/dnd/createDrag.d.ts.map +1 -1
- package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
- package/dist/dnd/createDraggableItem.d.ts +12 -7
- package/dist/dnd/createDraggableItem.d.ts.map +1 -1
- package/dist/dnd/createDroppableCollection.d.ts +7 -15
- package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
- package/dist/dnd/index.d.ts +5 -1
- package/dist/dnd/index.d.ts.map +1 -1
- package/dist/dnd/index.js +3 -0
- package/dist/dnd/index.jsx +3 -0
- package/dist/dnd/intl/index.d.ts +39 -0
- package/dist/dnd/intl/index.d.ts.map +1 -0
- package/dist/dnd/utils.d.ts +7 -2
- package/dist/dnd/utils.d.ts.map +1 -1
- package/dist/focus/FocusScope.d.ts +7 -0
- package/dist/focus/FocusScope.d.ts.map +1 -1
- package/dist/focus/index.d.ts +2 -1
- package/dist/focus/index.d.ts.map +1 -1
- package/dist/focus/index.js +3 -0
- package/dist/focus/index.jsx +3 -0
- package/dist/focus/virtualFocus.d.ts +26 -0
- package/dist/focus/virtualFocus.d.ts.map +1 -0
- package/dist/form/createFormValidation.d.ts.map +1 -1
- package/dist/form/index.js +3 -0
- package/dist/form/index.jsx +3 -0
- package/dist/grid/index.js +2 -0
- package/dist/grid/index.jsx +2 -0
- package/dist/gridlist/createGridList.d.ts +7 -1
- package/dist/gridlist/createGridList.d.ts.map +1 -1
- package/dist/gridlist/createGridListItem.d.ts +1 -1
- package/dist/gridlist/createGridListItem.d.ts.map +1 -1
- package/dist/gridlist/createGridListSection.d.ts +15 -0
- package/dist/gridlist/createGridListSection.d.ts.map +1 -0
- package/dist/gridlist/index.d.ts +2 -1
- package/dist/gridlist/index.d.ts.map +1 -1
- package/dist/gridlist/index.js +2 -0
- package/dist/gridlist/index.jsx +2 -0
- package/dist/gridlist/types.d.ts +50 -0
- package/dist/gridlist/types.d.ts.map +1 -1
- package/dist/i18n/index.js +5 -0
- package/dist/i18n/index.jsx +5 -0
- package/dist/index.d.ts +10 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +77 -18311
- package/dist/index.jsx +77 -18242
- package/dist/interactions/FocusableProvider.d.ts.map +1 -1
- package/dist/interactions/PressEvent.d.ts +11 -0
- package/dist/interactions/PressEvent.d.ts.map +1 -1
- package/dist/interactions/createFocus.d.ts.map +1 -1
- package/dist/interactions/createFocusWithin.d.ts.map +1 -1
- package/dist/interactions/createInteractionModality.d.ts +0 -1
- package/dist/interactions/createInteractionModality.d.ts.map +1 -1
- package/dist/interactions/createKeyboard.d.ts.map +1 -1
- package/dist/interactions/createPress.d.ts.map +1 -1
- package/dist/interactions/index.js +9 -0
- package/dist/interactions/index.jsx +9 -0
- package/dist/label/createLabels.d.ts.map +1 -1
- package/dist/label/index.js +4 -0
- package/dist/label/index.jsx +4 -0
- package/dist/landmark/index.js +2 -0
- package/dist/landmark/index.jsx +2 -0
- package/dist/link/index.js +2 -0
- package/dist/link/index.jsx +2 -0
- package/dist/listbox/createListBox.d.ts +37 -0
- package/dist/listbox/createListBox.d.ts.map +1 -1
- package/dist/listbox/createOption.d.ts +7 -1
- package/dist/listbox/createOption.d.ts.map +1 -1
- package/dist/listbox/index.js +2 -0
- package/dist/listbox/index.jsx +2 -0
- package/dist/live-announcer/index.js +2 -0
- package/dist/live-announcer/index.jsx +2 -0
- package/dist/menu/createMenu.d.ts +7 -4
- package/dist/menu/createMenu.d.ts.map +1 -1
- package/dist/menu/createMenuItem.d.ts +9 -1
- package/dist/menu/createMenuItem.d.ts.map +1 -1
- package/dist/menu/index.js +2 -0
- package/dist/menu/index.jsx +2 -0
- package/dist/meter/index.js +2 -0
- package/dist/meter/index.jsx +2 -0
- package/dist/numberfield/createNumberField.d.ts.map +1 -1
- package/dist/numberfield/index.js +2 -0
- package/dist/numberfield/index.jsx +2 -0
- package/dist/overlays/index.js +4 -0
- package/dist/overlays/index.jsx +4 -0
- package/dist/popover/calculatePosition.d.ts +2 -0
- package/dist/popover/calculatePosition.d.ts.map +1 -1
- package/dist/popover/createOverlayPosition.d.ts +8 -0
- package/dist/popover/createOverlayPosition.d.ts.map +1 -1
- package/dist/popover/index.js +2 -0
- package/dist/popover/index.jsx +2 -0
- package/dist/progress/index.js +2 -0
- package/dist/progress/index.jsx +2 -0
- package/dist/radio/createRadio.d.ts +2 -0
- package/dist/radio/createRadio.d.ts.map +1 -1
- package/dist/radio/index.js +2 -0
- package/dist/radio/index.jsx +2 -0
- package/dist/searchfield/index.js +2 -0
- package/dist/searchfield/index.jsx +2 -0
- package/dist/select/createSelect.d.ts +2 -0
- package/dist/select/createSelect.d.ts.map +1 -1
- package/dist/select/index.js +2 -0
- package/dist/select/index.jsx +2 -0
- package/dist/selection/DOMLayoutDelegate.d.ts +58 -0
- package/dist/selection/DOMLayoutDelegate.d.ts.map +1 -0
- package/dist/selection/ListKeyboardDelegate.d.ts +95 -0
- package/dist/selection/ListKeyboardDelegate.d.ts.map +1 -0
- package/dist/selection/constants.d.ts +15 -0
- package/dist/selection/constants.d.ts.map +1 -0
- package/dist/selection/createCollectionRowInteraction.d.ts +13 -0
- package/dist/selection/createCollectionRowInteraction.d.ts.map +1 -0
- package/dist/selection/createScrollIntoViewOnFocus.d.ts +31 -0
- package/dist/selection/createScrollIntoViewOnFocus.d.ts.map +1 -0
- package/dist/selection/createSelectableCollection.d.ts +69 -0
- package/dist/selection/createSelectableCollection.d.ts.map +1 -0
- package/dist/selection/createSelectableItem.d.ts +154 -0
- package/dist/selection/createSelectableItem.d.ts.map +1 -0
- package/dist/selection/createSelectableList.d.ts +43 -0
- package/dist/selection/createSelectableList.d.ts.map +1 -0
- package/dist/selection/createTypeSelect.d.ts.map +1 -1
- package/dist/selection/index.d.ts +9 -0
- package/dist/selection/index.d.ts.map +1 -1
- package/dist/selection/index.js +5 -0
- package/dist/selection/index.jsx +5 -0
- package/dist/selection/selectItem.d.ts +29 -0
- package/dist/selection/selectItem.d.ts.map +1 -0
- package/dist/selection/utils.d.ts +40 -0
- package/dist/selection/utils.d.ts.map +1 -0
- package/dist/separator/index.js +2 -0
- package/dist/separator/index.jsx +2 -0
- package/dist/slider/createSlider.d.ts.map +1 -1
- package/dist/slider/index.js +2 -0
- package/dist/slider/index.jsx +2 -0
- package/dist/spinbutton/createSpinButton.d.ts +41 -0
- package/dist/spinbutton/createSpinButton.d.ts.map +1 -0
- package/dist/spinbutton/index.d.ts +3 -0
- package/dist/spinbutton/index.d.ts.map +1 -0
- package/dist/spinbutton/index.js +2 -0
- package/dist/spinbutton/index.jsx +2 -0
- package/dist/spinbutton/intl.d.ts +5 -0
- package/dist/spinbutton/intl.d.ts.map +1 -0
- package/dist/ssr/index.d.ts +17 -0
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/ssr/index.js +299 -0
- package/dist/ssr/index.js.map +1 -0
- package/dist/ssr/index.jsx +292 -0
- package/dist/ssr/index.jsx.map +1 -0
- package/dist/steplist/index.js +2 -0
- package/dist/steplist/index.jsx +2 -0
- package/dist/switch/createSwitch.d.ts +4 -0
- package/dist/switch/createSwitch.d.ts.map +1 -1
- package/dist/switch/index.js +2 -0
- package/dist/switch/index.jsx +2 -0
- package/dist/table/createTable.d.ts.map +1 -1
- package/dist/table/createTableColumnHeader.d.ts.map +1 -1
- package/dist/table/createTableRow.d.ts +1 -1
- package/dist/table/createTableRow.d.ts.map +1 -1
- package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
- package/dist/table/createTableSelectionCheckbox.d.ts.map +1 -1
- package/dist/table/index.js +2 -0
- package/dist/table/index.jsx +2 -0
- package/dist/table/types.d.ts +35 -1
- package/dist/table/types.d.ts.map +1 -1
- package/dist/table/utils.d.ts +15 -0
- package/dist/table/utils.d.ts.map +1 -0
- package/dist/tabs/createTabs.d.ts +5 -3
- package/dist/tabs/createTabs.d.ts.map +1 -1
- package/dist/tabs/index.js +2 -0
- package/dist/tabs/index.jsx +2 -0
- package/dist/tag/createTag.d.ts +2 -0
- package/dist/tag/createTag.d.ts.map +1 -1
- package/dist/tag/createTagGroup.d.ts +7 -0
- package/dist/tag/createTagGroup.d.ts.map +1 -1
- package/dist/tag/index.js +2 -0
- package/dist/tag/index.jsx +2 -0
- package/dist/textfield/index.js +2 -0
- package/dist/textfield/index.jsx +2 -0
- package/dist/toast/createToast.d.ts.map +1 -1
- package/dist/toast/index.js +2 -0
- package/dist/toast/index.jsx +2 -0
- package/dist/toggle/createToggle.d.ts +4 -0
- package/dist/toggle/createToggle.d.ts.map +1 -1
- package/dist/toggle/index.js +3 -0
- package/dist/toggle/index.jsx +3 -0
- package/dist/toolbar/createToolbar.d.ts +1 -1
- package/dist/toolbar/createToolbar.d.ts.map +1 -1
- package/dist/toolbar/index.js +2 -0
- package/dist/toolbar/index.jsx +2 -0
- package/dist/tooltip/index.js +2 -0
- package/dist/tooltip/index.jsx +2 -0
- package/dist/tree/createTree.d.ts +5 -1
- package/dist/tree/createTree.d.ts.map +1 -1
- package/dist/tree/createTreeItem.d.ts +1 -1
- package/dist/tree/createTreeItem.d.ts.map +1 -1
- package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
- package/dist/tree/index.js +2 -0
- package/dist/tree/index.jsx +2 -0
- package/dist/tree/types.d.ts +10 -0
- package/dist/tree/types.d.ts.map +1 -1
- package/dist/utils/animation.d.ts +60 -0
- package/dist/utils/animation.d.ts.map +1 -0
- package/dist/utils/dom.d.ts +49 -2
- package/dist/utils/dom.d.ts.map +1 -1
- package/dist/utils/index.d.ts +4 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.jsx +6 -0
- package/dist/utils/keyboard.d.ts +17 -0
- package/dist/utils/keyboard.d.ts.map +1 -0
- package/dist/utils/mergeProps.d.ts.map +1 -1
- package/dist/utils/scrollIntoView.d.ts +30 -0
- package/dist/utils/scrollIntoView.d.ts.map +1 -0
- package/dist/visually-hidden/index.js +2 -0
- package/dist/visually-hidden/index.jsx +2 -0
- package/package.json +304 -3
- package/src/actiongroup/createActionGroup.ts +26 -109
- package/src/autocomplete/createAutocomplete.ts +202 -35
- package/src/breadcrumbs/createBreadcrumbs.ts +12 -4
- package/src/button/createToggleButtonGroup.ts +19 -14
- package/src/calendar/createCalendar.ts +5 -4
- package/src/calendar/createCalendarCell.ts +36 -5
- package/src/calendar/createCalendarGrid.ts +47 -12
- package/src/calendar/createCalendarMonthPicker.ts +105 -0
- package/src/calendar/createCalendarYearPicker.ts +144 -0
- package/src/calendar/createRangeCalendar.ts +27 -15
- package/src/calendar/createRangeCalendarCell.ts +17 -3
- package/src/calendar/index.ts +17 -0
- package/src/calendar/intl/index.ts +8 -0
- package/src/calendar/utils.ts +4 -0
- package/src/checkbox/createCheckbox.ts +10 -0
- package/src/checkbox/createCheckboxGroupItem.ts +12 -16
- package/src/color/createColorArea.ts +17 -10
- package/src/color/createColorField.ts +8 -1
- package/src/color/createColorSlider.ts +1 -2
- package/src/color/createColorSwatch.ts +4 -2
- package/src/color/createColorWheel.ts +0 -6
- package/src/color/intl/index.ts +316 -0
- package/src/combobox/createComboBox.ts +35 -4
- package/src/combobox/intl/generated-locales.ts +635 -0
- package/src/combobox/intl/index.ts +8 -2
- package/src/datepicker/createDateField.ts +228 -213
- package/src/datepicker/createDatePicker.ts +157 -146
- package/src/datepicker/createDatePickerGroup.ts +88 -82
- package/src/datepicker/createDateRangePicker.ts +230 -179
- package/src/datepicker/createDateSegment.ts +386 -384
- package/src/datepicker/createDisplayNames.ts +45 -0
- package/src/datepicker/createTimeField.ts +36 -129
- package/src/datepicker/index.ts +13 -14
- package/src/datepicker/intl.ts +633 -0
- package/src/dnd/DragManager.ts +693 -0
- package/src/dnd/DropTargetKeyboardNavigation.ts +337 -0
- package/src/dnd/createDrag.ts +31 -5
- package/src/dnd/createDraggableCollection.ts +33 -15
- package/src/dnd/createDraggableItem.ts +92 -5
- package/src/dnd/createDroppableCollection.ts +488 -371
- package/src/dnd/index.ts +11 -0
- package/src/dnd/intl/ar-AE.json +29 -0
- package/src/dnd/intl/bg-BG.json +29 -0
- package/src/dnd/intl/cs-CZ.json +29 -0
- package/src/dnd/intl/da-DK.json +29 -0
- package/src/dnd/intl/de-DE.json +29 -0
- package/src/dnd/intl/el-GR.json +29 -0
- package/src/dnd/intl/en-US.json +29 -0
- package/src/dnd/intl/es-ES.json +29 -0
- package/src/dnd/intl/et-EE.json +29 -0
- package/src/dnd/intl/fi-FI.json +29 -0
- package/src/dnd/intl/fr-FR.json +29 -0
- package/src/dnd/intl/he-IL.json +29 -0
- package/src/dnd/intl/hr-HR.json +29 -0
- package/src/dnd/intl/hu-HU.json +29 -0
- package/src/dnd/intl/index.ts +139 -0
- package/src/dnd/intl/it-IT.json +29 -0
- package/src/dnd/intl/ja-JP.json +29 -0
- package/src/dnd/intl/ko-KR.json +29 -0
- package/src/dnd/intl/lt-LT.json +29 -0
- package/src/dnd/intl/lv-LV.json +29 -0
- package/src/dnd/intl/nb-NO.json +29 -0
- package/src/dnd/intl/nl-NL.json +29 -0
- package/src/dnd/intl/pl-PL.json +29 -0
- package/src/dnd/intl/pt-BR.json +29 -0
- package/src/dnd/intl/pt-PT.json +29 -0
- package/src/dnd/intl/ro-RO.json +29 -0
- package/src/dnd/intl/ru-RU.json +29 -0
- package/src/dnd/intl/sk-SK.json +29 -0
- package/src/dnd/intl/sl-SI.json +29 -0
- package/src/dnd/intl/sr-SP.json +29 -0
- package/src/dnd/intl/sv-SE.json +29 -0
- package/src/dnd/intl/tr-TR.json +29 -0
- package/src/dnd/intl/uk-UA.json +29 -0
- package/src/dnd/intl/zh-CN.json +29 -0
- package/src/dnd/intl/zh-TW.json +29 -0
- package/src/dnd/utils.ts +63 -3
- package/src/focus/FocusScope.tsx +266 -24
- package/src/focus/index.ts +8 -0
- package/src/focus/virtualFocus.ts +55 -0
- package/src/form/createFormValidation.ts +8 -1
- package/src/gridlist/createGridList.ts +187 -48
- package/src/gridlist/createGridListItem.ts +87 -155
- package/src/gridlist/createGridListSection.ts +54 -0
- package/src/gridlist/index.ts +3 -0
- package/src/gridlist/types.ts +47 -0
- package/src/index.ts +51 -3
- package/src/interactions/FocusableProvider.tsx +11 -6
- package/src/interactions/PressEvent.ts +14 -0
- package/src/interactions/createFocus.ts +26 -21
- package/src/interactions/createFocusWithin.ts +23 -24
- package/src/interactions/createInteractionModality.ts +26 -15
- package/src/interactions/createKeyboard.ts +10 -0
- package/src/interactions/createPress.ts +29 -6
- package/src/label/createLabels.ts +7 -4
- package/src/listbox/createListBox.ts +203 -10
- package/src/listbox/createOption.ts +84 -74
- package/src/menu/createMenu.ts +93 -16
- package/src/menu/createMenuItem.ts +253 -41
- package/src/numberfield/createNumberField.ts +82 -14
- package/src/popover/calculatePosition.ts +19 -7
- package/src/popover/createOverlayPosition.ts +9 -0
- package/src/radio/createRadio.ts +19 -2
- package/src/select/createSelect.ts +41 -4
- package/src/selection/DOMLayoutDelegate.ts +102 -0
- package/src/selection/ListKeyboardDelegate.ts +398 -0
- package/src/selection/constants.ts +16 -0
- package/src/selection/createCollectionRowInteraction.ts +209 -0
- package/src/selection/createScrollIntoViewOnFocus.ts +65 -0
- package/src/selection/createSelectableCollection.ts +645 -0
- package/src/selection/createSelectableItem.ts +512 -0
- package/src/selection/createSelectableList.ts +93 -0
- package/src/selection/createTypeSelect.ts +112 -51
- package/src/selection/index.ts +31 -0
- package/src/selection/selectItem.ts +80 -0
- package/src/selection/utils.ts +82 -0
- package/src/slider/createSlider.ts +48 -1
- package/src/spinbutton/createSpinButton.ts +163 -0
- package/src/spinbutton/index.ts +10 -0
- package/src/spinbutton/intl.ts +115 -0
- package/src/ssr/index.tsx +31 -0
- package/src/switch/createSwitch.ts +10 -0
- package/src/table/createTable.ts +82 -27
- package/src/table/createTableColumnHeader.ts +10 -0
- package/src/table/createTableRow.ts +208 -203
- package/src/table/createTableSelectAllCheckbox.ts +3 -4
- package/src/table/createTableSelectionCheckbox.ts +24 -1
- package/src/table/types.ts +37 -1
- package/src/table/utils.ts +41 -0
- package/src/tabs/createTabs.ts +95 -24
- package/src/tag/createTag.ts +30 -36
- package/src/tag/createTagGroup.ts +92 -0
- package/src/toast/createToast.ts +1 -0
- package/src/toggle/createToggle.ts +20 -0
- package/src/toolbar/createToolbar.ts +43 -94
- package/src/tree/createTree.ts +165 -52
- package/src/tree/createTreeItem.ts +105 -120
- package/src/tree/createTreeSelectionCheckbox.ts +14 -1
- package/src/tree/types.ts +10 -0
- package/src/utils/animation.ts +243 -0
- package/src/utils/dom.ts +216 -25
- package/src/utils/index.ts +10 -0
- package/src/utils/keyboard.ts +25 -0
- package/src/utils/mergeProps.ts +8 -1
- package/src/utils/scrollIntoView.ts +181 -0
- package/dist/datepicker/createTimeSegment.d.ts +0 -29
- package/dist/datepicker/createTimeSegment.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.jsx.map +0 -1
- package/src/datepicker/createTimeSegment.ts +0 -352
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DragManager.js","names":[],"sources":["../../src/dnd/utils.ts","../../src/dnd/DragManager.ts"],"sourcesContent":["/**\n * Drag and Drop utilities for solidaria.\n */\n\nimport type {\n DragItem,\n DragType,\n DropItem,\n TextDropItem,\n FileDropItem,\n DirectoryDropItem,\n DropOperation,\n} from \"@proyecto-viviana/solid-stately\";\nimport { DIRECTORY_DRAG_TYPE } from \"@proyecto-viviana/solid-stately\";\nimport { getInteractionModality } from \"../interactions\";\n\n// Native drag types that can be transferred between applications\nexport const NATIVE_DRAG_TYPES: Set<string> = new Set([\"text/plain\", \"text/uri-list\", \"text/html\"]);\n\n// Custom drag type for serializing multiple items\nexport const CUSTOM_DRAG_TYPE = \"application/vnd.solidaria.items+json\";\n\n// Generic type for unknown file types\nexport const GENERIC_TYPE = \"application/octet-stream\";\n\n// Drop operation bit flags\nexport enum DROP_OPERATION {\n none = 0,\n cancel = 0,\n move = 1 << 0,\n copy = 1 << 1,\n link = 1 << 2,\n all = (1 << 0) | (1 << 1) | (1 << 2),\n}\n\n// Map from effectAllowed to DROP_OPERATION\nexport const DROP_OPERATION_ALLOWED: Record<string, number> = {\n none: DROP_OPERATION.none,\n copy: DROP_OPERATION.copy,\n copyLink: DROP_OPERATION.copy | DROP_OPERATION.link,\n copyMove: DROP_OPERATION.copy | DROP_OPERATION.move,\n link: DROP_OPERATION.link,\n linkMove: DROP_OPERATION.link | DROP_OPERATION.move,\n move: DROP_OPERATION.move,\n all: DROP_OPERATION.all,\n uninitialized: DROP_OPERATION.all,\n};\n\n// Map from DROP_OPERATION to effectAllowed\nexport const EFFECT_ALLOWED: Record<number, string> = {\n [DROP_OPERATION.none]: \"none\",\n [DROP_OPERATION.move]: \"move\",\n [DROP_OPERATION.copy]: \"copy\",\n [DROP_OPERATION.copy | DROP_OPERATION.move]: \"copyMove\",\n [DROP_OPERATION.link]: \"link\",\n [DROP_OPERATION.link | DROP_OPERATION.move]: \"linkMove\",\n [DROP_OPERATION.copy | DROP_OPERATION.link]: \"copyLink\",\n [DROP_OPERATION.all]: \"all\",\n};\n\n// Map from dropEffect to DropOperation\nexport const DROP_EFFECT_TO_DROP_OPERATION: Record<string, DropOperation> = {\n none: \"cancel\",\n link: \"link\",\n copy: \"copy\",\n move: \"move\",\n};\n\n// Map from DropOperation to dropEffect\nexport const DROP_OPERATION_TO_DROP_EFFECT: Record<DropOperation, string> = {\n cancel: \"none\",\n link: \"link\",\n copy: \"copy\",\n move: \"move\",\n};\n\n/**\n * Maps the current interaction modality onto the drag modality used for\n * announcements and descriptions. Mirrors @react-aria/dnd `mapModality`:\n * pointer collapses to virtual, and a virtual modality on a coarse pointer\n * (touch screen reader) becomes touch.\n */\nfunction mapModality(modality: string | null): string {\n if (!modality) {\n modality = \"virtual\";\n }\n\n if (modality === \"pointer\") {\n modality = \"virtual\";\n }\n\n if (\n modality === \"virtual\" &&\n typeof window !== \"undefined\" &&\n typeof window.matchMedia === \"function\" &&\n window.matchMedia(\"(pointer: coarse)\").matches\n ) {\n modality = \"touch\";\n }\n\n return modality;\n}\n\n/**\n * Returns the drag modality ('keyboard' | 'virtual' | 'touch') for the current\n * interaction. Mirrors @react-aria/dnd `getDragModality`.\n */\nexport function getDragModality(): string {\n return mapModality(getInteractionModality());\n}\n\n/**\n * Get the types present in drag items.\n */\nexport function getTypes(items: DragItem[]): Set<string> {\n const types = new Set<string>();\n for (const item of items) {\n for (const type of Object.keys(item)) {\n types.add(type);\n }\n }\n return types;\n}\n\n/**\n * Write drag items to a DataTransfer object.\n */\nexport function writeToDataTransfer(dataTransfer: DataTransfer, items: DragItem[]): void {\n const groupedByType = new Map<string, string[]>();\n let needsCustomData = false;\n const customData: object[] = [];\n\n for (const item of items) {\n const types = Object.keys(item);\n if (types.length > 1) {\n needsCustomData = true;\n }\n\n const dataByType: Record<string, string> = {};\n for (const type of types) {\n let typeItems = groupedByType.get(type);\n if (!typeItems) {\n typeItems = [];\n groupedByType.set(type, typeItems);\n } else {\n needsCustomData = true;\n }\n\n const data = item[type];\n dataByType[type] = data;\n typeItems.push(data);\n }\n\n customData.push(dataByType);\n }\n\n for (const [type, typeItems] of groupedByType) {\n if (NATIVE_DRAG_TYPES.has(type)) {\n // Join all items of this type with newlines\n const data = typeItems.join(\"\\n\");\n dataTransfer.items.add(data, type);\n } else {\n // Set first item for non-native types\n dataTransfer.items.add(typeItems[0], type);\n }\n }\n\n if (needsCustomData) {\n const data = JSON.stringify(customData);\n dataTransfer.items.add(data, CUSTOM_DRAG_TYPE);\n }\n}\n\n/**\n * Read drop items from a DataTransfer object.\n */\nexport function readFromDataTransfer(dataTransfer: DataTransfer): DropItem[] {\n const items: DropItem[] = [];\n\n if (!dataTransfer) {\n return items;\n }\n\n // Check for custom drag type first\n let hasCustomType = false;\n if (dataTransfer.types.includes(CUSTOM_DRAG_TYPE)) {\n try {\n const data = dataTransfer.getData(CUSTOM_DRAG_TYPE);\n const parsed = JSON.parse(data);\n for (const item of parsed) {\n items.push({\n kind: \"text\",\n types: new Set(Object.keys(item)),\n getText: (type) => Promise.resolve(item[type]),\n });\n }\n hasCustomType = true;\n } catch {\n // ignore parsing errors\n }\n }\n\n // Fall back to native items\n if (!hasCustomType) {\n const stringItems = new Map<string, string>();\n\n for (const item of dataTransfer.items) {\n if (item.kind === \"string\") {\n const type = item.type || GENERIC_TYPE;\n stringItems.set(type, dataTransfer.getData(item.type));\n } else if (item.kind === \"file\") {\n const file = item.getAsFile();\n if (file) {\n items.push(createFileItem(file));\n }\n }\n }\n\n if (stringItems.size > 0) {\n items.push({\n kind: \"text\",\n types: new Set(stringItems.keys()),\n getText: (type) => Promise.resolve(stringItems.get(type) ?? \"\"),\n });\n }\n }\n\n return items;\n}\n\n/**\n * Create a FileDropItem from a File object.\n */\nfunction createFileItem(file: File): FileDropItem {\n return {\n kind: \"file\",\n type: file.type || GENERIC_TYPE,\n name: file.name,\n getText: () => file.text(),\n getFile: () => Promise.resolve(file),\n };\n}\n\n/**\n * DragTypes implementation for checking drag types.\n */\nexport class DragTypesImpl {\n private types: Set<string>;\n private includesUnknownTypes: boolean;\n\n constructor(dataTransfer: DataTransfer) {\n this.types = new Set<string>();\n let hasFiles = false;\n\n for (const item of dataTransfer.items) {\n if (item.type !== CUSTOM_DRAG_TYPE) {\n if (item.kind === \"file\") {\n hasFiles = true;\n }\n if (item.type) {\n this.types.add(item.type);\n } else {\n this.types.add(GENERIC_TYPE);\n }\n }\n }\n\n // Safari doesn't expose file types until drop\n this.includesUnknownTypes = !hasFiles && dataTransfer.types.includes(\"Files\");\n }\n\n has(type: DragType | DragType[]): boolean {\n if (Array.isArray(type)) {\n return type.some((t) => this.has(t));\n }\n\n if (\n this.includesUnknownTypes ||\n (type === DIRECTORY_DRAG_TYPE && this.types.has(GENERIC_TYPE)) ||\n type === \"*/*\"\n ) {\n return true;\n }\n\n if (typeof type === \"string\") {\n // Wildcard MIME match, e.g. \"image/*\" accepts \"image/png\".\n if (type.endsWith(\"/*\")) {\n for (const key of this.types) {\n if (key.startsWith(type.slice(0, -2))) {\n return true;\n }\n }\n return false;\n }\n return this.types.has(type);\n }\n\n return false;\n }\n}\n\n/**\n * Check if a drop item is a text item.\n */\nexport function isTextDropItem(dropItem: DropItem): dropItem is TextDropItem {\n return dropItem.kind === \"text\";\n}\n\n/**\n * Check if a drop item is a file item.\n */\nexport function isFileDropItem(dropItem: DropItem): dropItem is FileDropItem {\n return dropItem.kind === \"file\";\n}\n\n/**\n * Check if a drop item is a directory item.\n */\nexport function isDirectoryDropItem(dropItem: DropItem): dropItem is DirectoryDropItem {\n return dropItem.kind === \"directory\";\n}\n\n// Global state for tracking drag operations\nlet globalDropEffect: string | undefined;\nlet globalAllowedDropOperations: number = DROP_OPERATION.none;\n\nexport function setGlobalDropEffect(effect: string | undefined): void {\n globalDropEffect = effect;\n}\n\nexport function getGlobalDropEffect(): string | undefined {\n return globalDropEffect;\n}\n\nexport function setGlobalAllowedDropOperations(ops: number): void {\n globalAllowedDropOperations = ops;\n}\n\nexport function getGlobalAllowedDropOperations(): number {\n return globalAllowedDropOperations;\n}\n","/**\n * Global keyboard/virtual drag session manager.\n *\n * Faithful port of @react-aria/dnd `DragManager` (react-aria 3.50). A single\n * module-level singleton owns the active drag session: it registers drop targets\n * and drop items across every collection on the page, drives Tab/Shift+Tab\n * cycling between them, Enter-to-drop / Escape-to-cancel, and the aria-live\n * announcements — providing the accessible keyboard alternative to native\n * pointer drag and drop.\n *\n * The only framework-specific adaptation from upstream is the reactive\n * subscription: React's `useDragSession` (useState + a subscription Set) becomes\n * a module-level Solid signal exposed through `createDragSession()`. Element refs\n * (upstream `RefObject.current`) become Solid element accessors (`() => el`).\n */\n\nimport { createSignal, type Accessor } from \"solid-js\";\n\nimport { announce } from \"../live-announcer/announce\";\nimport { ariaHideOutside } from \"../overlays/ariaHideOutside\";\nimport type {\n DragEndEvent,\n DragItem,\n DropActivateEvent,\n DropEnterEvent,\n DropEvent,\n DropExitEvent,\n DropItem,\n DropOperation,\n DropTarget as DroppableCollectionTarget,\n} from \"@proyecto-viviana/solid-stately\";\nimport { getActiveElement, getEventTarget, nodeContains } from \"../utils/dom\";\nimport { getDragModality, getTypes } from \"./utils\";\nimport { isVirtualClick, isVirtualPointerEvent } from \"../utils/events\";\nimport type { LocalizedStringFormatter } from \"@internationalized/string\";\n\n/** A Solid element accessor, replacing upstream's `RefObject<T>.current`. */\ntype ElementAccessor = () => HTMLElement | null;\n\nlet dropTargets = new Map<Element, DropTarget>();\nlet dropItems = new Map<Element, DroppableItem>();\nlet dragSession: DragSession | null = null;\n\n// Reactive mirror of `dragSession` for `createDragSession()`. Solid's signal is\n// the notification mechanism, replacing upstream's `subscriptions` Set.\nconst [trackedDragSession, setTrackedDragSession] = createSignal<DragSession | null>(null);\n\ninterface DropTarget {\n element: HTMLElement;\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?: ElementAccessor;\n}\n\nexport function registerDropTarget(target: DropTarget): () => void {\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: HTMLElement;\n target: DroppableCollectionTarget;\n getDropOperation?: (types: Set<string>, allowedOperations: DropOperation[]) => DropOperation;\n activateButtonRef?: ElementAccessor;\n}\n\nexport function registerDropItem(item: DroppableItem): () => void {\n dropItems.set(item.element, item);\n return (): void => {\n dropItems.delete(item.element);\n };\n}\n\ninterface DragTarget {\n element: HTMLElement;\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 setTrackedDragSession(dragSession);\n requestAnimationFrame(() => {\n if (dragSession) {\n dragSession.setup();\n if (getDragModality() === \"keyboard\") {\n dragSession.next();\n }\n }\n });\n}\n\n/** Reactive accessor for the active drag session, or null. */\nexport function createDragSession(): Accessor<DragSession | null> {\n return trackedDragSession;\n}\n\n/** @private */\nexport function isVirtualDragging(): boolean {\n return !!dragSession;\n}\n\nfunction endDragging() {\n dragSession = null;\n setTrackedDragSession(null);\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() as keyof typeof MESSAGES]));\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 (\n e.altKey ||\n nodeContains(this.getCurrentActivateButton(), getEventTarget<Node>(e))\n ) {\n this.activate(this.currentDropTarget, this.currentDropItem);\n } else {\n this.drop();\n }\n }\n }\n\n getCurrentActivateButton(): HTMLElement | null {\n return (\n this.currentDropItem?.activateButtonRef?.() ??\n this.currentDropTarget?.activateButtonRef?.() ??\n null\n );\n }\n\n onFocus(e: FocusEvent): void {\n let activateButton = this.getCurrentActivateButton();\n let eventTarget = getEventTarget<HTMLElement>(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 (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 // Guard activateButton non-null so this doesn't trip on the case where\n // there's no activate button and the focused element loses focus to nothing\n // (browsers and jsdom 26+ both set relatedTarget to null in that case).\n if (activateButton && 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<HTMLElement>(e);\n let item = [...dropElements].find(\n (item) =>\n item.element === eventTarget ||\n nodeContains(item.activateButtonRef?.() ?? null, eventTarget),\n );\n let dropTarget = this.validDropTargets.find((target) =>\n nodeContains(target.element, eventTarget),\n );\n let activateButton = item?.activateButtonRef?.() ?? dropTarget?.activateButtonRef?.() ?? null;\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 let button = item.activateButtonRef?.();\n return button ? [item.element, button] : [item.element];\n }),\n ...visibleDropTargets.flatMap((target) => {\n let button = target.activateButtonRef?.();\n return button ? [target.element, button] : [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\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 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 (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 =\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): DropTarget[] {\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\nexport type { DragTarget, DropTarget, DroppableItem, DragSession };\n"],"mappings":"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"}
|