@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
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { l as disableTextSelection, s as createGlobalListeners, u as restoreTextSelection } from "./utils.jsx";
|
|
2
|
+
import { t as FocusableContext } from "./createFocusable.jsx";
|
|
3
|
+
import { createEffect, createSignal, onCleanup } from "solid-js";
|
|
4
|
+
//#region src/interactions/createMove.ts
|
|
5
|
+
/**
|
|
6
|
+
* createMove - Handles move interactions across mouse, touch, pointer, and keyboard.
|
|
7
|
+
*
|
|
8
|
+
* Port of @react-aria/interactions useMove, adapted for SolidJS.
|
|
9
|
+
*/
|
|
10
|
+
function createBaseEvent(originalEvent, pointerType) {
|
|
11
|
+
return {
|
|
12
|
+
pointerType,
|
|
13
|
+
shiftKey: originalEvent.shiftKey,
|
|
14
|
+
ctrlKey: originalEvent.ctrlKey,
|
|
15
|
+
metaKey: originalEvent.metaKey,
|
|
16
|
+
altKey: originalEvent.altKey
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Handles move interactions across mouse, touch, pointer, and keyboard.
|
|
21
|
+
*/
|
|
22
|
+
function createMove(props = {}) {
|
|
23
|
+
const { onMoveStart, onMove, onMoveEnd } = props;
|
|
24
|
+
const state = {
|
|
25
|
+
didMove: false,
|
|
26
|
+
lastPosition: null,
|
|
27
|
+
id: null
|
|
28
|
+
};
|
|
29
|
+
const { addGlobalListener, removeGlobalListener } = createGlobalListeners();
|
|
30
|
+
const [pointerDown, setPointerDown] = createSignal(null);
|
|
31
|
+
const move = (originalEvent, pointerType, deltaX, deltaY) => {
|
|
32
|
+
if (deltaX === 0 && deltaY === 0) return;
|
|
33
|
+
if (!state.didMove) {
|
|
34
|
+
state.didMove = true;
|
|
35
|
+
onMoveStart?.({
|
|
36
|
+
type: "movestart",
|
|
37
|
+
...createBaseEvent(originalEvent, pointerType)
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
onMove?.({
|
|
41
|
+
type: "move",
|
|
42
|
+
deltaX,
|
|
43
|
+
deltaY,
|
|
44
|
+
...createBaseEvent(originalEvent, pointerType)
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
const end = (originalEvent, pointerType) => {
|
|
48
|
+
restoreTextSelection();
|
|
49
|
+
if (state.didMove) onMoveEnd?.({
|
|
50
|
+
type: "moveend",
|
|
51
|
+
...createBaseEvent(originalEvent, pointerType)
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
createEffect(() => {
|
|
55
|
+
const activePointer = pointerDown();
|
|
56
|
+
if (!activePointer) return;
|
|
57
|
+
if (activePointer === "pointer") {
|
|
58
|
+
const onPointerMove = (e) => {
|
|
59
|
+
if (e.pointerId === state.id) {
|
|
60
|
+
move(e, e.pointerType || "mouse", e.pageX - (state.lastPosition?.pageX ?? 0), e.pageY - (state.lastPosition?.pageY ?? 0));
|
|
61
|
+
state.lastPosition = {
|
|
62
|
+
pageX: e.pageX,
|
|
63
|
+
pageY: e.pageY
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const onPointerUp = (e) => {
|
|
68
|
+
if (e.pointerId === state.id) {
|
|
69
|
+
end(e, e.pointerType || "mouse");
|
|
70
|
+
state.id = null;
|
|
71
|
+
removeGlobalListener("pointermove", onPointerMove, { isWindow: true });
|
|
72
|
+
removeGlobalListener("pointerup", onPointerUp, { isWindow: true });
|
|
73
|
+
removeGlobalListener("pointercancel", onPointerUp, { isWindow: true });
|
|
74
|
+
setPointerDown(null);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
addGlobalListener("pointermove", onPointerMove, { isWindow: true });
|
|
78
|
+
addGlobalListener("pointerup", onPointerUp, { isWindow: true });
|
|
79
|
+
addGlobalListener("pointercancel", onPointerUp, { isWindow: true });
|
|
80
|
+
onCleanup(() => {
|
|
81
|
+
removeGlobalListener("pointermove", onPointerMove, { isWindow: true });
|
|
82
|
+
removeGlobalListener("pointerup", onPointerUp, { isWindow: true });
|
|
83
|
+
removeGlobalListener("pointercancel", onPointerUp, { isWindow: true });
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
const start = () => {
|
|
88
|
+
disableTextSelection();
|
|
89
|
+
state.didMove = false;
|
|
90
|
+
};
|
|
91
|
+
const moveProps = {};
|
|
92
|
+
const hasPointerEvents = typeof window !== "undefined" && typeof window.PointerEvent !== "undefined";
|
|
93
|
+
moveProps.onMouseDown = (e) => {
|
|
94
|
+
if (pointerDown() != null) return;
|
|
95
|
+
if (e.button === 0) {
|
|
96
|
+
start();
|
|
97
|
+
e.stopPropagation();
|
|
98
|
+
e.preventDefault();
|
|
99
|
+
state.lastPosition = {
|
|
100
|
+
pageX: e.pageX,
|
|
101
|
+
pageY: e.pageY
|
|
102
|
+
};
|
|
103
|
+
setPointerDown("mouse");
|
|
104
|
+
const onMouseMove = (event) => {
|
|
105
|
+
move(event, "mouse", event.pageX - (state.lastPosition?.pageX ?? 0), event.pageY - (state.lastPosition?.pageY ?? 0));
|
|
106
|
+
state.lastPosition = {
|
|
107
|
+
pageX: event.pageX,
|
|
108
|
+
pageY: event.pageY
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
const onMouseUp = (event) => {
|
|
112
|
+
end(event, "mouse");
|
|
113
|
+
removeGlobalListener("mousemove", onMouseMove);
|
|
114
|
+
removeGlobalListener("mouseup", onMouseUp);
|
|
115
|
+
setPointerDown(null);
|
|
116
|
+
};
|
|
117
|
+
addGlobalListener("mousemove", onMouseMove);
|
|
118
|
+
addGlobalListener("mouseup", onMouseUp);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
moveProps.onTouchStart = (e) => {
|
|
122
|
+
if (pointerDown() != null || e.changedTouches.length === 0 || state.id != null) return;
|
|
123
|
+
const { pageX, pageY, identifier } = e.changedTouches[0];
|
|
124
|
+
start();
|
|
125
|
+
e.stopPropagation();
|
|
126
|
+
e.preventDefault();
|
|
127
|
+
state.lastPosition = {
|
|
128
|
+
pageX,
|
|
129
|
+
pageY
|
|
130
|
+
};
|
|
131
|
+
state.id = identifier;
|
|
132
|
+
setPointerDown("touch");
|
|
133
|
+
const onTouchMove = (event) => {
|
|
134
|
+
const touchIndex = [...event.changedTouches].findIndex(({ identifier: touchId }) => touchId === state.id);
|
|
135
|
+
if (touchIndex >= 0) {
|
|
136
|
+
const { pageX: moveX, pageY: moveY } = event.changedTouches[touchIndex];
|
|
137
|
+
move(event, "touch", moveX - (state.lastPosition?.pageX ?? 0), moveY - (state.lastPosition?.pageY ?? 0));
|
|
138
|
+
state.lastPosition = {
|
|
139
|
+
pageX: moveX,
|
|
140
|
+
pageY: moveY
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
const onTouchEnd = (event) => {
|
|
145
|
+
if ([...event.changedTouches].findIndex(({ identifier: touchId }) => touchId === state.id) >= 0) {
|
|
146
|
+
end(event, "touch");
|
|
147
|
+
state.id = null;
|
|
148
|
+
removeGlobalListener("touchmove", onTouchMove);
|
|
149
|
+
removeGlobalListener("touchend", onTouchEnd);
|
|
150
|
+
removeGlobalListener("touchcancel", onTouchEnd);
|
|
151
|
+
setPointerDown(null);
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
addGlobalListener("touchmove", onTouchMove);
|
|
155
|
+
addGlobalListener("touchend", onTouchEnd);
|
|
156
|
+
addGlobalListener("touchcancel", onTouchEnd);
|
|
157
|
+
};
|
|
158
|
+
if (hasPointerEvents) moveProps.onPointerDown = (e) => {
|
|
159
|
+
if ((e.button ?? 0) === 0 && state.id == null) {
|
|
160
|
+
start();
|
|
161
|
+
e.stopPropagation();
|
|
162
|
+
e.preventDefault();
|
|
163
|
+
state.lastPosition = {
|
|
164
|
+
pageX: e.pageX,
|
|
165
|
+
pageY: e.pageY
|
|
166
|
+
};
|
|
167
|
+
state.id = e.pointerId;
|
|
168
|
+
setPointerDown("pointer");
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
const triggerKeyboardMove = (e, deltaX, deltaY) => {
|
|
172
|
+
start();
|
|
173
|
+
move(e, "keyboard", deltaX, deltaY);
|
|
174
|
+
end(e, "keyboard");
|
|
175
|
+
};
|
|
176
|
+
moveProps.onKeyDown = (e) => {
|
|
177
|
+
switch (e.key) {
|
|
178
|
+
case "Left":
|
|
179
|
+
case "ArrowLeft":
|
|
180
|
+
e.preventDefault();
|
|
181
|
+
e.stopPropagation();
|
|
182
|
+
triggerKeyboardMove(e, -1, 0);
|
|
183
|
+
break;
|
|
184
|
+
case "Right":
|
|
185
|
+
case "ArrowRight":
|
|
186
|
+
e.preventDefault();
|
|
187
|
+
e.stopPropagation();
|
|
188
|
+
triggerKeyboardMove(e, 1, 0);
|
|
189
|
+
break;
|
|
190
|
+
case "Up":
|
|
191
|
+
case "ArrowUp":
|
|
192
|
+
e.preventDefault();
|
|
193
|
+
e.stopPropagation();
|
|
194
|
+
triggerKeyboardMove(e, 0, -1);
|
|
195
|
+
break;
|
|
196
|
+
case "Down":
|
|
197
|
+
case "ArrowDown":
|
|
198
|
+
e.preventDefault();
|
|
199
|
+
e.stopPropagation();
|
|
200
|
+
triggerKeyboardMove(e, 0, 1);
|
|
201
|
+
break;
|
|
202
|
+
default: break;
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
return { moveProps };
|
|
206
|
+
}
|
|
207
|
+
//#endregion
|
|
208
|
+
//#region src/interactions/FocusableProvider.tsx
|
|
209
|
+
/**
|
|
210
|
+
* Provides DOM props to the nearest focusable child.
|
|
211
|
+
* Used to pass focus-related props through component boundaries.
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* ```tsx
|
|
215
|
+
* import { FocusableProvider } from 'solidaria';
|
|
216
|
+
*
|
|
217
|
+
* function MyComponent() {
|
|
218
|
+
* return (
|
|
219
|
+
* <FocusableProvider onFocus={() => console.log('focused!')}>
|
|
220
|
+
* <NestedFocusableComponent />
|
|
221
|
+
* </FocusableProvider>
|
|
222
|
+
* );
|
|
223
|
+
* }
|
|
224
|
+
* ```
|
|
225
|
+
*/
|
|
226
|
+
const FocusableProvider = (props) => {
|
|
227
|
+
const { children, ...otherProps } = props;
|
|
228
|
+
const context = {
|
|
229
|
+
...otherProps,
|
|
230
|
+
ref: (_el) => {}
|
|
231
|
+
};
|
|
232
|
+
return <FocusableContext.Provider value={context}>{children}</FocusableContext.Provider>;
|
|
233
|
+
};
|
|
234
|
+
//#endregion
|
|
235
|
+
export { createMove as n, FocusableProvider as t };
|
|
236
|
+
|
|
237
|
+
//# sourceMappingURL=interactions.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactions.jsx","names":[],"sources":["../../src/interactions/createMove.ts","../../src/interactions/FocusableProvider.tsx"],"sourcesContent":["/**\n * createMove - Handles move interactions across mouse, touch, pointer, and keyboard.\n *\n * Port of @react-aria/interactions useMove, adapted for SolidJS.\n */\n\nimport { JSX, createSignal, createEffect, onCleanup } from \"solid-js\";\nimport { disableTextSelection, restoreTextSelection, createGlobalListeners } from \"../utils\";\n\nexport type PointerType = \"mouse\" | \"pen\" | \"touch\" | \"keyboard\";\n\ninterface BaseMoveEvent {\n pointerType: PointerType;\n shiftKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n altKey: boolean;\n}\n\nexport interface MoveStartEvent extends BaseMoveEvent {\n type: \"movestart\";\n}\n\nexport interface MoveMoveEvent extends BaseMoveEvent {\n type: \"move\";\n deltaX: number;\n deltaY: number;\n}\n\nexport interface MoveEndEvent extends BaseMoveEvent {\n type: \"moveend\";\n}\n\nexport interface MoveEvents {\n onMoveStart?: (e: MoveStartEvent) => void;\n onMove?: (e: MoveMoveEvent) => void;\n onMoveEnd?: (e: MoveEndEvent) => void;\n}\n\nexport interface MoveResult {\n /** Props to spread on the target element. */\n moveProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\ninterface MoveState {\n didMove: boolean;\n lastPosition: { pageX: number; pageY: number } | null;\n id: number | null;\n}\n\nfunction createBaseEvent(\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n): BaseMoveEvent {\n return {\n pointerType,\n shiftKey: originalEvent.shiftKey,\n ctrlKey: originalEvent.ctrlKey,\n metaKey: originalEvent.metaKey,\n altKey: originalEvent.altKey,\n };\n}\n\n/**\n * Handles move interactions across mouse, touch, pointer, and keyboard.\n */\nexport function createMove(props: MoveEvents = {}): MoveResult {\n const { onMoveStart, onMove, onMoveEnd } = props;\n\n const state: MoveState = {\n didMove: false,\n lastPosition: null,\n id: null,\n };\n\n const { addGlobalListener, removeGlobalListener } = createGlobalListeners();\n const [pointerDown, setPointerDown] = createSignal<\"pointer\" | \"mouse\" | \"touch\" | null>(null);\n\n const move = (\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n deltaX: number,\n deltaY: number,\n ) => {\n if (deltaX === 0 && deltaY === 0) {\n return;\n }\n\n if (!state.didMove) {\n state.didMove = true;\n onMoveStart?.({\n type: \"movestart\",\n ...createBaseEvent(originalEvent, pointerType),\n });\n }\n\n onMove?.({\n type: \"move\",\n deltaX,\n deltaY,\n ...createBaseEvent(originalEvent, pointerType),\n });\n };\n\n const end = (\n originalEvent: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean },\n pointerType: PointerType,\n ) => {\n restoreTextSelection();\n if (state.didMove) {\n onMoveEnd?.({\n type: \"moveend\",\n ...createBaseEvent(originalEvent, pointerType),\n });\n }\n };\n\n createEffect(() => {\n const activePointer = pointerDown();\n if (!activePointer) return;\n\n if (activePointer === \"pointer\") {\n const onPointerMove = (e: PointerEvent) => {\n if (e.pointerId === state.id) {\n const pointerType = (e.pointerType || \"mouse\") as PointerType;\n move(\n e,\n pointerType,\n e.pageX - (state.lastPosition?.pageX ?? 0),\n e.pageY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n }\n };\n\n const onPointerUp = (e: PointerEvent) => {\n if (e.pointerId === state.id) {\n const pointerType = (e.pointerType || \"mouse\") as PointerType;\n end(e, pointerType);\n state.id = null;\n removeGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n removeGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n removeGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n setPointerDown(null);\n }\n };\n\n addGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n addGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n addGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n onCleanup(() => {\n removeGlobalListener(\"pointermove\", onPointerMove, { isWindow: true });\n removeGlobalListener(\"pointerup\", onPointerUp, { isWindow: true });\n removeGlobalListener(\"pointercancel\", onPointerUp, { isWindow: true });\n });\n }\n\n // Mouse/touch listeners are attached directly in their handlers.\n });\n\n const start = () => {\n disableTextSelection();\n state.didMove = false;\n };\n\n const moveProps: JSX.HTMLAttributes<HTMLElement> = {};\n\n const hasPointerEvents =\n typeof window !== \"undefined\" && typeof window.PointerEvent !== \"undefined\";\n\n moveProps.onMouseDown = (e: MouseEvent) => {\n if (pointerDown() != null) {\n return;\n }\n if (e.button === 0) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n setPointerDown(\"mouse\");\n\n const onMouseMove = (event: MouseEvent) => {\n move(\n event,\n \"mouse\",\n event.pageX - (state.lastPosition?.pageX ?? 0),\n event.pageY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: event.pageX, pageY: event.pageY };\n };\n const onMouseUp = (event: MouseEvent) => {\n end(event, \"mouse\");\n removeGlobalListener(\"mousemove\", onMouseMove);\n removeGlobalListener(\"mouseup\", onMouseUp);\n setPointerDown(null);\n };\n addGlobalListener(\"mousemove\", onMouseMove);\n addGlobalListener(\"mouseup\", onMouseUp);\n }\n };\n\n moveProps.onTouchStart = (e: TouchEvent) => {\n if (pointerDown() != null || e.changedTouches.length === 0 || state.id != null) {\n return;\n }\n const { pageX, pageY, identifier } = e.changedTouches[0];\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX, pageY };\n state.id = identifier;\n setPointerDown(\"touch\");\n\n const onTouchMove = (event: TouchEvent) => {\n const touchIndex = [...event.changedTouches].findIndex(\n ({ identifier: touchId }) => touchId === state.id,\n );\n if (touchIndex >= 0) {\n const { pageX: moveX, pageY: moveY } = event.changedTouches[touchIndex];\n move(\n event,\n \"touch\",\n moveX - (state.lastPosition?.pageX ?? 0),\n moveY - (state.lastPosition?.pageY ?? 0),\n );\n state.lastPosition = { pageX: moveX, pageY: moveY };\n }\n };\n const onTouchEnd = (event: TouchEvent) => {\n const touchIndex = [...event.changedTouches].findIndex(\n ({ identifier: touchId }) => touchId === state.id,\n );\n if (touchIndex >= 0) {\n end(event, \"touch\");\n state.id = null;\n removeGlobalListener(\"touchmove\", onTouchMove);\n removeGlobalListener(\"touchend\", onTouchEnd);\n removeGlobalListener(\"touchcancel\", onTouchEnd);\n setPointerDown(null);\n }\n };\n addGlobalListener(\"touchmove\", onTouchMove);\n addGlobalListener(\"touchend\", onTouchEnd);\n addGlobalListener(\"touchcancel\", onTouchEnd);\n };\n\n if (hasPointerEvents) {\n moveProps.onPointerDown = (e: PointerEvent) => {\n const button = e.button ?? 0;\n if (button === 0 && state.id == null) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.lastPosition = { pageX: e.pageX, pageY: e.pageY };\n state.id = e.pointerId;\n setPointerDown(\"pointer\");\n }\n };\n }\n\n const triggerKeyboardMove = (e: KeyboardEvent, deltaX: number, deltaY: number) => {\n start();\n move(e, \"keyboard\", deltaX, deltaY);\n end(e, \"keyboard\");\n };\n\n moveProps.onKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case \"Left\":\n case \"ArrowLeft\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, -1, 0);\n break;\n case \"Right\":\n case \"ArrowRight\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 1, 0);\n break;\n case \"Up\":\n case \"ArrowUp\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, -1);\n break;\n case \"Down\":\n case \"ArrowDown\":\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, 1);\n break;\n default:\n break;\n }\n };\n\n return { moveProps };\n}\n","/**\n * FocusableProvider - Provides DOM props to the nearest focusable child.\n *\n * This is a 1-1 port of React-Aria's FocusableProvider adapted for SolidJS.\n */\n\nimport { JSX, ParentComponent } from \"solid-js\";\nimport { FocusableContext, FocusableContextValue, FocusableProviderProps } from \"./createFocusable\";\n\n/**\n * Provides DOM props to the nearest focusable child.\n * Used to pass focus-related props through component boundaries.\n *\n * @example\n * ```tsx\n * import { FocusableProvider } from 'solidaria';\n *\n * function MyComponent() {\n * return (\n * <FocusableProvider onFocus={() => console.log('focused!')}>\n * <NestedFocusableComponent />\n * </FocusableProvider>\n * );\n * }\n * ```\n */\nexport const FocusableProvider: ParentComponent<\n FocusableProviderProps & JSX.HTMLAttributes<HTMLElement>\n> = (props) => {\n const { children, ...otherProps } = props;\n\n const context: FocusableContextValue = {\n ...otherProps,\n ref: (_el: HTMLElement) => {\n // Store ref if needed by parent\n },\n };\n\n return <FocusableContext.Provider value={context}>{children}</FocusableContext.Provider>;\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { t as createPress } from "./createPress.js";
|
|
2
|
+
import { i as access, o as mergeProps } from "./env.js";
|
|
3
|
+
import { t as filterDOMProps } from "./filterDOMProps.js";
|
|
4
|
+
import { n as createFocusable } from "./createFocusable.js";
|
|
5
|
+
//#region src/link/createLink.ts
|
|
6
|
+
/**
|
|
7
|
+
* Provides the behavior and accessibility implementation for a link component.
|
|
8
|
+
* A link allows a user to navigate to another page or resource within a web page
|
|
9
|
+
* or application.
|
|
10
|
+
*/
|
|
11
|
+
function createLink(props = {}) {
|
|
12
|
+
const getProps = () => access(props);
|
|
13
|
+
const isDisabled = () => getProps().isDisabled ?? false;
|
|
14
|
+
const elementType = () => getProps().elementType ?? "a";
|
|
15
|
+
const { pressProps, isPressed } = createPress({
|
|
16
|
+
get isDisabled() {
|
|
17
|
+
return isDisabled();
|
|
18
|
+
},
|
|
19
|
+
get onPress() {
|
|
20
|
+
return getProps().onPress;
|
|
21
|
+
},
|
|
22
|
+
get onPressStart() {
|
|
23
|
+
return getProps().onPressStart;
|
|
24
|
+
},
|
|
25
|
+
get onPressEnd() {
|
|
26
|
+
return getProps().onPressEnd;
|
|
27
|
+
},
|
|
28
|
+
get onPressUp() {
|
|
29
|
+
return getProps().onPressUp;
|
|
30
|
+
},
|
|
31
|
+
get onPressChange() {
|
|
32
|
+
return getProps().onPressChange;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
const { focusableProps } = createFocusable({
|
|
36
|
+
get isDisabled() {
|
|
37
|
+
return isDisabled();
|
|
38
|
+
},
|
|
39
|
+
get autoFocus() {
|
|
40
|
+
return getProps().autoFocus;
|
|
41
|
+
},
|
|
42
|
+
get onFocus() {
|
|
43
|
+
return getProps().onFocus;
|
|
44
|
+
},
|
|
45
|
+
get onBlur() {
|
|
46
|
+
return getProps().onBlur;
|
|
47
|
+
},
|
|
48
|
+
get onFocusChange() {
|
|
49
|
+
return getProps().onFocusChange;
|
|
50
|
+
},
|
|
51
|
+
get onKeyDown() {
|
|
52
|
+
return getProps().onKeyDown;
|
|
53
|
+
},
|
|
54
|
+
get onKeyUp() {
|
|
55
|
+
return getProps().onKeyUp;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
const getLinkProps = () => {
|
|
59
|
+
const p = getProps();
|
|
60
|
+
const elType = elementType();
|
|
61
|
+
const disabled = isDisabled();
|
|
62
|
+
let baseProps = {};
|
|
63
|
+
if (elType !== "a") baseProps = {
|
|
64
|
+
role: "link",
|
|
65
|
+
tabIndex: disabled ? void 0 : 0
|
|
66
|
+
};
|
|
67
|
+
const ariaProps = { "aria-disabled": disabled || void 0 };
|
|
68
|
+
if (p["aria-current"] !== void 0) ariaProps["aria-current"] = p["aria-current"];
|
|
69
|
+
if (p["aria-label"]) ariaProps["aria-label"] = p["aria-label"];
|
|
70
|
+
if (p["aria-labelledby"]) ariaProps["aria-labelledby"] = p["aria-labelledby"];
|
|
71
|
+
if (p["aria-describedby"]) ariaProps["aria-describedby"] = p["aria-describedby"];
|
|
72
|
+
if (p["aria-details"]) ariaProps["aria-details"] = p["aria-details"];
|
|
73
|
+
const onClick = (e) => {
|
|
74
|
+
if (disabled) {
|
|
75
|
+
e.preventDefault();
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (p.onPress) e.preventDefault();
|
|
79
|
+
p.onClick?.(e);
|
|
80
|
+
};
|
|
81
|
+
return mergeProps(filterDOMProps(p, {
|
|
82
|
+
labelable: true,
|
|
83
|
+
isLink: elType === "a"
|
|
84
|
+
}), baseProps, ariaProps, focusableProps, pressProps, { onClick });
|
|
85
|
+
};
|
|
86
|
+
return {
|
|
87
|
+
get linkProps() {
|
|
88
|
+
return getLinkProps();
|
|
89
|
+
},
|
|
90
|
+
isPressed
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
export { createLink as t };
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.js","names":[],"sources":["../../src/link/createLink.ts"],"sourcesContent":["/**\n * Link hook for Solidaria\n *\n * Provides the behavior and accessibility implementation for a link component.\n * A link allows a user to navigate to another page or resource within a web page\n * or application.\n *\n * This is a 1:1 port of @react-aria/link's useLink hook.\n */\n\nimport { type Accessor } from \"solid-js\";\nimport { createPress } from \"../interactions/createPress\";\nimport { createFocusable } from \"../interactions/createFocusable\";\nimport { mergeProps } from \"../utils/mergeProps\";\nimport { filterDOMProps } from \"../utils/filterDOMProps\";\nimport { type MaybeAccessor, access } from \"../utils/reactivity\";\nimport { type PressEvent } from \"../interactions/PressEvent\";\n\nexport interface AriaLinkProps {\n /** Whether the link is disabled. */\n isDisabled?: boolean;\n /** The HTML element used to render the link, e.g. 'a', or 'span'. @default 'a' */\n elementType?: string;\n /** The URL to link to. */\n href?: string;\n /** Additional options forwarded to client-side router navigation handlers. */\n routerOptions?: Record<string, unknown>;\n /** The target window for the link. */\n target?: string;\n /** The relationship between the linked resource and the current page. */\n rel?: string;\n /** Hints the language of the linked resource. */\n hrefLang?: string;\n /** Instructs the browser to download the URL instead of navigating to it. */\n download?: string | boolean;\n /** Space-separated list of URLs to ping when following the link. */\n ping?: string;\n /** Referrer policy for fetches initiated by this link. */\n referrerPolicy?:\n | \"\"\n | \"no-referrer\"\n | \"no-referrer-when-downgrade\"\n | \"origin\"\n | \"origin-when-cross-origin\"\n | \"same-origin\"\n | \"strict-origin\"\n | \"strict-origin-when-cross-origin\"\n | \"unsafe-url\";\n /** Handler that is called when the press is released over the target. */\n onPress?: (e: PressEvent) => void;\n /** Handler that is called when a press interaction starts. */\n onPressStart?: (e: PressEvent) => void;\n /** Handler that is called when a press interaction ends. */\n onPressEnd?: (e: PressEvent) => void;\n /** Handler that is called when a press is released over the target. */\n onPressUp?: (e: PressEvent) => void;\n /** Handler that is called when the press state changes. */\n onPressChange?: (isPressed: boolean) => void;\n /** Handler that is called when the element is clicked. */\n onClick?: (e: MouseEvent) => void;\n /** Handler that is called when the element receives focus. */\n onFocus?: (e: FocusEvent) => void;\n /** Handler that is called when the element loses focus. */\n onBlur?: (e: FocusEvent) => void;\n /** Handler that is called when the element's focus status changes. */\n onFocusChange?: (isFocused: boolean) => void;\n /** Handler that is called when a key is pressed. */\n onKeyDown?: (e: KeyboardEvent) => void;\n /** Handler that is called when a key is released. */\n onKeyUp?: (e: KeyboardEvent) => void;\n /** Whether to autofocus the element. */\n autoFocus?: boolean;\n /** Indicates the current \"page\" or state within a set of related elements. */\n \"aria-current\"?: \"page\" | \"step\" | \"location\" | \"date\" | \"time\" | \"true\" | \"false\" | boolean;\n /** Defines a string value that labels the current element. */\n \"aria-label\"?: string;\n /** Identifies the element (or elements) that labels the current element. */\n \"aria-labelledby\"?: string;\n /** Identifies the element (or elements) that describes the object. */\n \"aria-describedby\"?: string;\n /** Identifies the element (or elements) that provide a detailed description. */\n \"aria-details\"?: string;\n}\n\nexport interface LinkAria {\n /** Props for the link element. */\n linkProps: Record<string, unknown>;\n /** Whether the link is currently pressed. */\n isPressed: Accessor<boolean>;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a link component.\n * A link allows a user to navigate to another page or resource within a web page\n * or application.\n */\nexport function createLink(props: MaybeAccessor<AriaLinkProps> = {}): LinkAria {\n const getProps = () => access(props);\n\n const isDisabled = () => getProps().isDisabled ?? false;\n const elementType = () => getProps().elementType ?? \"a\";\n\n // Create press handling\n const { pressProps, isPressed } = createPress({\n get isDisabled() {\n return isDisabled();\n },\n get onPress() {\n return getProps().onPress;\n },\n get onPressStart() {\n return getProps().onPressStart;\n },\n get onPressEnd() {\n return getProps().onPressEnd;\n },\n get onPressUp() {\n return getProps().onPressUp;\n },\n get onPressChange() {\n return getProps().onPressChange;\n },\n });\n\n // Create focusable handling\n const { focusableProps } = createFocusable({\n get isDisabled() {\n return isDisabled();\n },\n get autoFocus() {\n return getProps().autoFocus;\n },\n get onFocus() {\n return getProps().onFocus;\n },\n get onBlur() {\n return getProps().onBlur;\n },\n get onFocusChange() {\n return getProps().onFocusChange;\n },\n get onKeyDown() {\n return getProps().onKeyDown;\n },\n get onKeyUp() {\n return getProps().onKeyUp;\n },\n });\n\n // Build link props\n const getLinkProps = (): Record<string, unknown> => {\n const p = getProps();\n const elType = elementType();\n const disabled = isDisabled();\n\n let baseProps: Record<string, unknown> = {};\n\n // If not an <a>, add role and tabIndex\n if (elType !== \"a\") {\n baseProps = {\n role: \"link\",\n tabIndex: disabled ? undefined : 0,\n };\n }\n\n // ARIA attributes\n const ariaProps: Record<string, unknown> = {\n \"aria-disabled\": disabled || undefined,\n };\n\n if (p[\"aria-current\"] !== undefined) {\n ariaProps[\"aria-current\"] = p[\"aria-current\"];\n }\n if (p[\"aria-label\"]) {\n ariaProps[\"aria-label\"] = p[\"aria-label\"];\n }\n if (p[\"aria-labelledby\"]) {\n ariaProps[\"aria-labelledby\"] = p[\"aria-labelledby\"];\n }\n if (p[\"aria-describedby\"]) {\n ariaProps[\"aria-describedby\"] = p[\"aria-describedby\"];\n }\n if (p[\"aria-details\"]) {\n ariaProps[\"aria-details\"] = p[\"aria-details\"];\n }\n\n // Handle onClick - prevent default navigation when appropriate\n const onClick = (e: MouseEvent) => {\n // If disabled, prevent navigation and don't call user's onClick\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n // If onPress is provided, prevent default navigation\n // This allows onPress to handle the action (e.g., client-side routing)\n if (p.onPress) {\n e.preventDefault();\n }\n\n // Call user's onClick if provided\n p.onClick?.(e);\n };\n\n return mergeProps(\n filterDOMProps(p as Record<string, unknown>, {\n labelable: true,\n isLink: elType === \"a\",\n }),\n baseProps,\n ariaProps,\n focusableProps as Record<string, unknown>,\n pressProps as Record<string, unknown>,\n { onClick },\n );\n };\n\n return {\n get linkProps() {\n return getLinkProps();\n },\n isPressed,\n };\n}\n"],"mappings":";;;;;;;;;;AAgGA,SAAgB,WAAW,QAAsC,CAAC,GAAa;CAC7E,MAAM,iBAAiB,OAAO,KAAK;CAEnC,MAAM,mBAAmB,SAAS,CAAC,CAAC,cAAc;CAClD,MAAM,oBAAoB,SAAS,CAAC,CAAC,eAAe;CAGpD,MAAM,EAAE,YAAY,cAAc,YAAY;EAC5C,IAAI,aAAa;GACf,OAAO,WAAW;EACpB;EACA,IAAI,UAAU;GACZ,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,eAAe;GACjB,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,aAAa;GACf,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,YAAY;GACd,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,gBAAgB;GAClB,OAAO,SAAS,CAAC,CAAC;EACpB;CACF,CAAC;CAGD,MAAM,EAAE,mBAAmB,gBAAgB;EACzC,IAAI,aAAa;GACf,OAAO,WAAW;EACpB;EACA,IAAI,YAAY;GACd,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,UAAU;GACZ,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,SAAS;GACX,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,gBAAgB;GAClB,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,YAAY;GACd,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,UAAU;GACZ,OAAO,SAAS,CAAC,CAAC;EACpB;CACF,CAAC;CAGD,MAAM,qBAA8C;EAClD,MAAM,IAAI,SAAS;EACnB,MAAM,SAAS,YAAY;EAC3B,MAAM,WAAW,WAAW;EAE5B,IAAI,YAAqC,CAAC;EAG1C,IAAI,WAAW,KACb,YAAY;GACV,MAAM;GACN,UAAU,WAAW,KAAA,IAAY;EACnC;EAIF,MAAM,YAAqC,EACzC,iBAAiB,YAAY,KAAA,EAC/B;EAEA,IAAI,EAAE,oBAAoB,KAAA,GACxB,UAAU,kBAAkB,EAAE;EAEhC,IAAI,EAAE,eACJ,UAAU,gBAAgB,EAAE;EAE9B,IAAI,EAAE,oBACJ,UAAU,qBAAqB,EAAE;EAEnC,IAAI,EAAE,qBACJ,UAAU,sBAAsB,EAAE;EAEpC,IAAI,EAAE,iBACJ,UAAU,kBAAkB,EAAE;EAIhC,MAAM,WAAW,MAAkB;GAEjC,IAAI,UAAU;IACZ,EAAE,eAAe;IACjB;GACF;GAIA,IAAI,EAAE,SACJ,EAAE,eAAe;GAInB,EAAE,UAAU,CAAC;EACf;EAEA,OAAO,WACL,eAAe,GAA8B;GAC3C,WAAW;GACX,QAAQ,WAAW;EACrB,CAAC,GACD,WACA,WACA,gBACA,YACA,EAAE,QAAQ,CACZ;CACF;CAEA,OAAO;EACL,IAAI,YAAY;GACd,OAAO,aAAa;EACtB;EACA;CACF;AACF"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { t as createPress } from "./createPress.jsx";
|
|
2
|
+
import { i as access, o as mergeProps } from "./env.jsx";
|
|
3
|
+
import { t as filterDOMProps } from "./filterDOMProps.jsx";
|
|
4
|
+
import { n as createFocusable } from "./createFocusable.jsx";
|
|
5
|
+
//#region src/link/createLink.ts
|
|
6
|
+
/**
|
|
7
|
+
* Provides the behavior and accessibility implementation for a link component.
|
|
8
|
+
* A link allows a user to navigate to another page or resource within a web page
|
|
9
|
+
* or application.
|
|
10
|
+
*/
|
|
11
|
+
function createLink(props = {}) {
|
|
12
|
+
const getProps = () => access(props);
|
|
13
|
+
const isDisabled = () => getProps().isDisabled ?? false;
|
|
14
|
+
const elementType = () => getProps().elementType ?? "a";
|
|
15
|
+
const { pressProps, isPressed } = createPress({
|
|
16
|
+
get isDisabled() {
|
|
17
|
+
return isDisabled();
|
|
18
|
+
},
|
|
19
|
+
get onPress() {
|
|
20
|
+
return getProps().onPress;
|
|
21
|
+
},
|
|
22
|
+
get onPressStart() {
|
|
23
|
+
return getProps().onPressStart;
|
|
24
|
+
},
|
|
25
|
+
get onPressEnd() {
|
|
26
|
+
return getProps().onPressEnd;
|
|
27
|
+
},
|
|
28
|
+
get onPressUp() {
|
|
29
|
+
return getProps().onPressUp;
|
|
30
|
+
},
|
|
31
|
+
get onPressChange() {
|
|
32
|
+
return getProps().onPressChange;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
const { focusableProps } = createFocusable({
|
|
36
|
+
get isDisabled() {
|
|
37
|
+
return isDisabled();
|
|
38
|
+
},
|
|
39
|
+
get autoFocus() {
|
|
40
|
+
return getProps().autoFocus;
|
|
41
|
+
},
|
|
42
|
+
get onFocus() {
|
|
43
|
+
return getProps().onFocus;
|
|
44
|
+
},
|
|
45
|
+
get onBlur() {
|
|
46
|
+
return getProps().onBlur;
|
|
47
|
+
},
|
|
48
|
+
get onFocusChange() {
|
|
49
|
+
return getProps().onFocusChange;
|
|
50
|
+
},
|
|
51
|
+
get onKeyDown() {
|
|
52
|
+
return getProps().onKeyDown;
|
|
53
|
+
},
|
|
54
|
+
get onKeyUp() {
|
|
55
|
+
return getProps().onKeyUp;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
const getLinkProps = () => {
|
|
59
|
+
const p = getProps();
|
|
60
|
+
const elType = elementType();
|
|
61
|
+
const disabled = isDisabled();
|
|
62
|
+
let baseProps = {};
|
|
63
|
+
if (elType !== "a") baseProps = {
|
|
64
|
+
role: "link",
|
|
65
|
+
tabIndex: disabled ? void 0 : 0
|
|
66
|
+
};
|
|
67
|
+
const ariaProps = { "aria-disabled": disabled || void 0 };
|
|
68
|
+
if (p["aria-current"] !== void 0) ariaProps["aria-current"] = p["aria-current"];
|
|
69
|
+
if (p["aria-label"]) ariaProps["aria-label"] = p["aria-label"];
|
|
70
|
+
if (p["aria-labelledby"]) ariaProps["aria-labelledby"] = p["aria-labelledby"];
|
|
71
|
+
if (p["aria-describedby"]) ariaProps["aria-describedby"] = p["aria-describedby"];
|
|
72
|
+
if (p["aria-details"]) ariaProps["aria-details"] = p["aria-details"];
|
|
73
|
+
const onClick = (e) => {
|
|
74
|
+
if (disabled) {
|
|
75
|
+
e.preventDefault();
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (p.onPress) e.preventDefault();
|
|
79
|
+
p.onClick?.(e);
|
|
80
|
+
};
|
|
81
|
+
return mergeProps(filterDOMProps(p, {
|
|
82
|
+
labelable: true,
|
|
83
|
+
isLink: elType === "a"
|
|
84
|
+
}), baseProps, ariaProps, focusableProps, pressProps, { onClick });
|
|
85
|
+
};
|
|
86
|
+
return {
|
|
87
|
+
get linkProps() {
|
|
88
|
+
return getLinkProps();
|
|
89
|
+
},
|
|
90
|
+
isPressed
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
export { createLink as t };
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=link.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.jsx","names":[],"sources":["../../src/link/createLink.ts"],"sourcesContent":["/**\n * Link hook for Solidaria\n *\n * Provides the behavior and accessibility implementation for a link component.\n * A link allows a user to navigate to another page or resource within a web page\n * or application.\n *\n * This is a 1:1 port of @react-aria/link's useLink hook.\n */\n\nimport { type Accessor } from \"solid-js\";\nimport { createPress } from \"../interactions/createPress\";\nimport { createFocusable } from \"../interactions/createFocusable\";\nimport { mergeProps } from \"../utils/mergeProps\";\nimport { filterDOMProps } from \"../utils/filterDOMProps\";\nimport { type MaybeAccessor, access } from \"../utils/reactivity\";\nimport { type PressEvent } from \"../interactions/PressEvent\";\n\nexport interface AriaLinkProps {\n /** Whether the link is disabled. */\n isDisabled?: boolean;\n /** The HTML element used to render the link, e.g. 'a', or 'span'. @default 'a' */\n elementType?: string;\n /** The URL to link to. */\n href?: string;\n /** Additional options forwarded to client-side router navigation handlers. */\n routerOptions?: Record<string, unknown>;\n /** The target window for the link. */\n target?: string;\n /** The relationship between the linked resource and the current page. */\n rel?: string;\n /** Hints the language of the linked resource. */\n hrefLang?: string;\n /** Instructs the browser to download the URL instead of navigating to it. */\n download?: string | boolean;\n /** Space-separated list of URLs to ping when following the link. */\n ping?: string;\n /** Referrer policy for fetches initiated by this link. */\n referrerPolicy?:\n | \"\"\n | \"no-referrer\"\n | \"no-referrer-when-downgrade\"\n | \"origin\"\n | \"origin-when-cross-origin\"\n | \"same-origin\"\n | \"strict-origin\"\n | \"strict-origin-when-cross-origin\"\n | \"unsafe-url\";\n /** Handler that is called when the press is released over the target. */\n onPress?: (e: PressEvent) => void;\n /** Handler that is called when a press interaction starts. */\n onPressStart?: (e: PressEvent) => void;\n /** Handler that is called when a press interaction ends. */\n onPressEnd?: (e: PressEvent) => void;\n /** Handler that is called when a press is released over the target. */\n onPressUp?: (e: PressEvent) => void;\n /** Handler that is called when the press state changes. */\n onPressChange?: (isPressed: boolean) => void;\n /** Handler that is called when the element is clicked. */\n onClick?: (e: MouseEvent) => void;\n /** Handler that is called when the element receives focus. */\n onFocus?: (e: FocusEvent) => void;\n /** Handler that is called when the element loses focus. */\n onBlur?: (e: FocusEvent) => void;\n /** Handler that is called when the element's focus status changes. */\n onFocusChange?: (isFocused: boolean) => void;\n /** Handler that is called when a key is pressed. */\n onKeyDown?: (e: KeyboardEvent) => void;\n /** Handler that is called when a key is released. */\n onKeyUp?: (e: KeyboardEvent) => void;\n /** Whether to autofocus the element. */\n autoFocus?: boolean;\n /** Indicates the current \"page\" or state within a set of related elements. */\n \"aria-current\"?: \"page\" | \"step\" | \"location\" | \"date\" | \"time\" | \"true\" | \"false\" | boolean;\n /** Defines a string value that labels the current element. */\n \"aria-label\"?: string;\n /** Identifies the element (or elements) that labels the current element. */\n \"aria-labelledby\"?: string;\n /** Identifies the element (or elements) that describes the object. */\n \"aria-describedby\"?: string;\n /** Identifies the element (or elements) that provide a detailed description. */\n \"aria-details\"?: string;\n}\n\nexport interface LinkAria {\n /** Props for the link element. */\n linkProps: Record<string, unknown>;\n /** Whether the link is currently pressed. */\n isPressed: Accessor<boolean>;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a link component.\n * A link allows a user to navigate to another page or resource within a web page\n * or application.\n */\nexport function createLink(props: MaybeAccessor<AriaLinkProps> = {}): LinkAria {\n const getProps = () => access(props);\n\n const isDisabled = () => getProps().isDisabled ?? false;\n const elementType = () => getProps().elementType ?? \"a\";\n\n // Create press handling\n const { pressProps, isPressed } = createPress({\n get isDisabled() {\n return isDisabled();\n },\n get onPress() {\n return getProps().onPress;\n },\n get onPressStart() {\n return getProps().onPressStart;\n },\n get onPressEnd() {\n return getProps().onPressEnd;\n },\n get onPressUp() {\n return getProps().onPressUp;\n },\n get onPressChange() {\n return getProps().onPressChange;\n },\n });\n\n // Create focusable handling\n const { focusableProps } = createFocusable({\n get isDisabled() {\n return isDisabled();\n },\n get autoFocus() {\n return getProps().autoFocus;\n },\n get onFocus() {\n return getProps().onFocus;\n },\n get onBlur() {\n return getProps().onBlur;\n },\n get onFocusChange() {\n return getProps().onFocusChange;\n },\n get onKeyDown() {\n return getProps().onKeyDown;\n },\n get onKeyUp() {\n return getProps().onKeyUp;\n },\n });\n\n // Build link props\n const getLinkProps = (): Record<string, unknown> => {\n const p = getProps();\n const elType = elementType();\n const disabled = isDisabled();\n\n let baseProps: Record<string, unknown> = {};\n\n // If not an <a>, add role and tabIndex\n if (elType !== \"a\") {\n baseProps = {\n role: \"link\",\n tabIndex: disabled ? undefined : 0,\n };\n }\n\n // ARIA attributes\n const ariaProps: Record<string, unknown> = {\n \"aria-disabled\": disabled || undefined,\n };\n\n if (p[\"aria-current\"] !== undefined) {\n ariaProps[\"aria-current\"] = p[\"aria-current\"];\n }\n if (p[\"aria-label\"]) {\n ariaProps[\"aria-label\"] = p[\"aria-label\"];\n }\n if (p[\"aria-labelledby\"]) {\n ariaProps[\"aria-labelledby\"] = p[\"aria-labelledby\"];\n }\n if (p[\"aria-describedby\"]) {\n ariaProps[\"aria-describedby\"] = p[\"aria-describedby\"];\n }\n if (p[\"aria-details\"]) {\n ariaProps[\"aria-details\"] = p[\"aria-details\"];\n }\n\n // Handle onClick - prevent default navigation when appropriate\n const onClick = (e: MouseEvent) => {\n // If disabled, prevent navigation and don't call user's onClick\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n // If onPress is provided, prevent default navigation\n // This allows onPress to handle the action (e.g., client-side routing)\n if (p.onPress) {\n e.preventDefault();\n }\n\n // Call user's onClick if provided\n p.onClick?.(e);\n };\n\n return mergeProps(\n filterDOMProps(p as Record<string, unknown>, {\n labelable: true,\n isLink: elType === \"a\",\n }),\n baseProps,\n ariaProps,\n focusableProps as Record<string, unknown>,\n pressProps as Record<string, unknown>,\n { onClick },\n );\n };\n\n return {\n get linkProps() {\n return getLinkProps();\n },\n isPressed,\n };\n}\n"],"mappings":";;;;;;;;;;AAgGA,SAAgB,WAAW,QAAsC,CAAC,GAAa;CAC7E,MAAM,iBAAiB,OAAO,KAAK;CAEnC,MAAM,mBAAmB,SAAS,CAAC,CAAC,cAAc;CAClD,MAAM,oBAAoB,SAAS,CAAC,CAAC,eAAe;CAGpD,MAAM,EAAE,YAAY,cAAc,YAAY;EAC5C,IAAI,aAAa;GACf,OAAO,WAAW;EACpB;EACA,IAAI,UAAU;GACZ,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,eAAe;GACjB,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,aAAa;GACf,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,YAAY;GACd,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,gBAAgB;GAClB,OAAO,SAAS,CAAC,CAAC;EACpB;CACF,CAAC;CAGD,MAAM,EAAE,mBAAmB,gBAAgB;EACzC,IAAI,aAAa;GACf,OAAO,WAAW;EACpB;EACA,IAAI,YAAY;GACd,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,UAAU;GACZ,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,SAAS;GACX,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,gBAAgB;GAClB,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,YAAY;GACd,OAAO,SAAS,CAAC,CAAC;EACpB;EACA,IAAI,UAAU;GACZ,OAAO,SAAS,CAAC,CAAC;EACpB;CACF,CAAC;CAGD,MAAM,qBAA8C;EAClD,MAAM,IAAI,SAAS;EACnB,MAAM,SAAS,YAAY;EAC3B,MAAM,WAAW,WAAW;EAE5B,IAAI,YAAqC,CAAC;EAG1C,IAAI,WAAW,KACb,YAAY;GACV,MAAM;GACN,UAAU,WAAW,KAAA,IAAY;EACnC;EAIF,MAAM,YAAqC,EACzC,iBAAiB,YAAY,KAAA,EAC/B;EAEA,IAAI,EAAE,oBAAoB,KAAA,GACxB,UAAU,kBAAkB,EAAE;EAEhC,IAAI,EAAE,eACJ,UAAU,gBAAgB,EAAE;EAE9B,IAAI,EAAE,oBACJ,UAAU,qBAAqB,EAAE;EAEnC,IAAI,EAAE,qBACJ,UAAU,sBAAsB,EAAE;EAEpC,IAAI,EAAE,iBACJ,UAAU,kBAAkB,EAAE;EAIhC,MAAM,WAAW,MAAkB;GAEjC,IAAI,UAAU;IACZ,EAAE,eAAe;IACjB;GACF;GAIA,IAAI,EAAE,SACJ,EAAE,eAAe;GAInB,EAAE,UAAU,CAAC;EACf;EAEA,OAAO,WACL,eAAe,GAA8B;GAC3C,WAAW;GACX,QAAQ,WAAW;EACrB,CAAC,GACD,WACA,WACA,gBACA,YACA,EAAE,QAAQ,CACZ;CACF;CAEA,OAAO;EACL,IAAI,YAAY;GACd,OAAO,aAAa;EACtB;EACA;CACF;AACF"}
|