@proyecto-viviana/solidaria 0.2.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -236
- package/dist/actiongroup/createActionGroup.d.ts +5 -5
- package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
- package/dist/actiongroup/index.d.ts +1 -1
- package/dist/autocomplete/createAutocomplete.d.ts +10 -10
- package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
- package/dist/autocomplete/index.d.ts +1 -1
- package/dist/autocomplete/index.d.ts.map +1 -1
- package/dist/breadcrumbs/createBreadcrumbs.d.ts +9 -7
- package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
- package/dist/breadcrumbs/index.d.ts +1 -1
- package/dist/button/createButton.d.ts +1 -1
- package/dist/button/createButton.d.ts.map +1 -1
- package/dist/button/createToggleButton.d.ts +3 -3
- package/dist/button/createToggleButtonGroup.d.ts +7 -7
- package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
- package/dist/button/index.d.ts +6 -6
- package/dist/button/index.d.ts.map +1 -1
- package/dist/button/types.d.ts +18 -12
- package/dist/button/types.d.ts.map +1 -1
- package/dist/calendar/createCalendar.d.ts +15 -5
- package/dist/calendar/createCalendar.d.ts.map +1 -1
- package/dist/calendar/createCalendarCell.d.ts +6 -2
- package/dist/calendar/createCalendarCell.d.ts.map +1 -1
- package/dist/calendar/createCalendarGrid.d.ts +4 -4
- package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendar.d.ts +15 -5
- package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendarCell.d.ts +4 -2
- package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
- package/dist/calendar/index.d.ts +5 -5
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/intl/index.d.ts +12 -0
- package/dist/calendar/intl/index.d.ts.map +1 -0
- package/dist/calendar/utils.d.ts +12 -0
- package/dist/calendar/utils.d.ts.map +1 -0
- package/dist/checkbox/createCheckbox.d.ts +6 -6
- package/dist/checkbox/createCheckbox.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroup.d.ts +7 -7
- package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupItem.d.ts +4 -4
- package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupState.d.ts +2 -2
- package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -1
- package/dist/checkbox/index.d.ts +8 -8
- package/dist/checkbox/index.d.ts.map +1 -1
- package/dist/collections/index.d.ts +3 -3
- package/dist/collections/index.d.ts.map +1 -1
- package/dist/color/createColorArea.d.ts +3 -3
- package/dist/color/createColorArea.d.ts.map +1 -1
- package/dist/color/createColorField.d.ts +4 -4
- package/dist/color/createColorField.d.ts.map +1 -1
- package/dist/color/createColorSlider.d.ts +4 -4
- package/dist/color/createColorSlider.d.ts.map +1 -1
- package/dist/color/createColorSwatch.d.ts +2 -2
- package/dist/color/createColorSwatch.d.ts.map +1 -1
- package/dist/color/createColorWheel.d.ts +3 -3
- package/dist/color/createColorWheel.d.ts.map +1 -1
- package/dist/color/index.d.ts +6 -6
- package/dist/color/types.d.ts +98 -16
- package/dist/color/types.d.ts.map +1 -1
- package/dist/combobox/createComboBox.d.ts +10 -7
- package/dist/combobox/createComboBox.d.ts.map +1 -1
- package/dist/combobox/index.d.ts +1 -1
- package/dist/combobox/intl/index.d.ts +1 -1
- package/dist/datepicker/createDateField.d.ts +18 -6
- package/dist/datepicker/createDateField.d.ts.map +1 -1
- package/dist/datepicker/createDatePicker.d.ts +51 -5
- package/dist/datepicker/createDatePicker.d.ts.map +1 -1
- package/dist/datepicker/createDatePickerGroup.d.ts +19 -0
- package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -0
- package/dist/datepicker/createDateRangePicker.d.ts +8 -6
- package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
- package/dist/datepicker/createDateSegment.d.ts +10 -2
- package/dist/datepicker/createDateSegment.d.ts.map +1 -1
- package/dist/datepicker/createTimeField.d.ts +11 -5
- package/dist/datepicker/createTimeField.d.ts.map +1 -1
- package/dist/datepicker/createTimeSegment.d.ts +2 -2
- package/dist/datepicker/createTimeSegment.d.ts.map +1 -1
- package/dist/datepicker/index.d.ts +7 -6
- package/dist/datepicker/index.d.ts.map +1 -1
- package/dist/dialog/createDialog.d.ts +5 -5
- package/dist/dialog/createDialog.d.ts.map +1 -1
- package/dist/dialog/index.d.ts +2 -2
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/dialog/types.d.ts +4 -4
- package/dist/disclosure/createDisclosure.d.ts +5 -2
- package/dist/disclosure/createDisclosure.d.ts.map +1 -1
- package/dist/disclosure/createDisclosureGroup.d.ts +4 -4
- package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
- package/dist/disclosure/index.d.ts +2 -2
- package/dist/dnd/createDrag.d.ts +2 -2
- package/dist/dnd/createDrag.d.ts.map +1 -1
- package/dist/dnd/createDraggableCollection.d.ts +2 -2
- package/dist/dnd/createDraggableItem.d.ts +3 -3
- package/dist/dnd/createDraggableItem.d.ts.map +1 -1
- package/dist/dnd/createDrop.d.ts +2 -2
- package/dist/dnd/createDrop.d.ts.map +1 -1
- package/dist/dnd/createDroppableCollection.d.ts +26 -6
- package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
- package/dist/dnd/createDroppableItem.d.ts +3 -3
- package/dist/dnd/index.d.ts +12 -12
- package/dist/dnd/index.d.ts.map +1 -1
- package/dist/dnd/types.d.ts +2 -2
- package/dist/dnd/types.d.ts.map +1 -1
- package/dist/dnd/utils.d.ts +1 -1
- package/dist/dnd/utils.d.ts.map +1 -1
- package/dist/focus/FocusScope.d.ts +1 -1
- package/dist/focus/FocusScope.d.ts.map +1 -1
- package/dist/focus/createAutoFocus.d.ts.map +1 -1
- package/dist/focus/createFocusRestore.d.ts.map +1 -1
- package/dist/focus/createVirtualFocus.d.ts +4 -4
- package/dist/focus/createVirtualFocus.d.ts.map +1 -1
- package/dist/focus/index.d.ts +4 -4
- package/dist/focus/index.d.ts.map +1 -1
- package/dist/form/createFormReset.d.ts +1 -1
- package/dist/form/createFormValidation.d.ts +3 -3
- package/dist/form/createFormValidation.d.ts.map +1 -1
- package/dist/form/index.d.ts +2 -2
- package/dist/form/index.d.ts.map +1 -1
- package/dist/grid/GridKeyboardDelegate.d.ts +5 -5
- package/dist/grid/createGrid.d.ts +3 -3
- package/dist/grid/createGridCell.d.ts +3 -3
- package/dist/grid/createGridRow.d.ts +3 -3
- package/dist/grid/index.d.ts +5 -5
- package/dist/grid/types.d.ts +8 -8
- package/dist/gridlist/createGridList.d.ts +6 -4
- package/dist/gridlist/createGridList.d.ts.map +1 -1
- package/dist/gridlist/createGridListItem.d.ts +4 -4
- package/dist/gridlist/createGridListItem.d.ts.map +1 -1
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts +3 -3
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
- package/dist/gridlist/index.d.ts +4 -4
- package/dist/gridlist/types.d.ts +11 -7
- package/dist/gridlist/types.d.ts.map +1 -1
- package/dist/i18n/createCollator.d.ts.map +1 -1
- package/dist/i18n/createDateFormatter.d.ts.map +1 -1
- package/dist/i18n/createFilter.d.ts.map +1 -1
- package/dist/i18n/createNumberFormatter.d.ts +1 -1
- package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
- package/dist/i18n/createStringFormatter.d.ts +2 -2
- package/dist/i18n/createStringFormatter.d.ts.map +1 -1
- package/dist/i18n/index.d.ts +8 -8
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/locale.d.ts +2 -2
- package/dist/i18n/locale.d.ts.map +1 -1
- package/dist/i18n/utils.d.ts.map +1 -1
- package/dist/index.d.ts +52 -51
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18012 -16820
- package/dist/index.js.map +1 -1
- package/dist/index.jsx +18242 -0
- package/dist/index.jsx.map +1 -0
- package/dist/interactions/FocusableProvider.d.ts +2 -2
- package/dist/interactions/FocusableProvider.d.ts.map +1 -1
- package/dist/interactions/PressEvent.d.ts +2 -2
- package/dist/interactions/createFocus.d.ts +1 -1
- package/dist/interactions/createFocus.d.ts.map +1 -1
- package/dist/interactions/createFocusRing.d.ts +1 -1
- package/dist/interactions/createFocusRing.d.ts.map +1 -1
- package/dist/interactions/createFocusWithin.d.ts +1 -1
- package/dist/interactions/createFocusWithin.d.ts.map +1 -1
- package/dist/interactions/createFocusable.d.ts +3 -3
- package/dist/interactions/createFocusable.d.ts.map +1 -1
- package/dist/interactions/createHover.d.ts +5 -5
- package/dist/interactions/createHover.d.ts.map +1 -1
- package/dist/interactions/createInteractionModality.d.ts +3 -3
- package/dist/interactions/createInteractionModality.d.ts.map +1 -1
- package/dist/interactions/createKeyboard.d.ts +1 -1
- package/dist/interactions/createLongPress.d.ts +5 -5
- package/dist/interactions/createMove.d.ts +5 -5
- package/dist/interactions/createMove.d.ts.map +1 -1
- package/dist/interactions/createPress.d.ts +4 -4
- package/dist/interactions/createPress.d.ts.map +1 -1
- package/dist/interactions/index.d.ts +12 -12
- package/dist/interactions/index.d.ts.map +1 -1
- package/dist/label/createField.d.ts +4 -4
- package/dist/label/createField.d.ts.map +1 -1
- package/dist/label/createLabel.d.ts +7 -7
- package/dist/label/createLabel.d.ts.map +1 -1
- package/dist/label/createLabels.d.ts +1 -1
- package/dist/label/createLabels.d.ts.map +1 -1
- package/dist/label/index.d.ts +5 -5
- package/dist/landmark/createLandmark.d.ts +5 -5
- package/dist/landmark/createLandmark.d.ts.map +1 -1
- package/dist/landmark/index.d.ts +1 -1
- package/dist/link/createLink.d.ts +14 -8
- package/dist/link/createLink.d.ts.map +1 -1
- package/dist/link/index.d.ts +1 -1
- package/dist/listbox/createListBox.d.ts +11 -6
- package/dist/listbox/createListBox.d.ts.map +1 -1
- package/dist/listbox/createOption.d.ts +21 -4
- package/dist/listbox/createOption.d.ts.map +1 -1
- package/dist/listbox/index.d.ts +2 -2
- package/dist/listbox/index.d.ts.map +1 -1
- package/dist/live-announcer/announce.d.ts +2 -2
- package/dist/live-announcer/announce.d.ts.map +1 -1
- package/dist/live-announcer/index.d.ts +1 -1
- package/dist/menu/createMenu.d.ts +7 -7
- package/dist/menu/createMenu.d.ts.map +1 -1
- package/dist/menu/createMenuItem.d.ts +16 -4
- package/dist/menu/createMenuItem.d.ts.map +1 -1
- package/dist/menu/createMenuTrigger.d.ts +4 -4
- package/dist/menu/index.d.ts +3 -3
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/meter/createMeter.d.ts +6 -6
- package/dist/meter/createMeter.d.ts.map +1 -1
- package/dist/meter/index.d.ts +1 -1
- package/dist/numberfield/createNumberField.d.ts +9 -8
- package/dist/numberfield/createNumberField.d.ts.map +1 -1
- package/dist/numberfield/index.d.ts +1 -1
- package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
- package/dist/overlays/createModal.d.ts +3 -3
- package/dist/overlays/createModal.d.ts.map +1 -1
- package/dist/overlays/createOverlay.d.ts +1 -1
- package/dist/overlays/createOverlay.d.ts.map +1 -1
- package/dist/overlays/createOverlayTrigger.d.ts +6 -6
- package/dist/overlays/index.d.ts +6 -6
- package/dist/overlays/index.d.ts.map +1 -1
- package/dist/popover/calculatePosition.d.ts +4 -4
- package/dist/popover/calculatePosition.d.ts.map +1 -1
- package/dist/popover/createOverlayPosition.d.ts +3 -3
- package/dist/popover/createOverlayPosition.d.ts.map +1 -1
- package/dist/popover/createPopover.d.ts +4 -4
- package/dist/popover/createPopover.d.ts.map +1 -1
- package/dist/popover/index.d.ts +3 -3
- package/dist/progress/createProgressBar.d.ts +7 -5
- package/dist/progress/createProgressBar.d.ts.map +1 -1
- package/dist/progress/index.d.ts +1 -1
- package/dist/radio/createRadio.d.ts +7 -7
- package/dist/radio/createRadio.d.ts.map +1 -1
- package/dist/radio/createRadioGroup.d.ts +10 -10
- package/dist/radio/createRadioGroup.d.ts.map +1 -1
- package/dist/radio/createRadioGroupState.d.ts +3 -3
- package/dist/radio/createRadioGroupState.d.ts.map +1 -1
- package/dist/radio/index.d.ts +3 -3
- package/dist/radio/index.d.ts.map +1 -1
- package/dist/searchfield/createSearchField.d.ts +7 -7
- package/dist/searchfield/createSearchField.d.ts.map +1 -1
- package/dist/searchfield/index.d.ts +2 -2
- package/dist/select/createHiddenSelect.d.ts +4 -4
- package/dist/select/createHiddenSelect.d.ts.map +1 -1
- package/dist/select/createSelect.d.ts +14 -6
- package/dist/select/createSelect.d.ts.map +1 -1
- package/dist/select/index.d.ts +2 -2
- package/dist/select/index.d.ts.map +1 -1
- package/dist/selection/createTypeSelect.d.ts +2 -2
- package/dist/selection/index.d.ts +1 -1
- package/dist/separator/createSeparator.d.ts +9 -5
- package/dist/separator/createSeparator.d.ts.map +1 -1
- package/dist/separator/index.d.ts +1 -1
- package/dist/slider/createSlider.d.ts +11 -7
- package/dist/slider/createSlider.d.ts.map +1 -1
- package/dist/slider/index.d.ts +2 -2
- package/dist/ssr/index.d.ts +1 -1
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/steplist/createStepList.d.ts +36 -0
- package/dist/steplist/createStepList.d.ts.map +1 -0
- package/dist/steplist/index.d.ts +2 -0
- package/dist/steplist/index.d.ts.map +1 -0
- package/dist/switch/createSwitch.d.ts +6 -4
- package/dist/switch/createSwitch.d.ts.map +1 -1
- package/dist/switch/index.d.ts +1 -1
- package/dist/table/createTable.d.ts +3 -3
- package/dist/table/createTable.d.ts.map +1 -1
- package/dist/table/createTableCell.d.ts +3 -3
- package/dist/table/createTableCell.d.ts.map +1 -1
- package/dist/table/createTableColumnHeader.d.ts +3 -3
- package/dist/table/createTableColumnHeader.d.ts.map +1 -1
- package/dist/table/createTableColumnResize.d.ts +41 -0
- package/dist/table/createTableColumnResize.d.ts.map +1 -0
- package/dist/table/createTableHeaderRow.d.ts +3 -3
- package/dist/table/createTableRow.d.ts +3 -3
- package/dist/table/createTableRow.d.ts.map +1 -1
- package/dist/table/createTableRowGroup.d.ts +2 -2
- package/dist/table/createTableRowGroup.d.ts.map +1 -1
- package/dist/table/createTableSelectAllCheckbox.d.ts +3 -3
- package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
- package/dist/table/createTableSelectionCheckbox.d.ts +3 -3
- package/dist/table/index.d.ts +11 -9
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/types.d.ts +15 -7
- package/dist/table/types.d.ts.map +1 -1
- package/dist/tabs/createTabs.d.ts +28 -25
- package/dist/tabs/createTabs.d.ts.map +1 -1
- package/dist/tabs/index.d.ts +1 -1
- package/dist/tag/createTag.d.ts +2 -2
- package/dist/tag/createTag.d.ts.map +1 -1
- package/dist/tag/createTagGroup.d.ts +5 -5
- package/dist/tag/createTagGroup.d.ts.map +1 -1
- package/dist/tag/index.d.ts +2 -2
- package/dist/tag/index.d.ts.map +1 -1
- package/dist/textfield/createTextField.d.ts +17 -11
- package/dist/textfield/createTextField.d.ts.map +1 -1
- package/dist/textfield/index.d.ts +1 -1
- package/dist/textfield/index.d.ts.map +1 -1
- package/dist/toast/createToast.d.ts +2 -2
- package/dist/toast/createToast.d.ts.map +1 -1
- package/dist/toast/createToastRegion.d.ts +5 -3
- package/dist/toast/createToastRegion.d.ts.map +1 -1
- package/dist/toast/index.d.ts +2 -2
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toggle/createToggle.d.ts +9 -9
- package/dist/toggle/createToggle.d.ts.map +1 -1
- package/dist/toggle/createToggleState.d.ts +2 -2
- package/dist/toggle/createToggleState.d.ts.map +1 -1
- package/dist/toggle/index.d.ts +4 -4
- package/dist/toggle/index.d.ts.map +1 -1
- package/dist/toolbar/createToolbar.d.ts +9 -9
- package/dist/toolbar/createToolbar.d.ts.map +1 -1
- package/dist/toolbar/index.d.ts +1 -1
- package/dist/toolbar/index.d.ts.map +1 -1
- package/dist/tooltip/createTooltip.d.ts +5 -5
- package/dist/tooltip/createTooltip.d.ts.map +1 -1
- package/dist/tooltip/createTooltipTrigger.d.ts +10 -5
- package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
- package/dist/tooltip/index.d.ts +2 -2
- package/dist/tree/createTree.d.ts +3 -3
- package/dist/tree/createTree.d.ts.map +1 -1
- package/dist/tree/createTreeItem.d.ts +4 -4
- package/dist/tree/createTreeItem.d.ts.map +1 -1
- package/dist/tree/createTreeSelectionCheckbox.d.ts +3 -3
- package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
- package/dist/tree/index.d.ts +4 -4
- package/dist/tree/types.d.ts +10 -6
- package/dist/tree/types.d.ts.map +1 -1
- package/dist/utils/createDescription.d.ts +2 -2
- package/dist/utils/createDescription.d.ts.map +1 -1
- package/dist/utils/dom.d.ts.map +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/focus.d.ts +1 -1
- package/dist/utils/focus.d.ts.map +1 -1
- package/dist/utils/geometry.d.ts.map +1 -1
- package/dist/utils/index.d.ts +12 -12
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/mergeProps.d.ts.map +1 -1
- package/dist/utils/reactivity.d.ts +1 -1
- package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -2
- package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
- package/dist/visually-hidden/index.d.ts +1 -1
- package/package.json +32 -32
- package/src/actiongroup/createActionGroup.ts +101 -91
- package/src/actiongroup/index.ts +1 -1
- package/src/autocomplete/createAutocomplete.ts +117 -134
- package/src/autocomplete/index.ts +1 -1
- package/src/breadcrumbs/createBreadcrumbs.ts +33 -42
- package/src/breadcrumbs/index.ts +1 -1
- package/src/button/createButton.ts +102 -73
- package/src/button/createToggleButton.ts +10 -10
- package/src/button/createToggleButtonGroup.ts +25 -32
- package/src/button/index.ts +6 -9
- package/src/button/types.ts +18 -12
- package/src/calendar/createCalendar.ts +62 -29
- package/src/calendar/createCalendarCell.ts +98 -46
- package/src/calendar/createCalendarGrid.ts +57 -35
- package/src/calendar/createRangeCalendar.ts +66 -31
- package/src/calendar/createRangeCalendarCell.ts +92 -31
- package/src/calendar/index.ts +5 -9
- package/src/calendar/intl/index.ts +210 -0
- package/src/calendar/utils.ts +227 -0
- package/src/checkbox/createCheckbox.ts +13 -21
- package/src/checkbox/createCheckboxGroup.ts +68 -44
- package/src/checkbox/createCheckboxGroupItem.ts +16 -27
- package/src/checkbox/createCheckboxGroupState.ts +3 -22
- package/src/checkbox/index.ts +8 -10
- package/src/collections/index.ts +33 -29
- package/src/color/createColorArea.ts +232 -154
- package/src/color/createColorField.ts +107 -58
- package/src/color/createColorSlider.ts +231 -73
- package/src/color/createColorSwatch.ts +38 -13
- package/src/color/createColorWheel.ts +208 -83
- package/src/color/index.ts +6 -6
- package/src/color/types.ts +98 -16
- package/src/combobox/createComboBox.ts +157 -100
- package/src/combobox/index.ts +1 -1
- package/src/combobox/intl/index.ts +5 -5
- package/src/datepicker/createDateField.ts +192 -39
- package/src/datepicker/createDatePicker.ts +260 -67
- package/src/datepicker/createDatePickerGroup.ts +149 -0
- package/src/datepicker/createDateRangePicker.ts +105 -57
- package/src/datepicker/createDateSegment.ts +183 -96
- package/src/datepicker/createTimeField.ts +38 -34
- package/src/datepicker/createTimeSegment.ts +67 -85
- package/src/datepicker/index.ts +13 -14
- package/src/dialog/createDialog.ts +45 -38
- package/src/dialog/index.ts +2 -2
- package/src/dialog/types.ts +4 -4
- package/src/disclosure/createDisclosure.ts +138 -33
- package/src/disclosure/createDisclosureGroup.ts +8 -21
- package/src/disclosure/index.ts +2 -2
- package/src/dnd/createDrag.ts +19 -25
- package/src/dnd/createDraggableCollection.ts +4 -4
- package/src/dnd/createDraggableItem.ts +20 -19
- package/src/dnd/createDrop.ts +42 -51
- package/src/dnd/createDroppableCollection.ts +290 -173
- package/src/dnd/createDroppableItem.ts +34 -34
- package/src/dnd/index.ts +23 -12
- package/src/dnd/types.ts +4 -7
- package/src/dnd/utils.ts +36 -49
- package/src/focus/FocusScope.tsx +155 -164
- package/src/focus/createAutoFocus.ts +4 -20
- package/src/focus/createFocusRestore.ts +15 -28
- package/src/focus/createVirtualFocus.ts +20 -36
- package/src/focus/index.ts +4 -8
- package/src/form/createFormReset.ts +4 -4
- package/src/form/createFormValidation.ts +20 -43
- package/src/form/index.ts +2 -5
- package/src/grid/GridKeyboardDelegate.ts +30 -30
- package/src/grid/createGrid.ts +36 -36
- package/src/grid/createGridCell.ts +18 -18
- package/src/grid/createGridRow.ts +14 -14
- package/src/grid/index.ts +5 -5
- package/src/grid/types.ts +8 -8
- package/src/gridlist/createGridList.ts +34 -29
- package/src/gridlist/createGridListItem.ts +68 -23
- package/src/gridlist/createGridListSelectionCheckbox.ts +12 -9
- package/src/gridlist/index.ts +4 -4
- package/src/gridlist/types.ts +11 -7
- package/src/i18n/createCollator.ts +5 -18
- package/src/i18n/createDateFormatter.ts +5 -13
- package/src/i18n/createFilter.ts +11 -24
- package/src/i18n/createNumberFormatter.ts +4 -6
- package/src/i18n/createStringFormatter.ts +19 -15
- package/src/i18n/index.ts +8 -11
- package/src/i18n/locale.tsx +15 -40
- package/src/i18n/utils.ts +35 -39
- package/src/index.ts +68 -169
- package/src/interactions/FocusableProvider.tsx +3 -7
- package/src/interactions/PressEvent.ts +4 -4
- package/src/interactions/createFocus.ts +12 -8
- package/src/interactions/createFocusRing.ts +21 -19
- package/src/interactions/createFocusWithin.ts +20 -13
- package/src/interactions/createFocusable.ts +15 -16
- package/src/interactions/createHover.ts +70 -55
- package/src/interactions/createInteractionModality.ts +75 -82
- package/src/interactions/createKeyboard.ts +2 -2
- package/src/interactions/createLongPress.ts +23 -23
- package/src/interactions/createMove.ts +72 -62
- package/src/interactions/createPress.ts +164 -87
- package/src/interactions/index.ts +24 -16
- package/src/label/createField.ts +18 -19
- package/src/label/createLabel.ts +18 -30
- package/src/label/createLabels.ts +8 -12
- package/src/label/index.ts +5 -5
- package/src/landmark/createLandmark.ts +30 -51
- package/src/landmark/index.ts +1 -1
- package/src/link/createLink.ts +83 -56
- package/src/link/index.ts +1 -1
- package/src/listbox/createListBox.ts +69 -58
- package/src/listbox/createOption.ts +83 -37
- package/src/listbox/index.ts +2 -6
- package/src/live-announcer/announce.ts +44 -71
- package/src/live-announcer/index.ts +1 -1
- package/src/menu/createMenu.ts +79 -50
- package/src/menu/createMenuItem.ts +79 -27
- package/src/menu/createMenuTrigger.ts +15 -15
- package/src/menu/index.ts +3 -12
- package/src/meter/createMeter.ts +7 -15
- package/src/meter/index.ts +1 -1
- package/src/numberfield/createNumberField.ts +138 -81
- package/src/numberfield/index.ts +1 -1
- package/src/overlays/ariaHideOutside.ts +14 -10
- package/src/overlays/createInteractOutside.ts +21 -18
- package/src/overlays/createModal.tsx +17 -17
- package/src/overlays/createOverlay.ts +38 -8
- package/src/overlays/createOverlayTrigger.ts +16 -16
- package/src/overlays/createPreventScroll.ts +46 -24
- package/src/overlays/index.ts +6 -17
- package/src/popover/calculatePosition.ts +115 -117
- package/src/popover/createOverlayPosition.ts +46 -40
- package/src/popover/createPopover.ts +42 -17
- package/src/popover/index.ts +3 -3
- package/src/progress/createProgressBar.ts +31 -32
- package/src/progress/index.ts +1 -1
- package/src/radio/createRadio.ts +95 -73
- package/src/radio/createRadioGroup.ts +83 -77
- package/src/radio/createRadioGroupState.ts +7 -31
- package/src/radio/index.ts +3 -8
- package/src/searchfield/createSearchField.ts +57 -29
- package/src/searchfield/index.ts +2 -2
- package/src/select/createHiddenSelect.tsx +57 -44
- package/src/select/createSelect.ts +128 -71
- package/src/select/index.ts +2 -7
- package/src/selection/createTypeSelect.ts +11 -11
- package/src/selection/index.ts +1 -1
- package/src/separator/createSeparator.ts +20 -25
- package/src/separator/index.ts +1 -1
- package/src/slider/createSlider.ts +93 -124
- package/src/slider/index.ts +2 -2
- package/src/ssr/index.tsx +8 -47
- package/src/steplist/createStepList.ts +106 -0
- package/src/steplist/index.ts +8 -0
- package/src/switch/createSwitch.ts +9 -14
- package/src/switch/index.ts +1 -1
- package/src/table/createTable.ts +152 -85
- package/src/table/createTableCell.ts +17 -16
- package/src/table/createTableColumnHeader.ts +67 -20
- package/src/table/createTableColumnResize.ts +256 -0
- package/src/table/createTableHeaderRow.ts +7 -7
- package/src/table/createTableRow.ts +149 -29
- package/src/table/createTableRowGroup.ts +5 -7
- package/src/table/createTableSelectAllCheckbox.ts +12 -11
- package/src/table/createTableSelectionCheckbox.ts +8 -8
- package/src/table/index.ts +14 -9
- package/src/table/types.ts +15 -7
- package/src/tabs/createTabs.ts +74 -92
- package/src/tabs/index.ts +1 -1
- package/src/tag/createTag.ts +52 -50
- package/src/tag/createTagGroup.ts +47 -41
- package/src/tag/index.ts +2 -6
- package/src/textfield/createTextField.ts +67 -35
- package/src/textfield/index.ts +1 -5
- package/src/toast/createToast.ts +28 -26
- package/src/toast/createToastRegion.ts +169 -26
- package/src/toast/index.ts +2 -6
- package/src/toggle/createToggle.ts +95 -53
- package/src/toggle/createToggleState.ts +2 -10
- package/src/toggle/index.ts +4 -5
- package/src/toolbar/createToolbar.ts +193 -210
- package/src/toolbar/index.ts +1 -1
- package/src/tooltip/createTooltip.ts +11 -24
- package/src/tooltip/createTooltipTrigger.ts +61 -49
- package/src/tooltip/index.ts +2 -2
- package/src/tree/createTree.ts +35 -37
- package/src/tree/createTreeItem.ts +29 -29
- package/src/tree/createTreeSelectionCheckbox.ts +11 -8
- package/src/tree/index.ts +4 -4
- package/src/tree/types.ts +10 -6
- package/src/utils/createDescription.ts +6 -23
- package/src/utils/dom.ts +61 -54
- package/src/utils/env.ts +9 -11
- package/src/utils/events.ts +7 -7
- package/src/utils/filterDOMProps.ts +49 -49
- package/src/utils/focus.ts +60 -68
- package/src/utils/geometry.ts +1 -4
- package/src/utils/globalListeners.ts +9 -9
- package/src/utils/index.ts +12 -22
- package/src/utils/mergeProps.ts +42 -15
- package/src/utils/platform.ts +2 -2
- package/src/utils/reactivity.ts +3 -3
- package/src/utils/textSelection.ts +16 -16
- package/src/visually-hidden/createVisuallyHidden.ts +16 -28
- package/src/visually-hidden/index.ts +1 -1
- package/dist/i18n/NumberFormatter.d.ts +0 -43
- package/dist/i18n/NumberFormatter.d.ts.map +0 -1
- package/dist/index.ssr.js +0 -17082
- package/dist/index.ssr.js.map +0 -1
- package/src/i18n/NumberFormatter.ts +0 -266
|
@@ -6,16 +6,12 @@
|
|
|
6
6
|
* provides focus-visible state and listeners.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { type Accessor, createSignal, createEffect, onCleanup } from
|
|
10
|
-
import { isServer } from
|
|
11
|
-
import { getOwnerDocument, getOwnerWindow, isMac, isVirtualClick, openLink } from
|
|
9
|
+
import { type Accessor, createSignal, createEffect, onCleanup } from "solid-js";
|
|
10
|
+
import { isServer } from "solid-js/web";
|
|
11
|
+
import { getOwnerDocument, getOwnerWindow, isMac, isVirtualClick, openLink } from "../utils";
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
// ============================================
|
|
16
|
-
|
|
17
|
-
export type Modality = 'keyboard' | 'pointer' | 'virtual';
|
|
18
|
-
export type PointerType = 'mouse' | 'pen' | 'touch' | 'keyboard' | 'virtual';
|
|
13
|
+
export type Modality = "keyboard" | "pointer" | "virtual";
|
|
14
|
+
export type PointerType = "mouse" | "pen" | "touch" | "keyboard" | "virtual";
|
|
19
15
|
type HandlerEvent = PointerEvent | MouseEvent | KeyboardEvent | FocusEvent | null;
|
|
20
16
|
type Handler = (modality: Modality, e: HandlerEvent) => void;
|
|
21
17
|
|
|
@@ -38,12 +34,8 @@ export interface InteractionModalityResult {
|
|
|
38
34
|
modality: Accessor<Modality | null>;
|
|
39
35
|
}
|
|
40
36
|
|
|
41
|
-
// ============================================
|
|
42
|
-
// GLOBAL STATE
|
|
43
|
-
// ============================================
|
|
44
|
-
|
|
45
37
|
let currentModality: Modality | null = null;
|
|
46
|
-
let currentPointerType: PointerType =
|
|
38
|
+
let currentPointerType: PointerType = "keyboard";
|
|
47
39
|
const changeHandlers = new Set<Handler>();
|
|
48
40
|
|
|
49
41
|
export let hasSetupGlobalListeners: Map<
|
|
@@ -70,9 +62,9 @@ function isValidKey(e: KeyboardEvent) {
|
|
|
70
62
|
e.metaKey ||
|
|
71
63
|
(!isMac() && e.altKey) ||
|
|
72
64
|
e.ctrlKey ||
|
|
73
|
-
e.key ===
|
|
74
|
-
e.key ===
|
|
75
|
-
e.key ===
|
|
65
|
+
e.key === "Control" ||
|
|
66
|
+
e.key === "Shift" ||
|
|
67
|
+
e.key === "Meta"
|
|
76
68
|
);
|
|
77
69
|
}
|
|
78
70
|
|
|
@@ -80,27 +72,31 @@ function handleKeyboardEvent(e: KeyboardEvent) {
|
|
|
80
72
|
hasEventBeforeFocus = true;
|
|
81
73
|
const isOpening = (openLink as { isOpening?: boolean }).isOpening;
|
|
82
74
|
if (!isOpening && isValidKey(e)) {
|
|
83
|
-
currentModality =
|
|
84
|
-
currentPointerType =
|
|
85
|
-
triggerChangeHandlers(
|
|
75
|
+
currentModality = "keyboard";
|
|
76
|
+
currentPointerType = "keyboard";
|
|
77
|
+
triggerChangeHandlers("keyboard", e);
|
|
86
78
|
}
|
|
87
79
|
}
|
|
88
80
|
|
|
89
81
|
function handlePointerEvent(e: PointerEvent | MouseEvent) {
|
|
90
|
-
currentModality =
|
|
91
|
-
currentPointerType =
|
|
92
|
-
if (e.type ===
|
|
82
|
+
currentModality = "pointer";
|
|
83
|
+
currentPointerType = "pointerType" in e ? (e.pointerType as PointerType) : "mouse";
|
|
84
|
+
if (e.type === "mousedown" || e.type === "pointerdown") {
|
|
93
85
|
hasEventBeforeFocus = true;
|
|
94
|
-
triggerChangeHandlers(
|
|
86
|
+
triggerChangeHandlers("pointer", e);
|
|
95
87
|
}
|
|
96
88
|
}
|
|
97
89
|
|
|
98
90
|
function handleClickEvent(e: MouseEvent) {
|
|
91
|
+
if (!e.isTrusted) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
|
|
99
95
|
const isOpening = (openLink as { isOpening?: boolean }).isOpening;
|
|
100
96
|
if (!isOpening && isVirtualClick(e)) {
|
|
101
97
|
hasEventBeforeFocus = true;
|
|
102
|
-
currentModality =
|
|
103
|
-
currentPointerType =
|
|
98
|
+
currentModality = "virtual";
|
|
99
|
+
currentPointerType = "virtual";
|
|
104
100
|
}
|
|
105
101
|
}
|
|
106
102
|
|
|
@@ -119,9 +115,9 @@ function handleFocusEvent(e: FocusEvent) {
|
|
|
119
115
|
}
|
|
120
116
|
|
|
121
117
|
if (!hasEventBeforeFocus && !hasBlurredWindowRecently) {
|
|
122
|
-
currentModality =
|
|
123
|
-
currentPointerType =
|
|
124
|
-
triggerChangeHandlers(
|
|
118
|
+
currentModality = "virtual";
|
|
119
|
+
currentPointerType = "virtual";
|
|
120
|
+
triggerChangeHandlers("virtual", e);
|
|
125
121
|
}
|
|
126
122
|
|
|
127
123
|
hasEventBeforeFocus = false;
|
|
@@ -138,7 +134,7 @@ function handleWindowBlur() {
|
|
|
138
134
|
}
|
|
139
135
|
|
|
140
136
|
function setupGlobalFocusEvents(element?: HTMLElement | null) {
|
|
141
|
-
if (typeof window ===
|
|
137
|
+
if (typeof window === "undefined" || typeof document === "undefined") {
|
|
142
138
|
return;
|
|
143
139
|
}
|
|
144
140
|
|
|
@@ -160,36 +156,36 @@ function setupGlobalFocusEvents(element?: HTMLElement | null) {
|
|
|
160
156
|
canOverride = false;
|
|
161
157
|
}
|
|
162
158
|
|
|
163
|
-
documentObject.addEventListener(
|
|
164
|
-
documentObject.addEventListener(
|
|
165
|
-
documentObject.addEventListener(
|
|
159
|
+
documentObject.addEventListener("keydown", handleKeyboardEvent, true);
|
|
160
|
+
documentObject.addEventListener("keyup", handleKeyboardEvent, true);
|
|
161
|
+
documentObject.addEventListener("click", handleClickEvent, true);
|
|
166
162
|
|
|
167
|
-
windowObject.addEventListener(
|
|
168
|
-
windowObject.addEventListener(
|
|
163
|
+
windowObject.addEventListener("focus", handleFocusEvent, true);
|
|
164
|
+
windowObject.addEventListener("blur", handleWindowBlur, false);
|
|
169
165
|
|
|
170
|
-
if (typeof windowObject.PointerEvent !==
|
|
171
|
-
documentObject.addEventListener(
|
|
172
|
-
documentObject.addEventListener(
|
|
173
|
-
documentObject.addEventListener(
|
|
166
|
+
if (typeof windowObject.PointerEvent !== "undefined") {
|
|
167
|
+
documentObject.addEventListener("pointerdown", handlePointerEvent, true);
|
|
168
|
+
documentObject.addEventListener("pointermove", handlePointerEvent, true);
|
|
169
|
+
documentObject.addEventListener("pointerup", handlePointerEvent, true);
|
|
174
170
|
} else {
|
|
175
|
-
documentObject.addEventListener(
|
|
176
|
-
documentObject.addEventListener(
|
|
177
|
-
documentObject.addEventListener(
|
|
171
|
+
documentObject.addEventListener("mousedown", handlePointerEvent, true);
|
|
172
|
+
documentObject.addEventListener("mousemove", handlePointerEvent, true);
|
|
173
|
+
documentObject.addEventListener("mouseup", handlePointerEvent, true);
|
|
178
174
|
}
|
|
179
175
|
|
|
180
176
|
windowObject.addEventListener(
|
|
181
|
-
|
|
177
|
+
"beforeunload",
|
|
182
178
|
() => {
|
|
183
179
|
tearDownWindowFocusTracking(element);
|
|
184
180
|
},
|
|
185
|
-
{ once: true }
|
|
181
|
+
{ once: true },
|
|
186
182
|
);
|
|
187
183
|
|
|
188
184
|
hasSetupGlobalListeners.set(windowObject, { focus: originalFocus, canOverride });
|
|
189
185
|
}
|
|
190
186
|
|
|
191
187
|
function tearDownWindowFocusTracking(element?: HTMLElement | null, loadListener?: () => void) {
|
|
192
|
-
if (typeof window ===
|
|
188
|
+
if (typeof window === "undefined" || typeof document === "undefined") {
|
|
193
189
|
return;
|
|
194
190
|
}
|
|
195
191
|
|
|
@@ -197,7 +193,7 @@ function tearDownWindowFocusTracking(element?: HTMLElement | null, loadListener?
|
|
|
197
193
|
const documentObject = getOwnerDocument(element);
|
|
198
194
|
|
|
199
195
|
if (loadListener) {
|
|
200
|
-
documentObject.removeEventListener(
|
|
196
|
+
documentObject.removeEventListener("DOMContentLoaded", loadListener);
|
|
201
197
|
}
|
|
202
198
|
|
|
203
199
|
if (!hasSetupGlobalListeners.has(windowObject)) {
|
|
@@ -209,21 +205,21 @@ function tearDownWindowFocusTracking(element?: HTMLElement | null, loadListener?
|
|
|
209
205
|
windowObject.HTMLElement.prototype.focus = entry.focus;
|
|
210
206
|
}
|
|
211
207
|
|
|
212
|
-
documentObject.removeEventListener(
|
|
213
|
-
documentObject.removeEventListener(
|
|
214
|
-
documentObject.removeEventListener(
|
|
208
|
+
documentObject.removeEventListener("keydown", handleKeyboardEvent, true);
|
|
209
|
+
documentObject.removeEventListener("keyup", handleKeyboardEvent, true);
|
|
210
|
+
documentObject.removeEventListener("click", handleClickEvent, true);
|
|
215
211
|
|
|
216
|
-
windowObject.removeEventListener(
|
|
217
|
-
windowObject.removeEventListener(
|
|
212
|
+
windowObject.removeEventListener("focus", handleFocusEvent, true);
|
|
213
|
+
windowObject.removeEventListener("blur", handleWindowBlur, false);
|
|
218
214
|
|
|
219
|
-
if (typeof windowObject.PointerEvent !==
|
|
220
|
-
documentObject.removeEventListener(
|
|
221
|
-
documentObject.removeEventListener(
|
|
222
|
-
documentObject.removeEventListener(
|
|
215
|
+
if (typeof windowObject.PointerEvent !== "undefined") {
|
|
216
|
+
documentObject.removeEventListener("pointerdown", handlePointerEvent, true);
|
|
217
|
+
documentObject.removeEventListener("pointermove", handlePointerEvent, true);
|
|
218
|
+
documentObject.removeEventListener("pointerup", handlePointerEvent, true);
|
|
223
219
|
} else {
|
|
224
|
-
documentObject.removeEventListener(
|
|
225
|
-
documentObject.removeEventListener(
|
|
226
|
-
documentObject.removeEventListener(
|
|
220
|
+
documentObject.removeEventListener("mousedown", handlePointerEvent, true);
|
|
221
|
+
documentObject.removeEventListener("mousemove", handlePointerEvent, true);
|
|
222
|
+
documentObject.removeEventListener("mouseup", handlePointerEvent, true);
|
|
227
223
|
}
|
|
228
224
|
|
|
229
225
|
hasSetupGlobalListeners.delete(windowObject);
|
|
@@ -236,13 +232,13 @@ export function addWindowFocusTracking(element?: HTMLElement | null): () => void
|
|
|
236
232
|
const documentObject = getOwnerDocument(element);
|
|
237
233
|
let loadListener: (() => void) | undefined;
|
|
238
234
|
|
|
239
|
-
if (documentObject.readyState !==
|
|
235
|
+
if (documentObject.readyState !== "loading") {
|
|
240
236
|
setupGlobalFocusEvents(element);
|
|
241
237
|
} else {
|
|
242
238
|
loadListener = () => {
|
|
243
239
|
setupGlobalFocusEvents(element);
|
|
244
240
|
};
|
|
245
|
-
documentObject.addEventListener(
|
|
241
|
+
documentObject.addEventListener("DOMContentLoaded", loadListener);
|
|
246
242
|
}
|
|
247
243
|
|
|
248
244
|
return () => tearDownWindowFocusTracking(element, loadListener);
|
|
@@ -252,7 +248,7 @@ export function setupGlobalFocusListeners(): void {
|
|
|
252
248
|
addWindowFocusTracking();
|
|
253
249
|
}
|
|
254
250
|
|
|
255
|
-
if (typeof document !==
|
|
251
|
+
if (typeof document !== "undefined") {
|
|
256
252
|
addWindowFocusTracking();
|
|
257
253
|
}
|
|
258
254
|
|
|
@@ -260,7 +256,7 @@ if (typeof document !== 'undefined') {
|
|
|
260
256
|
* If true, keyboard focus is visible.
|
|
261
257
|
*/
|
|
262
258
|
export function isFocusVisible(): boolean {
|
|
263
|
-
return currentModality !==
|
|
259
|
+
return currentModality !== "pointer";
|
|
264
260
|
}
|
|
265
261
|
|
|
266
262
|
/**
|
|
@@ -275,7 +271,7 @@ export function getInteractionModality(): Modality | null {
|
|
|
275
271
|
*/
|
|
276
272
|
export function setInteractionModality(modality: Modality): void {
|
|
277
273
|
currentModality = modality;
|
|
278
|
-
currentPointerType = modality ===
|
|
274
|
+
currentPointerType = modality === "pointer" ? "mouse" : modality;
|
|
279
275
|
triggerChangeHandlers(modality, null);
|
|
280
276
|
}
|
|
281
277
|
|
|
@@ -286,16 +282,12 @@ export function getPointerType(): PointerType {
|
|
|
286
282
|
return currentPointerType;
|
|
287
283
|
}
|
|
288
284
|
|
|
289
|
-
function isKeyboardFocusEvent(
|
|
290
|
-
isTextInput: boolean,
|
|
291
|
-
modality: Modality,
|
|
292
|
-
e: HandlerEvent
|
|
293
|
-
): boolean {
|
|
285
|
+
function isKeyboardFocusEvent(isTextInput: boolean, modality: Modality, e: HandlerEvent): boolean {
|
|
294
286
|
if (!e) {
|
|
295
287
|
return true;
|
|
296
288
|
}
|
|
297
289
|
|
|
298
|
-
const target =
|
|
290
|
+
const target = "target" in e ? (e.target as Element | null) : null;
|
|
299
291
|
const ownerDocument = target ? getOwnerDocument(target) : document;
|
|
300
292
|
const ownerWindow = target ? getOwnerWindow(target) : window;
|
|
301
293
|
|
|
@@ -305,15 +297,15 @@ function isKeyboardFocusEvent(
|
|
|
305
297
|
const IKeyboardEvent = ownerWindow.KeyboardEvent;
|
|
306
298
|
|
|
307
299
|
const nonTextInputTypes = new Set([
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
300
|
+
"checkbox",
|
|
301
|
+
"radio",
|
|
302
|
+
"range",
|
|
303
|
+
"color",
|
|
304
|
+
"file",
|
|
305
|
+
"image",
|
|
306
|
+
"button",
|
|
307
|
+
"submit",
|
|
308
|
+
"reset",
|
|
317
309
|
]);
|
|
318
310
|
|
|
319
311
|
isTextInput =
|
|
@@ -321,11 +313,12 @@ function isKeyboardFocusEvent(
|
|
|
321
313
|
(ownerDocument.activeElement instanceof IHTMLInputElement &&
|
|
322
314
|
!nonTextInputTypes.has(ownerDocument.activeElement.type)) ||
|
|
323
315
|
ownerDocument.activeElement instanceof IHTMLTextAreaElement ||
|
|
324
|
-
(ownerDocument.activeElement instanceof IHTMLElement &&
|
|
316
|
+
(ownerDocument.activeElement instanceof IHTMLElement &&
|
|
317
|
+
ownerDocument.activeElement.isContentEditable);
|
|
325
318
|
|
|
326
319
|
return !(
|
|
327
320
|
isTextInput &&
|
|
328
|
-
modality ===
|
|
321
|
+
modality === "keyboard" &&
|
|
329
322
|
e instanceof IKeyboardEvent &&
|
|
330
323
|
!FOCUS_VISIBLE_INPUT_KEYS[e.key]
|
|
331
324
|
);
|
|
@@ -336,7 +329,7 @@ function isKeyboardFocusEvent(
|
|
|
336
329
|
*/
|
|
337
330
|
export function createFocusVisibleListener(
|
|
338
331
|
handler: FocusVisibleHandler,
|
|
339
|
-
opts?: { isTextInput?: boolean }
|
|
332
|
+
opts?: { isTextInput?: boolean },
|
|
340
333
|
): () => void {
|
|
341
334
|
setupGlobalFocusEvents();
|
|
342
335
|
const listener: Handler = (modality: Modality, e: HandlerEvent) => {
|
|
@@ -420,5 +413,5 @@ export function useIsKeyboardFocused(): Accessor<boolean> {
|
|
|
420
413
|
}
|
|
421
414
|
|
|
422
415
|
const { modality } = createInteractionModality();
|
|
423
|
-
return () => modality() ===
|
|
416
|
+
return () => modality() === "keyboard";
|
|
424
417
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This is a 1-1 port of React-Aria's useKeyboard hook adapted for SolidJS.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { JSX } from
|
|
7
|
+
import { JSX } from "solid-js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Keyboard event with continuePropagation support.
|
|
@@ -37,7 +37,7 @@ export interface KeyboardResult {
|
|
|
37
37
|
* and support continuePropagation instead.
|
|
38
38
|
*/
|
|
39
39
|
function createEventHandler<T extends globalThis.KeyboardEvent>(
|
|
40
|
-
handler?: (e: KeyboardEvent) => void
|
|
40
|
+
handler?: (e: KeyboardEvent) => void,
|
|
41
41
|
): ((e: T) => void) | undefined {
|
|
42
42
|
if (!handler) {
|
|
43
43
|
return undefined;
|
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
* Port of @react-aria/interactions useLongPress, adapted for SolidJS.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { JSX, onCleanup } from
|
|
8
|
-
import { createPress, type PressEvent } from
|
|
9
|
-
import { mergeProps, focusWithoutScrolling, createGlobalListeners } from
|
|
10
|
-
import { createDescription } from
|
|
11
|
-
import { type MaybeAccessor } from
|
|
7
|
+
import { JSX, onCleanup } from "solid-js";
|
|
8
|
+
import { createPress, type PressEvent } from "./createPress";
|
|
9
|
+
import { mergeProps, focusWithoutScrolling, createGlobalListeners } from "../utils";
|
|
10
|
+
import { createDescription } from "../utils/createDescription";
|
|
11
|
+
import { type MaybeAccessor } from "../utils/reactivity";
|
|
12
12
|
|
|
13
13
|
export interface LongPressEvent {
|
|
14
14
|
/** The type of long press event being fired. */
|
|
15
|
-
type:
|
|
15
|
+
type: "longpressstart" | "longpressend" | "longpress";
|
|
16
16
|
/** The pointer type that triggered the long press. */
|
|
17
|
-
pointerType: PressEvent[
|
|
17
|
+
pointerType: PressEvent["pointerType"];
|
|
18
18
|
/** The target element of the long press event. */
|
|
19
19
|
target: Element;
|
|
20
20
|
/** Whether the shift keyboard modifier was held during the long press event. */
|
|
@@ -66,10 +66,10 @@ export interface LongPressResult {
|
|
|
66
66
|
const DEFAULT_THRESHOLD = 500;
|
|
67
67
|
|
|
68
68
|
function isDisabledValue(isDisabled: MaybeAccessor<boolean> | undefined): boolean {
|
|
69
|
-
return typeof isDisabled ===
|
|
69
|
+
return typeof isDisabled === "function" ? isDisabled() : !!isDisabled;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
function createLongPressEvent(type: LongPressEvent[
|
|
72
|
+
function createLongPressEvent(type: LongPressEvent["type"], e: PressEvent): LongPressEvent {
|
|
73
73
|
return {
|
|
74
74
|
type,
|
|
75
75
|
pointerType: e.pointerType,
|
|
@@ -103,37 +103,37 @@ export function createLongPress(props: LongPressProps = {}): LongPressResult {
|
|
|
103
103
|
isDisabled,
|
|
104
104
|
onPressStart(e) {
|
|
105
105
|
e.continuePropagation();
|
|
106
|
-
if (e.pointerType ===
|
|
107
|
-
onLongPressStart?.(createLongPressEvent(
|
|
106
|
+
if (e.pointerType === "mouse" || e.pointerType === "touch") {
|
|
107
|
+
onLongPressStart?.(createLongPressEvent("longpressstart", e));
|
|
108
108
|
|
|
109
109
|
timeoutId = setTimeout(() => {
|
|
110
110
|
// Prevent other press handlers from also handling this event.
|
|
111
|
-
e.target.dispatchEvent(new PointerEvent(
|
|
111
|
+
e.target.dispatchEvent(new PointerEvent("pointercancel", { bubbles: true }));
|
|
112
112
|
|
|
113
113
|
// Ensure target is focused. On touch devices, browsers typically focus on pointer up.
|
|
114
114
|
if (document.activeElement !== e.target) {
|
|
115
115
|
focusWithoutScrolling(e.target as HTMLElement);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
onLongPress?.(createLongPressEvent(
|
|
118
|
+
onLongPress?.(createLongPressEvent("longpress", e));
|
|
119
119
|
timeoutId = undefined;
|
|
120
120
|
}, threshold);
|
|
121
121
|
|
|
122
|
-
if (e.pointerType ===
|
|
122
|
+
if (e.pointerType === "touch") {
|
|
123
123
|
const onContextMenu = (event: Event) => {
|
|
124
124
|
event.preventDefault();
|
|
125
125
|
};
|
|
126
126
|
const target = e.target as HTMLElement;
|
|
127
|
-
target.addEventListener(
|
|
127
|
+
target.addEventListener("contextmenu", onContextMenu, { once: true });
|
|
128
128
|
|
|
129
129
|
addGlobalListener(
|
|
130
|
-
|
|
130
|
+
"pointerup",
|
|
131
131
|
() => {
|
|
132
132
|
setTimeout(() => {
|
|
133
|
-
target.removeEventListener(
|
|
133
|
+
target.removeEventListener("contextmenu", onContextMenu);
|
|
134
134
|
}, 30);
|
|
135
135
|
},
|
|
136
|
-
{ isWindow: true, once: true }
|
|
136
|
+
{ isWindow: true, once: true },
|
|
137
137
|
);
|
|
138
138
|
}
|
|
139
139
|
}
|
|
@@ -144,14 +144,14 @@ export function createLongPress(props: LongPressProps = {}): LongPressResult {
|
|
|
144
144
|
timeoutId = undefined;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
if (onLongPressEnd && (e.pointerType ===
|
|
148
|
-
onLongPressEnd(createLongPressEvent(
|
|
147
|
+
if (onLongPressEnd && (e.pointerType === "mouse" || e.pointerType === "touch")) {
|
|
148
|
+
onLongPressEnd(createLongPressEvent("longpressend", e));
|
|
149
149
|
}
|
|
150
150
|
},
|
|
151
151
|
});
|
|
152
152
|
|
|
153
153
|
const descriptionProps = createDescription(() =>
|
|
154
|
-
onLongPress && !isDisabledValue(isDisabled) ? accessibilityDescription : undefined
|
|
154
|
+
onLongPress && !isDisabledValue(isDisabled) ? accessibilityDescription : undefined,
|
|
155
155
|
);
|
|
156
156
|
|
|
157
157
|
onCleanup(() => {
|
|
@@ -162,8 +162,8 @@ export function createLongPress(props: LongPressProps = {}): LongPressResult {
|
|
|
162
162
|
});
|
|
163
163
|
|
|
164
164
|
const longPressProps = mergeProps(pressProps) as JSX.HTMLAttributes<HTMLElement>;
|
|
165
|
-
Object.defineProperty(longPressProps,
|
|
166
|
-
get: () => descriptionProps[
|
|
165
|
+
Object.defineProperty(longPressProps, "aria-describedby", {
|
|
166
|
+
get: () => descriptionProps["aria-describedby"],
|
|
167
167
|
enumerable: true,
|
|
168
168
|
configurable: true,
|
|
169
169
|
});
|