@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/src/radio/createRadio.ts
CHANGED
|
@@ -7,20 +7,17 @@
|
|
|
7
7
|
* This is a 1:1 port of @react-aria/radio's useRadio hook.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { JSX, Accessor, createEffect } from
|
|
11
|
-
import { createPress } from
|
|
12
|
-
import { createFocusable } from
|
|
13
|
-
import { mergeProps } from
|
|
14
|
-
import { filterDOMProps } from
|
|
15
|
-
import { type MaybeAccessor, access } from
|
|
16
|
-
import { isDevEnv } from
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
|
|
21
|
-
// ============================================
|
|
22
|
-
// TYPES
|
|
23
|
-
// ============================================
|
|
10
|
+
import { JSX, Accessor, createEffect } from "solid-js";
|
|
11
|
+
import { createPress } from "../interactions/createPress";
|
|
12
|
+
import { createFocusable } from "../interactions/createFocusable";
|
|
13
|
+
import { mergeProps } from "../utils/mergeProps";
|
|
14
|
+
import { filterDOMProps } from "../utils/filterDOMProps";
|
|
15
|
+
import { type MaybeAccessor, access } from "../utils/reactivity";
|
|
16
|
+
import { isDevEnv } from "../utils/env";
|
|
17
|
+
import { createSlotId } from "../ssr";
|
|
18
|
+
import { type RadioGroupState, radioGroupSyncVersion } from "@proyecto-viviana/solid-stately";
|
|
19
|
+
import { radioGroupData } from "./createRadioGroup";
|
|
20
|
+
import { type PressEvent } from "../interactions/PressEvent";
|
|
24
21
|
|
|
25
22
|
export interface AriaRadioProps {
|
|
26
23
|
/** The value of the radio button, used when submitting an HTML form. */
|
|
@@ -30,11 +27,11 @@ export interface AriaRadioProps {
|
|
|
30
27
|
/** The label for the radio button. */
|
|
31
28
|
children?: JSX.Element;
|
|
32
29
|
/** Defines a string value that labels the current element. */
|
|
33
|
-
|
|
30
|
+
"aria-label"?: string;
|
|
34
31
|
/** Identifies the element (or elements) that labels the current element. */
|
|
35
|
-
|
|
32
|
+
"aria-labelledby"?: string;
|
|
36
33
|
/** Identifies the element (or elements) that describes the object. */
|
|
37
|
-
|
|
34
|
+
"aria-describedby"?: string;
|
|
38
35
|
/** Handler that is called when the press is released over the target. */
|
|
39
36
|
onPress?: (e: PressEvent) => void;
|
|
40
37
|
/** Handler that is called when a press interaction starts. */
|
|
@@ -66,6 +63,8 @@ export interface RadioAria {
|
|
|
66
63
|
labelProps: JSX.LabelHTMLAttributes<HTMLLabelElement>;
|
|
67
64
|
/** Props for the input element. */
|
|
68
65
|
inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
|
|
66
|
+
/** Props for the radio's description element, if any. */
|
|
67
|
+
descriptionProps: JSX.HTMLAttributes<HTMLElement>;
|
|
69
68
|
/** Whether the radio is disabled. */
|
|
70
69
|
isDisabled: boolean;
|
|
71
70
|
/** Whether the radio is currently selected. */
|
|
@@ -74,10 +73,6 @@ export interface RadioAria {
|
|
|
74
73
|
isPressed: Accessor<boolean>;
|
|
75
74
|
}
|
|
76
75
|
|
|
77
|
-
// ============================================
|
|
78
|
-
// IMPLEMENTATION
|
|
79
|
-
// ============================================
|
|
80
|
-
|
|
81
76
|
/**
|
|
82
77
|
* Provides the behavior and accessibility implementation for an individual
|
|
83
78
|
* radio button in a radio group.
|
|
@@ -85,7 +80,7 @@ export interface RadioAria {
|
|
|
85
80
|
export function createRadio(
|
|
86
81
|
props: MaybeAccessor<AriaRadioProps>,
|
|
87
82
|
state: RadioGroupState,
|
|
88
|
-
ref: () => HTMLInputElement | null
|
|
83
|
+
ref: () => HTMLInputElement | null,
|
|
89
84
|
): RadioAria {
|
|
90
85
|
const getProps = () => access(props);
|
|
91
86
|
|
|
@@ -97,13 +92,14 @@ export function createRadio(
|
|
|
97
92
|
return selected === v;
|
|
98
93
|
};
|
|
99
94
|
|
|
100
|
-
// Warn if no accessible label
|
|
101
95
|
createEffect(() => {
|
|
102
96
|
const p = getProps();
|
|
103
97
|
const hasChildren = p.children != null;
|
|
104
|
-
const hasAriaLabel = p[
|
|
98
|
+
const hasAriaLabel = p["aria-label"] != null || p["aria-labelledby"] != null;
|
|
105
99
|
if (!hasChildren && !hasAriaLabel && isDevEnv()) {
|
|
106
|
-
console.warn(
|
|
100
|
+
console.warn(
|
|
101
|
+
"If you do not provide children, you must specify an aria-label for accessibility",
|
|
102
|
+
);
|
|
107
103
|
}
|
|
108
104
|
});
|
|
109
105
|
|
|
@@ -120,25 +116,19 @@ export function createRadio(
|
|
|
120
116
|
// We track `syncVersion` to ensure this effect runs on EVERY selection attempt,
|
|
121
117
|
// even in controlled mode where isSelected() may not change.
|
|
122
118
|
createEffect(() => {
|
|
123
|
-
|
|
124
|
-
if (!inputEl) return;
|
|
125
|
-
|
|
126
|
-
// Track syncVersion to trigger on any selection attempt
|
|
127
|
-
// This is crucial for controlled mode where isSelected() may not change
|
|
128
|
-
// syncVersion is stored in an internal WeakMap to maintain API parity with React-Aria
|
|
119
|
+
// The WeakMap accessor is outside the public API to maintain React Aria parity.
|
|
129
120
|
const syncVersion = radioGroupSyncVersion.get(state);
|
|
130
121
|
syncVersion?.();
|
|
131
122
|
|
|
132
|
-
// Read the reactive state to establish tracking and get current value
|
|
133
123
|
const shouldBeChecked = isSelected();
|
|
124
|
+
const inputEl = ref();
|
|
125
|
+
if (!inputEl) return;
|
|
134
126
|
|
|
135
|
-
// Sync the DOM checked state immediately
|
|
136
127
|
if (inputEl.checked !== shouldBeChecked) {
|
|
137
128
|
inputEl.checked = shouldBeChecked;
|
|
138
129
|
}
|
|
139
130
|
});
|
|
140
131
|
|
|
141
|
-
// Handle input change
|
|
142
132
|
// SolidJS-specific: Unlike React, the input's `checked` state can get out of sync
|
|
143
133
|
// with our reactive state. This happens because:
|
|
144
134
|
// 1. A readonly `<input type="radio" />` is always "checkable" in the browser
|
|
@@ -146,8 +136,8 @@ export function createRadio(
|
|
|
146
136
|
// internal `checked` state when clicked, regardless of what the signal says
|
|
147
137
|
//
|
|
148
138
|
// To prevent this, we force the input's `checked` DOM property to match our state
|
|
149
|
-
// after processing the change. This is
|
|
150
|
-
//
|
|
139
|
+
// after processing the change. This is a common pattern across SolidJS component
|
|
140
|
+
// libraries (see CREDITS.md for attribution).
|
|
151
141
|
const onChange: JSX.EventHandler<HTMLInputElement, Event> = (e) => {
|
|
152
142
|
e.stopPropagation();
|
|
153
143
|
|
|
@@ -172,49 +162,88 @@ export function createRadio(
|
|
|
172
162
|
|
|
173
163
|
// Handle press state for keyboard interactions and cases where labelProps is not used.
|
|
174
164
|
const { pressProps, isPressed } = createPress({
|
|
175
|
-
get onPressStart() {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
get
|
|
179
|
-
|
|
180
|
-
|
|
165
|
+
get onPressStart() {
|
|
166
|
+
return getProps().onPressStart;
|
|
167
|
+
},
|
|
168
|
+
get onPressEnd() {
|
|
169
|
+
return getProps().onPressEnd;
|
|
170
|
+
},
|
|
171
|
+
get onPressChange() {
|
|
172
|
+
return getProps().onPressChange;
|
|
173
|
+
},
|
|
174
|
+
get onPress() {
|
|
175
|
+
return getProps().onPress;
|
|
176
|
+
},
|
|
177
|
+
get onPressUp() {
|
|
178
|
+
return getProps().onPressUp;
|
|
179
|
+
},
|
|
180
|
+
get onClick() {
|
|
181
|
+
return getProps().onClick;
|
|
182
|
+
},
|
|
183
|
+
get isDisabled() {
|
|
184
|
+
return isDisabled();
|
|
185
|
+
},
|
|
181
186
|
});
|
|
182
187
|
|
|
183
|
-
// Handle press state on the label.
|
|
184
188
|
const { pressProps: labelPressProps, isPressed: isLabelPressed } = createPress({
|
|
185
|
-
get onPressStart() {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
get
|
|
189
|
+
get onPressStart() {
|
|
190
|
+
return getProps().onPressStart;
|
|
191
|
+
},
|
|
192
|
+
get onPressEnd() {
|
|
193
|
+
return getProps().onPressEnd;
|
|
194
|
+
},
|
|
195
|
+
get onPressChange() {
|
|
196
|
+
return getProps().onPressChange;
|
|
197
|
+
},
|
|
198
|
+
get onPressUp() {
|
|
199
|
+
return getProps().onPressUp;
|
|
200
|
+
},
|
|
201
|
+
get onClick() {
|
|
202
|
+
return getProps().onClick;
|
|
203
|
+
},
|
|
189
204
|
onPress(e: PressEvent) {
|
|
190
205
|
getProps().onPress?.(e);
|
|
191
206
|
state.setSelectedValue(value());
|
|
192
207
|
ref()?.focus();
|
|
193
208
|
},
|
|
194
|
-
get isDisabled() {
|
|
209
|
+
get isDisabled() {
|
|
210
|
+
return isDisabled();
|
|
211
|
+
},
|
|
195
212
|
});
|
|
196
213
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
214
|
+
const { focusableProps } = createFocusable(
|
|
215
|
+
{
|
|
216
|
+
get isDisabled() {
|
|
217
|
+
return isDisabled();
|
|
218
|
+
},
|
|
219
|
+
get autoFocus() {
|
|
220
|
+
return getProps().autoFocus;
|
|
221
|
+
},
|
|
222
|
+
onFocus(e: FocusEvent) {
|
|
223
|
+
getProps().onFocus?.(e);
|
|
224
|
+
state.setLastFocusedValue(value());
|
|
225
|
+
},
|
|
226
|
+
get onBlur() {
|
|
227
|
+
return getProps().onBlur;
|
|
228
|
+
},
|
|
229
|
+
get onFocusChange() {
|
|
230
|
+
return getProps().onFocusChange;
|
|
231
|
+
},
|
|
232
|
+
get onKeyDown() {
|
|
233
|
+
return getProps().onKeyDown;
|
|
234
|
+
},
|
|
235
|
+
get onKeyUp() {
|
|
236
|
+
return getProps().onKeyUp;
|
|
237
|
+
},
|
|
204
238
|
},
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
get onKeyDown() { return getProps().onKeyDown; },
|
|
208
|
-
get onKeyUp() { return getProps().onKeyUp; },
|
|
209
|
-
}, ref as unknown as (el: HTMLElement) => void);
|
|
239
|
+
ref as unknown as (el: HTMLElement) => void,
|
|
240
|
+
);
|
|
210
241
|
|
|
211
|
-
// Combine press and focusable props for input
|
|
212
242
|
const interactions = mergeProps(pressProps, focusableProps);
|
|
213
243
|
|
|
214
|
-
|
|
215
|
-
|
|
244
|
+
const domProps = () =>
|
|
245
|
+
filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true });
|
|
216
246
|
|
|
217
|
-
// Calculate tabIndex based on selection and focus state
|
|
218
247
|
const getTabIndex = (): number | undefined => {
|
|
219
248
|
if (isDisabled()) {
|
|
220
249
|
return undefined;
|
|
@@ -225,13 +254,11 @@ export function createRadio(
|
|
|
225
254
|
const currentValue = value();
|
|
226
255
|
|
|
227
256
|
if (selected != null) {
|
|
228
|
-
// If there's a selection, only the selected radio is focusable
|
|
229
257
|
if (selected === currentValue) {
|
|
230
258
|
return 0;
|
|
231
259
|
}
|
|
232
260
|
return -1;
|
|
233
261
|
} else {
|
|
234
|
-
// If no selection, the last focused or first radio is focusable
|
|
235
262
|
if (lastFocused === currentValue || lastFocused == null) {
|
|
236
263
|
return 0;
|
|
237
264
|
}
|
|
@@ -239,12 +266,14 @@ export function createRadio(
|
|
|
239
266
|
}
|
|
240
267
|
};
|
|
241
268
|
|
|
242
|
-
// Get group data
|
|
243
269
|
const getGroupData = () => radioGroupData.get(state);
|
|
244
270
|
|
|
245
|
-
// Combined pressed state
|
|
246
271
|
const combinedIsPressed: Accessor<boolean> = () => isPressed() || isLabelPressed();
|
|
247
272
|
|
|
273
|
+
// The radio's own description slot id — resolves only once an element with
|
|
274
|
+
// this id is rendered (e.g. a `<Text slot="description">` child).
|
|
275
|
+
const descriptionId = createSlotId();
|
|
276
|
+
|
|
248
277
|
return {
|
|
249
278
|
labelProps: mergeProps(labelPressProps, {
|
|
250
279
|
onClick: (e: MouseEvent) => e.preventDefault(),
|
|
@@ -254,10 +283,16 @@ export function createRadio(
|
|
|
254
283
|
const p = getProps();
|
|
255
284
|
const groupData = getGroupData();
|
|
256
285
|
|
|
257
|
-
//
|
|
286
|
+
// Order mirrors upstream useRadio: the user's aria-describedby, then the
|
|
287
|
+
// radio's own description, then the group's error message (when invalid)
|
|
288
|
+
// and the group's shared description.
|
|
258
289
|
const describedByIds: string[] = [];
|
|
259
|
-
if (p[
|
|
260
|
-
describedByIds.push(p[
|
|
290
|
+
if (p["aria-describedby"]) {
|
|
291
|
+
describedByIds.push(p["aria-describedby"]);
|
|
292
|
+
}
|
|
293
|
+
const ownDescriptionId = descriptionId();
|
|
294
|
+
if (ownDescriptionId) {
|
|
295
|
+
describedByIds.push(ownDescriptionId);
|
|
261
296
|
}
|
|
262
297
|
if (state.isInvalid && groupData?.errorMessageId) {
|
|
263
298
|
describedByIds.push(groupData.errorMessageId);
|
|
@@ -265,21 +300,25 @@ export function createRadio(
|
|
|
265
300
|
if (groupData?.descriptionId) {
|
|
266
301
|
describedByIds.push(groupData.descriptionId);
|
|
267
302
|
}
|
|
268
|
-
const ariaDescribedBy = describedByIds.length > 0 ? describedByIds.join(
|
|
303
|
+
const ariaDescribedBy = describedByIds.length > 0 ? describedByIds.join(" ") : undefined;
|
|
304
|
+
const validationBehavior = groupData?.validationBehavior ?? "native";
|
|
269
305
|
|
|
270
306
|
return mergeProps(domProps(), interactions, {
|
|
271
|
-
type:
|
|
307
|
+
type: "radio" as const,
|
|
272
308
|
name: groupData?.name,
|
|
273
309
|
form: groupData?.form,
|
|
274
310
|
tabIndex: getTabIndex(),
|
|
275
311
|
disabled: isDisabled(),
|
|
276
|
-
required: state.isRequired
|
|
312
|
+
required: validationBehavior === "native" ? state.isRequired : undefined,
|
|
277
313
|
checked: isSelected(),
|
|
278
314
|
value: value(),
|
|
279
315
|
onChange,
|
|
280
|
-
|
|
316
|
+
"aria-describedby": ariaDescribedBy,
|
|
281
317
|
}) as JSX.InputHTMLAttributes<HTMLInputElement>;
|
|
282
318
|
},
|
|
319
|
+
get descriptionProps() {
|
|
320
|
+
return { id: descriptionId() };
|
|
321
|
+
},
|
|
283
322
|
isDisabled: isDisabled(),
|
|
284
323
|
isSelected,
|
|
285
324
|
isPressed: combinedIsPressed,
|
|
@@ -7,20 +7,16 @@
|
|
|
7
7
|
* This is a 1:1 port of @react-aria/radio's useRadioGroup hook.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { JSX } from
|
|
11
|
-
import { createField } from
|
|
12
|
-
import { createFocusWithin } from
|
|
13
|
-
import { mergeProps } from
|
|
14
|
-
import { filterDOMProps } from
|
|
15
|
-
import { focusSafely, getEventTarget } from
|
|
16
|
-
import { useLocale } from
|
|
17
|
-
import { createId } from
|
|
18
|
-
import { type MaybeAccessor, access } from
|
|
19
|
-
import { type RadioGroupState, type ValidityState } from
|
|
20
|
-
|
|
21
|
-
// ============================================
|
|
22
|
-
// TYPES
|
|
23
|
-
// ============================================
|
|
10
|
+
import { JSX } from "solid-js";
|
|
11
|
+
import { createField } from "../label/createField";
|
|
12
|
+
import { createFocusWithin } from "../interactions/createFocusWithin";
|
|
13
|
+
import { mergeProps } from "../utils/mergeProps";
|
|
14
|
+
import { filterDOMProps } from "../utils/filterDOMProps";
|
|
15
|
+
import { focusSafely, getEventTarget } from "../utils";
|
|
16
|
+
import { useLocale } from "../i18n";
|
|
17
|
+
import { createId } from "../ssr";
|
|
18
|
+
import { type MaybeAccessor, access } from "../utils/reactivity";
|
|
19
|
+
import { type RadioGroupState, type ValidityState } from "@proyecto-viviana/solid-stately";
|
|
24
20
|
|
|
25
21
|
export interface AriaRadioGroupProps {
|
|
26
22
|
/** The content to display as the label. */
|
|
@@ -28,7 +24,9 @@ export interface AriaRadioGroupProps {
|
|
|
28
24
|
/** A description for the radio group. Provides additional context. */
|
|
29
25
|
description?: JSX.Element;
|
|
30
26
|
/** An error message for the radio group. */
|
|
31
|
-
errorMessage?:
|
|
27
|
+
errorMessage?:
|
|
28
|
+
| JSX.Element
|
|
29
|
+
| ((validation: { isInvalid: boolean; validationErrors: string[] }) => JSX.Element);
|
|
32
30
|
/** Whether the radio group is disabled. */
|
|
33
31
|
isDisabled?: boolean;
|
|
34
32
|
/** Whether the radio group is read only. */
|
|
@@ -38,13 +36,13 @@ export interface AriaRadioGroupProps {
|
|
|
38
36
|
/** Whether the radio group is invalid. */
|
|
39
37
|
isInvalid?: boolean;
|
|
40
38
|
/** The axis the Radio Button(s) should align with. Defaults to 'vertical'. */
|
|
41
|
-
orientation?:
|
|
39
|
+
orientation?: "horizontal" | "vertical";
|
|
42
40
|
/** The name of the radio group, used when submitting an HTML form. */
|
|
43
41
|
name?: string;
|
|
44
42
|
/** The form to associate the radio group with. */
|
|
45
43
|
form?: string;
|
|
46
44
|
/** Validation behavior for the radio group. */
|
|
47
|
-
validationBehavior?:
|
|
45
|
+
validationBehavior?: "aria" | "native";
|
|
48
46
|
/** Handler that is called when the radio group receives focus. */
|
|
49
47
|
onFocus?: (e: FocusEvent) => void;
|
|
50
48
|
/** Handler that is called when the radio group loses focus. */
|
|
@@ -52,13 +50,13 @@ export interface AriaRadioGroupProps {
|
|
|
52
50
|
/** Handler that is called when the radio group's focus status changes. */
|
|
53
51
|
onFocusChange?: (isFocused: boolean) => void;
|
|
54
52
|
/** Defines a string value that labels the current element. */
|
|
55
|
-
|
|
53
|
+
"aria-label"?: string;
|
|
56
54
|
/** Identifies the element (or elements) that labels the current element. */
|
|
57
|
-
|
|
55
|
+
"aria-labelledby"?: string;
|
|
58
56
|
/** Identifies the element (or elements) that describes the object. */
|
|
59
|
-
|
|
57
|
+
"aria-describedby"?: string;
|
|
60
58
|
/** Identifies the element (or elements) that provide an error message for the object. */
|
|
61
|
-
|
|
59
|
+
"aria-errormessage"?: string;
|
|
62
60
|
/** The element's unique identifier. */
|
|
63
61
|
id?: string;
|
|
64
62
|
}
|
|
@@ -86,31 +84,27 @@ interface RadioGroupData {
|
|
|
86
84
|
form: string | undefined;
|
|
87
85
|
descriptionId: string | undefined;
|
|
88
86
|
errorMessageId: string | undefined;
|
|
89
|
-
validationBehavior:
|
|
87
|
+
validationBehavior: "aria" | "native";
|
|
90
88
|
}
|
|
91
89
|
|
|
92
90
|
export const radioGroupData: WeakMap<RadioGroupState, RadioGroupData> = new WeakMap();
|
|
93
91
|
|
|
94
|
-
// ============================================
|
|
95
|
-
// IMPLEMENTATION
|
|
96
|
-
// ============================================
|
|
97
|
-
|
|
98
92
|
/**
|
|
99
93
|
* Provides the behavior and accessibility implementation for a radio group component.
|
|
100
94
|
* Radio groups allow users to select a single item from a list of mutually exclusive options.
|
|
101
95
|
*/
|
|
102
96
|
export function createRadioGroup(
|
|
103
97
|
props: MaybeAccessor<AriaRadioGroupProps>,
|
|
104
|
-
state: RadioGroupState
|
|
98
|
+
state: RadioGroupState,
|
|
105
99
|
): RadioGroupAria {
|
|
106
100
|
const getProps = () => access(props);
|
|
107
101
|
const locale = useLocale();
|
|
108
102
|
|
|
109
|
-
const orientation = () => getProps().orientation ??
|
|
103
|
+
const orientation = () => getProps().orientation ?? "vertical";
|
|
110
104
|
const isReadOnly = () => getProps().isReadOnly ?? false;
|
|
111
105
|
const isRequired = () => getProps().isRequired ?? false;
|
|
112
106
|
const isDisabled = () => getProps().isDisabled ?? false;
|
|
113
|
-
const validationBehavior = () => getProps().validationBehavior ??
|
|
107
|
+
const validationBehavior = () => getProps().validationBehavior ?? "native";
|
|
114
108
|
const displayValidation = () => state.displayValidation();
|
|
115
109
|
const validationErrors = () => displayValidation().validationErrors;
|
|
116
110
|
const validationDetails = () => displayValidation().validationDetails;
|
|
@@ -120,18 +114,31 @@ export function createRadioGroup(
|
|
|
120
114
|
return errors.length > 0 ? errors : undefined;
|
|
121
115
|
};
|
|
122
116
|
|
|
123
|
-
// Use field for label, description, error message
|
|
124
117
|
const { labelProps, fieldProps, descriptionProps, errorMessageProps } = createField({
|
|
125
|
-
get id() {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
get
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
get
|
|
118
|
+
get id() {
|
|
119
|
+
return getProps().id;
|
|
120
|
+
},
|
|
121
|
+
get label() {
|
|
122
|
+
return getProps().label;
|
|
123
|
+
},
|
|
124
|
+
get "aria-label"() {
|
|
125
|
+
return getProps()["aria-label"];
|
|
126
|
+
},
|
|
127
|
+
get "aria-labelledby"() {
|
|
128
|
+
return getProps()["aria-labelledby"];
|
|
129
|
+
},
|
|
130
|
+
get description() {
|
|
131
|
+
return getProps().description;
|
|
132
|
+
},
|
|
133
|
+
get errorMessage() {
|
|
134
|
+
return getProps().errorMessage ?? fallbackErrorMessage();
|
|
135
|
+
},
|
|
136
|
+
get isInvalid() {
|
|
137
|
+
return isInvalid();
|
|
138
|
+
},
|
|
132
139
|
// Radio group is not an HTML input element so it
|
|
133
140
|
// shouldn't be labeled by a <label> element.
|
|
134
|
-
labelElementType:
|
|
141
|
+
labelElementType: "span",
|
|
135
142
|
});
|
|
136
143
|
|
|
137
144
|
// Handle focus within - reset focusable radio when group loses focus and no selection
|
|
@@ -146,13 +153,11 @@ export function createRadioGroup(
|
|
|
146
153
|
onFocusWithinChange: (isFocused: boolean) => getProps().onFocusChange?.(isFocused),
|
|
147
154
|
});
|
|
148
155
|
|
|
149
|
-
|
|
150
|
-
|
|
156
|
+
const domProps = () =>
|
|
157
|
+
filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true });
|
|
151
158
|
|
|
152
|
-
// Generate group name
|
|
153
159
|
const groupName = getProps().name ?? createId();
|
|
154
160
|
|
|
155
|
-
// Store data for radio items to access
|
|
156
161
|
radioGroupData.set(state, {
|
|
157
162
|
name: groupName,
|
|
158
163
|
form: getProps().form,
|
|
@@ -162,31 +167,32 @@ export function createRadioGroup(
|
|
|
162
167
|
});
|
|
163
168
|
|
|
164
169
|
const getNavigableRadios = (root: HTMLElement): HTMLInputElement[] => {
|
|
165
|
-
return Array.from(root.querySelectorAll('input[type="radio"]'))
|
|
166
|
-
|
|
167
|
-
return el instanceof HTMLInputElement && !el.matches(
|
|
168
|
-
}
|
|
170
|
+
return Array.from(root.querySelectorAll('input[type="radio"]')).filter(
|
|
171
|
+
(el): el is HTMLInputElement => {
|
|
172
|
+
return el instanceof HTMLInputElement && !el.matches(":disabled");
|
|
173
|
+
},
|
|
174
|
+
);
|
|
169
175
|
};
|
|
170
176
|
|
|
171
177
|
// Keyboard navigation parity with React Aria.
|
|
172
178
|
const onKeyDown: JSX.EventHandler<HTMLDivElement, KeyboardEvent> = (e) => {
|
|
173
|
-
let nextDir:
|
|
179
|
+
let nextDir: "next" | "prev" | null = null;
|
|
174
180
|
const currentOrientation = orientation();
|
|
175
|
-
const isHorizontal = currentOrientation !==
|
|
176
|
-
const isRTL = locale().direction ===
|
|
181
|
+
const isHorizontal = currentOrientation !== "vertical";
|
|
182
|
+
const isRTL = locale().direction === "rtl" && isHorizontal;
|
|
177
183
|
|
|
178
184
|
switch (e.key) {
|
|
179
|
-
case
|
|
180
|
-
nextDir = isRTL ?
|
|
185
|
+
case "ArrowRight":
|
|
186
|
+
nextDir = isRTL ? "prev" : "next";
|
|
181
187
|
break;
|
|
182
|
-
case
|
|
183
|
-
nextDir = isRTL ?
|
|
188
|
+
case "ArrowLeft":
|
|
189
|
+
nextDir = isRTL ? "next" : "prev";
|
|
184
190
|
break;
|
|
185
|
-
case
|
|
186
|
-
nextDir =
|
|
191
|
+
case "ArrowDown":
|
|
192
|
+
nextDir = "next";
|
|
187
193
|
break;
|
|
188
|
-
case
|
|
189
|
-
nextDir =
|
|
194
|
+
case "ArrowUp":
|
|
195
|
+
nextDir = "prev";
|
|
190
196
|
break;
|
|
191
197
|
default:
|
|
192
198
|
return;
|
|
@@ -207,17 +213,21 @@ export function createRadioGroup(
|
|
|
207
213
|
const eventTarget = getEventTarget<Element>(e);
|
|
208
214
|
const activeElement = root.ownerDocument.activeElement;
|
|
209
215
|
|
|
210
|
-
const currentRadio =
|
|
211
|
-
|
|
212
|
-
|
|
216
|
+
const currentRadio =
|
|
217
|
+
eventTarget instanceof HTMLInputElement && eventTarget.type === "radio"
|
|
218
|
+
? eventTarget
|
|
219
|
+
: activeElement instanceof HTMLInputElement && activeElement.type === "radio"
|
|
220
|
+
? activeElement
|
|
221
|
+
: null;
|
|
213
222
|
|
|
214
223
|
const currentIndex = currentRadio ? radios.indexOf(currentRadio) : -1;
|
|
215
224
|
|
|
216
225
|
let nextIndex: number;
|
|
217
|
-
if (nextDir ===
|
|
226
|
+
if (nextDir === "next") {
|
|
218
227
|
nextIndex = currentIndex >= 0 ? (currentIndex + 1) % radios.length : 0;
|
|
219
228
|
} else {
|
|
220
|
-
nextIndex =
|
|
229
|
+
nextIndex =
|
|
230
|
+
currentIndex >= 0 ? (currentIndex - 1 + radios.length) % radios.length : radios.length - 1;
|
|
221
231
|
}
|
|
222
232
|
|
|
223
233
|
const nextRadio = radios[nextIndex];
|
|
@@ -231,21 +241,17 @@ export function createRadioGroup(
|
|
|
231
241
|
|
|
232
242
|
return {
|
|
233
243
|
get radioGroupProps() {
|
|
234
|
-
return mergeProps(
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
'aria-orientation': orientation(),
|
|
246
|
-
...fieldProps,
|
|
247
|
-
}
|
|
248
|
-
) as JSX.HTMLAttributes<HTMLDivElement>;
|
|
244
|
+
return mergeProps(domProps(), focusWithinProps as unknown as Record<string, unknown>, {
|
|
245
|
+
role: "radiogroup",
|
|
246
|
+
onKeyDown,
|
|
247
|
+
"aria-invalid": isInvalid() || undefined,
|
|
248
|
+
"aria-errormessage": getProps()["aria-errormessage"],
|
|
249
|
+
"aria-readonly": isReadOnly() || undefined,
|
|
250
|
+
"aria-required": isRequired() || undefined,
|
|
251
|
+
"aria-disabled": isDisabled() || undefined,
|
|
252
|
+
"aria-orientation": orientation(),
|
|
253
|
+
...fieldProps,
|
|
254
|
+
}) as JSX.HTMLAttributes<HTMLDivElement>;
|
|
249
255
|
},
|
|
250
256
|
labelProps: labelProps as JSX.HTMLAttributes<HTMLElement>,
|
|
251
257
|
descriptionProps,
|