@proyecto-viviana/solidaria 0.2.8 → 0.4.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/_chunk/actiongroup.js +207 -0
- package/dist/_chunk/actiongroup.js.map +1 -0
- package/dist/_chunk/actiongroup.jsx +207 -0
- package/dist/_chunk/actiongroup.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 +196 -0
- package/dist/_chunk/autocomplete.js.map +1 -0
- package/dist/_chunk/autocomplete.jsx +196 -0
- package/dist/_chunk/autocomplete.jsx.map +1 -0
- package/dist/_chunk/breadcrumbs.js +119 -0
- package/dist/_chunk/breadcrumbs.js.map +1 -0
- package/dist/_chunk/breadcrumbs.jsx +119 -0
- package/dist/_chunk/breadcrumbs.jsx.map +1 -0
- package/dist/_chunk/button.js +276 -0
- package/dist/_chunk/button.js.map +1 -0
- package/dist/_chunk/button.jsx +276 -0
- package/dist/_chunk/button.jsx.map +1 -0
- package/dist/_chunk/calendar.js +1036 -0
- package/dist/_chunk/calendar.js.map +1 -0
- package/dist/_chunk/calendar.jsx +1036 -0
- package/dist/_chunk/calendar.jsx.map +1 -0
- package/dist/_chunk/checkbox.js +234 -0
- package/dist/_chunk/checkbox.js.map +1 -0
- package/dist/_chunk/checkbox.jsx +234 -0
- package/dist/_chunk/checkbox.jsx.map +1 -0
- package/dist/_chunk/color.js +1174 -0
- package/dist/_chunk/color.js.map +1 -0
- package/dist/_chunk/color.jsx +1174 -0
- package/dist/_chunk/color.jsx.map +1 -0
- package/dist/_chunk/combobox.js +436 -0
- package/dist/_chunk/combobox.js.map +1 -0
- package/dist/_chunk/combobox.jsx +436 -0
- package/dist/_chunk/combobox.jsx.map +1 -0
- package/dist/_chunk/createCollator.js +229 -0
- package/dist/_chunk/createCollator.js.map +1 -0
- package/dist/_chunk/createCollator.jsx +223 -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 +54 -0
- package/dist/_chunk/createField.js.map +1 -0
- package/dist/_chunk/createField.jsx +54 -0
- package/dist/_chunk/createField.jsx.map +1 -0
- package/dist/_chunk/createFocus.js +101 -0
- package/dist/_chunk/createFocus.js.map +1 -0
- package/dist/_chunk/createFocus.jsx +101 -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 +121 -0
- package/dist/_chunk/createFocusWithin.js.map +1 -0
- package/dist/_chunk/createFocusWithin.jsx +121 -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/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 +130 -0
- package/dist/_chunk/createHover.js.map +1 -0
- package/dist/_chunk/createHover.jsx +130 -0
- package/dist/_chunk/createHover.jsx.map +1 -0
- package/dist/_chunk/createInteractionModality.js +269 -0
- package/dist/_chunk/createInteractionModality.js.map +1 -0
- package/dist/_chunk/createInteractionModality.jsx +269 -0
- package/dist/_chunk/createInteractionModality.jsx.map +1 -0
- package/dist/_chunk/createLabel.js +46 -0
- package/dist/_chunk/createLabel.js.map +1 -0
- package/dist/_chunk/createLabel.jsx +46 -0
- package/dist/_chunk/createLabel.jsx.map +1 -0
- package/dist/_chunk/createLabels.js +31 -0
- package/dist/_chunk/createLabels.js.map +1 -0
- package/dist/_chunk/createLabels.jsx +31 -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/createLongPress.js +91 -0
- package/dist/_chunk/createLongPress.js.map +1 -0
- package/dist/_chunk/createLongPress.jsx +91 -0
- package/dist/_chunk/createLongPress.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 +81 -0
- package/dist/_chunk/createProgressBar.js.map +1 -0
- package/dist/_chunk/createProgressBar.jsx +81 -0
- package/dist/_chunk/createProgressBar.jsx.map +1 -0
- package/dist/_chunk/createSelectableItem.js +298 -0
- package/dist/_chunk/createSelectableItem.js.map +1 -0
- package/dist/_chunk/createSelectableItem.jsx +298 -0
- package/dist/_chunk/createSelectableItem.jsx.map +1 -0
- package/dist/_chunk/createToggle.js +158 -0
- package/dist/_chunk/createToggle.js.map +1 -0
- package/dist/_chunk/createToggle.jsx +158 -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 +1393 -0
- package/dist/_chunk/datepicker.js.map +1 -0
- package/dist/_chunk/datepicker.jsx +1393 -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 +1304 -0
- package/dist/_chunk/dnd.js.map +1 -0
- package/dist/_chunk/dnd.jsx +1304 -0
- package/dist/_chunk/dnd.jsx.map +1 -0
- package/dist/_chunk/env.js +105 -0
- package/dist/_chunk/env.js.map +1 -0
- package/dist/_chunk/env.jsx +105 -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 +895 -0
- package/dist/_chunk/focus2.js.map +1 -0
- package/dist/_chunk/focus2.jsx +870 -0
- package/dist/_chunk/focus2.jsx.map +1 -0
- package/dist/_chunk/form.js +39 -0
- package/dist/_chunk/form.js.map +1 -0
- package/dist/_chunk/form.jsx +39 -0
- package/dist/_chunk/form.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 +364 -0
- package/dist/_chunk/gridlist.js.map +1 -0
- package/dist/_chunk/gridlist.jsx +364 -0
- package/dist/_chunk/gridlist.jsx.map +1 -0
- package/dist/_chunk/i18n.js +254 -0
- package/dist/_chunk/i18n.js.map +1 -0
- package/dist/_chunk/i18n.jsx +254 -0
- package/dist/_chunk/i18n.jsx.map +1 -0
- package/dist/_chunk/interactions.js +241 -0
- package/dist/_chunk/interactions.js.map +1 -0
- package/dist/_chunk/interactions.jsx +237 -0
- package/dist/_chunk/interactions.jsx.map +1 -0
- package/dist/_chunk/link.js +96 -0
- package/dist/_chunk/link.js.map +1 -0
- package/dist/_chunk/link.jsx +96 -0
- package/dist/_chunk/link.jsx.map +1 -0
- package/dist/_chunk/listbox.js +324 -0
- package/dist/_chunk/listbox.js.map +1 -0
- package/dist/_chunk/listbox.jsx +324 -0
- package/dist/_chunk/listbox.jsx.map +1 -0
- package/dist/_chunk/live-announcer.js +207 -0
- package/dist/_chunk/live-announcer.js.map +1 -0
- package/dist/_chunk/live-announcer.jsx +207 -0
- package/dist/_chunk/live-announcer.jsx.map +1 -0
- package/dist/_chunk/menu.js +518 -0
- package/dist/_chunk/menu.js.map +1 -0
- package/dist/_chunk/menu.jsx +518 -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 +258 -0
- package/dist/_chunk/numberfield.js.map +1 -0
- package/dist/_chunk/numberfield.jsx +258 -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 +319 -0
- package/dist/_chunk/radio.js.map +1 -0
- package/dist/_chunk/radio.jsx +319 -0
- package/dist/_chunk/radio.jsx.map +1 -0
- package/dist/_chunk/searchfield.js +209 -0
- package/dist/_chunk/searchfield.js.map +1 -0
- package/dist/_chunk/searchfield.jsx +209 -0
- package/dist/_chunk/searchfield.jsx.map +1 -0
- package/dist/_chunk/select.js +403 -0
- package/dist/_chunk/select.js.map +1 -0
- package/dist/_chunk/select.jsx +394 -0
- package/dist/_chunk/select.jsx.map +1 -0
- package/dist/_chunk/selection.js +679 -0
- package/dist/_chunk/selection.js.map +1 -0
- package/dist/_chunk/selection.jsx +679 -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 +255 -0
- package/dist/_chunk/slider.js.map +1 -0
- package/dist/_chunk/slider.jsx +255 -0
- package/dist/_chunk/slider.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 +1051 -0
- package/dist/_chunk/table.js.map +1 -0
- package/dist/_chunk/table.jsx +1051 -0
- package/dist/_chunk/table.jsx.map +1 -0
- package/dist/_chunk/tabs.js +260 -0
- package/dist/_chunk/tabs.js.map +1 -0
- package/dist/_chunk/tabs.jsx +260 -0
- package/dist/_chunk/tabs.jsx.map +1 -0
- package/dist/_chunk/tag.js +286 -0
- package/dist/_chunk/tag.js.map +1 -0
- package/dist/_chunk/tag.jsx +286 -0
- package/dist/_chunk/tag.jsx.map +1 -0
- package/dist/_chunk/textfield.js +109 -0
- package/dist/_chunk/textfield.js.map +1 -0
- package/dist/_chunk/textfield.jsx +109 -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 +258 -0
- package/dist/_chunk/toolbar.js.map +1 -0
- package/dist/_chunk/toolbar.jsx +258 -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 +424 -0
- package/dist/_chunk/tree.js.map +1 -0
- package/dist/_chunk/tree.jsx +424 -0
- package/dist/_chunk/tree.jsx.map +1 -0
- package/dist/_chunk/utils.js +665 -0
- package/dist/_chunk/utils.js.map +1 -0
- package/dist/_chunk/utils.jsx +665 -0
- package/dist/_chunk/utils.jsx.map +1 -0
- package/dist/_chunk/visually-hidden.js +92 -0
- package/dist/_chunk/visually-hidden.js.map +1 -0
- package/dist/_chunk/visually-hidden.jsx +92 -0
- package/dist/_chunk/visually-hidden.jsx.map +1 -0
- 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/actiongroup/index.js +2 -0
- package/dist/actiongroup/index.jsx +2 -0
- package/dist/autocomplete/createAutocomplete.d.ts +12 -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/autocomplete/index.js +2 -0
- package/dist/autocomplete/index.jsx +2 -0
- 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/breadcrumbs/index.js +2 -0
- package/dist/breadcrumbs/index.jsx +2 -0
- 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/index.js +2 -0
- package/dist/button/index.jsx +2 -0
- 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/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 +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 +7 -5
- 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 +12 -0
- package/dist/calendar/intl/index.d.ts.map +1 -0
- package/dist/calendar/utils.d.ts +16 -0
- package/dist/calendar/utils.d.ts.map +1 -0
- package/dist/checkbox/createCheckbox.d.ts +10 -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/checkbox/index.js +2 -0
- package/dist/checkbox/index.jsx +2 -0
- package/dist/collections/index.d.ts +3 -3
- package/dist/collections/index.d.ts.map +1 -1
- 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 +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/index.js +2 -0
- package/dist/color/index.jsx +2 -0
- 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/index.js +2 -0
- package/dist/combobox/index.jsx +2 -0
- 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/datepicker/index.js +2 -0
- package/dist/datepicker/index.jsx +2 -0
- 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/index.js +2 -0
- package/dist/dialog/index.jsx +2 -0
- 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/disclosure/index.js +2 -0
- package/dist/disclosure/index.jsx +2 -0
- 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/index.js +2 -0
- package/dist/dnd/index.jsx +2 -0
- package/dist/dnd/types.d.ts +2 -2
- package/dist/dnd/types.d.ts.map +1 -1
- package/dist/dnd/utils.d.ts +2 -2
- 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/focus/index.js +2 -0
- package/dist/focus/index.jsx +2 -0
- 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/form/index.js +3 -0
- package/dist/form/index.jsx +3 -0
- 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/index.js +2 -0
- package/dist/grid/index.jsx +2 -0
- package/dist/grid/types.d.ts +8 -8
- package/dist/gridlist/createGridList.d.ts +12 -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/createGridListSection.d.ts +15 -0
- package/dist/gridlist/createGridListSection.d.ts.map +1 -0
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts +3 -3
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
- package/dist/gridlist/index.d.ts +5 -4
- 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 +61 -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/index.js +3 -0
- package/dist/i18n/index.jsx +3 -0
- 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 +56 -51
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +71 -17119
- package/dist/index.jsx +71 -0
- package/dist/interactions/FocusableProvider.d.ts +2 -2
- package/dist/interactions/FocusableProvider.d.ts.map +1 -1
- package/dist/interactions/PressEvent.d.ts +13 -2
- package/dist/interactions/PressEvent.d.ts.map +1 -1
- 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 -4
- package/dist/interactions/createInteractionModality.d.ts.map +1 -1
- package/dist/interactions/createKeyboard.d.ts +1 -1
- package/dist/interactions/createKeyboard.d.ts.map +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/interactions/index.js +10 -0
- package/dist/interactions/index.jsx +10 -0
- 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/label/index.js +4 -0
- package/dist/label/index.jsx +4 -0
- 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/landmark/index.js +2 -0
- package/dist/landmark/index.jsx +2 -0
- 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/link/index.js +2 -0
- package/dist/link/index.jsx +2 -0
- package/dist/listbox/createListBox.d.ts +48 -6
- package/dist/listbox/createListBox.d.ts.map +1 -1
- package/dist/listbox/createOption.d.ts +27 -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/listbox/index.js +2 -0
- package/dist/listbox/index.jsx +2 -0
- 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/live-announcer/index.js +2 -0
- package/dist/live-announcer/index.jsx +2 -0
- package/dist/menu/createMenu.d.ts +14 -11
- package/dist/menu/createMenu.d.ts.map +1 -1
- package/dist/menu/createMenuItem.d.ts +25 -5
- 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/menu/index.js +2 -0
- package/dist/menu/index.jsx +2 -0
- 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/meter/index.js +2 -0
- package/dist/meter/index.jsx +2 -0
- 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/numberfield/index.js +2 -0
- package/dist/numberfield/index.jsx +2 -0
- 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/overlays/index.js +4 -0
- package/dist/overlays/index.jsx +4 -0
- package/dist/popover/calculatePosition.d.ts +6 -4
- package/dist/popover/calculatePosition.d.ts.map +1 -1
- package/dist/popover/createOverlayPosition.d.ts +11 -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/popover/index.js +2 -0
- package/dist/popover/index.jsx +2 -0
- 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/progress/index.js +2 -0
- package/dist/progress/index.jsx +2 -0
- package/dist/radio/createRadio.d.ts +9 -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/radio/index.js +2 -0
- package/dist/radio/index.jsx +2 -0
- 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/searchfield/index.js +2 -0
- package/dist/searchfield/index.jsx +2 -0
- 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/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 +2 -2
- package/dist/selection/createTypeSelect.d.ts.map +1 -1
- package/dist/selection/index.d.ts +10 -1
- package/dist/selection/index.d.ts.map +1 -1
- package/dist/selection/index.js +4 -0
- package/dist/selection/index.jsx +4 -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/createSeparator.d.ts +9 -5
- package/dist/separator/createSeparator.d.ts.map +1 -1
- package/dist/separator/index.d.ts +1 -1
- package/dist/separator/index.js +2 -0
- package/dist/separator/index.jsx +2 -0
- 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/slider/index.js +2 -0
- package/dist/slider/index.jsx +2 -0
- package/dist/ssr/index.d.ts +18 -1
- 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/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/steplist/index.js +2 -0
- package/dist/steplist/index.jsx +2 -0
- package/dist/switch/createSwitch.d.ts +10 -4
- package/dist/switch/createSwitch.d.ts.map +1 -1
- package/dist/switch/index.d.ts +1 -1
- package/dist/switch/index.js +2 -0
- package/dist/switch/index.jsx +2 -0
- 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 +4 -4
- 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/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/index.js +2 -0
- package/dist/table/index.jsx +2 -0
- package/dist/table/types.d.ts +41 -7
- package/dist/table/types.d.ts.map +1 -1
- package/dist/tabs/createTabs.d.ts +32 -28
- package/dist/tabs/createTabs.d.ts.map +1 -1
- package/dist/tabs/index.d.ts +1 -1
- package/dist/tabs/index.js +2 -0
- package/dist/tabs/index.jsx +2 -0
- package/dist/tag/createTag.d.ts +4 -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/tag/index.js +2 -0
- package/dist/tag/index.jsx +2 -0
- 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/textfield/index.js +2 -0
- package/dist/textfield/index.jsx +2 -0
- 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/toast/index.js +2 -0
- package/dist/toast/index.jsx +2 -0
- package/dist/toggle/createToggle.d.ts +13 -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/toggle/index.js +3 -0
- package/dist/toggle/index.jsx +3 -0
- 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/toolbar/index.js +2 -0
- package/dist/toolbar/index.jsx +2 -0
- 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/tooltip/index.js +2 -0
- package/dist/tooltip/index.jsx +2 -0
- package/dist/tree/createTree.d.ts +8 -4
- 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/index.js +2 -0
- package/dist/tree/index.jsx +2 -0
- package/dist/tree/types.d.ts +20 -6
- 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/createDescription.d.ts +2 -2
- package/dist/utils/createDescription.d.ts.map +1 -1
- package/dist/utils/dom.d.ts +48 -2
- 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 +15 -12
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.jsx +5 -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/reactivity.d.ts +1 -1
- package/dist/utils/scrollIntoView.d.ts +30 -0
- package/dist/utils/scrollIntoView.d.ts.map +1 -0
- 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/dist/visually-hidden/index.js +2 -0
- package/dist/visually-hidden/index.jsx +2 -0
- package/package.json +334 -33
- package/src/actiongroup/createActionGroup.ts +101 -91
- package/src/actiongroup/index.ts +1 -1
- package/src/autocomplete/createAutocomplete.ts +177 -148
- 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 +64 -29
- package/src/calendar/createCalendarCell.ts +115 -46
- package/src/calendar/createCalendarGrid.ts +97 -41
- package/src/calendar/createCalendarMonthPicker.ts +105 -0
- package/src/calendar/createCalendarYearPicker.ts +144 -0
- package/src/calendar/createRangeCalendar.ts +68 -31
- package/src/calendar/createRangeCalendarCell.ts +92 -31
- package/src/calendar/index.ts +21 -8
- package/src/calendar/intl/index.ts +210 -0
- package/src/calendar/utils.ts +231 -0
- package/src/checkbox/createCheckbox.ts +23 -21
- package/src/checkbox/createCheckboxGroup.ts +68 -44
- package/src/checkbox/createCheckboxGroupItem.ts +26 -41
- 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 +188 -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 +293 -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 +58 -47
- package/src/focus/FocusScope.tsx +301 -176
- 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 +23 -39
- 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 +172 -64
- package/src/gridlist/createGridListItem.ts +98 -121
- package/src/gridlist/createGridListSection.ts +54 -0
- package/src/gridlist/createGridListSelectionCheckbox.ts +12 -9
- package/src/gridlist/index.ts +7 -4
- package/src/gridlist/types.ts +58 -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 +111 -172
- package/src/interactions/FocusableProvider.tsx +3 -7
- package/src/interactions/PressEvent.ts +18 -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 +96 -94
- package/src/interactions/createKeyboard.ts +12 -2
- package/src/interactions/createLongPress.ts +23 -23
- package/src/interactions/createMove.ts +72 -62
- package/src/interactions/createPress.ts +192 -92
- 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 +198 -66
- package/src/listbox/createOption.ts +112 -71
- 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 +171 -65
- package/src/menu/createMenuItem.ts +315 -51
- 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 +205 -80
- 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 +134 -124
- package/src/popover/createOverlayPosition.ts +55 -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 +114 -75
- 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 +146 -73
- package/src/select/index.ts +2 -7
- 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 +498 -0
- package/src/selection/createSelectableList.ts +93 -0
- package/src/selection/createTypeSelect.ts +120 -59
- package/src/selection/index.ts +32 -1
- package/src/selection/selectItem.ts +80 -0
- package/src/selection/utils.ts +82 -0
- package/src/separator/createSeparator.ts +20 -25
- package/src/separator/index.ts +1 -1
- package/src/slider/createSlider.ts +128 -112
- package/src/slider/index.ts +2 -2
- package/src/ssr/index.tsx +38 -46
- package/src/steplist/createStepList.ts +106 -0
- package/src/steplist/index.ts +8 -0
- package/src/switch/createSwitch.ts +19 -14
- package/src/switch/index.ts +1 -1
- package/src/table/createTable.ts +192 -95
- 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 +206 -91
- package/src/table/createTableRowGroup.ts +5 -7
- package/src/table/createTableSelectAllCheckbox.ts +14 -14
- package/src/table/createTableSelectionCheckbox.ts +8 -8
- package/src/table/index.ts +14 -9
- package/src/table/types.ts +43 -7
- package/src/tabs/createTabs.ts +123 -111
- package/src/tabs/index.ts +1 -1
- package/src/tag/createTag.ts +57 -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 +29 -26
- package/src/toast/createToastRegion.ts +169 -26
- package/src/toast/index.ts +2 -6
- package/src/toggle/createToggle.ts +115 -53
- package/src/toggle/createToggleState.ts +2 -10
- package/src/toggle/index.ts +4 -5
- package/src/toolbar/createToolbar.ts +214 -230
- 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 +128 -72
- package/src/tree/createTreeItem.ts +120 -135
- package/src/tree/createTreeSelectionCheckbox.ts +11 -8
- package/src/tree/index.ts +4 -4
- package/src/tree/types.ts +20 -6
- package/src/utils/animation.ts +151 -0
- package/src/utils/createDescription.ts +6 -23
- package/src/utils/dom.ts +265 -68
- 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 +20 -22
- package/src/utils/keyboard.ts +25 -0
- package/src/utils/mergeProps.ts +49 -15
- package/src/utils/platform.ts +2 -2
- package/src/utils/reactivity.ts +3 -3
- package/src/utils/scrollIntoView.ts +181 -0
- 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.js.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
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
* item text values. Supports multi-character search with debouncing.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import
|
|
10
|
-
import type {
|
|
9
|
+
import { onCleanup } from "solid-js";
|
|
10
|
+
import type { JSX, Accessor } from "solid-js";
|
|
11
|
+
import type { Key, Collection, CollectionNode } from "@proyecto-viviana/solid-stately";
|
|
12
|
+
import { createCollator } from "../i18n/createCollator";
|
|
11
13
|
|
|
12
14
|
/**
|
|
13
15
|
* Controls how long to wait before clearing the typeahead buffer.
|
|
@@ -53,44 +55,47 @@ function getStringForKey(key: string): string {
|
|
|
53
55
|
if (key.length === 1 || !/^[A-Z]/i.test(key)) {
|
|
54
56
|
return key;
|
|
55
57
|
}
|
|
56
|
-
return
|
|
58
|
+
return "";
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
/**
|
|
60
62
|
* Search for a key in the collection that matches the search string.
|
|
61
|
-
* Starts
|
|
63
|
+
* Starts *at* `fromKey` (inclusive) and scans to the end, with no internal
|
|
64
|
+
* wrap; the caller retries from the top to cover earlier items. Matching is
|
|
65
|
+
* locale-aware via the supplied `collator`.
|
|
62
66
|
*/
|
|
63
67
|
function getKeyForSearch<T>(
|
|
64
68
|
collection: Collection<T>,
|
|
65
69
|
search: string,
|
|
66
70
|
fromKey: Key | null,
|
|
67
|
-
|
|
71
|
+
collator: Intl.Collator,
|
|
72
|
+
isKeyDisabled?: (key: Key) => boolean,
|
|
68
73
|
): Key | null {
|
|
69
|
-
const searchLower = search.toLowerCase();
|
|
70
|
-
|
|
71
74
|
// Collect all items in order
|
|
72
75
|
const items: CollectionNode<T>[] = [];
|
|
73
76
|
for (const item of collection) {
|
|
74
|
-
if (item.type ===
|
|
77
|
+
if (item.type === "item") {
|
|
75
78
|
items.push(item);
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
81
|
|
|
79
82
|
if (items.length === 0) return null;
|
|
80
83
|
|
|
81
|
-
// Find the starting index
|
|
84
|
+
// Find the starting index. Start *at* the currently focused item (inclusive),
|
|
85
|
+
// mirroring upstream ListKeyboardDelegate.getKeyForSearch (`key = fromKey ||
|
|
86
|
+
// getFirstKey()`): typing a prefix the focused item already matches keeps focus
|
|
87
|
+
// on it instead of advancing to the next match.
|
|
82
88
|
let startIndex = 0;
|
|
83
89
|
if (fromKey != null) {
|
|
84
|
-
const fromIndex = items.findIndex(item => item.key === fromKey);
|
|
90
|
+
const fromIndex = items.findIndex((item) => item.key === fromKey);
|
|
85
91
|
if (fromIndex !== -1) {
|
|
86
|
-
|
|
87
|
-
startIndex = (fromIndex + 1) % items.length;
|
|
92
|
+
startIndex = fromIndex;
|
|
88
93
|
}
|
|
89
94
|
}
|
|
90
95
|
|
|
91
|
-
//
|
|
92
|
-
|
|
93
|
-
|
|
96
|
+
// Scan from startIndex to the end (no wrap). The caller retries from the top to
|
|
97
|
+
// cover items before the focused one, matching upstream useTypeSelect.
|
|
98
|
+
for (let index = startIndex; index < items.length; index++) {
|
|
94
99
|
const item = items[index];
|
|
95
100
|
|
|
96
101
|
// Skip disabled items
|
|
@@ -98,9 +103,14 @@ function getKeyForSearch<T>(
|
|
|
98
103
|
continue;
|
|
99
104
|
}
|
|
100
105
|
|
|
101
|
-
//
|
|
102
|
-
|
|
103
|
-
|
|
106
|
+
// Match the leading characters of the text value against the search string
|
|
107
|
+
// using locale-aware collation, mirroring upstream ListKeyboardDelegate
|
|
108
|
+
// (`collator.compare(textValue.slice(0, search.length), search) === 0`). The
|
|
109
|
+
// collator's `usage: 'search'` / `sensitivity: 'base'` makes this case- and
|
|
110
|
+
// diacritic-insensitive in a locale-aware way.
|
|
111
|
+
const textValue = item.textValue || "";
|
|
112
|
+
const substring = textValue.slice(0, search.length);
|
|
113
|
+
if (textValue && collator.compare(substring, search) === 0) {
|
|
104
114
|
return item.key;
|
|
105
115
|
}
|
|
106
116
|
}
|
|
@@ -125,76 +135,127 @@ function getKeyForSearch<T>(
|
|
|
125
135
|
export function createTypeSelect<T>(options: TypeSelectOptions<T>): TypeSelectAria {
|
|
126
136
|
// Create mutable state object to persist across keystrokes
|
|
127
137
|
const state: TypeSelectState = {
|
|
128
|
-
search:
|
|
138
|
+
search: "",
|
|
129
139
|
timeout: undefined,
|
|
130
140
|
};
|
|
131
141
|
|
|
142
|
+
// Locale-aware search collator, mirroring upstream useSelectableList's
|
|
143
|
+
// `useCollator({ usage: 'search', sensitivity: 'base' })`.
|
|
144
|
+
const collator = createCollator({ usage: "search", sensitivity: "base" });
|
|
145
|
+
|
|
146
|
+
// Append the search buffer, find a matching key (from the focused item,
|
|
147
|
+
// falling back to the whole list), focus it, and (re)start the debounce timer.
|
|
148
|
+
// Shared by both phase handlers below, mirroring the duplicated body in
|
|
149
|
+
// upstream useTypeSelect.
|
|
150
|
+
const searchAndFocus = (): Key | null => {
|
|
151
|
+
const collection = options.collection();
|
|
152
|
+
const currentKey = options.focusedKey();
|
|
153
|
+
|
|
154
|
+
// Prioritize items at/after the focused item, then retry from the top to
|
|
155
|
+
// cover earlier ones (upstream's two getKeyForSearch calls).
|
|
156
|
+
let key = getKeyForSearch(
|
|
157
|
+
collection,
|
|
158
|
+
state.search,
|
|
159
|
+
currentKey,
|
|
160
|
+
collator(),
|
|
161
|
+
options.isKeyDisabled,
|
|
162
|
+
);
|
|
163
|
+
if (key == null) {
|
|
164
|
+
key = getKeyForSearch(collection, state.search, null, collator(), options.isKeyDisabled);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
if (key != null) {
|
|
168
|
+
options.onFocusedKeyChange(key);
|
|
169
|
+
options.onTypeSelect?.(key);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
return key;
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
const restartDebounce = () => {
|
|
176
|
+
clearTimeout(state.timeout);
|
|
177
|
+
state.timeout = setTimeout(() => {
|
|
178
|
+
state.search = "";
|
|
179
|
+
}, TYPEAHEAD_DEBOUNCE_WAIT_MS);
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
// Capture phase: mid-search a Spacebar is part of the query, not a selection
|
|
183
|
+
// action, so we consume it before the collection's own keydown handler can act
|
|
184
|
+
// on it. Mirrors upstream useTypeSelect's onKeyDownCapture.
|
|
132
185
|
const onKeyDownCapture: JSX.EventHandler<HTMLElement, KeyboardEvent> = (e) => {
|
|
133
186
|
if (options.isDisabled) return;
|
|
134
187
|
|
|
188
|
+
if (state.search.length > 0 && e.key === " ") {
|
|
189
|
+
e.preventDefault();
|
|
190
|
+
// Upstream guards this with `!('continuePropagation' in e) ||
|
|
191
|
+
// !e.isPropagationStopped()`. Our raw DOM KeyboardEvents never carry
|
|
192
|
+
// `continuePropagation`, so the guard always holds — stop unconditionally.
|
|
193
|
+
e.stopPropagation();
|
|
194
|
+
state.search += " ";
|
|
195
|
+
searchAndFocus();
|
|
196
|
+
restartDebounce();
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
// Bubble phase: handles ordinary characters (and, in environments where the
|
|
201
|
+
// capture listener above is inert, mid-search Spacebar via its non-bailing
|
|
202
|
+
// branch). Mirrors upstream useTypeSelect's onKeyDown.
|
|
203
|
+
const onKeyDown: JSX.EventHandler<HTMLElement, KeyboardEvent> = (e) => {
|
|
204
|
+
if (options.isDisabled) return;
|
|
205
|
+
|
|
135
206
|
const character = getStringForKey(e.key);
|
|
136
207
|
|
|
137
|
-
// Ignore non-printable
|
|
138
|
-
//
|
|
208
|
+
// Ignore non-printable keys, Ctrl/Meta/Alt combos (Alt is excluded to match
|
|
209
|
+
// upstream — AltGr-only layouts shouldn't drive type-select), events from
|
|
210
|
+
// outside the element, and a leading Space (a common action key).
|
|
139
211
|
if (
|
|
140
212
|
!character ||
|
|
141
213
|
e.ctrlKey ||
|
|
142
214
|
e.metaKey ||
|
|
143
215
|
e.altKey ||
|
|
144
|
-
!e.currentTarget.contains(e.target as HTMLElement)
|
|
216
|
+
!e.currentTarget.contains(e.target as HTMLElement) ||
|
|
217
|
+
(state.search.length === 0 && character === " ")
|
|
145
218
|
) {
|
|
146
219
|
return;
|
|
147
220
|
}
|
|
148
221
|
|
|
149
|
-
// Don't start search with space (common action key)
|
|
150
|
-
if (state.search.length === 0 && character === ' ') {
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
// If there's already search text and the user types a space,
|
|
155
|
-
// prevent it from triggering selection and include it in the search
|
|
156
|
-
if (character === ' ' && state.search.trim().length > 0) {
|
|
157
|
-
e.preventDefault();
|
|
158
|
-
e.stopPropagation();
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// Append to the search buffer
|
|
162
222
|
state.search += character;
|
|
163
223
|
|
|
164
|
-
|
|
165
|
-
const collection = options.collection();
|
|
166
|
-
const currentKey = options.focusedKey();
|
|
167
|
-
|
|
168
|
-
// First, try to find a match starting after the current key
|
|
169
|
-
let key = getKeyForSearch(collection, state.search, currentKey, options.isKeyDisabled);
|
|
170
|
-
|
|
171
|
-
// If no match found, try from the beginning
|
|
172
|
-
if (key == null && currentKey != null) {
|
|
173
|
-
key = getKeyForSearch(collection, state.search, null, options.isKeyDisabled);
|
|
174
|
-
}
|
|
224
|
+
const key = searchAndFocus();
|
|
175
225
|
|
|
176
226
|
if (key != null) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
227
|
+
e.preventDefault();
|
|
228
|
+
// Our raw DOM events never carry `continuePropagation`, so upstream's
|
|
229
|
+
// `if (!('continuePropagation' in e)) e.stopPropagation()` is unconditional.
|
|
230
|
+
e.stopPropagation();
|
|
231
|
+
} else {
|
|
232
|
+
// Nothing matched even after retrying from the top: type-to-select is done,
|
|
233
|
+
// so reset the buffer and let the key propagate normally.
|
|
234
|
+
state.search = "";
|
|
183
235
|
clearTimeout(state.timeout);
|
|
236
|
+
state.timeout = undefined;
|
|
237
|
+
return;
|
|
184
238
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}, TYPEAHEAD_DEBOUNCE_WAIT_MS);
|
|
239
|
+
|
|
240
|
+
restartDebounce();
|
|
188
241
|
};
|
|
189
242
|
|
|
190
|
-
//
|
|
191
|
-
|
|
243
|
+
// Mirror upstream's unmount cleanup (a useEffect teardown) so a pending
|
|
244
|
+
// debounce timer never fires after the consumer is disposed.
|
|
245
|
+
onCleanup(() => {
|
|
246
|
+
clearTimeout(state.timeout);
|
|
247
|
+
});
|
|
192
248
|
|
|
193
249
|
return {
|
|
194
250
|
typeSelectProps: {
|
|
195
|
-
//
|
|
251
|
+
// Upstream binds `onKeyDownCapture` so Spacebar is handled before the
|
|
252
|
+
// collection's own keydown handler. In Solid a capture handler delivered
|
|
253
|
+
// through a `{...typeSelectProps}` spread is inert (it never fires), so the
|
|
254
|
+
// bubble-phase `onKeyDown` is the live path — and it also covers mid-search
|
|
255
|
+
// Space because its bail check only rejects a *leading* Space. True capture
|
|
256
|
+
// would need a ref-based addEventListener threaded through every consumer;
|
|
257
|
+
// see the typeahead follow-up in upstream-sync.md.
|
|
196
258
|
onKeyDownCapture,
|
|
197
|
-
// Also attach to bubble phase for test environments
|
|
198
259
|
onKeyDown,
|
|
199
260
|
} as JSX.HTMLAttributes<HTMLElement>,
|
|
200
261
|
};
|
package/src/selection/index.ts
CHANGED
|
@@ -3,4 +3,35 @@
|
|
|
3
3
|
* in collection components.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
export { createTypeSelect, type TypeSelectOptions, type TypeSelectAria } from
|
|
6
|
+
export { createTypeSelect, type TypeSelectOptions, type TypeSelectAria } from "./createTypeSelect";
|
|
7
|
+
export {
|
|
8
|
+
createScrollIntoViewOnFocus,
|
|
9
|
+
type ScrollIntoViewOnFocusOptions,
|
|
10
|
+
} from "./createScrollIntoViewOnFocus";
|
|
11
|
+
export { selectItem } from "./selectItem";
|
|
12
|
+
export {
|
|
13
|
+
createSelectableItem,
|
|
14
|
+
ITEM_ACTION_EVENT,
|
|
15
|
+
type CreateSelectableItemOptions,
|
|
16
|
+
type SelectableItemAria,
|
|
17
|
+
type LinkBehavior,
|
|
18
|
+
} from "./createSelectableItem";
|
|
19
|
+
export { isNonContiguousSelectionModifier, getItemElement } from "./utils";
|
|
20
|
+
export { FOCUS_EVENT, CLEAR_FOCUS_EVENT } from "./constants";
|
|
21
|
+
export {
|
|
22
|
+
ListKeyboardDelegate,
|
|
23
|
+
type ListKeyboardDelegateOptions,
|
|
24
|
+
type Orientation,
|
|
25
|
+
type Direction,
|
|
26
|
+
} from "./ListKeyboardDelegate";
|
|
27
|
+
export { DOMLayoutDelegate, type LayoutDelegate, type Rect, type Size } from "./DOMLayoutDelegate";
|
|
28
|
+
export {
|
|
29
|
+
createSelectableCollection,
|
|
30
|
+
type CreateSelectableCollectionOptions,
|
|
31
|
+
type SelectableCollectionAria,
|
|
32
|
+
} from "./createSelectableCollection";
|
|
33
|
+
export {
|
|
34
|
+
createSelectableList,
|
|
35
|
+
type CreateSelectableListOptions,
|
|
36
|
+
type SelectableListAria,
|
|
37
|
+
} from "./createSelectableList";
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The aria-layer selection decision, mirroring `@react-aria/selection`'s
|
|
3
|
+
* `useSelectableItem` `onSelect`. This is where the platform-aware modifier
|
|
4
|
+
* resolution lives — react-stately's `SelectionManager.select` only knows
|
|
5
|
+
* `pointerType` + `selectionBehavior`; the ctrl/meta/shift decision belongs one
|
|
6
|
+
* layer up, here, where `isMac` is reachable.
|
|
7
|
+
*
|
|
8
|
+
* The link branch (`linkBehavior` 'selection'/'override'/'none') is deferred to
|
|
9
|
+
* `createSelectableItem` (Phase 1 of the press-path epic); callers here pass
|
|
10
|
+
* non-link items.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import type { Accessor } from "solid-js";
|
|
14
|
+
import type {
|
|
15
|
+
Collection,
|
|
16
|
+
Key,
|
|
17
|
+
SelectionBehavior,
|
|
18
|
+
SelectionMode,
|
|
19
|
+
SelectionPressEvent,
|
|
20
|
+
} from "@proyecto-viviana/solid-stately";
|
|
21
|
+
|
|
22
|
+
import { isCtrlKeyPressed } from "../utils/keyboard";
|
|
23
|
+
import { isNonContiguousSelectionModifier } from "./utils";
|
|
24
|
+
|
|
25
|
+
export interface SelectItemState {
|
|
26
|
+
readonly selectionMode: Accessor<SelectionMode>;
|
|
27
|
+
readonly selectionBehavior: Accessor<SelectionBehavior>;
|
|
28
|
+
readonly disallowEmptySelection: Accessor<boolean>;
|
|
29
|
+
isSelected(key: Key): boolean;
|
|
30
|
+
toggleSelection(key: Key): void;
|
|
31
|
+
replaceSelection(key: Key): void;
|
|
32
|
+
extendSelection(toKey: Key, collection: Collection): void;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Resolve a press/keyboard interaction into a selection mutation on `manager`,
|
|
37
|
+
* faithful to `useSelectableItem.onSelect`. `collection` is required for the
|
|
38
|
+
* shift-extend (contiguous range) path.
|
|
39
|
+
*/
|
|
40
|
+
export function selectItem(
|
|
41
|
+
manager: SelectItemState,
|
|
42
|
+
key: Key,
|
|
43
|
+
e: SelectionPressEvent,
|
|
44
|
+
collection: Collection,
|
|
45
|
+
): void {
|
|
46
|
+
// A keyboard non-contiguous modifier (Alt on Apple devices, Ctrl elsewhere)
|
|
47
|
+
// always toggles, independent of mode/behavior.
|
|
48
|
+
if (e.pointerType === "keyboard" && isNonContiguousSelectionModifier(e)) {
|
|
49
|
+
manager.toggleSelection(key);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (manager.selectionMode() === "none") {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (manager.selectionMode() === "single") {
|
|
58
|
+
// Single mode ignores selectionBehavior. Re-selecting the current item
|
|
59
|
+
// deselects it when empty selection is allowed; otherwise it stays
|
|
60
|
+
// selected (replace).
|
|
61
|
+
if (manager.isSelected(key) && !manager.disallowEmptySelection()) {
|
|
62
|
+
manager.toggleSelection(key);
|
|
63
|
+
} else {
|
|
64
|
+
manager.replaceSelection(key);
|
|
65
|
+
}
|
|
66
|
+
} else if (e.shiftKey) {
|
|
67
|
+
manager.extendSelection(key, collection);
|
|
68
|
+
} else if (
|
|
69
|
+
manager.selectionBehavior() === "toggle" ||
|
|
70
|
+
isCtrlKeyPressed(e) ||
|
|
71
|
+
e.pointerType === "touch" ||
|
|
72
|
+
e.pointerType === "virtual"
|
|
73
|
+
) {
|
|
74
|
+
// touch / virtual (VoiceOver) have no modifier keys, so multi-select is
|
|
75
|
+
// only reachable by toggling.
|
|
76
|
+
manager.toggleSelection(key);
|
|
77
|
+
} else {
|
|
78
|
+
manager.replaceSelection(key);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Selection helpers shared across collection item hooks.
|
|
3
|
+
* Based on @react-aria/selection's utilities.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { Accessor } from "solid-js";
|
|
7
|
+
import type { Key } from "@proyecto-viviana/solid-stately";
|
|
8
|
+
import { isAppleDevice } from "../utils/platform";
|
|
9
|
+
import { createId } from "../ssr";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Resolves the DOM element rendered for a collection item by its key, scoped to
|
|
13
|
+
* the owning collection when a `data-collection` id is present. Mirrors
|
|
14
|
+
* `@react-aria/selection`'s `getItemElement`, adapted to take a Solid ref
|
|
15
|
+
* accessor instead of a React ref object.
|
|
16
|
+
*/
|
|
17
|
+
export function getItemElement(ref: Accessor<HTMLElement | null>, key: Key): HTMLElement | null {
|
|
18
|
+
const root = ref();
|
|
19
|
+
if (!root) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
let selector = `[data-key="${CSS.escape(String(key))}"]`;
|
|
23
|
+
const collectionId = root.dataset.collection;
|
|
24
|
+
if (collectionId) {
|
|
25
|
+
selector = `[data-collection="${CSS.escape(collectionId)}"]${selector}`;
|
|
26
|
+
}
|
|
27
|
+
return root.querySelector<HTMLElement>(selector);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* A stable, SSR-safe id for a collection, shared between the collection
|
|
32
|
+
* container and its items so {@link getItemElement} can scope a query by
|
|
33
|
+
* `data-collection` (needed to disambiguate nested collections).
|
|
34
|
+
*
|
|
35
|
+
* Divergence from upstream: React's `useCollectionId` keys this WeakMap by the
|
|
36
|
+
* collection object and relies on a render-stable `useId`. A Solid collection is
|
|
37
|
+
* rebuilt with a new identity whenever its items change, so we key by the
|
|
38
|
+
* SelectionManager instance instead — it is created once and never replaced, so
|
|
39
|
+
* the container and its items always resolve to the same entry — and generate
|
|
40
|
+
* the id with our SSR-safe `createId`.
|
|
41
|
+
*/
|
|
42
|
+
const collectionIdMap = new WeakMap<object, string>();
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Registers (on first call) and returns the collection id for a SelectionManager.
|
|
46
|
+
* The collection container calls this; its items read the same id via
|
|
47
|
+
* {@link getCollectionId}. Must be called within a reactive owner (uses createId).
|
|
48
|
+
*/
|
|
49
|
+
export function registerCollectionId(manager: object): string {
|
|
50
|
+
let id = collectionIdMap.get(manager);
|
|
51
|
+
if (id == null) {
|
|
52
|
+
id = createId();
|
|
53
|
+
collectionIdMap.set(manager, id);
|
|
54
|
+
}
|
|
55
|
+
return id;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Returns the collection id registered for a SelectionManager, or `undefined`
|
|
60
|
+
* when its container has not registered one (e.g. an item not yet wired into a
|
|
61
|
+
* `createSelectableCollection`). A Solid `undefined` attribute is omitted, so an
|
|
62
|
+
* unregistered item simply renders no `data-collection`.
|
|
63
|
+
*/
|
|
64
|
+
export function getCollectionId(manager: object): string | undefined {
|
|
65
|
+
return collectionIdMap.get(manager);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/** The modifier-key fields consulted by {@link isNonContiguousSelectionModifier}. */
|
|
69
|
+
interface ModifierKeyEvent {
|
|
70
|
+
altKey?: boolean;
|
|
71
|
+
ctrlKey?: boolean;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Returns whether the modifier for non-contiguous (toggle) keyboard selection
|
|
76
|
+
* is pressed. Mirrors `@react-aria/selection`'s `isNonContiguousSelectionModifier`:
|
|
77
|
+
* Ctrl + Arrow Up/Down has a system-wide meaning on macOS, so Apple devices use
|
|
78
|
+
* Alt instead; Windows and Ubuntu use Ctrl.
|
|
79
|
+
*/
|
|
80
|
+
export function isNonContiguousSelectionModifier(e: ModifierKeyEvent): boolean {
|
|
81
|
+
return isAppleDevice() ? e.altKey === true : e.ctrlKey === true;
|
|
82
|
+
}
|
|
@@ -5,15 +5,11 @@
|
|
|
5
5
|
* e.g. groups of menu items or sections of a page.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import type { JSX } from
|
|
9
|
-
import { access, type MaybeAccessor } from
|
|
10
|
-
import { filterDOMProps } from
|
|
8
|
+
import type { JSX } from "solid-js";
|
|
9
|
+
import { access, type MaybeAccessor } from "../utils";
|
|
10
|
+
import { filterDOMProps } from "../utils";
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
// TYPES
|
|
14
|
-
// ============================================
|
|
15
|
-
|
|
16
|
-
export type Orientation = 'horizontal' | 'vertical';
|
|
12
|
+
export type Orientation = "horizontal" | "vertical";
|
|
17
13
|
|
|
18
14
|
export interface AriaSeparatorProps {
|
|
19
15
|
/**
|
|
@@ -27,9 +23,13 @@ export interface AriaSeparatorProps {
|
|
|
27
23
|
*/
|
|
28
24
|
elementType?: string;
|
|
29
25
|
/** An accessibility label for the separator. */
|
|
30
|
-
|
|
26
|
+
"aria-label"?: string;
|
|
31
27
|
/** Identifies the element(s) that labels the separator. */
|
|
32
|
-
|
|
28
|
+
"aria-labelledby"?: string;
|
|
29
|
+
/** Identifies the element(s) that describes the separator. */
|
|
30
|
+
"aria-describedby"?: string;
|
|
31
|
+
/** Identifies the element(s) that provide a detailed description. */
|
|
32
|
+
"aria-details"?: string;
|
|
33
33
|
/** The element's unique identifier. */
|
|
34
34
|
id?: string;
|
|
35
35
|
}
|
|
@@ -39,39 +39,34 @@ export interface SeparatorAria {
|
|
|
39
39
|
separatorProps: JSX.HTMLAttributes<HTMLElement>;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
// ============================================
|
|
43
|
-
// CREATE SEPARATOR
|
|
44
|
-
// ============================================
|
|
45
|
-
|
|
46
42
|
/**
|
|
47
43
|
* Provides the accessibility implementation for a separator.
|
|
48
44
|
* A separator is a visual divider between two groups of content,
|
|
49
45
|
* e.g. groups of menu items or sections of a page.
|
|
50
46
|
*/
|
|
51
|
-
export function createSeparator(
|
|
52
|
-
props: MaybeAccessor<AriaSeparatorProps> = {}
|
|
53
|
-
): SeparatorAria {
|
|
47
|
+
export function createSeparator(props: MaybeAccessor<AriaSeparatorProps> = {}): SeparatorAria {
|
|
54
48
|
const getSeparatorProps = (): JSX.HTMLAttributes<HTMLElement> => {
|
|
55
49
|
const p = access(props);
|
|
56
50
|
const domProps = filterDOMProps(p as Record<string, unknown>, { labelable: true });
|
|
57
51
|
|
|
58
52
|
// if orientation is horizontal, aria-orientation default is horizontal, so we leave it undefined
|
|
59
53
|
// if it's vertical, we need to specify it
|
|
60
|
-
let ariaOrientation:
|
|
61
|
-
if (p.orientation ===
|
|
62
|
-
ariaOrientation =
|
|
54
|
+
let ariaOrientation: "vertical" | undefined;
|
|
55
|
+
if (p.orientation === "vertical") {
|
|
56
|
+
ariaOrientation = "vertical";
|
|
63
57
|
}
|
|
64
58
|
|
|
65
|
-
|
|
66
|
-
if (p.elementType !== 'hr') {
|
|
59
|
+
if (p.elementType !== "hr") {
|
|
67
60
|
return {
|
|
68
61
|
...domProps,
|
|
69
|
-
role:
|
|
70
|
-
|
|
62
|
+
role: "separator",
|
|
63
|
+
"aria-orientation": ariaOrientation,
|
|
71
64
|
};
|
|
72
65
|
}
|
|
73
66
|
|
|
74
|
-
return
|
|
67
|
+
return {
|
|
68
|
+
...domProps,
|
|
69
|
+
};
|
|
75
70
|
};
|
|
76
71
|
|
|
77
72
|
return {
|
package/src/separator/index.ts
CHANGED