@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gridlist.js","names":["mergeProps","createId"],"sources":["../../src/gridlist/createGridList.ts","../../src/gridlist/createGridListItem.ts","../../src/gridlist/createGridListSelectionCheckbox.ts","../../src/gridlist/createGridListSection.ts"],"sourcesContent":["/**\n * createGridList - Provides accessibility for a grid list.\n * Based on @react-aria/gridlist/useGridList.\n */\n\nimport { createMemo, createEffect, type Accessor } from \"solid-js\";\nimport type { JSX } from \"solid-js\";\nimport { createId } from \"@proyecto-viviana/solid-stately\";\nimport type { GridState, GridCollection, Key } from \"@proyecto-viviana/solid-stately\";\nimport type { AriaGridListProps, GridListAria } from \"./types\";\nimport { scrollIntoViewport } from \"../utils\";\nimport { getInteractionModality } from \"../interactions/createInteractionModality\";\n\n/**\n * Metadata stored for a grid list instance.\n */\ninterface GridListData {\n /** The generated ID for the grid list. */\n gridListId: string;\n /** How selection should behave when pressing an item. */\n selectionBehavior: \"replace\" | \"toggle\";\n /** Whether row selection should occur on press up. */\n shouldSelectOnPressUp: boolean;\n /** How keyboard navigation behaves within row children. */\n keyboardNavigationBehavior: \"arrow\" | \"tab\";\n /** Text direction for row-child arrow navigation. */\n direction: \"ltr\" | \"rtl\";\n /** Actions registered for the grid list. */\n actions: {\n onAction?: (key: Key) => void;\n };\n}\n\n/**\n * WeakMap to store grid list data for child components to access.\n */\nconst gridListDataMap = new WeakMap<object, GridListData>();\n\n/**\n * Gets the grid list data for a given state.\n */\nexport function getGridListData<T extends object, C extends GridCollection<T>>(\n state: GridState<T, C>,\n): GridListData | undefined {\n return gridListDataMap.get(state);\n}\n\n/**\n * Whether a key should be skipped during keyboard navigation. Disabled keys only\n * block navigation under `disabledBehavior: \"all\"` (the default); under\n * `\"selection\"` they remain focusable (selection is still blocked elsewhere).\n * Mirrors `ListKeyboardDelegate.isDisabled` in React Aria.\n */\nfunction isNavigationDisabled<T extends object, C extends GridCollection<T>>(\n state: GridState<T, C>,\n key: Key,\n): boolean {\n return state.isDisabled(key) && state.disabledBehavior === \"all\";\n}\n\n/**\n * Walks from `startKey` via `step` until reaching a navigable (not\n * navigation-disabled) key, mirroring React Aria's\n * `ListKeyboardDelegate.findNextNonDisabled`. The next/previous lookups and the\n * `getFirstKey`/`getLastKey` boundaries all funnel through this so arrow keys,\n * Home and End land on enabled rows only.\n */\nfunction findNextNavigableKey<T extends object, C extends GridCollection<T>>(\n state: GridState<T, C>,\n startKey: Key | null,\n step: (key: Key) => Key | null,\n): Key | null {\n let key = startKey;\n while (key != null && isNavigationDisabled(state, key)) {\n key = step(key);\n }\n return key;\n}\n\n/**\n * Creates accessibility props for a grid list.\n */\nexport function createGridList<T extends object, C extends GridCollection<T> = GridCollection<T>>(\n props: Accessor<AriaGridListProps>,\n state: Accessor<GridState<T, C>>,\n ref: Accessor<HTMLElement | null>,\n): GridListAria {\n // Generate a unique ID for the grid list\n const gridListId = props().id ?? createId();\n\n // Store grid list data for child components\n const gridListData: GridListData = {\n gridListId,\n get selectionBehavior() {\n return props().selectionBehavior ?? \"replace\";\n },\n get shouldSelectOnPressUp() {\n return props().shouldSelectOnPressUp ?? false;\n },\n get keyboardNavigationBehavior() {\n return props().keyboardNavigationBehavior ?? \"arrow\";\n },\n get direction() {\n return props().direction ?? \"ltr\";\n },\n actions: {\n get onAction() {\n return props().onAction;\n },\n },\n };\n\n // Store in WeakMap using the state as key\n gridListDataMap.set(state(), gridListData);\n\n // Handle keyboard navigation\n const onKeyDown = (e: KeyboardEvent) => {\n const s = state();\n const p = props();\n const collection = s.collection;\n const focusedKey = s.focusedKey;\n\n if (p.isDisabled) return;\n\n switch (e.key) {\n case \"ArrowDown\": {\n e.preventDefault();\n const nextKey =\n focusedKey != null\n ? findNextNavigableKey(s, collection.getKeyAfter(focusedKey), (k) =>\n collection.getKeyAfter(k),\n )\n : findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k));\n if (nextKey != null) {\n s.setFocusedKey(nextKey);\n }\n break;\n }\n case \"ArrowUp\": {\n e.preventDefault();\n const prevKey =\n focusedKey != null\n ? findNextNavigableKey(s, collection.getKeyBefore(focusedKey), (k) =>\n collection.getKeyBefore(k),\n )\n : findNextNavigableKey(s, collection.getLastKey(), (k) => collection.getKeyBefore(k));\n if (prevKey != null) {\n s.setFocusedKey(prevKey);\n }\n break;\n }\n case \"ArrowRight\":\n case \"ArrowLeft\": {\n // The inline axis (Left/Right) belongs to the ROW under the default\n // \"arrow\" navigation behavior: createGridListItem's onKeyDownCapture\n // intercepts Left/Right for intra-row focus movement (a no-op for\n // text-only rows), exactly as useGridListItem does upstream, so the\n // container must NOT step between rows here. Only under \"tab\" navigation\n // does the row stop intercepting and the event reach the collection —\n // mirroring how useSelectableCollection handles Left/Right via\n // ListKeyboardDelegate. Even then it strips getKeyLeftOf/getKeyRightOf\n // for a vertical stack, so this stays a no-op unless the stack is\n // horizontal, where Right=next / Left=prev in LTR, flipped under RTL.\n // (In Solid the row's capture-phase stopPropagation does not reliably\n // prevent the container's delegated onKeyDown, so this gate — not the\n // row's stopPropagation — is what keeps the axes from double-firing.)\n const behavior = p.keyboardNavigationBehavior ?? \"arrow\";\n if (p.orientation !== \"horizontal\" || behavior !== \"tab\") break;\n e.preventDefault();\n const isRtl = p.direction === \"rtl\";\n const forward = e.key === \"ArrowRight\" ? !isRtl : isRtl;\n const step = forward\n ? (k: Key) => collection.getKeyAfter(k)\n : (k: Key) => collection.getKeyBefore(k);\n const nextKey =\n focusedKey != null\n ? findNextNavigableKey(s, step(focusedKey), step)\n : findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k));\n if (nextKey != null) {\n s.setFocusedKey(nextKey);\n }\n break;\n }\n case \"Home\": {\n e.preventDefault();\n const firstKey = findNextNavigableKey(s, collection.getFirstKey(), (k) =>\n collection.getKeyAfter(k),\n );\n if (firstKey != null) {\n s.setFocusedKey(firstKey);\n }\n break;\n }\n case \"End\": {\n e.preventDefault();\n const lastKey = findNextNavigableKey(s, collection.getLastKey(), (k) =>\n collection.getKeyBefore(k),\n );\n if (lastKey != null) {\n s.setFocusedKey(lastKey);\n }\n break;\n }\n case \"a\":\n case \"A\": {\n if ((e.ctrlKey || e.metaKey) && s.selectionMode === \"multiple\") {\n e.preventDefault();\n s.selectAll();\n }\n break;\n }\n // Space (toggle selection) and Enter (onAction) are intentionally absent\n // here. Upstream's useSelectableCollection has no Space/Enter case — the\n // focused item owns both, via useSelectableItem. We follow browser focus\n // onto the focused row (the effect below), so the row's own handlers in\n // createGridListItem fire. Handling them here too would double-toggle a\n // focused row, because Solid delegates keydown and bubbles the row event\n // up to this grid handler.\n case \"Escape\": {\n if (s.selectionMode !== \"none\") {\n e.preventDefault();\n s.clearSelection();\n }\n break;\n }\n }\n };\n\n // Focus marshalling — the grid container is a trampoline. Its roving tabIndex\n // is 0 only while `focusedKey == null` (see gridProps below), so a Tab that\n // reaches a standalone grid lands on the container itself; move the focused key\n // onto the first/last row and the post-commit effect below pulls REAL DOM focus\n // there while the container rolls to tabIndex -1. This mirrors\n // useSelectableCollection's `onFocus` — the same direction-aware trampoline the\n // standalone ListBox uses (createListBox.ts) — and is why a standalone grid\n // announces the active row through real focus, never `aria-activedescendant`.\n const onFocus: JSX.EventHandler<HTMLElement, FocusEvent> = (e) => {\n const s = state();\n const p = props();\n s.setFocused(true);\n\n // onFocus is non-bubbling in Solid, so this fires only when the container\n // itself receives focus; ignore anything that bubbled from a descendant.\n // (`currentTarget` is null only in synthetic unit-test FocusEvents — treat\n // those as a direct container focus.)\n const container = e.currentTarget as HTMLElement | null;\n if (container && !container.contains(e.target as Node)) return;\n // Only marshal when no row is focused yet.\n if (s.focusedKey != null || p.isDisabled) return;\n\n const collection = s.collection;\n const relatedTarget = e.relatedTarget as Element | null;\n // Detect tab direction: focus arriving from an element that FOLLOWS the grid\n // in document order means the user shift-tabbed backward into it, so enter at\n // the LAST row; otherwise (forward Tab, or programmatic) enter at the FIRST.\n const enterKey =\n relatedTarget &&\n container &&\n container.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING\n ? findNextNavigableKey(s, collection.getLastKey(), (k) => collection.getKeyBefore(k))\n : findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k));\n if (enterKey != null) {\n s.setFocusedKey(enterKey);\n }\n };\n\n const onBlur = () => {\n const s = state();\n s.setFocused(false);\n };\n\n // Mirror React Aria's useSelectableCollection: once the roving tabindex for the\n // focused key has been committed to the DOM, move browser focus onto that row\n // from a post-commit effect, looking it up by its stable data-key rather than by\n // transient tabindex. Selection and activation live on the row\n // (createGridListItem) to match upstream, so keyboard nav has to carry focus\n // there for the row's Space/Enter handlers to act on.\n createEffect(() => {\n const s = state();\n const key = s.focusedKey;\n const el = ref();\n if (!el || key == null) {\n return;\n }\n\n // Only manage focus while it already lives inside the grid — i.e. the user is\n // navigating with the keyboard. Gate on the physical position of browser focus\n // rather than the grid's logical isFocused signal: focus can land directly on a\n // row (a pointer click) without ever firing the grid's own focus handler, and\n // the contains() check keeps us from yanking focus back from elsewhere on the\n // page when the focused key changes from a background interaction.\n const active = document.activeElement;\n if (!active || (active !== el && !el.contains(active))) {\n return;\n }\n\n const target = el.querySelector<HTMLElement>(`[data-key=\"${key}\"]`);\n if (target && target !== active) {\n target.focus();\n\n // Reveal the newly focused row when navigating with the keyboard, mirroring\n // useSelectableCollection. Pointer-driven focus changes should not shift the\n // scroll position under the user's finger.\n if (getInteractionModality() !== \"pointer\") {\n scrollIntoViewport(target, { containingElement: el });\n }\n }\n });\n\n const gridProps = createMemo(() => {\n const p = props();\n const s = state();\n\n const baseProps: Record<string, unknown> = {\n role: \"grid\",\n id: gridListId,\n \"aria-label\": p[\"aria-label\"],\n \"aria-labelledby\": p[\"aria-labelledby\"],\n \"aria-describedby\": p[\"aria-describedby\"],\n \"aria-multiselectable\": s.selectionMode === \"multiple\" ? true : undefined,\n \"aria-disabled\": p.isDisabled || undefined,\n // Roving container tabIndex mirrors useSelectableCollection: the container\n // is tabbable (0) only while nothing is focused, then rolls to -1 once a row\n // takes focus so Tab exits the grid. A standalone grid drives AT through\n // real row focus, so it never needs (nor emits) aria-activedescendant.\n tabIndex: p.isDisabled ? undefined : s.focusedKey != null ? -1 : 0,\n onKeyDown,\n onFocus,\n onBlur,\n };\n\n // Add row count for virtualized lists\n if (p.isVirtualized) {\n baseProps[\"aria-rowcount\"] = s.collection.rowCount;\n }\n\n return baseProps as JSX.HTMLAttributes<HTMLElement>;\n });\n\n return {\n get gridProps() {\n return gridProps();\n },\n };\n}\n","/**\n * createGridListItem - Provides accessibility for a grid list item.\n * Based on @react-aria/gridlist/useGridListItem.\n */\n\nimport { createMemo, type Accessor } from \"solid-js\";\nimport type { JSX } from \"solid-js\";\nimport type {\n Collection,\n GridState,\n GridCollection,\n Key,\n Selection,\n} from \"@proyecto-viviana/solid-stately\";\nimport type { AriaGridListItemProps, GridListItemAria } from \"./types\";\nimport { getGridListData } from \"./createGridList\";\nimport { createSelectableItem, type SelectableItemState } from \"../selection/createSelectableItem\";\nimport { mergeCollectionRowInteractionProps } from \"../selection/createCollectionRowInteraction\";\nimport { mergeProps } from \"../utils/mergeProps\";\n\n/**\n * Creates accessibility props for a grid list item.\n */\nexport function createGridListItem<\n T extends object,\n C extends GridCollection<T> = GridCollection<T>,\n>(\n props: Accessor<AriaGridListItemProps>,\n state: Accessor<GridState<T, C>>,\n ref: Accessor<HTMLElement | null>,\n): GridListItemAria {\n const isSelected = createMemo(() => {\n const s = state();\n const p = props();\n return s.isSelected(p.node.key);\n });\n\n const selectableState: SelectableItemState<T> = {\n collection: () => state().collection as unknown as Collection<T>,\n isFocused: () => state().isFocused,\n setFocused: (focused: boolean) => state().setFocused(focused),\n focusedKey: () => state().focusedKey,\n childFocusStrategy: () => state().childFocusStrategy,\n setFocusedKey: (key: Key | null, strategy) => state().setFocusedKey(key, strategy),\n selectionMode: () => state().selectionMode,\n selectionBehavior: () => props().selectionBehavior ?? state().selectionBehavior,\n disallowEmptySelection: () => state().disallowEmptySelection,\n selectedKeys: () => state().selectedKeys as Selection,\n disabledKeys: () => state().disabledKeys,\n disabledBehavior: () => state().disabledBehavior,\n isEmpty: () => {\n const keys = state().selectedKeys;\n return keys !== \"all\" && keys.size === 0;\n },\n isSelectAll: () => state().selectedKeys === \"all\",\n isSelected: (key: Key) => state().isSelected(key),\n isDisabled: (key: Key) => {\n const s = state();\n const item = s.collection.getItem(key);\n return (\n s.disabledBehavior === \"all\" &&\n s.isDisabled(key) &&\n item?.props?.disabledBehavior !== \"selection\"\n );\n },\n canSelectItem: (key: Key) => {\n const s = state();\n return s.selectionMode !== \"none\" && !s.isDisabled(key);\n },\n setSelectionBehavior: (behavior) => state().setSelectionBehavior(behavior),\n toggleSelection: (key: Key) => state().toggleSelection(key),\n replaceSelection: (key: Key) => state().replaceSelection(key),\n setSelectedKeys: (keys: Iterable<Key>) => state().setSelectedKeys(keys),\n selectAll: () => state().selectAll(),\n clearSelection: () => state().clearSelection(),\n toggleSelectAll: () => state().toggleSelectAll(),\n extendSelection: (toKey: Key, _collection: Collection<T>) => state().extendSelection(toKey),\n };\n\n const selectableItem = createSelectableItem<T>(\n () => {\n const s = state();\n const p = props();\n const gridListData = getGridListData(s);\n const onAction = gridListData?.actions.onAction;\n\n return {\n key: p.node.key,\n id: `${gridListData?.gridListId ?? \"gridlist\"}-row-${String(p.node.key)}`,\n isVirtualized: p.isVirtualized,\n shouldSelectOnPressUp: gridListData?.shouldSelectOnPressUp ?? false,\n onAction:\n onAction || p.onAction\n ? () => {\n p.onAction?.();\n onAction?.(p.node.key);\n }\n : undefined,\n };\n },\n selectableState,\n ref,\n );\n\n const rowProps = createMemo(() => {\n const s = state();\n const p = props();\n const node = p.node;\n\n const baseProps: Record<string, unknown> = {\n role: \"row\",\n \"aria-selected\": s.selectionMode !== \"none\" ? isSelected() : undefined,\n \"aria-disabled\": selectableItem.isDisabled() || undefined,\n };\n\n // Add aria-rowindex for virtualized lists\n if (p.isVirtualized && node.rowIndex != null) {\n baseProps[\"aria-rowindex\"] = node.rowIndex + 1; // 1-based\n }\n\n const gridListData = getGridListData(s);\n const mergedProps = mergeProps<JSX.HTMLAttributes<HTMLElement>>(\n selectableItem.itemProps,\n baseProps,\n );\n\n return mergeCollectionRowInteractionProps(mergedProps, {\n ref,\n keyboardNavigationBehavior: () => gridListData?.keyboardNavigationBehavior ?? \"arrow\",\n direction: () => gridListData?.direction ?? \"ltr\",\n });\n });\n\n const gridCellProps = createMemo(() => {\n return {\n role: \"gridcell\",\n } as JSX.HTMLAttributes<HTMLDivElement>;\n });\n\n return {\n get rowProps() {\n return rowProps();\n },\n get gridCellProps() {\n return gridCellProps();\n },\n get isSelected() {\n return isSelected();\n },\n get isDisabled() {\n return selectableItem.isDisabled();\n },\n get isPressed() {\n return selectableItem.isPressed();\n },\n };\n}\n","/**\n * createGridListSelectionCheckbox - Provides accessibility for a grid list item selection checkbox.\n * Based on @react-aria/gridlist.\n */\n\nimport { createMemo, type Accessor } from \"solid-js\";\nimport type { JSX } from \"solid-js\";\nimport { createId } from \"@proyecto-viviana/solid-stately\";\nimport type { GridState, GridCollection } from \"@proyecto-viviana/solid-stately\";\nimport type { AriaGridListSelectionCheckboxProps, GridListSelectionCheckboxAria } from \"./types\";\n\n/**\n * Creates accessibility props for a grid list item selection checkbox.\n */\nexport function createGridListSelectionCheckbox<\n T extends object,\n C extends GridCollection<T> = GridCollection<T>,\n>(\n props: Accessor<AriaGridListSelectionCheckboxProps>,\n state: Accessor<GridState<T, C>>,\n): GridListSelectionCheckboxAria {\n const checkboxId = createId();\n\n const isSelected = createMemo(() => {\n const s = state();\n const p = props();\n return s.isSelected(p.key);\n });\n\n const isDisabled = createMemo(() => {\n const s = state();\n const p = props();\n return s.isDisabled(p.key);\n });\n\n const onChange = () => {\n const s = state();\n const p = props();\n if (!isDisabled()) {\n s.toggleSelection(p.key);\n }\n };\n\n const checkboxProps = createMemo(() => {\n const baseProps: Record<string, unknown> = {\n id: checkboxId,\n type: \"checkbox\",\n checked: isSelected(),\n disabled: isDisabled(),\n onChange,\n \"aria-label\": \"Select\",\n };\n\n return baseProps as JSX.InputHTMLAttributes<HTMLInputElement>;\n });\n\n return {\n get checkboxProps() {\n return checkboxProps();\n },\n };\n}\n","/**\n * createGridListSection - Provides accessibility for a grid list section.\n * Based on @react-aria/gridlist/useGridListSection.\n */\n\nimport { createMemo } from \"solid-js\";\nimport { createId, createSlotId } from \"../ssr\";\nimport { createLabels } from \"../label/createLabels\";\nimport type { AriaGridListSectionProps, GridListSectionAria } from \"./types\";\n\n/**\n * Creates accessibility props for a grid list section.\n *\n * Mirrors upstream `useGridListSection`: a section is a `role=\"rowgroup\"`\n * wrapper whose optional header renders as `role=\"row\"` › `role=\"rowheader\"`.\n * The `aria-labelledby` of the wrapper points at the header's id via a slot id\n * that resolves to `undefined` when no header is rendered.\n */\nexport function createGridListSection(props: AriaGridListSectionProps): GridListSectionAria {\n const headingId = createSlotId();\n // Stable id for the rowgroup so `createLabels` does not regenerate one each\n // time the slot id resolves (it short-circuits on a provided id).\n const rowGroupId = createId();\n\n const labelProps = createMemo(() =>\n createLabels({\n id: rowGroupId,\n \"aria-label\": props[\"aria-label\"],\n \"aria-labelledby\": headingId(),\n }),\n );\n\n return {\n rowProps: { role: \"row\" },\n rowHeaderProps: {\n get id() {\n return headingId();\n },\n role: \"rowheader\",\n },\n rowGroupProps: {\n role: \"rowgroup\",\n get id() {\n return labelProps().id;\n },\n get \"aria-label\"() {\n return labelProps()[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return labelProps()[\"aria-labelledby\"];\n },\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAoCA,MAAM,kCAAkB,IAAI,QAA8B;;;;AAK1D,SAAgB,gBACd,OAC0B;CAC1B,OAAO,gBAAgB,IAAI,KAAK;AAClC;;;;;;;AAQA,SAAS,qBACP,OACA,KACS;CACT,OAAO,MAAM,WAAW,GAAG,KAAK,MAAM,qBAAqB;AAC7D;;;;;;;;AASA,SAAS,qBACP,OACA,UACA,MACY;CACZ,IAAI,MAAM;CACV,OAAO,OAAO,QAAQ,qBAAqB,OAAO,GAAG,GACnD,MAAM,KAAK,GAAG;CAEhB,OAAO;AACT;;;;AAKA,SAAgB,eACd,OACA,OACA,KACc;CAEd,MAAM,aAAa,MAAM,CAAC,CAAC,MAAM,SAAS;CAG1C,MAAM,eAA6B;EACjC;EACA,IAAI,oBAAoB;GACtB,OAAO,MAAM,CAAC,CAAC,qBAAqB;EACtC;EACA,IAAI,wBAAwB;GAC1B,OAAO,MAAM,CAAC,CAAC,yBAAyB;EAC1C;EACA,IAAI,6BAA6B;GAC/B,OAAO,MAAM,CAAC,CAAC,8BAA8B;EAC/C;EACA,IAAI,YAAY;GACd,OAAO,MAAM,CAAC,CAAC,aAAa;EAC9B;EACA,SAAS,EACP,IAAI,WAAW;GACb,OAAO,MAAM,CAAC,CAAC;EACjB,EACF;CACF;CAGA,gBAAgB,IAAI,MAAM,GAAG,YAAY;CAGzC,MAAM,aAAa,MAAqB;EACtC,MAAM,IAAI,MAAM;EAChB,MAAM,IAAI,MAAM;EAChB,MAAM,aAAa,EAAE;EACrB,MAAM,aAAa,EAAE;EAErB,IAAI,EAAE,YAAY;EAElB,QAAQ,EAAE,KAAV;GACE,KAAK,aAAa;IAChB,EAAE,eAAe;IACjB,MAAM,UACJ,cAAc,OACV,qBAAqB,GAAG,WAAW,YAAY,UAAU,IAAI,MAC3D,WAAW,YAAY,CAAC,CAC1B,IACA,qBAAqB,GAAG,WAAW,YAAY,IAAI,MAAM,WAAW,YAAY,CAAC,CAAC;IACxF,IAAI,WAAW,MACb,EAAE,cAAc,OAAO;IAEzB;GACF;GACA,KAAK,WAAW;IACd,EAAE,eAAe;IACjB,MAAM,UACJ,cAAc,OACV,qBAAqB,GAAG,WAAW,aAAa,UAAU,IAAI,MAC5D,WAAW,aAAa,CAAC,CAC3B,IACA,qBAAqB,GAAG,WAAW,WAAW,IAAI,MAAM,WAAW,aAAa,CAAC,CAAC;IACxF,IAAI,WAAW,MACb,EAAE,cAAc,OAAO;IAEzB;GACF;GACA,KAAK;GACL,KAAK,aAAa;IAchB,MAAM,WAAW,EAAE,8BAA8B;IACjD,IAAI,EAAE,gBAAgB,gBAAgB,aAAa,OAAO;IAC1D,EAAE,eAAe;IACjB,MAAM,QAAQ,EAAE,cAAc;IAE9B,MAAM,QADU,EAAE,QAAQ,eAAe,CAAC,QAAQ,UAE7C,MAAW,WAAW,YAAY,CAAC,KACnC,MAAW,WAAW,aAAa,CAAC;IACzC,MAAM,UACJ,cAAc,OACV,qBAAqB,GAAG,KAAK,UAAU,GAAG,IAAI,IAC9C,qBAAqB,GAAG,WAAW,YAAY,IAAI,MAAM,WAAW,YAAY,CAAC,CAAC;IACxF,IAAI,WAAW,MACb,EAAE,cAAc,OAAO;IAEzB;GACF;GACA,KAAK,QAAQ;IACX,EAAE,eAAe;IACjB,MAAM,WAAW,qBAAqB,GAAG,WAAW,YAAY,IAAI,MAClE,WAAW,YAAY,CAAC,CAC1B;IACA,IAAI,YAAY,MACd,EAAE,cAAc,QAAQ;IAE1B;GACF;GACA,KAAK,OAAO;IACV,EAAE,eAAe;IACjB,MAAM,UAAU,qBAAqB,GAAG,WAAW,WAAW,IAAI,MAChE,WAAW,aAAa,CAAC,CAC3B;IACA,IAAI,WAAW,MACb,EAAE,cAAc,OAAO;IAEzB;GACF;GACA,KAAK;GACL,KAAK;IACH,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,YAAY;KAC9D,EAAE,eAAe;KACjB,EAAE,UAAU;IACd;IACA;GASF,KAAK;IACH,IAAI,EAAE,kBAAkB,QAAQ;KAC9B,EAAE,eAAe;KACjB,EAAE,eAAe;IACnB;IACA;EAEJ;CACF;CAUA,MAAM,WAAsD,MAAM;EAChE,MAAM,IAAI,MAAM;EAChB,MAAM,IAAI,MAAM;EAChB,EAAE,WAAW,IAAI;EAMjB,MAAM,YAAY,EAAE;EACpB,IAAI,aAAa,CAAC,UAAU,SAAS,EAAE,MAAc,GAAG;EAExD,IAAI,EAAE,cAAc,QAAQ,EAAE,YAAY;EAE1C,MAAM,aAAa,EAAE;EACrB,MAAM,gBAAgB,EAAE;EAIxB,MAAM,WACJ,iBACA,aACA,UAAU,wBAAwB,aAAa,IAAI,KAAK,8BACpD,qBAAqB,GAAG,WAAW,WAAW,IAAI,MAAM,WAAW,aAAa,CAAC,CAAC,IAClF,qBAAqB,GAAG,WAAW,YAAY,IAAI,MAAM,WAAW,YAAY,CAAC,CAAC;EACxF,IAAI,YAAY,MACd,EAAE,cAAc,QAAQ;CAE5B;CAEA,MAAM,eAAe;EAEnB,MAAA,CAAC,CAAC,WAAW,KAAK;CACpB;CAQA,mBAAmB;EAEjB,MAAM,MADI,MACE,CAAC,CAAC;EACd,MAAM,KAAK,IAAI;EACf,IAAI,CAAC,MAAM,OAAO,MAChB;EASF,MAAM,SAAS,SAAS;EACxB,IAAI,CAAC,UAAW,WAAW,MAAM,CAAC,GAAG,SAAS,MAAM,GAClD;EAGF,MAAM,SAAS,GAAG,cAA2B,cAAc,IAAI,GAAG;EAClE,IAAI,UAAU,WAAW,QAAQ;GAC/B,OAAO,MAAM;GAKb,IAAI,uBAAuB,MAAM,WAC/B,mBAAmB,QAAQ,EAAE,mBAAmB,GAAG,CAAC;EAExD;CACF,CAAC;CAED,MAAM,YAAY,iBAAiB;EACjC,MAAM,IAAI,MAAM;EAChB,MAAM,IAAI,MAAM;EAEhB,MAAM,YAAqC;GACzC,MAAM;GACN,IAAI;GACJ,cAAc,EAAE;GAChB,mBAAmB,EAAE;GACrB,oBAAoB,EAAE;GACtB,wBAAwB,EAAE,kBAAkB,aAAa,OAAO,KAAA;GAChE,iBAAiB,EAAE,cAAc,KAAA;GAKjC,UAAU,EAAE,aAAa,KAAA,IAAY,EAAE,cAAc,OAAO,KAAK;GACjE;GACA;GACA;EACF;EAGA,IAAI,EAAE,eACJ,UAAU,mBAAmB,EAAE,WAAW;EAG5C,OAAO;CACT,CAAC;CAED,OAAO,EACL,IAAI,YAAY;EACd,OAAO,UAAU;CACnB,EACF;AACF;;;;;;;;;;ACjUA,SAAgB,mBAId,OACA,OACA,KACkB;CAClB,MAAM,aAAa,iBAAiB;EAClC,MAAM,IAAI,MAAM;EAChB,MAAM,IAAI,MAAM;EAChB,OAAO,EAAE,WAAW,EAAE,KAAK,GAAG;CAChC,CAAC;CA4CD,MAAM,iBAAiB,2BACf;EACJ,MAAM,IAAI,MAAM;EAChB,MAAM,IAAI,MAAM;EAChB,MAAM,eAAe,gBAAgB,CAAC;EACtC,MAAM,WAAW,cAAc,QAAQ;EAEvC,OAAO;GACL,KAAK,EAAE,KAAK;GACZ,IAAI,GAAG,cAAc,cAAc,WAAW,OAAO,OAAO,EAAE,KAAK,GAAG;GACtE,eAAe,EAAE;GACjB,uBAAuB,cAAc,yBAAyB;GAC9D,UACE,YAAY,EAAE,iBACJ;IACJ,EAAE,WAAW;IACb,WAAW,EAAE,KAAK,GAAG;GACvB,IACA,KAAA;EACR;CACF,GACA;EA9DA,kBAAkB,MAAM,CAAC,CAAC;EAC1B,iBAAiB,MAAM,CAAC,CAAC;EACzB,aAAa,YAAqB,MAAM,CAAC,CAAC,WAAW,OAAO;EAC5D,kBAAkB,MAAM,CAAC,CAAC;EAC1B,0BAA0B,MAAM,CAAC,CAAC;EAClC,gBAAgB,KAAiB,aAAa,MAAM,CAAC,CAAC,cAAc,KAAK,QAAQ;EACjF,qBAAqB,MAAM,CAAC,CAAC;EAC7B,yBAAyB,MAAM,CAAC,CAAC,qBAAqB,MAAM,CAAC,CAAC;EAC9D,8BAA8B,MAAM,CAAC,CAAC;EACtC,oBAAoB,MAAM,CAAC,CAAC;EAC5B,oBAAoB,MAAM,CAAC,CAAC;EAC5B,wBAAwB,MAAM,CAAC,CAAC;EAChC,eAAe;GACb,MAAM,OAAO,MAAM,CAAC,CAAC;GACrB,OAAO,SAAS,SAAS,KAAK,SAAS;EACzC;EACA,mBAAmB,MAAM,CAAC,CAAC,iBAAiB;EAC5C,aAAa,QAAa,MAAM,CAAC,CAAC,WAAW,GAAG;EAChD,aAAa,QAAa;GACxB,MAAM,IAAI,MAAM;GAChB,MAAM,OAAO,EAAE,WAAW,QAAQ,GAAG;GACrC,OACE,EAAE,qBAAqB,SACvB,EAAE,WAAW,GAAG,KAChB,MAAM,OAAO,qBAAqB;EAEtC;EACA,gBAAgB,QAAa;GAC3B,MAAM,IAAI,MAAM;GAChB,OAAO,EAAE,kBAAkB,UAAU,CAAC,EAAE,WAAW,GAAG;EACxD;EACA,uBAAuB,aAAa,MAAM,CAAC,CAAC,qBAAqB,QAAQ;EACzE,kBAAkB,QAAa,MAAM,CAAC,CAAC,gBAAgB,GAAG;EAC1D,mBAAmB,QAAa,MAAM,CAAC,CAAC,iBAAiB,GAAG;EAC5D,kBAAkB,SAAwB,MAAM,CAAC,CAAC,gBAAgB,IAAI;EACtE,iBAAiB,MAAM,CAAC,CAAC,UAAU;EACnC,sBAAsB,MAAM,CAAC,CAAC,eAAe;EAC7C,uBAAuB,MAAM,CAAC,CAAC,gBAAgB;EAC/C,kBAAkB,OAAY,gBAA+B,MAAM,CAAC,CAAC,gBAAgB,KAAK;CAwB5E,GACd,GACF;CAEA,MAAM,WAAW,iBAAiB;EAChC,MAAM,IAAI,MAAM;EAChB,MAAM,IAAI,MAAM;EAChB,MAAM,OAAO,EAAE;EAEf,MAAM,YAAqC;GACzC,MAAM;GACN,iBAAiB,EAAE,kBAAkB,SAAS,WAAW,IAAI,KAAA;GAC7D,iBAAiB,eAAe,WAAW,KAAK,KAAA;EAClD;EAGA,IAAI,EAAE,iBAAiB,KAAK,YAAY,MACtC,UAAU,mBAAmB,KAAK,WAAW;EAG/C,MAAM,eAAe,gBAAgB,CAAC;EAMtC,OAAO,mCALaA,aAClB,eAAe,WACf,SAGkD,GAAG;GACrD;GACA,kCAAkC,cAAc,8BAA8B;GAC9E,iBAAiB,cAAc,aAAa;EAC9C,CAAC;CACH,CAAC;CAED,MAAM,gBAAgB,iBAAiB;EACrC,OAAO,EACL,MAAM,WACR;CACF,CAAC;CAED,OAAO;EACL,IAAI,WAAW;GACb,OAAO,SAAS;EAClB;EACA,IAAI,gBAAgB;GAClB,OAAO,cAAc;EACvB;EACA,IAAI,aAAa;GACf,OAAO,WAAW;EACpB;EACA,IAAI,aAAa;GACf,OAAO,eAAe,WAAW;EACnC;EACA,IAAI,YAAY;GACd,OAAO,eAAe,UAAU;EAClC;CACF;AACF;;;;;;;;;;AC9IA,SAAgB,gCAId,OACA,OAC+B;CAC/B,MAAM,aAAa,SAAS;CAE5B,MAAM,aAAa,iBAAiB;EAClC,MAAM,IAAI,MAAM;EAChB,MAAM,IAAI,MAAM;EAChB,OAAO,EAAE,WAAW,EAAE,GAAG;CAC3B,CAAC;CAED,MAAM,aAAa,iBAAiB;EAClC,MAAM,IAAI,MAAM;EAChB,MAAM,IAAI,MAAM;EAChB,OAAO,EAAE,WAAW,EAAE,GAAG;CAC3B,CAAC;CAED,MAAM,iBAAiB;EACrB,MAAM,IAAI,MAAM;EAChB,MAAM,IAAI,MAAM;EAChB,IAAI,CAAC,WAAW,GACd,EAAE,gBAAgB,EAAE,GAAG;CAE3B;CAEA,MAAM,gBAAgB,iBAAiB;EAUrC,OAAO;GARL,IAAI;GACJ,MAAM;GACN,SAAS,WAAW;GACpB,UAAU,WAAW;GACrB;GACA,cAAc;EAGD;CACjB,CAAC;CAED,OAAO,EACL,IAAI,gBAAgB;EAClB,OAAO,cAAc;CACvB,EACF;AACF;;;;;;;;;;;;;;;AC3CA,SAAgB,sBAAsB,OAAsD;CAC1F,MAAM,YAAY,aAAa;CAG/B,MAAM,aAAaC,WAAS;CAE5B,MAAM,aAAa,iBACjB,aAAa;EACX,IAAI;EACJ,cAAc,MAAM;EACpB,mBAAmB,UAAU;CAC/B,CAAC,CACH;CAEA,OAAO;EACL,UAAU,EAAE,MAAM,MAAM;EACxB,gBAAgB;GACd,IAAI,KAAK;IACP,OAAO,UAAU;GACnB;GACA,MAAM;EACR;EACA,eAAe;GACb,MAAM;GACN,IAAI,KAAK;IACP,OAAO,WAAW,CAAC,CAAC;GACtB;GACA,IAAI,eAAe;IACjB,OAAO,WAAW,CAAC,CAAC;GACtB;GACA,IAAI,oBAAoB;IACtB,OAAO,WAAW,CAAC,CAAC;GACtB;EACF;CACF;AACF"}
|
|
1
|
+
{"version":3,"file":"gridlist.js","names":["createId"],"sources":["../../src/gridlist/createGridList.ts","../../src/gridlist/createGridListItem.ts","../../src/gridlist/createGridListSelectionCheckbox.ts","../../src/gridlist/createGridListSection.ts"],"sourcesContent":["/*\n * Copyright 2022 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/gridlist/useGridList.ts\n\n/**\n * createGridList - Provides accessibility for a grid list.\n * Based on @react-aria/gridlist/useGridList.\n */\n\nimport { createMemo, createTrackedEffect } from \"solid-js\";\nimport type { Accessor } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport { createId } from \"@proyecto-viviana/solid-stately\";\nimport type { GridState, GridCollection, Key, Collection } from \"@proyecto-viviana/solid-stately\";\nimport type { AriaGridListProps, GridListAria } from \"./types\";\nimport { scrollIntoViewport } from \"../utils\";\nimport { getInteractionModality } from \"../interactions/createInteractionModality\";\nimport { mergeProps } from \"../utils/mergeProps\";\nimport { createTypeSelect } from \"../selection/createTypeSelect\";\nimport { isNonContiguousSelectionModifier } from \"../selection/utils\";\n\n/**\n * Metadata stored for a grid list instance.\n */\ninterface GridListData {\n /** The generated ID for the grid list. */\n gridListId: string;\n /** How selection should behave when pressing an item. */\n selectionBehavior: \"replace\" | \"toggle\";\n /** Whether row selection should occur on press up. */\n shouldSelectOnPressUp: boolean;\n /** How keyboard navigation behaves within row children. */\n keyboardNavigationBehavior: \"arrow\" | \"tab\";\n /** Text direction for row-child arrow navigation. */\n direction: \"ltr\" | \"rtl\";\n /** `\"grid\"` lets Left/Right reach the collection for 2D navigation. */\n layout: \"stack\" | \"grid\";\n /** Actions registered for the grid list. */\n actions: {\n onAction?: (key: Key) => void;\n };\n}\n\n/**\n * WeakMap to store grid list data for child components to access.\n */\nconst gridListDataMap = new WeakMap<object, GridListData>();\n\n/**\n * Gets the grid list data for a given state.\n */\nexport function getGridListData<T extends object, C extends GridCollection<T>>(\n state: GridState<T, C>,\n): GridListData | undefined {\n return gridListDataMap.get(state);\n}\n\n/**\n * Whether a key should be skipped during keyboard navigation. Disabled keys only\n * block navigation under `disabledBehavior: \"all\"` (the default); under\n * `\"selection\"` they remain focusable (selection is still blocked elsewhere).\n * Mirrors `ListKeyboardDelegate.isDisabled` in React Aria.\n */\nfunction isNavigationDisabled<T extends object, C extends GridCollection<T>>(\n state: GridState<T, C>,\n key: Key,\n): boolean {\n return state.isDisabled(key) && state.disabledBehavior === \"all\";\n}\n\n/**\n * Walks from `startKey` via `step` until reaching a navigable (not\n * navigation-disabled) key, mirroring React Aria's\n * `ListKeyboardDelegate.findNextNonDisabled`. The next/previous lookups and the\n * `getFirstKey`/`getLastKey` boundaries all funnel through this so arrow keys,\n * Home and End land on enabled rows only.\n */\nfunction findNextNavigableKey<T extends object, C extends GridCollection<T>>(\n state: GridState<T, C>,\n startKey: Key | null,\n step: (key: Key) => Key | null,\n): Key | null {\n let key = startKey;\n while (key != null && isNavigationDisabled(state, key)) {\n key = step(key);\n }\n return key;\n}\n\nfunction navigableKeys<T extends object, C extends GridCollection<T>>(\n state: GridState<T, C>,\n): Key[] {\n const keys: Key[] = [];\n let key = state.collection.getFirstKey();\n while (key != null) {\n if (!isNavigationDisabled(state, key)) {\n keys.push(key);\n }\n key = state.collection.getKeyAfter(key);\n }\n return keys;\n}\n\nfunction gridNeighborKey(\n keys: Key[],\n from: Key,\n columns: number,\n deltaCol: number,\n deltaRow: number,\n): Key | null {\n const index = keys.indexOf(from);\n if (index < 0 || columns < 1) return null;\n const row = Math.floor(index / columns);\n const col = index % columns;\n const nextCol = col + deltaCol;\n const nextRow = row + deltaRow;\n if (nextCol < 0 || nextCol >= columns || nextRow < 0) return null;\n return keys[nextRow * columns + nextCol] ?? null;\n}\n\nfunction firstSelectedKey<T extends object, C extends GridCollection<T>>(\n state: GridState<T, C>,\n): Key | null {\n let key = state.collection.getFirstKey();\n while (key != null) {\n if (state.isSelected(key)) return key;\n key = state.collection.getKeyAfter(key);\n }\n return null;\n}\n\nfunction lastSelectedKey<T extends object, C extends GridCollection<T>>(\n state: GridState<T, C>,\n): Key | null {\n let key = state.collection.getLastKey();\n while (key != null) {\n if (state.isSelected(key)) return key;\n key = state.collection.getKeyBefore(key);\n }\n return null;\n}\n\nfunction queryCollectionItem(root: HTMLElement, key: Key): HTMLElement | null {\n const escaped = typeof CSS !== \"undefined\" && CSS.escape ? CSS.escape(String(key)) : String(key);\n return root.querySelector<HTMLElement>(`[data-key=\"${escaped}\"]`);\n}\n\n/**\n * Creates accessibility props for a grid list.\n */\nexport function createGridList<T extends object, C extends GridCollection<T> = GridCollection<T>>(\n props: Accessor<AriaGridListProps>,\n state: Accessor<GridState<T, C>>,\n ref: Accessor<HTMLElement | null>,\n): GridListAria {\n // Generate a unique ID for the grid list\n const gridListId = props().id ?? createId();\n\n // Store grid list data for child components\n const gridListData: GridListData = {\n gridListId,\n get selectionBehavior() {\n return props().selectionBehavior ?? \"toggle\";\n },\n get shouldSelectOnPressUp() {\n return props().shouldSelectOnPressUp ?? false;\n },\n get keyboardNavigationBehavior() {\n return props().keyboardNavigationBehavior ?? \"arrow\";\n },\n get direction() {\n return props().direction ?? \"ltr\";\n },\n get layout() {\n return props().layout ?? \"stack\";\n },\n actions: {\n get onAction() {\n return props().onAction;\n },\n },\n };\n\n // Store in WeakMap using the state as key\n gridListDataMap.set(state(), gridListData);\n\n const { typeSelectProps } = createTypeSelect({\n collection: () => state().collection as unknown as Collection<T>,\n focusedKey: () => state().focusedKey,\n onFocusedKeyChange: (key) => state().setFocusedKey(key),\n isKeyDisabled: (key) => isNavigationDisabled(state(), key),\n });\n\n // Handle keyboard navigation\n const onKeyDown = (e: KeyboardEvent) => {\n const s = state();\n const p = props();\n const collection = s.collection;\n const focusedKey = s.focusedKey;\n\n if (p.isDisabled) return;\n\n const selectOnFocus =\n (p.selectionBehavior ?? s.selectionBehavior) === \"replace\" && s.selectionMode !== \"none\";\n const moveFocus = (nextKey: Key | null) => {\n if (nextKey == null) return;\n s.setFocusedKey(nextKey);\n if (selectOnFocus && !e.shiftKey && !isNonContiguousSelectionModifier(e)) {\n s.replaceSelection(nextKey);\n }\n };\n const isGrid = p.layout === \"grid\";\n const columns = Math.max(1, p.columnCount ?? 1);\n\n switch (e.key) {\n case \"ArrowDown\": {\n e.preventDefault();\n if (isGrid) {\n const keys = navigableKeys(s);\n const from = focusedKey ?? keys[0];\n if (from != null) {\n moveFocus(gridNeighborKey(keys, from, columns, 0, 1));\n }\n break;\n }\n const nextKey =\n focusedKey != null\n ? findNextNavigableKey(s, collection.getKeyAfter(focusedKey), (k) =>\n collection.getKeyAfter(k),\n )\n : findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k));\n moveFocus(nextKey);\n break;\n }\n case \"ArrowUp\": {\n e.preventDefault();\n if (isGrid) {\n const keys = navigableKeys(s);\n const from = focusedKey ?? keys[keys.length - 1];\n if (from != null) {\n moveFocus(gridNeighborKey(keys, from, columns, 0, -1));\n }\n break;\n }\n const prevKey =\n focusedKey != null\n ? findNextNavigableKey(s, collection.getKeyBefore(focusedKey), (k) =>\n collection.getKeyBefore(k),\n )\n : findNextNavigableKey(s, collection.getLastKey(), (k) => collection.getKeyBefore(k));\n moveFocus(prevKey);\n break;\n }\n case \"ArrowRight\":\n case \"ArrowLeft\": {\n const behavior = p.keyboardNavigationBehavior ?? \"arrow\";\n const isRtl = p.direction === \"rtl\";\n if (isGrid) {\n e.preventDefault();\n const keys = navigableKeys(s);\n const from = focusedKey ?? keys[0];\n if (from != null) {\n const forward = e.key === \"ArrowRight\" ? !isRtl : isRtl;\n moveFocus(gridNeighborKey(keys, from, columns, forward ? 1 : -1, 0));\n }\n break;\n }\n // The inline axis (Left/Right) belongs to the ROW under the default\n // \"arrow\" navigation behavior: createGridListItem's onKeyDownCapture\n // intercepts Left/Right for intra-row focus movement (a no-op for\n // text-only rows), exactly as useGridListItem does upstream, so the\n // container must NOT step between rows here. Only under \"tab\" navigation\n // does the row stop intercepting and the event reach the collection —\n // mirroring how useSelectableCollection handles Left/Right via\n // ListKeyboardDelegate. Even then it strips getKeyLeftOf/getKeyRightOf\n // for a vertical stack, so this stays a no-op unless the stack is\n // horizontal, where Right=next / Left=prev in LTR, flipped under RTL.\n // (In Solid the row's capture-phase stopPropagation does not reliably\n // prevent the container's delegated onKeyDown, so this gate — not the\n // row's stopPropagation — is what keeps the axes from double-firing.)\n if (p.orientation !== \"horizontal\" || behavior !== \"tab\") break;\n e.preventDefault();\n const forward = e.key === \"ArrowRight\" ? !isRtl : isRtl;\n const step = forward\n ? (k: Key) => collection.getKeyAfter(k)\n : (k: Key) => collection.getKeyBefore(k);\n const nextKey =\n focusedKey != null\n ? findNextNavigableKey(s, step(focusedKey), step)\n : findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k));\n moveFocus(nextKey);\n break;\n }\n case \"Home\": {\n e.preventDefault();\n const firstKey = findNextNavigableKey(s, collection.getFirstKey(), (k) =>\n collection.getKeyAfter(k),\n );\n moveFocus(firstKey);\n break;\n }\n case \"End\": {\n e.preventDefault();\n const lastKey = findNextNavigableKey(s, collection.getLastKey(), (k) =>\n collection.getKeyBefore(k),\n );\n moveFocus(lastKey);\n break;\n }\n case \"a\":\n case \"A\": {\n if ((e.ctrlKey || e.metaKey) && s.selectionMode === \"multiple\") {\n e.preventDefault();\n s.selectAll();\n }\n break;\n }\n // Space (toggle selection) and Enter (onAction) are intentionally absent\n // here. Upstream's useSelectableCollection has no Space/Enter case — the\n // focused item owns both, via useSelectableItem. We follow browser focus\n // onto the focused row (the effect below), so the row's own handlers in\n // createGridListItem fire. Handling them here too would double-toggle a\n // focused row, because Solid delegates keydown and bubbles the row event\n // up to this grid handler.\n case \"Escape\": {\n if (s.selectionMode !== \"none\") {\n e.preventDefault();\n s.clearSelection();\n }\n break;\n }\n }\n };\n\n // Focus marshalling — the grid container is a trampoline. Its roving tabIndex\n // is 0 only while `focusedKey == null` (see gridProps below), so a Tab that\n // reaches a standalone grid lands on the container itself; move the focused key\n // onto the first/last row and the post-commit effect below pulls REAL DOM focus\n // there while the container rolls to tabIndex -1. This mirrors\n // useSelectableCollection's `onFocus` — the same direction-aware trampoline the\n // standalone ListBox uses (createListBox.ts) — and is why a standalone grid\n // announces the active row through real focus, never `aria-activedescendant`.\n const onFocus: JSX.EventHandler<HTMLElement, FocusEvent> = (e) => {\n const s = state();\n const p = props();\n s.setFocused(true);\n\n // onFocus is non-bubbling in Solid, so this fires only when the container\n // itself receives focus; ignore anything that bubbled from a descendant.\n // (`currentTarget` is null only in synthetic unit-test FocusEvents — treat\n // those as a direct container focus.)\n const container = e.currentTarget as HTMLElement | null;\n if (container && !container.contains(e.target as Node)) return;\n // Only marshal when no row is focused yet.\n if (s.focusedKey != null || p.isDisabled) return;\n\n const collection = s.collection;\n const relatedTarget = e.relatedTarget as Element | null;\n // Detect tab direction: focus arriving from an element that FOLLOWS the grid\n // in document order means the user shift-tabbed backward into it, so enter at\n // the LAST row; otherwise (forward Tab, or programmatic) enter at the FIRST.\n const enterKey =\n relatedTarget &&\n container &&\n container.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING\n ? (lastSelectedKey(s) ??\n findNextNavigableKey(s, collection.getLastKey(), (k) => collection.getKeyBefore(k)))\n : (firstSelectedKey(s) ??\n findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k)));\n if (enterKey != null) {\n s.setFocusedKey(enterKey);\n }\n };\n\n const onBlur = () => {\n const s = state();\n s.setFocused(false);\n };\n\n // Mirror React Aria's useSelectableCollection: once the roving tabindex for the\n // focused key has been committed to the DOM, move browser focus onto that row\n // from a post-commit effect, looking it up by its stable data-key rather than by\n // transient tabindex. Selection and activation live on the row\n // (createGridListItem) to match upstream, so keyboard nav has to carry focus\n // there for the row's Space/Enter handlers to act on.\n createTrackedEffect(() => {\n const s = state();\n const key = s.focusedKey;\n const el = ref();\n if (!el || key == null) {\n return;\n }\n\n // Only manage focus while it already lives inside the grid — i.e. the user is\n // navigating with the keyboard. Gate on the physical position of browser focus\n // rather than the grid's logical isFocused signal: focus can land directly on a\n // row (a pointer click) without ever firing the grid's own focus handler, and\n // the contains() check keeps us from yanking focus back from elsewhere on the\n // page when the focused key changes from a background interaction.\n const active = document.activeElement;\n if (!active || (active !== el && !el.contains(active))) {\n return;\n }\n\n const target = queryCollectionItem(el, key);\n if (target && target !== active) {\n // A disabled selected key keeps logical focus on the collection (the\n // row is not tabbable). Focusing it would steal Tab from the grid.\n if (isNavigationDisabled(s, key)) {\n return;\n }\n target.focus();\n\n // Reveal the newly focused row when navigating with the keyboard, mirroring\n // useSelectableCollection. Pointer-driven focus changes should not shift the\n // scroll position under the user's finger.\n if (getInteractionModality() !== \"pointer\") {\n scrollIntoViewport(target, { containingElement: el });\n }\n }\n });\n\n const gridProps = createMemo(() => {\n const p = props();\n const s = state();\n\n const baseProps: Record<string, unknown> = mergeProps(\n typeSelectProps as Record<string, unknown>,\n {\n role: \"grid\",\n id: gridListId,\n \"aria-label\": p[\"aria-label\"],\n \"aria-labelledby\": p[\"aria-labelledby\"],\n \"aria-describedby\": p[\"aria-describedby\"],\n \"aria-multiselectable\": s.selectionMode === \"multiple\" ? true : undefined,\n \"aria-disabled\": p.isDisabled || undefined,\n // Roving container tabIndex mirrors useSelectableCollection: the container\n // is tabbable (0) only while nothing is focused, then rolls to -1 once a row\n // takes focus so Tab exits the grid. A standalone grid drives AT through\n // real row focus, so it never needs (nor emits) aria-activedescendant.\n tabIndex: p.isDisabled\n ? undefined\n : s.focusedKey != null && !isNavigationDisabled(s, s.focusedKey)\n ? -1\n : 0,\n onKeyDown,\n onFocus,\n onBlur,\n },\n );\n\n // Add row count for virtualized lists\n if (p.isVirtualized) {\n baseProps[\"aria-rowcount\"] = s.collection.rowCount;\n }\n\n return baseProps as JSX.HTMLAttributes<HTMLElement>;\n });\n\n return {\n get gridProps() {\n return gridProps();\n },\n };\n}\n","/*\n * Copyright 2022 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/gridlist/useGridListItem.ts\n\n/**\n * createGridListItem - Provides accessibility for a grid list item.\n * Based on @react-aria/gridlist/useGridListItem.\n */\n\nimport { createMemo } from \"solid-js\";\nimport { bindCapture } from \"../utils/capture\";\nimport type { Accessor } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport type {\n Collection,\n GridState,\n GridCollection,\n Key,\n Selection,\n} from \"@proyecto-viviana/solid-stately\";\nimport { createId } from \"@proyecto-viviana/solid-stately\";\nimport type { AriaGridListItemProps, GridListItemAria } from \"./types\";\nimport { getGridListData } from \"./createGridList\";\nimport { createSelectableItem, type SelectableItemState } from \"../selection/createSelectableItem\";\nimport { mergeCollectionRowInteractionProps } from \"../selection/createCollectionRowInteraction\";\nimport { mergeProps } from \"../utils/mergeProps\";\n\n/**\n * Creates accessibility props for a grid list item.\n */\nexport function createGridListItem<\n T extends object,\n C extends GridCollection<T> = GridCollection<T>,\n>(\n props: Accessor<AriaGridListItemProps>,\n state: Accessor<GridState<T, C>>,\n ref: Accessor<HTMLElement | null>,\n): GridListItemAria {\n const descriptionId = createId();\n\n const isSelected = createMemo(() => {\n const s = state();\n const p = props();\n return s.isSelected(p.node.key);\n });\n\n const selectableState: SelectableItemState<T> = {\n collection: () => state().collection as unknown as Collection<T>,\n isFocused: () => state().isFocused,\n setFocused: (focused: boolean) => state().setFocused(focused),\n focusedKey: () => state().focusedKey,\n childFocusStrategy: () => state().childFocusStrategy,\n setFocusedKey: (key: Key | null, strategy) => state().setFocusedKey(key, strategy),\n selectionMode: () => state().selectionMode,\n selectionBehavior: () => props().selectionBehavior ?? state().selectionBehavior,\n disallowEmptySelection: () => state().disallowEmptySelection,\n selectedKeys: () => state().selectedKeys as Selection,\n disabledKeys: () => state().disabledKeys,\n disabledBehavior: () => state().disabledBehavior,\n isEmpty: () => state().isEmpty,\n isSelectAll: () => state().isSelectAll,\n isSelected: (key: Key) => state().isSelected(key),\n isDisabled: (key: Key) => {\n const s = state();\n const p = props();\n const item = s.collection.getItem(key);\n const disabled = s.isDisabled(key) || !!item?.isDisabled || !!p.isDisabled;\n return (\n s.disabledBehavior === \"all\" && disabled && item?.props?.disabledBehavior !== \"selection\"\n );\n },\n canSelectItem: (key: Key) => {\n const s = state();\n const p = props();\n const item = s.collection.getItem(key);\n return s.selectionMode !== \"none\" && !s.isDisabled(key) && !item?.isDisabled && !p.isDisabled;\n },\n setSelectionBehavior: (behavior) => state().setSelectionBehavior(behavior),\n toggleSelection: (key: Key) => state().toggleSelection(key),\n replaceSelection: (key: Key) => state().replaceSelection(key),\n setSelectedKeys: (keys: Iterable<Key>) => state().setSelectedKeys(keys),\n selectAll: () => state().selectAll(),\n clearSelection: () => state().clearSelection(),\n toggleSelectAll: () => state().toggleSelectAll(),\n extendSelection: (toKey: Key, _collection: Collection<T>) => state().extendSelection(toKey),\n };\n\n const selectableItem = createSelectableItem<T>(\n () => {\n const s = state();\n const p = props();\n const gridListData = getGridListData(s);\n const onAction = gridListData?.actions.onAction;\n\n return {\n key: p.node.key,\n id: `${gridListData?.gridListId ?? \"gridlist\"}-row-${String(p.node.key)}`,\n isVirtualized: p.isVirtualized,\n shouldSelectOnPressUp: gridListData?.shouldSelectOnPressUp ?? false,\n onAction:\n onAction || p.onAction\n ? () => {\n p.onAction?.();\n onAction?.(p.node.key);\n }\n : undefined,\n };\n },\n selectableState,\n ref,\n );\n\n const rowProps = createMemo(() => {\n const s = state();\n const p = props();\n const node = p.node;\n const gridListData = getGridListData(s);\n const rowId = `${gridListData?.gridListId ?? \"gridlist\"}-row-${String(node.key)}`;\n const label = p.textValue || node[\"aria-label\"] || node.textValue || undefined;\n\n const baseProps: Record<string, unknown> = {\n role: \"row\",\n // RAC only exposes aria-selected when the row can be selected, so a\n // disabled selected key does not stay [disabled][selected].\n \"aria-selected\":\n s.selectionMode !== \"none\" && !s.isDisabled(node.key) ? isSelected() : undefined,\n \"aria-disabled\": selectableItem.isDisabled() || undefined,\n \"aria-label\": label,\n \"aria-labelledby\": label ? `${rowId} ${descriptionId}` : undefined,\n };\n\n // Add aria-rowindex for virtualized lists\n if (p.isVirtualized && node.rowIndex != null) {\n baseProps[\"aria-rowindex\"] = node.rowIndex + 1; // 1-based\n }\n\n const mergedProps = mergeProps<JSX.HTMLAttributes<HTMLElement>>(\n selectableItem.itemProps,\n baseProps,\n );\n\n return mergeCollectionRowInteractionProps(mergedProps, {\n ref,\n keyboardNavigationBehavior: () => gridListData?.keyboardNavigationBehavior ?? \"arrow\",\n direction: () => gridListData?.direction ?? \"ltr\",\n layout: () => gridListData?.layout ?? \"stack\",\n });\n });\n\n bindCapture(ref, {\n keydown: (event) => {\n const handler = (rowProps() as { onKeyDownCapture?: (event: KeyboardEvent) => void })\n .onKeyDownCapture;\n handler?.(event as KeyboardEvent);\n },\n });\n\n const gridCellProps = createMemo(() => {\n return {\n role: \"gridcell\",\n \"aria-colindex\": 1,\n } as JSX.HTMLAttributes<HTMLDivElement>;\n });\n\n return {\n get rowProps() {\n return rowProps();\n },\n get gridCellProps() {\n return gridCellProps();\n },\n get descriptionProps() {\n return { id: descriptionId };\n },\n get isSelected() {\n return isSelected();\n },\n get isDisabled() {\n return selectableItem.isDisabled();\n },\n get isPressed() {\n return selectableItem.isPressed();\n },\n };\n}\n","/*\n * Copyright 2022 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/gridlist/useGridListSelectionCheckbox.ts\n\n/**\n * createGridListSelectionCheckbox - Provides accessibility for a grid list item selection checkbox.\n * Ported from packages/react-aria/src/gridlist/useGridListSelectionCheckbox.ts.\n */\n\nimport { createMemo } from \"solid-js\";\nimport type { Accessor } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport { createId } from \"@proyecto-viviana/solid-stately\";\nimport type { GridState, GridCollection } from \"@proyecto-viviana/solid-stately\";\nimport type { AriaGridListSelectionCheckboxProps, GridListSelectionCheckboxAria } from \"./types\";\nimport { getGridListData } from \"./createGridList\";\nimport { createStringFormatter } from \"../i18n\";\nimport { gridIntlStrings } from \"../grid/intl\";\n\n/**\n * Creates accessibility props for a grid list item selection checkbox.\n */\nexport function createGridListSelectionCheckbox<\n T extends object,\n C extends GridCollection<T> = GridCollection<T>,\n>(\n props: Accessor<AriaGridListSelectionCheckboxProps>,\n state: Accessor<GridState<T, C>>,\n): GridListSelectionCheckboxAria {\n const stringFormatter = createStringFormatter(gridIntlStrings, \"@react-aria/grid\");\n const checkboxId = createId();\n\n const isSelected = createMemo(() => {\n const s = state();\n const p = props();\n return s.isSelected(p.key);\n });\n\n const isDisabled = createMemo(() => {\n const s = state();\n const p = props();\n return s.isDisabled(p.key);\n });\n\n const onChange = () => {\n const s = state();\n const p = props();\n if (!isDisabled()) {\n s.toggleSelection(p.key);\n }\n };\n\n const checkboxProps = createMemo(() => {\n const s = state();\n const p = props();\n const gridListData = getGridListData(s);\n const rowId = `${gridListData?.gridListId ?? \"gridlist\"}-row-${String(p.key)}`;\n\n const baseProps: Record<string, unknown> = {\n id: checkboxId,\n type: \"checkbox\",\n checked: isSelected(),\n disabled: isDisabled(),\n onChange,\n \"aria-label\": stringFormatter().format(\"select\"),\n // Mirrors useGridListSelectionCheckbox: \"Select\" plus the row so the\n // checkbox name is \"Select {item}\" rather than a bare \"Select\".\n \"aria-labelledby\": `${checkboxId} ${rowId}`,\n };\n\n return baseProps as JSX.InputHTMLAttributes<HTMLInputElement>;\n });\n\n return {\n get checkboxProps() {\n return checkboxProps();\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/gridlist/useGridListSection.ts\n\n/**\n * createGridListSection - Provides accessibility for a grid list section.\n * Based on @react-aria/gridlist/useGridListSection.\n */\n\nimport { createMemo } from \"solid-js\";\nimport { createId, createSlotId } from \"../ssr\";\nimport { createLabels } from \"../label/createLabels\";\nimport type { AriaGridListSectionProps, GridListSectionAria } from \"./types\";\n\n/**\n * Creates accessibility props for a grid list section.\n *\n * Mirrors upstream `useGridListSection`: a section is a `role=\"rowgroup\"`\n * wrapper whose optional header renders as `role=\"row\"` › `role=\"rowheader\"`.\n * The `aria-labelledby` of the wrapper points at the header's id via a slot id\n * that resolves to `undefined` when no header is rendered.\n */\nexport function createGridListSection(props: AriaGridListSectionProps): GridListSectionAria {\n const headingId = createSlotId();\n // Stable id for the rowgroup so `createLabels` does not regenerate one each\n // time the slot id resolves (it short-circuits on a provided id).\n const rowGroupId = createId();\n\n const labelProps = createMemo(() =>\n createLabels({\n id: rowGroupId,\n \"aria-label\": props[\"aria-label\"],\n \"aria-labelledby\": headingId(),\n }),\n );\n\n return {\n rowProps: { role: \"row\" },\n rowHeaderProps: {\n get id() {\n return headingId();\n },\n role: \"rowheader\",\n },\n rowGroupProps: {\n role: \"rowgroup\",\n get id() {\n return labelProps().id;\n },\n get \"aria-label\"() {\n return labelProps()[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return labelProps()[\"aria-labelledby\"];\n },\n },\n };\n}\n"],"mappings":"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"}
|
package/dist/_chunk/gridlist.jsx
CHANGED
|
@@ -1,11 +1,62 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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/gridlist/useGridList.ts
|
|
13
|
+
/*
|
|
14
|
+
* Copyright 2022 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/gridlist/useGridListItem.ts
|
|
25
|
+
/*
|
|
26
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
27
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
28
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
29
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
30
|
+
*
|
|
31
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
32
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
33
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
34
|
+
* governing permissions and limitations under the License.
|
|
35
|
+
*/
|
|
36
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/gridlist/useGridListSection.ts
|
|
37
|
+
/*
|
|
38
|
+
* Copyright 2022 Adobe. All rights reserved.
|
|
39
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
40
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
41
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
42
|
+
*
|
|
43
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
44
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
45
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
46
|
+
* governing permissions and limitations under the License.
|
|
47
|
+
*/
|
|
48
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/gridlist/useGridListSelectionCheckbox.ts
|
|
49
|
+
import { t as mergeProps } from "./mergeProps.jsx";
|
|
50
|
+
import { _ as scrollIntoViewport, y as bindCapture } from "./utils.jsx";
|
|
51
|
+
import { N as getInteractionModality } from "./dom.jsx";
|
|
52
|
+
import { n as createStringFormatter } from "./createStringFormatter.jsx";
|
|
4
53
|
import { createId as createId$1, createSlotId } from "../ssr/index.jsx";
|
|
5
54
|
import { t as createLabels } from "./createLabels.jsx";
|
|
6
|
-
import { n as createSelectableItem } from "./createSelectableItem.jsx";
|
|
55
|
+
import { a as isNonContiguousSelectionModifier, n as createSelectableItem } from "./createSelectableItem.jsx";
|
|
56
|
+
import { t as createTypeSelect } from "./createTypeSelect.jsx";
|
|
57
|
+
import { t as gridIntlStrings } from "./intl.jsx";
|
|
7
58
|
import { t as mergeCollectionRowInteractionProps } from "./createCollectionRowInteraction.jsx";
|
|
8
|
-
import {
|
|
59
|
+
import { createMemo, createTrackedEffect } from "solid-js";
|
|
9
60
|
import { createId } from "@proyecto-viviana/solid-stately";
|
|
10
61
|
//#region src/gridlist/createGridList.ts
|
|
11
62
|
/**
|
|
@@ -43,6 +94,44 @@ function findNextNavigableKey(state, startKey, step) {
|
|
|
43
94
|
while (key != null && isNavigationDisabled(state, key)) key = step(key);
|
|
44
95
|
return key;
|
|
45
96
|
}
|
|
97
|
+
function navigableKeys(state) {
|
|
98
|
+
const keys = [];
|
|
99
|
+
let key = state.collection.getFirstKey();
|
|
100
|
+
while (key != null) {
|
|
101
|
+
if (!isNavigationDisabled(state, key)) keys.push(key);
|
|
102
|
+
key = state.collection.getKeyAfter(key);
|
|
103
|
+
}
|
|
104
|
+
return keys;
|
|
105
|
+
}
|
|
106
|
+
function gridNeighborKey(keys, from, columns, deltaCol, deltaRow) {
|
|
107
|
+
const index = keys.indexOf(from);
|
|
108
|
+
if (index < 0 || columns < 1) return null;
|
|
109
|
+
const row = Math.floor(index / columns);
|
|
110
|
+
const nextCol = index % columns + deltaCol;
|
|
111
|
+
const nextRow = row + deltaRow;
|
|
112
|
+
if (nextCol < 0 || nextCol >= columns || nextRow < 0) return null;
|
|
113
|
+
return keys[nextRow * columns + nextCol] ?? null;
|
|
114
|
+
}
|
|
115
|
+
function firstSelectedKey(state) {
|
|
116
|
+
let key = state.collection.getFirstKey();
|
|
117
|
+
while (key != null) {
|
|
118
|
+
if (state.isSelected(key)) return key;
|
|
119
|
+
key = state.collection.getKeyAfter(key);
|
|
120
|
+
}
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
function lastSelectedKey(state) {
|
|
124
|
+
let key = state.collection.getLastKey();
|
|
125
|
+
while (key != null) {
|
|
126
|
+
if (state.isSelected(key)) return key;
|
|
127
|
+
key = state.collection.getKeyBefore(key);
|
|
128
|
+
}
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
function queryCollectionItem(root, key) {
|
|
132
|
+
const escaped = typeof CSS !== "undefined" && CSS.escape ? CSS.escape(String(key)) : String(key);
|
|
133
|
+
return root.querySelector(`[data-key="${escaped}"]`);
|
|
134
|
+
}
|
|
46
135
|
/**
|
|
47
136
|
* Creates accessibility props for a grid list.
|
|
48
137
|
*/
|
|
@@ -51,7 +140,7 @@ function createGridList(props, state, ref) {
|
|
|
51
140
|
const gridListData = {
|
|
52
141
|
gridListId,
|
|
53
142
|
get selectionBehavior() {
|
|
54
|
-
return props().selectionBehavior ?? "
|
|
143
|
+
return props().selectionBehavior ?? "toggle";
|
|
55
144
|
},
|
|
56
145
|
get shouldSelectOnPressUp() {
|
|
57
146
|
return props().shouldSelectOnPressUp ?? false;
|
|
@@ -62,53 +151,80 @@ function createGridList(props, state, ref) {
|
|
|
62
151
|
get direction() {
|
|
63
152
|
return props().direction ?? "ltr";
|
|
64
153
|
},
|
|
154
|
+
get layout() {
|
|
155
|
+
return props().layout ?? "stack";
|
|
156
|
+
},
|
|
65
157
|
actions: { get onAction() {
|
|
66
158
|
return props().onAction;
|
|
67
159
|
} }
|
|
68
160
|
};
|
|
69
161
|
gridListDataMap.set(state(), gridListData);
|
|
162
|
+
const { typeSelectProps } = createTypeSelect({
|
|
163
|
+
collection: () => state().collection,
|
|
164
|
+
focusedKey: () => state().focusedKey,
|
|
165
|
+
onFocusedKeyChange: (key) => state().setFocusedKey(key),
|
|
166
|
+
isKeyDisabled: (key) => isNavigationDisabled(state(), key)
|
|
167
|
+
});
|
|
70
168
|
const onKeyDown = (e) => {
|
|
71
169
|
const s = state();
|
|
72
170
|
const p = props();
|
|
73
171
|
const collection = s.collection;
|
|
74
172
|
const focusedKey = s.focusedKey;
|
|
75
173
|
if (p.isDisabled) return;
|
|
174
|
+
const selectOnFocus = (p.selectionBehavior ?? s.selectionBehavior) === "replace" && s.selectionMode !== "none";
|
|
175
|
+
const moveFocus = (nextKey) => {
|
|
176
|
+
if (nextKey == null) return;
|
|
177
|
+
s.setFocusedKey(nextKey);
|
|
178
|
+
if (selectOnFocus && !e.shiftKey && !isNonContiguousSelectionModifier(e)) s.replaceSelection(nextKey);
|
|
179
|
+
};
|
|
180
|
+
const isGrid = p.layout === "grid";
|
|
181
|
+
const columns = Math.max(1, p.columnCount ?? 1);
|
|
76
182
|
switch (e.key) {
|
|
77
|
-
case "ArrowDown":
|
|
183
|
+
case "ArrowDown":
|
|
78
184
|
e.preventDefault();
|
|
79
|
-
|
|
80
|
-
|
|
185
|
+
if (isGrid) {
|
|
186
|
+
const keys = navigableKeys(s);
|
|
187
|
+
const from = focusedKey ?? keys[0];
|
|
188
|
+
if (from != null) moveFocus(gridNeighborKey(keys, from, columns, 0, 1));
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
moveFocus(focusedKey != null ? findNextNavigableKey(s, collection.getKeyAfter(focusedKey), (k) => collection.getKeyAfter(k)) : findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k)));
|
|
81
192
|
break;
|
|
82
|
-
|
|
83
|
-
case "ArrowUp": {
|
|
193
|
+
case "ArrowUp":
|
|
84
194
|
e.preventDefault();
|
|
85
|
-
|
|
86
|
-
|
|
195
|
+
if (isGrid) {
|
|
196
|
+
const keys = navigableKeys(s);
|
|
197
|
+
const from = focusedKey ?? keys[keys.length - 1];
|
|
198
|
+
if (from != null) moveFocus(gridNeighborKey(keys, from, columns, 0, -1));
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
moveFocus(focusedKey != null ? findNextNavigableKey(s, collection.getKeyBefore(focusedKey), (k) => collection.getKeyBefore(k)) : findNextNavigableKey(s, collection.getLastKey(), (k) => collection.getKeyBefore(k)));
|
|
87
202
|
break;
|
|
88
|
-
}
|
|
89
203
|
case "ArrowRight":
|
|
90
204
|
case "ArrowLeft": {
|
|
91
205
|
const behavior = p.keyboardNavigationBehavior ?? "arrow";
|
|
206
|
+
const isRtl = p.direction === "rtl";
|
|
207
|
+
if (isGrid) {
|
|
208
|
+
e.preventDefault();
|
|
209
|
+
const keys = navigableKeys(s);
|
|
210
|
+
const from = focusedKey ?? keys[0];
|
|
211
|
+
if (from != null) moveFocus(gridNeighborKey(keys, from, columns, (e.key === "ArrowRight" ? !isRtl : isRtl) ? 1 : -1, 0));
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
92
214
|
if (p.orientation !== "horizontal" || behavior !== "tab") break;
|
|
93
215
|
e.preventDefault();
|
|
94
|
-
const isRtl = p.direction === "rtl";
|
|
95
216
|
const step = (e.key === "ArrowRight" ? !isRtl : isRtl) ? (k) => collection.getKeyAfter(k) : (k) => collection.getKeyBefore(k);
|
|
96
|
-
|
|
97
|
-
if (nextKey != null) s.setFocusedKey(nextKey);
|
|
217
|
+
moveFocus(focusedKey != null ? findNextNavigableKey(s, step(focusedKey), step) : findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k)));
|
|
98
218
|
break;
|
|
99
219
|
}
|
|
100
|
-
case "Home":
|
|
220
|
+
case "Home":
|
|
101
221
|
e.preventDefault();
|
|
102
|
-
|
|
103
|
-
if (firstKey != null) s.setFocusedKey(firstKey);
|
|
222
|
+
moveFocus(findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k)));
|
|
104
223
|
break;
|
|
105
|
-
|
|
106
|
-
case "End": {
|
|
224
|
+
case "End":
|
|
107
225
|
e.preventDefault();
|
|
108
|
-
|
|
109
|
-
if (lastKey != null) s.setFocusedKey(lastKey);
|
|
226
|
+
moveFocus(findNextNavigableKey(s, collection.getLastKey(), (k) => collection.getKeyBefore(k)));
|
|
110
227
|
break;
|
|
111
|
-
}
|
|
112
228
|
case "a":
|
|
113
229
|
case "A":
|
|
114
230
|
if ((e.ctrlKey || e.metaKey) && s.selectionMode === "multiple") {
|
|
@@ -116,12 +232,10 @@ function createGridList(props, state, ref) {
|
|
|
116
232
|
s.selectAll();
|
|
117
233
|
}
|
|
118
234
|
break;
|
|
119
|
-
case "Escape":
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
break;
|
|
235
|
+
case "Escape": if (s.selectionMode !== "none") {
|
|
236
|
+
e.preventDefault();
|
|
237
|
+
s.clearSelection();
|
|
238
|
+
}
|
|
125
239
|
}
|
|
126
240
|
};
|
|
127
241
|
const onFocus = (e) => {
|
|
@@ -133,20 +247,22 @@ function createGridList(props, state, ref) {
|
|
|
133
247
|
if (s.focusedKey != null || p.isDisabled) return;
|
|
134
248
|
const collection = s.collection;
|
|
135
249
|
const relatedTarget = e.relatedTarget;
|
|
136
|
-
const enterKey = relatedTarget && container && container.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING ? findNextNavigableKey(s, collection.getLastKey(), (k) => collection.getKeyBefore(k)) : findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k));
|
|
250
|
+
const enterKey = relatedTarget && container && container.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING ? lastSelectedKey(s) ?? findNextNavigableKey(s, collection.getLastKey(), (k) => collection.getKeyBefore(k)) : firstSelectedKey(s) ?? findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k));
|
|
137
251
|
if (enterKey != null) s.setFocusedKey(enterKey);
|
|
138
252
|
};
|
|
139
253
|
const onBlur = () => {
|
|
140
254
|
state().setFocused(false);
|
|
141
255
|
};
|
|
142
|
-
|
|
143
|
-
const
|
|
256
|
+
createTrackedEffect(() => {
|
|
257
|
+
const s = state();
|
|
258
|
+
const key = s.focusedKey;
|
|
144
259
|
const el = ref();
|
|
145
260
|
if (!el || key == null) return;
|
|
146
261
|
const active = document.activeElement;
|
|
147
262
|
if (!active || active !== el && !el.contains(active)) return;
|
|
148
|
-
const target = el
|
|
263
|
+
const target = queryCollectionItem(el, key);
|
|
149
264
|
if (target && target !== active) {
|
|
265
|
+
if (isNavigationDisabled(s, key)) return;
|
|
150
266
|
target.focus();
|
|
151
267
|
if (getInteractionModality() !== "pointer") scrollIntoViewport(target, { containingElement: el });
|
|
152
268
|
}
|
|
@@ -154,7 +270,7 @@ function createGridList(props, state, ref) {
|
|
|
154
270
|
const gridProps = createMemo(() => {
|
|
155
271
|
const p = props();
|
|
156
272
|
const s = state();
|
|
157
|
-
const baseProps = {
|
|
273
|
+
const baseProps = mergeProps(typeSelectProps, {
|
|
158
274
|
role: "grid",
|
|
159
275
|
id: gridListId,
|
|
160
276
|
"aria-label": p["aria-label"],
|
|
@@ -162,11 +278,11 @@ function createGridList(props, state, ref) {
|
|
|
162
278
|
"aria-describedby": p["aria-describedby"],
|
|
163
279
|
"aria-multiselectable": s.selectionMode === "multiple" ? true : void 0,
|
|
164
280
|
"aria-disabled": p.isDisabled || void 0,
|
|
165
|
-
tabIndex: p.isDisabled ? void 0 : s.focusedKey != null ? -1 : 0,
|
|
281
|
+
tabIndex: p.isDisabled ? void 0 : s.focusedKey != null && !isNavigationDisabled(s, s.focusedKey) ? -1 : 0,
|
|
166
282
|
onKeyDown,
|
|
167
283
|
onFocus,
|
|
168
284
|
onBlur
|
|
169
|
-
};
|
|
285
|
+
});
|
|
170
286
|
if (p.isVirtualized) baseProps["aria-rowcount"] = s.collection.rowCount;
|
|
171
287
|
return baseProps;
|
|
172
288
|
});
|
|
@@ -184,6 +300,7 @@ function createGridList(props, state, ref) {
|
|
|
184
300
|
* Creates accessibility props for a grid list item.
|
|
185
301
|
*/
|
|
186
302
|
function createGridListItem(props, state, ref) {
|
|
303
|
+
const descriptionId = createId();
|
|
187
304
|
const isSelected = createMemo(() => {
|
|
188
305
|
const s = state();
|
|
189
306
|
const p = props();
|
|
@@ -217,20 +334,21 @@ function createGridListItem(props, state, ref) {
|
|
|
217
334
|
selectedKeys: () => state().selectedKeys,
|
|
218
335
|
disabledKeys: () => state().disabledKeys,
|
|
219
336
|
disabledBehavior: () => state().disabledBehavior,
|
|
220
|
-
isEmpty: () =>
|
|
221
|
-
|
|
222
|
-
return keys !== "all" && keys.size === 0;
|
|
223
|
-
},
|
|
224
|
-
isSelectAll: () => state().selectedKeys === "all",
|
|
337
|
+
isEmpty: () => state().isEmpty,
|
|
338
|
+
isSelectAll: () => state().isSelectAll,
|
|
225
339
|
isSelected: (key) => state().isSelected(key),
|
|
226
340
|
isDisabled: (key) => {
|
|
227
341
|
const s = state();
|
|
342
|
+
const p = props();
|
|
228
343
|
const item = s.collection.getItem(key);
|
|
229
|
-
|
|
344
|
+
const disabled = s.isDisabled(key) || !!item?.isDisabled || !!p.isDisabled;
|
|
345
|
+
return s.disabledBehavior === "all" && disabled && item?.props?.disabledBehavior !== "selection";
|
|
230
346
|
},
|
|
231
347
|
canSelectItem: (key) => {
|
|
232
348
|
const s = state();
|
|
233
|
-
|
|
349
|
+
const p = props();
|
|
350
|
+
const item = s.collection.getItem(key);
|
|
351
|
+
return s.selectionMode !== "none" && !s.isDisabled(key) && !item?.isDisabled && !p.isDisabled;
|
|
234
352
|
},
|
|
235
353
|
setSelectionBehavior: (behavior) => state().setSelectionBehavior(behavior),
|
|
236
354
|
toggleSelection: (key) => state().toggleSelection(key),
|
|
@@ -245,21 +363,34 @@ function createGridListItem(props, state, ref) {
|
|
|
245
363
|
const s = state();
|
|
246
364
|
const p = props();
|
|
247
365
|
const node = p.node;
|
|
366
|
+
const gridListData = getGridListData(s);
|
|
367
|
+
const rowId = `${gridListData?.gridListId ?? "gridlist"}-row-${String(node.key)}`;
|
|
368
|
+
const label = p.textValue || node["aria-label"] || node.textValue || void 0;
|
|
248
369
|
const baseProps = {
|
|
249
370
|
role: "row",
|
|
250
|
-
"aria-selected": s.selectionMode !== "none" ? isSelected() : void 0,
|
|
251
|
-
"aria-disabled": selectableItem.isDisabled() || void 0
|
|
371
|
+
"aria-selected": s.selectionMode !== "none" && !s.isDisabled(node.key) ? isSelected() : void 0,
|
|
372
|
+
"aria-disabled": selectableItem.isDisabled() || void 0,
|
|
373
|
+
"aria-label": label,
|
|
374
|
+
"aria-labelledby": label ? `${rowId} ${descriptionId}` : void 0
|
|
252
375
|
};
|
|
253
376
|
if (p.isVirtualized && node.rowIndex != null) baseProps["aria-rowindex"] = node.rowIndex + 1;
|
|
254
|
-
const
|
|
255
|
-
return mergeCollectionRowInteractionProps(
|
|
377
|
+
const mergedProps = mergeProps(selectableItem.itemProps, baseProps);
|
|
378
|
+
return mergeCollectionRowInteractionProps(mergedProps, {
|
|
256
379
|
ref,
|
|
257
380
|
keyboardNavigationBehavior: () => gridListData?.keyboardNavigationBehavior ?? "arrow",
|
|
258
|
-
direction: () => gridListData?.direction ?? "ltr"
|
|
381
|
+
direction: () => gridListData?.direction ?? "ltr",
|
|
382
|
+
layout: () => gridListData?.layout ?? "stack"
|
|
259
383
|
});
|
|
260
384
|
});
|
|
385
|
+
bindCapture(ref, { keydown: (event) => {
|
|
386
|
+
const handler = rowProps().onKeyDownCapture;
|
|
387
|
+
handler?.(event);
|
|
388
|
+
} });
|
|
261
389
|
const gridCellProps = createMemo(() => {
|
|
262
|
-
return {
|
|
390
|
+
return {
|
|
391
|
+
role: "gridcell",
|
|
392
|
+
"aria-colindex": 1
|
|
393
|
+
};
|
|
263
394
|
});
|
|
264
395
|
return {
|
|
265
396
|
get rowProps() {
|
|
@@ -268,6 +399,9 @@ function createGridListItem(props, state, ref) {
|
|
|
268
399
|
get gridCellProps() {
|
|
269
400
|
return gridCellProps();
|
|
270
401
|
},
|
|
402
|
+
get descriptionProps() {
|
|
403
|
+
return { id: descriptionId };
|
|
404
|
+
},
|
|
271
405
|
get isSelected() {
|
|
272
406
|
return isSelected();
|
|
273
407
|
},
|
|
@@ -283,12 +417,13 @@ function createGridListItem(props, state, ref) {
|
|
|
283
417
|
//#region src/gridlist/createGridListSelectionCheckbox.ts
|
|
284
418
|
/**
|
|
285
419
|
* createGridListSelectionCheckbox - Provides accessibility for a grid list item selection checkbox.
|
|
286
|
-
*
|
|
420
|
+
* Ported from packages/react-aria/src/gridlist/useGridListSelectionCheckbox.ts.
|
|
287
421
|
*/
|
|
288
422
|
/**
|
|
289
423
|
* Creates accessibility props for a grid list item selection checkbox.
|
|
290
424
|
*/
|
|
291
425
|
function createGridListSelectionCheckbox(props, state) {
|
|
426
|
+
const stringFormatter = createStringFormatter(gridIntlStrings, "@react-aria/grid");
|
|
292
427
|
const checkboxId = createId();
|
|
293
428
|
const isSelected = createMemo(() => {
|
|
294
429
|
const s = state();
|
|
@@ -306,13 +441,17 @@ function createGridListSelectionCheckbox(props, state) {
|
|
|
306
441
|
if (!isDisabled()) s.toggleSelection(p.key);
|
|
307
442
|
};
|
|
308
443
|
const checkboxProps = createMemo(() => {
|
|
444
|
+
const s = state();
|
|
445
|
+
const p = props();
|
|
446
|
+
const rowId = `${getGridListData(s)?.gridListId ?? "gridlist"}-row-${String(p.key)}`;
|
|
309
447
|
return {
|
|
310
448
|
id: checkboxId,
|
|
311
449
|
type: "checkbox",
|
|
312
450
|
checked: isSelected(),
|
|
313
451
|
disabled: isDisabled(),
|
|
314
452
|
onChange,
|
|
315
|
-
"aria-label": "
|
|
453
|
+
"aria-label": stringFormatter().format("select"),
|
|
454
|
+
"aria-labelledby": `${checkboxId} ${rowId}`
|
|
316
455
|
};
|
|
317
456
|
});
|
|
318
457
|
return { get checkboxProps() {
|