@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
|
@@ -142,11 +142,10 @@ function FloatingFocusManager(props) {
|
|
|
142
142
|
} = store.context;
|
|
143
143
|
const getNodeId = (0, _useStableCallback.useStableCallback)(() => dataRef.current.floatingContext?.nodeId);
|
|
144
144
|
const ignoreInitialFocus = initialFocus === false;
|
|
145
|
-
//
|
|
146
|
-
//
|
|
147
|
-
//
|
|
148
|
-
//
|
|
149
|
-
// start.
|
|
145
|
+
// A typeable combobox reference (e.g. input/textarea) with `initialFocus={false}`
|
|
146
|
+
// has different focus semantics: focus is not trapped inside the floating element,
|
|
147
|
+
// so in the modal case the guards are not rendered, but `aria-hidden` is still
|
|
148
|
+
// applied to the outside nodes.
|
|
150
149
|
const isUntrappedTypeableCombobox = (0, _element.isTypeableCombobox)(domReference) && ignoreInitialFocus;
|
|
151
150
|
const initialFocusRef = (0, _useValueAsRef.useValueAsRef)(initialFocus);
|
|
152
151
|
const returnFocusRef = (0, _useValueAsRef.useValueAsRef)(returnFocus);
|
|
@@ -260,12 +259,12 @@ function FloatingFocusManager(props) {
|
|
|
260
259
|
const triggers = store.context.triggerElements;
|
|
261
260
|
const insideElements = getResolvedInsideElements();
|
|
262
261
|
const isRelatedFocusGuard = relatedTarget?.hasAttribute((0, _createAttribute.createAttribute)('focus-guard')) && [beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeInsideRef.current, portalContext?.afterInsideRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, (0, _resolveRef.resolveRef)(previousFocusableElement), (0, _resolveRef.resolveRef)(nextFocusableElement)].includes(relatedTarget);
|
|
263
|
-
const movedToUnrelatedNode = !((0, _element.contains)(domReference, relatedTarget) || (0, _element.contains)(floating, relatedTarget) || (0, _element.contains)(relatedTarget, floating) || (0, _element.contains)(portalContext?.portalNode, relatedTarget) || insideElements.some(element => element === relatedTarget || (0, _element.contains)(element, relatedTarget)) ||
|
|
262
|
+
const movedToUnrelatedNode = !((0, _element.contains)(domReference, relatedTarget) || (0, _element.contains)(floating, relatedTarget) || (0, _element.contains)(relatedTarget, floating) || (0, _element.contains)(portalContext?.portalNode, relatedTarget) || insideElements.some(element => element === relatedTarget || (0, _element.contains)(element, relatedTarget)) || triggers.hasMatchingElement(trigger => (0, _element.contains)(trigger, relatedTarget)) || isRelatedFocusGuard || tree && ((0, _nodes.getNodeChildren)(tree.nodesRef.current, nodeId).find(node => (0, _element.contains)(node.context?.elements.floating, relatedTarget) || (0, _element.contains)(node.context?.elements.domReference, relatedTarget)) || (0, _nodes.getNodeAncestors)(tree.nodesRef.current, nodeId).find(node => [node.context?.elements.floating, (0, _element.getFloatingFocusElement)(node.context?.elements.floating)].includes(relatedTarget) || node.context?.elements.domReference === relatedTarget)));
|
|
264
263
|
if (currentTarget === domReference && floatingFocusElement) {
|
|
265
264
|
handleTabIndex(floatingFocusElement);
|
|
266
265
|
}
|
|
267
266
|
|
|
268
|
-
// Restore focus to the
|
|
267
|
+
// Restore focus to the previously focused tabbable element to prevent
|
|
269
268
|
// focus from being lost outside the floating tree.
|
|
270
269
|
if (restoreFocus && currentTarget !== domReference && !(0, _composite.isElementVisible)(target) && (0, _element.activeElement)(doc) === doc.body) {
|
|
271
270
|
// Let `FloatingPortal` effect knows that focus is still inside the
|
|
@@ -275,10 +274,10 @@ function FloatingFocusManager(props) {
|
|
|
275
274
|
// If explicitly requested to restore focus to the popup container, do not search
|
|
276
275
|
// for the next/previous tabbable element.
|
|
277
276
|
if (restoreFocus === 'popup') {
|
|
278
|
-
// If the element is removed on pointerdown,
|
|
279
|
-
//
|
|
280
|
-
//
|
|
281
|
-
//
|
|
277
|
+
// If the focused element is removed on pointerdown, the browser
|
|
278
|
+
// tries to move focus to it right after the `.focus()` call above,
|
|
279
|
+
// but because it's removed in the same tick, focus is lost instead.
|
|
280
|
+
// Re-focusing asynchronously (next frame) wins that race.
|
|
282
281
|
restoreFocusFrame.request(() => {
|
|
283
282
|
floatingFocusElement.focus();
|
|
284
283
|
});
|
|
@@ -360,6 +359,8 @@ function FloatingFocusManager(props) {
|
|
|
360
359
|
if (!open || disabled || !(0, _dom.isHTMLElement)(floatingFocusElement)) {
|
|
361
360
|
return;
|
|
362
361
|
}
|
|
362
|
+
closeTypeRef.current = '';
|
|
363
|
+
lastInteractionTypeRef.current = '';
|
|
363
364
|
const doc = (0, _owner.ownerDocument)(floatingFocusElement);
|
|
364
365
|
const previouslyFocusedElement = (0, _element.activeElement)(doc);
|
|
365
366
|
|
|
@@ -391,7 +392,9 @@ function FloatingFocusManager(props) {
|
|
|
391
392
|
}
|
|
392
393
|
elToFocus = elToFocus || getDefaultFocusElement();
|
|
393
394
|
const hadFocusInside = (0, _element.contains)(floatingFocusElement, (0, _element.activeElement)(doc));
|
|
394
|
-
|
|
395
|
+
|
|
396
|
+
// enqueueFocus returns a rAF-cancel function; we intentionally don't cancel this focus.
|
|
397
|
+
void (0, _enqueueFocus.enqueueFocus)(elToFocus, {
|
|
395
398
|
preventScroll: elToFocus === floatingFocusElement,
|
|
396
399
|
shouldFocus() {
|
|
397
400
|
// This focus is queued on the next animation frame. If the floating element has closed
|
|
@@ -418,13 +421,11 @@ function FloatingFocusManager(props) {
|
|
|
418
421
|
}
|
|
419
422
|
const doc = (0, _owner.ownerDocument)(floatingFocusElement);
|
|
420
423
|
const elementFocusedBeforeOpen = (0, _element.activeElement)(doc);
|
|
421
|
-
// Only
|
|
422
|
-
//
|
|
424
|
+
// Only an explicit `null` interaction type represents a programmatic open.
|
|
425
|
+
// `undefined` is normalized to `''` by the prop default, so it never reaches
|
|
426
|
+
// here as nullish and is intentionally not treated as programmatic.
|
|
423
427
|
const preferPreviousFocus = openInteractionTypeRef.current == null;
|
|
424
428
|
addPreviouslyFocusedElement(elementFocusedBeforeOpen);
|
|
425
|
-
|
|
426
|
-
// Dismissing via outside press should always ignore `returnFocus` to
|
|
427
|
-
// prevent unwanted scrolling.
|
|
428
429
|
function onOpenChangeLocal(details) {
|
|
429
430
|
if (!details.open) {
|
|
430
431
|
closeTypeRef.current = getEventType(details.nativeEvent, lastInteractionTypeRef.current);
|
|
@@ -440,6 +441,11 @@ function FloatingFocusManager(props) {
|
|
|
440
441
|
} else if ((0, _event.isVirtualClick)(details.nativeEvent) || (0, _event.isVirtualPointerEvent)(details.nativeEvent)) {
|
|
441
442
|
preventReturnFocusRef.current = false;
|
|
442
443
|
} else {
|
|
444
|
+
// On outside press, only return focus to the reference when the browser supports the
|
|
445
|
+
// `focus({ preventScroll })` option; without it, restoring focus scrolls the page.
|
|
446
|
+
// Chrome on Android and Samsung Internet still don't support `preventScroll`
|
|
447
|
+
// (https://issues.chromium.org/issues/41453122), so the runtime check keeps return
|
|
448
|
+
// focus disabled there to avoid the scroll jump.
|
|
443
449
|
let isPreventScrollSupported = false;
|
|
444
450
|
(0, _owner.ownerDocument)(floatingFocusElement).createElement('div').focus({
|
|
445
451
|
get preventScroll() {
|
|
@@ -455,9 +461,9 @@ function FloatingFocusManager(props) {
|
|
|
455
461
|
}
|
|
456
462
|
}
|
|
457
463
|
events.on('openchange', onOpenChangeLocal);
|
|
458
|
-
function getReturnElement() {
|
|
464
|
+
function getReturnElement(closeType) {
|
|
459
465
|
const returnFocusValueOrFn = returnFocusRef.current;
|
|
460
|
-
let resolvedReturnFocusValue = typeof returnFocusValueOrFn === 'function' ? returnFocusValueOrFn(
|
|
466
|
+
let resolvedReturnFocusValue = typeof returnFocusValueOrFn === 'function' ? returnFocusValueOrFn(closeType) : returnFocusValueOrFn;
|
|
461
467
|
|
|
462
468
|
// `null` should fallback to default behavior in case of an empty ref.
|
|
463
469
|
if (resolvedReturnFocusValue === undefined || resolvedReturnFocusValue === false) {
|
|
@@ -485,9 +491,11 @@ function FloatingFocusManager(props) {
|
|
|
485
491
|
|
|
486
492
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
487
493
|
const returnFocusValueOrFn = returnFocusRef.current;
|
|
488
|
-
const
|
|
494
|
+
const closeType = closeTypeRef.current;
|
|
495
|
+
const returnElement = getReturnElement(closeType);
|
|
489
496
|
queueMicrotask(() => {
|
|
490
|
-
//
|
|
497
|
+
// `returnElement` if it is tabbable, otherwise its first tabbable child,
|
|
498
|
+
// otherwise `returnElement` itself (which may not be tabbable at all).
|
|
491
499
|
const tabbableReturnElement = getFirstTabbableElement(returnElement);
|
|
492
500
|
const hasExplicitReturnFocus = typeof returnFocusValueOrFn !== 'boolean';
|
|
493
501
|
if (returnFocusValueOrFn && !preventReturnFocusRef.current && (0, _dom.isHTMLElement)(tabbableReturnElement) && (
|
|
@@ -495,9 +503,13 @@ function FloatingFocusManager(props) {
|
|
|
495
503
|
// since it likely entered a different element which should be
|
|
496
504
|
// respected: https://github.com/floating-ui/floating-ui/issues/2607
|
|
497
505
|
!hasExplicitReturnFocus && tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {
|
|
498
|
-
|
|
506
|
+
const focusOptions = {
|
|
499
507
|
preventScroll: true
|
|
500
|
-
}
|
|
508
|
+
};
|
|
509
|
+
if (closeType === 'keyboard') {
|
|
510
|
+
focusOptions.focusVisible = true;
|
|
511
|
+
}
|
|
512
|
+
tabbableReturnElement.focus(focusOptions);
|
|
501
513
|
}
|
|
502
514
|
preventReturnFocusRef.current = false;
|
|
503
515
|
});
|
|
@@ -520,8 +532,8 @@ function FloatingFocusManager(props) {
|
|
|
520
532
|
}
|
|
521
533
|
}, [open, floating]);
|
|
522
534
|
|
|
523
|
-
// Synchronize the
|
|
524
|
-
//
|
|
535
|
+
// Synchronize the focus manager state (modal, closeOnFocusOut, open, etc.) to the
|
|
536
|
+
// FloatingPortal context, which uses it to decide whether to render its own guards.
|
|
525
537
|
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
526
538
|
if (disabled || !portalContext) {
|
|
527
539
|
return undefined;
|
|
@@ -556,7 +568,8 @@ function FloatingFocusManager(props) {
|
|
|
556
568
|
onFocus: event => {
|
|
557
569
|
if (modal) {
|
|
558
570
|
const els = getTabbableContent();
|
|
559
|
-
|
|
571
|
+
// enqueueFocus returns a rAF-cancel function we don't need here.
|
|
572
|
+
void (0, _enqueueFocus.enqueueFocus)(els[els.length - 1]);
|
|
560
573
|
} else if (portalContext?.portalNode) {
|
|
561
574
|
preventReturnFocusRef.current = false;
|
|
562
575
|
if ((0, _tabbable.isOutsideEvent)(event, portalContext.portalNode)) {
|
|
@@ -572,7 +585,8 @@ function FloatingFocusManager(props) {
|
|
|
572
585
|
ref: mergedAfterGuardRef,
|
|
573
586
|
onFocus: event => {
|
|
574
587
|
if (modal) {
|
|
575
|
-
|
|
588
|
+
// enqueueFocus returns a rAF-cancel function we don't need here.
|
|
589
|
+
void (0, _enqueueFocus.enqueueFocus)(getTabbableContent()[0]);
|
|
576
590
|
} else if (portalContext?.portalNode) {
|
|
577
591
|
if (closeOnFocusOut) {
|
|
578
592
|
preventReturnFocusRef.current = true;
|
|
@@ -136,11 +136,10 @@ export function FloatingFocusManager(props) {
|
|
|
136
136
|
} = store.context;
|
|
137
137
|
const getNodeId = useStableCallback(() => dataRef.current.floatingContext?.nodeId);
|
|
138
138
|
const ignoreInitialFocus = initialFocus === false;
|
|
139
|
-
//
|
|
140
|
-
//
|
|
141
|
-
//
|
|
142
|
-
//
|
|
143
|
-
// start.
|
|
139
|
+
// A typeable combobox reference (e.g. input/textarea) with `initialFocus={false}`
|
|
140
|
+
// has different focus semantics: focus is not trapped inside the floating element,
|
|
141
|
+
// so in the modal case the guards are not rendered, but `aria-hidden` is still
|
|
142
|
+
// applied to the outside nodes.
|
|
144
143
|
const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;
|
|
145
144
|
const initialFocusRef = useValueAsRef(initialFocus);
|
|
146
145
|
const returnFocusRef = useValueAsRef(returnFocus);
|
|
@@ -254,12 +253,12 @@ export function FloatingFocusManager(props) {
|
|
|
254
253
|
const triggers = store.context.triggerElements;
|
|
255
254
|
const insideElements = getResolvedInsideElements();
|
|
256
255
|
const isRelatedFocusGuard = relatedTarget?.hasAttribute(createAttribute('focus-guard')) && [beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeInsideRef.current, portalContext?.afterInsideRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement)].includes(relatedTarget);
|
|
257
|
-
const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext?.portalNode, relatedTarget) || insideElements.some(element => element === relatedTarget || contains(element, relatedTarget)) ||
|
|
256
|
+
const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext?.portalNode, relatedTarget) || insideElements.some(element => element === relatedTarget || contains(element, relatedTarget)) || triggers.hasMatchingElement(trigger => contains(trigger, relatedTarget)) || isRelatedFocusGuard || tree && (getNodeChildren(tree.nodesRef.current, nodeId).find(node => contains(node.context?.elements.floating, relatedTarget) || contains(node.context?.elements.domReference, relatedTarget)) || getNodeAncestors(tree.nodesRef.current, nodeId).find(node => [node.context?.elements.floating, getFloatingFocusElement(node.context?.elements.floating)].includes(relatedTarget) || node.context?.elements.domReference === relatedTarget)));
|
|
258
257
|
if (currentTarget === domReference && floatingFocusElement) {
|
|
259
258
|
handleTabIndex(floatingFocusElement);
|
|
260
259
|
}
|
|
261
260
|
|
|
262
|
-
// Restore focus to the
|
|
261
|
+
// Restore focus to the previously focused tabbable element to prevent
|
|
263
262
|
// focus from being lost outside the floating tree.
|
|
264
263
|
if (restoreFocus && currentTarget !== domReference && !isElementVisible(target) && activeElement(doc) === doc.body) {
|
|
265
264
|
// Let `FloatingPortal` effect knows that focus is still inside the
|
|
@@ -269,10 +268,10 @@ export function FloatingFocusManager(props) {
|
|
|
269
268
|
// If explicitly requested to restore focus to the popup container, do not search
|
|
270
269
|
// for the next/previous tabbable element.
|
|
271
270
|
if (restoreFocus === 'popup') {
|
|
272
|
-
// If the element is removed on pointerdown,
|
|
273
|
-
//
|
|
274
|
-
//
|
|
275
|
-
//
|
|
271
|
+
// If the focused element is removed on pointerdown, the browser
|
|
272
|
+
// tries to move focus to it right after the `.focus()` call above,
|
|
273
|
+
// but because it's removed in the same tick, focus is lost instead.
|
|
274
|
+
// Re-focusing asynchronously (next frame) wins that race.
|
|
276
275
|
restoreFocusFrame.request(() => {
|
|
277
276
|
floatingFocusElement.focus();
|
|
278
277
|
});
|
|
@@ -354,6 +353,8 @@ export function FloatingFocusManager(props) {
|
|
|
354
353
|
if (!open || disabled || !isHTMLElement(floatingFocusElement)) {
|
|
355
354
|
return;
|
|
356
355
|
}
|
|
356
|
+
closeTypeRef.current = '';
|
|
357
|
+
lastInteractionTypeRef.current = '';
|
|
357
358
|
const doc = ownerDocument(floatingFocusElement);
|
|
358
359
|
const previouslyFocusedElement = activeElement(doc);
|
|
359
360
|
|
|
@@ -385,7 +386,9 @@ export function FloatingFocusManager(props) {
|
|
|
385
386
|
}
|
|
386
387
|
elToFocus = elToFocus || getDefaultFocusElement();
|
|
387
388
|
const hadFocusInside = contains(floatingFocusElement, activeElement(doc));
|
|
388
|
-
|
|
389
|
+
|
|
390
|
+
// enqueueFocus returns a rAF-cancel function; we intentionally don't cancel this focus.
|
|
391
|
+
void enqueueFocus(elToFocus, {
|
|
389
392
|
preventScroll: elToFocus === floatingFocusElement,
|
|
390
393
|
shouldFocus() {
|
|
391
394
|
// This focus is queued on the next animation frame. If the floating element has closed
|
|
@@ -412,13 +415,11 @@ export function FloatingFocusManager(props) {
|
|
|
412
415
|
}
|
|
413
416
|
const doc = ownerDocument(floatingFocusElement);
|
|
414
417
|
const elementFocusedBeforeOpen = activeElement(doc);
|
|
415
|
-
// Only
|
|
416
|
-
//
|
|
418
|
+
// Only an explicit `null` interaction type represents a programmatic open.
|
|
419
|
+
// `undefined` is normalized to `''` by the prop default, so it never reaches
|
|
420
|
+
// here as nullish and is intentionally not treated as programmatic.
|
|
417
421
|
const preferPreviousFocus = openInteractionTypeRef.current == null;
|
|
418
422
|
addPreviouslyFocusedElement(elementFocusedBeforeOpen);
|
|
419
|
-
|
|
420
|
-
// Dismissing via outside press should always ignore `returnFocus` to
|
|
421
|
-
// prevent unwanted scrolling.
|
|
422
423
|
function onOpenChangeLocal(details) {
|
|
423
424
|
if (!details.open) {
|
|
424
425
|
closeTypeRef.current = getEventType(details.nativeEvent, lastInteractionTypeRef.current);
|
|
@@ -434,6 +435,11 @@ export function FloatingFocusManager(props) {
|
|
|
434
435
|
} else if (isVirtualClick(details.nativeEvent) || isVirtualPointerEvent(details.nativeEvent)) {
|
|
435
436
|
preventReturnFocusRef.current = false;
|
|
436
437
|
} else {
|
|
438
|
+
// On outside press, only return focus to the reference when the browser supports the
|
|
439
|
+
// `focus({ preventScroll })` option; without it, restoring focus scrolls the page.
|
|
440
|
+
// Chrome on Android and Samsung Internet still don't support `preventScroll`
|
|
441
|
+
// (https://issues.chromium.org/issues/41453122), so the runtime check keeps return
|
|
442
|
+
// focus disabled there to avoid the scroll jump.
|
|
437
443
|
let isPreventScrollSupported = false;
|
|
438
444
|
ownerDocument(floatingFocusElement).createElement('div').focus({
|
|
439
445
|
get preventScroll() {
|
|
@@ -449,9 +455,9 @@ export function FloatingFocusManager(props) {
|
|
|
449
455
|
}
|
|
450
456
|
}
|
|
451
457
|
events.on('openchange', onOpenChangeLocal);
|
|
452
|
-
function getReturnElement() {
|
|
458
|
+
function getReturnElement(closeType) {
|
|
453
459
|
const returnFocusValueOrFn = returnFocusRef.current;
|
|
454
|
-
let resolvedReturnFocusValue = typeof returnFocusValueOrFn === 'function' ? returnFocusValueOrFn(
|
|
460
|
+
let resolvedReturnFocusValue = typeof returnFocusValueOrFn === 'function' ? returnFocusValueOrFn(closeType) : returnFocusValueOrFn;
|
|
455
461
|
|
|
456
462
|
// `null` should fallback to default behavior in case of an empty ref.
|
|
457
463
|
if (resolvedReturnFocusValue === undefined || resolvedReturnFocusValue === false) {
|
|
@@ -479,9 +485,11 @@ export function FloatingFocusManager(props) {
|
|
|
479
485
|
|
|
480
486
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
481
487
|
const returnFocusValueOrFn = returnFocusRef.current;
|
|
482
|
-
const
|
|
488
|
+
const closeType = closeTypeRef.current;
|
|
489
|
+
const returnElement = getReturnElement(closeType);
|
|
483
490
|
queueMicrotask(() => {
|
|
484
|
-
//
|
|
491
|
+
// `returnElement` if it is tabbable, otherwise its first tabbable child,
|
|
492
|
+
// otherwise `returnElement` itself (which may not be tabbable at all).
|
|
485
493
|
const tabbableReturnElement = getFirstTabbableElement(returnElement);
|
|
486
494
|
const hasExplicitReturnFocus = typeof returnFocusValueOrFn !== 'boolean';
|
|
487
495
|
if (returnFocusValueOrFn && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && (
|
|
@@ -489,9 +497,13 @@ export function FloatingFocusManager(props) {
|
|
|
489
497
|
// since it likely entered a different element which should be
|
|
490
498
|
// respected: https://github.com/floating-ui/floating-ui/issues/2607
|
|
491
499
|
!hasExplicitReturnFocus && tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {
|
|
492
|
-
|
|
500
|
+
const focusOptions = {
|
|
493
501
|
preventScroll: true
|
|
494
|
-
}
|
|
502
|
+
};
|
|
503
|
+
if (closeType === 'keyboard') {
|
|
504
|
+
focusOptions.focusVisible = true;
|
|
505
|
+
}
|
|
506
|
+
tabbableReturnElement.focus(focusOptions);
|
|
495
507
|
}
|
|
496
508
|
preventReturnFocusRef.current = false;
|
|
497
509
|
});
|
|
@@ -514,8 +526,8 @@ export function FloatingFocusManager(props) {
|
|
|
514
526
|
}
|
|
515
527
|
}, [open, floating]);
|
|
516
528
|
|
|
517
|
-
// Synchronize the
|
|
518
|
-
//
|
|
529
|
+
// Synchronize the focus manager state (modal, closeOnFocusOut, open, etc.) to the
|
|
530
|
+
// FloatingPortal context, which uses it to decide whether to render its own guards.
|
|
519
531
|
useIsoLayoutEffect(() => {
|
|
520
532
|
if (disabled || !portalContext) {
|
|
521
533
|
return undefined;
|
|
@@ -550,7 +562,8 @@ export function FloatingFocusManager(props) {
|
|
|
550
562
|
onFocus: event => {
|
|
551
563
|
if (modal) {
|
|
552
564
|
const els = getTabbableContent();
|
|
553
|
-
enqueueFocus
|
|
565
|
+
// enqueueFocus returns a rAF-cancel function we don't need here.
|
|
566
|
+
void enqueueFocus(els[els.length - 1]);
|
|
554
567
|
} else if (portalContext?.portalNode) {
|
|
555
568
|
preventReturnFocusRef.current = false;
|
|
556
569
|
if (isOutsideEvent(event, portalContext.portalNode)) {
|
|
@@ -566,7 +579,8 @@ export function FloatingFocusManager(props) {
|
|
|
566
579
|
ref: mergedAfterGuardRef,
|
|
567
580
|
onFocus: event => {
|
|
568
581
|
if (modal) {
|
|
569
|
-
enqueueFocus
|
|
582
|
+
// enqueueFocus returns a rAF-cancel function we don't need here.
|
|
583
|
+
void enqueueFocus(getTabbableContent()[0]);
|
|
570
584
|
} else if (portalContext?.portalNode) {
|
|
571
585
|
if (closeOnFocusOut) {
|
|
572
586
|
preventReturnFocusRef.current = true;
|
|
@@ -26,22 +26,15 @@ export interface UseFloatingPortalNodeProps {
|
|
|
26
26
|
elementProps?: React.HTMLAttributes<HTMLDivElement> | undefined;
|
|
27
27
|
}
|
|
28
28
|
export interface UseFloatingPortalNodeResult {
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
node: HTMLElement | null;
|
|
30
|
+
/**
|
|
31
|
+
* The `id` attribute of the portal node. On React 17 it is `undefined` until the `useId`
|
|
32
|
+
* polyfill assigns it in an effect after the node has been created.
|
|
33
|
+
*/
|
|
34
|
+
nodeId: string | undefined;
|
|
35
|
+
subtree: React.ReactPortal | null;
|
|
31
36
|
}
|
|
32
37
|
export declare function useFloatingPortalNode(props?: UseFloatingPortalNodeProps): UseFloatingPortalNodeResult;
|
|
33
|
-
/**
|
|
34
|
-
* Portals the floating element into a given container element — by default,
|
|
35
|
-
* outside of the app root and into the body.
|
|
36
|
-
* This is necessary to ensure the floating element can appear outside any
|
|
37
|
-
* potential parent containers that cause clipping (such as `overflow: hidden`),
|
|
38
|
-
* while retaining its location in the React tree.
|
|
39
|
-
* @see https://floating-ui.com/docs/FloatingPortal
|
|
40
|
-
* @internal
|
|
41
|
-
*/
|
|
42
|
-
export declare const FloatingPortal: React.ForwardRefExoticComponent<Omit<FloatingPortal.Props<any> & {
|
|
43
|
-
renderGuards?: boolean | undefined;
|
|
44
|
-
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
45
38
|
export interface FloatingPortalState {}
|
|
46
39
|
export declare namespace FloatingPortal {
|
|
47
40
|
type State = FloatingPortalState;
|
|
@@ -26,22 +26,15 @@ export interface UseFloatingPortalNodeProps {
|
|
|
26
26
|
elementProps?: React.HTMLAttributes<HTMLDivElement> | undefined;
|
|
27
27
|
}
|
|
28
28
|
export interface UseFloatingPortalNodeResult {
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
node: HTMLElement | null;
|
|
30
|
+
/**
|
|
31
|
+
* The `id` attribute of the portal node. On React 17 it is `undefined` until the `useId`
|
|
32
|
+
* polyfill assigns it in an effect after the node has been created.
|
|
33
|
+
*/
|
|
34
|
+
nodeId: string | undefined;
|
|
35
|
+
subtree: React.ReactPortal | null;
|
|
31
36
|
}
|
|
32
37
|
export declare function useFloatingPortalNode(props?: UseFloatingPortalNodeProps): UseFloatingPortalNodeResult;
|
|
33
|
-
/**
|
|
34
|
-
* Portals the floating element into a given container element — by default,
|
|
35
|
-
* outside of the app root and into the body.
|
|
36
|
-
* This is necessary to ensure the floating element can appear outside any
|
|
37
|
-
* potential parent containers that cause clipping (such as `overflow: hidden`),
|
|
38
|
-
* while retaining its location in the React tree.
|
|
39
|
-
* @see https://floating-ui.com/docs/FloatingPortal
|
|
40
|
-
* @internal
|
|
41
|
-
*/
|
|
42
|
-
export declare const FloatingPortal: React.ForwardRefExoticComponent<Omit<FloatingPortal.Props<any> & {
|
|
43
|
-
renderGuards?: boolean | undefined;
|
|
44
|
-
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
45
38
|
export interface FloatingPortalState {}
|
|
46
39
|
export declare namespace FloatingPortal {
|
|
47
40
|
type State = FloatingPortalState;
|
|
@@ -61,11 +61,6 @@ function useFloatingPortalNode(props = {}) {
|
|
|
61
61
|
}
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
// React 17 does not use React.useId().
|
|
66
|
-
if (uniqueId == null) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
64
|
const resolvedContainer = (containerProp && ((0, _dom.isNode)(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body;
|
|
70
65
|
if (resolvedContainer == null) {
|
|
71
66
|
if (containerRef.current) {
|
|
@@ -80,7 +75,7 @@ function useFloatingPortalNode(props = {}) {
|
|
|
80
75
|
setPortalNode(null);
|
|
81
76
|
setContainerElement(resolvedContainer);
|
|
82
77
|
}
|
|
83
|
-
}, [containerProp, parentPortalNode
|
|
78
|
+
}, [containerProp, parentPortalNode]);
|
|
84
79
|
const portalElement = (0, _useRenderElement.useRenderElement)('div', componentProps, {
|
|
85
80
|
ref: [ref, setPortalNodeRef],
|
|
86
81
|
props: [{
|
|
@@ -93,8 +88,11 @@ function useFloatingPortalNode(props = {}) {
|
|
|
93
88
|
// Another call inside `FloatingPortal`/`FloatingPortalLite` then injects the children into `portalElement`.
|
|
94
89
|
const portalSubtree = containerElement && portalElement ? /*#__PURE__*/ReactDOM.createPortal(portalElement, containerElement) : null;
|
|
95
90
|
return {
|
|
96
|
-
portalNode,
|
|
97
|
-
|
|
91
|
+
node: portalNode,
|
|
92
|
+
// `id` and `render` props can override or remove the generated ID. Use the exact
|
|
93
|
+
// rendered value so `aria-owns` never points at an ID absent from the DOM.
|
|
94
|
+
nodeId: /*#__PURE__*/React.isValidElement(portalElement) ? portalElement.props.id : undefined,
|
|
95
|
+
subtree: portalSubtree
|
|
98
96
|
};
|
|
99
97
|
}
|
|
100
98
|
|
|
@@ -114,12 +112,12 @@ const FloatingPortal = exports.FloatingPortal = /*#__PURE__*/React.forwardRef(fu
|
|
|
114
112
|
style,
|
|
115
113
|
children,
|
|
116
114
|
container,
|
|
117
|
-
renderGuards,
|
|
118
115
|
...elementProps
|
|
119
116
|
} = componentProps;
|
|
120
117
|
const {
|
|
121
|
-
portalNode,
|
|
122
|
-
|
|
118
|
+
node: portalNode,
|
|
119
|
+
nodeId: portalNodeId,
|
|
120
|
+
subtree: portalSubtree
|
|
123
121
|
} = useFloatingPortalNode({
|
|
124
122
|
container,
|
|
125
123
|
ref: forwardedRef,
|
|
@@ -134,7 +132,7 @@ const FloatingPortal = exports.FloatingPortal = /*#__PURE__*/React.forwardRef(fu
|
|
|
134
132
|
const focusInsideDisabledRef = React.useRef(false);
|
|
135
133
|
const modal = focusManagerState?.modal;
|
|
136
134
|
const open = focusManagerState?.open;
|
|
137
|
-
const shouldRenderGuards =
|
|
135
|
+
const shouldRenderGuards = !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;
|
|
138
136
|
|
|
139
137
|
// https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx
|
|
140
138
|
React.useEffect(() => {
|
|
@@ -196,7 +194,7 @@ const FloatingPortal = exports.FloatingPortal = /*#__PURE__*/React.forwardRef(fu
|
|
|
196
194
|
}
|
|
197
195
|
}
|
|
198
196
|
}), shouldRenderGuards && portalNode && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
199
|
-
"aria-owns":
|
|
197
|
+
"aria-owns": portalNodeId,
|
|
200
198
|
style: _constants.ownerVisuallyHidden
|
|
201
199
|
}), portalNode && /*#__PURE__*/ReactDOM.createPortal(children, portalNode), shouldRenderGuards && portalNode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FocusGuard.FocusGuard, {
|
|
202
200
|
"data-type": "outside",
|
|
@@ -52,11 +52,6 @@ export function useFloatingPortalNode(props = {}) {
|
|
|
52
52
|
}
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
|
-
|
|
56
|
-
// React 17 does not use React.useId().
|
|
57
|
-
if (uniqueId == null) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
55
|
const resolvedContainer = (containerProp && (isNode(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body;
|
|
61
56
|
if (resolvedContainer == null) {
|
|
62
57
|
if (containerRef.current) {
|
|
@@ -71,7 +66,7 @@ export function useFloatingPortalNode(props = {}) {
|
|
|
71
66
|
setPortalNode(null);
|
|
72
67
|
setContainerElement(resolvedContainer);
|
|
73
68
|
}
|
|
74
|
-
}, [containerProp, parentPortalNode
|
|
69
|
+
}, [containerProp, parentPortalNode]);
|
|
75
70
|
const portalElement = useRenderElement('div', componentProps, {
|
|
76
71
|
ref: [ref, setPortalNodeRef],
|
|
77
72
|
props: [{
|
|
@@ -84,8 +79,11 @@ export function useFloatingPortalNode(props = {}) {
|
|
|
84
79
|
// Another call inside `FloatingPortal`/`FloatingPortalLite` then injects the children into `portalElement`.
|
|
85
80
|
const portalSubtree = containerElement && portalElement ? /*#__PURE__*/ReactDOM.createPortal(portalElement, containerElement) : null;
|
|
86
81
|
return {
|
|
87
|
-
portalNode,
|
|
88
|
-
|
|
82
|
+
node: portalNode,
|
|
83
|
+
// `id` and `render` props can override or remove the generated ID. Use the exact
|
|
84
|
+
// rendered value so `aria-owns` never points at an ID absent from the DOM.
|
|
85
|
+
nodeId: /*#__PURE__*/React.isValidElement(portalElement) ? portalElement.props.id : undefined,
|
|
86
|
+
subtree: portalSubtree
|
|
89
87
|
};
|
|
90
88
|
}
|
|
91
89
|
|
|
@@ -105,12 +103,12 @@ export const FloatingPortal = /*#__PURE__*/React.forwardRef(function FloatingPor
|
|
|
105
103
|
style,
|
|
106
104
|
children,
|
|
107
105
|
container,
|
|
108
|
-
renderGuards,
|
|
109
106
|
...elementProps
|
|
110
107
|
} = componentProps;
|
|
111
108
|
const {
|
|
112
|
-
portalNode,
|
|
113
|
-
|
|
109
|
+
node: portalNode,
|
|
110
|
+
nodeId: portalNodeId,
|
|
111
|
+
subtree: portalSubtree
|
|
114
112
|
} = useFloatingPortalNode({
|
|
115
113
|
container,
|
|
116
114
|
ref: forwardedRef,
|
|
@@ -125,7 +123,7 @@ export const FloatingPortal = /*#__PURE__*/React.forwardRef(function FloatingPor
|
|
|
125
123
|
const focusInsideDisabledRef = React.useRef(false);
|
|
126
124
|
const modal = focusManagerState?.modal;
|
|
127
125
|
const open = focusManagerState?.open;
|
|
128
|
-
const shouldRenderGuards =
|
|
126
|
+
const shouldRenderGuards = !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;
|
|
129
127
|
|
|
130
128
|
// https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx
|
|
131
129
|
React.useEffect(() => {
|
|
@@ -187,7 +185,7 @@ export const FloatingPortal = /*#__PURE__*/React.forwardRef(function FloatingPor
|
|
|
187
185
|
}
|
|
188
186
|
}
|
|
189
187
|
}), shouldRenderGuards && portalNode && /*#__PURE__*/_jsx("span", {
|
|
190
|
-
"aria-owns":
|
|
188
|
+
"aria-owns": portalNodeId,
|
|
191
189
|
style: ownerVisuallyHidden
|
|
192
190
|
}), portalNode && /*#__PURE__*/ReactDOM.createPortal(children, portalNode), shouldRenderGuards && portalNode && /*#__PURE__*/_jsx(FocusGuard, {
|
|
193
191
|
"data-type": "outside",
|
|
@@ -8,12 +8,12 @@ var _store = require("@base-ui/utils/store");
|
|
|
8
8
|
var _createEventEmitter = require("../utils/createEventEmitter");
|
|
9
9
|
var _utils = require("../utils");
|
|
10
10
|
const selectors = {
|
|
11
|
-
open:
|
|
12
|
-
transitionStatus:
|
|
13
|
-
domReferenceElement:
|
|
14
|
-
referenceElement:
|
|
15
|
-
floatingElement:
|
|
16
|
-
floatingId:
|
|
11
|
+
open: state => state.open,
|
|
12
|
+
transitionStatus: state => state.transitionStatus,
|
|
13
|
+
domReferenceElement: state => state.domReferenceElement,
|
|
14
|
+
referenceElement: state => state.positionReference ?? state.referenceElement,
|
|
15
|
+
floatingElement: state => state.floatingElement,
|
|
16
|
+
floatingId: state => state.floatingId
|
|
17
17
|
};
|
|
18
18
|
class FloatingRootStore extends _store.ReactStore {
|
|
19
19
|
constructor(options) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactStore } from '@base-ui/utils/store';
|
|
2
2
|
import { createEventEmitter } from "../utils/createEventEmitter.mjs";
|
|
3
3
|
import { isClickLikeEvent } from "../utils.mjs";
|
|
4
4
|
const selectors = {
|
|
5
|
-
open:
|
|
6
|
-
transitionStatus:
|
|
7
|
-
domReferenceElement:
|
|
8
|
-
referenceElement:
|
|
9
|
-
floatingElement:
|
|
10
|
-
floatingId:
|
|
5
|
+
open: state => state.open,
|
|
6
|
+
transitionStatus: state => state.transitionStatus,
|
|
7
|
+
domReferenceElement: state => state.domReferenceElement,
|
|
8
|
+
referenceElement: state => state.positionReference ?? state.referenceElement,
|
|
9
|
+
floatingElement: state => state.floatingElement,
|
|
10
|
+
floatingId: state => state.floatingId
|
|
11
11
|
};
|
|
12
12
|
export class FloatingRootStore extends ReactStore {
|
|
13
13
|
constructor(options) {
|
|
@@ -19,25 +19,7 @@ export interface FloatingNodeProps {
|
|
|
19
19
|
children?: React.ReactNode;
|
|
20
20
|
id: string | undefined;
|
|
21
21
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Provides parent node context for nested floating elements.
|
|
24
|
-
* @see https://floating-ui.com/docs/FloatingTree
|
|
25
|
-
* @internal
|
|
26
|
-
*/
|
|
27
|
-
export declare function FloatingNode(props: FloatingNodeProps): React.JSX.Element;
|
|
28
22
|
export interface FloatingTreeProps {
|
|
29
23
|
children?: React.ReactNode;
|
|
30
24
|
externalTree?: FloatingTreeStore | undefined;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Provides context for nested floating elements when they are not children of
|
|
34
|
-
* each other on the DOM.
|
|
35
|
-
* This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:
|
|
36
|
-
* - The `bubbles` option in the `useDismiss()` Hook
|
|
37
|
-
* - Nested virtual list navigation
|
|
38
|
-
* - Nested floating elements that each open on hover
|
|
39
|
-
* - Custom communication between parent and child floating elements
|
|
40
|
-
* @see https://floating-ui.com/docs/FloatingTree
|
|
41
|
-
* @internal
|
|
42
|
-
*/
|
|
43
|
-
export declare function FloatingTree(props: FloatingTreeProps): React.JSX.Element;
|
|
25
|
+
}
|
|
@@ -19,25 +19,7 @@ export interface FloatingNodeProps {
|
|
|
19
19
|
children?: React.ReactNode;
|
|
20
20
|
id: string | undefined;
|
|
21
21
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Provides parent node context for nested floating elements.
|
|
24
|
-
* @see https://floating-ui.com/docs/FloatingTree
|
|
25
|
-
* @internal
|
|
26
|
-
*/
|
|
27
|
-
export declare function FloatingNode(props: FloatingNodeProps): React.JSX.Element;
|
|
28
22
|
export interface FloatingTreeProps {
|
|
29
23
|
children?: React.ReactNode;
|
|
30
24
|
externalTree?: FloatingTreeStore | undefined;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Provides context for nested floating elements when they are not children of
|
|
34
|
-
* each other on the DOM.
|
|
35
|
-
* This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:
|
|
36
|
-
* - The `bubbles` option in the `useDismiss()` Hook
|
|
37
|
-
* - Nested virtual list navigation
|
|
38
|
-
* - Nested floating elements that each open on hover
|
|
39
|
-
* - Custom communication between parent and child floating elements
|
|
40
|
-
* @see https://floating-ui.com/docs/FloatingTree
|
|
41
|
-
* @internal
|
|
42
|
-
*/
|
|
43
|
-
export declare function FloatingTree(props: FloatingTreeProps): React.JSX.Element;
|
|
25
|
+
}
|