@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
|
@@ -33,6 +33,7 @@ const TooltipTrigger = exports.TooltipTrigger = (0, _fastHooks.fastComponentRef)
|
|
|
33
33
|
payload,
|
|
34
34
|
disabled: disabledProp,
|
|
35
35
|
delay,
|
|
36
|
+
closeOnClick = true,
|
|
36
37
|
closeDelay,
|
|
37
38
|
id: idProp,
|
|
38
39
|
...elementProps
|
|
@@ -54,6 +55,7 @@ const TooltipTrigger = exports.TooltipTrigger = (0, _fastHooks.fastComponentRef)
|
|
|
54
55
|
isMountedByThisTrigger
|
|
55
56
|
} = (0, _popups.useTriggerDataForwarding)(thisTriggerId, triggerElementRef, store, {
|
|
56
57
|
payload,
|
|
58
|
+
closeOnClick,
|
|
57
59
|
closeDelay: closeDelayWithDefault
|
|
58
60
|
});
|
|
59
61
|
const providerContext = (0, _TooltipProviderContext.useTooltipProviderContext)();
|
|
@@ -111,6 +113,9 @@ const TooltipTrigger = exports.TooltipTrigger = (0, _fastHooks.fastComponentRef)
|
|
|
111
113
|
state,
|
|
112
114
|
ref: [forwardedRef, registerTrigger, triggerElementRef],
|
|
113
115
|
props: [hoverProps, focusProps, rootTriggerProps, {
|
|
116
|
+
onPointerDown() {
|
|
117
|
+
store.set('closeOnClick', closeOnClick);
|
|
118
|
+
},
|
|
114
119
|
id: thisTriggerId,
|
|
115
120
|
[_TooltipTriggerDataAttributes.TooltipTriggerDataAttributes.triggerDisabled]: disabled ? '' : undefined
|
|
116
121
|
}, elementProps],
|
|
@@ -9,22 +9,26 @@ import { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
9
9
|
* Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip)
|
|
10
10
|
*/
|
|
11
11
|
export declare const TooltipViewport: React.ForwardRefExoticComponent<Omit<TooltipViewport.Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export interface TooltipViewportState {
|
|
13
|
+
/**
|
|
14
|
+
* The activation direction of the transitioned content.
|
|
15
|
+
*/
|
|
16
|
+
activationDirection: string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the viewport is currently transitioning between contents.
|
|
19
|
+
*/
|
|
20
|
+
transitioning: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Present if animations should be instant.
|
|
23
|
+
*/
|
|
24
|
+
instant: 'delay' | 'dismiss' | 'focus' | undefined;
|
|
25
|
+
}
|
|
12
26
|
export declare namespace TooltipViewport {
|
|
13
|
-
interface Props extends BaseUIComponentProps<'div',
|
|
27
|
+
interface Props extends BaseUIComponentProps<'div', TooltipViewportState> {
|
|
14
28
|
/**
|
|
15
29
|
* The content to render inside the transition container.
|
|
16
30
|
*/
|
|
17
31
|
children?: React.ReactNode;
|
|
18
32
|
}
|
|
19
|
-
|
|
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: 'delay' | 'dismiss' | 'focus' | undefined;
|
|
29
|
-
}
|
|
33
|
+
type State = TooltipViewportState;
|
|
30
34
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -1 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
export type { BaseUIChangeEventDetails, BaseUIGenericEventDetails } from "../utils/createBaseUIEventDetails.js";
|
|
3
|
+
export type HTMLProps<T = any> = React.HTMLAttributes<T> & {
|
|
4
|
+
ref?: React.Ref<T> | undefined;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Shape of the render prop: a function that takes props to be spread on the element and component's state and returns a React element.
|
|
8
|
+
*
|
|
9
|
+
* @template Props Props to be spread on the rendered element.
|
|
10
|
+
* @template State Component's internal state.
|
|
11
|
+
*/
|
|
12
|
+
export type ComponentRenderFn<Props, State> = (props: Props, state: State) => React.ReactElement<unknown>;
|
|
13
|
+
export type BaseUIEvent<E extends React.SyntheticEvent<Element, Event>> = E & {
|
|
14
|
+
preventBaseUIHandler: () => void;
|
|
15
|
+
readonly baseUIHandlerPrevented?: boolean | undefined;
|
|
16
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export declare function useButton(parameters?:
|
|
2
|
+
export declare function useButton(parameters?: UseButtonParameters): UseButtonReturnValue;
|
|
3
3
|
export interface UseButtonParameters {
|
|
4
4
|
/**
|
|
5
5
|
* Whether the component should ignore user interaction.
|
|
@@ -17,6 +17,12 @@ export interface UseButtonParameters {
|
|
|
17
17
|
* @default true
|
|
18
18
|
*/
|
|
19
19
|
native?: boolean | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Whether the button is part of a composite widget.
|
|
22
|
+
* When `true`, keyboard activation for Space occurs on keydown rather than keyup.
|
|
23
|
+
* @default inferred from CompositeRoot context
|
|
24
|
+
*/
|
|
25
|
+
composite?: boolean | undefined;
|
|
20
26
|
}
|
|
21
27
|
export interface UseButtonReturnValue {
|
|
22
28
|
/**
|
|
@@ -31,7 +37,4 @@ export interface UseButtonReturnValue {
|
|
|
31
37
|
*/
|
|
32
38
|
buttonRef: React.Ref<HTMLElement>;
|
|
33
39
|
}
|
|
34
|
-
export
|
|
35
|
-
type Parameters = UseButtonParameters;
|
|
36
|
-
type ReturnValue = UseButtonReturnValue;
|
|
37
|
-
}
|
|
40
|
+
export interface UseButtonState {}
|
package/use-button/useButton.js
CHANGED
|
@@ -20,14 +20,12 @@ function useButton(parameters = {}) {
|
|
|
20
20
|
disabled = false,
|
|
21
21
|
focusableWhenDisabled,
|
|
22
22
|
tabIndex = 0,
|
|
23
|
-
native: isNativeButton = true
|
|
23
|
+
native: isNativeButton = true,
|
|
24
|
+
composite: compositeProp
|
|
24
25
|
} = parameters;
|
|
25
26
|
const elementRef = React.useRef(null);
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const element = elementRef.current;
|
|
29
|
-
return Boolean(element?.tagName === 'A' && element?.href);
|
|
30
|
-
});
|
|
27
|
+
const compositeRootContext = (0, _CompositeRootContext.useCompositeRootContext)(true);
|
|
28
|
+
const isCompositeItem = compositeProp ?? compositeRootContext !== undefined;
|
|
31
29
|
const {
|
|
32
30
|
props: focusableWhenDisabledProps
|
|
33
31
|
} = (0, _useFocusableWhenDisabled.useFocusableWhenDisabled)({
|
|
@@ -43,7 +41,7 @@ function useButton(parameters = {}) {
|
|
|
43
41
|
if (!elementRef.current) {
|
|
44
42
|
return;
|
|
45
43
|
}
|
|
46
|
-
const isButtonTag = elementRef.current
|
|
44
|
+
const isButtonTag = isButtonElement(elementRef.current);
|
|
47
45
|
if (isNativeButton) {
|
|
48
46
|
if (!isButtonTag) {
|
|
49
47
|
const ownerStackMessage = _safeReact.SafeReact.captureOwnerStack?.() || '';
|
|
@@ -97,39 +95,67 @@ function useButton(parameters = {}) {
|
|
|
97
95
|
}
|
|
98
96
|
},
|
|
99
97
|
onKeyDown(event) {
|
|
100
|
-
if (
|
|
101
|
-
|
|
102
|
-
externalOnKeyDown?.(event);
|
|
98
|
+
if (disabled) {
|
|
99
|
+
return;
|
|
103
100
|
}
|
|
101
|
+
(0, _mergeProps.makeEventPreventable)(event);
|
|
102
|
+
externalOnKeyDown?.(event);
|
|
104
103
|
if (event.baseUIHandlerPrevented) {
|
|
105
104
|
return;
|
|
106
105
|
}
|
|
107
|
-
const
|
|
106
|
+
const isCurrentTarget = event.target === event.currentTarget;
|
|
107
|
+
const currentTarget = event.currentTarget;
|
|
108
|
+
const isButton = isButtonElement(currentTarget);
|
|
109
|
+
const isLink = !isNativeButton && isValidLinkElement(currentTarget);
|
|
110
|
+
const shouldClick = isCurrentTarget && (isNativeButton ? isButton : !isLink);
|
|
108
111
|
const isEnterKey = event.key === 'Enter';
|
|
109
112
|
const isSpaceKey = event.key === ' ';
|
|
113
|
+
const role = currentTarget.getAttribute('role');
|
|
114
|
+
const isTextNavigationRole = role?.startsWith('menuitem') || role === 'option' || role === 'gridcell';
|
|
115
|
+
if (isCurrentTarget && isCompositeItem && isSpaceKey) {
|
|
116
|
+
if (event.defaultPrevented && isTextNavigationRole) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
event.preventDefault();
|
|
120
|
+
if (isLink || isNativeButton && isButton) {
|
|
121
|
+
currentTarget.click();
|
|
122
|
+
event.preventBaseUIHandler();
|
|
123
|
+
} else if (shouldClick) {
|
|
124
|
+
externalOnClick?.(event);
|
|
125
|
+
event.preventBaseUIHandler();
|
|
126
|
+
}
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
110
129
|
|
|
111
|
-
// Keyboard accessibility for non
|
|
130
|
+
// Keyboard accessibility for native and non-native elements.
|
|
112
131
|
if (shouldClick) {
|
|
113
|
-
if (isSpaceKey || isEnterKey) {
|
|
132
|
+
if (!isNativeButton && (isSpaceKey || isEnterKey)) {
|
|
114
133
|
event.preventDefault();
|
|
115
134
|
}
|
|
116
|
-
if (isEnterKey) {
|
|
135
|
+
if (!isNativeButton && isEnterKey) {
|
|
117
136
|
externalOnClick?.(event);
|
|
118
137
|
}
|
|
119
138
|
}
|
|
120
139
|
},
|
|
121
140
|
onKeyUp(event) {
|
|
141
|
+
if (disabled) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
|
|
122
145
|
// calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed
|
|
123
146
|
// https://codesandbox.io/p/sandbox/button-keyup-preventdefault-dn7f0
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
147
|
+
(0, _mergeProps.makeEventPreventable)(event);
|
|
148
|
+
externalOnKeyUp?.(event);
|
|
149
|
+
if (event.target === event.currentTarget && isNativeButton && isCompositeItem && isButtonElement(event.currentTarget) && event.key === ' ') {
|
|
150
|
+
event.preventDefault();
|
|
151
|
+
return;
|
|
128
152
|
}
|
|
129
153
|
if (event.baseUIHandlerPrevented) {
|
|
130
154
|
return;
|
|
131
155
|
}
|
|
132
|
-
|
|
156
|
+
|
|
157
|
+
// Keyboard accessibility for non interactive elements
|
|
158
|
+
if (event.target === event.currentTarget && !isNativeButton && !isCompositeItem && event.key === ' ') {
|
|
133
159
|
externalOnClick?.(event);
|
|
134
160
|
}
|
|
135
161
|
},
|
|
@@ -143,7 +169,7 @@ function useButton(parameters = {}) {
|
|
|
143
169
|
}, !isNativeButton ? {
|
|
144
170
|
role: 'button'
|
|
145
171
|
} : undefined, focusableWhenDisabledProps, otherExternalProps);
|
|
146
|
-
}, [disabled, focusableWhenDisabledProps,
|
|
172
|
+
}, [disabled, focusableWhenDisabledProps, isCompositeItem, isNativeButton]);
|
|
147
173
|
const buttonRef = (0, _useStableCallback.useStableCallback)(element => {
|
|
148
174
|
elementRef.current = element;
|
|
149
175
|
updateDisabled();
|
|
@@ -155,4 +181,7 @@ function useButton(parameters = {}) {
|
|
|
155
181
|
}
|
|
156
182
|
function isButtonElement(elem) {
|
|
157
183
|
return (0, _dom.isHTMLElement)(elem) && elem.tagName === 'BUTTON';
|
|
184
|
+
}
|
|
185
|
+
function isValidLinkElement(elem) {
|
|
186
|
+
return Boolean(elem?.tagName === 'A' && elem?.href);
|
|
158
187
|
}
|
|
@@ -17,7 +17,7 @@ export type UseRenderComponentProps<ElementType extends React.ElementType, State
|
|
|
17
17
|
*
|
|
18
18
|
* Accepts a `ReactElement` or a function that returns the element to render.
|
|
19
19
|
*/
|
|
20
|
-
render?:
|
|
20
|
+
render?: React.ReactElement | ComponentRenderFn<RenderFunctionProps, State> | undefined;
|
|
21
21
|
};
|
|
22
22
|
export interface UseRenderParameters<State, RenderedElementType extends Element, Enabled extends boolean | undefined> {
|
|
23
23
|
/**
|
|
@@ -27,7 +27,7 @@ export interface UseRenderParameters<State, RenderedElementType extends Element,
|
|
|
27
27
|
/**
|
|
28
28
|
* The ref to apply to the rendered element.
|
|
29
29
|
*/
|
|
30
|
-
ref?:
|
|
30
|
+
ref?: React.Ref<RenderedElementType> | React.Ref<RenderedElementType>[] | undefined;
|
|
31
31
|
/**
|
|
32
32
|
* The state of the component, passed as the second argument to the `render` callback.
|
|
33
33
|
* State properties are automatically converted to data-* attributes.
|
|
@@ -59,10 +59,12 @@ export interface UseRenderParameters<State, RenderedElementType extends Element,
|
|
|
59
59
|
defaultTagName?: keyof React.JSX.IntrinsicElements | undefined;
|
|
60
60
|
}
|
|
61
61
|
export type UseRenderReturnValue<Enabled extends boolean | undefined> = Enabled extends false ? null : React.ReactElement;
|
|
62
|
+
export interface UseRenderState {}
|
|
62
63
|
export declare namespace useRender {
|
|
63
|
-
type
|
|
64
|
+
type State = UseRenderState;
|
|
65
|
+
type RenderProp<TState = Record<string, unknown>> = UseRenderRenderProp<TState>;
|
|
64
66
|
type ElementProps<ElementType extends React.ElementType> = UseRenderElementProps<ElementType>;
|
|
65
|
-
type ComponentProps<ElementType extends React.ElementType,
|
|
66
|
-
type Parameters<
|
|
67
|
+
type ComponentProps<ElementType extends React.ElementType, TState = {}, RenderFunctionProps = HTMLProps> = UseRenderComponentProps<ElementType, TState, RenderFunctionProps>;
|
|
68
|
+
type Parameters<TState, RenderedElementType extends Element, Enabled extends boolean | undefined> = UseRenderParameters<TState, RenderedElementType, Enabled>;
|
|
67
69
|
type ReturnValue<Enabled extends boolean | undefined> = UseRenderReturnValue<Enabled>;
|
|
68
70
|
}
|
|
@@ -6,7 +6,9 @@ import { type FloatingPortal } from "../floating-ui-react/index.js";
|
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
8
8
|
export declare const FloatingPortalLite: React.ForwardRefExoticComponent<Omit<FloatingPortalLite.Props<any>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
-
export interface
|
|
9
|
+
export interface FloatingPortalLiteState {}
|
|
10
|
+
export interface FloatingPortalLiteProps<TState> extends FloatingPortal.Props<TState> {}
|
|
10
11
|
export declare namespace FloatingPortalLite {
|
|
11
|
-
type
|
|
12
|
+
type State = FloatingPortalLiteState;
|
|
13
|
+
type Props<TState> = FloatingPortalLiteProps<TState>;
|
|
12
14
|
}
|
|
@@ -3,13 +3,15 @@ import * as React from 'react';
|
|
|
3
3
|
* @internal
|
|
4
4
|
*/
|
|
5
5
|
export declare const InternalBackdrop: React.ForwardRefExoticComponent<InternalBackdropProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export interface InternalBackdropState {}
|
|
6
7
|
export interface InternalBackdropProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
7
8
|
/**
|
|
8
9
|
* The element to cut out of the backdrop.
|
|
9
10
|
* This is useful for allowing certain elements to be interactive while the backdrop is present.
|
|
10
11
|
*/
|
|
11
|
-
cutout?:
|
|
12
|
+
cutout?: Element | null | undefined;
|
|
12
13
|
}
|
|
13
14
|
export declare namespace InternalBackdrop {
|
|
15
|
+
type State = InternalBackdropState;
|
|
14
16
|
type Props = InternalBackdropProps;
|
|
15
17
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface ClosePartContextValue {
|
|
3
|
+
register: () => () => void;
|
|
4
|
+
}
|
|
5
|
+
export declare function useClosePartCount(): {
|
|
6
|
+
context: {
|
|
7
|
+
register: () => () => void;
|
|
8
|
+
};
|
|
9
|
+
hasClosePart: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare function ClosePartProvider(props: {
|
|
12
|
+
value: ClosePartContextValue;
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function useClosePartRegistration(): void;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
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.ClosePartProvider = ClosePartProvider;
|
|
9
|
+
exports.useClosePartCount = useClosePartCount;
|
|
10
|
+
exports.useClosePartRegistration = useClosePartRegistration;
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _useIsoLayoutEffect = require("@base-ui/utils/useIsoLayoutEffect");
|
|
13
|
+
var _useStableCallback = require("@base-ui/utils/useStableCallback");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
const ClosePartContext = /*#__PURE__*/React.createContext(undefined);
|
|
16
|
+
if (process.env.NODE_ENV !== "production") ClosePartContext.displayName = "ClosePartContext";
|
|
17
|
+
function useClosePartCount() {
|
|
18
|
+
const [closePartCount, setClosePartCount] = React.useState(0);
|
|
19
|
+
const register = (0, _useStableCallback.useStableCallback)(() => {
|
|
20
|
+
setClosePartCount(count => count + 1);
|
|
21
|
+
return () => {
|
|
22
|
+
setClosePartCount(count => Math.max(0, count - 1));
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
const context = React.useMemo(() => ({
|
|
26
|
+
register
|
|
27
|
+
}), [register]);
|
|
28
|
+
return {
|
|
29
|
+
context,
|
|
30
|
+
hasClosePart: closePartCount > 0
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function ClosePartProvider(props) {
|
|
34
|
+
const {
|
|
35
|
+
value,
|
|
36
|
+
children
|
|
37
|
+
} = props;
|
|
38
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ClosePartContext.Provider, {
|
|
39
|
+
value: value,
|
|
40
|
+
children: children
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function useClosePartRegistration() {
|
|
44
|
+
const context = React.useContext(ClosePartContext);
|
|
45
|
+
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
46
|
+
return context?.register();
|
|
47
|
+
}, [context]);
|
|
48
|
+
}
|
package/utils/constants.d.ts
CHANGED
|
@@ -7,6 +7,10 @@ export declare const DISABLED_TRANSITIONS_STYLE: {
|
|
|
7
7
|
};
|
|
8
8
|
export { EMPTY_OBJECT, EMPTY_ARRAY } from '@base-ui/utils/empty';
|
|
9
9
|
export declare const CLICK_TRIGGER_IDENTIFIER = "data-base-ui-click-trigger";
|
|
10
|
+
export declare const BASE_UI_SWIPE_IGNORE_ATTRIBUTE = "data-base-ui-swipe-ignore";
|
|
11
|
+
export declare const LEGACY_SWIPE_IGNORE_ATTRIBUTE = "data-swipe-ignore";
|
|
12
|
+
export declare const BASE_UI_SWIPE_IGNORE_SELECTOR = "[data-base-ui-swipe-ignore]";
|
|
13
|
+
export declare const LEGACY_SWIPE_IGNORE_SELECTOR = "[data-swipe-ignore]";
|
|
10
14
|
/**
|
|
11
15
|
* Used for dropdowns that usually strictly prefer top/bottom placements and
|
|
12
16
|
* use `var(--available-height)` to limit their height.
|
package/utils/constants.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.DROPDOWN_COLLISION_AVOIDANCE = exports.DISABLED_TRANSITIONS_STYLE = exports.CLICK_TRIGGER_IDENTIFIER = void 0;
|
|
6
|
+
exports.DROPDOWN_COLLISION_AVOIDANCE = exports.DISABLED_TRANSITIONS_STYLE = exports.CLICK_TRIGGER_IDENTIFIER = exports.BASE_UI_SWIPE_IGNORE_SELECTOR = exports.BASE_UI_SWIPE_IGNORE_ATTRIBUTE = void 0;
|
|
7
7
|
Object.defineProperty(exports, "EMPTY_ARRAY", {
|
|
8
8
|
enumerable: true,
|
|
9
9
|
get: function () {
|
|
@@ -16,7 +16,7 @@ Object.defineProperty(exports, "EMPTY_OBJECT", {
|
|
|
16
16
|
return _empty.EMPTY_OBJECT;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
exports.ownerVisuallyHidden = exports.TYPEAHEAD_RESET_MS = exports.POPUP_COLLISION_AVOIDANCE = exports.PATIENT_CLICK_THRESHOLD = void 0;
|
|
19
|
+
exports.ownerVisuallyHidden = exports.TYPEAHEAD_RESET_MS = exports.POPUP_COLLISION_AVOIDANCE = exports.PATIENT_CLICK_THRESHOLD = exports.LEGACY_SWIPE_IGNORE_SELECTOR = exports.LEGACY_SWIPE_IGNORE_ATTRIBUTE = void 0;
|
|
20
20
|
var _empty = require("@base-ui/utils/empty");
|
|
21
21
|
const TYPEAHEAD_RESET_MS = exports.TYPEAHEAD_RESET_MS = 500;
|
|
22
22
|
const PATIENT_CLICK_THRESHOLD = exports.PATIENT_CLICK_THRESHOLD = 500;
|
|
@@ -26,6 +26,10 @@ const DISABLED_TRANSITIONS_STYLE = exports.DISABLED_TRANSITIONS_STYLE = {
|
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
28
|
const CLICK_TRIGGER_IDENTIFIER = exports.CLICK_TRIGGER_IDENTIFIER = 'data-base-ui-click-trigger';
|
|
29
|
+
const BASE_UI_SWIPE_IGNORE_ATTRIBUTE = exports.BASE_UI_SWIPE_IGNORE_ATTRIBUTE = 'data-base-ui-swipe-ignore';
|
|
30
|
+
const LEGACY_SWIPE_IGNORE_ATTRIBUTE = exports.LEGACY_SWIPE_IGNORE_ATTRIBUTE = 'data-swipe-ignore';
|
|
31
|
+
const BASE_UI_SWIPE_IGNORE_SELECTOR = exports.BASE_UI_SWIPE_IGNORE_SELECTOR = `[${BASE_UI_SWIPE_IGNORE_ATTRIBUTE}]`;
|
|
32
|
+
const LEGACY_SWIPE_IGNORE_SELECTOR = exports.LEGACY_SWIPE_IGNORE_SELECTOR = `[${LEGACY_SWIPE_IGNORE_ATTRIBUTE}]`;
|
|
29
33
|
|
|
30
34
|
/**
|
|
31
35
|
* Used for dropdowns that usually strictly prefer top/bottom placements and
|
|
@@ -91,5 +91,5 @@ export type BaseUIGenericEventDetails<Reason extends string, CustomProperties ex
|
|
|
91
91
|
* for preventing Base UI's internal event handling.
|
|
92
92
|
*/
|
|
93
93
|
export declare function createChangeEventDetails<Reason extends string, CustomProperties extends object = {}>(reason: Reason, event?: ReasonToEvent<Reason>, trigger?: HTMLElement, customProperties?: CustomProperties): BaseUIChangeEventDetails<Reason, CustomProperties>;
|
|
94
|
-
export declare function createGenericEventDetails<Reason extends
|
|
94
|
+
export declare function createGenericEventDetails<Reason extends keyof ReasonToEventMap, CustomProperties extends object = {}>(reason: Reason, event?: ReasonToEvent<Reason>, customProperties?: CustomProperties): BaseUIGenericEventDetails<Reason, CustomProperties>;
|
|
95
95
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getElementAtPoint(doc: Document | null | undefined, x: number, y: number): Element | null;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getElementAtPoint = getElementAtPoint;
|
|
7
|
+
function getElementAtPoint(doc, x, y) {
|
|
8
|
+
return typeof doc?.elementFromPoint === 'function' ? doc.elementFromPoint(x, y) : null;
|
|
9
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getDefaultLabelId = getDefaultLabelId;
|
|
8
|
+
exports.resolveAriaLabelledBy = resolveAriaLabelledBy;
|
|
9
|
+
function getDefaultLabelId(id) {
|
|
10
|
+
return id == null ? undefined : `${id}-label`;
|
|
11
|
+
}
|
|
12
|
+
function resolveAriaLabelledBy(fieldLabelId, localLabelId) {
|
|
13
|
+
return fieldLabelId ?? localLabelId;
|
|
14
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
type ItemRecord = Record<string, React.ReactNode>;
|
|
3
|
-
type ItemsInput = ItemRecord | ReadonlyArray<LabeledItem> | ReadonlyArray<Group<
|
|
3
|
+
type ItemsInput = ItemRecord | ReadonlyArray<LabeledItem> | ReadonlyArray<Group<any>> | undefined;
|
|
4
4
|
interface LabeledItem {
|
|
5
5
|
value: any;
|
|
6
6
|
label: React.ReactNode;
|
|
7
7
|
}
|
|
8
8
|
export interface Group<Item = any> {
|
|
9
|
-
|
|
10
|
-
items: Item
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
items: ReadonlyArray<Item>;
|
|
11
11
|
}
|
|
12
|
-
export declare function isGroupedItems(items: ReadonlyArray<any | Group<any>> | undefined): items is Group<any
|
|
12
|
+
export declare function isGroupedItems(items: ReadonlyArray<any | Group<any>> | undefined): items is ReadonlyArray<Group<any>>;
|
|
13
13
|
/**
|
|
14
14
|
* Checks if the items array contains an item with a null value that has a non-null label.
|
|
15
15
|
*/
|
|
@@ -23,10 +23,11 @@ function isGroupedItems(items) {
|
|
|
23
23
|
*/
|
|
24
24
|
function hasNullItemLabel(items) {
|
|
25
25
|
if (!Array.isArray(items)) {
|
|
26
|
-
return items != null &&
|
|
26
|
+
return items != null && 'null' in items;
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
const arrayItems = items;
|
|
29
|
+
if (isGroupedItems(arrayItems)) {
|
|
30
|
+
for (const group of arrayItems) {
|
|
30
31
|
for (const item of group.items) {
|
|
31
32
|
if (item && item.value == null && item.label != null) {
|
|
32
33
|
return true;
|
|
@@ -35,7 +36,7 @@ function hasNullItemLabel(items) {
|
|
|
35
36
|
}
|
|
36
37
|
return false;
|
|
37
38
|
}
|
|
38
|
-
for (const item of
|
|
39
|
+
for (const item of arrayItems) {
|
|
39
40
|
if (item && item.value == null && item.label != null) {
|
|
40
41
|
return true;
|
|
41
42
|
}
|
|
@@ -85,7 +86,8 @@ function resolveSelectedLabel(value, items, itemToStringLabel) {
|
|
|
85
86
|
|
|
86
87
|
// Items provided as array (flat or grouped)
|
|
87
88
|
if (Array.isArray(items)) {
|
|
88
|
-
const
|
|
89
|
+
const arrayItems = items;
|
|
90
|
+
const flatItems = isGroupedItems(arrayItems) ? arrayItems.flatMap(group => group.items) : arrayItems;
|
|
89
91
|
if (value == null || typeof value !== 'object') {
|
|
90
92
|
const match = flatItems.find(item => item.value === value);
|
|
91
93
|
if (match && match.label != null) {
|
package/utils/types.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
import type { BaseUIEvent, ComponentRenderFn, HTMLProps } from "../types/index.js";
|
|
3
|
+
export type { HTMLProps, BaseUIEvent, ComponentRenderFn };
|
|
5
4
|
export interface FloatingUIOpenChangeDetails {
|
|
6
5
|
open: boolean;
|
|
7
6
|
reason: string;
|
|
@@ -9,22 +8,11 @@ export interface FloatingUIOpenChangeDetails {
|
|
|
9
8
|
nested: boolean;
|
|
10
9
|
triggerElement?: Element | undefined;
|
|
11
10
|
}
|
|
12
|
-
export type BaseUIEvent<E extends React.SyntheticEvent<Element, Event>> = E & {
|
|
13
|
-
preventBaseUIHandler: () => void;
|
|
14
|
-
readonly baseUIHandlerPrevented?: boolean | undefined;
|
|
15
|
-
};
|
|
16
11
|
type WithPreventBaseUIHandler<T> = T extends ((event: infer E) => any) ? E extends React.SyntheticEvent<Element, Event> ? (event: BaseUIEvent<E>) => ReturnType<T> : T : T extends undefined ? undefined : T;
|
|
17
12
|
/**
|
|
18
13
|
* Adds a `preventBaseUIHandler` method to all event handlers.
|
|
19
14
|
*/
|
|
20
15
|
export type WithBaseUIEvent<T> = { [K in keyof T]: WithPreventBaseUIHandler<T[K]> };
|
|
21
|
-
/**
|
|
22
|
-
* Shape of the render prop: a function that takes props to be spread on the element and component's state and returns a React element.
|
|
23
|
-
*
|
|
24
|
-
* @template Props Props to be spread on the rendered element.
|
|
25
|
-
* @template State Component's internal state.
|
|
26
|
-
*/
|
|
27
|
-
export type ComponentRenderFn<Props, State> = (props: Props, state: State) => React.ReactElement<unknown>;
|
|
28
16
|
/**
|
|
29
17
|
* Props shared by all Base UI components.
|
|
30
18
|
* Contains `className` (string or callback taking the component's state as an argument) and `render` (function to customize rendering).
|
|
@@ -34,19 +22,19 @@ export type BaseUIComponentProps<ElementType extends React.ElementType, State, R
|
|
|
34
22
|
* CSS class applied to the element, or a function that
|
|
35
23
|
* returns a class based on the component’s state.
|
|
36
24
|
*/
|
|
37
|
-
className?:
|
|
25
|
+
className?: string | ((state: State) => string | undefined) | undefined;
|
|
38
26
|
/**
|
|
39
27
|
* Allows you to replace the component’s HTML element
|
|
40
28
|
* with a different tag, or compose it with another component.
|
|
41
29
|
*
|
|
42
30
|
* Accepts a `ReactElement` or a function that returns the element to render.
|
|
43
31
|
*/
|
|
44
|
-
render?:
|
|
32
|
+
render?: React.ReactElement | ComponentRenderFn<RenderFunctionProps, State> | undefined;
|
|
45
33
|
/**
|
|
46
34
|
* Style applied to the element, or a function that
|
|
47
35
|
* returns a style object based on the component’s state.
|
|
48
36
|
*/
|
|
49
|
-
style?:
|
|
37
|
+
style?: React.CSSProperties | ((state: State) => React.CSSProperties | undefined) | undefined;
|
|
50
38
|
};
|
|
51
39
|
export interface NativeButtonProps {
|
|
52
40
|
/**
|
|
@@ -72,5 +60,4 @@ export interface NonNativeButtonProps {
|
|
|
72
60
|
*/
|
|
73
61
|
export type Simplify<T> = T extends Function ? T : { [K in keyof T]: T[K] };
|
|
74
62
|
export type RequiredExcept<T, K extends keyof T> = Required<Omit<T, K>> & Pick<T, K>;
|
|
75
|
-
export type Orientation = 'horizontal' | 'vertical';
|
|
76
|
-
export {};
|
|
63
|
+
export type Orientation = 'horizontal' | 'vertical';
|