@proyecto-viviana/solidaria 0.4.2 → 0.6.0-rc.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/LICENSE-APACHE-2.0 +201 -0
- package/NOTICE +91 -0
- package/dist/_chunk/DragManager.js +71 -25
- package/dist/_chunk/DragManager.js.map +1 -1
- package/dist/_chunk/DragManager.jsx +71 -25
- package/dist/_chunk/DragManager.jsx.map +1 -1
- package/dist/_chunk/FocusScope.js +281 -66
- package/dist/_chunk/FocusScope.js.map +1 -1
- package/dist/_chunk/FocusScope.jsx +274 -55
- package/dist/_chunk/FocusScope.jsx.map +1 -1
- package/dist/_chunk/actiongroup.js +43 -19
- package/dist/_chunk/actiongroup.js.map +1 -1
- package/dist/_chunk/actiongroup.jsx +43 -19
- package/dist/_chunk/actiongroup.jsx.map +1 -1
- package/dist/_chunk/announce.js +19 -6
- package/dist/_chunk/announce.js.map +1 -1
- package/dist/_chunk/announce.jsx +19 -6
- package/dist/_chunk/announce.jsx.map +1 -1
- package/dist/_chunk/ariaHideOutside.js +212 -10
- package/dist/_chunk/ariaHideOutside.js.map +1 -1
- package/dist/_chunk/ariaHideOutside.jsx +212 -10
- package/dist/_chunk/ariaHideOutside.jsx.map +1 -1
- package/dist/_chunk/autocomplete.js +26 -7
- package/dist/_chunk/autocomplete.js.map +1 -1
- package/dist/_chunk/autocomplete.jsx +26 -7
- package/dist/_chunk/autocomplete.jsx.map +1 -1
- package/dist/_chunk/breadcrumbs.js +17 -2
- package/dist/_chunk/breadcrumbs.js.map +1 -1
- package/dist/_chunk/breadcrumbs.jsx +17 -2
- package/dist/_chunk/breadcrumbs.jsx.map +1 -1
- package/dist/_chunk/button.js +53 -20
- package/dist/_chunk/button.js.map +1 -1
- package/dist/_chunk/button.jsx +53 -20
- package/dist/_chunk/button.jsx.map +1 -1
- package/dist/_chunk/calendar.js +341 -56
- package/dist/_chunk/calendar.js.map +1 -1
- package/dist/_chunk/calendar.jsx +341 -56
- package/dist/_chunk/calendar.jsx.map +1 -1
- package/dist/_chunk/checkbox.js +69 -26
- package/dist/_chunk/checkbox.js.map +1 -1
- package/dist/_chunk/checkbox.jsx +69 -26
- package/dist/_chunk/checkbox.jsx.map +1 -1
- package/dist/_chunk/color.js +307 -48
- package/dist/_chunk/color.js.map +1 -1
- package/dist/_chunk/color.jsx +307 -48
- package/dist/_chunk/color.jsx.map +1 -1
- package/dist/_chunk/combobox.js +193 -103
- package/dist/_chunk/combobox.js.map +1 -1
- package/dist/_chunk/combobox.jsx +193 -103
- package/dist/_chunk/combobox.jsx.map +1 -1
- package/dist/_chunk/constants.js +12 -0
- package/dist/_chunk/constants.js.map +1 -1
- package/dist/_chunk/constants.jsx +12 -0
- package/dist/_chunk/constants.jsx.map +1 -1
- package/dist/_chunk/createCollator.js +12 -0
- package/dist/_chunk/createCollator.js.map +1 -1
- package/dist/_chunk/createCollator.jsx +12 -0
- package/dist/_chunk/createCollator.jsx.map +1 -1
- package/dist/_chunk/createCollectionRowInteraction.js +50 -13
- package/dist/_chunk/createCollectionRowInteraction.js.map +1 -1
- package/dist/_chunk/createCollectionRowInteraction.jsx +50 -13
- package/dist/_chunk/createCollectionRowInteraction.jsx.map +1 -1
- package/dist/_chunk/createField.js +35 -25
- package/dist/_chunk/createField.js.map +1 -1
- package/dist/_chunk/createField.jsx +35 -25
- package/dist/_chunk/createField.jsx.map +1 -1
- package/dist/_chunk/createFocus.js +18 -5
- package/dist/_chunk/createFocus.js.map +1 -1
- package/dist/_chunk/createFocus.jsx +18 -5
- package/dist/_chunk/createFocus.jsx.map +1 -1
- package/dist/_chunk/createFocusRing.js +16 -7
- package/dist/_chunk/createFocusRing.js.map +1 -1
- package/dist/_chunk/createFocusRing.jsx +16 -7
- package/dist/_chunk/createFocusRing.jsx.map +1 -1
- package/dist/_chunk/createFocusWithin.js +16 -4
- package/dist/_chunk/createFocusWithin.js.map +1 -1
- package/dist/_chunk/createFocusWithin.jsx +16 -4
- package/dist/_chunk/createFocusWithin.jsx.map +1 -1
- package/dist/_chunk/createFocusable.js +39 -53
- package/dist/_chunk/createFocusable.js.map +1 -1
- package/dist/_chunk/createFocusable.jsx +39 -53
- package/dist/_chunk/createFocusable.jsx.map +1 -1
- package/dist/_chunk/createFormReset.js +24 -12
- package/dist/_chunk/createFormReset.js.map +1 -1
- package/dist/_chunk/createFormReset.jsx +24 -12
- package/dist/_chunk/createFormReset.jsx.map +1 -1
- package/dist/_chunk/createFormValidation.js +41 -17
- package/dist/_chunk/createFormValidation.js.map +1 -1
- package/dist/_chunk/createFormValidation.jsx +41 -17
- package/dist/_chunk/createFormValidation.jsx.map +1 -1
- package/dist/_chunk/createHover.js +56 -42
- package/dist/_chunk/createHover.js.map +1 -1
- package/dist/_chunk/createHover.jsx +56 -42
- package/dist/_chunk/createHover.jsx.map +1 -1
- package/dist/_chunk/createKeyboard.js +205 -0
- package/dist/_chunk/createKeyboard.js.map +1 -0
- package/dist/_chunk/createKeyboard.jsx +205 -0
- package/dist/_chunk/createKeyboard.jsx.map +1 -0
- package/dist/_chunk/createLabel.js +17 -4
- package/dist/_chunk/createLabel.js.map +1 -1
- package/dist/_chunk/createLabel.jsx +17 -4
- package/dist/_chunk/createLabel.jsx.map +1 -1
- package/dist/_chunk/createLabels.js +14 -2
- package/dist/_chunk/createLabels.js.map +1 -1
- package/dist/_chunk/createLabels.jsx +14 -2
- package/dist/_chunk/createLabels.jsx.map +1 -1
- package/dist/_chunk/createLandmark.js +19 -3
- package/dist/_chunk/createLandmark.js.map +1 -1
- package/dist/_chunk/createLandmark.jsx +19 -3
- package/dist/_chunk/createLandmark.jsx.map +1 -1
- package/dist/_chunk/createLongPress.js +105 -0
- package/dist/_chunk/createLongPress.js.map +1 -0
- package/dist/_chunk/createLongPress.jsx +105 -0
- package/dist/_chunk/createLongPress.jsx.map +1 -0
- package/dist/_chunk/createOverlay.js +220 -111
- package/dist/_chunk/createOverlay.js.map +1 -1
- package/dist/_chunk/createOverlay.jsx +220 -111
- package/dist/_chunk/createOverlay.jsx.map +1 -1
- package/dist/_chunk/createOverlayTrigger.js +58 -0
- package/dist/_chunk/createOverlayTrigger.js.map +1 -0
- package/dist/_chunk/createOverlayTrigger.jsx +58 -0
- package/dist/_chunk/createOverlayTrigger.jsx.map +1 -0
- package/dist/_chunk/createPress.js +38 -28
- package/dist/_chunk/createPress.js.map +1 -1
- package/dist/_chunk/createPress.jsx +38 -28
- package/dist/_chunk/createPress.jsx.map +1 -1
- package/dist/_chunk/createProgressBar.js +17 -4
- package/dist/_chunk/createProgressBar.js.map +1 -1
- package/dist/_chunk/createProgressBar.jsx +17 -4
- package/dist/_chunk/createProgressBar.jsx.map +1 -1
- package/dist/_chunk/createSelectableItem.js +58 -20
- package/dist/_chunk/createSelectableItem.js.map +1 -1
- package/dist/_chunk/createSelectableItem.jsx +58 -20
- package/dist/_chunk/createSelectableItem.jsx.map +1 -1
- package/dist/_chunk/createSelectableList.js +776 -0
- package/dist/_chunk/createSelectableList.js.map +1 -0
- package/dist/_chunk/createSelectableList.jsx +776 -0
- package/dist/_chunk/createSelectableList.jsx.map +1 -0
- package/dist/_chunk/createStringFormatter.js +350 -5
- package/dist/_chunk/createStringFormatter.js.map +1 -1
- package/dist/_chunk/createStringFormatter.jsx +350 -5
- package/dist/_chunk/createStringFormatter.jsx.map +1 -1
- package/dist/_chunk/createToggle.js +68 -19
- package/dist/_chunk/createToggle.js.map +1 -1
- package/dist/_chunk/createToggle.jsx +68 -19
- package/dist/_chunk/createToggle.jsx.map +1 -1
- package/dist/_chunk/createTypeSelect.js +15 -3
- package/dist/_chunk/createTypeSelect.js.map +1 -1
- package/dist/_chunk/createTypeSelect.jsx +15 -3
- package/dist/_chunk/createTypeSelect.jsx.map +1 -1
- package/dist/_chunk/{visually-hidden.js → createVisuallyHidden.js} +16 -4
- package/dist/_chunk/createVisuallyHidden.js.map +1 -0
- package/dist/_chunk/{visually-hidden.jsx → createVisuallyHidden.jsx} +16 -4
- package/dist/_chunk/createVisuallyHidden.jsx.map +1 -0
- package/dist/_chunk/datepicker.js +687 -602
- package/dist/_chunk/datepicker.js.map +1 -1
- package/dist/_chunk/datepicker.jsx +687 -602
- package/dist/_chunk/datepicker.jsx.map +1 -1
- package/dist/_chunk/dialog.js +49 -19
- package/dist/_chunk/dialog.js.map +1 -1
- package/dist/_chunk/dialog.jsx +49 -19
- package/dist/_chunk/dialog.jsx.map +1 -1
- package/dist/_chunk/disclosure.js +48 -28
- package/dist/_chunk/disclosure.js.map +1 -1
- package/dist/_chunk/disclosure.jsx +48 -28
- package/dist/_chunk/disclosure.jsx.map +1 -1
- package/dist/_chunk/dnd.js +1340 -1172
- package/dist/_chunk/dnd.js.map +1 -1
- package/dist/_chunk/dnd.jsx +1340 -1172
- package/dist/_chunk/dnd.jsx.map +1 -1
- package/dist/_chunk/dom.js +1200 -0
- package/dist/_chunk/dom.js.map +1 -0
- package/dist/_chunk/dom.jsx +1200 -0
- package/dist/_chunk/dom.jsx.map +1 -0
- package/dist/_chunk/env.js +1 -57
- package/dist/_chunk/env.js.map +1 -1
- package/dist/_chunk/env.jsx +1 -57
- package/dist/_chunk/env.jsx.map +1 -1
- package/dist/_chunk/filterDOMProps.js +32 -7
- package/dist/_chunk/filterDOMProps.js.map +1 -1
- package/dist/_chunk/filterDOMProps.jsx +32 -7
- package/dist/_chunk/filterDOMProps.jsx.map +1 -1
- package/dist/_chunk/focus.js +570 -338
- package/dist/_chunk/focus.js.map +1 -1
- package/dist/_chunk/focus.jsx +570 -338
- package/dist/_chunk/focus.jsx.map +1 -1
- package/dist/_chunk/grid.js +62 -8
- package/dist/_chunk/grid.js.map +1 -1
- package/dist/_chunk/grid.jsx +62 -8
- package/dist/_chunk/grid.jsx.map +1 -1
- package/dist/_chunk/gridlist.js +192 -53
- package/dist/_chunk/gridlist.js.map +1 -1
- package/dist/_chunk/gridlist.jsx +192 -53
- package/dist/_chunk/gridlist.jsx.map +1 -1
- package/dist/_chunk/i18n.js +68 -1
- package/dist/_chunk/i18n.js.map +1 -1
- package/dist/_chunk/i18n.jsx +68 -1
- package/dist/_chunk/i18n.jsx.map +1 -1
- package/dist/_chunk/interactions.js +38 -102
- package/dist/_chunk/interactions.js.map +1 -1
- package/dist/_chunk/interactions.jsx +38 -100
- package/dist/_chunk/interactions.jsx.map +1 -1
- package/dist/_chunk/intl.js +280 -0
- package/dist/_chunk/intl.js.map +1 -0
- package/dist/_chunk/intl.jsx +280 -0
- package/dist/_chunk/intl.jsx.map +1 -0
- package/dist/_chunk/link.js +15 -4
- package/dist/_chunk/link.js.map +1 -1
- package/dist/_chunk/link.jsx +15 -4
- package/dist/_chunk/link.jsx.map +1 -1
- package/dist/_chunk/listbox.js +99 -175
- package/dist/_chunk/listbox.js.map +1 -1
- package/dist/_chunk/listbox.jsx +99 -175
- package/dist/_chunk/listbox.jsx.map +1 -1
- package/dist/_chunk/locale.js +58 -12
- package/dist/_chunk/locale.js.map +1 -1
- package/dist/_chunk/locale.jsx +57 -11
- package/dist/_chunk/locale.jsx.map +1 -1
- package/dist/_chunk/menu.js +298 -57
- package/dist/_chunk/menu.js.map +1 -1
- package/dist/_chunk/menu.jsx +298 -57
- package/dist/_chunk/menu.jsx.map +1 -1
- package/dist/_chunk/mergeProps.js +216 -0
- package/dist/_chunk/mergeProps.js.map +1 -0
- package/dist/_chunk/mergeProps.jsx +216 -0
- package/dist/_chunk/mergeProps.jsx.map +1 -0
- package/dist/_chunk/meter.js +16 -4
- package/dist/_chunk/meter.js.map +1 -1
- package/dist/_chunk/meter.jsx +16 -4
- package/dist/_chunk/meter.jsx.map +1 -1
- package/dist/_chunk/numberfield.js +167 -22
- package/dist/_chunk/numberfield.js.map +1 -1
- package/dist/_chunk/numberfield.jsx +167 -22
- package/dist/_chunk/numberfield.jsx.map +1 -1
- package/dist/_chunk/overlays.js +87 -74
- package/dist/_chunk/overlays.js.map +1 -1
- package/dist/_chunk/overlays.jsx +71 -57
- package/dist/_chunk/overlays.jsx.map +1 -1
- package/dist/_chunk/owner.js +23 -0
- package/dist/_chunk/owner.js.map +1 -0
- package/dist/_chunk/owner.jsx +23 -0
- package/dist/_chunk/owner.jsx.map +1 -0
- package/dist/_chunk/popover.js +180 -42
- package/dist/_chunk/popover.js.map +1 -1
- package/dist/_chunk/popover.jsx +180 -42
- package/dist/_chunk/popover.jsx.map +1 -1
- package/dist/_chunk/radio.js +92 -32
- package/dist/_chunk/radio.js.map +1 -1
- package/dist/_chunk/radio.jsx +92 -32
- package/dist/_chunk/radio.jsx.map +1 -1
- package/dist/_chunk/reactivity.js.map +1 -1
- package/dist/_chunk/reactivity.jsx.map +1 -1
- package/dist/_chunk/refs.js +41 -0
- package/dist/_chunk/refs.js.map +1 -0
- package/dist/_chunk/refs.jsx +41 -0
- package/dist/_chunk/refs.jsx.map +1 -0
- package/dist/_chunk/searchfield.js +69 -3
- package/dist/_chunk/searchfield.js.map +1 -1
- package/dist/_chunk/searchfield.jsx +69 -3
- package/dist/_chunk/searchfield.jsx.map +1 -1
- package/dist/_chunk/select.js +226 -80
- package/dist/_chunk/select.js.map +1 -1
- package/dist/_chunk/select.jsx +162 -70
- package/dist/_chunk/select.jsx.map +1 -1
- package/dist/_chunk/selection.js +20 -638
- package/dist/_chunk/selection.js.map +1 -1
- package/dist/_chunk/selection.jsx +20 -638
- package/dist/_chunk/selection.jsx.map +1 -1
- package/dist/_chunk/separator.js +12 -0
- package/dist/_chunk/separator.js.map +1 -1
- package/dist/_chunk/separator.jsx +12 -0
- package/dist/_chunk/separator.jsx.map +1 -1
- package/dist/_chunk/slider.js +25 -16
- package/dist/_chunk/slider.js.map +1 -1
- package/dist/_chunk/slider.jsx +25 -16
- package/dist/_chunk/slider.jsx.map +1 -1
- package/dist/_chunk/spinbutton.js +52 -42
- package/dist/_chunk/spinbutton.js.map +1 -1
- package/dist/_chunk/spinbutton.jsx +52 -42
- package/dist/_chunk/spinbutton.jsx.map +1 -1
- package/dist/_chunk/steplist.js +14 -1
- package/dist/_chunk/steplist.js.map +1 -1
- package/dist/_chunk/steplist.jsx +14 -1
- package/dist/_chunk/steplist.jsx.map +1 -1
- package/dist/_chunk/switch.js +21 -3
- package/dist/_chunk/switch.js.map +1 -1
- package/dist/_chunk/switch.jsx +21 -3
- package/dist/_chunk/switch.jsx.map +1 -1
- package/dist/_chunk/table.js +666 -88
- package/dist/_chunk/table.js.map +1 -1
- package/dist/_chunk/table.jsx +666 -88
- package/dist/_chunk/table.jsx.map +1 -1
- package/dist/_chunk/tabs.js +115 -17
- package/dist/_chunk/tabs.js.map +1 -1
- package/dist/_chunk/tabs.jsx +115 -17
- package/dist/_chunk/tabs.jsx.map +1 -1
- package/dist/_chunk/tag.js +240 -39
- package/dist/_chunk/tag.js.map +1 -1
- package/dist/_chunk/tag.jsx +240 -39
- package/dist/_chunk/tag.jsx.map +1 -1
- package/dist/_chunk/textfield.js +83 -12
- package/dist/_chunk/textfield.js.map +1 -1
- package/dist/_chunk/textfield.jsx +83 -12
- package/dist/_chunk/textfield.jsx.map +1 -1
- package/dist/_chunk/toast.js +61 -28
- package/dist/_chunk/toast.js.map +1 -1
- package/dist/_chunk/toast.jsx +61 -28
- package/dist/_chunk/toast.jsx.map +1 -1
- package/dist/_chunk/tokenfield.js +567 -0
- package/dist/_chunk/tokenfield.js.map +1 -0
- package/dist/_chunk/tokenfield.jsx +567 -0
- package/dist/_chunk/tokenfield.jsx.map +1 -0
- package/dist/_chunk/toolbar.js +25 -8
- package/dist/_chunk/toolbar.js.map +1 -1
- package/dist/_chunk/toolbar.jsx +25 -8
- package/dist/_chunk/toolbar.jsx.map +1 -1
- package/dist/_chunk/tooltip.js +379 -6
- package/dist/_chunk/tooltip.js.map +1 -1
- package/dist/_chunk/tooltip.jsx +379 -6
- package/dist/_chunk/tooltip.jsx.map +1 -1
- package/dist/_chunk/tree.js +280 -69
- package/dist/_chunk/tree.js.map +1 -1
- package/dist/_chunk/tree.jsx +280 -69
- package/dist/_chunk/tree.jsx.map +1 -1
- package/dist/_chunk/utils.js +192 -150
- package/dist/_chunk/utils.js.map +1 -1
- package/dist/_chunk/utils.jsx +192 -150
- package/dist/_chunk/utils.jsx.map +1 -1
- package/dist/_chunk/virtualFocus.js +54 -0
- package/dist/_chunk/virtualFocus.js.map +1 -0
- package/dist/_chunk/virtualFocus.jsx +54 -0
- package/dist/_chunk/virtualFocus.jsx.map +1 -0
- package/dist/_chunk/virtualizer.js +202 -0
- package/dist/_chunk/virtualizer.js.map +1 -0
- package/dist/_chunk/virtualizer.jsx +202 -0
- package/dist/_chunk/virtualizer.jsx.map +1 -0
- package/dist/actiongroup/createActionGroup.d.ts +2 -1
- package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
- package/dist/autocomplete/createAutocomplete.d.ts +1 -9
- package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
- package/dist/autocomplete/intl/index.d.ts +13 -0
- package/dist/autocomplete/intl/index.d.ts.map +1 -0
- package/dist/breadcrumbs/createBreadcrumbs.d.ts +3 -1
- package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
- package/dist/breadcrumbs/intl/index.d.ts +13 -0
- package/dist/breadcrumbs/intl/index.d.ts.map +1 -0
- package/dist/button/createButton.d.ts.map +1 -1
- package/dist/button/createToggleButton.d.ts.map +1 -1
- package/dist/button/createToggleButtonGroup.d.ts +1 -1
- package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
- package/dist/button/types.d.ts +14 -0
- package/dist/button/types.d.ts.map +1 -1
- package/dist/calendar/createCalendar.d.ts +1 -7
- package/dist/calendar/createCalendar.d.ts.map +1 -1
- package/dist/calendar/createCalendarCell.d.ts +0 -6
- package/dist/calendar/createCalendarCell.d.ts.map +1 -1
- package/dist/calendar/createCalendarGrid.d.ts +1 -7
- package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
- package/dist/calendar/createCalendarMonthPicker.d.ts +0 -8
- package/dist/calendar/createCalendarMonthPicker.d.ts.map +1 -1
- package/dist/calendar/createCalendarYearPicker.d.ts +0 -8
- package/dist/calendar/createCalendarYearPicker.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendar.d.ts +13 -7
- package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendarCell.d.ts +2 -6
- package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
- package/dist/calendar/intl/index.d.ts.map +1 -1
- package/dist/calendar/utils.d.ts.map +1 -1
- package/dist/checkbox/createCheckbox.d.ts +2 -1
- package/dist/checkbox/createCheckbox.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroup.d.ts +1 -9
- package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupItem.d.ts +0 -8
- package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
- package/dist/collections/index.d.ts +1 -1
- package/dist/collections/index.d.ts.map +1 -1
- package/dist/collections/index.js +18 -2
- package/dist/collections/index.js.map +1 -1
- package/dist/collections/index.jsx +18 -2
- package/dist/collections/index.jsx.map +1 -1
- package/dist/color/createColorArea.d.ts +2 -7
- package/dist/color/createColorArea.d.ts.map +1 -1
- package/dist/color/createColorField.d.ts +2 -7
- package/dist/color/createColorField.d.ts.map +1 -1
- package/dist/color/createColorSlider.d.ts +1 -6
- package/dist/color/createColorSlider.d.ts.map +1 -1
- package/dist/color/createColorSwatch.d.ts +1 -6
- package/dist/color/createColorSwatch.d.ts.map +1 -1
- package/dist/color/createColorWheel.d.ts +1 -6
- package/dist/color/createColorWheel.d.ts.map +1 -1
- package/dist/color/intl/index.d.ts.map +1 -1
- package/dist/color/types.d.ts +47 -1
- package/dist/color/types.d.ts.map +1 -1
- package/dist/combobox/createComboBox.d.ts +17 -8
- package/dist/combobox/createComboBox.d.ts.map +1 -1
- package/dist/combobox/intl/generated-locales.d.ts +3 -0
- package/dist/combobox/intl/generated-locales.d.ts.map +1 -1
- package/dist/combobox/intl/index.d.ts +3 -2
- package/dist/combobox/intl/index.d.ts.map +1 -1
- package/dist/datepicker/createDateField.d.ts +0 -10
- package/dist/datepicker/createDateField.d.ts.map +1 -1
- package/dist/datepicker/createDatePicker.d.ts +0 -16
- package/dist/datepicker/createDatePicker.d.ts.map +1 -1
- package/dist/datepicker/createDatePickerGroup.d.ts +1 -1
- package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -1
- package/dist/datepicker/createDateRangePicker.d.ts +0 -21
- package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
- package/dist/datepicker/createDateSegment.d.ts +0 -9
- package/dist/datepicker/createDateSegment.d.ts.map +1 -1
- package/dist/datepicker/createDisplayNames.d.ts +1 -9
- package/dist/datepicker/createDisplayNames.d.ts.map +1 -1
- package/dist/datepicker/createTimeField.d.ts.map +1 -1
- package/dist/datepicker/intl.d.ts.map +1 -1
- package/dist/dialog/createDialog.d.ts +2 -4
- package/dist/dialog/createDialog.d.ts.map +1 -1
- package/dist/dialog/types.d.ts +14 -0
- package/dist/dialog/types.d.ts.map +1 -1
- package/dist/disclosure/createDisclosure.d.ts +1 -8
- package/dist/disclosure/createDisclosure.d.ts.map +1 -1
- package/dist/disclosure/createDisclosureGroup.d.ts +3 -4
- package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
- package/dist/dnd/DragManager.d.ts +1 -16
- package/dist/dnd/DragManager.d.ts.map +1 -1
- package/dist/dnd/DropTargetKeyboardNavigation.d.ts +2 -2
- package/dist/dnd/createDrag.d.ts +1 -7
- package/dist/dnd/createDrag.d.ts.map +1 -1
- package/dist/dnd/createDraggableCollection.d.ts +1 -7
- package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
- package/dist/dnd/createDraggableItem.d.ts +2 -7
- package/dist/dnd/createDraggableItem.d.ts.map +1 -1
- package/dist/dnd/createDrop.d.ts +1 -7
- package/dist/dnd/createDrop.d.ts.map +1 -1
- package/dist/dnd/createDropIndicator.d.ts +27 -0
- package/dist/dnd/createDropIndicator.d.ts.map +1 -0
- package/dist/dnd/createDroppableCollection.d.ts +6 -8
- package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
- package/dist/dnd/createDroppableItem.d.ts +12 -10
- package/dist/dnd/createDroppableItem.d.ts.map +1 -1
- package/dist/dnd/index.d.ts +3 -1
- package/dist/dnd/index.d.ts.map +1 -1
- package/dist/dnd/index.js +2 -2
- package/dist/dnd/index.jsx +2 -2
- package/dist/dnd/intl/index.d.ts +6 -4
- package/dist/dnd/intl/index.d.ts.map +1 -1
- package/dist/dnd/types.d.ts +20 -1
- package/dist/dnd/types.d.ts.map +1 -1
- package/dist/dnd/utils.d.ts +4 -0
- package/dist/dnd/utils.d.ts.map +1 -1
- package/dist/focus/FocusScope.d.ts +9 -5
- package/dist/focus/FocusScope.d.ts.map +1 -1
- package/dist/focus/createAutoFocus.d.ts +3 -0
- package/dist/focus/createAutoFocus.d.ts.map +1 -1
- package/dist/focus/createFocusRestore.d.ts +3 -0
- package/dist/focus/createFocusRestore.d.ts.map +1 -1
- package/dist/focus/createHasTabbableChild.d.ts +13 -0
- package/dist/focus/createHasTabbableChild.d.ts.map +1 -0
- package/dist/focus/createVirtualFocus.d.ts +4 -1
- package/dist/focus/createVirtualFocus.d.ts.map +1 -1
- package/dist/focus/index.js +3 -2
- package/dist/focus/index.jsx +3 -2
- package/dist/focus/virtualFocus.d.ts +1 -1
- package/dist/form/createFormReset.d.ts +1 -7
- package/dist/form/createFormReset.d.ts.map +1 -1
- package/dist/form/createFormValidation.d.ts +1 -9
- package/dist/form/createFormValidation.d.ts.map +1 -1
- package/dist/grid/GridKeyboardDelegate.d.ts.map +1 -1
- package/dist/grid/createGrid.d.ts +1 -5
- package/dist/grid/createGrid.d.ts.map +1 -1
- package/dist/grid/createGridCell.d.ts +1 -5
- package/dist/grid/createGridCell.d.ts.map +1 -1
- package/dist/grid/createGridRow.d.ts +1 -5
- package/dist/grid/createGridRow.d.ts.map +1 -1
- package/dist/grid/index.d.ts +2 -2
- package/dist/grid/intl/index.d.ts +18 -0
- package/dist/grid/intl/index.d.ts.map +1 -0
- package/dist/grid/types.d.ts +25 -2
- package/dist/grid/types.d.ts.map +1 -1
- package/dist/gridlist/createGridList.d.ts +3 -5
- package/dist/gridlist/createGridList.d.ts.map +1 -1
- package/dist/gridlist/createGridListItem.d.ts +1 -5
- package/dist/gridlist/createGridListItem.d.ts.map +1 -1
- package/dist/gridlist/createGridListSection.d.ts +0 -4
- package/dist/gridlist/createGridListSection.d.ts.map +1 -1
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts +1 -5
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
- package/dist/gridlist/intl/index.d.ts +14 -0
- package/dist/gridlist/intl/index.d.ts.map +1 -0
- package/dist/gridlist/types.d.ts +56 -2
- package/dist/gridlist/types.d.ts.map +1 -1
- package/dist/i18n/compileIcu.d.ts +24 -0
- package/dist/i18n/compileIcu.d.ts.map +1 -0
- package/dist/i18n/createCollator.d.ts +0 -7
- package/dist/i18n/createCollator.d.ts.map +1 -1
- package/dist/i18n/createDateFormatter.d.ts +0 -7
- package/dist/i18n/createDateFormatter.d.ts.map +1 -1
- package/dist/i18n/createFilter.d.ts +0 -7
- package/dist/i18n/createFilter.d.ts.map +1 -1
- package/dist/i18n/createListFormatter.d.ts +9 -0
- package/dist/i18n/createListFormatter.d.ts.map +1 -0
- package/dist/i18n/createNumberFormatter.d.ts +0 -7
- package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
- package/dist/i18n/createStringFormatter.d.ts +14 -4
- package/dist/i18n/createStringFormatter.d.ts.map +1 -1
- package/dist/i18n/index.d.ts +1 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.jsx +2 -2
- package/dist/i18n/locale.d.ts +2 -8
- package/dist/i18n/locale.d.ts.map +1 -1
- package/dist/i18n/utils.d.ts +0 -7
- package/dist/i18n/utils.d.ts.map +1 -1
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -21
- package/dist/index.jsx +27 -21
- package/dist/interactions/FocusableProvider.d.ts +3 -2
- package/dist/interactions/FocusableProvider.d.ts.map +1 -1
- package/dist/interactions/PressEvent.d.ts +2 -1
- package/dist/interactions/PressEvent.d.ts.map +1 -1
- package/dist/interactions/createContextMenu.d.ts +24 -0
- package/dist/interactions/createContextMenu.d.ts.map +1 -0
- package/dist/interactions/createFocus.d.ts +3 -2
- package/dist/interactions/createFocus.d.ts.map +1 -1
- package/dist/interactions/createFocusRing.d.ts +2 -1
- package/dist/interactions/createFocusRing.d.ts.map +1 -1
- package/dist/interactions/createFocusWithin.d.ts +1 -6
- package/dist/interactions/createFocusWithin.d.ts.map +1 -1
- package/dist/interactions/createFocusable.d.ts +2 -6
- package/dist/interactions/createFocusable.d.ts.map +1 -1
- package/dist/interactions/createHover.d.ts +3 -10
- package/dist/interactions/createHover.d.ts.map +1 -1
- package/dist/interactions/createInteractionModality.d.ts +12 -10
- package/dist/interactions/createInteractionModality.d.ts.map +1 -1
- package/dist/interactions/createKeyboard.d.ts +12 -3
- package/dist/interactions/createKeyboard.d.ts.map +1 -1
- package/dist/interactions/createKeyboardShortcutHandler.d.ts +24 -0
- package/dist/interactions/createKeyboardShortcutHandler.d.ts.map +1 -0
- package/dist/interactions/createLongPress.d.ts +4 -7
- package/dist/interactions/createLongPress.d.ts.map +1 -1
- package/dist/interactions/createMove.d.ts +1 -6
- package/dist/interactions/createMove.d.ts.map +1 -1
- package/dist/interactions/createPress.d.ts +2 -7
- package/dist/interactions/createPress.d.ts.map +1 -1
- package/dist/interactions/index.d.ts +1 -1
- package/dist/interactions/index.d.ts.map +1 -1
- package/dist/interactions/index.js +5 -3
- package/dist/interactions/index.jsx +5 -3
- package/dist/label/createField.d.ts +7 -1
- package/dist/label/createField.d.ts.map +1 -1
- package/dist/label/createLabel.d.ts +1 -1
- package/dist/label/createLabel.d.ts.map +1 -1
- package/dist/label/createLabels.d.ts +0 -7
- package/dist/label/createLabels.d.ts.map +1 -1
- package/dist/landmark/createLandmark.d.ts +4 -1
- package/dist/landmark/createLandmark.d.ts.map +1 -1
- package/dist/link/createLink.d.ts +1 -1
- package/dist/link/createLink.d.ts.map +1 -1
- package/dist/listbox/createListBox.d.ts +8 -7
- package/dist/listbox/createListBox.d.ts.map +1 -1
- package/dist/listbox/createOption.d.ts +7 -1
- package/dist/listbox/createOption.d.ts.map +1 -1
- package/dist/live-announcer/announce.d.ts +2 -13
- package/dist/live-announcer/announce.d.ts.map +1 -1
- package/dist/menu/createMenu.d.ts +3 -7
- package/dist/menu/createMenu.d.ts.map +1 -1
- package/dist/menu/createMenuItem.d.ts +2 -1
- package/dist/menu/createMenuItem.d.ts.map +1 -1
- package/dist/menu/createMenuTrigger.d.ts +24 -20
- package/dist/menu/createMenuTrigger.d.ts.map +1 -1
- package/dist/menu/index.d.ts +1 -1
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/menu/intl/index.d.ts +4 -0
- package/dist/menu/intl/index.d.ts.map +1 -0
- package/dist/meter/createMeter.d.ts +2 -1
- package/dist/meter/createMeter.d.ts.map +1 -1
- package/dist/numberfield/createNumberField.d.ts +29 -6
- package/dist/numberfield/createNumberField.d.ts.map +1 -1
- package/dist/overlays/ariaHideOutside.d.ts +0 -4
- package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
- package/dist/overlays/createInteractOutside.d.ts +2 -5
- package/dist/overlays/createInteractOutside.d.ts.map +1 -1
- package/dist/overlays/createModal.d.ts +3 -6
- package/dist/overlays/createModal.d.ts.map +1 -1
- package/dist/overlays/createOverlay.d.ts +1 -5
- package/dist/overlays/createOverlay.d.ts.map +1 -1
- package/dist/overlays/createOverlayTrigger.d.ts +2 -6
- package/dist/overlays/createOverlayTrigger.d.ts.map +1 -1
- package/dist/overlays/createPreventScroll.d.ts +0 -4
- package/dist/overlays/createPreventScroll.d.ts.map +1 -1
- package/dist/overlays/index.d.ts +1 -0
- package/dist/overlays/index.d.ts.map +1 -1
- package/dist/overlays/index.js +3 -2
- package/dist/overlays/index.jsx +3 -2
- package/dist/overlays/intl/index.d.ts +13 -0
- package/dist/overlays/intl/index.d.ts.map +1 -0
- package/dist/popover/calculatePosition.d.ts +1 -1
- package/dist/popover/calculatePosition.d.ts.map +1 -1
- package/dist/popover/createOverlayPosition.d.ts +1 -7
- package/dist/popover/createOverlayPosition.d.ts.map +1 -1
- package/dist/popover/createPopover.d.ts +6 -7
- package/dist/popover/createPopover.d.ts.map +1 -1
- package/dist/progress/createProgressBar.d.ts +2 -10
- package/dist/progress/createProgressBar.d.ts.map +1 -1
- package/dist/radio/createRadio.d.ts +8 -1
- package/dist/radio/createRadio.d.ts.map +1 -1
- package/dist/radio/createRadioGroup.d.ts +1 -9
- package/dist/radio/createRadioGroup.d.ts.map +1 -1
- package/dist/searchfield/createSearchField.d.ts +1 -1
- package/dist/searchfield/createSearchField.d.ts.map +1 -1
- package/dist/searchfield/intl/index.d.ts +13 -0
- package/dist/searchfield/intl/index.d.ts.map +1 -0
- package/dist/select/createHiddenSelect.d.ts +3 -10
- package/dist/select/createHiddenSelect.d.ts.map +1 -1
- package/dist/select/createSelect.d.ts +10 -6
- package/dist/select/createSelect.d.ts.map +1 -1
- package/dist/selection/DOMLayoutDelegate.d.ts.map +1 -1
- package/dist/selection/ListKeyboardDelegate.d.ts +2 -1
- package/dist/selection/ListKeyboardDelegate.d.ts.map +1 -1
- package/dist/selection/constants.d.ts.map +1 -1
- package/dist/selection/createCollectionRowInteraction.d.ts +12 -1
- package/dist/selection/createCollectionRowInteraction.d.ts.map +1 -1
- package/dist/selection/createScrollIntoViewOnFocus.d.ts +0 -11
- package/dist/selection/createScrollIntoViewOnFocus.d.ts.map +1 -1
- package/dist/selection/createSelectableCollection.d.ts +1 -23
- package/dist/selection/createSelectableCollection.d.ts.map +1 -1
- package/dist/selection/createSelectableItem.d.ts +2 -29
- package/dist/selection/createSelectableItem.d.ts.map +1 -1
- package/dist/selection/createSelectableList.d.ts +4 -17
- package/dist/selection/createSelectableList.d.ts.map +1 -1
- package/dist/selection/createTypeSelect.d.ts +2 -8
- package/dist/selection/createTypeSelect.d.ts.map +1 -1
- package/dist/selection/index.js +3 -2
- package/dist/selection/index.jsx +3 -2
- package/dist/selection/selectItem.d.ts.map +1 -1
- package/dist/selection/utils.d.ts +1 -1
- package/dist/selection/utils.d.ts.map +1 -1
- package/dist/separator/createSeparator.d.ts +3 -1
- package/dist/separator/createSeparator.d.ts.map +1 -1
- package/dist/slider/createSlider.d.ts +1 -6
- package/dist/slider/createSlider.d.ts.map +1 -1
- package/dist/spinbutton/createSpinButton.d.ts +0 -9
- package/dist/spinbutton/createSpinButton.d.ts.map +1 -1
- package/dist/spinbutton/index.d.ts +2 -2
- package/dist/spinbutton/index.d.ts.map +1 -1
- package/dist/spinbutton/intl.d.ts.map +1 -1
- package/dist/ssr/index.d.ts +3 -9
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/ssr/index.js +47 -26
- package/dist/ssr/index.js.map +1 -1
- package/dist/ssr/index.jsx +47 -26
- package/dist/ssr/index.jsx.map +1 -1
- package/dist/steplist/createStepList.d.ts +1 -1
- package/dist/steplist/createStepList.d.ts.map +1 -1
- package/dist/switch/createSwitch.d.ts +2 -1
- package/dist/switch/createSwitch.d.ts.map +1 -1
- package/dist/table/createTable.d.ts +1 -5
- package/dist/table/createTable.d.ts.map +1 -1
- package/dist/table/createTableCell.d.ts +1 -5
- package/dist/table/createTableCell.d.ts.map +1 -1
- package/dist/table/createTableColumnHeader.d.ts +1 -5
- package/dist/table/createTableColumnHeader.d.ts.map +1 -1
- package/dist/table/createTableColumnResize.d.ts +2 -8
- package/dist/table/createTableColumnResize.d.ts.map +1 -1
- package/dist/table/createTableHeaderRow.d.ts +1 -5
- package/dist/table/createTableHeaderRow.d.ts.map +1 -1
- package/dist/table/createTableRow.d.ts +1 -5
- package/dist/table/createTableRow.d.ts.map +1 -1
- package/dist/table/createTableRowGroup.d.ts +1 -5
- package/dist/table/createTableRowGroup.d.ts.map +1 -1
- package/dist/table/createTableSelectAllCheckbox.d.ts +1 -5
- package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
- package/dist/table/createTableSelectionCheckbox.d.ts +1 -5
- package/dist/table/createTableSelectionCheckbox.d.ts.map +1 -1
- package/dist/table/index.d.ts +2 -2
- package/dist/table/intl/index.d.ts +23 -0
- package/dist/table/intl/index.d.ts.map +1 -0
- package/dist/table/types.d.ts +44 -2
- package/dist/table/types.d.ts.map +1 -1
- package/dist/table/utils.d.ts.map +1 -1
- package/dist/tabs/createTabs.d.ts +5 -9
- package/dist/tabs/createTabs.d.ts.map +1 -1
- package/dist/tag/createTag.d.ts +4 -8
- package/dist/tag/createTag.d.ts.map +1 -1
- package/dist/tag/createTagGroup.d.ts +0 -9
- package/dist/tag/createTagGroup.d.ts.map +1 -1
- package/dist/tag/intl/index.d.ts +14 -0
- package/dist/tag/intl/index.d.ts.map +1 -0
- package/dist/textfield/createTextField.d.ts +6 -8
- package/dist/textfield/createTextField.d.ts.map +1 -1
- package/dist/toast/createToast.d.ts +1 -8
- package/dist/toast/createToast.d.ts.map +1 -1
- package/dist/toast/createToastRegion.d.ts +7 -18
- package/dist/toast/createToastRegion.d.ts.map +1 -1
- package/dist/toast/intl/index.d.ts +14 -0
- package/dist/toast/intl/index.d.ts.map +1 -0
- package/dist/toggle/createToggle.d.ts +8 -1
- package/dist/toggle/createToggle.d.ts.map +1 -1
- package/dist/tokenfield/createToken.d.ts +15 -0
- package/dist/tokenfield/createToken.d.ts.map +1 -0
- package/dist/tokenfield/createTokenField.d.ts +52 -0
- package/dist/tokenfield/createTokenField.d.ts.map +1 -0
- package/dist/tokenfield/index.d.ts +3 -0
- package/dist/tokenfield/index.d.ts.map +1 -0
- package/dist/tokenfield/index.js +2 -0
- package/dist/tokenfield/index.jsx +2 -0
- package/dist/toolbar/createToolbar.d.ts +1 -1
- package/dist/toolbar/createToolbar.d.ts.map +1 -1
- package/dist/tooltip/createPreviewTrigger.d.ts +23 -0
- package/dist/tooltip/createPreviewTrigger.d.ts.map +1 -0
- package/dist/tooltip/createSafeArea.d.ts +20 -0
- package/dist/tooltip/createSafeArea.d.ts.map +1 -0
- package/dist/tooltip/createTooltip.d.ts +1 -1
- package/dist/tooltip/createTooltip.d.ts.map +1 -1
- package/dist/tooltip/createTooltipTrigger.d.ts +1 -9
- package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
- package/dist/tooltip/index.d.ts +2 -0
- package/dist/tooltip/index.d.ts.map +1 -1
- package/dist/tooltip/index.js +2 -2
- package/dist/tooltip/index.jsx +2 -2
- package/dist/tooltip/intl/index.d.ts +4 -0
- package/dist/tooltip/intl/index.d.ts.map +1 -0
- package/dist/tree/createTree.d.ts +1 -5
- package/dist/tree/createTree.d.ts.map +1 -1
- package/dist/tree/createTreeItem.d.ts +1 -5
- package/dist/tree/createTreeItem.d.ts.map +1 -1
- package/dist/tree/createTreeSelectionCheckbox.d.ts +1 -5
- package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
- package/dist/tree/intl/index.d.ts +14 -0
- package/dist/tree/intl/index.d.ts.map +1 -0
- package/dist/tree/types.d.ts +35 -2
- package/dist/tree/types.d.ts.map +1 -1
- package/dist/utils/ShadowTreeWalker.d.ts +30 -0
- package/dist/utils/ShadowTreeWalker.d.ts.map +1 -0
- package/dist/utils/animation.d.ts +1 -29
- package/dist/utils/animation.d.ts.map +1 -1
- package/dist/utils/capture.d.ts +14 -0
- package/dist/utils/capture.d.ts.map +1 -0
- package/dist/utils/createDescription.d.ts +1 -25
- package/dist/utils/createDescription.d.ts.map +1 -1
- package/dist/utils/dom.d.ts +45 -11
- package/dist/utils/dom.d.ts.map +1 -1
- package/dist/utils/domAttrs.d.ts +16 -0
- package/dist/utils/domAttrs.d.ts.map +1 -0
- package/dist/utils/env.d.ts +2 -0
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/events.d.ts +0 -4
- package/dist/utils/events.d.ts.map +1 -1
- package/dist/utils/filterDOMProps.d.ts +0 -6
- package/dist/utils/filterDOMProps.d.ts.map +1 -1
- package/dist/utils/focus.d.ts +19 -6
- package/dist/utils/focus.d.ts.map +1 -1
- package/dist/utils/geometry.d.ts +1 -1
- package/dist/utils/geometry.d.ts.map +1 -1
- package/dist/utils/getMetaValue.d.ts +13 -0
- package/dist/utils/getMetaValue.d.ts.map +1 -0
- package/dist/utils/getNonce.d.ts +9 -0
- package/dist/utils/getNonce.d.ts.map +1 -0
- package/dist/utils/globalListeners.d.ts +0 -6
- package/dist/utils/globalListeners.d.ts.map +1 -1
- package/dist/utils/index.d.ts +6 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +7 -4
- package/dist/utils/index.jsx +7 -4
- package/dist/utils/keyboard.d.ts +0 -4
- package/dist/utils/keyboard.d.ts.map +1 -1
- package/dist/utils/mergeProps.d.ts +5 -2
- package/dist/utils/mergeProps.d.ts.map +1 -1
- package/dist/utils/owner.d.ts +14 -0
- package/dist/utils/owner.d.ts.map +1 -0
- package/dist/utils/platform.d.ts +0 -4
- package/dist/utils/platform.d.ts.map +1 -1
- package/dist/utils/reactivity.d.ts +2 -0
- package/dist/utils/reactivity.d.ts.map +1 -1
- package/dist/utils/refs.d.ts +20 -0
- package/dist/utils/refs.d.ts.map +1 -0
- package/dist/utils/runAfterTransition.d.ts +2 -0
- package/dist/utils/runAfterTransition.d.ts.map +1 -0
- package/dist/utils/scrollIntoView.d.ts +0 -4
- package/dist/utils/scrollIntoView.d.ts.map +1 -1
- package/dist/utils/splitProps.d.ts +17 -0
- package/dist/utils/splitProps.d.ts.map +1 -0
- package/dist/utils/textSelection.d.ts +0 -8
- package/dist/utils/textSelection.d.ts.map +1 -1
- package/dist/virtualizer/ScrollView.d.ts +38 -0
- package/dist/virtualizer/ScrollView.d.ts.map +1 -0
- package/dist/virtualizer/index.d.ts +3 -0
- package/dist/virtualizer/index.d.ts.map +1 -0
- package/dist/virtualizer/index.js +2 -0
- package/dist/virtualizer/index.jsx +2 -0
- package/dist/virtualizer/utils.d.ts +10 -0
- package/dist/virtualizer/utils.d.ts.map +1 -0
- package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -9
- package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
- package/dist/visually-hidden/index.js +1 -1
- package/dist/visually-hidden/index.jsx +1 -1
- package/package.json +30 -11
- package/src/actiongroup/createActionGroup.ts +49 -27
- package/src/autocomplete/createAutocomplete.ts +32 -5
- package/src/autocomplete/intl/ar-AE.json +3 -0
- package/src/autocomplete/intl/bg-BG.json +3 -0
- package/src/autocomplete/intl/cs-CZ.json +3 -0
- package/src/autocomplete/intl/da-DK.json +3 -0
- package/src/autocomplete/intl/de-DE.json +3 -0
- package/src/autocomplete/intl/el-GR.json +3 -0
- package/src/autocomplete/intl/en-US.json +3 -0
- package/src/autocomplete/intl/es-ES.json +3 -0
- package/src/autocomplete/intl/et-EE.json +3 -0
- package/src/autocomplete/intl/fi-FI.json +3 -0
- package/src/autocomplete/intl/fr-FR.json +3 -0
- package/src/autocomplete/intl/he-IL.json +3 -0
- package/src/autocomplete/intl/hr-HR.json +3 -0
- package/src/autocomplete/intl/hu-HU.json +3 -0
- package/src/autocomplete/intl/index.ts +122 -0
- package/src/autocomplete/intl/it-IT.json +3 -0
- package/src/autocomplete/intl/ja-JP.json +3 -0
- package/src/autocomplete/intl/ko-KR.json +3 -0
- package/src/autocomplete/intl/lt-LT.json +3 -0
- package/src/autocomplete/intl/lv-LV.json +3 -0
- package/src/autocomplete/intl/nb-NO.json +3 -0
- package/src/autocomplete/intl/nl-NL.json +3 -0
- package/src/autocomplete/intl/pl-PL.json +3 -0
- package/src/autocomplete/intl/pt-BR.json +3 -0
- package/src/autocomplete/intl/pt-PT.json +3 -0
- package/src/autocomplete/intl/ro-RO.json +3 -0
- package/src/autocomplete/intl/ru-RU.json +3 -0
- package/src/autocomplete/intl/sk-SK.json +3 -0
- package/src/autocomplete/intl/sl-SI.json +3 -0
- package/src/autocomplete/intl/sr-SP.json +3 -0
- package/src/autocomplete/intl/sv-SE.json +3 -0
- package/src/autocomplete/intl/tr-TR.json +3 -0
- package/src/autocomplete/intl/uk-UA.json +3 -0
- package/src/autocomplete/intl/zh-CN.json +3 -0
- package/src/autocomplete/intl/zh-TW.json +3 -0
- package/src/breadcrumbs/createBreadcrumbs.ts +18 -1
- package/src/breadcrumbs/intl/ar-AE.json +3 -0
- package/src/breadcrumbs/intl/bg-BG.json +3 -0
- package/src/breadcrumbs/intl/cs-CZ.json +3 -0
- package/src/breadcrumbs/intl/da-DK.json +3 -0
- package/src/breadcrumbs/intl/de-DE.json +3 -0
- package/src/breadcrumbs/intl/el-GR.json +3 -0
- package/src/breadcrumbs/intl/en-US.json +3 -0
- package/src/breadcrumbs/intl/es-ES.json +3 -0
- package/src/breadcrumbs/intl/et-EE.json +3 -0
- package/src/breadcrumbs/intl/fi-FI.json +3 -0
- package/src/breadcrumbs/intl/fr-FR.json +3 -0
- package/src/breadcrumbs/intl/he-IL.json +3 -0
- package/src/breadcrumbs/intl/hr-HR.json +3 -0
- package/src/breadcrumbs/intl/hu-HU.json +3 -0
- package/src/breadcrumbs/intl/index.ts +122 -0
- package/src/breadcrumbs/intl/it-IT.json +3 -0
- package/src/breadcrumbs/intl/ja-JP.json +3 -0
- package/src/breadcrumbs/intl/ko-KR.json +3 -0
- package/src/breadcrumbs/intl/lt-LT.json +3 -0
- package/src/breadcrumbs/intl/lv-LV.json +3 -0
- package/src/breadcrumbs/intl/nb-NO.json +3 -0
- package/src/breadcrumbs/intl/nl-NL.json +3 -0
- package/src/breadcrumbs/intl/pl-PL.json +3 -0
- package/src/breadcrumbs/intl/pt-BR.json +3 -0
- package/src/breadcrumbs/intl/pt-PT.json +3 -0
- package/src/breadcrumbs/intl/ro-RO.json +3 -0
- package/src/breadcrumbs/intl/ru-RU.json +3 -0
- package/src/breadcrumbs/intl/sk-SK.json +3 -0
- package/src/breadcrumbs/intl/sl-SI.json +3 -0
- package/src/breadcrumbs/intl/sr-SP.json +3 -0
- package/src/breadcrumbs/intl/sv-SE.json +3 -0
- package/src/breadcrumbs/intl/tr-TR.json +3 -0
- package/src/breadcrumbs/intl/uk-UA.json +3 -0
- package/src/breadcrumbs/intl/zh-CN.json +3 -0
- package/src/breadcrumbs/intl/zh-TW.json +3 -0
- package/src/button/createButton.ts +15 -1
- package/src/button/createToggleButton.ts +18 -5
- package/src/button/createToggleButtonGroup.ts +23 -8
- package/src/button/types.ts +16 -0
- package/src/calendar/createCalendar.ts +22 -3
- package/src/calendar/createCalendarCell.ts +104 -15
- package/src/calendar/createCalendarGrid.ts +37 -13
- package/src/calendar/createCalendarMonthPicker.ts +14 -0
- package/src/calendar/createCalendarYearPicker.ts +14 -0
- package/src/calendar/createRangeCalendar.ts +124 -1
- package/src/calendar/createRangeCalendarCell.ts +179 -40
- package/src/calendar/intl/index.ts +37 -0
- package/src/calendar/utils.ts +14 -0
- package/src/checkbox/createCheckbox.ts +32 -17
- package/src/checkbox/createCheckboxGroup.ts +31 -13
- package/src/checkbox/createCheckboxGroupItem.ts +15 -1
- package/src/collections/index.ts +21 -3
- package/src/color/createColorArea.ts +226 -29
- package/src/color/createColorField.ts +98 -22
- package/src/color/createColorSlider.ts +24 -3
- package/src/color/createColorSwatch.ts +18 -1
- package/src/color/createColorWheel.ts +27 -5
- package/src/color/intl/index.ts +35 -0
- package/src/color/types.ts +47 -1
- package/src/combobox/createComboBox.ts +303 -152
- package/src/combobox/intl/generated-locales.ts +38 -1
- package/src/combobox/intl/index.ts +38 -2
- package/src/datepicker/createDateField.ts +38 -22
- package/src/datepicker/createDatePicker.ts +14 -0
- package/src/datepicker/createDatePickerGroup.ts +24 -12
- package/src/datepicker/createDateRangePicker.ts +14 -0
- package/src/datepicker/createDateSegment.ts +110 -46
- package/src/datepicker/createDisplayNames.ts +16 -1
- package/src/datepicker/createTimeField.ts +15 -5
- package/src/datepicker/intl.ts +623 -544
- package/src/dialog/createDialog.ts +57 -30
- package/src/dialog/types.ts +14 -0
- package/src/disclosure/createDisclosure.ts +28 -6
- package/src/disclosure/createDisclosureGroup.ts +3 -4
- package/src/dnd/DragManager.ts +60 -9
- package/src/dnd/DropTargetKeyboardNavigation.ts +8 -6
- package/src/dnd/createDrag.ts +18 -1
- package/src/dnd/createDraggableCollection.ts +96 -32
- package/src/dnd/createDraggableItem.ts +73 -31
- package/src/dnd/createDrop.ts +18 -1
- package/src/dnd/createDropIndicator.ts +92 -0
- package/src/dnd/createDroppableCollection.ts +113 -48
- package/src/dnd/createDroppableItem.ts +161 -13
- package/src/dnd/index.ts +3 -0
- package/src/dnd/intl/index.ts +77 -66
- package/src/dnd/types.ts +20 -1
- package/src/dnd/utils.ts +19 -0
- package/src/focus/FocusScope.tsx +542 -157
- package/src/focus/createAutoFocus.ts +94 -68
- package/src/focus/createFocusRestore.ts +16 -12
- package/src/focus/createHasTabbableChild.ts +78 -0
- package/src/focus/createVirtualFocus.ts +21 -5
- package/src/focus/virtualFocus.ts +1 -1
- package/src/form/createFormReset.ts +40 -17
- package/src/form/createFormValidation.ts +128 -86
- package/src/grid/GridKeyboardDelegate.ts +14 -0
- package/src/grid/createGrid.ts +17 -2
- package/src/grid/createGridCell.ts +17 -2
- package/src/grid/createGridRow.ts +17 -2
- package/src/grid/index.ts +2 -2
- package/src/grid/intl/ar-AE.json +8 -0
- package/src/grid/intl/bg-BG.json +8 -0
- package/src/grid/intl/cs-CZ.json +8 -0
- package/src/grid/intl/da-DK.json +8 -0
- package/src/grid/intl/de-DE.json +8 -0
- package/src/grid/intl/el-GR.json +8 -0
- package/src/grid/intl/en-US.json +8 -0
- package/src/grid/intl/es-ES.json +8 -0
- package/src/grid/intl/et-EE.json +8 -0
- package/src/grid/intl/fi-FI.json +8 -0
- package/src/grid/intl/fr-FR.json +8 -0
- package/src/grid/intl/he-IL.json +8 -0
- package/src/grid/intl/hr-HR.json +8 -0
- package/src/grid/intl/hu-HU.json +8 -0
- package/src/grid/intl/index.ts +127 -0
- package/src/grid/intl/it-IT.json +8 -0
- package/src/grid/intl/ja-JP.json +8 -0
- package/src/grid/intl/ko-KR.json +8 -0
- package/src/grid/intl/lt-LT.json +8 -0
- package/src/grid/intl/lv-LV.json +8 -0
- package/src/grid/intl/nb-NO.json +8 -0
- package/src/grid/intl/nl-NL.json +8 -0
- package/src/grid/intl/pl-PL.json +8 -0
- package/src/grid/intl/pt-BR.json +8 -0
- package/src/grid/intl/pt-PT.json +8 -0
- package/src/grid/intl/ro-RO.json +8 -0
- package/src/grid/intl/ru-RU.json +8 -0
- package/src/grid/intl/sk-SK.json +8 -0
- package/src/grid/intl/sl-SI.json +8 -0
- package/src/grid/intl/sr-SP.json +8 -0
- package/src/grid/intl/sv-SE.json +8 -0
- package/src/grid/intl/tr-TR.json +8 -0
- package/src/grid/intl/uk-UA.json +8 -0
- package/src/grid/intl/zh-CN.json +8 -0
- package/src/grid/intl/zh-TW.json +8 -0
- package/src/grid/types.ts +25 -2
- package/src/gridlist/createGridList.ts +172 -42
- package/src/gridlist/createGridListItem.ts +51 -13
- package/src/gridlist/createGridListSection.ts +14 -0
- package/src/gridlist/createGridListSelectionCheckbox.ts +31 -4
- package/src/gridlist/intl/ar-AE.json +4 -0
- package/src/gridlist/intl/bg-BG.json +4 -0
- package/src/gridlist/intl/cs-CZ.json +4 -0
- package/src/gridlist/intl/da-DK.json +4 -0
- package/src/gridlist/intl/de-DE.json +4 -0
- package/src/gridlist/intl/el-GR.json +4 -0
- package/src/gridlist/intl/en-US.json +4 -0
- package/src/gridlist/intl/es-ES.json +4 -0
- package/src/gridlist/intl/et-EE.json +4 -0
- package/src/gridlist/intl/fi-FI.json +4 -0
- package/src/gridlist/intl/fr-FR.json +4 -0
- package/src/gridlist/intl/he-IL.json +4 -0
- package/src/gridlist/intl/hr-HR.json +4 -0
- package/src/gridlist/intl/hu-HU.json +4 -0
- package/src/gridlist/intl/index.ts +123 -0
- package/src/gridlist/intl/it-IT.json +4 -0
- package/src/gridlist/intl/ja-JP.json +4 -0
- package/src/gridlist/intl/ko-KR.json +4 -0
- package/src/gridlist/intl/lt-LT.json +4 -0
- package/src/gridlist/intl/lv-LV.json +4 -0
- package/src/gridlist/intl/nb-NO.json +4 -0
- package/src/gridlist/intl/nl-NL.json +4 -0
- package/src/gridlist/intl/pl-PL.json +4 -0
- package/src/gridlist/intl/pt-BR.json +4 -0
- package/src/gridlist/intl/pt-PT.json +4 -0
- package/src/gridlist/intl/ro-RO.json +4 -0
- package/src/gridlist/intl/ru-RU.json +4 -0
- package/src/gridlist/intl/sk-SK.json +4 -0
- package/src/gridlist/intl/sl-SI.json +4 -0
- package/src/gridlist/intl/sr-SP.json +4 -0
- package/src/gridlist/intl/sv-SE.json +4 -0
- package/src/gridlist/intl/tr-TR.json +4 -0
- package/src/gridlist/intl/uk-UA.json +4 -0
- package/src/gridlist/intl/zh-CN.json +4 -0
- package/src/gridlist/intl/zh-TW.json +4 -0
- package/src/gridlist/types.ts +54 -2
- package/src/i18n/compileIcu.ts +440 -0
- package/src/i18n/createCollator.ts +14 -0
- package/src/i18n/createDateFormatter.ts +14 -0
- package/src/i18n/createFilter.ts +14 -0
- package/src/i18n/createListFormatter.ts +38 -0
- package/src/i18n/createNumberFormatter.ts +14 -0
- package/src/i18n/createStringFormatter.ts +64 -8
- package/src/i18n/index.ts +3 -0
- package/src/i18n/locale.tsx +60 -19
- package/src/i18n/utils.ts +14 -0
- package/src/index.ts +49 -1
- package/src/interactions/FocusableProvider.tsx +28 -11
- package/src/interactions/PressEvent.ts +16 -1
- package/src/interactions/createContextMenu.ts +108 -0
- package/src/interactions/createFocus.ts +26 -6
- package/src/interactions/createFocusRing.ts +28 -13
- package/src/interactions/createFocusWithin.ts +23 -3
- package/src/interactions/createFocusable.ts +45 -28
- package/src/interactions/createHover.ts +102 -81
- package/src/interactions/createInteractionModality.ts +135 -45
- package/src/interactions/createKeyboard.ts +85 -9
- package/src/interactions/createKeyboardShortcutHandler.ts +157 -0
- package/src/interactions/createLongPress.ts +31 -9
- package/src/interactions/createMove.ts +24 -3
- package/src/interactions/createPress.ts +85 -41
- package/src/interactions/index.ts +1 -0
- package/src/label/createField.ts +58 -63
- package/src/label/createLabel.ts +21 -4
- package/src/label/createLabels.ts +25 -1
- package/src/landmark/createLandmark.ts +27 -4
- package/src/link/createLink.ts +20 -12
- package/src/listbox/createListBox.ts +86 -310
- package/src/listbox/createOption.ts +50 -14
- package/src/live-announcer/announce.ts +21 -6
- package/src/menu/createMenu.ts +92 -5
- package/src/menu/createMenuItem.ts +40 -23
- package/src/menu/createMenuTrigger.ts +179 -51
- package/src/menu/index.ts +2 -0
- package/src/menu/intl/index.ts +130 -0
- package/src/meter/createMeter.ts +20 -5
- package/src/numberfield/createNumberField.ts +254 -14
- package/src/overlays/ariaHideOutside.ts +76 -11
- package/src/overlays/createInteractOutside.ts +74 -47
- package/src/overlays/createModal.tsx +42 -27
- package/src/overlays/createOverlay.ts +107 -66
- package/src/overlays/createOverlayTrigger.ts +21 -6
- package/src/overlays/createPreventScroll.ts +92 -62
- package/src/overlays/index.ts +2 -0
- package/src/overlays/intl/ar-AE.json +3 -0
- package/src/overlays/intl/bg-BG.json +3 -0
- package/src/overlays/intl/cs-CZ.json +3 -0
- package/src/overlays/intl/da-DK.json +3 -0
- package/src/overlays/intl/de-DE.json +3 -0
- package/src/overlays/intl/el-GR.json +3 -0
- package/src/overlays/intl/en-US.json +3 -0
- package/src/overlays/intl/es-ES.json +3 -0
- package/src/overlays/intl/et-EE.json +3 -0
- package/src/overlays/intl/fi-FI.json +3 -0
- package/src/overlays/intl/fr-FR.json +3 -0
- package/src/overlays/intl/he-IL.json +3 -0
- package/src/overlays/intl/hr-HR.json +3 -0
- package/src/overlays/intl/hu-HU.json +3 -0
- package/src/overlays/intl/index.ts +122 -0
- package/src/overlays/intl/it-IT.json +3 -0
- package/src/overlays/intl/ja-JP.json +3 -0
- package/src/overlays/intl/ko-KR.json +3 -0
- package/src/overlays/intl/lt-LT.json +3 -0
- package/src/overlays/intl/lv-LV.json +3 -0
- package/src/overlays/intl/nb-NO.json +3 -0
- package/src/overlays/intl/nl-NL.json +3 -0
- package/src/overlays/intl/pl-PL.json +3 -0
- package/src/overlays/intl/pt-BR.json +3 -0
- package/src/overlays/intl/pt-PT.json +3 -0
- package/src/overlays/intl/ro-RO.json +3 -0
- package/src/overlays/intl/ru-RU.json +3 -0
- package/src/overlays/intl/sk-SK.json +3 -0
- package/src/overlays/intl/sl-SI.json +3 -0
- package/src/overlays/intl/sr-SP.json +3 -0
- package/src/overlays/intl/sv-SE.json +3 -0
- package/src/overlays/intl/tr-TR.json +3 -0
- package/src/overlays/intl/uk-UA.json +3 -0
- package/src/overlays/intl/zh-CN.json +3 -0
- package/src/overlays/intl/zh-TW.json +3 -0
- package/src/popover/calculatePosition.ts +21 -3
- package/src/popover/createOverlayPosition.ts +149 -41
- package/src/popover/createPopover.ts +88 -23
- package/src/progress/createProgressBar.ts +19 -4
- package/src/radio/createRadio.ts +80 -25
- package/src/radio/createRadioGroup.ts +47 -13
- package/src/searchfield/createSearchField.ts +31 -2
- package/src/searchfield/intl/ar-AE.json +3 -0
- package/src/searchfield/intl/bg-BG.json +3 -0
- package/src/searchfield/intl/cs-CZ.json +3 -0
- package/src/searchfield/intl/da-DK.json +3 -0
- package/src/searchfield/intl/de-DE.json +3 -0
- package/src/searchfield/intl/el-GR.json +3 -0
- package/src/searchfield/intl/en-US.json +3 -0
- package/src/searchfield/intl/es-ES.json +3 -0
- package/src/searchfield/intl/et-EE.json +3 -0
- package/src/searchfield/intl/fi-FI.json +3 -0
- package/src/searchfield/intl/fr-FR.json +3 -0
- package/src/searchfield/intl/he-IL.json +3 -0
- package/src/searchfield/intl/hr-HR.json +3 -0
- package/src/searchfield/intl/hu-HU.json +3 -0
- package/src/searchfield/intl/index.ts +122 -0
- package/src/searchfield/intl/it-IT.json +3 -0
- package/src/searchfield/intl/ja-JP.json +3 -0
- package/src/searchfield/intl/ko-KR.json +3 -0
- package/src/searchfield/intl/lt-LT.json +3 -0
- package/src/searchfield/intl/lv-LV.json +3 -0
- package/src/searchfield/intl/nb-NO.json +3 -0
- package/src/searchfield/intl/nl-NL.json +3 -0
- package/src/searchfield/intl/pl-PL.json +3 -0
- package/src/searchfield/intl/pt-BR.json +3 -0
- package/src/searchfield/intl/pt-PT.json +3 -0
- package/src/searchfield/intl/ro-RO.json +3 -0
- package/src/searchfield/intl/ru-RU.json +3 -0
- package/src/searchfield/intl/sk-SK.json +3 -0
- package/src/searchfield/intl/sl-SI.json +3 -0
- package/src/searchfield/intl/sr-SP.json +3 -0
- package/src/searchfield/intl/sv-SE.json +3 -0
- package/src/searchfield/intl/tr-TR.json +3 -0
- package/src/searchfield/intl/uk-UA.json +3 -0
- package/src/searchfield/intl/zh-CN.json +3 -0
- package/src/searchfield/intl/zh-TW.json +3 -0
- package/src/select/createHiddenSelect.tsx +166 -69
- package/src/select/createSelect.ts +80 -34
- package/src/selection/DOMLayoutDelegate.ts +14 -0
- package/src/selection/ListKeyboardDelegate.ts +16 -1
- package/src/selection/constants.ts +14 -0
- package/src/selection/createCollectionRowInteraction.ts +75 -6
- package/src/selection/createScrollIntoViewOnFocus.ts +23 -8
- package/src/selection/createSelectableCollection.ts +352 -226
- package/src/selection/createSelectableItem.ts +51 -12
- package/src/selection/createSelectableList.ts +21 -1
- package/src/selection/createTypeSelect.ts +21 -5
- package/src/selection/selectItem.ts +14 -0
- package/src/selection/utils.ts +15 -1
- package/src/separator/createSeparator.ts +17 -1
- package/src/slider/createSlider.ts +24 -18
- package/src/spinbutton/createSpinButton.ts +16 -2
- package/src/spinbutton/index.ts +2 -10
- package/src/spinbutton/intl.ts +70 -34
- package/src/ssr/index.tsx +79 -48
- package/src/steplist/createStepList.ts +17 -2
- package/src/switch/createSwitch.ts +25 -4
- package/src/table/createTable.ts +104 -52
- package/src/table/createTableCell.ts +17 -2
- package/src/table/createTableColumnHeader.ts +21 -3
- package/src/table/createTableColumnResize.ts +19 -3
- package/src/table/createTableHeaderRow.ts +17 -2
- package/src/table/createTableRow.ts +29 -22
- package/src/table/createTableRowGroup.ts +18 -3
- package/src/table/createTableSelectAllCheckbox.ts +30 -14
- package/src/table/createTableSelectionCheckbox.ts +21 -3
- package/src/table/index.ts +2 -2
- package/src/table/intl/ar-AE.json +13 -0
- package/src/table/intl/bg-BG.json +13 -0
- package/src/table/intl/cs-CZ.json +13 -0
- package/src/table/intl/da-DK.json +13 -0
- package/src/table/intl/de-DE.json +13 -0
- package/src/table/intl/el-GR.json +13 -0
- package/src/table/intl/en-US.json +13 -0
- package/src/table/intl/es-ES.json +13 -0
- package/src/table/intl/et-EE.json +13 -0
- package/src/table/intl/fi-FI.json +13 -0
- package/src/table/intl/fr-FR.json +13 -0
- package/src/table/intl/he-IL.json +13 -0
- package/src/table/intl/hr-HR.json +13 -0
- package/src/table/intl/hu-HU.json +13 -0
- package/src/table/intl/index.ts +132 -0
- package/src/table/intl/it-IT.json +13 -0
- package/src/table/intl/ja-JP.json +13 -0
- package/src/table/intl/ko-KR.json +13 -0
- package/src/table/intl/lt-LT.json +13 -0
- package/src/table/intl/lv-LV.json +13 -0
- package/src/table/intl/nb-NO.json +13 -0
- package/src/table/intl/nl-NL.json +13 -0
- package/src/table/intl/pl-PL.json +13 -0
- package/src/table/intl/pt-BR.json +13 -0
- package/src/table/intl/pt-PT.json +13 -0
- package/src/table/intl/ro-RO.json +13 -0
- package/src/table/intl/ru-RU.json +13 -0
- package/src/table/intl/sk-SK.json +13 -0
- package/src/table/intl/sl-SI.json +13 -0
- package/src/table/intl/sr-SP.json +13 -0
- package/src/table/intl/sv-SE.json +13 -0
- package/src/table/intl/tr-TR.json +13 -0
- package/src/table/intl/uk-UA.json +13 -0
- package/src/table/intl/zh-CN.json +13 -0
- package/src/table/intl/zh-TW.json +13 -0
- package/src/table/types.ts +44 -2
- package/src/table/utils.ts +15 -6
- package/src/tabs/createTabs.ts +104 -37
- package/src/tag/createTag.ts +118 -37
- package/src/tag/createTagGroup.ts +20 -12
- package/src/tag/intl/ar-AE.json +4 -0
- package/src/tag/intl/bg-BG.json +4 -0
- package/src/tag/intl/cs-CZ.json +4 -0
- package/src/tag/intl/da-DK.json +4 -0
- package/src/tag/intl/de-DE.json +4 -0
- package/src/tag/intl/el-GR.json +4 -0
- package/src/tag/intl/en-US.json +4 -0
- package/src/tag/intl/es-ES.json +4 -0
- package/src/tag/intl/et-EE.json +4 -0
- package/src/tag/intl/fi-FI.json +4 -0
- package/src/tag/intl/fr-FR.json +4 -0
- package/src/tag/intl/he-IL.json +4 -0
- package/src/tag/intl/hr-HR.json +4 -0
- package/src/tag/intl/hu-HU.json +4 -0
- package/src/tag/intl/index.ts +123 -0
- package/src/tag/intl/it-IT.json +4 -0
- package/src/tag/intl/ja-JP.json +4 -0
- package/src/tag/intl/ko-KR.json +4 -0
- package/src/tag/intl/lt-LT.json +4 -0
- package/src/tag/intl/lv-LV.json +4 -0
- package/src/tag/intl/nb-NO.json +4 -0
- package/src/tag/intl/nl-NL.json +4 -0
- package/src/tag/intl/pl-PL.json +4 -0
- package/src/tag/intl/pt-BR.json +4 -0
- package/src/tag/intl/pt-PT.json +4 -0
- package/src/tag/intl/ro-RO.json +4 -0
- package/src/tag/intl/ru-RU.json +4 -0
- package/src/tag/intl/sk-SK.json +4 -0
- package/src/tag/intl/sl-SI.json +4 -0
- package/src/tag/intl/sr-SP.json +4 -0
- package/src/tag/intl/sv-SE.json +4 -0
- package/src/tag/intl/tr-TR.json +4 -0
- package/src/tag/intl/uk-UA.json +4 -0
- package/src/tag/intl/zh-CN.json +4 -0
- package/src/tag/intl/zh-TW.json +4 -0
- package/src/textfield/createTextField.ts +104 -14
- package/src/toast/createToast.ts +39 -6
- package/src/toast/createToastRegion.ts +28 -15
- package/src/toast/intl/ar-AE.json +4 -0
- package/src/toast/intl/bg-BG.json +4 -0
- package/src/toast/intl/cs-CZ.json +4 -0
- package/src/toast/intl/da-DK.json +4 -0
- package/src/toast/intl/de-DE.json +4 -0
- package/src/toast/intl/el-GR.json +4 -0
- package/src/toast/intl/en-US.json +4 -0
- package/src/toast/intl/es-ES.json +4 -0
- package/src/toast/intl/et-EE.json +4 -0
- package/src/toast/intl/fi-FI.json +4 -0
- package/src/toast/intl/fr-FR.json +4 -0
- package/src/toast/intl/he-IL.json +4 -0
- package/src/toast/intl/hr-HR.json +4 -0
- package/src/toast/intl/hu-HU.json +4 -0
- package/src/toast/intl/index.ts +123 -0
- package/src/toast/intl/it-IT.json +4 -0
- package/src/toast/intl/ja-JP.json +4 -0
- package/src/toast/intl/ko-KR.json +4 -0
- package/src/toast/intl/lt-LT.json +4 -0
- package/src/toast/intl/lv-LV.json +4 -0
- package/src/toast/intl/nb-NO.json +4 -0
- package/src/toast/intl/nl-NL.json +4 -0
- package/src/toast/intl/pl-PL.json +4 -0
- package/src/toast/intl/pt-BR.json +4 -0
- package/src/toast/intl/pt-PT.json +4 -0
- package/src/toast/intl/ro-RO.json +4 -0
- package/src/toast/intl/ru-RU.json +4 -0
- package/src/toast/intl/sk-SK.json +4 -0
- package/src/toast/intl/sl-SI.json +4 -0
- package/src/toast/intl/sr-SP.json +4 -0
- package/src/toast/intl/sv-SE.json +4 -0
- package/src/toast/intl/tr-TR.json +4 -0
- package/src/toast/intl/uk-UA.json +4 -0
- package/src/toast/intl/zh-CN.json +4 -0
- package/src/toast/intl/zh-TW.json +4 -0
- package/src/toggle/createToggle.ts +96 -15
- package/src/tokenfield/createToken.ts +82 -0
- package/src/tokenfield/createTokenField.ts +859 -0
- package/src/tokenfield/index.ts +10 -0
- package/src/toolbar/createToolbar.ts +26 -5
- package/src/tooltip/createPreviewTrigger.ts +301 -0
- package/src/tooltip/createSafeArea.ts +165 -0
- package/src/tooltip/createTooltip.ts +15 -1
- package/src/tooltip/createTooltipTrigger.ts +24 -3
- package/src/tooltip/index.ts +7 -0
- package/src/tooltip/intl/index.ts +76 -0
- package/src/tree/createTree.ts +66 -50
- package/src/tree/createTreeItem.ts +85 -21
- package/src/tree/createTreeSelectionCheckbox.ts +29 -28
- package/src/tree/intl/ar-AE.json +4 -0
- package/src/tree/intl/bg-BG.json +4 -0
- package/src/tree/intl/cs-CZ.json +4 -0
- package/src/tree/intl/da-DK.json +4 -0
- package/src/tree/intl/de-DE.json +4 -0
- package/src/tree/intl/el-GR.json +4 -0
- package/src/tree/intl/en-US.json +4 -0
- package/src/tree/intl/es-ES.json +4 -0
- package/src/tree/intl/et-EE.json +4 -0
- package/src/tree/intl/fi-FI.json +4 -0
- package/src/tree/intl/fr-FR.json +4 -0
- package/src/tree/intl/he-IL.json +4 -0
- package/src/tree/intl/hr-HR.json +4 -0
- package/src/tree/intl/hu-HU.json +4 -0
- package/src/tree/intl/index.ts +123 -0
- package/src/tree/intl/it-IT.json +4 -0
- package/src/tree/intl/ja-JP.json +4 -0
- package/src/tree/intl/ko-KR.json +4 -0
- package/src/tree/intl/lt-LT.json +4 -0
- package/src/tree/intl/lv-LV.json +4 -0
- package/src/tree/intl/nb-NO.json +4 -0
- package/src/tree/intl/nl-NL.json +4 -0
- package/src/tree/intl/pl-PL.json +4 -0
- package/src/tree/intl/pt-BR.json +4 -0
- package/src/tree/intl/pt-PT.json +4 -0
- package/src/tree/intl/ro-RO.json +4 -0
- package/src/tree/intl/ru-RU.json +4 -0
- package/src/tree/intl/sk-SK.json +4 -0
- package/src/tree/intl/sl-SI.json +4 -0
- package/src/tree/intl/sr-SP.json +4 -0
- package/src/tree/intl/sv-SE.json +4 -0
- package/src/tree/intl/tr-TR.json +4 -0
- package/src/tree/intl/uk-UA.json +4 -0
- package/src/tree/intl/zh-CN.json +4 -0
- package/src/tree/intl/zh-TW.json +4 -0
- package/src/tree/types.ts +35 -2
- package/src/utils/ShadowTreeWalker.ts +249 -0
- package/src/utils/animation.ts +106 -85
- package/src/utils/capture.ts +51 -0
- package/src/utils/createDescription.ts +31 -8
- package/src/utils/dom.ts +314 -33
- package/src/utils/domAttrs.ts +84 -0
- package/src/utils/env.ts +2 -0
- package/src/utils/events.ts +39 -3
- package/src/utils/filterDOMProps.ts +34 -2
- package/src/utils/focus.ts +186 -32
- package/src/utils/geometry.ts +15 -1
- package/src/utils/getMetaValue.ts +57 -0
- package/src/utils/getNonce.ts +40 -0
- package/src/utils/globalListeners.ts +16 -3
- package/src/utils/index.ts +14 -0
- package/src/utils/keyboard.ts +15 -1
- package/src/utils/mergeProps.ts +149 -16
- package/src/utils/owner.ts +26 -0
- package/src/utils/platform.ts +15 -1
- package/src/utils/reactivity.ts +2 -0
- package/src/utils/refs.ts +53 -0
- package/src/utils/runAfterTransition.ts +117 -0
- package/src/utils/scrollIntoView.ts +14 -0
- package/src/utils/splitProps.ts +70 -0
- package/src/utils/textSelection.ts +15 -1
- package/src/virtualizer/ScrollView.ts +210 -0
- package/src/virtualizer/index.ts +2 -0
- package/src/virtualizer/utils.ts +100 -0
- package/src/visually-hidden/createVisuallyHidden.ts +20 -4
- package/dist/_chunk/createInteractionModality.js +0 -268
- package/dist/_chunk/createInteractionModality.js.map +0 -1
- package/dist/_chunk/createInteractionModality.jsx +0 -268
- package/dist/_chunk/createInteractionModality.jsx.map +0 -1
- package/dist/_chunk/focus2.js +0 -631
- package/dist/_chunk/focus2.js.map +0 -1
- package/dist/_chunk/focus2.jsx +0 -631
- package/dist/_chunk/focus2.jsx.map +0 -1
- package/dist/_chunk/visually-hidden.js.map +0 -1
- package/dist/_chunk/visually-hidden.jsx.map +0 -1
- package/dist/checkbox/createCheckboxGroupState.d.ts +0 -71
- package/dist/checkbox/createCheckboxGroupState.d.ts.map +0 -1
- package/dist/radio/createRadioGroupState.d.ts +0 -77
- package/dist/radio/createRadioGroupState.d.ts.map +0 -1
- package/dist/toggle/createToggleState.d.ts +0 -34
- package/dist/toggle/createToggleState.d.ts.map +0 -1
- package/src/checkbox/createCheckboxGroupState.ts +0 -174
- package/src/radio/createRadioGroupState.ts +0 -177
- package/src/toggle/createToggleState.ts +0 -86
|
@@ -1,10 +1,184 @@
|
|
|
1
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/overlays/ariaHideOutside.ts
|
|
13
|
+
import { a as getOwnerDocument, o as getOwnerWindow, v as nodeContains } from "./dom.js";
|
|
14
|
+
import { shadowDOM } from "@proyecto-viviana/solid-stately/private/flags/flags";
|
|
15
|
+
//#region src/utils/ShadowTreeWalker.ts
|
|
16
|
+
/*!
|
|
17
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
18
|
+
* Licensed under the MIT License.
|
|
19
|
+
*/
|
|
20
|
+
var ShadowTreeWalker = class {
|
|
21
|
+
filter;
|
|
22
|
+
root;
|
|
23
|
+
whatToShow;
|
|
24
|
+
doc;
|
|
25
|
+
walkerStack = [];
|
|
26
|
+
current;
|
|
27
|
+
currentSetFor = /* @__PURE__ */ new Set();
|
|
28
|
+
constructor(doc, root, whatToShow, filter) {
|
|
29
|
+
this.doc = doc;
|
|
30
|
+
this.root = root;
|
|
31
|
+
this.filter = filter ?? null;
|
|
32
|
+
this.whatToShow = whatToShow ?? NodeFilter.SHOW_ALL;
|
|
33
|
+
this.current = root;
|
|
34
|
+
this.walkerStack.unshift(doc.createTreeWalker(root, whatToShow, this.acceptNode));
|
|
35
|
+
const shadowRoot = root.shadowRoot;
|
|
36
|
+
if (shadowRoot) this.walkerStack.unshift(this.doc.createTreeWalker(shadowRoot, this.whatToShow, { acceptNode: this.acceptNode }));
|
|
37
|
+
}
|
|
38
|
+
acceptNode = (node) => {
|
|
39
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
40
|
+
const shadowRoot = node.shadowRoot;
|
|
41
|
+
if (shadowRoot) {
|
|
42
|
+
this.walkerStack.unshift(this.doc.createTreeWalker(shadowRoot, this.whatToShow, { acceptNode: this.acceptNode }));
|
|
43
|
+
return NodeFilter.FILTER_ACCEPT;
|
|
44
|
+
}
|
|
45
|
+
if (typeof this.filter === "function") return this.filter(node);
|
|
46
|
+
if (this.filter?.acceptNode) return this.filter.acceptNode(node);
|
|
47
|
+
if (this.filter === null) return NodeFilter.FILTER_ACCEPT;
|
|
48
|
+
}
|
|
49
|
+
return NodeFilter.FILTER_SKIP;
|
|
50
|
+
};
|
|
51
|
+
get currentNode() {
|
|
52
|
+
return this.current;
|
|
53
|
+
}
|
|
54
|
+
set currentNode(node) {
|
|
55
|
+
if (!nodeContains(this.root, node)) throw new Error("Cannot set currentNode to a node that is not contained by the root node.");
|
|
56
|
+
const walkers = [];
|
|
57
|
+
let currentNode = node;
|
|
58
|
+
let walkerCurrentNode = node;
|
|
59
|
+
this.current = node;
|
|
60
|
+
while (currentNode && currentNode !== this.root) if (currentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
|
61
|
+
const shadowRoot = currentNode;
|
|
62
|
+
const walker = this.doc.createTreeWalker(shadowRoot, this.whatToShow, { acceptNode: this.acceptNode });
|
|
63
|
+
walkers.push(walker);
|
|
64
|
+
walker.currentNode = walkerCurrentNode;
|
|
65
|
+
this.currentSetFor.add(walker);
|
|
66
|
+
currentNode = walkerCurrentNode = shadowRoot.host;
|
|
67
|
+
} else currentNode = currentNode.parentNode;
|
|
68
|
+
const walker = this.doc.createTreeWalker(this.root, this.whatToShow, { acceptNode: this.acceptNode });
|
|
69
|
+
walkers.push(walker);
|
|
70
|
+
walker.currentNode = walkerCurrentNode;
|
|
71
|
+
this.currentSetFor.add(walker);
|
|
72
|
+
this.walkerStack = walkers;
|
|
73
|
+
}
|
|
74
|
+
firstChild() {
|
|
75
|
+
const currentNode = this.currentNode;
|
|
76
|
+
const newNode = this.nextNode();
|
|
77
|
+
if (!nodeContains(currentNode, newNode)) {
|
|
78
|
+
this.currentNode = currentNode;
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
if (newNode) this.currentNode = newNode;
|
|
82
|
+
return newNode;
|
|
83
|
+
}
|
|
84
|
+
lastChild() {
|
|
85
|
+
const newNode = this.walkerStack[0].lastChild();
|
|
86
|
+
if (newNode) this.currentNode = newNode;
|
|
87
|
+
return newNode;
|
|
88
|
+
}
|
|
89
|
+
nextNode() {
|
|
90
|
+
const nextNode = this.walkerStack[0].nextNode();
|
|
91
|
+
if (nextNode) {
|
|
92
|
+
if (nextNode.shadowRoot) {
|
|
93
|
+
let nodeResult;
|
|
94
|
+
if (typeof this.filter === "function") nodeResult = this.filter(nextNode);
|
|
95
|
+
else if (this.filter?.acceptNode) nodeResult = this.filter.acceptNode(nextNode);
|
|
96
|
+
if (nodeResult === NodeFilter.FILTER_ACCEPT) {
|
|
97
|
+
this.currentNode = nextNode;
|
|
98
|
+
return nextNode;
|
|
99
|
+
}
|
|
100
|
+
const childNode = this.nextNode();
|
|
101
|
+
if (childNode) this.currentNode = childNode;
|
|
102
|
+
return childNode;
|
|
103
|
+
}
|
|
104
|
+
this.currentNode = nextNode;
|
|
105
|
+
return nextNode;
|
|
106
|
+
}
|
|
107
|
+
if (this.walkerStack.length > 1) {
|
|
108
|
+
this.walkerStack.shift();
|
|
109
|
+
const parentNode = this.nextNode();
|
|
110
|
+
if (parentNode) this.currentNode = parentNode;
|
|
111
|
+
return parentNode;
|
|
112
|
+
}
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
previousNode() {
|
|
116
|
+
const currentWalker = this.walkerStack[0];
|
|
117
|
+
if (currentWalker.currentNode === currentWalker.root) {
|
|
118
|
+
if (this.currentSetFor.has(currentWalker)) {
|
|
119
|
+
this.currentSetFor.delete(currentWalker);
|
|
120
|
+
if (this.walkerStack.length > 1) {
|
|
121
|
+
this.walkerStack.shift();
|
|
122
|
+
const parentNode = this.previousNode();
|
|
123
|
+
if (parentNode) this.currentNode = parentNode;
|
|
124
|
+
return parentNode;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
const previousNode = currentWalker.previousNode();
|
|
130
|
+
if (previousNode) {
|
|
131
|
+
if (previousNode.shadowRoot) {
|
|
132
|
+
let nodeResult;
|
|
133
|
+
if (typeof this.filter === "function") nodeResult = this.filter(previousNode);
|
|
134
|
+
else if (this.filter?.acceptNode) nodeResult = this.filter.acceptNode(previousNode);
|
|
135
|
+
if (nodeResult === NodeFilter.FILTER_ACCEPT) {
|
|
136
|
+
this.currentNode = previousNode;
|
|
137
|
+
return previousNode;
|
|
138
|
+
}
|
|
139
|
+
const childNode = this.lastChild();
|
|
140
|
+
if (childNode) this.currentNode = childNode;
|
|
141
|
+
return childNode;
|
|
142
|
+
}
|
|
143
|
+
this.currentNode = previousNode;
|
|
144
|
+
return previousNode;
|
|
145
|
+
}
|
|
146
|
+
if (this.walkerStack.length > 1) {
|
|
147
|
+
this.walkerStack.shift();
|
|
148
|
+
const parentNode = this.previousNode();
|
|
149
|
+
if (parentNode) this.currentNode = parentNode;
|
|
150
|
+
return parentNode;
|
|
151
|
+
}
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
/** @deprecated */
|
|
155
|
+
nextSibling() {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
/** @deprecated */
|
|
159
|
+
previousSibling() {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
/** @deprecated */
|
|
163
|
+
parentNode() {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
/** Shadow DOM-safe version of `Document.createTreeWalker`. */
|
|
168
|
+
function createShadowTreeWalker(doc, root, whatToShow, filter) {
|
|
169
|
+
if (shadowDOM()) return new ShadowTreeWalker(doc, root, whatToShow, filter);
|
|
170
|
+
return doc.createTreeWalker(root, whatToShow, filter);
|
|
171
|
+
}
|
|
172
|
+
//#endregion
|
|
2
173
|
//#region src/overlays/ariaHideOutside.ts
|
|
3
174
|
/**
|
|
4
175
|
* Hides all elements in the DOM outside the given targets from screen readers.
|
|
5
|
-
*
|
|
176
|
+
* Ported from packages/react-aria/src/overlays/ariaHideOutside.ts.
|
|
6
177
|
*/
|
|
7
178
|
const supportsInert = typeof HTMLElement !== "undefined" && "inert" in HTMLElement.prototype;
|
|
179
|
+
function isAlwaysVisibleNode(node) {
|
|
180
|
+
return node.dataset.liveAnnouncer === "true" || node.dataset.solidariaTopLayer !== void 0;
|
|
181
|
+
}
|
|
8
182
|
const refCountMap = /* @__PURE__ */ new WeakMap();
|
|
9
183
|
const observerStack = [];
|
|
10
184
|
/**
|
|
@@ -18,10 +192,21 @@ const observerStack = [];
|
|
|
18
192
|
function ariaHideOutside(targets, options) {
|
|
19
193
|
const windowObj = getOwnerWindow(targets?.[0]);
|
|
20
194
|
const opts = options instanceof windowObj.Element ? { root: options } : options;
|
|
21
|
-
const root = opts?.root ??
|
|
195
|
+
const root = opts?.root ?? getOwnerDocument(targets?.[0]).body;
|
|
22
196
|
const shouldUseInert = opts?.shouldUseInert && supportsInert;
|
|
23
197
|
const visibleNodes = new Set(targets);
|
|
24
198
|
const hiddenNodes = /* @__PURE__ */ new Set();
|
|
199
|
+
const shadowRootsToWatch = /* @__PURE__ */ new Set();
|
|
200
|
+
if (shadowDOM()) {
|
|
201
|
+
const boundary = root.getRootNode();
|
|
202
|
+
for (const target of targets) {
|
|
203
|
+
let current = target.getRootNode();
|
|
204
|
+
while (current instanceof windowObj.ShadowRoot && current !== boundary) {
|
|
205
|
+
shadowRootsToWatch.add(current);
|
|
206
|
+
current = current.host.getRootNode();
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
25
210
|
const getHidden = (element) => {
|
|
26
211
|
return shouldUseInert && element instanceof windowObj.HTMLElement ? element.inert : element.getAttribute("aria-hidden") === "true";
|
|
27
212
|
};
|
|
@@ -44,10 +229,10 @@ function ariaHideOutside(targets, options) {
|
|
|
44
229
|
for (const element of walkRoot.querySelectorAll("[data-live-announcer], [data-solidaria-top-layer]")) visibleNodes.add(element);
|
|
45
230
|
const acceptNode = (node) => {
|
|
46
231
|
if (hiddenNodes.has(node) || visibleNodes.has(node) || node.parentElement && hiddenNodes.has(node.parentElement) && node.parentElement.getAttribute("role") !== "row") return NodeFilter.FILTER_REJECT;
|
|
47
|
-
for (const target of visibleNodes) if (node
|
|
232
|
+
for (const target of visibleNodes) if (nodeContains(node, target)) return NodeFilter.FILTER_SKIP;
|
|
48
233
|
return NodeFilter.FILTER_ACCEPT;
|
|
49
234
|
};
|
|
50
|
-
const walker =
|
|
235
|
+
const walker = createShadowTreeWalker(getOwnerDocument(walkRoot), walkRoot, NodeFilter.SHOW_ELEMENT, { acceptNode });
|
|
51
236
|
const acceptRoot = acceptNode(walkRoot);
|
|
52
237
|
if (acceptRoot === NodeFilter.FILTER_ACCEPT) hide(walkRoot);
|
|
53
238
|
if (acceptRoot !== NodeFilter.FILTER_REJECT) {
|
|
@@ -60,19 +245,35 @@ function ariaHideOutside(targets, options) {
|
|
|
60
245
|
};
|
|
61
246
|
if (observerStack.length) observerStack[observerStack.length - 1].disconnect();
|
|
62
247
|
walk(root);
|
|
63
|
-
const
|
|
248
|
+
const processMutations = (changes) => {
|
|
64
249
|
for (const change of changes) {
|
|
65
250
|
if (change.type !== "childList") continue;
|
|
66
|
-
if (![...visibleNodes, ...hiddenNodes].some((node) => node
|
|
67
|
-
for (const node of change.addedNodes) if ((node instanceof HTMLElement || node instanceof SVGElement) && (node
|
|
68
|
-
else if (node instanceof Element) walk(node);
|
|
251
|
+
if (change.target.isConnected && ![...visibleNodes, ...hiddenNodes].some((node) => nodeContains(node, change.target))) {
|
|
252
|
+
for (const node of change.addedNodes) if ((node instanceof windowObj.HTMLElement || node instanceof windowObj.SVGElement) && isAlwaysVisibleNode(node)) visibleNodes.add(node);
|
|
253
|
+
else if (node instanceof windowObj.Element) walk(node);
|
|
254
|
+
}
|
|
255
|
+
if (shadowDOM()) {
|
|
256
|
+
for (const shadowRoot of shadowRootsToWatch) if (!shadowRoot.isConnected) {
|
|
257
|
+
observer.disconnect();
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
69
260
|
}
|
|
70
261
|
}
|
|
71
|
-
}
|
|
262
|
+
};
|
|
263
|
+
const observer = new windowObj.MutationObserver(processMutations);
|
|
72
264
|
observer.observe(root, {
|
|
73
265
|
childList: true,
|
|
74
266
|
subtree: true
|
|
75
267
|
});
|
|
268
|
+
const shadowObservers = /* @__PURE__ */ new Set();
|
|
269
|
+
if (shadowDOM()) for (const shadowRoot of shadowRootsToWatch) {
|
|
270
|
+
const shadowObserver = new windowObj.MutationObserver(processMutations);
|
|
271
|
+
shadowObserver.observe(shadowRoot, {
|
|
272
|
+
childList: true,
|
|
273
|
+
subtree: true
|
|
274
|
+
});
|
|
275
|
+
shadowObservers.add(shadowObserver);
|
|
276
|
+
}
|
|
76
277
|
const observerWrapper = {
|
|
77
278
|
visibleNodes,
|
|
78
279
|
hiddenNodes,
|
|
@@ -89,6 +290,7 @@ function ariaHideOutside(targets, options) {
|
|
|
89
290
|
observerStack.push(observerWrapper);
|
|
90
291
|
return () => {
|
|
91
292
|
observer.disconnect();
|
|
293
|
+
if (shadowDOM()) for (const shadowObserver of shadowObservers) shadowObserver.disconnect();
|
|
92
294
|
for (const node of hiddenNodes) {
|
|
93
295
|
const count = refCountMap.get(node);
|
|
94
296
|
if (count == null) continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ariaHideOutside.js","names":[],"sources":["../../src/overlays/ariaHideOutside.ts"],"sourcesContent":["/**\n * Hides all elements in the DOM outside the given targets from screen readers.\n * Based on @react-aria/overlays ariaHideOutside.\n */\n\nimport { getOwnerWindow } from \"../utils\";\n\nconst supportsInert = typeof HTMLElement !== \"undefined\" && \"inert\" in HTMLElement.prototype;\n\nexport interface AriaHideOutsideOptions {\n /** The root element to start hiding from. */\n root?: Element;\n /** Whether to use the `inert` attribute instead of `aria-hidden`. */\n shouldUseInert?: boolean;\n}\n\n// Keeps a ref count of all hidden elements. Added to when hiding an element, and\n// subtracted from when showing it again. When it reaches zero, aria-hidden is removed.\nconst refCountMap = new WeakMap<Element, number>();\n\ninterface ObserverWrapper {\n visibleNodes: Set<Element>;\n hiddenNodes: Set<Element>;\n observe: () => void;\n disconnect: () => void;\n}\n\nconst observerStack: ObserverWrapper[] = [];\n\n/**\n * Hides all elements in the DOM outside the given targets from screen readers using aria-hidden,\n * and returns a function to revert these changes. In addition, changes to the DOM are watched\n * and new elements outside the targets are automatically hidden.\n * @param targets - The elements that should remain visible.\n * @param options - Options for hiding behavior.\n * @returns - A function to restore all hidden elements.\n */\nexport function ariaHideOutside(\n targets: Element[],\n options?: AriaHideOutsideOptions | Element,\n): () => void {\n const windowObj = getOwnerWindow(targets?.[0]);\n const opts = options instanceof windowObj.Element ? { root: options } : options;\n const root = opts?.root ?? document.body;\n const shouldUseInert = opts?.shouldUseInert && supportsInert;\n const visibleNodes = new Set<Element>(targets);\n const hiddenNodes = new Set<Element>();\n\n const getHidden = (element: Element): boolean => {\n return shouldUseInert && element instanceof windowObj.HTMLElement\n ? element.inert\n : element.getAttribute(\"aria-hidden\") === \"true\";\n };\n\n const setHidden = (element: Element, hidden: boolean): void => {\n if (shouldUseInert && element instanceof windowObj.HTMLElement) {\n element.inert = hidden;\n } else if (hidden) {\n element.setAttribute(\"aria-hidden\", \"true\");\n } else {\n element.removeAttribute(\"aria-hidden\");\n if (element instanceof windowObj.HTMLElement) {\n // We only ever call setHidden with hidden = false when the nodeCount is 1 aka\n // we are trying to make the element visible to screen readers again, so remove inert as well\n element.inert = false;\n }\n }\n };\n\n const hide = (node: Element): void => {\n let refCount = refCountMap.get(node) ?? 0;\n\n // If already aria-hidden, and the ref count is zero, then this element\n // was already hidden and there's nothing for us to do.\n if (getHidden(node) && refCount === 0) {\n return;\n }\n\n if (refCount === 0) {\n setHidden(node, true);\n }\n\n hiddenNodes.add(node);\n refCountMap.set(node, refCount + 1);\n };\n\n const walk = (walkRoot: Element): void => {\n // Keep live announcer and top layer elements (e.g. toasts) visible.\n for (const element of walkRoot.querySelectorAll(\n \"[data-live-announcer], [data-solidaria-top-layer]\",\n )) {\n visibleNodes.add(element);\n }\n\n const acceptNode = (node: Element): number => {\n // Skip this node and its children if it is one of the target nodes, or a live announcer.\n // Also skip children of already hidden nodes, as aria-hidden is recursive. An exception is\n // made for elements with role=\"row\" since VoiceOver on iOS has issues hiding elements with role=\"row\".\n // For that case we want to hide the cells inside as well (https://bugs.webkit.org/show_bug.cgi?id=222623).\n if (\n hiddenNodes.has(node) ||\n visibleNodes.has(node) ||\n (node.parentElement &&\n hiddenNodes.has(node.parentElement) &&\n node.parentElement.getAttribute(\"role\") !== \"row\")\n ) {\n return NodeFilter.FILTER_REJECT;\n }\n\n // Skip this node but continue to children if one of the targets is inside the node.\n for (const target of visibleNodes) {\n if (node.contains(target)) {\n return NodeFilter.FILTER_SKIP;\n }\n }\n\n return NodeFilter.FILTER_ACCEPT;\n };\n\n const walker = document.createTreeWalker(walkRoot, NodeFilter.SHOW_ELEMENT, { acceptNode });\n\n // TreeWalker does not include the root.\n const acceptRoot = acceptNode(walkRoot);\n if (acceptRoot === NodeFilter.FILTER_ACCEPT) {\n hide(walkRoot);\n }\n\n if (acceptRoot !== NodeFilter.FILTER_REJECT) {\n let node = walker.nextNode() as Element;\n while (node != null) {\n hide(node);\n node = walker.nextNode() as Element;\n }\n }\n };\n\n // If there is already a MutationObserver listening from a previous call,\n // disconnect it so the new one takes over.\n if (observerStack.length) {\n observerStack[observerStack.length - 1].disconnect();\n }\n\n walk(root);\n\n const observer = new MutationObserver((changes) => {\n for (const change of changes) {\n if (change.type !== \"childList\") {\n continue;\n }\n\n // If the parent element of the added nodes is not within one of the targets,\n // and not already inside a hidden node, hide all of the new children.\n if (![...visibleNodes, ...hiddenNodes].some((node) => node.contains(change.target))) {\n for (const node of change.addedNodes) {\n if (\n (node instanceof HTMLElement || node instanceof SVGElement) &&\n (node.dataset.liveAnnouncer === \"true\" || node.dataset.solidariaTopLayer === \"true\")\n ) {\n visibleNodes.add(node);\n } else if (node instanceof Element) {\n walk(node);\n }\n }\n }\n }\n });\n\n observer.observe(root, { childList: true, subtree: true });\n\n const observerWrapper: ObserverWrapper = {\n visibleNodes,\n hiddenNodes,\n observe() {\n observer.observe(root, { childList: true, subtree: true });\n },\n disconnect() {\n observer.disconnect();\n },\n };\n\n observerStack.push(observerWrapper);\n\n return (): void => {\n observer.disconnect();\n\n for (const node of hiddenNodes) {\n const count = refCountMap.get(node);\n if (count == null) {\n continue;\n }\n if (count === 1) {\n setHidden(node, false);\n refCountMap.delete(node);\n } else {\n refCountMap.set(node, count - 1);\n }\n }\n\n // Remove this observer from the stack, and start the previous one.\n if (observerWrapper === observerStack[observerStack.length - 1]) {\n observerStack.pop();\n if (observerStack.length) {\n observerStack[observerStack.length - 1].observe();\n }\n } else {\n observerStack.splice(observerStack.indexOf(observerWrapper), 1);\n }\n };\n}\n\n/**\n * Keeps an element visible when aria-hiding is active.\n * Used for elements like live regions that should remain accessible.\n */\nexport function keepVisible(element: Element): (() => void) | undefined {\n const observer = observerStack[observerStack.length - 1];\n if (observer && !observer.visibleNodes.has(element)) {\n observer.visibleNodes.add(element);\n return () => {\n observer.visibleNodes.delete(element);\n };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ariaHideOutside.js","names":[],"sources":["../../src/utils/ShadowTreeWalker.ts","../../src/overlays/ariaHideOutside.ts"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/utils/shadowdom/ShadowTreeWalker.ts\n// Adobe's source is based on:\n// https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/ShadowTreeWalker.ts\n\nimport { shadowDOM } from \"@proyecto-viviana/solid-stately/private/flags/flags\";\nimport { nodeContains } from \"./dom\";\n\nexport class ShadowTreeWalker implements TreeWalker {\n public readonly filter: NodeFilter | null;\n public readonly root: Node;\n public readonly whatToShow: number;\n\n private readonly doc: Document;\n private walkerStack: TreeWalker[] = [];\n private current: Node;\n private currentSetFor = new Set<TreeWalker>();\n\n constructor(doc: Document, root: Node, whatToShow?: number, filter?: NodeFilter | null) {\n this.doc = doc;\n this.root = root;\n this.filter = filter ?? null;\n this.whatToShow = whatToShow ?? NodeFilter.SHOW_ALL;\n this.current = root;\n\n this.walkerStack.unshift(doc.createTreeWalker(root, whatToShow, this.acceptNode));\n\n const shadowRoot = (root as Element).shadowRoot;\n if (shadowRoot) {\n this.walkerStack.unshift(\n this.doc.createTreeWalker(shadowRoot, this.whatToShow, {\n acceptNode: this.acceptNode,\n }),\n );\n }\n }\n\n private acceptNode = (node: Node): number => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n const shadowRoot = (node as Element).shadowRoot;\n if (shadowRoot) {\n this.walkerStack.unshift(\n this.doc.createTreeWalker(shadowRoot, this.whatToShow, {\n acceptNode: this.acceptNode,\n }),\n );\n return NodeFilter.FILTER_ACCEPT;\n }\n\n if (typeof this.filter === \"function\") {\n return this.filter(node);\n }\n if (this.filter?.acceptNode) {\n return this.filter.acceptNode(node);\n }\n if (this.filter === null) {\n return NodeFilter.FILTER_ACCEPT;\n }\n }\n\n return NodeFilter.FILTER_SKIP;\n };\n\n public get currentNode(): Node {\n return this.current;\n }\n\n public set currentNode(node: Node) {\n if (!nodeContains(this.root, node)) {\n throw new Error(\"Cannot set currentNode to a node that is not contained by the root node.\");\n }\n\n const walkers: TreeWalker[] = [];\n let currentNode: Node | null | undefined = node;\n let walkerCurrentNode = node;\n this.current = node;\n\n while (currentNode && currentNode !== this.root) {\n if (currentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n const shadowRoot = currentNode as ShadowRoot;\n const walker = this.doc.createTreeWalker(shadowRoot, this.whatToShow, {\n acceptNode: this.acceptNode,\n });\n walkers.push(walker);\n walker.currentNode = walkerCurrentNode;\n this.currentSetFor.add(walker);\n currentNode = walkerCurrentNode = shadowRoot.host;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n const walker = this.doc.createTreeWalker(this.root, this.whatToShow, {\n acceptNode: this.acceptNode,\n });\n walkers.push(walker);\n walker.currentNode = walkerCurrentNode;\n this.currentSetFor.add(walker);\n this.walkerStack = walkers;\n }\n\n public firstChild(): Node | null {\n const currentNode = this.currentNode;\n const newNode = this.nextNode();\n if (!nodeContains(currentNode, newNode)) {\n this.currentNode = currentNode;\n return null;\n }\n if (newNode) {\n this.currentNode = newNode;\n }\n return newNode;\n }\n\n public lastChild(): Node | null {\n const walker = this.walkerStack[0];\n const newNode = walker.lastChild();\n if (newNode) {\n this.currentNode = newNode;\n }\n return newNode;\n }\n\n public nextNode(): Node | null {\n const nextNode = this.walkerStack[0].nextNode();\n if (nextNode) {\n const shadowRoot = (nextNode as Element).shadowRoot;\n if (shadowRoot) {\n let nodeResult: number | undefined;\n if (typeof this.filter === \"function\") {\n nodeResult = this.filter(nextNode);\n } else if (this.filter?.acceptNode) {\n nodeResult = this.filter.acceptNode(nextNode);\n }\n\n if (nodeResult === NodeFilter.FILTER_ACCEPT) {\n this.currentNode = nextNode;\n return nextNode;\n }\n\n const childNode = this.nextNode();\n if (childNode) {\n this.currentNode = childNode;\n }\n return childNode;\n }\n\n this.currentNode = nextNode;\n return nextNode;\n }\n\n if (this.walkerStack.length > 1) {\n this.walkerStack.shift();\n const parentNode = this.nextNode();\n if (parentNode) {\n this.currentNode = parentNode;\n }\n return parentNode;\n }\n return null;\n }\n\n public previousNode(): Node | null {\n const currentWalker = this.walkerStack[0];\n if (currentWalker.currentNode === currentWalker.root) {\n if (this.currentSetFor.has(currentWalker)) {\n this.currentSetFor.delete(currentWalker);\n if (this.walkerStack.length > 1) {\n this.walkerStack.shift();\n const parentNode = this.previousNode();\n if (parentNode) {\n this.currentNode = parentNode;\n }\n return parentNode;\n }\n }\n return null;\n }\n\n const previousNode = currentWalker.previousNode();\n if (previousNode) {\n const shadowRoot = (previousNode as Element).shadowRoot;\n if (shadowRoot) {\n let nodeResult: number | undefined;\n if (typeof this.filter === \"function\") {\n nodeResult = this.filter(previousNode);\n } else if (this.filter?.acceptNode) {\n nodeResult = this.filter.acceptNode(previousNode);\n }\n\n if (nodeResult === NodeFilter.FILTER_ACCEPT) {\n this.currentNode = previousNode;\n return previousNode;\n }\n\n const childNode = this.lastChild();\n if (childNode) {\n this.currentNode = childNode;\n }\n return childNode;\n }\n\n this.currentNode = previousNode;\n return previousNode;\n }\n\n if (this.walkerStack.length > 1) {\n this.walkerStack.shift();\n const parentNode = this.previousNode();\n if (parentNode) {\n this.currentNode = parentNode;\n }\n return parentNode;\n }\n return null;\n }\n\n /** @deprecated */\n public nextSibling(): Node | null {\n return null;\n }\n\n /** @deprecated */\n public previousSibling(): Node | null {\n return null;\n }\n\n /** @deprecated */\n public parentNode(): Node | null {\n return null;\n }\n}\n\n/** Shadow DOM-safe version of `Document.createTreeWalker`. */\nexport function createShadowTreeWalker(\n doc: Document,\n root: Node,\n whatToShow?: number,\n filter?: NodeFilter | null,\n): TreeWalker {\n if (shadowDOM()) {\n return new ShadowTreeWalker(doc, root, whatToShow, filter);\n }\n return doc.createTreeWalker(root, whatToShow, filter);\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/overlays/ariaHideOutside.ts\n\n/**\n * Hides all elements in the DOM outside the given targets from screen readers.\n * Ported from packages/react-aria/src/overlays/ariaHideOutside.ts.\n */\n\nimport { shadowDOM } from \"@proyecto-viviana/solid-stately/private/flags/flags\";\nimport { getOwnerDocument, getOwnerWindow, nodeContains } from \"../utils\";\nimport { createShadowTreeWalker } from \"../utils/ShadowTreeWalker\";\n\nconst supportsInert = typeof HTMLElement !== \"undefined\" && \"inert\" in HTMLElement.prototype;\n\nfunction isAlwaysVisibleNode(node: HTMLElement | SVGElement): boolean {\n return node.dataset.liveAnnouncer === \"true\" || node.dataset.solidariaTopLayer !== undefined;\n}\n\nexport interface AriaHideOutsideOptions {\n /** The root element to start hiding from. */\n root?: Element;\n /** Whether to use the `inert` attribute instead of `aria-hidden`. */\n shouldUseInert?: boolean;\n}\n\n// Keeps a ref count of all hidden elements. Added to when hiding an element, and\n// subtracted from when showing it again. When it reaches zero, aria-hidden is removed.\nconst refCountMap = new WeakMap<Element, number>();\n\ninterface ObserverWrapper {\n visibleNodes: Set<Element>;\n hiddenNodes: Set<Element>;\n observe: () => void;\n disconnect: () => void;\n}\n\nconst observerStack: ObserverWrapper[] = [];\n\n/**\n * Hides all elements in the DOM outside the given targets from screen readers using aria-hidden,\n * and returns a function to revert these changes. In addition, changes to the DOM are watched\n * and new elements outside the targets are automatically hidden.\n * @param targets - The elements that should remain visible.\n * @param options - Options for hiding behavior.\n * @returns - A function to restore all hidden elements.\n */\nexport function ariaHideOutside(\n targets: Element[],\n options?: AriaHideOutsideOptions | Element,\n): () => void {\n const windowObj = getOwnerWindow(targets?.[0]);\n const opts = options instanceof windowObj.Element ? { root: options } : options;\n const root = opts?.root ?? getOwnerDocument(targets?.[0]).body;\n const shouldUseInert = opts?.shouldUseInert && supportsInert;\n const visibleNodes = new Set<Element>(targets);\n const hiddenNodes = new Set<Element>();\n\n const shadowRootsToWatch = new Set<ShadowRoot>();\n if (shadowDOM()) {\n const boundary = root.getRootNode();\n for (const target of targets) {\n let current = target.getRootNode();\n while (current instanceof windowObj.ShadowRoot && current !== boundary) {\n shadowRootsToWatch.add(current);\n current = current.host.getRootNode();\n }\n }\n }\n\n const getHidden = (element: Element): boolean => {\n return shouldUseInert && element instanceof windowObj.HTMLElement\n ? element.inert\n : element.getAttribute(\"aria-hidden\") === \"true\";\n };\n\n const setHidden = (element: Element, hidden: boolean): void => {\n if (shouldUseInert && element instanceof windowObj.HTMLElement) {\n element.inert = hidden;\n } else if (hidden) {\n element.setAttribute(\"aria-hidden\", \"true\");\n } else {\n element.removeAttribute(\"aria-hidden\");\n if (element instanceof windowObj.HTMLElement) {\n // We only ever call setHidden with hidden = false when the nodeCount is 1 aka\n // we are trying to make the element visible to screen readers again, so remove inert as well\n element.inert = false;\n }\n }\n };\n\n const hide = (node: Element): void => {\n let refCount = refCountMap.get(node) ?? 0;\n\n // If already aria-hidden, and the ref count is zero, then this element\n // was already hidden and there's nothing for us to do.\n if (getHidden(node) && refCount === 0) {\n return;\n }\n\n if (refCount === 0) {\n setHidden(node, true);\n }\n\n hiddenNodes.add(node);\n refCountMap.set(node, refCount + 1);\n };\n\n const walk = (walkRoot: Element): void => {\n // Keep live announcer and top layer elements (e.g. toasts) visible.\n for (const element of walkRoot.querySelectorAll(\n \"[data-live-announcer], [data-solidaria-top-layer]\",\n )) {\n visibleNodes.add(element);\n }\n\n const acceptNode = (node: Element): number => {\n // Skip this node and its children if it is one of the target nodes, or a live announcer.\n // Also skip children of already hidden nodes, as aria-hidden is recursive. An exception is\n // made for elements with role=\"row\" since VoiceOver on iOS has issues hiding elements with role=\"row\".\n // For that case we want to hide the cells inside as well (https://bugs.webkit.org/show_bug.cgi?id=222623).\n if (\n hiddenNodes.has(node) ||\n visibleNodes.has(node) ||\n (node.parentElement &&\n hiddenNodes.has(node.parentElement) &&\n node.parentElement.getAttribute(\"role\") !== \"row\")\n ) {\n return NodeFilter.FILTER_REJECT;\n }\n\n // Skip this node but continue to children if one of the targets is inside the node.\n for (const target of visibleNodes) {\n if (nodeContains(node, target)) {\n return NodeFilter.FILTER_SKIP;\n }\n }\n\n return NodeFilter.FILTER_ACCEPT;\n };\n\n const walker = createShadowTreeWalker(\n getOwnerDocument(walkRoot),\n walkRoot,\n NodeFilter.SHOW_ELEMENT,\n { acceptNode },\n );\n\n // TreeWalker does not include the root.\n const acceptRoot = acceptNode(walkRoot);\n if (acceptRoot === NodeFilter.FILTER_ACCEPT) {\n hide(walkRoot);\n }\n\n if (acceptRoot !== NodeFilter.FILTER_REJECT) {\n let node = walker.nextNode() as Element;\n while (node != null) {\n hide(node);\n node = walker.nextNode() as Element;\n }\n }\n };\n\n // If there is already a MutationObserver listening from a previous call,\n // disconnect it so the new one takes over.\n if (observerStack.length) {\n observerStack[observerStack.length - 1].disconnect();\n }\n\n walk(root);\n\n const processMutations = (changes: MutationRecord[]): void => {\n for (const change of changes) {\n if (change.type !== \"childList\") {\n continue;\n }\n\n // If the parent element of the added nodes is not within one of the targets,\n // and not already inside a hidden node, hide all of the new children.\n if (\n change.target.isConnected &&\n ![...visibleNodes, ...hiddenNodes].some((node) => nodeContains(node, change.target))\n ) {\n for (const node of change.addedNodes) {\n if (\n (node instanceof windowObj.HTMLElement || node instanceof windowObj.SVGElement) &&\n isAlwaysVisibleNode(node)\n ) {\n visibleNodes.add(node);\n } else if (node instanceof windowObj.Element) {\n walk(node);\n }\n }\n }\n\n if (shadowDOM()) {\n for (const shadowRoot of shadowRootsToWatch) {\n if (!shadowRoot.isConnected) {\n observer.disconnect();\n break;\n }\n }\n }\n }\n };\n\n const observer = new windowObj.MutationObserver(processMutations);\n\n observer.observe(root, { childList: true, subtree: true });\n\n const shadowObservers = new Set<MutationObserver>();\n if (shadowDOM()) {\n for (const shadowRoot of shadowRootsToWatch) {\n const shadowObserver = new windowObj.MutationObserver(processMutations);\n shadowObserver.observe(shadowRoot, { childList: true, subtree: true });\n shadowObservers.add(shadowObserver);\n }\n }\n\n const observerWrapper: ObserverWrapper = {\n visibleNodes,\n hiddenNodes,\n observe() {\n observer.observe(root, { childList: true, subtree: true });\n },\n disconnect() {\n observer.disconnect();\n },\n };\n\n observerStack.push(observerWrapper);\n\n return (): void => {\n observer.disconnect();\n if (shadowDOM()) {\n for (const shadowObserver of shadowObservers) {\n shadowObserver.disconnect();\n }\n }\n\n for (const node of hiddenNodes) {\n const count = refCountMap.get(node);\n if (count == null) {\n continue;\n }\n if (count === 1) {\n setHidden(node, false);\n refCountMap.delete(node);\n } else {\n refCountMap.set(node, count - 1);\n }\n }\n\n // Remove this observer from the stack, and start the previous one.\n if (observerWrapper === observerStack[observerStack.length - 1]) {\n observerStack.pop();\n if (observerStack.length) {\n observerStack[observerStack.length - 1].observe();\n }\n } else {\n observerStack.splice(observerStack.indexOf(observerWrapper), 1);\n }\n };\n}\n\n/**\n * Keeps an element visible when aria-hiding is active.\n * Used for elements like live regions that should remain accessible.\n */\nexport function keepVisible(element: Element): (() => void) | undefined {\n const observer = observerStack[observerStack.length - 1];\n if (observer && !observer.visibleNodes.has(element)) {\n observer.visibleNodes.add(element);\n return () => {\n observer.visibleNodes.delete(element);\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,10 +1,184 @@
|
|
|
1
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/overlays/ariaHideOutside.ts
|
|
13
|
+
import { a as getOwnerDocument, o as getOwnerWindow, v as nodeContains } from "./dom.jsx";
|
|
14
|
+
import { shadowDOM } from "@proyecto-viviana/solid-stately/private/flags/flags";
|
|
15
|
+
//#region src/utils/ShadowTreeWalker.ts
|
|
16
|
+
/*!
|
|
17
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
18
|
+
* Licensed under the MIT License.
|
|
19
|
+
*/
|
|
20
|
+
var ShadowTreeWalker = class {
|
|
21
|
+
filter;
|
|
22
|
+
root;
|
|
23
|
+
whatToShow;
|
|
24
|
+
doc;
|
|
25
|
+
walkerStack = [];
|
|
26
|
+
current;
|
|
27
|
+
currentSetFor = /* @__PURE__ */ new Set();
|
|
28
|
+
constructor(doc, root, whatToShow, filter) {
|
|
29
|
+
this.doc = doc;
|
|
30
|
+
this.root = root;
|
|
31
|
+
this.filter = filter ?? null;
|
|
32
|
+
this.whatToShow = whatToShow ?? NodeFilter.SHOW_ALL;
|
|
33
|
+
this.current = root;
|
|
34
|
+
this.walkerStack.unshift(doc.createTreeWalker(root, whatToShow, this.acceptNode));
|
|
35
|
+
const shadowRoot = root.shadowRoot;
|
|
36
|
+
if (shadowRoot) this.walkerStack.unshift(this.doc.createTreeWalker(shadowRoot, this.whatToShow, { acceptNode: this.acceptNode }));
|
|
37
|
+
}
|
|
38
|
+
acceptNode = (node) => {
|
|
39
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
40
|
+
const shadowRoot = node.shadowRoot;
|
|
41
|
+
if (shadowRoot) {
|
|
42
|
+
this.walkerStack.unshift(this.doc.createTreeWalker(shadowRoot, this.whatToShow, { acceptNode: this.acceptNode }));
|
|
43
|
+
return NodeFilter.FILTER_ACCEPT;
|
|
44
|
+
}
|
|
45
|
+
if (typeof this.filter === "function") return this.filter(node);
|
|
46
|
+
if (this.filter?.acceptNode) return this.filter.acceptNode(node);
|
|
47
|
+
if (this.filter === null) return NodeFilter.FILTER_ACCEPT;
|
|
48
|
+
}
|
|
49
|
+
return NodeFilter.FILTER_SKIP;
|
|
50
|
+
};
|
|
51
|
+
get currentNode() {
|
|
52
|
+
return this.current;
|
|
53
|
+
}
|
|
54
|
+
set currentNode(node) {
|
|
55
|
+
if (!nodeContains(this.root, node)) throw new Error("Cannot set currentNode to a node that is not contained by the root node.");
|
|
56
|
+
const walkers = [];
|
|
57
|
+
let currentNode = node;
|
|
58
|
+
let walkerCurrentNode = node;
|
|
59
|
+
this.current = node;
|
|
60
|
+
while (currentNode && currentNode !== this.root) if (currentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
|
61
|
+
const shadowRoot = currentNode;
|
|
62
|
+
const walker = this.doc.createTreeWalker(shadowRoot, this.whatToShow, { acceptNode: this.acceptNode });
|
|
63
|
+
walkers.push(walker);
|
|
64
|
+
walker.currentNode = walkerCurrentNode;
|
|
65
|
+
this.currentSetFor.add(walker);
|
|
66
|
+
currentNode = walkerCurrentNode = shadowRoot.host;
|
|
67
|
+
} else currentNode = currentNode.parentNode;
|
|
68
|
+
const walker = this.doc.createTreeWalker(this.root, this.whatToShow, { acceptNode: this.acceptNode });
|
|
69
|
+
walkers.push(walker);
|
|
70
|
+
walker.currentNode = walkerCurrentNode;
|
|
71
|
+
this.currentSetFor.add(walker);
|
|
72
|
+
this.walkerStack = walkers;
|
|
73
|
+
}
|
|
74
|
+
firstChild() {
|
|
75
|
+
const currentNode = this.currentNode;
|
|
76
|
+
const newNode = this.nextNode();
|
|
77
|
+
if (!nodeContains(currentNode, newNode)) {
|
|
78
|
+
this.currentNode = currentNode;
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
if (newNode) this.currentNode = newNode;
|
|
82
|
+
return newNode;
|
|
83
|
+
}
|
|
84
|
+
lastChild() {
|
|
85
|
+
const newNode = this.walkerStack[0].lastChild();
|
|
86
|
+
if (newNode) this.currentNode = newNode;
|
|
87
|
+
return newNode;
|
|
88
|
+
}
|
|
89
|
+
nextNode() {
|
|
90
|
+
const nextNode = this.walkerStack[0].nextNode();
|
|
91
|
+
if (nextNode) {
|
|
92
|
+
if (nextNode.shadowRoot) {
|
|
93
|
+
let nodeResult;
|
|
94
|
+
if (typeof this.filter === "function") nodeResult = this.filter(nextNode);
|
|
95
|
+
else if (this.filter?.acceptNode) nodeResult = this.filter.acceptNode(nextNode);
|
|
96
|
+
if (nodeResult === NodeFilter.FILTER_ACCEPT) {
|
|
97
|
+
this.currentNode = nextNode;
|
|
98
|
+
return nextNode;
|
|
99
|
+
}
|
|
100
|
+
const childNode = this.nextNode();
|
|
101
|
+
if (childNode) this.currentNode = childNode;
|
|
102
|
+
return childNode;
|
|
103
|
+
}
|
|
104
|
+
this.currentNode = nextNode;
|
|
105
|
+
return nextNode;
|
|
106
|
+
}
|
|
107
|
+
if (this.walkerStack.length > 1) {
|
|
108
|
+
this.walkerStack.shift();
|
|
109
|
+
const parentNode = this.nextNode();
|
|
110
|
+
if (parentNode) this.currentNode = parentNode;
|
|
111
|
+
return parentNode;
|
|
112
|
+
}
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
previousNode() {
|
|
116
|
+
const currentWalker = this.walkerStack[0];
|
|
117
|
+
if (currentWalker.currentNode === currentWalker.root) {
|
|
118
|
+
if (this.currentSetFor.has(currentWalker)) {
|
|
119
|
+
this.currentSetFor.delete(currentWalker);
|
|
120
|
+
if (this.walkerStack.length > 1) {
|
|
121
|
+
this.walkerStack.shift();
|
|
122
|
+
const parentNode = this.previousNode();
|
|
123
|
+
if (parentNode) this.currentNode = parentNode;
|
|
124
|
+
return parentNode;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
const previousNode = currentWalker.previousNode();
|
|
130
|
+
if (previousNode) {
|
|
131
|
+
if (previousNode.shadowRoot) {
|
|
132
|
+
let nodeResult;
|
|
133
|
+
if (typeof this.filter === "function") nodeResult = this.filter(previousNode);
|
|
134
|
+
else if (this.filter?.acceptNode) nodeResult = this.filter.acceptNode(previousNode);
|
|
135
|
+
if (nodeResult === NodeFilter.FILTER_ACCEPT) {
|
|
136
|
+
this.currentNode = previousNode;
|
|
137
|
+
return previousNode;
|
|
138
|
+
}
|
|
139
|
+
const childNode = this.lastChild();
|
|
140
|
+
if (childNode) this.currentNode = childNode;
|
|
141
|
+
return childNode;
|
|
142
|
+
}
|
|
143
|
+
this.currentNode = previousNode;
|
|
144
|
+
return previousNode;
|
|
145
|
+
}
|
|
146
|
+
if (this.walkerStack.length > 1) {
|
|
147
|
+
this.walkerStack.shift();
|
|
148
|
+
const parentNode = this.previousNode();
|
|
149
|
+
if (parentNode) this.currentNode = parentNode;
|
|
150
|
+
return parentNode;
|
|
151
|
+
}
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
/** @deprecated */
|
|
155
|
+
nextSibling() {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
/** @deprecated */
|
|
159
|
+
previousSibling() {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
/** @deprecated */
|
|
163
|
+
parentNode() {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
/** Shadow DOM-safe version of `Document.createTreeWalker`. */
|
|
168
|
+
function createShadowTreeWalker(doc, root, whatToShow, filter) {
|
|
169
|
+
if (shadowDOM()) return new ShadowTreeWalker(doc, root, whatToShow, filter);
|
|
170
|
+
return doc.createTreeWalker(root, whatToShow, filter);
|
|
171
|
+
}
|
|
172
|
+
//#endregion
|
|
2
173
|
//#region src/overlays/ariaHideOutside.ts
|
|
3
174
|
/**
|
|
4
175
|
* Hides all elements in the DOM outside the given targets from screen readers.
|
|
5
|
-
*
|
|
176
|
+
* Ported from packages/react-aria/src/overlays/ariaHideOutside.ts.
|
|
6
177
|
*/
|
|
7
178
|
const supportsInert = typeof HTMLElement !== "undefined" && "inert" in HTMLElement.prototype;
|
|
179
|
+
function isAlwaysVisibleNode(node) {
|
|
180
|
+
return node.dataset.liveAnnouncer === "true" || node.dataset.solidariaTopLayer !== void 0;
|
|
181
|
+
}
|
|
8
182
|
const refCountMap = /* @__PURE__ */ new WeakMap();
|
|
9
183
|
const observerStack = [];
|
|
10
184
|
/**
|
|
@@ -18,10 +192,21 @@ const observerStack = [];
|
|
|
18
192
|
function ariaHideOutside(targets, options) {
|
|
19
193
|
const windowObj = getOwnerWindow(targets?.[0]);
|
|
20
194
|
const opts = options instanceof windowObj.Element ? { root: options } : options;
|
|
21
|
-
const root = opts?.root ??
|
|
195
|
+
const root = opts?.root ?? getOwnerDocument(targets?.[0]).body;
|
|
22
196
|
const shouldUseInert = opts?.shouldUseInert && supportsInert;
|
|
23
197
|
const visibleNodes = new Set(targets);
|
|
24
198
|
const hiddenNodes = /* @__PURE__ */ new Set();
|
|
199
|
+
const shadowRootsToWatch = /* @__PURE__ */ new Set();
|
|
200
|
+
if (shadowDOM()) {
|
|
201
|
+
const boundary = root.getRootNode();
|
|
202
|
+
for (const target of targets) {
|
|
203
|
+
let current = target.getRootNode();
|
|
204
|
+
while (current instanceof windowObj.ShadowRoot && current !== boundary) {
|
|
205
|
+
shadowRootsToWatch.add(current);
|
|
206
|
+
current = current.host.getRootNode();
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
25
210
|
const getHidden = (element) => {
|
|
26
211
|
return shouldUseInert && element instanceof windowObj.HTMLElement ? element.inert : element.getAttribute("aria-hidden") === "true";
|
|
27
212
|
};
|
|
@@ -44,10 +229,10 @@ function ariaHideOutside(targets, options) {
|
|
|
44
229
|
for (const element of walkRoot.querySelectorAll("[data-live-announcer], [data-solidaria-top-layer]")) visibleNodes.add(element);
|
|
45
230
|
const acceptNode = (node) => {
|
|
46
231
|
if (hiddenNodes.has(node) || visibleNodes.has(node) || node.parentElement && hiddenNodes.has(node.parentElement) && node.parentElement.getAttribute("role") !== "row") return NodeFilter.FILTER_REJECT;
|
|
47
|
-
for (const target of visibleNodes) if (node
|
|
232
|
+
for (const target of visibleNodes) if (nodeContains(node, target)) return NodeFilter.FILTER_SKIP;
|
|
48
233
|
return NodeFilter.FILTER_ACCEPT;
|
|
49
234
|
};
|
|
50
|
-
const walker =
|
|
235
|
+
const walker = createShadowTreeWalker(getOwnerDocument(walkRoot), walkRoot, NodeFilter.SHOW_ELEMENT, { acceptNode });
|
|
51
236
|
const acceptRoot = acceptNode(walkRoot);
|
|
52
237
|
if (acceptRoot === NodeFilter.FILTER_ACCEPT) hide(walkRoot);
|
|
53
238
|
if (acceptRoot !== NodeFilter.FILTER_REJECT) {
|
|
@@ -60,19 +245,35 @@ function ariaHideOutside(targets, options) {
|
|
|
60
245
|
};
|
|
61
246
|
if (observerStack.length) observerStack[observerStack.length - 1].disconnect();
|
|
62
247
|
walk(root);
|
|
63
|
-
const
|
|
248
|
+
const processMutations = (changes) => {
|
|
64
249
|
for (const change of changes) {
|
|
65
250
|
if (change.type !== "childList") continue;
|
|
66
|
-
if (![...visibleNodes, ...hiddenNodes].some((node) => node
|
|
67
|
-
for (const node of change.addedNodes) if ((node instanceof HTMLElement || node instanceof SVGElement) && (node
|
|
68
|
-
else if (node instanceof Element) walk(node);
|
|
251
|
+
if (change.target.isConnected && ![...visibleNodes, ...hiddenNodes].some((node) => nodeContains(node, change.target))) {
|
|
252
|
+
for (const node of change.addedNodes) if ((node instanceof windowObj.HTMLElement || node instanceof windowObj.SVGElement) && isAlwaysVisibleNode(node)) visibleNodes.add(node);
|
|
253
|
+
else if (node instanceof windowObj.Element) walk(node);
|
|
254
|
+
}
|
|
255
|
+
if (shadowDOM()) {
|
|
256
|
+
for (const shadowRoot of shadowRootsToWatch) if (!shadowRoot.isConnected) {
|
|
257
|
+
observer.disconnect();
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
69
260
|
}
|
|
70
261
|
}
|
|
71
|
-
}
|
|
262
|
+
};
|
|
263
|
+
const observer = new windowObj.MutationObserver(processMutations);
|
|
72
264
|
observer.observe(root, {
|
|
73
265
|
childList: true,
|
|
74
266
|
subtree: true
|
|
75
267
|
});
|
|
268
|
+
const shadowObservers = /* @__PURE__ */ new Set();
|
|
269
|
+
if (shadowDOM()) for (const shadowRoot of shadowRootsToWatch) {
|
|
270
|
+
const shadowObserver = new windowObj.MutationObserver(processMutations);
|
|
271
|
+
shadowObserver.observe(shadowRoot, {
|
|
272
|
+
childList: true,
|
|
273
|
+
subtree: true
|
|
274
|
+
});
|
|
275
|
+
shadowObservers.add(shadowObserver);
|
|
276
|
+
}
|
|
76
277
|
const observerWrapper = {
|
|
77
278
|
visibleNodes,
|
|
78
279
|
hiddenNodes,
|
|
@@ -89,6 +290,7 @@ function ariaHideOutside(targets, options) {
|
|
|
89
290
|
observerStack.push(observerWrapper);
|
|
90
291
|
return () => {
|
|
91
292
|
observer.disconnect();
|
|
293
|
+
if (shadowDOM()) for (const shadowObserver of shadowObservers) shadowObserver.disconnect();
|
|
92
294
|
for (const node of hiddenNodes) {
|
|
93
295
|
const count = refCountMap.get(node);
|
|
94
296
|
if (count == null) continue;
|