@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
|
@@ -16,6 +16,7 @@ var _ComboboxRootContext = require("../root/ComboboxRootContext");
|
|
|
16
16
|
var _stateAttributesMapping = require("../utils/stateAttributesMapping");
|
|
17
17
|
var _store2 = require("../store");
|
|
18
18
|
var _FieldRootContext = require("../../field/root/FieldRootContext");
|
|
19
|
+
var _constants = require("../../field/utils/constants");
|
|
19
20
|
var _LabelableContext = require("../../labelable-provider/LabelableContext");
|
|
20
21
|
var _ComboboxChipsContext = require("../chips/ComboboxChipsContext");
|
|
21
22
|
var _utils = require("../../floating-ui-react/utils");
|
|
@@ -23,6 +24,9 @@ var _ComboboxPositionerContext = require("../positioner/ComboboxPositionerContex
|
|
|
23
24
|
var _createBaseUIEventDetails = require("../../utils/createBaseUIEventDetails");
|
|
24
25
|
var _reasons = require("../../utils/reasons");
|
|
25
26
|
var _DirectionContext = require("../../direction-provider/DirectionContext");
|
|
27
|
+
var _resolveAriaLabelledBy = require("../../utils/resolveAriaLabelledBy");
|
|
28
|
+
var _ComboboxInternalDismissButton = require("../utils/ComboboxInternalDismissButton");
|
|
29
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
26
30
|
/**
|
|
27
31
|
* A text input to search for items in the list.
|
|
28
32
|
* Renders an `<input>` element.
|
|
@@ -44,7 +48,7 @@ const ComboboxInput = exports.ComboboxInput = /*#__PURE__*/React.forwardRef(func
|
|
|
44
48
|
validation
|
|
45
49
|
} = (0, _FieldRootContext.useFieldRootContext)();
|
|
46
50
|
const {
|
|
47
|
-
labelId
|
|
51
|
+
labelId: fieldLabelId
|
|
48
52
|
} = (0, _LabelableContext.useLabelableContext)();
|
|
49
53
|
const comboboxChipsContext = (0, _ComboboxChipsContext.useComboboxChipsContext)();
|
|
50
54
|
const positioning = (0, _ComboboxPositionerContext.useComboboxPositionerContext)(true);
|
|
@@ -72,12 +76,16 @@ const ComboboxInput = exports.ComboboxInput = /*#__PURE__*/React.forwardRef(func
|
|
|
72
76
|
const positionerElement = (0, _store.useStore)(store, _store2.selectors.positionerElement);
|
|
73
77
|
const rootId = (0, _store.useStore)(store, _store2.selectors.id);
|
|
74
78
|
const inline = (0, _store.useStore)(store, _store2.selectors.inline);
|
|
79
|
+
const modal = (0, _store.useStore)(store, _store2.selectors.modal);
|
|
75
80
|
const autoHighlightEnabled = Boolean(autoHighlightMode);
|
|
76
81
|
const popupSide = mounted && positionerElement ? popupSideValue : null;
|
|
77
82
|
const disabled = fieldDisabled || comboboxDisabled || disabledProp;
|
|
78
83
|
const listEmpty = filteredItems.length === 0;
|
|
79
84
|
const isInsidePopup = hasPositionerParent || inline;
|
|
85
|
+
const focusManagerModal = !isInsidePopup || modal;
|
|
80
86
|
const id = (0, _useBaseUiId.useBaseUiId)(idProp ?? (!isInsidePopup ? rootId : undefined));
|
|
87
|
+
const ariaLabelledBy = (0, _resolveAriaLabelledBy.resolveAriaLabelledBy)(fieldLabelId, undefined);
|
|
88
|
+
const fieldStateForInput = hasPositionerParent ? _constants.DEFAULT_FIELD_STATE_ATTRIBUTES : fieldState;
|
|
81
89
|
const [composingValue, setComposingValue] = React.useState(null);
|
|
82
90
|
const isComposingRef = React.useRef(false);
|
|
83
91
|
const lastActiveIndexRef = React.useRef(null);
|
|
@@ -92,8 +100,9 @@ const ComboboxInput = exports.ComboboxInput = /*#__PURE__*/React.forwardRef(func
|
|
|
92
100
|
inputInsidePopup: nextIsInsidePopup
|
|
93
101
|
});
|
|
94
102
|
});
|
|
103
|
+
const validationProps = hasPositionerParent || !validation ? elementProps : validation.getValidationProps(elementProps);
|
|
95
104
|
const state = {
|
|
96
|
-
...
|
|
105
|
+
...fieldStateForInput,
|
|
97
106
|
open,
|
|
98
107
|
disabled,
|
|
99
108
|
readOnly,
|
|
@@ -161,7 +170,7 @@ const ComboboxInput = exports.ComboboxInput = /*#__PURE__*/React.forwardRef(func
|
|
|
161
170
|
value: componentProps.value ?? composingValue ?? inputValue,
|
|
162
171
|
'aria-readonly': readOnly || undefined,
|
|
163
172
|
'aria-required': required || undefined,
|
|
164
|
-
'aria-labelledby':
|
|
173
|
+
'aria-labelledby': ariaLabelledBy,
|
|
165
174
|
disabled,
|
|
166
175
|
readOnly,
|
|
167
176
|
required: selectionMode === 'none' ? required : undefined,
|
|
@@ -359,6 +368,10 @@ const ComboboxInput = exports.ComboboxInput = /*#__PURE__*/React.forwardRef(func
|
|
|
359
368
|
const activeIndex = store.state.activeIndex;
|
|
360
369
|
const nativeEvent = event.nativeEvent;
|
|
361
370
|
if (activeIndex === null) {
|
|
371
|
+
if (inline) {
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
|
|
362
375
|
// Allow form submission when no item is highlighted.
|
|
363
376
|
store.state.setOpen(false, (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.none, nativeEvent));
|
|
364
377
|
return;
|
|
@@ -378,9 +391,13 @@ const ComboboxInput = exports.ComboboxInput = /*#__PURE__*/React.forwardRef(func
|
|
|
378
391
|
onPointerDown() {
|
|
379
392
|
store.state.keyboardActiveRef.current = false;
|
|
380
393
|
}
|
|
381
|
-
},
|
|
394
|
+
}, validationProps],
|
|
382
395
|
stateAttributesMapping: _stateAttributesMapping.triggerStateAttributesMapping
|
|
383
396
|
});
|
|
384
|
-
return
|
|
397
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
398
|
+
children: [open && focusManagerModal && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComboboxInternalDismissButton.ComboboxInternalDismissButton, {
|
|
399
|
+
ref: store.state.startDismissRef
|
|
400
|
+
}), element]
|
|
401
|
+
});
|
|
385
402
|
});
|
|
386
403
|
if (process.env.NODE_ENV !== "production") ComboboxInput.displayName = "ComboboxInput";
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { BaseUIComponentProps } from "../../utils/types.js";
|
|
3
|
+
import type { FieldRoot } from "../../field/root/FieldRoot.js";
|
|
4
|
+
import type { Side } from "../../utils/useAnchorPositioning.js";
|
|
5
|
+
/**
|
|
6
|
+
* A wrapper for the input and its associated controls.
|
|
7
|
+
* Renders a `<div>` element.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ComboboxInputGroup: React.ForwardRefExoticComponent<Omit<ComboboxInputGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export interface ComboboxInputGroupState extends FieldRoot.State {
|
|
11
|
+
/**
|
|
12
|
+
* Whether the corresponding popup is open.
|
|
13
|
+
*/
|
|
14
|
+
open: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Whether the component should ignore user interaction.
|
|
17
|
+
*/
|
|
18
|
+
disabled: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Whether the component should ignore user edits.
|
|
21
|
+
*/
|
|
22
|
+
readOnly: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Indicates which side the corresponding popup is positioned relative to its anchor.
|
|
25
|
+
*/
|
|
26
|
+
popupSide: Side | null;
|
|
27
|
+
/**
|
|
28
|
+
* Present when the corresponding items list is empty.
|
|
29
|
+
*/
|
|
30
|
+
listEmpty: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Whether the combobox doesn't have a value.
|
|
33
|
+
*/
|
|
34
|
+
placeholder: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface ComboboxInputGroupProps extends BaseUIComponentProps<'div', ComboboxInputGroup.State> {}
|
|
37
|
+
export declare namespace ComboboxInputGroup {
|
|
38
|
+
type State = ComboboxInputGroupState;
|
|
39
|
+
type Props = ComboboxInputGroupProps;
|
|
40
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
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.ComboboxInputGroup = void 0;
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _useStableCallback = require("@base-ui/utils/useStableCallback");
|
|
11
|
+
var _store = require("@base-ui/utils/store");
|
|
12
|
+
var _useRenderElement = require("../../utils/useRenderElement");
|
|
13
|
+
var _FieldRootContext = require("../../field/root/FieldRootContext");
|
|
14
|
+
var _ComboboxRootContext = require("../root/ComboboxRootContext");
|
|
15
|
+
var _store2 = require("../store");
|
|
16
|
+
var _stateAttributesMapping = require("../utils/stateAttributesMapping");
|
|
17
|
+
/**
|
|
18
|
+
* A wrapper for the input and its associated controls.
|
|
19
|
+
* Renders a `<div>` element.
|
|
20
|
+
*/
|
|
21
|
+
const ComboboxInputGroup = exports.ComboboxInputGroup = /*#__PURE__*/React.forwardRef(function ComboboxInputGroup(componentProps, forwardedRef) {
|
|
22
|
+
const {
|
|
23
|
+
render,
|
|
24
|
+
className,
|
|
25
|
+
...elementProps
|
|
26
|
+
} = componentProps;
|
|
27
|
+
const {
|
|
28
|
+
state: fieldState,
|
|
29
|
+
disabled: fieldDisabled
|
|
30
|
+
} = (0, _FieldRootContext.useFieldRootContext)();
|
|
31
|
+
const store = (0, _ComboboxRootContext.useComboboxRootContext)();
|
|
32
|
+
const {
|
|
33
|
+
filteredItems
|
|
34
|
+
} = (0, _ComboboxRootContext.useComboboxDerivedItemsContext)();
|
|
35
|
+
const open = (0, _store.useStore)(store, _store2.selectors.open);
|
|
36
|
+
const mounted = (0, _store.useStore)(store, _store2.selectors.mounted);
|
|
37
|
+
const popupSideValue = (0, _store.useStore)(store, _store2.selectors.popupSide);
|
|
38
|
+
const positionerElement = (0, _store.useStore)(store, _store2.selectors.positionerElement);
|
|
39
|
+
const comboboxDisabled = (0, _store.useStore)(store, _store2.selectors.disabled);
|
|
40
|
+
const readOnly = (0, _store.useStore)(store, _store2.selectors.readOnly);
|
|
41
|
+
const hasSelectedValue = (0, _store.useStore)(store, _store2.selectors.hasSelectedValue);
|
|
42
|
+
const selectionMode = (0, _store.useStore)(store, _store2.selectors.selectionMode);
|
|
43
|
+
const popupSide = mounted && positionerElement ? popupSideValue : null;
|
|
44
|
+
const disabled = fieldDisabled || comboboxDisabled;
|
|
45
|
+
const listEmpty = filteredItems.length === 0;
|
|
46
|
+
const placeholder = selectionMode === 'none' ? false : !hasSelectedValue;
|
|
47
|
+
const state = {
|
|
48
|
+
...fieldState,
|
|
49
|
+
open,
|
|
50
|
+
disabled,
|
|
51
|
+
readOnly,
|
|
52
|
+
popupSide,
|
|
53
|
+
listEmpty,
|
|
54
|
+
placeholder
|
|
55
|
+
};
|
|
56
|
+
const setInputGroupElement = (0, _useStableCallback.useStableCallback)(element => {
|
|
57
|
+
store.set('inputGroupElement', element);
|
|
58
|
+
});
|
|
59
|
+
return (0, _useRenderElement.useRenderElement)('div', componentProps, {
|
|
60
|
+
ref: [forwardedRef, setInputGroupElement],
|
|
61
|
+
props: [{
|
|
62
|
+
role: 'group'
|
|
63
|
+
}, elementProps],
|
|
64
|
+
state,
|
|
65
|
+
stateAttributesMapping: _stateAttributesMapping.triggerStateAttributesMapping
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
if (process.env.NODE_ENV !== "production") ComboboxInputGroup.displayName = "ComboboxInputGroup";
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export declare enum ComboboxInputGroupDataAttributes {
|
|
2
|
+
/**
|
|
3
|
+
* Present when the corresponding popup is open.
|
|
4
|
+
*/
|
|
5
|
+
popupOpen = "data-popup-open",
|
|
6
|
+
/**
|
|
7
|
+
* Present when the input group is pressed.
|
|
8
|
+
*/
|
|
9
|
+
pressed = "data-pressed",
|
|
10
|
+
/**
|
|
11
|
+
* Present when the component is disabled.
|
|
12
|
+
*/
|
|
13
|
+
disabled = "data-disabled",
|
|
14
|
+
/**
|
|
15
|
+
* Present when the component is readonly.
|
|
16
|
+
*/
|
|
17
|
+
readonly = "data-readonly",
|
|
18
|
+
/**
|
|
19
|
+
* Indicates which side the corresponding popup is positioned relative to its anchor.
|
|
20
|
+
* @type {'top' | 'bottom' | 'left' | 'right' | 'inline-end' | 'inline-start' | null}
|
|
21
|
+
*/
|
|
22
|
+
popupSide = "data-popup-side",
|
|
23
|
+
/**
|
|
24
|
+
* Present when the component is in valid state (when wrapped in Field.Root).
|
|
25
|
+
*/
|
|
26
|
+
valid = "data-valid",
|
|
27
|
+
/**
|
|
28
|
+
* Present when the component is in invalid state (when wrapped in Field.Root).
|
|
29
|
+
*/
|
|
30
|
+
invalid = "data-invalid",
|
|
31
|
+
/**
|
|
32
|
+
* Present when the component has been touched (when wrapped in Field.Root).
|
|
33
|
+
*/
|
|
34
|
+
touched = "data-touched",
|
|
35
|
+
/**
|
|
36
|
+
* Present when the component's value has changed (when wrapped in Field.Root).
|
|
37
|
+
*/
|
|
38
|
+
dirty = "data-dirty",
|
|
39
|
+
/**
|
|
40
|
+
* Present when the component has a value (when wrapped in Field.Root).
|
|
41
|
+
*/
|
|
42
|
+
filled = "data-filled",
|
|
43
|
+
/**
|
|
44
|
+
* Present when the component is focused (when wrapped in Field.Root).
|
|
45
|
+
*/
|
|
46
|
+
focused = "data-focused",
|
|
47
|
+
/**
|
|
48
|
+
* Present when the corresponding items list is empty.
|
|
49
|
+
*/
|
|
50
|
+
listEmpty = "data-list-empty",
|
|
51
|
+
/**
|
|
52
|
+
* Present when the combobox doesn't have a value.
|
|
53
|
+
*/
|
|
54
|
+
placeholder = "data-placeholder",
|
|
55
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ComboboxInputGroupDataAttributes = void 0;
|
|
7
|
+
let ComboboxInputGroupDataAttributes = exports.ComboboxInputGroupDataAttributes = /*#__PURE__*/function (ComboboxInputGroupDataAttributes) {
|
|
8
|
+
/**
|
|
9
|
+
* Present when the corresponding popup is open.
|
|
10
|
+
*/
|
|
11
|
+
ComboboxInputGroupDataAttributes["popupOpen"] = "data-popup-open";
|
|
12
|
+
/**
|
|
13
|
+
* Present when the input group is pressed.
|
|
14
|
+
*/
|
|
15
|
+
ComboboxInputGroupDataAttributes["pressed"] = "data-pressed";
|
|
16
|
+
/**
|
|
17
|
+
* Present when the component is disabled.
|
|
18
|
+
*/
|
|
19
|
+
ComboboxInputGroupDataAttributes["disabled"] = "data-disabled";
|
|
20
|
+
/**
|
|
21
|
+
* Present when the component is readonly.
|
|
22
|
+
*/
|
|
23
|
+
ComboboxInputGroupDataAttributes["readonly"] = "data-readonly";
|
|
24
|
+
/**
|
|
25
|
+
* Indicates which side the corresponding popup is positioned relative to its anchor.
|
|
26
|
+
* @type {'top' | 'bottom' | 'left' | 'right' | 'inline-end' | 'inline-start' | null}
|
|
27
|
+
*/
|
|
28
|
+
ComboboxInputGroupDataAttributes["popupSide"] = "data-popup-side";
|
|
29
|
+
/**
|
|
30
|
+
* Present when the component is in valid state (when wrapped in Field.Root).
|
|
31
|
+
*/
|
|
32
|
+
ComboboxInputGroupDataAttributes["valid"] = "data-valid";
|
|
33
|
+
/**
|
|
34
|
+
* Present when the component is in invalid state (when wrapped in Field.Root).
|
|
35
|
+
*/
|
|
36
|
+
ComboboxInputGroupDataAttributes["invalid"] = "data-invalid";
|
|
37
|
+
/**
|
|
38
|
+
* Present when the component has been touched (when wrapped in Field.Root).
|
|
39
|
+
*/
|
|
40
|
+
ComboboxInputGroupDataAttributes["touched"] = "data-touched";
|
|
41
|
+
/**
|
|
42
|
+
* Present when the component's value has changed (when wrapped in Field.Root).
|
|
43
|
+
*/
|
|
44
|
+
ComboboxInputGroupDataAttributes["dirty"] = "data-dirty";
|
|
45
|
+
/**
|
|
46
|
+
* Present when the component has a value (when wrapped in Field.Root).
|
|
47
|
+
*/
|
|
48
|
+
ComboboxInputGroupDataAttributes["filled"] = "data-filled";
|
|
49
|
+
/**
|
|
50
|
+
* Present when the component is focused (when wrapped in Field.Root).
|
|
51
|
+
*/
|
|
52
|
+
ComboboxInputGroupDataAttributes["focused"] = "data-focused";
|
|
53
|
+
/**
|
|
54
|
+
* Present when the corresponding items list is empty.
|
|
55
|
+
*/
|
|
56
|
+
ComboboxInputGroupDataAttributes["listEmpty"] = "data-list-empty";
|
|
57
|
+
/**
|
|
58
|
+
* Present when the combobox doesn't have a value.
|
|
59
|
+
*/
|
|
60
|
+
ComboboxInputGroupDataAttributes["placeholder"] = "data-placeholder";
|
|
61
|
+
return ComboboxInputGroupDataAttributes;
|
|
62
|
+
}({});
|
|
@@ -19,7 +19,7 @@ export interface ComboboxItemState {
|
|
|
19
19
|
*/
|
|
20
20
|
highlighted: boolean;
|
|
21
21
|
}
|
|
22
|
-
export interface ComboboxItemProps extends NonNativeButtonProps, Omit<BaseUIComponentProps<'div',
|
|
22
|
+
export interface ComboboxItemProps extends NonNativeButtonProps, Omit<BaseUIComponentProps<'div', ComboboxItemState>, 'id'> {
|
|
23
23
|
children?: React.ReactNode;
|
|
24
24
|
/**
|
|
25
25
|
* An optional click handler for the item when selected.
|
|
@@ -120,7 +120,8 @@ const ComboboxItem = exports.ComboboxItem = /*#__PURE__*/React.memo(/*#__PURE__*
|
|
|
120
120
|
} = (0, _useButton.useButton)({
|
|
121
121
|
disabled,
|
|
122
122
|
focusableWhenDisabled: true,
|
|
123
|
-
native: nativeButton
|
|
123
|
+
native: nativeButton,
|
|
124
|
+
composite: true
|
|
124
125
|
});
|
|
125
126
|
function commitSelection(nativeEvent) {
|
|
126
127
|
function selectItem() {
|
|
@@ -6,7 +6,7 @@ import { type TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
6
6
|
* Renders a `<span>` element.
|
|
7
7
|
*/
|
|
8
8
|
export declare const ComboboxItemIndicator: React.ForwardRefExoticComponent<Omit<ComboboxItemIndicatorProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
9
|
-
export interface ComboboxItemIndicatorProps extends BaseUIComponentProps<'span',
|
|
9
|
+
export interface ComboboxItemIndicatorProps extends BaseUIComponentProps<'span', ComboboxItemIndicatorState> {
|
|
10
10
|
children?: React.ReactNode;
|
|
11
11
|
/**
|
|
12
12
|
* Whether to keep the HTML element in the DOM when the item is not selected.
|
|
@@ -15,7 +15,13 @@ export interface ComboboxItemIndicatorProps extends BaseUIComponentProps<'span',
|
|
|
15
15
|
keepMounted?: boolean | undefined;
|
|
16
16
|
}
|
|
17
17
|
export interface ComboboxItemIndicatorState {
|
|
18
|
+
/**
|
|
19
|
+
* Whether the item is selected.
|
|
20
|
+
*/
|
|
18
21
|
selected: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* The transition status of the component.
|
|
24
|
+
*/
|
|
19
25
|
transitionStatus: TransitionStatus;
|
|
20
26
|
}
|
|
21
27
|
export declare namespace ComboboxItemIndicator {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ComboboxItemIndicatorDataAttributes = void 0;
|
|
7
|
+
var _stateAttributesMapping = require("../../utils/stateAttributesMapping");
|
|
8
|
+
let ComboboxItemIndicatorDataAttributes = exports.ComboboxItemIndicatorDataAttributes = function (ComboboxItemIndicatorDataAttributes) {
|
|
9
|
+
/**
|
|
10
|
+
* Present when the indicator is animating in.
|
|
11
|
+
*/
|
|
12
|
+
ComboboxItemIndicatorDataAttributes[ComboboxItemIndicatorDataAttributes["startingStyle"] = _stateAttributesMapping.TransitionStatusDataAttributes.startingStyle] = "startingStyle";
|
|
13
|
+
/**
|
|
14
|
+
* Present when the indicator is animating out.
|
|
15
|
+
*/
|
|
16
|
+
ComboboxItemIndicatorDataAttributes[ComboboxItemIndicatorDataAttributes["endingStyle"] = _stateAttributesMapping.TransitionStatusDataAttributes.endingStyle] = "endingStyle";
|
|
17
|
+
return ComboboxItemIndicatorDataAttributes;
|
|
18
|
+
}({});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
3
|
+
import type { FieldRoot } from "../../field/root/FieldRoot.js";
|
|
4
|
+
/**
|
|
5
|
+
* An accessible label that is automatically associated with the combobox trigger.
|
|
6
|
+
* Renders a `<div>` element.
|
|
7
|
+
*
|
|
8
|
+
* Documentation: [Base UI Combobox](https://base-ui.com/react/components/combobox)
|
|
9
|
+
*/
|
|
10
|
+
export declare const ComboboxLabel: React.ForwardRefExoticComponent<Omit<ComboboxLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export type ComboboxLabelState = FieldRoot.State;
|
|
12
|
+
export interface ComboboxLabelProps extends Omit<BaseUIComponentProps<'div', ComboboxLabel.State>, 'id'> {}
|
|
13
|
+
export declare namespace ComboboxLabel {
|
|
14
|
+
type State = ComboboxLabelState;
|
|
15
|
+
type Props = ComboboxLabelProps;
|
|
16
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
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.ComboboxLabel = void 0;
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _error = require("@base-ui/utils/error");
|
|
11
|
+
var _safeReact = require("@base-ui/utils/safeReact");
|
|
12
|
+
var _store = require("@base-ui/utils/store");
|
|
13
|
+
var _useRenderElement = require("../../utils/useRenderElement");
|
|
14
|
+
var _FieldRootContext = require("../../field/root/FieldRootContext");
|
|
15
|
+
var _constants = require("../../field/utils/constants");
|
|
16
|
+
var _useLabel = require("../../labelable-provider/useLabel");
|
|
17
|
+
var _resolveAriaLabelledBy = require("../../utils/resolveAriaLabelledBy");
|
|
18
|
+
var _ComboboxRootContext = require("../root/ComboboxRootContext");
|
|
19
|
+
var _store2 = require("../store");
|
|
20
|
+
/**
|
|
21
|
+
* An accessible label that is automatically associated with the combobox trigger.
|
|
22
|
+
* Renders a `<div>` element.
|
|
23
|
+
*
|
|
24
|
+
* Documentation: [Base UI Combobox](https://base-ui.com/react/components/combobox)
|
|
25
|
+
*/
|
|
26
|
+
const ComboboxLabel = exports.ComboboxLabel = /*#__PURE__*/React.forwardRef(function ComboboxLabel(componentProps, forwardedRef) {
|
|
27
|
+
const {
|
|
28
|
+
render,
|
|
29
|
+
className,
|
|
30
|
+
...elementProps
|
|
31
|
+
} = componentProps;
|
|
32
|
+
// Keep label id derived from the root and ignore runtime `id` overrides from untyped consumers.
|
|
33
|
+
const elementPropsWithoutId = elementProps;
|
|
34
|
+
delete elementPropsWithoutId.id;
|
|
35
|
+
const fieldRootContext = (0, _FieldRootContext.useFieldRootContext)();
|
|
36
|
+
const store = (0, _ComboboxRootContext.useComboboxRootContext)();
|
|
37
|
+
const inputInsidePopup = (0, _store.useStore)(store, _store2.selectors.inputInsidePopup);
|
|
38
|
+
const triggerElement = (0, _store.useStore)(store, _store2.selectors.triggerElement);
|
|
39
|
+
const inputElement = (0, _store.useStore)(store, _store2.selectors.inputElement);
|
|
40
|
+
const rootId = (0, _store.useStore)(store, _store2.selectors.id);
|
|
41
|
+
const defaultLabelId = (0, _resolveAriaLabelledBy.getDefaultLabelId)(rootId);
|
|
42
|
+
const localControlId = triggerElement?.id ?? (inputInsidePopup ? rootId : undefined);
|
|
43
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
44
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
if (!inputElement || inputInsidePopup) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const ownerStackMessage = _safeReact.SafeReact.captureOwnerStack?.() || '';
|
|
50
|
+
const message = '<Combobox.Label> labels <Combobox.Trigger> only. ' + 'When <Combobox.Input> is the form control, use a native <label> or <Field.Label> instead.';
|
|
51
|
+
(0, _error.error)(`${message}${ownerStackMessage}`);
|
|
52
|
+
}, [inputElement, inputInsidePopup]);
|
|
53
|
+
}
|
|
54
|
+
const labelProps = (0, _useLabel.useLabel)({
|
|
55
|
+
id: defaultLabelId,
|
|
56
|
+
fallbackControlId: localControlId,
|
|
57
|
+
setLabelId(nextLabelId) {
|
|
58
|
+
store.set('labelId', nextLabelId);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
return (0, _useRenderElement.useRenderElement)('div', componentProps, {
|
|
62
|
+
ref: forwardedRef,
|
|
63
|
+
state: fieldRootContext.state,
|
|
64
|
+
props: [labelProps, elementProps],
|
|
65
|
+
stateAttributesMapping: _constants.fieldValidityMapping
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
if (process.env.NODE_ENV !== "production") ComboboxLabel.displayName = "ComboboxLabel";
|
|
@@ -11,7 +11,7 @@ export interface ComboboxListState {
|
|
|
11
11
|
*/
|
|
12
12
|
empty: boolean;
|
|
13
13
|
}
|
|
14
|
-
export interface ComboboxListProps extends Omit<BaseUIComponentProps<'div',
|
|
14
|
+
export interface ComboboxListProps extends Omit<BaseUIComponentProps<'div', ComboboxListState>, 'children'> {
|
|
15
15
|
children?: React.ReactNode | ((item: any, index: number) => React.ReactNode);
|
|
16
16
|
}
|
|
17
17
|
export declare namespace ComboboxList {
|
|
@@ -9,14 +9,32 @@ import type { TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
9
9
|
*/
|
|
10
10
|
export declare const ComboboxPopup: React.ForwardRefExoticComponent<Omit<ComboboxPopupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface ComboboxPopupState {
|
|
12
|
+
/**
|
|
13
|
+
* Whether the component is open.
|
|
14
|
+
*/
|
|
12
15
|
open: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The side of the anchor the component is placed on.
|
|
18
|
+
*/
|
|
13
19
|
side: Side;
|
|
20
|
+
/**
|
|
21
|
+
* The alignment of the component relative to the anchor.
|
|
22
|
+
*/
|
|
14
23
|
align: Align;
|
|
24
|
+
/**
|
|
25
|
+
* Whether the anchor element is hidden.
|
|
26
|
+
*/
|
|
15
27
|
anchorHidden: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* The transition status of the component.
|
|
30
|
+
*/
|
|
16
31
|
transitionStatus: TransitionStatus;
|
|
32
|
+
/**
|
|
33
|
+
* Whether there are no items to display.
|
|
34
|
+
*/
|
|
17
35
|
empty: boolean;
|
|
18
36
|
}
|
|
19
|
-
export interface ComboboxPopupProps extends BaseUIComponentProps<'div',
|
|
37
|
+
export interface ComboboxPopupProps extends BaseUIComponentProps<'div', ComboboxPopupState> {
|
|
20
38
|
/**
|
|
21
39
|
* Determines the element to focus when the popup is opened.
|
|
22
40
|
*
|
|
@@ -26,7 +44,7 @@ export interface ComboboxPopupProps extends BaseUIComponentProps<'div', Combobox
|
|
|
26
44
|
* - `function`: Called with the interaction type (`mouse`, `touch`, `pen`, or `keyboard`).
|
|
27
45
|
* Return an element to focus, `true` to use the default behavior, or `false`/`undefined` to do nothing.
|
|
28
46
|
*/
|
|
29
|
-
initialFocus?:
|
|
47
|
+
initialFocus?: boolean | React.RefObject<HTMLElement | null> | ((openType: InteractionType) => void | boolean | HTMLElement | null) | undefined;
|
|
30
48
|
/**
|
|
31
49
|
* Determines the element to focus when the popup is closed.
|
|
32
50
|
*
|
|
@@ -36,7 +54,7 @@ export interface ComboboxPopupProps extends BaseUIComponentProps<'div', Combobox
|
|
|
36
54
|
* - `function`: Called with the interaction type (`mouse`, `touch`, `pen`, or `keyboard`).
|
|
37
55
|
* Return an element to focus, `true` to use the default behavior, or `false`/`undefined` to do nothing.
|
|
38
56
|
*/
|
|
39
|
-
finalFocus?:
|
|
57
|
+
finalFocus?: boolean | React.RefObject<HTMLElement | null> | ((closeType: InteractionType) => void | boolean | HTMLElement | null) | undefined;
|
|
40
58
|
}
|
|
41
59
|
export declare namespace ComboboxPopup {
|
|
42
60
|
type State = ComboboxPopupState;
|
|
@@ -18,6 +18,7 @@ var _useOpenChangeComplete = require("../../utils/useOpenChangeComplete");
|
|
|
18
18
|
var _stateAttributesMapping = require("../../utils/stateAttributesMapping");
|
|
19
19
|
var _utils = require("../../floating-ui-react/utils");
|
|
20
20
|
var _getDisabledMountTransitionStyles = require("../../utils/getDisabledMountTransitionStyles");
|
|
21
|
+
var _ComboboxInternalDismissButton = require("../utils/ComboboxInternalDismissButton");
|
|
21
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
23
|
const stateAttributesMapping = {
|
|
23
24
|
..._popupStateMapping.popupStateMapping,
|
|
@@ -48,6 +49,7 @@ const ComboboxPopup = exports.ComboboxPopup = /*#__PURE__*/React.forwardRef(func
|
|
|
48
49
|
const transitionStatus = (0, _store.useStore)(store, _store2.selectors.transitionStatus);
|
|
49
50
|
const inputInsidePopup = (0, _store.useStore)(store, _store2.selectors.inputInsidePopup);
|
|
50
51
|
const inputElement = (0, _store.useStore)(store, _store2.selectors.inputElement);
|
|
52
|
+
const modal = (0, _store.useStore)(store, _store2.selectors.modal);
|
|
51
53
|
const empty = filteredItems.length === 0;
|
|
52
54
|
(0, _useOpenChangeComplete.useOpenChangeComplete)({
|
|
53
55
|
open,
|
|
@@ -93,14 +95,20 @@ const ComboboxPopup = exports.ComboboxPopup = /*#__PURE__*/React.forwardRef(func
|
|
|
93
95
|
} else {
|
|
94
96
|
resolvedFinalFocus = inputInsidePopup ? undefined : false;
|
|
95
97
|
}
|
|
98
|
+
const focusManagerModal = !inputInsidePopup || modal;
|
|
96
99
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_floatingUiReact.FloatingFocusManager, {
|
|
97
100
|
context: floatingRootContext,
|
|
98
101
|
disabled: !mounted,
|
|
99
|
-
modal:
|
|
102
|
+
modal: focusManagerModal,
|
|
100
103
|
openInteractionType: openMethod,
|
|
101
104
|
initialFocus: resolvedInitialFocus,
|
|
102
105
|
returnFocus: resolvedFinalFocus,
|
|
103
|
-
|
|
106
|
+
getInsideElements: () => [store.state.startDismissRef.current, store.state.endDismissRef.current],
|
|
107
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
108
|
+
children: [element, focusManagerModal && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComboboxInternalDismissButton.ComboboxInternalDismissButton, {
|
|
109
|
+
ref: store.state.endDismissRef
|
|
110
|
+
})]
|
|
111
|
+
})
|
|
104
112
|
});
|
|
105
113
|
});
|
|
106
114
|
if (process.env.NODE_ENV !== "production") ComboboxPopup.displayName = "ComboboxPopup";
|
|
@@ -6,10 +6,8 @@ import { FloatingPortal } from "../../floating-ui-react/index.js";
|
|
|
6
6
|
* Renders a `<div>` element.
|
|
7
7
|
*/
|
|
8
8
|
export declare const ComboboxPortal: React.ForwardRefExoticComponent<Omit<ComboboxPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
export interface ComboboxPortalProps extends FloatingPortal.Props<ComboboxPortal.State> {
|
|
9
|
+
export interface ComboboxPortalState {}
|
|
10
|
+
export interface ComboboxPortalProps extends FloatingPortal.Props<ComboboxPortalState> {
|
|
13
11
|
/**
|
|
14
12
|
* Whether to keep the portal mounted in the DOM while the popup is hidden.
|
|
15
13
|
* @default false
|
|
@@ -17,5 +15,6 @@ export interface ComboboxPortalProps extends FloatingPortal.Props<ComboboxPortal
|
|
|
17
15
|
keepMounted?: boolean | undefined;
|
|
18
16
|
}
|
|
19
17
|
export declare namespace ComboboxPortal {
|
|
18
|
+
type State = ComboboxPortalState;
|
|
20
19
|
type Props = ComboboxPortalProps;
|
|
21
20
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { type Side, type Align,
|
|
2
|
+
import { type Side, type Align, type UseAnchorPositioningSharedParameters } from "../../utils/useAnchorPositioning.js";
|
|
3
3
|
import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
4
4
|
/**
|
|
5
5
|
* Positions the popup against the trigger.
|
|
@@ -11,12 +11,24 @@ export interface ComboboxPositionerState {
|
|
|
11
11
|
* Whether the popup is currently open.
|
|
12
12
|
*/
|
|
13
13
|
open: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* The side of the anchor the component is placed on.
|
|
16
|
+
*/
|
|
14
17
|
side: Side;
|
|
18
|
+
/**
|
|
19
|
+
* The alignment of the component relative to the anchor.
|
|
20
|
+
*/
|
|
15
21
|
align: Align;
|
|
22
|
+
/**
|
|
23
|
+
* Whether the anchor element is hidden.
|
|
24
|
+
*/
|
|
16
25
|
anchorHidden: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether there are no items to display.
|
|
28
|
+
*/
|
|
17
29
|
empty: boolean;
|
|
18
30
|
}
|
|
19
|
-
export interface ComboboxPositionerProps extends
|
|
31
|
+
export interface ComboboxPositionerProps extends UseAnchorPositioningSharedParameters, BaseUIComponentProps<'div', ComboboxPositionerState> {}
|
|
20
32
|
export declare namespace ComboboxPositioner {
|
|
21
33
|
type State = ComboboxPositionerState;
|
|
22
34
|
type Props = ComboboxPositionerProps;
|
|
@@ -57,10 +57,11 @@ const ComboboxPositioner = exports.ComboboxPositioner = /*#__PURE__*/React.forwa
|
|
|
57
57
|
const openMethod = (0, _store.useStore)(store, _store2.selectors.openMethod);
|
|
58
58
|
const triggerElement = (0, _store.useStore)(store, _store2.selectors.triggerElement);
|
|
59
59
|
const inputElement = (0, _store.useStore)(store, _store2.selectors.inputElement);
|
|
60
|
+
const inputGroupElement = (0, _store.useStore)(store, _store2.selectors.inputGroupElement);
|
|
60
61
|
const inputInsidePopup = (0, _store.useStore)(store, _store2.selectors.inputInsidePopup);
|
|
61
62
|
const transitionStatus = (0, _store.useStore)(store, _store2.selectors.transitionStatus);
|
|
62
63
|
const empty = filteredItems.length === 0;
|
|
63
|
-
const resolvedAnchor = anchor ?? (inputInsidePopup ? triggerElement : inputElement);
|
|
64
|
+
const resolvedAnchor = anchor ?? (inputInsidePopup ? triggerElement : inputGroupElement ?? inputElement);
|
|
64
65
|
const positioning = (0, _useAnchorPositioning.useAnchorPositioning)({
|
|
65
66
|
anchor: resolvedAnchor,
|
|
66
67
|
floatingRootContext,
|
|
@@ -125,7 +126,7 @@ const ComboboxPositioner = exports.ComboboxPositioner = /*#__PURE__*/React.forwa
|
|
|
125
126
|
value: contextValue,
|
|
126
127
|
children: [mounted && modal && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InternalBackdrop.InternalBackdrop, {
|
|
127
128
|
inert: (0, _inertValue.inertValue)(!open),
|
|
128
|
-
cutout: inputElement ?? triggerElement
|
|
129
|
+
cutout: inputGroupElement ?? inputElement ?? triggerElement
|
|
129
130
|
}), element]
|
|
130
131
|
});
|
|
131
132
|
});
|