@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
|
@@ -8,17 +8,13 @@
|
|
|
8
8
|
* Based on @react-aria/tag useTagGroup
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { createEffect, onCleanup } from
|
|
12
|
-
import { createLabel } from
|
|
13
|
-
import { filterDOMProps } from
|
|
14
|
-
import { mergeProps } from
|
|
15
|
-
import { createId } from
|
|
16
|
-
import { access, type MaybeAccessor } from
|
|
17
|
-
import type { ListState, Key } from
|
|
18
|
-
|
|
19
|
-
// ============================================
|
|
20
|
-
// TYPES
|
|
21
|
-
// ============================================
|
|
11
|
+
import { createEffect, onCleanup } from "solid-js";
|
|
12
|
+
import { createLabel } from "../label/createLabel";
|
|
13
|
+
import { filterDOMProps } from "../utils/filterDOMProps";
|
|
14
|
+
import { mergeProps } from "../utils/mergeProps";
|
|
15
|
+
import { createId } from "../ssr";
|
|
16
|
+
import { access, type MaybeAccessor } from "../utils/reactivity";
|
|
17
|
+
import type { ListState, Key } from "@proyecto-viviana/solid-stately";
|
|
22
18
|
|
|
23
19
|
export interface AriaTagGroupProps {
|
|
24
20
|
/** An ID for the tag group. */
|
|
@@ -28,11 +24,11 @@ export interface AriaTagGroupProps {
|
|
|
28
24
|
/** The label for the tag group. */
|
|
29
25
|
label?: string;
|
|
30
26
|
/** An accessible label for the tag group when no visible label is provided. */
|
|
31
|
-
|
|
27
|
+
"aria-label"?: string;
|
|
32
28
|
/** The ID of an element that labels the tag group. */
|
|
33
|
-
|
|
29
|
+
"aria-labelledby"?: string;
|
|
34
30
|
/** The ID of an element that describes the tag group. */
|
|
35
|
-
|
|
31
|
+
"aria-describedby"?: string;
|
|
36
32
|
/** A description of the tag group. */
|
|
37
33
|
description?: string;
|
|
38
34
|
/** An error message for the tag group. */
|
|
@@ -64,10 +60,6 @@ export function getTagGroupData(state: ListState): TagGroupData | undefined {
|
|
|
64
60
|
return tagGroupData.get(state);
|
|
65
61
|
}
|
|
66
62
|
|
|
67
|
-
// ============================================
|
|
68
|
-
// IMPLEMENTATION
|
|
69
|
-
// ============================================
|
|
70
|
-
|
|
71
63
|
/**
|
|
72
64
|
* Provides the behavior and accessibility implementation for a tag group component.
|
|
73
65
|
* A tag group is a focusable list of labels, categories, keywords, filters, or other items,
|
|
@@ -76,7 +68,7 @@ export function getTagGroupData(state: ListState): TagGroupData | undefined {
|
|
|
76
68
|
export function createTagGroup<T>(
|
|
77
69
|
props: MaybeAccessor<AriaTagGroupProps>,
|
|
78
70
|
state: ListState<T>,
|
|
79
|
-
_ref?: () => HTMLElement | null
|
|
71
|
+
_ref?: () => HTMLElement | null,
|
|
80
72
|
): TagGroupAria {
|
|
81
73
|
const getProps = () => access(props);
|
|
82
74
|
const id = createId(getProps().id);
|
|
@@ -84,30 +76,44 @@ export function createTagGroup<T>(
|
|
|
84
76
|
const errorMessageId = createId();
|
|
85
77
|
const getFallbackAriaLabel = () => {
|
|
86
78
|
const p = getProps();
|
|
87
|
-
return !p.label && !p[
|
|
79
|
+
return !p.label && !p["aria-label"] && !p["aria-labelledby"] ? "Tag list" : undefined;
|
|
80
|
+
};
|
|
81
|
+
const sharedData: TagGroupData = {
|
|
82
|
+
id,
|
|
83
|
+
get onRemove() {
|
|
84
|
+
return getProps().onRemove;
|
|
85
|
+
},
|
|
88
86
|
};
|
|
89
87
|
|
|
90
88
|
// Filter DOM props
|
|
91
|
-
const domProps = () =>
|
|
89
|
+
const domProps = () =>
|
|
90
|
+
filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true });
|
|
92
91
|
|
|
93
92
|
// Create label handling
|
|
94
93
|
const { labelProps, fieldProps } = createLabel({
|
|
95
|
-
get label() {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
94
|
+
get label() {
|
|
95
|
+
return getProps().label;
|
|
96
|
+
},
|
|
97
|
+
get "aria-label"() {
|
|
98
|
+
return getProps()["aria-label"] ?? getFallbackAriaLabel();
|
|
99
|
+
},
|
|
100
|
+
get "aria-labelledby"() {
|
|
101
|
+
return getProps()["aria-labelledby"];
|
|
102
|
+
},
|
|
103
|
+
labelElementType: "span",
|
|
99
104
|
});
|
|
100
105
|
|
|
101
|
-
// Share data with child tags
|
|
106
|
+
// Share data with child tags before they create their aria state.
|
|
107
|
+
tagGroupData.set(state, sharedData);
|
|
108
|
+
|
|
109
|
+
// Clean up the shared state when the tag group owner is disposed.
|
|
102
110
|
createEffect(() => {
|
|
103
|
-
|
|
104
|
-
tagGroupData.set(state, {
|
|
105
|
-
id,
|
|
106
|
-
onRemove: p.onRemove,
|
|
107
|
-
});
|
|
111
|
+
tagGroupData.set(state, sharedData);
|
|
108
112
|
|
|
109
113
|
onCleanup(() => {
|
|
110
|
-
tagGroupData.
|
|
114
|
+
if (tagGroupData.get(state) === sharedData) {
|
|
115
|
+
tagGroupData.delete(state);
|
|
116
|
+
}
|
|
111
117
|
});
|
|
112
118
|
});
|
|
113
119
|
|
|
@@ -115,8 +121,8 @@ export function createTagGroup<T>(
|
|
|
115
121
|
const getAriaDescribedBy = () => {
|
|
116
122
|
const p = getProps();
|
|
117
123
|
const ids: string[] = [];
|
|
118
|
-
if (p[
|
|
119
|
-
ids.push(p[
|
|
124
|
+
if (p["aria-describedby"]) {
|
|
125
|
+
ids.push(p["aria-describedby"]);
|
|
120
126
|
}
|
|
121
127
|
if (p.description) {
|
|
122
128
|
ids.push(descriptionId);
|
|
@@ -124,7 +130,7 @@ export function createTagGroup<T>(
|
|
|
124
130
|
if (p.errorMessage) {
|
|
125
131
|
ids.push(errorMessageId);
|
|
126
132
|
}
|
|
127
|
-
return ids.length > 0 ? ids.join(
|
|
133
|
+
return ids.length > 0 ? ids.join(" ") : undefined;
|
|
128
134
|
};
|
|
129
135
|
|
|
130
136
|
return {
|
|
@@ -134,12 +140,12 @@ export function createTagGroup<T>(
|
|
|
134
140
|
|
|
135
141
|
return mergeProps(domProps(), fieldProps as Record<string, unknown>, {
|
|
136
142
|
id,
|
|
137
|
-
role: hasItems ?
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
+
role: hasItems ? "grid" : "group",
|
|
144
|
+
"aria-multiselectable": hasItems && state.selectionMode() === "multiple" ? true : undefined,
|
|
145
|
+
"aria-atomic": false,
|
|
146
|
+
"aria-relevant": "additions",
|
|
147
|
+
"aria-describedby": getAriaDescribedBy(),
|
|
148
|
+
"aria-disabled": p.isDisabled || undefined,
|
|
143
149
|
});
|
|
144
150
|
},
|
|
145
151
|
get labelProps() {
|
package/src/tag/index.ts
CHANGED
|
@@ -3,10 +3,6 @@ export {
|
|
|
3
3
|
getTagGroupData,
|
|
4
4
|
type AriaTagGroupProps,
|
|
5
5
|
type TagGroupAria,
|
|
6
|
-
} from
|
|
6
|
+
} from "./createTagGroup";
|
|
7
7
|
|
|
8
|
-
export {
|
|
9
|
-
createTag,
|
|
10
|
-
type AriaTagProps,
|
|
11
|
-
type TagAria,
|
|
12
|
-
} from './createTag';
|
|
8
|
+
export { createTag, type AriaTagProps, type TagAria } from "./createTag";
|
|
@@ -6,17 +6,13 @@
|
|
|
6
6
|
* This is a 1:1 port of @react-aria/textfield's useTextField hook.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { JSX } from
|
|
10
|
-
import { createField, type AriaFieldProps, type FieldAria } from
|
|
11
|
-
import { createFocusable, type FocusableProps } from
|
|
12
|
-
import { mergeProps, filterDOMProps } from
|
|
13
|
-
import { type MaybeAccessor, access } from
|
|
9
|
+
import { JSX } from "solid-js";
|
|
10
|
+
import { createField, type AriaFieldProps, type FieldAria } from "../label";
|
|
11
|
+
import { createFocusable, type FocusableDOMProps, type FocusableProps } from "../interactions";
|
|
12
|
+
import { mergeProps, filterDOMProps } from "../utils";
|
|
13
|
+
import { type MaybeAccessor, access } from "../utils/reactivity";
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
// TYPES
|
|
17
|
-
// ============================================
|
|
18
|
-
|
|
19
|
-
export interface AriaTextFieldProps extends AriaFieldProps, FocusableProps {
|
|
15
|
+
export interface AriaTextFieldProps extends AriaFieldProps, FocusableProps, FocusableDOMProps {
|
|
20
16
|
/** The current value (controlled). */
|
|
21
17
|
value?: string;
|
|
22
18
|
/** The default value (uncontrolled). */
|
|
@@ -29,12 +25,18 @@ export interface AriaTextFieldProps extends AriaFieldProps, FocusableProps {
|
|
|
29
25
|
isReadOnly?: boolean;
|
|
30
26
|
/** Whether the input is required. */
|
|
31
27
|
isRequired?: boolean;
|
|
28
|
+
/** Whether to use native HTML form validation or ARIA validation semantics. */
|
|
29
|
+
validationBehavior?: "aria" | "native";
|
|
32
30
|
/** The type of input to render. */
|
|
33
|
-
type?:
|
|
31
|
+
type?: "text" | "search" | "url" | "tel" | "email" | "password" | string;
|
|
34
32
|
/** The input mode hint for virtual keyboards. */
|
|
35
|
-
inputMode?:
|
|
33
|
+
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search";
|
|
34
|
+
/** Hint for the enter key action on virtual keyboards. */
|
|
35
|
+
enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send";
|
|
36
36
|
/** The name of the input element, used when submitting an HTML form. */
|
|
37
37
|
name?: string;
|
|
38
|
+
/** Associates the input with a form element by id. */
|
|
39
|
+
form?: string;
|
|
38
40
|
/** Regex pattern to validate the input value. */
|
|
39
41
|
pattern?: string;
|
|
40
42
|
/** The maximum number of characters supported by the input. */
|
|
@@ -48,11 +50,11 @@ export interface AriaTextFieldProps extends AriaFieldProps, FocusableProps {
|
|
|
48
50
|
/** Whether to enable auto correct. */
|
|
49
51
|
autoCorrect?: string;
|
|
50
52
|
/** Whether to enable spell check. */
|
|
51
|
-
spellCheck?:
|
|
53
|
+
spellCheck?: "true" | "false";
|
|
52
54
|
/** Controls whether and how text input is automatically capitalized. */
|
|
53
|
-
autoCapitalize?:
|
|
55
|
+
autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters";
|
|
54
56
|
/** The element type to use for the input. Defaults to 'input'. */
|
|
55
|
-
inputElementType?:
|
|
57
|
+
inputElementType?: "input" | "textarea";
|
|
56
58
|
|
|
57
59
|
// Clipboard events
|
|
58
60
|
onCopy?: JSX.EventHandler<HTMLInputElement | HTMLTextAreaElement, ClipboardEvent>;
|
|
@@ -72,17 +74,15 @@ export interface AriaTextFieldProps extends AriaFieldProps, FocusableProps {
|
|
|
72
74
|
onInput?: JSX.EventHandler<HTMLInputElement | HTMLTextAreaElement, InputEvent>;
|
|
73
75
|
}
|
|
74
76
|
|
|
75
|
-
export interface TextFieldAria<
|
|
77
|
+
export interface TextFieldAria<
|
|
78
|
+
T extends HTMLInputElement | HTMLTextAreaElement = HTMLInputElement,
|
|
79
|
+
> extends Omit<FieldAria, "fieldProps"> {
|
|
76
80
|
/** Props for the input element. */
|
|
77
81
|
inputProps: JSX.InputHTMLAttributes<T>;
|
|
78
82
|
/** Whether the text field is invalid. */
|
|
79
83
|
isInvalid: boolean;
|
|
80
84
|
}
|
|
81
85
|
|
|
82
|
-
// ============================================
|
|
83
|
-
// IMPLEMENTATION
|
|
84
|
-
// ============================================
|
|
85
|
-
|
|
86
86
|
/**
|
|
87
87
|
* Provides the behavior and accessibility implementation for a text field.
|
|
88
88
|
* Text fields allow users to input text with a keyboard.
|
|
@@ -90,11 +90,26 @@ export interface TextFieldAria<T extends HTMLInputElement | HTMLTextAreaElement
|
|
|
90
90
|
* @param props - Props for the text field.
|
|
91
91
|
* @param ref - Optional ref callback for the input element.
|
|
92
92
|
*/
|
|
93
|
-
export function createTextField<
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
): TextFieldAria<T> {
|
|
93
|
+
export function createTextField<
|
|
94
|
+
T extends HTMLInputElement | HTMLTextAreaElement = HTMLInputElement,
|
|
95
|
+
>(props: MaybeAccessor<AriaTextFieldProps>, ref?: (el: T) => void): TextFieldAria<T> {
|
|
97
96
|
const getProps = () => access(props);
|
|
97
|
+
let lastInputValue: string | undefined;
|
|
98
|
+
|
|
99
|
+
const eventWithCurrentTarget = (
|
|
100
|
+
event: InputEvent,
|
|
101
|
+
element: HTMLInputElement | HTMLTextAreaElement,
|
|
102
|
+
) =>
|
|
103
|
+
new Proxy(event, {
|
|
104
|
+
get(target, property, receiver) {
|
|
105
|
+
if (property === "target" || property === "currentTarget") {
|
|
106
|
+
return element;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
const value = Reflect.get(target, property, receiver);
|
|
110
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
111
|
+
},
|
|
112
|
+
});
|
|
98
113
|
|
|
99
114
|
// Get field accessibility props (label, description, error message)
|
|
100
115
|
const { labelProps, fieldProps, descriptionProps, errorMessageProps } = createField(props);
|
|
@@ -108,41 +123,50 @@ export function createTextField<T extends HTMLInputElement | HTMLTextAreaElement
|
|
|
108
123
|
get autoFocus() {
|
|
109
124
|
return getProps().autoFocus;
|
|
110
125
|
},
|
|
126
|
+
get excludeFromTabOrder() {
|
|
127
|
+
return getProps().excludeFromTabOrder;
|
|
128
|
+
},
|
|
111
129
|
onFocus: getProps().onFocus,
|
|
112
130
|
onBlur: getProps().onBlur,
|
|
113
131
|
onFocusChange: getProps().onFocusChange,
|
|
114
132
|
onKeyDown: getProps().onKeyDown,
|
|
115
133
|
onKeyUp: getProps().onKeyUp,
|
|
116
134
|
},
|
|
117
|
-
ref as ((el: HTMLElement) => void) | undefined
|
|
135
|
+
ref as ((el: HTMLElement) => void) | undefined,
|
|
118
136
|
);
|
|
119
137
|
|
|
120
138
|
// Filter DOM props
|
|
121
|
-
const getDomProps = () =>
|
|
139
|
+
const getDomProps = () =>
|
|
140
|
+
filterDOMProps(getProps() as Record<string, unknown>, { labelable: true });
|
|
122
141
|
|
|
123
142
|
// Build input props
|
|
124
143
|
const getInputProps = (): JSX.InputHTMLAttributes<T> => {
|
|
125
144
|
const p = getProps();
|
|
126
145
|
const isInvalid = p.isInvalid ?? false;
|
|
127
|
-
const isTextarea = p.inputElementType ===
|
|
146
|
+
const isTextarea = p.inputElementType === "textarea";
|
|
147
|
+
const validationBehavior = p.validationBehavior ?? "native";
|
|
128
148
|
|
|
129
149
|
return mergeProps(
|
|
130
150
|
getDomProps(),
|
|
131
151
|
{
|
|
132
152
|
disabled: p.isDisabled,
|
|
133
153
|
readOnly: p.isReadOnly,
|
|
134
|
-
required: p.isRequired,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
value: p.value ?? p.defaultValue ??
|
|
154
|
+
required: validationBehavior === "native" && p.isRequired,
|
|
155
|
+
"aria-required": (validationBehavior === "aria" && p.isRequired) || undefined,
|
|
156
|
+
"aria-invalid": isInvalid || undefined,
|
|
157
|
+
value: p.value ?? p.defaultValue ?? "",
|
|
138
158
|
onChange: (e: Event) => {
|
|
139
159
|
const target = e.target as HTMLInputElement | HTMLTextAreaElement;
|
|
140
|
-
|
|
160
|
+
if (target.value !== lastInputValue) {
|
|
161
|
+
p.onChange?.(target.value);
|
|
162
|
+
}
|
|
141
163
|
},
|
|
142
164
|
// Don't include type and pattern for textarea elements
|
|
143
|
-
type: isTextarea ? undefined : (p.type ??
|
|
165
|
+
type: isTextarea ? undefined : (p.type ?? "text"),
|
|
144
166
|
inputMode: p.inputMode,
|
|
167
|
+
enterKeyHint: p.enterKeyHint,
|
|
145
168
|
name: p.name,
|
|
169
|
+
form: p.form,
|
|
146
170
|
pattern: isTextarea ? undefined : p.pattern,
|
|
147
171
|
maxLength: p.maxLength,
|
|
148
172
|
minLength: p.minLength,
|
|
@@ -167,10 +191,18 @@ export function createTextField<T extends HTMLInputElement | HTMLTextAreaElement
|
|
|
167
191
|
|
|
168
192
|
// Input events
|
|
169
193
|
onBeforeInput: p.onBeforeInput,
|
|
170
|
-
onInput:
|
|
194
|
+
onInput: (e: InputEvent) => {
|
|
195
|
+
const target = e.target as HTMLInputElement | HTMLTextAreaElement;
|
|
196
|
+
const nextValue = target.value;
|
|
197
|
+
p.onInput?.(
|
|
198
|
+
eventWithCurrentTarget(e, target) as Parameters<NonNullable<typeof p.onInput>>[0],
|
|
199
|
+
);
|
|
200
|
+
lastInputValue = nextValue;
|
|
201
|
+
p.onChange?.(nextValue);
|
|
202
|
+
},
|
|
171
203
|
},
|
|
172
204
|
focusableProps as Record<string, unknown>,
|
|
173
|
-
fieldProps as Record<string, unknown
|
|
205
|
+
fieldProps as Record<string, unknown>,
|
|
174
206
|
) as JSX.InputHTMLAttributes<T>;
|
|
175
207
|
};
|
|
176
208
|
|
package/src/textfield/index.ts
CHANGED
package/src/toast/createToast.ts
CHANGED
|
@@ -6,13 +6,9 @@
|
|
|
6
6
|
* Port of @react-aria/toast useToast.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { type JSX, createMemo } from
|
|
10
|
-
import { type QueuedToast, type ToastState } from
|
|
11
|
-
import { createId } from
|
|
12
|
-
|
|
13
|
-
// ============================================
|
|
14
|
-
// TYPES
|
|
15
|
-
// ============================================
|
|
9
|
+
import { type JSX, createMemo } from "solid-js";
|
|
10
|
+
import { type QueuedToast, type ToastState } from "@proyecto-viviana/solid-stately";
|
|
11
|
+
import { createId } from "../ssr";
|
|
16
12
|
|
|
17
13
|
export interface AriaToastProps<T> {
|
|
18
14
|
/** The toast to display. */
|
|
@@ -38,10 +34,6 @@ export interface ToastAria {
|
|
|
38
34
|
closeButtonProps: JSX.ButtonHTMLAttributes<HTMLButtonElement>;
|
|
39
35
|
}
|
|
40
36
|
|
|
41
|
-
// ============================================
|
|
42
|
-
// IMPLEMENTATION
|
|
43
|
-
// ============================================
|
|
44
|
-
|
|
45
37
|
/**
|
|
46
38
|
* Provides the accessibility implementation for a Toast component.
|
|
47
39
|
*
|
|
@@ -83,19 +75,19 @@ export function createToast<T>(props: AriaToastProps<T>): ToastAria {
|
|
|
83
75
|
|
|
84
76
|
// Toast container - role="alertdialog" for screen readers
|
|
85
77
|
const toastProps = createMemo<JSX.HTMLAttributes<HTMLElement>>(() => ({
|
|
86
|
-
role:
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
78
|
+
role: "alertdialog",
|
|
79
|
+
"aria-modal": "false",
|
|
80
|
+
"aria-labelledby": hasTitle ? titleId : undefined,
|
|
81
|
+
"aria-describedby": hasDescription ? descriptionId : undefined,
|
|
82
|
+
"data-animation": props.toast.animation,
|
|
83
|
+
"data-key": props.toast.key,
|
|
92
84
|
}));
|
|
93
85
|
|
|
94
86
|
// Content area with role="alert" for immediate announcement
|
|
95
87
|
const contentProps = createMemo<JSX.HTMLAttributes<HTMLElement>>(() => ({
|
|
96
|
-
role:
|
|
97
|
-
|
|
98
|
-
|
|
88
|
+
role: "alert",
|
|
89
|
+
"aria-atomic": "true",
|
|
90
|
+
"aria-live": "assertive",
|
|
99
91
|
}));
|
|
100
92
|
|
|
101
93
|
// Title props
|
|
@@ -110,15 +102,25 @@ export function createToast<T>(props: AriaToastProps<T>): ToastAria {
|
|
|
110
102
|
|
|
111
103
|
// Close button
|
|
112
104
|
const closeButtonProps = createMemo<JSX.ButtonHTMLAttributes<HTMLButtonElement>>(() => ({
|
|
113
|
-
|
|
105
|
+
"aria-label": "Close",
|
|
114
106
|
onClick: close,
|
|
115
107
|
}));
|
|
116
108
|
|
|
117
109
|
return {
|
|
118
|
-
get toastProps() {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
get
|
|
122
|
-
|
|
110
|
+
get toastProps() {
|
|
111
|
+
return toastProps();
|
|
112
|
+
},
|
|
113
|
+
get contentProps() {
|
|
114
|
+
return contentProps();
|
|
115
|
+
},
|
|
116
|
+
get titleProps() {
|
|
117
|
+
return titleProps();
|
|
118
|
+
},
|
|
119
|
+
get descriptionProps() {
|
|
120
|
+
return descriptionProps();
|
|
121
|
+
},
|
|
122
|
+
get closeButtonProps() {
|
|
123
|
+
return closeButtonProps();
|
|
124
|
+
},
|
|
123
125
|
};
|
|
124
126
|
}
|