@proyecto-viviana/solidaria 0.2.5 → 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/LICENSE +21 -0
- package/README.md +31 -236
- package/dist/actiongroup/createActionGroup.d.ts +29 -0
- package/dist/actiongroup/createActionGroup.d.ts.map +1 -0
- package/dist/actiongroup/index.d.ts +2 -0
- package/dist/actiongroup/index.d.ts.map +1 -0
- package/dist/autocomplete/createAutocomplete.d.ts +16 -12
- 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 +11 -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 +32 -0
- package/dist/button/createToggleButtonGroup.d.ts.map +1 -0
- package/dist/button/index.d.ts +6 -4
- 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 +8 -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 +7 -3
- 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 +11 -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 +56 -0
- package/dist/collections/index.d.ts.map +1 -0
- package/dist/color/createColorArea.d.ts +3 -3
- package/dist/color/createColorArea.d.ts.map +1 -1
- package/dist/color/createColorField.d.ts +4 -4
- package/dist/color/createColorField.d.ts.map +1 -1
- package/dist/color/createColorSlider.d.ts +4 -4
- package/dist/color/createColorSlider.d.ts.map +1 -1
- package/dist/color/createColorSwatch.d.ts +2 -2
- package/dist/color/createColorSwatch.d.ts.map +1 -1
- package/dist/color/createColorWheel.d.ts +3 -3
- package/dist/color/createColorWheel.d.ts.map +1 -1
- package/dist/color/index.d.ts +6 -6
- package/dist/color/types.d.ts +98 -16
- package/dist/color/types.d.ts.map +1 -1
- package/dist/combobox/createComboBox.d.ts +16 -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 +57 -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 +42 -0
- package/dist/datepicker/createDateRangePicker.d.ts.map +1 -0
- package/dist/datepicker/createDateSegment.d.ts +11 -3
- 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 +29 -0
- package/dist/datepicker/createTimeSegment.d.ts.map +1 -0
- package/dist/datepicker/index.d.ts +7 -4
- 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 -3
- 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 +6 -2
- package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
- 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 +55 -4
- package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
- package/dist/dnd/createDroppableItem.d.ts +3 -3
- package/dist/dnd/createDroppableItem.d.ts.map +1 -1
- 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/createGrid.d.ts.map +1 -1
- 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 -49
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18089 -15690
- package/dist/index.js.map +1 -7
- 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 +23 -7
- package/dist/link/createLink.d.ts.map +1 -1
- package/dist/link/index.d.ts +1 -1
- package/dist/listbox/createListBox.d.ts +12 -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 +8 -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 +27 -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 +19 -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 +11 -11
- 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 +6 -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 +13 -5
- 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 +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/platform.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 +34 -32
- package/src/actiongroup/createActionGroup.ts +334 -0
- package/src/actiongroup/index.ts +8 -0
- package/src/autocomplete/createAutocomplete.ts +137 -131
- package/src/autocomplete/index.ts +1 -1
- package/src/breadcrumbs/createBreadcrumbs.ts +37 -51
- 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 +121 -0
- package/src/button/index.ts +10 -4
- package/src/button/types.ts +18 -12
- package/src/calendar/createCalendar.ts +62 -29
- package/src/calendar/createCalendarCell.ts +102 -48
- package/src/calendar/createCalendarGrid.ts +78 -47
- package/src/calendar/createRangeCalendar.ts +66 -31
- package/src/calendar/createRangeCalendarCell.ts +115 -37
- 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 +86 -45
- 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 +246 -0
- package/src/color/createColorArea.ts +458 -314
- package/src/color/createColorField.ts +186 -137
- package/src/color/createColorSlider.ts +444 -197
- package/src/color/createColorSwatch.ts +65 -40
- package/src/color/createColorWheel.ts +343 -208
- package/src/color/index.ts +24 -24
- package/src/color/types.ts +198 -116
- package/src/combobox/createComboBox.ts +727 -647
- package/src/combobox/index.ts +6 -6
- package/src/combobox/intl/index.ts +5 -5
- package/src/datepicker/createDateField.ts +192 -39
- package/src/datepicker/createDatePicker.ts +294 -63
- package/src/datepicker/createDatePickerGroup.ts +149 -0
- package/src/datepicker/createDateRangePicker.ts +294 -0
- package/src/datepicker/createDateSegment.ts +316 -75
- package/src/datepicker/createTimeField.ts +38 -34
- package/src/datepicker/createTimeSegment.ts +352 -0
- package/src/datepicker/index.ts +24 -11
- package/src/dialog/createDialog.ts +127 -120
- package/src/dialog/index.ts +2 -2
- package/src/dialog/types.ts +19 -19
- package/src/disclosure/createDisclosure.ts +138 -33
- package/src/disclosure/createDisclosureGroup.ts +8 -18
- package/src/disclosure/index.ts +2 -2
- package/src/dnd/createDrag.ts +218 -209
- package/src/dnd/createDraggableCollection.ts +96 -63
- package/src/dnd/createDraggableItem.ts +260 -243
- package/src/dnd/createDrop.ts +313 -321
- package/src/dnd/createDroppableCollection.ts +799 -293
- package/src/dnd/createDroppableItem.ts +215 -213
- package/src/dnd/index.ts +66 -47
- package/src/dnd/types.ts +86 -89
- package/src/dnd/utils.ts +281 -294
- package/src/focus/FocusScope.tsx +155 -164
- package/src/focus/createAutoFocus.ts +305 -321
- package/src/focus/createFocusRestore.ts +300 -313
- package/src/focus/createVirtualFocus.ts +380 -396
- package/src/focus/index.ts +4 -8
- package/src/form/createFormReset.ts +4 -4
- package/src/form/createFormValidation.ts +201 -224
- package/src/form/index.ts +8 -11
- package/src/grid/GridKeyboardDelegate.ts +30 -30
- package/src/grid/createGrid.ts +38 -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 +45 -24
- 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 +66 -79
- package/src/i18n/createDateFormatter.ts +75 -83
- package/src/i18n/createFilter.ts +118 -131
- package/src/i18n/createNumberFormatter.ts +50 -52
- package/src/i18n/createStringFormatter.ts +19 -15
- package/src/i18n/index.ts +37 -40
- package/src/i18n/locale.tsx +163 -188
- package/src/i18n/utils.ts +95 -99
- package/src/index.ts +114 -164
- package/src/interactions/FocusableProvider.tsx +3 -7
- package/src/interactions/PressEvent.ts +4 -4
- package/src/interactions/createFocus.ts +16 -11
- package/src/interactions/createFocusRing.ts +21 -19
- package/src/interactions/createFocusWithin.ts +24 -16
- 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 +174 -174
- package/src/interactions/createMove.ts +299 -289
- package/src/interactions/createPress.ts +168 -91
- 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 +356 -377
- package/src/landmark/index.ts +8 -8
- package/src/link/createLink.ts +96 -54
- package/src/link/index.ts +1 -1
- package/src/listbox/createListBox.ts +319 -269
- package/src/listbox/createOption.ts +208 -151
- package/src/listbox/index.ts +8 -12
- package/src/live-announcer/announce.ts +295 -322
- package/src/live-announcer/index.ts +9 -9
- package/src/menu/createMenu.ts +434 -396
- package/src/menu/createMenuItem.ts +201 -149
- package/src/menu/createMenuTrigger.ts +88 -88
- package/src/menu/index.ts +9 -18
- package/src/meter/createMeter.ts +7 -20
- package/src/meter/index.ts +1 -1
- package/src/numberfield/createNumberField.ts +368 -268
- package/src/numberfield/index.ts +5 -5
- package/src/overlays/ariaHideOutside.ts +223 -219
- package/src/overlays/createInteractOutside.ts +152 -149
- package/src/overlays/createModal.tsx +238 -202
- package/src/overlays/createOverlay.ts +195 -155
- package/src/overlays/createOverlayTrigger.ts +85 -85
- package/src/overlays/createPreventScroll.ts +288 -266
- package/src/overlays/index.ts +37 -44
- package/src/popover/calculatePosition.ts +117 -119
- package/src/popover/createOverlayPosition.ts +52 -43
- package/src/popover/createPopover.ts +63 -24
- package/src/popover/index.ts +3 -3
- package/src/progress/createProgressBar.ts +36 -32
- package/src/progress/index.ts +1 -1
- package/src/radio/createRadio.ts +95 -73
- package/src/radio/createRadioGroup.ts +142 -62
- package/src/radio/createRadioGroupState.ts +7 -31
- package/src/radio/index.ts +3 -8
- package/src/searchfield/createSearchField.ts +269 -186
- package/src/searchfield/index.ts +2 -2
- package/src/select/createHiddenSelect.tsx +276 -236
- package/src/select/createSelect.ts +430 -395
- package/src/select/index.ts +9 -14
- 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 +333 -349
- package/src/slider/index.ts +2 -2
- package/src/ssr/index.tsx +331 -370
- 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 +155 -86
- 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 +138 -127
- package/src/tabs/index.ts +1 -1
- package/src/tag/createTag.ts +171 -40
- package/src/tag/createTagGroup.ts +50 -39
- 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 +34 -26
- package/src/toast/createToastRegion.ts +169 -27
- 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 +226 -169
- package/src/toolbar/index.ts +1 -1
- package/src/tooltip/createTooltip.ts +66 -79
- package/src/tooltip/createTooltipTrigger.ts +238 -222
- package/src/tooltip/index.ts +6 -6
- package/src/tree/createTree.ts +259 -246
- package/src/tree/createTreeItem.ts +282 -233
- package/src/tree/createTreeSelectionCheckbox.ts +71 -68
- package/src/tree/index.ts +16 -16
- package/src/tree/types.ts +95 -87
- package/src/utils/createDescription.ts +6 -23
- package/src/utils/dom.ts +61 -54
- package/src/utils/env.ts +53 -54
- 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 +16 -6
- package/src/utils/reactivity.ts +3 -3
- package/src/utils/textSelection.ts +16 -16
- package/src/visually-hidden/createVisuallyHidden.ts +127 -124
- package/src/visually-hidden/index.ts +6 -6
- package/dist/i18n/NumberFormatter.d.ts +0 -43
- package/dist/i18n/NumberFormatter.d.ts.map +0 -1
- package/dist/index.ssr.js +0 -15875
- package/dist/index.ssr.js.map +0 -7
- package/src/i18n/NumberFormatter.ts +0 -266
|
@@ -7,13 +7,9 @@
|
|
|
7
7
|
* This is a 1:1 port of @react-stately/radio's useRadioGroupState.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { createSignal, Accessor, untrack } from
|
|
11
|
-
import { type MaybeAccessor, access } from
|
|
12
|
-
import { createId } from
|
|
13
|
-
|
|
14
|
-
// ============================================
|
|
15
|
-
// TYPES
|
|
16
|
-
// ============================================
|
|
10
|
+
import { createSignal, Accessor, untrack } from "solid-js";
|
|
11
|
+
import { type MaybeAccessor, access } from "../utils/reactivity";
|
|
12
|
+
import { createId } from "../ssr";
|
|
17
13
|
|
|
18
14
|
export interface RadioGroupProps {
|
|
19
15
|
/** The current selected value (controlled). */
|
|
@@ -37,7 +33,7 @@ export interface RadioGroupProps {
|
|
|
37
33
|
/** The label for the radio group. */
|
|
38
34
|
label?: string;
|
|
39
35
|
/** Orientation of the radio group. */
|
|
40
|
-
orientation?:
|
|
36
|
+
orientation?: "horizontal" | "vertical";
|
|
41
37
|
/** Handler that is called when the radio group receives focus. */
|
|
42
38
|
onFocus?: (e: FocusEvent) => void;
|
|
43
39
|
/** Handler that is called when the radio group loses focus. */
|
|
@@ -78,10 +74,6 @@ export interface RadioGroupState {
|
|
|
78
74
|
setLastFocusedValue(value: string | null): void;
|
|
79
75
|
}
|
|
80
76
|
|
|
81
|
-
// ============================================
|
|
82
|
-
// INTERNAL: SolidJS-specific sync mechanism
|
|
83
|
-
// ============================================
|
|
84
|
-
|
|
85
77
|
/**
|
|
86
78
|
* Internal WeakMap to store sync version accessors for each radio group state.
|
|
87
79
|
* This is used by createRadio to trigger DOM sync when native radio behavior
|
|
@@ -92,31 +84,23 @@ export interface RadioGroupState {
|
|
|
92
84
|
*/
|
|
93
85
|
export const radioGroupSyncVersion: WeakMap<RadioGroupState, Accessor<number>> = new WeakMap();
|
|
94
86
|
|
|
95
|
-
// ============================================
|
|
96
|
-
// IMPLEMENTATION
|
|
97
|
-
// ============================================
|
|
98
|
-
|
|
99
87
|
/**
|
|
100
88
|
* Provides state management for a radio group component.
|
|
101
89
|
* Provides a name for the group, and manages selection and focus state.
|
|
102
90
|
*/
|
|
103
|
-
export function createRadioGroupState(
|
|
104
|
-
props: MaybeAccessor<RadioGroupProps> = {}
|
|
105
|
-
): RadioGroupState {
|
|
91
|
+
export function createRadioGroupState(props: MaybeAccessor<RadioGroupProps> = {}): RadioGroupState {
|
|
106
92
|
const getProps = () => access(props);
|
|
107
93
|
|
|
108
94
|
// Get initial props using untrack to avoid setting up dependencies
|
|
109
95
|
// This ensures we capture the initial defaultValue without reactivity issues
|
|
110
96
|
const initialProps = untrack(() => getProps());
|
|
111
97
|
|
|
112
|
-
//
|
|
113
|
-
// React Aria now generates the name instead of stately
|
|
98
|
+
// Preserved for backward compatibility. React Aria now generates the name instead of stately.
|
|
114
99
|
const name = initialProps.name || `radio-group-${createId()}`;
|
|
115
100
|
|
|
116
|
-
// Create internal signal for uncontrolled mode
|
|
117
101
|
// Initialize with defaultValue only (not value, which is for controlled mode)
|
|
118
102
|
const [internalValue, setInternalValue] = createSignal<string | null>(
|
|
119
|
-
initialProps.defaultValue ?? null
|
|
103
|
+
initialProps.defaultValue ?? null,
|
|
120
104
|
);
|
|
121
105
|
const [lastFocusedValue, setLastFocusedValueInternal] = createSignal<string | null>(null);
|
|
122
106
|
|
|
@@ -125,26 +109,20 @@ export function createRadioGroupState(
|
|
|
125
109
|
// from our reactive state (e.g., clicking a radio unchecks siblings in the DOM)
|
|
126
110
|
const [syncVersion, setSyncVersion] = createSignal(0);
|
|
127
111
|
|
|
128
|
-
// Determine if controlled - must be reactive to handle dynamic props
|
|
129
112
|
const isControlled = () => getProps().value !== undefined;
|
|
130
113
|
|
|
131
|
-
// Get current value - reactive for both controlled and uncontrolled modes
|
|
132
114
|
const selectedValue: Accessor<string | null> = () => {
|
|
133
115
|
const p = getProps();
|
|
134
|
-
// In controlled mode, always read from props.value reactively
|
|
135
|
-
// In uncontrolled mode, read from internal signal
|
|
136
116
|
if (p.value !== undefined) {
|
|
137
117
|
return p.value ?? null;
|
|
138
118
|
}
|
|
139
119
|
return internalValue();
|
|
140
120
|
};
|
|
141
121
|
|
|
142
|
-
// Check if invalid
|
|
143
122
|
const isInvalid = () => {
|
|
144
123
|
return getProps().isInvalid ?? false;
|
|
145
124
|
};
|
|
146
125
|
|
|
147
|
-
// Set value
|
|
148
126
|
function setSelectedValue(value: string | null): void {
|
|
149
127
|
const p = getProps();
|
|
150
128
|
if (p.isReadOnly || p.isDisabled) {
|
|
@@ -167,7 +145,6 @@ export function createRadioGroupState(
|
|
|
167
145
|
}
|
|
168
146
|
}
|
|
169
147
|
|
|
170
|
-
// Set last focused value
|
|
171
148
|
function setLastFocusedValue(value: string | null): void {
|
|
172
149
|
setLastFocusedValueInternal(value);
|
|
173
150
|
}
|
|
@@ -193,7 +170,6 @@ export function createRadioGroupState(
|
|
|
193
170
|
},
|
|
194
171
|
};
|
|
195
172
|
|
|
196
|
-
// Store syncVersion in internal WeakMap (not part of public API)
|
|
197
173
|
// This maintains API parity with React-Aria while supporting SolidJS's reactivity needs
|
|
198
174
|
radioGroupSyncVersion.set(state, syncVersion);
|
|
199
175
|
|
package/src/radio/index.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
// Re-export state from solid-stately
|
|
2
1
|
export {
|
|
3
2
|
createRadioGroupState,
|
|
4
3
|
radioGroupSyncVersion,
|
|
5
4
|
type RadioGroupProps,
|
|
6
5
|
type RadioGroupState,
|
|
7
|
-
} from
|
|
6
|
+
} from "@proyecto-viviana/solid-stately";
|
|
8
7
|
|
|
9
8
|
// ARIA hooks (solidaria-specific)
|
|
10
9
|
// Radio Group
|
|
@@ -13,11 +12,7 @@ export {
|
|
|
13
12
|
radioGroupData,
|
|
14
13
|
type AriaRadioGroupProps,
|
|
15
14
|
type RadioGroupAria,
|
|
16
|
-
} from
|
|
15
|
+
} from "./createRadioGroup";
|
|
17
16
|
|
|
18
17
|
// Radio
|
|
19
|
-
export {
|
|
20
|
-
createRadio,
|
|
21
|
-
type AriaRadioProps,
|
|
22
|
-
type RadioAria,
|
|
23
|
-
} from './createRadio';
|
|
18
|
+
export { createRadio, type AriaRadioProps, type RadioAria } from "./createRadio";
|
|
@@ -1,186 +1,269 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provides the behavior and accessibility implementation for a search field.
|
|
3
|
-
* A search field allows a user to enter and clear a search query.
|
|
4
|
-
* Based on @react-aria/searchfield useSearchField.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { type JSX } from
|
|
8
|
-
import { createTextField, type AriaTextFieldProps, type TextFieldAria } from
|
|
9
|
-
import { mergeProps } from
|
|
10
|
-
import { type MaybeAccessor, access } from
|
|
11
|
-
import type { SearchFieldState } from
|
|
12
|
-
|
|
13
|
-
export interface AriaSearchFieldProps extends
|
|
14
|
-
/** Handler that is called when the user submits the search (pressing Enter). */
|
|
15
|
-
onSubmit?: (value: string) => void;
|
|
16
|
-
/** Handler that is called when the clear button is pressed or Escape clears the field. */
|
|
17
|
-
onClear?: () => void;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface SearchFieldAria extends Omit<TextFieldAria,
|
|
21
|
-
/** Props for the input element. */
|
|
22
|
-
inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
|
|
23
|
-
/** Props for the clear button. */
|
|
24
|
-
clearButtonProps: {
|
|
25
|
-
|
|
26
|
-
tabIndex: number;
|
|
27
|
-
disabled?: boolean;
|
|
28
|
-
onMouseDown: (e: MouseEvent) => void;
|
|
29
|
-
onClick: () => void;
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Provides the behavior and accessibility implementation for a search field.
|
|
35
|
-
*/
|
|
36
|
-
export function createSearchField(
|
|
37
|
-
props: MaybeAccessor<AriaSearchFieldProps>,
|
|
38
|
-
state: SearchFieldState,
|
|
39
|
-
inputRef?: () => HTMLInputElement | null
|
|
40
|
-
): SearchFieldAria {
|
|
41
|
-
const getProps = () => access(props);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
get
|
|
55
|
-
return
|
|
56
|
-
},
|
|
57
|
-
get
|
|
58
|
-
return getProps().
|
|
59
|
-
},
|
|
60
|
-
get
|
|
61
|
-
return getProps().
|
|
62
|
-
},
|
|
63
|
-
get
|
|
64
|
-
return getProps()
|
|
65
|
-
},
|
|
66
|
-
get
|
|
67
|
-
return getProps()
|
|
68
|
-
},
|
|
69
|
-
get
|
|
70
|
-
return getProps()
|
|
71
|
-
},
|
|
72
|
-
get
|
|
73
|
-
return getProps()
|
|
74
|
-
},
|
|
75
|
-
get
|
|
76
|
-
return getProps()
|
|
77
|
-
},
|
|
78
|
-
get
|
|
79
|
-
return getProps()
|
|
80
|
-
},
|
|
81
|
-
get
|
|
82
|
-
return getProps().
|
|
83
|
-
},
|
|
84
|
-
get
|
|
85
|
-
return getProps().
|
|
86
|
-
},
|
|
87
|
-
get
|
|
88
|
-
return getProps().
|
|
89
|
-
},
|
|
90
|
-
get
|
|
91
|
-
return getProps().
|
|
92
|
-
},
|
|
93
|
-
get
|
|
94
|
-
return getProps().
|
|
95
|
-
},
|
|
96
|
-
get
|
|
97
|
-
return getProps().
|
|
98
|
-
},
|
|
99
|
-
type
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Provides the behavior and accessibility implementation for a search field.
|
|
3
|
+
* A search field allows a user to enter and clear a search query.
|
|
4
|
+
* Based on @react-aria/searchfield useSearchField.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { type JSX } from "solid-js";
|
|
8
|
+
import { createTextField, type AriaTextFieldProps, type TextFieldAria } from "../textfield";
|
|
9
|
+
import { mergeProps } from "../utils";
|
|
10
|
+
import { type MaybeAccessor, access } from "../utils/reactivity";
|
|
11
|
+
import type { SearchFieldState } from "@proyecto-viviana/solid-stately";
|
|
12
|
+
|
|
13
|
+
export interface AriaSearchFieldProps extends AriaTextFieldProps {
|
|
14
|
+
/** Handler that is called when the user submits the search (pressing Enter). */
|
|
15
|
+
onSubmit?: (value: string) => void;
|
|
16
|
+
/** Handler that is called when the clear button is pressed or Escape clears the field. */
|
|
17
|
+
onClear?: () => void;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface SearchFieldAria extends Omit<TextFieldAria, "inputProps"> {
|
|
21
|
+
/** Props for the input element. */
|
|
22
|
+
inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
|
|
23
|
+
/** Props for the clear button. */
|
|
24
|
+
clearButtonProps: {
|
|
25
|
+
"aria-label": string;
|
|
26
|
+
tabIndex: number;
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
onMouseDown: (e: MouseEvent) => void;
|
|
29
|
+
onClick: () => void;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Provides the behavior and accessibility implementation for a search field.
|
|
35
|
+
*/
|
|
36
|
+
export function createSearchField(
|
|
37
|
+
props: MaybeAccessor<AriaSearchFieldProps>,
|
|
38
|
+
state: SearchFieldState,
|
|
39
|
+
inputRef?: () => HTMLInputElement | null,
|
|
40
|
+
): SearchFieldAria {
|
|
41
|
+
const getProps = () => access(props);
|
|
42
|
+
|
|
43
|
+
const setValue = (value: string) => {
|
|
44
|
+
if (state.value() === value) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
state.setValue(value);
|
|
49
|
+
getProps().onChange?.(value);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// Use createTextField for the base implementation
|
|
53
|
+
const textFieldAria = createTextField({
|
|
54
|
+
get value() {
|
|
55
|
+
return state.value();
|
|
56
|
+
},
|
|
57
|
+
get isDisabled() {
|
|
58
|
+
return getProps().isDisabled;
|
|
59
|
+
},
|
|
60
|
+
get isReadOnly() {
|
|
61
|
+
return getProps().isReadOnly;
|
|
62
|
+
},
|
|
63
|
+
get isRequired() {
|
|
64
|
+
return getProps().isRequired;
|
|
65
|
+
},
|
|
66
|
+
get isInvalid() {
|
|
67
|
+
return getProps().isInvalid;
|
|
68
|
+
},
|
|
69
|
+
get label() {
|
|
70
|
+
return getProps().label;
|
|
71
|
+
},
|
|
72
|
+
get "aria-label"() {
|
|
73
|
+
return getProps()["aria-label"];
|
|
74
|
+
},
|
|
75
|
+
get "aria-labelledby"() {
|
|
76
|
+
return getProps()["aria-labelledby"];
|
|
77
|
+
},
|
|
78
|
+
get "aria-describedby"() {
|
|
79
|
+
return getProps()["aria-describedby"];
|
|
80
|
+
},
|
|
81
|
+
get description() {
|
|
82
|
+
return getProps().description;
|
|
83
|
+
},
|
|
84
|
+
get errorMessage() {
|
|
85
|
+
return getProps().errorMessage;
|
|
86
|
+
},
|
|
87
|
+
get placeholder() {
|
|
88
|
+
return getProps().placeholder;
|
|
89
|
+
},
|
|
90
|
+
get name() {
|
|
91
|
+
return getProps().name;
|
|
92
|
+
},
|
|
93
|
+
get form() {
|
|
94
|
+
return getProps().form;
|
|
95
|
+
},
|
|
96
|
+
get validationBehavior() {
|
|
97
|
+
return getProps().validationBehavior ?? "native";
|
|
98
|
+
},
|
|
99
|
+
get type() {
|
|
100
|
+
return getProps().type ?? "search";
|
|
101
|
+
},
|
|
102
|
+
get autoFocus() {
|
|
103
|
+
return getProps().autoFocus;
|
|
104
|
+
},
|
|
105
|
+
get excludeFromTabOrder() {
|
|
106
|
+
return getProps().excludeFromTabOrder;
|
|
107
|
+
},
|
|
108
|
+
get autoComplete() {
|
|
109
|
+
return getProps().autoComplete;
|
|
110
|
+
},
|
|
111
|
+
get inputMode() {
|
|
112
|
+
return getProps().inputMode;
|
|
113
|
+
},
|
|
114
|
+
get enterKeyHint() {
|
|
115
|
+
return getProps().enterKeyHint;
|
|
116
|
+
},
|
|
117
|
+
get autoCorrect() {
|
|
118
|
+
return getProps().autoCorrect;
|
|
119
|
+
},
|
|
120
|
+
get autoCapitalize() {
|
|
121
|
+
return getProps().autoCapitalize;
|
|
122
|
+
},
|
|
123
|
+
get spellCheck() {
|
|
124
|
+
return getProps().spellCheck;
|
|
125
|
+
},
|
|
126
|
+
get maxLength() {
|
|
127
|
+
return getProps().maxLength;
|
|
128
|
+
},
|
|
129
|
+
get minLength() {
|
|
130
|
+
return getProps().minLength;
|
|
131
|
+
},
|
|
132
|
+
get pattern() {
|
|
133
|
+
return getProps().pattern;
|
|
134
|
+
},
|
|
135
|
+
get onFocus() {
|
|
136
|
+
return getProps().onFocus;
|
|
137
|
+
},
|
|
138
|
+
get onBlur() {
|
|
139
|
+
return getProps().onBlur;
|
|
140
|
+
},
|
|
141
|
+
get onFocusChange() {
|
|
142
|
+
return getProps().onFocusChange;
|
|
143
|
+
},
|
|
144
|
+
get onKeyDown() {
|
|
145
|
+
return getProps().onKeyDown;
|
|
146
|
+
},
|
|
147
|
+
get onKeyUp() {
|
|
148
|
+
return getProps().onKeyUp;
|
|
149
|
+
},
|
|
150
|
+
get onCopy() {
|
|
151
|
+
return getProps().onCopy;
|
|
152
|
+
},
|
|
153
|
+
get onCut() {
|
|
154
|
+
return getProps().onCut;
|
|
155
|
+
},
|
|
156
|
+
get onPaste() {
|
|
157
|
+
return getProps().onPaste;
|
|
158
|
+
},
|
|
159
|
+
get onCompositionStart() {
|
|
160
|
+
return getProps().onCompositionStart;
|
|
161
|
+
},
|
|
162
|
+
get onCompositionEnd() {
|
|
163
|
+
return getProps().onCompositionEnd;
|
|
164
|
+
},
|
|
165
|
+
get onCompositionUpdate() {
|
|
166
|
+
return getProps().onCompositionUpdate;
|
|
167
|
+
},
|
|
168
|
+
get onSelect() {
|
|
169
|
+
return getProps().onSelect;
|
|
170
|
+
},
|
|
171
|
+
get onBeforeInput() {
|
|
172
|
+
return getProps().onBeforeInput;
|
|
173
|
+
},
|
|
174
|
+
get onInput() {
|
|
175
|
+
return getProps().onInput;
|
|
176
|
+
},
|
|
177
|
+
onChange: setValue,
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
// Handle keyboard events for search field
|
|
181
|
+
const onKeyDown: JSX.EventHandler<HTMLInputElement, KeyboardEvent> = (e) => {
|
|
182
|
+
const p = getProps();
|
|
183
|
+
|
|
184
|
+
if (p.isDisabled || p.isReadOnly) {
|
|
185
|
+
if (e.key === "Enter") {
|
|
186
|
+
e.preventDefault();
|
|
187
|
+
}
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
if (e.key === "Enter" && p.onSubmit) {
|
|
192
|
+
e.preventDefault();
|
|
193
|
+
p.onSubmit(state.value());
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
if (e.key === "Escape") {
|
|
197
|
+
const currentValue = state.value();
|
|
198
|
+
const inputValue = inputRef?.()?.value ?? "";
|
|
199
|
+
|
|
200
|
+
// Only clear if there's a value
|
|
201
|
+
if (currentValue !== "" || inputValue !== "") {
|
|
202
|
+
e.preventDefault();
|
|
203
|
+
e.stopPropagation();
|
|
204
|
+
const input = inputRef?.();
|
|
205
|
+
if (input) {
|
|
206
|
+
input.value = "";
|
|
207
|
+
}
|
|
208
|
+
setValue("");
|
|
209
|
+
p.onClear?.();
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
// Handle clear button click
|
|
215
|
+
const onClearButtonClick = () => {
|
|
216
|
+
const p = getProps();
|
|
217
|
+
if (p.isDisabled || p.isReadOnly) return;
|
|
218
|
+
const input = inputRef?.();
|
|
219
|
+
if (input) {
|
|
220
|
+
input.value = "";
|
|
221
|
+
}
|
|
222
|
+
setValue("");
|
|
223
|
+
p.onClear?.();
|
|
224
|
+
// Focus the input after clearing
|
|
225
|
+
inputRef?.()?.focus();
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
// Prevent focus from leaving input on mobile when clicking clear button
|
|
229
|
+
const onClearButtonMouseDown = (e: MouseEvent) => {
|
|
230
|
+
e.preventDefault();
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
return {
|
|
234
|
+
get labelProps() {
|
|
235
|
+
return textFieldAria.labelProps;
|
|
236
|
+
},
|
|
237
|
+
get inputProps() {
|
|
238
|
+
return mergeProps(
|
|
239
|
+
{
|
|
240
|
+
onKeyDown,
|
|
241
|
+
// Clear defaultValue since it's handled by state
|
|
242
|
+
defaultValue: undefined,
|
|
243
|
+
} as Record<string, unknown>,
|
|
244
|
+
textFieldAria.inputProps as Record<string, unknown>,
|
|
245
|
+
) as JSX.InputHTMLAttributes<HTMLInputElement>;
|
|
246
|
+
},
|
|
247
|
+
get clearButtonProps() {
|
|
248
|
+
const p = getProps();
|
|
249
|
+
const isDisabled = p.isDisabled || p.isReadOnly;
|
|
250
|
+
|
|
251
|
+
return {
|
|
252
|
+
"aria-label": "Clear search",
|
|
253
|
+
tabIndex: -1, // Exclude from tab order
|
|
254
|
+
disabled: isDisabled,
|
|
255
|
+
onMouseDown: onClearButtonMouseDown,
|
|
256
|
+
onClick: onClearButtonClick,
|
|
257
|
+
};
|
|
258
|
+
},
|
|
259
|
+
get descriptionProps() {
|
|
260
|
+
return textFieldAria.descriptionProps;
|
|
261
|
+
},
|
|
262
|
+
get errorMessageProps() {
|
|
263
|
+
return textFieldAria.errorMessageProps;
|
|
264
|
+
},
|
|
265
|
+
get isInvalid() {
|
|
266
|
+
return textFieldAria.isInvalid;
|
|
267
|
+
},
|
|
268
|
+
};
|
|
269
|
+
}
|
package/src/searchfield/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { createSearchField } from
|
|
2
|
-
export type { AriaSearchFieldProps, SearchFieldAria } from
|
|
1
|
+
export { createSearchField } from "./createSearchField";
|
|
2
|
+
export type { AriaSearchFieldProps, SearchFieldAria } from "./createSearchField";
|