@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;
|
|
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.MenuPositioner = void 0;
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _inertValue = require("@base-ui/utils/inertValue");
|
|
11
|
+
var _useIsoLayoutEffect = require("@base-ui/utils/useIsoLayoutEffect");
|
|
12
|
+
var _useTimeout = require("@base-ui/utils/useTimeout");
|
|
11
13
|
var _floatingUiReact = require("../../floating-ui-react");
|
|
12
14
|
var _MenuPositionerContext = require("./MenuPositionerContext");
|
|
13
15
|
var _MenuRootContext = require("../root/MenuRootContext");
|
|
@@ -22,6 +24,8 @@ var _getDisabledMountTransitionStyles = require("../../utils/getDisabledMountTra
|
|
|
22
24
|
var _ContextMenuRootContext = require("../../context-menu/root/ContextMenuRootContext");
|
|
23
25
|
var _createBaseUIEventDetails = require("../../utils/createBaseUIEventDetails");
|
|
24
26
|
var _reasons = require("../../utils/reasons");
|
|
27
|
+
var _adaptiveOriginMiddleware = require("../../utils/adaptiveOriginMiddleware");
|
|
28
|
+
var _useAnimationsFinished = require("../../utils/useAnimationsFinished");
|
|
25
29
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
26
30
|
/**
|
|
27
31
|
* Positions the menu popup against the trigger.
|
|
@@ -60,9 +64,15 @@ const MenuPositioner = exports.MenuPositioner = /*#__PURE__*/React.forwardRef(fu
|
|
|
60
64
|
const modal = store.useState('modal');
|
|
61
65
|
const triggerElement = store.useState('activeTriggerElement');
|
|
62
66
|
const transitionStatus = store.useState('transitionStatus');
|
|
67
|
+
const positionerElement = store.useState('positionerElement');
|
|
68
|
+
const instantType = store.useState('instantType');
|
|
69
|
+
const hasViewport = store.useState('hasViewport');
|
|
63
70
|
const lastOpenChangeReason = store.useState('lastOpenChangeReason');
|
|
64
71
|
const floatingNodeId = store.useState('floatingNodeId');
|
|
65
72
|
const floatingParentNodeId = store.useState('floatingParentNodeId');
|
|
73
|
+
const domReference = floatingRootContext.useState('domReferenceElement');
|
|
74
|
+
const previousTriggerRef = React.useRef(null);
|
|
75
|
+
const runOnceAnimationsFinish = (0, _useAnimationsFinished.useAnimationsFinished)(positionerElement, false, false);
|
|
66
76
|
let anchor = anchorProp;
|
|
67
77
|
let sideOffset = sideOffsetProp;
|
|
68
78
|
let alignOffset = alignOffsetProp;
|
|
@@ -105,7 +115,8 @@ const MenuPositioner = exports.MenuPositioner = /*#__PURE__*/React.forwardRef(fu
|
|
|
105
115
|
disableAnchorTracking,
|
|
106
116
|
collisionAvoidance,
|
|
107
117
|
shiftCrossAxis: contextMenu && !('side' in collisionAvoidance && collisionAvoidance.side === 'flip'),
|
|
108
|
-
externalTree: floatingTreeRoot
|
|
118
|
+
externalTree: floatingTreeRoot,
|
|
119
|
+
adaptiveOrigin: hasViewport ? _adaptiveOriginMiddleware.adaptiveOrigin : undefined
|
|
109
120
|
});
|
|
110
121
|
const positionerProps = React.useMemo(() => {
|
|
111
122
|
const hiddenStyles = {};
|
|
@@ -153,6 +164,14 @@ const MenuPositioner = exports.MenuPositioner = /*#__PURE__*/React.forwardRef(fu
|
|
|
153
164
|
floatingTreeRoot.events.off('menuopenchange', onParentClose);
|
|
154
165
|
};
|
|
155
166
|
}, [floatingTreeRoot.events, store]);
|
|
167
|
+
const closeTimeout = (0, _useTimeout.useTimeout)();
|
|
168
|
+
|
|
169
|
+
// Clear pending close timeout when the menu closes.
|
|
170
|
+
React.useEffect(() => {
|
|
171
|
+
if (!open) {
|
|
172
|
+
closeTimeout.clear();
|
|
173
|
+
}
|
|
174
|
+
}, [open, closeTimeout]);
|
|
156
175
|
|
|
157
176
|
// Close unrelated child submenus when hovering a different item in the parent menu.
|
|
158
177
|
React.useEffect(() => {
|
|
@@ -163,14 +182,26 @@ const MenuPositioner = exports.MenuPositioner = /*#__PURE__*/React.forwardRef(fu
|
|
|
163
182
|
return;
|
|
164
183
|
}
|
|
165
184
|
if (event.target && triggerElement && triggerElement !== event.target) {
|
|
166
|
-
|
|
185
|
+
const delay = store.select('closeDelay');
|
|
186
|
+
if (delay > 0) {
|
|
187
|
+
if (!closeTimeout.isStarted()) {
|
|
188
|
+
closeTimeout.start(delay, () => {
|
|
189
|
+
store.setOpen(false, (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.siblingOpen));
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
} else {
|
|
193
|
+
store.setOpen(false, (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.siblingOpen));
|
|
194
|
+
}
|
|
195
|
+
} else {
|
|
196
|
+
// User re-hovered the submenu trigger, cancel pending close.
|
|
197
|
+
closeTimeout.clear();
|
|
167
198
|
}
|
|
168
199
|
}
|
|
169
200
|
floatingTreeRoot.events.on('itemhover', onItemHover);
|
|
170
201
|
return () => {
|
|
171
202
|
floatingTreeRoot.events.off('itemhover', onItemHover);
|
|
172
203
|
};
|
|
173
|
-
}, [floatingTreeRoot.events, open, triggerElement, store]);
|
|
204
|
+
}, [floatingTreeRoot.events, open, triggerElement, store, closeTimeout]);
|
|
174
205
|
React.useEffect(() => {
|
|
175
206
|
const eventDetails = {
|
|
176
207
|
open,
|
|
@@ -180,12 +211,33 @@ const MenuPositioner = exports.MenuPositioner = /*#__PURE__*/React.forwardRef(fu
|
|
|
180
211
|
};
|
|
181
212
|
floatingTreeRoot.events.emit('menuopenchange', eventDetails);
|
|
182
213
|
}, [floatingTreeRoot.events, open, store, floatingNodeId, floatingParentNodeId]);
|
|
214
|
+
|
|
215
|
+
// Keep positioner transition behavior aligned with Popover when switching detached triggers.
|
|
216
|
+
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
217
|
+
const currentTrigger = domReference;
|
|
218
|
+
const previousTrigger = previousTriggerRef.current;
|
|
219
|
+
if (currentTrigger) {
|
|
220
|
+
previousTriggerRef.current = currentTrigger;
|
|
221
|
+
}
|
|
222
|
+
if (previousTrigger && currentTrigger && currentTrigger !== previousTrigger) {
|
|
223
|
+
store.set('instantType', undefined);
|
|
224
|
+
const abortController = new AbortController();
|
|
225
|
+
runOnceAnimationsFinish(() => {
|
|
226
|
+
store.set('instantType', 'trigger-change');
|
|
227
|
+
}, abortController.signal);
|
|
228
|
+
return () => {
|
|
229
|
+
abortController.abort();
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
return undefined;
|
|
233
|
+
}, [domReference, runOnceAnimationsFinish, store]);
|
|
183
234
|
const state = {
|
|
184
235
|
open,
|
|
185
236
|
side: positioner.side,
|
|
186
237
|
align: positioner.align,
|
|
187
238
|
anchorHidden: positioner.anchorHidden,
|
|
188
|
-
nested: parent.type === 'menu'
|
|
239
|
+
nested: parent.type === 'menu',
|
|
240
|
+
instant: instantType
|
|
189
241
|
};
|
|
190
242
|
const contextValue = React.useMemo(() => ({
|
|
191
243
|
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 {
|
package/menu/root/MenuRoot.d.ts
CHANGED
|
@@ -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;
|
package/menu/root/MenuRoot.js
CHANGED
|
@@ -152,8 +152,7 @@ const MenuRoot = exports.MenuRoot = (0, _fastHooks.fastComponent)(function MenuR
|
|
|
152
152
|
});
|
|
153
153
|
const {
|
|
154
154
|
openMethod,
|
|
155
|
-
triggerProps: interactionTypeProps
|
|
156
|
-
reset: resetOpenInteractionType
|
|
155
|
+
triggerProps: interactionTypeProps
|
|
157
156
|
} = (0, _useOpenInteractionType.useOpenInteractionType)(open);
|
|
158
157
|
(0, _popups.useImplicitActiveTrigger)(store);
|
|
159
158
|
const {
|
|
@@ -163,7 +162,6 @@ const MenuRoot = exports.MenuRoot = (0, _fastHooks.fastComponent)(function MenuR
|
|
|
163
162
|
allowMouseEnter: false,
|
|
164
163
|
stickIfOpen: true
|
|
165
164
|
});
|
|
166
|
-
resetOpenInteractionType();
|
|
167
165
|
});
|
|
168
166
|
const allowOutsidePressDismissalRef = React.useRef(parent.type !== 'context-menu');
|
|
169
167
|
const allowOutsidePressDismissalTimeout = (0, _useTimeout.useTimeout)();
|
|
@@ -354,6 +352,7 @@ const MenuRoot = exports.MenuRoot = (0, _fastHooks.fastComponent)(function MenuR
|
|
|
354
352
|
}, [store]);
|
|
355
353
|
const typeahead = (0, _floatingUiReact.useTypeahead)(floatingRootContext, {
|
|
356
354
|
listRef: store.context.itemLabels,
|
|
355
|
+
elementsRef: store.context.itemDomElements,
|
|
357
356
|
activeIndex,
|
|
358
357
|
resetMs: _constants.TYPEAHEAD_RESET_MS,
|
|
359
358
|
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;
|
package/menu/store/MenuStore.js
CHANGED
|
@@ -39,6 +39,7 @@ const selectors = {
|
|
|
39
39
|
floatingParentNodeId: (0, _store.createSelector)(state => state.floatingParentNodeId),
|
|
40
40
|
itemProps: (0, _store.createSelector)(state => state.itemProps),
|
|
41
41
|
closeDelay: (0, _store.createSelector)(state => state.closeDelay),
|
|
42
|
+
hasViewport: (0, _store.createSelector)(state => state.hasViewport),
|
|
42
43
|
keyboardEventRelay: (0, _store.createSelector)(state => {
|
|
43
44
|
if (state.keyboardEventRelay) {
|
|
44
45
|
return state.keyboardEventRelay;
|
|
@@ -79,7 +80,19 @@ class MenuStore extends _store.ReactStore {
|
|
|
79
80
|
this.unsubscribeParentListener = this.observe('parent', parent => {
|
|
80
81
|
this.unsubscribeParentListener?.();
|
|
81
82
|
if (parent.type === 'menu') {
|
|
83
|
+
let rootId = parent.store.select('rootId');
|
|
84
|
+
let floatingTreeRoot = parent.store.select('floatingTreeRoot');
|
|
85
|
+
let keyboardEventRelay = parent.store.select('keyboardEventRelay');
|
|
82
86
|
this.unsubscribeParentListener = parent.store.subscribe(() => {
|
|
87
|
+
const nextRootId = parent.store.select('rootId');
|
|
88
|
+
const nextFloatingTreeRoot = parent.store.select('floatingTreeRoot');
|
|
89
|
+
const nextKeyboardEventRelay = parent.store.select('keyboardEventRelay');
|
|
90
|
+
if (rootId === nextRootId && floatingTreeRoot === nextFloatingTreeRoot && keyboardEventRelay === nextKeyboardEventRelay) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
rootId = nextRootId;
|
|
94
|
+
floatingTreeRoot = nextFloatingTreeRoot;
|
|
95
|
+
keyboardEventRelay = nextKeyboardEventRelay;
|
|
83
96
|
this.notifyAll();
|
|
84
97
|
});
|
|
85
98
|
this.context.allowMouseUpTriggerRef = parent.store.context.allowMouseUpTriggerRef;
|
|
@@ -127,6 +140,7 @@ function createInitialState() {
|
|
|
127
140
|
floatingParentNodeId: null,
|
|
128
141
|
itemProps: _empty.EMPTY_OBJECT,
|
|
129
142
|
keyboardEventRelay: undefined,
|
|
130
|
-
closeDelay: 0
|
|
143
|
+
closeDelay: 0,
|
|
144
|
+
hasViewport: false
|
|
131
145
|
};
|
|
132
146
|
}
|
|
@@ -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,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.MenuViewport = void 0;
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _MenuRootContext = require("../root/MenuRootContext");
|
|
11
|
+
var _MenuPositionerContext = require("../positioner/MenuPositionerContext");
|
|
12
|
+
var _useRenderElement = require("../../utils/useRenderElement");
|
|
13
|
+
var _usePopupViewport = require("../../utils/usePopupViewport");
|
|
14
|
+
var _MenuViewportCssVars = require("./MenuViewportCssVars");
|
|
15
|
+
const stateAttributesMapping = {
|
|
16
|
+
activationDirection: value => value ? {
|
|
17
|
+
'data-activation-direction': value
|
|
18
|
+
} : null
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A viewport for displaying content transitions.
|
|
23
|
+
* This component is only required if one popup can be opened by multiple triggers, its content change based on the trigger
|
|
24
|
+
* and switching between them is animated.
|
|
25
|
+
* Renders a `<div>` element.
|
|
26
|
+
*
|
|
27
|
+
* Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)
|
|
28
|
+
*/
|
|
29
|
+
const MenuViewport = exports.MenuViewport = /*#__PURE__*/React.forwardRef(function MenuViewport(componentProps, forwardedRef) {
|
|
30
|
+
const {
|
|
31
|
+
render,
|
|
32
|
+
className,
|
|
33
|
+
children,
|
|
34
|
+
...elementProps
|
|
35
|
+
} = componentProps;
|
|
36
|
+
const {
|
|
37
|
+
store
|
|
38
|
+
} = (0, _MenuRootContext.useMenuRootContext)();
|
|
39
|
+
const {
|
|
40
|
+
side
|
|
41
|
+
} = (0, _MenuPositionerContext.useMenuPositionerContext)();
|
|
42
|
+
const instantType = store.useState('instantType');
|
|
43
|
+
const {
|
|
44
|
+
children: childrenToRender,
|
|
45
|
+
state: viewportState
|
|
46
|
+
} = (0, _usePopupViewport.usePopupViewport)({
|
|
47
|
+
store,
|
|
48
|
+
side,
|
|
49
|
+
cssVars: _MenuViewportCssVars.MenuViewportCssVars,
|
|
50
|
+
children
|
|
51
|
+
});
|
|
52
|
+
const state = {
|
|
53
|
+
activationDirection: viewportState.activationDirection,
|
|
54
|
+
transitioning: viewportState.transitioning,
|
|
55
|
+
instant: instantType
|
|
56
|
+
};
|
|
57
|
+
return (0, _useRenderElement.useRenderElement)('div', componentProps, {
|
|
58
|
+
state,
|
|
59
|
+
ref: forwardedRef,
|
|
60
|
+
props: [elementProps, {
|
|
61
|
+
children: childrenToRender
|
|
62
|
+
}],
|
|
63
|
+
stateAttributesMapping
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
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,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MenuViewportCssVars = void 0;
|
|
7
|
+
let MenuViewportCssVars = exports.MenuViewportCssVars = /*#__PURE__*/function (MenuViewportCssVars) {
|
|
8
|
+
/**
|
|
9
|
+
* The width of the parent popup.
|
|
10
|
+
* This variable is placed on the 'previous' container and stores the width 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["popupWidth"] = "--popup-width";
|
|
14
|
+
/**
|
|
15
|
+
* The height of the parent popup.
|
|
16
|
+
* This variable is placed on the 'previous' container and stores the height of the popup when the previous content was rendered.
|
|
17
|
+
* It can be used to freeze the dimensions of the popup when animating between different content.
|
|
18
|
+
*/
|
|
19
|
+
MenuViewportCssVars["popupHeight"] = "--popup-height";
|
|
20
|
+
return MenuViewportCssVars;
|
|
21
|
+
}({});
|
|
@@ -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,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MenuViewportDataAttributes = void 0;
|
|
7
|
+
let MenuViewportDataAttributes = exports.MenuViewportDataAttributes = /*#__PURE__*/function (MenuViewportDataAttributes) {
|
|
8
|
+
/**
|
|
9
|
+
* Applied to the direct child of the viewport when no transitions are present or the new content when it's entering.
|
|
10
|
+
*/
|
|
11
|
+
MenuViewportDataAttributes["current"] = "data-current";
|
|
12
|
+
/**
|
|
13
|
+
* Applied to the direct child of the viewport that contains the exiting content when transitions are present.
|
|
14
|
+
*/
|
|
15
|
+
MenuViewportDataAttributes["previous"] = "data-previous";
|
|
16
|
+
/**
|
|
17
|
+
* Indicates the direction from which the popup was activated.
|
|
18
|
+
* This can be used to create directional animations based on how the popup was triggered.
|
|
19
|
+
* Contains space-separated values for both horizontal and vertical axes.
|
|
20
|
+
* @type {`${'left' | 'right'} {'down' | 'up'}`}
|
|
21
|
+
*/
|
|
22
|
+
MenuViewportDataAttributes["activationDirection"] = "data-activation-direction";
|
|
23
|
+
/**
|
|
24
|
+
* Indicates that the viewport is currently transitioning between old and new content.
|
|
25
|
+
*/
|
|
26
|
+
MenuViewportDataAttributes["transitioning"] = "data-transitioning";
|
|
27
|
+
/**
|
|
28
|
+
* Present if animations should be instant.
|
|
29
|
+
* @type {'click' | 'dismiss' | 'group' | 'trigger-change'}
|
|
30
|
+
*/
|
|
31
|
+
MenuViewportDataAttributes["instant"] = "data-instant";
|
|
32
|
+
return MenuViewportDataAttributes;
|
|
33
|
+
}({});
|
package/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/menubar/Menubar.js
CHANGED
|
@@ -42,14 +42,8 @@ const Menubar = exports.Menubar = /*#__PURE__*/React.forwardRef(function Menubar
|
|
|
42
42
|
const [hasSubmenuOpen, setHasSubmenuOpen] = React.useState(false);
|
|
43
43
|
const {
|
|
44
44
|
openMethod,
|
|
45
|
-
triggerProps: interactionTypeProps
|
|
46
|
-
reset: resetOpenInteractionType
|
|
45
|
+
triggerProps: interactionTypeProps
|
|
47
46
|
} = (0, _useOpenInteractionType.useOpenInteractionType)(hasSubmenuOpen);
|
|
48
|
-
React.useEffect(() => {
|
|
49
|
-
if (!hasSubmenuOpen) {
|
|
50
|
-
resetOpenInteractionType();
|
|
51
|
-
}
|
|
52
|
-
}, [hasSubmenuOpen, resetOpenInteractionType]);
|
|
53
47
|
(0, _useScrollLock.useScrollLock)(modal && hasSubmenuOpen && openMethod !== 'touch', contentElement);
|
|
54
48
|
const id = (0, _useBaseUiId.useBaseUiId)(idProp);
|
|
55
49
|
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
|
}
|