@base-ui/react 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +148 -1
- package/accordion/header/AccordionHeader.d.ts +4 -2
- package/accordion/item/AccordionItem.d.ts +10 -4
- package/accordion/item/AccordionItemContext.d.ts +2 -2
- package/accordion/item/stateAttributesMapping.d.ts +2 -2
- package/accordion/panel/AccordionPanel.d.ts +6 -3
- package/accordion/root/AccordionRoot.d.ts +19 -10
- package/accordion/root/AccordionRootContext.d.ts +7 -7
- package/accordion/trigger/AccordionTrigger.d.ts +4 -2
- package/accordion/trigger/AccordionTrigger.js +3 -1
- package/alert-dialog/root/AlertDialogRoot.d.ts +2 -0
- package/autocomplete/index.d.ts +1 -0
- package/autocomplete/index.parts.d.ts +1 -0
- package/autocomplete/index.parts.js +7 -0
- package/autocomplete/root/AutocompleteRoot.d.ts +4 -4
- package/autocomplete/root/AutocompleteRoot.js +4 -1
- package/avatar/fallback/AvatarFallback.d.ts +3 -6
- package/avatar/fallback/AvatarFallback.js +4 -32
- package/avatar/image/AvatarImage.d.ts +6 -3
- package/avatar/image/AvatarImage.js +2 -3
- package/avatar/image/AvatarImageDataAttributes.d.ts +10 -0
- package/avatar/image/AvatarImageDataAttributes.js +18 -0
- package/avatar/root/AvatarRoot.d.ts +4 -1
- package/checkbox/indicator/CheckboxIndicator.d.ts +6 -3
- package/checkbox/root/CheckboxRoot.d.ts +3 -3
- package/checkbox/root/CheckboxRoot.js +4 -1
- package/checkbox/root/CheckboxRootContext.d.ts +4 -4
- package/checkbox/utils/useStateAttributesMapping.d.ts +2 -2
- package/checkbox-group/CheckboxGroup.d.ts +3 -3
- package/checkbox-group/CheckboxGroupContext.d.ts +2 -2
- package/checkbox-group/useCheckboxGroupParent.d.ts +2 -5
- package/collapsible/panel/CollapsiblePanel.d.ts +6 -3
- package/collapsible/panel/useCollapsiblePanel.d.ts +2 -5
- package/collapsible/root/CollapsibleRoot.d.ts +3 -3
- package/collapsible/root/CollapsibleRootContext.d.ts +4 -4
- package/collapsible/root/stateAttributesMapping.d.ts +2 -2
- package/collapsible/root/useCollapsibleRoot.d.ts +2 -5
- package/collapsible/trigger/CollapsibleTrigger.d.ts +4 -2
- package/combobox/arrow/ComboboxArrow.d.ts +10 -1
- package/combobox/backdrop/ComboboxBackdrop.d.ts +4 -1
- package/combobox/chip/ComboboxChip.d.ts +1 -1
- package/combobox/chip-remove/ComboboxChipRemove.d.ts +1 -1
- package/combobox/chips/ComboboxChips.d.ts +1 -1
- package/combobox/clear/ComboboxClear.d.ts +4 -1
- package/combobox/collection/ComboboxCollection.d.ts +2 -0
- package/combobox/empty/ComboboxEmpty.d.ts +1 -1
- package/combobox/group/ComboboxGroup.d.ts +1 -1
- package/combobox/group-label/ComboboxGroupLabel.d.ts +1 -1
- package/combobox/icon/ComboboxIcon.d.ts +1 -1
- package/combobox/index.d.ts +2 -0
- package/combobox/index.parts.d.ts +2 -0
- package/combobox/index.parts.js +14 -0
- package/combobox/input/ComboboxInput.d.ts +3 -3
- package/combobox/input/ComboboxInput.js +22 -5
- package/combobox/input-group/ComboboxInputGroup.d.ts +40 -0
- package/combobox/input-group/ComboboxInputGroup.js +68 -0
- package/combobox/input-group/ComboboxInputGroupDataAttributes.d.ts +55 -0
- package/combobox/input-group/ComboboxInputGroupDataAttributes.js +62 -0
- package/combobox/item/ComboboxItem.d.ts +1 -1
- package/combobox/item/ComboboxItem.js +2 -1
- package/combobox/item-indicator/ComboboxItemIndicator.d.ts +7 -1
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +10 -0
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +18 -0
- package/combobox/label/ComboboxLabel.d.ts +16 -0
- package/combobox/label/ComboboxLabel.js +68 -0
- package/combobox/list/ComboboxList.d.ts +1 -1
- package/combobox/popup/ComboboxPopup.d.ts +21 -3
- package/combobox/popup/ComboboxPopup.js +10 -2
- package/combobox/portal/ComboboxPortal.d.ts +3 -4
- package/combobox/positioner/ComboboxPositioner.d.ts +14 -2
- package/combobox/positioner/ComboboxPositioner.js +3 -2
- package/combobox/root/AriaCombobox.d.ts +9 -8
- package/combobox/root/AriaCombobox.js +14 -6
- package/combobox/root/ComboboxRoot.d.ts +4 -4
- package/combobox/row/ComboboxRow.d.ts +1 -1
- package/combobox/status/ComboboxStatus.d.ts +1 -1
- package/combobox/store.d.ts +10 -4
- package/combobox/store.js +2 -0
- package/combobox/trigger/ComboboxTrigger.d.ts +3 -3
- package/combobox/trigger/ComboboxTrigger.js +5 -2
- package/combobox/utils/ComboboxInternalDismissButton.d.ts +5 -0
- package/combobox/utils/ComboboxInternalDismissButton.js +44 -0
- package/composite/item/CompositeItem.d.ts +3 -1
- package/composite/list/CompositeList.d.ts +3 -1
- package/composite/list/useCompositeListItem.d.ts +1 -1
- package/composite/root/CompositeRoot.d.ts +4 -2
- package/composite/root/useCompositeRoot.d.ts +1 -1
- package/context-menu/trigger/ContextMenuTrigger.d.ts +3 -3
- package/dialog/backdrop/DialogBackdrop.d.ts +4 -1
- package/dialog/close/DialogClose.d.ts +1 -1
- package/dialog/description/DialogDescription.d.ts +1 -1
- package/dialog/popup/DialogPopup.d.ts +6 -3
- package/dialog/portal/DialogPortal.d.ts +4 -5
- package/dialog/root/DialogRoot.d.ts +8 -3
- package/dialog/root/useDialogRoot.d.ts +3 -7
- package/dialog/root/useDialogRoot.js +2 -5
- package/dialog/title/DialogTitle.d.ts +1 -1
- package/dialog/trigger/DialogTrigger.d.ts +1 -1
- package/dialog/viewport/DialogViewport.d.ts +3 -0
- package/direction-provider/DirectionProvider.d.ts +2 -0
- package/drawer/backdrop/DrawerBackdrop.d.ts +4 -1
- package/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +18 -0
- package/drawer/backdrop/DrawerBackdropDataAttributes.js +26 -0
- package/drawer/close/DrawerClose.d.ts +1 -1
- package/drawer/content/DrawerContent.d.ts +1 -1
- package/drawer/content/DrawerContent.js +2 -1
- package/drawer/content/DrawerContentDataAttributes.d.ts +1 -0
- package/drawer/content/DrawerContentDataAttributes.js +7 -0
- package/drawer/description/DrawerDescription.d.ts +1 -1
- package/drawer/indent/DrawerIndent.d.ts +3 -2
- package/drawer/indent/DrawerIndent.js +2 -1
- package/drawer/indent-background/DrawerIndentBackground.d.ts +5 -3
- package/drawer/indent-background/DrawerIndentBackground.js +4 -2
- package/drawer/index.d.ts +2 -1
- package/drawer/index.js +3 -3
- package/drawer/index.parts.d.ts +1 -0
- package/drawer/index.parts.js +7 -0
- package/drawer/popup/DrawerPopup.d.ts +6 -3
- package/drawer/popup/DrawerPopup.js +59 -2
- package/drawer/popup/DrawerPopupDataAttributes.d.ts +16 -0
- package/drawer/popup/DrawerPopupDataAttributes.js +18 -1
- package/drawer/portal/DrawerPortal.d.ts +2 -2
- package/drawer/provider/DrawerProvider.d.ts +2 -2
- package/drawer/provider/DrawerProvider.js +2 -2
- package/drawer/root/DrawerRoot.d.ts +5 -3
- package/drawer/root/DrawerRoot.js +6 -2
- package/drawer/swipe-area/DrawerSwipeArea.d.ts +1 -1
- package/drawer/swipe-area/DrawerSwipeArea.js +12 -10
- package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.ts +23 -0
- package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.js +31 -0
- package/drawer/title/DrawerTitle.d.ts +1 -1
- package/drawer/trigger/DrawerTrigger.d.ts +1 -1
- package/drawer/viewport/DrawerViewport.d.ts +4 -1
- package/drawer/viewport/DrawerViewport.js +165 -43
- package/drawer/viewport/DrawerViewportDataAttributes.d.ts +22 -0
- package/drawer/viewport/DrawerViewportDataAttributes.js +30 -0
- package/esm/accordion/header/AccordionHeader.d.ts +4 -2
- package/esm/accordion/item/AccordionItem.d.ts +10 -4
- package/esm/accordion/item/AccordionItemContext.d.ts +2 -2
- package/esm/accordion/item/stateAttributesMapping.d.ts +2 -2
- package/esm/accordion/panel/AccordionPanel.d.ts +6 -3
- package/esm/accordion/root/AccordionRoot.d.ts +19 -10
- package/esm/accordion/root/AccordionRootContext.d.ts +7 -7
- package/esm/accordion/trigger/AccordionTrigger.d.ts +4 -2
- package/esm/accordion/trigger/AccordionTrigger.js +3 -1
- package/esm/alert-dialog/root/AlertDialogRoot.d.ts +2 -0
- package/esm/autocomplete/index.d.ts +1 -0
- package/esm/autocomplete/index.parts.d.ts +1 -0
- package/esm/autocomplete/index.parts.js +1 -0
- package/esm/autocomplete/root/AutocompleteRoot.d.ts +4 -4
- package/esm/autocomplete/root/AutocompleteRoot.js +4 -1
- package/esm/avatar/fallback/AvatarFallback.d.ts +3 -6
- package/esm/avatar/fallback/AvatarFallback.js +4 -31
- package/esm/avatar/image/AvatarImage.d.ts +6 -3
- package/esm/avatar/image/AvatarImage.js +2 -3
- package/esm/avatar/image/AvatarImageDataAttributes.d.ts +10 -0
- package/esm/avatar/image/AvatarImageDataAttributes.js +12 -0
- package/esm/avatar/root/AvatarRoot.d.ts +4 -1
- package/esm/checkbox/indicator/CheckboxIndicator.d.ts +6 -3
- package/esm/checkbox/root/CheckboxRoot.d.ts +3 -3
- package/esm/checkbox/root/CheckboxRoot.js +4 -1
- package/esm/checkbox/root/CheckboxRootContext.d.ts +4 -4
- package/esm/checkbox/utils/useStateAttributesMapping.d.ts +2 -2
- package/esm/checkbox-group/CheckboxGroup.d.ts +3 -3
- package/esm/checkbox-group/CheckboxGroupContext.d.ts +2 -2
- package/esm/checkbox-group/useCheckboxGroupParent.d.ts +2 -5
- package/esm/collapsible/panel/CollapsiblePanel.d.ts +6 -3
- package/esm/collapsible/panel/useCollapsiblePanel.d.ts +2 -5
- package/esm/collapsible/root/CollapsibleRoot.d.ts +3 -3
- package/esm/collapsible/root/CollapsibleRootContext.d.ts +4 -4
- package/esm/collapsible/root/stateAttributesMapping.d.ts +2 -2
- package/esm/collapsible/root/useCollapsibleRoot.d.ts +2 -5
- package/esm/collapsible/trigger/CollapsibleTrigger.d.ts +4 -2
- package/esm/combobox/arrow/ComboboxArrow.d.ts +10 -1
- package/esm/combobox/backdrop/ComboboxBackdrop.d.ts +4 -1
- package/esm/combobox/chip/ComboboxChip.d.ts +1 -1
- package/esm/combobox/chip-remove/ComboboxChipRemove.d.ts +1 -1
- package/esm/combobox/chips/ComboboxChips.d.ts +1 -1
- package/esm/combobox/clear/ComboboxClear.d.ts +4 -1
- package/esm/combobox/collection/ComboboxCollection.d.ts +2 -0
- package/esm/combobox/empty/ComboboxEmpty.d.ts +1 -1
- package/esm/combobox/group/ComboboxGroup.d.ts +1 -1
- package/esm/combobox/group-label/ComboboxGroupLabel.d.ts +1 -1
- package/esm/combobox/icon/ComboboxIcon.d.ts +1 -1
- package/esm/combobox/index.d.ts +2 -0
- package/esm/combobox/index.parts.d.ts +2 -0
- package/esm/combobox/index.parts.js +2 -0
- package/esm/combobox/input/ComboboxInput.d.ts +3 -3
- package/esm/combobox/input/ComboboxInput.js +22 -5
- package/esm/combobox/input-group/ComboboxInputGroup.d.ts +40 -0
- package/esm/combobox/input-group/ComboboxInputGroup.js +63 -0
- package/esm/combobox/input-group/ComboboxInputGroupDataAttributes.d.ts +55 -0
- package/esm/combobox/input-group/ComboboxInputGroupDataAttributes.js +56 -0
- package/esm/combobox/item/ComboboxItem.d.ts +1 -1
- package/esm/combobox/item/ComboboxItem.js +2 -1
- package/esm/combobox/item-indicator/ComboboxItemIndicator.d.ts +7 -1
- package/esm/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +10 -0
- package/esm/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +12 -0
- package/esm/combobox/label/ComboboxLabel.d.ts +16 -0
- package/esm/combobox/label/ComboboxLabel.js +63 -0
- package/esm/combobox/list/ComboboxList.d.ts +1 -1
- package/esm/combobox/popup/ComboboxPopup.d.ts +21 -3
- package/esm/combobox/popup/ComboboxPopup.js +11 -3
- package/esm/combobox/portal/ComboboxPortal.d.ts +3 -4
- package/esm/combobox/positioner/ComboboxPositioner.d.ts +14 -2
- package/esm/combobox/positioner/ComboboxPositioner.js +3 -2
- package/esm/combobox/root/AriaCombobox.d.ts +9 -8
- package/esm/combobox/root/AriaCombobox.js +14 -6
- package/esm/combobox/root/ComboboxRoot.d.ts +4 -4
- package/esm/combobox/row/ComboboxRow.d.ts +1 -1
- package/esm/combobox/status/ComboboxStatus.d.ts +1 -1
- package/esm/combobox/store.d.ts +10 -4
- package/esm/combobox/store.js +2 -0
- package/esm/combobox/trigger/ComboboxTrigger.d.ts +3 -3
- package/esm/combobox/trigger/ComboboxTrigger.js +5 -2
- package/esm/combobox/utils/ComboboxInternalDismissButton.d.ts +5 -0
- package/esm/combobox/utils/ComboboxInternalDismissButton.js +38 -0
- package/esm/composite/item/CompositeItem.d.ts +3 -1
- package/esm/composite/list/CompositeList.d.ts +3 -1
- package/esm/composite/list/useCompositeListItem.d.ts +1 -1
- package/esm/composite/root/CompositeRoot.d.ts +4 -2
- package/esm/composite/root/useCompositeRoot.d.ts +1 -1
- package/esm/context-menu/trigger/ContextMenuTrigger.d.ts +3 -3
- package/esm/dialog/backdrop/DialogBackdrop.d.ts +4 -1
- package/esm/dialog/close/DialogClose.d.ts +1 -1
- package/esm/dialog/description/DialogDescription.d.ts +1 -1
- package/esm/dialog/popup/DialogPopup.d.ts +6 -3
- package/esm/dialog/portal/DialogPortal.d.ts +4 -5
- package/esm/dialog/root/DialogRoot.d.ts +8 -3
- package/esm/dialog/root/useDialogRoot.d.ts +3 -7
- package/esm/dialog/root/useDialogRoot.js +2 -5
- package/esm/dialog/title/DialogTitle.d.ts +1 -1
- package/esm/dialog/trigger/DialogTrigger.d.ts +1 -1
- package/esm/dialog/viewport/DialogViewport.d.ts +3 -0
- package/esm/direction-provider/DirectionProvider.d.ts +2 -0
- package/esm/drawer/backdrop/DrawerBackdrop.d.ts +4 -1
- package/esm/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +18 -0
- package/esm/drawer/backdrop/DrawerBackdropDataAttributes.js +20 -0
- package/esm/drawer/close/DrawerClose.d.ts +1 -1
- package/esm/drawer/content/DrawerContent.d.ts +1 -1
- package/esm/drawer/content/DrawerContent.js +2 -1
- package/esm/drawer/content/DrawerContentDataAttributes.d.ts +1 -0
- package/esm/drawer/content/DrawerContentDataAttributes.js +1 -0
- package/esm/drawer/description/DrawerDescription.d.ts +1 -1
- package/esm/drawer/indent/DrawerIndent.d.ts +3 -2
- package/esm/drawer/indent/DrawerIndent.js +2 -1
- package/esm/drawer/indent-background/DrawerIndentBackground.d.ts +5 -3
- package/esm/drawer/indent-background/DrawerIndentBackground.js +4 -2
- package/esm/drawer/index.d.ts +2 -1
- package/esm/drawer/index.js +1 -1
- package/esm/drawer/index.parts.d.ts +1 -0
- package/esm/drawer/index.parts.js +1 -0
- package/esm/drawer/popup/DrawerPopup.d.ts +6 -3
- package/esm/drawer/popup/DrawerPopup.js +59 -2
- package/esm/drawer/popup/DrawerPopupDataAttributes.d.ts +16 -0
- package/esm/drawer/popup/DrawerPopupDataAttributes.js +18 -1
- package/esm/drawer/portal/DrawerPortal.d.ts +2 -2
- package/esm/drawer/provider/DrawerProvider.d.ts +2 -2
- package/esm/drawer/provider/DrawerProvider.js +2 -2
- package/esm/drawer/root/DrawerRoot.d.ts +5 -3
- package/esm/drawer/root/DrawerRoot.js +6 -2
- package/esm/drawer/swipe-area/DrawerSwipeArea.d.ts +1 -1
- package/esm/drawer/swipe-area/DrawerSwipeArea.js +12 -10
- package/esm/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.ts +23 -0
- package/esm/drawer/swipe-area/DrawerSwipeAreaDataAttributes.js +25 -0
- package/esm/drawer/title/DrawerTitle.d.ts +1 -1
- package/esm/drawer/trigger/DrawerTrigger.d.ts +1 -1
- package/esm/drawer/viewport/DrawerViewport.d.ts +4 -1
- package/esm/drawer/viewport/DrawerViewport.js +165 -43
- package/esm/drawer/viewport/DrawerViewportDataAttributes.d.ts +22 -0
- package/esm/drawer/viewport/DrawerViewportDataAttributes.js +24 -0
- package/esm/field/control/FieldControl.d.ts +3 -3
- package/esm/field/description/FieldDescription.d.ts +3 -3
- package/esm/field/error/FieldError.d.ts +7 -4
- package/esm/field/error/FieldErrorDataAttributes.d.ts +8 -0
- package/esm/field/error/FieldErrorDataAttributes.js +10 -1
- package/esm/field/item/FieldItem.d.ts +4 -3
- package/esm/field/item/FieldItem.js +2 -2
- package/esm/field/label/FieldLabel.d.ts +3 -3
- package/esm/field/label/FieldLabel.js +6 -51
- package/esm/field/root/FieldRoot.d.ts +19 -2
- package/esm/field/root/FieldRoot.js +2 -1
- package/esm/field/root/FieldRootContext.d.ts +2 -2
- package/esm/field/root/FieldRootContext.js +6 -13
- package/esm/field/root/useFieldValidation.js +5 -4
- package/esm/field/utils/constants.d.ts +3 -0
- package/esm/field/utils/constants.js +11 -0
- package/esm/field/validity/FieldValidity.d.ts +7 -1
- package/esm/fieldset/legend/FieldsetLegend.d.ts +1 -1
- package/esm/fieldset/root/FieldsetRoot.d.ts +1 -1
- package/esm/floating-ui-react/components/FloatingDelayGroup.js +1 -1
- package/esm/floating-ui-react/components/FloatingFocusManager.d.ts +12 -7
- package/esm/floating-ui-react/components/FloatingFocusManager.js +31 -27
- package/esm/floating-ui-react/components/FloatingPortal.d.ts +6 -4
- package/esm/floating-ui-react/hooks/useClick.d.ts +2 -2
- package/esm/floating-ui-react/hooks/useClientPoint.d.ts +1 -1
- package/esm/floating-ui-react/hooks/useDismiss.d.ts +8 -12
- package/esm/floating-ui-react/hooks/useDismiss.js +320 -261
- package/esm/floating-ui-react/hooks/useFloatingRootContext.d.ts +2 -2
- package/esm/floating-ui-react/hooks/useFocus.d.ts +1 -1
- package/esm/floating-ui-react/hooks/useHover.d.ts +6 -14
- package/esm/floating-ui-react/hooks/useHover.js +2 -27
- package/esm/floating-ui-react/hooks/useHoverFloatingInteraction.d.ts +2 -3
- package/esm/floating-ui-react/hooks/useHoverFloatingInteraction.js +55 -71
- package/esm/floating-ui-react/hooks/useHoverInteractionSharedState.d.ts +12 -3
- package/esm/floating-ui-react/hooks/useHoverInteractionSharedState.js +30 -3
- package/esm/floating-ui-react/hooks/useHoverReferenceInteraction.d.ts +8 -3
- package/esm/floating-ui-react/hooks/useHoverReferenceInteraction.js +59 -81
- package/esm/floating-ui-react/hooks/useHoverShared.d.ts +28 -0
- package/esm/floating-ui-react/hooks/useHoverShared.js +26 -0
- package/esm/floating-ui-react/hooks/useListNavigation.d.ts +4 -4
- package/esm/floating-ui-react/hooks/useListNavigation.js +7 -3
- package/esm/floating-ui-react/hooks/useRole.d.ts +1 -1
- package/esm/floating-ui-react/hooks/useTypeahead.d.ts +7 -1
- package/esm/floating-ui-react/hooks/useTypeahead.js +30 -14
- package/esm/floating-ui-react/safePolygon.d.ts +2 -6
- package/esm/floating-ui-react/safePolygon.js +149 -119
- package/esm/floating-ui-react/types.d.ts +5 -4
- package/esm/floating-ui-react/utils/composite.d.ts +1 -0
- package/esm/floating-ui-react/utils/composite.js +128 -129
- package/esm/floating-ui-react/utils/markOthers.d.ts +7 -1
- package/esm/floating-ui-react/utils/markOthers.js +119 -81
- package/esm/form/Form.d.ts +1 -1
- package/esm/global.d.ts +1 -1
- package/esm/index.js +1 -1
- package/esm/input/Input.d.ts +10 -3
- package/esm/labelable-provider/LabelableProvider.d.ts +4 -1
- package/esm/labelable-provider/LabelableProvider.js +3 -2
- package/esm/labelable-provider/useAriaLabelledBy.d.ts +9 -0
- package/esm/labelable-provider/useAriaLabelledBy.js +56 -0
- package/esm/labelable-provider/useLabel.d.ts +25 -0
- package/esm/labelable-provider/useLabel.js +74 -0
- package/esm/labelable-provider/useLabelableId.d.ts +2 -5
- package/esm/menu/arrow/MenuArrow.d.ts +10 -1
- package/esm/menu/backdrop/MenuBackdrop.d.ts +4 -1
- package/esm/menu/checkbox-item/MenuCheckboxItem.d.ts +3 -3
- package/esm/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.d.ts +7 -1
- package/esm/menu/group/MenuGroup.d.ts +1 -1
- package/esm/menu/group-label/MenuGroupLabel.d.ts +1 -1
- package/esm/menu/index.d.ts +2 -1
- package/esm/menu/index.parts.d.ts +1 -0
- package/esm/menu/index.parts.js +1 -0
- package/esm/menu/item/MenuItem.d.ts +1 -1
- package/esm/menu/item/useMenuItem.d.ts +8 -7
- package/esm/menu/item/useMenuItem.js +5 -7
- package/esm/menu/item/useMenuItemCommonProps.d.ts +7 -4
- package/esm/menu/item/useMenuItemCommonProps.js +16 -2
- package/esm/menu/link-item/MenuLinkItem.d.ts +1 -1
- package/esm/menu/link-item/MenuLinkItem.js +16 -2
- package/esm/menu/popup/MenuPopup.d.ts +20 -5
- package/esm/menu/popup/MenuPopup.js +4 -1
- package/esm/menu/popup/MenuPopupDataAttributes.d.ts +1 -1
- package/esm/menu/popup/MenuPopupDataAttributes.js +1 -1
- package/esm/menu/portal/MenuPortal.d.ts +3 -4
- package/esm/menu/positioner/MenuPositioner.d.ts +18 -2
- package/esm/menu/positioner/MenuPositioner.js +58 -5
- package/esm/menu/radio-group/MenuRadioGroup.d.ts +6 -3
- package/esm/menu/radio-item/MenuRadioItem.d.ts +3 -3
- package/esm/menu/radio-item-indicator/MenuRadioItemIndicator.d.ts +7 -1
- package/esm/menu/root/MenuRoot.d.ts +4 -2
- package/esm/menu/root/MenuRoot.js +2 -3
- package/esm/menu/store/MenuStore.d.ts +4 -2
- package/esm/menu/store/MenuStore.js +15 -1
- package/esm/menu/submenu-trigger/MenuSubmenuTrigger.js +1 -0
- package/esm/menu/trigger/MenuTrigger.d.ts +3 -3
- package/esm/menu/viewport/MenuViewport.d.ts +30 -0
- package/esm/menu/viewport/MenuViewport.js +60 -0
- package/esm/menu/viewport/MenuViewportCssVars.d.ts +14 -0
- package/esm/menu/viewport/MenuViewportCssVars.js +15 -0
- package/esm/menu/viewport/MenuViewportDataAttributes.d.ts +26 -0
- package/esm/menu/viewport/MenuViewportDataAttributes.js +27 -0
- package/esm/menubar/Menubar.d.ts +1 -1
- package/esm/menubar/Menubar.js +1 -7
- package/esm/meter/indicator/MeterIndicator.d.ts +4 -2
- package/esm/meter/label/MeterLabel.d.ts +4 -2
- package/esm/meter/label/MeterLabel.js +4 -8
- package/esm/meter/root/MeterRoot.d.ts +1 -1
- package/esm/meter/root/MeterRoot.js +11 -2
- package/esm/meter/track/MeterTrack.d.ts +4 -2
- package/esm/meter/value/MeterValue.d.ts +5 -3
- package/esm/navigation-menu/arrow/NavigationMenuArrow.d.ts +10 -1
- package/esm/navigation-menu/backdrop/NavigationMenuBackdrop.d.ts +1 -1
- package/esm/navigation-menu/content/NavigationMenuContent.d.ts +1 -1
- package/esm/navigation-menu/content/NavigationMenuContent.js +11 -0
- package/esm/navigation-menu/icon/NavigationMenuIcon.d.ts +1 -1
- package/esm/navigation-menu/item/NavigationMenuItem.d.ts +1 -1
- package/esm/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
- package/esm/navigation-menu/list/NavigationMenuList.d.ts +1 -1
- package/esm/navigation-menu/list/NavigationMenuList.js +11 -2
- package/esm/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
- package/esm/navigation-menu/portal/NavigationMenuPortal.d.ts +4 -5
- package/esm/navigation-menu/positioner/NavigationMenuPositioner.d.ts +11 -2
- package/esm/navigation-menu/root/NavigationMenuRoot.d.ts +4 -4
- package/esm/navigation-menu/root/NavigationMenuRoot.js +27 -8
- package/esm/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -1
- package/esm/navigation-menu/trigger/NavigationMenuTrigger.js +364 -20
- package/esm/navigation-menu/utils/isOutsideMenuEvent.d.ts +1 -1
- package/esm/navigation-menu/viewport/NavigationMenuViewport.d.ts +1 -1
- package/esm/navigation-menu/viewport/NavigationMenuViewport.js +0 -19
- package/esm/number-field/decrement/NumberFieldDecrement.d.ts +3 -3
- package/esm/number-field/group/NumberFieldGroup.d.ts +3 -3
- package/esm/number-field/increment/NumberFieldIncrement.d.ts +3 -3
- package/esm/number-field/input/NumberFieldInput.d.ts +3 -3
- package/esm/number-field/root/NumberFieldRoot.d.ts +4 -4
- package/esm/number-field/root/NumberFieldRoot.js +1 -1
- package/esm/number-field/root/NumberFieldRootContext.d.ts +2 -2
- package/esm/number-field/root/useNumberFieldButton.d.ts +2 -5
- package/esm/number-field/scrub-area/NumberFieldScrubArea.d.ts +4 -4
- package/esm/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.d.ts +3 -3
- package/esm/number-field/utils/stateAttributesMapping.d.ts +2 -2
- package/esm/number-field/utils/types.d.ts +2 -2
- package/esm/popover/arrow/PopoverArrow.d.ts +10 -1
- package/esm/popover/backdrop/PopoverBackdrop.d.ts +4 -1
- package/esm/popover/close/PopoverClose.d.ts +1 -1
- package/esm/popover/close/PopoverClose.js +5 -3
- package/esm/popover/description/PopoverDescription.d.ts +1 -1
- package/esm/popover/popup/PopoverPopup.d.ts +15 -3
- package/esm/popover/popup/PopoverPopup.js +11 -2
- package/esm/popover/portal/PopoverPortal.d.ts +3 -4
- package/esm/popover/positioner/PopoverPositioner.d.ts +11 -2
- package/esm/popover/root/PopoverRoot.d.ts +10 -3
- package/esm/popover/root/PopoverRoot.js +1 -3
- package/esm/popover/title/PopoverTitle.d.ts +1 -1
- package/esm/popover/viewport/PopoverViewport.d.ts +16 -12
- package/esm/preview-card/arrow/PreviewCardArrow.d.ts +10 -1
- package/esm/preview-card/backdrop/PreviewCardBackdrop.d.ts +4 -1
- package/esm/preview-card/popup/PreviewCardPopup.d.ts +13 -1
- package/esm/preview-card/portal/PreviewCardPortal.d.ts +3 -4
- package/esm/preview-card/positioner/PreviewCardPositioner.d.ts +14 -2
- package/esm/preview-card/positioner/PreviewCardPositioner.js +7 -1
- package/esm/preview-card/root/PreviewCardRoot.d.ts +3 -3
- package/esm/preview-card/root/PreviewCardRoot.js +22 -9
- package/esm/preview-card/trigger/PreviewCardTrigger.d.ts +1 -1
- package/esm/preview-card/viewport/PreviewCardViewport.d.ts +16 -9
- package/esm/progress/indicator/ProgressIndicator.d.ts +4 -2
- package/esm/progress/label/ProgressLabel.d.ts +4 -2
- package/esm/progress/label/ProgressLabel.js +4 -8
- package/esm/progress/root/ProgressRoot.d.ts +4 -1
- package/esm/progress/root/ProgressRoot.js +11 -2
- package/esm/progress/root/ProgressRootContext.d.ts +2 -2
- package/esm/progress/root/stateAttributesMapping.d.ts +2 -2
- package/esm/progress/track/ProgressTrack.d.ts +4 -2
- package/esm/progress/value/ProgressValue.d.ts +5 -3
- package/esm/radio/indicator/RadioIndicator.d.ts +4 -1
- package/esm/radio/indicator/RadioIndicatorDataAttributes.d.ts +8 -0
- package/esm/radio/indicator/RadioIndicatorDataAttributes.js +10 -1
- package/esm/radio/root/RadioRoot.d.ts +3 -3
- package/esm/radio/root/RadioRoot.js +4 -1
- package/esm/radio-group/RadioGroup.d.ts +3 -3
- package/esm/scroll-area/content/ScrollAreaContent.d.ts +3 -3
- package/esm/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
- package/esm/scroll-area/root/ScrollAreaRoot.d.ts +27 -11
- package/esm/scroll-area/root/ScrollAreaRoot.js +7 -4
- package/esm/scroll-area/root/ScrollAreaRootContext.d.ts +4 -2
- package/esm/scroll-area/root/stateAttributes.d.ts +2 -2
- package/esm/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +13 -7
- package/esm/scroll-area/scrollbar/ScrollAreaScrollbar.js +4 -1
- package/esm/scroll-area/thumb/ScrollAreaThumb.d.ts +5 -2
- package/esm/scroll-area/thumb/ScrollAreaThumb.js +3 -1
- package/esm/scroll-area/viewport/ScrollAreaViewport.d.ts +3 -3
- package/esm/scroll-area/viewport/ScrollAreaViewport.js +46 -27
- package/esm/select/arrow/SelectArrow.d.ts +10 -1
- package/esm/select/backdrop/SelectBackdrop.d.ts +7 -1
- package/esm/select/group/SelectGroup.d.ts +1 -1
- package/esm/select/group-label/SelectGroupLabel.d.ts +1 -1
- package/esm/select/icon/SelectIcon.d.ts +1 -1
- package/esm/select/index.d.ts +1 -0
- package/esm/select/index.parts.d.ts +1 -0
- package/esm/select/index.parts.js +1 -0
- package/esm/select/item/SelectItem.d.ts +1 -1
- package/esm/select/item/SelectItem.js +10 -4
- package/esm/select/item-indicator/SelectItemIndicator.d.ts +10 -2
- package/esm/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +10 -0
- package/esm/select/item-indicator/SelectItemIndicatorDataAttributes.js +12 -0
- package/esm/select/item-text/SelectItemText.d.ts +1 -1
- package/esm/select/label/SelectLabel.d.ts +16 -0
- package/esm/select/label/SelectLabel.js +49 -0
- package/esm/select/list/SelectList.d.ts +1 -1
- package/esm/select/popup/SelectPopup.d.ts +14 -2
- package/esm/select/popup/SelectPopup.js +23 -9
- package/esm/select/portal/SelectPortal.d.ts +3 -4
- package/esm/select/positioner/SelectPositioner.d.ts +14 -2
- package/esm/select/positioner/SelectPositionerContext.d.ts +2 -2
- package/esm/select/root/SelectRoot.d.ts +5 -4
- package/esm/select/root/SelectRoot.js +5 -6
- package/esm/select/scroll-arrow/SelectScrollArrow.d.ts +13 -1
- package/esm/select/scroll-down-arrow/SelectScrollDownArrow.d.ts +1 -1
- package/esm/select/scroll-up-arrow/SelectScrollUpArrow.d.ts +1 -1
- package/esm/select/store.d.ts +5 -2
- package/esm/select/store.js +1 -0
- package/esm/select/trigger/SelectTrigger.d.ts +6 -4
- package/esm/select/trigger/SelectTrigger.js +5 -2
- package/esm/select/value/SelectValue.d.ts +1 -1
- package/esm/separator/Separator.d.ts +1 -1
- package/esm/slider/control/SliderControl.d.ts +4 -3
- package/esm/slider/control/SliderControl.js +0 -2
- package/esm/slider/index.d.ts +1 -0
- package/esm/slider/index.parts.d.ts +1 -0
- package/esm/slider/index.parts.js +1 -0
- package/esm/slider/indicator/SliderIndicator.d.ts +4 -2
- package/esm/slider/label/SliderLabel.d.ts +16 -0
- package/esm/slider/label/SliderLabel.js +58 -0
- package/esm/slider/root/SliderRoot.d.ts +11 -5
- package/esm/slider/root/SliderRoot.js +8 -3
- package/esm/slider/root/SliderRootContext.d.ts +4 -2
- package/esm/slider/root/stateAttributesMapping.d.ts +2 -2
- package/esm/slider/thumb/SliderThumb.d.ts +5 -5
- package/esm/slider/thumb/SliderThumb.js +3 -2
- package/esm/slider/track/SliderTrack.d.ts +4 -2
- package/esm/slider/utils/resolveThumbCollision.d.ts +2 -2
- package/esm/slider/value/SliderValue.d.ts +5 -3
- package/esm/switch/root/SwitchRoot.d.ts +3 -3
- package/esm/switch/root/SwitchRoot.js +4 -1
- package/esm/switch/root/SwitchRootContext.d.ts +4 -4
- package/esm/switch/stateAttributesMapping.d.ts +2 -2
- package/esm/switch/thumb/SwitchThumb.d.ts +3 -3
- package/esm/tabs/indicator/TabsIndicator.d.ts +12 -3
- package/esm/tabs/indicator/TabsIndicator.js +5 -14
- package/esm/tabs/indicator/TabsIndicatorCssVars.d.ts +1 -1
- package/esm/tabs/indicator/TabsIndicatorCssVars.js +1 -1
- package/esm/tabs/list/TabsList.d.ts +3 -3
- package/esm/tabs/list/TabsList.js +48 -3
- package/esm/tabs/list/TabsListContext.d.ts +2 -0
- package/esm/tabs/panel/TabsPanel.d.ts +9 -3
- package/esm/tabs/panel/TabsPanelDataAttributes.d.ts +8 -0
- package/esm/tabs/panel/TabsPanelDataAttributes.js +10 -1
- package/esm/tabs/root/TabsRoot.d.ts +7 -1
- package/esm/tabs/root/TabsRootContext.d.ts +1 -1
- package/esm/tabs/root/stateAttributesMapping.d.ts +2 -2
- package/esm/tabs/tab/TabsTab.d.ts +7 -1
- package/esm/tabs/tab/TabsTab.js +10 -1
- package/esm/toast/action/ToastAction.d.ts +1 -1
- package/esm/toast/arrow/ToastArrow.d.ts +10 -1
- package/esm/toast/close/ToastClose.d.ts +1 -1
- package/esm/toast/content/ToastContent.d.ts +1 -1
- package/esm/toast/createToastManager.d.ts +1 -1
- package/esm/toast/description/ToastDescription.d.ts +1 -1
- package/esm/toast/portal/ToastPortal.d.ts +3 -4
- package/esm/toast/positioner/ToastPositioner.d.ts +12 -3
- package/esm/toast/provider/ToastProvider.d.ts +2 -0
- package/esm/toast/provider/ToastProvider.js +1 -1
- package/esm/toast/root/ToastRoot.d.ts +20 -7
- package/esm/toast/root/ToastRoot.js +3 -1
- package/esm/toast/store.d.ts +1 -1
- package/esm/toast/store.js +37 -8
- package/esm/toast/title/ToastTitle.d.ts +1 -1
- package/esm/toast/useToastManager.d.ts +3 -3
- package/esm/toast/viewport/ToastViewport.d.ts +1 -1
- package/esm/toggle/Toggle.d.ts +1 -1
- package/esm/toggle-group/ToggleGroup.d.ts +1 -1
- package/esm/toolbar/button/ToolbarButton.d.ts +9 -3
- package/esm/toolbar/group/ToolbarGroup.d.ts +4 -2
- package/esm/toolbar/input/ToolbarInput.d.ts +9 -3
- package/esm/toolbar/link/ToolbarLink.d.ts +4 -1
- package/esm/toolbar/root/ToolbarRoot.d.ts +7 -1
- package/esm/toolbar/separator/ToolbarSeparator.d.ts +4 -2
- package/esm/tooltip/arrow/TooltipArrow.d.ts +13 -1
- package/esm/tooltip/popup/TooltipPopup.d.ts +13 -1
- package/esm/tooltip/portal/TooltipPortal.d.ts +3 -4
- package/esm/tooltip/positioner/TooltipPositioner.d.ts +11 -2
- package/esm/tooltip/provider/TooltipProvider.d.ts +2 -0
- package/esm/tooltip/root/TooltipRoot.d.ts +3 -3
- package/esm/tooltip/root/TooltipRoot.js +1 -1
- package/esm/tooltip/store/TooltipStore.d.ts +2 -0
- package/esm/tooltip/store/TooltipStore.js +2 -0
- package/esm/tooltip/trigger/TooltipTrigger.d.ts +6 -1
- package/esm/tooltip/trigger/TooltipTrigger.js +5 -0
- package/esm/tooltip/viewport/TooltipViewport.d.ts +16 -12
- package/esm/types/index.d.ts +16 -1
- package/esm/unstable-use-media-query/index.d.ts +2 -0
- package/esm/use-button/useButton.d.ts +8 -5
- package/esm/use-button/useButton.js +49 -20
- package/esm/use-render/useRender.d.ts +7 -5
- package/esm/utils/FloatingPortalLite.d.ts +4 -2
- package/esm/utils/InternalBackdrop.d.ts +3 -1
- package/esm/utils/closePart.d.ts +16 -0
- package/esm/utils/closePart.js +40 -0
- package/esm/utils/constants.d.ts +4 -0
- package/esm/utils/constants.js +4 -0
- package/esm/utils/createBaseUIEventDetails.d.ts +1 -1
- package/esm/utils/getElementAtPoint.d.ts +1 -0
- package/esm/utils/getElementAtPoint.js +3 -0
- package/esm/utils/resolveAriaLabelledBy.d.ts +2 -0
- package/esm/utils/resolveAriaLabelledBy.js +8 -0
- package/esm/utils/resolveValueLabel.d.ts +4 -4
- package/esm/utils/resolveValueLabel.js +7 -5
- package/esm/utils/types.d.ts +7 -20
- package/esm/utils/useAnchorPositioning.d.ts +53 -18
- package/esm/utils/useAnchorPositioning.js +15 -6
- package/esm/utils/useFocusableWhenDisabled.d.ts +2 -5
- package/esm/utils/useMixedToggleClickHandler.d.ts +2 -4
- package/esm/utils/useOpenChangeComplete.d.ts +2 -4
- package/esm/utils/useOpenInteractionType.d.ts +0 -1
- package/esm/utils/useOpenInteractionType.js +7 -5
- package/esm/utils/usePopupAutoResize.js +1 -2
- package/esm/utils/usePopupViewport.js +11 -8
- package/esm/utils/useRegisteredLabelId.d.ts +1 -0
- package/esm/utils/useRegisteredLabelId.js +14 -0
- package/esm/utils/useRenderElement.d.ts +6 -9
- package/esm/utils/useRenderElement.js +15 -0
- package/esm/utils/useSwipeDismiss.d.ts +91 -92
- package/esm/utils/useSwipeDismiss.js +2 -1
- package/field/control/FieldControl.d.ts +3 -3
- package/field/description/FieldDescription.d.ts +3 -3
- package/field/error/FieldError.d.ts +7 -4
- package/field/error/FieldErrorDataAttributes.d.ts +8 -0
- package/field/error/FieldErrorDataAttributes.js +10 -1
- package/field/item/FieldItem.d.ts +4 -3
- package/field/item/FieldItem.js +2 -2
- package/field/label/FieldLabel.d.ts +3 -3
- package/field/label/FieldLabel.js +6 -51
- package/field/root/FieldRoot.d.ts +19 -2
- package/field/root/FieldRoot.js +2 -1
- package/field/root/FieldRootContext.d.ts +2 -2
- package/field/root/FieldRootContext.js +5 -12
- package/field/root/useFieldValidation.js +5 -4
- package/field/utils/constants.d.ts +3 -0
- package/field/utils/constants.js +12 -1
- package/field/validity/FieldValidity.d.ts +7 -1
- package/fieldset/legend/FieldsetLegend.d.ts +1 -1
- package/fieldset/root/FieldsetRoot.d.ts +1 -1
- package/floating-ui-react/components/FloatingDelayGroup.js +2 -2
- package/floating-ui-react/components/FloatingFocusManager.d.ts +12 -7
- package/floating-ui-react/components/FloatingFocusManager.js +29 -25
- package/floating-ui-react/components/FloatingPortal.d.ts +6 -4
- package/floating-ui-react/hooks/useClick.d.ts +2 -2
- package/floating-ui-react/hooks/useClientPoint.d.ts +1 -1
- package/floating-ui-react/hooks/useDismiss.d.ts +8 -12
- package/floating-ui-react/hooks/useDismiss.js +319 -260
- package/floating-ui-react/hooks/useFloatingRootContext.d.ts +2 -2
- package/floating-ui-react/hooks/useFocus.d.ts +1 -1
- package/floating-ui-react/hooks/useHover.d.ts +6 -14
- package/floating-ui-react/hooks/useHover.js +6 -32
- package/floating-ui-react/hooks/useHoverFloatingInteraction.d.ts +2 -3
- package/floating-ui-react/hooks/useHoverFloatingInteraction.js +53 -70
- package/floating-ui-react/hooks/useHoverInteractionSharedState.d.ts +12 -3
- package/floating-ui-react/hooks/useHoverInteractionSharedState.js +32 -4
- package/floating-ui-react/hooks/useHoverReferenceInteraction.d.ts +8 -3
- package/floating-ui-react/hooks/useHoverReferenceInteraction.js +60 -82
- package/floating-ui-react/hooks/useHoverShared.d.ts +28 -0
- package/floating-ui-react/hooks/useHoverShared.js +34 -0
- package/floating-ui-react/hooks/useListNavigation.d.ts +4 -4
- package/floating-ui-react/hooks/useListNavigation.js +7 -3
- package/floating-ui-react/hooks/useRole.d.ts +1 -1
- package/floating-ui-react/hooks/useTypeahead.d.ts +7 -1
- package/floating-ui-react/hooks/useTypeahead.js +29 -13
- package/floating-ui-react/safePolygon.d.ts +2 -6
- package/floating-ui-react/safePolygon.js +149 -119
- package/floating-ui-react/types.d.ts +5 -4
- package/floating-ui-react/utils/composite.d.ts +1 -0
- package/floating-ui-react/utils/composite.js +129 -129
- package/floating-ui-react/utils/markOthers.d.ts +7 -1
- package/floating-ui-react/utils/markOthers.js +118 -80
- package/form/Form.d.ts +1 -1
- package/global.d.ts +1 -1
- package/index.js +1 -1
- package/input/Input.d.ts +10 -3
- package/labelable-provider/LabelableProvider.d.ts +4 -1
- package/labelable-provider/LabelableProvider.js +3 -2
- package/labelable-provider/useAriaLabelledBy.d.ts +9 -0
- package/labelable-provider/useAriaLabelledBy.js +61 -0
- package/labelable-provider/useLabel.d.ts +25 -0
- package/labelable-provider/useLabel.js +80 -0
- package/labelable-provider/useLabelableId.d.ts +2 -5
- package/menu/arrow/MenuArrow.d.ts +10 -1
- package/menu/backdrop/MenuBackdrop.d.ts +4 -1
- package/menu/checkbox-item/MenuCheckboxItem.d.ts +3 -3
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.d.ts +7 -1
- package/menu/group/MenuGroup.d.ts +1 -1
- package/menu/group-label/MenuGroupLabel.d.ts +1 -1
- package/menu/index.d.ts +2 -1
- package/menu/index.parts.d.ts +1 -0
- package/menu/index.parts.js +7 -0
- package/menu/item/MenuItem.d.ts +1 -1
- package/menu/item/useMenuItem.d.ts +8 -7
- package/menu/item/useMenuItem.js +5 -7
- package/menu/item/useMenuItemCommonProps.d.ts +7 -4
- package/menu/item/useMenuItemCommonProps.js +16 -2
- package/menu/link-item/MenuLinkItem.d.ts +1 -1
- package/menu/link-item/MenuLinkItem.js +16 -2
- package/menu/popup/MenuPopup.d.ts +20 -5
- package/menu/popup/MenuPopup.js +4 -1
- package/menu/popup/MenuPopupDataAttributes.d.ts +1 -1
- package/menu/popup/MenuPopupDataAttributes.js +1 -1
- package/menu/portal/MenuPortal.d.ts +3 -4
- package/menu/positioner/MenuPositioner.d.ts +18 -2
- package/menu/positioner/MenuPositioner.js +56 -4
- package/menu/radio-group/MenuRadioGroup.d.ts +6 -3
- package/menu/radio-item/MenuRadioItem.d.ts +3 -3
- package/menu/radio-item-indicator/MenuRadioItemIndicator.d.ts +7 -1
- package/menu/root/MenuRoot.d.ts +4 -2
- package/menu/root/MenuRoot.js +2 -3
- package/menu/store/MenuStore.d.ts +4 -2
- package/menu/store/MenuStore.js +15 -1
- package/menu/submenu-trigger/MenuSubmenuTrigger.js +1 -0
- package/menu/trigger/MenuTrigger.d.ts +3 -3
- package/menu/viewport/MenuViewport.d.ts +30 -0
- package/menu/viewport/MenuViewport.js +66 -0
- package/menu/viewport/MenuViewportCssVars.d.ts +14 -0
- package/menu/viewport/MenuViewportCssVars.js +21 -0
- package/menu/viewport/MenuViewportDataAttributes.d.ts +26 -0
- package/menu/viewport/MenuViewportDataAttributes.js +33 -0
- package/menubar/Menubar.d.ts +1 -1
- package/menubar/Menubar.js +1 -7
- package/meter/indicator/MeterIndicator.d.ts +4 -2
- package/meter/label/MeterLabel.d.ts +4 -2
- package/meter/label/MeterLabel.js +4 -8
- package/meter/root/MeterRoot.d.ts +1 -1
- package/meter/root/MeterRoot.js +10 -1
- package/meter/track/MeterTrack.d.ts +4 -2
- package/meter/value/MeterValue.d.ts +5 -3
- package/navigation-menu/arrow/NavigationMenuArrow.d.ts +10 -1
- package/navigation-menu/backdrop/NavigationMenuBackdrop.d.ts +1 -1
- package/navigation-menu/content/NavigationMenuContent.d.ts +1 -1
- package/navigation-menu/content/NavigationMenuContent.js +11 -0
- package/navigation-menu/icon/NavigationMenuIcon.d.ts +1 -1
- package/navigation-menu/item/NavigationMenuItem.d.ts +1 -1
- package/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
- package/navigation-menu/list/NavigationMenuList.d.ts +1 -1
- package/navigation-menu/list/NavigationMenuList.js +10 -1
- package/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
- package/navigation-menu/portal/NavigationMenuPortal.d.ts +4 -5
- package/navigation-menu/positioner/NavigationMenuPositioner.d.ts +11 -2
- package/navigation-menu/root/NavigationMenuRoot.d.ts +4 -4
- package/navigation-menu/root/NavigationMenuRoot.js +26 -7
- package/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -1
- package/navigation-menu/trigger/NavigationMenuTrigger.js +362 -17
- package/navigation-menu/utils/isOutsideMenuEvent.d.ts +1 -1
- package/navigation-menu/viewport/NavigationMenuViewport.d.ts +1 -1
- package/navigation-menu/viewport/NavigationMenuViewport.js +0 -19
- package/number-field/decrement/NumberFieldDecrement.d.ts +3 -3
- package/number-field/group/NumberFieldGroup.d.ts +3 -3
- package/number-field/increment/NumberFieldIncrement.d.ts +3 -3
- package/number-field/input/NumberFieldInput.d.ts +3 -3
- package/number-field/root/NumberFieldRoot.d.ts +4 -4
- package/number-field/root/NumberFieldRoot.js +1 -1
- package/number-field/root/NumberFieldRootContext.d.ts +2 -2
- package/number-field/root/useNumberFieldButton.d.ts +2 -5
- package/number-field/scrub-area/NumberFieldScrubArea.d.ts +4 -4
- package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.d.ts +3 -3
- package/number-field/utils/stateAttributesMapping.d.ts +2 -2
- package/number-field/utils/types.d.ts +2 -2
- package/package.json +183 -7
- package/popover/arrow/PopoverArrow.d.ts +10 -1
- package/popover/backdrop/PopoverBackdrop.d.ts +4 -1
- package/popover/close/PopoverClose.d.ts +1 -1
- package/popover/close/PopoverClose.js +5 -3
- package/popover/description/PopoverDescription.d.ts +1 -1
- package/popover/popup/PopoverPopup.d.ts +15 -3
- package/popover/popup/PopoverPopup.js +11 -2
- package/popover/portal/PopoverPortal.d.ts +3 -4
- package/popover/positioner/PopoverPositioner.d.ts +11 -2
- package/popover/root/PopoverRoot.d.ts +10 -3
- package/popover/root/PopoverRoot.js +1 -3
- package/popover/title/PopoverTitle.d.ts +1 -1
- package/popover/viewport/PopoverViewport.d.ts +16 -12
- package/preview-card/arrow/PreviewCardArrow.d.ts +10 -1
- package/preview-card/backdrop/PreviewCardBackdrop.d.ts +4 -1
- package/preview-card/popup/PreviewCardPopup.d.ts +13 -1
- package/preview-card/portal/PreviewCardPortal.d.ts +3 -4
- package/preview-card/positioner/PreviewCardPositioner.d.ts +14 -2
- package/preview-card/positioner/PreviewCardPositioner.js +7 -1
- package/preview-card/root/PreviewCardRoot.d.ts +3 -3
- package/preview-card/root/PreviewCardRoot.js +20 -7
- package/preview-card/trigger/PreviewCardTrigger.d.ts +1 -1
- package/preview-card/viewport/PreviewCardViewport.d.ts +16 -9
- package/progress/indicator/ProgressIndicator.d.ts +4 -2
- package/progress/label/ProgressLabel.d.ts +4 -2
- package/progress/label/ProgressLabel.js +4 -8
- package/progress/root/ProgressRoot.d.ts +4 -1
- package/progress/root/ProgressRoot.js +10 -1
- package/progress/root/ProgressRootContext.d.ts +2 -2
- package/progress/root/stateAttributesMapping.d.ts +2 -2
- package/progress/track/ProgressTrack.d.ts +4 -2
- package/progress/value/ProgressValue.d.ts +5 -3
- package/radio/indicator/RadioIndicator.d.ts +4 -1
- package/radio/indicator/RadioIndicatorDataAttributes.d.ts +8 -0
- package/radio/indicator/RadioIndicatorDataAttributes.js +10 -1
- package/radio/root/RadioRoot.d.ts +3 -3
- package/radio/root/RadioRoot.js +4 -1
- package/radio-group/RadioGroup.d.ts +3 -3
- package/scroll-area/content/ScrollAreaContent.d.ts +3 -3
- package/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
- package/scroll-area/root/ScrollAreaRoot.d.ts +27 -11
- package/scroll-area/root/ScrollAreaRoot.js +7 -4
- package/scroll-area/root/ScrollAreaRootContext.d.ts +4 -2
- package/scroll-area/root/stateAttributes.d.ts +2 -2
- package/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +13 -7
- package/scroll-area/scrollbar/ScrollAreaScrollbar.js +4 -1
- package/scroll-area/thumb/ScrollAreaThumb.d.ts +5 -2
- package/scroll-area/thumb/ScrollAreaThumb.js +3 -1
- package/scroll-area/viewport/ScrollAreaViewport.d.ts +3 -3
- package/scroll-area/viewport/ScrollAreaViewport.js +46 -27
- package/select/arrow/SelectArrow.d.ts +10 -1
- package/select/backdrop/SelectBackdrop.d.ts +7 -1
- package/select/group/SelectGroup.d.ts +1 -1
- package/select/group-label/SelectGroupLabel.d.ts +1 -1
- package/select/icon/SelectIcon.d.ts +1 -1
- package/select/index.d.ts +1 -0
- package/select/index.parts.d.ts +1 -0
- package/select/index.parts.js +7 -0
- package/select/item/SelectItem.d.ts +1 -1
- package/select/item/SelectItem.js +10 -4
- package/select/item-indicator/SelectItemIndicator.d.ts +10 -2
- package/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +10 -0
- package/select/item-indicator/SelectItemIndicatorDataAttributes.js +18 -0
- package/select/item-text/SelectItemText.d.ts +1 -1
- package/select/label/SelectLabel.d.ts +16 -0
- package/select/label/SelectLabel.js +54 -0
- package/select/list/SelectList.d.ts +1 -1
- package/select/popup/SelectPopup.d.ts +14 -2
- package/select/popup/SelectPopup.js +26 -12
- package/select/portal/SelectPortal.d.ts +3 -4
- package/select/positioner/SelectPositioner.d.ts +14 -2
- package/select/positioner/SelectPositionerContext.d.ts +2 -2
- package/select/root/SelectRoot.d.ts +5 -4
- package/select/root/SelectRoot.js +5 -6
- package/select/scroll-arrow/SelectScrollArrow.d.ts +13 -1
- package/select/scroll-down-arrow/SelectScrollDownArrow.d.ts +1 -1
- package/select/scroll-up-arrow/SelectScrollUpArrow.d.ts +1 -1
- package/select/store.d.ts +5 -2
- package/select/store.js +1 -0
- package/select/trigger/SelectTrigger.d.ts +6 -4
- package/select/trigger/SelectTrigger.js +5 -2
- package/select/value/SelectValue.d.ts +1 -1
- package/separator/Separator.d.ts +1 -1
- package/slider/control/SliderControl.d.ts +4 -3
- package/slider/control/SliderControl.js +0 -2
- package/slider/index.d.ts +1 -0
- package/slider/index.parts.d.ts +1 -0
- package/slider/index.parts.js +7 -0
- package/slider/indicator/SliderIndicator.d.ts +4 -2
- package/slider/label/SliderLabel.d.ts +16 -0
- package/slider/label/SliderLabel.js +63 -0
- package/slider/root/SliderRoot.d.ts +11 -5
- package/slider/root/SliderRoot.js +8 -3
- package/slider/root/SliderRootContext.d.ts +4 -2
- package/slider/root/stateAttributesMapping.d.ts +2 -2
- package/slider/thumb/SliderThumb.d.ts +5 -5
- package/slider/thumb/SliderThumb.js +3 -2
- package/slider/track/SliderTrack.d.ts +4 -2
- package/slider/utils/resolveThumbCollision.d.ts +2 -2
- package/slider/value/SliderValue.d.ts +5 -3
- package/switch/root/SwitchRoot.d.ts +3 -3
- package/switch/root/SwitchRoot.js +4 -1
- package/switch/root/SwitchRootContext.d.ts +4 -4
- package/switch/stateAttributesMapping.d.ts +2 -2
- package/switch/thumb/SwitchThumb.d.ts +3 -3
- package/tabs/indicator/TabsIndicator.d.ts +12 -3
- package/tabs/indicator/TabsIndicator.js +5 -14
- package/tabs/indicator/TabsIndicatorCssVars.d.ts +1 -1
- package/tabs/indicator/TabsIndicatorCssVars.js +1 -1
- package/tabs/list/TabsList.d.ts +3 -3
- package/tabs/list/TabsList.js +48 -3
- package/tabs/list/TabsListContext.d.ts +2 -0
- package/tabs/panel/TabsPanel.d.ts +9 -3
- package/tabs/panel/TabsPanelDataAttributes.d.ts +8 -0
- package/tabs/panel/TabsPanelDataAttributes.js +10 -1
- package/tabs/root/TabsRoot.d.ts +7 -1
- package/tabs/root/TabsRootContext.d.ts +1 -1
- package/tabs/root/stateAttributesMapping.d.ts +2 -2
- package/tabs/tab/TabsTab.d.ts +7 -1
- package/tabs/tab/TabsTab.js +10 -1
- package/toast/action/ToastAction.d.ts +1 -1
- package/toast/arrow/ToastArrow.d.ts +10 -1
- package/toast/close/ToastClose.d.ts +1 -1
- package/toast/content/ToastContent.d.ts +1 -1
- package/toast/createToastManager.d.ts +1 -1
- package/toast/description/ToastDescription.d.ts +1 -1
- package/toast/portal/ToastPortal.d.ts +3 -4
- package/toast/positioner/ToastPositioner.d.ts +12 -3
- package/toast/provider/ToastProvider.d.ts +2 -0
- package/toast/provider/ToastProvider.js +1 -1
- package/toast/root/ToastRoot.d.ts +20 -7
- package/toast/root/ToastRoot.js +3 -1
- package/toast/store.d.ts +1 -1
- package/toast/store.js +37 -8
- package/toast/title/ToastTitle.d.ts +1 -1
- package/toast/useToastManager.d.ts +3 -3
- package/toast/viewport/ToastViewport.d.ts +1 -1
- package/toggle/Toggle.d.ts +1 -1
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toolbar/button/ToolbarButton.d.ts +9 -3
- package/toolbar/group/ToolbarGroup.d.ts +4 -2
- package/toolbar/input/ToolbarInput.d.ts +9 -3
- package/toolbar/link/ToolbarLink.d.ts +4 -1
- package/toolbar/root/ToolbarRoot.d.ts +7 -1
- package/toolbar/separator/ToolbarSeparator.d.ts +4 -2
- package/tooltip/arrow/TooltipArrow.d.ts +13 -1
- package/tooltip/popup/TooltipPopup.d.ts +13 -1
- package/tooltip/portal/TooltipPortal.d.ts +3 -4
- package/tooltip/positioner/TooltipPositioner.d.ts +11 -2
- package/tooltip/provider/TooltipProvider.d.ts +2 -0
- package/tooltip/root/TooltipRoot.d.ts +3 -3
- package/tooltip/root/TooltipRoot.js +1 -1
- package/tooltip/store/TooltipStore.d.ts +2 -0
- package/tooltip/store/TooltipStore.js +2 -0
- package/tooltip/trigger/TooltipTrigger.d.ts +6 -1
- package/tooltip/trigger/TooltipTrigger.js +5 -0
- package/tooltip/viewport/TooltipViewport.d.ts +16 -12
- package/types/index.d.ts +16 -1
- package/unstable-use-media-query/index.d.ts +2 -0
- package/use-button/useButton.d.ts +8 -5
- package/use-button/useButton.js +49 -20
- package/use-render/useRender.d.ts +7 -5
- package/utils/FloatingPortalLite.d.ts +4 -2
- package/utils/InternalBackdrop.d.ts +3 -1
- package/utils/closePart.d.ts +16 -0
- package/utils/closePart.js +48 -0
- package/utils/constants.d.ts +4 -0
- package/utils/constants.js +6 -2
- package/utils/createBaseUIEventDetails.d.ts +1 -1
- package/utils/getElementAtPoint.d.ts +1 -0
- package/utils/getElementAtPoint.js +9 -0
- package/utils/resolveAriaLabelledBy.d.ts +2 -0
- package/utils/resolveAriaLabelledBy.js +14 -0
- package/utils/resolveValueLabel.d.ts +4 -4
- package/utils/resolveValueLabel.js +7 -5
- package/utils/types.d.ts +7 -20
- package/utils/useAnchorPositioning.d.ts +53 -18
- package/utils/useAnchorPositioning.js +15 -6
- package/utils/useFocusableWhenDisabled.d.ts +2 -5
- package/utils/useMixedToggleClickHandler.d.ts +2 -4
- package/utils/useOpenChangeComplete.d.ts +2 -4
- package/utils/useOpenInteractionType.d.ts +0 -1
- package/utils/useOpenInteractionType.js +7 -5
- package/utils/usePopupAutoResize.js +1 -2
- package/utils/usePopupViewport.js +11 -8
- package/utils/useRegisteredLabelId.d.ts +1 -0
- package/utils/useRegisteredLabelId.js +19 -0
- package/utils/useRenderElement.d.ts +6 -9
- package/utils/useRenderElement.js +15 -0
- package/utils/useSwipeDismiss.d.ts +91 -92
- package/utils/useSwipeDismiss.js +2 -1
- package/esm/navigation-menu/utils/setFixedSize.d.ts +0 -1
- package/esm/navigation-menu/utils/setFixedSize.js +0 -11
- package/navigation-menu/utils/setFixedSize.d.ts +0 -1
- package/navigation-menu/utils/setFixedSize.js +0 -17
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { type Align, type Side, type UseAnchorPositioningSharedParameters } from "../../utils/useAnchorPositioning.js";
|
|
3
3
|
import { BaseUIComponentProps } from "../../utils/types.js";
|
|
4
4
|
/**
|
|
5
5
|
* Positions the menu popup against the trigger.
|
|
@@ -13,12 +13,28 @@ export interface MenuPositionerState {
|
|
|
13
13
|
* Whether the menu is currently open.
|
|
14
14
|
*/
|
|
15
15
|
open: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The side of the anchor the component is placed on.
|
|
18
|
+
*/
|
|
16
19
|
side: Side;
|
|
20
|
+
/**
|
|
21
|
+
* The alignment of the component relative to the anchor.
|
|
22
|
+
*/
|
|
17
23
|
align: Align;
|
|
24
|
+
/**
|
|
25
|
+
* Whether the anchor element is hidden.
|
|
26
|
+
*/
|
|
18
27
|
anchorHidden: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the component is nested.
|
|
30
|
+
*/
|
|
19
31
|
nested: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Whether CSS transitions should be disabled.
|
|
34
|
+
*/
|
|
35
|
+
instant: string | undefined;
|
|
20
36
|
}
|
|
21
|
-
export interface MenuPositionerProps extends
|
|
37
|
+
export interface MenuPositionerProps extends UseAnchorPositioningSharedParameters, BaseUIComponentProps<'div', MenuPositionerState> {}
|
|
22
38
|
export declare namespace MenuPositioner {
|
|
23
39
|
type State = MenuPositionerState;
|
|
24
40
|
type Props = MenuPositionerProps;
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { inertValue } from '@base-ui/utils/inertValue';
|
|
5
|
+
import { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';
|
|
6
|
+
import { useTimeout } from '@base-ui/utils/useTimeout';
|
|
5
7
|
import { FloatingNode } from "../../floating-ui-react/index.js";
|
|
6
8
|
import { MenuPositionerContext } from "./MenuPositionerContext.js";
|
|
7
9
|
import { useMenuRootContext } from "../root/MenuRootContext.js";
|
|
@@ -16,13 +18,16 @@ import { getDisabledMountTransitionStyles } from "../../utils/getDisabledMountTr
|
|
|
16
18
|
import { useContextMenuRootContext } from "../../context-menu/root/ContextMenuRootContext.js";
|
|
17
19
|
import { createChangeEventDetails } from "../../utils/createBaseUIEventDetails.js";
|
|
18
20
|
import { REASONS } from "../../utils/reasons.js";
|
|
19
|
-
import {
|
|
21
|
+
import { adaptiveOrigin } from "../../utils/adaptiveOriginMiddleware.js";
|
|
22
|
+
import { useAnimationsFinished } from "../../utils/useAnimationsFinished.js";
|
|
23
|
+
|
|
20
24
|
/**
|
|
21
25
|
* Positions the menu popup against the trigger.
|
|
22
26
|
* Renders a `<div>` element.
|
|
23
27
|
*
|
|
24
28
|
* Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)
|
|
25
29
|
*/
|
|
30
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
26
31
|
export const MenuPositioner = /*#__PURE__*/React.forwardRef(function MenuPositioner(componentProps, forwardedRef) {
|
|
27
32
|
const {
|
|
28
33
|
anchor: anchorProp,
|
|
@@ -54,9 +59,15 @@ export const MenuPositioner = /*#__PURE__*/React.forwardRef(function MenuPositio
|
|
|
54
59
|
const modal = store.useState('modal');
|
|
55
60
|
const triggerElement = store.useState('activeTriggerElement');
|
|
56
61
|
const transitionStatus = store.useState('transitionStatus');
|
|
62
|
+
const positionerElement = store.useState('positionerElement');
|
|
63
|
+
const instantType = store.useState('instantType');
|
|
64
|
+
const hasViewport = store.useState('hasViewport');
|
|
57
65
|
const lastOpenChangeReason = store.useState('lastOpenChangeReason');
|
|
58
66
|
const floatingNodeId = store.useState('floatingNodeId');
|
|
59
67
|
const floatingParentNodeId = store.useState('floatingParentNodeId');
|
|
68
|
+
const domReference = floatingRootContext.useState('domReferenceElement');
|
|
69
|
+
const previousTriggerRef = React.useRef(null);
|
|
70
|
+
const runOnceAnimationsFinish = useAnimationsFinished(positionerElement, false, false);
|
|
60
71
|
let anchor = anchorProp;
|
|
61
72
|
let sideOffset = sideOffsetProp;
|
|
62
73
|
let alignOffset = alignOffsetProp;
|
|
@@ -99,7 +110,8 @@ export const MenuPositioner = /*#__PURE__*/React.forwardRef(function MenuPositio
|
|
|
99
110
|
disableAnchorTracking,
|
|
100
111
|
collisionAvoidance,
|
|
101
112
|
shiftCrossAxis: contextMenu && !('side' in collisionAvoidance && collisionAvoidance.side === 'flip'),
|
|
102
|
-
externalTree: floatingTreeRoot
|
|
113
|
+
externalTree: floatingTreeRoot,
|
|
114
|
+
adaptiveOrigin: hasViewport ? adaptiveOrigin : undefined
|
|
103
115
|
});
|
|
104
116
|
const positionerProps = React.useMemo(() => {
|
|
105
117
|
const hiddenStyles = {};
|
|
@@ -147,6 +159,14 @@ export const MenuPositioner = /*#__PURE__*/React.forwardRef(function MenuPositio
|
|
|
147
159
|
floatingTreeRoot.events.off('menuopenchange', onParentClose);
|
|
148
160
|
};
|
|
149
161
|
}, [floatingTreeRoot.events, store]);
|
|
162
|
+
const closeTimeout = useTimeout();
|
|
163
|
+
|
|
164
|
+
// Clear pending close timeout when the menu closes.
|
|
165
|
+
React.useEffect(() => {
|
|
166
|
+
if (!open) {
|
|
167
|
+
closeTimeout.clear();
|
|
168
|
+
}
|
|
169
|
+
}, [open, closeTimeout]);
|
|
150
170
|
|
|
151
171
|
// Close unrelated child submenus when hovering a different item in the parent menu.
|
|
152
172
|
React.useEffect(() => {
|
|
@@ -157,14 +177,26 @@ export const MenuPositioner = /*#__PURE__*/React.forwardRef(function MenuPositio
|
|
|
157
177
|
return;
|
|
158
178
|
}
|
|
159
179
|
if (event.target && triggerElement && triggerElement !== event.target) {
|
|
160
|
-
store.
|
|
180
|
+
const delay = store.select('closeDelay');
|
|
181
|
+
if (delay > 0) {
|
|
182
|
+
if (!closeTimeout.isStarted()) {
|
|
183
|
+
closeTimeout.start(delay, () => {
|
|
184
|
+
store.setOpen(false, createChangeEventDetails(REASONS.siblingOpen));
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
} else {
|
|
188
|
+
store.setOpen(false, createChangeEventDetails(REASONS.siblingOpen));
|
|
189
|
+
}
|
|
190
|
+
} else {
|
|
191
|
+
// User re-hovered the submenu trigger, cancel pending close.
|
|
192
|
+
closeTimeout.clear();
|
|
161
193
|
}
|
|
162
194
|
}
|
|
163
195
|
floatingTreeRoot.events.on('itemhover', onItemHover);
|
|
164
196
|
return () => {
|
|
165
197
|
floatingTreeRoot.events.off('itemhover', onItemHover);
|
|
166
198
|
};
|
|
167
|
-
}, [floatingTreeRoot.events, open, triggerElement, store]);
|
|
199
|
+
}, [floatingTreeRoot.events, open, triggerElement, store, closeTimeout]);
|
|
168
200
|
React.useEffect(() => {
|
|
169
201
|
const eventDetails = {
|
|
170
202
|
open,
|
|
@@ -174,12 +206,33 @@ export const MenuPositioner = /*#__PURE__*/React.forwardRef(function MenuPositio
|
|
|
174
206
|
};
|
|
175
207
|
floatingTreeRoot.events.emit('menuopenchange', eventDetails);
|
|
176
208
|
}, [floatingTreeRoot.events, open, store, floatingNodeId, floatingParentNodeId]);
|
|
209
|
+
|
|
210
|
+
// Keep positioner transition behavior aligned with Popover when switching detached triggers.
|
|
211
|
+
useIsoLayoutEffect(() => {
|
|
212
|
+
const currentTrigger = domReference;
|
|
213
|
+
const previousTrigger = previousTriggerRef.current;
|
|
214
|
+
if (currentTrigger) {
|
|
215
|
+
previousTriggerRef.current = currentTrigger;
|
|
216
|
+
}
|
|
217
|
+
if (previousTrigger && currentTrigger && currentTrigger !== previousTrigger) {
|
|
218
|
+
store.set('instantType', undefined);
|
|
219
|
+
const abortController = new AbortController();
|
|
220
|
+
runOnceAnimationsFinish(() => {
|
|
221
|
+
store.set('instantType', 'trigger-change');
|
|
222
|
+
}, abortController.signal);
|
|
223
|
+
return () => {
|
|
224
|
+
abortController.abort();
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
return undefined;
|
|
228
|
+
}, [domReference, runOnceAnimationsFinish, store]);
|
|
177
229
|
const state = {
|
|
178
230
|
open,
|
|
179
231
|
side: positioner.side,
|
|
180
232
|
align: positioner.align,
|
|
181
233
|
anchorHidden: positioner.anchorHidden,
|
|
182
|
-
nested: parent.type === 'menu'
|
|
234
|
+
nested: parent.type === 'menu',
|
|
235
|
+
instant: instantType
|
|
183
236
|
};
|
|
184
237
|
const contextValue = React.useMemo(() => ({
|
|
185
238
|
side: positioner.side,
|
|
@@ -8,7 +8,7 @@ import type { MenuRoot } from "../root/MenuRoot.js";
|
|
|
8
8
|
* Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)
|
|
9
9
|
*/
|
|
10
10
|
export declare const MenuRadioGroup: React.NamedExoticComponent<Omit<MenuRadioGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
-
export interface MenuRadioGroupProps extends BaseUIComponentProps<'div',
|
|
11
|
+
export interface MenuRadioGroupProps extends BaseUIComponentProps<'div', MenuRadioGroupState> {
|
|
12
12
|
/**
|
|
13
13
|
* The content of the component.
|
|
14
14
|
*/
|
|
@@ -36,9 +36,12 @@ export interface MenuRadioGroupProps extends BaseUIComponentProps<'div', MenuRad
|
|
|
36
36
|
*/
|
|
37
37
|
disabled?: boolean | undefined;
|
|
38
38
|
}
|
|
39
|
-
export
|
|
39
|
+
export interface MenuRadioGroupState {
|
|
40
|
+
/**
|
|
41
|
+
* Whether the component is disabled.
|
|
42
|
+
*/
|
|
40
43
|
disabled: boolean;
|
|
41
|
-
}
|
|
44
|
+
}
|
|
42
45
|
export type MenuRadioGroupChangeEventReason = MenuRoot.ChangeEventReason;
|
|
43
46
|
export type MenuRadioGroupChangeEventDetails = MenuRoot.ChangeEventDetails;
|
|
44
47
|
export declare namespace MenuRadioGroup {
|
|
@@ -7,7 +7,7 @@ import type { BaseUIComponentProps, NonNativeButtonProps } from "../../utils/typ
|
|
|
7
7
|
* Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)
|
|
8
8
|
*/
|
|
9
9
|
export declare const MenuRadioItem: React.ForwardRefExoticComponent<Omit<MenuRadioItemProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
10
|
-
export
|
|
10
|
+
export interface MenuRadioItemState {
|
|
11
11
|
/**
|
|
12
12
|
* Whether the radio item should ignore user interaction.
|
|
13
13
|
*/
|
|
@@ -20,8 +20,8 @@ export type MenuRadioItemState = {
|
|
|
20
20
|
* Whether the radio item is currently selected.
|
|
21
21
|
*/
|
|
22
22
|
checked: boolean;
|
|
23
|
-
}
|
|
24
|
-
export interface MenuRadioItemProps extends NonNativeButtonProps, BaseUIComponentProps<'div',
|
|
23
|
+
}
|
|
24
|
+
export interface MenuRadioItemProps extends NonNativeButtonProps, BaseUIComponentProps<'div', MenuRadioItemState> {
|
|
25
25
|
/**
|
|
26
26
|
* Value of the radio item.
|
|
27
27
|
* This is the value that will be set in the MenuRadioGroup when the item is selected.
|
|
@@ -8,7 +8,7 @@ import { TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
8
8
|
* Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)
|
|
9
9
|
*/
|
|
10
10
|
export declare const MenuRadioItemIndicator: React.ForwardRefExoticComponent<Omit<MenuRadioItemIndicatorProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
11
|
-
export interface MenuRadioItemIndicatorProps extends BaseUIComponentProps<'span',
|
|
11
|
+
export interface MenuRadioItemIndicatorProps extends BaseUIComponentProps<'span', MenuRadioItemIndicatorState> {
|
|
12
12
|
/**
|
|
13
13
|
* Whether to keep the HTML element in the DOM when the radio item is inactive.
|
|
14
14
|
* @default false
|
|
@@ -24,7 +24,13 @@ export interface MenuRadioItemIndicatorState {
|
|
|
24
24
|
* Whether the component should ignore user interaction.
|
|
25
25
|
*/
|
|
26
26
|
disabled: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Whether the item is highlighted.
|
|
29
|
+
*/
|
|
27
30
|
highlighted: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* The transition status of the component.
|
|
33
|
+
*/
|
|
28
34
|
transitionStatus: TransitionStatus;
|
|
29
35
|
}
|
|
30
36
|
export declare namespace MenuRadioItemIndicator {
|
|
@@ -14,6 +14,7 @@ import { PayloadChildRenderFunction } from "../../utils/popups/index.js";
|
|
|
14
14
|
* Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)
|
|
15
15
|
*/
|
|
16
16
|
export declare const MenuRoot: <Payload>(props: MenuRoot.Props<Payload>) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export interface MenuRootState {}
|
|
17
18
|
export interface MenuRootProps<Payload = unknown> {
|
|
18
19
|
/**
|
|
19
20
|
* Whether the menu is initially open.
|
|
@@ -83,12 +84,12 @@ export interface MenuRootProps<Payload = unknown> {
|
|
|
83
84
|
* This is useful in conjunction with the `open` prop to create a controlled popover.
|
|
84
85
|
* There's no need to specify this prop when the popover is uncontrolled (i.e. when the `open` prop is not set).
|
|
85
86
|
*/
|
|
86
|
-
triggerId?:
|
|
87
|
+
triggerId?: string | null | undefined;
|
|
87
88
|
/**
|
|
88
89
|
* ID of the trigger that the popover is associated with.
|
|
89
90
|
* This is useful in conjunction with the `defaultOpen` prop to create an initially open popover.
|
|
90
91
|
*/
|
|
91
|
-
defaultTriggerId?:
|
|
92
|
+
defaultTriggerId?: string | null | undefined;
|
|
92
93
|
/**
|
|
93
94
|
* A handle to associate the menu with a trigger.
|
|
94
95
|
* If specified, allows external triggers to control the menu's open state.
|
|
@@ -126,6 +127,7 @@ export type MenuParent = {
|
|
|
126
127
|
type: undefined;
|
|
127
128
|
};
|
|
128
129
|
export declare namespace MenuRoot {
|
|
130
|
+
type State = MenuRootState;
|
|
129
131
|
type Props<Payload = unknown> = MenuRootProps<Payload>;
|
|
130
132
|
type Actions = MenuRootActions;
|
|
131
133
|
type ChangeEventReason = MenuRootChangeEventReason;
|
|
@@ -147,8 +147,7 @@ export const MenuRoot = fastComponent(function MenuRoot(props) {
|
|
|
147
147
|
});
|
|
148
148
|
const {
|
|
149
149
|
openMethod,
|
|
150
|
-
triggerProps: interactionTypeProps
|
|
151
|
-
reset: resetOpenInteractionType
|
|
150
|
+
triggerProps: interactionTypeProps
|
|
152
151
|
} = useOpenInteractionType(open);
|
|
153
152
|
useImplicitActiveTrigger(store);
|
|
154
153
|
const {
|
|
@@ -158,7 +157,6 @@ export const MenuRoot = fastComponent(function MenuRoot(props) {
|
|
|
158
157
|
allowMouseEnter: false,
|
|
159
158
|
stickIfOpen: true
|
|
160
159
|
});
|
|
161
|
-
resetOpenInteractionType();
|
|
162
160
|
});
|
|
163
161
|
const allowOutsidePressDismissalRef = React.useRef(parent.type !== 'context-menu');
|
|
164
162
|
const allowOutsidePressDismissalTimeout = useTimeout();
|
|
@@ -349,6 +347,7 @@ export const MenuRoot = fastComponent(function MenuRoot(props) {
|
|
|
349
347
|
}, [store]);
|
|
350
348
|
const typeahead = useTypeahead(floatingRootContext, {
|
|
351
349
|
listRef: store.context.itemLabels,
|
|
350
|
+
elementsRef: store.context.itemDomElements,
|
|
352
351
|
activeIndex,
|
|
353
352
|
resetMs: TYPEAHEAD_RESET_MS,
|
|
354
353
|
onMatch: index => {
|
|
@@ -13,7 +13,7 @@ export type State<Payload> = PopupStoreState<Payload> & {
|
|
|
13
13
|
activeIndex: number | null;
|
|
14
14
|
hoverEnabled: boolean;
|
|
15
15
|
stickIfOpen: boolean;
|
|
16
|
-
instantType: 'dismiss' | 'click' | 'group' | undefined;
|
|
16
|
+
instantType: 'dismiss' | 'click' | 'group' | 'trigger-change' | undefined;
|
|
17
17
|
openChangeReason: MenuRoot.ChangeEventReason | null;
|
|
18
18
|
floatingTreeRoot: FloatingTreeStore;
|
|
19
19
|
floatingNodeId: string | undefined;
|
|
@@ -21,6 +21,7 @@ export type State<Payload> = PopupStoreState<Payload> & {
|
|
|
21
21
|
itemProps: HTMLProps;
|
|
22
22
|
closeDelay: number;
|
|
23
23
|
keyboardEventRelay: ((event: React.KeyboardEvent<any>) => void) | undefined;
|
|
24
|
+
hasViewport: boolean;
|
|
24
25
|
};
|
|
25
26
|
type Context = PopupStoreContext<MenuRoot.ChangeEventDetails> & {
|
|
26
27
|
readonly positionerRef: React.RefObject<HTMLElement | null>;
|
|
@@ -42,13 +43,14 @@ declare const selectors: {
|
|
|
42
43
|
activeIndex: (state: State<unknown>) => number | null;
|
|
43
44
|
isActive: (state: State<unknown>, itemIndex: number) => boolean;
|
|
44
45
|
hoverEnabled: (state: State<unknown>) => boolean;
|
|
45
|
-
instantType: (state: State<unknown>) => "group" | "click" | "dismiss" | undefined;
|
|
46
|
+
instantType: (state: State<unknown>) => "group" | "click" | "dismiss" | "trigger-change" | undefined;
|
|
46
47
|
lastOpenChangeReason: (state: State<unknown>) => import("../index.js").MenuRootChangeEventReason | null;
|
|
47
48
|
floatingTreeRoot: (state: State<unknown>) => FloatingTreeStore;
|
|
48
49
|
floatingNodeId: (state: State<unknown>) => string | undefined;
|
|
49
50
|
floatingParentNodeId: (state: State<unknown>) => string | null;
|
|
50
51
|
itemProps: (state: State<unknown>) => HTMLProps;
|
|
51
52
|
closeDelay: (state: State<unknown>) => number;
|
|
53
|
+
hasViewport: (state: State<unknown>) => boolean;
|
|
52
54
|
keyboardEventRelay: (state: State<unknown>) => React.KeyboardEventHandler<any> | undefined;
|
|
53
55
|
open: (state: {
|
|
54
56
|
open: boolean;
|
|
@@ -32,6 +32,7 @@ const selectors = {
|
|
|
32
32
|
floatingParentNodeId: createSelector(state => state.floatingParentNodeId),
|
|
33
33
|
itemProps: createSelector(state => state.itemProps),
|
|
34
34
|
closeDelay: createSelector(state => state.closeDelay),
|
|
35
|
+
hasViewport: createSelector(state => state.hasViewport),
|
|
35
36
|
keyboardEventRelay: createSelector(state => {
|
|
36
37
|
if (state.keyboardEventRelay) {
|
|
37
38
|
return state.keyboardEventRelay;
|
|
@@ -72,7 +73,19 @@ export class MenuStore extends ReactStore {
|
|
|
72
73
|
this.unsubscribeParentListener = this.observe('parent', parent => {
|
|
73
74
|
this.unsubscribeParentListener?.();
|
|
74
75
|
if (parent.type === 'menu') {
|
|
76
|
+
let rootId = parent.store.select('rootId');
|
|
77
|
+
let floatingTreeRoot = parent.store.select('floatingTreeRoot');
|
|
78
|
+
let keyboardEventRelay = parent.store.select('keyboardEventRelay');
|
|
75
79
|
this.unsubscribeParentListener = parent.store.subscribe(() => {
|
|
80
|
+
const nextRootId = parent.store.select('rootId');
|
|
81
|
+
const nextFloatingTreeRoot = parent.store.select('floatingTreeRoot');
|
|
82
|
+
const nextKeyboardEventRelay = parent.store.select('keyboardEventRelay');
|
|
83
|
+
if (rootId === nextRootId && floatingTreeRoot === nextFloatingTreeRoot && keyboardEventRelay === nextKeyboardEventRelay) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
rootId = nextRootId;
|
|
87
|
+
floatingTreeRoot = nextFloatingTreeRoot;
|
|
88
|
+
keyboardEventRelay = nextKeyboardEventRelay;
|
|
76
89
|
this.notifyAll();
|
|
77
90
|
});
|
|
78
91
|
this.context.allowMouseUpTriggerRef = parent.store.context.allowMouseUpTriggerRef;
|
|
@@ -119,6 +132,7 @@ function createInitialState() {
|
|
|
119
132
|
floatingParentNodeId: null,
|
|
120
133
|
itemProps: EMPTY_OBJECT,
|
|
121
134
|
keyboardEventRelay: undefined,
|
|
122
|
-
closeDelay: 0
|
|
135
|
+
closeDelay: 0,
|
|
136
|
+
hasViewport: false
|
|
123
137
|
};
|
|
124
138
|
}
|
|
@@ -11,7 +11,7 @@ export declare const MenuTrigger: MenuTrigger;
|
|
|
11
11
|
export interface MenuTrigger {
|
|
12
12
|
<Payload>(componentProps: MenuTriggerProps<Payload> & React.RefAttributes<HTMLElement>): React.JSX.Element;
|
|
13
13
|
}
|
|
14
|
-
export interface MenuTriggerProps<Payload = unknown> extends NativeButtonProps, BaseUIComponentProps<'button',
|
|
14
|
+
export interface MenuTriggerProps<Payload = unknown> extends NativeButtonProps, BaseUIComponentProps<'button', MenuTriggerState> {
|
|
15
15
|
children?: React.ReactNode;
|
|
16
16
|
/**
|
|
17
17
|
* Whether the component should ignore user interaction.
|
|
@@ -46,7 +46,7 @@ export interface MenuTriggerProps<Payload = unknown> extends NativeButtonProps,
|
|
|
46
46
|
*/
|
|
47
47
|
openOnHover?: boolean | undefined;
|
|
48
48
|
}
|
|
49
|
-
export
|
|
49
|
+
export interface MenuTriggerState {
|
|
50
50
|
/**
|
|
51
51
|
* Whether the menu is currently open.
|
|
52
52
|
*/
|
|
@@ -55,7 +55,7 @@ export type MenuTriggerState = {
|
|
|
55
55
|
* Whether the trigger is disabled.
|
|
56
56
|
*/
|
|
57
57
|
disabled: boolean;
|
|
58
|
-
}
|
|
58
|
+
}
|
|
59
59
|
export declare namespace MenuTrigger {
|
|
60
60
|
type Props<Payload = unknown> = MenuTriggerProps<Payload>;
|
|
61
61
|
type State = MenuTriggerState;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { BaseUIComponentProps } from "../../utils/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* A viewport for displaying content transitions.
|
|
5
|
+
* This component is only required if one popup can be opened by multiple triggers, its content change based on the trigger
|
|
6
|
+
* and switching between them is animated.
|
|
7
|
+
* Renders a `<div>` element.
|
|
8
|
+
*
|
|
9
|
+
* Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)
|
|
10
|
+
*/
|
|
11
|
+
export declare const MenuViewport: React.ForwardRefExoticComponent<Omit<MenuViewport.Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export declare namespace MenuViewport {
|
|
13
|
+
interface Props extends BaseUIComponentProps<'div', State> {
|
|
14
|
+
/**
|
|
15
|
+
* The content to render inside the transition container.
|
|
16
|
+
*/
|
|
17
|
+
children?: React.ReactNode;
|
|
18
|
+
}
|
|
19
|
+
interface State {
|
|
20
|
+
activationDirection: string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Whether the viewport is currently transitioning between contents.
|
|
23
|
+
*/
|
|
24
|
+
transitioning: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Present if animations should be instant.
|
|
27
|
+
*/
|
|
28
|
+
instant: 'dismiss' | 'click' | 'group' | 'trigger-change' | undefined;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { useMenuRootContext } from "../root/MenuRootContext.js";
|
|
5
|
+
import { useMenuPositionerContext } from "../positioner/MenuPositionerContext.js";
|
|
6
|
+
import { useRenderElement } from "../../utils/useRenderElement.js";
|
|
7
|
+
import { usePopupViewport } from "../../utils/usePopupViewport.js";
|
|
8
|
+
import { MenuViewportCssVars } from "./MenuViewportCssVars.js";
|
|
9
|
+
const stateAttributesMapping = {
|
|
10
|
+
activationDirection: value => value ? {
|
|
11
|
+
'data-activation-direction': value
|
|
12
|
+
} : null
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* A viewport for displaying content transitions.
|
|
17
|
+
* This component is only required if one popup can be opened by multiple triggers, its content change based on the trigger
|
|
18
|
+
* and switching between them is animated.
|
|
19
|
+
* Renders a `<div>` element.
|
|
20
|
+
*
|
|
21
|
+
* Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)
|
|
22
|
+
*/
|
|
23
|
+
export const MenuViewport = /*#__PURE__*/React.forwardRef(function MenuViewport(componentProps, forwardedRef) {
|
|
24
|
+
const {
|
|
25
|
+
render,
|
|
26
|
+
className,
|
|
27
|
+
children,
|
|
28
|
+
...elementProps
|
|
29
|
+
} = componentProps;
|
|
30
|
+
const {
|
|
31
|
+
store
|
|
32
|
+
} = useMenuRootContext();
|
|
33
|
+
const {
|
|
34
|
+
side
|
|
35
|
+
} = useMenuPositionerContext();
|
|
36
|
+
const instantType = store.useState('instantType');
|
|
37
|
+
const {
|
|
38
|
+
children: childrenToRender,
|
|
39
|
+
state: viewportState
|
|
40
|
+
} = usePopupViewport({
|
|
41
|
+
store,
|
|
42
|
+
side,
|
|
43
|
+
cssVars: MenuViewportCssVars,
|
|
44
|
+
children
|
|
45
|
+
});
|
|
46
|
+
const state = {
|
|
47
|
+
activationDirection: viewportState.activationDirection,
|
|
48
|
+
transitioning: viewportState.transitioning,
|
|
49
|
+
instant: instantType
|
|
50
|
+
};
|
|
51
|
+
return useRenderElement('div', componentProps, {
|
|
52
|
+
state,
|
|
53
|
+
ref: forwardedRef,
|
|
54
|
+
props: [elementProps, {
|
|
55
|
+
children: childrenToRender
|
|
56
|
+
}],
|
|
57
|
+
stateAttributesMapping
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
if (process.env.NODE_ENV !== "production") MenuViewport.displayName = "MenuViewport";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare enum MenuViewportCssVars {
|
|
2
|
+
/**
|
|
3
|
+
* The width of the parent popup.
|
|
4
|
+
* This variable is placed on the 'previous' container and stores the width of the popup when the previous content was rendered.
|
|
5
|
+
* It can be used to freeze the dimensions of the popup when animating between different content.
|
|
6
|
+
*/
|
|
7
|
+
popupWidth = "--popup-width",
|
|
8
|
+
/**
|
|
9
|
+
* The height of the parent popup.
|
|
10
|
+
* This variable is placed on the 'previous' container and stores the height of the popup when the previous content was rendered.
|
|
11
|
+
* It can be used to freeze the dimensions of the popup when animating between different content.
|
|
12
|
+
*/
|
|
13
|
+
popupHeight = "--popup-height",
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export let MenuViewportCssVars = /*#__PURE__*/function (MenuViewportCssVars) {
|
|
2
|
+
/**
|
|
3
|
+
* The width of the parent popup.
|
|
4
|
+
* This variable is placed on the 'previous' container and stores the width of the popup when the previous content was rendered.
|
|
5
|
+
* It can be used to freeze the dimensions of the popup when animating between different content.
|
|
6
|
+
*/
|
|
7
|
+
MenuViewportCssVars["popupWidth"] = "--popup-width";
|
|
8
|
+
/**
|
|
9
|
+
* The height of the parent popup.
|
|
10
|
+
* This variable is placed on the 'previous' container and stores the height of the popup when the previous content was rendered.
|
|
11
|
+
* It can be used to freeze the dimensions of the popup when animating between different content.
|
|
12
|
+
*/
|
|
13
|
+
MenuViewportCssVars["popupHeight"] = "--popup-height";
|
|
14
|
+
return MenuViewportCssVars;
|
|
15
|
+
}({});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare enum MenuViewportDataAttributes {
|
|
2
|
+
/**
|
|
3
|
+
* Applied to the direct child of the viewport when no transitions are present or the new content when it's entering.
|
|
4
|
+
*/
|
|
5
|
+
current = "data-current",
|
|
6
|
+
/**
|
|
7
|
+
* Applied to the direct child of the viewport that contains the exiting content when transitions are present.
|
|
8
|
+
*/
|
|
9
|
+
previous = "data-previous",
|
|
10
|
+
/**
|
|
11
|
+
* Indicates the direction from which the popup was activated.
|
|
12
|
+
* This can be used to create directional animations based on how the popup was triggered.
|
|
13
|
+
* Contains space-separated values for both horizontal and vertical axes.
|
|
14
|
+
* @type {`${'left' | 'right'} {'down' | 'up'}`}
|
|
15
|
+
*/
|
|
16
|
+
activationDirection = "data-activation-direction",
|
|
17
|
+
/**
|
|
18
|
+
* Indicates that the viewport is currently transitioning between old and new content.
|
|
19
|
+
*/
|
|
20
|
+
transitioning = "data-transitioning",
|
|
21
|
+
/**
|
|
22
|
+
* Present if animations should be instant.
|
|
23
|
+
* @type {'click' | 'dismiss' | 'group' | 'trigger-change'}
|
|
24
|
+
*/
|
|
25
|
+
instant = "data-instant",
|
|
26
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export let MenuViewportDataAttributes = /*#__PURE__*/function (MenuViewportDataAttributes) {
|
|
2
|
+
/**
|
|
3
|
+
* Applied to the direct child of the viewport when no transitions are present or the new content when it's entering.
|
|
4
|
+
*/
|
|
5
|
+
MenuViewportDataAttributes["current"] = "data-current";
|
|
6
|
+
/**
|
|
7
|
+
* Applied to the direct child of the viewport that contains the exiting content when transitions are present.
|
|
8
|
+
*/
|
|
9
|
+
MenuViewportDataAttributes["previous"] = "data-previous";
|
|
10
|
+
/**
|
|
11
|
+
* Indicates the direction from which the popup was activated.
|
|
12
|
+
* This can be used to create directional animations based on how the popup was triggered.
|
|
13
|
+
* Contains space-separated values for both horizontal and vertical axes.
|
|
14
|
+
* @type {`${'left' | 'right'} {'down' | 'up'}`}
|
|
15
|
+
*/
|
|
16
|
+
MenuViewportDataAttributes["activationDirection"] = "data-activation-direction";
|
|
17
|
+
/**
|
|
18
|
+
* Indicates that the viewport is currently transitioning between old and new content.
|
|
19
|
+
*/
|
|
20
|
+
MenuViewportDataAttributes["transitioning"] = "data-transitioning";
|
|
21
|
+
/**
|
|
22
|
+
* Present if animations should be instant.
|
|
23
|
+
* @type {'click' | 'dismiss' | 'group' | 'trigger-change'}
|
|
24
|
+
*/
|
|
25
|
+
MenuViewportDataAttributes["instant"] = "data-instant";
|
|
26
|
+
return MenuViewportDataAttributes;
|
|
27
|
+
}({});
|
package/esm/menubar/Menubar.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export interface MenubarState {
|
|
|
21
21
|
*/
|
|
22
22
|
hasSubmenuOpen: boolean;
|
|
23
23
|
}
|
|
24
|
-
export interface MenubarProps extends BaseUIComponentProps<'div',
|
|
24
|
+
export interface MenubarProps extends BaseUIComponentProps<'div', MenubarState> {
|
|
25
25
|
/**
|
|
26
26
|
* Whether the menubar is modal.
|
|
27
27
|
* @default true
|
package/esm/menubar/Menubar.js
CHANGED
|
@@ -36,14 +36,8 @@ export const Menubar = /*#__PURE__*/React.forwardRef(function Menubar(props, for
|
|
|
36
36
|
const [hasSubmenuOpen, setHasSubmenuOpen] = React.useState(false);
|
|
37
37
|
const {
|
|
38
38
|
openMethod,
|
|
39
|
-
triggerProps: interactionTypeProps
|
|
40
|
-
reset: resetOpenInteractionType
|
|
39
|
+
triggerProps: interactionTypeProps
|
|
41
40
|
} = useOpenInteractionType(hasSubmenuOpen);
|
|
42
|
-
React.useEffect(() => {
|
|
43
|
-
if (!hasSubmenuOpen) {
|
|
44
|
-
resetOpenInteractionType();
|
|
45
|
-
}
|
|
46
|
-
}, [hasSubmenuOpen, resetOpenInteractionType]);
|
|
47
41
|
useScrollLock(modal && hasSubmenuOpen && openMethod !== 'touch', contentElement);
|
|
48
42
|
const id = useBaseUiId(idProp);
|
|
49
43
|
const state = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { BaseUIComponentProps } from "../../utils/types.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { MeterRootState } from "../root/MeterRoot.js";
|
|
4
4
|
/**
|
|
5
5
|
* Visualizes the position of the value along the range.
|
|
6
6
|
* Renders a `<div>` element.
|
|
@@ -8,7 +8,9 @@ import type { MeterRoot } from "../root/MeterRoot.js";
|
|
|
8
8
|
* Documentation: [Base UI Meter](https://base-ui.com/react/components/meter)
|
|
9
9
|
*/
|
|
10
10
|
export declare const MeterIndicator: React.ForwardRefExoticComponent<Omit<MeterIndicatorProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
-
export interface
|
|
11
|
+
export interface MeterIndicatorState extends MeterRootState {}
|
|
12
|
+
export interface MeterIndicatorProps extends BaseUIComponentProps<'div', MeterIndicatorState> {}
|
|
12
13
|
export declare namespace MeterIndicator {
|
|
14
|
+
type State = MeterIndicatorState;
|
|
13
15
|
type Props = MeterIndicatorProps;
|
|
14
16
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { MeterRootState } from "../root/MeterRoot.js";
|
|
3
3
|
import { BaseUIComponentProps } from "../../utils/types.js";
|
|
4
4
|
/**
|
|
5
5
|
* An accessible label for the meter.
|
|
@@ -8,7 +8,9 @@ import { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
8
8
|
* Documentation: [Base UI Meter](https://base-ui.com/react/components/meter)
|
|
9
9
|
*/
|
|
10
10
|
export declare const MeterLabel: React.ForwardRefExoticComponent<Omit<MeterLabelProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
11
|
-
export interface
|
|
11
|
+
export interface MeterLabelState extends MeterRootState {}
|
|
12
|
+
export interface MeterLabelProps extends BaseUIComponentProps<'span', MeterLabelState> {}
|
|
12
13
|
export declare namespace MeterLabel {
|
|
14
|
+
type State = MeterLabelState;
|
|
13
15
|
type Props = MeterLabelProps;
|
|
14
16
|
}
|