@proyecto-viviana/solidaria 0.2.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -236
- package/dist/actiongroup/createActionGroup.d.ts +5 -5
- package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
- package/dist/actiongroup/index.d.ts +1 -1
- package/dist/autocomplete/createAutocomplete.d.ts +10 -10
- package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
- package/dist/autocomplete/index.d.ts +1 -1
- package/dist/autocomplete/index.d.ts.map +1 -1
- package/dist/breadcrumbs/createBreadcrumbs.d.ts +9 -7
- package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
- package/dist/breadcrumbs/index.d.ts +1 -1
- package/dist/button/createButton.d.ts +1 -1
- package/dist/button/createButton.d.ts.map +1 -1
- package/dist/button/createToggleButton.d.ts +3 -3
- package/dist/button/createToggleButtonGroup.d.ts +7 -7
- package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
- package/dist/button/index.d.ts +6 -6
- package/dist/button/index.d.ts.map +1 -1
- package/dist/button/types.d.ts +18 -12
- package/dist/button/types.d.ts.map +1 -1
- package/dist/calendar/createCalendar.d.ts +15 -5
- package/dist/calendar/createCalendar.d.ts.map +1 -1
- package/dist/calendar/createCalendarCell.d.ts +6 -2
- package/dist/calendar/createCalendarCell.d.ts.map +1 -1
- package/dist/calendar/createCalendarGrid.d.ts +4 -4
- package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendar.d.ts +15 -5
- package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendarCell.d.ts +4 -2
- package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
- package/dist/calendar/index.d.ts +5 -5
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/intl/index.d.ts +12 -0
- package/dist/calendar/intl/index.d.ts.map +1 -0
- package/dist/calendar/utils.d.ts +12 -0
- package/dist/calendar/utils.d.ts.map +1 -0
- package/dist/checkbox/createCheckbox.d.ts +6 -6
- package/dist/checkbox/createCheckbox.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroup.d.ts +7 -7
- package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupItem.d.ts +4 -4
- package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupState.d.ts +2 -2
- package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -1
- package/dist/checkbox/index.d.ts +8 -8
- package/dist/checkbox/index.d.ts.map +1 -1
- package/dist/collections/index.d.ts +3 -3
- package/dist/collections/index.d.ts.map +1 -1
- package/dist/color/createColorArea.d.ts +3 -3
- package/dist/color/createColorArea.d.ts.map +1 -1
- package/dist/color/createColorField.d.ts +4 -4
- package/dist/color/createColorField.d.ts.map +1 -1
- package/dist/color/createColorSlider.d.ts +4 -4
- package/dist/color/createColorSlider.d.ts.map +1 -1
- package/dist/color/createColorSwatch.d.ts +2 -2
- package/dist/color/createColorSwatch.d.ts.map +1 -1
- package/dist/color/createColorWheel.d.ts +3 -3
- package/dist/color/createColorWheel.d.ts.map +1 -1
- package/dist/color/index.d.ts +6 -6
- package/dist/color/types.d.ts +98 -16
- package/dist/color/types.d.ts.map +1 -1
- package/dist/combobox/createComboBox.d.ts +10 -7
- package/dist/combobox/createComboBox.d.ts.map +1 -1
- package/dist/combobox/index.d.ts +1 -1
- package/dist/combobox/intl/index.d.ts +1 -1
- package/dist/datepicker/createDateField.d.ts +18 -6
- package/dist/datepicker/createDateField.d.ts.map +1 -1
- package/dist/datepicker/createDatePicker.d.ts +51 -5
- package/dist/datepicker/createDatePicker.d.ts.map +1 -1
- package/dist/datepicker/createDatePickerGroup.d.ts +19 -0
- package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -0
- package/dist/datepicker/createDateRangePicker.d.ts +8 -6
- package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
- package/dist/datepicker/createDateSegment.d.ts +10 -2
- package/dist/datepicker/createDateSegment.d.ts.map +1 -1
- package/dist/datepicker/createTimeField.d.ts +11 -5
- package/dist/datepicker/createTimeField.d.ts.map +1 -1
- package/dist/datepicker/createTimeSegment.d.ts +2 -2
- package/dist/datepicker/createTimeSegment.d.ts.map +1 -1
- package/dist/datepicker/index.d.ts +7 -6
- package/dist/datepicker/index.d.ts.map +1 -1
- package/dist/dialog/createDialog.d.ts +5 -5
- package/dist/dialog/createDialog.d.ts.map +1 -1
- package/dist/dialog/index.d.ts +2 -2
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/dialog/types.d.ts +4 -4
- package/dist/disclosure/createDisclosure.d.ts +5 -2
- package/dist/disclosure/createDisclosure.d.ts.map +1 -1
- package/dist/disclosure/createDisclosureGroup.d.ts +4 -4
- package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
- package/dist/disclosure/index.d.ts +2 -2
- package/dist/dnd/createDrag.d.ts +2 -2
- package/dist/dnd/createDrag.d.ts.map +1 -1
- package/dist/dnd/createDraggableCollection.d.ts +2 -2
- package/dist/dnd/createDraggableItem.d.ts +3 -3
- package/dist/dnd/createDraggableItem.d.ts.map +1 -1
- package/dist/dnd/createDrop.d.ts +2 -2
- package/dist/dnd/createDrop.d.ts.map +1 -1
- package/dist/dnd/createDroppableCollection.d.ts +26 -6
- package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
- package/dist/dnd/createDroppableItem.d.ts +3 -3
- package/dist/dnd/index.d.ts +12 -12
- package/dist/dnd/index.d.ts.map +1 -1
- package/dist/dnd/types.d.ts +2 -2
- package/dist/dnd/types.d.ts.map +1 -1
- package/dist/dnd/utils.d.ts +1 -1
- package/dist/dnd/utils.d.ts.map +1 -1
- package/dist/focus/FocusScope.d.ts +1 -1
- package/dist/focus/FocusScope.d.ts.map +1 -1
- package/dist/focus/createAutoFocus.d.ts.map +1 -1
- package/dist/focus/createFocusRestore.d.ts.map +1 -1
- package/dist/focus/createVirtualFocus.d.ts +4 -4
- package/dist/focus/createVirtualFocus.d.ts.map +1 -1
- package/dist/focus/index.d.ts +4 -4
- package/dist/focus/index.d.ts.map +1 -1
- package/dist/form/createFormReset.d.ts +1 -1
- package/dist/form/createFormValidation.d.ts +3 -3
- package/dist/form/createFormValidation.d.ts.map +1 -1
- package/dist/form/index.d.ts +2 -2
- package/dist/form/index.d.ts.map +1 -1
- package/dist/grid/GridKeyboardDelegate.d.ts +5 -5
- package/dist/grid/createGrid.d.ts +3 -3
- package/dist/grid/createGridCell.d.ts +3 -3
- package/dist/grid/createGridRow.d.ts +3 -3
- package/dist/grid/index.d.ts +5 -5
- package/dist/grid/types.d.ts +8 -8
- package/dist/gridlist/createGridList.d.ts +6 -4
- package/dist/gridlist/createGridList.d.ts.map +1 -1
- package/dist/gridlist/createGridListItem.d.ts +4 -4
- package/dist/gridlist/createGridListItem.d.ts.map +1 -1
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts +3 -3
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
- package/dist/gridlist/index.d.ts +4 -4
- package/dist/gridlist/types.d.ts +11 -7
- package/dist/gridlist/types.d.ts.map +1 -1
- package/dist/i18n/createCollator.d.ts.map +1 -1
- package/dist/i18n/createDateFormatter.d.ts.map +1 -1
- package/dist/i18n/createFilter.d.ts.map +1 -1
- package/dist/i18n/createNumberFormatter.d.ts +1 -1
- package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
- package/dist/i18n/createStringFormatter.d.ts +2 -2
- package/dist/i18n/createStringFormatter.d.ts.map +1 -1
- package/dist/i18n/index.d.ts +8 -8
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/locale.d.ts +2 -2
- package/dist/i18n/locale.d.ts.map +1 -1
- package/dist/i18n/utils.d.ts.map +1 -1
- package/dist/index.d.ts +52 -51
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18012 -16820
- package/dist/index.js.map +1 -1
- package/dist/index.jsx +18242 -0
- package/dist/index.jsx.map +1 -0
- package/dist/interactions/FocusableProvider.d.ts +2 -2
- package/dist/interactions/FocusableProvider.d.ts.map +1 -1
- package/dist/interactions/PressEvent.d.ts +2 -2
- package/dist/interactions/createFocus.d.ts +1 -1
- package/dist/interactions/createFocus.d.ts.map +1 -1
- package/dist/interactions/createFocusRing.d.ts +1 -1
- package/dist/interactions/createFocusRing.d.ts.map +1 -1
- package/dist/interactions/createFocusWithin.d.ts +1 -1
- package/dist/interactions/createFocusWithin.d.ts.map +1 -1
- package/dist/interactions/createFocusable.d.ts +3 -3
- package/dist/interactions/createFocusable.d.ts.map +1 -1
- package/dist/interactions/createHover.d.ts +5 -5
- package/dist/interactions/createHover.d.ts.map +1 -1
- package/dist/interactions/createInteractionModality.d.ts +3 -3
- package/dist/interactions/createInteractionModality.d.ts.map +1 -1
- package/dist/interactions/createKeyboard.d.ts +1 -1
- package/dist/interactions/createLongPress.d.ts +5 -5
- package/dist/interactions/createMove.d.ts +5 -5
- package/dist/interactions/createMove.d.ts.map +1 -1
- package/dist/interactions/createPress.d.ts +4 -4
- package/dist/interactions/createPress.d.ts.map +1 -1
- package/dist/interactions/index.d.ts +12 -12
- package/dist/interactions/index.d.ts.map +1 -1
- package/dist/label/createField.d.ts +4 -4
- package/dist/label/createField.d.ts.map +1 -1
- package/dist/label/createLabel.d.ts +7 -7
- package/dist/label/createLabel.d.ts.map +1 -1
- package/dist/label/createLabels.d.ts +1 -1
- package/dist/label/createLabels.d.ts.map +1 -1
- package/dist/label/index.d.ts +5 -5
- package/dist/landmark/createLandmark.d.ts +5 -5
- package/dist/landmark/createLandmark.d.ts.map +1 -1
- package/dist/landmark/index.d.ts +1 -1
- package/dist/link/createLink.d.ts +14 -8
- package/dist/link/createLink.d.ts.map +1 -1
- package/dist/link/index.d.ts +1 -1
- package/dist/listbox/createListBox.d.ts +11 -6
- package/dist/listbox/createListBox.d.ts.map +1 -1
- package/dist/listbox/createOption.d.ts +21 -4
- package/dist/listbox/createOption.d.ts.map +1 -1
- package/dist/listbox/index.d.ts +2 -2
- package/dist/listbox/index.d.ts.map +1 -1
- package/dist/live-announcer/announce.d.ts +2 -2
- package/dist/live-announcer/announce.d.ts.map +1 -1
- package/dist/live-announcer/index.d.ts +1 -1
- package/dist/menu/createMenu.d.ts +7 -7
- package/dist/menu/createMenu.d.ts.map +1 -1
- package/dist/menu/createMenuItem.d.ts +16 -4
- package/dist/menu/createMenuItem.d.ts.map +1 -1
- package/dist/menu/createMenuTrigger.d.ts +4 -4
- package/dist/menu/index.d.ts +3 -3
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/meter/createMeter.d.ts +6 -6
- package/dist/meter/createMeter.d.ts.map +1 -1
- package/dist/meter/index.d.ts +1 -1
- package/dist/numberfield/createNumberField.d.ts +9 -8
- package/dist/numberfield/createNumberField.d.ts.map +1 -1
- package/dist/numberfield/index.d.ts +1 -1
- package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
- package/dist/overlays/createModal.d.ts +3 -3
- package/dist/overlays/createModal.d.ts.map +1 -1
- package/dist/overlays/createOverlay.d.ts +1 -1
- package/dist/overlays/createOverlay.d.ts.map +1 -1
- package/dist/overlays/createOverlayTrigger.d.ts +6 -6
- package/dist/overlays/index.d.ts +6 -6
- package/dist/overlays/index.d.ts.map +1 -1
- package/dist/popover/calculatePosition.d.ts +4 -4
- package/dist/popover/calculatePosition.d.ts.map +1 -1
- package/dist/popover/createOverlayPosition.d.ts +3 -3
- package/dist/popover/createOverlayPosition.d.ts.map +1 -1
- package/dist/popover/createPopover.d.ts +4 -4
- package/dist/popover/createPopover.d.ts.map +1 -1
- package/dist/popover/index.d.ts +3 -3
- package/dist/progress/createProgressBar.d.ts +7 -5
- package/dist/progress/createProgressBar.d.ts.map +1 -1
- package/dist/progress/index.d.ts +1 -1
- package/dist/radio/createRadio.d.ts +7 -7
- package/dist/radio/createRadio.d.ts.map +1 -1
- package/dist/radio/createRadioGroup.d.ts +10 -10
- package/dist/radio/createRadioGroup.d.ts.map +1 -1
- package/dist/radio/createRadioGroupState.d.ts +3 -3
- package/dist/radio/createRadioGroupState.d.ts.map +1 -1
- package/dist/radio/index.d.ts +3 -3
- package/dist/radio/index.d.ts.map +1 -1
- package/dist/searchfield/createSearchField.d.ts +7 -7
- package/dist/searchfield/createSearchField.d.ts.map +1 -1
- package/dist/searchfield/index.d.ts +2 -2
- package/dist/select/createHiddenSelect.d.ts +4 -4
- package/dist/select/createHiddenSelect.d.ts.map +1 -1
- package/dist/select/createSelect.d.ts +14 -6
- package/dist/select/createSelect.d.ts.map +1 -1
- package/dist/select/index.d.ts +2 -2
- package/dist/select/index.d.ts.map +1 -1
- package/dist/selection/createTypeSelect.d.ts +2 -2
- package/dist/selection/index.d.ts +1 -1
- package/dist/separator/createSeparator.d.ts +9 -5
- package/dist/separator/createSeparator.d.ts.map +1 -1
- package/dist/separator/index.d.ts +1 -1
- package/dist/slider/createSlider.d.ts +11 -7
- package/dist/slider/createSlider.d.ts.map +1 -1
- package/dist/slider/index.d.ts +2 -2
- package/dist/ssr/index.d.ts +1 -1
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/steplist/createStepList.d.ts +36 -0
- package/dist/steplist/createStepList.d.ts.map +1 -0
- package/dist/steplist/index.d.ts +2 -0
- package/dist/steplist/index.d.ts.map +1 -0
- package/dist/switch/createSwitch.d.ts +6 -4
- package/dist/switch/createSwitch.d.ts.map +1 -1
- package/dist/switch/index.d.ts +1 -1
- package/dist/table/createTable.d.ts +3 -3
- package/dist/table/createTable.d.ts.map +1 -1
- package/dist/table/createTableCell.d.ts +3 -3
- package/dist/table/createTableCell.d.ts.map +1 -1
- package/dist/table/createTableColumnHeader.d.ts +3 -3
- package/dist/table/createTableColumnHeader.d.ts.map +1 -1
- package/dist/table/createTableColumnResize.d.ts +41 -0
- package/dist/table/createTableColumnResize.d.ts.map +1 -0
- package/dist/table/createTableHeaderRow.d.ts +3 -3
- package/dist/table/createTableRow.d.ts +3 -3
- package/dist/table/createTableRow.d.ts.map +1 -1
- package/dist/table/createTableRowGroup.d.ts +2 -2
- package/dist/table/createTableRowGroup.d.ts.map +1 -1
- package/dist/table/createTableSelectAllCheckbox.d.ts +3 -3
- package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
- package/dist/table/createTableSelectionCheckbox.d.ts +3 -3
- package/dist/table/index.d.ts +11 -9
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/types.d.ts +15 -7
- package/dist/table/types.d.ts.map +1 -1
- package/dist/tabs/createTabs.d.ts +28 -25
- package/dist/tabs/createTabs.d.ts.map +1 -1
- package/dist/tabs/index.d.ts +1 -1
- package/dist/tag/createTag.d.ts +2 -2
- package/dist/tag/createTag.d.ts.map +1 -1
- package/dist/tag/createTagGroup.d.ts +5 -5
- package/dist/tag/createTagGroup.d.ts.map +1 -1
- package/dist/tag/index.d.ts +2 -2
- package/dist/tag/index.d.ts.map +1 -1
- package/dist/textfield/createTextField.d.ts +17 -11
- package/dist/textfield/createTextField.d.ts.map +1 -1
- package/dist/textfield/index.d.ts +1 -1
- package/dist/textfield/index.d.ts.map +1 -1
- package/dist/toast/createToast.d.ts +2 -2
- package/dist/toast/createToast.d.ts.map +1 -1
- package/dist/toast/createToastRegion.d.ts +5 -3
- package/dist/toast/createToastRegion.d.ts.map +1 -1
- package/dist/toast/index.d.ts +2 -2
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toggle/createToggle.d.ts +9 -9
- package/dist/toggle/createToggle.d.ts.map +1 -1
- package/dist/toggle/createToggleState.d.ts +2 -2
- package/dist/toggle/createToggleState.d.ts.map +1 -1
- package/dist/toggle/index.d.ts +4 -4
- package/dist/toggle/index.d.ts.map +1 -1
- package/dist/toolbar/createToolbar.d.ts +9 -9
- package/dist/toolbar/createToolbar.d.ts.map +1 -1
- package/dist/toolbar/index.d.ts +1 -1
- package/dist/toolbar/index.d.ts.map +1 -1
- package/dist/tooltip/createTooltip.d.ts +5 -5
- package/dist/tooltip/createTooltip.d.ts.map +1 -1
- package/dist/tooltip/createTooltipTrigger.d.ts +10 -5
- package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
- package/dist/tooltip/index.d.ts +2 -2
- package/dist/tree/createTree.d.ts +3 -3
- package/dist/tree/createTree.d.ts.map +1 -1
- package/dist/tree/createTreeItem.d.ts +4 -4
- package/dist/tree/createTreeItem.d.ts.map +1 -1
- package/dist/tree/createTreeSelectionCheckbox.d.ts +3 -3
- package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
- package/dist/tree/index.d.ts +4 -4
- package/dist/tree/types.d.ts +10 -6
- package/dist/tree/types.d.ts.map +1 -1
- package/dist/utils/createDescription.d.ts +2 -2
- package/dist/utils/createDescription.d.ts.map +1 -1
- package/dist/utils/dom.d.ts.map +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/focus.d.ts +1 -1
- package/dist/utils/focus.d.ts.map +1 -1
- package/dist/utils/geometry.d.ts.map +1 -1
- package/dist/utils/index.d.ts +12 -12
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/mergeProps.d.ts.map +1 -1
- package/dist/utils/reactivity.d.ts +1 -1
- package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -2
- package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
- package/dist/visually-hidden/index.d.ts +1 -1
- package/package.json +32 -32
- package/src/actiongroup/createActionGroup.ts +101 -91
- package/src/actiongroup/index.ts +1 -1
- package/src/autocomplete/createAutocomplete.ts +117 -134
- package/src/autocomplete/index.ts +1 -1
- package/src/breadcrumbs/createBreadcrumbs.ts +33 -42
- package/src/breadcrumbs/index.ts +1 -1
- package/src/button/createButton.ts +102 -73
- package/src/button/createToggleButton.ts +10 -10
- package/src/button/createToggleButtonGroup.ts +25 -32
- package/src/button/index.ts +6 -9
- package/src/button/types.ts +18 -12
- package/src/calendar/createCalendar.ts +62 -29
- package/src/calendar/createCalendarCell.ts +98 -46
- package/src/calendar/createCalendarGrid.ts +57 -35
- package/src/calendar/createRangeCalendar.ts +66 -31
- package/src/calendar/createRangeCalendarCell.ts +92 -31
- package/src/calendar/index.ts +5 -9
- package/src/calendar/intl/index.ts +210 -0
- package/src/calendar/utils.ts +227 -0
- package/src/checkbox/createCheckbox.ts +13 -21
- package/src/checkbox/createCheckboxGroup.ts +68 -44
- package/src/checkbox/createCheckboxGroupItem.ts +16 -27
- package/src/checkbox/createCheckboxGroupState.ts +3 -22
- package/src/checkbox/index.ts +8 -10
- package/src/collections/index.ts +33 -29
- package/src/color/createColorArea.ts +232 -154
- package/src/color/createColorField.ts +107 -58
- package/src/color/createColorSlider.ts +231 -73
- package/src/color/createColorSwatch.ts +38 -13
- package/src/color/createColorWheel.ts +208 -83
- package/src/color/index.ts +6 -6
- package/src/color/types.ts +98 -16
- package/src/combobox/createComboBox.ts +157 -100
- package/src/combobox/index.ts +1 -1
- package/src/combobox/intl/index.ts +5 -5
- package/src/datepicker/createDateField.ts +192 -39
- package/src/datepicker/createDatePicker.ts +260 -67
- package/src/datepicker/createDatePickerGroup.ts +149 -0
- package/src/datepicker/createDateRangePicker.ts +105 -57
- package/src/datepicker/createDateSegment.ts +183 -96
- package/src/datepicker/createTimeField.ts +38 -34
- package/src/datepicker/createTimeSegment.ts +67 -85
- package/src/datepicker/index.ts +13 -14
- package/src/dialog/createDialog.ts +45 -38
- package/src/dialog/index.ts +2 -2
- package/src/dialog/types.ts +4 -4
- package/src/disclosure/createDisclosure.ts +138 -33
- package/src/disclosure/createDisclosureGroup.ts +8 -21
- package/src/disclosure/index.ts +2 -2
- package/src/dnd/createDrag.ts +19 -25
- package/src/dnd/createDraggableCollection.ts +4 -4
- package/src/dnd/createDraggableItem.ts +20 -19
- package/src/dnd/createDrop.ts +42 -51
- package/src/dnd/createDroppableCollection.ts +290 -173
- package/src/dnd/createDroppableItem.ts +34 -34
- package/src/dnd/index.ts +23 -12
- package/src/dnd/types.ts +4 -7
- package/src/dnd/utils.ts +36 -49
- package/src/focus/FocusScope.tsx +155 -164
- package/src/focus/createAutoFocus.ts +4 -20
- package/src/focus/createFocusRestore.ts +15 -28
- package/src/focus/createVirtualFocus.ts +20 -36
- package/src/focus/index.ts +4 -8
- package/src/form/createFormReset.ts +4 -4
- package/src/form/createFormValidation.ts +20 -43
- package/src/form/index.ts +2 -5
- package/src/grid/GridKeyboardDelegate.ts +30 -30
- package/src/grid/createGrid.ts +36 -36
- package/src/grid/createGridCell.ts +18 -18
- package/src/grid/createGridRow.ts +14 -14
- package/src/grid/index.ts +5 -5
- package/src/grid/types.ts +8 -8
- package/src/gridlist/createGridList.ts +34 -29
- package/src/gridlist/createGridListItem.ts +68 -23
- package/src/gridlist/createGridListSelectionCheckbox.ts +12 -9
- package/src/gridlist/index.ts +4 -4
- package/src/gridlist/types.ts +11 -7
- package/src/i18n/createCollator.ts +5 -18
- package/src/i18n/createDateFormatter.ts +5 -13
- package/src/i18n/createFilter.ts +11 -24
- package/src/i18n/createNumberFormatter.ts +4 -6
- package/src/i18n/createStringFormatter.ts +19 -15
- package/src/i18n/index.ts +8 -11
- package/src/i18n/locale.tsx +15 -40
- package/src/i18n/utils.ts +35 -39
- package/src/index.ts +68 -169
- package/src/interactions/FocusableProvider.tsx +3 -7
- package/src/interactions/PressEvent.ts +4 -4
- package/src/interactions/createFocus.ts +12 -8
- package/src/interactions/createFocusRing.ts +21 -19
- package/src/interactions/createFocusWithin.ts +20 -13
- package/src/interactions/createFocusable.ts +15 -16
- package/src/interactions/createHover.ts +70 -55
- package/src/interactions/createInteractionModality.ts +75 -82
- package/src/interactions/createKeyboard.ts +2 -2
- package/src/interactions/createLongPress.ts +23 -23
- package/src/interactions/createMove.ts +72 -62
- package/src/interactions/createPress.ts +164 -87
- package/src/interactions/index.ts +24 -16
- package/src/label/createField.ts +18 -19
- package/src/label/createLabel.ts +18 -30
- package/src/label/createLabels.ts +8 -12
- package/src/label/index.ts +5 -5
- package/src/landmark/createLandmark.ts +30 -51
- package/src/landmark/index.ts +1 -1
- package/src/link/createLink.ts +83 -56
- package/src/link/index.ts +1 -1
- package/src/listbox/createListBox.ts +69 -58
- package/src/listbox/createOption.ts +83 -37
- package/src/listbox/index.ts +2 -6
- package/src/live-announcer/announce.ts +44 -71
- package/src/live-announcer/index.ts +1 -1
- package/src/menu/createMenu.ts +79 -50
- package/src/menu/createMenuItem.ts +79 -27
- package/src/menu/createMenuTrigger.ts +15 -15
- package/src/menu/index.ts +3 -12
- package/src/meter/createMeter.ts +7 -15
- package/src/meter/index.ts +1 -1
- package/src/numberfield/createNumberField.ts +138 -81
- package/src/numberfield/index.ts +1 -1
- package/src/overlays/ariaHideOutside.ts +14 -10
- package/src/overlays/createInteractOutside.ts +21 -18
- package/src/overlays/createModal.tsx +17 -17
- package/src/overlays/createOverlay.ts +38 -8
- package/src/overlays/createOverlayTrigger.ts +16 -16
- package/src/overlays/createPreventScroll.ts +46 -24
- package/src/overlays/index.ts +6 -17
- package/src/popover/calculatePosition.ts +115 -117
- package/src/popover/createOverlayPosition.ts +46 -40
- package/src/popover/createPopover.ts +42 -17
- package/src/popover/index.ts +3 -3
- package/src/progress/createProgressBar.ts +31 -32
- package/src/progress/index.ts +1 -1
- package/src/radio/createRadio.ts +95 -73
- package/src/radio/createRadioGroup.ts +83 -77
- package/src/radio/createRadioGroupState.ts +7 -31
- package/src/radio/index.ts +3 -8
- package/src/searchfield/createSearchField.ts +57 -29
- package/src/searchfield/index.ts +2 -2
- package/src/select/createHiddenSelect.tsx +57 -44
- package/src/select/createSelect.ts +128 -71
- package/src/select/index.ts +2 -7
- package/src/selection/createTypeSelect.ts +11 -11
- package/src/selection/index.ts +1 -1
- package/src/separator/createSeparator.ts +20 -25
- package/src/separator/index.ts +1 -1
- package/src/slider/createSlider.ts +93 -124
- package/src/slider/index.ts +2 -2
- package/src/ssr/index.tsx +8 -47
- package/src/steplist/createStepList.ts +106 -0
- package/src/steplist/index.ts +8 -0
- package/src/switch/createSwitch.ts +9 -14
- package/src/switch/index.ts +1 -1
- package/src/table/createTable.ts +152 -85
- package/src/table/createTableCell.ts +17 -16
- package/src/table/createTableColumnHeader.ts +67 -20
- package/src/table/createTableColumnResize.ts +256 -0
- package/src/table/createTableHeaderRow.ts +7 -7
- package/src/table/createTableRow.ts +149 -29
- package/src/table/createTableRowGroup.ts +5 -7
- package/src/table/createTableSelectAllCheckbox.ts +12 -11
- package/src/table/createTableSelectionCheckbox.ts +8 -8
- package/src/table/index.ts +14 -9
- package/src/table/types.ts +15 -7
- package/src/tabs/createTabs.ts +74 -92
- package/src/tabs/index.ts +1 -1
- package/src/tag/createTag.ts +52 -50
- package/src/tag/createTagGroup.ts +47 -41
- package/src/tag/index.ts +2 -6
- package/src/textfield/createTextField.ts +67 -35
- package/src/textfield/index.ts +1 -5
- package/src/toast/createToast.ts +28 -26
- package/src/toast/createToastRegion.ts +169 -26
- package/src/toast/index.ts +2 -6
- package/src/toggle/createToggle.ts +95 -53
- package/src/toggle/createToggleState.ts +2 -10
- package/src/toggle/index.ts +4 -5
- package/src/toolbar/createToolbar.ts +193 -210
- package/src/toolbar/index.ts +1 -1
- package/src/tooltip/createTooltip.ts +11 -24
- package/src/tooltip/createTooltipTrigger.ts +61 -49
- package/src/tooltip/index.ts +2 -2
- package/src/tree/createTree.ts +35 -37
- package/src/tree/createTreeItem.ts +29 -29
- package/src/tree/createTreeSelectionCheckbox.ts +11 -8
- package/src/tree/index.ts +4 -4
- package/src/tree/types.ts +10 -6
- package/src/utils/createDescription.ts +6 -23
- package/src/utils/dom.ts +61 -54
- package/src/utils/env.ts +9 -11
- package/src/utils/events.ts +7 -7
- package/src/utils/filterDOMProps.ts +49 -49
- package/src/utils/focus.ts +60 -68
- package/src/utils/geometry.ts +1 -4
- package/src/utils/globalListeners.ts +9 -9
- package/src/utils/index.ts +12 -22
- package/src/utils/mergeProps.ts +42 -15
- package/src/utils/platform.ts +2 -2
- package/src/utils/reactivity.ts +3 -3
- package/src/utils/textSelection.ts +16 -16
- package/src/visually-hidden/createVisuallyHidden.ts +16 -28
- package/src/visually-hidden/index.ts +1 -1
- package/dist/i18n/NumberFormatter.d.ts +0 -43
- package/dist/i18n/NumberFormatter.d.ts.map +0 -1
- package/dist/index.ssr.js +0 -17082
- package/dist/index.ssr.js.map +0 -1
- package/src/i18n/NumberFormatter.ts +0 -266
package/src/grid/createGrid.ts
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
* Based on @react-aria/grid/useGrid.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { createMemo, createSignal, type Accessor } from
|
|
7
|
-
import type { JSX } from
|
|
8
|
-
import { createId } from
|
|
9
|
-
import type { GridState, GridCollection, Key } from
|
|
10
|
-
import type { GridProps, GridAria, KeyboardDelegate } from
|
|
11
|
-
import { GridKeyboardDelegate } from
|
|
12
|
-
import { useLocale } from
|
|
6
|
+
import { createMemo, createSignal, type Accessor } from "solid-js";
|
|
7
|
+
import type { JSX } from "solid-js";
|
|
8
|
+
import { createId } from "@proyecto-viviana/solid-stately";
|
|
9
|
+
import type { GridState, GridCollection, Key } from "@proyecto-viviana/solid-stately";
|
|
10
|
+
import type { GridProps, GridAria, KeyboardDelegate } from "./types";
|
|
11
|
+
import { GridKeyboardDelegate } from "./GridKeyboardDelegate";
|
|
12
|
+
import { useLocale } from "../i18n";
|
|
13
13
|
|
|
14
14
|
// Global map to store grid metadata for child components
|
|
15
15
|
const gridMap = new WeakMap<
|
|
@@ -35,7 +35,7 @@ export function getGridData<T>(state: GridState<T, GridCollection<T>>) {
|
|
|
35
35
|
export function createGrid<T extends object>(
|
|
36
36
|
props: Accessor<GridProps>,
|
|
37
37
|
state: Accessor<GridState<T, GridCollection<T>>>,
|
|
38
|
-
ref: Accessor<HTMLElement | null
|
|
38
|
+
ref: Accessor<HTMLElement | null>,
|
|
39
39
|
): GridAria {
|
|
40
40
|
const id = createId(props().id);
|
|
41
41
|
const locale = useLocale();
|
|
@@ -56,7 +56,7 @@ export function createGrid<T extends object>(
|
|
|
56
56
|
collection: s.collection,
|
|
57
57
|
disabledKeys: s.disabledKeys,
|
|
58
58
|
ref,
|
|
59
|
-
focusMode: p.focusMode ??
|
|
59
|
+
focusMode: p.focusMode ?? "row",
|
|
60
60
|
direction: locale().direction,
|
|
61
61
|
});
|
|
62
62
|
});
|
|
@@ -93,7 +93,7 @@ export function createGrid<T extends object>(
|
|
|
93
93
|
const focusedKey = s.focusedKey;
|
|
94
94
|
if (focusedKey == null) {
|
|
95
95
|
// If nothing is focused, focus the first item
|
|
96
|
-
if (e.key ===
|
|
96
|
+
if (e.key === "ArrowDown" || e.key === "ArrowUp" || e.key === "Home" || e.key === "End") {
|
|
97
97
|
const firstKey = delegate.getFirstKey?.();
|
|
98
98
|
if (firstKey != null) {
|
|
99
99
|
e.preventDefault();
|
|
@@ -106,19 +106,19 @@ export function createGrid<T extends object>(
|
|
|
106
106
|
let nextKey: Key | null = null;
|
|
107
107
|
|
|
108
108
|
switch (e.key) {
|
|
109
|
-
case
|
|
109
|
+
case "ArrowDown":
|
|
110
110
|
nextKey = delegate.getKeyBelow?.(focusedKey) ?? null;
|
|
111
111
|
break;
|
|
112
|
-
case
|
|
112
|
+
case "ArrowUp":
|
|
113
113
|
nextKey = delegate.getKeyAbove?.(focusedKey) ?? null;
|
|
114
114
|
break;
|
|
115
|
-
case
|
|
115
|
+
case "ArrowLeft":
|
|
116
116
|
nextKey = delegate.getKeyLeftOf?.(focusedKey) ?? null;
|
|
117
117
|
break;
|
|
118
|
-
case
|
|
118
|
+
case "ArrowRight":
|
|
119
119
|
nextKey = delegate.getKeyRightOf?.(focusedKey) ?? null;
|
|
120
120
|
break;
|
|
121
|
-
case
|
|
121
|
+
case "Home":
|
|
122
122
|
if (e.ctrlKey) {
|
|
123
123
|
nextKey = delegate.getFirstKey?.() ?? null;
|
|
124
124
|
} else {
|
|
@@ -126,7 +126,7 @@ export function createGrid<T extends object>(
|
|
|
126
126
|
nextKey = delegate.getFirstKey?.(focusedKey) ?? null;
|
|
127
127
|
}
|
|
128
128
|
break;
|
|
129
|
-
case
|
|
129
|
+
case "End":
|
|
130
130
|
if (e.ctrlKey) {
|
|
131
131
|
nextKey = delegate.getLastKey?.() ?? null;
|
|
132
132
|
} else {
|
|
@@ -134,31 +134,31 @@ export function createGrid<T extends object>(
|
|
|
134
134
|
nextKey = delegate.getLastKey?.(focusedKey) ?? null;
|
|
135
135
|
}
|
|
136
136
|
break;
|
|
137
|
-
case
|
|
137
|
+
case "PageDown":
|
|
138
138
|
nextKey = delegate.getKeyPageBelow?.(focusedKey) ?? null;
|
|
139
139
|
break;
|
|
140
|
-
case
|
|
140
|
+
case "PageUp":
|
|
141
141
|
nextKey = delegate.getKeyPageAbove?.(focusedKey) ?? null;
|
|
142
142
|
break;
|
|
143
|
-
case
|
|
144
|
-
if (p.escapeKeyBehavior !==
|
|
143
|
+
case "Escape":
|
|
144
|
+
if (p.escapeKeyBehavior !== "none") {
|
|
145
145
|
s.clearSelection();
|
|
146
146
|
}
|
|
147
147
|
return;
|
|
148
|
-
case
|
|
148
|
+
case "a":
|
|
149
149
|
if (e.ctrlKey || e.metaKey) {
|
|
150
150
|
e.preventDefault();
|
|
151
|
-
if (s.selectionMode ===
|
|
151
|
+
if (s.selectionMode === "multiple") {
|
|
152
152
|
s.selectAll();
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
return;
|
|
156
|
-
case
|
|
157
|
-
case
|
|
156
|
+
case " ":
|
|
157
|
+
case "Enter":
|
|
158
158
|
e.preventDefault();
|
|
159
159
|
// Toggle selection or trigger action
|
|
160
|
-
if (s.selectionMode !==
|
|
161
|
-
if (e.shiftKey && s.selectionMode ===
|
|
160
|
+
if (s.selectionMode !== "none") {
|
|
161
|
+
if (e.shiftKey && s.selectionMode === "multiple") {
|
|
162
162
|
s.extendSelection(focusedKey);
|
|
163
163
|
} else {
|
|
164
164
|
s.toggleSelection(focusedKey);
|
|
@@ -182,7 +182,7 @@ export function createGrid<T extends object>(
|
|
|
182
182
|
s.setFocusedKey(nextKey);
|
|
183
183
|
|
|
184
184
|
// Handle shift+arrow for range selection
|
|
185
|
-
if (e.shiftKey && s.selectionMode ===
|
|
185
|
+
if (e.shiftKey && s.selectionMode === "multiple") {
|
|
186
186
|
s.extendSelection(nextKey);
|
|
187
187
|
}
|
|
188
188
|
}
|
|
@@ -225,8 +225,8 @@ export function createGrid<T extends object>(
|
|
|
225
225
|
// Warn if no label is provided
|
|
226
226
|
createMemo(() => {
|
|
227
227
|
const p = props();
|
|
228
|
-
if (!p[
|
|
229
|
-
console.warn(
|
|
228
|
+
if (!p["aria-label"] && !p["aria-labelledby"]) {
|
|
229
|
+
console.warn("Grid: An aria-label or aria-labelledby prop is required for accessibility.");
|
|
230
230
|
}
|
|
231
231
|
});
|
|
232
232
|
|
|
@@ -235,12 +235,12 @@ export function createGrid<T extends object>(
|
|
|
235
235
|
const s = state();
|
|
236
236
|
|
|
237
237
|
const baseProps: Record<string, unknown> = {
|
|
238
|
-
role:
|
|
238
|
+
role: "grid",
|
|
239
239
|
id,
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
240
|
+
"aria-label": p["aria-label"],
|
|
241
|
+
"aria-labelledby": p["aria-labelledby"],
|
|
242
|
+
"aria-describedby": p["aria-describedby"],
|
|
243
|
+
"aria-multiselectable": s.selectionMode === "multiple" ? "true" : undefined,
|
|
244
244
|
tabIndex: s.collection.size === 0 ? 0 : -1,
|
|
245
245
|
onKeyDown,
|
|
246
246
|
onFocus,
|
|
@@ -248,8 +248,8 @@ export function createGrid<T extends object>(
|
|
|
248
248
|
};
|
|
249
249
|
|
|
250
250
|
if (p.isVirtualized) {
|
|
251
|
-
baseProps[
|
|
252
|
-
baseProps[
|
|
251
|
+
baseProps["aria-rowcount"] = s.collection.rowCount;
|
|
252
|
+
baseProps["aria-colcount"] = s.collection.columnCount;
|
|
253
253
|
}
|
|
254
254
|
|
|
255
255
|
return baseProps as JSX.HTMLAttributes<HTMLElement>;
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Based on @react-aria/grid/useGridCell.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { createMemo, createSignal, type Accessor } from
|
|
7
|
-
import type { JSX } from
|
|
8
|
-
import type { GridState, GridCollection } from
|
|
9
|
-
import type { GridCellProps, GridCellAria } from
|
|
10
|
-
import { getGridData } from
|
|
6
|
+
import { createMemo, createSignal, type Accessor } from "solid-js";
|
|
7
|
+
import type { JSX } from "solid-js";
|
|
8
|
+
import type { GridState, GridCollection } from "@proyecto-viviana/solid-stately";
|
|
9
|
+
import type { GridCellProps, GridCellAria } from "./types";
|
|
10
|
+
import { getGridData } from "./createGrid";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Creates accessibility props for a grid cell.
|
|
@@ -15,7 +15,7 @@ import { getGridData } from './createGrid';
|
|
|
15
15
|
export function createGridCell<T extends object>(
|
|
16
16
|
props: Accessor<GridCellProps>,
|
|
17
17
|
state: Accessor<GridState<T, GridCollection<T>>>,
|
|
18
|
-
_ref: Accessor<HTMLElement | null
|
|
18
|
+
_ref: Accessor<HTMLElement | null>,
|
|
19
19
|
): GridCellAria {
|
|
20
20
|
const [isPressed, setIsPressed] = createSignal(false);
|
|
21
21
|
|
|
@@ -63,8 +63,8 @@ export function createGridCell<T extends object>(
|
|
|
63
63
|
const rowKey = node?.parentKey;
|
|
64
64
|
|
|
65
65
|
// Handle selection on parent row
|
|
66
|
-
if (rowKey != null && s.selectionMode !==
|
|
67
|
-
if (e.shiftKey && s.selectionMode ===
|
|
66
|
+
if (rowKey != null && s.selectionMode !== "none") {
|
|
67
|
+
if (e.shiftKey && s.selectionMode === "multiple") {
|
|
68
68
|
s.extendSelection(rowKey);
|
|
69
69
|
} else if (e.ctrlKey || e.metaKey) {
|
|
70
70
|
s.toggleSelection(rowKey);
|
|
@@ -91,7 +91,7 @@ export function createGridCell<T extends object>(
|
|
|
91
91
|
if (isDisabled()) return;
|
|
92
92
|
|
|
93
93
|
// Enter or Space triggers cell action
|
|
94
|
-
if (e.key ===
|
|
94
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
95
95
|
// Only handle if there's an action to trigger
|
|
96
96
|
const gridData = getGridData(s);
|
|
97
97
|
const onCellAction = gridData?.actions.onCellAction;
|
|
@@ -130,17 +130,17 @@ export function createGridCell<T extends object>(
|
|
|
130
130
|
const node = s.collection.getItem(p.key);
|
|
131
131
|
|
|
132
132
|
// Determine the role based on node type
|
|
133
|
-
let role: string =
|
|
134
|
-
if (node?.type ===
|
|
135
|
-
role =
|
|
136
|
-
} else if (node?.type ===
|
|
137
|
-
role =
|
|
133
|
+
let role: string = "gridcell";
|
|
134
|
+
if (node?.type === "rowheader") {
|
|
135
|
+
role = "rowheader";
|
|
136
|
+
} else if (node?.type === "column") {
|
|
137
|
+
role = "columnheader";
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
const baseProps: Record<string, unknown> = {
|
|
141
141
|
role,
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
"aria-disabled": isDisabled() || undefined,
|
|
143
|
+
"aria-selected": s.selectionMode !== "none" ? isSelected() : undefined,
|
|
144
144
|
tabIndex: isFocused() ? 0 : -1,
|
|
145
145
|
onClick,
|
|
146
146
|
onKeyDown,
|
|
@@ -151,12 +151,12 @@ export function createGridCell<T extends object>(
|
|
|
151
151
|
|
|
152
152
|
// Add column index for virtualized grids
|
|
153
153
|
if (p.isVirtualized && node?.column != null) {
|
|
154
|
-
baseProps[
|
|
154
|
+
baseProps["aria-colindex"] = node.column + 1; // aria-colindex is 1-based
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
// Add colspan if present
|
|
158
158
|
if (node?.colspan != null && node.colspan > 1) {
|
|
159
|
-
baseProps[
|
|
159
|
+
baseProps["aria-colspan"] = node.colspan;
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
return baseProps as JSX.HTMLAttributes<HTMLElement>;
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Based on @react-aria/grid/useGridRow.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { createMemo, createSignal, type Accessor } from
|
|
7
|
-
import type { JSX } from
|
|
8
|
-
import type { GridState, GridCollection } from
|
|
9
|
-
import type { GridRowProps, GridRowAria } from
|
|
10
|
-
import { getGridData } from
|
|
6
|
+
import { createMemo, createSignal, type Accessor } from "solid-js";
|
|
7
|
+
import type { JSX } from "solid-js";
|
|
8
|
+
import type { GridState, GridCollection } from "@proyecto-viviana/solid-stately";
|
|
9
|
+
import type { GridRowProps, GridRowAria } from "./types";
|
|
10
|
+
import { getGridData } from "./createGrid";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Creates accessibility props for a grid row.
|
|
@@ -15,7 +15,7 @@ import { getGridData } from './createGrid';
|
|
|
15
15
|
export function createGridRow<T extends object>(
|
|
16
16
|
props: Accessor<GridRowProps>,
|
|
17
17
|
state: Accessor<GridState<T, GridCollection<T>>>,
|
|
18
|
-
_ref: Accessor<HTMLElement | null
|
|
18
|
+
_ref: Accessor<HTMLElement | null>,
|
|
19
19
|
): GridRowAria {
|
|
20
20
|
const [isPressed, setIsPressed] = createSignal(false);
|
|
21
21
|
|
|
@@ -49,8 +49,8 @@ export function createGridRow<T extends object>(
|
|
|
49
49
|
const onRowAction = gridData?.actions.onRowAction;
|
|
50
50
|
|
|
51
51
|
// Handle selection
|
|
52
|
-
if (s.selectionMode !==
|
|
53
|
-
if (e.shiftKey && s.selectionMode ===
|
|
52
|
+
if (s.selectionMode !== "none") {
|
|
53
|
+
if (e.shiftKey && s.selectionMode === "multiple") {
|
|
54
54
|
s.extendSelection(p.key);
|
|
55
55
|
} else if (e.ctrlKey || e.metaKey) {
|
|
56
56
|
s.toggleSelection(p.key);
|
|
@@ -76,7 +76,7 @@ export function createGridRow<T extends object>(
|
|
|
76
76
|
|
|
77
77
|
if (isDisabled()) return;
|
|
78
78
|
|
|
79
|
-
if (e.key ===
|
|
79
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
80
80
|
e.preventDefault();
|
|
81
81
|
|
|
82
82
|
// Get grid metadata for actions
|
|
@@ -84,7 +84,7 @@ export function createGridRow<T extends object>(
|
|
|
84
84
|
const onRowAction = gridData?.actions.onRowAction;
|
|
85
85
|
|
|
86
86
|
// Handle selection
|
|
87
|
-
if (s.selectionMode !==
|
|
87
|
+
if (s.selectionMode !== "none") {
|
|
88
88
|
s.toggleSelection(p.key);
|
|
89
89
|
}
|
|
90
90
|
|
|
@@ -118,9 +118,9 @@ export function createGridRow<T extends object>(
|
|
|
118
118
|
const p = props();
|
|
119
119
|
|
|
120
120
|
const baseProps: Record<string, unknown> = {
|
|
121
|
-
role:
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
role: "row",
|
|
122
|
+
"aria-selected": s.selectionMode !== "none" ? isSelected() : undefined,
|
|
123
|
+
"aria-disabled": isDisabled() || undefined,
|
|
124
124
|
tabIndex: isFocused() ? 0 : -1,
|
|
125
125
|
onClick,
|
|
126
126
|
onKeyDown,
|
|
@@ -130,7 +130,7 @@ export function createGridRow<T extends object>(
|
|
|
130
130
|
};
|
|
131
131
|
|
|
132
132
|
if (p.isVirtualized && p.index != null) {
|
|
133
|
-
baseProps[
|
|
133
|
+
baseProps["aria-rowindex"] = p.index + 1; // aria-rowindex is 1-based
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
return baseProps as JSX.HTMLAttributes<HTMLElement>;
|
package/src/grid/index.ts
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Based on @react-aria/grid.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
export { createGrid, getGridData } from
|
|
7
|
-
export { createGridRow } from
|
|
8
|
-
export { createGridCell } from
|
|
9
|
-
export { GridKeyboardDelegate } from
|
|
6
|
+
export { createGrid, getGridData } from "./createGrid";
|
|
7
|
+
export { createGridRow } from "./createGridRow";
|
|
8
|
+
export { createGridCell } from "./createGridCell";
|
|
9
|
+
export { GridKeyboardDelegate } from "./GridKeyboardDelegate";
|
|
10
10
|
export type {
|
|
11
11
|
KeyboardDelegate,
|
|
12
12
|
GridProps,
|
|
@@ -15,4 +15,4 @@ export type {
|
|
|
15
15
|
GridRowAria,
|
|
16
16
|
GridCellProps,
|
|
17
17
|
GridCellAria,
|
|
18
|
-
} from
|
|
18
|
+
} from "./types";
|
package/src/grid/types.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Based on @react-aria/grid types.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import type { JSX } from
|
|
7
|
-
import type { Key } from
|
|
6
|
+
import type { JSX } from "solid-js";
|
|
7
|
+
import type { Key } from "@proyecto-viviana/solid-stately";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Keyboard delegate interface for grid navigation.
|
|
@@ -43,21 +43,21 @@ export interface GridProps {
|
|
|
43
43
|
/** Custom keyboard delegate for navigation. */
|
|
44
44
|
keyboardDelegate?: KeyboardDelegate;
|
|
45
45
|
/** Whether focus should be on row or cell. */
|
|
46
|
-
focusMode?:
|
|
46
|
+
focusMode?: "row" | "cell";
|
|
47
47
|
/** Handler for row actions. */
|
|
48
48
|
onRowAction?: (key: Key) => void;
|
|
49
49
|
/** Handler for cell actions. */
|
|
50
50
|
onCellAction?: (key: Key) => void;
|
|
51
51
|
/** Escape key behavior. */
|
|
52
|
-
escapeKeyBehavior?:
|
|
52
|
+
escapeKeyBehavior?: "clearSelection" | "none";
|
|
53
53
|
/** Whether selection should occur on press up. */
|
|
54
54
|
shouldSelectOnPressUp?: boolean;
|
|
55
55
|
/** ARIA label for the grid. */
|
|
56
|
-
|
|
56
|
+
"aria-label"?: string;
|
|
57
57
|
/** ARIA labelledby for the grid. */
|
|
58
|
-
|
|
58
|
+
"aria-labelledby"?: string;
|
|
59
59
|
/** ARIA describedby for the grid. */
|
|
60
|
-
|
|
60
|
+
"aria-describedby"?: string;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
/**
|
|
@@ -111,7 +111,7 @@ export interface GridCellProps {
|
|
|
111
111
|
/** Whether the grid is virtualized. */
|
|
112
112
|
isVirtualized?: boolean;
|
|
113
113
|
/** Whether to focus cell or child element. */
|
|
114
|
-
focusMode?:
|
|
114
|
+
focusMode?: "child" | "cell";
|
|
115
115
|
/** Handler for cell action. */
|
|
116
116
|
onAction?: () => void;
|
|
117
117
|
}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Based on @react-aria/gridlist/useGridList.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { createMemo, type Accessor } from
|
|
7
|
-
import type { JSX } from
|
|
8
|
-
import { createId } from
|
|
9
|
-
import type { GridState, GridCollection, Key } from
|
|
10
|
-
import type { AriaGridListProps, GridListAria } from
|
|
6
|
+
import { createMemo, type Accessor } from "solid-js";
|
|
7
|
+
import type { JSX } from "solid-js";
|
|
8
|
+
import { createId } from "@proyecto-viviana/solid-stately";
|
|
9
|
+
import type { GridState, GridCollection, Key } from "@proyecto-viviana/solid-stately";
|
|
10
|
+
import type { AriaGridListProps, GridListAria } from "./types";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Metadata stored for a grid list instance.
|
|
@@ -15,6 +15,8 @@ import type { AriaGridListProps, GridListAria } from './types';
|
|
|
15
15
|
interface GridListData {
|
|
16
16
|
/** The generated ID for the grid list. */
|
|
17
17
|
gridListId: string;
|
|
18
|
+
/** How selection should behave when pressing an item. */
|
|
19
|
+
selectionBehavior: "replace" | "toggle";
|
|
18
20
|
/** Actions registered for the grid list. */
|
|
19
21
|
actions: {
|
|
20
22
|
onAction?: (key: Key) => void;
|
|
@@ -30,7 +32,7 @@ const gridListDataMap = new WeakMap<object, GridListData>();
|
|
|
30
32
|
* Gets the grid list data for a given state.
|
|
31
33
|
*/
|
|
32
34
|
export function getGridListData<T extends object, C extends GridCollection<T>>(
|
|
33
|
-
state: GridState<T, C
|
|
35
|
+
state: GridState<T, C>,
|
|
34
36
|
): GridListData | undefined {
|
|
35
37
|
return gridListDataMap.get(state);
|
|
36
38
|
}
|
|
@@ -41,7 +43,7 @@ export function getGridListData<T extends object, C extends GridCollection<T>>(
|
|
|
41
43
|
export function createGridList<T extends object, C extends GridCollection<T> = GridCollection<T>>(
|
|
42
44
|
props: Accessor<AriaGridListProps>,
|
|
43
45
|
state: Accessor<GridState<T, C>>,
|
|
44
|
-
_ref: Accessor<
|
|
46
|
+
_ref: Accessor<HTMLElement | null>,
|
|
45
47
|
): GridListAria {
|
|
46
48
|
// Generate a unique ID for the grid list
|
|
47
49
|
const gridListId = props().id ?? createId();
|
|
@@ -49,6 +51,9 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
|
|
|
49
51
|
// Store grid list data for child components
|
|
50
52
|
const gridListData: GridListData = {
|
|
51
53
|
gridListId,
|
|
54
|
+
get selectionBehavior() {
|
|
55
|
+
return props().selectionBehavior ?? "replace";
|
|
56
|
+
},
|
|
52
57
|
actions: {
|
|
53
58
|
get onAction() {
|
|
54
59
|
return props().onAction;
|
|
@@ -69,7 +74,7 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
|
|
|
69
74
|
if (p.isDisabled) return;
|
|
70
75
|
|
|
71
76
|
switch (e.key) {
|
|
72
|
-
case
|
|
77
|
+
case "ArrowDown": {
|
|
73
78
|
e.preventDefault();
|
|
74
79
|
if (focusedKey != null) {
|
|
75
80
|
const nextKey = collection.getKeyAfter(focusedKey);
|
|
@@ -84,7 +89,7 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
|
|
|
84
89
|
}
|
|
85
90
|
break;
|
|
86
91
|
}
|
|
87
|
-
case
|
|
92
|
+
case "ArrowUp": {
|
|
88
93
|
e.preventDefault();
|
|
89
94
|
if (focusedKey != null) {
|
|
90
95
|
const prevKey = collection.getKeyBefore(focusedKey);
|
|
@@ -99,7 +104,7 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
|
|
|
99
104
|
}
|
|
100
105
|
break;
|
|
101
106
|
}
|
|
102
|
-
case
|
|
107
|
+
case "Home": {
|
|
103
108
|
e.preventDefault();
|
|
104
109
|
const firstKey = collection.getFirstKey();
|
|
105
110
|
if (firstKey != null) {
|
|
@@ -107,7 +112,7 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
|
|
|
107
112
|
}
|
|
108
113
|
break;
|
|
109
114
|
}
|
|
110
|
-
case
|
|
115
|
+
case "End": {
|
|
111
116
|
e.preventDefault();
|
|
112
117
|
const lastKey = collection.getLastKey();
|
|
113
118
|
if (lastKey != null) {
|
|
@@ -115,32 +120,32 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
|
|
|
115
120
|
}
|
|
116
121
|
break;
|
|
117
122
|
}
|
|
118
|
-
case
|
|
119
|
-
case
|
|
120
|
-
if ((e.ctrlKey || e.metaKey) && s.selectionMode ===
|
|
123
|
+
case "a":
|
|
124
|
+
case "A": {
|
|
125
|
+
if ((e.ctrlKey || e.metaKey) && s.selectionMode === "multiple") {
|
|
121
126
|
e.preventDefault();
|
|
122
127
|
s.selectAll();
|
|
123
128
|
}
|
|
124
129
|
break;
|
|
125
130
|
}
|
|
126
|
-
case
|
|
127
|
-
case
|
|
128
|
-
case
|
|
129
|
-
if (focusedKey != null && s.selectionMode !==
|
|
131
|
+
case " ":
|
|
132
|
+
case "Space":
|
|
133
|
+
case "Spacebar": {
|
|
134
|
+
if (focusedKey != null && s.selectionMode !== "none" && !s.isDisabled(focusedKey)) {
|
|
130
135
|
e.preventDefault();
|
|
131
136
|
s.toggleSelection(focusedKey);
|
|
132
137
|
}
|
|
133
138
|
break;
|
|
134
139
|
}
|
|
135
|
-
case
|
|
140
|
+
case "Enter": {
|
|
136
141
|
if (focusedKey != null && !s.isDisabled(focusedKey)) {
|
|
137
142
|
e.preventDefault();
|
|
138
143
|
p.onAction?.(focusedKey);
|
|
139
144
|
}
|
|
140
145
|
break;
|
|
141
146
|
}
|
|
142
|
-
case
|
|
143
|
-
if (s.selectionMode !==
|
|
147
|
+
case "Escape": {
|
|
148
|
+
if (s.selectionMode !== "none") {
|
|
144
149
|
e.preventDefault();
|
|
145
150
|
s.clearSelection();
|
|
146
151
|
}
|
|
@@ -172,13 +177,13 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
|
|
|
172
177
|
const s = state();
|
|
173
178
|
|
|
174
179
|
const baseProps: Record<string, unknown> = {
|
|
175
|
-
role:
|
|
180
|
+
role: "grid",
|
|
176
181
|
id: gridListId,
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
+
"aria-label": p["aria-label"],
|
|
183
|
+
"aria-labelledby": p["aria-labelledby"],
|
|
184
|
+
"aria-describedby": p["aria-describedby"],
|
|
185
|
+
"aria-multiselectable": s.selectionMode === "multiple" ? true : undefined,
|
|
186
|
+
"aria-disabled": p.isDisabled || undefined,
|
|
182
187
|
tabIndex: p.isDisabled ? undefined : 0,
|
|
183
188
|
onKeyDown,
|
|
184
189
|
onFocus,
|
|
@@ -187,10 +192,10 @@ export function createGridList<T extends object, C extends GridCollection<T> = G
|
|
|
187
192
|
|
|
188
193
|
// Add row count for virtualized lists
|
|
189
194
|
if (p.isVirtualized) {
|
|
190
|
-
baseProps[
|
|
195
|
+
baseProps["aria-rowcount"] = s.collection.rowCount;
|
|
191
196
|
}
|
|
192
197
|
|
|
193
|
-
return baseProps as JSX.HTMLAttributes<
|
|
198
|
+
return baseProps as JSX.HTMLAttributes<HTMLElement>;
|
|
194
199
|
});
|
|
195
200
|
|
|
196
201
|
return {
|