@proyecto-viviana/solidaria 0.1.3 → 0.2.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/dist/index.d.ts +6135 -50
- package/dist/index.js +485 -1120
- package/dist/{index.ssr.js → index.jsx} +89 -143
- package/package.json +7 -9
- package/dist/autocomplete/createAutocomplete.d.ts +0 -109
- package/dist/autocomplete/createAutocomplete.d.ts.map +0 -1
- package/dist/autocomplete/index.d.ts +0 -2
- package/dist/autocomplete/index.d.ts.map +0 -1
- package/dist/breadcrumbs/createBreadcrumbs.d.ts +0 -43
- package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +0 -1
- package/dist/breadcrumbs/index.d.ts +0 -2
- package/dist/breadcrumbs/index.d.ts.map +0 -1
- package/dist/button/createButton.d.ts +0 -29
- package/dist/button/createButton.d.ts.map +0 -1
- package/dist/button/createToggleButton.d.ts +0 -41
- package/dist/button/createToggleButton.d.ts.map +0 -1
- package/dist/button/index.d.ts +0 -5
- package/dist/button/index.d.ts.map +0 -1
- package/dist/button/types.d.ts +0 -77
- package/dist/button/types.d.ts.map +0 -1
- package/dist/calendar/createCalendar.d.ts +0 -41
- package/dist/calendar/createCalendar.d.ts.map +0 -1
- package/dist/calendar/createCalendarCell.d.ts +0 -41
- package/dist/calendar/createCalendarCell.d.ts.map +0 -1
- package/dist/calendar/createCalendarGrid.d.ts +0 -29
- package/dist/calendar/createCalendarGrid.d.ts.map +0 -1
- package/dist/calendar/createRangeCalendar.d.ts +0 -39
- package/dist/calendar/createRangeCalendar.d.ts.map +0 -1
- package/dist/calendar/createRangeCalendarCell.d.ts +0 -45
- package/dist/calendar/createRangeCalendarCell.d.ts.map +0 -1
- package/dist/calendar/index.d.ts +0 -6
- package/dist/calendar/index.d.ts.map +0 -1
- package/dist/checkbox/createCheckbox.d.ts +0 -56
- package/dist/checkbox/createCheckbox.d.ts.map +0 -1
- package/dist/checkbox/createCheckboxGroup.d.ts +0 -53
- package/dist/checkbox/createCheckboxGroup.d.ts.map +0 -1
- package/dist/checkbox/createCheckboxGroupItem.d.ts +0 -25
- package/dist/checkbox/createCheckboxGroupItem.d.ts.map +0 -1
- package/dist/checkbox/createCheckboxGroupState.d.ts +0 -71
- package/dist/checkbox/createCheckboxGroupState.d.ts.map +0 -1
- package/dist/checkbox/index.d.ts +0 -9
- package/dist/checkbox/index.d.ts.map +0 -1
- package/dist/color/createColorArea.d.ts +0 -13
- package/dist/color/createColorArea.d.ts.map +0 -1
- package/dist/color/createColorField.d.ts +0 -13
- package/dist/color/createColorField.d.ts.map +0 -1
- package/dist/color/createColorSlider.d.ts +0 -13
- package/dist/color/createColorSlider.d.ts.map +0 -1
- package/dist/color/createColorSwatch.d.ts +0 -12
- package/dist/color/createColorSwatch.d.ts.map +0 -1
- package/dist/color/createColorWheel.d.ts +0 -13
- package/dist/color/createColorWheel.d.ts.map +0 -1
- package/dist/color/index.d.ts +0 -10
- package/dist/color/index.d.ts.map +0 -1
- package/dist/color/types.d.ts +0 -106
- package/dist/color/types.d.ts.map +0 -1
- package/dist/combobox/createComboBox.d.ts +0 -77
- package/dist/combobox/createComboBox.d.ts.map +0 -1
- package/dist/combobox/index.d.ts +0 -2
- package/dist/combobox/index.d.ts.map +0 -1
- package/dist/combobox/intl/index.d.ts +0 -14
- package/dist/combobox/intl/index.d.ts.map +0 -1
- package/dist/datepicker/createDateField.d.ts +0 -51
- package/dist/datepicker/createDateField.d.ts.map +0 -1
- package/dist/datepicker/createDatePicker.d.ts +0 -65
- package/dist/datepicker/createDatePicker.d.ts.map +0 -1
- package/dist/datepicker/createDateSegment.d.ts +0 -29
- package/dist/datepicker/createDateSegment.d.ts.map +0 -1
- package/dist/datepicker/createTimeField.d.ts +0 -51
- package/dist/datepicker/createTimeField.d.ts.map +0 -1
- package/dist/datepicker/index.d.ts +0 -5
- package/dist/datepicker/index.d.ts.map +0 -1
- package/dist/dialog/createDialog.d.ts +0 -25
- package/dist/dialog/createDialog.d.ts.map +0 -1
- package/dist/dialog/index.d.ts +0 -3
- package/dist/dialog/index.d.ts.map +0 -1
- package/dist/dialog/types.d.ts +0 -18
- package/dist/dialog/types.d.ts.map +0 -1
- package/dist/disclosure/createDisclosure.d.ts +0 -52
- package/dist/disclosure/createDisclosure.d.ts.map +0 -1
- package/dist/disclosure/createDisclosureGroup.d.ts +0 -39
- package/dist/disclosure/createDisclosureGroup.d.ts.map +0 -1
- package/dist/disclosure/index.d.ts +0 -3
- package/dist/disclosure/index.d.ts.map +0 -1
- package/dist/dnd/createDrag.d.ts +0 -16
- package/dist/dnd/createDrag.d.ts.map +0 -1
- package/dist/dnd/createDraggableCollection.d.ts +0 -27
- package/dist/dnd/createDraggableCollection.d.ts.map +0 -1
- package/dist/dnd/createDraggableItem.d.ts +0 -37
- package/dist/dnd/createDraggableItem.d.ts.map +0 -1
- package/dist/dnd/createDrop.d.ts +0 -16
- package/dist/dnd/createDrop.d.ts.map +0 -1
- package/dist/dnd/createDroppableCollection.d.ts +0 -76
- package/dist/dnd/createDroppableCollection.d.ts.map +0 -1
- package/dist/dnd/createDroppableItem.d.ts +0 -31
- package/dist/dnd/createDroppableItem.d.ts.map +0 -1
- package/dist/dnd/index.d.ts +0 -18
- package/dist/dnd/index.d.ts.map +0 -1
- package/dist/dnd/types.d.ts +0 -66
- package/dist/dnd/types.d.ts.map +0 -1
- package/dist/dnd/utils.d.ts +0 -57
- package/dist/dnd/utils.d.ts.map +0 -1
- package/dist/focus/FocusScope.d.ts +0 -57
- package/dist/focus/FocusScope.d.ts.map +0 -1
- package/dist/focus/createAutoFocus.d.ts +0 -120
- package/dist/focus/createAutoFocus.d.ts.map +0 -1
- package/dist/focus/createFocusRestore.d.ts +0 -116
- package/dist/focus/createFocusRestore.d.ts.map +0 -1
- package/dist/focus/createVirtualFocus.d.ts +0 -170
- package/dist/focus/createVirtualFocus.d.ts.map +0 -1
- package/dist/focus/index.d.ts +0 -5
- package/dist/focus/index.d.ts.map +0 -1
- package/dist/form/createFormReset.d.ts +0 -27
- package/dist/form/createFormReset.d.ts.map +0 -1
- package/dist/form/createFormValidation.d.ts +0 -56
- package/dist/form/createFormValidation.d.ts.map +0 -1
- package/dist/form/index.d.ts +0 -3
- package/dist/form/index.d.ts.map +0 -1
- package/dist/grid/GridKeyboardDelegate.d.ts +0 -79
- package/dist/grid/GridKeyboardDelegate.d.ts.map +0 -1
- package/dist/grid/createGrid.d.ts +0 -24
- package/dist/grid/createGrid.d.ts.map +0 -1
- package/dist/grid/createGridCell.d.ts +0 -12
- package/dist/grid/createGridCell.d.ts.map +0 -1
- package/dist/grid/createGridRow.d.ts +0 -12
- package/dist/grid/createGridRow.d.ts.map +0 -1
- package/dist/grid/index.d.ts +0 -10
- package/dist/grid/index.d.ts.map +0 -1
- package/dist/grid/types.d.ts +0 -126
- package/dist/grid/types.d.ts.map +0 -1
- package/dist/gridlist/createGridList.d.ts +0 -28
- package/dist/gridlist/createGridList.d.ts.map +0 -1
- package/dist/gridlist/createGridListItem.d.ts +0 -12
- package/dist/gridlist/createGridListItem.d.ts.map +0 -1
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts +0 -12
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +0 -1
- package/dist/gridlist/index.d.ts +0 -8
- package/dist/gridlist/index.d.ts.map +0 -1
- package/dist/gridlist/types.d.ts +0 -75
- package/dist/gridlist/types.d.ts.map +0 -1
- package/dist/i18n/NumberFormatter.d.ts +0 -43
- package/dist/i18n/NumberFormatter.d.ts.map +0 -1
- package/dist/i18n/createCollator.d.ts +0 -41
- package/dist/i18n/createCollator.d.ts.map +0 -1
- package/dist/i18n/createDateFormatter.d.ts +0 -45
- package/dist/i18n/createDateFormatter.d.ts.map +0 -1
- package/dist/i18n/createFilter.d.ts +0 -57
- package/dist/i18n/createFilter.d.ts.map +0 -1
- package/dist/i18n/createNumberFormatter.d.ts +0 -43
- package/dist/i18n/createNumberFormatter.d.ts.map +0 -1
- package/dist/i18n/createStringFormatter.d.ts +0 -42
- package/dist/i18n/createStringFormatter.d.ts.map +0 -1
- package/dist/i18n/index.d.ts +0 -9
- package/dist/i18n/index.d.ts.map +0 -1
- package/dist/i18n/locale.d.ts +0 -66
- package/dist/i18n/locale.d.ts.map +0 -1
- package/dist/i18n/utils.d.ts +0 -17
- package/dist/i18n/utils.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -7
- package/dist/index.ssr.js.map +0 -7
- package/dist/interactions/FocusableProvider.d.ts +0 -26
- package/dist/interactions/FocusableProvider.d.ts.map +0 -1
- package/dist/interactions/PressEvent.d.ts +0 -73
- package/dist/interactions/PressEvent.d.ts.map +0 -1
- package/dist/interactions/createFocus.d.ts +0 -31
- package/dist/interactions/createFocus.d.ts.map +0 -1
- package/dist/interactions/createFocusRing.d.ts +0 -37
- package/dist/interactions/createFocusRing.d.ts.map +0 -1
- package/dist/interactions/createFocusWithin.d.ts +0 -27
- package/dist/interactions/createFocusWithin.d.ts.map +0 -1
- package/dist/interactions/createFocusable.d.ts +0 -65
- package/dist/interactions/createFocusable.d.ts.map +0 -1
- package/dist/interactions/createHover.d.ts +0 -43
- package/dist/interactions/createHover.d.ts.map +0 -1
- package/dist/interactions/createInteractionModality.d.ts +0 -73
- package/dist/interactions/createInteractionModality.d.ts.map +0 -1
- package/dist/interactions/createKeyboard.d.ts +0 -35
- package/dist/interactions/createKeyboard.d.ts.map +0 -1
- package/dist/interactions/createLongPress.d.ts +0 -63
- package/dist/interactions/createLongPress.d.ts.map +0 -1
- package/dist/interactions/createMove.d.ts +0 -40
- package/dist/interactions/createMove.d.ts.map +0 -1
- package/dist/interactions/createPress.d.ts +0 -55
- package/dist/interactions/createPress.d.ts.map +0 -1
- package/dist/interactions/index.d.ts +0 -13
- package/dist/interactions/index.d.ts.map +0 -1
- package/dist/label/createField.d.ts +0 -51
- package/dist/label/createField.d.ts.map +0 -1
- package/dist/label/createLabel.d.ts +0 -49
- package/dist/label/createLabel.d.ts.map +0 -1
- package/dist/label/createLabels.d.ts +0 -16
- package/dist/label/createLabels.d.ts.map +0 -1
- package/dist/label/index.d.ts +0 -6
- package/dist/label/index.d.ts.map +0 -1
- package/dist/landmark/createLandmark.d.ts +0 -79
- package/dist/landmark/createLandmark.d.ts.map +0 -1
- package/dist/landmark/index.d.ts +0 -2
- package/dist/landmark/index.d.ts.map +0 -1
- package/dist/link/createLink.d.ts +0 -65
- package/dist/link/createLink.d.ts.map +0 -1
- package/dist/link/index.d.ts +0 -2
- package/dist/link/index.d.ts.map +0 -1
- package/dist/listbox/createListBox.d.ts +0 -58
- package/dist/listbox/createListBox.d.ts.map +0 -1
- package/dist/listbox/createOption.d.ts +0 -42
- package/dist/listbox/createOption.d.ts.map +0 -1
- package/dist/listbox/index.d.ts +0 -3
- package/dist/listbox/index.d.ts.map +0 -1
- package/dist/live-announcer/announce.d.ts +0 -113
- package/dist/live-announcer/announce.d.ts.map +0 -1
- package/dist/live-announcer/index.d.ts +0 -2
- package/dist/live-announcer/index.d.ts.map +0 -1
- package/dist/menu/createMenu.d.ts +0 -57
- package/dist/menu/createMenu.d.ts.map +0 -1
- package/dist/menu/createMenuItem.d.ts +0 -42
- package/dist/menu/createMenuItem.d.ts.map +0 -1
- package/dist/menu/createMenuTrigger.d.ts +0 -29
- package/dist/menu/createMenuTrigger.d.ts.map +0 -1
- package/dist/menu/index.d.ts +0 -4
- package/dist/menu/index.d.ts.map +0 -1
- package/dist/meter/createMeter.d.ts +0 -44
- package/dist/meter/createMeter.d.ts.map +0 -1
- package/dist/meter/index.d.ts +0 -2
- package/dist/meter/index.d.ts.map +0 -1
- package/dist/numberfield/createNumberField.d.ts +0 -56
- package/dist/numberfield/createNumberField.d.ts.map +0 -1
- package/dist/numberfield/index.d.ts +0 -2
- package/dist/numberfield/index.d.ts.map +0 -1
- package/dist/overlays/ariaHideOutside.d.ts +0 -25
- package/dist/overlays/ariaHideOutside.d.ts.map +0 -1
- package/dist/overlays/createInteractOutside.d.ts +0 -20
- package/dist/overlays/createInteractOutside.d.ts.map +0 -1
- package/dist/overlays/createModal.d.ts +0 -70
- package/dist/overlays/createModal.d.ts.map +0 -1
- package/dist/overlays/createOverlay.d.ts +0 -43
- package/dist/overlays/createOverlay.d.ts.map +0 -1
- package/dist/overlays/createOverlayTrigger.d.ts +0 -30
- package/dist/overlays/createOverlayTrigger.d.ts.map +0 -1
- package/dist/overlays/createPreventScroll.d.ts +0 -15
- package/dist/overlays/createPreventScroll.d.ts.map +0 -1
- package/dist/overlays/index.d.ts +0 -7
- package/dist/overlays/index.d.ts.map +0 -1
- package/dist/popover/calculatePosition.d.ts +0 -67
- package/dist/popover/calculatePosition.d.ts.map +0 -1
- package/dist/popover/createOverlayPosition.d.ts +0 -109
- package/dist/popover/createOverlayPosition.d.ts.map +0 -1
- package/dist/popover/createPopover.d.ts +0 -88
- package/dist/popover/createPopover.d.ts.map +0 -1
- package/dist/popover/index.d.ts +0 -4
- package/dist/popover/index.d.ts.map +0 -1
- package/dist/progress/createProgressBar.d.ts +0 -47
- package/dist/progress/createProgressBar.d.ts.map +0 -1
- package/dist/progress/index.d.ts +0 -2
- package/dist/progress/index.d.ts.map +0 -1
- package/dist/radio/createRadio.d.ts +0 -68
- package/dist/radio/createRadio.d.ts.map +0 -1
- package/dist/radio/createRadioGroup.d.ts +0 -85
- package/dist/radio/createRadioGroup.d.ts.map +0 -1
- package/dist/radio/createRadioGroupState.d.ts +0 -77
- package/dist/radio/createRadioGroupState.d.ts.map +0 -1
- package/dist/radio/index.d.ts +0 -4
- package/dist/radio/index.d.ts.map +0 -1
- package/dist/searchfield/createSearchField.d.ts +0 -32
- package/dist/searchfield/createSearchField.d.ts.map +0 -1
- package/dist/searchfield/index.d.ts +0 -3
- package/dist/searchfield/index.d.ts.map +0 -1
- package/dist/select/createHiddenSelect.d.ts +0 -69
- package/dist/select/createHiddenSelect.d.ts.map +0 -1
- package/dist/select/createSelect.d.ts +0 -70
- package/dist/select/createSelect.d.ts.map +0 -1
- package/dist/select/index.d.ts +0 -3
- package/dist/select/index.d.ts.map +0 -1
- package/dist/selection/createTypeSelect.d.ts +0 -43
- package/dist/selection/createTypeSelect.d.ts.map +0 -1
- package/dist/selection/index.d.ts +0 -6
- package/dist/selection/index.d.ts.map +0 -1
- package/dist/separator/createSeparator.d.ts +0 -38
- package/dist/separator/createSeparator.d.ts.map +0 -1
- package/dist/separator/index.d.ts +0 -2
- package/dist/separator/index.d.ts.map +0 -1
- package/dist/slider/createSlider.d.ts +0 -43
- package/dist/slider/createSlider.d.ts.map +0 -1
- package/dist/slider/index.d.ts +0 -3
- package/dist/slider/index.d.ts.map +0 -1
- package/dist/ssr/index.d.ts +0 -221
- package/dist/ssr/index.d.ts.map +0 -1
- package/dist/switch/createSwitch.d.ts +0 -34
- package/dist/switch/createSwitch.d.ts.map +0 -1
- package/dist/switch/index.d.ts +0 -2
- package/dist/switch/index.d.ts.map +0 -1
- package/dist/table/createTable.d.ts +0 -24
- package/dist/table/createTable.d.ts.map +0 -1
- package/dist/table/createTableCell.d.ts +0 -12
- package/dist/table/createTableCell.d.ts.map +0 -1
- package/dist/table/createTableColumnHeader.d.ts +0 -12
- package/dist/table/createTableColumnHeader.d.ts.map +0 -1
- package/dist/table/createTableHeaderRow.d.ts +0 -12
- package/dist/table/createTableHeaderRow.d.ts.map +0 -1
- package/dist/table/createTableRow.d.ts +0 -12
- package/dist/table/createTableRow.d.ts.map +0 -1
- package/dist/table/createTableRowGroup.d.ts +0 -11
- package/dist/table/createTableRowGroup.d.ts.map +0 -1
- package/dist/table/createTableSelectAllCheckbox.d.ts +0 -12
- package/dist/table/createTableSelectAllCheckbox.d.ts.map +0 -1
- package/dist/table/createTableSelectionCheckbox.d.ts +0 -12
- package/dist/table/createTableSelectionCheckbox.d.ts.map +0 -1
- package/dist/table/index.d.ts +0 -14
- package/dist/table/index.d.ts.map +0 -1
- package/dist/table/types.d.ts +0 -150
- package/dist/table/types.d.ts.map +0 -1
- package/dist/tabs/createTabs.d.ts +0 -123
- package/dist/tabs/createTabs.d.ts.map +0 -1
- package/dist/tabs/index.d.ts +0 -2
- package/dist/tabs/index.d.ts.map +0 -1
- package/dist/tag/createTag.d.ts +0 -42
- package/dist/tag/createTag.d.ts.map +0 -1
- package/dist/tag/createTagGroup.d.ts +0 -54
- package/dist/tag/createTagGroup.d.ts.map +0 -1
- package/dist/tag/index.d.ts +0 -3
- package/dist/tag/index.d.ts.map +0 -1
- package/dist/textfield/createTextField.d.ts +0 -73
- package/dist/textfield/createTextField.d.ts.map +0 -1
- package/dist/textfield/index.d.ts +0 -2
- package/dist/textfield/index.d.ts.map +0 -1
- package/dist/toast/createToast.d.ts +0 -58
- package/dist/toast/createToast.d.ts.map +0 -1
- package/dist/toast/createToastRegion.d.ts +0 -49
- package/dist/toast/createToastRegion.d.ts.map +0 -1
- package/dist/toast/index.d.ts +0 -3
- package/dist/toast/index.d.ts.map +0 -1
- package/dist/toggle/createToggle.d.ts +0 -94
- package/dist/toggle/createToggle.d.ts.map +0 -1
- package/dist/toggle/createToggleState.d.ts +0 -34
- package/dist/toggle/createToggleState.d.ts.map +0 -1
- package/dist/toggle/index.d.ts +0 -5
- package/dist/toggle/index.d.ts.map +0 -1
- package/dist/toolbar/createToolbar.d.ts +0 -49
- package/dist/toolbar/createToolbar.d.ts.map +0 -1
- package/dist/toolbar/index.d.ts +0 -2
- package/dist/toolbar/index.d.ts.map +0 -1
- package/dist/tooltip/createTooltip.d.ts +0 -48
- package/dist/tooltip/createTooltip.d.ts.map +0 -1
- package/dist/tooltip/createTooltipTrigger.d.ts +0 -64
- package/dist/tooltip/createTooltipTrigger.d.ts.map +0 -1
- package/dist/tooltip/index.d.ts +0 -3
- package/dist/tooltip/index.d.ts.map +0 -1
- package/dist/tree/createTree.d.ts +0 -28
- package/dist/tree/createTree.d.ts.map +0 -1
- package/dist/tree/createTreeItem.d.ts +0 -12
- package/dist/tree/createTreeItem.d.ts.map +0 -1
- package/dist/tree/createTreeSelectionCheckbox.d.ts +0 -12
- package/dist/tree/createTreeSelectionCheckbox.d.ts.map +0 -1
- package/dist/tree/index.d.ts +0 -8
- package/dist/tree/index.d.ts.map +0 -1
- package/dist/tree/types.d.ts +0 -81
- package/dist/tree/types.d.ts.map +0 -1
- package/dist/utils/createDescription.d.ts +0 -56
- package/dist/utils/createDescription.d.ts.map +0 -1
- package/dist/utils/dom.d.ts +0 -68
- package/dist/utils/dom.d.ts.map +0 -1
- package/dist/utils/env.d.ts +0 -18
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/events.d.ts +0 -29
- package/dist/utils/events.d.ts.map +0 -1
- package/dist/utils/filterDOMProps.d.ts +0 -29
- package/dist/utils/filterDOMProps.d.ts.map +0 -1
- package/dist/utils/focus.d.ts +0 -20
- package/dist/utils/focus.d.ts.map +0 -1
- package/dist/utils/geometry.d.ts +0 -40
- package/dist/utils/geometry.d.ts.map +0 -1
- package/dist/utils/globalListeners.d.ts +0 -36
- package/dist/utils/globalListeners.d.ts.map +0 -1
- package/dist/utils/index.d.ts +0 -13
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/mergeProps.d.ts +0 -11
- package/dist/utils/mergeProps.d.ts.map +0 -1
- package/dist/utils/platform.d.ts +0 -14
- package/dist/utils/platform.d.ts.map +0 -1
- package/dist/utils/reactivity.d.ts +0 -28
- package/dist/utils/reactivity.d.ts.map +0 -1
- package/dist/utils/textSelection.d.ts +0 -19
- package/dist/utils/textSelection.d.ts.map +0 -1
- package/dist/visually-hidden/createVisuallyHidden.d.ts +0 -60
- package/dist/visually-hidden/createVisuallyHidden.d.ts.map +0 -1
- package/dist/visually-hidden/index.d.ts +0 -2
- package/dist/visually-hidden/index.d.ts.map +0 -1
- package/src/autocomplete/createAutocomplete.ts +0 -341
- package/src/autocomplete/index.ts +0 -9
- package/src/breadcrumbs/createBreadcrumbs.ts +0 -196
- package/src/breadcrumbs/index.ts +0 -8
- package/src/button/createButton.ts +0 -142
- package/src/button/createToggleButton.ts +0 -101
- package/src/button/index.ts +0 -4
- package/src/button/types.ts +0 -78
- package/src/calendar/createCalendar.ts +0 -138
- package/src/calendar/createCalendarCell.ts +0 -187
- package/src/calendar/createCalendarGrid.ts +0 -140
- package/src/calendar/createRangeCalendar.ts +0 -136
- package/src/calendar/createRangeCalendarCell.ts +0 -186
- package/src/calendar/index.ts +0 -34
- package/src/checkbox/createCheckbox.ts +0 -135
- package/src/checkbox/createCheckboxGroup.ts +0 -137
- package/src/checkbox/createCheckboxGroupItem.ts +0 -117
- package/src/checkbox/createCheckboxGroupState.ts +0 -193
- package/src/checkbox/index.ts +0 -13
- package/src/color/createColorArea.ts +0 -314
- package/src/color/createColorField.ts +0 -137
- package/src/color/createColorSlider.ts +0 -197
- package/src/color/createColorSwatch.ts +0 -40
- package/src/color/createColorWheel.ts +0 -208
- package/src/color/index.ts +0 -24
- package/src/color/types.ts +0 -116
- package/src/combobox/createComboBox.ts +0 -647
- package/src/combobox/index.ts +0 -6
- package/src/combobox/intl/en-US.json +0 -7
- package/src/combobox/intl/es-ES.json +0 -7
- package/src/combobox/intl/index.ts +0 -23
- package/src/datepicker/createDateField.ts +0 -154
- package/src/datepicker/createDatePicker.ts +0 -206
- package/src/datepicker/createDateSegment.ts +0 -229
- package/src/datepicker/createTimeField.ts +0 -154
- package/src/datepicker/index.ts +0 -28
- package/src/dialog/createDialog.ts +0 -120
- package/src/dialog/index.ts +0 -2
- package/src/dialog/types.ts +0 -19
- package/src/disclosure/createDisclosure.ts +0 -131
- package/src/disclosure/createDisclosureGroup.ts +0 -62
- package/src/disclosure/index.ts +0 -11
- package/src/dnd/createDrag.ts +0 -209
- package/src/dnd/createDraggableCollection.ts +0 -63
- package/src/dnd/createDraggableItem.ts +0 -243
- package/src/dnd/createDrop.ts +0 -321
- package/src/dnd/createDroppableCollection.ts +0 -293
- package/src/dnd/createDroppableItem.ts +0 -213
- package/src/dnd/index.ts +0 -47
- package/src/dnd/types.ts +0 -89
- package/src/dnd/utils.ts +0 -294
- package/src/focus/FocusScope.tsx +0 -408
- package/src/focus/createAutoFocus.ts +0 -321
- package/src/focus/createFocusRestore.ts +0 -313
- package/src/focus/createVirtualFocus.ts +0 -396
- package/src/focus/index.ts +0 -35
- package/src/form/createFormReset.ts +0 -51
- package/src/form/createFormValidation.ts +0 -224
- package/src/form/index.ts +0 -11
- package/src/grid/GridKeyboardDelegate.ts +0 -429
- package/src/grid/createGrid.ts +0 -261
- package/src/grid/createGridCell.ts +0 -182
- package/src/grid/createGridRow.ts +0 -153
- package/src/grid/index.ts +0 -18
- package/src/grid/types.ts +0 -133
- package/src/gridlist/createGridList.ts +0 -185
- package/src/gridlist/createGridListItem.ts +0 -180
- package/src/gridlist/createGridListSelectionCheckbox.ts +0 -59
- package/src/gridlist/index.ts +0 -16
- package/src/gridlist/types.ts +0 -81
- package/src/i18n/NumberFormatter.ts +0 -266
- package/src/i18n/createCollator.ts +0 -79
- package/src/i18n/createDateFormatter.ts +0 -83
- package/src/i18n/createFilter.ts +0 -131
- package/src/i18n/createNumberFormatter.ts +0 -52
- package/src/i18n/createStringFormatter.ts +0 -87
- package/src/i18n/index.ts +0 -40
- package/src/i18n/locale.tsx +0 -188
- package/src/i18n/utils.ts +0 -99
- package/src/index.ts +0 -670
- package/src/interactions/FocusableProvider.tsx +0 -44
- package/src/interactions/PressEvent.ts +0 -124
- package/src/interactions/createFocus.ts +0 -163
- package/src/interactions/createFocusRing.ts +0 -89
- package/src/interactions/createFocusWithin.ts +0 -206
- package/src/interactions/createFocusable.ts +0 -168
- package/src/interactions/createHover.ts +0 -254
- package/src/interactions/createInteractionModality.ts +0 -424
- package/src/interactions/createKeyboard.ts +0 -82
- package/src/interactions/createLongPress.ts +0 -174
- package/src/interactions/createMove.ts +0 -289
- package/src/interactions/createPress.ts +0 -834
- package/src/interactions/index.ts +0 -78
- package/src/label/createField.ts +0 -145
- package/src/label/createLabel.ts +0 -117
- package/src/label/createLabels.ts +0 -50
- package/src/label/index.ts +0 -19
- package/src/landmark/createLandmark.ts +0 -377
- package/src/landmark/index.ts +0 -8
- package/src/link/createLink.ts +0 -182
- package/src/link/index.ts +0 -1
- package/src/listbox/createListBox.ts +0 -269
- package/src/listbox/createOption.ts +0 -151
- package/src/listbox/index.ts +0 -12
- package/src/live-announcer/announce.ts +0 -322
- package/src/live-announcer/index.ts +0 -9
- package/src/menu/createMenu.ts +0 -396
- package/src/menu/createMenuItem.ts +0 -149
- package/src/menu/createMenuTrigger.ts +0 -88
- package/src/menu/index.ts +0 -18
- package/src/meter/createMeter.ts +0 -75
- package/src/meter/index.ts +0 -1
- package/src/numberfield/createNumberField.ts +0 -268
- package/src/numberfield/index.ts +0 -5
- package/src/overlays/ariaHideOutside.ts +0 -219
- package/src/overlays/createInteractOutside.ts +0 -149
- package/src/overlays/createModal.tsx +0 -202
- package/src/overlays/createOverlay.ts +0 -155
- package/src/overlays/createOverlayTrigger.ts +0 -85
- package/src/overlays/createPreventScroll.ts +0 -266
- package/src/overlays/index.ts +0 -44
- package/src/popover/calculatePosition.ts +0 -766
- package/src/popover/createOverlayPosition.ts +0 -356
- package/src/popover/createPopover.ts +0 -170
- package/src/popover/index.ts +0 -24
- package/src/progress/createProgressBar.ts +0 -128
- package/src/progress/index.ts +0 -5
- package/src/radio/createRadio.ts +0 -287
- package/src/radio/createRadioGroup.ts +0 -189
- package/src/radio/createRadioGroupState.ts +0 -201
- package/src/radio/index.ts +0 -23
- package/src/searchfield/createSearchField.ts +0 -186
- package/src/searchfield/index.ts +0 -2
- package/src/select/createHiddenSelect.tsx +0 -236
- package/src/select/createSelect.ts +0 -395
- package/src/select/index.ts +0 -14
- package/src/selection/createTypeSelect.ts +0 -201
- package/src/selection/index.ts +0 -6
- package/src/separator/createSeparator.ts +0 -82
- package/src/separator/index.ts +0 -6
- package/src/slider/createSlider.ts +0 -349
- package/src/slider/index.ts +0 -2
- package/src/ssr/index.tsx +0 -370
- package/src/switch/createSwitch.ts +0 -70
- package/src/switch/index.ts +0 -1
- package/src/table/createTable.ts +0 -526
- package/src/table/createTableCell.ts +0 -147
- package/src/table/createTableColumnHeader.ts +0 -115
- package/src/table/createTableHeaderRow.ts +0 -40
- package/src/table/createTableRow.ts +0 -155
- package/src/table/createTableRowGroup.ts +0 -32
- package/src/table/createTableSelectAllCheckbox.ts +0 -73
- package/src/table/createTableSelectionCheckbox.ts +0 -59
- package/src/table/index.ts +0 -30
- package/src/table/types.ts +0 -165
- package/src/tabs/createTabs.ts +0 -472
- package/src/tabs/index.ts +0 -14
- package/src/tag/createTag.ts +0 -194
- package/src/tag/createTagGroup.ts +0 -154
- package/src/tag/index.ts +0 -12
- package/src/textfield/createTextField.ts +0 -198
- package/src/textfield/index.ts +0 -5
- package/src/toast/createToast.ts +0 -118
- package/src/toast/createToastRegion.ts +0 -100
- package/src/toast/index.ts +0 -11
- package/src/toggle/createToggle.ts +0 -223
- package/src/toggle/createToggleState.ts +0 -94
- package/src/toggle/index.ts +0 -7
- package/src/toolbar/createToolbar.ts +0 -368
- package/src/toolbar/index.ts +0 -6
- package/src/tooltip/createTooltip.ts +0 -79
- package/src/tooltip/createTooltipTrigger.ts +0 -222
- package/src/tooltip/index.ts +0 -6
- package/src/tree/createTree.ts +0 -246
- package/src/tree/createTreeItem.ts +0 -233
- package/src/tree/createTreeSelectionCheckbox.ts +0 -68
- package/src/tree/index.ts +0 -16
- package/src/tree/types.ts +0 -87
- package/src/utils/createDescription.ts +0 -137
- package/src/utils/dom.ts +0 -327
- package/src/utils/env.ts +0 -54
- package/src/utils/events.ts +0 -106
- package/src/utils/filterDOMProps.ts +0 -116
- package/src/utils/focus.ts +0 -151
- package/src/utils/geometry.ts +0 -115
- package/src/utils/globalListeners.ts +0 -142
- package/src/utils/index.ts +0 -80
- package/src/utils/mergeProps.ts +0 -52
- package/src/utils/platform.ts +0 -52
- package/src/utils/reactivity.ts +0 -36
- package/src/utils/textSelection.ts +0 -114
- package/src/visually-hidden/createVisuallyHidden.ts +0 -124
- package/src/visually-hidden/index.ts +0 -6
package/src/tag/createTag.ts
DELETED
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tag hook for Solidaria
|
|
3
|
-
*
|
|
4
|
-
* Provides the behavior and accessibility implementation for a tag component.
|
|
5
|
-
* Tags are individual items within a TagGroup.
|
|
6
|
-
*
|
|
7
|
-
* Based on @react-aria/tag useTag
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { createMemo } from 'solid-js';
|
|
11
|
-
import { createFocusable } from '../interactions/createFocusable';
|
|
12
|
-
import { createPress } from '../interactions/createPress';
|
|
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 { getTagGroupData } from './createTagGroup';
|
|
18
|
-
import type { ListState, Key } from '@proyecto-viviana/solid-stately';
|
|
19
|
-
|
|
20
|
-
// ============================================
|
|
21
|
-
// TYPES
|
|
22
|
-
// ============================================
|
|
23
|
-
|
|
24
|
-
export interface AriaTagProps {
|
|
25
|
-
/** The unique key for this tag. */
|
|
26
|
-
key: Key;
|
|
27
|
-
/** Whether the tag is disabled. */
|
|
28
|
-
isDisabled?: boolean;
|
|
29
|
-
/** A text value for the tag used for accessibility. */
|
|
30
|
-
textValue?: string;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export interface TagAria {
|
|
34
|
-
/** Props for the tag row element. */
|
|
35
|
-
rowProps: Record<string, unknown>;
|
|
36
|
-
/** Props for the tag cell element. */
|
|
37
|
-
gridCellProps: Record<string, unknown>;
|
|
38
|
-
/** Props for the tag remove button. */
|
|
39
|
-
removeButtonProps: Record<string, unknown>;
|
|
40
|
-
/** Whether the tag can be removed. */
|
|
41
|
-
allowsRemoving: boolean;
|
|
42
|
-
/** Whether the tag is selected. */
|
|
43
|
-
isSelected: boolean;
|
|
44
|
-
/** Whether the tag is disabled. */
|
|
45
|
-
isDisabled: boolean;
|
|
46
|
-
/** Whether the tag is focused. */
|
|
47
|
-
isFocused: boolean;
|
|
48
|
-
/** Whether the tag is pressed. */
|
|
49
|
-
isPressed: boolean;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// ============================================
|
|
53
|
-
// IMPLEMENTATION
|
|
54
|
-
// ============================================
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Provides the behavior and accessibility implementation for a tag component.
|
|
58
|
-
* Tags are individual items within a TagGroup.
|
|
59
|
-
*/
|
|
60
|
-
export function createTag<T>(
|
|
61
|
-
props: MaybeAccessor<AriaTagProps>,
|
|
62
|
-
state: ListState<T>,
|
|
63
|
-
ref: () => HTMLElement | null
|
|
64
|
-
): TagAria {
|
|
65
|
-
const getProps = () => access(props);
|
|
66
|
-
const rowId = createId();
|
|
67
|
-
const cellId = createId();
|
|
68
|
-
const removeButtonId = createId();
|
|
69
|
-
|
|
70
|
-
// Get shared data from tag group
|
|
71
|
-
const getData = () => getTagGroupData(state);
|
|
72
|
-
|
|
73
|
-
// Get key
|
|
74
|
-
const key = () => getProps().key;
|
|
75
|
-
|
|
76
|
-
// Compute states
|
|
77
|
-
const isDisabled = createMemo(() => {
|
|
78
|
-
const p = getProps();
|
|
79
|
-
return p.isDisabled || state.isDisabled(key());
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
const isSelected = createMemo(() => {
|
|
83
|
-
return state.isSelected(key());
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
const isFocused = createMemo(() => {
|
|
87
|
-
return state.focusedKey() === key();
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
// Handle press for selection
|
|
91
|
-
const { pressProps, isPressed } = createPress({
|
|
92
|
-
isDisabled,
|
|
93
|
-
onPress: () => {
|
|
94
|
-
if (!isDisabled()) {
|
|
95
|
-
state.toggleSelection(key());
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
// Handle focusable
|
|
101
|
-
const { focusableProps } = createFocusable({
|
|
102
|
-
isDisabled,
|
|
103
|
-
}, ref);
|
|
104
|
-
|
|
105
|
-
// Handle keyboard for removal
|
|
106
|
-
const handleKeyDown = (e: KeyboardEvent) => {
|
|
107
|
-
if (isDisabled()) return;
|
|
108
|
-
|
|
109
|
-
if (e.key === 'Delete' || e.key === 'Backspace') {
|
|
110
|
-
e.preventDefault();
|
|
111
|
-
const data = getData();
|
|
112
|
-
if (data?.onRemove) {
|
|
113
|
-
// Remove selected keys if this tag is selected, otherwise just this tag
|
|
114
|
-
if (isSelected()) {
|
|
115
|
-
const selection = state.selectedKeys();
|
|
116
|
-
const keysToRemove = selection === 'all'
|
|
117
|
-
? new Set(Array.from(state.collection()).map(item => (item as { key: Key }).key))
|
|
118
|
-
: new Set(selection);
|
|
119
|
-
data.onRemove(keysToRemove);
|
|
120
|
-
} else {
|
|
121
|
-
data.onRemove(new Set([key()]));
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
// Compute tabIndex
|
|
128
|
-
const tabIndex = createMemo(() => {
|
|
129
|
-
if (isDisabled()) return -1;
|
|
130
|
-
// If this is the focused item, or if nothing is focused yet
|
|
131
|
-
if (isFocused() || state.focusedKey() === null) {
|
|
132
|
-
return 0;
|
|
133
|
-
}
|
|
134
|
-
return -1;
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
// Filter DOM props
|
|
138
|
-
const domProps = () => filterDOMProps(getProps() as unknown as Record<string, unknown>);
|
|
139
|
-
|
|
140
|
-
// Check if removal is allowed
|
|
141
|
-
const allowsRemoving = createMemo(() => {
|
|
142
|
-
const data = getData();
|
|
143
|
-
return !!data?.onRemove;
|
|
144
|
-
});
|
|
145
|
-
|
|
146
|
-
return {
|
|
147
|
-
get rowProps() {
|
|
148
|
-
return mergeProps(domProps(), focusableProps as Record<string, unknown>, pressProps as Record<string, unknown>, {
|
|
149
|
-
id: rowId,
|
|
150
|
-
role: 'row',
|
|
151
|
-
tabIndex: tabIndex(),
|
|
152
|
-
'aria-selected': isSelected(),
|
|
153
|
-
'aria-disabled': isDisabled() || undefined,
|
|
154
|
-
onKeyDown: handleKeyDown,
|
|
155
|
-
});
|
|
156
|
-
},
|
|
157
|
-
get gridCellProps() {
|
|
158
|
-
return {
|
|
159
|
-
id: cellId,
|
|
160
|
-
role: 'gridcell',
|
|
161
|
-
'aria-describedby': allowsRemoving() ? removeButtonId : undefined,
|
|
162
|
-
};
|
|
163
|
-
},
|
|
164
|
-
get removeButtonProps() {
|
|
165
|
-
const data = getData();
|
|
166
|
-
return {
|
|
167
|
-
id: removeButtonId,
|
|
168
|
-
'aria-label': 'Remove',
|
|
169
|
-
'aria-labelledby': `${removeButtonId} ${rowId}`,
|
|
170
|
-
isDisabled: isDisabled(),
|
|
171
|
-
onPress: () => {
|
|
172
|
-
if (data?.onRemove && !isDisabled()) {
|
|
173
|
-
data.onRemove(new Set([key()]));
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
};
|
|
177
|
-
},
|
|
178
|
-
get allowsRemoving() {
|
|
179
|
-
return allowsRemoving();
|
|
180
|
-
},
|
|
181
|
-
get isSelected() {
|
|
182
|
-
return isSelected();
|
|
183
|
-
},
|
|
184
|
-
get isDisabled() {
|
|
185
|
-
return isDisabled();
|
|
186
|
-
},
|
|
187
|
-
get isFocused() {
|
|
188
|
-
return isFocused();
|
|
189
|
-
},
|
|
190
|
-
get isPressed() {
|
|
191
|
-
return isPressed();
|
|
192
|
-
},
|
|
193
|
-
};
|
|
194
|
-
}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TagGroup hook for Solidaria
|
|
3
|
-
*
|
|
4
|
-
* Provides the behavior and accessibility implementation for a tag group component.
|
|
5
|
-
* A tag group is a focusable list of labels, categories, keywords, filters, or other items,
|
|
6
|
-
* with support for keyboard navigation, selection, and removal.
|
|
7
|
-
*
|
|
8
|
-
* Based on @react-aria/tag useTagGroup
|
|
9
|
-
*/
|
|
10
|
-
|
|
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';
|
|
18
|
-
|
|
19
|
-
// ============================================
|
|
20
|
-
// TYPES
|
|
21
|
-
// ============================================
|
|
22
|
-
|
|
23
|
-
export interface AriaTagGroupProps {
|
|
24
|
-
/** An ID for the tag group. */
|
|
25
|
-
id?: string;
|
|
26
|
-
/** Whether the tag group is disabled. */
|
|
27
|
-
isDisabled?: boolean;
|
|
28
|
-
/** The label for the tag group. */
|
|
29
|
-
label?: string;
|
|
30
|
-
/** An accessible label for the tag group when no visible label is provided. */
|
|
31
|
-
'aria-label'?: string;
|
|
32
|
-
/** The ID of an element that labels the tag group. */
|
|
33
|
-
'aria-labelledby'?: string;
|
|
34
|
-
/** The ID of an element that describes the tag group. */
|
|
35
|
-
'aria-describedby'?: string;
|
|
36
|
-
/** A description of the tag group. */
|
|
37
|
-
description?: string;
|
|
38
|
-
/** An error message for the tag group. */
|
|
39
|
-
errorMessage?: string;
|
|
40
|
-
/** Handler that is called when a user removes a tag. */
|
|
41
|
-
onRemove?: (keys: Set<Key>) => void;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export interface TagGroupAria {
|
|
45
|
-
/** Props for the tag group container element. */
|
|
46
|
-
gridProps: Record<string, unknown>;
|
|
47
|
-
/** Props for the tag group's visible label (if any). */
|
|
48
|
-
labelProps: Record<string, unknown>;
|
|
49
|
-
/** Props for the tag group description element, if any. */
|
|
50
|
-
descriptionProps: Record<string, unknown>;
|
|
51
|
-
/** Props for the tag group error message element, if any. */
|
|
52
|
-
errorMessageProps: Record<string, unknown>;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Shared data between tag group and tags
|
|
56
|
-
const tagGroupData = new WeakMap<object, TagGroupData>();
|
|
57
|
-
|
|
58
|
-
interface TagGroupData {
|
|
59
|
-
id: string;
|
|
60
|
-
onRemove?: (keys: Set<Key>) => void;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export function getTagGroupData(state: ListState): TagGroupData | undefined {
|
|
64
|
-
return tagGroupData.get(state);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// ============================================
|
|
68
|
-
// IMPLEMENTATION
|
|
69
|
-
// ============================================
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Provides the behavior and accessibility implementation for a tag group component.
|
|
73
|
-
* A tag group is a focusable list of labels, categories, keywords, filters, or other items,
|
|
74
|
-
* with support for keyboard navigation, selection, and removal.
|
|
75
|
-
*/
|
|
76
|
-
export function createTagGroup<T>(
|
|
77
|
-
props: MaybeAccessor<AriaTagGroupProps>,
|
|
78
|
-
state: ListState<T>,
|
|
79
|
-
_ref?: () => HTMLElement | null
|
|
80
|
-
): TagGroupAria {
|
|
81
|
-
const getProps = () => access(props);
|
|
82
|
-
const id = createId(getProps().id);
|
|
83
|
-
const descriptionId = createId();
|
|
84
|
-
const errorMessageId = createId();
|
|
85
|
-
|
|
86
|
-
// Filter DOM props
|
|
87
|
-
const domProps = () => filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true });
|
|
88
|
-
|
|
89
|
-
// Create label handling
|
|
90
|
-
const { labelProps, fieldProps } = createLabel({
|
|
91
|
-
get label() { return getProps().label; },
|
|
92
|
-
get 'aria-label'() { return getProps()['aria-label']; },
|
|
93
|
-
get 'aria-labelledby'() { return getProps()['aria-labelledby']; },
|
|
94
|
-
labelElementType: 'span',
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
// Share data with child tags
|
|
98
|
-
createEffect(() => {
|
|
99
|
-
const p = getProps();
|
|
100
|
-
tagGroupData.set(state, {
|
|
101
|
-
id,
|
|
102
|
-
onRemove: p.onRemove,
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
onCleanup(() => {
|
|
106
|
-
tagGroupData.delete(state);
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
// Build aria-describedby
|
|
111
|
-
const getAriaDescribedBy = () => {
|
|
112
|
-
const p = getProps();
|
|
113
|
-
const ids: string[] = [];
|
|
114
|
-
if (p['aria-describedby']) {
|
|
115
|
-
ids.push(p['aria-describedby']);
|
|
116
|
-
}
|
|
117
|
-
if (p.description) {
|
|
118
|
-
ids.push(descriptionId);
|
|
119
|
-
}
|
|
120
|
-
if (p.errorMessage) {
|
|
121
|
-
ids.push(errorMessageId);
|
|
122
|
-
}
|
|
123
|
-
return ids.length > 0 ? ids.join(' ') : undefined;
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
return {
|
|
127
|
-
get gridProps() {
|
|
128
|
-
const p = getProps();
|
|
129
|
-
const hasItems = state.collection().size > 0;
|
|
130
|
-
|
|
131
|
-
return mergeProps(domProps(), fieldProps as Record<string, unknown>, {
|
|
132
|
-
id,
|
|
133
|
-
role: hasItems ? 'grid' : 'group',
|
|
134
|
-
'aria-atomic': false,
|
|
135
|
-
'aria-relevant': 'additions',
|
|
136
|
-
'aria-describedby': getAriaDescribedBy(),
|
|
137
|
-
'aria-disabled': p.isDisabled || undefined,
|
|
138
|
-
});
|
|
139
|
-
},
|
|
140
|
-
get labelProps() {
|
|
141
|
-
return labelProps as Record<string, unknown>;
|
|
142
|
-
},
|
|
143
|
-
get descriptionProps() {
|
|
144
|
-
return {
|
|
145
|
-
id: descriptionId,
|
|
146
|
-
};
|
|
147
|
-
},
|
|
148
|
-
get errorMessageProps() {
|
|
149
|
-
return {
|
|
150
|
-
id: errorMessageId,
|
|
151
|
-
};
|
|
152
|
-
},
|
|
153
|
-
};
|
|
154
|
-
}
|
package/src/tag/index.ts
DELETED
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TextField hook for Solidaria
|
|
3
|
-
*
|
|
4
|
-
* Provides the behavior and accessibility implementation for a text field.
|
|
5
|
-
*
|
|
6
|
-
* This is a 1:1 port of @react-aria/textfield's useTextField hook.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import { JSX } from 'solid-js';
|
|
10
|
-
import { createField, type AriaFieldProps, type FieldAria } from '../label';
|
|
11
|
-
import { createFocusable, type FocusableProps } from '../interactions';
|
|
12
|
-
import { mergeProps, filterDOMProps } from '../utils';
|
|
13
|
-
import { type MaybeAccessor, access } from '../utils/reactivity';
|
|
14
|
-
|
|
15
|
-
// ============================================
|
|
16
|
-
// TYPES
|
|
17
|
-
// ============================================
|
|
18
|
-
|
|
19
|
-
export interface AriaTextFieldProps extends AriaFieldProps, FocusableProps {
|
|
20
|
-
/** The current value (controlled). */
|
|
21
|
-
value?: string;
|
|
22
|
-
/** The default value (uncontrolled). */
|
|
23
|
-
defaultValue?: string;
|
|
24
|
-
/** Handler that is called when the value changes. */
|
|
25
|
-
onChange?: (value: string) => void;
|
|
26
|
-
/** Whether the input is disabled. */
|
|
27
|
-
isDisabled?: boolean;
|
|
28
|
-
/** Whether the input is read only. */
|
|
29
|
-
isReadOnly?: boolean;
|
|
30
|
-
/** Whether the input is required. */
|
|
31
|
-
isRequired?: boolean;
|
|
32
|
-
/** The type of input to render. */
|
|
33
|
-
type?: 'text' | 'search' | 'url' | 'tel' | 'email' | 'password' | string;
|
|
34
|
-
/** The input mode hint for virtual keyboards. */
|
|
35
|
-
inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
|
|
36
|
-
/** The name of the input element, used when submitting an HTML form. */
|
|
37
|
-
name?: string;
|
|
38
|
-
/** Regex pattern to validate the input value. */
|
|
39
|
-
pattern?: string;
|
|
40
|
-
/** The maximum number of characters supported by the input. */
|
|
41
|
-
maxLength?: number;
|
|
42
|
-
/** The minimum number of characters required by the input. */
|
|
43
|
-
minLength?: number;
|
|
44
|
-
/** Placeholder text for the input. */
|
|
45
|
-
placeholder?: string;
|
|
46
|
-
/** Whether to enable auto complete. */
|
|
47
|
-
autoComplete?: string;
|
|
48
|
-
/** Whether to enable auto correct. */
|
|
49
|
-
autoCorrect?: string;
|
|
50
|
-
/** Whether to enable spell check. */
|
|
51
|
-
spellCheck?: 'true' | 'false';
|
|
52
|
-
/** Controls whether and how text input is automatically capitalized. */
|
|
53
|
-
autoCapitalize?: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';
|
|
54
|
-
/** The element type to use for the input. Defaults to 'input'. */
|
|
55
|
-
inputElementType?: 'input' | 'textarea';
|
|
56
|
-
|
|
57
|
-
// Clipboard events
|
|
58
|
-
onCopy?: JSX.EventHandler<HTMLInputElement | HTMLTextAreaElement, ClipboardEvent>;
|
|
59
|
-
onCut?: JSX.EventHandler<HTMLInputElement | HTMLTextAreaElement, ClipboardEvent>;
|
|
60
|
-
onPaste?: JSX.EventHandler<HTMLInputElement | HTMLTextAreaElement, ClipboardEvent>;
|
|
61
|
-
|
|
62
|
-
// Composition events
|
|
63
|
-
onCompositionStart?: JSX.EventHandler<HTMLInputElement | HTMLTextAreaElement, CompositionEvent>;
|
|
64
|
-
onCompositionEnd?: JSX.EventHandler<HTMLInputElement | HTMLTextAreaElement, CompositionEvent>;
|
|
65
|
-
onCompositionUpdate?: JSX.EventHandler<HTMLInputElement | HTMLTextAreaElement, CompositionEvent>;
|
|
66
|
-
|
|
67
|
-
// Selection events
|
|
68
|
-
onSelect?: JSX.EventHandler<HTMLInputElement | HTMLTextAreaElement, Event>;
|
|
69
|
-
|
|
70
|
-
// Input events
|
|
71
|
-
onBeforeInput?: JSX.EventHandler<HTMLInputElement | HTMLTextAreaElement, InputEvent>;
|
|
72
|
-
onInput?: JSX.EventHandler<HTMLInputElement | HTMLTextAreaElement, InputEvent>;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export interface TextFieldAria<T extends HTMLInputElement | HTMLTextAreaElement = HTMLInputElement> extends Omit<FieldAria, 'fieldProps'> {
|
|
76
|
-
/** Props for the input element. */
|
|
77
|
-
inputProps: JSX.InputHTMLAttributes<T>;
|
|
78
|
-
/** Whether the text field is invalid. */
|
|
79
|
-
isInvalid: boolean;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// ============================================
|
|
83
|
-
// IMPLEMENTATION
|
|
84
|
-
// ============================================
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Provides the behavior and accessibility implementation for a text field.
|
|
88
|
-
* Text fields allow users to input text with a keyboard.
|
|
89
|
-
*
|
|
90
|
-
* @param props - Props for the text field.
|
|
91
|
-
* @param ref - Optional ref callback for the input element.
|
|
92
|
-
*/
|
|
93
|
-
export function createTextField<T extends HTMLInputElement | HTMLTextAreaElement = HTMLInputElement>(
|
|
94
|
-
props: MaybeAccessor<AriaTextFieldProps>,
|
|
95
|
-
ref?: (el: T) => void
|
|
96
|
-
): TextFieldAria<T> {
|
|
97
|
-
const getProps = () => access(props);
|
|
98
|
-
|
|
99
|
-
// Get field accessibility props (label, description, error message)
|
|
100
|
-
const { labelProps, fieldProps, descriptionProps, errorMessageProps } = createField(props);
|
|
101
|
-
|
|
102
|
-
// Get focusable props
|
|
103
|
-
const { focusableProps } = createFocusable(
|
|
104
|
-
{
|
|
105
|
-
get isDisabled() {
|
|
106
|
-
return getProps().isDisabled;
|
|
107
|
-
},
|
|
108
|
-
get autoFocus() {
|
|
109
|
-
return getProps().autoFocus;
|
|
110
|
-
},
|
|
111
|
-
onFocus: getProps().onFocus,
|
|
112
|
-
onBlur: getProps().onBlur,
|
|
113
|
-
onFocusChange: getProps().onFocusChange,
|
|
114
|
-
onKeyDown: getProps().onKeyDown,
|
|
115
|
-
onKeyUp: getProps().onKeyUp,
|
|
116
|
-
},
|
|
117
|
-
ref as ((el: HTMLElement) => void) | undefined
|
|
118
|
-
);
|
|
119
|
-
|
|
120
|
-
// Filter DOM props
|
|
121
|
-
const getDomProps = () => filterDOMProps(getProps() as Record<string, unknown>, { labelable: true });
|
|
122
|
-
|
|
123
|
-
// Build input props
|
|
124
|
-
const getInputProps = (): JSX.InputHTMLAttributes<T> => {
|
|
125
|
-
const p = getProps();
|
|
126
|
-
const isInvalid = p.isInvalid ?? false;
|
|
127
|
-
const isTextarea = p.inputElementType === 'textarea';
|
|
128
|
-
|
|
129
|
-
return mergeProps(
|
|
130
|
-
getDomProps(),
|
|
131
|
-
{
|
|
132
|
-
disabled: p.isDisabled,
|
|
133
|
-
readOnly: p.isReadOnly,
|
|
134
|
-
required: p.isRequired,
|
|
135
|
-
'aria-required': p.isRequired || undefined,
|
|
136
|
-
'aria-invalid': isInvalid || undefined,
|
|
137
|
-
value: p.value ?? p.defaultValue ?? '',
|
|
138
|
-
onChange: (e: Event) => {
|
|
139
|
-
const target = e.target as HTMLInputElement | HTMLTextAreaElement;
|
|
140
|
-
p.onChange?.(target.value);
|
|
141
|
-
},
|
|
142
|
-
// Don't include type and pattern for textarea elements
|
|
143
|
-
type: isTextarea ? undefined : (p.type ?? 'text'),
|
|
144
|
-
inputMode: p.inputMode,
|
|
145
|
-
name: p.name,
|
|
146
|
-
pattern: isTextarea ? undefined : p.pattern,
|
|
147
|
-
maxLength: p.maxLength,
|
|
148
|
-
minLength: p.minLength,
|
|
149
|
-
placeholder: p.placeholder,
|
|
150
|
-
autoComplete: p.autoComplete,
|
|
151
|
-
autoCorrect: p.autoCorrect,
|
|
152
|
-
autoCapitalize: p.autoCapitalize,
|
|
153
|
-
spellCheck: p.spellCheck,
|
|
154
|
-
|
|
155
|
-
// Clipboard events
|
|
156
|
-
onCopy: p.onCopy,
|
|
157
|
-
onCut: p.onCut,
|
|
158
|
-
onPaste: p.onPaste,
|
|
159
|
-
|
|
160
|
-
// Composition events
|
|
161
|
-
onCompositionStart: p.onCompositionStart,
|
|
162
|
-
onCompositionEnd: p.onCompositionEnd,
|
|
163
|
-
onCompositionUpdate: p.onCompositionUpdate,
|
|
164
|
-
|
|
165
|
-
// Selection events
|
|
166
|
-
onSelect: p.onSelect,
|
|
167
|
-
|
|
168
|
-
// Input events
|
|
169
|
-
onBeforeInput: p.onBeforeInput,
|
|
170
|
-
onInput: p.onInput,
|
|
171
|
-
},
|
|
172
|
-
focusableProps as Record<string, unknown>,
|
|
173
|
-
fieldProps as Record<string, unknown>
|
|
174
|
-
) as JSX.InputHTMLAttributes<T>;
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
const getIsInvalid = () => {
|
|
178
|
-
return getProps().isInvalid ?? false;
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
return {
|
|
182
|
-
get labelProps() {
|
|
183
|
-
return labelProps;
|
|
184
|
-
},
|
|
185
|
-
get inputProps() {
|
|
186
|
-
return getInputProps();
|
|
187
|
-
},
|
|
188
|
-
get descriptionProps() {
|
|
189
|
-
return descriptionProps;
|
|
190
|
-
},
|
|
191
|
-
get errorMessageProps() {
|
|
192
|
-
return errorMessageProps;
|
|
193
|
-
},
|
|
194
|
-
get isInvalid() {
|
|
195
|
-
return getIsInvalid();
|
|
196
|
-
},
|
|
197
|
-
};
|
|
198
|
-
}
|
package/src/textfield/index.ts
DELETED
package/src/toast/createToast.ts
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* createToast hook for Solidaria
|
|
3
|
-
*
|
|
4
|
-
* Provides the accessibility implementation for a Toast component.
|
|
5
|
-
*
|
|
6
|
-
* Port of @react-aria/toast useToast.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import { type JSX, createMemo } from 'solid-js';
|
|
10
|
-
import { type QueuedToast, type ToastState } from '@proyecto-viviana/solid-stately';
|
|
11
|
-
import { createId } from '../ssr';
|
|
12
|
-
|
|
13
|
-
// ============================================
|
|
14
|
-
// TYPES
|
|
15
|
-
// ============================================
|
|
16
|
-
|
|
17
|
-
export interface AriaToastProps<T> {
|
|
18
|
-
/** The toast to display. */
|
|
19
|
-
toast: QueuedToast<T>;
|
|
20
|
-
/** The toast state from createToastState. */
|
|
21
|
-
state: ToastState<T>;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface ToastAria {
|
|
25
|
-
/** Props for the toast container element. */
|
|
26
|
-
toastProps: JSX.HTMLAttributes<HTMLElement>;
|
|
27
|
-
/** Props for the toast content element (contains the message). */
|
|
28
|
-
contentProps: JSX.HTMLAttributes<HTMLElement>;
|
|
29
|
-
/** Props for the toast title element. */
|
|
30
|
-
titleProps: JSX.HTMLAttributes<HTMLElement>;
|
|
31
|
-
/** Props for the toast description element. */
|
|
32
|
-
descriptionProps: JSX.HTMLAttributes<HTMLElement>;
|
|
33
|
-
/** Props for the close button. */
|
|
34
|
-
closeButtonProps: JSX.ButtonHTMLAttributes<HTMLButtonElement>;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// ============================================
|
|
38
|
-
// IMPLEMENTATION
|
|
39
|
-
// ============================================
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Provides the accessibility implementation for a Toast component.
|
|
43
|
-
*
|
|
44
|
-
* The toast uses role="alertdialog" to announce content to screen readers.
|
|
45
|
-
* The content area uses role="alert" for the actual message.
|
|
46
|
-
*
|
|
47
|
-
* @example
|
|
48
|
-
* ```tsx
|
|
49
|
-
* import { createToast } from 'solidaria';
|
|
50
|
-
*
|
|
51
|
-
* function Toast(props) {
|
|
52
|
-
* const {
|
|
53
|
-
* toastProps,
|
|
54
|
-
* contentProps,
|
|
55
|
-
* titleProps,
|
|
56
|
-
* closeButtonProps
|
|
57
|
-
* } = createToast({ toast: props.toast, state: props.state });
|
|
58
|
-
*
|
|
59
|
-
* return (
|
|
60
|
-
* <div {...toastProps}>
|
|
61
|
-
* <div {...contentProps}>
|
|
62
|
-
* <div {...titleProps}>{props.toast.content.title}</div>
|
|
63
|
-
* </div>
|
|
64
|
-
* <button {...closeButtonProps}>×</button>
|
|
65
|
-
* </div>
|
|
66
|
-
* );
|
|
67
|
-
* }
|
|
68
|
-
* ```
|
|
69
|
-
*/
|
|
70
|
-
export function createToast<T>(props: AriaToastProps<T>): ToastAria {
|
|
71
|
-
const titleId = createId();
|
|
72
|
-
const descriptionId = createId();
|
|
73
|
-
|
|
74
|
-
const close = () => {
|
|
75
|
-
props.state.close(props.toast.key);
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
// Toast container - role="alertdialog" for screen readers
|
|
79
|
-
const toastProps = createMemo<JSX.HTMLAttributes<HTMLElement>>(() => ({
|
|
80
|
-
role: 'alertdialog',
|
|
81
|
-
'aria-modal': 'false',
|
|
82
|
-
'aria-labelledby': titleId,
|
|
83
|
-
'aria-describedby': descriptionId,
|
|
84
|
-
'data-animation': props.toast.animation,
|
|
85
|
-
'data-key': props.toast.key,
|
|
86
|
-
}));
|
|
87
|
-
|
|
88
|
-
// Content area with role="alert" for immediate announcement
|
|
89
|
-
const contentProps = createMemo<JSX.HTMLAttributes<HTMLElement>>(() => ({
|
|
90
|
-
role: 'alert',
|
|
91
|
-
'aria-atomic': 'true',
|
|
92
|
-
'aria-live': 'assertive',
|
|
93
|
-
}));
|
|
94
|
-
|
|
95
|
-
// Title props
|
|
96
|
-
const titleProps = createMemo<JSX.HTMLAttributes<HTMLElement>>(() => ({
|
|
97
|
-
id: titleId,
|
|
98
|
-
}));
|
|
99
|
-
|
|
100
|
-
// Description props
|
|
101
|
-
const descriptionProps = createMemo<JSX.HTMLAttributes<HTMLElement>>(() => ({
|
|
102
|
-
id: descriptionId,
|
|
103
|
-
}));
|
|
104
|
-
|
|
105
|
-
// Close button
|
|
106
|
-
const closeButtonProps = createMemo<JSX.ButtonHTMLAttributes<HTMLButtonElement>>(() => ({
|
|
107
|
-
'aria-label': 'Close',
|
|
108
|
-
onClick: close,
|
|
109
|
-
}));
|
|
110
|
-
|
|
111
|
-
return {
|
|
112
|
-
get toastProps() { return toastProps(); },
|
|
113
|
-
get contentProps() { return contentProps(); },
|
|
114
|
-
get titleProps() { return titleProps(); },
|
|
115
|
-
get descriptionProps() { return descriptionProps(); },
|
|
116
|
-
get closeButtonProps() { return closeButtonProps(); },
|
|
117
|
-
};
|
|
118
|
-
}
|