@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
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { Accessor, createSignal } from 'solid-js';
|
|
2
|
-
import { createButton } from './createButton';
|
|
3
|
-
import { mergeProps } from '../utils';
|
|
4
|
-
import type { AriaButtonProps, ButtonAria } from './types';
|
|
5
|
-
import type { PressEvent } from '../interactions';
|
|
6
|
-
|
|
7
|
-
export interface AriaToggleButtonProps extends Omit<AriaButtonProps, 'aria-pressed'> {
|
|
8
|
-
/** Whether the button is selected (controlled). */
|
|
9
|
-
isSelected?: Accessor<boolean> | boolean;
|
|
10
|
-
/** Handler called when the button's selection state changes. */
|
|
11
|
-
onChange?: (isSelected: boolean) => void;
|
|
12
|
-
/** The default selected state (uncontrolled). */
|
|
13
|
-
defaultSelected?: boolean;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface ToggleButtonAria extends ButtonAria {
|
|
17
|
-
/** Whether the button is currently selected. */
|
|
18
|
-
isSelected: Accessor<boolean>;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function getSelectedValue(isSelected: Accessor<boolean> | boolean | undefined): boolean {
|
|
22
|
-
if (typeof isSelected === 'function') {
|
|
23
|
-
return isSelected();
|
|
24
|
-
}
|
|
25
|
-
return isSelected ?? false;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Provides the behavior and accessibility implementation for a toggle button component.
|
|
30
|
-
* Toggle buttons allow users to toggle a selection on or off.
|
|
31
|
-
*
|
|
32
|
-
* Based on react-aria's useToggleButton but adapted for SolidJS.
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* ```tsx
|
|
36
|
-
* import { createToggleButton } from 'solidaria';
|
|
37
|
-
*
|
|
38
|
-
* function ToggleButton(props) {
|
|
39
|
-
* const { buttonProps, isPressed, isSelected } = createToggleButton(props);
|
|
40
|
-
*
|
|
41
|
-
* return (
|
|
42
|
-
* <button
|
|
43
|
-
* {...buttonProps}
|
|
44
|
-
* class={isSelected() ? 'selected' : ''}
|
|
45
|
-
* style={{ opacity: isPressed() ? 0.8 : 1 }}
|
|
46
|
-
* >
|
|
47
|
-
* {props.children}
|
|
48
|
-
* </button>
|
|
49
|
-
* );
|
|
50
|
-
* }
|
|
51
|
-
* ```
|
|
52
|
-
*/
|
|
53
|
-
export function createToggleButton(props: AriaToggleButtonProps = {}): ToggleButtonAria {
|
|
54
|
-
// Handle controlled vs uncontrolled state
|
|
55
|
-
const isControlled = props.isSelected !== undefined;
|
|
56
|
-
const [uncontrolledSelected, setUncontrolledSelected] = createSignal(
|
|
57
|
-
props.defaultSelected ?? false
|
|
58
|
-
);
|
|
59
|
-
|
|
60
|
-
const isSelected = (): boolean => {
|
|
61
|
-
if (isControlled) {
|
|
62
|
-
return getSelectedValue(props.isSelected);
|
|
63
|
-
}
|
|
64
|
-
return uncontrolledSelected();
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
const toggleSelection = () => {
|
|
68
|
-
const newValue = !isSelected();
|
|
69
|
-
if (!isControlled) {
|
|
70
|
-
setUncontrolledSelected(newValue);
|
|
71
|
-
}
|
|
72
|
-
props.onChange?.(newValue);
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
// Create the press handler that toggles selection
|
|
76
|
-
const onPress = (e: PressEvent) => {
|
|
77
|
-
toggleSelection();
|
|
78
|
-
props.onPress?.(e);
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
// Get button props with our custom press handler
|
|
82
|
-
const { buttonProps: baseButtonProps, isPressed } = createButton(
|
|
83
|
-
mergeProps(props, {
|
|
84
|
-
onPress,
|
|
85
|
-
}) as AriaButtonProps
|
|
86
|
-
);
|
|
87
|
-
|
|
88
|
-
// Create buttonProps with a getter for aria-pressed so it stays reactive
|
|
89
|
-
const buttonProps = {
|
|
90
|
-
...baseButtonProps,
|
|
91
|
-
get 'aria-pressed'() {
|
|
92
|
-
return isSelected();
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
return {
|
|
97
|
-
buttonProps,
|
|
98
|
-
isPressed,
|
|
99
|
-
isSelected,
|
|
100
|
-
};
|
|
101
|
-
}
|
package/src/button/index.ts
DELETED
package/src/button/types.ts
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { Accessor } from 'solid-js';
|
|
2
|
-
import { PressEvent } from '../interactions';
|
|
3
|
-
|
|
4
|
-
export interface AriaButtonProps {
|
|
5
|
-
/** Whether the button is disabled. */
|
|
6
|
-
isDisabled?: Accessor<boolean> | boolean;
|
|
7
|
-
/** Handler called when the press is released over the target. */
|
|
8
|
-
onPress?: (e: PressEvent) => void;
|
|
9
|
-
/** Handler called when a press interaction starts. */
|
|
10
|
-
onPressStart?: (e: PressEvent) => void;
|
|
11
|
-
/** Handler called when a press interaction ends. */
|
|
12
|
-
onPressEnd?: (e: PressEvent) => void;
|
|
13
|
-
/** Handler called when a press is released over the target. */
|
|
14
|
-
onPressUp?: (e: PressEvent) => void;
|
|
15
|
-
/** Handler called when the press state changes. */
|
|
16
|
-
onPressChange?: (isPressed: boolean) => void;
|
|
17
|
-
/**
|
|
18
|
-
* A native click handler, useful for form submission.
|
|
19
|
-
* Note: `onPress` is preferred for cross-device compatibility.
|
|
20
|
-
*/
|
|
21
|
-
onClick?: (e: MouseEvent) => void;
|
|
22
|
-
/** Whether the button should not receive focus on press. */
|
|
23
|
-
preventFocusOnPress?: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Whether to allow focus on the button when it is disabled.
|
|
26
|
-
* This enables showing tooltips on disabled buttons.
|
|
27
|
-
* When true, the button gets `tabIndex=-1` instead of being removed from tab order.
|
|
28
|
-
*/
|
|
29
|
-
allowFocusWhenDisabled?: boolean;
|
|
30
|
-
/** Whether the element should receive focus on render. */
|
|
31
|
-
autoFocus?: boolean;
|
|
32
|
-
/** The HTML element type to use for the button. */
|
|
33
|
-
elementType?: 'button' | 'a' | 'div' | 'input' | 'span';
|
|
34
|
-
/** The URL to link to (for anchor elements). */
|
|
35
|
-
href?: string;
|
|
36
|
-
/** The target for the link (for anchor elements). */
|
|
37
|
-
target?: string;
|
|
38
|
-
/** The rel attribute for the link (for anchor elements). */
|
|
39
|
-
rel?: string;
|
|
40
|
-
/** The type attribute for button elements. */
|
|
41
|
-
type?: 'button' | 'submit' | 'reset';
|
|
42
|
-
/** Whether the button is in a pressed state (controlled). */
|
|
43
|
-
'aria-pressed'?: boolean | 'true' | 'false' | 'mixed';
|
|
44
|
-
/** Whether the button has a popup. */
|
|
45
|
-
'aria-haspopup'?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | 'true' | 'false';
|
|
46
|
-
/** Whether the popup is expanded. */
|
|
47
|
-
'aria-expanded'?: boolean | 'true' | 'false';
|
|
48
|
-
/** The accessible label for the button. */
|
|
49
|
-
'aria-label'?: string;
|
|
50
|
-
/** The id of the element that labels the button. */
|
|
51
|
-
'aria-labelledby'?: string;
|
|
52
|
-
/** The id of the element that describes the button. */
|
|
53
|
-
'aria-describedby'?: string;
|
|
54
|
-
/** Identifies the element (or elements) whose contents or presence are controlled by the button. */
|
|
55
|
-
'aria-controls'?: string;
|
|
56
|
-
/** Indicates the current "pressed" state of toggle buttons. */
|
|
57
|
-
'aria-current'?: boolean | 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
|
|
58
|
-
/** Additional attributes for form buttons. */
|
|
59
|
-
form?: string;
|
|
60
|
-
formAction?: string;
|
|
61
|
-
formEncType?: string;
|
|
62
|
-
formMethod?: string;
|
|
63
|
-
formNoValidate?: boolean;
|
|
64
|
-
formTarget?: string;
|
|
65
|
-
/** The name attribute for form buttons. */
|
|
66
|
-
name?: string;
|
|
67
|
-
/** The value attribute for form buttons. */
|
|
68
|
-
value?: string;
|
|
69
|
-
/** Whether to exclude the button from the tab order. */
|
|
70
|
-
excludeFromTabOrder?: boolean;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export interface ButtonAria {
|
|
74
|
-
/** Props to spread on the button element. */
|
|
75
|
-
buttonProps: Record<string, unknown>;
|
|
76
|
-
/** Whether the button is currently pressed. */
|
|
77
|
-
isPressed: Accessor<boolean>;
|
|
78
|
-
}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* createCalendar hook for Solidaria
|
|
3
|
-
*
|
|
4
|
-
* Provides the behavior and accessibility implementation for a calendar component.
|
|
5
|
-
* Based on @react-aria/calendar useCalendar
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { createMemo } from 'solid-js';
|
|
9
|
-
import { createId } from '../ssr';
|
|
10
|
-
import { access, type MaybeAccessor } from '../utils/reactivity';
|
|
11
|
-
import { mergeProps } from '../utils/mergeProps';
|
|
12
|
-
import type { CalendarState } from '@proyecto-viviana/solid-stately';
|
|
13
|
-
|
|
14
|
-
// ============================================
|
|
15
|
-
// TYPES
|
|
16
|
-
// ============================================
|
|
17
|
-
|
|
18
|
-
export interface AriaCalendarProps {
|
|
19
|
-
/** An ID for the calendar. */
|
|
20
|
-
id?: string;
|
|
21
|
-
/** Whether the calendar is disabled. */
|
|
22
|
-
isDisabled?: boolean;
|
|
23
|
-
/** Whether the calendar is read-only. */
|
|
24
|
-
isReadOnly?: boolean;
|
|
25
|
-
/** An accessible label for the calendar. */
|
|
26
|
-
'aria-label'?: string;
|
|
27
|
-
/** The ID of an element that labels the calendar. */
|
|
28
|
-
'aria-labelledby'?: string;
|
|
29
|
-
/** The ID of an element that describes the calendar. */
|
|
30
|
-
'aria-describedby'?: string;
|
|
31
|
-
/** Minimum number of visible months. */
|
|
32
|
-
visibleMonths?: number;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export interface CalendarAria {
|
|
36
|
-
/** Props for the calendar container element. */
|
|
37
|
-
calendarProps: Record<string, unknown>;
|
|
38
|
-
/** Props for the previous button. */
|
|
39
|
-
prevButtonProps: Record<string, unknown>;
|
|
40
|
-
/** Props for the next button. */
|
|
41
|
-
nextButtonProps: Record<string, unknown>;
|
|
42
|
-
/** Props for the title/heading element. */
|
|
43
|
-
titleProps: Record<string, unknown>;
|
|
44
|
-
/** An accessible label for the title. */
|
|
45
|
-
title: string;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// ============================================
|
|
49
|
-
// IMPLEMENTATION
|
|
50
|
-
// ============================================
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Provides the behavior and accessibility implementation for a calendar component.
|
|
54
|
-
*/
|
|
55
|
-
export function createCalendar<T extends CalendarState>(
|
|
56
|
-
props: MaybeAccessor<AriaCalendarProps>,
|
|
57
|
-
state: T
|
|
58
|
-
): CalendarAria {
|
|
59
|
-
const getProps = () => access(props);
|
|
60
|
-
const id = createId(getProps().id);
|
|
61
|
-
const titleId = createId();
|
|
62
|
-
|
|
63
|
-
// Title (e.g., "December 2024")
|
|
64
|
-
const title = createMemo(() => state.title());
|
|
65
|
-
|
|
66
|
-
// Previous button props
|
|
67
|
-
const prevButtonProps = createMemo(() => {
|
|
68
|
-
const p = getProps();
|
|
69
|
-
const isDisabled = p.isDisabled || state.isDisabled();
|
|
70
|
-
|
|
71
|
-
return {
|
|
72
|
-
'aria-label': 'Previous month',
|
|
73
|
-
onClick: () => {
|
|
74
|
-
if (!isDisabled) {
|
|
75
|
-
state.focusPreviousPage();
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
disabled: isDisabled,
|
|
79
|
-
tabIndex: -1,
|
|
80
|
-
};
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
// Next button props
|
|
84
|
-
const nextButtonProps = createMemo(() => {
|
|
85
|
-
const p = getProps();
|
|
86
|
-
const isDisabled = p.isDisabled || state.isDisabled();
|
|
87
|
-
|
|
88
|
-
return {
|
|
89
|
-
'aria-label': 'Next month',
|
|
90
|
-
onClick: () => {
|
|
91
|
-
if (!isDisabled) {
|
|
92
|
-
state.focusNextPage();
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
disabled: isDisabled,
|
|
96
|
-
tabIndex: -1,
|
|
97
|
-
};
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
// Title props
|
|
101
|
-
const titleProps = createMemo(() => ({
|
|
102
|
-
id: titleId,
|
|
103
|
-
'aria-live': 'polite' as const,
|
|
104
|
-
}));
|
|
105
|
-
|
|
106
|
-
// Calendar container props
|
|
107
|
-
const calendarProps = createMemo(() => {
|
|
108
|
-
const p = getProps();
|
|
109
|
-
|
|
110
|
-
return mergeProps(
|
|
111
|
-
{
|
|
112
|
-
id,
|
|
113
|
-
role: 'group',
|
|
114
|
-
'aria-labelledby': p['aria-labelledby'] ?? titleId,
|
|
115
|
-
'aria-label': p['aria-label'],
|
|
116
|
-
'aria-describedby': p['aria-describedby'],
|
|
117
|
-
}
|
|
118
|
-
);
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
return {
|
|
122
|
-
get calendarProps() {
|
|
123
|
-
return calendarProps();
|
|
124
|
-
},
|
|
125
|
-
get prevButtonProps() {
|
|
126
|
-
return prevButtonProps();
|
|
127
|
-
},
|
|
128
|
-
get nextButtonProps() {
|
|
129
|
-
return nextButtonProps();
|
|
130
|
-
},
|
|
131
|
-
get titleProps() {
|
|
132
|
-
return titleProps();
|
|
133
|
-
},
|
|
134
|
-
get title() {
|
|
135
|
-
return title();
|
|
136
|
-
},
|
|
137
|
-
};
|
|
138
|
-
}
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* createCalendarCell hook for Solidaria
|
|
3
|
-
*
|
|
4
|
-
* Provides the behavior and accessibility implementation for a calendar cell.
|
|
5
|
-
* Based on @react-aria/calendar useCalendarCell
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { createSignal, createMemo, onMount } from 'solid-js';
|
|
9
|
-
import { access, type MaybeAccessor } from '../utils/reactivity';
|
|
10
|
-
import type { CalendarState, CalendarDate, DateValue } from '@proyecto-viviana/solid-stately';
|
|
11
|
-
import { isToday as isTodayUtil, DateFormatter, getLocalTimeZone } from '@internationalized/date';
|
|
12
|
-
|
|
13
|
-
// ============================================
|
|
14
|
-
// TYPES
|
|
15
|
-
// ============================================
|
|
16
|
-
|
|
17
|
-
export interface AriaCalendarCellProps {
|
|
18
|
-
/** The date represented by the cell. */
|
|
19
|
-
date: DateValue;
|
|
20
|
-
/** Whether the cell is disabled. */
|
|
21
|
-
isDisabled?: boolean;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface CalendarCellAria {
|
|
25
|
-
/** Props for the cell element (td or gridcell). */
|
|
26
|
-
cellProps: Record<string, unknown>;
|
|
27
|
-
/** Props for the button inside the cell. */
|
|
28
|
-
buttonProps: Record<string, unknown>;
|
|
29
|
-
/** Whether the cell is selected. */
|
|
30
|
-
isSelected: boolean;
|
|
31
|
-
/** Whether the cell is focused. */
|
|
32
|
-
isFocused: boolean;
|
|
33
|
-
/** Whether the cell is disabled. */
|
|
34
|
-
isDisabled: boolean;
|
|
35
|
-
/** Whether the cell is unavailable (e.g., booked date). */
|
|
36
|
-
isUnavailable: boolean;
|
|
37
|
-
/** Whether the cell is outside the visible month. */
|
|
38
|
-
isOutsideMonth: boolean;
|
|
39
|
-
/** Whether the cell represents today. */
|
|
40
|
-
isToday: boolean;
|
|
41
|
-
/** Whether the cell is pressed. */
|
|
42
|
-
isPressed: boolean;
|
|
43
|
-
/** The formatted date string. */
|
|
44
|
-
formattedDate: string;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// ============================================
|
|
48
|
-
// IMPLEMENTATION
|
|
49
|
-
// ============================================
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Provides the behavior and accessibility implementation for a calendar cell.
|
|
53
|
-
*/
|
|
54
|
-
export function createCalendarCell<T extends CalendarState>(
|
|
55
|
-
props: MaybeAccessor<AriaCalendarCellProps>,
|
|
56
|
-
state: T,
|
|
57
|
-
ref?: () => HTMLElement | null
|
|
58
|
-
): CalendarCellAria {
|
|
59
|
-
const getProps = () => access(props);
|
|
60
|
-
const [isPressed, setIsPressed] = createSignal(false);
|
|
61
|
-
const timeZone = getLocalTimeZone();
|
|
62
|
-
|
|
63
|
-
// Get the date from props
|
|
64
|
-
const date = createMemo(() => getProps().date as CalendarDate);
|
|
65
|
-
|
|
66
|
-
// Check states
|
|
67
|
-
const isSelected = createMemo(() => state.isSelected(date()));
|
|
68
|
-
const isFocused = createMemo(() => state.isCellFocused(date()));
|
|
69
|
-
const isDisabled = createMemo(() => {
|
|
70
|
-
return getProps().isDisabled || state.isCellDisabled(date());
|
|
71
|
-
});
|
|
72
|
-
const isUnavailable = createMemo(() => state.isCellUnavailable(date()));
|
|
73
|
-
const isOutsideMonth = createMemo(() => state.isOutsideVisibleRange(date()));
|
|
74
|
-
const isToday = createMemo(() => isTodayUtil(date(), timeZone));
|
|
75
|
-
|
|
76
|
-
// Format the date for display
|
|
77
|
-
const formattedDate = createMemo(() => {
|
|
78
|
-
return date().day.toString();
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
// Handle pointer down - this is where selection happens
|
|
82
|
-
// Using pointerdown instead of click ensures selection happens immediately
|
|
83
|
-
// before focus changes can interfere with the event
|
|
84
|
-
const handlePointerDown = (e: PointerEvent) => {
|
|
85
|
-
if (!isDisabled() && !isUnavailable()) {
|
|
86
|
-
setIsPressed(true);
|
|
87
|
-
// Select the date on pointer down for immediate response
|
|
88
|
-
// This matches React Aria's behavior of using onPressStart
|
|
89
|
-
state.selectDate(date());
|
|
90
|
-
// Prevent default to avoid double-triggering with onClick
|
|
91
|
-
e.preventDefault();
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
// Handle click - kept for accessibility (keyboard Enter/Space)
|
|
96
|
-
const handleClick = () => {
|
|
97
|
-
// Only select on click if not already selected via pointerdown
|
|
98
|
-
// This handles keyboard activation (Enter/Space)
|
|
99
|
-
if (!isDisabled() && !isUnavailable()) {
|
|
100
|
-
state.selectDate(date());
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
const handlePointerUp = () => {
|
|
105
|
-
setIsPressed(false);
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
// Focus the button when it becomes focused in state
|
|
109
|
-
onMount(() => {
|
|
110
|
-
const element = ref?.();
|
|
111
|
-
if (element && isFocused()) {
|
|
112
|
-
element.focus();
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
// Cell props (for the td element)
|
|
117
|
-
const cellProps = createMemo(() => ({
|
|
118
|
-
role: 'gridcell',
|
|
119
|
-
'aria-disabled': isDisabled() || undefined,
|
|
120
|
-
'aria-selected': isSelected() || undefined,
|
|
121
|
-
}));
|
|
122
|
-
|
|
123
|
-
// Button props (for the interactive element inside)
|
|
124
|
-
const buttonProps = createMemo(() => {
|
|
125
|
-
const d = date();
|
|
126
|
-
const formatter = new DateFormatter('en-US', {
|
|
127
|
-
weekday: 'long',
|
|
128
|
-
year: 'numeric',
|
|
129
|
-
month: 'long',
|
|
130
|
-
day: 'numeric',
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
return {
|
|
134
|
-
role: 'button',
|
|
135
|
-
tabIndex: isFocused() ? 0 : -1,
|
|
136
|
-
'aria-label': formatter.format(d.toDate(timeZone)),
|
|
137
|
-
'aria-disabled': isDisabled() || undefined,
|
|
138
|
-
'aria-pressed': isPressed() || undefined,
|
|
139
|
-
disabled: isDisabled(),
|
|
140
|
-
onClick: handleClick,
|
|
141
|
-
onPointerDown: handlePointerDown,
|
|
142
|
-
onPointerUp: handlePointerUp,
|
|
143
|
-
onPointerLeave: handlePointerUp,
|
|
144
|
-
onFocus: () => {
|
|
145
|
-
// Only update if this cell isn't already the focused date
|
|
146
|
-
// This prevents infinite loops when focus is programmatically set
|
|
147
|
-
if (!state.isCellFocused(d)) {
|
|
148
|
-
state.setFocusedDate(d);
|
|
149
|
-
}
|
|
150
|
-
state.setFocused(true);
|
|
151
|
-
},
|
|
152
|
-
};
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
return {
|
|
156
|
-
get cellProps() {
|
|
157
|
-
return cellProps();
|
|
158
|
-
},
|
|
159
|
-
get buttonProps() {
|
|
160
|
-
return buttonProps();
|
|
161
|
-
},
|
|
162
|
-
get isSelected() {
|
|
163
|
-
return isSelected();
|
|
164
|
-
},
|
|
165
|
-
get isFocused() {
|
|
166
|
-
return isFocused();
|
|
167
|
-
},
|
|
168
|
-
get isDisabled() {
|
|
169
|
-
return isDisabled();
|
|
170
|
-
},
|
|
171
|
-
get isUnavailable() {
|
|
172
|
-
return isUnavailable();
|
|
173
|
-
},
|
|
174
|
-
get isOutsideMonth() {
|
|
175
|
-
return isOutsideMonth();
|
|
176
|
-
},
|
|
177
|
-
get isToday() {
|
|
178
|
-
return isToday();
|
|
179
|
-
},
|
|
180
|
-
get isPressed() {
|
|
181
|
-
return isPressed();
|
|
182
|
-
},
|
|
183
|
-
get formattedDate() {
|
|
184
|
-
return formattedDate();
|
|
185
|
-
},
|
|
186
|
-
};
|
|
187
|
-
}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* createCalendarGrid hook for Solidaria
|
|
3
|
-
*
|
|
4
|
-
* Provides the behavior and accessibility implementation for a calendar grid.
|
|
5
|
-
* Based on @react-aria/calendar useCalendarGrid
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { createMemo, onMount, onCleanup } from 'solid-js';
|
|
9
|
-
import { type MaybeAccessor } from '../utils/reactivity';
|
|
10
|
-
import type { CalendarState, CalendarDate } from '@proyecto-viviana/solid-stately';
|
|
11
|
-
|
|
12
|
-
// ============================================
|
|
13
|
-
// TYPES
|
|
14
|
-
// ============================================
|
|
15
|
-
|
|
16
|
-
export interface AriaCalendarGridProps {
|
|
17
|
-
/** The start date of the grid (defaults to start of focused month). */
|
|
18
|
-
startDate?: CalendarDate;
|
|
19
|
-
/** The end date of the grid (defaults to end of focused month). */
|
|
20
|
-
endDate?: CalendarDate;
|
|
21
|
-
/** The number of weeks to display. */
|
|
22
|
-
weekdayStyle?: 'narrow' | 'short' | 'long';
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export interface CalendarGridAria {
|
|
26
|
-
/** Props for the grid element (table or grid role). */
|
|
27
|
-
gridProps: Record<string, unknown>;
|
|
28
|
-
/** Props for the header row. */
|
|
29
|
-
headerProps: Record<string, unknown>;
|
|
30
|
-
/** Week day labels for the header. */
|
|
31
|
-
weekDays: string[];
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// ============================================
|
|
35
|
-
// IMPLEMENTATION
|
|
36
|
-
// ============================================
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Provides the behavior and accessibility implementation for a calendar grid.
|
|
40
|
-
*/
|
|
41
|
-
export function createCalendarGrid<T extends CalendarState>(
|
|
42
|
-
_props: MaybeAccessor<AriaCalendarGridProps>,
|
|
43
|
-
state: T,
|
|
44
|
-
ref?: () => HTMLElement | null
|
|
45
|
-
): CalendarGridAria {
|
|
46
|
-
// Week days for headers
|
|
47
|
-
const weekDays = createMemo(() => state.weekDays());
|
|
48
|
-
|
|
49
|
-
// Handle keyboard navigation
|
|
50
|
-
const handleKeyDown = (e: KeyboardEvent) => {
|
|
51
|
-
if (state.isDisabled()) return;
|
|
52
|
-
|
|
53
|
-
switch (e.key) {
|
|
54
|
-
case 'ArrowLeft':
|
|
55
|
-
e.preventDefault();
|
|
56
|
-
state.focusPreviousDay();
|
|
57
|
-
break;
|
|
58
|
-
case 'ArrowRight':
|
|
59
|
-
e.preventDefault();
|
|
60
|
-
state.focusNextDay();
|
|
61
|
-
break;
|
|
62
|
-
case 'ArrowUp':
|
|
63
|
-
e.preventDefault();
|
|
64
|
-
state.focusPreviousWeek();
|
|
65
|
-
break;
|
|
66
|
-
case 'ArrowDown':
|
|
67
|
-
e.preventDefault();
|
|
68
|
-
state.focusNextWeek();
|
|
69
|
-
break;
|
|
70
|
-
case 'PageUp':
|
|
71
|
-
e.preventDefault();
|
|
72
|
-
if (e.shiftKey) {
|
|
73
|
-
state.focusPreviousSection(); // Previous year
|
|
74
|
-
} else {
|
|
75
|
-
state.focusPreviousPage(); // Previous month
|
|
76
|
-
}
|
|
77
|
-
break;
|
|
78
|
-
case 'PageDown':
|
|
79
|
-
e.preventDefault();
|
|
80
|
-
if (e.shiftKey) {
|
|
81
|
-
state.focusNextSection(); // Next year
|
|
82
|
-
} else {
|
|
83
|
-
state.focusNextPage(); // Next month
|
|
84
|
-
}
|
|
85
|
-
break;
|
|
86
|
-
case 'Home':
|
|
87
|
-
e.preventDefault();
|
|
88
|
-
state.focusPageStart();
|
|
89
|
-
break;
|
|
90
|
-
case 'End':
|
|
91
|
-
e.preventDefault();
|
|
92
|
-
state.focusPageEnd();
|
|
93
|
-
break;
|
|
94
|
-
case 'Enter':
|
|
95
|
-
case ' ':
|
|
96
|
-
e.preventDefault();
|
|
97
|
-
state.selectFocusedDate();
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
// Register keyboard listener
|
|
103
|
-
onMount(() => {
|
|
104
|
-
const element = ref?.();
|
|
105
|
-
if (element) {
|
|
106
|
-
element.addEventListener('keydown', handleKeyDown);
|
|
107
|
-
onCleanup(() => {
|
|
108
|
-
element.removeEventListener('keydown', handleKeyDown);
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
// Grid props
|
|
114
|
-
const gridProps = createMemo(() => ({
|
|
115
|
-
role: 'grid',
|
|
116
|
-
'aria-readonly': state.isReadOnly() || undefined,
|
|
117
|
-
'aria-disabled': state.isDisabled() || undefined,
|
|
118
|
-
tabIndex: state.isFocused() ? 0 : -1,
|
|
119
|
-
onFocus: () => state.setFocused(true),
|
|
120
|
-
onBlur: () => state.setFocused(false),
|
|
121
|
-
onKeyDown: handleKeyDown,
|
|
122
|
-
}));
|
|
123
|
-
|
|
124
|
-
// Header props
|
|
125
|
-
const headerProps = createMemo(() => ({
|
|
126
|
-
role: 'row',
|
|
127
|
-
}));
|
|
128
|
-
|
|
129
|
-
return {
|
|
130
|
-
get gridProps() {
|
|
131
|
-
return gridProps();
|
|
132
|
-
},
|
|
133
|
-
get headerProps() {
|
|
134
|
-
return headerProps();
|
|
135
|
-
},
|
|
136
|
-
get weekDays() {
|
|
137
|
-
return weekDays();
|
|
138
|
-
},
|
|
139
|
-
};
|
|
140
|
-
}
|