@base-ui/react 1.0.0-rc.2 → 1.1.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 +156 -5
- package/README.md +2 -3
- package/accordion/header/AccordionHeader.d.ts +1 -1
- package/accordion/item/AccordionItem.d.ts +1 -1
- package/accordion/panel/AccordionPanel.d.ts +1 -1
- package/accordion/root/AccordionRoot.d.ts +1 -1
- package/accordion/trigger/AccordionTrigger.d.ts +1 -1
- package/accordion/trigger/AccordionTrigger.js +3 -4
- package/alert-dialog/root/AlertDialogRoot.d.ts +3 -3
- package/autocomplete/root/AutocompleteRoot.d.ts +1 -1
- package/avatar/fallback/AvatarFallback.d.ts +1 -1
- package/avatar/image/AvatarImage.d.ts +1 -1
- package/avatar/root/AvatarRoot.d.ts +1 -1
- package/button/Button.d.ts +4 -17
- package/button/Button.js +1 -2
- package/checkbox/indicator/CheckboxIndicator.d.ts +1 -1
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.ts +4 -0
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.js +4 -0
- package/checkbox/root/CheckboxRoot.d.ts +1 -1
- package/checkbox/root/CheckboxRoot.js +5 -4
- package/checkbox/root/CheckboxRootDataAttributes.d.ts +4 -0
- package/checkbox/root/CheckboxRootDataAttributes.js +4 -0
- package/checkbox-group/CheckboxGroup.d.ts +1 -1
- package/collapsible/panel/CollapsiblePanel.d.ts +1 -1
- package/collapsible/root/CollapsibleRoot.d.ts +1 -1
- package/collapsible/trigger/CollapsibleTrigger.d.ts +1 -1
- package/collapsible/trigger/CollapsibleTrigger.js +1 -2
- package/combobox/arrow/ComboboxArrow.d.ts +1 -1
- package/combobox/backdrop/ComboboxBackdrop.d.ts +1 -1
- package/combobox/chip/ComboboxChip.d.ts +1 -1
- package/combobox/chip-remove/ComboboxChipRemove.d.ts +1 -1
- package/combobox/chip-remove/ComboboxChipRemove.js +3 -2
- package/combobox/chips/ComboboxChips.d.ts +1 -1
- package/combobox/chips/ComboboxChips.js +7 -1
- package/combobox/clear/ComboboxClear.d.ts +1 -1
- package/combobox/clear/ComboboxClear.js +2 -2
- 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/input/ComboboxInput.d.ts +1 -1
- package/combobox/input/ComboboxInput.js +12 -18
- package/combobox/item/ComboboxItem.d.ts +1 -1
- package/combobox/item/ComboboxItem.js +0 -1
- package/combobox/item-indicator/ComboboxItemIndicator.d.ts +1 -1
- package/combobox/list/ComboboxList.d.ts +1 -1
- package/combobox/popup/ComboboxPopup.d.ts +1 -1
- package/combobox/popup/ComboboxPopup.js +2 -1
- package/combobox/portal/ComboboxPortal.d.ts +1 -1
- package/combobox/positioner/ComboboxPositioner.d.ts +1 -1
- package/combobox/root/AriaCombobox.d.ts +8 -1
- package/combobox/root/AriaCombobox.js +19 -16
- package/combobox/root/ComboboxRoot.d.ts +1 -1
- package/combobox/row/ComboboxRow.d.ts +1 -1
- package/combobox/status/ComboboxStatus.d.ts +1 -1
- package/combobox/store.d.ts +3 -0
- package/combobox/store.js +21 -0
- package/combobox/trigger/ComboboxTrigger.d.ts +14 -1
- package/combobox/trigger/ComboboxTrigger.js +31 -11
- package/combobox/trigger/ComboboxTriggerDataAttributes.d.ts +13 -0
- package/combobox/trigger/ComboboxTriggerDataAttributes.js +13 -0
- package/combobox/utils/stateAttributesMapping.d.ts +14 -0
- package/combobox/utils/stateAttributesMapping.js +18 -0
- package/combobox/value/ComboboxValue.d.ts +5 -0
- package/combobox/value/ComboboxValue.js +15 -6
- package/composite/root/useCompositeRoot.d.ts +1 -1
- package/context-menu/trigger/ContextMenuTrigger.d.ts +1 -1
- package/csp-provider/CSPContext.d.ts +13 -0
- package/csp-provider/CSPContext.js +25 -0
- package/csp-provider/CSPProvider.d.ts +25 -0
- package/csp-provider/CSPProvider.js +32 -0
- package/csp-provider/index.d.ts +2 -0
- package/csp-provider/index.js +12 -0
- package/csp-provider/index.parts.d.ts +1 -0
- package/csp-provider/index.parts.js +12 -0
- package/dialog/backdrop/DialogBackdrop.d.ts +1 -1
- package/dialog/close/DialogClose.d.ts +1 -1
- package/dialog/description/DialogDescription.d.ts +1 -1
- package/dialog/popup/DialogPopup.d.ts +1 -1
- package/dialog/portal/DialogPortal.d.ts +1 -1
- package/dialog/portal/DialogPortal.js +1 -0
- package/dialog/root/DialogRoot.d.ts +4 -4
- package/dialog/store/DialogStore.d.ts +2 -2
- package/dialog/title/DialogTitle.d.ts +1 -1
- package/dialog/viewport/DialogViewport.d.ts +1 -1
- package/esm/accordion/header/AccordionHeader.d.ts +1 -1
- package/esm/accordion/item/AccordionItem.d.ts +1 -1
- package/esm/accordion/panel/AccordionPanel.d.ts +1 -1
- package/esm/accordion/root/AccordionRoot.d.ts +1 -1
- package/esm/accordion/trigger/AccordionTrigger.d.ts +1 -1
- package/esm/accordion/trigger/AccordionTrigger.js +3 -4
- package/esm/alert-dialog/root/AlertDialogRoot.d.ts +3 -3
- package/esm/autocomplete/root/AutocompleteRoot.d.ts +1 -1
- package/esm/avatar/fallback/AvatarFallback.d.ts +1 -1
- package/esm/avatar/image/AvatarImage.d.ts +1 -1
- package/esm/avatar/root/AvatarRoot.d.ts +1 -1
- package/esm/button/Button.d.ts +4 -17
- package/esm/button/Button.js +1 -2
- package/esm/checkbox/indicator/CheckboxIndicator.d.ts +1 -1
- package/esm/checkbox/indicator/CheckboxIndicatorDataAttributes.d.ts +4 -0
- package/esm/checkbox/indicator/CheckboxIndicatorDataAttributes.js +4 -0
- package/esm/checkbox/root/CheckboxRoot.d.ts +1 -1
- package/esm/checkbox/root/CheckboxRoot.js +6 -5
- package/esm/checkbox/root/CheckboxRootDataAttributes.d.ts +4 -0
- package/esm/checkbox/root/CheckboxRootDataAttributes.js +4 -0
- package/esm/checkbox-group/CheckboxGroup.d.ts +1 -1
- package/esm/collapsible/panel/CollapsiblePanel.d.ts +1 -1
- package/esm/collapsible/root/CollapsibleRoot.d.ts +1 -1
- package/esm/collapsible/trigger/CollapsibleTrigger.d.ts +1 -1
- package/esm/collapsible/trigger/CollapsibleTrigger.js +1 -2
- package/esm/combobox/arrow/ComboboxArrow.d.ts +1 -1
- package/esm/combobox/backdrop/ComboboxBackdrop.d.ts +1 -1
- package/esm/combobox/chip/ComboboxChip.d.ts +1 -1
- package/esm/combobox/chip-remove/ComboboxChipRemove.d.ts +1 -1
- package/esm/combobox/chip-remove/ComboboxChipRemove.js +3 -2
- package/esm/combobox/chips/ComboboxChips.d.ts +1 -1
- package/esm/combobox/chips/ComboboxChips.js +7 -1
- package/esm/combobox/clear/ComboboxClear.d.ts +1 -1
- package/esm/combobox/clear/ComboboxClear.js +2 -2
- 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/input/ComboboxInput.d.ts +1 -1
- package/esm/combobox/input/ComboboxInput.js +12 -17
- package/esm/combobox/item/ComboboxItem.d.ts +1 -1
- package/esm/combobox/item/ComboboxItem.js +0 -1
- package/esm/combobox/item-indicator/ComboboxItemIndicator.d.ts +1 -1
- package/esm/combobox/list/ComboboxList.d.ts +1 -1
- package/esm/combobox/popup/ComboboxPopup.d.ts +1 -1
- package/esm/combobox/popup/ComboboxPopup.js +2 -1
- package/esm/combobox/portal/ComboboxPortal.d.ts +1 -1
- package/esm/combobox/positioner/ComboboxPositioner.d.ts +1 -1
- package/esm/combobox/root/AriaCombobox.d.ts +8 -1
- package/esm/combobox/root/AriaCombobox.js +20 -17
- package/esm/combobox/root/ComboboxRoot.d.ts +1 -1
- package/esm/combobox/row/ComboboxRow.d.ts +1 -1
- package/esm/combobox/status/ComboboxStatus.d.ts +1 -1
- package/esm/combobox/store.d.ts +3 -0
- package/esm/combobox/store.js +21 -0
- package/esm/combobox/trigger/ComboboxTrigger.d.ts +14 -1
- package/esm/combobox/trigger/ComboboxTrigger.js +32 -12
- package/esm/combobox/trigger/ComboboxTriggerDataAttributes.d.ts +13 -0
- package/esm/combobox/trigger/ComboboxTriggerDataAttributes.js +13 -0
- package/esm/combobox/utils/stateAttributesMapping.d.ts +14 -0
- package/esm/combobox/utils/stateAttributesMapping.js +12 -0
- package/esm/combobox/value/ComboboxValue.d.ts +5 -0
- package/esm/combobox/value/ComboboxValue.js +16 -7
- package/esm/composite/root/useCompositeRoot.d.ts +1 -1
- package/esm/context-menu/trigger/ContextMenuTrigger.d.ts +1 -1
- package/esm/csp-provider/CSPContext.d.ts +13 -0
- package/esm/csp-provider/CSPContext.js +18 -0
- package/esm/csp-provider/CSPProvider.d.ts +25 -0
- package/esm/csp-provider/CSPProvider.js +27 -0
- package/esm/csp-provider/index.d.ts +2 -0
- package/esm/csp-provider/index.js +1 -0
- package/esm/csp-provider/index.parts.d.ts +1 -0
- package/esm/csp-provider/index.parts.js +1 -0
- package/esm/dialog/backdrop/DialogBackdrop.d.ts +1 -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 +1 -1
- package/esm/dialog/portal/DialogPortal.d.ts +1 -1
- package/esm/dialog/portal/DialogPortal.js +1 -0
- package/esm/dialog/root/DialogRoot.d.ts +4 -4
- package/esm/dialog/store/DialogStore.d.ts +2 -2
- package/esm/dialog/title/DialogTitle.d.ts +1 -1
- package/esm/dialog/viewport/DialogViewport.d.ts +1 -1
- package/esm/field/control/FieldControl.d.ts +1 -1
- package/esm/field/description/FieldDescription.d.ts +1 -1
- package/esm/field/error/FieldError.d.ts +1 -1
- package/esm/field/index.d.ts +2 -1
- package/esm/field/item/FieldItem.d.ts +1 -1
- package/esm/field/label/FieldLabel.d.ts +11 -2
- package/esm/field/label/FieldLabel.js +51 -11
- package/esm/field/root/FieldRoot.d.ts +10 -1
- package/esm/field/root/FieldRoot.js +8 -0
- package/esm/field/useField.js +7 -3
- package/esm/fieldset/legend/FieldsetLegend.d.ts +1 -1
- package/esm/fieldset/root/FieldsetRoot.d.ts +1 -1
- package/esm/floating-ui-react/components/FloatingFocusManager.js +7 -6
- package/esm/floating-ui-react/components/FloatingPortal.d.ts +2 -2
- package/esm/floating-ui-react/components/FloatingPortal.js +11 -2
- package/esm/floating-ui-react/hooks/useClientPoint.js +5 -4
- package/esm/floating-ui-react/hooks/useDismiss.js +16 -3
- package/esm/floating-ui-react/hooks/useFocus.d.ts +5 -0
- package/esm/floating-ui-react/hooks/useFocus.js +43 -9
- package/esm/floating-ui-react/hooks/useHoverReferenceInteraction.js +17 -4
- package/esm/floating-ui-react/hooks/useSyncedFloatingRootContext.js +3 -0
- package/esm/form/Form.d.ts +18 -1
- package/esm/form/Form.js +17 -0
- package/esm/form/FormContext.d.ts +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +2 -1
- package/esm/input/Input.d.ts +1 -1
- package/esm/menu/arrow/MenuArrow.d.ts +1 -1
- package/esm/menu/backdrop/MenuBackdrop.d.ts +1 -1
- package/esm/menu/checkbox-item/MenuCheckboxItem.d.ts +1 -1
- package/esm/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.d.ts +1 -1
- package/esm/menu/group/MenuGroup.d.ts +1 -1
- package/esm/menu/group-label/MenuGroupLabel.d.ts +1 -1
- package/esm/menu/item/MenuItem.d.ts +1 -1
- package/esm/menu/popup/MenuPopup.d.ts +1 -1
- package/esm/menu/popup/MenuPopup.js +4 -3
- package/esm/menu/portal/MenuPortal.d.ts +1 -1
- package/esm/menu/positioner/MenuPositioner.d.ts +1 -1
- package/esm/menu/radio-group/MenuRadioGroup.d.ts +1 -1
- package/esm/menu/radio-item/MenuRadioItem.d.ts +1 -1
- package/esm/menu/radio-item-indicator/MenuRadioItemIndicator.d.ts +1 -1
- package/esm/menu/root/MenuRoot.d.ts +7 -6
- package/esm/menu/root/MenuRoot.js +4 -2
- package/esm/menu/store/MenuStore.js +3 -3
- package/esm/menu/submenu-trigger/MenuSubmenuTrigger.d.ts +1 -1
- package/esm/menu/trigger/MenuTrigger.js +13 -13
- package/esm/menubar/Menubar.d.ts +1 -1
- package/esm/merge-props/mergeProps.d.ts +31 -11
- package/esm/merge-props/mergeProps.js +29 -8
- package/esm/meter/indicator/MeterIndicator.d.ts +1 -1
- package/esm/meter/label/MeterLabel.d.ts +1 -1
- package/esm/meter/root/MeterRoot.d.ts +1 -1
- package/esm/meter/track/MeterTrack.d.ts +1 -1
- package/esm/meter/value/MeterValue.d.ts +1 -1
- package/esm/navigation-menu/arrow/NavigationMenuArrow.d.ts +1 -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 +6 -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/popup/NavigationMenuPopup.d.ts +1 -1
- package/esm/navigation-menu/portal/NavigationMenuPortal.d.ts +1 -1
- package/esm/navigation-menu/positioner/NavigationMenuPositioner.d.ts +1 -1
- package/esm/navigation-menu/root/NavigationMenuRoot.d.ts +2 -2
- package/esm/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -1
- package/esm/navigation-menu/viewport/NavigationMenuViewport.d.ts +1 -1
- package/esm/number-field/decrement/NumberFieldDecrement.d.ts +1 -1
- package/esm/number-field/decrement/NumberFieldDecrement.js +4 -6
- package/esm/number-field/group/NumberFieldGroup.d.ts +1 -1
- package/esm/number-field/increment/NumberFieldIncrement.d.ts +1 -1
- package/esm/number-field/increment/NumberFieldIncrement.js +4 -6
- package/esm/number-field/input/NumberFieldInput.d.ts +1 -1
- package/esm/number-field/input/NumberFieldInput.js +5 -2
- package/esm/number-field/root/NumberFieldRoot.d.ts +5 -4
- package/esm/number-field/root/NumberFieldRoot.js +12 -5
- package/esm/number-field/root/useNumberFieldButton.d.ts +0 -3
- package/esm/number-field/root/useNumberFieldButton.js +5 -11
- package/esm/number-field/scrub-area/NumberFieldScrubArea.d.ts +1 -1
- package/esm/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.d.ts +1 -1
- package/esm/popover/arrow/PopoverArrow.d.ts +1 -1
- package/esm/popover/backdrop/PopoverBackdrop.d.ts +1 -1
- package/esm/popover/close/PopoverClose.d.ts +1 -1
- package/esm/popover/description/PopoverDescription.d.ts +1 -1
- package/esm/popover/popup/PopoverPopup.d.ts +1 -1
- package/esm/popover/popup/PopoverPopup.js +0 -30
- package/esm/popover/portal/PopoverPortal.d.ts +1 -1
- package/esm/popover/positioner/PopoverPositioner.d.ts +1 -1
- package/esm/popover/positioner/PopoverPositioner.js +2 -1
- package/esm/popover/root/PopoverRoot.d.ts +2 -2
- package/esm/popover/store/PopoverStore.d.ts +4 -2
- package/esm/popover/store/PopoverStore.js +8 -5
- package/esm/popover/title/PopoverTitle.d.ts +1 -1
- package/esm/popover/trigger/PopoverTrigger.js +2 -2
- package/esm/popover/viewport/PopoverViewport.d.ts +1 -1
- package/esm/popover/viewport/PopoverViewport.js +28 -12
- package/esm/preview-card/arrow/PreviewCardArrow.d.ts +1 -1
- package/esm/preview-card/arrow/PreviewCardArrow.js +2 -3
- package/esm/preview-card/backdrop/PreviewCardBackdrop.d.ts +1 -1
- package/esm/preview-card/backdrop/PreviewCardBackdrop.js +4 -5
- package/esm/preview-card/index.parts.d.ts +3 -1
- package/esm/preview-card/index.parts.js +3 -1
- package/esm/preview-card/popup/PreviewCardPopup.d.ts +2 -1
- package/esm/preview-card/popup/PreviewCardPopup.js +17 -11
- package/esm/preview-card/portal/PreviewCardPortal.d.ts +1 -1
- package/esm/preview-card/portal/PreviewCardPortal.js +2 -3
- package/esm/preview-card/positioner/PreviewCardPositioner.d.ts +2 -1
- package/esm/preview-card/positioner/PreviewCardPositioner.js +16 -11
- package/esm/preview-card/root/PreviewCardContext.d.ts +5 -26
- package/esm/preview-card/root/PreviewCardContext.js +2 -2
- package/esm/preview-card/root/PreviewCardRoot.d.ts +35 -10
- package/esm/preview-card/root/PreviewCardRoot.js +61 -116
- package/esm/preview-card/store/PreviewCardHandle.d.ts +33 -0
- package/esm/preview-card/store/PreviewCardHandle.js +55 -0
- package/esm/preview-card/store/PreviewCardStore.d.ts +36 -0
- package/esm/preview-card/store/PreviewCardStore.js +97 -0
- package/esm/preview-card/trigger/PreviewCardTrigger.d.ts +15 -3
- package/esm/preview-card/trigger/PreviewCardTrigger.js +49 -13
- package/esm/preview-card/viewport/PreviewCardViewport.d.ts +22 -0
- package/esm/preview-card/viewport/PreviewCardViewport.js +272 -0
- package/esm/preview-card/viewport/PreviewCardViewportCssVars.d.ts +14 -0
- package/esm/preview-card/viewport/PreviewCardViewportCssVars.js +15 -0
- package/esm/preview-card/viewport/PreviewCardViewportDataAttributes.d.ts +26 -0
- package/esm/preview-card/viewport/PreviewCardViewportDataAttributes.js +27 -0
- package/esm/progress/indicator/ProgressIndicator.d.ts +1 -1
- package/esm/progress/label/ProgressLabel.d.ts +1 -1
- package/esm/progress/root/ProgressRoot.d.ts +1 -1
- package/esm/progress/track/ProgressTrack.d.ts +1 -1
- package/esm/progress/value/ProgressValue.d.ts +1 -1
- package/esm/radio/indicator/RadioIndicator.d.ts +1 -1
- package/esm/radio/root/RadioRoot.d.ts +1 -1
- package/esm/radio/root/RadioRoot.js +9 -9
- package/esm/radio-group/RadioGroup.d.ts +4 -4
- package/esm/radio-group/RadioGroup.js +2 -2
- package/esm/scroll-area/content/ScrollAreaContent.d.ts +1 -1
- package/esm/scroll-area/content/ScrollAreaContent.js +10 -1
- package/esm/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
- package/esm/scroll-area/corner/ScrollAreaCorner.js +1 -1
- package/esm/scroll-area/root/ScrollAreaRoot.d.ts +26 -2
- package/esm/scroll-area/root/ScrollAreaRoot.js +33 -29
- package/esm/scroll-area/root/ScrollAreaRootContext.d.ts +10 -43
- package/esm/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +1 -1
- package/esm/scroll-area/scrollbar/ScrollAreaScrollbar.js +4 -4
- package/esm/scroll-area/thumb/ScrollAreaThumb.d.ts +2 -2
- package/esm/scroll-area/thumb/ScrollAreaThumb.js +1 -1
- package/esm/scroll-area/viewport/ScrollAreaViewport.d.ts +1 -1
- package/esm/scroll-area/viewport/ScrollAreaViewport.js +51 -25
- package/esm/select/arrow/SelectArrow.d.ts +1 -1
- package/esm/select/backdrop/SelectBackdrop.d.ts +1 -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/item/SelectItem.d.ts +1 -1
- package/esm/select/item/SelectItem.js +0 -1
- package/esm/select/item-indicator/SelectItemIndicator.d.ts +1 -1
- package/esm/select/item-text/SelectItemText.d.ts +1 -1
- package/esm/select/list/SelectList.d.ts +1 -1
- package/esm/select/popup/SelectPopup.d.ts +1 -1
- package/esm/select/popup/SelectPopup.js +154 -95
- package/esm/select/portal/SelectPortal.d.ts +1 -1
- package/esm/select/positioner/SelectPositioner.d.ts +1 -1
- package/esm/select/root/SelectRoot.d.ts +2 -2
- package/esm/select/root/SelectRoot.js +26 -13
- package/esm/select/scroll-arrow/SelectScrollArrow.d.ts +1 -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 +2 -1
- package/esm/select/store.js +19 -13
- package/esm/select/trigger/SelectTrigger.d.ts +14 -4
- package/esm/select/trigger/SelectTrigger.js +50 -18
- package/esm/select/value/SelectValue.d.ts +6 -1
- package/esm/select/value/SelectValue.js +19 -5
- package/esm/separator/Separator.d.ts +1 -1
- package/esm/slider/control/SliderControl.d.ts +1 -1
- package/esm/slider/control/SliderControl.js +1 -1
- package/esm/slider/control/SliderControlDataAttributes.d.ts +0 -8
- package/esm/slider/control/SliderControlDataAttributes.js +0 -8
- package/esm/slider/indicator/SliderIndicator.d.ts +1 -1
- package/esm/slider/indicator/SliderIndicatorDataAttributes.d.ts +0 -8
- package/esm/slider/indicator/SliderIndicatorDataAttributes.js +0 -8
- package/esm/slider/root/SliderRootDataAttributes.d.ts +0 -8
- package/esm/slider/root/SliderRootDataAttributes.js +0 -8
- package/esm/slider/thumb/SliderThumb.d.ts +2 -2
- package/esm/slider/thumb/SliderThumb.js +7 -1
- package/esm/slider/thumb/SliderThumbDataAttributes.d.ts +0 -8
- package/esm/slider/thumb/SliderThumbDataAttributes.js +0 -8
- package/esm/slider/track/SliderTrack.d.ts +1 -1
- package/esm/slider/track/SliderTrackDataAttributes.d.ts +0 -8
- package/esm/slider/track/SliderTrackDataAttributes.js +0 -8
- package/esm/slider/value/SliderValue.d.ts +1 -1
- package/esm/slider/value/SliderValueDataAttributes.d.ts +0 -8
- package/esm/slider/value/SliderValueDataAttributes.js +0 -8
- package/esm/switch/root/SwitchRoot.d.ts +6 -1
- package/esm/switch/root/SwitchRoot.js +15 -6
- package/esm/switch/thumb/SwitchThumb.d.ts +1 -1
- package/esm/tabs/indicator/TabsIndicator.d.ts +1 -1
- package/esm/tabs/indicator/TabsIndicator.js +6 -0
- package/esm/tabs/list/TabsList.d.ts +1 -1
- package/esm/tabs/panel/TabsPanel.d.ts +1 -1
- package/esm/tabs/root/TabsRoot.d.ts +1 -1
- package/esm/tabs/tab/TabsTab.d.ts +1 -1
- package/esm/toast/action/ToastAction.d.ts +1 -1
- package/esm/toast/arrow/ToastArrow.d.ts +1 -1
- package/esm/toast/close/ToastClose.d.ts +1 -1
- package/esm/toast/content/ToastContent.d.ts +1 -1
- package/esm/toast/description/ToastDescription.d.ts +1 -1
- package/esm/toast/portal/ToastPortal.d.ts +1 -1
- package/esm/toast/positioner/ToastPositioner.d.ts +1 -1
- package/esm/toast/provider/ToastProvider.js +46 -19
- package/esm/toast/root/ToastRoot.d.ts +1 -1
- package/esm/toast/title/ToastTitle.d.ts +1 -1
- 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 +1 -1
- package/esm/toolbar/group/ToolbarGroup.d.ts +1 -1
- package/esm/toolbar/input/ToolbarInput.d.ts +1 -1
- package/esm/toolbar/link/ToolbarLink.d.ts +1 -1
- package/esm/toolbar/root/ToolbarRoot.d.ts +1 -1
- package/esm/toolbar/separator/ToolbarSeparator.d.ts +1 -1
- package/esm/tooltip/arrow/TooltipArrow.d.ts +1 -1
- package/esm/tooltip/popup/TooltipPopup.d.ts +1 -1
- package/esm/tooltip/popup/TooltipPopup.js +0 -31
- package/esm/tooltip/portal/TooltipPortal.d.ts +1 -1
- package/esm/tooltip/positioner/TooltipPositioner.d.ts +1 -1
- package/esm/tooltip/positioner/TooltipPositioner.js +2 -1
- package/esm/tooltip/root/TooltipRoot.d.ts +4 -6
- package/esm/tooltip/root/TooltipRoot.js +1 -2
- package/esm/tooltip/store/TooltipStore.d.ts +4 -2
- package/esm/tooltip/store/TooltipStore.js +7 -4
- package/esm/tooltip/trigger/TooltipTrigger.js +1 -1
- package/esm/tooltip/viewport/TooltipViewport.d.ts +1 -1
- package/esm/tooltip/viewport/TooltipViewport.js +28 -12
- package/esm/use-render/index.d.ts +2 -1
- package/esm/use-render/index.js +2 -1
- package/esm/utils/FloatingPortalLite.d.ts +1 -1
- package/esm/utils/popups/popupStoreUtils.js +21 -2
- package/esm/utils/resolveValueLabel.d.ts +5 -1
- package/esm/utils/resolveValueLabel.js +46 -22
- package/esm/utils/styles.d.ts +1 -1
- package/esm/utils/styles.js +10 -6
- package/esm/utils/types.d.ts +1 -1
- package/esm/utils/useAnimationsFinished.d.ts +2 -2
- package/esm/utils/useAnimationsFinished.js +56 -33
- package/esm/utils/useOpenChangeComplete.js +8 -10
- package/esm/utils/useOpenInteractionType.js +6 -1
- package/esm/utils/usePopupAutoResize.js +82 -46
- package/field/control/FieldControl.d.ts +1 -1
- package/field/description/FieldDescription.d.ts +1 -1
- package/field/error/FieldError.d.ts +1 -1
- package/field/index.d.ts +2 -1
- package/field/item/FieldItem.d.ts +1 -1
- package/field/label/FieldLabel.d.ts +11 -2
- package/field/label/FieldLabel.js +51 -11
- package/field/root/FieldRoot.d.ts +10 -1
- package/field/root/FieldRoot.js +8 -0
- package/field/useField.js +7 -3
- package/fieldset/legend/FieldsetLegend.d.ts +1 -1
- package/fieldset/root/FieldsetRoot.d.ts +1 -1
- package/floating-ui-react/components/FloatingFocusManager.js +7 -6
- package/floating-ui-react/components/FloatingPortal.d.ts +2 -2
- package/floating-ui-react/components/FloatingPortal.js +11 -2
- package/floating-ui-react/hooks/useClientPoint.js +5 -4
- package/floating-ui-react/hooks/useDismiss.js +16 -3
- package/floating-ui-react/hooks/useFocus.d.ts +5 -0
- package/floating-ui-react/hooks/useFocus.js +43 -9
- package/floating-ui-react/hooks/useHoverReferenceInteraction.js +17 -4
- package/floating-ui-react/hooks/useSyncedFloatingRootContext.js +3 -0
- package/form/Form.d.ts +18 -1
- package/form/Form.js +17 -0
- package/form/FormContext.d.ts +1 -1
- package/index.d.ts +1 -0
- package/index.js +12 -1
- package/input/Input.d.ts +1 -1
- package/menu/arrow/MenuArrow.d.ts +1 -1
- package/menu/backdrop/MenuBackdrop.d.ts +1 -1
- package/menu/checkbox-item/MenuCheckboxItem.d.ts +1 -1
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.d.ts +1 -1
- package/menu/group/MenuGroup.d.ts +1 -1
- package/menu/group-label/MenuGroupLabel.d.ts +1 -1
- package/menu/item/MenuItem.d.ts +1 -1
- package/menu/popup/MenuPopup.d.ts +1 -1
- package/menu/popup/MenuPopup.js +4 -3
- package/menu/portal/MenuPortal.d.ts +1 -1
- package/menu/positioner/MenuPositioner.d.ts +1 -1
- package/menu/radio-group/MenuRadioGroup.d.ts +1 -1
- package/menu/radio-item/MenuRadioItem.d.ts +1 -1
- package/menu/radio-item-indicator/MenuRadioItemIndicator.d.ts +1 -1
- package/menu/root/MenuRoot.d.ts +7 -6
- package/menu/root/MenuRoot.js +4 -2
- package/menu/store/MenuStore.js +3 -3
- package/menu/submenu-trigger/MenuSubmenuTrigger.d.ts +1 -1
- package/menu/trigger/MenuTrigger.js +14 -14
- package/menubar/Menubar.d.ts +1 -1
- package/merge-props/mergeProps.d.ts +31 -11
- package/merge-props/mergeProps.js +29 -8
- package/meter/indicator/MeterIndicator.d.ts +1 -1
- package/meter/label/MeterLabel.d.ts +1 -1
- package/meter/root/MeterRoot.d.ts +1 -1
- package/meter/track/MeterTrack.d.ts +1 -1
- package/meter/value/MeterValue.d.ts +1 -1
- package/navigation-menu/arrow/NavigationMenuArrow.d.ts +1 -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 +6 -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/popup/NavigationMenuPopup.d.ts +1 -1
- package/navigation-menu/portal/NavigationMenuPortal.d.ts +1 -1
- package/navigation-menu/positioner/NavigationMenuPositioner.d.ts +1 -1
- package/navigation-menu/root/NavigationMenuRoot.d.ts +2 -2
- package/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -1
- package/navigation-menu/viewport/NavigationMenuViewport.d.ts +1 -1
- package/number-field/decrement/NumberFieldDecrement.d.ts +1 -1
- package/number-field/decrement/NumberFieldDecrement.js +4 -6
- package/number-field/group/NumberFieldGroup.d.ts +1 -1
- package/number-field/increment/NumberFieldIncrement.d.ts +1 -1
- package/number-field/increment/NumberFieldIncrement.js +4 -6
- package/number-field/input/NumberFieldInput.d.ts +1 -1
- package/number-field/input/NumberFieldInput.js +5 -2
- package/number-field/root/NumberFieldRoot.d.ts +5 -4
- package/number-field/root/NumberFieldRoot.js +11 -4
- package/number-field/root/useNumberFieldButton.d.ts +0 -3
- package/number-field/root/useNumberFieldButton.js +5 -11
- package/number-field/scrub-area/NumberFieldScrubArea.d.ts +1 -1
- package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.d.ts +1 -1
- package/package.json +13 -3
- package/popover/arrow/PopoverArrow.d.ts +1 -1
- package/popover/backdrop/PopoverBackdrop.d.ts +1 -1
- package/popover/close/PopoverClose.d.ts +1 -1
- package/popover/description/PopoverDescription.d.ts +1 -1
- package/popover/popup/PopoverPopup.d.ts +1 -1
- package/popover/popup/PopoverPopup.js +0 -30
- package/popover/portal/PopoverPortal.d.ts +1 -1
- package/popover/positioner/PopoverPositioner.d.ts +1 -1
- package/popover/positioner/PopoverPositioner.js +2 -1
- package/popover/root/PopoverRoot.d.ts +2 -2
- package/popover/store/PopoverStore.d.ts +4 -2
- package/popover/store/PopoverStore.js +8 -5
- package/popover/title/PopoverTitle.d.ts +1 -1
- package/popover/trigger/PopoverTrigger.js +2 -2
- package/popover/viewport/PopoverViewport.d.ts +1 -1
- package/popover/viewport/PopoverViewport.js +28 -12
- package/preview-card/arrow/PreviewCardArrow.d.ts +1 -1
- package/preview-card/arrow/PreviewCardArrow.js +2 -3
- package/preview-card/backdrop/PreviewCardBackdrop.d.ts +1 -1
- package/preview-card/backdrop/PreviewCardBackdrop.js +4 -5
- package/preview-card/index.parts.d.ts +3 -1
- package/preview-card/index.parts.js +21 -1
- package/preview-card/popup/PreviewCardPopup.d.ts +2 -1
- package/preview-card/popup/PreviewCardPopup.js +17 -11
- package/preview-card/portal/PreviewCardPortal.d.ts +1 -1
- package/preview-card/portal/PreviewCardPortal.js +2 -3
- package/preview-card/positioner/PreviewCardPositioner.d.ts +2 -1
- package/preview-card/positioner/PreviewCardPositioner.js +16 -11
- package/preview-card/root/PreviewCardContext.d.ts +5 -26
- package/preview-card/root/PreviewCardContext.js +2 -2
- package/preview-card/root/PreviewCardRoot.d.ts +35 -10
- package/preview-card/root/PreviewCardRoot.js +59 -113
- package/preview-card/store/PreviewCardHandle.d.ts +33 -0
- package/preview-card/store/PreviewCardHandle.js +63 -0
- package/preview-card/store/PreviewCardStore.d.ts +36 -0
- package/preview-card/store/PreviewCardStore.js +105 -0
- package/preview-card/trigger/PreviewCardTrigger.d.ts +15 -3
- package/preview-card/trigger/PreviewCardTrigger.js +50 -13
- package/preview-card/viewport/PreviewCardViewport.d.ts +22 -0
- package/preview-card/viewport/PreviewCardViewport.js +278 -0
- package/preview-card/viewport/PreviewCardViewportCssVars.d.ts +14 -0
- package/preview-card/viewport/PreviewCardViewportCssVars.js +21 -0
- package/preview-card/viewport/PreviewCardViewportDataAttributes.d.ts +26 -0
- package/preview-card/viewport/PreviewCardViewportDataAttributes.js +33 -0
- package/progress/indicator/ProgressIndicator.d.ts +1 -1
- package/progress/label/ProgressLabel.d.ts +1 -1
- package/progress/root/ProgressRoot.d.ts +1 -1
- package/progress/track/ProgressTrack.d.ts +1 -1
- package/progress/value/ProgressValue.d.ts +1 -1
- package/radio/indicator/RadioIndicator.d.ts +1 -1
- package/radio/root/RadioRoot.d.ts +1 -1
- package/radio/root/RadioRoot.js +8 -8
- package/radio-group/RadioGroup.d.ts +4 -4
- package/radio-group/RadioGroup.js +1 -1
- package/scroll-area/content/ScrollAreaContent.d.ts +1 -1
- package/scroll-area/content/ScrollAreaContent.js +10 -1
- package/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
- package/scroll-area/corner/ScrollAreaCorner.js +1 -1
- package/scroll-area/root/ScrollAreaRoot.d.ts +26 -2
- package/scroll-area/root/ScrollAreaRoot.js +33 -29
- package/scroll-area/root/ScrollAreaRootContext.d.ts +10 -43
- package/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +1 -1
- package/scroll-area/scrollbar/ScrollAreaScrollbar.js +4 -4
- package/scroll-area/thumb/ScrollAreaThumb.d.ts +2 -2
- package/scroll-area/thumb/ScrollAreaThumb.js +1 -1
- package/scroll-area/viewport/ScrollAreaViewport.d.ts +1 -1
- package/scroll-area/viewport/ScrollAreaViewport.js +51 -25
- package/select/arrow/SelectArrow.d.ts +1 -1
- package/select/backdrop/SelectBackdrop.d.ts +1 -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/item/SelectItem.d.ts +1 -1
- package/select/item/SelectItem.js +0 -1
- package/select/item-indicator/SelectItemIndicator.d.ts +1 -1
- package/select/item-text/SelectItemText.d.ts +1 -1
- package/select/list/SelectList.d.ts +1 -1
- package/select/popup/SelectPopup.d.ts +1 -1
- package/select/popup/SelectPopup.js +154 -95
- package/select/portal/SelectPortal.d.ts +1 -1
- package/select/positioner/SelectPositioner.d.ts +1 -1
- package/select/root/SelectRoot.d.ts +2 -2
- package/select/root/SelectRoot.js +24 -11
- package/select/scroll-arrow/SelectScrollArrow.d.ts +1 -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 +2 -1
- package/select/store.js +18 -12
- package/select/trigger/SelectTrigger.d.ts +14 -4
- package/select/trigger/SelectTrigger.js +50 -18
- package/select/value/SelectValue.d.ts +6 -1
- package/select/value/SelectValue.js +18 -4
- package/separator/Separator.d.ts +1 -1
- package/slider/control/SliderControl.d.ts +1 -1
- package/slider/control/SliderControl.js +1 -1
- package/slider/control/SliderControlDataAttributes.d.ts +0 -8
- package/slider/control/SliderControlDataAttributes.js +0 -8
- package/slider/indicator/SliderIndicator.d.ts +1 -1
- package/slider/indicator/SliderIndicatorDataAttributes.d.ts +0 -8
- package/slider/indicator/SliderIndicatorDataAttributes.js +0 -8
- package/slider/root/SliderRootDataAttributes.d.ts +0 -8
- package/slider/root/SliderRootDataAttributes.js +0 -8
- package/slider/thumb/SliderThumb.d.ts +2 -2
- package/slider/thumb/SliderThumb.js +7 -1
- package/slider/thumb/SliderThumbDataAttributes.d.ts +0 -8
- package/slider/thumb/SliderThumbDataAttributes.js +0 -8
- package/slider/track/SliderTrack.d.ts +1 -1
- package/slider/track/SliderTrackDataAttributes.d.ts +0 -8
- package/slider/track/SliderTrackDataAttributes.js +0 -8
- package/slider/value/SliderValue.d.ts +1 -1
- package/slider/value/SliderValueDataAttributes.d.ts +0 -8
- package/slider/value/SliderValueDataAttributes.js +0 -8
- package/switch/root/SwitchRoot.d.ts +6 -1
- package/switch/root/SwitchRoot.js +14 -5
- package/switch/thumb/SwitchThumb.d.ts +1 -1
- package/tabs/indicator/TabsIndicator.d.ts +1 -1
- package/tabs/indicator/TabsIndicator.js +6 -0
- package/tabs/list/TabsList.d.ts +1 -1
- package/tabs/panel/TabsPanel.d.ts +1 -1
- package/tabs/root/TabsRoot.d.ts +1 -1
- package/tabs/tab/TabsTab.d.ts +1 -1
- package/toast/action/ToastAction.d.ts +1 -1
- package/toast/arrow/ToastArrow.d.ts +1 -1
- package/toast/close/ToastClose.d.ts +1 -1
- package/toast/content/ToastContent.d.ts +1 -1
- package/toast/description/ToastDescription.d.ts +1 -1
- package/toast/portal/ToastPortal.d.ts +1 -1
- package/toast/positioner/ToastPositioner.d.ts +1 -1
- package/toast/provider/ToastProvider.js +46 -19
- package/toast/root/ToastRoot.d.ts +1 -1
- package/toast/title/ToastTitle.d.ts +1 -1
- 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 +1 -1
- package/toolbar/group/ToolbarGroup.d.ts +1 -1
- package/toolbar/input/ToolbarInput.d.ts +1 -1
- package/toolbar/link/ToolbarLink.d.ts +1 -1
- package/toolbar/root/ToolbarRoot.d.ts +1 -1
- package/toolbar/separator/ToolbarSeparator.d.ts +1 -1
- package/tooltip/arrow/TooltipArrow.d.ts +1 -1
- package/tooltip/popup/TooltipPopup.d.ts +1 -1
- package/tooltip/popup/TooltipPopup.js +0 -31
- package/tooltip/portal/TooltipPortal.d.ts +1 -1
- package/tooltip/positioner/TooltipPositioner.d.ts +1 -1
- package/tooltip/positioner/TooltipPositioner.js +2 -1
- package/tooltip/root/TooltipRoot.d.ts +4 -6
- package/tooltip/root/TooltipRoot.js +1 -2
- package/tooltip/store/TooltipStore.d.ts +4 -2
- package/tooltip/store/TooltipStore.js +7 -4
- package/tooltip/trigger/TooltipTrigger.js +1 -1
- package/tooltip/viewport/TooltipViewport.d.ts +1 -1
- package/tooltip/viewport/TooltipViewport.js +28 -12
- package/use-render/index.d.ts +2 -1
- package/utils/FloatingPortalLite.d.ts +1 -1
- package/utils/popups/popupStoreUtils.js +21 -2
- package/utils/resolveValueLabel.d.ts +5 -1
- package/utils/resolveValueLabel.js +48 -22
- package/utils/styles.d.ts +1 -1
- package/utils/styles.js +10 -6
- package/utils/types.d.ts +1 -1
- package/utils/useAnimationsFinished.d.ts +2 -2
- package/utils/useAnimationsFinished.js +56 -33
- package/utils/useOpenChangeComplete.js +8 -10
- package/utils/useOpenInteractionType.js +6 -1
- package/utils/usePopupAutoResize.js +82 -46
- package/esm/utils/interactions/useFocusWithDelay.d.ts +0 -9
- package/esm/utils/interactions/useFocusWithDelay.js +0 -81
- package/utils/interactions/useFocusWithDelay.d.ts +0 -9
- package/utils/interactions/useFocusWithDelay.js +0 -87
- /package/esm/utils/{useMixedToggleClickHander.d.ts → useMixedToggleClickHandler.d.ts} +0 -0
- /package/esm/utils/{useMixedToggleClickHander.js → useMixedToggleClickHandler.js} +0 -0
- /package/utils/{useMixedToggleClickHander.d.ts → useMixedToggleClickHandler.d.ts} +0 -0
- /package/utils/{useMixedToggleClickHander.js → useMixedToggleClickHandler.js} +0 -0
|
@@ -10,6 +10,7 @@ import { tabsStateAttributesMapping } from "../root/stateAttributesMapping.js";
|
|
|
10
10
|
import { useTabsListContext } from "../list/TabsListContext.js";
|
|
11
11
|
import { script as prehydrationScript } from "./prehydrationScript.min.js";
|
|
12
12
|
import { TabsIndicatorCssVars } from "./TabsIndicatorCssVars.js";
|
|
13
|
+
import { useCSPContext } from "../../csp-provider/CSPContext.js";
|
|
13
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
15
|
const stateAttributesMapping = {
|
|
15
16
|
...tabsStateAttributesMapping,
|
|
@@ -30,6 +31,9 @@ export const TabsIndicator = /*#__PURE__*/React.forwardRef(function TabIndicator
|
|
|
30
31
|
renderBeforeHydration = false,
|
|
31
32
|
...elementProps
|
|
32
33
|
} = componentProps;
|
|
34
|
+
const {
|
|
35
|
+
nonce
|
|
36
|
+
} = useCSPContext();
|
|
33
37
|
const {
|
|
34
38
|
getTabElementBySelectedValue,
|
|
35
39
|
orientation,
|
|
@@ -141,7 +145,9 @@ export const TabsIndicator = /*#__PURE__*/React.forwardRef(function TabIndicator
|
|
|
141
145
|
}
|
|
142
146
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
143
147
|
children: [element, !isMounted && renderBeforeHydration && /*#__PURE__*/_jsx("script", {
|
|
148
|
+
nonce: nonce
|
|
144
149
|
// eslint-disable-next-line react/no-danger
|
|
150
|
+
,
|
|
145
151
|
dangerouslySetInnerHTML: {
|
|
146
152
|
__html: prehydrationScript
|
|
147
153
|
},
|
|
@@ -7,7 +7,7 @@ import type { TabsRoot } from "../root/TabsRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Tabs](https://base-ui.com/react/components/tabs)
|
|
9
9
|
*/
|
|
10
|
-
export declare const TabsList: React.ForwardRefExoticComponent<TabsListProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsListProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface TabsListState extends TabsRoot.State {}
|
|
12
12
|
export interface TabsListProps extends BaseUIComponentProps<'div', TabsList.State> {
|
|
13
13
|
/**
|
|
@@ -8,7 +8,7 @@ import type { TabsTab } from "../tab/TabsTab.js";
|
|
|
8
8
|
*
|
|
9
9
|
* Documentation: [Base UI Tabs](https://base-ui.com/react/components/tabs)
|
|
10
10
|
*/
|
|
11
|
-
export declare const TabsPanel: React.ForwardRefExoticComponent<TabsPanelProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export declare const TabsPanel: React.ForwardRefExoticComponent<Omit<TabsPanelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
12
|
export interface TabsPanelMetadata {
|
|
13
13
|
id?: string;
|
|
14
14
|
value: TabsTab.Value;
|
|
@@ -9,7 +9,7 @@ import { REASONS } from "../../utils/reasons.js";
|
|
|
9
9
|
*
|
|
10
10
|
* Documentation: [Base UI Tabs](https://base-ui.com/react/components/tabs)
|
|
11
11
|
*/
|
|
12
|
-
export declare const TabsRoot: React.ForwardRefExoticComponent<TabsRootProps & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export declare const TabsRoot: React.ForwardRefExoticComponent<Omit<TabsRootProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
13
13
|
export type TabsRootOrientation = BaseOrientation;
|
|
14
14
|
export interface TabsRootState {
|
|
15
15
|
orientation: TabsRoot.Orientation;
|
|
@@ -7,7 +7,7 @@ import type { TabsRoot } from "../root/TabsRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Tabs](https://base-ui.com/react/components/tabs)
|
|
9
9
|
*/
|
|
10
|
-
export declare const TabsTab: React.ForwardRefExoticComponent<TabsTabProps & React.RefAttributes<
|
|
10
|
+
export declare const TabsTab: React.ForwardRefExoticComponent<Omit<TabsTabProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
11
11
|
export type TabsTabValue = any | null;
|
|
12
12
|
export type TabsTabActivationDirection = 'left' | 'right' | 'up' | 'down' | 'none';
|
|
13
13
|
export interface TabsTabPosition {
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps, NativeButtonProps } from "../../utils/types.
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
|
|
8
8
|
*/
|
|
9
|
-
export declare const ToastAction: React.ForwardRefExoticComponent<ToastActionProps & React.RefAttributes<HTMLButtonElement>>;
|
|
9
|
+
export declare const ToastAction: React.ForwardRefExoticComponent<Omit<ToastActionProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
10
10
|
export interface ToastActionState {
|
|
11
11
|
/**
|
|
12
12
|
* The type of the toast.
|
|
@@ -7,7 +7,7 @@ import type { Side, Align } from "../../utils/useAnchorPositioning.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ToastArrow: React.ForwardRefExoticComponent<ToastArrowProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const ToastArrow: React.ForwardRefExoticComponent<Omit<ToastArrowProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface ToastArrowState {
|
|
12
12
|
side: Side;
|
|
13
13
|
align: Align;
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps, NativeButtonProps } from "../../utils/types.
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
|
|
8
8
|
*/
|
|
9
|
-
export declare const ToastClose: React.ForwardRefExoticComponent<ToastCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
9
|
+
export declare const ToastClose: React.ForwardRefExoticComponent<Omit<ToastCloseProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
10
10
|
export interface ToastCloseState {
|
|
11
11
|
/**
|
|
12
12
|
* The type of the toast.
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
|
|
8
8
|
*/
|
|
9
|
-
export declare const ToastContent: React.ForwardRefExoticComponent<ToastContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const ToastContent: React.ForwardRefExoticComponent<Omit<ToastContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface ToastContentState {
|
|
11
11
|
/**
|
|
12
12
|
* Whether the toast viewport is expanded.
|
|
@@ -7,7 +7,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ToastDescription: React.ForwardRefExoticComponent<ToastDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
|
10
|
+
export declare const ToastDescription: React.ForwardRefExoticComponent<Omit<ToastDescriptionProps, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
11
11
|
export interface ToastDescriptionState {
|
|
12
12
|
/**
|
|
13
13
|
* The type of the toast.
|
|
@@ -6,7 +6,7 @@ import { FloatingPortalLite } from "../../utils/FloatingPortalLite.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
|
|
8
8
|
*/
|
|
9
|
-
export declare const ToastPortal: import("react").ForwardRefExoticComponent<FloatingPortalLite.Props<any> & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const ToastPortal: import("react").ForwardRefExoticComponent<Omit<FloatingPortalLite.Props<any>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export declare namespace ToastPortal {
|
|
11
11
|
interface State {}
|
|
12
12
|
}
|
|
@@ -8,7 +8,7 @@ import type { ToastObject } from "../useToastManager.js";
|
|
|
8
8
|
*
|
|
9
9
|
* Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
|
|
10
10
|
*/
|
|
11
|
-
export declare const ToastPositioner: React.ForwardRefExoticComponent<ToastPositionerProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export declare const ToastPositioner: React.ForwardRefExoticComponent<Omit<ToastPositionerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
12
|
export interface ToastPositionerState {
|
|
13
13
|
side: Side;
|
|
14
14
|
align: Align;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
+
import * as ReactDOM from 'react-dom';
|
|
4
5
|
import { ownerDocument } from '@base-ui/utils/owner';
|
|
5
6
|
import { useStableCallback } from '@base-ui/utils/useStableCallback';
|
|
6
7
|
import { generateId } from '@base-ui/utils/generateId';
|
|
@@ -196,10 +197,48 @@ export const ToastProvider = function ToastProvider(props) {
|
|
|
196
197
|
return id;
|
|
197
198
|
});
|
|
198
199
|
const update = useStableCallback((id, updates) => {
|
|
199
|
-
|
|
200
|
-
|
|
200
|
+
const prevToast = toasts.find(toast => toast.id === id) ?? null;
|
|
201
|
+
const nextToast = prevToast ? {
|
|
202
|
+
...prevToast,
|
|
201
203
|
...updates
|
|
202
|
-
} :
|
|
204
|
+
} : null;
|
|
205
|
+
|
|
206
|
+
// Avoid race conditions if `update()` is called multiple times in a row
|
|
207
|
+
ReactDOM.flushSync(() => {
|
|
208
|
+
setToasts(prev => prev.map(toast => toast.id === id ? {
|
|
209
|
+
...toast,
|
|
210
|
+
...updates
|
|
211
|
+
} : toast));
|
|
212
|
+
});
|
|
213
|
+
if (!nextToast) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
const nextTimeout = nextToast.timeout ?? timeout;
|
|
217
|
+
const prevTimeout = prevToast?.timeout ?? timeout;
|
|
218
|
+
const timeoutUpdated = Object.hasOwn(updates, 'timeout');
|
|
219
|
+
const shouldHaveTimer = nextToast.transitionStatus !== 'ending' && nextToast.type !== 'loading' && nextTimeout > 0;
|
|
220
|
+
const hasTimer = timersRef.current.has(id);
|
|
221
|
+
const timeoutChanged = prevTimeout !== nextTimeout;
|
|
222
|
+
const wasLoading = prevToast?.type === 'loading';
|
|
223
|
+
if (!shouldHaveTimer && hasTimer) {
|
|
224
|
+
const timer = timersRef.current.get(id);
|
|
225
|
+
timer?.timeout?.clear();
|
|
226
|
+
timersRef.current.delete(id);
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// Schedule or reschedule timer if needed
|
|
231
|
+
if (shouldHaveTimer && (!hasTimer || timeoutChanged || timeoutUpdated || wasLoading)) {
|
|
232
|
+
const timer = timersRef.current.get(id);
|
|
233
|
+
if (timer) {
|
|
234
|
+
timer.timeout?.clear();
|
|
235
|
+
timersRef.current.delete(id);
|
|
236
|
+
}
|
|
237
|
+
scheduleTimer(id, nextTimeout, () => close(id));
|
|
238
|
+
if (hovering || focused || !windowFocusedRef.current) {
|
|
239
|
+
pauseTimers();
|
|
240
|
+
}
|
|
241
|
+
}
|
|
203
242
|
});
|
|
204
243
|
const promise = useStableCallback((promiseValue, options) => {
|
|
205
244
|
// Create a loading toast (which does not auto-dismiss).
|
|
@@ -212,29 +251,17 @@ export const ToastProvider = function ToastProvider(props) {
|
|
|
212
251
|
const successOptions = resolvePromiseOptions(options.success, result);
|
|
213
252
|
update(id, {
|
|
214
253
|
...successOptions,
|
|
215
|
-
type: 'success'
|
|
254
|
+
type: 'success',
|
|
255
|
+
timeout: successOptions.timeout
|
|
216
256
|
});
|
|
217
|
-
const successTimeout = successOptions.timeout ?? timeout;
|
|
218
|
-
if (successTimeout > 0) {
|
|
219
|
-
scheduleTimer(id, successTimeout, () => close(id));
|
|
220
|
-
}
|
|
221
|
-
if (hovering || focused || !windowFocusedRef.current) {
|
|
222
|
-
pauseTimers();
|
|
223
|
-
}
|
|
224
257
|
return result;
|
|
225
258
|
}).catch(error => {
|
|
226
259
|
const errorOptions = resolvePromiseOptions(options.error, error);
|
|
227
260
|
update(id, {
|
|
228
261
|
...errorOptions,
|
|
229
|
-
type: 'error'
|
|
262
|
+
type: 'error',
|
|
263
|
+
timeout: errorOptions.timeout
|
|
230
264
|
});
|
|
231
|
-
const errorTimeout = errorOptions.timeout ?? timeout;
|
|
232
|
-
if (errorTimeout > 0) {
|
|
233
|
-
scheduleTimer(id, errorTimeout, () => close(id));
|
|
234
|
-
}
|
|
235
|
-
if (hovering || focused || !windowFocusedRef.current) {
|
|
236
|
-
pauseTimers();
|
|
237
|
-
}
|
|
238
265
|
return Promise.reject(error);
|
|
239
266
|
});
|
|
240
267
|
|
|
@@ -8,7 +8,7 @@ import type { TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
8
8
|
*
|
|
9
9
|
* Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
|
|
10
10
|
*/
|
|
11
|
-
export declare const ToastRoot: React.ForwardRefExoticComponent<ToastRootProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export declare const ToastRoot: React.ForwardRefExoticComponent<Omit<ToastRootProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
12
|
export type ToastRootToastObject<Data extends object = any> = ToastObjectType<Data>;
|
|
13
13
|
export interface ToastRootState {
|
|
14
14
|
transitionStatus: TransitionStatus;
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
|
|
8
8
|
*/
|
|
9
|
-
export declare const ToastTitle: React.ForwardRefExoticComponent<ToastTitleProps & React.RefAttributes<HTMLHeadingElement>>;
|
|
9
|
+
export declare const ToastTitle: React.ForwardRefExoticComponent<Omit<ToastTitleProps, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
10
10
|
export interface ToastTitleState {
|
|
11
11
|
/**
|
|
12
12
|
* The type of the toast.
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Toast](https://base-ui.com/react/components/toast)
|
|
8
8
|
*/
|
|
9
|
-
export declare const ToastViewport: React.ForwardRefExoticComponent<ToastViewportProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const ToastViewport: React.ForwardRefExoticComponent<Omit<ToastViewportProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface ToastViewportState {
|
|
11
11
|
/**
|
|
12
12
|
* Whether toasts are expanded in the viewport.
|
package/esm/toggle/Toggle.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { REASONS } from "../utils/reasons.js";
|
|
|
8
8
|
*
|
|
9
9
|
* Documentation: [Base UI Toggle](https://base-ui.com/react/components/toggle)
|
|
10
10
|
*/
|
|
11
|
-
export declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLButtonElement>>;
|
|
11
|
+
export declare const Toggle: React.ForwardRefExoticComponent<Omit<ToggleProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
12
12
|
export interface ToggleState {
|
|
13
13
|
/**
|
|
14
14
|
* Whether the toggle is currently pressed.
|
|
@@ -7,7 +7,7 @@ import { REASONS } from "../utils/reasons.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Toggle Group](https://base-ui.com/react/components/toggle-group)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ToggleGroup: React.ForwardRefExoticComponent<ToggleGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const ToggleGroup: React.ForwardRefExoticComponent<Omit<ToggleGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface ToggleGroupState {
|
|
12
12
|
/**
|
|
13
13
|
* Whether the component should ignore user interaction.
|
|
@@ -7,7 +7,7 @@ import type { ToolbarRoot } from "../root/ToolbarRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Toolbar](https://base-ui.com/react/components/toolbar)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ToolbarButton: React.ForwardRefExoticComponent<ToolbarButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
export declare const ToolbarButton: React.ForwardRefExoticComponent<Omit<ToolbarButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
11
11
|
export interface ToolbarButtonState extends ToolbarRoot.State {
|
|
12
12
|
disabled: boolean;
|
|
13
13
|
focusable: boolean;
|
|
@@ -7,7 +7,7 @@ import type { ToolbarRoot } from "../root/ToolbarRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Toolbar](https://base-ui.com/react/components/toolbar)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ToolbarGroup: React.ForwardRefExoticComponent<ToolbarGroupProps & React.RefAttributes<
|
|
10
|
+
export declare const ToolbarGroup: React.ForwardRefExoticComponent<Omit<ToolbarGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface ToolbarGroupProps extends BaseUIComponentProps<'div', ToolbarRoot.State> {
|
|
12
12
|
/**
|
|
13
13
|
* When `true` all toolbar items in the group are disabled.
|
|
@@ -7,7 +7,7 @@ import type { ToolbarRoot } from "../root/ToolbarRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Toolbar](https://base-ui.com/react/components/toolbar)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ToolbarInput: React.ForwardRefExoticComponent<ToolbarInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
10
|
+
export declare const ToolbarInput: React.ForwardRefExoticComponent<Omit<ToolbarInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
11
11
|
export interface ToolbarInputState extends ToolbarRoot.State {
|
|
12
12
|
disabled: boolean;
|
|
13
13
|
focusable: boolean;
|
|
@@ -7,7 +7,7 @@ import type { ToolbarRoot } from "../root/ToolbarRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Toolbar](https://base-ui.com/react/components/toolbar)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ToolbarLink: React.ForwardRefExoticComponent<ToolbarLinkProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
10
|
+
export declare const ToolbarLink: React.ForwardRefExoticComponent<Omit<ToolbarLinkProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
|
|
11
11
|
export interface ToolbarLinkState {
|
|
12
12
|
orientation: ToolbarRoot.Orientation;
|
|
13
13
|
}
|
|
@@ -6,7 +6,7 @@ import { BaseUIComponentProps, Orientation as BaseOrientation } from "../../util
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Toolbar](https://base-ui.com/react/components/toolbar)
|
|
8
8
|
*/
|
|
9
|
-
export declare const ToolbarRoot: React.ForwardRefExoticComponent<ToolbarRootProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const ToolbarRoot: React.ForwardRefExoticComponent<Omit<ToolbarRootProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface ToolbarRootItemMetadata {
|
|
11
11
|
focusableWhenDisabled: boolean;
|
|
12
12
|
}
|
|
@@ -7,7 +7,7 @@ import { Separator } from "../../separator/index.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Toolbar](https://base-ui.com/react/components/toolbar)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ToolbarSeparator: React.ForwardRefExoticComponent<ToolbarSeparatorProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const ToolbarSeparator: React.ForwardRefExoticComponent<Omit<ToolbarSeparatorProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface ToolbarSeparatorProps extends BaseUIComponentProps<'div', Separator.State>, Separator.Props {}
|
|
12
12
|
export declare namespace ToolbarSeparator {
|
|
13
13
|
type Props = ToolbarSeparatorProps;
|
|
@@ -7,7 +7,7 @@ import type { Side, Align } from "../../utils/useAnchorPositioning.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip)
|
|
9
9
|
*/
|
|
10
|
-
export declare const TooltipArrow: React.ForwardRefExoticComponent<TooltipArrowProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const TooltipArrow: React.ForwardRefExoticComponent<Omit<TooltipArrowProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface TooltipArrowState {
|
|
12
12
|
/**
|
|
13
13
|
* Whether the tooltip is currently open.
|
|
@@ -8,7 +8,7 @@ import type { TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
8
8
|
*
|
|
9
9
|
* Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip)
|
|
10
10
|
*/
|
|
11
|
-
export declare const TooltipPopup: React.ForwardRefExoticComponent<TooltipPopupProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export declare const TooltipPopup: React.ForwardRefExoticComponent<Omit<TooltipPopupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
12
|
export interface TooltipPopupState {
|
|
13
13
|
/**
|
|
14
14
|
* Whether the tooltip is currently open.
|
|
@@ -7,10 +7,8 @@ import { popupStateMapping as baseMapping } from "../../utils/popupStateMapping.
|
|
|
7
7
|
import { transitionStatusMapping } from "../../utils/stateAttributesMapping.js";
|
|
8
8
|
import { useOpenChangeComplete } from "../../utils/useOpenChangeComplete.js";
|
|
9
9
|
import { useRenderElement } from "../../utils/useRenderElement.js";
|
|
10
|
-
import { usePopupAutoResize } from "../../utils/usePopupAutoResize.js";
|
|
11
10
|
import { getDisabledMountTransitionStyles } from "../../utils/getDisabledMountTransitionStyles.js";
|
|
12
11
|
import { useHoverFloatingInteraction } from "../../floating-ui-react/index.js";
|
|
13
|
-
import { useDirection } from "../../direction-provider/index.js";
|
|
14
12
|
const stateAttributesMapping = {
|
|
15
13
|
...baseMapping,
|
|
16
14
|
...transitionStatusMapping
|
|
@@ -34,15 +32,10 @@ export const TooltipPopup = /*#__PURE__*/React.forwardRef(function TooltipPopup(
|
|
|
34
32
|
align
|
|
35
33
|
} = useTooltipPositionerContext();
|
|
36
34
|
const open = store.useState('open');
|
|
37
|
-
const mounted = store.useState('mounted');
|
|
38
35
|
const instantType = store.useState('instantType');
|
|
39
36
|
const transitionStatus = store.useState('transitionStatus');
|
|
40
37
|
const popupProps = store.useState('popupProps');
|
|
41
|
-
const payload = store.useState('payload');
|
|
42
|
-
const popupElement = store.useState('popupElement');
|
|
43
|
-
const positionerElement = store.useState('positionerElement');
|
|
44
38
|
const floatingContext = store.useState('floatingRootContext');
|
|
45
|
-
const direction = useDirection();
|
|
46
39
|
useOpenChangeComplete({
|
|
47
40
|
open,
|
|
48
41
|
ref: store.context.popupRef,
|
|
@@ -52,30 +45,6 @@ export const TooltipPopup = /*#__PURE__*/React.forwardRef(function TooltipPopup(
|
|
|
52
45
|
}
|
|
53
46
|
}
|
|
54
47
|
});
|
|
55
|
-
function handleMeasureLayout() {
|
|
56
|
-
floatingContext.context.events.emit('measure-layout');
|
|
57
|
-
}
|
|
58
|
-
function handleMeasureLayoutComplete(previousDimensions, nextDimensions) {
|
|
59
|
-
floatingContext.context.events.emit('measure-layout-complete', {
|
|
60
|
-
previousDimensions,
|
|
61
|
-
nextDimensions
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// If there's just one trigger, we can skip the auto-resize logic as
|
|
66
|
-
// the tooltip will always be anchored to the same position.
|
|
67
|
-
const autoresizeEnabled = React.useCallback(() => store.context.triggerElements.size > 1, [store]);
|
|
68
|
-
usePopupAutoResize({
|
|
69
|
-
popupElement,
|
|
70
|
-
positionerElement,
|
|
71
|
-
mounted,
|
|
72
|
-
content: payload,
|
|
73
|
-
enabled: autoresizeEnabled,
|
|
74
|
-
onMeasureLayout: handleMeasureLayout,
|
|
75
|
-
onMeasureLayoutComplete: handleMeasureLayoutComplete,
|
|
76
|
-
side,
|
|
77
|
-
direction
|
|
78
|
-
});
|
|
79
48
|
const disabled = store.useState('disabled');
|
|
80
49
|
const closeDelay = store.useState('closeDelay');
|
|
81
50
|
useHoverFloatingInteraction(floatingContext, {
|
|
@@ -7,7 +7,7 @@ import { FloatingPortalLite } from "../../utils/FloatingPortalLite.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip)
|
|
9
9
|
*/
|
|
10
|
-
export declare const TooltipPortal: React.ForwardRefExoticComponent<TooltipPortalProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const TooltipPortal: React.ForwardRefExoticComponent<Omit<TooltipPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export declare namespace TooltipPortal {
|
|
12
12
|
interface State {}
|
|
13
13
|
}
|
|
@@ -7,7 +7,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip)
|
|
9
9
|
*/
|
|
10
|
-
export declare const TooltipPositioner: React.ForwardRefExoticComponent<TooltipPositionerProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const TooltipPositioner: React.ForwardRefExoticComponent<Omit<TooltipPositionerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface TooltipPositionerState {
|
|
12
12
|
/**
|
|
13
13
|
* Whether the tooltip is currently open.
|
|
@@ -45,6 +45,7 @@ export const TooltipPositioner = /*#__PURE__*/React.forwardRef(function TooltipP
|
|
|
45
45
|
const floatingRootContext = store.useState('floatingRootContext');
|
|
46
46
|
const instantType = store.useState('instantType');
|
|
47
47
|
const transitionStatus = store.useState('transitionStatus');
|
|
48
|
+
const hasViewport = store.useState('hasViewport');
|
|
48
49
|
const positioning = useAnchorPositioning({
|
|
49
50
|
anchor,
|
|
50
51
|
positionMethod,
|
|
@@ -61,7 +62,7 @@ export const TooltipPositioner = /*#__PURE__*/React.forwardRef(function TooltipP
|
|
|
61
62
|
disableAnchorTracking,
|
|
62
63
|
keepMounted,
|
|
63
64
|
collisionAvoidance,
|
|
64
|
-
adaptiveOrigin
|
|
65
|
+
adaptiveOrigin: hasViewport ? adaptiveOrigin : undefined
|
|
65
66
|
});
|
|
66
67
|
const defaultProps = React.useMemo(() => {
|
|
67
68
|
const hiddenStyles = {};
|
|
@@ -43,12 +43,10 @@ export interface TooltipRootProps<Payload = unknown> {
|
|
|
43
43
|
trackCursorAxis?: 'none' | 'x' | 'y' | 'both';
|
|
44
44
|
/**
|
|
45
45
|
* A ref to imperative actions.
|
|
46
|
-
* - `unmount`:
|
|
47
|
-
*
|
|
48
|
-
* Useful when the tooltip's animation is controlled by an external library.
|
|
49
|
-
* - `close`: Closes the dialog imperatively when called.
|
|
46
|
+
* - `unmount`: Unmounts the tooltip popup.
|
|
47
|
+
* - `close`: Closes the tooltip imperatively when called.
|
|
50
48
|
*/
|
|
51
|
-
actionsRef?: React.RefObject<TooltipRoot.Actions>;
|
|
49
|
+
actionsRef?: React.RefObject<TooltipRoot.Actions | null>;
|
|
52
50
|
/**
|
|
53
51
|
* Whether the tooltip is disabled.
|
|
54
52
|
* @default false
|
|
@@ -67,7 +65,7 @@ export interface TooltipRootProps<Payload = unknown> {
|
|
|
67
65
|
children?: React.ReactNode | PayloadChildRenderFunction<Payload>;
|
|
68
66
|
/**
|
|
69
67
|
* ID of the trigger that the tooltip is associated with.
|
|
70
|
-
* This is useful in
|
|
68
|
+
* This is useful in conjunction with the `open` prop to create a controlled tooltip.
|
|
71
69
|
* There's no need to specify this prop when the tooltip is uncontrolled (i.e. when the `open` prop is not set).
|
|
72
70
|
*/
|
|
73
71
|
triggerId?: string | null;
|
|
@@ -40,13 +40,13 @@ export function TooltipRoot(props) {
|
|
|
40
40
|
store.useContextCallback('onOpenChange', onOpenChange);
|
|
41
41
|
store.useContextCallback('onOpenChangeComplete', onOpenChangeComplete);
|
|
42
42
|
const openState = store.useState('open');
|
|
43
|
+
const open = !disabled && openState;
|
|
43
44
|
const activeTriggerId = store.useState('activeTriggerId');
|
|
44
45
|
const payload = store.useState('payload');
|
|
45
46
|
store.useSyncedValues({
|
|
46
47
|
trackCursorAxis,
|
|
47
48
|
disableHoverablePopup
|
|
48
49
|
});
|
|
49
|
-
const open = !disabled && openState;
|
|
50
50
|
useIsoLayoutEffect(() => {
|
|
51
51
|
if (openState && disabled) {
|
|
52
52
|
store.setOpen(false, createChangeEventDetails(REASONS.disabled));
|
|
@@ -117,7 +117,6 @@ export function TooltipRoot(props) {
|
|
|
117
117
|
const inactiveTriggerProps = React.useMemo(() => getTriggerProps(), [getTriggerProps]);
|
|
118
118
|
const popupProps = React.useMemo(() => getFloatingProps(), [getFloatingProps]);
|
|
119
119
|
store.useSyncedValues({
|
|
120
|
-
floatingRootContext,
|
|
121
120
|
activeTriggerProps,
|
|
122
121
|
inactiveTriggerProps,
|
|
123
122
|
popupProps
|
|
@@ -10,6 +10,7 @@ export type State<Payload> = PopupStoreState<Payload> & {
|
|
|
10
10
|
disableHoverablePopup: boolean;
|
|
11
11
|
openChangeReason: TooltipRoot.ChangeEventReason | null;
|
|
12
12
|
closeDelay: number;
|
|
13
|
+
hasViewport: boolean;
|
|
13
14
|
};
|
|
14
15
|
export type Context = PopupStoreContext<TooltipRoot.ChangeEventDetails> & {
|
|
15
16
|
readonly popupRef: React.RefObject<HTMLElement | null>;
|
|
@@ -22,6 +23,7 @@ declare const selectors: {
|
|
|
22
23
|
disableHoverablePopup: (state: State<unknown>) => boolean;
|
|
23
24
|
lastOpenChangeReason: (state: State<unknown>) => import("../index.js").TooltipRootChangeEventReason | null;
|
|
24
25
|
closeDelay: (state: State<unknown>) => number;
|
|
26
|
+
hasViewport: (state: State<unknown>) => boolean;
|
|
25
27
|
open: (state: PopupStoreState<unknown>) => boolean;
|
|
26
28
|
mounted: (state: PopupStoreState<unknown>) => boolean;
|
|
27
29
|
transitionStatus: (state: PopupStoreState<unknown>) => import("../../utils/useTransitionStatus.js").TransitionStatus;
|
|
@@ -33,8 +35,8 @@ declare const selectors: {
|
|
|
33
35
|
isTriggerActive: (state: PopupStoreState<unknown>, triggerId: string | undefined) => boolean;
|
|
34
36
|
isOpenedByTrigger: (state: PopupStoreState<unknown>, triggerId: string | undefined) => boolean;
|
|
35
37
|
isMountedByTrigger: (state: PopupStoreState<unknown>, triggerId: string | undefined) => boolean;
|
|
36
|
-
triggerProps: (state: PopupStoreState<unknown>, isActive: boolean) => import("../../
|
|
37
|
-
popupProps: (state: PopupStoreState<unknown>) => import("../../
|
|
38
|
+
triggerProps: (state: PopupStoreState<unknown>, isActive: boolean) => import("../../index.js").HTMLProps;
|
|
39
|
+
popupProps: (state: PopupStoreState<unknown>) => import("../../index.js").HTMLProps;
|
|
38
40
|
popupElement: (state: PopupStoreState<unknown>) => HTMLElement | null;
|
|
39
41
|
positionerElement: (state: PopupStoreState<unknown>) => HTMLElement | null;
|
|
40
42
|
};
|
|
@@ -13,7 +13,8 @@ const selectors = {
|
|
|
13
13
|
trackCursorAxis: createSelector(state => state.trackCursorAxis),
|
|
14
14
|
disableHoverablePopup: createSelector(state => state.disableHoverablePopup),
|
|
15
15
|
lastOpenChangeReason: createSelector(state => state.openChangeReason),
|
|
16
|
-
closeDelay: createSelector(state => state.closeDelay)
|
|
16
|
+
closeDelay: createSelector(state => state.closeDelay),
|
|
17
|
+
hasViewport: createSelector(state => state.hasViewport)
|
|
17
18
|
};
|
|
18
19
|
export class TooltipStore extends ReactStore {
|
|
19
20
|
constructor(initialState) {
|
|
@@ -71,9 +72,10 @@ export class TooltipStore extends ReactStore {
|
|
|
71
72
|
};
|
|
72
73
|
static useStore(externalStore, initialState) {
|
|
73
74
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
74
|
-
const
|
|
75
|
-
return
|
|
75
|
+
const internalStore = useRefWithInit(() => {
|
|
76
|
+
return new TooltipStore(initialState);
|
|
76
77
|
}).current;
|
|
78
|
+
const store = externalStore ?? internalStore;
|
|
77
79
|
|
|
78
80
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
79
81
|
const floatingRootContext = useSyncedFloatingRootContext({
|
|
@@ -98,6 +100,7 @@ function createInitialState() {
|
|
|
98
100
|
trackCursorAxis: 'none',
|
|
99
101
|
disableHoverablePopup: false,
|
|
100
102
|
openChangeReason: null,
|
|
101
|
-
closeDelay: 0
|
|
103
|
+
closeDelay: 0,
|
|
104
|
+
hasViewport: false
|
|
102
105
|
};
|
|
103
106
|
}
|
|
@@ -36,8 +36,8 @@ export const TooltipTrigger = /*#__PURE__*/React.forwardRef(function TooltipTrig
|
|
|
36
36
|
}
|
|
37
37
|
const thisTriggerId = useBaseUiId(idProp);
|
|
38
38
|
const isTriggerActive = store.useState('isTriggerActive', thisTriggerId);
|
|
39
|
-
const floatingRootContext = store.useState('floatingRootContext');
|
|
40
39
|
const isOpenedByThisTrigger = store.useState('isOpenedByTrigger', thisTriggerId);
|
|
40
|
+
const floatingRootContext = store.useState('floatingRootContext');
|
|
41
41
|
const triggerElementRef = React.useRef(null);
|
|
42
42
|
const delayWithDefault = delay ?? OPEN_DELAY;
|
|
43
43
|
const closeDelayWithDefault = closeDelay ?? 0;
|
|
@@ -8,7 +8,7 @@ import { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
8
8
|
*
|
|
9
9
|
* Documentation: [Base UI Tooltip](https://base-ui.com/react/components/tooltip)
|
|
10
10
|
*/
|
|
11
|
-
export declare const TooltipViewport: React.ForwardRefExoticComponent<TooltipViewport.Props & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export declare const TooltipViewport: React.ForwardRefExoticComponent<Omit<TooltipViewport.Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
12
|
export declare namespace TooltipViewport {
|
|
13
13
|
interface Props extends BaseUIComponentProps<'div', State> {
|
|
14
14
|
/**
|