@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,116 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* filterDOMProps for Solidaria
|
|
3
|
-
*
|
|
4
|
-
* Filters out all props that aren't valid DOM props.
|
|
5
|
-
* This is a 1:1 port of @react-aria/utils filterDOMProps.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
const DOMPropNames = new Set(['id']);
|
|
9
|
-
|
|
10
|
-
const labelablePropNames = new Set([
|
|
11
|
-
'aria-label',
|
|
12
|
-
'aria-labelledby',
|
|
13
|
-
'aria-describedby',
|
|
14
|
-
'aria-details',
|
|
15
|
-
]);
|
|
16
|
-
|
|
17
|
-
// See LinkDOMProps in dom.d.ts.
|
|
18
|
-
const linkPropNames = new Set([
|
|
19
|
-
'href',
|
|
20
|
-
'hrefLang',
|
|
21
|
-
'target',
|
|
22
|
-
'rel',
|
|
23
|
-
'download',
|
|
24
|
-
'ping',
|
|
25
|
-
'referrerPolicy',
|
|
26
|
-
]);
|
|
27
|
-
|
|
28
|
-
const globalAttrs = new Set(['dir', 'lang', 'hidden', 'inert', 'translate']);
|
|
29
|
-
|
|
30
|
-
const globalEvents = new Set([
|
|
31
|
-
'onClick',
|
|
32
|
-
'onAuxClick',
|
|
33
|
-
'onContextMenu',
|
|
34
|
-
'onDoubleClick',
|
|
35
|
-
'onMouseDown',
|
|
36
|
-
'onMouseEnter',
|
|
37
|
-
'onMouseLeave',
|
|
38
|
-
'onMouseMove',
|
|
39
|
-
'onMouseOut',
|
|
40
|
-
'onMouseOver',
|
|
41
|
-
'onMouseUp',
|
|
42
|
-
'onTouchCancel',
|
|
43
|
-
'onTouchEnd',
|
|
44
|
-
'onTouchMove',
|
|
45
|
-
'onTouchStart',
|
|
46
|
-
'onPointerDown',
|
|
47
|
-
'onPointerMove',
|
|
48
|
-
'onPointerUp',
|
|
49
|
-
'onPointerCancel',
|
|
50
|
-
'onPointerEnter',
|
|
51
|
-
'onPointerLeave',
|
|
52
|
-
'onPointerOver',
|
|
53
|
-
'onPointerOut',
|
|
54
|
-
'onGotPointerCapture',
|
|
55
|
-
'onLostPointerCapture',
|
|
56
|
-
'onScroll',
|
|
57
|
-
'onWheel',
|
|
58
|
-
'onAnimationStart',
|
|
59
|
-
'onAnimationEnd',
|
|
60
|
-
'onAnimationIteration',
|
|
61
|
-
'onTransitionCancel',
|
|
62
|
-
'onTransitionEnd',
|
|
63
|
-
'onTransitionRun',
|
|
64
|
-
'onTransitionStart',
|
|
65
|
-
]);
|
|
66
|
-
|
|
67
|
-
const propRe = /^(data-.*)$/;
|
|
68
|
-
|
|
69
|
-
export interface FilterDOMPropsOptions {
|
|
70
|
-
/**
|
|
71
|
-
* If labelling associated aria properties should be included in the filter.
|
|
72
|
-
*/
|
|
73
|
-
labelable?: boolean;
|
|
74
|
-
/** Whether the element is a link and should include DOM props for <a> elements. */
|
|
75
|
-
isLink?: boolean;
|
|
76
|
-
/** Whether to include global DOM attributes. */
|
|
77
|
-
global?: boolean;
|
|
78
|
-
/** Whether to include DOM events. */
|
|
79
|
-
events?: boolean;
|
|
80
|
-
/**
|
|
81
|
-
* A Set of other property names that should be included in the filter.
|
|
82
|
-
*/
|
|
83
|
-
propNames?: Set<string>;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Filters out all props that aren't valid DOM props or defined via override prop obj.
|
|
88
|
-
* @param props - The component props to be filtered.
|
|
89
|
-
* @param opts - Props to override.
|
|
90
|
-
*/
|
|
91
|
-
export function filterDOMProps<T extends object>(
|
|
92
|
-
props: T,
|
|
93
|
-
opts: FilterDOMPropsOptions = {}
|
|
94
|
-
): Partial<T> {
|
|
95
|
-
const { labelable, isLink, global, events = global, propNames } = opts;
|
|
96
|
-
const filteredProps: Partial<T> = {};
|
|
97
|
-
|
|
98
|
-
for (const prop in props) {
|
|
99
|
-
if (
|
|
100
|
-
Object.prototype.hasOwnProperty.call(props, prop) &&
|
|
101
|
-
(DOMPropNames.has(prop) ||
|
|
102
|
-
(labelable && labelablePropNames.has(prop)) ||
|
|
103
|
-
(isLink && linkPropNames.has(prop)) ||
|
|
104
|
-
(global && globalAttrs.has(prop)) ||
|
|
105
|
-
(events &&
|
|
106
|
-
(globalEvents.has(prop) ||
|
|
107
|
-
(prop.endsWith('Capture') && globalEvents.has(prop.slice(0, -7))))) ||
|
|
108
|
-
propNames?.has(prop) ||
|
|
109
|
-
propRe.test(prop))
|
|
110
|
-
) {
|
|
111
|
-
(filteredProps as Record<string, unknown>)[prop] = props[prop];
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return filteredProps;
|
|
116
|
-
}
|
package/src/utils/focus.ts
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Focus management utilities.
|
|
3
|
-
* Based on @react-aria/utils focus utilities.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { getOwnerDocument } from './dom';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Focuses an element without scrolling the page.
|
|
10
|
-
* Uses preventScroll option with fallback for older browsers.
|
|
11
|
-
*/
|
|
12
|
-
export function focusWithoutScrolling(element: HTMLElement | null): void {
|
|
13
|
-
if (!element) return;
|
|
14
|
-
|
|
15
|
-
// Try using the modern preventScroll option
|
|
16
|
-
try {
|
|
17
|
-
element.focus({ preventScroll: true });
|
|
18
|
-
} catch {
|
|
19
|
-
// Fallback for browsers that don't support preventScroll
|
|
20
|
-
// Save scroll positions and restore after focus
|
|
21
|
-
const scrollableElements = getScrollableAncestors(element);
|
|
22
|
-
const scrollPositions = scrollableElements.map((el) => ({
|
|
23
|
-
element: el,
|
|
24
|
-
scrollTop: el.scrollTop,
|
|
25
|
-
scrollLeft: el.scrollLeft,
|
|
26
|
-
}));
|
|
27
|
-
|
|
28
|
-
element.focus();
|
|
29
|
-
|
|
30
|
-
// Restore scroll positions
|
|
31
|
-
for (const { element: el, scrollTop, scrollLeft } of scrollPositions) {
|
|
32
|
-
el.scrollTop = scrollTop;
|
|
33
|
-
el.scrollLeft = scrollLeft;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Gets all scrollable ancestors of an element.
|
|
40
|
-
*/
|
|
41
|
-
function getScrollableAncestors(element: Element): Element[] {
|
|
42
|
-
const ancestors: Element[] = [];
|
|
43
|
-
let parent = element.parentElement;
|
|
44
|
-
|
|
45
|
-
while (parent) {
|
|
46
|
-
const style = getComputedStyle(parent);
|
|
47
|
-
const overflowY = style.overflowY;
|
|
48
|
-
const overflowX = style.overflowX;
|
|
49
|
-
|
|
50
|
-
if (
|
|
51
|
-
overflowY === 'auto' ||
|
|
52
|
-
overflowY === 'scroll' ||
|
|
53
|
-
overflowX === 'auto' ||
|
|
54
|
-
overflowX === 'scroll'
|
|
55
|
-
) {
|
|
56
|
-
ancestors.push(parent);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
parent = parent.parentElement;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Also include the document scrolling element
|
|
63
|
-
const doc = getOwnerDocument(element);
|
|
64
|
-
ancestors.push(doc.documentElement);
|
|
65
|
-
|
|
66
|
-
return ancestors;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// State for preventFocus
|
|
70
|
-
let ignoreFocus = false;
|
|
71
|
-
let preventFocusTimeout: ReturnType<typeof setTimeout> | null = null;
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Prevents focus from moving to a new element temporarily.
|
|
75
|
-
* Used when clicking on a button that shouldn't steal focus.
|
|
76
|
-
*/
|
|
77
|
-
export function preventFocus(target: Element): void {
|
|
78
|
-
// Find the closest focusable ancestor
|
|
79
|
-
const focusableAncestor = findFocusableAncestor(target);
|
|
80
|
-
if (!focusableAncestor) return;
|
|
81
|
-
|
|
82
|
-
const document = getOwnerDocument(target);
|
|
83
|
-
const activeElement = document.activeElement;
|
|
84
|
-
|
|
85
|
-
// Set flag to ignore next focus event
|
|
86
|
-
ignoreFocus = true;
|
|
87
|
-
|
|
88
|
-
// Capture focus events and prevent them from changing focus
|
|
89
|
-
const onFocus = (e: Event) => {
|
|
90
|
-
if (ignoreFocus) {
|
|
91
|
-
e.stopImmediatePropagation();
|
|
92
|
-
// Refocus the original element if focus moved
|
|
93
|
-
if (activeElement && activeElement !== document.body) {
|
|
94
|
-
(activeElement as HTMLElement).focus();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
const onBlur = (e: Event) => {
|
|
100
|
-
if (ignoreFocus) {
|
|
101
|
-
e.stopImmediatePropagation();
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
// Use capturing to intercept focus before it reaches elements
|
|
106
|
-
// Cast to HTMLElement to access focus event listeners
|
|
107
|
-
const el = focusableAncestor as HTMLElement;
|
|
108
|
-
el.addEventListener('focus', onFocus, true);
|
|
109
|
-
el.addEventListener('blur', onBlur, true);
|
|
110
|
-
el.addEventListener('focusin', onFocus, true);
|
|
111
|
-
el.addEventListener('focusout', onBlur, true);
|
|
112
|
-
|
|
113
|
-
// Clean up after the current event cycle
|
|
114
|
-
if (preventFocusTimeout != null) {
|
|
115
|
-
clearTimeout(preventFocusTimeout);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
preventFocusTimeout = setTimeout(() => {
|
|
119
|
-
ignoreFocus = false;
|
|
120
|
-
el.removeEventListener('focus', onFocus, true);
|
|
121
|
-
el.removeEventListener('blur', onBlur, true);
|
|
122
|
-
el.removeEventListener('focusin', onFocus, true);
|
|
123
|
-
el.removeEventListener('focusout', onBlur, true);
|
|
124
|
-
preventFocusTimeout = null;
|
|
125
|
-
}, 0);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Finds the closest focusable ancestor or the element itself.
|
|
130
|
-
*/
|
|
131
|
-
function findFocusableAncestor(element: Element): Element | null {
|
|
132
|
-
let current: Element | null = element;
|
|
133
|
-
|
|
134
|
-
while (current) {
|
|
135
|
-
if (
|
|
136
|
-
current.hasAttribute('tabindex') ||
|
|
137
|
-
['INPUT', 'BUTTON', 'SELECT', 'TEXTAREA', 'A'].includes(current.tagName)
|
|
138
|
-
) {
|
|
139
|
-
return current;
|
|
140
|
-
}
|
|
141
|
-
current = current.parentElement;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
return element;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Safely focuses an element, alias for focusWithoutScrolling.
|
|
149
|
-
* This matches the react-aria focusSafely function name.
|
|
150
|
-
*/
|
|
151
|
-
export const focusSafely = focusWithoutScrolling;
|
package/src/utils/geometry.ts
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Geometry utilities for pointer/touch hit testing.
|
|
3
|
-
* Based on @react-aria/interactions geometry utilities.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export interface Rect {
|
|
7
|
-
top: number;
|
|
8
|
-
right: number;
|
|
9
|
-
bottom: number;
|
|
10
|
-
left: number;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export interface EventPoint {
|
|
14
|
-
clientX: number;
|
|
15
|
-
clientY: number;
|
|
16
|
-
width?: number;
|
|
17
|
-
height?: number;
|
|
18
|
-
radiusX?: number;
|
|
19
|
-
radiusY?: number;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Checks if two rectangles overlap.
|
|
24
|
-
*/
|
|
25
|
-
export function areRectanglesOverlapping(a: Rect, b: Rect): boolean {
|
|
26
|
-
// Check if one rectangle is to the left of the other
|
|
27
|
-
if (a.left > b.right || b.left > a.right) {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Check if one rectangle is above the other
|
|
32
|
-
if (a.top > b.bottom || b.top > a.bottom) {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Gets the bounding rectangle for an event point (touch/pointer).
|
|
41
|
-
* Takes into account the size of the touch point.
|
|
42
|
-
*/
|
|
43
|
-
export function getPointClientRect(point: EventPoint): Rect {
|
|
44
|
-
let offsetX = 0;
|
|
45
|
-
let offsetY = 0;
|
|
46
|
-
|
|
47
|
-
// Use width/height if available (PointerEvent)
|
|
48
|
-
if (point.width !== undefined && point.width > 0) {
|
|
49
|
-
offsetX = point.width / 2;
|
|
50
|
-
} else if (point.radiusX !== undefined && point.radiusX > 0) {
|
|
51
|
-
// Fallback to radiusX/radiusY (Touch)
|
|
52
|
-
offsetX = point.radiusX;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (point.height !== undefined && point.height > 0) {
|
|
56
|
-
offsetY = point.height / 2;
|
|
57
|
-
} else if (point.radiusY !== undefined && point.radiusY > 0) {
|
|
58
|
-
offsetY = point.radiusY;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return {
|
|
62
|
-
top: point.clientY - offsetY,
|
|
63
|
-
right: point.clientX + offsetX,
|
|
64
|
-
bottom: point.clientY + offsetY,
|
|
65
|
-
left: point.clientX - offsetX,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Checks if a pointer/touch point is over an element.
|
|
71
|
-
*/
|
|
72
|
-
export function isPointOverTarget(point: EventPoint, target: Element): boolean {
|
|
73
|
-
const rect = target.getBoundingClientRect();
|
|
74
|
-
const pointRect = getPointClientRect(point);
|
|
75
|
-
|
|
76
|
-
return areRectanglesOverlapping(
|
|
77
|
-
{
|
|
78
|
-
top: rect.top,
|
|
79
|
-
right: rect.right,
|
|
80
|
-
bottom: rect.bottom,
|
|
81
|
-
left: rect.left,
|
|
82
|
-
},
|
|
83
|
-
pointRect
|
|
84
|
-
);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Gets the first touch from a TouchEvent's targetTouches.
|
|
89
|
-
*/
|
|
90
|
-
export function getTouchFromEvent(event: TouchEvent): Touch | null {
|
|
91
|
-
const { targetTouches } = event;
|
|
92
|
-
if (targetTouches.length > 0) {
|
|
93
|
-
return targetTouches[0];
|
|
94
|
-
}
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Finds a touch by its identifier in changedTouches.
|
|
100
|
-
*/
|
|
101
|
-
export function getTouchById(event: TouchEvent, pointerId: number | null): Touch | null {
|
|
102
|
-
if (pointerId == null) {
|
|
103
|
-
return null;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
const { changedTouches } = event;
|
|
107
|
-
for (let i = 0; i < changedTouches.length; i++) {
|
|
108
|
-
const touch = changedTouches[i];
|
|
109
|
-
if (touch.identifier === pointerId) {
|
|
110
|
-
return touch;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return null;
|
|
115
|
-
}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Global listener management utility.
|
|
3
|
-
* Based on @react-aria/utils useGlobalListeners hook, adapted for SolidJS.
|
|
4
|
-
*
|
|
5
|
-
* In SolidJS, we use onCleanup for automatic cleanup instead of useEffect return.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { onCleanup } from 'solid-js';
|
|
9
|
-
|
|
10
|
-
export interface GlobalListenerOptions extends AddEventListenerOptions {
|
|
11
|
-
/** Whether to add the listener to the window instead of document */
|
|
12
|
-
isWindow?: boolean;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Creates a manager for global event listeners that automatically cleans up.
|
|
17
|
-
* Use this in a component to register document/window level listeners
|
|
18
|
-
* that will be removed when the component unmounts.
|
|
19
|
-
*/
|
|
20
|
-
export function createGlobalListeners() {
|
|
21
|
-
const listeners: Array<{
|
|
22
|
-
target: EventTarget;
|
|
23
|
-
type: string;
|
|
24
|
-
handler: EventListener;
|
|
25
|
-
options?: AddEventListenerOptions;
|
|
26
|
-
}> = [];
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Adds a global event listener.
|
|
30
|
-
*/
|
|
31
|
-
function addGlobalListener<K extends keyof DocumentEventMap>(
|
|
32
|
-
type: K,
|
|
33
|
-
handler: (ev: DocumentEventMap[K]) => void,
|
|
34
|
-
options?: GlobalListenerOptions
|
|
35
|
-
): void;
|
|
36
|
-
function addGlobalListener<K extends keyof WindowEventMap>(
|
|
37
|
-
type: K,
|
|
38
|
-
handler: (ev: WindowEventMap[K]) => void,
|
|
39
|
-
options?: GlobalListenerOptions & { isWindow: true }
|
|
40
|
-
): void;
|
|
41
|
-
function addGlobalListener(
|
|
42
|
-
type: string,
|
|
43
|
-
handler: EventListener,
|
|
44
|
-
options?: GlobalListenerOptions
|
|
45
|
-
): void {
|
|
46
|
-
const target = options?.isWindow ? window : document;
|
|
47
|
-
const listenerOptions = options
|
|
48
|
-
? {
|
|
49
|
-
capture: options.capture,
|
|
50
|
-
passive: options.passive,
|
|
51
|
-
once: options.once,
|
|
52
|
-
}
|
|
53
|
-
: undefined;
|
|
54
|
-
|
|
55
|
-
target.addEventListener(type, handler, listenerOptions);
|
|
56
|
-
listeners.push({ target, type, handler, options: listenerOptions });
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Removes a specific global event listener.
|
|
61
|
-
*/
|
|
62
|
-
function removeGlobalListener<K extends keyof DocumentEventMap>(
|
|
63
|
-
type: K,
|
|
64
|
-
handler: (ev: DocumentEventMap[K]) => void,
|
|
65
|
-
options?: AddEventListenerOptions
|
|
66
|
-
): void;
|
|
67
|
-
function removeGlobalListener<K extends keyof WindowEventMap>(
|
|
68
|
-
type: K,
|
|
69
|
-
handler: (ev: WindowEventMap[K]) => void,
|
|
70
|
-
options?: AddEventListenerOptions & { isWindow: true }
|
|
71
|
-
): void;
|
|
72
|
-
function removeGlobalListener(
|
|
73
|
-
type: string,
|
|
74
|
-
handler: EventListener,
|
|
75
|
-
options?: AddEventListenerOptions & { isWindow?: boolean }
|
|
76
|
-
): void {
|
|
77
|
-
const target = options?.isWindow ? window : document;
|
|
78
|
-
const listenerOptions = options
|
|
79
|
-
? {
|
|
80
|
-
capture: options.capture,
|
|
81
|
-
}
|
|
82
|
-
: undefined;
|
|
83
|
-
|
|
84
|
-
target.removeEventListener(type, handler, listenerOptions);
|
|
85
|
-
|
|
86
|
-
// Remove from tracked listeners
|
|
87
|
-
const index = listeners.findIndex(
|
|
88
|
-
(l) =>
|
|
89
|
-
l.target === target &&
|
|
90
|
-
l.type === type &&
|
|
91
|
-
l.handler === handler &&
|
|
92
|
-
l.options?.capture === listenerOptions?.capture
|
|
93
|
-
);
|
|
94
|
-
if (index !== -1) {
|
|
95
|
-
listeners.splice(index, 1);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Removes all registered global listeners.
|
|
101
|
-
*/
|
|
102
|
-
function removeAllGlobalListeners(): void {
|
|
103
|
-
for (const { target, type, handler, options } of listeners) {
|
|
104
|
-
target.removeEventListener(type, handler, options);
|
|
105
|
-
}
|
|
106
|
-
listeners.length = 0;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
// Automatically clean up when the component/scope is disposed
|
|
110
|
-
onCleanup(removeAllGlobalListeners);
|
|
111
|
-
|
|
112
|
-
return {
|
|
113
|
-
addGlobalListener,
|
|
114
|
-
removeGlobalListener,
|
|
115
|
-
removeAllGlobalListeners,
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Simple utility to add a single global listener with automatic cleanup.
|
|
121
|
-
* For one-off listeners where the full manager isn't needed.
|
|
122
|
-
*/
|
|
123
|
-
export function addGlobalListenerOnce<K extends keyof DocumentEventMap>(
|
|
124
|
-
type: K,
|
|
125
|
-
handler: (ev: DocumentEventMap[K]) => void,
|
|
126
|
-
options?: GlobalListenerOptions
|
|
127
|
-
): () => void {
|
|
128
|
-
const target = options?.isWindow ? window : document;
|
|
129
|
-
const listenerOptions = options
|
|
130
|
-
? {
|
|
131
|
-
capture: options.capture,
|
|
132
|
-
passive: options.passive,
|
|
133
|
-
once: options.once,
|
|
134
|
-
}
|
|
135
|
-
: undefined;
|
|
136
|
-
|
|
137
|
-
target.addEventListener(type, handler as EventListener, listenerOptions);
|
|
138
|
-
|
|
139
|
-
return () => {
|
|
140
|
-
target.removeEventListener(type, handler as EventListener, listenerOptions);
|
|
141
|
-
};
|
|
142
|
-
}
|
package/src/utils/index.ts
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
export { mergeProps } from './mergeProps';
|
|
2
|
-
export { filterDOMProps, type FilterDOMPropsOptions } from './filterDOMProps';
|
|
3
|
-
|
|
4
|
-
// Reactivity utilities
|
|
5
|
-
export { access, isAccessor, type MaybeAccessor, type MaybeAccessorValue } from './reactivity';
|
|
6
|
-
|
|
7
|
-
// Platform detection
|
|
8
|
-
export {
|
|
9
|
-
isMac,
|
|
10
|
-
isIPhone,
|
|
11
|
-
isIPad,
|
|
12
|
-
isIOS,
|
|
13
|
-
isAppleDevice,
|
|
14
|
-
isWebKit,
|
|
15
|
-
isChrome,
|
|
16
|
-
isAndroid,
|
|
17
|
-
isFirefox,
|
|
18
|
-
} from './platform';
|
|
19
|
-
|
|
20
|
-
// DOM utilities
|
|
21
|
-
export {
|
|
22
|
-
getOwnerDocument,
|
|
23
|
-
getOwnerWindow,
|
|
24
|
-
nodeContains,
|
|
25
|
-
getEventTarget,
|
|
26
|
-
isFocusable,
|
|
27
|
-
isValidKeyboardEvent,
|
|
28
|
-
isValidInputKey,
|
|
29
|
-
isHTMLAnchorLink,
|
|
30
|
-
shouldPreventDefaultKeyboard,
|
|
31
|
-
shouldPreventDefaultUp,
|
|
32
|
-
openLink,
|
|
33
|
-
isScrollable,
|
|
34
|
-
getScrollParent,
|
|
35
|
-
willOpenKeyboard,
|
|
36
|
-
} from './dom';
|
|
37
|
-
|
|
38
|
-
// Geometry utilities
|
|
39
|
-
export {
|
|
40
|
-
areRectanglesOverlapping,
|
|
41
|
-
getPointClientRect,
|
|
42
|
-
isPointOverTarget,
|
|
43
|
-
getTouchFromEvent,
|
|
44
|
-
getTouchById,
|
|
45
|
-
type Rect,
|
|
46
|
-
type EventPoint,
|
|
47
|
-
} from './geometry';
|
|
48
|
-
|
|
49
|
-
// Event utilities
|
|
50
|
-
export {
|
|
51
|
-
isVirtualClick,
|
|
52
|
-
isVirtualPointerEvent,
|
|
53
|
-
createMouseEvent,
|
|
54
|
-
chain,
|
|
55
|
-
setEventTarget,
|
|
56
|
-
} from './events';
|
|
57
|
-
|
|
58
|
-
// Text selection management
|
|
59
|
-
export { disableTextSelection, restoreTextSelection } from './textSelection';
|
|
60
|
-
|
|
61
|
-
// Focus utilities
|
|
62
|
-
export { focusWithoutScrolling, focusSafely, preventFocus } from './focus';
|
|
63
|
-
|
|
64
|
-
// Global listener management
|
|
65
|
-
export {
|
|
66
|
-
createGlobalListeners,
|
|
67
|
-
addGlobalListenerOnce,
|
|
68
|
-
type GlobalListenerOptions,
|
|
69
|
-
} from './globalListeners';
|
|
70
|
-
|
|
71
|
-
// Environment detection
|
|
72
|
-
export { isTestEnv, isDevEnv, isProdEnv } from './env';
|
|
73
|
-
|
|
74
|
-
// Description utility for aria-describedby
|
|
75
|
-
export {
|
|
76
|
-
createDescription,
|
|
77
|
-
type DescriptionProps,
|
|
78
|
-
getDescriptionNodeCount,
|
|
79
|
-
clearDescriptionNodes,
|
|
80
|
-
} from './createDescription';
|
package/src/utils/mergeProps.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
type Props = { [key: string]: unknown };
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Merges multiple props objects together, handling event handlers specially
|
|
5
|
-
* by chaining them rather than replacing.
|
|
6
|
-
*
|
|
7
|
-
* Based on react-aria's mergeProps but adapted for SolidJS.
|
|
8
|
-
*
|
|
9
|
-
* @param args - Props objects to merge
|
|
10
|
-
* @returns Merged props object. Use type parameter R to specify the result type.
|
|
11
|
-
*/
|
|
12
|
-
export function mergeProps<R extends object = Record<string, unknown>, T extends object = object>(...args: T[]): R {
|
|
13
|
-
const result: Props = {};
|
|
14
|
-
|
|
15
|
-
for (const props of args) {
|
|
16
|
-
for (const key in props) {
|
|
17
|
-
const value = props[key];
|
|
18
|
-
const existingValue = result[key];
|
|
19
|
-
|
|
20
|
-
if (
|
|
21
|
-
typeof existingValue === 'function' &&
|
|
22
|
-
typeof value === 'function' &&
|
|
23
|
-
key.startsWith('on') &&
|
|
24
|
-
key[2] === key[2]?.toUpperCase()
|
|
25
|
-
) {
|
|
26
|
-
// Chain event handlers
|
|
27
|
-
result[key] = chainHandlers(existingValue as Function, value as Function);
|
|
28
|
-
} else if (key === 'class' || key === 'className') {
|
|
29
|
-
// Merge class names
|
|
30
|
-
result[key] = mergeClassNames(existingValue, value);
|
|
31
|
-
} else if (key === 'style' && typeof existingValue === 'object' && typeof value === 'object') {
|
|
32
|
-
// Merge style objects
|
|
33
|
-
result[key] = { ...(existingValue as object), ...(value as object) };
|
|
34
|
-
} else if (value !== undefined) {
|
|
35
|
-
result[key] = value;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return result as R;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function chainHandlers(existingHandler: Function, newHandler: Function) {
|
|
44
|
-
return (...args: unknown[]) => {
|
|
45
|
-
existingHandler(...args);
|
|
46
|
-
newHandler(...args);
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function mergeClassNames(...classes: unknown[]): string {
|
|
51
|
-
return classes.filter(Boolean).join(' ');
|
|
52
|
-
}
|
package/src/utils/platform.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Platform detection utilities.
|
|
3
|
-
* Based on @react-aria/utils platform detection.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
function testPlatform(re: RegExp): boolean {
|
|
7
|
-
return typeof window !== 'undefined' && window.navigator != null
|
|
8
|
-
? re.test(window.navigator.platform || (window.navigator as any).userAgentData?.platform || '')
|
|
9
|
-
: false;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function testUserAgent(re: RegExp): boolean {
|
|
13
|
-
return typeof window !== 'undefined' && window.navigator != null
|
|
14
|
-
? re.test(window.navigator.userAgent)
|
|
15
|
-
: false;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function isMac(): boolean {
|
|
19
|
-
return testPlatform(/^Mac/i);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export function isIPhone(): boolean {
|
|
23
|
-
return testPlatform(/^iPhone/i);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export function isIPad(): boolean {
|
|
27
|
-
return testPlatform(/^iPad/i) || (isMac() && navigator.maxTouchPoints > 1);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export function isIOS(): boolean {
|
|
31
|
-
return isIPhone() || isIPad();
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export function isAppleDevice(): boolean {
|
|
35
|
-
return isMac() || isIOS();
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export function isWebKit(): boolean {
|
|
39
|
-
return testUserAgent(/AppleWebKit/i) && !isChrome();
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export function isChrome(): boolean {
|
|
43
|
-
return testUserAgent(/Chrome/i);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export function isAndroid(): boolean {
|
|
47
|
-
return testUserAgent(/Android/i);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export function isFirefox(): boolean {
|
|
51
|
-
return testUserAgent(/Firefox/i);
|
|
52
|
-
}
|