@proyecto-viviana/solidaria 0.2.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -236
- package/dist/actiongroup/createActionGroup.d.ts +5 -5
- package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
- package/dist/actiongroup/index.d.ts +1 -1
- package/dist/autocomplete/createAutocomplete.d.ts +10 -10
- package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
- package/dist/autocomplete/index.d.ts +1 -1
- package/dist/autocomplete/index.d.ts.map +1 -1
- package/dist/breadcrumbs/createBreadcrumbs.d.ts +9 -7
- package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
- package/dist/breadcrumbs/index.d.ts +1 -1
- package/dist/button/createButton.d.ts +1 -1
- package/dist/button/createButton.d.ts.map +1 -1
- package/dist/button/createToggleButton.d.ts +3 -3
- package/dist/button/createToggleButtonGroup.d.ts +7 -7
- package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
- package/dist/button/index.d.ts +6 -6
- package/dist/button/index.d.ts.map +1 -1
- package/dist/button/types.d.ts +18 -12
- package/dist/button/types.d.ts.map +1 -1
- package/dist/calendar/createCalendar.d.ts +15 -5
- package/dist/calendar/createCalendar.d.ts.map +1 -1
- package/dist/calendar/createCalendarCell.d.ts +6 -2
- package/dist/calendar/createCalendarCell.d.ts.map +1 -1
- package/dist/calendar/createCalendarGrid.d.ts +4 -4
- package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendar.d.ts +15 -5
- package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendarCell.d.ts +4 -2
- package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
- package/dist/calendar/index.d.ts +5 -5
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/intl/index.d.ts +12 -0
- package/dist/calendar/intl/index.d.ts.map +1 -0
- package/dist/calendar/utils.d.ts +12 -0
- package/dist/calendar/utils.d.ts.map +1 -0
- package/dist/checkbox/createCheckbox.d.ts +6 -6
- package/dist/checkbox/createCheckbox.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroup.d.ts +7 -7
- package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupItem.d.ts +4 -4
- package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupState.d.ts +2 -2
- package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -1
- package/dist/checkbox/index.d.ts +8 -8
- package/dist/checkbox/index.d.ts.map +1 -1
- package/dist/collections/index.d.ts +3 -3
- package/dist/collections/index.d.ts.map +1 -1
- package/dist/color/createColorArea.d.ts +3 -3
- package/dist/color/createColorArea.d.ts.map +1 -1
- package/dist/color/createColorField.d.ts +4 -4
- package/dist/color/createColorField.d.ts.map +1 -1
- package/dist/color/createColorSlider.d.ts +4 -4
- package/dist/color/createColorSlider.d.ts.map +1 -1
- package/dist/color/createColorSwatch.d.ts +2 -2
- package/dist/color/createColorSwatch.d.ts.map +1 -1
- package/dist/color/createColorWheel.d.ts +3 -3
- package/dist/color/createColorWheel.d.ts.map +1 -1
- package/dist/color/index.d.ts +6 -6
- package/dist/color/types.d.ts +98 -16
- package/dist/color/types.d.ts.map +1 -1
- package/dist/combobox/createComboBox.d.ts +10 -7
- package/dist/combobox/createComboBox.d.ts.map +1 -1
- package/dist/combobox/index.d.ts +1 -1
- package/dist/combobox/intl/index.d.ts +1 -1
- package/dist/datepicker/createDateField.d.ts +18 -6
- package/dist/datepicker/createDateField.d.ts.map +1 -1
- package/dist/datepicker/createDatePicker.d.ts +51 -5
- package/dist/datepicker/createDatePicker.d.ts.map +1 -1
- package/dist/datepicker/createDatePickerGroup.d.ts +19 -0
- package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -0
- package/dist/datepicker/createDateRangePicker.d.ts +8 -6
- package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
- package/dist/datepicker/createDateSegment.d.ts +10 -2
- package/dist/datepicker/createDateSegment.d.ts.map +1 -1
- package/dist/datepicker/createTimeField.d.ts +11 -5
- package/dist/datepicker/createTimeField.d.ts.map +1 -1
- package/dist/datepicker/createTimeSegment.d.ts +2 -2
- package/dist/datepicker/createTimeSegment.d.ts.map +1 -1
- package/dist/datepicker/index.d.ts +7 -6
- package/dist/datepicker/index.d.ts.map +1 -1
- package/dist/dialog/createDialog.d.ts +5 -5
- package/dist/dialog/createDialog.d.ts.map +1 -1
- package/dist/dialog/index.d.ts +2 -2
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/dialog/types.d.ts +4 -4
- package/dist/disclosure/createDisclosure.d.ts +5 -2
- package/dist/disclosure/createDisclosure.d.ts.map +1 -1
- package/dist/disclosure/createDisclosureGroup.d.ts +4 -4
- package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
- package/dist/disclosure/index.d.ts +2 -2
- package/dist/dnd/createDrag.d.ts +2 -2
- package/dist/dnd/createDrag.d.ts.map +1 -1
- package/dist/dnd/createDraggableCollection.d.ts +2 -2
- package/dist/dnd/createDraggableItem.d.ts +3 -3
- package/dist/dnd/createDraggableItem.d.ts.map +1 -1
- package/dist/dnd/createDrop.d.ts +2 -2
- package/dist/dnd/createDrop.d.ts.map +1 -1
- package/dist/dnd/createDroppableCollection.d.ts +26 -6
- package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
- package/dist/dnd/createDroppableItem.d.ts +3 -3
- package/dist/dnd/index.d.ts +12 -12
- package/dist/dnd/index.d.ts.map +1 -1
- package/dist/dnd/types.d.ts +2 -2
- package/dist/dnd/types.d.ts.map +1 -1
- package/dist/dnd/utils.d.ts +1 -1
- package/dist/dnd/utils.d.ts.map +1 -1
- package/dist/focus/FocusScope.d.ts +1 -1
- package/dist/focus/FocusScope.d.ts.map +1 -1
- package/dist/focus/createAutoFocus.d.ts.map +1 -1
- package/dist/focus/createFocusRestore.d.ts.map +1 -1
- package/dist/focus/createVirtualFocus.d.ts +4 -4
- package/dist/focus/createVirtualFocus.d.ts.map +1 -1
- package/dist/focus/index.d.ts +4 -4
- package/dist/focus/index.d.ts.map +1 -1
- package/dist/form/createFormReset.d.ts +1 -1
- package/dist/form/createFormValidation.d.ts +3 -3
- package/dist/form/createFormValidation.d.ts.map +1 -1
- package/dist/form/index.d.ts +2 -2
- package/dist/form/index.d.ts.map +1 -1
- package/dist/grid/GridKeyboardDelegate.d.ts +5 -5
- package/dist/grid/createGrid.d.ts +3 -3
- package/dist/grid/createGridCell.d.ts +3 -3
- package/dist/grid/createGridRow.d.ts +3 -3
- package/dist/grid/index.d.ts +5 -5
- package/dist/grid/types.d.ts +8 -8
- package/dist/gridlist/createGridList.d.ts +6 -4
- package/dist/gridlist/createGridList.d.ts.map +1 -1
- package/dist/gridlist/createGridListItem.d.ts +4 -4
- package/dist/gridlist/createGridListItem.d.ts.map +1 -1
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts +3 -3
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
- package/dist/gridlist/index.d.ts +4 -4
- package/dist/gridlist/types.d.ts +11 -7
- package/dist/gridlist/types.d.ts.map +1 -1
- package/dist/i18n/createCollator.d.ts.map +1 -1
- package/dist/i18n/createDateFormatter.d.ts.map +1 -1
- package/dist/i18n/createFilter.d.ts.map +1 -1
- package/dist/i18n/createNumberFormatter.d.ts +1 -1
- package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
- package/dist/i18n/createStringFormatter.d.ts +2 -2
- package/dist/i18n/createStringFormatter.d.ts.map +1 -1
- package/dist/i18n/index.d.ts +8 -8
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/locale.d.ts +2 -2
- package/dist/i18n/locale.d.ts.map +1 -1
- package/dist/i18n/utils.d.ts.map +1 -1
- package/dist/index.d.ts +52 -51
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18012 -16820
- package/dist/index.js.map +1 -1
- package/dist/index.jsx +18242 -0
- package/dist/index.jsx.map +1 -0
- package/dist/interactions/FocusableProvider.d.ts +2 -2
- package/dist/interactions/FocusableProvider.d.ts.map +1 -1
- package/dist/interactions/PressEvent.d.ts +2 -2
- package/dist/interactions/createFocus.d.ts +1 -1
- package/dist/interactions/createFocus.d.ts.map +1 -1
- package/dist/interactions/createFocusRing.d.ts +1 -1
- package/dist/interactions/createFocusRing.d.ts.map +1 -1
- package/dist/interactions/createFocusWithin.d.ts +1 -1
- package/dist/interactions/createFocusWithin.d.ts.map +1 -1
- package/dist/interactions/createFocusable.d.ts +3 -3
- package/dist/interactions/createFocusable.d.ts.map +1 -1
- package/dist/interactions/createHover.d.ts +5 -5
- package/dist/interactions/createHover.d.ts.map +1 -1
- package/dist/interactions/createInteractionModality.d.ts +3 -3
- package/dist/interactions/createInteractionModality.d.ts.map +1 -1
- package/dist/interactions/createKeyboard.d.ts +1 -1
- package/dist/interactions/createLongPress.d.ts +5 -5
- package/dist/interactions/createMove.d.ts +5 -5
- package/dist/interactions/createMove.d.ts.map +1 -1
- package/dist/interactions/createPress.d.ts +4 -4
- package/dist/interactions/createPress.d.ts.map +1 -1
- package/dist/interactions/index.d.ts +12 -12
- package/dist/interactions/index.d.ts.map +1 -1
- package/dist/label/createField.d.ts +4 -4
- package/dist/label/createField.d.ts.map +1 -1
- package/dist/label/createLabel.d.ts +7 -7
- package/dist/label/createLabel.d.ts.map +1 -1
- package/dist/label/createLabels.d.ts +1 -1
- package/dist/label/createLabels.d.ts.map +1 -1
- package/dist/label/index.d.ts +5 -5
- package/dist/landmark/createLandmark.d.ts +5 -5
- package/dist/landmark/createLandmark.d.ts.map +1 -1
- package/dist/landmark/index.d.ts +1 -1
- package/dist/link/createLink.d.ts +14 -8
- package/dist/link/createLink.d.ts.map +1 -1
- package/dist/link/index.d.ts +1 -1
- package/dist/listbox/createListBox.d.ts +11 -6
- package/dist/listbox/createListBox.d.ts.map +1 -1
- package/dist/listbox/createOption.d.ts +21 -4
- package/dist/listbox/createOption.d.ts.map +1 -1
- package/dist/listbox/index.d.ts +2 -2
- package/dist/listbox/index.d.ts.map +1 -1
- package/dist/live-announcer/announce.d.ts +2 -2
- package/dist/live-announcer/announce.d.ts.map +1 -1
- package/dist/live-announcer/index.d.ts +1 -1
- package/dist/menu/createMenu.d.ts +7 -7
- package/dist/menu/createMenu.d.ts.map +1 -1
- package/dist/menu/createMenuItem.d.ts +16 -4
- package/dist/menu/createMenuItem.d.ts.map +1 -1
- package/dist/menu/createMenuTrigger.d.ts +4 -4
- package/dist/menu/index.d.ts +3 -3
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/meter/createMeter.d.ts +6 -6
- package/dist/meter/createMeter.d.ts.map +1 -1
- package/dist/meter/index.d.ts +1 -1
- package/dist/numberfield/createNumberField.d.ts +9 -8
- package/dist/numberfield/createNumberField.d.ts.map +1 -1
- package/dist/numberfield/index.d.ts +1 -1
- package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
- package/dist/overlays/createModal.d.ts +3 -3
- package/dist/overlays/createModal.d.ts.map +1 -1
- package/dist/overlays/createOverlay.d.ts +1 -1
- package/dist/overlays/createOverlay.d.ts.map +1 -1
- package/dist/overlays/createOverlayTrigger.d.ts +6 -6
- package/dist/overlays/index.d.ts +6 -6
- package/dist/overlays/index.d.ts.map +1 -1
- package/dist/popover/calculatePosition.d.ts +4 -4
- package/dist/popover/calculatePosition.d.ts.map +1 -1
- package/dist/popover/createOverlayPosition.d.ts +3 -3
- package/dist/popover/createOverlayPosition.d.ts.map +1 -1
- package/dist/popover/createPopover.d.ts +4 -4
- package/dist/popover/createPopover.d.ts.map +1 -1
- package/dist/popover/index.d.ts +3 -3
- package/dist/progress/createProgressBar.d.ts +7 -5
- package/dist/progress/createProgressBar.d.ts.map +1 -1
- package/dist/progress/index.d.ts +1 -1
- package/dist/radio/createRadio.d.ts +7 -7
- package/dist/radio/createRadio.d.ts.map +1 -1
- package/dist/radio/createRadioGroup.d.ts +10 -10
- package/dist/radio/createRadioGroup.d.ts.map +1 -1
- package/dist/radio/createRadioGroupState.d.ts +3 -3
- package/dist/radio/createRadioGroupState.d.ts.map +1 -1
- package/dist/radio/index.d.ts +3 -3
- package/dist/radio/index.d.ts.map +1 -1
- package/dist/searchfield/createSearchField.d.ts +7 -7
- package/dist/searchfield/createSearchField.d.ts.map +1 -1
- package/dist/searchfield/index.d.ts +2 -2
- package/dist/select/createHiddenSelect.d.ts +4 -4
- package/dist/select/createHiddenSelect.d.ts.map +1 -1
- package/dist/select/createSelect.d.ts +14 -6
- package/dist/select/createSelect.d.ts.map +1 -1
- package/dist/select/index.d.ts +2 -2
- package/dist/select/index.d.ts.map +1 -1
- package/dist/selection/createTypeSelect.d.ts +2 -2
- package/dist/selection/index.d.ts +1 -1
- package/dist/separator/createSeparator.d.ts +9 -5
- package/dist/separator/createSeparator.d.ts.map +1 -1
- package/dist/separator/index.d.ts +1 -1
- package/dist/slider/createSlider.d.ts +11 -7
- package/dist/slider/createSlider.d.ts.map +1 -1
- package/dist/slider/index.d.ts +2 -2
- package/dist/ssr/index.d.ts +1 -1
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/steplist/createStepList.d.ts +36 -0
- package/dist/steplist/createStepList.d.ts.map +1 -0
- package/dist/steplist/index.d.ts +2 -0
- package/dist/steplist/index.d.ts.map +1 -0
- package/dist/switch/createSwitch.d.ts +6 -4
- package/dist/switch/createSwitch.d.ts.map +1 -1
- package/dist/switch/index.d.ts +1 -1
- package/dist/table/createTable.d.ts +3 -3
- package/dist/table/createTable.d.ts.map +1 -1
- package/dist/table/createTableCell.d.ts +3 -3
- package/dist/table/createTableCell.d.ts.map +1 -1
- package/dist/table/createTableColumnHeader.d.ts +3 -3
- package/dist/table/createTableColumnHeader.d.ts.map +1 -1
- package/dist/table/createTableColumnResize.d.ts +41 -0
- package/dist/table/createTableColumnResize.d.ts.map +1 -0
- package/dist/table/createTableHeaderRow.d.ts +3 -3
- package/dist/table/createTableRow.d.ts +3 -3
- package/dist/table/createTableRow.d.ts.map +1 -1
- package/dist/table/createTableRowGroup.d.ts +2 -2
- package/dist/table/createTableRowGroup.d.ts.map +1 -1
- package/dist/table/createTableSelectAllCheckbox.d.ts +3 -3
- package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
- package/dist/table/createTableSelectionCheckbox.d.ts +3 -3
- package/dist/table/index.d.ts +11 -9
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/types.d.ts +15 -7
- package/dist/table/types.d.ts.map +1 -1
- package/dist/tabs/createTabs.d.ts +28 -25
- package/dist/tabs/createTabs.d.ts.map +1 -1
- package/dist/tabs/index.d.ts +1 -1
- package/dist/tag/createTag.d.ts +2 -2
- package/dist/tag/createTag.d.ts.map +1 -1
- package/dist/tag/createTagGroup.d.ts +5 -5
- package/dist/tag/createTagGroup.d.ts.map +1 -1
- package/dist/tag/index.d.ts +2 -2
- package/dist/tag/index.d.ts.map +1 -1
- package/dist/textfield/createTextField.d.ts +17 -11
- package/dist/textfield/createTextField.d.ts.map +1 -1
- package/dist/textfield/index.d.ts +1 -1
- package/dist/textfield/index.d.ts.map +1 -1
- package/dist/toast/createToast.d.ts +2 -2
- package/dist/toast/createToast.d.ts.map +1 -1
- package/dist/toast/createToastRegion.d.ts +5 -3
- package/dist/toast/createToastRegion.d.ts.map +1 -1
- package/dist/toast/index.d.ts +2 -2
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toggle/createToggle.d.ts +9 -9
- package/dist/toggle/createToggle.d.ts.map +1 -1
- package/dist/toggle/createToggleState.d.ts +2 -2
- package/dist/toggle/createToggleState.d.ts.map +1 -1
- package/dist/toggle/index.d.ts +4 -4
- package/dist/toggle/index.d.ts.map +1 -1
- package/dist/toolbar/createToolbar.d.ts +9 -9
- package/dist/toolbar/createToolbar.d.ts.map +1 -1
- package/dist/toolbar/index.d.ts +1 -1
- package/dist/toolbar/index.d.ts.map +1 -1
- package/dist/tooltip/createTooltip.d.ts +5 -5
- package/dist/tooltip/createTooltip.d.ts.map +1 -1
- package/dist/tooltip/createTooltipTrigger.d.ts +10 -5
- package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
- package/dist/tooltip/index.d.ts +2 -2
- package/dist/tree/createTree.d.ts +3 -3
- package/dist/tree/createTree.d.ts.map +1 -1
- package/dist/tree/createTreeItem.d.ts +4 -4
- package/dist/tree/createTreeItem.d.ts.map +1 -1
- package/dist/tree/createTreeSelectionCheckbox.d.ts +3 -3
- package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
- package/dist/tree/index.d.ts +4 -4
- package/dist/tree/types.d.ts +10 -6
- package/dist/tree/types.d.ts.map +1 -1
- package/dist/utils/createDescription.d.ts +2 -2
- package/dist/utils/createDescription.d.ts.map +1 -1
- package/dist/utils/dom.d.ts.map +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/focus.d.ts +1 -1
- package/dist/utils/focus.d.ts.map +1 -1
- package/dist/utils/geometry.d.ts.map +1 -1
- package/dist/utils/index.d.ts +12 -12
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/mergeProps.d.ts.map +1 -1
- package/dist/utils/reactivity.d.ts +1 -1
- package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -2
- package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
- package/dist/visually-hidden/index.d.ts +1 -1
- package/package.json +32 -32
- package/src/actiongroup/createActionGroup.ts +101 -91
- package/src/actiongroup/index.ts +1 -1
- package/src/autocomplete/createAutocomplete.ts +117 -134
- package/src/autocomplete/index.ts +1 -1
- package/src/breadcrumbs/createBreadcrumbs.ts +33 -42
- package/src/breadcrumbs/index.ts +1 -1
- package/src/button/createButton.ts +102 -73
- package/src/button/createToggleButton.ts +10 -10
- package/src/button/createToggleButtonGroup.ts +25 -32
- package/src/button/index.ts +6 -9
- package/src/button/types.ts +18 -12
- package/src/calendar/createCalendar.ts +62 -29
- package/src/calendar/createCalendarCell.ts +98 -46
- package/src/calendar/createCalendarGrid.ts +57 -35
- package/src/calendar/createRangeCalendar.ts +66 -31
- package/src/calendar/createRangeCalendarCell.ts +92 -31
- package/src/calendar/index.ts +5 -9
- package/src/calendar/intl/index.ts +210 -0
- package/src/calendar/utils.ts +227 -0
- package/src/checkbox/createCheckbox.ts +13 -21
- package/src/checkbox/createCheckboxGroup.ts +68 -44
- package/src/checkbox/createCheckboxGroupItem.ts +16 -27
- package/src/checkbox/createCheckboxGroupState.ts +3 -22
- package/src/checkbox/index.ts +8 -10
- package/src/collections/index.ts +33 -29
- package/src/color/createColorArea.ts +232 -154
- package/src/color/createColorField.ts +107 -58
- package/src/color/createColorSlider.ts +231 -73
- package/src/color/createColorSwatch.ts +38 -13
- package/src/color/createColorWheel.ts +208 -83
- package/src/color/index.ts +6 -6
- package/src/color/types.ts +98 -16
- package/src/combobox/createComboBox.ts +157 -100
- package/src/combobox/index.ts +1 -1
- package/src/combobox/intl/index.ts +5 -5
- package/src/datepicker/createDateField.ts +192 -39
- package/src/datepicker/createDatePicker.ts +260 -67
- package/src/datepicker/createDatePickerGroup.ts +149 -0
- package/src/datepicker/createDateRangePicker.ts +105 -57
- package/src/datepicker/createDateSegment.ts +183 -96
- package/src/datepicker/createTimeField.ts +38 -34
- package/src/datepicker/createTimeSegment.ts +67 -85
- package/src/datepicker/index.ts +13 -14
- package/src/dialog/createDialog.ts +45 -38
- package/src/dialog/index.ts +2 -2
- package/src/dialog/types.ts +4 -4
- package/src/disclosure/createDisclosure.ts +138 -33
- package/src/disclosure/createDisclosureGroup.ts +8 -21
- package/src/disclosure/index.ts +2 -2
- package/src/dnd/createDrag.ts +19 -25
- package/src/dnd/createDraggableCollection.ts +4 -4
- package/src/dnd/createDraggableItem.ts +20 -19
- package/src/dnd/createDrop.ts +42 -51
- package/src/dnd/createDroppableCollection.ts +290 -173
- package/src/dnd/createDroppableItem.ts +34 -34
- package/src/dnd/index.ts +23 -12
- package/src/dnd/types.ts +4 -7
- package/src/dnd/utils.ts +36 -49
- package/src/focus/FocusScope.tsx +155 -164
- package/src/focus/createAutoFocus.ts +4 -20
- package/src/focus/createFocusRestore.ts +15 -28
- package/src/focus/createVirtualFocus.ts +20 -36
- package/src/focus/index.ts +4 -8
- package/src/form/createFormReset.ts +4 -4
- package/src/form/createFormValidation.ts +20 -43
- package/src/form/index.ts +2 -5
- package/src/grid/GridKeyboardDelegate.ts +30 -30
- package/src/grid/createGrid.ts +36 -36
- package/src/grid/createGridCell.ts +18 -18
- package/src/grid/createGridRow.ts +14 -14
- package/src/grid/index.ts +5 -5
- package/src/grid/types.ts +8 -8
- package/src/gridlist/createGridList.ts +34 -29
- package/src/gridlist/createGridListItem.ts +68 -23
- package/src/gridlist/createGridListSelectionCheckbox.ts +12 -9
- package/src/gridlist/index.ts +4 -4
- package/src/gridlist/types.ts +11 -7
- package/src/i18n/createCollator.ts +5 -18
- package/src/i18n/createDateFormatter.ts +5 -13
- package/src/i18n/createFilter.ts +11 -24
- package/src/i18n/createNumberFormatter.ts +4 -6
- package/src/i18n/createStringFormatter.ts +19 -15
- package/src/i18n/index.ts +8 -11
- package/src/i18n/locale.tsx +15 -40
- package/src/i18n/utils.ts +35 -39
- package/src/index.ts +68 -169
- package/src/interactions/FocusableProvider.tsx +3 -7
- package/src/interactions/PressEvent.ts +4 -4
- package/src/interactions/createFocus.ts +12 -8
- package/src/interactions/createFocusRing.ts +21 -19
- package/src/interactions/createFocusWithin.ts +20 -13
- package/src/interactions/createFocusable.ts +15 -16
- package/src/interactions/createHover.ts +70 -55
- package/src/interactions/createInteractionModality.ts +75 -82
- package/src/interactions/createKeyboard.ts +2 -2
- package/src/interactions/createLongPress.ts +23 -23
- package/src/interactions/createMove.ts +72 -62
- package/src/interactions/createPress.ts +164 -87
- package/src/interactions/index.ts +24 -16
- package/src/label/createField.ts +18 -19
- package/src/label/createLabel.ts +18 -30
- package/src/label/createLabels.ts +8 -12
- package/src/label/index.ts +5 -5
- package/src/landmark/createLandmark.ts +30 -51
- package/src/landmark/index.ts +1 -1
- package/src/link/createLink.ts +83 -56
- package/src/link/index.ts +1 -1
- package/src/listbox/createListBox.ts +69 -58
- package/src/listbox/createOption.ts +83 -37
- package/src/listbox/index.ts +2 -6
- package/src/live-announcer/announce.ts +44 -71
- package/src/live-announcer/index.ts +1 -1
- package/src/menu/createMenu.ts +79 -50
- package/src/menu/createMenuItem.ts +79 -27
- package/src/menu/createMenuTrigger.ts +15 -15
- package/src/menu/index.ts +3 -12
- package/src/meter/createMeter.ts +7 -15
- package/src/meter/index.ts +1 -1
- package/src/numberfield/createNumberField.ts +138 -81
- package/src/numberfield/index.ts +1 -1
- package/src/overlays/ariaHideOutside.ts +14 -10
- package/src/overlays/createInteractOutside.ts +21 -18
- package/src/overlays/createModal.tsx +17 -17
- package/src/overlays/createOverlay.ts +38 -8
- package/src/overlays/createOverlayTrigger.ts +16 -16
- package/src/overlays/createPreventScroll.ts +46 -24
- package/src/overlays/index.ts +6 -17
- package/src/popover/calculatePosition.ts +115 -117
- package/src/popover/createOverlayPosition.ts +46 -40
- package/src/popover/createPopover.ts +42 -17
- package/src/popover/index.ts +3 -3
- package/src/progress/createProgressBar.ts +31 -32
- package/src/progress/index.ts +1 -1
- package/src/radio/createRadio.ts +95 -73
- package/src/radio/createRadioGroup.ts +83 -77
- package/src/radio/createRadioGroupState.ts +7 -31
- package/src/radio/index.ts +3 -8
- package/src/searchfield/createSearchField.ts +57 -29
- package/src/searchfield/index.ts +2 -2
- package/src/select/createHiddenSelect.tsx +57 -44
- package/src/select/createSelect.ts +128 -71
- package/src/select/index.ts +2 -7
- package/src/selection/createTypeSelect.ts +11 -11
- package/src/selection/index.ts +1 -1
- package/src/separator/createSeparator.ts +20 -25
- package/src/separator/index.ts +1 -1
- package/src/slider/createSlider.ts +93 -124
- package/src/slider/index.ts +2 -2
- package/src/ssr/index.tsx +8 -47
- package/src/steplist/createStepList.ts +106 -0
- package/src/steplist/index.ts +8 -0
- package/src/switch/createSwitch.ts +9 -14
- package/src/switch/index.ts +1 -1
- package/src/table/createTable.ts +152 -85
- package/src/table/createTableCell.ts +17 -16
- package/src/table/createTableColumnHeader.ts +67 -20
- package/src/table/createTableColumnResize.ts +256 -0
- package/src/table/createTableHeaderRow.ts +7 -7
- package/src/table/createTableRow.ts +149 -29
- package/src/table/createTableRowGroup.ts +5 -7
- package/src/table/createTableSelectAllCheckbox.ts +12 -11
- package/src/table/createTableSelectionCheckbox.ts +8 -8
- package/src/table/index.ts +14 -9
- package/src/table/types.ts +15 -7
- package/src/tabs/createTabs.ts +74 -92
- package/src/tabs/index.ts +1 -1
- package/src/tag/createTag.ts +52 -50
- package/src/tag/createTagGroup.ts +47 -41
- package/src/tag/index.ts +2 -6
- package/src/textfield/createTextField.ts +67 -35
- package/src/textfield/index.ts +1 -5
- package/src/toast/createToast.ts +28 -26
- package/src/toast/createToastRegion.ts +169 -26
- package/src/toast/index.ts +2 -6
- package/src/toggle/createToggle.ts +95 -53
- package/src/toggle/createToggleState.ts +2 -10
- package/src/toggle/index.ts +4 -5
- package/src/toolbar/createToolbar.ts +193 -210
- package/src/toolbar/index.ts +1 -1
- package/src/tooltip/createTooltip.ts +11 -24
- package/src/tooltip/createTooltipTrigger.ts +61 -49
- package/src/tooltip/index.ts +2 -2
- package/src/tree/createTree.ts +35 -37
- package/src/tree/createTreeItem.ts +29 -29
- package/src/tree/createTreeSelectionCheckbox.ts +11 -8
- package/src/tree/index.ts +4 -4
- package/src/tree/types.ts +10 -6
- package/src/utils/createDescription.ts +6 -23
- package/src/utils/dom.ts +61 -54
- package/src/utils/env.ts +9 -11
- package/src/utils/events.ts +7 -7
- package/src/utils/filterDOMProps.ts +49 -49
- package/src/utils/focus.ts +60 -68
- package/src/utils/geometry.ts +1 -4
- package/src/utils/globalListeners.ts +9 -9
- package/src/utils/index.ts +12 -22
- package/src/utils/mergeProps.ts +42 -15
- package/src/utils/platform.ts +2 -2
- package/src/utils/reactivity.ts +3 -3
- package/src/utils/textSelection.ts +16 -16
- package/src/visually-hidden/createVisuallyHidden.ts +16 -28
- package/src/visually-hidden/index.ts +1 -1
- package/dist/i18n/NumberFormatter.d.ts +0 -43
- package/dist/i18n/NumberFormatter.d.ts.map +0 -1
- package/dist/index.ssr.js +0 -17082
- package/dist/index.ssr.js.map +0 -1
- package/src/i18n/NumberFormatter.ts +0 -266
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* Based on @react-aria/overlays useOverlay.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { createEffect, onCleanup, type JSX } from
|
|
7
|
-
import { createInteractOutside } from
|
|
8
|
-
import { createFocusWithin } from
|
|
6
|
+
import { createEffect, onCleanup, type JSX } from "solid-js";
|
|
7
|
+
import { createInteractOutside } from "./createInteractOutside";
|
|
8
|
+
import { createFocusWithin } from "../interactions/createFocusWithin";
|
|
9
|
+
import { getOwnerDocument, nodeContains } from "../utils";
|
|
9
10
|
|
|
10
11
|
export interface AriaOverlayProps {
|
|
11
12
|
/** Whether the overlay is currently open. */
|
|
@@ -48,10 +49,7 @@ const visibleOverlays: Array<() => Element | null> = [];
|
|
|
48
49
|
* Hides the overlay when the user interacts outside it, when the Escape key is pressed,
|
|
49
50
|
* or optionally, on blur. Only the top-most overlay will close at once.
|
|
50
51
|
*/
|
|
51
|
-
export function createOverlay(
|
|
52
|
-
props: AriaOverlayProps,
|
|
53
|
-
ref: () => Element | null
|
|
54
|
-
): OverlayAria {
|
|
52
|
+
export function createOverlay(props: AriaOverlayProps, ref: () => Element | null): OverlayAria {
|
|
55
53
|
const onClose = () => props.onClose;
|
|
56
54
|
const shouldCloseOnBlur = () => props.shouldCloseOnBlur;
|
|
57
55
|
const isOpen = () => props.isOpen ?? false;
|
|
@@ -116,6 +114,38 @@ export function createOverlay(
|
|
|
116
114
|
});
|
|
117
115
|
});
|
|
118
116
|
|
|
117
|
+
createEffect(() => {
|
|
118
|
+
if (!isOpen() || !shouldCloseOnBlur()) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const overlay = ref();
|
|
123
|
+
if (!overlay) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const ownerDocument = getOwnerDocument(overlay);
|
|
128
|
+
const onFocusIn = (event: FocusEvent) => {
|
|
129
|
+
if (!isOpen()) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const currentOverlay = ref();
|
|
134
|
+
const target = event.target as Element | null;
|
|
135
|
+
if (!currentOverlay || !target || nodeContains(currentOverlay, target)) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const shouldClose = shouldCloseOnInteractOutside();
|
|
140
|
+
if (!shouldClose || shouldClose(target)) {
|
|
141
|
+
onHide();
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
ownerDocument.addEventListener("focusin", onFocusIn, true);
|
|
146
|
+
onCleanup(() => ownerDocument.removeEventListener("focusin", onFocusIn, true));
|
|
147
|
+
});
|
|
148
|
+
|
|
119
149
|
// Handle focus within for blur detection
|
|
120
150
|
const { focusWithinProps } = createFocusWithin({
|
|
121
151
|
get isDisabled() {
|
|
@@ -138,7 +168,7 @@ export function createOverlay(
|
|
|
138
168
|
|
|
139
169
|
// Handle the escape key
|
|
140
170
|
const onKeyDown: JSX.EventHandler<HTMLElement, KeyboardEvent> = (e) => {
|
|
141
|
-
if (e.key ===
|
|
171
|
+
if (e.key === "Escape" && !isKeyboardDismissDisabled() && !e.isComposing) {
|
|
142
172
|
e.stopPropagation();
|
|
143
173
|
e.preventDefault();
|
|
144
174
|
onHide();
|
|
@@ -3,22 +3,22 @@
|
|
|
3
3
|
* Based on @react-aria/overlays useOverlayTrigger.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { createEffect } from
|
|
7
|
-
import type { OverlayTriggerState } from
|
|
8
|
-
import { createId } from
|
|
9
|
-
import { access, type MaybeAccessor } from
|
|
6
|
+
import { createEffect } from "solid-js";
|
|
7
|
+
import type { OverlayTriggerState } from "@proyecto-viviana/solid-stately";
|
|
8
|
+
import { createId } from "../ssr";
|
|
9
|
+
import { access, type MaybeAccessor } from "../utils";
|
|
10
10
|
|
|
11
11
|
export interface OverlayTriggerProps {
|
|
12
12
|
/** Type of overlay that is opened by the trigger. */
|
|
13
|
-
type:
|
|
13
|
+
type: "dialog" | "menu" | "listbox" | "tree" | "grid";
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export interface OverlayTriggerAria {
|
|
17
17
|
/** Props for the trigger element. */
|
|
18
18
|
triggerProps: {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
"aria-haspopup"?: boolean | "listbox";
|
|
20
|
+
"aria-expanded": boolean;
|
|
21
|
+
"aria-controls"?: string;
|
|
22
22
|
onPress: () => void;
|
|
23
23
|
};
|
|
24
24
|
/** Props for the overlay container element. */
|
|
@@ -37,7 +37,7 @@ export const onCloseMap = new WeakMap<Element, () => void>();
|
|
|
37
37
|
export function createOverlayTrigger(
|
|
38
38
|
props: MaybeAccessor<OverlayTriggerProps>,
|
|
39
39
|
state: OverlayTriggerState,
|
|
40
|
-
ref?: () => Element | null
|
|
40
|
+
ref?: () => Element | null,
|
|
41
41
|
): OverlayTriggerAria {
|
|
42
42
|
const propsAccessor = () => access(props);
|
|
43
43
|
const overlayId = createId();
|
|
@@ -55,25 +55,25 @@ export function createOverlayTrigger(
|
|
|
55
55
|
// https://www.w3.org/TR/wai-aria-1.1/#aria-haspopup
|
|
56
56
|
// However, we only add it for menus for now because screen readers often
|
|
57
57
|
// announce it as a menu even for other values.
|
|
58
|
-
const getAriaHasPopup = (): boolean |
|
|
58
|
+
const getAriaHasPopup = (): boolean | "listbox" | undefined => {
|
|
59
59
|
const type = propsAccessor().type;
|
|
60
|
-
if (type ===
|
|
60
|
+
if (type === "menu") {
|
|
61
61
|
return true;
|
|
62
|
-
} else if (type ===
|
|
63
|
-
return
|
|
62
|
+
} else if (type === "listbox") {
|
|
63
|
+
return "listbox";
|
|
64
64
|
}
|
|
65
65
|
return undefined;
|
|
66
66
|
};
|
|
67
67
|
|
|
68
68
|
return {
|
|
69
69
|
triggerProps: {
|
|
70
|
-
get
|
|
70
|
+
get "aria-haspopup"() {
|
|
71
71
|
return getAriaHasPopup();
|
|
72
72
|
},
|
|
73
|
-
get
|
|
73
|
+
get "aria-expanded"() {
|
|
74
74
|
return state.isOpen();
|
|
75
75
|
},
|
|
76
|
-
get
|
|
76
|
+
get "aria-controls"() {
|
|
77
77
|
return state.isOpen() ? overlayId : undefined;
|
|
78
78
|
},
|
|
79
79
|
onPress: state.toggle,
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
* Based on @react-aria/overlays usePreventScroll.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { createEffect, onCleanup } from
|
|
7
|
-
import { isIOS, getScrollParent, isScrollable, willOpenKeyboard, chain } from
|
|
6
|
+
import { createEffect, onCleanup } from "solid-js";
|
|
7
|
+
import { isIOS, getScrollParent, isScrollable, willOpenKeyboard, chain } from "../utils";
|
|
8
8
|
|
|
9
9
|
export interface PreventScrollOptions {
|
|
10
10
|
/** Whether the scroll lock is disabled. */
|
|
11
11
|
isDisabled?: boolean;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
const visualViewport = typeof document !==
|
|
14
|
+
const visualViewport = typeof document !== "undefined" && window.visualViewport;
|
|
15
15
|
|
|
16
16
|
// The number of active createPreventScroll calls. Used to determine whether to revert back to the original page style/scroll position
|
|
17
17
|
let preventScrollCount = 0;
|
|
@@ -57,14 +57,14 @@ function preventScrollStandard(): () => void {
|
|
|
57
57
|
|
|
58
58
|
if (scrollbarWidth > 0) {
|
|
59
59
|
// Use scrollbar-gutter when supported because it also works for fixed positioned elements.
|
|
60
|
-
if (
|
|
61
|
-
restoreFns.push(setStyle(document.documentElement,
|
|
60
|
+
if ("scrollbarGutter" in document.documentElement.style) {
|
|
61
|
+
restoreFns.push(setStyle(document.documentElement, "scrollbarGutter", "stable"));
|
|
62
62
|
} else {
|
|
63
|
-
restoreFns.push(setStyle(document.documentElement,
|
|
63
|
+
restoreFns.push(setStyle(document.documentElement, "paddingRight", `${scrollbarWidth}px`));
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
restoreFns.push(setStyle(document.documentElement,
|
|
67
|
+
restoreFns.push(setStyle(document.documentElement, "overflow", "hidden"));
|
|
68
68
|
|
|
69
69
|
return () => {
|
|
70
70
|
restoreFns.forEach((fn) => fn());
|
|
@@ -112,8 +112,8 @@ function preventScrollMobileSafari(): () => void {
|
|
|
112
112
|
|
|
113
113
|
// If this is a focused input element with a selected range, allow user to drag the selection handles.
|
|
114
114
|
if (
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
"selectionStart" in target &&
|
|
116
|
+
"selectionEnd" in target &&
|
|
117
117
|
(target.selectionStart as number) < (target.selectionEnd as number) &&
|
|
118
118
|
target.ownerDocument.activeElement === target
|
|
119
119
|
) {
|
|
@@ -125,7 +125,7 @@ function preventScrollMobileSafari(): () => void {
|
|
|
125
125
|
// of a nested scrollable area, otherwise mobile Safari will start scrolling
|
|
126
126
|
// the window instead.
|
|
127
127
|
// This must be applied before the touchstart event as of iOS 26, so inject it as a <style> element.
|
|
128
|
-
const style = document.createElement(
|
|
128
|
+
const style = document.createElement("style");
|
|
129
129
|
style.textContent = `
|
|
130
130
|
@layer {
|
|
131
131
|
* {
|
|
@@ -152,7 +152,10 @@ function preventScrollMobileSafari(): () => void {
|
|
|
152
152
|
// block horizontal scrolling too. In that case, adding `touch-action: pan-x` to
|
|
153
153
|
// the element will prevent vertical page scrolling. We can't add that automatically
|
|
154
154
|
// because it must be set before the touchstart event.
|
|
155
|
-
if (
|
|
155
|
+
if (
|
|
156
|
+
scrollable.scrollHeight === scrollable.clientHeight &&
|
|
157
|
+
scrollable.scrollWidth === scrollable.clientWidth
|
|
158
|
+
) {
|
|
156
159
|
e.preventDefault();
|
|
157
160
|
}
|
|
158
161
|
};
|
|
@@ -170,7 +173,7 @@ function preventScrollMobileSafari(): () => void {
|
|
|
170
173
|
// the same input again, it is already focused, so no blur event will fire,
|
|
171
174
|
// resulting in the flow above never running and Safari's native scrolling occurring.
|
|
172
175
|
// Instead, move focus to the parent focusable element (e.g. the dialog).
|
|
173
|
-
const focusable = target.parentElement?.closest(
|
|
176
|
+
const focusable = target.parentElement?.closest("[tabindex]") as HTMLElement | null;
|
|
174
177
|
focusable?.focus({ preventScroll: true });
|
|
175
178
|
}
|
|
176
179
|
};
|
|
@@ -179,7 +182,8 @@ function preventScrollMobileSafari(): () => void {
|
|
|
179
182
|
const focus = HTMLElement.prototype.focus;
|
|
180
183
|
HTMLElement.prototype.focus = function (opts) {
|
|
181
184
|
// Track whether the keyboard was already visible before.
|
|
182
|
-
const wasKeyboardVisible =
|
|
185
|
+
const wasKeyboardVisible =
|
|
186
|
+
document.activeElement != null && willOpenKeyboard(document.activeElement);
|
|
183
187
|
|
|
184
188
|
// Focus the element without scrolling the page.
|
|
185
189
|
focus.call(this, { ...opts, preventScroll: true });
|
|
@@ -190,9 +194,9 @@ function preventScrollMobileSafari(): () => void {
|
|
|
190
194
|
};
|
|
191
195
|
|
|
192
196
|
const removeEvents = chain(
|
|
193
|
-
addEvent(document,
|
|
194
|
-
addEvent(document,
|
|
195
|
-
addEvent(document,
|
|
197
|
+
addEvent(document, "touchstart", onTouchStart, { passive: false, capture: true }),
|
|
198
|
+
addEvent(document, "touchmove", onTouchMove, { passive: false, capture: true }),
|
|
199
|
+
addEvent(document, "blur", onBlur, true),
|
|
196
200
|
);
|
|
197
201
|
|
|
198
202
|
return () => {
|
|
@@ -204,7 +208,9 @@ function preventScrollMobileSafari(): () => void {
|
|
|
204
208
|
|
|
205
209
|
// Sets a CSS property on an element, and returns a function to revert it to the previous value.
|
|
206
210
|
function setStyle(element: HTMLElement, styleName: string, value: string): () => void {
|
|
207
|
-
const cur =
|
|
211
|
+
const cur =
|
|
212
|
+
element.style.getPropertyValue(styleName) ||
|
|
213
|
+
(element.style as unknown as Record<string, string>)[styleName];
|
|
208
214
|
(element.style as unknown as Record<string, string>)[styleName] = value;
|
|
209
215
|
|
|
210
216
|
return () => {
|
|
@@ -217,7 +223,7 @@ function addEvent<K extends keyof GlobalEventHandlersEventMap>(
|
|
|
217
223
|
target: Document | Window,
|
|
218
224
|
event: K,
|
|
219
225
|
handler: (this: Document | Window, ev: GlobalEventHandlersEventMap[K]) => void,
|
|
220
|
-
options?: boolean | AddEventListenerOptions
|
|
226
|
+
options?: boolean | AddEventListenerOptions,
|
|
221
227
|
): () => void {
|
|
222
228
|
target.addEventListener(event, handler as EventListener, options);
|
|
223
229
|
return () => {
|
|
@@ -232,7 +238,7 @@ function scrollIntoViewWhenReady(target: Element, wasKeyboardVisible: boolean):
|
|
|
232
238
|
} else {
|
|
233
239
|
// Otherwise, wait for the visual viewport to resize before scrolling so we can
|
|
234
240
|
// measure the correct position to scroll to.
|
|
235
|
-
visualViewport.addEventListener(
|
|
241
|
+
visualViewport.addEventListener("resize", () => scrollIntoView(target), { once: true });
|
|
236
242
|
}
|
|
237
243
|
}
|
|
238
244
|
|
|
@@ -242,21 +248,37 @@ function scrollIntoView(target: Element): void {
|
|
|
242
248
|
while (nextTarget && nextTarget !== root) {
|
|
243
249
|
// Find the parent scrollable element and adjust the scroll position if the target is not already in view.
|
|
244
250
|
const scrollableParent = getScrollParent(nextTarget);
|
|
245
|
-
if (
|
|
251
|
+
if (
|
|
252
|
+
scrollableParent !== document.documentElement &&
|
|
253
|
+
scrollableParent !== document.body &&
|
|
254
|
+
scrollableParent !== nextTarget
|
|
255
|
+
) {
|
|
246
256
|
const scrollableRect = scrollableParent.getBoundingClientRect();
|
|
247
257
|
const targetRect = nextTarget.getBoundingClientRect();
|
|
248
|
-
if (
|
|
258
|
+
if (
|
|
259
|
+
targetRect.top < scrollableRect.top ||
|
|
260
|
+
targetRect.bottom > scrollableRect.top + nextTarget.clientHeight
|
|
261
|
+
) {
|
|
249
262
|
let bottom = scrollableRect.bottom;
|
|
250
263
|
if (visualViewport) {
|
|
251
264
|
bottom = Math.min(bottom, visualViewport.offsetTop + visualViewport.height);
|
|
252
265
|
}
|
|
253
266
|
|
|
254
267
|
// Center within the viewport.
|
|
255
|
-
const adjustment =
|
|
268
|
+
const adjustment =
|
|
269
|
+
targetRect.top -
|
|
270
|
+
scrollableRect.top -
|
|
271
|
+
((bottom - scrollableRect.top) / 2 - targetRect.height / 2);
|
|
256
272
|
scrollableParent.scrollTo({
|
|
257
273
|
// Clamp to the valid range to prevent over-scrolling.
|
|
258
|
-
top: Math.max(
|
|
259
|
-
|
|
274
|
+
top: Math.max(
|
|
275
|
+
0,
|
|
276
|
+
Math.min(
|
|
277
|
+
scrollableParent.scrollHeight - scrollableParent.clientHeight,
|
|
278
|
+
scrollableParent.scrollTop + adjustment,
|
|
279
|
+
),
|
|
280
|
+
),
|
|
281
|
+
behavior: "smooth",
|
|
260
282
|
});
|
|
261
283
|
}
|
|
262
284
|
}
|
package/src/overlays/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Scroll prevention
|
|
2
|
-
export { createPreventScroll, type PreventScrollOptions } from
|
|
2
|
+
export { createPreventScroll, type PreventScrollOptions } from "./createPreventScroll";
|
|
3
3
|
|
|
4
4
|
// Overlay trigger
|
|
5
5
|
export {
|
|
@@ -7,27 +7,16 @@ export {
|
|
|
7
7
|
onCloseMap,
|
|
8
8
|
type OverlayTriggerProps,
|
|
9
9
|
type OverlayTriggerAria,
|
|
10
|
-
} from
|
|
10
|
+
} from "./createOverlayTrigger";
|
|
11
11
|
|
|
12
12
|
// Overlay behavior
|
|
13
|
-
export {
|
|
14
|
-
createOverlay,
|
|
15
|
-
type AriaOverlayProps,
|
|
16
|
-
type OverlayAria,
|
|
17
|
-
} from './createOverlay';
|
|
13
|
+
export { createOverlay, type AriaOverlayProps, type OverlayAria } from "./createOverlay";
|
|
18
14
|
|
|
19
15
|
// Interact outside detection
|
|
20
|
-
export {
|
|
21
|
-
createInteractOutside,
|
|
22
|
-
type InteractOutsideProps,
|
|
23
|
-
} from './createInteractOutside';
|
|
16
|
+
export { createInteractOutside, type InteractOutsideProps } from "./createInteractOutside";
|
|
24
17
|
|
|
25
18
|
// Aria hiding
|
|
26
|
-
export {
|
|
27
|
-
ariaHideOutside,
|
|
28
|
-
keepVisible,
|
|
29
|
-
type AriaHideOutsideOptions,
|
|
30
|
-
} from './ariaHideOutside';
|
|
19
|
+
export { ariaHideOutside, keepVisible, type AriaHideOutsideOptions } from "./ariaHideOutside";
|
|
31
20
|
|
|
32
21
|
// Modal
|
|
33
22
|
export {
|
|
@@ -45,4 +34,4 @@ export {
|
|
|
45
34
|
type PortalProviderContextValue,
|
|
46
35
|
type AriaModalOptions,
|
|
47
36
|
type ModalAria,
|
|
48
|
-
} from
|
|
37
|
+
} from "./createModal";
|