@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
package/README.md
CHANGED
|
@@ -1,264 +1,59 @@
|
|
|
1
1
|
# @proyecto-viviana/solidaria
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
SolidJS port of React Aria hooks and accessibility behavior primitives.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
This package is the behavior layer below `solidaria-components`. It provides
|
|
6
|
+
hooks such as `createButton`, `createPress`, `createListBox`, `createSelect`,
|
|
7
|
+
`createDatePicker`, `createCalendar`, `createTable`, and drag-and-drop helpers.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
6
10
|
|
|
7
11
|
```bash
|
|
8
|
-
|
|
12
|
+
npm install @proyecto-viviana/solidaria @proyecto-viviana/solid-stately solid-js
|
|
9
13
|
```
|
|
10
14
|
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
solidaria provides accessibility hooks that implement WAI-ARIA patterns for UI components. Each hook returns props objects that you spread onto your elements to make them accessible.
|
|
14
|
-
|
|
15
|
-
## Available Hooks
|
|
16
|
-
|
|
17
|
-
### Button & Interactions
|
|
18
|
-
|
|
19
|
-
| Hook | Description |
|
|
20
|
-
|------|-------------|
|
|
21
|
-
| createButton | Button with press handling |
|
|
22
|
-
| createToggleButton | Toggle button with pressed state |
|
|
23
|
-
| createPress | Low-level press event handling |
|
|
24
|
-
| createHover | Hover event handling |
|
|
25
|
-
| createFocusRing | Focus ring visibility |
|
|
26
|
-
| createFocusable | Focus management utilities |
|
|
27
|
-
|
|
28
|
-
### Form Controls
|
|
29
|
-
|
|
30
|
-
| Hook | Description |
|
|
31
|
-
|------|-------------|
|
|
32
|
-
| createCheckbox | Checkbox with indeterminate support |
|
|
33
|
-
| createCheckboxGroup | Checkbox group with shared state |
|
|
34
|
-
| createRadio | Radio button |
|
|
35
|
-
| createRadioGroup | Radio button group |
|
|
36
|
-
| createSwitch | Toggle switch |
|
|
37
|
-
| createTextField | Text input with label association |
|
|
38
|
-
| createNumberField | Numeric input with increment/decrement |
|
|
39
|
-
| createSearchField | Search input with clear button |
|
|
40
|
-
| createSlider | Range slider with thumb and track |
|
|
41
|
-
|
|
42
|
-
### Navigation
|
|
43
|
-
|
|
44
|
-
| Hook | Description |
|
|
45
|
-
|------|-------------|
|
|
46
|
-
| createLink | Accessible link |
|
|
47
|
-
| createBreadcrumbs | Breadcrumb navigation |
|
|
48
|
-
| createBreadcrumbItem | Individual breadcrumb |
|
|
49
|
-
| createTabList | Tab list container |
|
|
50
|
-
| createTab | Individual tab |
|
|
51
|
-
| createTabPanel | Tab panel content |
|
|
52
|
-
| createLandmark | ARIA landmark regions with F6 navigation |
|
|
53
|
-
|
|
54
|
-
### Selection Components
|
|
55
|
-
|
|
56
|
-
| Hook | Description |
|
|
57
|
-
|------|-------------|
|
|
58
|
-
| createListBox | Listbox with keyboard navigation |
|
|
59
|
-
| createOption | Listbox option |
|
|
60
|
-
| createMenu | Menu with keyboard navigation |
|
|
61
|
-
| createMenuItem | Menu item |
|
|
62
|
-
| createMenuTrigger | Menu trigger button |
|
|
63
|
-
| createSelect | Select dropdown |
|
|
64
|
-
|
|
65
|
-
### Overlays
|
|
66
|
-
|
|
67
|
-
| Hook | Description |
|
|
68
|
-
|------|-------------|
|
|
69
|
-
| createOverlayTrigger | Trigger for overlays |
|
|
70
|
-
| createOverlay | Overlay dismiss behavior |
|
|
71
|
-
| createModal | Modal dialog with focus trapping |
|
|
72
|
-
| createPreventScroll | Scroll lock for overlays |
|
|
73
|
-
| createInteractOutside | Click outside detection |
|
|
74
|
-
|
|
75
|
-
### Feedback
|
|
76
|
-
|
|
77
|
-
| Hook | Description |
|
|
78
|
-
|------|-------------|
|
|
79
|
-
| createProgressBar | Progress bar with live region |
|
|
80
|
-
| createSeparator | Visual separator |
|
|
81
|
-
|
|
82
|
-
### Labels & Fields
|
|
83
|
-
|
|
84
|
-
| Hook | Description |
|
|
85
|
-
|------|-------------|
|
|
86
|
-
| createLabel | Label/input association |
|
|
87
|
-
| createField | Field with label, description, error |
|
|
88
|
-
|
|
89
|
-
### Accessibility
|
|
90
|
-
|
|
91
|
-
| Hook/Function | Description |
|
|
92
|
-
|---------------|-------------|
|
|
93
|
-
| createVisuallyHidden | Visually hide content for screen readers |
|
|
94
|
-
| announce | Announce messages to screen readers |
|
|
95
|
-
| clearAnnouncer | Clear pending announcements |
|
|
96
|
-
| destroyAnnouncer | Remove live announcer from DOM |
|
|
97
|
-
| createLandmark | ARIA landmark regions with F6 navigation |
|
|
98
|
-
| createFormValidation | Form validation with native HTML integration |
|
|
99
|
-
| createInteractionModality | Track keyboard/pointer/virtual interaction |
|
|
100
|
-
|
|
101
|
-
### Grid & Table
|
|
102
|
-
|
|
103
|
-
| Hook | Description |
|
|
104
|
-
|------|-------------|
|
|
105
|
-
| createGrid | Grid with keyboard navigation |
|
|
106
|
-
| createTable | Table with sorting, selection |
|
|
107
|
-
| createGridList | Single-column grid list |
|
|
108
|
-
|
|
109
|
-
### Tree
|
|
110
|
-
|
|
111
|
-
| Hook | Description |
|
|
112
|
-
|------|-------------|
|
|
113
|
-
| createTree | Tree with expand/collapse |
|
|
114
|
-
| createTreeItem | Tree item with nested children |
|
|
115
|
-
|
|
116
|
-
### Color
|
|
117
|
-
|
|
118
|
-
| Hook | Description |
|
|
119
|
-
|------|-------------|
|
|
120
|
-
| createColorSlider | Color channel slider |
|
|
121
|
-
| createColorArea | 2D color picker area |
|
|
122
|
-
| createColorWheel | Circular hue wheel |
|
|
123
|
-
| createColorField | Color text input |
|
|
124
|
-
| createColorSwatch | Color preview swatch |
|
|
125
|
-
|
|
126
|
-
### Drag & Drop
|
|
127
|
-
|
|
128
|
-
| Hook | Description |
|
|
129
|
-
|------|-------------|
|
|
130
|
-
| createDrag | Draggable element |
|
|
131
|
-
| createDrop | Drop target |
|
|
132
|
-
| createDraggableCollection | Collection-level drag |
|
|
133
|
-
| createDroppableCollection | Collection-level drop |
|
|
134
|
-
|
|
135
|
-
### i18n / Internationalization
|
|
136
|
-
|
|
137
|
-
| Hook/Utility | Description |
|
|
138
|
-
|--------------|-------------|
|
|
139
|
-
| I18nProvider | Locale context provider |
|
|
140
|
-
| useLocale | Get current locale and direction |
|
|
141
|
-
| createDefaultLocale | Browser locale with change detection |
|
|
142
|
-
| isRTL | RTL language detection |
|
|
143
|
-
| createNumberFormatter | Localized number formatting |
|
|
144
|
-
| createDateFormatter | Localized date formatting |
|
|
145
|
-
| createCollator | Locale-aware string sorting |
|
|
146
|
-
| createFilter | Locale-aware string filtering |
|
|
147
|
-
|
|
148
|
-
### SSR / Server-Side Rendering
|
|
149
|
-
|
|
150
|
-
| Hook/Utility | Description |
|
|
151
|
-
|--------------|-------------|
|
|
152
|
-
| SSRProvider | SSR context provider with prefix support |
|
|
153
|
-
| createIsSSR | Check if currently rendering on server |
|
|
154
|
-
| useIsSSR | Reactive SSR/hydration state hook |
|
|
155
|
-
| createHydrationState | Track hydration completion |
|
|
156
|
-
| createBrowserEffect | Effect that only runs on client |
|
|
157
|
-
| createBrowserValue | Computed value only on client |
|
|
158
|
-
| getWindow | Safe window access |
|
|
159
|
-
| getDocument | Safe document access |
|
|
160
|
-
| getPortalContainer | Get container for portals |
|
|
161
|
-
|
|
162
|
-
### Focus Management
|
|
163
|
-
|
|
164
|
-
| Hook/Utility | Description |
|
|
165
|
-
|--------------|-------------|
|
|
166
|
-
| FocusScope | Focus containment and restoration |
|
|
167
|
-
| useFocusManager | Programmatic focus navigation |
|
|
168
|
-
| createFocusRestore | Save and restore focus with retry |
|
|
169
|
-
| pushFocusStack / popFocusStack | Cross-scope focus tracking |
|
|
170
|
-
| createVirtualFocus | Virtual focus for large collections |
|
|
171
|
-
| createAutoFocus | Priority-based auto-focus queue |
|
|
172
|
-
|
|
173
|
-
### Test Utilities
|
|
174
|
-
|
|
175
|
-
| Utility | Description |
|
|
176
|
-
|---------|-------------|
|
|
177
|
-
| setupUser | Configure userEvent for testing |
|
|
178
|
-
| pointerMap | Pointer map for mouse/touch/pen |
|
|
179
|
-
| createPointerEvent | Create pointer events for tests |
|
|
180
|
-
| press / hover / tabTo | High-level interaction helpers |
|
|
181
|
-
| getAriaRole / isAriaDisabled / etc. | ARIA attribute querying |
|
|
182
|
-
| getFocusableElements | Query focusable elements |
|
|
183
|
-
| waitForFocus | Wait for focus changes |
|
|
184
|
-
| createButtonTester / etc. | Component-specific testers |
|
|
185
|
-
| setupTestEnvironment | Install jsdom polyfills |
|
|
186
|
-
|
|
187
|
-
### Utilities
|
|
188
|
-
|
|
189
|
-
| Utility | Description |
|
|
190
|
-
|---------|-------------|
|
|
191
|
-
| mergeProps | Merge multiple prop objects |
|
|
192
|
-
| filterDOMProps | Filter out non-DOM props |
|
|
193
|
-
| createId | Generate unique IDs (SSR-safe) |
|
|
194
|
-
|
|
195
|
-
## Usage Example
|
|
15
|
+
## Usage
|
|
196
16
|
|
|
197
17
|
```tsx
|
|
198
18
|
import { createButton } from "@proyecto-viviana/solidaria";
|
|
199
19
|
|
|
200
|
-
function Button(props) {
|
|
201
|
-
let ref;
|
|
20
|
+
export function Button(props) {
|
|
21
|
+
let ref!: HTMLButtonElement;
|
|
202
22
|
const { buttonProps, isPressed } = createButton(props, () => ref);
|
|
203
23
|
|
|
204
24
|
return (
|
|
205
|
-
<button
|
|
206
|
-
{...buttonProps}
|
|
207
|
-
ref={ref}
|
|
208
|
-
class={isPressed() ? "pressed" : ""}
|
|
209
|
-
>
|
|
25
|
+
<button {...buttonProps} ref={ref} data-pressed={isPressed() || undefined}>
|
|
210
26
|
{props.children}
|
|
211
27
|
</button>
|
|
212
28
|
);
|
|
213
29
|
}
|
|
214
|
-
|
|
215
|
-
// Usage
|
|
216
|
-
<Button onPress={() => console.log("Pressed!")}>Click me</Button>
|
|
217
30
|
```
|
|
218
31
|
|
|
219
|
-
|
|
32
|
+
Most hooks return prop objects and reactive state accessors. Spread the returned
|
|
33
|
+
props onto the exact element that owns the ARIA role or interaction.
|
|
220
34
|
|
|
221
|
-
|
|
35
|
+
## Public Surface
|
|
222
36
|
|
|
223
|
-
|
|
37
|
+
The source of truth is [`src/index.ts`](src/index.ts). Keep README examples
|
|
38
|
+
small; use tests and the barrel for the actual export inventory.
|
|
224
39
|
|
|
225
|
-
|
|
226
|
-
const { buttonProps } = createButton(props, ref);
|
|
227
|
-
return <button {...buttonProps}>Click me</button>;
|
|
228
|
-
```
|
|
40
|
+
Major areas currently covered:
|
|
229
41
|
|
|
230
|
-
|
|
42
|
+
- interactions: press, hover, focus, long press, move, keyboard;
|
|
43
|
+
- labels and fields;
|
|
44
|
+
- overlays, modal behavior, popovers, and focus scope;
|
|
45
|
+
- buttons, toggles, links, forms, and validation;
|
|
46
|
+
- collection widgets: listbox, menu, select, combo box, grid, table, tree;
|
|
47
|
+
- date, time, calendar, and date picker primitives;
|
|
48
|
+
- color, drag-and-drop, landmarks, i18n, SSR, and visually hidden utilities.
|
|
231
49
|
|
|
232
|
-
|
|
50
|
+
## Verification
|
|
233
51
|
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### Event Handling
|
|
241
|
-
|
|
242
|
-
solidaria uses onPress instead of onClick for better cross-platform support:
|
|
243
|
-
|
|
244
|
-
```tsx
|
|
245
|
-
<Button onPress={() => console.log("Pressed!")}>
|
|
246
|
-
Works with click, touch, and keyboard
|
|
247
|
-
</Button>
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
## TypeScript
|
|
251
|
-
|
|
252
|
-
All hooks are fully typed:
|
|
253
|
-
|
|
254
|
-
```tsx
|
|
255
|
-
import {
|
|
256
|
-
createButton,
|
|
257
|
-
type AriaButtonProps,
|
|
258
|
-
type ButtonAria,
|
|
259
|
-
} from "@proyecto-viviana/solidaria";
|
|
52
|
+
```bash
|
|
53
|
+
vp run --filter @proyecto-viviana/solidaria build
|
|
54
|
+
vp test run packages
|
|
55
|
+
vp run guard:rac-export-gap
|
|
260
56
|
```
|
|
261
57
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
MIT
|
|
58
|
+
Behavior changes need tests that assert ARIA attributes, focus movement,
|
|
59
|
+
keyboard behavior, and user-visible event semantics.
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { o as mergeProps } from "./env.js";
|
|
2
|
+
import { t as filterDOMProps } from "./filterDOMProps.js";
|
|
3
|
+
import { a as getEventTarget, p as isFocusable, t as focusSafely, y as nodeContains } from "./focus.js";
|
|
4
|
+
import { i as createButton } from "./button.js";
|
|
5
|
+
import { a as useLocale } from "./createCollator.js";
|
|
6
|
+
import { onCleanup } from "solid-js";
|
|
7
|
+
//#region src/actiongroup/createActionGroup.ts
|
|
8
|
+
const actionGroupData = /* @__PURE__ */ new WeakMap();
|
|
9
|
+
const GROUP_ROLE_BY_MODE = {
|
|
10
|
+
none: "toolbar",
|
|
11
|
+
single: "radiogroup",
|
|
12
|
+
multiple: "toolbar"
|
|
13
|
+
};
|
|
14
|
+
const ITEM_ROLE_BY_MODE = {
|
|
15
|
+
none: void 0,
|
|
16
|
+
single: "radio",
|
|
17
|
+
multiple: "checkbox"
|
|
18
|
+
};
|
|
19
|
+
function isActionGroupDisabled(props, state) {
|
|
20
|
+
if (props.isDisabled) return true;
|
|
21
|
+
const keys = [...state.collection().getKeys()];
|
|
22
|
+
if (keys.length === 0) return true;
|
|
23
|
+
return !keys.some((key) => !state.isDisabled(key));
|
|
24
|
+
}
|
|
25
|
+
function createActionGroup(props, state, _ref) {
|
|
26
|
+
const locale = useLocale();
|
|
27
|
+
let groupRef;
|
|
28
|
+
const applyRoleAttributes = () => {
|
|
29
|
+
if (!groupRef) return;
|
|
30
|
+
const mappedRole = GROUP_ROLE_BY_MODE[state.selectionMode()];
|
|
31
|
+
const nestedToolbar = Boolean(groupRef.parentElement?.closest("[role=\"toolbar\"]"));
|
|
32
|
+
const role = mappedRole === "toolbar" && nestedToolbar ? "group" : mappedRole;
|
|
33
|
+
groupRef.setAttribute("role", role);
|
|
34
|
+
if (mappedRole === "toolbar" && !nestedToolbar) groupRef.setAttribute("aria-orientation", props.orientation ?? "horizontal");
|
|
35
|
+
else groupRef.removeAttribute("aria-orientation");
|
|
36
|
+
};
|
|
37
|
+
const getFocusableItems = (root) => {
|
|
38
|
+
const out = [];
|
|
39
|
+
const pushIfFocusable = (el) => {
|
|
40
|
+
if (!el || !(el instanceof HTMLElement)) return;
|
|
41
|
+
if (isFocusable(el) && el.getAttribute("aria-disabled") !== "true") out.push(el);
|
|
42
|
+
};
|
|
43
|
+
pushIfFocusable(root);
|
|
44
|
+
for (const node of root.querySelectorAll("*")) pushIfFocusable(node);
|
|
45
|
+
return out;
|
|
46
|
+
};
|
|
47
|
+
const focusRelative = (root, direction) => {
|
|
48
|
+
const focusables = getFocusableItems(root);
|
|
49
|
+
if (focusables.length === 0) return null;
|
|
50
|
+
if (direction === "first") {
|
|
51
|
+
const first = focusables[0];
|
|
52
|
+
focusSafely(first);
|
|
53
|
+
return first;
|
|
54
|
+
}
|
|
55
|
+
if (direction === "last") {
|
|
56
|
+
const last = focusables[focusables.length - 1];
|
|
57
|
+
focusSafely(last);
|
|
58
|
+
return last;
|
|
59
|
+
}
|
|
60
|
+
const active = root.ownerDocument.activeElement;
|
|
61
|
+
const currentIndex = active ? focusables.indexOf(active) : -1;
|
|
62
|
+
const next = focusables[currentIndex === -1 ? direction === "next" ? 0 : focusables.length - 1 : (currentIndex + (direction === "next" ? 1 : -1) + focusables.length) % focusables.length];
|
|
63
|
+
focusSafely(next);
|
|
64
|
+
return next;
|
|
65
|
+
};
|
|
66
|
+
const resolveKeyFromElement = (element) => {
|
|
67
|
+
if (!element) return null;
|
|
68
|
+
const keyedElement = element.closest("[data-key]");
|
|
69
|
+
if (!(keyedElement instanceof HTMLElement)) return null;
|
|
70
|
+
const rawKey = keyedElement.getAttribute("data-key");
|
|
71
|
+
if (!rawKey) return null;
|
|
72
|
+
for (const item of state.collection()) if (String(item.key) === rawKey) return item.key;
|
|
73
|
+
return null;
|
|
74
|
+
};
|
|
75
|
+
const handleFocusMove = (movedTo) => {
|
|
76
|
+
const key = resolveKeyFromElement(movedTo);
|
|
77
|
+
if (key == null) return;
|
|
78
|
+
state.setFocusedKey(key);
|
|
79
|
+
if (state.selectionMode() === "single") state.replaceSelection(key);
|
|
80
|
+
};
|
|
81
|
+
const onKeyDown = (e) => {
|
|
82
|
+
const root = groupRef;
|
|
83
|
+
if (!root || isActionGroupDisabled(props, state)) return;
|
|
84
|
+
if (!nodeContains(e.currentTarget, getEventTarget(e))) return;
|
|
85
|
+
const isHorizontal = (props.orientation ?? "horizontal") === "horizontal";
|
|
86
|
+
const isRTL = locale().direction === "rtl" && isHorizontal;
|
|
87
|
+
switch (e.key) {
|
|
88
|
+
case "ArrowRight":
|
|
89
|
+
case "ArrowDown":
|
|
90
|
+
if (e.key === "ArrowRight" && isHorizontal && isRTL) {
|
|
91
|
+
e.preventDefault();
|
|
92
|
+
e.stopPropagation();
|
|
93
|
+
handleFocusMove(focusRelative(root, "previous"));
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (e.key === "ArrowRight" && isHorizontal || e.key === "ArrowDown" && !isHorizontal) {
|
|
97
|
+
e.preventDefault();
|
|
98
|
+
e.stopPropagation();
|
|
99
|
+
handleFocusMove(focusRelative(root, "next"));
|
|
100
|
+
}
|
|
101
|
+
return;
|
|
102
|
+
case "ArrowLeft":
|
|
103
|
+
case "ArrowUp":
|
|
104
|
+
if (e.key === "ArrowLeft" && isHorizontal && isRTL) {
|
|
105
|
+
e.preventDefault();
|
|
106
|
+
e.stopPropagation();
|
|
107
|
+
handleFocusMove(focusRelative(root, "next"));
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (e.key === "ArrowLeft" && isHorizontal || e.key === "ArrowUp" && !isHorizontal) {
|
|
111
|
+
e.preventDefault();
|
|
112
|
+
e.stopPropagation();
|
|
113
|
+
handleFocusMove(focusRelative(root, "previous"));
|
|
114
|
+
}
|
|
115
|
+
return;
|
|
116
|
+
case "Home":
|
|
117
|
+
e.preventDefault();
|
|
118
|
+
e.stopPropagation();
|
|
119
|
+
handleFocusMove(focusRelative(root, "first"));
|
|
120
|
+
return;
|
|
121
|
+
case "End":
|
|
122
|
+
e.preventDefault();
|
|
123
|
+
e.stopPropagation();
|
|
124
|
+
handleFocusMove(focusRelative(root, "last"));
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
const actionGroupProps = mergeProps(filterDOMProps(props, { labelable: true }), {
|
|
129
|
+
ref: (el) => {
|
|
130
|
+
groupRef = el;
|
|
131
|
+
applyRoleAttributes();
|
|
132
|
+
queueMicrotask(() => {
|
|
133
|
+
if (!groupRef) return;
|
|
134
|
+
applyRoleAttributes();
|
|
135
|
+
});
|
|
136
|
+
},
|
|
137
|
+
onKeyDown,
|
|
138
|
+
get "aria-label"() {
|
|
139
|
+
return props["aria-label"];
|
|
140
|
+
},
|
|
141
|
+
get "aria-labelledby"() {
|
|
142
|
+
return props["aria-label"] ? void 0 : props["aria-labelledby"];
|
|
143
|
+
},
|
|
144
|
+
get "aria-disabled"() {
|
|
145
|
+
return isActionGroupDisabled(props, state) || void 0;
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
actionGroupData.set(state, { get onAction() {
|
|
149
|
+
return props.onAction;
|
|
150
|
+
} });
|
|
151
|
+
onCleanup(() => {
|
|
152
|
+
actionGroupData.delete(state);
|
|
153
|
+
});
|
|
154
|
+
return { actionGroupProps };
|
|
155
|
+
}
|
|
156
|
+
function createActionGroupItem(props, state) {
|
|
157
|
+
const button = createButton({
|
|
158
|
+
elementType: "button",
|
|
159
|
+
isDisabled: state.isDisabled(props.key),
|
|
160
|
+
onPress: () => {
|
|
161
|
+
state.setFocusedKey(props.key);
|
|
162
|
+
actionGroupData.get(state)?.onAction?.(props.key);
|
|
163
|
+
if (state.selectionMode() !== "none") state.select(props.key);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
const isFocused = () => props.key === state.focusedKey();
|
|
167
|
+
const getFirstEnabledKey = () => {
|
|
168
|
+
const collection = state.collection();
|
|
169
|
+
let key = collection.getFirstKey();
|
|
170
|
+
while (key != null && state.isDisabled(key)) key = collection.getKeyAfter(key);
|
|
171
|
+
return key;
|
|
172
|
+
};
|
|
173
|
+
const getDefaultTabStopKey = () => {
|
|
174
|
+
if (state.selectionMode() !== "none") {
|
|
175
|
+
const selectedKeys = state.selectedKeys();
|
|
176
|
+
if (selectedKeys === "all") return getFirstEnabledKey();
|
|
177
|
+
for (const item of state.collection()) if (!state.isDisabled(item.key) && selectedKeys.has(item.key)) return item.key;
|
|
178
|
+
}
|
|
179
|
+
return getFirstEnabledKey();
|
|
180
|
+
};
|
|
181
|
+
onCleanup(() => {
|
|
182
|
+
if (isFocused()) state.setFocusedKey(null);
|
|
183
|
+
});
|
|
184
|
+
return { buttonProps: mergeProps(button.buttonProps, {
|
|
185
|
+
get role() {
|
|
186
|
+
return ITEM_ROLE_BY_MODE[state.selectionMode()];
|
|
187
|
+
},
|
|
188
|
+
get "aria-checked"() {
|
|
189
|
+
if (state.selectionMode() === "none") return void 0;
|
|
190
|
+
return state.isSelected(props.key);
|
|
191
|
+
},
|
|
192
|
+
get tabIndex() {
|
|
193
|
+
if (state.isDisabled(props.key)) return -1;
|
|
194
|
+
if (isFocused()) return 0;
|
|
195
|
+
if (state.focusedKey() != null) return -1;
|
|
196
|
+
return getDefaultTabStopKey() === props.key ? 0 : -1;
|
|
197
|
+
},
|
|
198
|
+
"data-key": String(props.key),
|
|
199
|
+
onFocus: () => {
|
|
200
|
+
state.setFocusedKey(props.key);
|
|
201
|
+
}
|
|
202
|
+
}) };
|
|
203
|
+
}
|
|
204
|
+
//#endregion
|
|
205
|
+
export { createActionGroupItem as n, createActionGroup as t };
|
|
206
|
+
|
|
207
|
+
//# sourceMappingURL=actiongroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actiongroup.js","names":[],"sources":["../../src/actiongroup/createActionGroup.ts"],"sourcesContent":["import { onCleanup, type JSX, type Accessor } from \"solid-js\";\nimport { createButton } from \"../button\";\nimport {\n filterDOMProps,\n getEventTarget,\n mergeProps,\n nodeContains,\n isFocusable,\n focusSafely,\n} from \"../utils\";\nimport { useLocale } from \"../i18n\";\nimport type { Orientation } from \"../toolbar\";\nimport type { Key, ListState } from \"@proyecto-viviana/solid-stately\";\n\nexport interface AriaActionGroupProps<T = unknown> {\n /** List items (optional, parity with React Aria prop shape). */\n items?: T[];\n /** Whether the whole action group is disabled. */\n isDisabled?: boolean;\n /** Group orientation. */\n orientation?: Orientation;\n /** Accessible label. */\n \"aria-label\"?: string;\n /** Labelled-by id. */\n \"aria-labelledby\"?: string;\n /** Handler called when an item action is triggered. */\n onAction?: (key: Key) => void;\n}\n\nexport interface ActionGroupAria {\n actionGroupProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\nexport interface AriaActionGroupItemProps {\n key: Key;\n}\n\nexport interface ActionGroupItemAria {\n buttonProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\ninterface ActionGroupData {\n onAction?: (key: Key) => void;\n}\n\nconst actionGroupData = new WeakMap<object, ActionGroupData>();\n\nconst GROUP_ROLE_BY_MODE = {\n none: \"toolbar\",\n single: \"radiogroup\",\n multiple: \"toolbar\",\n} as const;\n\nconst ITEM_ROLE_BY_MODE = {\n none: undefined,\n single: \"radio\",\n multiple: \"checkbox\",\n} as const;\n\nfunction isActionGroupDisabled<T>(props: AriaActionGroupProps<T>, state: ListState<T>): boolean {\n if (props.isDisabled) return true;\n const keys = [...state.collection().getKeys()];\n if (keys.length === 0) return true;\n return !keys.some((key) => !state.isDisabled(key));\n}\n\nexport function createActionGroup<T>(\n props: AriaActionGroupProps<T>,\n state: ListState<T>,\n _ref?: Accessor<HTMLElement | null>,\n): ActionGroupAria {\n const locale = useLocale();\n let groupRef: HTMLElement | undefined;\n const applyRoleAttributes = (): void => {\n if (!groupRef) return;\n const selectionMode = state.selectionMode();\n const mappedRole = GROUP_ROLE_BY_MODE[selectionMode];\n const nestedToolbar = Boolean(groupRef.parentElement?.closest('[role=\"toolbar\"]'));\n const role = mappedRole === \"toolbar\" && nestedToolbar ? \"group\" : mappedRole;\n groupRef.setAttribute(\"role\", role);\n if (mappedRole === \"toolbar\" && !nestedToolbar) {\n groupRef.setAttribute(\"aria-orientation\", props.orientation ?? \"horizontal\");\n } else {\n groupRef.removeAttribute(\"aria-orientation\");\n }\n };\n\n const getFocusableItems = (root: HTMLElement): HTMLElement[] => {\n const out: HTMLElement[] = [];\n const pushIfFocusable = (el: Element | null | undefined): void => {\n if (!el || !(el instanceof HTMLElement)) return;\n if (isFocusable(el) && el.getAttribute(\"aria-disabled\") !== \"true\") {\n out.push(el);\n }\n };\n\n pushIfFocusable(root);\n for (const node of root.querySelectorAll(\"*\")) {\n pushIfFocusable(node);\n }\n return out;\n };\n\n const focusRelative = (\n root: HTMLElement,\n direction: \"next\" | \"previous\" | \"first\" | \"last\",\n ): HTMLElement | null => {\n const focusables = getFocusableItems(root);\n if (focusables.length === 0) return null;\n\n if (direction === \"first\") {\n const first = focusables[0];\n focusSafely(first);\n return first;\n }\n\n if (direction === \"last\") {\n const last = focusables[focusables.length - 1];\n focusSafely(last);\n return last;\n }\n\n const active = root.ownerDocument.activeElement as HTMLElement | null;\n const currentIndex = active ? focusables.indexOf(active) : -1;\n const delta = direction === \"next\" ? 1 : -1;\n const nextIndex =\n currentIndex === -1\n ? direction === \"next\"\n ? 0\n : focusables.length - 1\n : (currentIndex + delta + focusables.length) % focusables.length;\n const next = focusables[nextIndex];\n focusSafely(next);\n return next;\n };\n\n const resolveKeyFromElement = (element: HTMLElement | null): Key | null => {\n if (!element) return null;\n const keyedElement = element.closest(\"[data-key]\");\n if (!(keyedElement instanceof HTMLElement)) return null;\n const rawKey = keyedElement.getAttribute(\"data-key\");\n if (!rawKey) return null;\n for (const item of state.collection()) {\n if (String(item.key) === rawKey) {\n return item.key;\n }\n }\n return null;\n };\n\n const handleFocusMove = (movedTo: HTMLElement | null): void => {\n const key = resolveKeyFromElement(movedTo);\n if (key == null) return;\n state.setFocusedKey(key);\n if (state.selectionMode() === \"single\") {\n state.replaceSelection(key);\n }\n };\n\n const onKeyDown: JSX.EventHandler<HTMLElement, KeyboardEvent> = (e) => {\n const root = groupRef;\n if (!root || isActionGroupDisabled(props, state)) return;\n if (!nodeContains(e.currentTarget, getEventTarget(e))) return;\n\n const orientation = props.orientation ?? \"horizontal\";\n const isHorizontal = orientation === \"horizontal\";\n const isRTL = locale().direction === \"rtl\" && isHorizontal;\n\n switch (e.key) {\n case \"ArrowRight\":\n case \"ArrowDown\": {\n if (e.key === \"ArrowRight\" && isHorizontal && isRTL) {\n e.preventDefault();\n e.stopPropagation();\n handleFocusMove(focusRelative(root, \"previous\"));\n return;\n }\n if ((e.key === \"ArrowRight\" && isHorizontal) || (e.key === \"ArrowDown\" && !isHorizontal)) {\n e.preventDefault();\n e.stopPropagation();\n handleFocusMove(focusRelative(root, \"next\"));\n }\n return;\n }\n case \"ArrowLeft\":\n case \"ArrowUp\": {\n if (e.key === \"ArrowLeft\" && isHorizontal && isRTL) {\n e.preventDefault();\n e.stopPropagation();\n handleFocusMove(focusRelative(root, \"next\"));\n return;\n }\n if ((e.key === \"ArrowLeft\" && isHorizontal) || (e.key === \"ArrowUp\" && !isHorizontal)) {\n e.preventDefault();\n e.stopPropagation();\n handleFocusMove(focusRelative(root, \"previous\"));\n }\n return;\n }\n case \"Home\": {\n e.preventDefault();\n e.stopPropagation();\n handleFocusMove(focusRelative(root, \"first\"));\n return;\n }\n case \"End\": {\n e.preventDefault();\n e.stopPropagation();\n handleFocusMove(focusRelative(root, \"last\"));\n return;\n }\n }\n };\n\n const actionGroupProps: JSX.HTMLAttributes<HTMLElement> = mergeProps(\n filterDOMProps(props as Record<string, unknown>, { labelable: true }),\n {\n ref: (el: HTMLElement) => {\n groupRef = el;\n applyRoleAttributes();\n queueMicrotask(() => {\n if (!groupRef) return;\n applyRoleAttributes();\n });\n },\n onKeyDown,\n get \"aria-label\"() {\n return props[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return props[\"aria-label\"] ? undefined : props[\"aria-labelledby\"];\n },\n get \"aria-disabled\"() {\n return isActionGroupDisabled(props, state) || undefined;\n },\n },\n );\n\n actionGroupData.set(state, {\n get onAction() {\n return props.onAction;\n },\n });\n\n onCleanup(() => {\n actionGroupData.delete(state);\n });\n\n return { actionGroupProps };\n}\n\nexport function createActionGroupItem<T>(\n props: AriaActionGroupItemProps,\n state: ListState<T>,\n): ActionGroupItemAria {\n const button = createButton({\n elementType: \"button\",\n isDisabled: state.isDisabled(props.key),\n onPress: () => {\n state.setFocusedKey(props.key);\n actionGroupData.get(state)?.onAction?.(props.key);\n if (state.selectionMode() !== \"none\") {\n state.select(props.key);\n }\n },\n });\n\n const isFocused = () => props.key === state.focusedKey();\n const getFirstEnabledKey = (): Key | null => {\n const collection = state.collection();\n let key = collection.getFirstKey();\n while (key != null && state.isDisabled(key)) {\n key = collection.getKeyAfter(key);\n }\n return key;\n };\n\n const getDefaultTabStopKey = (): Key | null => {\n const selectionMode = state.selectionMode();\n if (selectionMode !== \"none\") {\n const selectedKeys = state.selectedKeys();\n if (selectedKeys === \"all\") {\n return getFirstEnabledKey();\n }\n\n for (const item of state.collection()) {\n if (!state.isDisabled(item.key) && selectedKeys.has(item.key)) {\n return item.key;\n }\n }\n }\n\n return getFirstEnabledKey();\n };\n\n onCleanup(() => {\n if (isFocused()) {\n state.setFocusedKey(null);\n }\n });\n\n const buttonProps: JSX.HTMLAttributes<HTMLElement> = mergeProps(button.buttonProps, {\n get role() {\n return ITEM_ROLE_BY_MODE[state.selectionMode()];\n },\n get \"aria-checked\"() {\n const mode = state.selectionMode();\n if (mode === \"none\") return undefined;\n return state.isSelected(props.key);\n },\n get tabIndex() {\n if (state.isDisabled(props.key)) {\n return -1;\n }\n\n if (isFocused()) {\n return 0;\n }\n\n if (state.focusedKey() != null) {\n return -1;\n }\n\n const defaultTabStopKey = getDefaultTabStopKey();\n return defaultTabStopKey === props.key ? 0 : -1;\n },\n \"data-key\": String(props.key),\n onFocus: () => {\n state.setFocusedKey(props.key);\n },\n });\n\n return { buttonProps };\n}\n"],"mappings":"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"}
|