@base-ui/react 1.6.0 → 1.7.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/CHANGELOG.md +229 -0
- package/accordion/item/AccordionItem.js +6 -13
- package/accordion/item/AccordionItem.mjs +6 -13
- package/accordion/item/AccordionItemContext.d.mts +2 -1
- package/accordion/item/AccordionItemContext.d.ts +2 -1
- package/accordion/item/stateAttributesMapping.js +3 -5
- package/accordion/item/stateAttributesMapping.mjs +3 -5
- package/accordion/panel/AccordionPanel.js +12 -11
- package/accordion/panel/AccordionPanel.mjs +12 -11
- package/accordion/panel/AccordionPanelDataAttributes.d.mts +1 -1
- package/accordion/panel/AccordionPanelDataAttributes.d.ts +1 -1
- package/accordion/panel/AccordionPanelDataAttributes.js +1 -1
- package/accordion/panel/AccordionPanelDataAttributes.mjs +1 -1
- package/accordion/root/AccordionRoot.js +4 -7
- package/accordion/root/AccordionRoot.mjs +4 -7
- package/accordion/trigger/AccordionTrigger.js +7 -7
- package/accordion/trigger/AccordionTrigger.mjs +7 -7
- package/alert-dialog/handle.d.mts +6 -8
- package/alert-dialog/handle.d.ts +6 -8
- package/alert-dialog/handle.js +8 -19
- package/alert-dialog/handle.mjs +7 -17
- package/alert-dialog/root/AlertDialogRoot.js +1 -1
- package/alert-dialog/root/AlertDialogRoot.mjs +1 -1
- package/autocomplete/index.d.mts +1 -0
- package/autocomplete/index.d.ts +1 -0
- package/autocomplete/index.parts.d.mts +1 -1
- package/autocomplete/index.parts.d.ts +1 -1
- package/autocomplete/index.parts.js +2 -2
- package/autocomplete/index.parts.mjs +1 -1
- package/autocomplete/input-group/AutocompleteInputGroup.d.mts +1 -1
- package/autocomplete/input-group/AutocompleteInputGroup.d.ts +1 -1
- package/autocomplete/root/AutocompleteRoot.d.mts +6 -1
- package/autocomplete/root/AutocompleteRoot.d.ts +6 -1
- package/autocomplete/root/AutocompleteRoot.js +4 -10
- package/autocomplete/root/AutocompleteRoot.mjs +4 -10
- package/autocomplete/separator/AutocompleteSeparator.d.mts +26 -0
- package/autocomplete/separator/AutocompleteSeparator.d.ts +26 -0
- package/autocomplete/separator/AutocompleteSeparator.js +15 -0
- package/autocomplete/separator/AutocompleteSeparator.mjs +10 -0
- package/autocomplete/trigger/AutocompleteTrigger.d.mts +1 -1
- package/autocomplete/trigger/AutocompleteTrigger.d.ts +1 -1
- package/avatar/fallback/AvatarFallback.d.mts +2 -0
- package/avatar/fallback/AvatarFallback.d.ts +2 -0
- package/avatar/fallback/AvatarFallback.js +5 -5
- package/avatar/fallback/AvatarFallback.mjs +5 -5
- package/avatar/image/AvatarImage.d.mts +1 -1
- package/avatar/image/AvatarImage.d.ts +1 -1
- package/avatar/image/AvatarImageDataAttributes.d.mts +1 -1
- package/avatar/image/AvatarImageDataAttributes.d.ts +1 -1
- package/avatar/image/AvatarImageDataAttributes.js +1 -1
- package/avatar/image/AvatarImageDataAttributes.mjs +1 -1
- package/checkbox/indicator/CheckboxIndicator.js +3 -5
- package/checkbox/indicator/CheckboxIndicator.mjs +3 -5
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.mts +1 -1
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.ts +1 -1
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.js +1 -1
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.mjs +1 -1
- package/checkbox/root/CheckboxRoot.d.mts +2 -1
- package/checkbox/root/CheckboxRoot.d.ts +2 -1
- package/checkbox/root/CheckboxRoot.js +39 -31
- package/checkbox/root/CheckboxRoot.mjs +39 -31
- package/checkbox/utils/{useStateAttributesMapping.d.mts → getCheckboxStateAttributesMapping.d.mts} +1 -1
- package/checkbox/utils/{useStateAttributesMapping.d.ts → getCheckboxStateAttributesMapping.d.ts} +1 -1
- package/checkbox/utils/getCheckboxStateAttributesMapping.js +26 -0
- package/checkbox/utils/{useStateAttributesMapping.mjs → getCheckboxStateAttributesMapping.mjs} +5 -9
- package/checkbox-group/CheckboxGroup.js +33 -24
- package/checkbox-group/CheckboxGroup.mjs +33 -24
- package/checkbox-group/CheckboxGroupContext.d.mts +2 -5
- package/checkbox-group/CheckboxGroupContext.d.ts +2 -5
- package/checkbox-group/CheckboxGroupContext.js +2 -8
- package/checkbox-group/CheckboxGroupContext.mjs +2 -7
- package/checkbox-group/useCheckboxGroupParent.d.mts +2 -4
- package/checkbox-group/useCheckboxGroupParent.d.ts +2 -4
- package/checkbox-group/useCheckboxGroupParent.js +5 -6
- package/checkbox-group/useCheckboxGroupParent.mjs +5 -6
- package/collapsible/panel/CollapsiblePanel.js +12 -11
- package/collapsible/panel/CollapsiblePanel.mjs +12 -11
- package/collapsible/panel/CollapsiblePanelDataAttributes.d.mts +1 -1
- package/collapsible/panel/CollapsiblePanelDataAttributes.d.ts +1 -1
- package/collapsible/panel/CollapsiblePanelDataAttributes.js +1 -1
- package/collapsible/panel/CollapsiblePanelDataAttributes.mjs +1 -1
- package/collapsible/panel/useCollapsiblePanel.js +29 -24
- package/collapsible/panel/useCollapsiblePanel.mjs +29 -24
- package/collapsible/root/CollapsibleRootDataAttributes.d.mts +18 -0
- package/collapsible/root/CollapsibleRootDataAttributes.d.ts +18 -0
- package/collapsible/root/CollapsibleRootDataAttributes.js +26 -0
- package/collapsible/root/CollapsibleRootDataAttributes.mjs +20 -0
- package/collapsible/root/useCollapsibleRoot.d.mts +2 -1
- package/collapsible/root/useCollapsibleRoot.d.ts +2 -1
- package/collapsible/root/useCollapsibleRoot.js +5 -3
- package/collapsible/root/useCollapsibleRoot.mjs +5 -3
- package/combobox/arrow/ComboboxArrow.d.mts +1 -1
- package/combobox/arrow/ComboboxArrow.d.ts +1 -1
- package/combobox/backdrop/ComboboxBackdropDataAttributes.d.mts +1 -1
- package/combobox/backdrop/ComboboxBackdropDataAttributes.d.ts +1 -1
- package/combobox/backdrop/ComboboxBackdropDataAttributes.js +1 -1
- package/combobox/backdrop/ComboboxBackdropDataAttributes.mjs +1 -1
- package/combobox/chip/ComboboxChip.js +4 -6
- package/combobox/chip/ComboboxChip.mjs +4 -6
- package/combobox/chip-remove/ComboboxChipRemove.js +1 -7
- package/combobox/chip-remove/ComboboxChipRemove.mjs +1 -7
- package/combobox/clear/ComboboxClear.js +5 -3
- package/combobox/clear/ComboboxClear.mjs +5 -3
- package/combobox/clear/ComboboxClearDataAttributes.d.mts +1 -1
- package/combobox/clear/ComboboxClearDataAttributes.d.ts +1 -1
- package/combobox/clear/ComboboxClearDataAttributes.js +1 -1
- package/combobox/clear/ComboboxClearDataAttributes.mjs +1 -1
- package/combobox/collection/ComboboxCollection.d.mts +1 -1
- package/combobox/collection/ComboboxCollection.d.ts +1 -1
- package/combobox/collection/ComboboxCollection.js +0 -3
- package/combobox/collection/ComboboxCollection.mjs +0 -3
- package/combobox/group-label/ComboboxGroupLabel.js +1 -1
- package/combobox/group-label/ComboboxGroupLabel.mjs +1 -1
- package/combobox/index.d.mts +1 -0
- package/combobox/index.d.ts +1 -0
- package/combobox/index.parts.d.mts +1 -1
- package/combobox/index.parts.d.ts +1 -1
- package/combobox/index.parts.js +2 -2
- package/combobox/index.parts.mjs +1 -1
- package/combobox/input/ComboboxInput.d.mts +1 -1
- package/combobox/input/ComboboxInput.d.ts +1 -1
- package/combobox/input/ComboboxInput.js +43 -88
- package/combobox/input/ComboboxInput.mjs +44 -89
- package/combobox/input-group/ComboboxInputGroup.d.mts +1 -1
- package/combobox/input-group/ComboboxInputGroup.d.ts +1 -1
- package/combobox/input-group/ComboboxInputGroup.js +3 -8
- package/combobox/input-group/ComboboxInputGroup.mjs +4 -9
- package/combobox/item/ComboboxItem.js +21 -23
- package/combobox/item/ComboboxItem.mjs +22 -24
- package/combobox/item-indicator/ComboboxItemIndicator.js +1 -2
- package/combobox/item-indicator/ComboboxItemIndicator.mjs +1 -2
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.mts +1 -1
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +1 -1
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +1 -1
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.mjs +1 -1
- package/combobox/label/ComboboxLabel.js +2 -1
- package/combobox/label/ComboboxLabel.mjs +2 -1
- package/combobox/list/ComboboxList.js +5 -10
- package/combobox/list/ComboboxList.mjs +5 -10
- package/combobox/popup/ComboboxPopup.d.mts +1 -1
- package/combobox/popup/ComboboxPopup.d.ts +1 -1
- package/combobox/popup/ComboboxPopup.js +5 -7
- package/combobox/popup/ComboboxPopup.mjs +6 -8
- package/combobox/popup/ComboboxPopupDataAttributes.d.mts +1 -1
- package/combobox/popup/ComboboxPopupDataAttributes.d.ts +1 -1
- package/combobox/popup/ComboboxPopupDataAttributes.js +1 -1
- package/combobox/popup/ComboboxPopupDataAttributes.mjs +1 -1
- package/combobox/portal/ComboboxPortal.d.mts +6 -2
- package/combobox/portal/ComboboxPortal.d.ts +6 -2
- package/combobox/positioner/ComboboxPositioner.d.mts +1 -1
- package/combobox/positioner/ComboboxPositioner.d.ts +1 -1
- package/combobox/positioner/ComboboxPositioner.js +13 -13
- package/combobox/positioner/ComboboxPositioner.mjs +14 -14
- package/combobox/positioner/ComboboxPositionerContext.d.mts +1 -1
- package/combobox/positioner/ComboboxPositionerContext.d.ts +1 -1
- package/combobox/root/AriaCombobox.d.mts +5 -10
- package/combobox/root/AriaCombobox.d.ts +5 -10
- package/combobox/root/AriaCombobox.js +259 -196
- package/combobox/root/AriaCombobox.mjs +262 -199
- package/combobox/root/utils/index.js +2 -4
- package/combobox/root/utils/index.mjs +2 -4
- package/combobox/root/utils/useFilter.js +2 -3
- package/combobox/root/utils/useFilter.mjs +2 -3
- package/combobox/separator/ComboboxSeparator.d.mts +26 -0
- package/combobox/separator/ComboboxSeparator.d.ts +26 -0
- package/combobox/separator/ComboboxSeparator.js +15 -0
- package/combobox/separator/ComboboxSeparator.mjs +10 -0
- package/combobox/store.d.mts +6 -9
- package/combobox/store.d.ts +6 -9
- package/combobox/store.js +47 -48
- package/combobox/store.mjs +47 -48
- package/combobox/trigger/ComboboxTrigger.d.mts +1 -1
- package/combobox/trigger/ComboboxTrigger.d.ts +1 -1
- package/combobox/trigger/ComboboxTrigger.js +12 -33
- package/combobox/trigger/ComboboxTrigger.mjs +14 -34
- package/combobox/utils/ComboboxInternalDismissButton.d.mts +1 -5
- package/combobox/utils/ComboboxInternalDismissButton.d.ts +1 -5
- package/combobox/utils/parts.d.mts +24 -0
- package/combobox/utils/parts.d.ts +24 -0
- package/combobox/utils/parts.js +59 -0
- package/combobox/utils/parts.mjs +50 -0
- package/combobox/utils/stateAttributesMapping.d.mts +3 -3
- package/combobox/utils/stateAttributesMapping.d.ts +3 -3
- package/combobox/utils/useInitialLiveRegionTextMutation.js +1 -1
- package/combobox/utils/useInitialLiveRegionTextMutation.mjs +1 -1
- package/context-menu/root/ContextMenuRoot.d.mts +3 -1
- package/context-menu/root/ContextMenuRoot.d.ts +3 -1
- package/context-menu/trigger/ContextMenuTrigger.js +40 -22
- package/context-menu/trigger/ContextMenuTrigger.mjs +40 -22
- package/dialog/backdrop/DialogBackdrop.js +2 -10
- package/dialog/backdrop/DialogBackdrop.mjs +3 -10
- package/dialog/backdrop/DialogBackdropDataAttributes.d.mts +1 -1
- package/dialog/backdrop/DialogBackdropDataAttributes.d.ts +1 -1
- package/dialog/backdrop/DialogBackdropDataAttributes.js +1 -1
- package/dialog/backdrop/DialogBackdropDataAttributes.mjs +1 -1
- package/dialog/close/DialogClose.js +1 -3
- package/dialog/close/DialogClose.mjs +1 -3
- package/dialog/description/DialogDescription.js +1 -3
- package/dialog/description/DialogDescription.mjs +1 -3
- package/dialog/popup/DialogPopup.js +7 -23
- package/dialog/popup/DialogPopup.mjs +8 -23
- package/dialog/popup/DialogPopupDataAttributes.d.mts +1 -1
- package/dialog/popup/DialogPopupDataAttributes.d.ts +1 -1
- package/dialog/popup/DialogPopupDataAttributes.js +1 -1
- package/dialog/popup/DialogPopupDataAttributes.mjs +1 -1
- package/dialog/portal/DialogPortal.d.mts +3 -3
- package/dialog/portal/DialogPortal.d.ts +3 -3
- package/dialog/portal/DialogPortal.js +1 -3
- package/dialog/portal/DialogPortal.mjs +1 -3
- package/dialog/root/DialogRoot.js +1 -5
- package/dialog/root/DialogRoot.mjs +1 -4
- package/dialog/root/DialogRootContext.d.mts +3 -7
- package/dialog/root/DialogRootContext.d.ts +3 -7
- package/dialog/root/DialogRootContext.js +4 -6
- package/dialog/root/DialogRootContext.mjs +3 -5
- package/dialog/root/useDialogRoot.d.mts +0 -6
- package/dialog/root/useDialogRoot.d.ts +0 -6
- package/dialog/root/useDialogRoot.js +33 -46
- package/dialog/root/useDialogRoot.mjs +34 -46
- package/dialog/root/useRenderDialogRoot.d.mts +1 -1
- package/dialog/root/useRenderDialogRoot.d.ts +1 -1
- package/dialog/root/useRenderDialogRoot.js +34 -42
- package/dialog/root/useRenderDialogRoot.mjs +36 -44
- package/dialog/store/DialogHandle.d.mts +20 -16
- package/dialog/store/DialogHandle.d.ts +20 -16
- package/dialog/store/DialogHandle.js +32 -27
- package/dialog/store/DialogHandle.mjs +33 -28
- package/dialog/store/DialogStore.d.mts +14 -4
- package/dialog/store/DialogStore.d.ts +14 -4
- package/dialog/store/DialogStore.js +49 -34
- package/dialog/store/DialogStore.mjs +49 -35
- package/dialog/title/DialogTitle.js +1 -3
- package/dialog/title/DialogTitle.mjs +1 -3
- package/dialog/trigger/DialogTrigger.js +4 -5
- package/dialog/trigger/DialogTrigger.mjs +5 -6
- package/dialog/utils/stateAttributesMapping.d.mts +12 -0
- package/dialog/utils/stateAttributesMapping.d.ts +12 -0
- package/dialog/utils/stateAttributesMapping.js +21 -0
- package/dialog/utils/stateAttributesMapping.mjs +15 -0
- package/dialog/viewport/DialogViewport.js +3 -22
- package/dialog/viewport/DialogViewport.mjs +3 -21
- package/dialog/viewport/DialogViewportDataAttributes.d.mts +1 -1
- package/dialog/viewport/DialogViewportDataAttributes.d.ts +1 -1
- package/dialog/viewport/DialogViewportDataAttributes.js +1 -1
- package/dialog/viewport/DialogViewportDataAttributes.mjs +1 -1
- package/docs/index.md +1 -0
- package/docs/react/components/accordion.md +1 -1
- package/docs/react/components/alert-dialog.md +25 -21
- package/docs/react/components/autocomplete.md +158 -103
- package/docs/react/components/avatar.md +15 -11
- package/docs/react/components/checkbox.md +21 -21
- package/docs/react/components/collapsible.md +10 -1
- package/docs/react/components/combobox.md +51 -23
- package/docs/react/components/context-menu.md +474 -87
- package/docs/react/components/dialog.md +396 -21
- package/docs/react/components/drawer.md +27 -23
- package/docs/react/components/field.md +11 -11
- package/docs/react/components/form.md +13 -11
- package/docs/react/components/menu.md +138 -118
- package/docs/react/components/menubar.md +41 -41
- package/docs/react/components/navigation-menu.md +57 -71
- package/docs/react/components/number-field.md +6 -6
- package/docs/react/components/otp-field.md +20 -18
- package/docs/react/components/popover.md +51 -36
- package/docs/react/components/preview-card.md +56 -47
- package/docs/react/components/progress.md +3 -3
- package/docs/react/components/radio.md +1 -1
- package/docs/react/components/select.md +57 -55
- package/docs/react/components/slider.md +22 -22
- package/docs/react/components/tabs.md +275 -1
- package/docs/react/components/toast.md +21 -26
- package/docs/react/components/toolbar.md +27 -23
- package/docs/react/components/tooltip.md +30 -17
- package/docs/react/handbook/animation.md +3 -3
- package/docs/react/handbook/forms.md +3 -3
- package/docs/react/handbook/styling.md +1 -1
- package/docs/react/overview/about.md +10 -7
- package/docs/react/overview/community.md +3 -2
- package/docs/react/overview/quick-start.md +3 -3
- package/docs/react/overview/releases/v1-7-0.md +236 -0
- package/docs/react/overview/releases.md +10 -2
- package/docs/react/utils/direction-provider.md +5 -2
- package/drawer/backdrop/DrawerBackdrop.js +2 -10
- package/drawer/backdrop/DrawerBackdrop.mjs +3 -10
- package/drawer/backdrop/DrawerBackdropDataAttributes.d.mts +1 -1
- package/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +1 -1
- package/drawer/backdrop/DrawerBackdropDataAttributes.js +1 -1
- package/drawer/backdrop/DrawerBackdropDataAttributes.mjs +1 -1
- package/drawer/handle.d.mts +16 -0
- package/drawer/handle.d.ts +16 -0
- package/drawer/handle.js +25 -0
- package/drawer/handle.mjs +18 -0
- package/drawer/indent/DrawerIndent.js +1 -1
- package/drawer/indent/DrawerIndent.mjs +1 -1
- package/drawer/indent-background/DrawerIndentBackground.js +1 -1
- package/drawer/indent-background/DrawerIndentBackground.mjs +1 -1
- package/drawer/index.parts.d.mts +1 -1
- package/drawer/index.parts.d.ts +1 -1
- package/drawer/index.parts.js +3 -3
- package/drawer/index.parts.mjs +1 -1
- package/drawer/popup/DrawerPopup.js +10 -12
- package/drawer/popup/DrawerPopup.mjs +11 -13
- package/drawer/popup/DrawerPopupDataAttributes.d.mts +1 -1
- package/drawer/popup/DrawerPopupDataAttributes.d.ts +1 -1
- package/drawer/popup/DrawerPopupDataAttributes.js +1 -1
- package/drawer/popup/DrawerPopupDataAttributes.mjs +1 -1
- package/drawer/portal/DrawerPortal.d.mts +3 -3
- package/drawer/portal/DrawerPortal.d.ts +3 -3
- package/drawer/provider/DrawerProvider.js +13 -24
- package/drawer/provider/DrawerProvider.mjs +13 -24
- package/drawer/provider/DrawerProviderContext.d.mts +3 -4
- package/drawer/provider/DrawerProviderContext.d.ts +3 -4
- package/drawer/provider/DrawerProviderContext.js +2 -8
- package/drawer/provider/DrawerProviderContext.mjs +2 -7
- package/drawer/root/DrawerRoot.d.mts +2 -2
- package/drawer/root/DrawerRoot.d.ts +2 -2
- package/drawer/root/DrawerRoot.js +30 -34
- package/drawer/root/DrawerRoot.mjs +31 -35
- package/drawer/root/DrawerRootContext.d.mts +7 -2
- package/drawer/root/DrawerRootContext.d.ts +7 -2
- package/drawer/root/DrawerRootContext.js +1 -1
- package/drawer/root/DrawerRootContext.mjs +1 -1
- package/drawer/root/useDrawerSnapPoints.d.mts +6 -2
- package/drawer/root/useDrawerSnapPoints.d.ts +6 -2
- package/drawer/root/useDrawerSnapPoints.js +16 -24
- package/drawer/root/useDrawerSnapPoints.mjs +15 -24
- package/drawer/swipe-area/DrawerSwipeArea.js +82 -49
- package/drawer/swipe-area/DrawerSwipeArea.mjs +82 -49
- package/drawer/trigger/DrawerTrigger.d.mts +1 -1
- package/drawer/trigger/DrawerTrigger.d.ts +1 -1
- package/drawer/viewport/DrawerViewport.js +178 -340
- package/drawer/viewport/DrawerViewport.mjs +180 -342
- package/drawer/viewport/DrawerViewportContext.d.mts +1 -2
- package/drawer/viewport/DrawerViewportContext.d.ts +1 -2
- package/drawer/viewport/DrawerViewportContext.js +2 -8
- package/drawer/viewport/DrawerViewportContext.mjs +2 -7
- package/drawer/viewport/DrawerViewportDataAttributes.d.mts +1 -1
- package/drawer/viewport/DrawerViewportDataAttributes.d.ts +1 -1
- package/drawer/viewport/DrawerViewportDataAttributes.js +1 -1
- package/drawer/viewport/DrawerViewportDataAttributes.mjs +1 -1
- package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.js +250 -60
- package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.mjs +250 -60
- package/field/control/FieldControl.js +2 -2
- package/field/control/FieldControl.mjs +2 -2
- package/field/error/FieldError.js +2 -2
- package/field/error/FieldError.mjs +2 -2
- package/field/error/FieldErrorDataAttributes.d.mts +1 -1
- package/field/error/FieldErrorDataAttributes.d.ts +1 -1
- package/field/error/FieldErrorDataAttributes.js +1 -1
- package/field/error/FieldErrorDataAttributes.mjs +1 -1
- package/field/item/FieldItem.js +0 -5
- package/field/item/FieldItem.mjs +0 -5
- package/field/root/FieldRoot.js +8 -15
- package/field/root/FieldRoot.mjs +8 -15
- package/field/root/useFieldValidation.d.mts +17 -2
- package/field/root/useFieldValidation.d.ts +17 -2
- package/field/root/useFieldValidation.js +83 -77
- package/field/root/useFieldValidation.mjs +82 -77
- package/field/validity/FieldValidity.js +4 -0
- package/field/validity/FieldValidity.mjs +4 -0
- package/fieldset/legend/FieldsetLegend.js +3 -10
- package/fieldset/legend/FieldsetLegend.mjs +4 -10
- package/fieldset/root/FieldsetRootContext.d.mts +1 -1
- package/fieldset/root/FieldsetRootContext.d.ts +1 -1
- package/floating-ui-react/components/FloatingDelayGroup.d.mts +2 -41
- package/floating-ui-react/components/FloatingDelayGroup.d.ts +2 -41
- package/floating-ui-react/components/FloatingDelayGroup.js +0 -9
- package/floating-ui-react/components/FloatingDelayGroup.mjs +0 -9
- package/floating-ui-react/components/FloatingFocusManager.d.mts +1 -7
- package/floating-ui-react/components/FloatingFocusManager.d.ts +1 -7
- package/floating-ui-react/components/FloatingFocusManager.js +41 -27
- package/floating-ui-react/components/FloatingFocusManager.mjs +41 -27
- package/floating-ui-react/components/FloatingPortal.d.mts +7 -14
- package/floating-ui-react/components/FloatingPortal.d.ts +7 -14
- package/floating-ui-react/components/FloatingPortal.js +11 -13
- package/floating-ui-react/components/FloatingPortal.mjs +11 -13
- package/floating-ui-react/components/FloatingRootStore.js +6 -6
- package/floating-ui-react/components/FloatingRootStore.mjs +7 -7
- package/floating-ui-react/components/FloatingTree.d.mts +1 -19
- package/floating-ui-react/components/FloatingTree.d.ts +1 -19
- package/floating-ui-react/hooks/useClick.js +5 -1
- package/floating-ui-react/hooks/useClick.mjs +6 -2
- package/floating-ui-react/hooks/useDismiss.js +2 -2
- package/floating-ui-react/hooks/useDismiss.mjs +2 -2
- package/floating-ui-react/hooks/useFloating.d.mts +9 -1
- package/floating-ui-react/hooks/useFloating.d.ts +9 -1
- package/floating-ui-react/hooks/useFloating.js +14 -2
- package/floating-ui-react/hooks/useFloating.mjs +13 -2
- package/floating-ui-react/hooks/useHoverReferenceInteraction.d.mts +12 -0
- package/floating-ui-react/hooks/useHoverReferenceInteraction.d.ts +12 -0
- package/floating-ui-react/hooks/useHoverReferenceInteraction.js +16 -4
- package/floating-ui-react/hooks/useHoverReferenceInteraction.mjs +16 -4
- package/floating-ui-react/hooks/useListNavigation.js +15 -1
- package/floating-ui-react/hooks/useListNavigation.mjs +15 -1
- package/floating-ui-react/hooks/useTypeahead.d.mts +5 -5
- package/floating-ui-react/hooks/useTypeahead.d.ts +5 -5
- package/floating-ui-react/hooks/useTypeahead.js +9 -14
- package/floating-ui-react/hooks/useTypeahead.mjs +9 -14
- package/floating-ui-react/index.d.mts +0 -4
- package/floating-ui-react/index.d.ts +0 -4
- package/floating-ui-react/index.mjs +12 -0
- package/floating-ui-react/utils/composite.js +7 -0
- package/floating-ui-react/utils/composite.mjs +7 -0
- package/form/Form.d.mts +1 -1
- package/form/Form.d.ts +1 -1
- package/form/Form.js +62 -47
- package/form/Form.mjs +62 -47
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/internals/PrehydrationScript.d.mts +36 -0
- package/internals/PrehydrationScript.d.ts +36 -0
- package/internals/PrehydrationScript.js +59 -0
- package/internals/PrehydrationScript.mjs +54 -0
- package/internals/composite/composite.d.mts +2 -10
- package/internals/composite/composite.d.ts +2 -10
- package/internals/composite/composite.js +4 -12
- package/internals/composite/composite.mjs +3 -11
- package/internals/composite/index.d.mts +2 -1
- package/internals/composite/index.d.ts +2 -1
- package/internals/composite/index.js +11 -4
- package/internals/composite/index.mjs +1 -1
- package/internals/composite/item/CompositeItem.d.mts +0 -3
- package/internals/composite/item/CompositeItem.d.ts +0 -3
- package/internals/composite/item/CompositeItem.js +2 -4
- package/internals/composite/item/CompositeItem.mjs +2 -4
- package/internals/composite/item/useCompositeItem.d.mts +1 -1
- package/internals/composite/item/useCompositeItem.d.ts +1 -1
- package/internals/composite/list/CompositeList.d.mts +3 -3
- package/internals/composite/list/CompositeList.d.ts +3 -3
- package/internals/composite/list/CompositeList.js +165 -86
- package/internals/composite/list/CompositeList.mjs +165 -86
- package/internals/composite/list/CompositeListContext.d.mts +8 -4
- package/internals/composite/list/CompositeListContext.d.ts +8 -4
- package/internals/composite/list/CompositeListContext.js +1 -6
- package/internals/composite/list/CompositeListContext.mjs +1 -6
- package/internals/composite/list/useCompositeListItem.d.mts +11 -8
- package/internals/composite/list/useCompositeListItem.d.ts +11 -8
- package/internals/composite/list/useCompositeListItem.js +25 -32
- package/internals/composite/list/useCompositeListItem.mjs +25 -32
- package/internals/composite/root/CompositeRoot.d.mts +1 -4
- package/internals/composite/root/CompositeRoot.d.ts +1 -4
- package/internals/composite/root/CompositeRoot.js +0 -3
- package/internals/composite/root/CompositeRoot.mjs +0 -3
- package/internals/composite/root/useCompositeRoot.d.mts +0 -1
- package/internals/composite/root/useCompositeRoot.d.ts +0 -1
- package/internals/composite/root/useCompositeRoot.js +19 -39
- package/internals/composite/root/useCompositeRoot.mjs +20 -40
- package/internals/createBaseUIEventDetails.d.mts +1 -1
- package/internals/createBaseUIEventDetails.d.ts +1 -1
- package/internals/csp-context/CSPContext.d.mts +0 -6
- package/internals/csp-context/CSPContext.d.ts +0 -6
- package/internals/csp-context/CSPContext.js +0 -7
- package/internals/csp-context/CSPContext.mjs +0 -7
- package/internals/direction-context/DirectionContext.d.mts +0 -3
- package/internals/direction-context/DirectionContext.d.ts +0 -3
- package/internals/direction-context/DirectionContext.js +0 -3
- package/internals/direction-context/DirectionContext.mjs +0 -3
- package/internals/field-constants/constants.js +2 -3
- package/internals/field-constants/constants.mjs +2 -3
- package/internals/field-register-control/useFieldControlRegistration.d.mts +1 -1
- package/internals/field-register-control/useFieldControlRegistration.d.ts +1 -1
- package/internals/field-register-control/useFieldControlRegistration.js +21 -16
- package/internals/field-register-control/useFieldControlRegistration.mjs +21 -16
- package/internals/field-register-control/useRegisterFieldControl.js +13 -9
- package/internals/field-register-control/useRegisterFieldControl.mjs +13 -8
- package/internals/field-root-context/FieldRootContext.d.mts +0 -7
- package/internals/field-root-context/FieldRootContext.d.ts +0 -7
- package/internals/field-root-context/FieldRootContext.js +2 -9
- package/internals/field-root-context/FieldRootContext.mjs +3 -10
- package/internals/form-context/FormContext.d.mts +1 -0
- package/internals/form-context/FormContext.d.ts +1 -0
- package/internals/form-context/FormContext.js +3 -0
- package/internals/form-context/FormContext.mjs +3 -0
- package/{utils → internals}/getDisabledMountTransitionStyles.d.mts +1 -1
- package/{utils → internals}/getDisabledMountTransitionStyles.d.ts +1 -1
- package/{utils → internals}/getDisabledMountTransitionStyles.js +1 -1
- package/{utils → internals}/getDisabledMountTransitionStyles.mjs +1 -1
- package/internals/itemEquality.d.mts +1 -0
- package/internals/itemEquality.d.ts +1 -0
- package/internals/itemEquality.js +7 -0
- package/internals/itemEquality.mjs +6 -0
- package/internals/labelable-provider/LabelableProvider.d.mts +0 -3
- package/internals/labelable-provider/LabelableProvider.d.ts +0 -3
- package/internals/labelable-provider/LabelableProvider.js +0 -3
- package/internals/labelable-provider/LabelableProvider.mjs +0 -4
- package/internals/labelable-provider/useAriaLabelledBy.d.mts +0 -3
- package/internals/labelable-provider/useAriaLabelledBy.d.ts +0 -3
- package/internals/labelable-provider/useAriaLabelledBy.js +0 -3
- package/internals/labelable-provider/useAriaLabelledBy.mjs +0 -4
- package/internals/labelable-provider/useLabel.d.mts +1 -1
- package/internals/labelable-provider/useLabel.d.ts +1 -1
- package/internals/labelable-provider/useLabelableId.js +1 -1
- package/internals/labelable-provider/useLabelableId.mjs +1 -1
- package/internals/prehydrationScript.stub.d.mts +1 -0
- package/internals/prehydrationScript.stub.d.ts +1 -0
- package/internals/prehydrationScript.stub.js +12 -0
- package/internals/prehydrationScript.stub.mjs +6 -0
- package/internals/stateAttributesMapping.d.mts +1 -1
- package/internals/stateAttributesMapping.d.ts +1 -1
- package/internals/stateAttributesMapping.js +3 -3
- package/internals/stateAttributesMapping.mjs +3 -3
- package/internals/use-button/useButton.js +30 -14
- package/internals/use-button/useButton.mjs +30 -14
- package/{utils → internals}/useAnchorPositioning.d.mts +11 -4
- package/{utils → internals}/useAnchorPositioning.d.ts +11 -4
- package/{utils → internals}/useAnchorPositioning.js +97 -68
- package/{utils → internals}/useAnchorPositioning.mjs +96 -68
- package/internals/useAnimationsFinished.d.mts +2 -3
- package/internals/useAnimationsFinished.d.ts +2 -3
- package/internals/useAnimationsFinished.js +8 -11
- package/internals/useAnimationsFinished.mjs +8 -11
- package/internals/useOpenChangeComplete.js +1 -1
- package/internals/useOpenChangeComplete.mjs +1 -1
- package/internals/usePressAndHold.d.mts +0 -1
- package/internals/usePressAndHold.d.ts +0 -1
- package/internals/usePressAndHold.js +4 -8
- package/internals/usePressAndHold.mjs +4 -8
- package/internals/useRenderElement.js +6 -6
- package/internals/useRenderElement.mjs +6 -6
- package/internals/useValueChanged.js +3 -6
- package/internals/useValueChanged.mjs +3 -6
- package/menu/arrow/MenuArrow.d.mts +1 -1
- package/menu/arrow/MenuArrow.d.ts +1 -1
- package/menu/backdrop/MenuBackdrop.js +1 -7
- package/menu/backdrop/MenuBackdrop.mjs +2 -7
- package/menu/backdrop/MenuBackdropDataAttributes.d.mts +1 -1
- package/menu/backdrop/MenuBackdropDataAttributes.d.ts +1 -1
- package/menu/backdrop/MenuBackdropDataAttributes.js +1 -1
- package/menu/backdrop/MenuBackdropDataAttributes.mjs +1 -1
- package/menu/checkbox-item/MenuCheckboxItem.js +6 -2
- package/menu/checkbox-item/MenuCheckboxItem.mjs +6 -2
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.js +2 -1
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.mjs +2 -1
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.mts +1 -1
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.ts +1 -1
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.js +1 -1
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.mjs +1 -1
- package/menu/group/MenuGroupContext.d.mts +1 -1
- package/menu/group/MenuGroupContext.d.ts +1 -1
- package/menu/group-label/MenuGroupLabel.js +1 -1
- package/menu/group-label/MenuGroupLabel.mjs +1 -1
- package/menu/item/MenuItem.js +4 -1
- package/menu/item/MenuItem.mjs +4 -1
- package/menu/item/useMenuItem.js +1 -3
- package/menu/item/useMenuItem.mjs +1 -3
- package/menu/item/useMenuItemCommonProps.d.mts +2 -3
- package/menu/item/useMenuItemCommonProps.d.ts +2 -3
- package/menu/item/useMenuItemCommonProps.js +7 -2
- package/menu/item/useMenuItemCommonProps.mjs +7 -2
- package/menu/link-item/MenuLinkItem.d.mts +1 -1
- package/menu/link-item/MenuLinkItem.d.ts +1 -1
- package/menu/link-item/MenuLinkItem.js +4 -1
- package/menu/link-item/MenuLinkItem.mjs +4 -1
- package/menu/popup/MenuPopup.d.mts +1 -1
- package/menu/popup/MenuPopup.d.ts +1 -1
- package/menu/popup/MenuPopup.js +5 -14
- package/menu/popup/MenuPopup.mjs +7 -15
- package/menu/popup/MenuPopupDataAttributes.d.mts +1 -1
- package/menu/popup/MenuPopupDataAttributes.d.ts +1 -1
- package/menu/popup/MenuPopupDataAttributes.js +1 -1
- package/menu/popup/MenuPopupDataAttributes.mjs +1 -1
- package/menu/portal/MenuPortal.d.mts +6 -2
- package/menu/portal/MenuPortal.d.ts +6 -2
- package/menu/positioner/MenuPositioner.d.mts +1 -1
- package/menu/positioner/MenuPositioner.d.ts +1 -1
- package/menu/positioner/MenuPositioner.js +8 -6
- package/menu/positioner/MenuPositioner.mjs +8 -6
- package/menu/positioner/MenuPositionerContext.d.mts +1 -1
- package/menu/positioner/MenuPositionerContext.d.ts +1 -1
- package/menu/positioner/MenuPositionerCssVars.d.mts +12 -0
- package/menu/positioner/MenuPositionerCssVars.d.ts +12 -0
- package/menu/positioner/MenuPositionerCssVars.js +12 -0
- package/menu/positioner/MenuPositionerCssVars.mjs +12 -0
- package/menu/radio-item/MenuRadioItem.js +5 -2
- package/menu/radio-item/MenuRadioItem.mjs +5 -2
- package/menu/radio-item-indicator/MenuRadioItemIndicator.js +2 -1
- package/menu/radio-item-indicator/MenuRadioItemIndicator.mjs +2 -1
- package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.mts +1 -1
- package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.ts +1 -1
- package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.js +1 -1
- package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.mjs +1 -1
- package/menu/root/MenuRoot.d.mts +11 -7
- package/menu/root/MenuRoot.d.ts +11 -7
- package/menu/root/MenuRoot.js +36 -13
- package/menu/root/MenuRoot.mjs +38 -15
- package/menu/store/MenuHandle.d.mts +18 -10
- package/menu/store/MenuHandle.d.ts +18 -10
- package/menu/store/MenuHandle.js +21 -20
- package/menu/store/MenuHandle.mjs +22 -19
- package/menu/store/MenuStore.d.mts +22 -7
- package/menu/store/MenuStore.d.ts +22 -7
- package/menu/store/MenuStore.js +71 -53
- package/menu/store/MenuStore.mjs +72 -55
- package/menu/submenu-trigger/MenuSubmenuTrigger.js +29 -8
- package/menu/submenu-trigger/MenuSubmenuTrigger.mjs +28 -8
- package/menu/trigger/MenuTrigger.js +7 -22
- package/menu/trigger/MenuTrigger.mjs +10 -24
- package/menu/utils/findRootOwnerId.js +1 -1
- package/menu/utils/findRootOwnerId.mjs +1 -1
- package/menu/viewport/MenuViewport.js +1 -9
- package/menu/viewport/MenuViewport.mjs +2 -9
- package/menubar/Menubar.js +2 -1
- package/menubar/Menubar.mjs +2 -1
- package/meter/root/MeterRoot.js +4 -6
- package/meter/root/MeterRoot.mjs +4 -6
- package/meter/root/MeterRootContext.d.mts +0 -2
- package/meter/root/MeterRootContext.d.ts +0 -2
- package/navigation-menu/arrow/NavigationMenuArrow.d.mts +1 -1
- package/navigation-menu/arrow/NavigationMenuArrow.d.ts +1 -1
- package/navigation-menu/arrow/NavigationMenuArrow.js +1 -1
- package/navigation-menu/arrow/NavigationMenuArrow.mjs +1 -1
- package/navigation-menu/backdrop/NavigationMenuBackdrop.js +1 -7
- package/navigation-menu/backdrop/NavigationMenuBackdrop.mjs +2 -7
- package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.mts +1 -1
- package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.ts +1 -1
- package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.js +1 -1
- package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.mjs +1 -1
- package/navigation-menu/content/NavigationMenuContentDataAttributes.d.mts +1 -1
- package/navigation-menu/content/NavigationMenuContentDataAttributes.d.ts +1 -1
- package/navigation-menu/content/NavigationMenuContentDataAttributes.js +1 -1
- package/navigation-menu/content/NavigationMenuContentDataAttributes.mjs +1 -1
- package/navigation-menu/link/NavigationMenuLink.d.mts +1 -1
- package/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
- package/navigation-menu/popup/NavigationMenuPopup.d.mts +1 -1
- package/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
- package/navigation-menu/popup/NavigationMenuPopup.js +2 -8
- package/navigation-menu/popup/NavigationMenuPopup.mjs +3 -8
- package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.mts +1 -1
- package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.ts +1 -1
- package/navigation-menu/popup/NavigationMenuPopupDataAttributes.js +1 -1
- package/navigation-menu/popup/NavigationMenuPopupDataAttributes.mjs +1 -1
- package/navigation-menu/portal/NavigationMenuPortal.d.mts +3 -3
- package/navigation-menu/portal/NavigationMenuPortal.d.ts +3 -3
- package/navigation-menu/positioner/NavigationMenuPositioner.d.mts +1 -1
- package/navigation-menu/positioner/NavigationMenuPositioner.d.ts +1 -1
- package/navigation-menu/positioner/NavigationMenuPositioner.js +7 -6
- package/navigation-menu/positioner/NavigationMenuPositioner.mjs +7 -6
- package/navigation-menu/positioner/NavigationMenuPositionerContext.d.mts +2 -2
- package/navigation-menu/positioner/NavigationMenuPositionerContext.d.ts +2 -2
- package/navigation-menu/trigger/NavigationMenuTrigger.js +63 -101
- package/navigation-menu/trigger/NavigationMenuTrigger.mjs +63 -101
- package/navigation-menu/utils/isOutsideMenuEvent.js +2 -5
- package/navigation-menu/utils/isOutsideMenuEvent.mjs +2 -5
- package/navigation-menu/utils/useNavigationMenuAnchorPositioning.d.mts +6 -0
- package/navigation-menu/utils/useNavigationMenuAnchorPositioning.d.ts +6 -0
- package/navigation-menu/utils/useNavigationMenuAnchorPositioning.js +16 -0
- package/navigation-menu/utils/useNavigationMenuAnchorPositioning.mjs +12 -0
- package/number-field/input/NumberFieldInput.d.mts +1 -1
- package/number-field/input/NumberFieldInput.d.ts +1 -1
- package/number-field/input/NumberFieldInput.js +40 -25
- package/number-field/input/NumberFieldInput.mjs +41 -26
- package/number-field/root/NumberFieldRoot.js +37 -55
- package/number-field/root/NumberFieldRoot.mjs +38 -56
- package/number-field/root/NumberFieldRootContext.d.mts +0 -7
- package/number-field/root/NumberFieldRootContext.d.ts +0 -7
- package/number-field/root/useNumberFieldStepperButton.js +108 -21
- package/number-field/root/useNumberFieldStepperButton.mjs +108 -21
- package/number-field/scrub-area/NumberFieldScrubArea.js +28 -32
- package/number-field/scrub-area/NumberFieldScrubArea.mjs +28 -32
- package/number-field/utils/constants.d.mts +1 -2
- package/number-field/utils/constants.d.ts +1 -2
- package/number-field/utils/constants.js +2 -3
- package/number-field/utils/constants.mjs +1 -2
- package/number-field/utils/parse.d.mts +27 -15
- package/number-field/utils/parse.d.ts +27 -15
- package/number-field/utils/parse.js +74 -135
- package/number-field/utils/parse.mjs +73 -134
- package/number-field/utils/types.d.mts +2 -1
- package/number-field/utils/types.d.ts +2 -1
- package/number-field/utils/validate.d.mts +1 -19
- package/number-field/utils/validate.d.ts +1 -19
- package/number-field/utils/validate.js +6 -14
- package/number-field/utils/validate.mjs +6 -14
- package/otp-field/input/OTPFieldInput.d.mts +1 -1
- package/otp-field/input/OTPFieldInput.d.ts +1 -1
- package/otp-field/input/OTPFieldInput.js +4 -1
- package/otp-field/input/OTPFieldInput.mjs +5 -2
- package/otp-field/root/OTPFieldRoot.js +13 -14
- package/otp-field/root/OTPFieldRoot.mjs +13 -14
- package/package.json +93 -5
- package/popover/arrow/PopoverArrow.d.mts +1 -1
- package/popover/arrow/PopoverArrow.d.ts +1 -1
- package/popover/arrow/PopoverArrow.js +1 -3
- package/popover/arrow/PopoverArrow.mjs +1 -3
- package/popover/backdrop/PopoverBackdrop.js +3 -11
- package/popover/backdrop/PopoverBackdrop.mjs +4 -11
- package/popover/backdrop/PopoverBackdropDataAttributes.d.mts +1 -1
- package/popover/backdrop/PopoverBackdropDataAttributes.d.ts +1 -1
- package/popover/backdrop/PopoverBackdropDataAttributes.js +1 -1
- package/popover/backdrop/PopoverBackdropDataAttributes.mjs +1 -1
- package/popover/close/PopoverClose.js +1 -3
- package/popover/close/PopoverClose.mjs +1 -3
- package/popover/description/PopoverDescription.js +1 -3
- package/popover/description/PopoverDescription.mjs +1 -3
- package/popover/popup/PopoverPopup.d.mts +1 -1
- package/popover/popup/PopoverPopup.d.ts +1 -1
- package/popover/popup/PopoverPopup.js +6 -17
- package/popover/popup/PopoverPopup.mjs +9 -19
- package/popover/popup/PopoverPopupDataAttributes.d.mts +1 -1
- package/popover/popup/PopoverPopupDataAttributes.d.ts +1 -1
- package/popover/popup/PopoverPopupDataAttributes.js +3 -3
- package/popover/popup/PopoverPopupDataAttributes.mjs +3 -3
- package/popover/portal/PopoverPortal.d.mts +6 -2
- package/popover/portal/PopoverPortal.d.ts +6 -2
- package/popover/portal/PopoverPortal.js +1 -3
- package/popover/portal/PopoverPortal.mjs +1 -3
- package/popover/positioner/PopoverPositioner.d.mts +1 -1
- package/popover/positioner/PopoverPositioner.d.ts +1 -1
- package/popover/positioner/PopoverPositioner.js +19 -22
- package/popover/positioner/PopoverPositioner.mjs +19 -22
- package/popover/positioner/PopoverPositionerContext.d.mts +1 -1
- package/popover/positioner/PopoverPositionerContext.d.ts +1 -1
- package/popover/positioner/PopoverPositionerCssVars.d.mts +2 -0
- package/popover/positioner/PopoverPositionerCssVars.d.ts +2 -0
- package/popover/positioner/PopoverPositionerCssVars.js +2 -0
- package/popover/positioner/PopoverPositionerCssVars.mjs +2 -0
- package/popover/root/PopoverRoot.d.mts +2 -0
- package/popover/root/PopoverRoot.d.ts +2 -0
- package/popover/root/PopoverRoot.js +29 -22
- package/popover/root/PopoverRoot.mjs +31 -24
- package/popover/root/PopoverRootContext.d.mts +1 -3
- package/popover/root/PopoverRootContext.d.ts +1 -3
- package/popover/store/PopoverHandle.d.mts +18 -10
- package/popover/store/PopoverHandle.d.ts +18 -10
- package/popover/store/PopoverHandle.js +21 -21
- package/popover/store/PopoverHandle.mjs +22 -20
- package/popover/store/PopoverStore.d.mts +22 -10
- package/popover/store/PopoverStore.d.ts +22 -10
- package/popover/store/PopoverStore.js +82 -67
- package/popover/store/PopoverStore.mjs +81 -67
- package/popover/title/PopoverTitle.js +1 -3
- package/popover/title/PopoverTitle.mjs +1 -3
- package/popover/trigger/PopoverTrigger.js +9 -11
- package/popover/trigger/PopoverTrigger.mjs +10 -12
- package/popover/viewport/PopoverViewport.js +2 -12
- package/popover/viewport/PopoverViewport.mjs +3 -12
- package/preview-card/arrow/PreviewCardArrow.d.mts +1 -1
- package/preview-card/arrow/PreviewCardArrow.d.ts +1 -1
- package/preview-card/backdrop/PreviewCardBackdrop.d.mts +1 -1
- package/preview-card/backdrop/PreviewCardBackdrop.d.ts +1 -1
- package/preview-card/backdrop/PreviewCardBackdrop.js +2 -8
- package/preview-card/backdrop/PreviewCardBackdrop.mjs +3 -8
- package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.mts +1 -1
- package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.ts +1 -1
- package/preview-card/backdrop/PreviewCardBackdropDataAttributes.js +1 -1
- package/preview-card/backdrop/PreviewCardBackdropDataAttributes.mjs +1 -1
- package/preview-card/popup/PreviewCardPopup.d.mts +1 -1
- package/preview-card/popup/PreviewCardPopup.d.ts +1 -1
- package/preview-card/popup/PreviewCardPopup.js +6 -12
- package/preview-card/popup/PreviewCardPopup.mjs +7 -12
- package/preview-card/popup/PreviewCardPopupDataAttributes.d.mts +1 -1
- package/preview-card/popup/PreviewCardPopupDataAttributes.d.ts +1 -1
- package/preview-card/popup/PreviewCardPopupDataAttributes.js +1 -1
- package/preview-card/popup/PreviewCardPopupDataAttributes.mjs +1 -1
- package/preview-card/portal/PreviewCardPortal.d.mts +6 -2
- package/preview-card/portal/PreviewCardPortal.d.ts +6 -2
- package/preview-card/portal/PreviewCardPortal.mjs +1 -2
- package/preview-card/positioner/PreviewCardPositioner.d.mts +1 -1
- package/preview-card/positioner/PreviewCardPositioner.d.ts +1 -1
- package/preview-card/positioner/PreviewCardPositioner.js +3 -4
- package/preview-card/positioner/PreviewCardPositioner.mjs +3 -4
- package/preview-card/positioner/PreviewCardPositionerContext.d.mts +1 -1
- package/preview-card/positioner/PreviewCardPositionerContext.d.ts +1 -1
- package/preview-card/positioner/PreviewCardPositionerContext.js +1 -1
- package/preview-card/positioner/PreviewCardPositionerContext.mjs +1 -1
- package/preview-card/positioner/PreviewCardPositionerCssVars.d.mts +12 -0
- package/preview-card/positioner/PreviewCardPositionerCssVars.d.ts +12 -0
- package/preview-card/positioner/PreviewCardPositionerCssVars.js +12 -0
- package/preview-card/positioner/PreviewCardPositionerCssVars.mjs +12 -0
- package/preview-card/root/PreviewCardRoot.js +14 -17
- package/preview-card/root/PreviewCardRoot.mjs +15 -18
- package/preview-card/store/PreviewCardHandle.d.mts +15 -12
- package/preview-card/store/PreviewCardHandle.d.ts +15 -12
- package/preview-card/store/PreviewCardHandle.js +18 -23
- package/preview-card/store/PreviewCardHandle.mjs +19 -23
- package/preview-card/store/PreviewCardStore.d.mts +22 -7
- package/preview-card/store/PreviewCardStore.d.ts +22 -7
- package/preview-card/store/PreviewCardStore.js +43 -30
- package/preview-card/store/PreviewCardStore.mjs +43 -31
- package/preview-card/trigger/PreviewCardTrigger.d.mts +1 -1
- package/preview-card/trigger/PreviewCardTrigger.d.ts +1 -1
- package/preview-card/trigger/PreviewCardTrigger.js +4 -8
- package/preview-card/trigger/PreviewCardTrigger.mjs +5 -9
- package/preview-card/viewport/PreviewCardViewport.js +1 -9
- package/preview-card/viewport/PreviewCardViewport.mjs +2 -9
- package/progress/indicator/ProgressIndicator.js +1 -5
- package/progress/indicator/ProgressIndicator.mjs +1 -5
- package/progress/root/ProgressRoot.d.mts +1 -2
- package/progress/root/ProgressRoot.d.ts +1 -2
- package/progress/root/ProgressRoot.js +28 -19
- package/progress/root/ProgressRoot.mjs +29 -20
- package/progress/root/ProgressRootContext.d.mts +4 -12
- package/progress/root/ProgressRootContext.d.ts +4 -12
- package/progress/root/stateAttributesMapping.js +3 -17
- package/progress/root/stateAttributesMapping.mjs +3 -17
- package/progress/value/ProgressValue.d.mts +1 -1
- package/progress/value/ProgressValue.d.ts +1 -1
- package/progress/value/ProgressValue.js +7 -3
- package/progress/value/ProgressValue.mjs +7 -3
- package/radio/indicator/RadioIndicatorDataAttributes.d.mts +1 -1
- package/radio/indicator/RadioIndicatorDataAttributes.d.ts +1 -1
- package/radio/indicator/RadioIndicatorDataAttributes.js +1 -1
- package/radio/indicator/RadioIndicatorDataAttributes.mjs +1 -1
- package/radio/root/RadioRoot.js +22 -29
- package/radio/root/RadioRoot.mjs +22 -29
- package/radio/utils/stateAttributesMapping.js +2 -3
- package/radio/utils/stateAttributesMapping.mjs +2 -3
- package/radio-group/RadioGroup.js +47 -32
- package/radio-group/RadioGroup.mjs +47 -32
- package/radio-group/RadioGroupContext.d.mts +0 -1
- package/radio-group/RadioGroupContext.d.ts +0 -1
- package/scroll-area/root/ScrollAreaRoot.js +122 -83
- package/scroll-area/root/ScrollAreaRoot.mjs +122 -83
- package/scroll-area/root/ScrollAreaRootContext.d.mts +1 -3
- package/scroll-area/root/ScrollAreaRootContext.d.ts +1 -3
- package/scroll-area/root/stateAttributes.js +10 -19
- package/scroll-area/root/stateAttributes.mjs +10 -19
- package/scroll-area/scrollbar/ScrollAreaScrollbar.js +58 -74
- package/scroll-area/scrollbar/ScrollAreaScrollbar.mjs +58 -74
- package/scroll-area/scrollbar/ScrollAreaScrollbarContext.d.mts +1 -3
- package/scroll-area/scrollbar/ScrollAreaScrollbarContext.d.ts +1 -3
- package/scroll-area/thumb/ScrollAreaThumb.js +10 -24
- package/scroll-area/thumb/ScrollAreaThumb.mjs +10 -24
- package/scroll-area/utils/getOffset.js +4 -3
- package/scroll-area/utils/getOffset.mjs +4 -3
- package/scroll-area/viewport/ScrollAreaViewport.js +76 -79
- package/scroll-area/viewport/ScrollAreaViewport.mjs +77 -80
- package/select/arrow/SelectArrow.d.mts +1 -1
- package/select/arrow/SelectArrow.d.ts +1 -1
- package/select/arrow/SelectArrow.js +1 -7
- package/select/arrow/SelectArrow.mjs +2 -7
- package/select/backdrop/SelectBackdropDataAttributes.d.mts +1 -1
- package/select/backdrop/SelectBackdropDataAttributes.d.ts +1 -1
- package/select/backdrop/SelectBackdropDataAttributes.js +1 -1
- package/select/backdrop/SelectBackdropDataAttributes.mjs +1 -1
- package/select/group-label/SelectGroupLabel.js +3 -0
- package/select/group-label/SelectGroupLabel.mjs +3 -0
- package/select/index.d.mts +2 -1
- package/select/index.d.ts +2 -1
- package/select/index.parts.d.mts +1 -1
- package/select/index.parts.d.ts +1 -1
- package/select/index.parts.js +2 -2
- package/select/index.parts.mjs +1 -1
- package/select/item/SelectItem.js +12 -25
- package/select/item/SelectItem.mjs +13 -26
- package/select/item/SelectItemContext.d.mts +0 -1
- package/select/item/SelectItemContext.d.ts +0 -1
- package/select/item-indicator/SelectItemIndicator.js +1 -2
- package/select/item-indicator/SelectItemIndicator.mjs +1 -2
- package/select/item-indicator/SelectItemIndicatorDataAttributes.d.mts +1 -1
- package/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +1 -1
- package/select/item-indicator/SelectItemIndicatorDataAttributes.js +1 -1
- package/select/item-indicator/SelectItemIndicatorDataAttributes.mjs +1 -1
- package/select/item-text/SelectItemText.js +4 -5
- package/select/item-text/SelectItemText.mjs +4 -5
- package/select/label/SelectLabel.js +2 -1
- package/select/label/SelectLabel.mjs +2 -1
- package/select/list/SelectList.js +3 -6
- package/select/list/SelectList.mjs +3 -6
- package/select/popup/SelectPopup.d.mts +1 -1
- package/select/popup/SelectPopup.d.ts +1 -1
- package/select/popup/SelectPopup.js +32 -52
- package/select/popup/SelectPopup.mjs +33 -53
- package/select/popup/SelectPopupDataAttributes.d.mts +1 -1
- package/select/popup/SelectPopupDataAttributes.d.ts +1 -1
- package/select/popup/SelectPopupDataAttributes.js +1 -1
- package/select/popup/SelectPopupDataAttributes.mjs +1 -1
- package/select/portal/SelectPortal.d.mts +7 -2
- package/select/portal/SelectPortal.d.ts +7 -2
- package/select/portal/SelectPortal.js +3 -7
- package/select/portal/SelectPortal.mjs +3 -7
- package/select/positioner/SelectPositioner.d.mts +1 -1
- package/select/positioner/SelectPositioner.d.ts +1 -1
- package/select/positioner/SelectPositioner.js +15 -29
- package/select/positioner/SelectPositioner.mjs +17 -31
- package/select/positioner/SelectPositionerContext.d.mts +1 -1
- package/select/positioner/SelectPositionerContext.d.ts +1 -1
- package/select/root/SelectRoot.d.mts +2 -0
- package/select/root/SelectRoot.d.ts +2 -0
- package/select/root/SelectRoot.js +93 -121
- package/select/root/SelectRoot.mjs +95 -123
- package/select/root/SelectRootContext.d.mts +4 -5
- package/select/root/SelectRootContext.d.ts +4 -5
- package/select/root/SelectRootContext.js +1 -11
- package/select/root/SelectRootContext.mjs +0 -9
- package/select/scroll-arrow/SelectScrollArrow.d.mts +1 -6
- package/select/scroll-arrow/SelectScrollArrow.d.ts +1 -6
- package/select/scroll-arrow/SelectScrollArrow.js +4 -11
- package/select/scroll-arrow/SelectScrollArrow.mjs +4 -11
- package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.mts +1 -1
- package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.ts +1 -1
- package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.js +1 -1
- package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.mjs +1 -1
- package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.mts +1 -1
- package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.ts +1 -1
- package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.js +1 -1
- package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.mjs +1 -1
- package/select/separator/SelectSeparator.d.mts +26 -0
- package/select/separator/SelectSeparator.d.ts +26 -0
- package/select/separator/SelectSeparator.js +15 -0
- package/select/separator/SelectSeparator.mjs +10 -0
- package/select/store.d.mts +3 -5
- package/select/store.d.ts +3 -5
- package/select/store.js +32 -35
- package/select/store.mjs +32 -35
- package/select/trigger/SelectTrigger.d.mts +1 -1
- package/select/trigger/SelectTrigger.d.ts +1 -1
- package/select/trigger/SelectTrigger.js +3 -8
- package/select/trigger/SelectTrigger.mjs +4 -9
- package/select/value/SelectValue.js +1 -1
- package/select/value/SelectValue.mjs +1 -1
- package/slider/control/SliderControl.js +61 -78
- package/slider/control/SliderControl.mjs +61 -78
- package/slider/indicator/SliderIndicator.js +15 -34
- package/slider/indicator/SliderIndicator.mjs +15 -34
- package/slider/root/SliderRoot.d.mts +5 -3
- package/slider/root/SliderRoot.d.ts +5 -3
- package/slider/root/SliderRoot.js +36 -47
- package/slider/root/SliderRoot.mjs +36 -47
- package/slider/root/SliderRootContext.d.mts +6 -4
- package/slider/root/SliderRootContext.d.ts +6 -4
- package/slider/root/stateAttributesMapping.js +7 -6
- package/slider/root/stateAttributesMapping.mjs +7 -6
- package/slider/thumb/SliderThumb.js +64 -69
- package/slider/thumb/SliderThumb.mjs +64 -69
- package/slider/utils/getMidpoint.d.mts +1 -2
- package/slider/utils/getMidpoint.d.ts +1 -2
- package/slider/utils/getMidpoint.js +2 -5
- package/slider/utils/getMidpoint.mjs +2 -5
- package/slider/utils/getPushedThumbValues.d.mts +4 -21
- package/slider/utils/getPushedThumbValues.d.ts +4 -21
- package/slider/utils/getPushedThumbValues.js +6 -15
- package/slider/utils/getPushedThumbValues.mjs +7 -15
- package/slider/utils/getSliderValue.js +8 -8
- package/slider/utils/getSliderValue.mjs +8 -8
- package/slider/utils/resolveThumbCollision.d.mts +5 -24
- package/slider/utils/resolveThumbCollision.d.ts +5 -24
- package/slider/utils/resolveThumbCollision.js +33 -64
- package/slider/utils/resolveThumbCollision.mjs +33 -64
- package/slider/utils/test-utils.d.mts +1 -11
- package/slider/utils/test-utils.d.ts +1 -11
- package/slider/utils/test-utils.js +1 -11
- package/slider/utils/test-utils.mjs +1 -11
- package/slider/utils/validateMinimumDistance.js +6 -7
- package/slider/utils/validateMinimumDistance.mjs +6 -7
- package/slider/value/SliderValue.js +6 -16
- package/slider/value/SliderValue.mjs +6 -16
- package/switch/root/SwitchRoot.js +18 -19
- package/switch/root/SwitchRoot.mjs +18 -19
- package/switch/stateAttributesMapping.js +2 -3
- package/switch/stateAttributesMapping.mjs +2 -3
- package/tabs/indicator/TabsIndicator.js +13 -24
- package/tabs/indicator/TabsIndicator.mjs +13 -24
- package/tabs/indicator/prehydrationScript.min.d.mts +1 -1
- package/tabs/indicator/prehydrationScript.min.d.ts +1 -1
- package/tabs/indicator/prehydrationScript.min.js +1 -1
- package/tabs/indicator/prehydrationScript.min.mjs +1 -1
- package/tabs/list/TabsList.js +1 -11
- package/tabs/list/TabsList.mjs +1 -11
- package/tabs/list/TabsListContext.d.mts +0 -5
- package/tabs/list/TabsListContext.d.ts +0 -5
- package/tabs/panel/TabsPanel.js +10 -20
- package/tabs/panel/TabsPanel.mjs +10 -20
- package/tabs/panel/TabsPanelDataAttributes.d.mts +1 -1
- package/tabs/panel/TabsPanelDataAttributes.d.ts +1 -1
- package/tabs/panel/TabsPanelDataAttributes.js +1 -1
- package/tabs/panel/TabsPanelDataAttributes.mjs +1 -1
- package/tabs/root/TabsRoot.js +40 -75
- package/tabs/root/TabsRoot.mjs +40 -75
- package/tabs/root/TabsRootContext.d.mts +4 -11
- package/tabs/root/TabsRootContext.d.ts +4 -11
- package/tabs/root/stateAttributesMapping.js +1 -2
- package/tabs/root/stateAttributesMapping.mjs +1 -2
- package/tabs/tab/TabsTab.js +42 -39
- package/tabs/tab/TabsTab.mjs +42 -39
- package/toast/action/ToastAction.js +2 -5
- package/toast/action/ToastAction.mjs +2 -5
- package/toast/arrow/ToastArrow.d.mts +1 -1
- package/toast/arrow/ToastArrow.d.ts +1 -1
- package/toast/arrow/ToastArrow.js +1 -2
- package/toast/arrow/ToastArrow.mjs +1 -2
- package/toast/close/ToastClose.js +3 -4
- package/toast/close/ToastClose.mjs +3 -4
- package/toast/content/ToastContent.js +3 -7
- package/toast/content/ToastContent.mjs +3 -7
- package/toast/description/ToastDescription.js +8 -23
- package/toast/description/ToastDescription.mjs +8 -23
- package/toast/portal/ToastPortal.d.mts +9 -3
- package/toast/portal/ToastPortal.d.ts +9 -3
- package/toast/portal/ToastPortal.js +10 -1
- package/toast/portal/ToastPortal.mjs +9 -2
- package/toast/positioner/ToastPositioner.d.mts +1 -1
- package/toast/positioner/ToastPositioner.d.ts +1 -1
- package/toast/positioner/ToastPositioner.js +4 -5
- package/toast/positioner/ToastPositioner.mjs +4 -5
- package/toast/positioner/ToastPositionerContext.d.mts +1 -1
- package/toast/positioner/ToastPositionerContext.d.ts +1 -1
- package/toast/provider/ToastProvider.js +19 -10
- package/toast/provider/ToastProvider.mjs +20 -11
- package/toast/root/ToastRoot.d.mts +2 -0
- package/toast/root/ToastRoot.d.ts +2 -0
- package/toast/root/ToastRoot.js +93 -140
- package/toast/root/ToastRoot.mjs +92 -139
- package/toast/root/ToastRootContext.d.mts +0 -6
- package/toast/root/ToastRootContext.d.ts +0 -6
- package/toast/root/ToastRootDataAttributes.d.mts +1 -1
- package/toast/root/ToastRootDataAttributes.d.ts +1 -1
- package/toast/root/ToastRootDataAttributes.js +1 -1
- package/toast/root/ToastRootDataAttributes.mjs +1 -1
- package/toast/store.d.mts +17 -22
- package/toast/store.d.ts +17 -22
- package/toast/store.js +51 -85
- package/toast/store.mjs +53 -86
- package/toast/title/ToastTitle.js +8 -23
- package/toast/title/ToastTitle.mjs +8 -23
- package/toast/useToastManager.js +1 -6
- package/toast/useToastManager.mjs +2 -6
- package/toast/utils/isRenderableNode.d.mts +3 -0
- package/toast/utils/isRenderableNode.d.ts +3 -0
- package/toast/utils/isRenderableNode.js +21 -0
- package/toast/utils/isRenderableNode.mjs +13 -0
- package/toast/utils/test-utils.d.mts +1 -8
- package/toast/utils/test-utils.d.ts +1 -8
- package/toast/utils/useToastLabelPart.d.mts +18 -0
- package/toast/utils/useToastLabelPart.d.ts +18 -0
- package/toast/utils/useToastLabelPart.js +52 -0
- package/toast/utils/useToastLabelPart.mjs +47 -0
- package/toast/viewport/ToastViewport.js +42 -78
- package/toast/viewport/ToastViewport.mjs +42 -78
- package/toggle/Toggle.js +1 -2
- package/toggle/Toggle.mjs +1 -2
- package/toggle-group/ToggleGroup.js +4 -19
- package/toggle-group/ToggleGroup.mjs +4 -19
- package/toggle-group/ToggleGroupContext.d.mts +1 -3
- package/toggle-group/ToggleGroupContext.d.ts +1 -3
- package/toggle-group/ToggleGroupContext.js +2 -8
- package/toggle-group/ToggleGroupContext.mjs +2 -7
- package/toolbar/button/ToolbarButton.js +2 -2
- package/toolbar/button/ToolbarButton.mjs +2 -2
- package/toolbar/group/ToolbarGroupContext.d.mts +1 -2
- package/toolbar/group/ToolbarGroupContext.d.ts +1 -2
- package/toolbar/group/ToolbarGroupContext.js +2 -8
- package/toolbar/group/ToolbarGroupContext.mjs +2 -7
- package/toolbar/input/ToolbarInput.js +8 -11
- package/toolbar/input/ToolbarInput.mjs +8 -11
- package/toolbar/link/ToolbarLink.d.mts +1 -1
- package/toolbar/link/ToolbarLink.d.ts +1 -1
- package/toolbar/root/ToolbarRoot.js +4 -5
- package/toolbar/root/ToolbarRoot.mjs +4 -5
- package/toolbar/root/ToolbarRootContext.d.mts +0 -3
- package/toolbar/root/ToolbarRootContext.d.ts +0 -3
- package/toolbar/separator/ToolbarSeparator.d.mts +2 -2
- package/toolbar/separator/ToolbarSeparator.d.ts +2 -2
- package/toolbar/separator/ToolbarSeparator.js +1 -4
- package/toolbar/separator/ToolbarSeparator.mjs +3 -5
- package/tooltip/arrow/TooltipArrow.d.mts +1 -1
- package/tooltip/arrow/TooltipArrow.d.ts +1 -1
- package/tooltip/popup/TooltipPopup.d.mts +1 -1
- package/tooltip/popup/TooltipPopup.d.ts +1 -1
- package/tooltip/popup/TooltipPopup.js +4 -9
- package/tooltip/popup/TooltipPopup.mjs +5 -9
- package/tooltip/popup/TooltipPopupDataAttributes.d.mts +1 -1
- package/tooltip/popup/TooltipPopupDataAttributes.d.ts +1 -1
- package/tooltip/popup/TooltipPopupDataAttributes.js +1 -1
- package/tooltip/popup/TooltipPopupDataAttributes.mjs +1 -1
- package/tooltip/portal/TooltipPortal.d.mts +6 -2
- package/tooltip/portal/TooltipPortal.d.ts +6 -2
- package/tooltip/portal/TooltipPortal.mjs +1 -2
- package/tooltip/positioner/TooltipPositioner.d.mts +1 -1
- package/tooltip/positioner/TooltipPositioner.d.ts +1 -1
- package/tooltip/positioner/TooltipPositioner.js +3 -4
- package/tooltip/positioner/TooltipPositioner.mjs +3 -4
- package/tooltip/positioner/TooltipPositionerContext.d.mts +1 -1
- package/tooltip/positioner/TooltipPositionerContext.d.ts +1 -1
- package/tooltip/positioner/TooltipPositionerCssVars.d.mts +12 -0
- package/tooltip/positioner/TooltipPositionerCssVars.d.ts +12 -0
- package/tooltip/positioner/TooltipPositionerCssVars.js +12 -0
- package/tooltip/positioner/TooltipPositionerCssVars.mjs +12 -0
- package/tooltip/provider/TooltipProvider.d.mts +1 -1
- package/tooltip/provider/TooltipProvider.d.ts +1 -1
- package/tooltip/provider/TooltipProvider.js +1 -5
- package/tooltip/provider/TooltipProvider.mjs +1 -5
- package/tooltip/provider/TooltipProviderContext.d.mts +5 -6
- package/tooltip/provider/TooltipProviderContext.d.ts +5 -6
- package/tooltip/provider/TooltipProviderContext.js +3 -0
- package/tooltip/provider/TooltipProviderContext.mjs +4 -0
- package/tooltip/root/TooltipRoot.js +18 -17
- package/tooltip/root/TooltipRoot.mjs +19 -18
- package/tooltip/store/TooltipHandle.d.mts +15 -12
- package/tooltip/store/TooltipHandle.d.ts +15 -12
- package/tooltip/store/TooltipHandle.js +18 -23
- package/tooltip/store/TooltipHandle.mjs +19 -23
- package/tooltip/store/TooltipStore.d.mts +24 -6
- package/tooltip/store/TooltipStore.d.ts +24 -6
- package/tooltip/store/TooltipStore.js +54 -31
- package/tooltip/store/TooltipStore.mjs +54 -32
- package/tooltip/trigger/TooltipTrigger.d.mts +1 -1
- package/tooltip/trigger/TooltipTrigger.d.ts +1 -1
- package/tooltip/trigger/TooltipTrigger.js +15 -25
- package/tooltip/trigger/TooltipTrigger.mjs +16 -26
- package/tooltip/viewport/TooltipViewport.js +1 -9
- package/tooltip/viewport/TooltipViewport.mjs +2 -9
- package/utils/FloatingPortalLite.d.mts +7 -9
- package/utils/FloatingPortalLite.d.ts +7 -9
- package/utils/FloatingPortalLite.js +4 -4
- package/utils/FloatingPortalLite.mjs +4 -5
- package/utils/FocusGuard.d.mts +1 -5
- package/utils/FocusGuard.d.ts +1 -5
- package/utils/InternalBackdrop.d.mts +0 -4
- package/utils/InternalBackdrop.d.ts +0 -4
- package/utils/NullStore.d.mts +15 -0
- package/utils/NullStore.d.ts +15 -0
- package/utils/NullStore.js +23 -0
- package/utils/NullStore.mjs +16 -0
- package/utils/adaptiveOriginConstants.d.mts +8 -0
- package/utils/adaptiveOriginConstants.d.ts +8 -0
- package/utils/adaptiveOriginConstants.js +14 -0
- package/utils/adaptiveOriginConstants.mjs +8 -0
- package/utils/adaptiveOriginMiddleware.d.mts +0 -4
- package/utils/adaptiveOriginMiddleware.d.ts +0 -4
- package/utils/adaptiveOriginMiddleware.js +5 -8
- package/utils/adaptiveOriginMiddleware.mjs +1 -4
- package/utils/closePart.d.mts +1 -4
- package/utils/closePart.d.ts +1 -4
- package/utils/closePart.js +2 -13
- package/utils/closePart.mjs +1 -12
- package/utils/dispatchClickWithModifiers.d.mts +21 -0
- package/utils/dispatchClickWithModifiers.d.ts +21 -0
- package/utils/dispatchClickWithModifiers.js +30 -0
- package/utils/dispatchClickWithModifiers.mjs +24 -0
- package/utils/formatNumber.d.mts +1 -2
- package/utils/formatNumber.d.ts +1 -2
- package/utils/formatNumber.js +0 -12
- package/utils/formatNumber.mjs +0 -11
- package/utils/getElementAtPoint.d.mts +3 -1
- package/utils/getElementAtPoint.d.ts +3 -1
- package/utils/getElementAtPoint.js +5 -2
- package/utils/getElementAtPoint.mjs +5 -2
- package/utils/getPseudoElementBounds.d.mts +5 -0
- package/utils/getPseudoElementBounds.d.ts +5 -0
- package/utils/getPseudoElementBounds.js +14 -0
- package/utils/getPseudoElementBounds.mjs +13 -0
- package/utils/hideMiddleware.js +7 -4
- package/utils/hideMiddleware.mjs +7 -4
- package/utils/listbox-separator/ListboxSeparator.d.mts +18 -0
- package/utils/listbox-separator/ListboxSeparator.d.ts +18 -0
- package/utils/listbox-separator/ListboxSeparator.js +36 -0
- package/utils/listbox-separator/ListboxSeparator.mjs +31 -0
- package/utils/popupStateMapping.d.mts +19 -7
- package/utils/popupStateMapping.d.ts +19 -7
- package/utils/popupStateMapping.js +14 -9
- package/utils/popupStateMapping.mjs +15 -8
- package/utils/popups/index.d.mts +3 -1
- package/utils/popups/index.d.ts +3 -1
- package/utils/popups/index.js +22 -0
- package/utils/popups/index.mjs +3 -1
- package/utils/popups/popupHandle.d.mts +113 -0
- package/utils/popups/popupHandle.d.ts +113 -0
- package/utils/popups/popupHandle.js +229 -0
- package/utils/popups/popupHandle.mjs +222 -0
- package/utils/popups/popupStoreUtils.d.mts +47 -12
- package/utils/popups/popupStoreUtils.d.ts +47 -12
- package/utils/popups/popupStoreUtils.js +109 -44
- package/utils/popups/popupStoreUtils.mjs +107 -42
- package/utils/popups/popupTriggerMap.d.mts +3 -2
- package/utils/popups/popupTriggerMap.d.ts +3 -2
- package/utils/popups/popupTriggerMap.js +48 -21
- package/utils/popups/popupTriggerMap.mjs +48 -21
- package/utils/popups/store.d.mts +14 -0
- package/utils/popups/store.d.ts +14 -0
- package/utils/popups/store.js +33 -21
- package/utils/popups/store.mjs +33 -21
- package/utils/popups/usePopupHandleStore.d.mts +12 -0
- package/utils/popups/usePopupHandleStore.d.ts +12 -0
- package/utils/popups/usePopupHandleStore.js +33 -0
- package/utils/popups/usePopupHandleStore.mjs +27 -0
- package/utils/scrollable.d.mts +2 -0
- package/utils/scrollable.d.ts +2 -0
- package/utils/scrollable.js +20 -12
- package/utils/scrollable.mjs +18 -12
- package/utils/usePopupAutoResize.d.mts +1 -1
- package/utils/usePopupAutoResize.d.ts +1 -1
- package/utils/usePopupAutoResize.js +15 -18
- package/utils/usePopupAutoResize.mjs +15 -18
- package/utils/usePopupViewport.d.mts +5 -15
- package/utils/usePopupViewport.d.ts +5 -15
- package/utils/usePopupViewport.js +48 -17
- package/utils/usePopupViewport.mjs +47 -17
- package/utils/usePositioner.js +1 -1
- package/utils/usePositioner.mjs +1 -1
- package/utils/useRegisteredLabelId.d.mts +2 -1
- package/utils/useRegisteredLabelId.d.ts +2 -1
- package/utils/useRegisteredLabelId.js +1 -1
- package/utils/useRegisteredLabelId.mjs +1 -1
- package/utils/useSwipeDismiss.js +72 -113
- package/utils/useSwipeDismiss.mjs +72 -113
- package/checkbox/utils/useStateAttributesMapping.js +0 -30
- package/number-field/root/useNumberFieldButton.d.mts +0 -21
- package/number-field/root/useNumberFieldButton.d.ts +0 -21
- package/number-field/root/useNumberFieldButton.js +0 -135
- package/number-field/root/useNumberFieldButton.mjs +0 -130
- package/number-field/utils/subscribeToVisualViewportResize.d.mts +0 -1
- package/number-field/utils/subscribeToVisualViewportResize.d.ts +0 -1
- package/number-field/utils/subscribeToVisualViewportResize.js +0 -23
- package/number-field/utils/subscribeToVisualViewportResize.mjs +0 -18
- package/select/portal/SelectPortalContext.d.mts +0 -3
- package/select/portal/SelectPortalContext.d.ts +0 -3
- package/select/portal/SelectPortalContext.js +0 -21
- package/select/portal/SelectPortalContext.mjs +0 -13
- package/slider/utils/replaceArrayItemAtIndex.d.mts +0 -1
- package/slider/utils/replaceArrayItemAtIndex.d.ts +0 -1
- package/slider/utils/replaceArrayItemAtIndex.js +0 -12
- package/slider/utils/replaceArrayItemAtIndex.mjs +0 -6
- package/slider/utils/valueArrayToPercentages.d.mts +0 -1
- package/slider/utils/valueArrayToPercentages.d.ts +0 -1
- package/slider/utils/valueArrayToPercentages.js +0 -15
- package/slider/utils/valueArrayToPercentages.mjs +0 -9
|
@@ -12,6 +12,7 @@ var _dom = require("@floating-ui/utils/dom");
|
|
|
12
12
|
var _addEventListener = require("@base-ui/utils/addEventListener");
|
|
13
13
|
var _owner = require("@base-ui/utils/owner");
|
|
14
14
|
var _useAnimationFrame = require("@base-ui/utils/useAnimationFrame");
|
|
15
|
+
var _useIsoLayoutEffect = require("@base-ui/utils/useIsoLayoutEffect");
|
|
15
16
|
var _useStableCallback = require("@base-ui/utils/useStableCallback");
|
|
16
17
|
var _DialogRootContext = require("../../dialog/root/DialogRootContext");
|
|
17
18
|
var _DialogViewport = require("../../dialog/viewport/DialogViewport");
|
|
@@ -46,6 +47,8 @@ const MIN_SWIPE_RELEASE_DURATION_MS = 80;
|
|
|
46
47
|
const MAX_SWIPE_RELEASE_DURATION_MS = 360;
|
|
47
48
|
const MIN_SWIPE_RELEASE_SCALAR = 0.1;
|
|
48
49
|
const MAX_SWIPE_RELEASE_SCALAR = 1;
|
|
50
|
+
const AXIS_LOCK_SLOP = 6;
|
|
51
|
+
const AXIS_LOCK_BIAS = 2;
|
|
49
52
|
const DRAWER_CONTENT_SELECTOR = `[${_DrawerContentDataAttributes.DRAWER_CONTENT_ATTRIBUTE}]`;
|
|
50
53
|
/**
|
|
51
54
|
* A positioning container for the drawer popup that can be made scrollable.
|
|
@@ -61,9 +64,7 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
61
64
|
children,
|
|
62
65
|
...elementProps
|
|
63
66
|
} = props;
|
|
64
|
-
const
|
|
65
|
-
store
|
|
66
|
-
} = (0, _DialogRootContext.useDialogRootContext)();
|
|
67
|
+
const store = (0, _DialogRootContext.useDialogRootContext)();
|
|
67
68
|
const popupRef = store.context.popupRef;
|
|
68
69
|
const backdropRef = store.context.backdropRef;
|
|
69
70
|
const {
|
|
@@ -71,9 +72,10 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
71
72
|
notifyParentSwipingChange,
|
|
72
73
|
notifyParentSwipeProgressChange,
|
|
73
74
|
frontmostHeight,
|
|
74
|
-
snapToSequentialPoints
|
|
75
|
+
snapToSequentialPoints,
|
|
76
|
+
swipeAreaActiveRef
|
|
75
77
|
} = (0, _DrawerRootContext.useDrawerRootContext)();
|
|
76
|
-
const providerContext = (0, _DrawerProviderContext.useDrawerProviderContext)(
|
|
78
|
+
const providerContext = (0, _DrawerProviderContext.useDrawerProviderContext)();
|
|
77
79
|
const {
|
|
78
80
|
snapPoints,
|
|
79
81
|
resolvedSnapPoints,
|
|
@@ -105,30 +107,13 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
105
107
|
const touchScrollStateRef = React.useRef(null);
|
|
106
108
|
const virtualKeyboard = (0, _DrawerVirtualKeyboardContext.useDrawerVirtualKeyboardContext)();
|
|
107
109
|
const snapPointRange = React.useMemo(() => {
|
|
108
|
-
if (!snapPoints || snapPoints.length < 2) {
|
|
109
|
-
return null;
|
|
110
|
-
}
|
|
111
|
-
if (swipeDirection !== 'down' && swipeDirection !== 'up') {
|
|
112
|
-
return null;
|
|
113
|
-
}
|
|
114
|
-
if (resolvedSnapPoints.length < 2) {
|
|
115
|
-
return null;
|
|
116
|
-
}
|
|
117
|
-
const offsets = resolvedSnapPoints.map(point => point.offset).filter(offset => Number.isFinite(offset)).sort((a, b) => a - b);
|
|
118
|
-
if (offsets.length < 2) {
|
|
110
|
+
if (!snapPoints || snapPoints.length < 2 || resolvedSnapPoints.length < 2 || swipeDirection !== 'down' && swipeDirection !== 'up') {
|
|
119
111
|
return null;
|
|
120
112
|
}
|
|
113
|
+
const offsets = resolvedSnapPoints.map(point => point.offset).sort((a, b) => a - b);
|
|
121
114
|
const minOffset = offsets[0];
|
|
122
115
|
const nextOffset = offsets[1];
|
|
123
|
-
const
|
|
124
|
-
let range = nextOffset - minOffset;
|
|
125
|
-
if (!Number.isFinite(range) || range <= 0) {
|
|
126
|
-
const fallbackRange = maxOffset - minOffset;
|
|
127
|
-
if (!Number.isFinite(fallbackRange) || fallbackRange <= 0) {
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
range = fallbackRange;
|
|
131
|
-
}
|
|
116
|
+
const range = nextOffset - minOffset;
|
|
132
117
|
return {
|
|
133
118
|
minOffset,
|
|
134
119
|
range
|
|
@@ -147,7 +132,8 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
147
132
|
return [swipeDirection];
|
|
148
133
|
}, [snapPoints, swipeDirection]);
|
|
149
134
|
const setSwipeDismissed = (0, _useStableCallback.useStableCallback)(dismissed => {
|
|
150
|
-
|
|
135
|
+
popupRef.current?.toggleAttribute(_DrawerPopupDataAttributes.DrawerPopupDataAttributes.swipeDismiss, dismissed);
|
|
136
|
+
backdropRef.current?.toggleAttribute(_DrawerPopupDataAttributes.DrawerPopupDataAttributes.swipeDismiss, dismissed);
|
|
151
137
|
});
|
|
152
138
|
const clearSwipeRelease = (0, _useStableCallback.useStableCallback)(() => {
|
|
153
139
|
setSwipeDismissed(false);
|
|
@@ -161,11 +147,7 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
161
147
|
nestedSwipeActiveRef.current = false;
|
|
162
148
|
notifyParentSwipingChange?.(false);
|
|
163
149
|
});
|
|
164
|
-
const applySwipeProgress = (0, _useStableCallback.useStableCallback)(({
|
|
165
|
-
resolvedProgress,
|
|
166
|
-
shouldTrackProgress,
|
|
167
|
-
notifyParent
|
|
168
|
-
}) => {
|
|
150
|
+
const applySwipeProgress = (0, _useStableCallback.useStableCallback)((resolvedProgress, shouldTrackProgress, notifyParent) => {
|
|
169
151
|
const isActive = open && !nested && shouldTrackProgress;
|
|
170
152
|
const swipeProgress = isActive ? resolvedProgress : 0;
|
|
171
153
|
const nestedSwipeProgress = open && shouldTrackProgress ? resolvedProgress : 0;
|
|
@@ -183,78 +165,48 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
183
165
|
if (!backdropElement) {
|
|
184
166
|
return;
|
|
185
167
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
backdropElement.style.setProperty(_DrawerBackdropCssVars.DrawerBackdropCssVars.swipeProgress, `${swipeProgress}`);
|
|
192
|
-
if (frontmostHeight > 0) {
|
|
168
|
+
const showProgress = isActive && swipeProgress > 0;
|
|
169
|
+
backdropElement.style.setProperty(_DrawerBackdropCssVars.DrawerBackdropCssVars.swipeProgress, showProgress ? `${swipeProgress}` : '0');
|
|
170
|
+
if (showProgress && frontmostHeight > 0) {
|
|
193
171
|
backdropElement.style.setProperty(_DrawerPopupCssVars.DrawerPopupCssVars.height, `${frontmostHeight}px`);
|
|
194
172
|
} else {
|
|
195
173
|
backdropElement.style.removeProperty(_DrawerPopupCssVars.DrawerPopupCssVars.height);
|
|
196
174
|
}
|
|
197
175
|
});
|
|
198
|
-
function resolveSwipeRelease({
|
|
199
|
-
direction
|
|
200
|
-
|
|
201
|
-
deltaY,
|
|
202
|
-
velocityX,
|
|
203
|
-
velocityY,
|
|
204
|
-
releaseVelocityX,
|
|
205
|
-
releaseVelocityY
|
|
206
|
-
}) {
|
|
207
|
-
if (!direction) {
|
|
176
|
+
function resolveSwipeRelease(popupElement, direction, deltaX, deltaY, velocityX, velocityY, releaseVelocityX, releaseVelocityY) {
|
|
177
|
+
const size = getBaseSwipeSize(popupElement, direction);
|
|
178
|
+
if (size <= 0) {
|
|
208
179
|
return null;
|
|
209
180
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
const
|
|
215
|
-
if (!Number.isFinite(size) || size <= 0) {
|
|
216
|
-
return null;
|
|
217
|
-
}
|
|
218
|
-
const axisDelta = direction === 'left' || direction === 'right' ? deltaX : deltaY;
|
|
219
|
-
const snapPointBaseOffset = snapPoints && snapPoints.length > 0 ? activeSnapPointOffset ?? 0 : 0;
|
|
220
|
-
let baseOffset = 0;
|
|
221
|
-
if (direction === 'down') {
|
|
222
|
-
baseOffset = snapPointBaseOffset;
|
|
223
|
-
} else if (direction === 'up') {
|
|
224
|
-
baseOffset = -snapPointBaseOffset;
|
|
225
|
-
}
|
|
226
|
-
const translation = baseOffset + axisDelta;
|
|
227
|
-
const translationAlongDirection = direction === 'left' || direction === 'up' ? -translation : translation;
|
|
181
|
+
|
|
182
|
+
// The snap point base offset shifts the popup along the dismiss direction for both
|
|
183
|
+
// `down` (+offset) and `up` (-offset), so it always adds to the directional translation.
|
|
184
|
+
const snapPointBaseOffset = (direction === 'down' || direction === 'up') && snapPoints && snapPoints.length > 0 ? activeSnapPointOffset ?? 0 : 0;
|
|
185
|
+
const translationAlongDirection = snapPointBaseOffset + (0, _useSwipeDismiss.getDisplacement)(direction, deltaX, deltaY);
|
|
228
186
|
const remainingDistance = Math.max(0, size - translationAlongDirection);
|
|
229
|
-
if (
|
|
187
|
+
if (remainingDistance <= 0) {
|
|
230
188
|
return null;
|
|
231
189
|
}
|
|
232
|
-
const
|
|
233
|
-
const
|
|
234
|
-
|
|
235
|
-
const directionalVelocity = direction === 'left' || direction === 'up' ? -resolvedVelocity : resolvedVelocity;
|
|
236
|
-
if (!Number.isFinite(directionalVelocity) || directionalVelocity <= MIN_SWIPE_RELEASE_VELOCITY) {
|
|
190
|
+
const releaseVelocity = (0, _useSwipeDismiss.getDisplacement)(direction, releaseVelocityX, releaseVelocityY);
|
|
191
|
+
const directionalVelocity = Math.abs(releaseVelocity) > 0 ? releaseVelocity : (0, _useSwipeDismiss.getDisplacement)(direction, velocityX, velocityY);
|
|
192
|
+
if (directionalVelocity <= MIN_SWIPE_RELEASE_VELOCITY) {
|
|
237
193
|
return null;
|
|
238
194
|
}
|
|
239
195
|
const clampedVelocity = (0, _clamp.clamp)(directionalVelocity, MIN_SWIPE_RELEASE_VELOCITY, MAX_SWIPE_RELEASE_VELOCITY);
|
|
196
|
+
// The gesture hook supplies finite deltas and velocities. The guards above keep the remaining
|
|
197
|
+
// distance and divisor positive, so the duration stays within [MIN, MAX] and the resulting
|
|
198
|
+
// scalar within (0, 1].
|
|
240
199
|
const durationMs = (0, _clamp.clamp)(remainingDistance / clampedVelocity, MIN_SWIPE_RELEASE_DURATION_MS, MAX_SWIPE_RELEASE_DURATION_MS);
|
|
241
|
-
if (!Number.isFinite(durationMs)) {
|
|
242
|
-
return null;
|
|
243
|
-
}
|
|
244
200
|
const normalizedDuration = (durationMs - MIN_SWIPE_RELEASE_DURATION_MS) / (MAX_SWIPE_RELEASE_DURATION_MS - MIN_SWIPE_RELEASE_DURATION_MS);
|
|
245
|
-
|
|
246
|
-
if (!Number.isFinite(durationScalar) || durationScalar <= 0) {
|
|
247
|
-
return null;
|
|
248
|
-
}
|
|
249
|
-
return durationScalar;
|
|
201
|
+
return MIN_SWIPE_RELEASE_SCALAR + normalizedDuration * (MAX_SWIPE_RELEASE_SCALAR - MIN_SWIPE_RELEASE_SCALAR);
|
|
250
202
|
}
|
|
251
203
|
function updateNestedSwipeActive(details) {
|
|
252
204
|
if (nestedSwipeActiveRef.current || !details) {
|
|
253
205
|
return;
|
|
254
206
|
}
|
|
255
207
|
const direction = details.direction ?? swipeDirection;
|
|
256
|
-
const delta =
|
|
257
|
-
if (
|
|
208
|
+
const delta = (0, _useSwipeDismiss.getDisplacement)(direction, details.deltaX, details.deltaY);
|
|
209
|
+
if (Math.abs(delta) < MIN_SWIPE_THRESHOLD) {
|
|
258
210
|
return;
|
|
259
211
|
}
|
|
260
212
|
nestedSwipeActiveRef.current = true;
|
|
@@ -271,13 +223,10 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
271
223
|
y: _DrawerPopupCssVars.DrawerPopupCssVars.swipeMovementY
|
|
272
224
|
},
|
|
273
225
|
onSwipeStart(event) {
|
|
274
|
-
if ('touches' in event ||
|
|
226
|
+
if ('touches' in event || event.pointerType === 'touch') {
|
|
275
227
|
return;
|
|
276
228
|
}
|
|
277
229
|
const popupElement = popupRef.current;
|
|
278
|
-
if (!popupElement) {
|
|
279
|
-
return;
|
|
280
|
-
}
|
|
281
230
|
const doc = (0, _owner.ownerDocument)(popupElement);
|
|
282
231
|
const selection = doc.getSelection?.();
|
|
283
232
|
if (!selection || selection.isCollapsed) {
|
|
@@ -309,54 +258,38 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
309
258
|
return false;
|
|
310
259
|
}
|
|
311
260
|
const doc = popupElement.ownerDocument;
|
|
312
|
-
const elementAtPoint = (0, _getElementAtPoint.getElementAtPoint)(
|
|
261
|
+
const elementAtPoint = (0, _getElementAtPoint.getElementAtPoint)(popupElement.getRootNode(), position.x, position.y);
|
|
313
262
|
if (!elementAtPoint || !(0, _utils.contains)(popupElement, elementAtPoint)) {
|
|
314
263
|
return false;
|
|
315
264
|
}
|
|
316
265
|
const nativeEvent = details.nativeEvent;
|
|
317
|
-
const touchLike = 'touches' in nativeEvent ||
|
|
266
|
+
const touchLike = 'touches' in nativeEvent || nativeEvent.pointerType === 'touch';
|
|
318
267
|
if (touchLike && shouldIgnoreSwipeForTextSelection(doc, popupElement)) {
|
|
319
268
|
return false;
|
|
320
269
|
}
|
|
321
|
-
if (nativeEvent.type === 'touchstart' && isSwipeIgnoredTarget(elementAtPoint)) {
|
|
322
|
-
return false;
|
|
323
|
-
}
|
|
324
270
|
return true;
|
|
325
271
|
},
|
|
326
272
|
onProgress(progress, details) {
|
|
327
273
|
updateNestedSwipeActive(details);
|
|
328
274
|
const hasSnapPoints = Boolean(snapPoints && snapPoints.length > 0);
|
|
329
|
-
if (swipingRef.current && swipeDirection === 'down' && hasSnapPoints && details
|
|
275
|
+
if (swipingRef.current && swipeDirection === 'down' && hasSnapPoints && details) {
|
|
330
276
|
const popupElement = store.context.popupRef.current;
|
|
331
277
|
if (popupElement) {
|
|
332
278
|
popupElement.style.removeProperty('transform');
|
|
333
279
|
popupElement.style.setProperty(_DrawerPopupCssVars.DrawerPopupCssVars.swipeMovementY, `${(0, _useDrawerSnapPoints.getSnapPointSwipeMovement)(activeSnapPointOffset ?? 0, details.deltaY)}px`);
|
|
334
280
|
}
|
|
335
281
|
}
|
|
336
|
-
const currentDirection = details?.direction ?? swipe.swipeDirection;
|
|
337
|
-
const isDismissSwipe = currentDirection === undefined || currentDirection === swipeDirection;
|
|
338
|
-
const isVerticalSwipe = swipeDirection === 'down' || swipeDirection === 'up';
|
|
339
|
-
const shouldTrackProgress = hasSnapPoints && isVerticalSwipe || !hasSnapPoints || swipeDirection === 'left' || swipeDirection === 'right' || isDismissSwipe;
|
|
340
282
|
let resolvedProgress = progress;
|
|
341
283
|
if (snapPointRange && popupHeight > 0) {
|
|
284
|
+
const baseOffset = activeSnapPointOffset ?? snapPointRange.minOffset;
|
|
285
|
+
const offsetToProgress = nextOffset => (0, _clamp.clamp)((nextOffset - snapPointRange.minOffset) / snapPointRange.range, 0, 1);
|
|
342
286
|
if (details && Number.isFinite(details.deltaY)) {
|
|
343
|
-
|
|
344
|
-
const nextOffset = (0, _clamp.clamp)(baseOffset + details.deltaY, 0, popupHeight);
|
|
345
|
-
resolvedProgress = (0, _clamp.clamp)((nextOffset - snapPointRange.minOffset) / snapPointRange.range, 0, 1);
|
|
287
|
+
resolvedProgress = offsetToProgress((0, _clamp.clamp)(baseOffset + details.deltaY, 0, popupHeight));
|
|
346
288
|
} else if (snapPointProgress !== null) {
|
|
347
289
|
resolvedProgress = snapPointProgress;
|
|
348
|
-
} else if (currentDirection === 'down' || currentDirection === 'up') {
|
|
349
|
-
const displacement = progress * popupHeight;
|
|
350
|
-
const baseOffset = activeSnapPointOffset ?? snapPointRange.minOffset;
|
|
351
|
-
const nextOffset = currentDirection === 'down' ? baseOffset + displacement : baseOffset - displacement;
|
|
352
|
-
resolvedProgress = (0, _clamp.clamp)((nextOffset - snapPointRange.minOffset) / snapPointRange.range, 0, 1);
|
|
353
290
|
}
|
|
354
291
|
}
|
|
355
|
-
applySwipeProgress(
|
|
356
|
-
resolvedProgress,
|
|
357
|
-
shouldTrackProgress,
|
|
358
|
-
notifyParent: true
|
|
359
|
-
});
|
|
292
|
+
applySwipeProgress(resolvedProgress, true, true);
|
|
360
293
|
},
|
|
361
294
|
onRelease({
|
|
362
295
|
event,
|
|
@@ -368,30 +301,21 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
368
301
|
releaseVelocityX,
|
|
369
302
|
releaseVelocityY
|
|
370
303
|
}) {
|
|
371
|
-
const
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
releaseVelocityY
|
|
378
|
-
};
|
|
304
|
+
const popupElement = store.context.popupRef.current;
|
|
305
|
+
if (!popupElement) {
|
|
306
|
+
clearSwipeRelease();
|
|
307
|
+
return undefined;
|
|
308
|
+
}
|
|
309
|
+
const releasePopupElement = popupElement;
|
|
379
310
|
function startSwipeRelease(resolvedDirection) {
|
|
380
311
|
// Start ending transition styles earlier and synchronously to prevent a period where
|
|
381
312
|
// the popup appears stuck on release before the actual closing animation starts.
|
|
382
|
-
const popupElement = store.context.popupRef.current;
|
|
383
|
-
if (!popupElement) {
|
|
384
|
-
return;
|
|
385
|
-
}
|
|
386
313
|
finishNestedSwipe();
|
|
387
314
|
setSwipeDismissed(true);
|
|
388
|
-
|
|
389
|
-
|
|
315
|
+
releasePopupElement.style.removeProperty('transition');
|
|
316
|
+
releasePopupElement.setAttribute(_stateAttributesMapping.TransitionStatusDataAttributes.endingStyle, '');
|
|
390
317
|
ReactDOM.flushSync(() => {
|
|
391
|
-
setSwipeRelease(resolveSwipeRelease(
|
|
392
|
-
direction: resolvedDirection,
|
|
393
|
-
...swipeReleasePayload
|
|
394
|
-
}));
|
|
318
|
+
setSwipeRelease(resolveSwipeRelease(releasePopupElement, resolvedDirection, deltaX, deltaY, velocityX, velocityY, releaseVelocityX, releaseVelocityY));
|
|
395
319
|
});
|
|
396
320
|
}
|
|
397
321
|
if (!snapPoints || snapPoints.length === 0) {
|
|
@@ -399,29 +323,16 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
399
323
|
clearSwipeRelease();
|
|
400
324
|
return undefined;
|
|
401
325
|
}
|
|
402
|
-
const
|
|
403
|
-
if (!element) {
|
|
404
|
-
clearSwipeRelease();
|
|
405
|
-
return undefined;
|
|
406
|
-
}
|
|
407
|
-
const baseThreshold = getBaseSwipeThreshold(element, direction);
|
|
408
|
-
const delta = direction === 'left' || direction === 'right' ? deltaX : deltaY;
|
|
409
|
-
if (!Number.isFinite(delta)) {
|
|
410
|
-
clearSwipeRelease();
|
|
411
|
-
return undefined;
|
|
412
|
-
}
|
|
413
|
-
const directionalDelta = direction === 'left' || direction === 'up' ? -delta : delta;
|
|
326
|
+
const directionalDelta = (0, _useSwipeDismiss.getDisplacement)(direction, deltaX, deltaY);
|
|
414
327
|
if (directionalDelta <= 0) {
|
|
415
328
|
clearSwipeRelease();
|
|
416
329
|
return false;
|
|
417
330
|
}
|
|
418
|
-
|
|
419
|
-
const directionalVelocity = direction === 'left' || direction === 'up' ? -velocity : velocity;
|
|
420
|
-
if (directionalVelocity >= FAST_SWIPE_VELOCITY && directionalDelta > 0) {
|
|
331
|
+
if ((0, _useSwipeDismiss.getDisplacement)(direction, velocityX, velocityY) >= FAST_SWIPE_VELOCITY) {
|
|
421
332
|
startSwipeRelease(direction);
|
|
422
333
|
return true;
|
|
423
334
|
}
|
|
424
|
-
const shouldClose = directionalDelta >
|
|
335
|
+
const shouldClose = directionalDelta > getBaseSwipeThreshold(releasePopupElement, direction);
|
|
425
336
|
if (shouldClose) {
|
|
426
337
|
startSwipeRelease(direction);
|
|
427
338
|
} else {
|
|
@@ -433,20 +344,20 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
433
344
|
clearSwipeRelease();
|
|
434
345
|
return undefined;
|
|
435
346
|
}
|
|
436
|
-
if (!popupHeight
|
|
347
|
+
if (!popupHeight) {
|
|
437
348
|
clearSwipeRelease();
|
|
438
|
-
return
|
|
349
|
+
return false;
|
|
439
350
|
}
|
|
440
|
-
|
|
441
|
-
if (!Number.isFinite(dragDelta)) {
|
|
351
|
+
if (resolvedSnapPoints.length === 0) {
|
|
442
352
|
clearSwipeRelease();
|
|
443
353
|
return undefined;
|
|
444
354
|
}
|
|
355
|
+
const dragDelta = swipeDirection === 'down' ? deltaY : -deltaY;
|
|
445
356
|
const dragDirection = Math.sign(dragDelta);
|
|
446
357
|
const releaseDirectionalVelocity = swipeDirection === 'down' ? releaseVelocityY : -releaseVelocityY;
|
|
447
358
|
const fallbackDirectionalVelocity = swipeDirection === 'down' ? velocityY : -velocityY;
|
|
448
|
-
let resolvedDirectionalVelocity =
|
|
449
|
-
if (dragDirection !== 0 && Math.abs(dragDelta) >= MIN_SWIPE_THRESHOLD
|
|
359
|
+
let resolvedDirectionalVelocity = releaseDirectionalVelocity;
|
|
360
|
+
if (dragDirection !== 0 && Math.abs(dragDelta) >= MIN_SWIPE_THRESHOLD) {
|
|
450
361
|
const velocityDirection = Math.sign(resolvedDirectionalVelocity);
|
|
451
362
|
if (velocityDirection !== 0 && velocityDirection !== dragDirection) {
|
|
452
363
|
// Ignore touch reversals that would otherwise flip the snap decision.
|
|
@@ -455,39 +366,20 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
455
366
|
}
|
|
456
367
|
const currentOffset = activeSnapPointOffset ?? 0;
|
|
457
368
|
const dragTargetOffset = (0, _clamp.clamp)(currentOffset + dragDelta, 0, popupHeight);
|
|
458
|
-
const velocityOffset =
|
|
369
|
+
const velocityOffset = Math.abs(resolvedDirectionalVelocity) >= SNAP_VELOCITY_THRESHOLD ? (0, _clamp.clamp)(resolvedDirectionalVelocity, -MAX_SNAP_VELOCITY, MAX_SNAP_VELOCITY) * SNAP_VELOCITY_MULTIPLIER : 0;
|
|
459
370
|
const targetOffset = snapToSequentialPoints ? dragTargetOffset : (0, _clamp.clamp)(dragTargetOffset + velocityOffset, 0, popupHeight);
|
|
460
371
|
const snapPointEventDetails = (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.swipe, event);
|
|
461
372
|
const closeFromSnapPoints = () => {
|
|
462
373
|
pendingSwipeCloseSnapPointRef.current = activeSnapPoint;
|
|
463
|
-
setActiveSnapPoint
|
|
374
|
+
setActiveSnapPoint(null, snapPointEventDetails);
|
|
464
375
|
startSwipeRelease(swipeDirection);
|
|
465
376
|
return true;
|
|
466
377
|
};
|
|
467
378
|
if (snapToSequentialPoints) {
|
|
468
379
|
const orderedSnapPoints = [...resolvedSnapPoints].sort((first, second) => first.offset - second.offset);
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
}
|
|
473
|
-
let currentIndex = 0;
|
|
474
|
-
let closestDistance = Math.abs(currentOffset - orderedSnapPoints[0].offset);
|
|
475
|
-
for (let index = 1; index < orderedSnapPoints.length; index += 1) {
|
|
476
|
-
const distance = Math.abs(currentOffset - orderedSnapPoints[index].offset);
|
|
477
|
-
if (distance < closestDistance) {
|
|
478
|
-
closestDistance = distance;
|
|
479
|
-
currentIndex = index;
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
let targetSnapPoint = orderedSnapPoints[0];
|
|
483
|
-
closestDistance = Math.abs(targetOffset - targetSnapPoint.offset);
|
|
484
|
-
for (const snapPoint of orderedSnapPoints) {
|
|
485
|
-
const distance = Math.abs(targetOffset - snapPoint.offset);
|
|
486
|
-
if (distance < closestDistance) {
|
|
487
|
-
closestDistance = distance;
|
|
488
|
-
targetSnapPoint = snapPoint;
|
|
489
|
-
}
|
|
490
|
-
}
|
|
380
|
+
const orderedOffsets = orderedSnapPoints.map(point => point.offset);
|
|
381
|
+
const currentIndex = (0, _useDrawerSnapPoints.closestSnapPointIndex)(orderedOffsets, currentOffset);
|
|
382
|
+
let targetSnapPoint = orderedSnapPoints[(0, _useDrawerSnapPoints.closestSnapPointIndex)(orderedOffsets, targetOffset)];
|
|
491
383
|
const velocityDirection = Math.sign(resolvedDirectionalVelocity);
|
|
492
384
|
const shouldAdvance = dragDirection !== 0 && velocityDirection !== 0 && velocityDirection === dragDirection && Math.abs(resolvedDirectionalVelocity) >= SNAP_VELOCITY_THRESHOLD;
|
|
493
385
|
let effectiveTargetOffset = targetOffset;
|
|
@@ -504,34 +396,24 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
504
396
|
return closeFromSnapPoints();
|
|
505
397
|
}
|
|
506
398
|
}
|
|
507
|
-
const
|
|
508
|
-
const closeDistance = Math.abs(effectiveTargetOffset - closeOffset);
|
|
399
|
+
const closeDistance = Math.abs(effectiveTargetOffset - popupHeight);
|
|
509
400
|
const snapDistance = Math.abs(effectiveTargetOffset - targetSnapPoint.offset);
|
|
510
401
|
if (closeDistance < snapDistance) {
|
|
511
402
|
return closeFromSnapPoints();
|
|
512
403
|
}
|
|
513
|
-
setActiveSnapPoint
|
|
404
|
+
setActiveSnapPoint(targetSnapPoint.value, snapPointEventDetails);
|
|
514
405
|
clearSwipeRelease();
|
|
515
406
|
return false;
|
|
516
407
|
}
|
|
517
408
|
if (resolvedDirectionalVelocity >= FAST_SWIPE_VELOCITY && dragDelta > 0) {
|
|
518
409
|
return closeFromSnapPoints();
|
|
519
410
|
}
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
const distance = Math.abs(targetOffset - snapPoint.offset);
|
|
524
|
-
if (distance < closestDistance) {
|
|
525
|
-
closestDistance = distance;
|
|
526
|
-
closestSnapPoint = snapPoint;
|
|
527
|
-
}
|
|
528
|
-
}
|
|
529
|
-
const closeOffset = popupHeight;
|
|
530
|
-
const closeDistance = Math.abs(targetOffset - closeOffset);
|
|
531
|
-
if (closeDistance < closestDistance) {
|
|
411
|
+
const closestSnapPoint = resolvedSnapPoints[(0, _useDrawerSnapPoints.closestSnapPointIndex)(resolvedSnapPoints.map(point => point.offset), targetOffset)];
|
|
412
|
+
const closeDistance = Math.abs(targetOffset - popupHeight);
|
|
413
|
+
if (closeDistance < Math.abs(targetOffset - closestSnapPoint.offset)) {
|
|
532
414
|
return closeFromSnapPoints();
|
|
533
415
|
}
|
|
534
|
-
setActiveSnapPoint
|
|
416
|
+
setActiveSnapPoint(closestSnapPoint.value, snapPointEventDetails);
|
|
535
417
|
clearSwipeRelease();
|
|
536
418
|
return false;
|
|
537
419
|
},
|
|
@@ -550,7 +432,7 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
550
432
|
if (dismissEventDetails.isCanceled) {
|
|
551
433
|
const pendingSnapPoint = pendingSwipeCloseSnapPointRef.current;
|
|
552
434
|
if (pendingSnapPoint !== undefined) {
|
|
553
|
-
setActiveSnapPoint
|
|
435
|
+
setActiveSnapPoint(pendingSnapPoint, (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.swipe, event));
|
|
554
436
|
}
|
|
555
437
|
pendingSwipeCloseSnapPointRef.current = undefined;
|
|
556
438
|
resetSwipeRef.current?.();
|
|
@@ -572,7 +454,7 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
572
454
|
// Parent rejected: revert animation and restore snap point.
|
|
573
455
|
const pendingSnapPoint = pendingSwipeCloseSnapPointRef.current;
|
|
574
456
|
if (pendingSnapPoint !== undefined) {
|
|
575
|
-
setActiveSnapPoint
|
|
457
|
+
setActiveSnapPoint(pendingSnapPoint, (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.swipe, savedEvent));
|
|
576
458
|
}
|
|
577
459
|
pendingSwipeCloseSnapPointRef.current = undefined;
|
|
578
460
|
clearSwipeRelease();
|
|
@@ -602,42 +484,18 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
602
484
|
}
|
|
603
485
|
const resolvedRootElement = rootElement;
|
|
604
486
|
const doc = (0, _owner.ownerDocument)(resolvedRootElement);
|
|
605
|
-
|
|
606
|
-
function handleNativeTouchMove(event) {
|
|
607
|
-
// The virtual keyboard provider observes the move to tell a tap apart from a drag.
|
|
608
|
-
// It must run even when the swipe gesture below claims the event with
|
|
609
|
-
// `stopPropagation()`, which would otherwise prevent React's delegated handlers
|
|
610
|
-
// (and the provider) from ever seeing the move.
|
|
611
|
-
virtualKeyboard?.onTouchMove(event);
|
|
612
|
-
if (ignoreTouchSwipeRef.current) {
|
|
613
|
-
return;
|
|
614
|
-
}
|
|
615
|
-
const touchState = touchScrollStateRef.current;
|
|
616
|
-
const touch = event.touches[0];
|
|
617
|
-
if (!touch || !touchState) {
|
|
618
|
-
return;
|
|
619
|
-
}
|
|
487
|
+
function processTouchMove(event, touchState, touch) {
|
|
620
488
|
const drawerAxisDelta = isVerticalScrollAxis ? touch.clientY - touchState.lastY : touch.clientX - touchState.lastX;
|
|
621
489
|
|
|
622
|
-
// Preserve native range interaction by never locking touchmove for range inputs.
|
|
623
|
-
if (isEventOnRangeInput(event, win)) {
|
|
624
|
-
touchState.allowSwipe = false;
|
|
625
|
-
updateTouchScrollPosition(touchState, touch);
|
|
626
|
-
return;
|
|
627
|
-
}
|
|
628
|
-
|
|
629
490
|
// Avoid blocking pinch zoom or text selection adjustments on iOS Safari.
|
|
630
491
|
if (event.touches.length === 2) {
|
|
631
|
-
updateTouchScrollPosition(touchState, touch);
|
|
632
492
|
return;
|
|
633
493
|
}
|
|
634
494
|
const allowTouchMove = shouldIgnoreSwipeForTextSelection(doc, resolvedRootElement);
|
|
635
495
|
if (allowTouchMove || !open || !mounted || nestedDrawerOpen) {
|
|
636
|
-
updateTouchScrollPosition(touchState, touch);
|
|
637
496
|
return;
|
|
638
497
|
}
|
|
639
|
-
if (
|
|
640
|
-
updateTouchScrollPosition(touchState, touch);
|
|
498
|
+
if (shouldYieldTouchMove(touchState, event, touch, isVerticalScrollAxis)) {
|
|
641
499
|
return;
|
|
642
500
|
}
|
|
643
501
|
const scrollTarget = touchState.scrollTarget;
|
|
@@ -649,27 +507,21 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
649
507
|
// move through React re-rasterizes the popup content on every frame.
|
|
650
508
|
event.stopPropagation();
|
|
651
509
|
moveSwipeNative(event, resolvedRootElement);
|
|
652
|
-
updateTouchScrollPosition(touchState, touch);
|
|
653
510
|
return;
|
|
654
511
|
}
|
|
655
|
-
|
|
656
|
-
if (!hasScrollableContent) {
|
|
512
|
+
if (!hasScrollableContentOnAxis(scrollTarget, scrollAxis)) {
|
|
657
513
|
// If the scroll container doesn't overflow on the drawer axis, prevent the window from
|
|
658
514
|
// scrolling instead.
|
|
659
515
|
if (event.cancelable) {
|
|
660
516
|
event.preventDefault();
|
|
661
517
|
}
|
|
662
518
|
event.stopPropagation();
|
|
663
|
-
updateTouchScrollPosition(touchState, touch);
|
|
664
519
|
return;
|
|
665
520
|
}
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
const canSwipeFromScrollEdge = canSwipeFromScrollEdgeOnMove(scrollTarget, scrollAxis, swipeDirection, delta);
|
|
521
|
+
if (drawerAxisDelta !== 0) {
|
|
522
|
+
const canSwipeFromScrollEdge = canSwipeFromScrollEdgeOnMove(scrollTarget, scrollAxis, swipeDirection, drawerAxisDelta);
|
|
669
523
|
if (!touchState.allowSwipe) {
|
|
670
|
-
if (
|
|
671
|
-
touchState.allowSwipe = false;
|
|
672
|
-
} else if (canSwipeFromScrollEdge) {
|
|
524
|
+
if (event.cancelable && canSwipeFromScrollEdge) {
|
|
673
525
|
touchState.allowSwipe = true;
|
|
674
526
|
event.preventDefault();
|
|
675
527
|
} else {
|
|
@@ -683,6 +535,22 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
683
535
|
event.stopPropagation();
|
|
684
536
|
moveSwipeNative(event, resolvedRootElement);
|
|
685
537
|
}
|
|
538
|
+
}
|
|
539
|
+
function handleNativeTouchMove(event) {
|
|
540
|
+
// The virtual keyboard provider observes the move to tell a tap apart from a drag.
|
|
541
|
+
// It must run even when the swipe gesture below claims the event with
|
|
542
|
+
// `stopPropagation()`, which would otherwise prevent React's delegated handlers
|
|
543
|
+
// (and the provider) from ever seeing the move.
|
|
544
|
+
virtualKeyboard?.onTouchMove(event);
|
|
545
|
+
if (ignoreTouchSwipeRef.current) {
|
|
546
|
+
return;
|
|
547
|
+
}
|
|
548
|
+
const touchState = touchScrollStateRef.current;
|
|
549
|
+
const touch = event.touches[0];
|
|
550
|
+
if (!touch || !touchState) {
|
|
551
|
+
return;
|
|
552
|
+
}
|
|
553
|
+
processTouchMove(event, touchState, touch);
|
|
686
554
|
updateTouchScrollPosition(touchState, touch);
|
|
687
555
|
}
|
|
688
556
|
return (0, _addEventListener.addEventListener)(doc, 'touchmove', handleNativeTouchMove, {
|
|
@@ -690,18 +558,13 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
690
558
|
capture: true
|
|
691
559
|
});
|
|
692
560
|
}, [mounted, nestedDrawerOpen, open, popupElementState, isVerticalScrollAxis, scrollAxis, swipeDirection, moveSwipeNative, viewportElement, virtualKeyboard]);
|
|
693
|
-
|
|
561
|
+
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
694
562
|
if (!snapPointRange || swipe.swiping) {
|
|
695
563
|
return;
|
|
696
564
|
}
|
|
697
|
-
|
|
698
|
-
applySwipeProgress({
|
|
699
|
-
resolvedProgress,
|
|
700
|
-
shouldTrackProgress: true,
|
|
701
|
-
notifyParent: false
|
|
702
|
-
});
|
|
565
|
+
applySwipeProgress(!open || nested ? 0 : snapPointProgress ?? 0, true, false);
|
|
703
566
|
}, [applySwipeProgress, frontmostHeight, nested, notifyParentSwipeProgressChange, open, snapPointProgress, snapPointRange, swipe.swiping, store, visualStateStore]);
|
|
704
|
-
|
|
567
|
+
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
705
568
|
if (!notifyParentSwipeProgressChange) {
|
|
706
569
|
return undefined;
|
|
707
570
|
}
|
|
@@ -712,13 +575,19 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
712
575
|
notifyParentSwipeProgressChange(0);
|
|
713
576
|
};
|
|
714
577
|
}, [notifyParentSwipeProgressChange, open]);
|
|
715
|
-
|
|
578
|
+
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
716
579
|
if (open) {
|
|
717
|
-
resetSwipe
|
|
580
|
+
// Skip `resetSwipe` while `Drawer.SwipeArea` is driving the open: it zeroes the popup's
|
|
581
|
+
// `--swipe-movement-*` (via `syncDragStyles(false)`), flashing it fully open for a frame.
|
|
582
|
+
// `clearSwipeRelease` doesn't touch those vars, so always run it to clear any leftover
|
|
583
|
+
// release state from a prior dismiss (e.g. when the popup is kept mounted).
|
|
584
|
+
if (!swipeAreaActiveRef.current) {
|
|
585
|
+
resetSwipe();
|
|
586
|
+
}
|
|
718
587
|
clearSwipeRelease();
|
|
719
588
|
}
|
|
720
|
-
}, [clearSwipeRelease, open, resetSwipe]);
|
|
721
|
-
|
|
589
|
+
}, [clearSwipeRelease, open, resetSwipe, swipeAreaActiveRef]);
|
|
590
|
+
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
722
591
|
const backdropElement = backdropRef.current;
|
|
723
592
|
return () => {
|
|
724
593
|
visualStateStore?.set({
|
|
@@ -743,12 +612,19 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
743
612
|
swipeStrength: swipeRelease ?? null,
|
|
744
613
|
setSwipeDismissed
|
|
745
614
|
}), [setSwipeDismissed, swipe.getDragStyles, swipe.swiping, swipeRelease]);
|
|
746
|
-
function
|
|
747
|
-
ignoreTouchSwipeRef.current =
|
|
615
|
+
function resetTouchSwipeState(ignoreSwipe) {
|
|
616
|
+
ignoreTouchSwipeRef.current = ignoreSwipe;
|
|
748
617
|
touchScrollStateRef.current = null;
|
|
618
|
+
}
|
|
619
|
+
function resetTouchTrackingState() {
|
|
620
|
+
resetTouchSwipeState(false);
|
|
749
621
|
lastPointerTypeRef.current = '';
|
|
750
622
|
ignoreNextTouchStartFromPenRef.current = false;
|
|
751
623
|
}
|
|
624
|
+
function handlePointerEnd(event) {
|
|
625
|
+
lastPointerTypeRef.current = '';
|
|
626
|
+
return event.pointerType !== 'touch';
|
|
627
|
+
}
|
|
752
628
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogViewport.DialogViewport, {
|
|
753
629
|
ref: forwardedRef,
|
|
754
630
|
className: className,
|
|
@@ -761,8 +637,7 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
761
637
|
if (!open || !mounted || nestedDrawerOpen) {
|
|
762
638
|
return;
|
|
763
639
|
}
|
|
764
|
-
const
|
|
765
|
-
const elementAtPoint = (0, _getElementAtPoint.getElementAtPoint)(doc, event.clientX, event.clientY);
|
|
640
|
+
const elementAtPoint = (0, _getElementAtPoint.getElementAtPoint)(event.currentTarget.getRootNode(), event.clientX, event.clientY);
|
|
766
641
|
if (isSwipeIgnoredTarget(elementAtPoint) || isDrawerContentTarget(elementAtPoint)) {
|
|
767
642
|
return;
|
|
768
643
|
}
|
|
@@ -778,34 +653,24 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
778
653
|
swipePointerProps.onPointerMove?.(event);
|
|
779
654
|
},
|
|
780
655
|
onPointerUp(event) {
|
|
781
|
-
if (
|
|
782
|
-
|
|
783
|
-
}
|
|
784
|
-
if (event.pointerType === 'touch') {
|
|
785
|
-
return;
|
|
656
|
+
if (handlePointerEnd(event)) {
|
|
657
|
+
swipePointerProps.onPointerUp?.(event);
|
|
786
658
|
}
|
|
787
|
-
swipePointerProps.onPointerUp?.(event);
|
|
788
659
|
},
|
|
789
660
|
onPointerCancel(event) {
|
|
790
|
-
if (
|
|
791
|
-
|
|
792
|
-
}
|
|
793
|
-
if (event.pointerType === 'touch') {
|
|
794
|
-
return;
|
|
661
|
+
if (handlePointerEnd(event)) {
|
|
662
|
+
swipePointerProps.onPointerCancel?.(event);
|
|
795
663
|
}
|
|
796
|
-
swipePointerProps.onPointerCancel?.(event);
|
|
797
664
|
},
|
|
798
665
|
onTouchStart(event) {
|
|
799
666
|
const startedFromPenPointerDown = lastPointerTypeRef.current === 'pen' && ignoreNextTouchStartFromPenRef.current;
|
|
800
667
|
if (startedFromPenPointerDown) {
|
|
801
668
|
ignoreNextTouchStartFromPenRef.current = false;
|
|
802
|
-
|
|
803
|
-
touchScrollStateRef.current = null;
|
|
669
|
+
resetTouchSwipeState(false);
|
|
804
670
|
return;
|
|
805
671
|
}
|
|
806
672
|
if (!open || !mounted || nestedDrawerOpen) {
|
|
807
|
-
|
|
808
|
-
touchScrollStateRef.current = null;
|
|
673
|
+
resetTouchSwipeState(false);
|
|
809
674
|
return;
|
|
810
675
|
}
|
|
811
676
|
const touch = event.touches[0];
|
|
@@ -813,32 +678,25 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
813
678
|
return;
|
|
814
679
|
}
|
|
815
680
|
if (isReactTouchEventOnRangeInput(event)) {
|
|
816
|
-
|
|
817
|
-
touchScrollStateRef.current = null;
|
|
681
|
+
resetTouchSwipeState(false);
|
|
818
682
|
return;
|
|
819
683
|
}
|
|
820
|
-
const
|
|
821
|
-
const elementAtPoint = (0, _getElementAtPoint.getElementAtPoint)(
|
|
822
|
-
const rootElement = viewportElement ?? popupElementState;
|
|
684
|
+
const rootElement = event.currentTarget;
|
|
685
|
+
const elementAtPoint = (0, _getElementAtPoint.getElementAtPoint)(rootElement.getRootNode(), touch.clientX, touch.clientY);
|
|
823
686
|
const eventTarget = (0, _utils.getTarget)(event.nativeEvent);
|
|
824
|
-
const target = (0, _dom.isElement)(eventTarget) ? eventTarget :
|
|
825
|
-
if (
|
|
826
|
-
|
|
827
|
-
touchScrollStateRef.current = null;
|
|
687
|
+
const target = (0, _dom.isElement)(eventTarget) ? eventTarget : rootElement;
|
|
688
|
+
if (!(0, _utils.contains)(rootElement, target)) {
|
|
689
|
+
resetTouchSwipeState(true);
|
|
828
690
|
return;
|
|
829
691
|
}
|
|
830
692
|
virtualKeyboard?.onTouchStart(event);
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
touchScrollStateRef.current = null;
|
|
693
|
+
if (isSwipeIgnoredTarget(elementAtPoint)) {
|
|
694
|
+
resetTouchSwipeState(true);
|
|
834
695
|
return;
|
|
835
696
|
}
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
scrollTarget = (0, _scrollable.findScrollableTouchTarget)(target, rootElement, scrollAxis);
|
|
840
|
-
hasCrossAxisScrollableContent = (0, _scrollable.findScrollableTouchTarget)(target, rootElement, crossScrollAxis) != null;
|
|
841
|
-
}
|
|
697
|
+
ignoreTouchSwipeRef.current = false;
|
|
698
|
+
const scrollTarget = (0, _scrollable.findScrollableTouchTarget)(target, rootElement, scrollAxis);
|
|
699
|
+
const hasCrossAxisScrollableContent = (0, _scrollable.findScrollableTouchTarget)(target, rootElement, crossScrollAxis) != null;
|
|
842
700
|
let allowSwipe = null;
|
|
843
701
|
if (scrollTarget) {
|
|
844
702
|
const canSwipeFromEdge = isAtSwipeStartEdge(scrollTarget, scrollAxis, swipeDirection);
|
|
@@ -852,7 +710,8 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
852
710
|
scrollTarget,
|
|
853
711
|
hasCrossAxisScrollableContent,
|
|
854
712
|
allowSwipe,
|
|
855
|
-
preserveNativeCrossAxisScroll: false
|
|
713
|
+
preserveNativeCrossAxisScroll: false,
|
|
714
|
+
drawerAxisAttributed: false
|
|
856
715
|
};
|
|
857
716
|
swipeTouchProps.onTouchStart?.(event);
|
|
858
717
|
},
|
|
@@ -877,24 +736,8 @@ const DrawerViewport = exports.DrawerViewport = /*#__PURE__*/React.forwardRef(fu
|
|
|
877
736
|
});
|
|
878
737
|
});
|
|
879
738
|
if (process.env.NODE_ENV !== "production") DrawerViewport.displayName = "DrawerViewport";
|
|
880
|
-
function setSwipeDismissedElements(popupElement, backdropElement, dismissed) {
|
|
881
|
-
if (dismissed) {
|
|
882
|
-
popupElement?.setAttribute(_DrawerPopupDataAttributes.DrawerPopupDataAttributes.swipeDismiss, '');
|
|
883
|
-
backdropElement?.setAttribute(_DrawerPopupDataAttributes.DrawerPopupDataAttributes.swipeDismiss, '');
|
|
884
|
-
return;
|
|
885
|
-
}
|
|
886
|
-
popupElement?.removeAttribute(_DrawerPopupDataAttributes.DrawerPopupDataAttributes.swipeDismiss);
|
|
887
|
-
backdropElement?.removeAttribute(_DrawerPopupDataAttributes.DrawerPopupDataAttributes.swipeDismiss);
|
|
888
|
-
}
|
|
889
739
|
function setBackdropSwipingAttribute(backdropElement, swiping) {
|
|
890
|
-
|
|
891
|
-
return;
|
|
892
|
-
}
|
|
893
|
-
if (swiping) {
|
|
894
|
-
backdropElement.setAttribute(_DrawerPopupDataAttributes.DrawerPopupDataAttributes.swiping, '');
|
|
895
|
-
return;
|
|
896
|
-
}
|
|
897
|
-
backdropElement.removeAttribute(_DrawerPopupDataAttributes.DrawerPopupDataAttributes.swiping);
|
|
740
|
+
backdropElement?.toggleAttribute(_DrawerPopupDataAttributes.DrawerPopupDataAttributes.swiping, swiping);
|
|
898
741
|
}
|
|
899
742
|
function isSwipeIgnoredTarget(target) {
|
|
900
743
|
return Boolean(target?.closest(_constants.BASE_UI_SWIPE_IGNORE_SELECTOR));
|
|
@@ -902,17 +745,16 @@ function isSwipeIgnoredTarget(target) {
|
|
|
902
745
|
function isDrawerContentTarget(target) {
|
|
903
746
|
return Boolean(target?.closest(DRAWER_CONTENT_SELECTOR));
|
|
904
747
|
}
|
|
748
|
+
function getBaseSwipeSize(element, direction) {
|
|
749
|
+
return direction === 'left' || direction === 'right' ? element.offsetWidth : element.offsetHeight;
|
|
750
|
+
}
|
|
905
751
|
function getBaseSwipeThreshold(element, direction) {
|
|
906
|
-
|
|
907
|
-
return Math.max(size * 0.5, MIN_SWIPE_THRESHOLD);
|
|
752
|
+
return Math.max(getBaseSwipeSize(element, direction) * 0.5, MIN_SWIPE_THRESHOLD);
|
|
908
753
|
}
|
|
909
754
|
function isRangeInput(target, win) {
|
|
910
755
|
return target instanceof win.HTMLInputElement && target.type === 'range';
|
|
911
756
|
}
|
|
912
757
|
function isTextSelectionControl(target) {
|
|
913
|
-
if (!(0, _dom.isElement)(target)) {
|
|
914
|
-
return false;
|
|
915
|
-
}
|
|
916
758
|
return target.tagName === 'INPUT' || target.tagName === 'TEXTAREA';
|
|
917
759
|
}
|
|
918
760
|
function hasExpandedSelectionWithinTarget(selection, target) {
|
|
@@ -922,8 +764,7 @@ function hasExpandedSelectionWithinTarget(selection, target) {
|
|
|
922
764
|
}
|
|
923
765
|
function shouldIgnoreSwipeForTextSelection(doc, rootElement) {
|
|
924
766
|
const activeEl = (0, _utils.activeElement)(doc);
|
|
925
|
-
|
|
926
|
-
if (activeElementWithinRoot && isTextSelectionControl(activeEl)) {
|
|
767
|
+
if (activeEl && (0, _utils.contains)(rootElement, activeEl) && isTextSelectionControl(activeEl)) {
|
|
927
768
|
const {
|
|
928
769
|
selectionStart,
|
|
929
770
|
selectionEnd
|
|
@@ -939,11 +780,7 @@ function shouldIgnoreSwipeForTextSelection(doc, rootElement) {
|
|
|
939
780
|
return hasExpandedSelectionWithinTarget(selection, rootElement);
|
|
940
781
|
}
|
|
941
782
|
function isEventOnRangeInput(event, win) {
|
|
942
|
-
|
|
943
|
-
if (composedPath) {
|
|
944
|
-
return composedPath.some(pathTarget => isRangeInput(pathTarget, win));
|
|
945
|
-
}
|
|
946
|
-
return isRangeInput((0, _utils.getTarget)(event), win);
|
|
783
|
+
return event.composedPath().some(pathTarget => isRangeInput(pathTarget, win));
|
|
947
784
|
}
|
|
948
785
|
function isReactTouchEventOnRangeInput(event) {
|
|
949
786
|
return isEventOnRangeInput(event.nativeEvent, (0, _owner.ownerWindow)(event.currentTarget));
|
|
@@ -952,25 +789,51 @@ function updateTouchScrollPosition(touchState, touch) {
|
|
|
952
789
|
touchState.lastX = touch.clientX;
|
|
953
790
|
touchState.lastY = touch.clientY;
|
|
954
791
|
}
|
|
955
|
-
|
|
792
|
+
|
|
793
|
+
/**
|
|
794
|
+
* Arbitrates a touchmove between the drawer swipe and a native cross-axis scroll.
|
|
795
|
+
* Returns `true` when the move must be left alone — either because the cross axis already won the
|
|
796
|
+
* gesture, or because neither axis has passed the slop yet and the gesture cannot be attributed.
|
|
797
|
+
*/
|
|
798
|
+
function shouldYieldTouchMove(touchState, event, touch, isVerticalScrollAxis) {
|
|
956
799
|
if (touchState.preserveNativeCrossAxisScroll) {
|
|
957
800
|
return true;
|
|
958
801
|
}
|
|
959
|
-
|
|
802
|
+
|
|
803
|
+
// Attribution happens once per gesture. Re-arbitrating after the drawer axis has won would let
|
|
804
|
+
// the pre-attribution branches below fire mid-drag (the slop is measured from the touch origin,
|
|
805
|
+
// which is never re-baselined), freezing the popup and dropping `preventDefault()`.
|
|
806
|
+
if (touchState.drawerAxisAttributed || touchState.allowSwipe === true || !touchState.hasCrossAxisScrollableContent) {
|
|
960
807
|
return false;
|
|
961
808
|
}
|
|
809
|
+
|
|
810
|
+
// A non-cancelable touchmove means the browser has already committed the gesture to a native
|
|
811
|
+
// scroll; claiming it for the swipe would drag the popup alongside the scrolling content.
|
|
812
|
+
if (!event.cancelable) {
|
|
813
|
+
touchState.preserveNativeCrossAxisScroll = true;
|
|
814
|
+
return true;
|
|
815
|
+
}
|
|
962
816
|
const drawerAxisGestureDelta = isVerticalScrollAxis ? touch.clientY - touchState.startY : touch.clientX - touchState.startX;
|
|
963
817
|
const crossAxisGestureDelta = isVerticalScrollAxis ? touch.clientX - touchState.startX : touch.clientY - touchState.startY;
|
|
964
818
|
const absDrawerAxisGestureDelta = Math.abs(drawerAxisGestureDelta);
|
|
965
819
|
const absCrossAxisGestureDelta = Math.abs(crossAxisGestureDelta);
|
|
966
|
-
if (absCrossAxisGestureDelta
|
|
820
|
+
if (absCrossAxisGestureDelta >= AXIS_LOCK_SLOP && absCrossAxisGestureDelta > absDrawerAxisGestureDelta + AXIS_LOCK_BIAS) {
|
|
821
|
+
touchState.preserveNativeCrossAxisScroll = true;
|
|
822
|
+
return true;
|
|
823
|
+
}
|
|
824
|
+
if (absDrawerAxisGestureDelta >= AXIS_LOCK_SLOP) {
|
|
825
|
+
touchState.drawerAxisAttributed = true;
|
|
967
826
|
return false;
|
|
968
827
|
}
|
|
969
|
-
|
|
828
|
+
|
|
829
|
+
// Neither axis has traveled past the slop yet, so the gesture cannot be attributed. Leave the
|
|
830
|
+
// event alone: on iOS, `preventDefault()` on the first cancelable touchmove cancels native
|
|
831
|
+
// scrolling for the entire gesture, which would lock a cross-axis scroll that only passes the
|
|
832
|
+
// slop on a later move.
|
|
970
833
|
return true;
|
|
971
834
|
}
|
|
972
835
|
function hasScrollableContentOnAxis(scrollTarget, axis) {
|
|
973
|
-
return
|
|
836
|
+
return getScrollMetrics(scrollTarget, axis).max > 0;
|
|
974
837
|
}
|
|
975
838
|
function getScrollMetrics(scrollTarget, axis) {
|
|
976
839
|
if (axis === 'vertical') {
|
|
@@ -987,46 +850,21 @@ function getScrollMetrics(scrollTarget, axis) {
|
|
|
987
850
|
};
|
|
988
851
|
}
|
|
989
852
|
function isAtSwipeStartEdge(scrollTarget, axis, direction) {
|
|
853
|
+
const dismissFromStartEdge = shouldDismissFromStartEdge(direction, axis);
|
|
990
854
|
const {
|
|
991
855
|
offset,
|
|
992
856
|
max
|
|
993
857
|
} = getScrollMetrics(scrollTarget, axis);
|
|
994
|
-
const dismissFromStartEdge = shouldDismissFromStartEdge(direction, axis);
|
|
995
|
-
if (dismissFromStartEdge === null) {
|
|
996
|
-
return false;
|
|
997
|
-
}
|
|
998
858
|
return dismissFromStartEdge ? offset <= 0 : offset >= max;
|
|
999
859
|
}
|
|
1000
860
|
function canSwipeFromScrollEdgeOnMove(scrollTarget, axis, direction, delta) {
|
|
1001
|
-
const {
|
|
1002
|
-
offset,
|
|
1003
|
-
max
|
|
1004
|
-
} = getScrollMetrics(scrollTarget, axis);
|
|
1005
861
|
const dismissFromStartEdge = shouldDismissFromStartEdge(direction, axis);
|
|
1006
|
-
if (dismissFromStartEdge === null) {
|
|
1007
|
-
return false;
|
|
1008
|
-
}
|
|
1009
862
|
const movingTowardDismiss = dismissFromStartEdge ? delta > 0 : delta < 0;
|
|
1010
863
|
if (!movingTowardDismiss) {
|
|
1011
864
|
return false;
|
|
1012
865
|
}
|
|
1013
|
-
return
|
|
866
|
+
return isAtSwipeStartEdge(scrollTarget, axis, direction);
|
|
1014
867
|
}
|
|
1015
868
|
function shouldDismissFromStartEdge(direction, axis) {
|
|
1016
|
-
|
|
1017
|
-
if (direction === 'down') {
|
|
1018
|
-
return true;
|
|
1019
|
-
}
|
|
1020
|
-
if (direction === 'up') {
|
|
1021
|
-
return false;
|
|
1022
|
-
}
|
|
1023
|
-
return null;
|
|
1024
|
-
}
|
|
1025
|
-
if (direction === 'right') {
|
|
1026
|
-
return true;
|
|
1027
|
-
}
|
|
1028
|
-
if (direction === 'left') {
|
|
1029
|
-
return false;
|
|
1030
|
-
}
|
|
1031
|
-
return null;
|
|
869
|
+
return axis === 'vertical' ? direction === 'down' : direction === 'right';
|
|
1032
870
|
}
|