@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
|
@@ -7,14 +7,10 @@
|
|
|
7
7
|
* This is a 1:1 port of @react-aria/switch's useSwitch hook.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { JSX, Accessor } from
|
|
11
|
-
import { createToggle, type AriaToggleProps } from
|
|
12
|
-
import { type ToggleState } from
|
|
13
|
-
import { type MaybeAccessor } from
|
|
14
|
-
|
|
15
|
-
// ============================================
|
|
16
|
-
// TYPES
|
|
17
|
-
// ============================================
|
|
10
|
+
import { JSX, Accessor } from "solid-js";
|
|
11
|
+
import { createToggle, type AriaToggleProps } from "../toggle/createToggle";
|
|
12
|
+
import { type ToggleState } from "@proyecto-viviana/solid-stately";
|
|
13
|
+
import { type MaybeAccessor } from "../utils/reactivity";
|
|
18
14
|
|
|
19
15
|
export interface AriaSwitchProps extends AriaToggleProps {
|
|
20
16
|
// Switch uses the same props as toggle
|
|
@@ -25,6 +21,10 @@ export interface SwitchAria {
|
|
|
25
21
|
labelProps: JSX.LabelHTMLAttributes<HTMLLabelElement>;
|
|
26
22
|
/** Props for the input element. */
|
|
27
23
|
inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
|
|
24
|
+
/** Props for the switch description element, if any. */
|
|
25
|
+
descriptionProps: JSX.HTMLAttributes<HTMLElement>;
|
|
26
|
+
/** Props for the switch error message element, if any. */
|
|
27
|
+
errorMessageProps: JSX.HTMLAttributes<HTMLElement>;
|
|
28
28
|
/** Whether the switch is selected. */
|
|
29
29
|
isSelected: Accessor<boolean>;
|
|
30
30
|
/** Whether the switch is in a pressed state. */
|
|
@@ -33,12 +33,10 @@ export interface SwitchAria {
|
|
|
33
33
|
isDisabled: boolean;
|
|
34
34
|
/** Whether the switch is read only. */
|
|
35
35
|
isReadOnly: boolean;
|
|
36
|
+
/** Whether the switch is invalid. */
|
|
37
|
+
isInvalid: boolean;
|
|
36
38
|
}
|
|
37
39
|
|
|
38
|
-
// ============================================
|
|
39
|
-
// IMPLEMENTATION
|
|
40
|
-
// ============================================
|
|
41
|
-
|
|
42
40
|
/**
|
|
43
41
|
* Provides the behavior and accessibility implementation for a switch component.
|
|
44
42
|
* A switch is similar to a checkbox, but represents on/off values as opposed to selection.
|
|
@@ -46,7 +44,7 @@ export interface SwitchAria {
|
|
|
46
44
|
export function createSwitch(
|
|
47
45
|
props: MaybeAccessor<AriaSwitchProps>,
|
|
48
46
|
state: ToggleState,
|
|
49
|
-
ref: () => HTMLInputElement | null
|
|
47
|
+
ref: () => HTMLInputElement | null,
|
|
50
48
|
): SwitchAria {
|
|
51
49
|
// Don't destructure inputProps - it's a getter that needs to be evaluated each time
|
|
52
50
|
const toggle = createToggle(props, state, ref);
|
|
@@ -58,13 +56,20 @@ export function createSwitch(
|
|
|
58
56
|
const baseProps = toggle.inputProps;
|
|
59
57
|
return {
|
|
60
58
|
...baseProps,
|
|
61
|
-
role:
|
|
59
|
+
role: "switch" as const,
|
|
62
60
|
checked: toggle.isSelected(),
|
|
63
61
|
};
|
|
64
62
|
},
|
|
63
|
+
get descriptionProps() {
|
|
64
|
+
return toggle.descriptionProps;
|
|
65
|
+
},
|
|
66
|
+
get errorMessageProps() {
|
|
67
|
+
return toggle.errorMessageProps;
|
|
68
|
+
},
|
|
65
69
|
isSelected: toggle.isSelected,
|
|
66
70
|
isPressed: toggle.isPressed,
|
|
67
71
|
isDisabled: toggle.isDisabled,
|
|
68
72
|
isReadOnly: toggle.isReadOnly,
|
|
73
|
+
isInvalid: toggle.isInvalid,
|
|
69
74
|
};
|
|
70
75
|
}
|
package/src/switch/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { createSwitch, type AriaSwitchProps, type SwitchAria } from
|
|
1
|
+
export { createSwitch, type AriaSwitchProps, type SwitchAria } from "./createSwitch";
|
package/src/table/createTable.ts
CHANGED
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
* Based on @react-aria/table/useTable.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { createMemo, createEffect, on, type Accessor } from
|
|
7
|
-
import type { JSX } from
|
|
8
|
-
import { createId } from
|
|
9
|
-
import type { TableState, TableCollection, Key, GridNode } from
|
|
10
|
-
import type { AriaTableProps, TableAria } from
|
|
11
|
-
import { useLocale } from
|
|
12
|
-
import { announce } from
|
|
6
|
+
import { createMemo, createEffect, on, type Accessor } from "solid-js";
|
|
7
|
+
import type { JSX } from "solid-js";
|
|
8
|
+
import { createId } from "@proyecto-viviana/solid-stately";
|
|
9
|
+
import type { TableState, TableCollection, Key, GridNode } from "@proyecto-viviana/solid-stately";
|
|
10
|
+
import type { AriaTableProps, TableAria } from "./types";
|
|
11
|
+
import { useLocale } from "../i18n";
|
|
12
|
+
import { announce } from "../live-announcer";
|
|
13
|
+
import { scrollIntoViewport } from "../utils";
|
|
14
|
+
import { getInteractionModality } from "../interactions/createInteractionModality";
|
|
13
15
|
|
|
14
16
|
// Global map to store table metadata for child components
|
|
15
17
|
const tableMap = new WeakMap<
|
|
@@ -18,7 +20,7 @@ const tableMap = new WeakMap<
|
|
|
18
20
|
tableId: string;
|
|
19
21
|
actions: { onRowAction?: (key: Key) => void; onCellAction?: (key: Key) => void };
|
|
20
22
|
shouldSelectOnPressUp?: boolean;
|
|
21
|
-
focusMode?:
|
|
23
|
+
focusMode?: "row" | "cell";
|
|
22
24
|
}
|
|
23
25
|
>();
|
|
24
26
|
|
|
@@ -34,13 +36,17 @@ export function getTableData<T>(state: TableState<T, TableCollection<T>>) {
|
|
|
34
36
|
*/
|
|
35
37
|
function getChildCells<T>(collection: TableCollection<T>, rowKey: Key): GridNode<T>[] {
|
|
36
38
|
const children = collection.getChildren(rowKey);
|
|
37
|
-
return [...children].filter(node => node.type ===
|
|
39
|
+
return [...children].filter((node) => node.type === "cell" || node.type === "rowheader");
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
/**
|
|
41
43
|
* Helper to get cell at specific index in a row
|
|
42
44
|
*/
|
|
43
|
-
function getCellAtIndex<T>(
|
|
45
|
+
function getCellAtIndex<T>(
|
|
46
|
+
collection: TableCollection<T>,
|
|
47
|
+
rowKey: Key,
|
|
48
|
+
index: number,
|
|
49
|
+
): GridNode<T> | null {
|
|
44
50
|
const cells = getChildCells(collection, rowKey);
|
|
45
51
|
return cells[index] ?? null;
|
|
46
52
|
}
|
|
@@ -49,14 +55,14 @@ function getCellAtIndex<T>(collection: TableCollection<T>, rowKey: Key, index: n
|
|
|
49
55
|
* Helper to check if a node is a cell
|
|
50
56
|
*/
|
|
51
57
|
function isCell<T>(node: GridNode<T> | null): boolean {
|
|
52
|
-
return node?.type ===
|
|
58
|
+
return node?.type === "cell" || node?.type === "rowheader";
|
|
53
59
|
}
|
|
54
60
|
|
|
55
61
|
/**
|
|
56
62
|
* Helper to check if a node is a row
|
|
57
63
|
*/
|
|
58
64
|
function isRow<T>(node: GridNode<T> | null): boolean {
|
|
59
|
-
return node?.type ===
|
|
65
|
+
return node?.type === "item";
|
|
60
66
|
}
|
|
61
67
|
|
|
62
68
|
/**
|
|
@@ -65,14 +71,16 @@ function isRow<T>(node: GridNode<T> | null): boolean {
|
|
|
65
71
|
export function createTable<T extends object>(
|
|
66
72
|
props: Accessor<AriaTableProps>,
|
|
67
73
|
state: Accessor<TableState<T, TableCollection<T>>>,
|
|
68
|
-
ref: Accessor<HTMLTableElement | null
|
|
74
|
+
ref: Accessor<HTMLTableElement | null>,
|
|
69
75
|
): TableAria {
|
|
70
76
|
const id = createId(props().id);
|
|
71
77
|
const locale = useLocale();
|
|
72
78
|
|
|
73
79
|
// Track previous sort descriptor for announcements
|
|
74
|
-
let prevSortDescriptor: { column: Key; direction:
|
|
80
|
+
let prevSortDescriptor: { column: Key; direction: "ascending" | "descending" } | null = null;
|
|
75
81
|
let isFirstRender = true;
|
|
82
|
+
let typeaheadBuffer = "";
|
|
83
|
+
let typeaheadTimeout: ReturnType<typeof setTimeout> | undefined;
|
|
76
84
|
|
|
77
85
|
// Store metadata for child components
|
|
78
86
|
const storeTableData = () => {
|
|
@@ -95,38 +103,90 @@ export function createTable<T extends object>(
|
|
|
95
103
|
});
|
|
96
104
|
|
|
97
105
|
// Announce sort changes (only after initial render)
|
|
98
|
-
createEffect(
|
|
99
|
-
(
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
isFirstRender
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (sortDescriptor && (
|
|
108
|
-
sortDescriptor.column !== prevSortDescriptor?.column ||
|
|
109
|
-
sortDescriptor.direction !== prevSortDescriptor?.direction
|
|
110
|
-
)) {
|
|
111
|
-
const collection = state().collection;
|
|
112
|
-
const column = collection.columns.find(c => c.key === sortDescriptor.column);
|
|
113
|
-
const columnName = column?.textValue ?? String(sortDescriptor.column);
|
|
114
|
-
const directionText = sortDescriptor.direction === 'ascending' ? 'ascending' : 'descending';
|
|
106
|
+
createEffect(
|
|
107
|
+
on(
|
|
108
|
+
() => state().sortDescriptor,
|
|
109
|
+
(sortDescriptor) => {
|
|
110
|
+
if (isFirstRender) {
|
|
111
|
+
isFirstRender = false;
|
|
112
|
+
prevSortDescriptor = sortDescriptor;
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
115
|
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
if (
|
|
117
|
+
sortDescriptor &&
|
|
118
|
+
(sortDescriptor.column !== prevSortDescriptor?.column ||
|
|
119
|
+
sortDescriptor.direction !== prevSortDescriptor?.direction)
|
|
120
|
+
) {
|
|
121
|
+
const collection = state().collection;
|
|
122
|
+
const column = collection.columns.find((c) => c.key === sortDescriptor.column);
|
|
123
|
+
const columnName = column?.textValue ?? String(sortDescriptor.column);
|
|
124
|
+
const directionText =
|
|
125
|
+
sortDescriptor.direction === "ascending" ? "ascending" : "descending";
|
|
126
|
+
|
|
127
|
+
announce(`Sorted by ${columnName}, ${directionText}`, "assertive", 500);
|
|
128
|
+
}
|
|
118
129
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
130
|
+
prevSortDescriptor = sortDescriptor;
|
|
131
|
+
},
|
|
132
|
+
),
|
|
133
|
+
);
|
|
122
134
|
|
|
123
135
|
// Keyboard navigation handler with full 2D navigation
|
|
124
136
|
const onKeyDown = (e: KeyboardEvent) => {
|
|
125
137
|
const s = state();
|
|
126
138
|
const collection = s.collection;
|
|
127
139
|
const p = props();
|
|
128
|
-
const focusMode = p.focusMode ??
|
|
129
|
-
const isRTL = locale().direction ===
|
|
140
|
+
const focusMode = p.focusMode ?? "row";
|
|
141
|
+
const isRTL = locale().direction === "rtl";
|
|
142
|
+
const setFocusedKey = (key: Key) => {
|
|
143
|
+
s.setFocusedKey(key);
|
|
144
|
+
};
|
|
145
|
+
const runTypeahead = (focusedKey: Key, focusedItem: GridNode<T>) => {
|
|
146
|
+
if (e.key.length !== 1 || e.ctrlKey || e.metaKey || e.altKey) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// A leading Spacebar is a selection/action key, not the start of a type-ahead
|
|
151
|
+
// search. Mirror upstream useTypeSelect (`search.length === 0 && character === ' '`)
|
|
152
|
+
// and let it fall through so the focused row's own Space handler toggles selection.
|
|
153
|
+
// Once a search is active, Space continues the query as normal.
|
|
154
|
+
if (e.key === " " && typeaheadBuffer.length === 0) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
typeaheadBuffer += e.key.toLocaleLowerCase();
|
|
159
|
+
if (typeaheadTimeout) {
|
|
160
|
+
clearTimeout(typeaheadTimeout);
|
|
161
|
+
}
|
|
162
|
+
typeaheadTimeout = setTimeout(() => {
|
|
163
|
+
typeaheadBuffer = "";
|
|
164
|
+
typeaheadTimeout = undefined;
|
|
165
|
+
}, 500);
|
|
166
|
+
|
|
167
|
+
const rows = Array.from(collection).filter((node) => !s.isDisabled(node.key));
|
|
168
|
+
if (rows.length === 0) {
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
const currentRowKey =
|
|
173
|
+
isCell(focusedItem) && focusedItem.parentKey != null ? focusedItem.parentKey : focusedKey;
|
|
174
|
+
const currentIndex = rows.findIndex((node) => node.key === currentRowKey);
|
|
175
|
+
const orderedRows =
|
|
176
|
+
currentIndex >= 0
|
|
177
|
+
? [...rows.slice(currentIndex + 1), ...rows.slice(0, currentIndex + 1)]
|
|
178
|
+
: rows;
|
|
179
|
+
const match = orderedRows.find((node) =>
|
|
180
|
+
collection.getTextValue(node.key).toLocaleLowerCase().startsWith(typeaheadBuffer),
|
|
181
|
+
);
|
|
182
|
+
|
|
183
|
+
if (match) {
|
|
184
|
+
e.preventDefault();
|
|
185
|
+
setFocusedKey(match.key);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return true;
|
|
189
|
+
};
|
|
130
190
|
|
|
131
191
|
if (s.isKeyboardNavigationDisabled) {
|
|
132
192
|
return;
|
|
@@ -135,11 +195,11 @@ export function createTable<T extends object>(
|
|
|
135
195
|
const focusedKey = s.focusedKey;
|
|
136
196
|
if (focusedKey == null) {
|
|
137
197
|
// If nothing is focused, focus the first item
|
|
138
|
-
if (e.key ===
|
|
198
|
+
if (e.key === "ArrowDown" || e.key === "ArrowUp" || e.key === "Home" || e.key === "End") {
|
|
139
199
|
const firstKey = collection.getFirstKey();
|
|
140
200
|
if (firstKey != null) {
|
|
141
201
|
e.preventDefault();
|
|
142
|
-
|
|
202
|
+
setFocusedKey(firstKey);
|
|
143
203
|
}
|
|
144
204
|
}
|
|
145
205
|
return;
|
|
@@ -151,7 +211,7 @@ export function createTable<T extends object>(
|
|
|
151
211
|
let nextKey: Key | null = null;
|
|
152
212
|
|
|
153
213
|
switch (e.key) {
|
|
154
|
-
case
|
|
214
|
+
case "ArrowDown": {
|
|
155
215
|
e.preventDefault();
|
|
156
216
|
// If focused on a cell, move to the same column in the next row
|
|
157
217
|
if (isCell(focusedItem) && focusedItem.parentKey != null) {
|
|
@@ -168,7 +228,7 @@ export function createTable<T extends object>(
|
|
|
168
228
|
break;
|
|
169
229
|
}
|
|
170
230
|
|
|
171
|
-
case
|
|
231
|
+
case "ArrowUp": {
|
|
172
232
|
e.preventDefault();
|
|
173
233
|
// If focused on a cell, move to the same column in the previous row
|
|
174
234
|
if (isCell(focusedItem) && focusedItem.parentKey != null) {
|
|
@@ -185,7 +245,7 @@ export function createTable<T extends object>(
|
|
|
185
245
|
break;
|
|
186
246
|
}
|
|
187
247
|
|
|
188
|
-
case
|
|
248
|
+
case "ArrowRight": {
|
|
189
249
|
e.preventDefault();
|
|
190
250
|
const goNext = !isRTL;
|
|
191
251
|
|
|
@@ -203,7 +263,7 @@ export function createTable<T extends object>(
|
|
|
203
263
|
|
|
204
264
|
if (targetIndex >= 0 && targetIndex < cells.length) {
|
|
205
265
|
nextKey = cells[targetIndex].key;
|
|
206
|
-
} else if (focusMode ===
|
|
266
|
+
} else if (focusMode === "row") {
|
|
207
267
|
// Wrap to row
|
|
208
268
|
nextKey = focusedItem.parentKey;
|
|
209
269
|
} else {
|
|
@@ -214,7 +274,7 @@ export function createTable<T extends object>(
|
|
|
214
274
|
break;
|
|
215
275
|
}
|
|
216
276
|
|
|
217
|
-
case
|
|
277
|
+
case "ArrowLeft": {
|
|
218
278
|
e.preventDefault();
|
|
219
279
|
const goNext = isRTL;
|
|
220
280
|
|
|
@@ -232,7 +292,7 @@ export function createTable<T extends object>(
|
|
|
232
292
|
|
|
233
293
|
if (targetIndex >= 0 && targetIndex < cells.length) {
|
|
234
294
|
nextKey = cells[targetIndex].key;
|
|
235
|
-
} else if (focusMode ===
|
|
295
|
+
} else if (focusMode === "row") {
|
|
236
296
|
// Wrap to row
|
|
237
297
|
nextKey = focusedItem.parentKey;
|
|
238
298
|
} else {
|
|
@@ -243,13 +303,13 @@ export function createTable<T extends object>(
|
|
|
243
303
|
break;
|
|
244
304
|
}
|
|
245
305
|
|
|
246
|
-
case
|
|
306
|
+
case "Home": {
|
|
247
307
|
e.preventDefault();
|
|
248
308
|
if (e.ctrlKey) {
|
|
249
309
|
// Ctrl+Home: Go to first row/cell
|
|
250
310
|
const firstRowKey = collection.getFirstKey();
|
|
251
311
|
if (firstRowKey != null) {
|
|
252
|
-
if (isCell(focusedItem) || focusMode ===
|
|
312
|
+
if (isCell(focusedItem) || focusMode === "cell") {
|
|
253
313
|
const cells = getChildCells(collection, firstRowKey);
|
|
254
314
|
nextKey = cells[0]?.key ?? firstRowKey;
|
|
255
315
|
} else {
|
|
@@ -267,13 +327,13 @@ export function createTable<T extends object>(
|
|
|
267
327
|
break;
|
|
268
328
|
}
|
|
269
329
|
|
|
270
|
-
case
|
|
330
|
+
case "End": {
|
|
271
331
|
e.preventDefault();
|
|
272
332
|
if (e.ctrlKey) {
|
|
273
333
|
// Ctrl+End: Go to last row/cell
|
|
274
334
|
const lastRowKey = collection.getLastKey();
|
|
275
335
|
if (lastRowKey != null) {
|
|
276
|
-
if (isCell(focusedItem) || focusMode ===
|
|
336
|
+
if (isCell(focusedItem) || focusMode === "cell") {
|
|
277
337
|
const cells = getChildCells(collection, lastRowKey);
|
|
278
338
|
nextKey = cells[cells.length - 1]?.key ?? lastRowKey;
|
|
279
339
|
} else {
|
|
@@ -291,11 +351,11 @@ export function createTable<T extends object>(
|
|
|
291
351
|
break;
|
|
292
352
|
}
|
|
293
353
|
|
|
294
|
-
case
|
|
354
|
+
case "PageDown": {
|
|
295
355
|
e.preventDefault();
|
|
296
356
|
// Move down by roughly a page (using DOM measurements if available)
|
|
297
357
|
const el = ref();
|
|
298
|
-
if (el) {
|
|
358
|
+
if (el && el.clientHeight > 0) {
|
|
299
359
|
const visibleHeight = el.clientHeight;
|
|
300
360
|
let currentKey: Key | null = focusedKey;
|
|
301
361
|
let traveled = 0;
|
|
@@ -329,9 +389,10 @@ export function createTable<T extends object>(
|
|
|
329
389
|
} else {
|
|
330
390
|
// Fallback: move 10 rows
|
|
331
391
|
let count = 10;
|
|
332
|
-
let current: Key | null =
|
|
333
|
-
|
|
334
|
-
|
|
392
|
+
let current: Key | null =
|
|
393
|
+
isCell(focusedItem) && focusedItem.parentKey != null
|
|
394
|
+
? focusedItem.parentKey
|
|
395
|
+
: focusedKey;
|
|
335
396
|
while (count > 0 && current != null) {
|
|
336
397
|
const next = collection.getKeyAfter(current);
|
|
337
398
|
if (next == null) break;
|
|
@@ -348,11 +409,11 @@ export function createTable<T extends object>(
|
|
|
348
409
|
break;
|
|
349
410
|
}
|
|
350
411
|
|
|
351
|
-
case
|
|
412
|
+
case "PageUp": {
|
|
352
413
|
e.preventDefault();
|
|
353
414
|
// Move up by roughly a page
|
|
354
415
|
const el = ref();
|
|
355
|
-
if (el) {
|
|
416
|
+
if (el && el.clientHeight > 0) {
|
|
356
417
|
const visibleHeight = el.clientHeight;
|
|
357
418
|
let currentKey: Key | null = focusedKey;
|
|
358
419
|
let traveled = 0;
|
|
@@ -384,9 +445,10 @@ export function createTable<T extends object>(
|
|
|
384
445
|
} else {
|
|
385
446
|
// Fallback: move 10 rows
|
|
386
447
|
let count = 10;
|
|
387
|
-
let current: Key | null =
|
|
388
|
-
|
|
389
|
-
|
|
448
|
+
let current: Key | null =
|
|
449
|
+
isCell(focusedItem) && focusedItem.parentKey != null
|
|
450
|
+
? focusedItem.parentKey
|
|
451
|
+
: focusedKey;
|
|
390
452
|
while (count > 0 && current != null) {
|
|
391
453
|
const prev = collection.getKeyBefore(current);
|
|
392
454
|
if (prev == null) break;
|
|
@@ -403,51 +465,46 @@ export function createTable<T extends object>(
|
|
|
403
465
|
break;
|
|
404
466
|
}
|
|
405
467
|
|
|
406
|
-
case
|
|
407
|
-
|
|
468
|
+
case "Escape":
|
|
469
|
+
if (p.escapeKeyBehavior !== "none") {
|
|
470
|
+
s.clearSelection();
|
|
471
|
+
}
|
|
408
472
|
return;
|
|
409
473
|
|
|
410
|
-
case
|
|
474
|
+
case "a":
|
|
411
475
|
if (e.ctrlKey || e.metaKey) {
|
|
412
476
|
e.preventDefault();
|
|
413
|
-
if (s.selectionMode ===
|
|
477
|
+
if (s.selectionMode === "multiple") {
|
|
414
478
|
s.selectAll();
|
|
415
479
|
}
|
|
416
480
|
}
|
|
417
481
|
return;
|
|
418
482
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
const keyToSelect = isCell(focusedItem) && focusedItem.parentKey != null
|
|
426
|
-
? focusedItem.parentKey
|
|
427
|
-
: focusedKey;
|
|
428
|
-
|
|
429
|
-
if (e.shiftKey && s.selectionMode === 'multiple') {
|
|
430
|
-
s.extendSelection(keyToSelect);
|
|
431
|
-
} else {
|
|
432
|
-
s.toggleSelection(keyToSelect);
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
return;
|
|
483
|
+
// NOTE: Space/Enter selection is intentionally NOT handled here. Upstream
|
|
484
|
+
// useSelectableCollection has no ' '/Enter case — keyboard selection is owned
|
|
485
|
+
// by the row (useSelectableItem, ported in createTableRow). Handling it here too
|
|
486
|
+
// double-toggled the selection (row toggles on, grid toggles back off → no-op),
|
|
487
|
+
// since the row handler does not stop propagation. Space/Enter fall through to
|
|
488
|
+
// the type-ahead path below, which ignores a leading Space and bails on Enter.
|
|
436
489
|
|
|
437
490
|
default:
|
|
491
|
+
if (runTypeahead(focusedKey, focusedItem)) {
|
|
492
|
+
return;
|
|
493
|
+
}
|
|
438
494
|
return;
|
|
439
495
|
}
|
|
440
496
|
|
|
441
497
|
if (nextKey != null) {
|
|
442
|
-
|
|
498
|
+
setFocusedKey(nextKey);
|
|
443
499
|
|
|
444
500
|
// Handle shift+arrow for range selection
|
|
445
|
-
if (e.shiftKey && s.selectionMode ===
|
|
501
|
+
if (e.shiftKey && s.selectionMode === "multiple") {
|
|
446
502
|
// For cells, select the parent row
|
|
447
503
|
const focusedNode = collection.getItem(nextKey);
|
|
448
|
-
const keyToSelect =
|
|
449
|
-
|
|
450
|
-
|
|
504
|
+
const keyToSelect =
|
|
505
|
+
focusedNode && isCell(focusedNode) && focusedNode.parentKey != null
|
|
506
|
+
? focusedNode.parentKey
|
|
507
|
+
: nextKey;
|
|
451
508
|
s.extendSelection(keyToSelect);
|
|
452
509
|
}
|
|
453
510
|
}
|
|
@@ -485,11 +542,51 @@ export function createTable<T extends object>(
|
|
|
485
542
|
}
|
|
486
543
|
};
|
|
487
544
|
|
|
545
|
+
// Mirror React Aria's useSelectableCollection: once the roving tabindex for
|
|
546
|
+
// the focused key has been committed to the DOM, move browser focus onto that
|
|
547
|
+
// element from a post-commit effect — looking it up by its stable data-key
|
|
548
|
+
// rather than by transient tabindex. Doing this imperatively during the key
|
|
549
|
+
// handler (in a microtask) raced Solid's reconciliation and dropped focus to
|
|
550
|
+
// <body>, so Space/Enter never reached the grid's selection handler.
|
|
551
|
+
createEffect(() => {
|
|
552
|
+
const s = state();
|
|
553
|
+
const key = s.focusedKey;
|
|
554
|
+
const el = ref();
|
|
555
|
+
if (!el || key == null) {
|
|
556
|
+
return;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
// Only manage focus while it already lives inside the table — i.e. the user
|
|
560
|
+
// is navigating with the keyboard. We gate on the *physical* position of
|
|
561
|
+
// browser focus rather than the grid's logical `isFocused` signal: focus can
|
|
562
|
+
// land directly on a row (a pointer click, or programmatic row focus) without
|
|
563
|
+
// ever firing the grid's own non-bubbling focus handler, so `isFocused` stays
|
|
564
|
+
// false even though the table genuinely holds focus. The contains() check is
|
|
565
|
+
// also what keeps us from pulling focus back from elsewhere on the page when
|
|
566
|
+
// the focused key changes from a background interaction.
|
|
567
|
+
const active = document.activeElement;
|
|
568
|
+
if (!active || (active !== el && !el.contains(active))) {
|
|
569
|
+
return;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
const target = el.querySelector<HTMLElement>(`[data-key="${key}"]`);
|
|
573
|
+
if (target && target !== active) {
|
|
574
|
+
target.focus();
|
|
575
|
+
|
|
576
|
+
// Reveal the newly focused row/cell when navigating with the keyboard,
|
|
577
|
+
// mirroring useSelectableCollection. Pointer-driven focus changes should
|
|
578
|
+
// not shift the scroll position under the user's finger.
|
|
579
|
+
if (getInteractionModality() !== "pointer") {
|
|
580
|
+
scrollIntoViewport(target, { containingElement: el });
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
});
|
|
584
|
+
|
|
488
585
|
// Warn if no label is provided
|
|
489
586
|
createMemo(() => {
|
|
490
587
|
const p = props();
|
|
491
|
-
if (!p[
|
|
492
|
-
console.warn(
|
|
588
|
+
if (!p["aria-label"] && !p["aria-labelledby"]) {
|
|
589
|
+
console.warn("Table: An aria-label or aria-labelledby prop is required for accessibility.");
|
|
493
590
|
}
|
|
494
591
|
});
|
|
495
592
|
|
|
@@ -498,12 +595,12 @@ export function createTable<T extends object>(
|
|
|
498
595
|
const s = state();
|
|
499
596
|
|
|
500
597
|
const baseProps: Record<string, unknown> = {
|
|
501
|
-
role:
|
|
598
|
+
role: "grid",
|
|
502
599
|
id,
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
600
|
+
"aria-label": p["aria-label"],
|
|
601
|
+
"aria-labelledby": p["aria-labelledby"],
|
|
602
|
+
"aria-describedby": p["aria-describedby"],
|
|
603
|
+
"aria-multiselectable": s.selectionMode === "multiple" ? "true" : undefined,
|
|
507
604
|
// Keep the grid itself tabbable so keyboard users can enter
|
|
508
605
|
// row/cell navigation without requiring a prior pointer interaction.
|
|
509
606
|
tabIndex: 0,
|
|
@@ -513,8 +610,8 @@ export function createTable<T extends object>(
|
|
|
513
610
|
};
|
|
514
611
|
|
|
515
612
|
if (p.isVirtualized) {
|
|
516
|
-
baseProps[
|
|
517
|
-
baseProps[
|
|
613
|
+
baseProps["aria-rowcount"] = s.collection.rowCount;
|
|
614
|
+
baseProps["aria-colcount"] = s.collection.columnCount;
|
|
518
615
|
}
|
|
519
616
|
|
|
520
617
|
return baseProps as JSX.HTMLAttributes<HTMLTableElement>;
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Based on @react-aria/table/useTableCell.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { createMemo, createSignal, type Accessor } from
|
|
7
|
-
import type { JSX } from
|
|
8
|
-
import type { TableState, TableCollection } from
|
|
9
|
-
import type { AriaTableCellProps, TableCellAria } from
|
|
10
|
-
import { getTableData } from
|
|
6
|
+
import { createMemo, createSignal, type Accessor } from "solid-js";
|
|
7
|
+
import type { JSX } from "solid-js";
|
|
8
|
+
import type { TableState, TableCollection } from "@proyecto-viviana/solid-stately";
|
|
9
|
+
import type { AriaTableCellProps, TableCellAria } from "./types";
|
|
10
|
+
import { getTableData } from "./createTable";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Creates accessibility props for a table cell.
|
|
@@ -15,7 +15,7 @@ import { getTableData } from './createTable';
|
|
|
15
15
|
export function createTableCell<T extends object>(
|
|
16
16
|
props: Accessor<AriaTableCellProps>,
|
|
17
17
|
state: Accessor<TableState<T, TableCollection<T>>>,
|
|
18
|
-
_ref: Accessor<HTMLTableCellElement | null
|
|
18
|
+
_ref: Accessor<HTMLTableCellElement | null>,
|
|
19
19
|
): TableCellAria {
|
|
20
20
|
const [isPressed, setIsPressed] = createSignal(false);
|
|
21
21
|
|
|
@@ -64,7 +64,7 @@ export function createTableCell<T extends object>(
|
|
|
64
64
|
if (isDisabled()) return;
|
|
65
65
|
|
|
66
66
|
// Enter triggers cell action
|
|
67
|
-
if (e.key ===
|
|
67
|
+
if (e.key === "Enter") {
|
|
68
68
|
const tableData = getTableData(s);
|
|
69
69
|
const onCellAction = tableData?.actions.onCellAction;
|
|
70
70
|
|
|
@@ -103,17 +103,18 @@ export function createTableCell<T extends object>(
|
|
|
103
103
|
const tableData = getTableData(s);
|
|
104
104
|
|
|
105
105
|
// Determine the role based on node type
|
|
106
|
-
let role: string =
|
|
107
|
-
if (node.type ===
|
|
108
|
-
role =
|
|
106
|
+
let role: string = "gridcell";
|
|
107
|
+
if (node.type === "rowheader") {
|
|
108
|
+
role = "rowheader";
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
const baseProps: Record<string, unknown> = {
|
|
112
112
|
role,
|
|
113
|
-
id:
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
113
|
+
id:
|
|
114
|
+
tableData && node.parentKey != null
|
|
115
|
+
? `${tableData.tableId}-${node.parentKey}-${node.key}`
|
|
116
|
+
: undefined,
|
|
117
|
+
"aria-disabled": isDisabled() || undefined,
|
|
117
118
|
tabIndex: isFocused() ? 0 : -1,
|
|
118
119
|
onClick,
|
|
119
120
|
onKeyDown,
|
|
@@ -124,12 +125,12 @@ export function createTableCell<T extends object>(
|
|
|
124
125
|
|
|
125
126
|
// Add aria-colindex for virtualized tables
|
|
126
127
|
if (p.isVirtualized && node.column != null) {
|
|
127
|
-
baseProps[
|
|
128
|
+
baseProps["aria-colindex"] = node.column + 1; // 1-based
|
|
128
129
|
}
|
|
129
130
|
|
|
130
131
|
// Add colspan if present
|
|
131
132
|
if (node.colspan != null && node.colspan > 1) {
|
|
132
|
-
baseProps[
|
|
133
|
+
baseProps["aria-colspan"] = node.colspan;
|
|
133
134
|
baseProps.colSpan = node.colspan;
|
|
134
135
|
}
|
|
135
136
|
|