@proyecto-viviana/solidaria 0.4.2 → 0.6.0-rc.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/LICENSE-APACHE-2.0 +201 -0
- package/NOTICE +91 -0
- package/dist/_chunk/DragManager.js +71 -25
- package/dist/_chunk/DragManager.js.map +1 -1
- package/dist/_chunk/DragManager.jsx +71 -25
- package/dist/_chunk/DragManager.jsx.map +1 -1
- package/dist/_chunk/FocusScope.js +281 -66
- package/dist/_chunk/FocusScope.js.map +1 -1
- package/dist/_chunk/FocusScope.jsx +274 -55
- package/dist/_chunk/FocusScope.jsx.map +1 -1
- package/dist/_chunk/actiongroup.js +43 -19
- package/dist/_chunk/actiongroup.js.map +1 -1
- package/dist/_chunk/actiongroup.jsx +43 -19
- package/dist/_chunk/actiongroup.jsx.map +1 -1
- package/dist/_chunk/announce.js +19 -6
- package/dist/_chunk/announce.js.map +1 -1
- package/dist/_chunk/announce.jsx +19 -6
- package/dist/_chunk/announce.jsx.map +1 -1
- package/dist/_chunk/ariaHideOutside.js +212 -10
- package/dist/_chunk/ariaHideOutside.js.map +1 -1
- package/dist/_chunk/ariaHideOutside.jsx +212 -10
- package/dist/_chunk/ariaHideOutside.jsx.map +1 -1
- package/dist/_chunk/autocomplete.js +26 -7
- package/dist/_chunk/autocomplete.js.map +1 -1
- package/dist/_chunk/autocomplete.jsx +26 -7
- package/dist/_chunk/autocomplete.jsx.map +1 -1
- package/dist/_chunk/breadcrumbs.js +17 -2
- package/dist/_chunk/breadcrumbs.js.map +1 -1
- package/dist/_chunk/breadcrumbs.jsx +17 -2
- package/dist/_chunk/breadcrumbs.jsx.map +1 -1
- package/dist/_chunk/button.js +53 -20
- package/dist/_chunk/button.js.map +1 -1
- package/dist/_chunk/button.jsx +53 -20
- package/dist/_chunk/button.jsx.map +1 -1
- package/dist/_chunk/calendar.js +341 -56
- package/dist/_chunk/calendar.js.map +1 -1
- package/dist/_chunk/calendar.jsx +341 -56
- package/dist/_chunk/calendar.jsx.map +1 -1
- package/dist/_chunk/checkbox.js +69 -26
- package/dist/_chunk/checkbox.js.map +1 -1
- package/dist/_chunk/checkbox.jsx +69 -26
- package/dist/_chunk/checkbox.jsx.map +1 -1
- package/dist/_chunk/color.js +307 -48
- package/dist/_chunk/color.js.map +1 -1
- package/dist/_chunk/color.jsx +307 -48
- package/dist/_chunk/color.jsx.map +1 -1
- package/dist/_chunk/combobox.js +193 -103
- package/dist/_chunk/combobox.js.map +1 -1
- package/dist/_chunk/combobox.jsx +193 -103
- package/dist/_chunk/combobox.jsx.map +1 -1
- package/dist/_chunk/constants.js +12 -0
- package/dist/_chunk/constants.js.map +1 -1
- package/dist/_chunk/constants.jsx +12 -0
- package/dist/_chunk/constants.jsx.map +1 -1
- package/dist/_chunk/createCollator.js +12 -0
- package/dist/_chunk/createCollator.js.map +1 -1
- package/dist/_chunk/createCollator.jsx +12 -0
- package/dist/_chunk/createCollator.jsx.map +1 -1
- package/dist/_chunk/createCollectionRowInteraction.js +50 -13
- package/dist/_chunk/createCollectionRowInteraction.js.map +1 -1
- package/dist/_chunk/createCollectionRowInteraction.jsx +50 -13
- package/dist/_chunk/createCollectionRowInteraction.jsx.map +1 -1
- package/dist/_chunk/createField.js +35 -25
- package/dist/_chunk/createField.js.map +1 -1
- package/dist/_chunk/createField.jsx +35 -25
- package/dist/_chunk/createField.jsx.map +1 -1
- package/dist/_chunk/createFocus.js +18 -5
- package/dist/_chunk/createFocus.js.map +1 -1
- package/dist/_chunk/createFocus.jsx +18 -5
- package/dist/_chunk/createFocus.jsx.map +1 -1
- package/dist/_chunk/createFocusRing.js +16 -7
- package/dist/_chunk/createFocusRing.js.map +1 -1
- package/dist/_chunk/createFocusRing.jsx +16 -7
- package/dist/_chunk/createFocusRing.jsx.map +1 -1
- package/dist/_chunk/createFocusWithin.js +16 -4
- package/dist/_chunk/createFocusWithin.js.map +1 -1
- package/dist/_chunk/createFocusWithin.jsx +16 -4
- package/dist/_chunk/createFocusWithin.jsx.map +1 -1
- package/dist/_chunk/createFocusable.js +39 -53
- package/dist/_chunk/createFocusable.js.map +1 -1
- package/dist/_chunk/createFocusable.jsx +39 -53
- package/dist/_chunk/createFocusable.jsx.map +1 -1
- package/dist/_chunk/createFormReset.js +24 -12
- package/dist/_chunk/createFormReset.js.map +1 -1
- package/dist/_chunk/createFormReset.jsx +24 -12
- package/dist/_chunk/createFormReset.jsx.map +1 -1
- package/dist/_chunk/createFormValidation.js +41 -17
- package/dist/_chunk/createFormValidation.js.map +1 -1
- package/dist/_chunk/createFormValidation.jsx +41 -17
- package/dist/_chunk/createFormValidation.jsx.map +1 -1
- package/dist/_chunk/createHover.js +56 -42
- package/dist/_chunk/createHover.js.map +1 -1
- package/dist/_chunk/createHover.jsx +56 -42
- package/dist/_chunk/createHover.jsx.map +1 -1
- package/dist/_chunk/createKeyboard.js +205 -0
- package/dist/_chunk/createKeyboard.js.map +1 -0
- package/dist/_chunk/createKeyboard.jsx +205 -0
- package/dist/_chunk/createKeyboard.jsx.map +1 -0
- package/dist/_chunk/createLabel.js +17 -4
- package/dist/_chunk/createLabel.js.map +1 -1
- package/dist/_chunk/createLabel.jsx +17 -4
- package/dist/_chunk/createLabel.jsx.map +1 -1
- package/dist/_chunk/createLabels.js +14 -2
- package/dist/_chunk/createLabels.js.map +1 -1
- package/dist/_chunk/createLabels.jsx +14 -2
- package/dist/_chunk/createLabels.jsx.map +1 -1
- package/dist/_chunk/createLandmark.js +19 -3
- package/dist/_chunk/createLandmark.js.map +1 -1
- package/dist/_chunk/createLandmark.jsx +19 -3
- package/dist/_chunk/createLandmark.jsx.map +1 -1
- package/dist/_chunk/createLongPress.js +105 -0
- package/dist/_chunk/createLongPress.js.map +1 -0
- package/dist/_chunk/createLongPress.jsx +105 -0
- package/dist/_chunk/createLongPress.jsx.map +1 -0
- package/dist/_chunk/createOverlay.js +220 -111
- package/dist/_chunk/createOverlay.js.map +1 -1
- package/dist/_chunk/createOverlay.jsx +220 -111
- package/dist/_chunk/createOverlay.jsx.map +1 -1
- package/dist/_chunk/createOverlayTrigger.js +58 -0
- package/dist/_chunk/createOverlayTrigger.js.map +1 -0
- package/dist/_chunk/createOverlayTrigger.jsx +58 -0
- package/dist/_chunk/createOverlayTrigger.jsx.map +1 -0
- package/dist/_chunk/createPress.js +38 -28
- package/dist/_chunk/createPress.js.map +1 -1
- package/dist/_chunk/createPress.jsx +38 -28
- package/dist/_chunk/createPress.jsx.map +1 -1
- package/dist/_chunk/createProgressBar.js +17 -4
- package/dist/_chunk/createProgressBar.js.map +1 -1
- package/dist/_chunk/createProgressBar.jsx +17 -4
- package/dist/_chunk/createProgressBar.jsx.map +1 -1
- package/dist/_chunk/createSelectableItem.js +58 -20
- package/dist/_chunk/createSelectableItem.js.map +1 -1
- package/dist/_chunk/createSelectableItem.jsx +58 -20
- package/dist/_chunk/createSelectableItem.jsx.map +1 -1
- package/dist/_chunk/createSelectableList.js +776 -0
- package/dist/_chunk/createSelectableList.js.map +1 -0
- package/dist/_chunk/createSelectableList.jsx +776 -0
- package/dist/_chunk/createSelectableList.jsx.map +1 -0
- package/dist/_chunk/createStringFormatter.js +350 -5
- package/dist/_chunk/createStringFormatter.js.map +1 -1
- package/dist/_chunk/createStringFormatter.jsx +350 -5
- package/dist/_chunk/createStringFormatter.jsx.map +1 -1
- package/dist/_chunk/createToggle.js +68 -19
- package/dist/_chunk/createToggle.js.map +1 -1
- package/dist/_chunk/createToggle.jsx +68 -19
- package/dist/_chunk/createToggle.jsx.map +1 -1
- package/dist/_chunk/createTypeSelect.js +15 -3
- package/dist/_chunk/createTypeSelect.js.map +1 -1
- package/dist/_chunk/createTypeSelect.jsx +15 -3
- package/dist/_chunk/createTypeSelect.jsx.map +1 -1
- package/dist/_chunk/{visually-hidden.js → createVisuallyHidden.js} +16 -4
- package/dist/_chunk/createVisuallyHidden.js.map +1 -0
- package/dist/_chunk/{visually-hidden.jsx → createVisuallyHidden.jsx} +16 -4
- package/dist/_chunk/createVisuallyHidden.jsx.map +1 -0
- package/dist/_chunk/datepicker.js +687 -602
- package/dist/_chunk/datepicker.js.map +1 -1
- package/dist/_chunk/datepicker.jsx +687 -602
- package/dist/_chunk/datepicker.jsx.map +1 -1
- package/dist/_chunk/dialog.js +49 -19
- package/dist/_chunk/dialog.js.map +1 -1
- package/dist/_chunk/dialog.jsx +49 -19
- package/dist/_chunk/dialog.jsx.map +1 -1
- package/dist/_chunk/disclosure.js +48 -28
- package/dist/_chunk/disclosure.js.map +1 -1
- package/dist/_chunk/disclosure.jsx +48 -28
- package/dist/_chunk/disclosure.jsx.map +1 -1
- package/dist/_chunk/dnd.js +1340 -1172
- package/dist/_chunk/dnd.js.map +1 -1
- package/dist/_chunk/dnd.jsx +1340 -1172
- package/dist/_chunk/dnd.jsx.map +1 -1
- package/dist/_chunk/dom.js +1200 -0
- package/dist/_chunk/dom.js.map +1 -0
- package/dist/_chunk/dom.jsx +1200 -0
- package/dist/_chunk/dom.jsx.map +1 -0
- package/dist/_chunk/env.js +1 -57
- package/dist/_chunk/env.js.map +1 -1
- package/dist/_chunk/env.jsx +1 -57
- package/dist/_chunk/env.jsx.map +1 -1
- package/dist/_chunk/filterDOMProps.js +32 -7
- package/dist/_chunk/filterDOMProps.js.map +1 -1
- package/dist/_chunk/filterDOMProps.jsx +32 -7
- package/dist/_chunk/filterDOMProps.jsx.map +1 -1
- package/dist/_chunk/focus.js +570 -338
- package/dist/_chunk/focus.js.map +1 -1
- package/dist/_chunk/focus.jsx +570 -338
- package/dist/_chunk/focus.jsx.map +1 -1
- package/dist/_chunk/grid.js +62 -8
- package/dist/_chunk/grid.js.map +1 -1
- package/dist/_chunk/grid.jsx +62 -8
- package/dist/_chunk/grid.jsx.map +1 -1
- package/dist/_chunk/gridlist.js +192 -53
- package/dist/_chunk/gridlist.js.map +1 -1
- package/dist/_chunk/gridlist.jsx +192 -53
- package/dist/_chunk/gridlist.jsx.map +1 -1
- package/dist/_chunk/i18n.js +68 -1
- package/dist/_chunk/i18n.js.map +1 -1
- package/dist/_chunk/i18n.jsx +68 -1
- package/dist/_chunk/i18n.jsx.map +1 -1
- package/dist/_chunk/interactions.js +38 -102
- package/dist/_chunk/interactions.js.map +1 -1
- package/dist/_chunk/interactions.jsx +38 -100
- package/dist/_chunk/interactions.jsx.map +1 -1
- package/dist/_chunk/intl.js +280 -0
- package/dist/_chunk/intl.js.map +1 -0
- package/dist/_chunk/intl.jsx +280 -0
- package/dist/_chunk/intl.jsx.map +1 -0
- package/dist/_chunk/link.js +15 -4
- package/dist/_chunk/link.js.map +1 -1
- package/dist/_chunk/link.jsx +15 -4
- package/dist/_chunk/link.jsx.map +1 -1
- package/dist/_chunk/listbox.js +99 -175
- package/dist/_chunk/listbox.js.map +1 -1
- package/dist/_chunk/listbox.jsx +99 -175
- package/dist/_chunk/listbox.jsx.map +1 -1
- package/dist/_chunk/locale.js +58 -12
- package/dist/_chunk/locale.js.map +1 -1
- package/dist/_chunk/locale.jsx +57 -11
- package/dist/_chunk/locale.jsx.map +1 -1
- package/dist/_chunk/menu.js +298 -57
- package/dist/_chunk/menu.js.map +1 -1
- package/dist/_chunk/menu.jsx +298 -57
- package/dist/_chunk/menu.jsx.map +1 -1
- package/dist/_chunk/mergeProps.js +216 -0
- package/dist/_chunk/mergeProps.js.map +1 -0
- package/dist/_chunk/mergeProps.jsx +216 -0
- package/dist/_chunk/mergeProps.jsx.map +1 -0
- package/dist/_chunk/meter.js +16 -4
- package/dist/_chunk/meter.js.map +1 -1
- package/dist/_chunk/meter.jsx +16 -4
- package/dist/_chunk/meter.jsx.map +1 -1
- package/dist/_chunk/numberfield.js +167 -22
- package/dist/_chunk/numberfield.js.map +1 -1
- package/dist/_chunk/numberfield.jsx +167 -22
- package/dist/_chunk/numberfield.jsx.map +1 -1
- package/dist/_chunk/overlays.js +87 -74
- package/dist/_chunk/overlays.js.map +1 -1
- package/dist/_chunk/overlays.jsx +71 -57
- package/dist/_chunk/overlays.jsx.map +1 -1
- package/dist/_chunk/owner.js +23 -0
- package/dist/_chunk/owner.js.map +1 -0
- package/dist/_chunk/owner.jsx +23 -0
- package/dist/_chunk/owner.jsx.map +1 -0
- package/dist/_chunk/popover.js +180 -42
- package/dist/_chunk/popover.js.map +1 -1
- package/dist/_chunk/popover.jsx +180 -42
- package/dist/_chunk/popover.jsx.map +1 -1
- package/dist/_chunk/radio.js +92 -32
- package/dist/_chunk/radio.js.map +1 -1
- package/dist/_chunk/radio.jsx +92 -32
- package/dist/_chunk/radio.jsx.map +1 -1
- package/dist/_chunk/reactivity.js.map +1 -1
- package/dist/_chunk/reactivity.jsx.map +1 -1
- package/dist/_chunk/refs.js +41 -0
- package/dist/_chunk/refs.js.map +1 -0
- package/dist/_chunk/refs.jsx +41 -0
- package/dist/_chunk/refs.jsx.map +1 -0
- package/dist/_chunk/searchfield.js +69 -3
- package/dist/_chunk/searchfield.js.map +1 -1
- package/dist/_chunk/searchfield.jsx +69 -3
- package/dist/_chunk/searchfield.jsx.map +1 -1
- package/dist/_chunk/select.js +226 -80
- package/dist/_chunk/select.js.map +1 -1
- package/dist/_chunk/select.jsx +162 -70
- package/dist/_chunk/select.jsx.map +1 -1
- package/dist/_chunk/selection.js +20 -638
- package/dist/_chunk/selection.js.map +1 -1
- package/dist/_chunk/selection.jsx +20 -638
- package/dist/_chunk/selection.jsx.map +1 -1
- package/dist/_chunk/separator.js +12 -0
- package/dist/_chunk/separator.js.map +1 -1
- package/dist/_chunk/separator.jsx +12 -0
- package/dist/_chunk/separator.jsx.map +1 -1
- package/dist/_chunk/slider.js +25 -16
- package/dist/_chunk/slider.js.map +1 -1
- package/dist/_chunk/slider.jsx +25 -16
- package/dist/_chunk/slider.jsx.map +1 -1
- package/dist/_chunk/spinbutton.js +52 -42
- package/dist/_chunk/spinbutton.js.map +1 -1
- package/dist/_chunk/spinbutton.jsx +52 -42
- package/dist/_chunk/spinbutton.jsx.map +1 -1
- package/dist/_chunk/steplist.js +14 -1
- package/dist/_chunk/steplist.js.map +1 -1
- package/dist/_chunk/steplist.jsx +14 -1
- package/dist/_chunk/steplist.jsx.map +1 -1
- package/dist/_chunk/switch.js +21 -3
- package/dist/_chunk/switch.js.map +1 -1
- package/dist/_chunk/switch.jsx +21 -3
- package/dist/_chunk/switch.jsx.map +1 -1
- package/dist/_chunk/table.js +666 -88
- package/dist/_chunk/table.js.map +1 -1
- package/dist/_chunk/table.jsx +666 -88
- package/dist/_chunk/table.jsx.map +1 -1
- package/dist/_chunk/tabs.js +115 -17
- package/dist/_chunk/tabs.js.map +1 -1
- package/dist/_chunk/tabs.jsx +115 -17
- package/dist/_chunk/tabs.jsx.map +1 -1
- package/dist/_chunk/tag.js +240 -39
- package/dist/_chunk/tag.js.map +1 -1
- package/dist/_chunk/tag.jsx +240 -39
- package/dist/_chunk/tag.jsx.map +1 -1
- package/dist/_chunk/textfield.js +83 -12
- package/dist/_chunk/textfield.js.map +1 -1
- package/dist/_chunk/textfield.jsx +83 -12
- package/dist/_chunk/textfield.jsx.map +1 -1
- package/dist/_chunk/toast.js +61 -28
- package/dist/_chunk/toast.js.map +1 -1
- package/dist/_chunk/toast.jsx +61 -28
- package/dist/_chunk/toast.jsx.map +1 -1
- package/dist/_chunk/tokenfield.js +567 -0
- package/dist/_chunk/tokenfield.js.map +1 -0
- package/dist/_chunk/tokenfield.jsx +567 -0
- package/dist/_chunk/tokenfield.jsx.map +1 -0
- package/dist/_chunk/toolbar.js +25 -8
- package/dist/_chunk/toolbar.js.map +1 -1
- package/dist/_chunk/toolbar.jsx +25 -8
- package/dist/_chunk/toolbar.jsx.map +1 -1
- package/dist/_chunk/tooltip.js +379 -6
- package/dist/_chunk/tooltip.js.map +1 -1
- package/dist/_chunk/tooltip.jsx +379 -6
- package/dist/_chunk/tooltip.jsx.map +1 -1
- package/dist/_chunk/tree.js +280 -69
- package/dist/_chunk/tree.js.map +1 -1
- package/dist/_chunk/tree.jsx +280 -69
- package/dist/_chunk/tree.jsx.map +1 -1
- package/dist/_chunk/utils.js +192 -150
- package/dist/_chunk/utils.js.map +1 -1
- package/dist/_chunk/utils.jsx +192 -150
- package/dist/_chunk/utils.jsx.map +1 -1
- package/dist/_chunk/virtualFocus.js +54 -0
- package/dist/_chunk/virtualFocus.js.map +1 -0
- package/dist/_chunk/virtualFocus.jsx +54 -0
- package/dist/_chunk/virtualFocus.jsx.map +1 -0
- package/dist/_chunk/virtualizer.js +202 -0
- package/dist/_chunk/virtualizer.js.map +1 -0
- package/dist/_chunk/virtualizer.jsx +202 -0
- package/dist/_chunk/virtualizer.jsx.map +1 -0
- package/dist/actiongroup/createActionGroup.d.ts +2 -1
- package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
- package/dist/autocomplete/createAutocomplete.d.ts +1 -9
- package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
- package/dist/autocomplete/intl/index.d.ts +13 -0
- package/dist/autocomplete/intl/index.d.ts.map +1 -0
- package/dist/breadcrumbs/createBreadcrumbs.d.ts +3 -1
- package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
- package/dist/breadcrumbs/intl/index.d.ts +13 -0
- package/dist/breadcrumbs/intl/index.d.ts.map +1 -0
- package/dist/button/createButton.d.ts.map +1 -1
- package/dist/button/createToggleButton.d.ts.map +1 -1
- package/dist/button/createToggleButtonGroup.d.ts +1 -1
- package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
- package/dist/button/types.d.ts +14 -0
- package/dist/button/types.d.ts.map +1 -1
- package/dist/calendar/createCalendar.d.ts +1 -7
- package/dist/calendar/createCalendar.d.ts.map +1 -1
- package/dist/calendar/createCalendarCell.d.ts +0 -6
- package/dist/calendar/createCalendarCell.d.ts.map +1 -1
- package/dist/calendar/createCalendarGrid.d.ts +1 -7
- package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
- package/dist/calendar/createCalendarMonthPicker.d.ts +0 -8
- package/dist/calendar/createCalendarMonthPicker.d.ts.map +1 -1
- package/dist/calendar/createCalendarYearPicker.d.ts +0 -8
- package/dist/calendar/createCalendarYearPicker.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendar.d.ts +13 -7
- package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendarCell.d.ts +2 -6
- package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
- package/dist/calendar/intl/index.d.ts.map +1 -1
- package/dist/calendar/utils.d.ts.map +1 -1
- package/dist/checkbox/createCheckbox.d.ts +2 -1
- package/dist/checkbox/createCheckbox.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroup.d.ts +1 -9
- package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupItem.d.ts +0 -8
- package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
- package/dist/collections/index.d.ts +1 -1
- package/dist/collections/index.d.ts.map +1 -1
- package/dist/collections/index.js +18 -2
- package/dist/collections/index.js.map +1 -1
- package/dist/collections/index.jsx +18 -2
- package/dist/collections/index.jsx.map +1 -1
- package/dist/color/createColorArea.d.ts +2 -7
- package/dist/color/createColorArea.d.ts.map +1 -1
- package/dist/color/createColorField.d.ts +2 -7
- package/dist/color/createColorField.d.ts.map +1 -1
- package/dist/color/createColorSlider.d.ts +1 -6
- package/dist/color/createColorSlider.d.ts.map +1 -1
- package/dist/color/createColorSwatch.d.ts +1 -6
- package/dist/color/createColorSwatch.d.ts.map +1 -1
- package/dist/color/createColorWheel.d.ts +1 -6
- package/dist/color/createColorWheel.d.ts.map +1 -1
- package/dist/color/intl/index.d.ts.map +1 -1
- package/dist/color/types.d.ts +47 -1
- package/dist/color/types.d.ts.map +1 -1
- package/dist/combobox/createComboBox.d.ts +17 -8
- package/dist/combobox/createComboBox.d.ts.map +1 -1
- package/dist/combobox/intl/generated-locales.d.ts +3 -0
- package/dist/combobox/intl/generated-locales.d.ts.map +1 -1
- package/dist/combobox/intl/index.d.ts +3 -2
- package/dist/combobox/intl/index.d.ts.map +1 -1
- package/dist/datepicker/createDateField.d.ts +0 -10
- package/dist/datepicker/createDateField.d.ts.map +1 -1
- package/dist/datepicker/createDatePicker.d.ts +0 -16
- package/dist/datepicker/createDatePicker.d.ts.map +1 -1
- package/dist/datepicker/createDatePickerGroup.d.ts +1 -1
- package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -1
- package/dist/datepicker/createDateRangePicker.d.ts +0 -21
- package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
- package/dist/datepicker/createDateSegment.d.ts +0 -9
- package/dist/datepicker/createDateSegment.d.ts.map +1 -1
- package/dist/datepicker/createDisplayNames.d.ts +1 -9
- package/dist/datepicker/createDisplayNames.d.ts.map +1 -1
- package/dist/datepicker/createTimeField.d.ts.map +1 -1
- package/dist/datepicker/intl.d.ts.map +1 -1
- package/dist/dialog/createDialog.d.ts +2 -4
- package/dist/dialog/createDialog.d.ts.map +1 -1
- package/dist/dialog/types.d.ts +14 -0
- package/dist/dialog/types.d.ts.map +1 -1
- package/dist/disclosure/createDisclosure.d.ts +1 -8
- package/dist/disclosure/createDisclosure.d.ts.map +1 -1
- package/dist/disclosure/createDisclosureGroup.d.ts +3 -4
- package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
- package/dist/dnd/DragManager.d.ts +1 -16
- package/dist/dnd/DragManager.d.ts.map +1 -1
- package/dist/dnd/DropTargetKeyboardNavigation.d.ts +2 -2
- package/dist/dnd/createDrag.d.ts +1 -7
- package/dist/dnd/createDrag.d.ts.map +1 -1
- package/dist/dnd/createDraggableCollection.d.ts +1 -7
- package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
- package/dist/dnd/createDraggableItem.d.ts +2 -7
- package/dist/dnd/createDraggableItem.d.ts.map +1 -1
- package/dist/dnd/createDrop.d.ts +1 -7
- package/dist/dnd/createDrop.d.ts.map +1 -1
- package/dist/dnd/createDropIndicator.d.ts +27 -0
- package/dist/dnd/createDropIndicator.d.ts.map +1 -0
- package/dist/dnd/createDroppableCollection.d.ts +6 -8
- package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
- package/dist/dnd/createDroppableItem.d.ts +12 -10
- package/dist/dnd/createDroppableItem.d.ts.map +1 -1
- package/dist/dnd/index.d.ts +3 -1
- package/dist/dnd/index.d.ts.map +1 -1
- package/dist/dnd/index.js +2 -2
- package/dist/dnd/index.jsx +2 -2
- package/dist/dnd/intl/index.d.ts +6 -4
- package/dist/dnd/intl/index.d.ts.map +1 -1
- package/dist/dnd/types.d.ts +20 -1
- package/dist/dnd/types.d.ts.map +1 -1
- package/dist/dnd/utils.d.ts +4 -0
- package/dist/dnd/utils.d.ts.map +1 -1
- package/dist/focus/FocusScope.d.ts +9 -5
- package/dist/focus/FocusScope.d.ts.map +1 -1
- package/dist/focus/createAutoFocus.d.ts +3 -0
- package/dist/focus/createAutoFocus.d.ts.map +1 -1
- package/dist/focus/createFocusRestore.d.ts +3 -0
- package/dist/focus/createFocusRestore.d.ts.map +1 -1
- package/dist/focus/createHasTabbableChild.d.ts +13 -0
- package/dist/focus/createHasTabbableChild.d.ts.map +1 -0
- package/dist/focus/createVirtualFocus.d.ts +4 -1
- package/dist/focus/createVirtualFocus.d.ts.map +1 -1
- package/dist/focus/index.js +3 -2
- package/dist/focus/index.jsx +3 -2
- package/dist/focus/virtualFocus.d.ts +1 -1
- package/dist/form/createFormReset.d.ts +1 -7
- package/dist/form/createFormReset.d.ts.map +1 -1
- package/dist/form/createFormValidation.d.ts +1 -9
- package/dist/form/createFormValidation.d.ts.map +1 -1
- package/dist/grid/GridKeyboardDelegate.d.ts.map +1 -1
- package/dist/grid/createGrid.d.ts +1 -5
- package/dist/grid/createGrid.d.ts.map +1 -1
- package/dist/grid/createGridCell.d.ts +1 -5
- package/dist/grid/createGridCell.d.ts.map +1 -1
- package/dist/grid/createGridRow.d.ts +1 -5
- package/dist/grid/createGridRow.d.ts.map +1 -1
- package/dist/grid/index.d.ts +2 -2
- package/dist/grid/intl/index.d.ts +18 -0
- package/dist/grid/intl/index.d.ts.map +1 -0
- package/dist/grid/types.d.ts +25 -2
- package/dist/grid/types.d.ts.map +1 -1
- package/dist/gridlist/createGridList.d.ts +3 -5
- package/dist/gridlist/createGridList.d.ts.map +1 -1
- package/dist/gridlist/createGridListItem.d.ts +1 -5
- package/dist/gridlist/createGridListItem.d.ts.map +1 -1
- package/dist/gridlist/createGridListSection.d.ts +0 -4
- package/dist/gridlist/createGridListSection.d.ts.map +1 -1
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts +1 -5
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
- package/dist/gridlist/intl/index.d.ts +14 -0
- package/dist/gridlist/intl/index.d.ts.map +1 -0
- package/dist/gridlist/types.d.ts +56 -2
- package/dist/gridlist/types.d.ts.map +1 -1
- package/dist/i18n/compileIcu.d.ts +24 -0
- package/dist/i18n/compileIcu.d.ts.map +1 -0
- package/dist/i18n/createCollator.d.ts +0 -7
- package/dist/i18n/createCollator.d.ts.map +1 -1
- package/dist/i18n/createDateFormatter.d.ts +0 -7
- package/dist/i18n/createDateFormatter.d.ts.map +1 -1
- package/dist/i18n/createFilter.d.ts +0 -7
- package/dist/i18n/createFilter.d.ts.map +1 -1
- package/dist/i18n/createListFormatter.d.ts +9 -0
- package/dist/i18n/createListFormatter.d.ts.map +1 -0
- package/dist/i18n/createNumberFormatter.d.ts +0 -7
- package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
- package/dist/i18n/createStringFormatter.d.ts +14 -4
- package/dist/i18n/createStringFormatter.d.ts.map +1 -1
- package/dist/i18n/index.d.ts +1 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.jsx +2 -2
- package/dist/i18n/locale.d.ts +2 -8
- package/dist/i18n/locale.d.ts.map +1 -1
- package/dist/i18n/utils.d.ts +0 -7
- package/dist/i18n/utils.d.ts.map +1 -1
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -21
- package/dist/index.jsx +27 -21
- package/dist/interactions/FocusableProvider.d.ts +3 -2
- package/dist/interactions/FocusableProvider.d.ts.map +1 -1
- package/dist/interactions/PressEvent.d.ts +2 -1
- package/dist/interactions/PressEvent.d.ts.map +1 -1
- package/dist/interactions/createContextMenu.d.ts +24 -0
- package/dist/interactions/createContextMenu.d.ts.map +1 -0
- package/dist/interactions/createFocus.d.ts +3 -2
- package/dist/interactions/createFocus.d.ts.map +1 -1
- package/dist/interactions/createFocusRing.d.ts +2 -1
- package/dist/interactions/createFocusRing.d.ts.map +1 -1
- package/dist/interactions/createFocusWithin.d.ts +1 -6
- package/dist/interactions/createFocusWithin.d.ts.map +1 -1
- package/dist/interactions/createFocusable.d.ts +2 -6
- package/dist/interactions/createFocusable.d.ts.map +1 -1
- package/dist/interactions/createHover.d.ts +3 -10
- package/dist/interactions/createHover.d.ts.map +1 -1
- package/dist/interactions/createInteractionModality.d.ts +12 -10
- package/dist/interactions/createInteractionModality.d.ts.map +1 -1
- package/dist/interactions/createKeyboard.d.ts +12 -3
- package/dist/interactions/createKeyboard.d.ts.map +1 -1
- package/dist/interactions/createKeyboardShortcutHandler.d.ts +24 -0
- package/dist/interactions/createKeyboardShortcutHandler.d.ts.map +1 -0
- package/dist/interactions/createLongPress.d.ts +4 -7
- package/dist/interactions/createLongPress.d.ts.map +1 -1
- package/dist/interactions/createMove.d.ts +1 -6
- package/dist/interactions/createMove.d.ts.map +1 -1
- package/dist/interactions/createPress.d.ts +2 -7
- package/dist/interactions/createPress.d.ts.map +1 -1
- package/dist/interactions/index.d.ts +1 -1
- package/dist/interactions/index.d.ts.map +1 -1
- package/dist/interactions/index.js +5 -3
- package/dist/interactions/index.jsx +5 -3
- package/dist/label/createField.d.ts +7 -1
- package/dist/label/createField.d.ts.map +1 -1
- package/dist/label/createLabel.d.ts +1 -1
- package/dist/label/createLabel.d.ts.map +1 -1
- package/dist/label/createLabels.d.ts +0 -7
- package/dist/label/createLabels.d.ts.map +1 -1
- package/dist/landmark/createLandmark.d.ts +4 -1
- package/dist/landmark/createLandmark.d.ts.map +1 -1
- package/dist/link/createLink.d.ts +1 -1
- package/dist/link/createLink.d.ts.map +1 -1
- package/dist/listbox/createListBox.d.ts +8 -7
- package/dist/listbox/createListBox.d.ts.map +1 -1
- package/dist/listbox/createOption.d.ts +7 -1
- package/dist/listbox/createOption.d.ts.map +1 -1
- package/dist/live-announcer/announce.d.ts +2 -13
- package/dist/live-announcer/announce.d.ts.map +1 -1
- package/dist/menu/createMenu.d.ts +3 -7
- package/dist/menu/createMenu.d.ts.map +1 -1
- package/dist/menu/createMenuItem.d.ts +2 -1
- package/dist/menu/createMenuItem.d.ts.map +1 -1
- package/dist/menu/createMenuTrigger.d.ts +24 -20
- package/dist/menu/createMenuTrigger.d.ts.map +1 -1
- package/dist/menu/index.d.ts +1 -1
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/menu/intl/index.d.ts +4 -0
- package/dist/menu/intl/index.d.ts.map +1 -0
- package/dist/meter/createMeter.d.ts +2 -1
- package/dist/meter/createMeter.d.ts.map +1 -1
- package/dist/numberfield/createNumberField.d.ts +29 -6
- package/dist/numberfield/createNumberField.d.ts.map +1 -1
- package/dist/overlays/ariaHideOutside.d.ts +0 -4
- package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
- package/dist/overlays/createInteractOutside.d.ts +2 -5
- package/dist/overlays/createInteractOutside.d.ts.map +1 -1
- package/dist/overlays/createModal.d.ts +3 -6
- package/dist/overlays/createModal.d.ts.map +1 -1
- package/dist/overlays/createOverlay.d.ts +1 -5
- package/dist/overlays/createOverlay.d.ts.map +1 -1
- package/dist/overlays/createOverlayTrigger.d.ts +2 -6
- package/dist/overlays/createOverlayTrigger.d.ts.map +1 -1
- package/dist/overlays/createPreventScroll.d.ts +0 -4
- package/dist/overlays/createPreventScroll.d.ts.map +1 -1
- package/dist/overlays/index.d.ts +1 -0
- package/dist/overlays/index.d.ts.map +1 -1
- package/dist/overlays/index.js +3 -2
- package/dist/overlays/index.jsx +3 -2
- package/dist/overlays/intl/index.d.ts +13 -0
- package/dist/overlays/intl/index.d.ts.map +1 -0
- package/dist/popover/calculatePosition.d.ts +1 -1
- package/dist/popover/calculatePosition.d.ts.map +1 -1
- package/dist/popover/createOverlayPosition.d.ts +1 -7
- package/dist/popover/createOverlayPosition.d.ts.map +1 -1
- package/dist/popover/createPopover.d.ts +6 -7
- package/dist/popover/createPopover.d.ts.map +1 -1
- package/dist/progress/createProgressBar.d.ts +2 -10
- package/dist/progress/createProgressBar.d.ts.map +1 -1
- package/dist/radio/createRadio.d.ts +8 -1
- package/dist/radio/createRadio.d.ts.map +1 -1
- package/dist/radio/createRadioGroup.d.ts +1 -9
- package/dist/radio/createRadioGroup.d.ts.map +1 -1
- package/dist/searchfield/createSearchField.d.ts +1 -1
- package/dist/searchfield/createSearchField.d.ts.map +1 -1
- package/dist/searchfield/intl/index.d.ts +13 -0
- package/dist/searchfield/intl/index.d.ts.map +1 -0
- package/dist/select/createHiddenSelect.d.ts +3 -10
- package/dist/select/createHiddenSelect.d.ts.map +1 -1
- package/dist/select/createSelect.d.ts +10 -6
- package/dist/select/createSelect.d.ts.map +1 -1
- package/dist/selection/DOMLayoutDelegate.d.ts.map +1 -1
- package/dist/selection/ListKeyboardDelegate.d.ts +2 -1
- package/dist/selection/ListKeyboardDelegate.d.ts.map +1 -1
- package/dist/selection/constants.d.ts.map +1 -1
- package/dist/selection/createCollectionRowInteraction.d.ts +12 -1
- package/dist/selection/createCollectionRowInteraction.d.ts.map +1 -1
- package/dist/selection/createScrollIntoViewOnFocus.d.ts +0 -11
- package/dist/selection/createScrollIntoViewOnFocus.d.ts.map +1 -1
- package/dist/selection/createSelectableCollection.d.ts +1 -23
- package/dist/selection/createSelectableCollection.d.ts.map +1 -1
- package/dist/selection/createSelectableItem.d.ts +2 -29
- package/dist/selection/createSelectableItem.d.ts.map +1 -1
- package/dist/selection/createSelectableList.d.ts +4 -17
- package/dist/selection/createSelectableList.d.ts.map +1 -1
- package/dist/selection/createTypeSelect.d.ts +2 -8
- package/dist/selection/createTypeSelect.d.ts.map +1 -1
- package/dist/selection/index.js +3 -2
- package/dist/selection/index.jsx +3 -2
- package/dist/selection/selectItem.d.ts.map +1 -1
- package/dist/selection/utils.d.ts +1 -1
- package/dist/selection/utils.d.ts.map +1 -1
- package/dist/separator/createSeparator.d.ts +3 -1
- package/dist/separator/createSeparator.d.ts.map +1 -1
- package/dist/slider/createSlider.d.ts +1 -6
- package/dist/slider/createSlider.d.ts.map +1 -1
- package/dist/spinbutton/createSpinButton.d.ts +0 -9
- package/dist/spinbutton/createSpinButton.d.ts.map +1 -1
- package/dist/spinbutton/index.d.ts +2 -2
- package/dist/spinbutton/index.d.ts.map +1 -1
- package/dist/spinbutton/intl.d.ts.map +1 -1
- package/dist/ssr/index.d.ts +3 -9
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/ssr/index.js +47 -26
- package/dist/ssr/index.js.map +1 -1
- package/dist/ssr/index.jsx +47 -26
- package/dist/ssr/index.jsx.map +1 -1
- package/dist/steplist/createStepList.d.ts +1 -1
- package/dist/steplist/createStepList.d.ts.map +1 -1
- package/dist/switch/createSwitch.d.ts +2 -1
- package/dist/switch/createSwitch.d.ts.map +1 -1
- package/dist/table/createTable.d.ts +1 -5
- package/dist/table/createTable.d.ts.map +1 -1
- package/dist/table/createTableCell.d.ts +1 -5
- package/dist/table/createTableCell.d.ts.map +1 -1
- package/dist/table/createTableColumnHeader.d.ts +1 -5
- package/dist/table/createTableColumnHeader.d.ts.map +1 -1
- package/dist/table/createTableColumnResize.d.ts +2 -8
- package/dist/table/createTableColumnResize.d.ts.map +1 -1
- package/dist/table/createTableHeaderRow.d.ts +1 -5
- package/dist/table/createTableHeaderRow.d.ts.map +1 -1
- package/dist/table/createTableRow.d.ts +1 -5
- package/dist/table/createTableRow.d.ts.map +1 -1
- package/dist/table/createTableRowGroup.d.ts +1 -5
- package/dist/table/createTableRowGroup.d.ts.map +1 -1
- package/dist/table/createTableSelectAllCheckbox.d.ts +1 -5
- package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
- package/dist/table/createTableSelectionCheckbox.d.ts +1 -5
- package/dist/table/createTableSelectionCheckbox.d.ts.map +1 -1
- package/dist/table/index.d.ts +2 -2
- package/dist/table/intl/index.d.ts +23 -0
- package/dist/table/intl/index.d.ts.map +1 -0
- package/dist/table/types.d.ts +44 -2
- package/dist/table/types.d.ts.map +1 -1
- package/dist/table/utils.d.ts.map +1 -1
- package/dist/tabs/createTabs.d.ts +5 -9
- package/dist/tabs/createTabs.d.ts.map +1 -1
- package/dist/tag/createTag.d.ts +4 -8
- package/dist/tag/createTag.d.ts.map +1 -1
- package/dist/tag/createTagGroup.d.ts +0 -9
- package/dist/tag/createTagGroup.d.ts.map +1 -1
- package/dist/tag/intl/index.d.ts +14 -0
- package/dist/tag/intl/index.d.ts.map +1 -0
- package/dist/textfield/createTextField.d.ts +6 -8
- package/dist/textfield/createTextField.d.ts.map +1 -1
- package/dist/toast/createToast.d.ts +1 -8
- package/dist/toast/createToast.d.ts.map +1 -1
- package/dist/toast/createToastRegion.d.ts +7 -18
- package/dist/toast/createToastRegion.d.ts.map +1 -1
- package/dist/toast/intl/index.d.ts +14 -0
- package/dist/toast/intl/index.d.ts.map +1 -0
- package/dist/toggle/createToggle.d.ts +8 -1
- package/dist/toggle/createToggle.d.ts.map +1 -1
- package/dist/tokenfield/createToken.d.ts +15 -0
- package/dist/tokenfield/createToken.d.ts.map +1 -0
- package/dist/tokenfield/createTokenField.d.ts +52 -0
- package/dist/tokenfield/createTokenField.d.ts.map +1 -0
- package/dist/tokenfield/index.d.ts +3 -0
- package/dist/tokenfield/index.d.ts.map +1 -0
- package/dist/tokenfield/index.js +2 -0
- package/dist/tokenfield/index.jsx +2 -0
- package/dist/toolbar/createToolbar.d.ts +1 -1
- package/dist/toolbar/createToolbar.d.ts.map +1 -1
- package/dist/tooltip/createPreviewTrigger.d.ts +23 -0
- package/dist/tooltip/createPreviewTrigger.d.ts.map +1 -0
- package/dist/tooltip/createSafeArea.d.ts +20 -0
- package/dist/tooltip/createSafeArea.d.ts.map +1 -0
- package/dist/tooltip/createTooltip.d.ts +1 -1
- package/dist/tooltip/createTooltip.d.ts.map +1 -1
- package/dist/tooltip/createTooltipTrigger.d.ts +1 -9
- package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
- package/dist/tooltip/index.d.ts +2 -0
- package/dist/tooltip/index.d.ts.map +1 -1
- package/dist/tooltip/index.js +2 -2
- package/dist/tooltip/index.jsx +2 -2
- package/dist/tooltip/intl/index.d.ts +4 -0
- package/dist/tooltip/intl/index.d.ts.map +1 -0
- package/dist/tree/createTree.d.ts +1 -5
- package/dist/tree/createTree.d.ts.map +1 -1
- package/dist/tree/createTreeItem.d.ts +1 -5
- package/dist/tree/createTreeItem.d.ts.map +1 -1
- package/dist/tree/createTreeSelectionCheckbox.d.ts +1 -5
- package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
- package/dist/tree/intl/index.d.ts +14 -0
- package/dist/tree/intl/index.d.ts.map +1 -0
- package/dist/tree/types.d.ts +35 -2
- package/dist/tree/types.d.ts.map +1 -1
- package/dist/utils/ShadowTreeWalker.d.ts +30 -0
- package/dist/utils/ShadowTreeWalker.d.ts.map +1 -0
- package/dist/utils/animation.d.ts +1 -29
- package/dist/utils/animation.d.ts.map +1 -1
- package/dist/utils/capture.d.ts +14 -0
- package/dist/utils/capture.d.ts.map +1 -0
- package/dist/utils/createDescription.d.ts +1 -25
- package/dist/utils/createDescription.d.ts.map +1 -1
- package/dist/utils/dom.d.ts +45 -11
- package/dist/utils/dom.d.ts.map +1 -1
- package/dist/utils/domAttrs.d.ts +16 -0
- package/dist/utils/domAttrs.d.ts.map +1 -0
- package/dist/utils/env.d.ts +2 -0
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/events.d.ts +0 -4
- package/dist/utils/events.d.ts.map +1 -1
- package/dist/utils/filterDOMProps.d.ts +0 -6
- package/dist/utils/filterDOMProps.d.ts.map +1 -1
- package/dist/utils/focus.d.ts +19 -6
- package/dist/utils/focus.d.ts.map +1 -1
- package/dist/utils/geometry.d.ts +1 -1
- package/dist/utils/geometry.d.ts.map +1 -1
- package/dist/utils/getMetaValue.d.ts +13 -0
- package/dist/utils/getMetaValue.d.ts.map +1 -0
- package/dist/utils/getNonce.d.ts +9 -0
- package/dist/utils/getNonce.d.ts.map +1 -0
- package/dist/utils/globalListeners.d.ts +0 -6
- package/dist/utils/globalListeners.d.ts.map +1 -1
- package/dist/utils/index.d.ts +6 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +7 -4
- package/dist/utils/index.jsx +7 -4
- package/dist/utils/keyboard.d.ts +0 -4
- package/dist/utils/keyboard.d.ts.map +1 -1
- package/dist/utils/mergeProps.d.ts +5 -2
- package/dist/utils/mergeProps.d.ts.map +1 -1
- package/dist/utils/owner.d.ts +14 -0
- package/dist/utils/owner.d.ts.map +1 -0
- package/dist/utils/platform.d.ts +0 -4
- package/dist/utils/platform.d.ts.map +1 -1
- package/dist/utils/reactivity.d.ts +2 -0
- package/dist/utils/reactivity.d.ts.map +1 -1
- package/dist/utils/refs.d.ts +20 -0
- package/dist/utils/refs.d.ts.map +1 -0
- package/dist/utils/runAfterTransition.d.ts +2 -0
- package/dist/utils/runAfterTransition.d.ts.map +1 -0
- package/dist/utils/scrollIntoView.d.ts +0 -4
- package/dist/utils/scrollIntoView.d.ts.map +1 -1
- package/dist/utils/splitProps.d.ts +17 -0
- package/dist/utils/splitProps.d.ts.map +1 -0
- package/dist/utils/textSelection.d.ts +0 -8
- package/dist/utils/textSelection.d.ts.map +1 -1
- package/dist/virtualizer/ScrollView.d.ts +38 -0
- package/dist/virtualizer/ScrollView.d.ts.map +1 -0
- package/dist/virtualizer/index.d.ts +3 -0
- package/dist/virtualizer/index.d.ts.map +1 -0
- package/dist/virtualizer/index.js +2 -0
- package/dist/virtualizer/index.jsx +2 -0
- package/dist/virtualizer/utils.d.ts +10 -0
- package/dist/virtualizer/utils.d.ts.map +1 -0
- package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -9
- package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
- package/dist/visually-hidden/index.js +1 -1
- package/dist/visually-hidden/index.jsx +1 -1
- package/package.json +30 -11
- package/src/actiongroup/createActionGroup.ts +49 -27
- package/src/autocomplete/createAutocomplete.ts +32 -5
- package/src/autocomplete/intl/ar-AE.json +3 -0
- package/src/autocomplete/intl/bg-BG.json +3 -0
- package/src/autocomplete/intl/cs-CZ.json +3 -0
- package/src/autocomplete/intl/da-DK.json +3 -0
- package/src/autocomplete/intl/de-DE.json +3 -0
- package/src/autocomplete/intl/el-GR.json +3 -0
- package/src/autocomplete/intl/en-US.json +3 -0
- package/src/autocomplete/intl/es-ES.json +3 -0
- package/src/autocomplete/intl/et-EE.json +3 -0
- package/src/autocomplete/intl/fi-FI.json +3 -0
- package/src/autocomplete/intl/fr-FR.json +3 -0
- package/src/autocomplete/intl/he-IL.json +3 -0
- package/src/autocomplete/intl/hr-HR.json +3 -0
- package/src/autocomplete/intl/hu-HU.json +3 -0
- package/src/autocomplete/intl/index.ts +122 -0
- package/src/autocomplete/intl/it-IT.json +3 -0
- package/src/autocomplete/intl/ja-JP.json +3 -0
- package/src/autocomplete/intl/ko-KR.json +3 -0
- package/src/autocomplete/intl/lt-LT.json +3 -0
- package/src/autocomplete/intl/lv-LV.json +3 -0
- package/src/autocomplete/intl/nb-NO.json +3 -0
- package/src/autocomplete/intl/nl-NL.json +3 -0
- package/src/autocomplete/intl/pl-PL.json +3 -0
- package/src/autocomplete/intl/pt-BR.json +3 -0
- package/src/autocomplete/intl/pt-PT.json +3 -0
- package/src/autocomplete/intl/ro-RO.json +3 -0
- package/src/autocomplete/intl/ru-RU.json +3 -0
- package/src/autocomplete/intl/sk-SK.json +3 -0
- package/src/autocomplete/intl/sl-SI.json +3 -0
- package/src/autocomplete/intl/sr-SP.json +3 -0
- package/src/autocomplete/intl/sv-SE.json +3 -0
- package/src/autocomplete/intl/tr-TR.json +3 -0
- package/src/autocomplete/intl/uk-UA.json +3 -0
- package/src/autocomplete/intl/zh-CN.json +3 -0
- package/src/autocomplete/intl/zh-TW.json +3 -0
- package/src/breadcrumbs/createBreadcrumbs.ts +18 -1
- package/src/breadcrumbs/intl/ar-AE.json +3 -0
- package/src/breadcrumbs/intl/bg-BG.json +3 -0
- package/src/breadcrumbs/intl/cs-CZ.json +3 -0
- package/src/breadcrumbs/intl/da-DK.json +3 -0
- package/src/breadcrumbs/intl/de-DE.json +3 -0
- package/src/breadcrumbs/intl/el-GR.json +3 -0
- package/src/breadcrumbs/intl/en-US.json +3 -0
- package/src/breadcrumbs/intl/es-ES.json +3 -0
- package/src/breadcrumbs/intl/et-EE.json +3 -0
- package/src/breadcrumbs/intl/fi-FI.json +3 -0
- package/src/breadcrumbs/intl/fr-FR.json +3 -0
- package/src/breadcrumbs/intl/he-IL.json +3 -0
- package/src/breadcrumbs/intl/hr-HR.json +3 -0
- package/src/breadcrumbs/intl/hu-HU.json +3 -0
- package/src/breadcrumbs/intl/index.ts +122 -0
- package/src/breadcrumbs/intl/it-IT.json +3 -0
- package/src/breadcrumbs/intl/ja-JP.json +3 -0
- package/src/breadcrumbs/intl/ko-KR.json +3 -0
- package/src/breadcrumbs/intl/lt-LT.json +3 -0
- package/src/breadcrumbs/intl/lv-LV.json +3 -0
- package/src/breadcrumbs/intl/nb-NO.json +3 -0
- package/src/breadcrumbs/intl/nl-NL.json +3 -0
- package/src/breadcrumbs/intl/pl-PL.json +3 -0
- package/src/breadcrumbs/intl/pt-BR.json +3 -0
- package/src/breadcrumbs/intl/pt-PT.json +3 -0
- package/src/breadcrumbs/intl/ro-RO.json +3 -0
- package/src/breadcrumbs/intl/ru-RU.json +3 -0
- package/src/breadcrumbs/intl/sk-SK.json +3 -0
- package/src/breadcrumbs/intl/sl-SI.json +3 -0
- package/src/breadcrumbs/intl/sr-SP.json +3 -0
- package/src/breadcrumbs/intl/sv-SE.json +3 -0
- package/src/breadcrumbs/intl/tr-TR.json +3 -0
- package/src/breadcrumbs/intl/uk-UA.json +3 -0
- package/src/breadcrumbs/intl/zh-CN.json +3 -0
- package/src/breadcrumbs/intl/zh-TW.json +3 -0
- package/src/button/createButton.ts +15 -1
- package/src/button/createToggleButton.ts +18 -5
- package/src/button/createToggleButtonGroup.ts +23 -8
- package/src/button/types.ts +16 -0
- package/src/calendar/createCalendar.ts +22 -3
- package/src/calendar/createCalendarCell.ts +104 -15
- package/src/calendar/createCalendarGrid.ts +37 -13
- package/src/calendar/createCalendarMonthPicker.ts +14 -0
- package/src/calendar/createCalendarYearPicker.ts +14 -0
- package/src/calendar/createRangeCalendar.ts +124 -1
- package/src/calendar/createRangeCalendarCell.ts +179 -40
- package/src/calendar/intl/index.ts +37 -0
- package/src/calendar/utils.ts +14 -0
- package/src/checkbox/createCheckbox.ts +32 -17
- package/src/checkbox/createCheckboxGroup.ts +31 -13
- package/src/checkbox/createCheckboxGroupItem.ts +15 -1
- package/src/collections/index.ts +21 -3
- package/src/color/createColorArea.ts +226 -29
- package/src/color/createColorField.ts +98 -22
- package/src/color/createColorSlider.ts +24 -3
- package/src/color/createColorSwatch.ts +18 -1
- package/src/color/createColorWheel.ts +27 -5
- package/src/color/intl/index.ts +35 -0
- package/src/color/types.ts +47 -1
- package/src/combobox/createComboBox.ts +303 -152
- package/src/combobox/intl/generated-locales.ts +38 -1
- package/src/combobox/intl/index.ts +38 -2
- package/src/datepicker/createDateField.ts +38 -22
- package/src/datepicker/createDatePicker.ts +14 -0
- package/src/datepicker/createDatePickerGroup.ts +24 -12
- package/src/datepicker/createDateRangePicker.ts +14 -0
- package/src/datepicker/createDateSegment.ts +110 -46
- package/src/datepicker/createDisplayNames.ts +16 -1
- package/src/datepicker/createTimeField.ts +15 -5
- package/src/datepicker/intl.ts +623 -544
- package/src/dialog/createDialog.ts +57 -30
- package/src/dialog/types.ts +14 -0
- package/src/disclosure/createDisclosure.ts +28 -6
- package/src/disclosure/createDisclosureGroup.ts +3 -4
- package/src/dnd/DragManager.ts +60 -9
- package/src/dnd/DropTargetKeyboardNavigation.ts +8 -6
- package/src/dnd/createDrag.ts +18 -1
- package/src/dnd/createDraggableCollection.ts +96 -32
- package/src/dnd/createDraggableItem.ts +73 -31
- package/src/dnd/createDrop.ts +18 -1
- package/src/dnd/createDropIndicator.ts +92 -0
- package/src/dnd/createDroppableCollection.ts +113 -48
- package/src/dnd/createDroppableItem.ts +161 -13
- package/src/dnd/index.ts +3 -0
- package/src/dnd/intl/index.ts +77 -66
- package/src/dnd/types.ts +20 -1
- package/src/dnd/utils.ts +19 -0
- package/src/focus/FocusScope.tsx +542 -157
- package/src/focus/createAutoFocus.ts +94 -68
- package/src/focus/createFocusRestore.ts +16 -12
- package/src/focus/createHasTabbableChild.ts +78 -0
- package/src/focus/createVirtualFocus.ts +21 -5
- package/src/focus/virtualFocus.ts +1 -1
- package/src/form/createFormReset.ts +40 -17
- package/src/form/createFormValidation.ts +128 -86
- package/src/grid/GridKeyboardDelegate.ts +14 -0
- package/src/grid/createGrid.ts +17 -2
- package/src/grid/createGridCell.ts +17 -2
- package/src/grid/createGridRow.ts +17 -2
- package/src/grid/index.ts +2 -2
- package/src/grid/intl/ar-AE.json +8 -0
- package/src/grid/intl/bg-BG.json +8 -0
- package/src/grid/intl/cs-CZ.json +8 -0
- package/src/grid/intl/da-DK.json +8 -0
- package/src/grid/intl/de-DE.json +8 -0
- package/src/grid/intl/el-GR.json +8 -0
- package/src/grid/intl/en-US.json +8 -0
- package/src/grid/intl/es-ES.json +8 -0
- package/src/grid/intl/et-EE.json +8 -0
- package/src/grid/intl/fi-FI.json +8 -0
- package/src/grid/intl/fr-FR.json +8 -0
- package/src/grid/intl/he-IL.json +8 -0
- package/src/grid/intl/hr-HR.json +8 -0
- package/src/grid/intl/hu-HU.json +8 -0
- package/src/grid/intl/index.ts +127 -0
- package/src/grid/intl/it-IT.json +8 -0
- package/src/grid/intl/ja-JP.json +8 -0
- package/src/grid/intl/ko-KR.json +8 -0
- package/src/grid/intl/lt-LT.json +8 -0
- package/src/grid/intl/lv-LV.json +8 -0
- package/src/grid/intl/nb-NO.json +8 -0
- package/src/grid/intl/nl-NL.json +8 -0
- package/src/grid/intl/pl-PL.json +8 -0
- package/src/grid/intl/pt-BR.json +8 -0
- package/src/grid/intl/pt-PT.json +8 -0
- package/src/grid/intl/ro-RO.json +8 -0
- package/src/grid/intl/ru-RU.json +8 -0
- package/src/grid/intl/sk-SK.json +8 -0
- package/src/grid/intl/sl-SI.json +8 -0
- package/src/grid/intl/sr-SP.json +8 -0
- package/src/grid/intl/sv-SE.json +8 -0
- package/src/grid/intl/tr-TR.json +8 -0
- package/src/grid/intl/uk-UA.json +8 -0
- package/src/grid/intl/zh-CN.json +8 -0
- package/src/grid/intl/zh-TW.json +8 -0
- package/src/grid/types.ts +25 -2
- package/src/gridlist/createGridList.ts +172 -42
- package/src/gridlist/createGridListItem.ts +51 -13
- package/src/gridlist/createGridListSection.ts +14 -0
- package/src/gridlist/createGridListSelectionCheckbox.ts +31 -4
- package/src/gridlist/intl/ar-AE.json +4 -0
- package/src/gridlist/intl/bg-BG.json +4 -0
- package/src/gridlist/intl/cs-CZ.json +4 -0
- package/src/gridlist/intl/da-DK.json +4 -0
- package/src/gridlist/intl/de-DE.json +4 -0
- package/src/gridlist/intl/el-GR.json +4 -0
- package/src/gridlist/intl/en-US.json +4 -0
- package/src/gridlist/intl/es-ES.json +4 -0
- package/src/gridlist/intl/et-EE.json +4 -0
- package/src/gridlist/intl/fi-FI.json +4 -0
- package/src/gridlist/intl/fr-FR.json +4 -0
- package/src/gridlist/intl/he-IL.json +4 -0
- package/src/gridlist/intl/hr-HR.json +4 -0
- package/src/gridlist/intl/hu-HU.json +4 -0
- package/src/gridlist/intl/index.ts +123 -0
- package/src/gridlist/intl/it-IT.json +4 -0
- package/src/gridlist/intl/ja-JP.json +4 -0
- package/src/gridlist/intl/ko-KR.json +4 -0
- package/src/gridlist/intl/lt-LT.json +4 -0
- package/src/gridlist/intl/lv-LV.json +4 -0
- package/src/gridlist/intl/nb-NO.json +4 -0
- package/src/gridlist/intl/nl-NL.json +4 -0
- package/src/gridlist/intl/pl-PL.json +4 -0
- package/src/gridlist/intl/pt-BR.json +4 -0
- package/src/gridlist/intl/pt-PT.json +4 -0
- package/src/gridlist/intl/ro-RO.json +4 -0
- package/src/gridlist/intl/ru-RU.json +4 -0
- package/src/gridlist/intl/sk-SK.json +4 -0
- package/src/gridlist/intl/sl-SI.json +4 -0
- package/src/gridlist/intl/sr-SP.json +4 -0
- package/src/gridlist/intl/sv-SE.json +4 -0
- package/src/gridlist/intl/tr-TR.json +4 -0
- package/src/gridlist/intl/uk-UA.json +4 -0
- package/src/gridlist/intl/zh-CN.json +4 -0
- package/src/gridlist/intl/zh-TW.json +4 -0
- package/src/gridlist/types.ts +54 -2
- package/src/i18n/compileIcu.ts +440 -0
- package/src/i18n/createCollator.ts +14 -0
- package/src/i18n/createDateFormatter.ts +14 -0
- package/src/i18n/createFilter.ts +14 -0
- package/src/i18n/createListFormatter.ts +38 -0
- package/src/i18n/createNumberFormatter.ts +14 -0
- package/src/i18n/createStringFormatter.ts +64 -8
- package/src/i18n/index.ts +3 -0
- package/src/i18n/locale.tsx +60 -19
- package/src/i18n/utils.ts +14 -0
- package/src/index.ts +49 -1
- package/src/interactions/FocusableProvider.tsx +28 -11
- package/src/interactions/PressEvent.ts +16 -1
- package/src/interactions/createContextMenu.ts +108 -0
- package/src/interactions/createFocus.ts +26 -6
- package/src/interactions/createFocusRing.ts +28 -13
- package/src/interactions/createFocusWithin.ts +23 -3
- package/src/interactions/createFocusable.ts +45 -28
- package/src/interactions/createHover.ts +102 -81
- package/src/interactions/createInteractionModality.ts +135 -45
- package/src/interactions/createKeyboard.ts +85 -9
- package/src/interactions/createKeyboardShortcutHandler.ts +157 -0
- package/src/interactions/createLongPress.ts +31 -9
- package/src/interactions/createMove.ts +24 -3
- package/src/interactions/createPress.ts +85 -41
- package/src/interactions/index.ts +1 -0
- package/src/label/createField.ts +58 -63
- package/src/label/createLabel.ts +21 -4
- package/src/label/createLabels.ts +25 -1
- package/src/landmark/createLandmark.ts +27 -4
- package/src/link/createLink.ts +20 -12
- package/src/listbox/createListBox.ts +86 -310
- package/src/listbox/createOption.ts +50 -14
- package/src/live-announcer/announce.ts +21 -6
- package/src/menu/createMenu.ts +92 -5
- package/src/menu/createMenuItem.ts +40 -23
- package/src/menu/createMenuTrigger.ts +179 -51
- package/src/menu/index.ts +2 -0
- package/src/menu/intl/index.ts +130 -0
- package/src/meter/createMeter.ts +20 -5
- package/src/numberfield/createNumberField.ts +254 -14
- package/src/overlays/ariaHideOutside.ts +76 -11
- package/src/overlays/createInteractOutside.ts +74 -47
- package/src/overlays/createModal.tsx +42 -27
- package/src/overlays/createOverlay.ts +107 -66
- package/src/overlays/createOverlayTrigger.ts +21 -6
- package/src/overlays/createPreventScroll.ts +92 -62
- package/src/overlays/index.ts +2 -0
- package/src/overlays/intl/ar-AE.json +3 -0
- package/src/overlays/intl/bg-BG.json +3 -0
- package/src/overlays/intl/cs-CZ.json +3 -0
- package/src/overlays/intl/da-DK.json +3 -0
- package/src/overlays/intl/de-DE.json +3 -0
- package/src/overlays/intl/el-GR.json +3 -0
- package/src/overlays/intl/en-US.json +3 -0
- package/src/overlays/intl/es-ES.json +3 -0
- package/src/overlays/intl/et-EE.json +3 -0
- package/src/overlays/intl/fi-FI.json +3 -0
- package/src/overlays/intl/fr-FR.json +3 -0
- package/src/overlays/intl/he-IL.json +3 -0
- package/src/overlays/intl/hr-HR.json +3 -0
- package/src/overlays/intl/hu-HU.json +3 -0
- package/src/overlays/intl/index.ts +122 -0
- package/src/overlays/intl/it-IT.json +3 -0
- package/src/overlays/intl/ja-JP.json +3 -0
- package/src/overlays/intl/ko-KR.json +3 -0
- package/src/overlays/intl/lt-LT.json +3 -0
- package/src/overlays/intl/lv-LV.json +3 -0
- package/src/overlays/intl/nb-NO.json +3 -0
- package/src/overlays/intl/nl-NL.json +3 -0
- package/src/overlays/intl/pl-PL.json +3 -0
- package/src/overlays/intl/pt-BR.json +3 -0
- package/src/overlays/intl/pt-PT.json +3 -0
- package/src/overlays/intl/ro-RO.json +3 -0
- package/src/overlays/intl/ru-RU.json +3 -0
- package/src/overlays/intl/sk-SK.json +3 -0
- package/src/overlays/intl/sl-SI.json +3 -0
- package/src/overlays/intl/sr-SP.json +3 -0
- package/src/overlays/intl/sv-SE.json +3 -0
- package/src/overlays/intl/tr-TR.json +3 -0
- package/src/overlays/intl/uk-UA.json +3 -0
- package/src/overlays/intl/zh-CN.json +3 -0
- package/src/overlays/intl/zh-TW.json +3 -0
- package/src/popover/calculatePosition.ts +21 -3
- package/src/popover/createOverlayPosition.ts +149 -41
- package/src/popover/createPopover.ts +88 -23
- package/src/progress/createProgressBar.ts +19 -4
- package/src/radio/createRadio.ts +80 -25
- package/src/radio/createRadioGroup.ts +47 -13
- package/src/searchfield/createSearchField.ts +31 -2
- package/src/searchfield/intl/ar-AE.json +3 -0
- package/src/searchfield/intl/bg-BG.json +3 -0
- package/src/searchfield/intl/cs-CZ.json +3 -0
- package/src/searchfield/intl/da-DK.json +3 -0
- package/src/searchfield/intl/de-DE.json +3 -0
- package/src/searchfield/intl/el-GR.json +3 -0
- package/src/searchfield/intl/en-US.json +3 -0
- package/src/searchfield/intl/es-ES.json +3 -0
- package/src/searchfield/intl/et-EE.json +3 -0
- package/src/searchfield/intl/fi-FI.json +3 -0
- package/src/searchfield/intl/fr-FR.json +3 -0
- package/src/searchfield/intl/he-IL.json +3 -0
- package/src/searchfield/intl/hr-HR.json +3 -0
- package/src/searchfield/intl/hu-HU.json +3 -0
- package/src/searchfield/intl/index.ts +122 -0
- package/src/searchfield/intl/it-IT.json +3 -0
- package/src/searchfield/intl/ja-JP.json +3 -0
- package/src/searchfield/intl/ko-KR.json +3 -0
- package/src/searchfield/intl/lt-LT.json +3 -0
- package/src/searchfield/intl/lv-LV.json +3 -0
- package/src/searchfield/intl/nb-NO.json +3 -0
- package/src/searchfield/intl/nl-NL.json +3 -0
- package/src/searchfield/intl/pl-PL.json +3 -0
- package/src/searchfield/intl/pt-BR.json +3 -0
- package/src/searchfield/intl/pt-PT.json +3 -0
- package/src/searchfield/intl/ro-RO.json +3 -0
- package/src/searchfield/intl/ru-RU.json +3 -0
- package/src/searchfield/intl/sk-SK.json +3 -0
- package/src/searchfield/intl/sl-SI.json +3 -0
- package/src/searchfield/intl/sr-SP.json +3 -0
- package/src/searchfield/intl/sv-SE.json +3 -0
- package/src/searchfield/intl/tr-TR.json +3 -0
- package/src/searchfield/intl/uk-UA.json +3 -0
- package/src/searchfield/intl/zh-CN.json +3 -0
- package/src/searchfield/intl/zh-TW.json +3 -0
- package/src/select/createHiddenSelect.tsx +166 -69
- package/src/select/createSelect.ts +80 -34
- package/src/selection/DOMLayoutDelegate.ts +14 -0
- package/src/selection/ListKeyboardDelegate.ts +16 -1
- package/src/selection/constants.ts +14 -0
- package/src/selection/createCollectionRowInteraction.ts +75 -6
- package/src/selection/createScrollIntoViewOnFocus.ts +23 -8
- package/src/selection/createSelectableCollection.ts +352 -226
- package/src/selection/createSelectableItem.ts +51 -12
- package/src/selection/createSelectableList.ts +21 -1
- package/src/selection/createTypeSelect.ts +21 -5
- package/src/selection/selectItem.ts +14 -0
- package/src/selection/utils.ts +15 -1
- package/src/separator/createSeparator.ts +17 -1
- package/src/slider/createSlider.ts +24 -18
- package/src/spinbutton/createSpinButton.ts +16 -2
- package/src/spinbutton/index.ts +2 -10
- package/src/spinbutton/intl.ts +70 -34
- package/src/ssr/index.tsx +79 -48
- package/src/steplist/createStepList.ts +17 -2
- package/src/switch/createSwitch.ts +25 -4
- package/src/table/createTable.ts +104 -52
- package/src/table/createTableCell.ts +17 -2
- package/src/table/createTableColumnHeader.ts +21 -3
- package/src/table/createTableColumnResize.ts +19 -3
- package/src/table/createTableHeaderRow.ts +17 -2
- package/src/table/createTableRow.ts +29 -22
- package/src/table/createTableRowGroup.ts +18 -3
- package/src/table/createTableSelectAllCheckbox.ts +30 -14
- package/src/table/createTableSelectionCheckbox.ts +21 -3
- package/src/table/index.ts +2 -2
- package/src/table/intl/ar-AE.json +13 -0
- package/src/table/intl/bg-BG.json +13 -0
- package/src/table/intl/cs-CZ.json +13 -0
- package/src/table/intl/da-DK.json +13 -0
- package/src/table/intl/de-DE.json +13 -0
- package/src/table/intl/el-GR.json +13 -0
- package/src/table/intl/en-US.json +13 -0
- package/src/table/intl/es-ES.json +13 -0
- package/src/table/intl/et-EE.json +13 -0
- package/src/table/intl/fi-FI.json +13 -0
- package/src/table/intl/fr-FR.json +13 -0
- package/src/table/intl/he-IL.json +13 -0
- package/src/table/intl/hr-HR.json +13 -0
- package/src/table/intl/hu-HU.json +13 -0
- package/src/table/intl/index.ts +132 -0
- package/src/table/intl/it-IT.json +13 -0
- package/src/table/intl/ja-JP.json +13 -0
- package/src/table/intl/ko-KR.json +13 -0
- package/src/table/intl/lt-LT.json +13 -0
- package/src/table/intl/lv-LV.json +13 -0
- package/src/table/intl/nb-NO.json +13 -0
- package/src/table/intl/nl-NL.json +13 -0
- package/src/table/intl/pl-PL.json +13 -0
- package/src/table/intl/pt-BR.json +13 -0
- package/src/table/intl/pt-PT.json +13 -0
- package/src/table/intl/ro-RO.json +13 -0
- package/src/table/intl/ru-RU.json +13 -0
- package/src/table/intl/sk-SK.json +13 -0
- package/src/table/intl/sl-SI.json +13 -0
- package/src/table/intl/sr-SP.json +13 -0
- package/src/table/intl/sv-SE.json +13 -0
- package/src/table/intl/tr-TR.json +13 -0
- package/src/table/intl/uk-UA.json +13 -0
- package/src/table/intl/zh-CN.json +13 -0
- package/src/table/intl/zh-TW.json +13 -0
- package/src/table/types.ts +44 -2
- package/src/table/utils.ts +15 -6
- package/src/tabs/createTabs.ts +104 -37
- package/src/tag/createTag.ts +118 -37
- package/src/tag/createTagGroup.ts +20 -12
- package/src/tag/intl/ar-AE.json +4 -0
- package/src/tag/intl/bg-BG.json +4 -0
- package/src/tag/intl/cs-CZ.json +4 -0
- package/src/tag/intl/da-DK.json +4 -0
- package/src/tag/intl/de-DE.json +4 -0
- package/src/tag/intl/el-GR.json +4 -0
- package/src/tag/intl/en-US.json +4 -0
- package/src/tag/intl/es-ES.json +4 -0
- package/src/tag/intl/et-EE.json +4 -0
- package/src/tag/intl/fi-FI.json +4 -0
- package/src/tag/intl/fr-FR.json +4 -0
- package/src/tag/intl/he-IL.json +4 -0
- package/src/tag/intl/hr-HR.json +4 -0
- package/src/tag/intl/hu-HU.json +4 -0
- package/src/tag/intl/index.ts +123 -0
- package/src/tag/intl/it-IT.json +4 -0
- package/src/tag/intl/ja-JP.json +4 -0
- package/src/tag/intl/ko-KR.json +4 -0
- package/src/tag/intl/lt-LT.json +4 -0
- package/src/tag/intl/lv-LV.json +4 -0
- package/src/tag/intl/nb-NO.json +4 -0
- package/src/tag/intl/nl-NL.json +4 -0
- package/src/tag/intl/pl-PL.json +4 -0
- package/src/tag/intl/pt-BR.json +4 -0
- package/src/tag/intl/pt-PT.json +4 -0
- package/src/tag/intl/ro-RO.json +4 -0
- package/src/tag/intl/ru-RU.json +4 -0
- package/src/tag/intl/sk-SK.json +4 -0
- package/src/tag/intl/sl-SI.json +4 -0
- package/src/tag/intl/sr-SP.json +4 -0
- package/src/tag/intl/sv-SE.json +4 -0
- package/src/tag/intl/tr-TR.json +4 -0
- package/src/tag/intl/uk-UA.json +4 -0
- package/src/tag/intl/zh-CN.json +4 -0
- package/src/tag/intl/zh-TW.json +4 -0
- package/src/textfield/createTextField.ts +104 -14
- package/src/toast/createToast.ts +39 -6
- package/src/toast/createToastRegion.ts +28 -15
- package/src/toast/intl/ar-AE.json +4 -0
- package/src/toast/intl/bg-BG.json +4 -0
- package/src/toast/intl/cs-CZ.json +4 -0
- package/src/toast/intl/da-DK.json +4 -0
- package/src/toast/intl/de-DE.json +4 -0
- package/src/toast/intl/el-GR.json +4 -0
- package/src/toast/intl/en-US.json +4 -0
- package/src/toast/intl/es-ES.json +4 -0
- package/src/toast/intl/et-EE.json +4 -0
- package/src/toast/intl/fi-FI.json +4 -0
- package/src/toast/intl/fr-FR.json +4 -0
- package/src/toast/intl/he-IL.json +4 -0
- package/src/toast/intl/hr-HR.json +4 -0
- package/src/toast/intl/hu-HU.json +4 -0
- package/src/toast/intl/index.ts +123 -0
- package/src/toast/intl/it-IT.json +4 -0
- package/src/toast/intl/ja-JP.json +4 -0
- package/src/toast/intl/ko-KR.json +4 -0
- package/src/toast/intl/lt-LT.json +4 -0
- package/src/toast/intl/lv-LV.json +4 -0
- package/src/toast/intl/nb-NO.json +4 -0
- package/src/toast/intl/nl-NL.json +4 -0
- package/src/toast/intl/pl-PL.json +4 -0
- package/src/toast/intl/pt-BR.json +4 -0
- package/src/toast/intl/pt-PT.json +4 -0
- package/src/toast/intl/ro-RO.json +4 -0
- package/src/toast/intl/ru-RU.json +4 -0
- package/src/toast/intl/sk-SK.json +4 -0
- package/src/toast/intl/sl-SI.json +4 -0
- package/src/toast/intl/sr-SP.json +4 -0
- package/src/toast/intl/sv-SE.json +4 -0
- package/src/toast/intl/tr-TR.json +4 -0
- package/src/toast/intl/uk-UA.json +4 -0
- package/src/toast/intl/zh-CN.json +4 -0
- package/src/toast/intl/zh-TW.json +4 -0
- package/src/toggle/createToggle.ts +96 -15
- package/src/tokenfield/createToken.ts +82 -0
- package/src/tokenfield/createTokenField.ts +859 -0
- package/src/tokenfield/index.ts +10 -0
- package/src/toolbar/createToolbar.ts +26 -5
- package/src/tooltip/createPreviewTrigger.ts +301 -0
- package/src/tooltip/createSafeArea.ts +165 -0
- package/src/tooltip/createTooltip.ts +15 -1
- package/src/tooltip/createTooltipTrigger.ts +24 -3
- package/src/tooltip/index.ts +7 -0
- package/src/tooltip/intl/index.ts +76 -0
- package/src/tree/createTree.ts +66 -50
- package/src/tree/createTreeItem.ts +85 -21
- package/src/tree/createTreeSelectionCheckbox.ts +29 -28
- package/src/tree/intl/ar-AE.json +4 -0
- package/src/tree/intl/bg-BG.json +4 -0
- package/src/tree/intl/cs-CZ.json +4 -0
- package/src/tree/intl/da-DK.json +4 -0
- package/src/tree/intl/de-DE.json +4 -0
- package/src/tree/intl/el-GR.json +4 -0
- package/src/tree/intl/en-US.json +4 -0
- package/src/tree/intl/es-ES.json +4 -0
- package/src/tree/intl/et-EE.json +4 -0
- package/src/tree/intl/fi-FI.json +4 -0
- package/src/tree/intl/fr-FR.json +4 -0
- package/src/tree/intl/he-IL.json +4 -0
- package/src/tree/intl/hr-HR.json +4 -0
- package/src/tree/intl/hu-HU.json +4 -0
- package/src/tree/intl/index.ts +123 -0
- package/src/tree/intl/it-IT.json +4 -0
- package/src/tree/intl/ja-JP.json +4 -0
- package/src/tree/intl/ko-KR.json +4 -0
- package/src/tree/intl/lt-LT.json +4 -0
- package/src/tree/intl/lv-LV.json +4 -0
- package/src/tree/intl/nb-NO.json +4 -0
- package/src/tree/intl/nl-NL.json +4 -0
- package/src/tree/intl/pl-PL.json +4 -0
- package/src/tree/intl/pt-BR.json +4 -0
- package/src/tree/intl/pt-PT.json +4 -0
- package/src/tree/intl/ro-RO.json +4 -0
- package/src/tree/intl/ru-RU.json +4 -0
- package/src/tree/intl/sk-SK.json +4 -0
- package/src/tree/intl/sl-SI.json +4 -0
- package/src/tree/intl/sr-SP.json +4 -0
- package/src/tree/intl/sv-SE.json +4 -0
- package/src/tree/intl/tr-TR.json +4 -0
- package/src/tree/intl/uk-UA.json +4 -0
- package/src/tree/intl/zh-CN.json +4 -0
- package/src/tree/intl/zh-TW.json +4 -0
- package/src/tree/types.ts +35 -2
- package/src/utils/ShadowTreeWalker.ts +249 -0
- package/src/utils/animation.ts +106 -85
- package/src/utils/capture.ts +51 -0
- package/src/utils/createDescription.ts +31 -8
- package/src/utils/dom.ts +314 -33
- package/src/utils/domAttrs.ts +84 -0
- package/src/utils/env.ts +2 -0
- package/src/utils/events.ts +39 -3
- package/src/utils/filterDOMProps.ts +34 -2
- package/src/utils/focus.ts +186 -32
- package/src/utils/geometry.ts +15 -1
- package/src/utils/getMetaValue.ts +57 -0
- package/src/utils/getNonce.ts +40 -0
- package/src/utils/globalListeners.ts +16 -3
- package/src/utils/index.ts +14 -0
- package/src/utils/keyboard.ts +15 -1
- package/src/utils/mergeProps.ts +149 -16
- package/src/utils/owner.ts +26 -0
- package/src/utils/platform.ts +15 -1
- package/src/utils/reactivity.ts +2 -0
- package/src/utils/refs.ts +53 -0
- package/src/utils/runAfterTransition.ts +117 -0
- package/src/utils/scrollIntoView.ts +14 -0
- package/src/utils/splitProps.ts +70 -0
- package/src/utils/textSelection.ts +15 -1
- package/src/virtualizer/ScrollView.ts +210 -0
- package/src/virtualizer/index.ts +2 -0
- package/src/virtualizer/utils.ts +100 -0
- package/src/visually-hidden/createVisuallyHidden.ts +20 -4
- package/dist/_chunk/createInteractionModality.js +0 -268
- package/dist/_chunk/createInteractionModality.js.map +0 -1
- package/dist/_chunk/createInteractionModality.jsx +0 -268
- package/dist/_chunk/createInteractionModality.jsx.map +0 -1
- package/dist/_chunk/focus2.js +0 -631
- package/dist/_chunk/focus2.js.map +0 -1
- package/dist/_chunk/focus2.jsx +0 -631
- package/dist/_chunk/focus2.jsx.map +0 -1
- package/dist/_chunk/visually-hidden.js.map +0 -1
- package/dist/_chunk/visually-hidden.jsx.map +0 -1
- package/dist/checkbox/createCheckboxGroupState.d.ts +0 -71
- package/dist/checkbox/createCheckboxGroupState.d.ts.map +0 -1
- package/dist/radio/createRadioGroupState.d.ts +0 -77
- package/dist/radio/createRadioGroupState.d.ts.map +0 -1
- package/dist/toggle/createToggleState.d.ts +0 -34
- package/dist/toggle/createToggleState.d.ts.map +0 -1
- package/src/checkbox/createCheckboxGroupState.ts +0 -174
- package/src/radio/createRadioGroupState.ts +0 -177
- package/src/toggle/createToggleState.ts +0 -86
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createKeyboard.js","names":[],"sources":["../../src/interactions/createKeyboardShortcutHandler.ts","../../src/interactions/createKeyboard.ts"],"sourcesContent":["/*\n * Copyright 2025 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/interactions/createKeyboardShortcutHandler.ts\n\n/**\n * Keyboard shortcut parsing and exact-match dispatch.\n *\n * Port of React Aria's createKeyboardShortcutHandler.\n */\n\nimport { isMac } from \"../utils/platform\";\nimport type { KeyboardEvent } from \"./createKeyboard\";\n\nexport type KeyboardShortcutAction = (\n event: KeyboardEvent,\n) =>\n | void\n | boolean\n | Partial<{ shouldContinuePropagation?: boolean; shouldPreventDefault?: boolean }>;\n\n/** Maps shortcut strings such as `Mod+s` to handlers. */\nexport type KeyboardShortcutBindings = Record<string, KeyboardShortcutAction>;\n\nconst modifierNames = new Set([\"shift\", \"alt\", \"control\", \"meta\", \"mod\"]);\nconst canonicalModifierOrder = [\"Alt\", \"Control\", \"Meta\", \"Shift\"] as const;\n\nexport interface ParsedKeyboardShortcut {\n shift: boolean;\n alt: boolean;\n ctrl: boolean;\n meta: boolean;\n mod: boolean;\n key: string;\n}\n\nexport function modifierSetFromParsed(parsed: ParsedKeyboardShortcut): Set<string> {\n const modifiers = new Set<string>();\n if (parsed.alt) modifiers.add(\"Alt\");\n if (parsed.shift) modifiers.add(\"Shift\");\n if (parsed.ctrl) modifiers.add(\"Control\");\n if (parsed.meta) modifiers.add(\"Meta\");\n if (parsed.mod) modifiers.add(isMac() ? \"Meta\" : \"Control\");\n return modifiers;\n}\n\nexport function modifierSetFromEvent(event: KeyboardEvent): Set<string> {\n const modifiers = new Set<string>();\n if (event.altKey) modifiers.add(\"Alt\");\n if (event.ctrlKey) modifiers.add(\"Control\");\n if (event.metaKey) modifiers.add(\"Meta\");\n if (event.shiftKey) modifiers.add(\"Shift\");\n return modifiers;\n}\n\nfunction sortedModifierTokens(modifiers: Set<string>): string[] {\n return canonicalModifierOrder.filter((name) => modifiers.has(name));\n}\n\n/** Parses a shortcut. Modifier names are case-insensitive and order-independent. */\nexport function parseKeyboardShortcut(specification: string): ParsedKeyboardShortcut {\n const parsed = specification.split(\"+\").reduce<ParsedKeyboardShortcut>(\n (result, part) => {\n const lowerPart = part.toLowerCase();\n if (modifierNames.has(lowerPart)) {\n if (lowerPart === \"shift\") result.shift = true;\n else if (lowerPart === \"alt\") result.alt = true;\n else if (lowerPart === \"control\") result.ctrl = true;\n else if (lowerPart === \"meta\") result.meta = true;\n else if (lowerPart === \"mod\") result.mod = true;\n } else {\n result.key = part;\n }\n return result;\n },\n { shift: false, alt: false, ctrl: false, meta: false, mod: false, key: \"\" },\n );\n\n if (parsed.key === \"\") {\n throw new Error(\n `Invalid keyboard shortcut: \"${specification}\". Must include exactly one non-modifier key (e.g. \"a\", \"Enter\", \"ArrowDown\"). Combine any of Shift, Alt, Ctrl, Meta, and Mod.`,\n );\n }\n\n return parsed;\n}\n\nfunction normalizeEventKey(key: string): string {\n return key.toLowerCase();\n}\n\nconst keyAliases: Record<string, string> = {\n space: \" \",\n esc: \"escape\",\n del: \"delete\",\n ins: \"insert\",\n left: \"arrowleft\",\n right: \"arrowright\",\n up: \"arrowup\",\n down: \"arrowdown\",\n pageup: \"pageup\",\n pagedown: \"pagedown\",\n};\n\nfunction canonicalKeyFromSpecification(key: string): string {\n const normalizedKey = normalizeEventKey(key);\n return keyAliases[normalizedKey] ?? normalizedKey;\n}\n\nexport function canonicalKeyboardShortcut(parsed: ParsedKeyboardShortcut): string {\n const modifiers = sortedModifierTokens(modifierSetFromParsed(parsed));\n const key = canonicalKeyFromSpecification(parsed.key);\n return modifiers.length > 0 ? `${modifiers.join(\"+\")}+${key}` : key;\n}\n\nexport function keyboardEventToCanonicalShortcut(event: KeyboardEvent): string {\n const modifiers = sortedModifierTokens(modifierSetFromEvent(event));\n const key = normalizeEventKey(event.key);\n return modifiers.length > 0 ? `${modifiers.join(\"+\")}+${key}` : key;\n}\n\n/** Returns a keydown handler that runs an action for an exact shortcut match. */\nexport function createKeyboardShortcutHandler(\n bindings: KeyboardShortcutBindings,\n): (event: KeyboardEvent) => void {\n const actions = new Map<string, KeyboardShortcutAction>();\n for (const [specification, action] of Object.entries(bindings)) {\n actions.set(canonicalKeyboardShortcut(parseKeyboardShortcut(specification)), action);\n }\n\n return (event: KeyboardEvent) => {\n const action = actions.get(keyboardEventToCanonicalShortcut(event));\n let result = action?.(event);\n\n if (result === undefined && action !== undefined) {\n result = { shouldContinuePropagation: false, shouldPreventDefault: true };\n } else if (typeof result === \"boolean\") {\n result = { shouldContinuePropagation: !result, shouldPreventDefault: result };\n }\n\n if (result?.shouldPreventDefault) {\n event.preventDefault();\n }\n if (!action || result?.shouldContinuePropagation) {\n event.continuePropagation();\n }\n };\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/interactions/useKeyboard.ts\n\n/**\n * createKeyboard - Handles keyboard interactions for a focusable element.\n *\n * This is a 1-1 port of React-Aria's useKeyboard hook adapted for SolidJS.\n */\n\nimport type { JSX } from \"@solidjs/web\";\nimport { chain } from \"../utils/events\";\nimport { getEventTarget, nodeContains } from \"../utils/dom\";\nimport { access, type MaybeAccessor } from \"../utils\";\nimport {\n createKeyboardShortcutHandler,\n type KeyboardShortcutBindings,\n} from \"./createKeyboardShortcutHandler\";\n\n/**\n * Keyboard event with continuePropagation support.\n * By default, keyboard events stop propagation.\n */\nexport interface KeyboardEvent extends globalThis.KeyboardEvent {\n /** Call this to allow the event to propagate to parent elements. */\n continuePropagation(): void;\n}\n\nexport interface KeyboardEvents {\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}\n\nexport interface CreateKeyboardProps extends KeyboardEvents {\n /** Whether the keyboard events should be disabled. */\n isDisabled?: MaybeAccessor<boolean>;\n /** Keyboard shortcuts to handle. */\n shortcuts?: KeyboardShortcutBindings;\n /** Whether shortcut handlers receive repeated keydown events. @default false */\n allowRepeats?: boolean;\n /** Whether shortcut handlers receive composing keydown events. @default false */\n allowComposing?: boolean;\n}\n\nexport interface KeyboardResult {\n /** Props to spread onto the target element. */\n keyboardProps: Pick<JSX.HTMLAttributes<HTMLElement>, \"onKeyDown\" | \"onKeyUp\">;\n}\n\n/**\n * Wraps a keyboard event handler to make stopPropagation the default,\n * and support continuePropagation instead.\n */\nfunction createEventHandler<T extends globalThis.KeyboardEvent>(\n handler?: (e: KeyboardEvent) => void,\n): ((e: T) => void) | undefined {\n if (!handler) {\n return undefined;\n }\n\n return (e: T) => {\n let shouldStopPropagation = true;\n\n // A nested createEventHandler may already have installed continuePropagation\n // on this event; capture it so continuing here continues on the wrapper too.\n const parentContinuePropagation = (e as { continuePropagation?: () => void })\n .continuePropagation;\n\n // Create a wrapped event with continuePropagation\n const event = Object.assign(e, {\n continuePropagation() {\n shouldStopPropagation = false;\n // Nested createEventHandler might have set continuePropagation, so we\n // should continue propagation on the wrappers too.\n if (typeof parentContinuePropagation === \"function\") {\n parentContinuePropagation.call(e);\n }\n },\n }) as KeyboardEvent;\n\n handler(event);\n\n if (shouldStopPropagation) {\n e.stopPropagation();\n }\n };\n}\n\n/**\n * Handles keyboard interactions for a focusable element.\n *\n * Based on react-aria's useKeyboard but adapted for SolidJS.\n */\nexport function createKeyboard(props: CreateKeyboardProps = {}): KeyboardResult {\n let onKeyDown: ((event: globalThis.KeyboardEvent) => void) | undefined;\n let onKeyUp: ((event: globalThis.KeyboardEvent) => void) | undefined;\n\n if (props.shortcuts) {\n const shortcutHandler = createKeyboardShortcutHandler(props.shortcuts);\n const shortcutOnKeyDown = createEventHandler((event) => {\n if (!nodeContains(event.currentTarget as Node | null, getEventTarget<Node>(event))) {\n event.continuePropagation();\n return;\n }\n\n if (\n (event.repeat && !(props.allowRepeats ?? false)) ||\n (event.isComposing && !(props.allowComposing ?? false))\n ) {\n event.continuePropagation();\n return;\n }\n\n shortcutHandler(event);\n });\n const shortcutOnKeyUp = createEventHandler((event) => {\n if (!nodeContains(event.currentTarget as Node | null, getEventTarget<Node>(event))) {\n event.continuePropagation();\n return;\n }\n\n if (\n (event.repeat && !(props.allowRepeats ?? false)) ||\n (event.isComposing && !(props.allowComposing ?? false))\n ) {\n event.continuePropagation();\n return;\n }\n\n event.continuePropagation();\n });\n\n onKeyDown = props.onKeyDown\n ? chain(props.onKeyDown as (event: globalThis.KeyboardEvent) => void, shortcutOnKeyDown)\n : shortcutOnKeyDown;\n onKeyUp = props.onKeyUp\n ? chain(props.onKeyUp as (event: globalThis.KeyboardEvent) => void, shortcutOnKeyUp)\n : shortcutOnKeyUp;\n } else {\n onKeyDown = createEventHandler(props.onKeyDown);\n onKeyUp = createEventHandler(props.onKeyUp);\n }\n\n return {\n keyboardProps: {\n get onKeyDown() {\n return access(props.isDisabled) ? undefined : onKeyDown;\n },\n get onKeyUp() {\n return access(props.isDisabled) ? undefined : onKeyUp;\n },\n },\n };\n}\n\nexport type { KeyboardShortcutBindings } from \"./createKeyboardShortcutHandler\";\n"],"mappings":"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"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/interactions/useKeyboard.ts
|
|
13
|
+
/*
|
|
14
|
+
* Copyright 2025 Adobe. All rights reserved.
|
|
15
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
16
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
17
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
+
*
|
|
19
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
20
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
21
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
22
|
+
* governing permissions and limitations under the License.
|
|
23
|
+
*/
|
|
24
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/interactions/createKeyboardShortcutHandler.ts
|
|
25
|
+
import { t as access } from "./reactivity.jsx";
|
|
26
|
+
import { Z as isMac, r as getEventTarget, v as nodeContains, z as chain } from "./dom.jsx";
|
|
27
|
+
//#region src/interactions/createKeyboardShortcutHandler.ts
|
|
28
|
+
/**
|
|
29
|
+
* Keyboard shortcut parsing and exact-match dispatch.
|
|
30
|
+
*
|
|
31
|
+
* Port of React Aria's createKeyboardShortcutHandler.
|
|
32
|
+
*/
|
|
33
|
+
const modifierNames = /* @__PURE__ */ new Set([
|
|
34
|
+
"shift",
|
|
35
|
+
"alt",
|
|
36
|
+
"control",
|
|
37
|
+
"meta",
|
|
38
|
+
"mod"
|
|
39
|
+
]);
|
|
40
|
+
const canonicalModifierOrder = [
|
|
41
|
+
"Alt",
|
|
42
|
+
"Control",
|
|
43
|
+
"Meta",
|
|
44
|
+
"Shift"
|
|
45
|
+
];
|
|
46
|
+
function modifierSetFromParsed(parsed) {
|
|
47
|
+
const modifiers = /* @__PURE__ */ new Set();
|
|
48
|
+
if (parsed.alt) modifiers.add("Alt");
|
|
49
|
+
if (parsed.shift) modifiers.add("Shift");
|
|
50
|
+
if (parsed.ctrl) modifiers.add("Control");
|
|
51
|
+
if (parsed.meta) modifiers.add("Meta");
|
|
52
|
+
if (parsed.mod) modifiers.add(isMac() ? "Meta" : "Control");
|
|
53
|
+
return modifiers;
|
|
54
|
+
}
|
|
55
|
+
function modifierSetFromEvent(event) {
|
|
56
|
+
const modifiers = /* @__PURE__ */ new Set();
|
|
57
|
+
if (event.altKey) modifiers.add("Alt");
|
|
58
|
+
if (event.ctrlKey) modifiers.add("Control");
|
|
59
|
+
if (event.metaKey) modifiers.add("Meta");
|
|
60
|
+
if (event.shiftKey) modifiers.add("Shift");
|
|
61
|
+
return modifiers;
|
|
62
|
+
}
|
|
63
|
+
function sortedModifierTokens(modifiers) {
|
|
64
|
+
return canonicalModifierOrder.filter((name) => modifiers.has(name));
|
|
65
|
+
}
|
|
66
|
+
/** Parses a shortcut. Modifier names are case-insensitive and order-independent. */
|
|
67
|
+
function parseKeyboardShortcut(specification) {
|
|
68
|
+
const parsed = specification.split("+").reduce((result, part) => {
|
|
69
|
+
const lowerPart = part.toLowerCase();
|
|
70
|
+
if (modifierNames.has(lowerPart)) {
|
|
71
|
+
if (lowerPart === "shift") result.shift = true;
|
|
72
|
+
else if (lowerPart === "alt") result.alt = true;
|
|
73
|
+
else if (lowerPart === "control") result.ctrl = true;
|
|
74
|
+
else if (lowerPart === "meta") result.meta = true;
|
|
75
|
+
else if (lowerPart === "mod") result.mod = true;
|
|
76
|
+
} else result.key = part;
|
|
77
|
+
return result;
|
|
78
|
+
}, {
|
|
79
|
+
shift: false,
|
|
80
|
+
alt: false,
|
|
81
|
+
ctrl: false,
|
|
82
|
+
meta: false,
|
|
83
|
+
mod: false,
|
|
84
|
+
key: ""
|
|
85
|
+
});
|
|
86
|
+
if (parsed.key === "") throw new Error(`Invalid keyboard shortcut: "${specification}". Must include exactly one non-modifier key (e.g. "a", "Enter", "ArrowDown"). Combine any of Shift, Alt, Ctrl, Meta, and Mod.`);
|
|
87
|
+
return parsed;
|
|
88
|
+
}
|
|
89
|
+
function normalizeEventKey(key) {
|
|
90
|
+
return key.toLowerCase();
|
|
91
|
+
}
|
|
92
|
+
const keyAliases = {
|
|
93
|
+
space: " ",
|
|
94
|
+
esc: "escape",
|
|
95
|
+
del: "delete",
|
|
96
|
+
ins: "insert",
|
|
97
|
+
left: "arrowleft",
|
|
98
|
+
right: "arrowright",
|
|
99
|
+
up: "arrowup",
|
|
100
|
+
down: "arrowdown",
|
|
101
|
+
pageup: "pageup",
|
|
102
|
+
pagedown: "pagedown"
|
|
103
|
+
};
|
|
104
|
+
function canonicalKeyFromSpecification(key) {
|
|
105
|
+
const normalizedKey = normalizeEventKey(key);
|
|
106
|
+
return keyAliases[normalizedKey] ?? normalizedKey;
|
|
107
|
+
}
|
|
108
|
+
function canonicalKeyboardShortcut(parsed) {
|
|
109
|
+
const modifiers = sortedModifierTokens(modifierSetFromParsed(parsed));
|
|
110
|
+
const key = canonicalKeyFromSpecification(parsed.key);
|
|
111
|
+
return modifiers.length > 0 ? `${modifiers.join("+")}+${key}` : key;
|
|
112
|
+
}
|
|
113
|
+
function keyboardEventToCanonicalShortcut(event) {
|
|
114
|
+
const modifiers = sortedModifierTokens(modifierSetFromEvent(event));
|
|
115
|
+
const key = normalizeEventKey(event.key);
|
|
116
|
+
return modifiers.length > 0 ? `${modifiers.join("+")}+${key}` : key;
|
|
117
|
+
}
|
|
118
|
+
/** Returns a keydown handler that runs an action for an exact shortcut match. */
|
|
119
|
+
function createKeyboardShortcutHandler(bindings) {
|
|
120
|
+
const actions = /* @__PURE__ */ new Map();
|
|
121
|
+
for (const [specification, action] of Object.entries(bindings)) actions.set(canonicalKeyboardShortcut(parseKeyboardShortcut(specification)), action);
|
|
122
|
+
return (event) => {
|
|
123
|
+
const action = actions.get(keyboardEventToCanonicalShortcut(event));
|
|
124
|
+
let result = action?.(event);
|
|
125
|
+
if (result === void 0 && action !== void 0) result = {
|
|
126
|
+
shouldContinuePropagation: false,
|
|
127
|
+
shouldPreventDefault: true
|
|
128
|
+
};
|
|
129
|
+
else if (typeof result === "boolean") result = {
|
|
130
|
+
shouldContinuePropagation: !result,
|
|
131
|
+
shouldPreventDefault: result
|
|
132
|
+
};
|
|
133
|
+
if (result?.shouldPreventDefault) event.preventDefault();
|
|
134
|
+
if (!action || result?.shouldContinuePropagation) event.continuePropagation();
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
//#endregion
|
|
138
|
+
//#region src/interactions/createKeyboard.ts
|
|
139
|
+
/**
|
|
140
|
+
* Wraps a keyboard event handler to make stopPropagation the default,
|
|
141
|
+
* and support continuePropagation instead.
|
|
142
|
+
*/
|
|
143
|
+
function createEventHandler(handler) {
|
|
144
|
+
if (!handler) return;
|
|
145
|
+
return (e) => {
|
|
146
|
+
let shouldStopPropagation = true;
|
|
147
|
+
const parentContinuePropagation = e.continuePropagation;
|
|
148
|
+
handler(Object.assign(e, { continuePropagation() {
|
|
149
|
+
shouldStopPropagation = false;
|
|
150
|
+
if (typeof parentContinuePropagation === "function") parentContinuePropagation.call(e);
|
|
151
|
+
} }));
|
|
152
|
+
if (shouldStopPropagation) e.stopPropagation();
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Handles keyboard interactions for a focusable element.
|
|
157
|
+
*
|
|
158
|
+
* Based on react-aria's useKeyboard but adapted for SolidJS.
|
|
159
|
+
*/
|
|
160
|
+
function createKeyboard(props = {}) {
|
|
161
|
+
let onKeyDown;
|
|
162
|
+
let onKeyUp;
|
|
163
|
+
if (props.shortcuts) {
|
|
164
|
+
const shortcutHandler = createKeyboardShortcutHandler(props.shortcuts);
|
|
165
|
+
const shortcutOnKeyDown = createEventHandler((event) => {
|
|
166
|
+
if (!nodeContains(event.currentTarget, getEventTarget(event))) {
|
|
167
|
+
event.continuePropagation();
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (event.repeat && !(props.allowRepeats ?? false) || event.isComposing && !(props.allowComposing ?? false)) {
|
|
171
|
+
event.continuePropagation();
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
shortcutHandler(event);
|
|
175
|
+
});
|
|
176
|
+
const shortcutOnKeyUp = createEventHandler((event) => {
|
|
177
|
+
if (!nodeContains(event.currentTarget, getEventTarget(event))) {
|
|
178
|
+
event.continuePropagation();
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
if (event.repeat && !(props.allowRepeats ?? false) || event.isComposing && !(props.allowComposing ?? false)) {
|
|
182
|
+
event.continuePropagation();
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
event.continuePropagation();
|
|
186
|
+
});
|
|
187
|
+
onKeyDown = props.onKeyDown ? chain(props.onKeyDown, shortcutOnKeyDown) : shortcutOnKeyDown;
|
|
188
|
+
onKeyUp = props.onKeyUp ? chain(props.onKeyUp, shortcutOnKeyUp) : shortcutOnKeyUp;
|
|
189
|
+
} else {
|
|
190
|
+
onKeyDown = createEventHandler(props.onKeyDown);
|
|
191
|
+
onKeyUp = createEventHandler(props.onKeyUp);
|
|
192
|
+
}
|
|
193
|
+
return { keyboardProps: {
|
|
194
|
+
get onKeyDown() {
|
|
195
|
+
return access(props.isDisabled) ? void 0 : onKeyDown;
|
|
196
|
+
},
|
|
197
|
+
get onKeyUp() {
|
|
198
|
+
return access(props.isDisabled) ? void 0 : onKeyUp;
|
|
199
|
+
}
|
|
200
|
+
} };
|
|
201
|
+
}
|
|
202
|
+
//#endregion
|
|
203
|
+
export { createKeyboard as t };
|
|
204
|
+
|
|
205
|
+
//# sourceMappingURL=createKeyboard.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createKeyboard.jsx","names":[],"sources":["../../src/interactions/createKeyboardShortcutHandler.ts","../../src/interactions/createKeyboard.ts"],"sourcesContent":["/*\n * Copyright 2025 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/interactions/createKeyboardShortcutHandler.ts\n\n/**\n * Keyboard shortcut parsing and exact-match dispatch.\n *\n * Port of React Aria's createKeyboardShortcutHandler.\n */\n\nimport { isMac } from \"../utils/platform\";\nimport type { KeyboardEvent } from \"./createKeyboard\";\n\nexport type KeyboardShortcutAction = (\n event: KeyboardEvent,\n) =>\n | void\n | boolean\n | Partial<{ shouldContinuePropagation?: boolean; shouldPreventDefault?: boolean }>;\n\n/** Maps shortcut strings such as `Mod+s` to handlers. */\nexport type KeyboardShortcutBindings = Record<string, KeyboardShortcutAction>;\n\nconst modifierNames = new Set([\"shift\", \"alt\", \"control\", \"meta\", \"mod\"]);\nconst canonicalModifierOrder = [\"Alt\", \"Control\", \"Meta\", \"Shift\"] as const;\n\nexport interface ParsedKeyboardShortcut {\n shift: boolean;\n alt: boolean;\n ctrl: boolean;\n meta: boolean;\n mod: boolean;\n key: string;\n}\n\nexport function modifierSetFromParsed(parsed: ParsedKeyboardShortcut): Set<string> {\n const modifiers = new Set<string>();\n if (parsed.alt) modifiers.add(\"Alt\");\n if (parsed.shift) modifiers.add(\"Shift\");\n if (parsed.ctrl) modifiers.add(\"Control\");\n if (parsed.meta) modifiers.add(\"Meta\");\n if (parsed.mod) modifiers.add(isMac() ? \"Meta\" : \"Control\");\n return modifiers;\n}\n\nexport function modifierSetFromEvent(event: KeyboardEvent): Set<string> {\n const modifiers = new Set<string>();\n if (event.altKey) modifiers.add(\"Alt\");\n if (event.ctrlKey) modifiers.add(\"Control\");\n if (event.metaKey) modifiers.add(\"Meta\");\n if (event.shiftKey) modifiers.add(\"Shift\");\n return modifiers;\n}\n\nfunction sortedModifierTokens(modifiers: Set<string>): string[] {\n return canonicalModifierOrder.filter((name) => modifiers.has(name));\n}\n\n/** Parses a shortcut. Modifier names are case-insensitive and order-independent. */\nexport function parseKeyboardShortcut(specification: string): ParsedKeyboardShortcut {\n const parsed = specification.split(\"+\").reduce<ParsedKeyboardShortcut>(\n (result, part) => {\n const lowerPart = part.toLowerCase();\n if (modifierNames.has(lowerPart)) {\n if (lowerPart === \"shift\") result.shift = true;\n else if (lowerPart === \"alt\") result.alt = true;\n else if (lowerPart === \"control\") result.ctrl = true;\n else if (lowerPart === \"meta\") result.meta = true;\n else if (lowerPart === \"mod\") result.mod = true;\n } else {\n result.key = part;\n }\n return result;\n },\n { shift: false, alt: false, ctrl: false, meta: false, mod: false, key: \"\" },\n );\n\n if (parsed.key === \"\") {\n throw new Error(\n `Invalid keyboard shortcut: \"${specification}\". Must include exactly one non-modifier key (e.g. \"a\", \"Enter\", \"ArrowDown\"). Combine any of Shift, Alt, Ctrl, Meta, and Mod.`,\n );\n }\n\n return parsed;\n}\n\nfunction normalizeEventKey(key: string): string {\n return key.toLowerCase();\n}\n\nconst keyAliases: Record<string, string> = {\n space: \" \",\n esc: \"escape\",\n del: \"delete\",\n ins: \"insert\",\n left: \"arrowleft\",\n right: \"arrowright\",\n up: \"arrowup\",\n down: \"arrowdown\",\n pageup: \"pageup\",\n pagedown: \"pagedown\",\n};\n\nfunction canonicalKeyFromSpecification(key: string): string {\n const normalizedKey = normalizeEventKey(key);\n return keyAliases[normalizedKey] ?? normalizedKey;\n}\n\nexport function canonicalKeyboardShortcut(parsed: ParsedKeyboardShortcut): string {\n const modifiers = sortedModifierTokens(modifierSetFromParsed(parsed));\n const key = canonicalKeyFromSpecification(parsed.key);\n return modifiers.length > 0 ? `${modifiers.join(\"+\")}+${key}` : key;\n}\n\nexport function keyboardEventToCanonicalShortcut(event: KeyboardEvent): string {\n const modifiers = sortedModifierTokens(modifierSetFromEvent(event));\n const key = normalizeEventKey(event.key);\n return modifiers.length > 0 ? `${modifiers.join(\"+\")}+${key}` : key;\n}\n\n/** Returns a keydown handler that runs an action for an exact shortcut match. */\nexport function createKeyboardShortcutHandler(\n bindings: KeyboardShortcutBindings,\n): (event: KeyboardEvent) => void {\n const actions = new Map<string, KeyboardShortcutAction>();\n for (const [specification, action] of Object.entries(bindings)) {\n actions.set(canonicalKeyboardShortcut(parseKeyboardShortcut(specification)), action);\n }\n\n return (event: KeyboardEvent) => {\n const action = actions.get(keyboardEventToCanonicalShortcut(event));\n let result = action?.(event);\n\n if (result === undefined && action !== undefined) {\n result = { shouldContinuePropagation: false, shouldPreventDefault: true };\n } else if (typeof result === \"boolean\") {\n result = { shouldContinuePropagation: !result, shouldPreventDefault: result };\n }\n\n if (result?.shouldPreventDefault) {\n event.preventDefault();\n }\n if (!action || result?.shouldContinuePropagation) {\n event.continuePropagation();\n }\n };\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/interactions/useKeyboard.ts\n\n/**\n * createKeyboard - Handles keyboard interactions for a focusable element.\n *\n * This is a 1-1 port of React-Aria's useKeyboard hook adapted for SolidJS.\n */\n\nimport type { JSX } from \"@solidjs/web\";\nimport { chain } from \"../utils/events\";\nimport { getEventTarget, nodeContains } from \"../utils/dom\";\nimport { access, type MaybeAccessor } from \"../utils\";\nimport {\n createKeyboardShortcutHandler,\n type KeyboardShortcutBindings,\n} from \"./createKeyboardShortcutHandler\";\n\n/**\n * Keyboard event with continuePropagation support.\n * By default, keyboard events stop propagation.\n */\nexport interface KeyboardEvent extends globalThis.KeyboardEvent {\n /** Call this to allow the event to propagate to parent elements. */\n continuePropagation(): void;\n}\n\nexport interface KeyboardEvents {\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}\n\nexport interface CreateKeyboardProps extends KeyboardEvents {\n /** Whether the keyboard events should be disabled. */\n isDisabled?: MaybeAccessor<boolean>;\n /** Keyboard shortcuts to handle. */\n shortcuts?: KeyboardShortcutBindings;\n /** Whether shortcut handlers receive repeated keydown events. @default false */\n allowRepeats?: boolean;\n /** Whether shortcut handlers receive composing keydown events. @default false */\n allowComposing?: boolean;\n}\n\nexport interface KeyboardResult {\n /** Props to spread onto the target element. */\n keyboardProps: Pick<JSX.HTMLAttributes<HTMLElement>, \"onKeyDown\" | \"onKeyUp\">;\n}\n\n/**\n * Wraps a keyboard event handler to make stopPropagation the default,\n * and support continuePropagation instead.\n */\nfunction createEventHandler<T extends globalThis.KeyboardEvent>(\n handler?: (e: KeyboardEvent) => void,\n): ((e: T) => void) | undefined {\n if (!handler) {\n return undefined;\n }\n\n return (e: T) => {\n let shouldStopPropagation = true;\n\n // A nested createEventHandler may already have installed continuePropagation\n // on this event; capture it so continuing here continues on the wrapper too.\n const parentContinuePropagation = (e as { continuePropagation?: () => void })\n .continuePropagation;\n\n // Create a wrapped event with continuePropagation\n const event = Object.assign(e, {\n continuePropagation() {\n shouldStopPropagation = false;\n // Nested createEventHandler might have set continuePropagation, so we\n // should continue propagation on the wrappers too.\n if (typeof parentContinuePropagation === \"function\") {\n parentContinuePropagation.call(e);\n }\n },\n }) as KeyboardEvent;\n\n handler(event);\n\n if (shouldStopPropagation) {\n e.stopPropagation();\n }\n };\n}\n\n/**\n * Handles keyboard interactions for a focusable element.\n *\n * Based on react-aria's useKeyboard but adapted for SolidJS.\n */\nexport function createKeyboard(props: CreateKeyboardProps = {}): KeyboardResult {\n let onKeyDown: ((event: globalThis.KeyboardEvent) => void) | undefined;\n let onKeyUp: ((event: globalThis.KeyboardEvent) => void) | undefined;\n\n if (props.shortcuts) {\n const shortcutHandler = createKeyboardShortcutHandler(props.shortcuts);\n const shortcutOnKeyDown = createEventHandler((event) => {\n if (!nodeContains(event.currentTarget as Node | null, getEventTarget<Node>(event))) {\n event.continuePropagation();\n return;\n }\n\n if (\n (event.repeat && !(props.allowRepeats ?? false)) ||\n (event.isComposing && !(props.allowComposing ?? false))\n ) {\n event.continuePropagation();\n return;\n }\n\n shortcutHandler(event);\n });\n const shortcutOnKeyUp = createEventHandler((event) => {\n if (!nodeContains(event.currentTarget as Node | null, getEventTarget<Node>(event))) {\n event.continuePropagation();\n return;\n }\n\n if (\n (event.repeat && !(props.allowRepeats ?? false)) ||\n (event.isComposing && !(props.allowComposing ?? false))\n ) {\n event.continuePropagation();\n return;\n }\n\n event.continuePropagation();\n });\n\n onKeyDown = props.onKeyDown\n ? chain(props.onKeyDown as (event: globalThis.KeyboardEvent) => void, shortcutOnKeyDown)\n : shortcutOnKeyDown;\n onKeyUp = props.onKeyUp\n ? chain(props.onKeyUp as (event: globalThis.KeyboardEvent) => void, shortcutOnKeyUp)\n : shortcutOnKeyUp;\n } else {\n onKeyDown = createEventHandler(props.onKeyDown);\n onKeyUp = createEventHandler(props.onKeyUp);\n }\n\n return {\n keyboardProps: {\n get onKeyDown() {\n return access(props.isDisabled) ? undefined : onKeyDown;\n },\n get onKeyUp() {\n return access(props.isDisabled) ? undefined : onKeyUp;\n },\n },\n };\n}\n\nexport type { KeyboardShortcutBindings } from \"./createKeyboardShortcutHandler\";\n"],"mappings":"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"}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/label/useLabel.ts
|
|
2
13
|
import { t as access } from "./reactivity.js";
|
|
14
|
+
import { t as isDevEnv } from "./env.js";
|
|
3
15
|
import { createId } from "../ssr/index.js";
|
|
4
16
|
import { t as createLabels } from "./createLabels.js";
|
|
5
17
|
//#region src/label/createLabel.ts
|
|
@@ -11,14 +23,15 @@ import { t as createLabels } from "./createLabels.js";
|
|
|
11
23
|
*/
|
|
12
24
|
function createLabel(props) {
|
|
13
25
|
const getProps = () => access(props);
|
|
14
|
-
const
|
|
26
|
+
const fallbackId = createId();
|
|
27
|
+
const id = () => getProps().id ?? fallbackId;
|
|
15
28
|
const labelId = createId();
|
|
16
29
|
const getLabelProps = () => {
|
|
17
30
|
const { label, labelElementType = "label" } = getProps();
|
|
18
31
|
if (!label) return {};
|
|
19
32
|
return {
|
|
20
33
|
id: labelId,
|
|
21
|
-
...labelElementType === "label" ? { for: id } : {}
|
|
34
|
+
...labelElementType === "label" ? { for: id() } : {}
|
|
22
35
|
};
|
|
23
36
|
};
|
|
24
37
|
const getFieldProps = () => {
|
|
@@ -27,7 +40,7 @@ function createLabel(props) {
|
|
|
27
40
|
if (label) labelledBy = ariaLabelledby ? `${labelId} ${ariaLabelledby}` : labelId;
|
|
28
41
|
else if (!ariaLabelledby && !ariaLabel && isDevEnv()) console.warn("If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility");
|
|
29
42
|
return createLabels({
|
|
30
|
-
id,
|
|
43
|
+
id: id(),
|
|
31
44
|
"aria-label": ariaLabel,
|
|
32
45
|
"aria-labelledby": labelledBy
|
|
33
46
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLabel.js","names":[],"sources":["../../src/label/createLabel.ts"],"sourcesContent":["/**\n * Label hook for Solidaria\n *\n * Provides the accessibility implementation for labels and their associated elements.\n * Labels provide context for user inputs.\n *\n * This is a 1:1 port of @react-aria/label's useLabel hook.\n */\n\nimport { JSX } from \"
|
|
1
|
+
{"version":3,"file":"createLabel.js","names":[],"sources":["../../src/label/createLabel.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/label/useLabel.ts\n\n/**\n * Label hook for Solidaria\n *\n * Provides the accessibility implementation for labels and their associated elements.\n * Labels provide context for user inputs.\n *\n * This is a 1:1 port of @react-aria/label's useLabel hook.\n */\n\nimport type { JSX } from \"@solidjs/web\";\nimport { createId } from \"../ssr\";\nimport { createLabels } from \"./createLabels\";\nimport { type MaybeAccessor, access } from \"../utils/reactivity\";\nimport { isDevEnv } from \"../utils/env\";\n\nexport interface AriaLabelingProps {\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, extended description for the object. */\n \"aria-details\"?: string;\n}\n\nexport interface LabelableProps {\n /** The content to display as the label. */\n label?: JSX.Element;\n}\n\nexport interface DOMProps {\n /** The element's unique identifier. */\n id?: string;\n}\n\nexport interface LabelAriaProps extends LabelableProps, DOMProps, AriaLabelingProps {\n /**\n * The HTML element used to render the label, e.g. 'label', or 'span'.\n * @default 'label'\n */\n labelElementType?: \"label\" | \"span\" | \"div\";\n}\n\nexport interface LabelAria {\n /** Props to apply to the label container element. */\n labelProps: JSX.LabelHTMLAttributes<HTMLLabelElement> | JSX.HTMLAttributes<HTMLSpanElement>;\n /** Props to apply to the field container element being labeled. */\n fieldProps: AriaLabelingProps & DOMProps;\n}\n\n/**\n * Provides the accessibility implementation for labels and their associated elements.\n * Labels provide context for user inputs.\n *\n * @param props - The props for labels and fields.\n */\nexport function createLabel(props: MaybeAccessor<LabelAriaProps>): LabelAria {\n const getProps = () => access(props);\n\n const fallbackId = createId();\n const id = () => getProps().id ?? fallbackId;\n const labelId = createId();\n\n const getLabelProps = (): LabelAria[\"labelProps\"] => {\n const { label, labelElementType = \"label\" } = getProps();\n\n if (!label) {\n return {};\n }\n\n return {\n id: labelId,\n // Solid 2 JSX spreads emit `htmlfor` for `htmlFor`. The DOM attribute is\n // `for`; mergeProps also canonicalizes `htmlFor` → `for`. Do not set both.\n ...(labelElementType === \"label\" ? { for: id() } : {}),\n };\n };\n\n const getFieldProps = (): LabelAria[\"fieldProps\"] => {\n const { label, \"aria-labelledby\": ariaLabelledby, \"aria-label\": ariaLabel } = getProps();\n\n let labelledBy = ariaLabelledby;\n\n if (label) {\n labelledBy = ariaLabelledby ? `${labelId} ${ariaLabelledby}` : labelId;\n } else if (!ariaLabelledby && !ariaLabel && isDevEnv()) {\n console.warn(\n \"If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility\",\n );\n }\n\n return createLabels({\n id: id(),\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": labelledBy,\n });\n };\n\n return {\n get labelProps() {\n return getLabelProps();\n },\n get fieldProps() {\n return getFieldProps();\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuEA,SAAgB,YAAY,OAAiD;CAC3E,MAAM,iBAAiB,OAAO,KAAK;CAEnC,MAAM,aAAa,SAAS;CAC5B,MAAM,WAAW,SAAS,CAAC,CAAC,MAAM;CAClC,MAAM,UAAU,SAAS;CAEzB,MAAM,sBAA+C;EACnD,MAAM,EAAE,OAAO,mBAAmB,YAAY,SAAS;EAEvD,IAAI,CAAC,OACH,OAAO,CAAC;EAGV,OAAO;GACL,IAAI;GAGJ,GAAI,qBAAqB,UAAU,EAAE,KAAK,GAAG,EAAE,IAAI,CAAC;EACtD;CACF;CAEA,MAAM,sBAA+C;EACnD,MAAM,EAAE,OAAO,mBAAmB,gBAAgB,cAAc,cAAc,SAAS;EAEvF,IAAI,aAAa;EAEjB,IAAI,OACF,aAAa,iBAAiB,GAAG,QAAQ,GAAG,mBAAmB;OAC1D,IAAI,CAAC,kBAAkB,CAAC,aAAa,SAAS,GACnD,QAAQ,KACN,sHACF;EAGF,OAAO,aAAa;GAClB,IAAI,GAAG;GACP,cAAc;GACd,mBAAmB;EACrB,CAAC;CACH;CAEA,OAAO;EACL,IAAI,aAAa;GACf,OAAO,cAAc;EACvB;EACA,IAAI,aAAa;GACf,OAAO,cAAc;EACvB;CACF;AACF"}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/label/useLabel.ts
|
|
2
13
|
import { t as access } from "./reactivity.jsx";
|
|
14
|
+
import { t as isDevEnv } from "./env.jsx";
|
|
3
15
|
import { createId } from "../ssr/index.jsx";
|
|
4
16
|
import { t as createLabels } from "./createLabels.jsx";
|
|
5
17
|
//#region src/label/createLabel.ts
|
|
@@ -11,14 +23,15 @@ import { t as createLabels } from "./createLabels.jsx";
|
|
|
11
23
|
*/
|
|
12
24
|
function createLabel(props) {
|
|
13
25
|
const getProps = () => access(props);
|
|
14
|
-
const
|
|
26
|
+
const fallbackId = createId();
|
|
27
|
+
const id = () => getProps().id ?? fallbackId;
|
|
15
28
|
const labelId = createId();
|
|
16
29
|
const getLabelProps = () => {
|
|
17
30
|
const { label, labelElementType = "label" } = getProps();
|
|
18
31
|
if (!label) return {};
|
|
19
32
|
return {
|
|
20
33
|
id: labelId,
|
|
21
|
-
...labelElementType === "label" ? { for: id } : {}
|
|
34
|
+
...labelElementType === "label" ? { for: id() } : {}
|
|
22
35
|
};
|
|
23
36
|
};
|
|
24
37
|
const getFieldProps = () => {
|
|
@@ -27,7 +40,7 @@ function createLabel(props) {
|
|
|
27
40
|
if (label) labelledBy = ariaLabelledby ? `${labelId} ${ariaLabelledby}` : labelId;
|
|
28
41
|
else if (!ariaLabelledby && !ariaLabel && isDevEnv()) console.warn("If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility");
|
|
29
42
|
return createLabels({
|
|
30
|
-
id,
|
|
43
|
+
id: id(),
|
|
31
44
|
"aria-label": ariaLabel,
|
|
32
45
|
"aria-labelledby": labelledBy
|
|
33
46
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLabel.jsx","names":[],"sources":["../../src/label/createLabel.ts"],"sourcesContent":["/**\n * Label hook for Solidaria\n *\n * Provides the accessibility implementation for labels and their associated elements.\n * Labels provide context for user inputs.\n *\n * This is a 1:1 port of @react-aria/label's useLabel hook.\n */\n\nimport { JSX } from \"
|
|
1
|
+
{"version":3,"file":"createLabel.jsx","names":[],"sources":["../../src/label/createLabel.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/label/useLabel.ts\n\n/**\n * Label hook for Solidaria\n *\n * Provides the accessibility implementation for labels and their associated elements.\n * Labels provide context for user inputs.\n *\n * This is a 1:1 port of @react-aria/label's useLabel hook.\n */\n\nimport type { JSX } from \"@solidjs/web\";\nimport { createId } from \"../ssr\";\nimport { createLabels } from \"./createLabels\";\nimport { type MaybeAccessor, access } from \"../utils/reactivity\";\nimport { isDevEnv } from \"../utils/env\";\n\nexport interface AriaLabelingProps {\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, extended description for the object. */\n \"aria-details\"?: string;\n}\n\nexport interface LabelableProps {\n /** The content to display as the label. */\n label?: JSX.Element;\n}\n\nexport interface DOMProps {\n /** The element's unique identifier. */\n id?: string;\n}\n\nexport interface LabelAriaProps extends LabelableProps, DOMProps, AriaLabelingProps {\n /**\n * The HTML element used to render the label, e.g. 'label', or 'span'.\n * @default 'label'\n */\n labelElementType?: \"label\" | \"span\" | \"div\";\n}\n\nexport interface LabelAria {\n /** Props to apply to the label container element. */\n labelProps: JSX.LabelHTMLAttributes<HTMLLabelElement> | JSX.HTMLAttributes<HTMLSpanElement>;\n /** Props to apply to the field container element being labeled. */\n fieldProps: AriaLabelingProps & DOMProps;\n}\n\n/**\n * Provides the accessibility implementation for labels and their associated elements.\n * Labels provide context for user inputs.\n *\n * @param props - The props for labels and fields.\n */\nexport function createLabel(props: MaybeAccessor<LabelAriaProps>): LabelAria {\n const getProps = () => access(props);\n\n const fallbackId = createId();\n const id = () => getProps().id ?? fallbackId;\n const labelId = createId();\n\n const getLabelProps = (): LabelAria[\"labelProps\"] => {\n const { label, labelElementType = \"label\" } = getProps();\n\n if (!label) {\n return {};\n }\n\n return {\n id: labelId,\n // Solid 2 JSX spreads emit `htmlfor` for `htmlFor`. The DOM attribute is\n // `for`; mergeProps also canonicalizes `htmlFor` → `for`. Do not set both.\n ...(labelElementType === \"label\" ? { for: id() } : {}),\n };\n };\n\n const getFieldProps = (): LabelAria[\"fieldProps\"] => {\n const { label, \"aria-labelledby\": ariaLabelledby, \"aria-label\": ariaLabel } = getProps();\n\n let labelledBy = ariaLabelledby;\n\n if (label) {\n labelledBy = ariaLabelledby ? `${labelId} ${ariaLabelledby}` : labelId;\n } else if (!ariaLabelledby && !ariaLabel && isDevEnv()) {\n console.warn(\n \"If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility\",\n );\n }\n\n return createLabels({\n id: id(),\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": labelledBy,\n });\n };\n\n return {\n get labelProps() {\n return getLabelProps();\n },\n get fieldProps() {\n return getFieldProps();\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuEA,SAAgB,YAAY,OAAiD;CAC3E,MAAM,iBAAiB,OAAO,KAAK;CAEnC,MAAM,aAAa,SAAS;CAC5B,MAAM,WAAW,SAAS,CAAC,CAAC,MAAM;CAClC,MAAM,UAAU,SAAS;CAEzB,MAAM,sBAA+C;EACnD,MAAM,EAAE,OAAO,mBAAmB,YAAY,SAAS;EAEvD,IAAI,CAAC,OACH,OAAO,CAAC;EAGV,OAAO;GACL,IAAI;GAGJ,GAAI,qBAAqB,UAAU,EAAE,KAAK,GAAG,EAAE,IAAI,CAAC;EACtD;CACF;CAEA,MAAM,sBAA+C;EACnD,MAAM,EAAE,OAAO,mBAAmB,gBAAgB,cAAc,cAAc,SAAS;EAEvF,IAAI,aAAa;EAEjB,IAAI,OACF,aAAa,iBAAiB,GAAG,QAAQ,GAAG,mBAAmB;OAC1D,IAAI,CAAC,kBAAkB,CAAC,aAAa,SAAS,GACnD,QAAQ,KACN,sHACF;EAGF,OAAO,aAAa;GAClB,IAAI,GAAG;GACP,cAAc;GACd,mBAAmB;EACrB,CAAC;CACH;CAEA,OAAO;EACL,IAAI,aAAa;GACf,OAAO,cAAc;EACvB;EACA,IAAI,aAAa;GACf,OAAO,cAAc;EACvB;CACF;AACF"}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/utils/useLabels.ts
|
|
1
13
|
import { createId } from "../ssr/index.js";
|
|
2
14
|
//#region src/label/createLabels.ts
|
|
3
15
|
/**
|
|
@@ -14,10 +26,10 @@ import { createId } from "../ssr/index.js";
|
|
|
14
26
|
* @param defaultLabel - Default value for aria-label when not present.
|
|
15
27
|
*/
|
|
16
28
|
function createLabels(props, defaultLabel) {
|
|
17
|
-
let id =
|
|
29
|
+
let id = props.id ?? createId();
|
|
18
30
|
let label = props["aria-label"];
|
|
19
31
|
let labelledBy = props["aria-labelledby"];
|
|
20
|
-
if (labelledBy && label) labelledBy = [
|
|
32
|
+
if (labelledBy && label) labelledBy = [.../* @__PURE__ */ new Set([id, ...labelledBy.trim().split(/\s+/)])].join(" ");
|
|
21
33
|
else if (labelledBy) labelledBy = labelledBy.trim().split(/\s+/).join(" ");
|
|
22
34
|
if (!label && !labelledBy && defaultLabel) label = defaultLabel;
|
|
23
35
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLabels.js","names":[],"sources":["../../src/label/createLabels.ts"],"sourcesContent":["/**\n * Labels utility for Solidaria\n *\n * Merges aria-label and aria-labelledby into aria-labelledby when both exist.\n *\n * This is a 1:1 port of @react-aria/utils's useLabels hook.\n */\n\nimport { createId } from \"../ssr\";\nimport type { AriaLabelingProps, DOMProps } from \"./createLabel\";\n\n/**\n * Merges aria-label and aria-labelledby into aria-labelledby when both exist.\n *\n * @param props - Aria label props.\n * @param defaultLabel - Default value for aria-label when not present.\n */\nexport function createLabels(\n props: DOMProps & AriaLabelingProps,\n defaultLabel?: string,\n): DOMProps & AriaLabelingProps {\n // Read props directly rather than destructuring: in Solid a destructure\n // freezes the value at call time. This is a pure snapshot transform, so it is\n // behaviourally identical, but keeping the reactive read explicit matches the\n // rest of the port and satisfies guard:idiomatic-solid.\n let id =
|
|
1
|
+
{"version":3,"file":"createLabels.js","names":[],"sources":["../../src/label/createLabels.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/utils/useLabels.ts\n\n/**\n * Labels utility for Solidaria\n *\n * Merges aria-label and aria-labelledby into aria-labelledby when both exist.\n *\n * This is a 1:1 port of @react-aria/utils's useLabels hook.\n */\n\nimport { createId } from \"../ssr\";\nimport type { AriaLabelingProps, DOMProps } from \"./createLabel\";\n\n/**\n * Merges aria-label and aria-labelledby into aria-labelledby when both exist.\n *\n * @param props - Aria label props.\n * @param defaultLabel - Default value for aria-label when not present.\n */\nexport function createLabels(\n props: DOMProps & AriaLabelingProps,\n defaultLabel?: string,\n): DOMProps & AriaLabelingProps {\n // Read props directly rather than destructuring: in Solid a destructure\n // freezes the value at call time. This is a pure snapshot transform, so it is\n // behaviourally identical, but keeping the reactive read explicit matches the\n // rest of the port and satisfies guard:idiomatic-solid.\n // Upstream `useLabels` is itself a hook, so its `useId(props.id)` runs once in\n // the component body. Ours is reached from lazy prop getters (`get fieldProps`\n // → `createLabels`), which run during the hydration walk with no reactive\n // owner, and Solid 2's `createUniqueId` resolves to `getNextContextId()` →\n // `getNextChildId(getOwner())` while hydrating — it needs an owner, and the id\n // it returns depends on that owner's position. Generating here would therefore\n // either throw or hand back an id the server never emitted. Every caller in\n // this repository generates its id in its own hook body and passes it, which\n // is where upstream consumes one; this fallback is for a caller that has no\n // id, and such a caller must call `createLabels` from a hook body.\n let id = props.id ?? createId();\n let label = props[\"aria-label\"];\n let labelledBy = props[\"aria-labelledby\"];\n\n // If there is both an aria-label and aria-labelledby,\n // combine them by pointing to the element itself.\n if (labelledBy && label) {\n const ids = new Set([id, ...labelledBy.trim().split(/\\s+/)]);\n labelledBy = [...ids].join(\" \");\n } else if (labelledBy) {\n labelledBy = labelledBy.trim().split(/\\s+/).join(\" \");\n }\n\n // If no labels are provided, use the default\n if (!label && !labelledBy && defaultLabel) {\n label = defaultLabel;\n }\n\n return {\n id,\n \"aria-label\": label,\n \"aria-labelledby\": labelledBy,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,SAAgB,aACd,OACA,cAC8B;CAe9B,IAAI,KAAK,MAAM,MAAM,SAAS;CAC9B,IAAI,QAAQ,MAAM;CAClB,IAAI,aAAa,MAAM;CAIvB,IAAI,cAAc,OAEhB,aAAa,CAAC,mBAAG,IADD,IAAI,CAAC,IAAI,GAAG,WAAW,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CACvC,CAAC,CAAC,CAAC,KAAK,GAAG;MACzB,IAAI,YACT,aAAa,WAAW,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,GAAG;CAItD,IAAI,CAAC,SAAS,CAAC,cAAc,cAC3B,QAAQ;CAGV,OAAO;EACL;EACA,cAAc;EACd,mBAAmB;CACrB;AACF"}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/utils/useLabels.ts
|
|
1
13
|
import { createId } from "../ssr/index.jsx";
|
|
2
14
|
//#region src/label/createLabels.ts
|
|
3
15
|
/**
|
|
@@ -14,10 +26,10 @@ import { createId } from "../ssr/index.jsx";
|
|
|
14
26
|
* @param defaultLabel - Default value for aria-label when not present.
|
|
15
27
|
*/
|
|
16
28
|
function createLabels(props, defaultLabel) {
|
|
17
|
-
let id =
|
|
29
|
+
let id = props.id ?? createId();
|
|
18
30
|
let label = props["aria-label"];
|
|
19
31
|
let labelledBy = props["aria-labelledby"];
|
|
20
|
-
if (labelledBy && label) labelledBy = [
|
|
32
|
+
if (labelledBy && label) labelledBy = [.../* @__PURE__ */ new Set([id, ...labelledBy.trim().split(/\s+/)])].join(" ");
|
|
21
33
|
else if (labelledBy) labelledBy = labelledBy.trim().split(/\s+/).join(" ");
|
|
22
34
|
if (!label && !labelledBy && defaultLabel) label = defaultLabel;
|
|
23
35
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLabels.jsx","names":[],"sources":["../../src/label/createLabels.ts"],"sourcesContent":["/**\n * Labels utility for Solidaria\n *\n * Merges aria-label and aria-labelledby into aria-labelledby when both exist.\n *\n * This is a 1:1 port of @react-aria/utils's useLabels hook.\n */\n\nimport { createId } from \"../ssr\";\nimport type { AriaLabelingProps, DOMProps } from \"./createLabel\";\n\n/**\n * Merges aria-label and aria-labelledby into aria-labelledby when both exist.\n *\n * @param props - Aria label props.\n * @param defaultLabel - Default value for aria-label when not present.\n */\nexport function createLabels(\n props: DOMProps & AriaLabelingProps,\n defaultLabel?: string,\n): DOMProps & AriaLabelingProps {\n // Read props directly rather than destructuring: in Solid a destructure\n // freezes the value at call time. This is a pure snapshot transform, so it is\n // behaviourally identical, but keeping the reactive read explicit matches the\n // rest of the port and satisfies guard:idiomatic-solid.\n let id =
|
|
1
|
+
{"version":3,"file":"createLabels.jsx","names":[],"sources":["../../src/label/createLabels.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/utils/useLabels.ts\n\n/**\n * Labels utility for Solidaria\n *\n * Merges aria-label and aria-labelledby into aria-labelledby when both exist.\n *\n * This is a 1:1 port of @react-aria/utils's useLabels hook.\n */\n\nimport { createId } from \"../ssr\";\nimport type { AriaLabelingProps, DOMProps } from \"./createLabel\";\n\n/**\n * Merges aria-label and aria-labelledby into aria-labelledby when both exist.\n *\n * @param props - Aria label props.\n * @param defaultLabel - Default value for aria-label when not present.\n */\nexport function createLabels(\n props: DOMProps & AriaLabelingProps,\n defaultLabel?: string,\n): DOMProps & AriaLabelingProps {\n // Read props directly rather than destructuring: in Solid a destructure\n // freezes the value at call time. This is a pure snapshot transform, so it is\n // behaviourally identical, but keeping the reactive read explicit matches the\n // rest of the port and satisfies guard:idiomatic-solid.\n // Upstream `useLabels` is itself a hook, so its `useId(props.id)` runs once in\n // the component body. Ours is reached from lazy prop getters (`get fieldProps`\n // → `createLabels`), which run during the hydration walk with no reactive\n // owner, and Solid 2's `createUniqueId` resolves to `getNextContextId()` →\n // `getNextChildId(getOwner())` while hydrating — it needs an owner, and the id\n // it returns depends on that owner's position. Generating here would therefore\n // either throw or hand back an id the server never emitted. Every caller in\n // this repository generates its id in its own hook body and passes it, which\n // is where upstream consumes one; this fallback is for a caller that has no\n // id, and such a caller must call `createLabels` from a hook body.\n let id = props.id ?? createId();\n let label = props[\"aria-label\"];\n let labelledBy = props[\"aria-labelledby\"];\n\n // If there is both an aria-label and aria-labelledby,\n // combine them by pointing to the element itself.\n if (labelledBy && label) {\n const ids = new Set([id, ...labelledBy.trim().split(/\\s+/)]);\n labelledBy = [...ids].join(\" \");\n } else if (labelledBy) {\n labelledBy = labelledBy.trim().split(/\\s+/).join(\" \");\n }\n\n // If no labels are provided, use the default\n if (!label && !labelledBy && defaultLabel) {\n label = defaultLabel;\n }\n\n return {\n id,\n \"aria-label\": label,\n \"aria-labelledby\": labelledBy,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,SAAgB,aACd,OACA,cAC8B;CAe9B,IAAI,KAAK,MAAM,MAAM,SAAS;CAC9B,IAAI,QAAQ,MAAM;CAClB,IAAI,aAAa,MAAM;CAIvB,IAAI,cAAc,OAEhB,aAAa,CAAC,mBAAG,IADD,IAAI,CAAC,IAAI,GAAG,WAAW,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CACvC,CAAC,CAAC,CAAC,KAAK,GAAG;MACzB,IAAI,YACT,aAAa,WAAW,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,GAAG;CAItD,IAAI,CAAC,SAAS,CAAC,cAAc,cAC3B,QAAQ;CAGV,OAAO;EACL;EACA,cAAc;EACd,mBAAmB;CACrB;AACF"}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/landmark/useLandmark.ts
|
|
1
13
|
import { t as filterDOMProps } from "./filterDOMProps.js";
|
|
2
14
|
import { t as access } from "./reactivity.js";
|
|
3
|
-
import {
|
|
15
|
+
import { createTrackedEffect } from "solid-js";
|
|
4
16
|
//#region src/landmark/createLandmark.ts
|
|
5
17
|
/**
|
|
6
18
|
* Manages all registered landmarks and handles F6 keyboard navigation.
|
|
@@ -152,7 +164,8 @@ function getLandmarkManager() {
|
|
|
152
164
|
* ```
|
|
153
165
|
*/
|
|
154
166
|
function createLandmark(props, ref) {
|
|
155
|
-
|
|
167
|
+
createTrackedEffect(() => {
|
|
168
|
+
const _s2Cleanups = [];
|
|
156
169
|
const element = ref();
|
|
157
170
|
if (!element) return;
|
|
158
171
|
const p = access(props);
|
|
@@ -164,9 +177,12 @@ function createLandmark(props, ref) {
|
|
|
164
177
|
};
|
|
165
178
|
const manager = getLandmarkManager();
|
|
166
179
|
manager.register(entry);
|
|
167
|
-
|
|
180
|
+
_s2Cleanups.push(() => {
|
|
168
181
|
manager.unregister(element);
|
|
169
182
|
});
|
|
183
|
+
return () => {
|
|
184
|
+
for (const c of _s2Cleanups) c();
|
|
185
|
+
};
|
|
170
186
|
});
|
|
171
187
|
const getLandmarkProps = () => {
|
|
172
188
|
const p = access(props);
|