@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
|
@@ -23,28 +23,16 @@
|
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
|
-
import { createSignal, createEffect, onCleanup, type Accessor } from
|
|
27
|
-
import { isServer } from
|
|
28
|
-
|
|
29
|
-
// ============================================
|
|
30
|
-
// TYPES
|
|
31
|
-
// ============================================
|
|
26
|
+
import { createSignal, createEffect, onCleanup, type Accessor } from "solid-js";
|
|
27
|
+
import { isServer } from "solid-js/web";
|
|
32
28
|
|
|
33
29
|
export interface DescriptionProps {
|
|
34
|
-
|
|
30
|
+
"aria-describedby"?: string;
|
|
35
31
|
}
|
|
36
32
|
|
|
37
|
-
// ============================================
|
|
38
|
-
// STATE
|
|
39
|
-
// ============================================
|
|
40
|
-
|
|
41
33
|
let descriptionId = 0;
|
|
42
34
|
const descriptionNodes = new Map<string, { refCount: number; element: Element }>();
|
|
43
35
|
|
|
44
|
-
// ============================================
|
|
45
|
-
// IMPLEMENTATION
|
|
46
|
-
// ============================================
|
|
47
|
-
|
|
48
36
|
/**
|
|
49
37
|
* Creates an invisible description element and returns aria-describedby props.
|
|
50
38
|
*
|
|
@@ -62,7 +50,6 @@ const descriptionNodes = new Map<string, { refCount: number; element: Element }>
|
|
|
62
50
|
* ```
|
|
63
51
|
*/
|
|
64
52
|
export function createDescription(description: Accessor<string | undefined>): DescriptionProps {
|
|
65
|
-
// SSR: return empty object
|
|
66
53
|
if (isServer) {
|
|
67
54
|
return {};
|
|
68
55
|
}
|
|
@@ -80,26 +67,23 @@ export function createDescription(description: Accessor<string | undefined>): De
|
|
|
80
67
|
let node = descriptionNodes.get(desc);
|
|
81
68
|
|
|
82
69
|
if (!node) {
|
|
83
|
-
// Create new description element
|
|
84
70
|
const newId = `solidaria-description-${descriptionId++}`;
|
|
85
71
|
setId(newId);
|
|
86
72
|
|
|
87
|
-
const element = document.createElement(
|
|
73
|
+
const element = document.createElement("div");
|
|
88
74
|
element.id = newId;
|
|
89
|
-
element.style.display =
|
|
75
|
+
element.style.display = "none";
|
|
90
76
|
element.textContent = desc;
|
|
91
77
|
document.body.appendChild(element);
|
|
92
78
|
|
|
93
79
|
node = { refCount: 0, element };
|
|
94
80
|
descriptionNodes.set(desc, node);
|
|
95
81
|
} else {
|
|
96
|
-
// Reuse existing element
|
|
97
82
|
setId(node.element.id);
|
|
98
83
|
}
|
|
99
84
|
|
|
100
85
|
node.refCount++;
|
|
101
86
|
|
|
102
|
-
// Cleanup when description changes or component unmounts
|
|
103
87
|
onCleanup(() => {
|
|
104
88
|
if (node && --node.refCount === 0) {
|
|
105
89
|
node.element.remove();
|
|
@@ -108,9 +92,8 @@ export function createDescription(description: Accessor<string | undefined>): De
|
|
|
108
92
|
});
|
|
109
93
|
});
|
|
110
94
|
|
|
111
|
-
// Return reactive props object
|
|
112
95
|
return {
|
|
113
|
-
get
|
|
96
|
+
get "aria-describedby"() {
|
|
114
97
|
const desc = description();
|
|
115
98
|
return desc ? id() : undefined;
|
|
116
99
|
},
|
package/src/utils/dom.ts
CHANGED
|
@@ -54,7 +54,7 @@ export function nodeContains(parent: Node | null, child: Node | null): boolean {
|
|
|
54
54
|
*/
|
|
55
55
|
export function getEventTarget<T extends EventTarget>(event: Event): T | null {
|
|
56
56
|
// Use composedPath to get the real target when using Shadow DOM
|
|
57
|
-
if (typeof event.composedPath ===
|
|
57
|
+
if (typeof event.composedPath === "function") {
|
|
58
58
|
const path = event.composedPath();
|
|
59
59
|
if (path.length > 0) {
|
|
60
60
|
return path[0] as T;
|
|
@@ -63,34 +63,153 @@ export function getEventTarget<T extends EventTarget>(event: Event): T | null {
|
|
|
63
63
|
return event.target as T | null;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
66
|
+
// Ports @react-aria/utils `isElementVisible`/`isFocusable`/`isTabbable` (v3.34.1,
|
|
67
|
+
// the version paired with our pinned RAC 1.19.0) so focusability matches upstream:
|
|
68
|
+
// a candidate must match the focusable selector AND not be inside an `inert`
|
|
69
|
+
// subtree AND be visible (unless `skipVisibilityCheck`). The previous `isFocusable`
|
|
70
|
+
// was a simplified tagName/tabindex check with no visibility or `inert` filtering.
|
|
71
|
+
// Owner-window lookups go through `getOwnerWindow`, which falls back to the global
|
|
72
|
+
// window, so these stay robust on detached documents (`defaultView === null`).
|
|
73
|
+
|
|
74
|
+
const supportsCheckVisibility =
|
|
75
|
+
typeof Element !== "undefined" && "checkVisibility" in Element.prototype;
|
|
76
|
+
|
|
77
|
+
// Solid clones templates with the document that is global at creation time, so a
|
|
78
|
+
// node portaled into another document (e.g. an iframe) keeps its original realm's
|
|
79
|
+
// prototype even though `getOwnerWindow` now resolves to the other document's
|
|
80
|
+
// window. Upstream React creates portal nodes with the container's `ownerDocument`,
|
|
81
|
+
// so its single `instanceof getOwnerWindow(element)` check suffices; we also accept
|
|
82
|
+
// the global realm's constructors so cross-document focus scopes still recognize
|
|
83
|
+
// real elements. In the common same-realm case this is identical to upstream.
|
|
84
|
+
function isHTMLOrSVGElement(element: Element): element is HTMLElement | SVGElement {
|
|
85
|
+
const windowObject = getOwnerWindow(element);
|
|
86
|
+
return (
|
|
87
|
+
element instanceof windowObject.HTMLElement ||
|
|
88
|
+
element instanceof windowObject.SVGElement ||
|
|
89
|
+
(typeof HTMLElement !== "undefined" && element instanceof HTMLElement) ||
|
|
90
|
+
(typeof SVGElement !== "undefined" && element instanceof SVGElement)
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function isStyleVisible(element: Element): boolean {
|
|
95
|
+
if (!isHTMLOrSVGElement(element)) {
|
|
72
96
|
return false;
|
|
73
97
|
}
|
|
74
98
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
|
|
99
|
+
const { display, visibility } = element.style;
|
|
100
|
+
|
|
101
|
+
let isVisible = display !== "none" && visibility !== "hidden" && visibility !== "collapse";
|
|
102
|
+
|
|
103
|
+
if (isVisible) {
|
|
104
|
+
const { getComputedStyle } = getOwnerWindow(element);
|
|
105
|
+
const { display: computedDisplay, visibility: computedVisibility } = getComputedStyle(element);
|
|
106
|
+
|
|
107
|
+
isVisible =
|
|
108
|
+
computedDisplay !== "none" &&
|
|
109
|
+
computedVisibility !== "hidden" &&
|
|
110
|
+
computedVisibility !== "collapse";
|
|
83
111
|
}
|
|
84
112
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
113
|
+
return isVisible;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
function isAttributeVisible(element: Element, childElement?: Element): boolean {
|
|
117
|
+
return (
|
|
118
|
+
!element.hasAttribute("hidden") &&
|
|
119
|
+
// Ignore HiddenSelect when tree walking.
|
|
120
|
+
!element.hasAttribute("data-react-aria-prevent-focus") &&
|
|
121
|
+
(element.nodeName === "DETAILS" && childElement && childElement.nodeName !== "SUMMARY"
|
|
122
|
+
? element.hasAttribute("open")
|
|
123
|
+
: true)
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Whether an element is visible, and so eligible for focus. Adapted from
|
|
129
|
+
* @react-aria/utils, which adapts testing-library/jest-dom and
|
|
130
|
+
* vue-test-utils-next (MIT): uses `checkVisibility` when supported, otherwise
|
|
131
|
+
* walks computed style and visibility-affecting attributes up the ancestor chain.
|
|
132
|
+
*/
|
|
133
|
+
export function isElementVisible(element: Element, childElement?: Element): boolean {
|
|
134
|
+
if (supportsCheckVisibility) {
|
|
135
|
+
return (
|
|
136
|
+
element.checkVisibility({ visibilityProperty: true }) &&
|
|
137
|
+
!element.closest("[data-react-aria-prevent-focus]")
|
|
138
|
+
);
|
|
89
139
|
}
|
|
90
140
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
141
|
+
return (
|
|
142
|
+
element.nodeName !== "#comment" &&
|
|
143
|
+
isStyleVisible(element) &&
|
|
144
|
+
isAttributeVisible(element, childElement) &&
|
|
145
|
+
(!element.parentElement || isElementVisible(element.parentElement, element))
|
|
146
|
+
);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
const focusableElements = [
|
|
150
|
+
"input:not([disabled]):not([type=hidden])",
|
|
151
|
+
"select:not([disabled])",
|
|
152
|
+
"textarea:not([disabled])",
|
|
153
|
+
"button:not([disabled])",
|
|
154
|
+
"a[href]",
|
|
155
|
+
"area[href]",
|
|
156
|
+
"summary",
|
|
157
|
+
"iframe",
|
|
158
|
+
"object",
|
|
159
|
+
"embed",
|
|
160
|
+
"audio[controls]",
|
|
161
|
+
"video[controls]",
|
|
162
|
+
'[contenteditable]:not([contenteditable^="false"])',
|
|
163
|
+
"permission",
|
|
164
|
+
];
|
|
165
|
+
|
|
166
|
+
const FOCUSABLE_ELEMENT_SELECTOR =
|
|
167
|
+
focusableElements.join(":not([hidden]),") + ",[tabindex]:not([disabled]):not([hidden])";
|
|
168
|
+
|
|
169
|
+
focusableElements.push('[tabindex]:not([tabindex="-1"]):not([disabled])');
|
|
170
|
+
const TABBABLE_ELEMENT_SELECTOR = focusableElements.join(':not([hidden]):not([tabindex="-1"]),');
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Checks if an element is a valid focusable element: it matches the focusable
|
|
174
|
+
* selector, is not inside an `inert` subtree, and is visible. A negative tabindex
|
|
175
|
+
* is programmatically focusable (matched here) but not tabbable. `skipVisibilityCheck`
|
|
176
|
+
* lets callers (e.g. the press-path `preventFocus` ancestor walk) skip the
|
|
177
|
+
* `isElementVisible` step, which also avoids touching layout on detached documents.
|
|
178
|
+
*/
|
|
179
|
+
export function isFocusable(
|
|
180
|
+
element: Element,
|
|
181
|
+
options?: { skipVisibilityCheck?: boolean },
|
|
182
|
+
): boolean {
|
|
183
|
+
return (
|
|
184
|
+
element.matches(FOCUSABLE_ELEMENT_SELECTOR) &&
|
|
185
|
+
!isInert(element) &&
|
|
186
|
+
(options?.skipVisibilityCheck || isElementVisible(element))
|
|
187
|
+
);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Checks if an element is tabbable (reachable via the Tab key): focusable,
|
|
192
|
+
* visible, not inert, and not `tabindex="-1"`.
|
|
193
|
+
*/
|
|
194
|
+
export function isTabbable(element: Element): boolean {
|
|
195
|
+
return (
|
|
196
|
+
element.matches(TABBABLE_ELEMENT_SELECTOR) && isElementVisible(element) && !isInert(element)
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
function isInert(element: Element): boolean {
|
|
201
|
+
let node: Element | null = element;
|
|
202
|
+
while (node != null) {
|
|
203
|
+
// Realm-tolerant HTMLElement check (see isHTMLOrSVGElement): Solid-portaled
|
|
204
|
+
// nodes keep their creating realm's prototype, so also accept the global one.
|
|
205
|
+
const isHTMLElement =
|
|
206
|
+
node instanceof getOwnerWindow(node).HTMLElement ||
|
|
207
|
+
(typeof HTMLElement !== "undefined" && node instanceof HTMLElement);
|
|
208
|
+
if (isHTMLElement && (node as HTMLElement).inert) {
|
|
209
|
+
return true;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
node = node.parentElement;
|
|
94
213
|
}
|
|
95
214
|
|
|
96
215
|
return false;
|
|
@@ -103,16 +222,16 @@ export function isValidKeyboardEvent(event: KeyboardEvent, currentTarget: Elemen
|
|
|
103
222
|
const { key, code } = event;
|
|
104
223
|
const element = currentTarget as HTMLElement;
|
|
105
224
|
const tagName = element.tagName.toLowerCase();
|
|
106
|
-
const role = element.getAttribute(
|
|
225
|
+
const role = element.getAttribute("role");
|
|
107
226
|
|
|
108
227
|
// Only accept Enter and Space
|
|
109
|
-
const isActivationKey = key ===
|
|
228
|
+
const isActivationKey = key === "Enter" || key === " " || key === "Spacebar" || code === "Space";
|
|
110
229
|
if (!isActivationKey) {
|
|
111
230
|
return false;
|
|
112
231
|
}
|
|
113
232
|
|
|
114
233
|
// Text inputs should handle their own keyboard events
|
|
115
|
-
if (tagName ===
|
|
234
|
+
if (tagName === "textarea") {
|
|
116
235
|
return false;
|
|
117
236
|
}
|
|
118
237
|
|
|
@@ -122,13 +241,13 @@ export function isValidKeyboardEvent(event: KeyboardEvent, currentTarget: Elemen
|
|
|
122
241
|
}
|
|
123
242
|
|
|
124
243
|
// Links should only respond to Enter, not Space
|
|
125
|
-
const isLink = role ===
|
|
126
|
-
if (isLink && key !==
|
|
244
|
+
const isLink = role === "link" || (!role && isHTMLAnchorLink(element));
|
|
245
|
+
if (isLink && key !== "Enter") {
|
|
127
246
|
return false;
|
|
128
247
|
}
|
|
129
248
|
|
|
130
249
|
// Input elements have specific key handling
|
|
131
|
-
if (tagName ===
|
|
250
|
+
if (tagName === "input") {
|
|
132
251
|
return isValidInputKey(element as HTMLInputElement, key);
|
|
133
252
|
}
|
|
134
253
|
|
|
@@ -142,14 +261,24 @@ export function isValidInputKey(target: HTMLInputElement, key: string): boolean
|
|
|
142
261
|
const type = target.type.toLowerCase();
|
|
143
262
|
|
|
144
263
|
// Checkbox and radio only respond to Space
|
|
145
|
-
if (type ===
|
|
146
|
-
return key ===
|
|
264
|
+
if (type === "checkbox" || type === "radio") {
|
|
265
|
+
return key === " " || key === "Spacebar";
|
|
147
266
|
}
|
|
148
267
|
|
|
149
268
|
// Text-like inputs handle their own keyboard events
|
|
150
269
|
const textInputTypes = [
|
|
151
|
-
|
|
152
|
-
|
|
270
|
+
"text",
|
|
271
|
+
"search",
|
|
272
|
+
"url",
|
|
273
|
+
"tel",
|
|
274
|
+
"email",
|
|
275
|
+
"password",
|
|
276
|
+
"date",
|
|
277
|
+
"month",
|
|
278
|
+
"week",
|
|
279
|
+
"time",
|
|
280
|
+
"datetime-local",
|
|
281
|
+
"number",
|
|
153
282
|
];
|
|
154
283
|
if (textInputTypes.includes(type)) {
|
|
155
284
|
return false;
|
|
@@ -162,34 +291,18 @@ export function isValidInputKey(target: HTMLInputElement, key: string): boolean
|
|
|
162
291
|
* Checks if an element is an HTML anchor link (has href attribute).
|
|
163
292
|
*/
|
|
164
293
|
export function isHTMLAnchorLink(target: Element): boolean {
|
|
165
|
-
return target.tagName ===
|
|
294
|
+
return target.tagName === "A" && target.hasAttribute("href");
|
|
166
295
|
}
|
|
167
296
|
|
|
168
297
|
/**
|
|
169
298
|
* Whether to prevent default on keyboard events for this element.
|
|
170
299
|
*/
|
|
171
300
|
export function shouldPreventDefaultKeyboard(target: Element, key: string): boolean {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
// Never prevent default on inputs - they handle their own behavior
|
|
175
|
-
if (tagName === 'input' || tagName === 'textarea' || tagName === 'select') {
|
|
176
|
-
return false;
|
|
301
|
+
if (target instanceof HTMLInputElement) {
|
|
302
|
+
return !isValidInputKey(target, key);
|
|
177
303
|
}
|
|
178
304
|
|
|
179
|
-
|
|
180
|
-
if ((tagName === 'a' || target.getAttribute('role') === 'link') && key === 'Enter') {
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
// Buttons with submit/reset type should not prevent default
|
|
185
|
-
if (tagName === 'button') {
|
|
186
|
-
const type = (target as HTMLButtonElement).type;
|
|
187
|
-
if (type === 'submit' || type === 'reset') {
|
|
188
|
-
return false;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
return true;
|
|
305
|
+
return shouldPreventDefaultUp(target);
|
|
193
306
|
}
|
|
194
307
|
|
|
195
308
|
/**
|
|
@@ -199,19 +312,19 @@ export function shouldPreventDefaultUp(target: Element): boolean {
|
|
|
199
312
|
const tagName = target.tagName.toLowerCase();
|
|
200
313
|
|
|
201
314
|
// Never prevent default on form elements
|
|
202
|
-
if (tagName ===
|
|
315
|
+
if (tagName === "input" || tagName === "textarea" || tagName === "select") {
|
|
203
316
|
return false;
|
|
204
317
|
}
|
|
205
318
|
|
|
206
319
|
// Don't prevent default on links
|
|
207
|
-
if (tagName ===
|
|
320
|
+
if (tagName === "a" || target.getAttribute("role") === "link") {
|
|
208
321
|
return false;
|
|
209
322
|
}
|
|
210
323
|
|
|
211
324
|
// Buttons with submit/reset type should not prevent default
|
|
212
|
-
if (tagName ===
|
|
325
|
+
if (tagName === "button") {
|
|
213
326
|
const type = (target as HTMLButtonElement).type;
|
|
214
|
-
if (type ===
|
|
327
|
+
if (type === "submit" || type === "reset") {
|
|
215
328
|
return false;
|
|
216
329
|
}
|
|
217
330
|
}
|
|
@@ -230,15 +343,15 @@ export function openLink(target: HTMLAnchorElement, event: Event, allowOpener =
|
|
|
230
343
|
// Handle modifier keys for open-in-new-tab behavior
|
|
231
344
|
const keyEvent = event as KeyboardEvent;
|
|
232
345
|
const shouldOpenInNewTab =
|
|
233
|
-
linkTarget ===
|
|
346
|
+
linkTarget === "_blank" ||
|
|
234
347
|
keyEvent?.metaKey ||
|
|
235
348
|
keyEvent?.ctrlKey ||
|
|
236
349
|
keyEvent?.shiftKey ||
|
|
237
350
|
keyEvent?.altKey;
|
|
238
351
|
|
|
239
352
|
if (shouldOpenInNewTab) {
|
|
240
|
-
const features = !allowOpener && rel?.includes(
|
|
241
|
-
window.open(href, linkTarget ||
|
|
353
|
+
const features = !allowOpener && rel?.includes("noopener") ? "noopener" : undefined;
|
|
354
|
+
window.open(href, linkTarget || "_blank", features);
|
|
242
355
|
} else {
|
|
243
356
|
window.location.href = href;
|
|
244
357
|
}
|
|
@@ -248,10 +361,6 @@ export function openLink(target: HTMLAnchorElement, event: Event, allowOpener =
|
|
|
248
361
|
|
|
249
362
|
(openLink as { isOpening?: boolean }).isOpening = false;
|
|
250
363
|
|
|
251
|
-
// ============================================
|
|
252
|
-
// Scroll utilities
|
|
253
|
-
// ============================================
|
|
254
|
-
|
|
255
364
|
/**
|
|
256
365
|
* Checks if an element is scrollable based on its overflow style.
|
|
257
366
|
* @param node - The element to check
|
|
@@ -291,6 +400,30 @@ export function getScrollParent(node: Element, checkForOverflow?: boolean): Elem
|
|
|
291
400
|
return scrollableNode || document.scrollingElement || document.documentElement;
|
|
292
401
|
}
|
|
293
402
|
|
|
403
|
+
/**
|
|
404
|
+
* Gets every scrollable ancestor of an element, from the nearest up to (and
|
|
405
|
+
* including) the document scrolling element.
|
|
406
|
+
* @param node - The starting element
|
|
407
|
+
* @param checkForOverflow - If true, only include parents that actually overflow
|
|
408
|
+
*/
|
|
409
|
+
export function getScrollParents(node: Element, checkForOverflow?: boolean): Element[] {
|
|
410
|
+
const parentElements: Element[] = [];
|
|
411
|
+
const root = document.scrollingElement || document.documentElement;
|
|
412
|
+
let current: Element | null = node;
|
|
413
|
+
|
|
414
|
+
while (current) {
|
|
415
|
+
if (isScrollable(current, checkForOverflow)) {
|
|
416
|
+
parentElements.push(current);
|
|
417
|
+
}
|
|
418
|
+
if (current === root) {
|
|
419
|
+
break;
|
|
420
|
+
}
|
|
421
|
+
current = current.parentElement;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
return parentElements;
|
|
425
|
+
}
|
|
426
|
+
|
|
294
427
|
/**
|
|
295
428
|
* Checks if an element will open a virtual keyboard when focused.
|
|
296
429
|
* Used for iOS Safari scroll handling.
|
|
@@ -303,25 +436,89 @@ export function willOpenKeyboard(target: Element | null): boolean {
|
|
|
303
436
|
const tagName = target.tagName.toLowerCase();
|
|
304
437
|
|
|
305
438
|
// Inputs that open keyboard (not all input types do)
|
|
306
|
-
if (tagName ===
|
|
439
|
+
if (tagName === "input") {
|
|
307
440
|
const type = (target as HTMLInputElement).type.toLowerCase();
|
|
308
441
|
// These input types open the keyboard
|
|
309
442
|
const keyboardTypes = [
|
|
310
|
-
|
|
311
|
-
|
|
443
|
+
"text",
|
|
444
|
+
"search",
|
|
445
|
+
"url",
|
|
446
|
+
"tel",
|
|
447
|
+
"email",
|
|
448
|
+
"password",
|
|
449
|
+
"date",
|
|
450
|
+
"month",
|
|
451
|
+
"week",
|
|
452
|
+
"time",
|
|
453
|
+
"datetime-local",
|
|
454
|
+
"number",
|
|
312
455
|
];
|
|
313
456
|
return keyboardTypes.includes(type);
|
|
314
457
|
}
|
|
315
458
|
|
|
316
459
|
// Textareas always open keyboard
|
|
317
|
-
if (tagName ===
|
|
460
|
+
if (tagName === "textarea") {
|
|
318
461
|
return true;
|
|
319
462
|
}
|
|
320
463
|
|
|
321
464
|
// Contenteditable elements open keyboard
|
|
322
|
-
if (
|
|
465
|
+
if (
|
|
466
|
+
target.hasAttribute("contenteditable") &&
|
|
467
|
+
target.getAttribute("contenteditable") !== "false"
|
|
468
|
+
) {
|
|
323
469
|
return true;
|
|
324
470
|
}
|
|
325
471
|
|
|
326
472
|
return false;
|
|
327
473
|
}
|
|
474
|
+
|
|
475
|
+
/**
|
|
476
|
+
* Returns the deepest active element, descending through open shadow roots.
|
|
477
|
+
* Mirrors @react-aria/utils' `getActiveElement`.
|
|
478
|
+
*/
|
|
479
|
+
export function getActiveElement(doc: Document = document): Element | null {
|
|
480
|
+
let activeElement = doc.activeElement;
|
|
481
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
482
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
483
|
+
}
|
|
484
|
+
return activeElement;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Whether the (deepest) active element is `element` or is contained within it.
|
|
489
|
+
* Mirrors @react-aria/utils' `isFocusWithin`.
|
|
490
|
+
*/
|
|
491
|
+
export function isFocusWithin(element: Element): boolean {
|
|
492
|
+
const activeElement = getActiveElement(getOwnerDocument(element));
|
|
493
|
+
return !!activeElement && nodeContains(element, activeElement);
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
/**
|
|
497
|
+
* Creates a `TreeWalker` that visits the focusable (or, when `tabbable`, the
|
|
498
|
+
* tabbable) descendants of `root`, skipping invisible and inert elements.
|
|
499
|
+
* Mirrors @react-aria/focus's `getFocusableTreeWalker`, minus the focus-scope
|
|
500
|
+
* containment filter (we don't model nested scopes here). Used to treat a
|
|
501
|
+
* selectable collection as a single tab stop.
|
|
502
|
+
*/
|
|
503
|
+
export function getFocusableTreeWalker(
|
|
504
|
+
root: Element,
|
|
505
|
+
opts?: { tabbable?: boolean; from?: Node },
|
|
506
|
+
): TreeWalker {
|
|
507
|
+
const accept = (node: Element) => (opts?.tabbable ? isTabbable(node) : isFocusable(node));
|
|
508
|
+
const walker = getOwnerDocument(root).createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {
|
|
509
|
+
acceptNode(node) {
|
|
510
|
+
// Skip nodes inside the optional starting node.
|
|
511
|
+
if (opts?.from?.contains(node)) {
|
|
512
|
+
return NodeFilter.FILTER_REJECT;
|
|
513
|
+
}
|
|
514
|
+
if (accept(node as Element)) {
|
|
515
|
+
return NodeFilter.FILTER_ACCEPT;
|
|
516
|
+
}
|
|
517
|
+
return NodeFilter.FILTER_SKIP;
|
|
518
|
+
},
|
|
519
|
+
});
|
|
520
|
+
if (opts?.from) {
|
|
521
|
+
walker.currentNode = opts.from;
|
|
522
|
+
}
|
|
523
|
+
return walker;
|
|
524
|
+
}
|
package/src/utils/env.ts
CHANGED
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
* Compatible with Node.js and Vite environments.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
type ImportMetaWithEnv = ImportMeta & {
|
|
8
|
+
env?: Record<string, unknown> & { DEV?: boolean; PROD?: boolean };
|
|
9
|
+
};
|
|
9
10
|
type ProcessLike = { env?: Record<string, string | undefined> };
|
|
10
11
|
|
|
11
12
|
function getEnvVar(key: string): string | undefined {
|
|
12
|
-
// Check Vite's import.meta.env
|
|
13
13
|
const importMetaEnv = (import.meta as ImportMetaWithEnv).env;
|
|
14
|
-
if (importMetaEnv && typeof importMetaEnv[key] ===
|
|
14
|
+
if (importMetaEnv && typeof importMetaEnv[key] === "string") {
|
|
15
15
|
return importMetaEnv[key] as string;
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
const processEnv = (globalThis as typeof globalThis & { process?: ProcessLike }).process?.env;
|
|
19
19
|
if (processEnv) {
|
|
20
20
|
return processEnv[key];
|
|
@@ -26,30 +26,28 @@ function getEnvVar(key: string): string | undefined {
|
|
|
26
26
|
* Check if we're running in a test environment.
|
|
27
27
|
*/
|
|
28
28
|
export function isTestEnv(): boolean {
|
|
29
|
-
return getEnvVar(
|
|
29
|
+
return getEnvVar("NODE_ENV") === "test";
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* Check if we're running in a development environment (not production).
|
|
34
34
|
*/
|
|
35
35
|
export function isDevEnv(): boolean {
|
|
36
|
-
// Check Vite's DEV flag
|
|
37
36
|
const importMetaEnv = (import.meta as ImportMetaWithEnv).env;
|
|
38
37
|
if (importMetaEnv?.DEV === true) {
|
|
39
38
|
return true;
|
|
40
39
|
}
|
|
41
|
-
const nodeEnv = getEnvVar(
|
|
42
|
-
return nodeEnv !==
|
|
40
|
+
const nodeEnv = getEnvVar("NODE_ENV");
|
|
41
|
+
return nodeEnv !== "production";
|
|
43
42
|
}
|
|
44
43
|
|
|
45
44
|
/**
|
|
46
45
|
* Check if we're running in production.
|
|
47
46
|
*/
|
|
48
47
|
export function isProdEnv(): boolean {
|
|
49
|
-
// Check Vite's PROD flag
|
|
50
48
|
const importMetaEnv = (import.meta as ImportMetaWithEnv).env;
|
|
51
49
|
if (importMetaEnv?.PROD === true) {
|
|
52
50
|
return true;
|
|
53
51
|
}
|
|
54
|
-
return getEnvVar(
|
|
52
|
+
return getEnvVar("NODE_ENV") === "production";
|
|
55
53
|
}
|
package/src/utils/events.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Based on @react-aria/utils event utilities.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { isAndroid } from
|
|
6
|
+
import { isAndroid } from "./platform";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Checks if a click event was generated from a virtual source like a screen reader.
|
|
@@ -11,14 +11,14 @@ import { isAndroid } from './platform';
|
|
|
11
11
|
*/
|
|
12
12
|
export function isVirtualClick(event: MouseEvent | PointerEvent): boolean {
|
|
13
13
|
// JAWS/NVDA with Firefox.
|
|
14
|
-
if ((event as PointerEvent).pointerType ===
|
|
14
|
+
if ((event as PointerEvent).pointerType === "" && event.isTrusted) {
|
|
15
15
|
return true;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
// Android TalkBack's detail value varies depending on the event listener providing the event.
|
|
19
19
|
// If pointerType is defined, event is from a click listener.
|
|
20
20
|
if (isAndroid() && (event as PointerEvent).pointerType) {
|
|
21
|
-
return event.type ===
|
|
21
|
+
return event.type === "click" && (event as MouseEvent).buttons === 1;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
return event.detail === 0 && !(event as PointerEvent).pointerType;
|
|
@@ -40,7 +40,7 @@ export function isVirtualPointerEvent(event: PointerEvent): boolean {
|
|
|
40
40
|
event.height === 1 &&
|
|
41
41
|
event.pressure === 0 &&
|
|
42
42
|
event.detail === 0 &&
|
|
43
|
-
event.pointerType ===
|
|
43
|
+
event.pointerType === "mouse")
|
|
44
44
|
);
|
|
45
45
|
}
|
|
46
46
|
|
|
@@ -81,7 +81,7 @@ export function chain<T extends (...args: any[]) => any>(
|
|
|
81
81
|
): T {
|
|
82
82
|
return ((...args: Parameters<T>) => {
|
|
83
83
|
for (const callback of callbacks) {
|
|
84
|
-
if (typeof callback ===
|
|
84
|
+
if (typeof callback === "function") {
|
|
85
85
|
callback(...args);
|
|
86
86
|
}
|
|
87
87
|
}
|
|
@@ -93,12 +93,12 @@ export function chain<T extends (...args: any[]) => any>(
|
|
|
93
93
|
* Used for synthetic events where target needs to be modified.
|
|
94
94
|
*/
|
|
95
95
|
export function setEventTarget<T extends Event>(event: T, target: EventTarget): void {
|
|
96
|
-
Object.defineProperty(event,
|
|
96
|
+
Object.defineProperty(event, "target", {
|
|
97
97
|
value: target,
|
|
98
98
|
writable: false,
|
|
99
99
|
configurable: true,
|
|
100
100
|
});
|
|
101
|
-
Object.defineProperty(event,
|
|
101
|
+
Object.defineProperty(event, "currentTarget", {
|
|
102
102
|
value: target,
|
|
103
103
|
writable: false,
|
|
104
104
|
configurable: true,
|