@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
|
@@ -3,21 +3,26 @@
|
|
|
3
3
|
* Based on @react-aria/gridlist/useGridListItem.
|
|
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 { AriaGridListItemProps, GridListItemAria } from
|
|
10
|
-
import { getGridListData } 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 { AriaGridListItemProps, GridListItemAria } from "./types";
|
|
10
|
+
import { getGridListData } from "./createGridList";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Creates accessibility props for a grid list item.
|
|
14
14
|
*/
|
|
15
|
-
export function createGridListItem<
|
|
15
|
+
export function createGridListItem<
|
|
16
|
+
T extends object,
|
|
17
|
+
C extends GridCollection<T> = GridCollection<T>,
|
|
18
|
+
>(
|
|
16
19
|
props: Accessor<AriaGridListItemProps>,
|
|
17
20
|
state: Accessor<GridState<T, C>>,
|
|
18
|
-
_ref: Accessor<
|
|
21
|
+
_ref: Accessor<HTMLElement | null>,
|
|
19
22
|
): GridListItemAria {
|
|
20
23
|
const [isPressed, setIsPressed] = createSignal(false);
|
|
24
|
+
let isPointerPressed = false;
|
|
25
|
+
let ignoreNextClick = false;
|
|
21
26
|
|
|
22
27
|
const isSelected = createMemo(() => {
|
|
23
28
|
const s = state();
|
|
@@ -37,8 +42,7 @@ export function createGridListItem<T extends object, C extends GridCollection<T>
|
|
|
37
42
|
return s.focusedKey === p.node.key;
|
|
38
43
|
});
|
|
39
44
|
|
|
40
|
-
|
|
41
|
-
const onClick = (e: MouseEvent) => {
|
|
45
|
+
const handleActivation = (e: MouseEvent | PointerEvent) => {
|
|
42
46
|
const s = state();
|
|
43
47
|
const p = props();
|
|
44
48
|
|
|
@@ -49,14 +53,14 @@ export function createGridListItem<T extends object, C extends GridCollection<T>
|
|
|
49
53
|
const onAction = gridListData?.actions.onAction;
|
|
50
54
|
|
|
51
55
|
// Handle selection
|
|
52
|
-
if (s.selectionMode !==
|
|
53
|
-
if (e.shiftKey && s.selectionMode ===
|
|
56
|
+
if (s.selectionMode !== "none") {
|
|
57
|
+
if (e.shiftKey && s.selectionMode === "multiple") {
|
|
54
58
|
s.extendSelection(p.node.key);
|
|
55
|
-
} else if (e.ctrlKey || e.metaKey) {
|
|
59
|
+
} else if (p.selectionBehavior === "toggle" || e.ctrlKey || e.metaKey) {
|
|
56
60
|
s.toggleSelection(p.node.key);
|
|
57
61
|
} else {
|
|
58
62
|
// Replace selection or toggle if already selected
|
|
59
|
-
if (isSelected() && s.selectedKeys !==
|
|
63
|
+
if (isSelected() && s.selectedKeys !== "all") {
|
|
60
64
|
const selectedKeys = s.selectedKeys as Set<unknown>;
|
|
61
65
|
if (selectedKeys.size === 1) {
|
|
62
66
|
// Single selection, trigger action
|
|
@@ -84,13 +88,23 @@ export function createGridListItem<T extends object, C extends GridCollection<T>
|
|
|
84
88
|
}
|
|
85
89
|
};
|
|
86
90
|
|
|
91
|
+
// Handle click/press for selection and actions.
|
|
92
|
+
const onClick = (e: MouseEvent) => {
|
|
93
|
+
if (ignoreNextClick) {
|
|
94
|
+
ignoreNextClick = false;
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
handleActivation(e);
|
|
99
|
+
};
|
|
100
|
+
|
|
87
101
|
const onKeyDown = (e: KeyboardEvent) => {
|
|
88
102
|
const s = state();
|
|
89
103
|
const p = props();
|
|
90
104
|
|
|
91
105
|
if (isDisabled()) return;
|
|
92
106
|
|
|
93
|
-
if (e.key ===
|
|
107
|
+
if (e.key === "Enter") {
|
|
94
108
|
// Get grid list metadata for actions
|
|
95
109
|
const gridListData = getGridListData(s);
|
|
96
110
|
const onAction = gridListData?.actions.onAction;
|
|
@@ -106,9 +120,9 @@ export function createGridListItem<T extends object, C extends GridCollection<T>
|
|
|
106
120
|
p.onAction();
|
|
107
121
|
}
|
|
108
122
|
}
|
|
109
|
-
} else if (e.key ===
|
|
123
|
+
} else if (e.key === " " || e.key === "Space" || e.key === "Spacebar") {
|
|
110
124
|
// Space toggles selection
|
|
111
|
-
if (s.selectionMode !==
|
|
125
|
+
if (s.selectionMode !== "none") {
|
|
112
126
|
e.preventDefault();
|
|
113
127
|
s.toggleSelection(p.node.key);
|
|
114
128
|
}
|
|
@@ -122,10 +136,39 @@ export function createGridListItem<T extends object, C extends GridCollection<T>
|
|
|
122
136
|
};
|
|
123
137
|
|
|
124
138
|
const onPointerDown = () => {
|
|
139
|
+
if (isDisabled()) return;
|
|
140
|
+
isPointerPressed = true;
|
|
125
141
|
setIsPressed(true);
|
|
126
142
|
};
|
|
127
143
|
|
|
128
|
-
const onPointerUp = () => {
|
|
144
|
+
const onPointerUp = (e: PointerEvent) => {
|
|
145
|
+
const wasPointerPressed = isPointerPressed;
|
|
146
|
+
isPointerPressed = false;
|
|
147
|
+
setIsPressed(false);
|
|
148
|
+
|
|
149
|
+
if (!wasPointerPressed || isDisabled()) return;
|
|
150
|
+
|
|
151
|
+
const currentTarget = e.currentTarget;
|
|
152
|
+
const target = e.target;
|
|
153
|
+
if (
|
|
154
|
+
currentTarget instanceof HTMLElement &&
|
|
155
|
+
target instanceof Node &&
|
|
156
|
+
!currentTarget.contains(target)
|
|
157
|
+
) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
ignoreNextClick = true;
|
|
162
|
+
handleActivation(e);
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
const onPointerCancel = () => {
|
|
166
|
+
isPointerPressed = false;
|
|
167
|
+
setIsPressed(false);
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
const onPointerLeave = () => {
|
|
171
|
+
isPointerPressed = false;
|
|
129
172
|
setIsPressed(false);
|
|
130
173
|
};
|
|
131
174
|
|
|
@@ -135,28 +178,30 @@ export function createGridListItem<T extends object, C extends GridCollection<T>
|
|
|
135
178
|
const node = p.node;
|
|
136
179
|
|
|
137
180
|
const baseProps: Record<string, unknown> = {
|
|
138
|
-
role:
|
|
139
|
-
|
|
140
|
-
|
|
181
|
+
role: "row",
|
|
182
|
+
"aria-selected": s.selectionMode !== "none" ? isSelected() : undefined,
|
|
183
|
+
"aria-disabled": isDisabled() || undefined,
|
|
141
184
|
tabIndex: isFocused() ? 0 : -1,
|
|
142
185
|
onClick,
|
|
143
186
|
onKeyDown,
|
|
144
187
|
onFocus,
|
|
145
188
|
onPointerDown,
|
|
146
189
|
onPointerUp,
|
|
190
|
+
onPointerCancel,
|
|
191
|
+
onPointerLeave,
|
|
147
192
|
};
|
|
148
193
|
|
|
149
194
|
// Add aria-rowindex for virtualized lists
|
|
150
195
|
if (p.isVirtualized && node.rowIndex != null) {
|
|
151
|
-
baseProps[
|
|
196
|
+
baseProps["aria-rowindex"] = node.rowIndex + 1; // 1-based
|
|
152
197
|
}
|
|
153
198
|
|
|
154
|
-
return baseProps as JSX.HTMLAttributes<
|
|
199
|
+
return baseProps as JSX.HTMLAttributes<HTMLElement>;
|
|
155
200
|
});
|
|
156
201
|
|
|
157
202
|
const gridCellProps = createMemo(() => {
|
|
158
203
|
return {
|
|
159
|
-
role:
|
|
204
|
+
role: "gridcell",
|
|
160
205
|
} as JSX.HTMLAttributes<HTMLDivElement>;
|
|
161
206
|
});
|
|
162
207
|
|
|
@@ -3,18 +3,21 @@
|
|
|
3
3
|
* Based on @react-aria/gridlist.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { createMemo, type Accessor } from
|
|
7
|
-
import type { JSX } from
|
|
8
|
-
import { createId } from
|
|
9
|
-
import type { GridState, GridCollection } from
|
|
10
|
-
import type { AriaGridListSelectionCheckboxProps, GridListSelectionCheckboxAria } 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 } from "@proyecto-viviana/solid-stately";
|
|
10
|
+
import type { AriaGridListSelectionCheckboxProps, GridListSelectionCheckboxAria } from "./types";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Creates accessibility props for a grid list item selection checkbox.
|
|
14
14
|
*/
|
|
15
|
-
export function createGridListSelectionCheckbox<
|
|
15
|
+
export function createGridListSelectionCheckbox<
|
|
16
|
+
T extends object,
|
|
17
|
+
C extends GridCollection<T> = GridCollection<T>,
|
|
18
|
+
>(
|
|
16
19
|
props: Accessor<AriaGridListSelectionCheckboxProps>,
|
|
17
|
-
state: Accessor<GridState<T, C
|
|
20
|
+
state: Accessor<GridState<T, C>>,
|
|
18
21
|
): GridListSelectionCheckboxAria {
|
|
19
22
|
const checkboxId = createId();
|
|
20
23
|
|
|
@@ -41,11 +44,11 @@ export function createGridListSelectionCheckbox<T extends object, C extends Grid
|
|
|
41
44
|
const checkboxProps = createMemo(() => {
|
|
42
45
|
const baseProps: Record<string, unknown> = {
|
|
43
46
|
id: checkboxId,
|
|
44
|
-
type:
|
|
47
|
+
type: "checkbox",
|
|
45
48
|
checked: isSelected(),
|
|
46
49
|
disabled: isDisabled(),
|
|
47
50
|
onChange,
|
|
48
|
-
|
|
51
|
+
"aria-label": "Select",
|
|
49
52
|
};
|
|
50
53
|
|
|
51
54
|
return baseProps as JSX.InputHTMLAttributes<HTMLInputElement>;
|
package/src/gridlist/index.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* GridList ARIA hooks for solidaria.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
export { createGridList, getGridListData } from
|
|
6
|
-
export { createGridListItem } from
|
|
7
|
-
export { createGridListSelectionCheckbox } from
|
|
5
|
+
export { createGridList, getGridListData } from "./createGridList";
|
|
6
|
+
export { createGridListItem } from "./createGridListItem";
|
|
7
|
+
export { createGridListSelectionCheckbox } from "./createGridListSelectionCheckbox";
|
|
8
8
|
|
|
9
9
|
export type {
|
|
10
10
|
AriaGridListProps,
|
|
@@ -13,4 +13,4 @@ export type {
|
|
|
13
13
|
GridListItemAria,
|
|
14
14
|
AriaGridListSelectionCheckboxProps,
|
|
15
15
|
GridListSelectionCheckboxAria,
|
|
16
|
-
} from
|
|
16
|
+
} from "./types";
|
package/src/gridlist/types.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Based on @react-aria/gridlist types.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import type { JSX } from
|
|
7
|
-
import type { Key, GridNode } from
|
|
6
|
+
import type { JSX } from "solid-js";
|
|
7
|
+
import type { Key, GridNode } from "@proyecto-viviana/solid-stately";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Props for the createGridList hook.
|
|
@@ -13,17 +13,19 @@ export interface AriaGridListProps {
|
|
|
13
13
|
/** ID for the grid list element. */
|
|
14
14
|
id?: string;
|
|
15
15
|
/** ARIA label for the grid list. */
|
|
16
|
-
|
|
16
|
+
"aria-label"?: string;
|
|
17
17
|
/** ARIA labelledby for the grid list. */
|
|
18
|
-
|
|
18
|
+
"aria-labelledby"?: string;
|
|
19
19
|
/** ARIA describedby for the grid list. */
|
|
20
|
-
|
|
20
|
+
"aria-describedby"?: string;
|
|
21
21
|
/** Whether the grid list uses virtual scrolling. */
|
|
22
22
|
isVirtualized?: boolean;
|
|
23
23
|
/** Handler for item actions. */
|
|
24
24
|
onAction?: (key: Key) => void;
|
|
25
25
|
/** Whether selection should occur on press up. */
|
|
26
26
|
shouldSelectOnPressUp?: boolean;
|
|
27
|
+
/** How selection should behave when pressing an item. */
|
|
28
|
+
selectionBehavior?: "replace" | "toggle";
|
|
27
29
|
/** Whether the grid list is disabled. */
|
|
28
30
|
isDisabled?: boolean;
|
|
29
31
|
}
|
|
@@ -33,7 +35,7 @@ export interface AriaGridListProps {
|
|
|
33
35
|
*/
|
|
34
36
|
export interface GridListAria {
|
|
35
37
|
/** Props to spread on the grid list element. */
|
|
36
|
-
gridProps: JSX.HTMLAttributes<
|
|
38
|
+
gridProps: JSX.HTMLAttributes<HTMLElement>;
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
/**
|
|
@@ -44,6 +46,8 @@ export interface AriaGridListItemProps {
|
|
|
44
46
|
node: GridNode<unknown>;
|
|
45
47
|
/** Whether the grid list is virtualized. */
|
|
46
48
|
isVirtualized?: boolean;
|
|
49
|
+
/** How selection should behave when pressing an item. */
|
|
50
|
+
selectionBehavior?: "replace" | "toggle";
|
|
47
51
|
/** Handler for item action. */
|
|
48
52
|
onAction?: () => void;
|
|
49
53
|
}
|
|
@@ -53,7 +57,7 @@ export interface AriaGridListItemProps {
|
|
|
53
57
|
*/
|
|
54
58
|
export interface GridListItemAria {
|
|
55
59
|
/** Props to spread on the item element. */
|
|
56
|
-
rowProps: JSX.HTMLAttributes<
|
|
60
|
+
rowProps: JSX.HTMLAttributes<HTMLElement>;
|
|
57
61
|
/** Props to spread on the grid cell wrapper. */
|
|
58
62
|
gridCellProps: JSX.HTMLAttributes<HTMLDivElement>;
|
|
59
63
|
/** Whether the item is selected. */
|
|
@@ -6,23 +6,16 @@
|
|
|
6
6
|
* Port of @react-aria/i18n useCollator.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { createMemo } from
|
|
10
|
-
import { useLocale } from
|
|
11
|
-
import { createCacheKey } from
|
|
12
|
-
|
|
13
|
-
// ============================================
|
|
14
|
-
// CACHE
|
|
15
|
-
// ============================================
|
|
9
|
+
import { createMemo } from "solid-js";
|
|
10
|
+
import { useLocale } from "./locale";
|
|
11
|
+
import { createCacheKey } from "./utils";
|
|
16
12
|
|
|
17
13
|
const collatorCache = new Map<string, Intl.Collator>();
|
|
18
14
|
|
|
19
15
|
/**
|
|
20
16
|
* Gets or creates a cached collator.
|
|
21
17
|
*/
|
|
22
|
-
function getCachedCollator(
|
|
23
|
-
locale: string,
|
|
24
|
-
options?: Intl.CollatorOptions
|
|
25
|
-
): Intl.Collator {
|
|
18
|
+
function getCachedCollator(locale: string, options?: Intl.CollatorOptions): Intl.Collator {
|
|
26
19
|
const cacheKey = createCacheKey(locale, options as Record<string, unknown>);
|
|
27
20
|
|
|
28
21
|
if (collatorCache.has(cacheKey)) {
|
|
@@ -34,10 +27,6 @@ function getCachedCollator(
|
|
|
34
27
|
return collator;
|
|
35
28
|
}
|
|
36
29
|
|
|
37
|
-
// ============================================
|
|
38
|
-
// HOOK
|
|
39
|
-
// ============================================
|
|
40
|
-
|
|
41
30
|
/**
|
|
42
31
|
* Provides localized string collation for the current locale.
|
|
43
32
|
* Useful for sorting strings according to locale-specific rules.
|
|
@@ -70,9 +59,7 @@ function getCachedCollator(
|
|
|
70
59
|
* // ['a1', 'a10', 'a2'].sort(numericCollator().compare) -> ['a1', 'a2', 'a10']
|
|
71
60
|
* ```
|
|
72
61
|
*/
|
|
73
|
-
export function createCollator(
|
|
74
|
-
options?: Intl.CollatorOptions
|
|
75
|
-
): () => Intl.Collator {
|
|
62
|
+
export function createCollator(options?: Intl.CollatorOptions): () => Intl.Collator {
|
|
76
63
|
const locale = useLocale();
|
|
77
64
|
|
|
78
65
|
return createMemo(() => getCachedCollator(locale().locale, options));
|
|
@@ -6,13 +6,9 @@
|
|
|
6
6
|
* Port of @react-aria/i18n useDateFormatter.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { createMemo } from
|
|
10
|
-
import { useLocale } from
|
|
11
|
-
import { createCacheKey } from
|
|
12
|
-
|
|
13
|
-
// ============================================
|
|
14
|
-
// CACHE
|
|
15
|
-
// ============================================
|
|
9
|
+
import { createMemo } from "solid-js";
|
|
10
|
+
import { useLocale } from "./locale";
|
|
11
|
+
import { createCacheKey } from "./utils";
|
|
16
12
|
|
|
17
13
|
const dateFormatterCache = new Map<string, Intl.DateTimeFormat>();
|
|
18
14
|
|
|
@@ -21,7 +17,7 @@ const dateFormatterCache = new Map<string, Intl.DateTimeFormat>();
|
|
|
21
17
|
*/
|
|
22
18
|
function getCachedDateFormatter(
|
|
23
19
|
locale: string,
|
|
24
|
-
options?: Intl.DateTimeFormatOptions
|
|
20
|
+
options?: Intl.DateTimeFormatOptions,
|
|
25
21
|
): Intl.DateTimeFormat {
|
|
26
22
|
const cacheKey = createCacheKey(locale, options as Record<string, unknown>);
|
|
27
23
|
|
|
@@ -34,10 +30,6 @@ function getCachedDateFormatter(
|
|
|
34
30
|
return formatter;
|
|
35
31
|
}
|
|
36
32
|
|
|
37
|
-
// ============================================
|
|
38
|
-
// HOOK
|
|
39
|
-
// ============================================
|
|
40
|
-
|
|
41
33
|
/**
|
|
42
34
|
* Provides localized date and time formatting for the current locale.
|
|
43
35
|
* Automatically updates when the locale changes.
|
|
@@ -75,7 +67,7 @@ function getCachedDateFormatter(
|
|
|
75
67
|
* ```
|
|
76
68
|
*/
|
|
77
69
|
export function createDateFormatter(
|
|
78
|
-
options?: Intl.DateTimeFormatOptions
|
|
70
|
+
options?: Intl.DateTimeFormatOptions,
|
|
79
71
|
): () => Intl.DateTimeFormat {
|
|
80
72
|
const locale = useLocale();
|
|
81
73
|
|
package/src/i18n/createFilter.ts
CHANGED
|
@@ -6,12 +6,8 @@
|
|
|
6
6
|
* Port of @react-aria/i18n useFilter.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { createMemo } from
|
|
10
|
-
import { createCollator } from
|
|
11
|
-
|
|
12
|
-
// ============================================
|
|
13
|
-
// TYPES
|
|
14
|
-
// ============================================
|
|
9
|
+
import { createMemo } from "solid-js";
|
|
10
|
+
import { createCollator } from "./createCollator";
|
|
15
11
|
|
|
16
12
|
export interface Filter {
|
|
17
13
|
/** Returns whether a string starts with a given substring. */
|
|
@@ -22,10 +18,6 @@ export interface Filter {
|
|
|
22
18
|
contains(string: string, substring: string): boolean;
|
|
23
19
|
}
|
|
24
20
|
|
|
25
|
-
// ============================================
|
|
26
|
-
// HOOK
|
|
27
|
-
// ============================================
|
|
28
|
-
|
|
29
21
|
/**
|
|
30
22
|
* Provides localized string search functionality for filtering or matching items.
|
|
31
23
|
* Respects locale-specific collation rules for case and diacritic sensitivity.
|
|
@@ -68,7 +60,7 @@ export interface Filter {
|
|
|
68
60
|
*/
|
|
69
61
|
export function createFilter(options?: Intl.CollatorOptions): () => Filter {
|
|
70
62
|
const collator = createCollator({
|
|
71
|
-
usage:
|
|
63
|
+
usage: "search",
|
|
72
64
|
...options,
|
|
73
65
|
});
|
|
74
66
|
|
|
@@ -81,13 +73,10 @@ export function createFilter(options?: Intl.CollatorOptions): () => Filter {
|
|
|
81
73
|
}
|
|
82
74
|
|
|
83
75
|
// Normalize both strings for safe slicing
|
|
84
|
-
const normalizedStr = str.normalize(
|
|
85
|
-
const normalizedSub = substring.normalize(
|
|
76
|
+
const normalizedStr = str.normalize("NFC");
|
|
77
|
+
const normalizedSub = substring.normalize("NFC");
|
|
86
78
|
|
|
87
|
-
return (
|
|
88
|
-
coll.compare(normalizedStr.slice(0, normalizedSub.length), normalizedSub) ===
|
|
89
|
-
0
|
|
90
|
-
);
|
|
79
|
+
return coll.compare(normalizedStr.slice(0, normalizedSub.length), normalizedSub) === 0;
|
|
91
80
|
};
|
|
92
81
|
|
|
93
82
|
const endsWith = (str: string, substring: string): boolean => {
|
|
@@ -95,12 +84,10 @@ export function createFilter(options?: Intl.CollatorOptions): () => Filter {
|
|
|
95
84
|
return true;
|
|
96
85
|
}
|
|
97
86
|
|
|
98
|
-
const normalizedStr = str.normalize(
|
|
99
|
-
const normalizedSub = substring.normalize(
|
|
87
|
+
const normalizedStr = str.normalize("NFC");
|
|
88
|
+
const normalizedSub = substring.normalize("NFC");
|
|
100
89
|
|
|
101
|
-
return (
|
|
102
|
-
coll.compare(normalizedStr.slice(-normalizedSub.length), normalizedSub) === 0
|
|
103
|
-
);
|
|
90
|
+
return coll.compare(normalizedStr.slice(-normalizedSub.length), normalizedSub) === 0;
|
|
104
91
|
};
|
|
105
92
|
|
|
106
93
|
const contains = (str: string, substring: string): boolean => {
|
|
@@ -108,8 +95,8 @@ export function createFilter(options?: Intl.CollatorOptions): () => Filter {
|
|
|
108
95
|
return true;
|
|
109
96
|
}
|
|
110
97
|
|
|
111
|
-
const normalizedStr = str.normalize(
|
|
112
|
-
const normalizedSub = substring.normalize(
|
|
98
|
+
const normalizedStr = str.normalize("NFC");
|
|
99
|
+
const normalizedSub = substring.normalize("NFC");
|
|
113
100
|
const sliceLen = normalizedSub.length;
|
|
114
101
|
|
|
115
102
|
for (let scan = 0; scan + sliceLen <= normalizedStr.length; scan++) {
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* Port of @react-aria/i18n useNumberFormatter.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { createMemo } from
|
|
10
|
-
import { useLocale } from
|
|
11
|
-
import { NumberFormatter, type NumberFormatOptions } from
|
|
9
|
+
import { createMemo } from "solid-js";
|
|
10
|
+
import { useLocale } from "./locale";
|
|
11
|
+
import { NumberFormatter, type NumberFormatOptions } from "@internationalized/number";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Provides localized number formatting for the current locale.
|
|
@@ -43,9 +43,7 @@ import { NumberFormatter, type NumberFormatOptions } from './NumberFormatter';
|
|
|
43
43
|
* tempFormatter().format(25); // '25°C'
|
|
44
44
|
* ```
|
|
45
45
|
*/
|
|
46
|
-
export function createNumberFormatter(
|
|
47
|
-
options: NumberFormatOptions = {}
|
|
48
|
-
): () => NumberFormatter {
|
|
46
|
+
export function createNumberFormatter(options: NumberFormatOptions = {}): () => NumberFormatter {
|
|
49
47
|
const locale = useLocale();
|
|
50
48
|
|
|
51
49
|
return createMemo(() => new NumberFormatter(locale().locale, options));
|
|
@@ -8,19 +8,24 @@ import {
|
|
|
8
8
|
LocalizedStringDictionary,
|
|
9
9
|
LocalizedStringFormatter,
|
|
10
10
|
type LocalizedStrings,
|
|
11
|
-
} from
|
|
12
|
-
import { createMemo, type Accessor } from
|
|
13
|
-
import { useLocale } from
|
|
11
|
+
} from "@internationalized/string";
|
|
12
|
+
import { createMemo, type Accessor } from "solid-js";
|
|
13
|
+
import { useLocale } from "./locale";
|
|
14
14
|
|
|
15
15
|
// Cache for dictionaries to avoid recreating them
|
|
16
|
-
const cache = new WeakMap<
|
|
16
|
+
const cache = new WeakMap<
|
|
17
|
+
LocalizedStrings<string, LocalizedString>,
|
|
18
|
+
LocalizedStringDictionary<string, LocalizedString>
|
|
19
|
+
>();
|
|
17
20
|
|
|
18
21
|
function getCachedDictionary<K extends string, T extends LocalizedString>(
|
|
19
|
-
strings: LocalizedStrings<K, T
|
|
22
|
+
strings: LocalizedStrings<K, T>,
|
|
20
23
|
): LocalizedStringDictionary<K, T> {
|
|
21
24
|
let dictionary = cache.get(strings as LocalizedStrings<string, LocalizedString>);
|
|
22
25
|
if (!dictionary) {
|
|
23
|
-
dictionary = new LocalizedStringDictionary(
|
|
26
|
+
dictionary = new LocalizedStringDictionary(
|
|
27
|
+
strings as LocalizedStrings<string, LocalizedString>,
|
|
28
|
+
);
|
|
24
29
|
cache.set(strings as LocalizedStrings<string, LocalizedString>, dictionary);
|
|
25
30
|
}
|
|
26
31
|
return dictionary as LocalizedStringDictionary<K, T>;
|
|
@@ -29,10 +34,10 @@ function getCachedDictionary<K extends string, T extends LocalizedString>(
|
|
|
29
34
|
/**
|
|
30
35
|
* Returns a cached LocalizedStringDictionary for the given strings.
|
|
31
36
|
*/
|
|
32
|
-
export function createStringDictionary<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
): LocalizedStringDictionary<K, T> {
|
|
37
|
+
export function createStringDictionary<
|
|
38
|
+
K extends string = string,
|
|
39
|
+
T extends LocalizedString = string,
|
|
40
|
+
>(strings: LocalizedStrings<K, T>, packageName?: string): LocalizedStringDictionary<K, T> {
|
|
36
41
|
return (
|
|
37
42
|
(packageName && LocalizedStringDictionary.getGlobalDictionaryForPackage(packageName)) ||
|
|
38
43
|
getCachedDictionary(strings)
|
|
@@ -68,17 +73,16 @@ export function createStringDictionary<K extends string = string, T extends Loca
|
|
|
68
73
|
* }
|
|
69
74
|
* ```
|
|
70
75
|
*/
|
|
71
|
-
export function createStringFormatter<
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
): Accessor<LocalizedStringFormatter<K, T>> {
|
|
76
|
+
export function createStringFormatter<
|
|
77
|
+
K extends string = string,
|
|
78
|
+
T extends LocalizedString = string,
|
|
79
|
+
>(strings: LocalizedStrings<K, T>, packageName?: string): Accessor<LocalizedStringFormatter<K, T>> {
|
|
75
80
|
const localeAccessor = useLocale();
|
|
76
81
|
const dictionary = createStringDictionary(strings, packageName);
|
|
77
82
|
|
|
78
83
|
return createMemo(() => new LocalizedStringFormatter(localeAccessor().locale, dictionary));
|
|
79
84
|
}
|
|
80
85
|
|
|
81
|
-
// Re-export types for convenience
|
|
82
86
|
export type {
|
|
83
87
|
LocalizedString,
|
|
84
88
|
LocalizedStringDictionary,
|
package/src/i18n/index.ts
CHANGED
|
@@ -7,27 +7,24 @@ export {
|
|
|
7
7
|
type Direction,
|
|
8
8
|
type Locale,
|
|
9
9
|
type I18nProviderProps,
|
|
10
|
-
} from
|
|
10
|
+
} from "./locale";
|
|
11
11
|
|
|
12
12
|
// RTL utilities
|
|
13
|
-
export { isRTL, createCacheKey } from
|
|
13
|
+
export { isRTL, createCacheKey } from "./utils";
|
|
14
14
|
|
|
15
15
|
// Number formatting
|
|
16
|
-
export {
|
|
17
|
-
NumberFormatter,
|
|
18
|
-
type NumberFormatOptions,
|
|
19
|
-
} from './NumberFormatter';
|
|
16
|
+
export { NumberFormatter, type NumberFormatOptions } from "@internationalized/number";
|
|
20
17
|
|
|
21
|
-
export { createNumberFormatter } from
|
|
18
|
+
export { createNumberFormatter } from "./createNumberFormatter";
|
|
22
19
|
|
|
23
20
|
// Date formatting
|
|
24
|
-
export { createDateFormatter } from
|
|
21
|
+
export { createDateFormatter } from "./createDateFormatter";
|
|
25
22
|
|
|
26
23
|
// String collation
|
|
27
|
-
export { createCollator } from
|
|
24
|
+
export { createCollator } from "./createCollator";
|
|
28
25
|
|
|
29
26
|
// String filtering
|
|
30
|
-
export { createFilter, type Filter } from
|
|
27
|
+
export { createFilter, type Filter } from "./createFilter";
|
|
31
28
|
|
|
32
29
|
// String formatting (ICU MessageFormat)
|
|
33
30
|
export {
|
|
@@ -37,4 +34,4 @@ export {
|
|
|
37
34
|
type LocalizedStringDictionary,
|
|
38
35
|
type LocalizedStringFormatter,
|
|
39
36
|
type LocalizedStrings,
|
|
40
|
-
} from
|
|
37
|
+
} from "./createStringFormatter";
|