@proyecto-viviana/solidaria 0.2.8 → 0.3.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/README.md +31 -236
- package/dist/actiongroup/createActionGroup.d.ts +5 -5
- package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
- package/dist/actiongroup/index.d.ts +1 -1
- package/dist/autocomplete/createAutocomplete.d.ts +10 -10
- package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
- package/dist/autocomplete/index.d.ts +1 -1
- package/dist/autocomplete/index.d.ts.map +1 -1
- package/dist/breadcrumbs/createBreadcrumbs.d.ts +9 -7
- package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
- package/dist/breadcrumbs/index.d.ts +1 -1
- package/dist/button/createButton.d.ts +1 -1
- package/dist/button/createButton.d.ts.map +1 -1
- package/dist/button/createToggleButton.d.ts +3 -3
- package/dist/button/createToggleButtonGroup.d.ts +7 -7
- package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
- package/dist/button/index.d.ts +6 -6
- package/dist/button/index.d.ts.map +1 -1
- package/dist/button/types.d.ts +18 -12
- package/dist/button/types.d.ts.map +1 -1
- package/dist/calendar/createCalendar.d.ts +15 -5
- package/dist/calendar/createCalendar.d.ts.map +1 -1
- package/dist/calendar/createCalendarCell.d.ts +6 -2
- package/dist/calendar/createCalendarCell.d.ts.map +1 -1
- package/dist/calendar/createCalendarGrid.d.ts +4 -4
- package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendar.d.ts +15 -5
- package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendarCell.d.ts +4 -2
- package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
- package/dist/calendar/index.d.ts +5 -5
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/intl/index.d.ts +12 -0
- package/dist/calendar/intl/index.d.ts.map +1 -0
- package/dist/calendar/utils.d.ts +12 -0
- package/dist/calendar/utils.d.ts.map +1 -0
- package/dist/checkbox/createCheckbox.d.ts +6 -6
- package/dist/checkbox/createCheckbox.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroup.d.ts +7 -7
- package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupItem.d.ts +4 -4
- package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupState.d.ts +2 -2
- package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -1
- package/dist/checkbox/index.d.ts +8 -8
- package/dist/checkbox/index.d.ts.map +1 -1
- package/dist/collections/index.d.ts +3 -3
- package/dist/collections/index.d.ts.map +1 -1
- package/dist/color/createColorArea.d.ts +3 -3
- package/dist/color/createColorArea.d.ts.map +1 -1
- package/dist/color/createColorField.d.ts +4 -4
- package/dist/color/createColorField.d.ts.map +1 -1
- package/dist/color/createColorSlider.d.ts +4 -4
- package/dist/color/createColorSlider.d.ts.map +1 -1
- package/dist/color/createColorSwatch.d.ts +2 -2
- package/dist/color/createColorSwatch.d.ts.map +1 -1
- package/dist/color/createColorWheel.d.ts +3 -3
- package/dist/color/createColorWheel.d.ts.map +1 -1
- package/dist/color/index.d.ts +6 -6
- package/dist/color/types.d.ts +98 -16
- package/dist/color/types.d.ts.map +1 -1
- package/dist/combobox/createComboBox.d.ts +10 -7
- package/dist/combobox/createComboBox.d.ts.map +1 -1
- package/dist/combobox/index.d.ts +1 -1
- package/dist/combobox/intl/index.d.ts +1 -1
- package/dist/datepicker/createDateField.d.ts +18 -6
- package/dist/datepicker/createDateField.d.ts.map +1 -1
- package/dist/datepicker/createDatePicker.d.ts +51 -5
- package/dist/datepicker/createDatePicker.d.ts.map +1 -1
- package/dist/datepicker/createDatePickerGroup.d.ts +19 -0
- package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -0
- package/dist/datepicker/createDateRangePicker.d.ts +8 -6
- package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
- package/dist/datepicker/createDateSegment.d.ts +10 -2
- package/dist/datepicker/createDateSegment.d.ts.map +1 -1
- package/dist/datepicker/createTimeField.d.ts +11 -5
- package/dist/datepicker/createTimeField.d.ts.map +1 -1
- package/dist/datepicker/createTimeSegment.d.ts +2 -2
- package/dist/datepicker/createTimeSegment.d.ts.map +1 -1
- package/dist/datepicker/index.d.ts +7 -6
- package/dist/datepicker/index.d.ts.map +1 -1
- package/dist/dialog/createDialog.d.ts +5 -5
- package/dist/dialog/createDialog.d.ts.map +1 -1
- package/dist/dialog/index.d.ts +2 -2
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/dialog/types.d.ts +4 -4
- package/dist/disclosure/createDisclosure.d.ts +5 -2
- package/dist/disclosure/createDisclosure.d.ts.map +1 -1
- package/dist/disclosure/createDisclosureGroup.d.ts +4 -4
- package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
- package/dist/disclosure/index.d.ts +2 -2
- package/dist/dnd/createDrag.d.ts +2 -2
- package/dist/dnd/createDrag.d.ts.map +1 -1
- package/dist/dnd/createDraggableCollection.d.ts +2 -2
- package/dist/dnd/createDraggableItem.d.ts +3 -3
- package/dist/dnd/createDraggableItem.d.ts.map +1 -1
- package/dist/dnd/createDrop.d.ts +2 -2
- package/dist/dnd/createDrop.d.ts.map +1 -1
- package/dist/dnd/createDroppableCollection.d.ts +26 -6
- package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
- package/dist/dnd/createDroppableItem.d.ts +3 -3
- package/dist/dnd/index.d.ts +12 -12
- package/dist/dnd/index.d.ts.map +1 -1
- package/dist/dnd/types.d.ts +2 -2
- package/dist/dnd/types.d.ts.map +1 -1
- package/dist/dnd/utils.d.ts +1 -1
- package/dist/dnd/utils.d.ts.map +1 -1
- package/dist/focus/FocusScope.d.ts +1 -1
- package/dist/focus/FocusScope.d.ts.map +1 -1
- package/dist/focus/createAutoFocus.d.ts.map +1 -1
- package/dist/focus/createFocusRestore.d.ts.map +1 -1
- package/dist/focus/createVirtualFocus.d.ts +4 -4
- package/dist/focus/createVirtualFocus.d.ts.map +1 -1
- package/dist/focus/index.d.ts +4 -4
- package/dist/focus/index.d.ts.map +1 -1
- package/dist/form/createFormReset.d.ts +1 -1
- package/dist/form/createFormValidation.d.ts +3 -3
- package/dist/form/createFormValidation.d.ts.map +1 -1
- package/dist/form/index.d.ts +2 -2
- package/dist/form/index.d.ts.map +1 -1
- package/dist/grid/GridKeyboardDelegate.d.ts +5 -5
- package/dist/grid/createGrid.d.ts +3 -3
- package/dist/grid/createGridCell.d.ts +3 -3
- package/dist/grid/createGridRow.d.ts +3 -3
- package/dist/grid/index.d.ts +5 -5
- package/dist/grid/types.d.ts +8 -8
- package/dist/gridlist/createGridList.d.ts +6 -4
- package/dist/gridlist/createGridList.d.ts.map +1 -1
- package/dist/gridlist/createGridListItem.d.ts +4 -4
- package/dist/gridlist/createGridListItem.d.ts.map +1 -1
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts +3 -3
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
- package/dist/gridlist/index.d.ts +4 -4
- package/dist/gridlist/types.d.ts +11 -7
- package/dist/gridlist/types.d.ts.map +1 -1
- package/dist/i18n/createCollator.d.ts.map +1 -1
- package/dist/i18n/createDateFormatter.d.ts.map +1 -1
- package/dist/i18n/createFilter.d.ts.map +1 -1
- package/dist/i18n/createNumberFormatter.d.ts +1 -1
- package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
- package/dist/i18n/createStringFormatter.d.ts +2 -2
- package/dist/i18n/createStringFormatter.d.ts.map +1 -1
- package/dist/i18n/index.d.ts +8 -8
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/locale.d.ts +2 -2
- package/dist/i18n/locale.d.ts.map +1 -1
- package/dist/i18n/utils.d.ts.map +1 -1
- package/dist/index.d.ts +52 -51
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18012 -16820
- package/dist/index.js.map +1 -1
- package/dist/index.jsx +18242 -0
- package/dist/index.jsx.map +1 -0
- package/dist/interactions/FocusableProvider.d.ts +2 -2
- package/dist/interactions/FocusableProvider.d.ts.map +1 -1
- package/dist/interactions/PressEvent.d.ts +2 -2
- package/dist/interactions/createFocus.d.ts +1 -1
- package/dist/interactions/createFocus.d.ts.map +1 -1
- package/dist/interactions/createFocusRing.d.ts +1 -1
- package/dist/interactions/createFocusRing.d.ts.map +1 -1
- package/dist/interactions/createFocusWithin.d.ts +1 -1
- package/dist/interactions/createFocusWithin.d.ts.map +1 -1
- package/dist/interactions/createFocusable.d.ts +3 -3
- package/dist/interactions/createFocusable.d.ts.map +1 -1
- package/dist/interactions/createHover.d.ts +5 -5
- package/dist/interactions/createHover.d.ts.map +1 -1
- package/dist/interactions/createInteractionModality.d.ts +3 -3
- package/dist/interactions/createInteractionModality.d.ts.map +1 -1
- package/dist/interactions/createKeyboard.d.ts +1 -1
- package/dist/interactions/createLongPress.d.ts +5 -5
- package/dist/interactions/createMove.d.ts +5 -5
- package/dist/interactions/createMove.d.ts.map +1 -1
- package/dist/interactions/createPress.d.ts +4 -4
- package/dist/interactions/createPress.d.ts.map +1 -1
- package/dist/interactions/index.d.ts +12 -12
- package/dist/interactions/index.d.ts.map +1 -1
- package/dist/label/createField.d.ts +4 -4
- package/dist/label/createField.d.ts.map +1 -1
- package/dist/label/createLabel.d.ts +7 -7
- package/dist/label/createLabel.d.ts.map +1 -1
- package/dist/label/createLabels.d.ts +1 -1
- package/dist/label/createLabels.d.ts.map +1 -1
- package/dist/label/index.d.ts +5 -5
- package/dist/landmark/createLandmark.d.ts +5 -5
- package/dist/landmark/createLandmark.d.ts.map +1 -1
- package/dist/landmark/index.d.ts +1 -1
- package/dist/link/createLink.d.ts +14 -8
- package/dist/link/createLink.d.ts.map +1 -1
- package/dist/link/index.d.ts +1 -1
- package/dist/listbox/createListBox.d.ts +11 -6
- package/dist/listbox/createListBox.d.ts.map +1 -1
- package/dist/listbox/createOption.d.ts +21 -4
- package/dist/listbox/createOption.d.ts.map +1 -1
- package/dist/listbox/index.d.ts +2 -2
- package/dist/listbox/index.d.ts.map +1 -1
- package/dist/live-announcer/announce.d.ts +2 -2
- package/dist/live-announcer/announce.d.ts.map +1 -1
- package/dist/live-announcer/index.d.ts +1 -1
- package/dist/menu/createMenu.d.ts +7 -7
- package/dist/menu/createMenu.d.ts.map +1 -1
- package/dist/menu/createMenuItem.d.ts +16 -4
- package/dist/menu/createMenuItem.d.ts.map +1 -1
- package/dist/menu/createMenuTrigger.d.ts +4 -4
- package/dist/menu/index.d.ts +3 -3
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/meter/createMeter.d.ts +6 -6
- package/dist/meter/createMeter.d.ts.map +1 -1
- package/dist/meter/index.d.ts +1 -1
- package/dist/numberfield/createNumberField.d.ts +9 -8
- package/dist/numberfield/createNumberField.d.ts.map +1 -1
- package/dist/numberfield/index.d.ts +1 -1
- package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
- package/dist/overlays/createModal.d.ts +3 -3
- package/dist/overlays/createModal.d.ts.map +1 -1
- package/dist/overlays/createOverlay.d.ts +1 -1
- package/dist/overlays/createOverlay.d.ts.map +1 -1
- package/dist/overlays/createOverlayTrigger.d.ts +6 -6
- package/dist/overlays/index.d.ts +6 -6
- package/dist/overlays/index.d.ts.map +1 -1
- package/dist/popover/calculatePosition.d.ts +4 -4
- package/dist/popover/calculatePosition.d.ts.map +1 -1
- package/dist/popover/createOverlayPosition.d.ts +3 -3
- package/dist/popover/createOverlayPosition.d.ts.map +1 -1
- package/dist/popover/createPopover.d.ts +4 -4
- package/dist/popover/createPopover.d.ts.map +1 -1
- package/dist/popover/index.d.ts +3 -3
- package/dist/progress/createProgressBar.d.ts +7 -5
- package/dist/progress/createProgressBar.d.ts.map +1 -1
- package/dist/progress/index.d.ts +1 -1
- package/dist/radio/createRadio.d.ts +7 -7
- package/dist/radio/createRadio.d.ts.map +1 -1
- package/dist/radio/createRadioGroup.d.ts +10 -10
- package/dist/radio/createRadioGroup.d.ts.map +1 -1
- package/dist/radio/createRadioGroupState.d.ts +3 -3
- package/dist/radio/createRadioGroupState.d.ts.map +1 -1
- package/dist/radio/index.d.ts +3 -3
- package/dist/radio/index.d.ts.map +1 -1
- package/dist/searchfield/createSearchField.d.ts +7 -7
- package/dist/searchfield/createSearchField.d.ts.map +1 -1
- package/dist/searchfield/index.d.ts +2 -2
- package/dist/select/createHiddenSelect.d.ts +4 -4
- package/dist/select/createHiddenSelect.d.ts.map +1 -1
- package/dist/select/createSelect.d.ts +14 -6
- package/dist/select/createSelect.d.ts.map +1 -1
- package/dist/select/index.d.ts +2 -2
- package/dist/select/index.d.ts.map +1 -1
- package/dist/selection/createTypeSelect.d.ts +2 -2
- package/dist/selection/index.d.ts +1 -1
- package/dist/separator/createSeparator.d.ts +9 -5
- package/dist/separator/createSeparator.d.ts.map +1 -1
- package/dist/separator/index.d.ts +1 -1
- package/dist/slider/createSlider.d.ts +11 -7
- package/dist/slider/createSlider.d.ts.map +1 -1
- package/dist/slider/index.d.ts +2 -2
- package/dist/ssr/index.d.ts +1 -1
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/steplist/createStepList.d.ts +36 -0
- package/dist/steplist/createStepList.d.ts.map +1 -0
- package/dist/steplist/index.d.ts +2 -0
- package/dist/steplist/index.d.ts.map +1 -0
- package/dist/switch/createSwitch.d.ts +6 -4
- package/dist/switch/createSwitch.d.ts.map +1 -1
- package/dist/switch/index.d.ts +1 -1
- package/dist/table/createTable.d.ts +3 -3
- package/dist/table/createTable.d.ts.map +1 -1
- package/dist/table/createTableCell.d.ts +3 -3
- package/dist/table/createTableCell.d.ts.map +1 -1
- package/dist/table/createTableColumnHeader.d.ts +3 -3
- package/dist/table/createTableColumnHeader.d.ts.map +1 -1
- package/dist/table/createTableColumnResize.d.ts +41 -0
- package/dist/table/createTableColumnResize.d.ts.map +1 -0
- package/dist/table/createTableHeaderRow.d.ts +3 -3
- package/dist/table/createTableRow.d.ts +3 -3
- package/dist/table/createTableRow.d.ts.map +1 -1
- package/dist/table/createTableRowGroup.d.ts +2 -2
- package/dist/table/createTableRowGroup.d.ts.map +1 -1
- package/dist/table/createTableSelectAllCheckbox.d.ts +3 -3
- package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
- package/dist/table/createTableSelectionCheckbox.d.ts +3 -3
- package/dist/table/index.d.ts +11 -9
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/types.d.ts +15 -7
- package/dist/table/types.d.ts.map +1 -1
- package/dist/tabs/createTabs.d.ts +28 -25
- package/dist/tabs/createTabs.d.ts.map +1 -1
- package/dist/tabs/index.d.ts +1 -1
- package/dist/tag/createTag.d.ts +2 -2
- package/dist/tag/createTag.d.ts.map +1 -1
- package/dist/tag/createTagGroup.d.ts +5 -5
- package/dist/tag/createTagGroup.d.ts.map +1 -1
- package/dist/tag/index.d.ts +2 -2
- package/dist/tag/index.d.ts.map +1 -1
- package/dist/textfield/createTextField.d.ts +17 -11
- package/dist/textfield/createTextField.d.ts.map +1 -1
- package/dist/textfield/index.d.ts +1 -1
- package/dist/textfield/index.d.ts.map +1 -1
- package/dist/toast/createToast.d.ts +2 -2
- package/dist/toast/createToast.d.ts.map +1 -1
- package/dist/toast/createToastRegion.d.ts +5 -3
- package/dist/toast/createToastRegion.d.ts.map +1 -1
- package/dist/toast/index.d.ts +2 -2
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toggle/createToggle.d.ts +9 -9
- package/dist/toggle/createToggle.d.ts.map +1 -1
- package/dist/toggle/createToggleState.d.ts +2 -2
- package/dist/toggle/createToggleState.d.ts.map +1 -1
- package/dist/toggle/index.d.ts +4 -4
- package/dist/toggle/index.d.ts.map +1 -1
- package/dist/toolbar/createToolbar.d.ts +9 -9
- package/dist/toolbar/createToolbar.d.ts.map +1 -1
- package/dist/toolbar/index.d.ts +1 -1
- package/dist/toolbar/index.d.ts.map +1 -1
- package/dist/tooltip/createTooltip.d.ts +5 -5
- package/dist/tooltip/createTooltip.d.ts.map +1 -1
- package/dist/tooltip/createTooltipTrigger.d.ts +10 -5
- package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
- package/dist/tooltip/index.d.ts +2 -2
- package/dist/tree/createTree.d.ts +3 -3
- package/dist/tree/createTree.d.ts.map +1 -1
- package/dist/tree/createTreeItem.d.ts +4 -4
- package/dist/tree/createTreeItem.d.ts.map +1 -1
- package/dist/tree/createTreeSelectionCheckbox.d.ts +3 -3
- package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
- package/dist/tree/index.d.ts +4 -4
- package/dist/tree/types.d.ts +10 -6
- package/dist/tree/types.d.ts.map +1 -1
- package/dist/utils/createDescription.d.ts +2 -2
- package/dist/utils/createDescription.d.ts.map +1 -1
- package/dist/utils/dom.d.ts.map +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/focus.d.ts +1 -1
- package/dist/utils/focus.d.ts.map +1 -1
- package/dist/utils/geometry.d.ts.map +1 -1
- package/dist/utils/index.d.ts +12 -12
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/mergeProps.d.ts.map +1 -1
- package/dist/utils/reactivity.d.ts +1 -1
- package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -2
- package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
- package/dist/visually-hidden/index.d.ts +1 -1
- package/package.json +32 -32
- package/src/actiongroup/createActionGroup.ts +101 -91
- package/src/actiongroup/index.ts +1 -1
- package/src/autocomplete/createAutocomplete.ts +117 -134
- package/src/autocomplete/index.ts +1 -1
- package/src/breadcrumbs/createBreadcrumbs.ts +33 -42
- package/src/breadcrumbs/index.ts +1 -1
- package/src/button/createButton.ts +102 -73
- package/src/button/createToggleButton.ts +10 -10
- package/src/button/createToggleButtonGroup.ts +25 -32
- package/src/button/index.ts +6 -9
- package/src/button/types.ts +18 -12
- package/src/calendar/createCalendar.ts +62 -29
- package/src/calendar/createCalendarCell.ts +98 -46
- package/src/calendar/createCalendarGrid.ts +57 -35
- package/src/calendar/createRangeCalendar.ts +66 -31
- package/src/calendar/createRangeCalendarCell.ts +92 -31
- package/src/calendar/index.ts +5 -9
- package/src/calendar/intl/index.ts +210 -0
- package/src/calendar/utils.ts +227 -0
- package/src/checkbox/createCheckbox.ts +13 -21
- package/src/checkbox/createCheckboxGroup.ts +68 -44
- package/src/checkbox/createCheckboxGroupItem.ts +16 -27
- package/src/checkbox/createCheckboxGroupState.ts +3 -22
- package/src/checkbox/index.ts +8 -10
- package/src/collections/index.ts +33 -29
- package/src/color/createColorArea.ts +232 -154
- package/src/color/createColorField.ts +107 -58
- package/src/color/createColorSlider.ts +231 -73
- package/src/color/createColorSwatch.ts +38 -13
- package/src/color/createColorWheel.ts +208 -83
- package/src/color/index.ts +6 -6
- package/src/color/types.ts +98 -16
- package/src/combobox/createComboBox.ts +157 -100
- package/src/combobox/index.ts +1 -1
- package/src/combobox/intl/index.ts +5 -5
- package/src/datepicker/createDateField.ts +192 -39
- package/src/datepicker/createDatePicker.ts +260 -67
- package/src/datepicker/createDatePickerGroup.ts +149 -0
- package/src/datepicker/createDateRangePicker.ts +105 -57
- package/src/datepicker/createDateSegment.ts +183 -96
- package/src/datepicker/createTimeField.ts +38 -34
- package/src/datepicker/createTimeSegment.ts +67 -85
- package/src/datepicker/index.ts +13 -14
- package/src/dialog/createDialog.ts +45 -38
- package/src/dialog/index.ts +2 -2
- package/src/dialog/types.ts +4 -4
- package/src/disclosure/createDisclosure.ts +138 -33
- package/src/disclosure/createDisclosureGroup.ts +8 -21
- package/src/disclosure/index.ts +2 -2
- package/src/dnd/createDrag.ts +19 -25
- package/src/dnd/createDraggableCollection.ts +4 -4
- package/src/dnd/createDraggableItem.ts +20 -19
- package/src/dnd/createDrop.ts +42 -51
- package/src/dnd/createDroppableCollection.ts +290 -173
- package/src/dnd/createDroppableItem.ts +34 -34
- package/src/dnd/index.ts +23 -12
- package/src/dnd/types.ts +4 -7
- package/src/dnd/utils.ts +36 -49
- package/src/focus/FocusScope.tsx +155 -164
- package/src/focus/createAutoFocus.ts +4 -20
- package/src/focus/createFocusRestore.ts +15 -28
- package/src/focus/createVirtualFocus.ts +20 -36
- package/src/focus/index.ts +4 -8
- package/src/form/createFormReset.ts +4 -4
- package/src/form/createFormValidation.ts +20 -43
- package/src/form/index.ts +2 -5
- package/src/grid/GridKeyboardDelegate.ts +30 -30
- package/src/grid/createGrid.ts +36 -36
- package/src/grid/createGridCell.ts +18 -18
- package/src/grid/createGridRow.ts +14 -14
- package/src/grid/index.ts +5 -5
- package/src/grid/types.ts +8 -8
- package/src/gridlist/createGridList.ts +34 -29
- package/src/gridlist/createGridListItem.ts +68 -23
- package/src/gridlist/createGridListSelectionCheckbox.ts +12 -9
- package/src/gridlist/index.ts +4 -4
- package/src/gridlist/types.ts +11 -7
- package/src/i18n/createCollator.ts +5 -18
- package/src/i18n/createDateFormatter.ts +5 -13
- package/src/i18n/createFilter.ts +11 -24
- package/src/i18n/createNumberFormatter.ts +4 -6
- package/src/i18n/createStringFormatter.ts +19 -15
- package/src/i18n/index.ts +8 -11
- package/src/i18n/locale.tsx +15 -40
- package/src/i18n/utils.ts +35 -39
- package/src/index.ts +68 -169
- package/src/interactions/FocusableProvider.tsx +3 -7
- package/src/interactions/PressEvent.ts +4 -4
- package/src/interactions/createFocus.ts +12 -8
- package/src/interactions/createFocusRing.ts +21 -19
- package/src/interactions/createFocusWithin.ts +20 -13
- package/src/interactions/createFocusable.ts +15 -16
- package/src/interactions/createHover.ts +70 -55
- package/src/interactions/createInteractionModality.ts +75 -82
- package/src/interactions/createKeyboard.ts +2 -2
- package/src/interactions/createLongPress.ts +23 -23
- package/src/interactions/createMove.ts +72 -62
- package/src/interactions/createPress.ts +164 -87
- package/src/interactions/index.ts +24 -16
- package/src/label/createField.ts +18 -19
- package/src/label/createLabel.ts +18 -30
- package/src/label/createLabels.ts +8 -12
- package/src/label/index.ts +5 -5
- package/src/landmark/createLandmark.ts +30 -51
- package/src/landmark/index.ts +1 -1
- package/src/link/createLink.ts +83 -56
- package/src/link/index.ts +1 -1
- package/src/listbox/createListBox.ts +69 -58
- package/src/listbox/createOption.ts +83 -37
- package/src/listbox/index.ts +2 -6
- package/src/live-announcer/announce.ts +44 -71
- package/src/live-announcer/index.ts +1 -1
- package/src/menu/createMenu.ts +79 -50
- package/src/menu/createMenuItem.ts +79 -27
- package/src/menu/createMenuTrigger.ts +15 -15
- package/src/menu/index.ts +3 -12
- package/src/meter/createMeter.ts +7 -15
- package/src/meter/index.ts +1 -1
- package/src/numberfield/createNumberField.ts +138 -81
- package/src/numberfield/index.ts +1 -1
- package/src/overlays/ariaHideOutside.ts +14 -10
- package/src/overlays/createInteractOutside.ts +21 -18
- package/src/overlays/createModal.tsx +17 -17
- package/src/overlays/createOverlay.ts +38 -8
- package/src/overlays/createOverlayTrigger.ts +16 -16
- package/src/overlays/createPreventScroll.ts +46 -24
- package/src/overlays/index.ts +6 -17
- package/src/popover/calculatePosition.ts +115 -117
- package/src/popover/createOverlayPosition.ts +46 -40
- package/src/popover/createPopover.ts +42 -17
- package/src/popover/index.ts +3 -3
- package/src/progress/createProgressBar.ts +31 -32
- package/src/progress/index.ts +1 -1
- package/src/radio/createRadio.ts +95 -73
- package/src/radio/createRadioGroup.ts +83 -77
- package/src/radio/createRadioGroupState.ts +7 -31
- package/src/radio/index.ts +3 -8
- package/src/searchfield/createSearchField.ts +57 -29
- package/src/searchfield/index.ts +2 -2
- package/src/select/createHiddenSelect.tsx +57 -44
- package/src/select/createSelect.ts +128 -71
- package/src/select/index.ts +2 -7
- package/src/selection/createTypeSelect.ts +11 -11
- package/src/selection/index.ts +1 -1
- package/src/separator/createSeparator.ts +20 -25
- package/src/separator/index.ts +1 -1
- package/src/slider/createSlider.ts +93 -124
- package/src/slider/index.ts +2 -2
- package/src/ssr/index.tsx +8 -47
- package/src/steplist/createStepList.ts +106 -0
- package/src/steplist/index.ts +8 -0
- package/src/switch/createSwitch.ts +9 -14
- package/src/switch/index.ts +1 -1
- package/src/table/createTable.ts +152 -85
- package/src/table/createTableCell.ts +17 -16
- package/src/table/createTableColumnHeader.ts +67 -20
- package/src/table/createTableColumnResize.ts +256 -0
- package/src/table/createTableHeaderRow.ts +7 -7
- package/src/table/createTableRow.ts +149 -29
- package/src/table/createTableRowGroup.ts +5 -7
- package/src/table/createTableSelectAllCheckbox.ts +12 -11
- package/src/table/createTableSelectionCheckbox.ts +8 -8
- package/src/table/index.ts +14 -9
- package/src/table/types.ts +15 -7
- package/src/tabs/createTabs.ts +74 -92
- package/src/tabs/index.ts +1 -1
- package/src/tag/createTag.ts +52 -50
- package/src/tag/createTagGroup.ts +47 -41
- package/src/tag/index.ts +2 -6
- package/src/textfield/createTextField.ts +67 -35
- package/src/textfield/index.ts +1 -5
- package/src/toast/createToast.ts +28 -26
- package/src/toast/createToastRegion.ts +169 -26
- package/src/toast/index.ts +2 -6
- package/src/toggle/createToggle.ts +95 -53
- package/src/toggle/createToggleState.ts +2 -10
- package/src/toggle/index.ts +4 -5
- package/src/toolbar/createToolbar.ts +193 -210
- package/src/toolbar/index.ts +1 -1
- package/src/tooltip/createTooltip.ts +11 -24
- package/src/tooltip/createTooltipTrigger.ts +61 -49
- package/src/tooltip/index.ts +2 -2
- package/src/tree/createTree.ts +35 -37
- package/src/tree/createTreeItem.ts +29 -29
- package/src/tree/createTreeSelectionCheckbox.ts +11 -8
- package/src/tree/index.ts +4 -4
- package/src/tree/types.ts +10 -6
- package/src/utils/createDescription.ts +6 -23
- package/src/utils/dom.ts +61 -54
- package/src/utils/env.ts +9 -11
- package/src/utils/events.ts +7 -7
- package/src/utils/filterDOMProps.ts +49 -49
- package/src/utils/focus.ts +60 -68
- package/src/utils/geometry.ts +1 -4
- package/src/utils/globalListeners.ts +9 -9
- package/src/utils/index.ts +12 -22
- package/src/utils/mergeProps.ts +42 -15
- package/src/utils/platform.ts +2 -2
- package/src/utils/reactivity.ts +3 -3
- package/src/utils/textSelection.ts +16 -16
- package/src/visually-hidden/createVisuallyHidden.ts +16 -28
- package/src/visually-hidden/index.ts +1 -1
- package/dist/i18n/NumberFormatter.d.ts +0 -43
- package/dist/i18n/NumberFormatter.d.ts.map +0 -1
- package/dist/index.ssr.js +0 -17082
- package/dist/index.ssr.js.map +0 -1
- package/src/i18n/NumberFormatter.ts +0 -266
|
@@ -4,20 +4,20 @@
|
|
|
4
4
|
* Provides accessibility props for items that can receive drops.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { createMemo, type Accessor } from
|
|
8
|
-
import type { JSX } from
|
|
7
|
+
import { createMemo, type Accessor } from "solid-js";
|
|
8
|
+
import type { JSX } from "solid-js";
|
|
9
9
|
import type {
|
|
10
10
|
DroppableCollectionState,
|
|
11
11
|
DropTarget,
|
|
12
12
|
DropOperation,
|
|
13
|
-
} from
|
|
13
|
+
} from "@proyecto-viviana/solid-stately";
|
|
14
14
|
import {
|
|
15
15
|
DragTypesImpl,
|
|
16
16
|
DROP_OPERATION,
|
|
17
17
|
DROP_OPERATION_ALLOWED,
|
|
18
18
|
DROP_OPERATION_TO_DROP_EFFECT,
|
|
19
19
|
getGlobalAllowedDropOperations,
|
|
20
|
-
} from
|
|
20
|
+
} from "./utils";
|
|
21
21
|
|
|
22
22
|
export interface DroppableItemOptions {
|
|
23
23
|
/** The unique key of the item. */
|
|
@@ -44,34 +44,30 @@ export interface DroppableItemAria {
|
|
|
44
44
|
*/
|
|
45
45
|
export function createDroppableItem(
|
|
46
46
|
options: Accessor<DroppableItemOptions>,
|
|
47
|
-
state: DroppableCollectionState
|
|
47
|
+
state: DroppableCollectionState,
|
|
48
48
|
): DroppableItemAria {
|
|
49
49
|
const getOptions = createMemo(() => options());
|
|
50
50
|
|
|
51
51
|
const isDropTarget = createMemo(() => {
|
|
52
52
|
const { key } = getOptions();
|
|
53
53
|
const target = state.target;
|
|
54
|
-
return target?.type ===
|
|
54
|
+
return target?.type === "item" && target.key === key;
|
|
55
55
|
});
|
|
56
56
|
|
|
57
|
-
const getTarget = (dropPosition:
|
|
57
|
+
const getTarget = (dropPosition: "before" | "on" | "after"): DropTarget => {
|
|
58
58
|
const { key } = getOptions();
|
|
59
59
|
return {
|
|
60
|
-
type:
|
|
60
|
+
type: "item",
|
|
61
61
|
key,
|
|
62
62
|
dropPosition,
|
|
63
63
|
};
|
|
64
64
|
};
|
|
65
65
|
|
|
66
|
-
const getDropOperation = (
|
|
67
|
-
e
|
|
68
|
-
target: DropTarget
|
|
69
|
-
): DropOperation => {
|
|
70
|
-
if (!e.dataTransfer) return 'cancel';
|
|
66
|
+
const getDropOperation = (e: DragEvent, target: DropTarget): DropOperation => {
|
|
67
|
+
if (!e.dataTransfer) return "cancel";
|
|
71
68
|
|
|
72
69
|
const types = new DragTypesImpl(e.dataTransfer);
|
|
73
|
-
let allowedBits =
|
|
74
|
-
DROP_OPERATION_ALLOWED[e.dataTransfer.effectAllowed] || DROP_OPERATION.all;
|
|
70
|
+
let allowedBits = DROP_OPERATION_ALLOWED[e.dataTransfer.effectAllowed] || DROP_OPERATION.all;
|
|
75
71
|
|
|
76
72
|
// Use global allowed operations for internal drags
|
|
77
73
|
const globalAllowed = getGlobalAllowedDropOperations();
|
|
@@ -80,9 +76,9 @@ export function createDroppableItem(
|
|
|
80
76
|
}
|
|
81
77
|
|
|
82
78
|
const allowedOperations: DropOperation[] = [];
|
|
83
|
-
if (allowedBits & DROP_OPERATION.move) allowedOperations.push(
|
|
84
|
-
if (allowedBits & DROP_OPERATION.copy) allowedOperations.push(
|
|
85
|
-
if (allowedBits & DROP_OPERATION.link) allowedOperations.push(
|
|
79
|
+
if (allowedBits & DROP_OPERATION.move) allowedOperations.push("move");
|
|
80
|
+
if (allowedBits & DROP_OPERATION.copy) allowedOperations.push("copy");
|
|
81
|
+
if (allowedBits & DROP_OPERATION.link) allowedOperations.push("link");
|
|
86
82
|
|
|
87
83
|
return state.getDropOperation(target, types, allowedOperations);
|
|
88
84
|
};
|
|
@@ -103,21 +99,23 @@ export function createDroppableItem(
|
|
|
103
99
|
const y = e.clientY - rect.y;
|
|
104
100
|
const height = rect.height;
|
|
105
101
|
|
|
106
|
-
let dropPosition:
|
|
102
|
+
let dropPosition: "before" | "on" | "after";
|
|
107
103
|
if (y < height * 0.25) {
|
|
108
|
-
dropPosition =
|
|
104
|
+
dropPosition = "before";
|
|
109
105
|
} else if (y > height * 0.75) {
|
|
110
|
-
dropPosition =
|
|
106
|
+
dropPosition = "after";
|
|
111
107
|
} else {
|
|
112
|
-
dropPosition =
|
|
108
|
+
dropPosition = "on";
|
|
113
109
|
}
|
|
114
110
|
|
|
115
111
|
const target = getTarget(dropPosition);
|
|
116
112
|
const operation = getDropOperation(e, target);
|
|
117
113
|
|
|
118
|
-
if (operation !==
|
|
114
|
+
if (operation !== "cancel") {
|
|
119
115
|
state.setTarget(target);
|
|
120
|
-
e.dataTransfer!.dropEffect = DROP_OPERATION_TO_DROP_EFFECT[
|
|
116
|
+
e.dataTransfer!.dropEffect = DROP_OPERATION_TO_DROP_EFFECT[
|
|
117
|
+
operation
|
|
118
|
+
] as DataTransfer["dropEffect"];
|
|
121
119
|
}
|
|
122
120
|
};
|
|
123
121
|
|
|
@@ -134,31 +132,33 @@ export function createDroppableItem(
|
|
|
134
132
|
const y = e.clientY - rect.y;
|
|
135
133
|
const height = rect.height;
|
|
136
134
|
|
|
137
|
-
let dropPosition:
|
|
135
|
+
let dropPosition: "before" | "on" | "after";
|
|
138
136
|
if (y < height * 0.25) {
|
|
139
|
-
dropPosition =
|
|
137
|
+
dropPosition = "before";
|
|
140
138
|
} else if (y > height * 0.75) {
|
|
141
|
-
dropPosition =
|
|
139
|
+
dropPosition = "after";
|
|
142
140
|
} else {
|
|
143
|
-
dropPosition =
|
|
141
|
+
dropPosition = "on";
|
|
144
142
|
}
|
|
145
143
|
|
|
146
144
|
const target = getTarget(dropPosition);
|
|
147
145
|
const operation = getDropOperation(e, target);
|
|
148
146
|
|
|
149
|
-
if (operation !==
|
|
147
|
+
if (operation !== "cancel") {
|
|
150
148
|
state.setTarget(target);
|
|
151
|
-
e.dataTransfer!.dropEffect = DROP_OPERATION_TO_DROP_EFFECT[
|
|
149
|
+
e.dataTransfer!.dropEffect = DROP_OPERATION_TO_DROP_EFFECT[
|
|
150
|
+
operation
|
|
151
|
+
] as DataTransfer["dropEffect"];
|
|
152
152
|
|
|
153
153
|
// Handle drop activate for 'on' position
|
|
154
154
|
clearTimeout(dropActivateTimer);
|
|
155
|
-
if (dropPosition ===
|
|
155
|
+
if (dropPosition === "on") {
|
|
156
156
|
dropActivateTimer = setTimeout(() => {
|
|
157
157
|
state.activateTarget(x, y);
|
|
158
158
|
}, DROP_ACTIVATE_TIMEOUT);
|
|
159
159
|
}
|
|
160
160
|
} else {
|
|
161
|
-
e.dataTransfer!.dropEffect =
|
|
161
|
+
e.dataTransfer!.dropEffect = "none";
|
|
162
162
|
}
|
|
163
163
|
};
|
|
164
164
|
|
|
@@ -174,7 +174,7 @@ export function createDroppableItem(
|
|
|
174
174
|
if (!relatedTarget || !currentTarget.contains(relatedTarget)) {
|
|
175
175
|
// Clear if no longer over this item
|
|
176
176
|
const { key } = getOptions();
|
|
177
|
-
if (state.target?.type ===
|
|
177
|
+
if (state.target?.type === "item" && state.target.key === key) {
|
|
178
178
|
// State clearing handled by parent collection
|
|
179
179
|
}
|
|
180
180
|
}
|
|
@@ -206,7 +206,7 @@ export function createDroppableItem(
|
|
|
206
206
|
|
|
207
207
|
return {
|
|
208
208
|
get dropProps() {
|
|
209
|
-
return dropProps() as DroppableItemAria[
|
|
209
|
+
return dropProps() as DroppableItemAria["dropProps"];
|
|
210
210
|
},
|
|
211
211
|
get isDropTarget() {
|
|
212
212
|
return isDropTarget();
|
package/src/dnd/index.ts
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
// Basic drag/drop hooks
|
|
8
|
-
export { createDrag } from
|
|
9
|
-
export { createDrop } from
|
|
8
|
+
export { createDrag } from "./createDrag";
|
|
9
|
+
export { createDrop } from "./createDrop";
|
|
10
10
|
|
|
11
11
|
// Collection hooks
|
|
12
12
|
export {
|
|
@@ -17,19 +17,30 @@ export {
|
|
|
17
17
|
getGlobalDraggingKeys,
|
|
18
18
|
setGlobalDraggingTypes,
|
|
19
19
|
getGlobalDraggingTypes,
|
|
20
|
-
} from
|
|
21
|
-
export {
|
|
20
|
+
} from "./createDraggableCollection";
|
|
21
|
+
export {
|
|
22
|
+
createDroppableCollection,
|
|
23
|
+
setGlobalDropCollectionRef,
|
|
24
|
+
getGlobalDropCollectionRef,
|
|
25
|
+
} from "./createDroppableCollection";
|
|
22
26
|
|
|
23
27
|
// Item hooks
|
|
24
|
-
export { createDraggableItem } from
|
|
25
|
-
export { createDroppableItem } from
|
|
28
|
+
export { createDraggableItem } from "./createDraggableItem";
|
|
29
|
+
export { createDroppableItem } from "./createDroppableItem";
|
|
26
30
|
|
|
27
31
|
// Types
|
|
28
|
-
export type { AriaDragOptions, DragAria, AriaDropOptions, DropAria } from
|
|
29
|
-
export type {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
export type { AriaDragOptions, DragAria, AriaDropOptions, DropAria } from "./types";
|
|
33
|
+
export type {
|
|
34
|
+
DraggableCollectionOptions,
|
|
35
|
+
DraggableCollectionAria,
|
|
36
|
+
} from "./createDraggableCollection";
|
|
37
|
+
export type {
|
|
38
|
+
DroppableCollectionOptions,
|
|
39
|
+
DroppableCollectionAria,
|
|
40
|
+
DropTargetDelegate,
|
|
41
|
+
} from "./createDroppableCollection";
|
|
42
|
+
export type { DraggableItemOptions, DraggableItemAria } from "./createDraggableItem";
|
|
43
|
+
export type { DroppableItemOptions, DroppableItemAria } from "./createDroppableItem";
|
|
33
44
|
|
|
34
45
|
// Utilities
|
|
35
46
|
export {
|
|
@@ -52,4 +63,4 @@ export {
|
|
|
52
63
|
getGlobalDropEffect,
|
|
53
64
|
setGlobalAllowedDropOperations,
|
|
54
65
|
getGlobalAllowedDropOperations,
|
|
55
|
-
} from
|
|
66
|
+
} from "./utils";
|
package/src/dnd/types.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Drag and Drop ARIA types for solidaria.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import type { JSX } from
|
|
5
|
+
import type { JSX } from "solid-js";
|
|
6
6
|
import type {
|
|
7
7
|
DragItem,
|
|
8
8
|
DragStartEvent,
|
|
@@ -16,7 +16,7 @@ import type {
|
|
|
16
16
|
DropOperation,
|
|
17
17
|
DragTypes,
|
|
18
18
|
DragPreviewRenderer,
|
|
19
|
-
} from
|
|
19
|
+
} from "@proyecto-viviana/solid-stately";
|
|
20
20
|
|
|
21
21
|
export interface AriaDragOptions {
|
|
22
22
|
/** A function that returns the items being dragged. */
|
|
@@ -50,10 +50,7 @@ export interface AriaDropOptions {
|
|
|
50
50
|
/**
|
|
51
51
|
* A function returning the drop operation to be performed.
|
|
52
52
|
*/
|
|
53
|
-
getDropOperation?: (
|
|
54
|
-
types: DragTypes,
|
|
55
|
-
allowedOperations: DropOperation[]
|
|
56
|
-
) => DropOperation;
|
|
53
|
+
getDropOperation?: (types: DragTypes, allowedOperations: DropOperation[]) => DropOperation;
|
|
57
54
|
/**
|
|
58
55
|
* A function returning the drop operation for a specific point.
|
|
59
56
|
*/
|
|
@@ -61,7 +58,7 @@ export interface AriaDropOptions {
|
|
|
61
58
|
types: DragTypes,
|
|
62
59
|
allowedOperations: DropOperation[],
|
|
63
60
|
x: number,
|
|
64
|
-
y: number
|
|
61
|
+
y: number,
|
|
65
62
|
) => DropOperation;
|
|
66
63
|
/** Handler that is called when a valid drag enters the drop target. */
|
|
67
64
|
onDropEnter?: (e: DropEnterEvent) => void;
|
package/src/dnd/utils.ts
CHANGED
|
@@ -9,20 +9,16 @@ import type {
|
|
|
9
9
|
FileDropItem,
|
|
10
10
|
DirectoryDropItem,
|
|
11
11
|
DropOperation,
|
|
12
|
-
} from
|
|
12
|
+
} from "@proyecto-viviana/solid-stately";
|
|
13
13
|
|
|
14
14
|
// Native drag types that can be transferred between applications
|
|
15
|
-
export const NATIVE_DRAG_TYPES: Set<string> = new Set([
|
|
16
|
-
'text/plain',
|
|
17
|
-
'text/uri-list',
|
|
18
|
-
'text/html',
|
|
19
|
-
]);
|
|
15
|
+
export const NATIVE_DRAG_TYPES: Set<string> = new Set(["text/plain", "text/uri-list", "text/html"]);
|
|
20
16
|
|
|
21
17
|
// Custom drag type for serializing multiple items
|
|
22
|
-
export const CUSTOM_DRAG_TYPE =
|
|
18
|
+
export const CUSTOM_DRAG_TYPE = "application/vnd.solidaria.items+json";
|
|
23
19
|
|
|
24
20
|
// Generic type for unknown file types
|
|
25
|
-
export const GENERIC_TYPE =
|
|
21
|
+
export const GENERIC_TYPE = "application/octet-stream";
|
|
26
22
|
|
|
27
23
|
// Drop operation bit flags
|
|
28
24
|
export enum DROP_OPERATION {
|
|
@@ -49,30 +45,30 @@ export const DROP_OPERATION_ALLOWED: Record<string, number> = {
|
|
|
49
45
|
|
|
50
46
|
// Map from DROP_OPERATION to effectAllowed
|
|
51
47
|
export const EFFECT_ALLOWED: Record<number, string> = {
|
|
52
|
-
[DROP_OPERATION.none]:
|
|
53
|
-
[DROP_OPERATION.move]:
|
|
54
|
-
[DROP_OPERATION.copy]:
|
|
55
|
-
[DROP_OPERATION.copy | DROP_OPERATION.move]:
|
|
56
|
-
[DROP_OPERATION.link]:
|
|
57
|
-
[DROP_OPERATION.link | DROP_OPERATION.move]:
|
|
58
|
-
[DROP_OPERATION.copy | DROP_OPERATION.link]:
|
|
59
|
-
[DROP_OPERATION.all]:
|
|
48
|
+
[DROP_OPERATION.none]: "none",
|
|
49
|
+
[DROP_OPERATION.move]: "move",
|
|
50
|
+
[DROP_OPERATION.copy]: "copy",
|
|
51
|
+
[DROP_OPERATION.copy | DROP_OPERATION.move]: "copyMove",
|
|
52
|
+
[DROP_OPERATION.link]: "link",
|
|
53
|
+
[DROP_OPERATION.link | DROP_OPERATION.move]: "linkMove",
|
|
54
|
+
[DROP_OPERATION.copy | DROP_OPERATION.link]: "copyLink",
|
|
55
|
+
[DROP_OPERATION.all]: "all",
|
|
60
56
|
};
|
|
61
57
|
|
|
62
58
|
// Map from dropEffect to DropOperation
|
|
63
59
|
export const DROP_EFFECT_TO_DROP_OPERATION: Record<string, DropOperation> = {
|
|
64
|
-
none:
|
|
65
|
-
link:
|
|
66
|
-
copy:
|
|
67
|
-
move:
|
|
60
|
+
none: "cancel",
|
|
61
|
+
link: "link",
|
|
62
|
+
copy: "copy",
|
|
63
|
+
move: "move",
|
|
68
64
|
};
|
|
69
65
|
|
|
70
66
|
// Map from DropOperation to dropEffect
|
|
71
67
|
export const DROP_OPERATION_TO_DROP_EFFECT: Record<DropOperation, string> = {
|
|
72
|
-
cancel:
|
|
73
|
-
link:
|
|
74
|
-
copy:
|
|
75
|
-
move:
|
|
68
|
+
cancel: "none",
|
|
69
|
+
link: "link",
|
|
70
|
+
copy: "copy",
|
|
71
|
+
move: "move",
|
|
76
72
|
};
|
|
77
73
|
|
|
78
74
|
/**
|
|
@@ -91,10 +87,7 @@ export function getTypes(items: DragItem[]): Set<string> {
|
|
|
91
87
|
/**
|
|
92
88
|
* Write drag items to a DataTransfer object.
|
|
93
89
|
*/
|
|
94
|
-
export function writeToDataTransfer(
|
|
95
|
-
dataTransfer: DataTransfer,
|
|
96
|
-
items: DragItem[]
|
|
97
|
-
): void {
|
|
90
|
+
export function writeToDataTransfer(dataTransfer: DataTransfer, items: DragItem[]): void {
|
|
98
91
|
const groupedByType = new Map<string, string[]>();
|
|
99
92
|
let needsCustomData = false;
|
|
100
93
|
const customData: object[] = [];
|
|
@@ -126,7 +119,7 @@ export function writeToDataTransfer(
|
|
|
126
119
|
for (const [type, typeItems] of groupedByType) {
|
|
127
120
|
if (NATIVE_DRAG_TYPES.has(type)) {
|
|
128
121
|
// Join all items of this type with newlines
|
|
129
|
-
const data = typeItems.join(
|
|
122
|
+
const data = typeItems.join("\n");
|
|
130
123
|
dataTransfer.items.add(data, type);
|
|
131
124
|
} else {
|
|
132
125
|
// Set first item for non-native types
|
|
@@ -158,7 +151,7 @@ export function readFromDataTransfer(dataTransfer: DataTransfer): DropItem[] {
|
|
|
158
151
|
const parsed = JSON.parse(data);
|
|
159
152
|
for (const item of parsed) {
|
|
160
153
|
items.push({
|
|
161
|
-
kind:
|
|
154
|
+
kind: "text",
|
|
162
155
|
types: new Set(Object.keys(item)),
|
|
163
156
|
getText: (type) => Promise.resolve(item[type]),
|
|
164
157
|
});
|
|
@@ -174,10 +167,10 @@ export function readFromDataTransfer(dataTransfer: DataTransfer): DropItem[] {
|
|
|
174
167
|
const stringItems = new Map<string, string>();
|
|
175
168
|
|
|
176
169
|
for (const item of dataTransfer.items) {
|
|
177
|
-
if (item.kind ===
|
|
170
|
+
if (item.kind === "string") {
|
|
178
171
|
const type = item.type || GENERIC_TYPE;
|
|
179
172
|
stringItems.set(type, dataTransfer.getData(item.type));
|
|
180
|
-
} else if (item.kind ===
|
|
173
|
+
} else if (item.kind === "file") {
|
|
181
174
|
const file = item.getAsFile();
|
|
182
175
|
if (file) {
|
|
183
176
|
items.push(createFileItem(file));
|
|
@@ -187,9 +180,9 @@ export function readFromDataTransfer(dataTransfer: DataTransfer): DropItem[] {
|
|
|
187
180
|
|
|
188
181
|
if (stringItems.size > 0) {
|
|
189
182
|
items.push({
|
|
190
|
-
kind:
|
|
183
|
+
kind: "text",
|
|
191
184
|
types: new Set(stringItems.keys()),
|
|
192
|
-
getText: (type) => Promise.resolve(stringItems.get(type) ??
|
|
185
|
+
getText: (type) => Promise.resolve(stringItems.get(type) ?? ""),
|
|
193
186
|
});
|
|
194
187
|
}
|
|
195
188
|
}
|
|
@@ -202,7 +195,7 @@ export function readFromDataTransfer(dataTransfer: DataTransfer): DropItem[] {
|
|
|
202
195
|
*/
|
|
203
196
|
function createFileItem(file: File): FileDropItem {
|
|
204
197
|
return {
|
|
205
|
-
kind:
|
|
198
|
+
kind: "file",
|
|
206
199
|
type: file.type || GENERIC_TYPE,
|
|
207
200
|
name: file.name,
|
|
208
201
|
getText: () => file.text(),
|
|
@@ -223,7 +216,7 @@ export class DragTypesImpl {
|
|
|
223
216
|
|
|
224
217
|
for (const item of dataTransfer.items) {
|
|
225
218
|
if (item.type !== CUSTOM_DRAG_TYPE) {
|
|
226
|
-
if (item.kind ===
|
|
219
|
+
if (item.kind === "file") {
|
|
227
220
|
hasFiles = true;
|
|
228
221
|
}
|
|
229
222
|
if (item.type) {
|
|
@@ -235,18 +228,14 @@ export class DragTypesImpl {
|
|
|
235
228
|
}
|
|
236
229
|
|
|
237
230
|
// Safari doesn't expose file types until drop
|
|
238
|
-
this.includesUnknownTypes =
|
|
239
|
-
!hasFiles && dataTransfer.types.includes('Files');
|
|
231
|
+
this.includesUnknownTypes = !hasFiles && dataTransfer.types.includes("Files");
|
|
240
232
|
}
|
|
241
233
|
|
|
242
234
|
has(type: string | symbol): boolean {
|
|
243
|
-
if (
|
|
244
|
-
this.includesUnknownTypes ||
|
|
245
|
-
(typeof type === 'symbol' && this.types.has(GENERIC_TYPE))
|
|
246
|
-
) {
|
|
235
|
+
if (this.includesUnknownTypes || (typeof type === "symbol" && this.types.has(GENERIC_TYPE))) {
|
|
247
236
|
return true;
|
|
248
237
|
}
|
|
249
|
-
return typeof type ===
|
|
238
|
+
return typeof type === "string" && this.types.has(type);
|
|
250
239
|
}
|
|
251
240
|
}
|
|
252
241
|
|
|
@@ -254,23 +243,21 @@ export class DragTypesImpl {
|
|
|
254
243
|
* Check if a drop item is a text item.
|
|
255
244
|
*/
|
|
256
245
|
export function isTextDropItem(dropItem: DropItem): dropItem is TextDropItem {
|
|
257
|
-
return dropItem.kind ===
|
|
246
|
+
return dropItem.kind === "text";
|
|
258
247
|
}
|
|
259
248
|
|
|
260
249
|
/**
|
|
261
250
|
* Check if a drop item is a file item.
|
|
262
251
|
*/
|
|
263
252
|
export function isFileDropItem(dropItem: DropItem): dropItem is FileDropItem {
|
|
264
|
-
return dropItem.kind ===
|
|
253
|
+
return dropItem.kind === "file";
|
|
265
254
|
}
|
|
266
255
|
|
|
267
256
|
/**
|
|
268
257
|
* Check if a drop item is a directory item.
|
|
269
258
|
*/
|
|
270
|
-
export function isDirectoryDropItem(
|
|
271
|
-
dropItem
|
|
272
|
-
): dropItem is DirectoryDropItem {
|
|
273
|
-
return dropItem.kind === 'directory';
|
|
259
|
+
export function isDirectoryDropItem(dropItem: DropItem): dropItem is DirectoryDropItem {
|
|
260
|
+
return dropItem.kind === "directory";
|
|
274
261
|
}
|
|
275
262
|
|
|
276
263
|
// Global state for tracking drag operations
|