@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,349 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provides the behavior and accessibility implementation for a slider component.
|
|
3
|
-
* A slider allows users to select a value from a range.
|
|
4
|
-
* Based on @react-aria/slider useSlider.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { type JSX, onCleanup, onMount } from 'solid-js';
|
|
8
|
-
import { createLabel } from '../label/createLabel';
|
|
9
|
-
import { createFocusRing } from '../interactions/createFocusRing';
|
|
10
|
-
import { filterDOMProps } from '../utils/filterDOMProps';
|
|
11
|
-
import { mergeProps } from '../utils/mergeProps';
|
|
12
|
-
import { createId } from '../ssr';
|
|
13
|
-
import { access, type MaybeAccessor } from '../utils/reactivity';
|
|
14
|
-
import type { SliderState, SliderOrientation } from '@proyecto-viviana/solid-stately';
|
|
15
|
-
|
|
16
|
-
export interface AriaSliderProps {
|
|
17
|
-
/** An ID for the slider. */
|
|
18
|
-
id?: string;
|
|
19
|
-
/** Whether the slider is disabled. */
|
|
20
|
-
isDisabled?: boolean;
|
|
21
|
-
/** The label for the slider. */
|
|
22
|
-
label?: JSX.Element;
|
|
23
|
-
/** An accessible label for the slider when no visible label is provided. */
|
|
24
|
-
'aria-label'?: string;
|
|
25
|
-
/** The ID of an element that labels the slider. */
|
|
26
|
-
'aria-labelledby'?: string;
|
|
27
|
-
/** The ID of an element that describes the slider. */
|
|
28
|
-
'aria-describedby'?: string;
|
|
29
|
-
/** The orientation of the slider. */
|
|
30
|
-
orientation?: SliderOrientation;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export interface SliderAria {
|
|
34
|
-
/** Props for the label element. */
|
|
35
|
-
labelProps: JSX.HTMLAttributes<HTMLElement>;
|
|
36
|
-
/** Props for the root group element. */
|
|
37
|
-
groupProps: JSX.HTMLAttributes<HTMLElement>;
|
|
38
|
-
/** Props for the track element. */
|
|
39
|
-
trackProps: JSX.HTMLAttributes<HTMLElement>;
|
|
40
|
-
/** Props for the thumb element. */
|
|
41
|
-
thumbProps: JSX.HTMLAttributes<HTMLElement>;
|
|
42
|
-
/** Props for the hidden input element. */
|
|
43
|
-
inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
|
|
44
|
-
/** Props for the output element (showing current value). */
|
|
45
|
-
outputProps: JSX.HTMLAttributes<HTMLElement>;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Provides the behavior and accessibility implementation for a slider.
|
|
50
|
-
*/
|
|
51
|
-
export function createSlider(
|
|
52
|
-
props: MaybeAccessor<AriaSliderProps>,
|
|
53
|
-
state: SliderState,
|
|
54
|
-
trackRef?: () => HTMLElement | null
|
|
55
|
-
): SliderAria {
|
|
56
|
-
const getProps = () => access(props);
|
|
57
|
-
const id = createId(getProps().id);
|
|
58
|
-
|
|
59
|
-
// Generate IDs for associated elements
|
|
60
|
-
const inputId = `${id}-input`;
|
|
61
|
-
const outputId = `${id}-output`;
|
|
62
|
-
|
|
63
|
-
// Filter DOM props
|
|
64
|
-
const domProps = () =>
|
|
65
|
-
filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true });
|
|
66
|
-
|
|
67
|
-
// Label handling
|
|
68
|
-
const { labelProps, fieldProps } = createLabel({
|
|
69
|
-
get id() {
|
|
70
|
-
return inputId;
|
|
71
|
-
},
|
|
72
|
-
get label() {
|
|
73
|
-
return getProps().label;
|
|
74
|
-
},
|
|
75
|
-
get 'aria-label'() {
|
|
76
|
-
return getProps()['aria-label'];
|
|
77
|
-
},
|
|
78
|
-
get 'aria-labelledby'() {
|
|
79
|
-
return getProps()['aria-labelledby'];
|
|
80
|
-
},
|
|
81
|
-
labelElementType: 'span',
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
// Focus ring for keyboard focus styling
|
|
85
|
-
const { isFocusVisible, focusProps } = createFocusRing({
|
|
86
|
-
within: true,
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
// Track pointer state for drag handling
|
|
90
|
-
let currentPointerId: number | null = null;
|
|
91
|
-
|
|
92
|
-
// Calculate position from pointer event
|
|
93
|
-
const getPositionFromPointer = (clientX: number, clientY: number): number => {
|
|
94
|
-
const track = trackRef?.();
|
|
95
|
-
if (!track) return 0;
|
|
96
|
-
|
|
97
|
-
const rect = track.getBoundingClientRect();
|
|
98
|
-
const isVertical = state.orientation === 'vertical';
|
|
99
|
-
|
|
100
|
-
let position: number;
|
|
101
|
-
if (isVertical) {
|
|
102
|
-
position = (rect.bottom - clientY) / rect.height;
|
|
103
|
-
} else {
|
|
104
|
-
position = (clientX - rect.left) / rect.width;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
return Math.max(0, Math.min(1, position));
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
// Handle pointer down on track
|
|
111
|
-
const onTrackPointerDown = (e: PointerEvent) => {
|
|
112
|
-
if (state.isDisabled || e.button !== 0) return;
|
|
113
|
-
|
|
114
|
-
e.preventDefault();
|
|
115
|
-
currentPointerId = e.pointerId;
|
|
116
|
-
|
|
117
|
-
const track = trackRef?.();
|
|
118
|
-
if (track) {
|
|
119
|
-
track.setPointerCapture(e.pointerId);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
const percent = getPositionFromPointer(e.clientX, e.clientY);
|
|
123
|
-
state.setValuePercent(percent);
|
|
124
|
-
state.setDragging(true);
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
// Handle pointer move for dragging
|
|
128
|
-
const onTrackPointerMove = (e: PointerEvent) => {
|
|
129
|
-
if (!state.isDragging() || e.pointerId !== currentPointerId) return;
|
|
130
|
-
|
|
131
|
-
const percent = getPositionFromPointer(e.clientX, e.clientY);
|
|
132
|
-
state.setValuePercent(percent);
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
// Handle pointer up to end drag
|
|
136
|
-
const onTrackPointerUp = (e: PointerEvent) => {
|
|
137
|
-
if (e.pointerId !== currentPointerId) return;
|
|
138
|
-
|
|
139
|
-
const track = trackRef?.();
|
|
140
|
-
if (track) {
|
|
141
|
-
track.releasePointerCapture(e.pointerId);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
currentPointerId = null;
|
|
145
|
-
state.setDragging(false);
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
// Keyboard navigation for thumb
|
|
149
|
-
const onThumbKeyDown = (e: KeyboardEvent) => {
|
|
150
|
-
if (state.isDisabled) return;
|
|
151
|
-
|
|
152
|
-
const isVertical = state.orientation === 'vertical';
|
|
153
|
-
|
|
154
|
-
switch (e.key) {
|
|
155
|
-
case 'ArrowRight':
|
|
156
|
-
case 'ArrowUp':
|
|
157
|
-
e.preventDefault();
|
|
158
|
-
if ((e.key === 'ArrowRight' && !isVertical) || (e.key === 'ArrowUp' && isVertical)) {
|
|
159
|
-
state.increment();
|
|
160
|
-
} else {
|
|
161
|
-
state.decrement();
|
|
162
|
-
}
|
|
163
|
-
break;
|
|
164
|
-
case 'ArrowLeft':
|
|
165
|
-
case 'ArrowDown':
|
|
166
|
-
e.preventDefault();
|
|
167
|
-
if ((e.key === 'ArrowLeft' && !isVertical) || (e.key === 'ArrowDown' && isVertical)) {
|
|
168
|
-
state.decrement();
|
|
169
|
-
} else {
|
|
170
|
-
state.increment();
|
|
171
|
-
}
|
|
172
|
-
break;
|
|
173
|
-
case 'PageUp':
|
|
174
|
-
e.preventDefault();
|
|
175
|
-
state.increment(state.pageStep / state.step);
|
|
176
|
-
break;
|
|
177
|
-
case 'PageDown':
|
|
178
|
-
e.preventDefault();
|
|
179
|
-
state.decrement(state.pageStep / state.step);
|
|
180
|
-
break;
|
|
181
|
-
case 'Home':
|
|
182
|
-
e.preventDefault();
|
|
183
|
-
state.setValue(state.minValue);
|
|
184
|
-
break;
|
|
185
|
-
case 'End':
|
|
186
|
-
e.preventDefault();
|
|
187
|
-
state.setValue(state.maxValue);
|
|
188
|
-
break;
|
|
189
|
-
}
|
|
190
|
-
};
|
|
191
|
-
|
|
192
|
-
// Handle focus events
|
|
193
|
-
const onFocus = () => {
|
|
194
|
-
state.setFocused(true);
|
|
195
|
-
};
|
|
196
|
-
|
|
197
|
-
const onBlur = () => {
|
|
198
|
-
state.setFocused(false);
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
// Handle pointer down on thumb (for direct thumb dragging)
|
|
202
|
-
const onThumbPointerDown = (e: PointerEvent) => {
|
|
203
|
-
if (state.isDisabled || e.button !== 0) return;
|
|
204
|
-
|
|
205
|
-
e.preventDefault();
|
|
206
|
-
e.stopPropagation(); // Prevent track from also handling
|
|
207
|
-
currentPointerId = e.pointerId;
|
|
208
|
-
|
|
209
|
-
// Capture pointer on document for smooth dragging
|
|
210
|
-
document.body.setPointerCapture(e.pointerId);
|
|
211
|
-
state.setDragging(true);
|
|
212
|
-
};
|
|
213
|
-
|
|
214
|
-
// Global pointer move handler for thumb dragging
|
|
215
|
-
const onDocumentPointerMove = (e: PointerEvent) => {
|
|
216
|
-
if (!state.isDragging() || e.pointerId !== currentPointerId) return;
|
|
217
|
-
|
|
218
|
-
const percent = getPositionFromPointer(e.clientX, e.clientY);
|
|
219
|
-
state.setValuePercent(percent);
|
|
220
|
-
};
|
|
221
|
-
|
|
222
|
-
// Global pointer up handler
|
|
223
|
-
const onDocumentPointerUp = (e: PointerEvent) => {
|
|
224
|
-
if (e.pointerId !== currentPointerId) return;
|
|
225
|
-
|
|
226
|
-
try {
|
|
227
|
-
document.body.releasePointerCapture(e.pointerId);
|
|
228
|
-
} catch {
|
|
229
|
-
// Ignore if capture was already released
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
currentPointerId = null;
|
|
233
|
-
state.setDragging(false);
|
|
234
|
-
};
|
|
235
|
-
|
|
236
|
-
// Set up global listeners on mount (client-side only)
|
|
237
|
-
onMount(() => {
|
|
238
|
-
if (typeof document === 'undefined') return;
|
|
239
|
-
|
|
240
|
-
document.addEventListener('pointermove', onDocumentPointerMove);
|
|
241
|
-
document.addEventListener('pointerup', onDocumentPointerUp);
|
|
242
|
-
document.addEventListener('pointercancel', onDocumentPointerUp);
|
|
243
|
-
|
|
244
|
-
// Cleanup when component unmounts
|
|
245
|
-
onCleanup(() => {
|
|
246
|
-
document.removeEventListener('pointermove', onDocumentPointerMove);
|
|
247
|
-
document.removeEventListener('pointerup', onDocumentPointerUp);
|
|
248
|
-
document.removeEventListener('pointercancel', onDocumentPointerUp);
|
|
249
|
-
});
|
|
250
|
-
});
|
|
251
|
-
|
|
252
|
-
return {
|
|
253
|
-
get labelProps() {
|
|
254
|
-
return labelProps as JSX.HTMLAttributes<HTMLElement>;
|
|
255
|
-
},
|
|
256
|
-
get groupProps() {
|
|
257
|
-
return mergeProps(
|
|
258
|
-
domProps(),
|
|
259
|
-
fieldProps as Record<string, unknown>,
|
|
260
|
-
{
|
|
261
|
-
role: 'group',
|
|
262
|
-
'data-disabled': state.isDisabled || undefined,
|
|
263
|
-
'data-orientation': state.orientation,
|
|
264
|
-
} as Record<string, unknown>
|
|
265
|
-
) as JSX.HTMLAttributes<HTMLElement>;
|
|
266
|
-
},
|
|
267
|
-
get trackProps() {
|
|
268
|
-
return {
|
|
269
|
-
onPointerDown: onTrackPointerDown,
|
|
270
|
-
onPointerMove: onTrackPointerMove,
|
|
271
|
-
onPointerUp: onTrackPointerUp,
|
|
272
|
-
onPointerCancel: onTrackPointerUp,
|
|
273
|
-
style: {
|
|
274
|
-
position: 'relative',
|
|
275
|
-
'touch-action': 'none',
|
|
276
|
-
},
|
|
277
|
-
'data-disabled': state.isDisabled || undefined,
|
|
278
|
-
'data-orientation': state.orientation,
|
|
279
|
-
'data-dragging': state.isDragging() || undefined,
|
|
280
|
-
} as JSX.HTMLAttributes<HTMLElement>;
|
|
281
|
-
},
|
|
282
|
-
get thumbProps() {
|
|
283
|
-
const percent = state.getValuePercent();
|
|
284
|
-
const isVertical = state.orientation === 'vertical';
|
|
285
|
-
|
|
286
|
-
return mergeProps(
|
|
287
|
-
focusProps as Record<string, unknown>,
|
|
288
|
-
{
|
|
289
|
-
role: 'slider',
|
|
290
|
-
tabIndex: state.isDisabled ? undefined : 0,
|
|
291
|
-
'aria-valuemin': state.minValue,
|
|
292
|
-
'aria-valuemax': state.maxValue,
|
|
293
|
-
'aria-valuenow': state.value(),
|
|
294
|
-
'aria-valuetext': state.getFormattedValue(),
|
|
295
|
-
'aria-orientation': state.orientation,
|
|
296
|
-
'aria-disabled': state.isDisabled || undefined,
|
|
297
|
-
'aria-labelledby': (labelProps as { id?: string }).id,
|
|
298
|
-
onPointerDown: onThumbPointerDown,
|
|
299
|
-
onKeyDown: onThumbKeyDown,
|
|
300
|
-
onFocus,
|
|
301
|
-
onBlur,
|
|
302
|
-
style: {
|
|
303
|
-
position: 'absolute',
|
|
304
|
-
[isVertical ? 'bottom' : 'left']: `${percent * 100}%`,
|
|
305
|
-
transform: isVertical ? 'translateY(50%)' : 'translateX(-50%)',
|
|
306
|
-
},
|
|
307
|
-
'data-disabled': state.isDisabled || undefined,
|
|
308
|
-
'data-dragging': state.isDragging() || undefined,
|
|
309
|
-
'data-focus-visible': isFocusVisible() || undefined,
|
|
310
|
-
} as Record<string, unknown>
|
|
311
|
-
) as JSX.HTMLAttributes<HTMLElement>;
|
|
312
|
-
},
|
|
313
|
-
get inputProps() {
|
|
314
|
-
return {
|
|
315
|
-
type: 'range',
|
|
316
|
-
id: inputId,
|
|
317
|
-
min: state.minValue,
|
|
318
|
-
max: state.maxValue,
|
|
319
|
-
step: state.step,
|
|
320
|
-
value: state.value(),
|
|
321
|
-
disabled: state.isDisabled,
|
|
322
|
-
'aria-hidden': true,
|
|
323
|
-
tabIndex: -1,
|
|
324
|
-
style: {
|
|
325
|
-
position: 'absolute',
|
|
326
|
-
width: '1px',
|
|
327
|
-
height: '1px',
|
|
328
|
-
padding: '0',
|
|
329
|
-
margin: '-1px',
|
|
330
|
-
overflow: 'hidden',
|
|
331
|
-
clip: 'rect(0, 0, 0, 0)',
|
|
332
|
-
'white-space': 'nowrap',
|
|
333
|
-
border: '0',
|
|
334
|
-
},
|
|
335
|
-
onChange: (e: Event) => {
|
|
336
|
-
const target = e.target as HTMLInputElement;
|
|
337
|
-
state.setValue(parseFloat(target.value));
|
|
338
|
-
},
|
|
339
|
-
} as JSX.InputHTMLAttributes<HTMLInputElement>;
|
|
340
|
-
},
|
|
341
|
-
get outputProps() {
|
|
342
|
-
return {
|
|
343
|
-
id: outputId,
|
|
344
|
-
'for': inputId,
|
|
345
|
-
'aria-live': 'off',
|
|
346
|
-
} as JSX.HTMLAttributes<HTMLElement>;
|
|
347
|
-
},
|
|
348
|
-
};
|
|
349
|
-
}
|
package/src/slider/index.ts
DELETED
package/src/ssr/index.tsx
DELETED
|
@@ -1,370 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SSR utilities for Solidaria
|
|
3
|
-
*
|
|
4
|
-
* SolidJS has built-in SSR support with `isServer` and `createUniqueId()`.
|
|
5
|
-
* These utilities provide a consistent API matching React-Aria's patterns
|
|
6
|
-
* with additional features for hydration management.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
type Accessor,
|
|
11
|
-
type JSX,
|
|
12
|
-
type ParentProps,
|
|
13
|
-
createContext,
|
|
14
|
-
createEffect,
|
|
15
|
-
createMemo,
|
|
16
|
-
createSignal,
|
|
17
|
-
onCleanup,
|
|
18
|
-
onMount,
|
|
19
|
-
useContext,
|
|
20
|
-
createUniqueId,
|
|
21
|
-
} from 'solid-js';
|
|
22
|
-
import { isServer } from 'solid-js/web';
|
|
23
|
-
|
|
24
|
-
// ============================================
|
|
25
|
-
// TYPES
|
|
26
|
-
// ============================================
|
|
27
|
-
|
|
28
|
-
export interface SSRProviderProps extends ParentProps {}
|
|
29
|
-
|
|
30
|
-
export interface SSRContextValue {
|
|
31
|
-
/** Whether currently rendering on the server. */
|
|
32
|
-
isSSR: boolean;
|
|
33
|
-
/** Prefix for generated IDs, allowing nested providers. */
|
|
34
|
-
prefix: string;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// ============================================
|
|
38
|
-
// CONTEXT
|
|
39
|
-
// ============================================
|
|
40
|
-
|
|
41
|
-
const SSRContext = createContext<SSRContextValue>({
|
|
42
|
-
isSSR: isServer,
|
|
43
|
-
prefix: '',
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
// ============================================
|
|
47
|
-
// BASIC UTILITIES
|
|
48
|
-
// ============================================
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Returns whether the component is currently being server side rendered.
|
|
52
|
-
* Can be used to delay browser-specific rendering until after hydration.
|
|
53
|
-
*
|
|
54
|
-
* Note: This returns a static boolean. For reactive hydration detection,
|
|
55
|
-
* use `createHydrationState()`.
|
|
56
|
-
*/
|
|
57
|
-
export function createIsSSR(): boolean {
|
|
58
|
-
return isServer;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Check if we can use DOM APIs.
|
|
63
|
-
* This is useful for code that needs to run only in the browser.
|
|
64
|
-
*/
|
|
65
|
-
export const canUseDOM = !isServer;
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Generate a unique ID that is stable across server and client.
|
|
69
|
-
* Uses SolidJS's built-in createUniqueId which handles SSR correctly.
|
|
70
|
-
*
|
|
71
|
-
* @param defaultId - Optional default ID to use instead of generating one.
|
|
72
|
-
*
|
|
73
|
-
* @example
|
|
74
|
-
* ```tsx
|
|
75
|
-
* function TextField(props) {
|
|
76
|
-
* const inputId = createId(props.id);
|
|
77
|
-
* return (
|
|
78
|
-
* <>
|
|
79
|
-
* <label for={inputId}>{props.label}</label>
|
|
80
|
-
* <input id={inputId} />
|
|
81
|
-
* </>
|
|
82
|
-
* );
|
|
83
|
-
* }
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
|
-
export function createId(defaultId?: string): string {
|
|
87
|
-
if (defaultId) {
|
|
88
|
-
return defaultId;
|
|
89
|
-
}
|
|
90
|
-
const ctx = useContext(SSRContext);
|
|
91
|
-
const uniqueId = createUniqueId();
|
|
92
|
-
return ctx.prefix ? `solidaria-${ctx.prefix}-${uniqueId}` : `solidaria-${uniqueId}`;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
// ============================================
|
|
96
|
-
// SSR PROVIDER
|
|
97
|
-
// ============================================
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Provides SSR context to the component tree.
|
|
101
|
-
*
|
|
102
|
-
* While SolidJS handles most SSR scenarios automatically, this provider
|
|
103
|
-
* can be useful for:
|
|
104
|
-
* - Nested ID prefixes to avoid collisions in micro-frontends
|
|
105
|
-
* - Explicit hydration boundary markers
|
|
106
|
-
* - Testing SSR behavior
|
|
107
|
-
*
|
|
108
|
-
* @example
|
|
109
|
-
* ```tsx
|
|
110
|
-
* // Root of your app
|
|
111
|
-
* <SSRProvider>
|
|
112
|
-
* <App />
|
|
113
|
-
* </SSRProvider>
|
|
114
|
-
*
|
|
115
|
-
* // With custom prefix for micro-frontend
|
|
116
|
-
* <SSRProvider prefix="widget">
|
|
117
|
-
* <Widget />
|
|
118
|
-
* </SSRProvider>
|
|
119
|
-
* ```
|
|
120
|
-
*/
|
|
121
|
-
export function SSRProvider(props: SSRProviderProps & { prefix?: string }): JSX.Element {
|
|
122
|
-
const parentContext = useContext(SSRContext);
|
|
123
|
-
|
|
124
|
-
const value = createMemo<SSRContextValue>(() => ({
|
|
125
|
-
isSSR: isServer,
|
|
126
|
-
prefix: props.prefix
|
|
127
|
-
? parentContext.prefix
|
|
128
|
-
? `${parentContext.prefix}-${props.prefix}`
|
|
129
|
-
: props.prefix
|
|
130
|
-
: parentContext.prefix,
|
|
131
|
-
}));
|
|
132
|
-
|
|
133
|
-
return (
|
|
134
|
-
<SSRContext.Provider value={value()}>
|
|
135
|
-
{props.children}
|
|
136
|
-
</SSRContext.Provider>
|
|
137
|
-
);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
// ============================================
|
|
141
|
-
// HYDRATION STATE
|
|
142
|
-
// ============================================
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Tracks whether the component is currently hydrating.
|
|
146
|
-
*
|
|
147
|
-
* During server-side rendering, this returns `true`. After hydration
|
|
148
|
-
* completes on the client, it switches to `false`. This is useful for
|
|
149
|
-
* components that need to show different content during hydration.
|
|
150
|
-
*
|
|
151
|
-
* @example
|
|
152
|
-
* ```tsx
|
|
153
|
-
* function ClientOnlyComponent() {
|
|
154
|
-
* const isHydrating = createHydrationState();
|
|
155
|
-
*
|
|
156
|
-
* return (
|
|
157
|
-
* <Show when={!isHydrating()} fallback={<LoadingPlaceholder />}>
|
|
158
|
-
* <InteractiveWidget />
|
|
159
|
-
* </Show>
|
|
160
|
-
* );
|
|
161
|
-
* }
|
|
162
|
-
* ```
|
|
163
|
-
*/
|
|
164
|
-
export function createHydrationState(): Accessor<boolean> {
|
|
165
|
-
// On the server, always return true
|
|
166
|
-
if (isServer) {
|
|
167
|
-
return () => true;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
// On the client, track hydration state
|
|
171
|
-
const [isHydrating, setIsHydrating] = createSignal(true);
|
|
172
|
-
|
|
173
|
-
onMount(() => {
|
|
174
|
-
setIsHydrating(false);
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
return isHydrating;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Hook that returns `true` during SSR and initial hydration.
|
|
182
|
-
* Use this to delay browser-specific code until hydration is complete.
|
|
183
|
-
*
|
|
184
|
-
* Unlike `createIsSSR()` which is static, this updates reactively
|
|
185
|
-
* after hydration completes.
|
|
186
|
-
*
|
|
187
|
-
* @example
|
|
188
|
-
* ```tsx
|
|
189
|
-
* function BrowserOnlyFeature() {
|
|
190
|
-
* const isSSR = useIsSSR();
|
|
191
|
-
*
|
|
192
|
-
* createEffect(() => {
|
|
193
|
-
* if (!isSSR()) {
|
|
194
|
-
* // Safe to access browser APIs here
|
|
195
|
-
* window.localStorage.getItem('key');
|
|
196
|
-
* }
|
|
197
|
-
* });
|
|
198
|
-
*
|
|
199
|
-
* return <Show when={!isSSR()}>...</Show>;
|
|
200
|
-
* }
|
|
201
|
-
* ```
|
|
202
|
-
*/
|
|
203
|
-
export function useIsSSR(): Accessor<boolean> {
|
|
204
|
-
return createHydrationState();
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
// ============================================
|
|
208
|
-
// SAFE BROWSER EFFECTS
|
|
209
|
-
// ============================================
|
|
210
|
-
|
|
211
|
-
/**
|
|
212
|
-
* Creates an effect that only runs on the client after hydration.
|
|
213
|
-
* This is a convenience wrapper that ensures browser-specific code
|
|
214
|
-
* doesn't run during SSR.
|
|
215
|
-
*
|
|
216
|
-
* @param fn - The effect function to run
|
|
217
|
-
*
|
|
218
|
-
* @example
|
|
219
|
-
* ```tsx
|
|
220
|
-
* function Analytics() {
|
|
221
|
-
* createBrowserEffect(() => {
|
|
222
|
-
* // Safe to access window, document, localStorage, etc.
|
|
223
|
-
* window.analytics.track('page_view');
|
|
224
|
-
* });
|
|
225
|
-
*
|
|
226
|
-
* return null;
|
|
227
|
-
* }
|
|
228
|
-
* ```
|
|
229
|
-
*/
|
|
230
|
-
export function createBrowserEffect(fn: () => void | (() => void)): void {
|
|
231
|
-
if (isServer) {
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
createEffect(() => {
|
|
236
|
-
const cleanup = fn();
|
|
237
|
-
if (typeof cleanup === 'function') {
|
|
238
|
-
onCleanup(cleanup);
|
|
239
|
-
}
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* Creates a value that is computed only on the client.
|
|
245
|
-
* On the server, returns the fallback value.
|
|
246
|
-
*
|
|
247
|
-
* @param fn - Function to compute the value on the client
|
|
248
|
-
* @param fallback - Value to return during SSR
|
|
249
|
-
*
|
|
250
|
-
* @example
|
|
251
|
-
* ```tsx
|
|
252
|
-
* function WindowSize() {
|
|
253
|
-
* const width = createBrowserValue(
|
|
254
|
-
* () => window.innerWidth,
|
|
255
|
-
* 0
|
|
256
|
-
* );
|
|
257
|
-
*
|
|
258
|
-
* return <span>Width: {width()}</span>;
|
|
259
|
-
* }
|
|
260
|
-
* ```
|
|
261
|
-
*/
|
|
262
|
-
export function createBrowserValue<T>(
|
|
263
|
-
fn: () => T,
|
|
264
|
-
fallback: T
|
|
265
|
-
): Accessor<T> {
|
|
266
|
-
if (isServer) {
|
|
267
|
-
return () => fallback;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
const [value, setValue] = createSignal<T>(fallback);
|
|
271
|
-
|
|
272
|
-
onMount(() => {
|
|
273
|
-
setValue(() => fn());
|
|
274
|
-
});
|
|
275
|
-
|
|
276
|
-
return value;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
// ============================================
|
|
280
|
-
// WINDOW/DOCUMENT SAFE ACCESS
|
|
281
|
-
// ============================================
|
|
282
|
-
|
|
283
|
-
/**
|
|
284
|
-
* Returns the window object if available, or undefined during SSR.
|
|
285
|
-
* Useful for accessing browser globals safely.
|
|
286
|
-
*
|
|
287
|
-
* @example
|
|
288
|
-
* ```tsx
|
|
289
|
-
* const win = getWindow();
|
|
290
|
-
* if (win) {
|
|
291
|
-
* win.addEventListener('resize', handler);
|
|
292
|
-
* }
|
|
293
|
-
* ```
|
|
294
|
-
*/
|
|
295
|
-
export function getWindow(): Window | undefined {
|
|
296
|
-
if (typeof window !== 'undefined') {
|
|
297
|
-
return window;
|
|
298
|
-
}
|
|
299
|
-
return undefined;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
/**
|
|
303
|
-
* Returns the document object if available, or undefined during SSR.
|
|
304
|
-
* Useful for accessing document safely.
|
|
305
|
-
*
|
|
306
|
-
* @example
|
|
307
|
-
* ```tsx
|
|
308
|
-
* const doc = getDocument();
|
|
309
|
-
* if (doc) {
|
|
310
|
-
* doc.addEventListener('keydown', handler);
|
|
311
|
-
* }
|
|
312
|
-
* ```
|
|
313
|
-
*/
|
|
314
|
-
export function getDocument(): Document | undefined {
|
|
315
|
-
if (typeof document !== 'undefined') {
|
|
316
|
-
return document;
|
|
317
|
-
}
|
|
318
|
-
return undefined;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
/**
|
|
322
|
-
* Returns the owner document of an element, with SSR safety.
|
|
323
|
-
*
|
|
324
|
-
* @param el - The element to get the owner document from
|
|
325
|
-
*/
|
|
326
|
-
export function getOwnerDocument(el: Element | null | undefined): Document | undefined {
|
|
327
|
-
return el?.ownerDocument ?? getDocument();
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* Returns the owner window of an element, with SSR safety.
|
|
332
|
-
*
|
|
333
|
-
* @param el - The element to get the owner window from
|
|
334
|
-
*/
|
|
335
|
-
export function getOwnerWindow(el: Element | null | undefined): Window | undefined {
|
|
336
|
-
return getOwnerDocument(el)?.defaultView ?? getWindow();
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
// ============================================
|
|
340
|
-
// PORTAL HELPERS
|
|
341
|
-
// ============================================
|
|
342
|
-
|
|
343
|
-
/**
|
|
344
|
-
* Gets the appropriate container for portals, with SSR safety.
|
|
345
|
-
* Returns the specified container, or document.body on the client,
|
|
346
|
-
* or undefined during SSR.
|
|
347
|
-
*
|
|
348
|
-
* @param container - Optional custom container element
|
|
349
|
-
*
|
|
350
|
-
* @example
|
|
351
|
-
* ```tsx
|
|
352
|
-
* function Modal(props) {
|
|
353
|
-
* const container = getPortalContainer(props.container);
|
|
354
|
-
*
|
|
355
|
-
* return (
|
|
356
|
-
* <Show when={container}>
|
|
357
|
-
* <Portal mount={container}>
|
|
358
|
-
* {props.children}
|
|
359
|
-
* </Portal>
|
|
360
|
-
* </Show>
|
|
361
|
-
* );
|
|
362
|
-
* }
|
|
363
|
-
* ```
|
|
364
|
-
*/
|
|
365
|
-
export function getPortalContainer(container?: Element): Element | undefined {
|
|
366
|
-
if (container) {
|
|
367
|
-
return container;
|
|
368
|
-
}
|
|
369
|
-
return getDocument()?.body;
|
|
370
|
-
}
|