@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
|
@@ -2,15 +2,21 @@
|
|
|
2
2
|
'use client';
|
|
3
3
|
|
|
4
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
6
|
Object.defineProperty(exports, "__esModule", {
|
|
6
7
|
value: true
|
|
7
8
|
});
|
|
8
9
|
exports.PreviewCardTrigger = void 0;
|
|
10
|
+
var _formatErrorMessage2 = _interopRequireDefault(require("@base-ui/utils/formatErrorMessage"));
|
|
9
11
|
var React = _interopRequireWildcard(require("react"));
|
|
10
12
|
var _useIsoLayoutEffect = require("@base-ui/utils/useIsoLayoutEffect");
|
|
11
13
|
var _PreviewCardContext = require("../root/PreviewCardContext");
|
|
12
14
|
var _popupStateMapping = require("../../utils/popupStateMapping");
|
|
13
15
|
var _useRenderElement = require("../../utils/useRenderElement");
|
|
16
|
+
var _useBaseUiId = require("../../utils/useBaseUiId");
|
|
17
|
+
var _popups = require("../../utils/popups");
|
|
18
|
+
var _constants = require("../utils/constants");
|
|
19
|
+
var _floatingUiReact = require("../../floating-ui-react");
|
|
14
20
|
/**
|
|
15
21
|
* A link that opens the preview card.
|
|
16
22
|
* Renders an `<a>` element.
|
|
@@ -23,27 +29,58 @@ const PreviewCardTrigger = exports.PreviewCardTrigger = /*#__PURE__*/React.forwa
|
|
|
23
29
|
className,
|
|
24
30
|
delay,
|
|
25
31
|
closeDelay,
|
|
32
|
+
id: idProp,
|
|
33
|
+
payload,
|
|
34
|
+
handle,
|
|
26
35
|
...elementProps
|
|
27
36
|
} = componentProps;
|
|
37
|
+
const rootContext = (0, _PreviewCardContext.usePreviewCardRootContext)(true);
|
|
38
|
+
const store = handle?.store ?? rootContext;
|
|
39
|
+
if (!store) {
|
|
40
|
+
throw /* FIXME (minify-errors-in-prod): Unminifyable error in production! */new Error(process.env.NODE_ENV !== "production" ? 'Base UI: <PreviewCard.Trigger> must be either used within a <PreviewCard.Root> component or provided with a handle.' : (0, _formatErrorMessage2.default)(89));
|
|
41
|
+
}
|
|
42
|
+
const thisTriggerId = (0, _useBaseUiId.useBaseUiId)(idProp);
|
|
43
|
+
const isTriggerActive = store.useState('isTriggerActive', thisTriggerId);
|
|
44
|
+
const isOpenedByThisTrigger = store.useState('isOpenedByTrigger', thisTriggerId);
|
|
45
|
+
const floatingRootContext = store.useState('floatingRootContext');
|
|
46
|
+
const triggerElementRef = React.useRef(null);
|
|
47
|
+
const delayWithDefault = delay ?? _constants.OPEN_DELAY;
|
|
48
|
+
const closeDelayWithDefault = closeDelay ?? _constants.CLOSE_DELAY;
|
|
28
49
|
const {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
50
|
+
registerTrigger,
|
|
51
|
+
isMountedByThisTrigger
|
|
52
|
+
} = (0, _popups.useTriggerDataForwarding)(thisTriggerId, triggerElementRef, store, {
|
|
53
|
+
payload
|
|
54
|
+
});
|
|
34
55
|
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
56
|
+
if (isMountedByThisTrigger) {
|
|
57
|
+
store.context.closeDelayRef.current = closeDelayWithDefault;
|
|
58
|
+
}
|
|
59
|
+
}, [store, isMountedByThisTrigger, closeDelayWithDefault]);
|
|
60
|
+
const hoverProps = (0, _floatingUiReact.useHoverReferenceInteraction)(floatingRootContext, {
|
|
61
|
+
mouseOnly: true,
|
|
62
|
+
move: false,
|
|
63
|
+
handleClose: (0, _floatingUiReact.safePolygon)(),
|
|
64
|
+
delay: () => ({
|
|
65
|
+
open: delayWithDefault,
|
|
66
|
+
close: closeDelayWithDefault
|
|
67
|
+
}),
|
|
68
|
+
triggerElementRef,
|
|
69
|
+
isActiveTrigger: isTriggerActive
|
|
70
|
+
});
|
|
71
|
+
const focusProps = (0, _floatingUiReact.useFocus)(floatingRootContext, {
|
|
72
|
+
delay: delayWithDefault
|
|
39
73
|
});
|
|
40
74
|
const state = React.useMemo(() => ({
|
|
41
|
-
open
|
|
42
|
-
}), [
|
|
75
|
+
open: isOpenedByThisTrigger
|
|
76
|
+
}), [isOpenedByThisTrigger]);
|
|
77
|
+
const rootTriggerProps = store.useState('triggerProps', isMountedByThisTrigger);
|
|
43
78
|
const element = (0, _useRenderElement.useRenderElement)('a', componentProps, {
|
|
44
|
-
ref: [setTriggerElement, forwardedRef],
|
|
45
79
|
state,
|
|
46
|
-
|
|
80
|
+
ref: [forwardedRef, registerTrigger, triggerElementRef],
|
|
81
|
+
props: [hoverProps, focusProps.reference, rootTriggerProps, {
|
|
82
|
+
id: thisTriggerId
|
|
83
|
+
}, elementProps],
|
|
47
84
|
stateAttributesMapping: _popupStateMapping.triggerOpenStateMapping
|
|
48
85
|
});
|
|
49
86
|
return element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { BaseUIComponentProps } from "../../utils/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* A viewport for displaying content transitions.
|
|
5
|
+
* This component is only required if one popup can be opened by multiple triggers, its content change based on the trigger
|
|
6
|
+
* and switching between them is animated.
|
|
7
|
+
* Renders a `<div>` element.
|
|
8
|
+
*
|
|
9
|
+
* Documentation: [Base UI Preview Card](https://base-ui.com/react/components/preview-card)
|
|
10
|
+
*/
|
|
11
|
+
export declare const PreviewCardViewport: React.ForwardRefExoticComponent<Omit<PreviewCardViewport.Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export declare namespace PreviewCardViewport {
|
|
13
|
+
interface Props extends BaseUIComponentProps<'div', State> {
|
|
14
|
+
/**
|
|
15
|
+
* The content to render inside the transition container.
|
|
16
|
+
*/
|
|
17
|
+
children?: React.ReactNode;
|
|
18
|
+
}
|
|
19
|
+
interface State {
|
|
20
|
+
activationDirection?: string;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,278 @@
|
|
|
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.PreviewCardViewport = void 0;
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _inertValue = require("@base-ui/utils/inertValue");
|
|
11
|
+
var _useAnimationFrame = require("@base-ui/utils/useAnimationFrame");
|
|
12
|
+
var _usePreviousValue = require("@base-ui/utils/usePreviousValue");
|
|
13
|
+
var _useIsoLayoutEffect = require("@base-ui/utils/useIsoLayoutEffect");
|
|
14
|
+
var _useStableCallback = require("@base-ui/utils/useStableCallback");
|
|
15
|
+
var _PreviewCardContext = require("../root/PreviewCardContext");
|
|
16
|
+
var _PreviewCardPositionerContext = require("../positioner/PreviewCardPositionerContext");
|
|
17
|
+
var _useAnimationsFinished = require("../../utils/useAnimationsFinished");
|
|
18
|
+
var _usePopupAutoResize = require("../../utils/usePopupAutoResize");
|
|
19
|
+
var _useRenderElement = require("../../utils/useRenderElement");
|
|
20
|
+
var _PreviewCardViewportCssVars = require("./PreviewCardViewportCssVars");
|
|
21
|
+
var _directionProvider = require("../../direction-provider");
|
|
22
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
+
const stateAttributesMapping = {
|
|
24
|
+
activationDirection: value => value ? {
|
|
25
|
+
'data-activation-direction': value
|
|
26
|
+
} : null
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* A viewport for displaying content transitions.
|
|
31
|
+
* This component is only required if one popup can be opened by multiple triggers, its content change based on the trigger
|
|
32
|
+
* and switching between them is animated.
|
|
33
|
+
* Renders a `<div>` element.
|
|
34
|
+
*
|
|
35
|
+
* Documentation: [Base UI Preview Card](https://base-ui.com/react/components/preview-card)
|
|
36
|
+
*/
|
|
37
|
+
const PreviewCardViewport = exports.PreviewCardViewport = /*#__PURE__*/React.forwardRef(function PreviewCardViewport(componentProps, forwardedRef) {
|
|
38
|
+
const {
|
|
39
|
+
render,
|
|
40
|
+
className,
|
|
41
|
+
children,
|
|
42
|
+
...elementProps
|
|
43
|
+
} = componentProps;
|
|
44
|
+
const store = (0, _PreviewCardContext.usePreviewCardRootContext)();
|
|
45
|
+
const positioner = (0, _PreviewCardPositionerContext.usePreviewCardPositionerContext)();
|
|
46
|
+
const direction = (0, _directionProvider.useDirection)();
|
|
47
|
+
const activeTrigger = store.useState('activeTriggerElement');
|
|
48
|
+
const activeTriggerId = store.useState('activeTriggerId');
|
|
49
|
+
const payload = store.useState('payload');
|
|
50
|
+
const open = store.useState('open');
|
|
51
|
+
const instantType = store.useState('instantType');
|
|
52
|
+
const mounted = store.useState('mounted');
|
|
53
|
+
const popupElement = store.useState('popupElement');
|
|
54
|
+
const positionerElement = store.useState('positionerElement');
|
|
55
|
+
const previousActiveTrigger = (0, _usePreviousValue.usePreviousValue)(open ? activeTrigger : null);
|
|
56
|
+
// Remount current content on trigger changes (and once more when payload lags) to avoid DOM reuse flashes.
|
|
57
|
+
// The key bumps immediately on trigger switches, then again if the payload arrives on a later render.
|
|
58
|
+
const currentContentKey = usePopupContentKey(activeTriggerId, payload);
|
|
59
|
+
const capturedNodeRef = React.useRef(null);
|
|
60
|
+
const [previousContentNode, setPreviousContentNode] = React.useState(null);
|
|
61
|
+
const [newTriggerOffset, setNewTriggerOffset] = React.useState(null);
|
|
62
|
+
const currentContainerRef = React.useRef(null);
|
|
63
|
+
const previousContainerRef = React.useRef(null);
|
|
64
|
+
const onAnimationsFinished = (0, _useAnimationsFinished.useAnimationsFinished)(currentContainerRef, true, false);
|
|
65
|
+
const cleanupFrame = (0, _useAnimationFrame.useAnimationFrame)();
|
|
66
|
+
const [previousContentDimensions, setPreviousContentDimensions] = React.useState(null);
|
|
67
|
+
const [showStartingStyleAttribute, setShowStartingStyleAttribute] = React.useState(false);
|
|
68
|
+
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
69
|
+
store.set('hasViewport', true);
|
|
70
|
+
return () => {
|
|
71
|
+
store.set('hasViewport', false);
|
|
72
|
+
};
|
|
73
|
+
}, [store]);
|
|
74
|
+
const handleMeasureLayout = (0, _useStableCallback.useStableCallback)(() => {
|
|
75
|
+
currentContainerRef.current?.style.setProperty('animation', 'none');
|
|
76
|
+
currentContainerRef.current?.style.setProperty('transition', 'none');
|
|
77
|
+
previousContainerRef.current?.style.setProperty('display', 'none');
|
|
78
|
+
});
|
|
79
|
+
const handleMeasureLayoutComplete = (0, _useStableCallback.useStableCallback)(previousDimensions => {
|
|
80
|
+
currentContainerRef.current?.style.removeProperty('animation');
|
|
81
|
+
currentContainerRef.current?.style.removeProperty('transition');
|
|
82
|
+
previousContainerRef.current?.style.removeProperty('display');
|
|
83
|
+
if (previousDimensions) {
|
|
84
|
+
setPreviousContentDimensions(previousDimensions);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
const lastHandledTriggerRef = React.useRef(null);
|
|
88
|
+
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
89
|
+
// When a trigger changes, set the captured children HTML to state,
|
|
90
|
+
// so we can render both new and old content.
|
|
91
|
+
if (activeTrigger && previousActiveTrigger && activeTrigger !== previousActiveTrigger && lastHandledTriggerRef.current !== activeTrigger && capturedNodeRef.current) {
|
|
92
|
+
setPreviousContentNode(capturedNodeRef.current);
|
|
93
|
+
setShowStartingStyleAttribute(true);
|
|
94
|
+
|
|
95
|
+
// Calculate the relative position between the previous and new trigger,
|
|
96
|
+
// so we can pass it to the style hook for animation purposes.
|
|
97
|
+
const offset = calculateRelativePosition(previousActiveTrigger, activeTrigger);
|
|
98
|
+
setNewTriggerOffset(offset);
|
|
99
|
+
cleanupFrame.request(() => {
|
|
100
|
+
cleanupFrame.request(() => {
|
|
101
|
+
setShowStartingStyleAttribute(false);
|
|
102
|
+
onAnimationsFinished(() => {
|
|
103
|
+
setPreviousContentNode(null);
|
|
104
|
+
setPreviousContentDimensions(null);
|
|
105
|
+
capturedNodeRef.current = null;
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
lastHandledTriggerRef.current = activeTrigger;
|
|
110
|
+
}
|
|
111
|
+
}, [activeTrigger, previousActiveTrigger, previousContentNode, onAnimationsFinished, cleanupFrame]);
|
|
112
|
+
|
|
113
|
+
// Capture a clone of the current content DOM subtree when not transitioning.
|
|
114
|
+
// We can't store previous React nodes as they may be stateful; instead we capture DOM clones for visual continuity.
|
|
115
|
+
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
116
|
+
// When a transition is in progress, we store the next content in capturedNodeRef.
|
|
117
|
+
// This handles the case where the trigger changes multiple times before the transition finishes.
|
|
118
|
+
// We want to always capture the latest content for the previous snapshot.
|
|
119
|
+
// So clicking quickly on T1, T2, T3 will result in the following sequence:
|
|
120
|
+
// 1. T1 -> T2: previousContent = T1, currentContent = T2
|
|
121
|
+
// 2. T2 -> T3: previousContent = T2, currentContent = T3
|
|
122
|
+
const source = currentContainerRef.current;
|
|
123
|
+
if (!source) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const wrapper = document.createElement('div');
|
|
127
|
+
for (const child of Array.from(source.childNodes)) {
|
|
128
|
+
wrapper.appendChild(child.cloneNode(true));
|
|
129
|
+
}
|
|
130
|
+
capturedNodeRef.current = wrapper;
|
|
131
|
+
});
|
|
132
|
+
const isTransitioning = previousContentNode != null;
|
|
133
|
+
let childrenToRender;
|
|
134
|
+
if (!isTransitioning) {
|
|
135
|
+
childrenToRender = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
136
|
+
"data-current": true,
|
|
137
|
+
ref: currentContainerRef,
|
|
138
|
+
children: children
|
|
139
|
+
}, currentContentKey);
|
|
140
|
+
} else {
|
|
141
|
+
childrenToRender = /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
142
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
143
|
+
"data-previous": true,
|
|
144
|
+
inert: (0, _inertValue.inertValue)(true),
|
|
145
|
+
ref: previousContainerRef,
|
|
146
|
+
style: {
|
|
147
|
+
[_PreviewCardViewportCssVars.PreviewCardViewportCssVars.popupWidth]: `${previousContentDimensions?.width}px`,
|
|
148
|
+
[_PreviewCardViewportCssVars.PreviewCardViewportCssVars.popupHeight]: `${previousContentDimensions?.height}px`,
|
|
149
|
+
position: 'absolute'
|
|
150
|
+
},
|
|
151
|
+
"data-ending-style": showStartingStyleAttribute ? undefined : ''
|
|
152
|
+
}, 'previous'), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
153
|
+
"data-current": true,
|
|
154
|
+
ref: currentContainerRef,
|
|
155
|
+
"data-starting-style": showStartingStyleAttribute ? '' : undefined,
|
|
156
|
+
children: children
|
|
157
|
+
}, currentContentKey)]
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// When previousContentNode is present, imperatively populate the previous container with the cloned children.
|
|
162
|
+
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
163
|
+
const container = previousContainerRef.current;
|
|
164
|
+
if (!container || !previousContentNode) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
container.replaceChildren(...Array.from(previousContentNode.childNodes));
|
|
168
|
+
}, [previousContentNode]);
|
|
169
|
+
(0, _usePopupAutoResize.usePopupAutoResize)({
|
|
170
|
+
popupElement,
|
|
171
|
+
positionerElement,
|
|
172
|
+
mounted,
|
|
173
|
+
content: payload,
|
|
174
|
+
onMeasureLayout: handleMeasureLayout,
|
|
175
|
+
onMeasureLayoutComplete: handleMeasureLayoutComplete,
|
|
176
|
+
side: positioner.side,
|
|
177
|
+
direction
|
|
178
|
+
});
|
|
179
|
+
const state = React.useMemo(() => {
|
|
180
|
+
return {
|
|
181
|
+
activationDirection: getActivationDirection(newTriggerOffset),
|
|
182
|
+
transitioning: isTransitioning,
|
|
183
|
+
instant: instantType
|
|
184
|
+
};
|
|
185
|
+
}, [newTriggerOffset, isTransitioning, instantType]);
|
|
186
|
+
return (0, _useRenderElement.useRenderElement)('div', componentProps, {
|
|
187
|
+
state,
|
|
188
|
+
ref: forwardedRef,
|
|
189
|
+
props: [elementProps, {
|
|
190
|
+
children: childrenToRender
|
|
191
|
+
}],
|
|
192
|
+
stateAttributesMapping
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
if (process.env.NODE_ENV !== "production") PreviewCardViewport.displayName = "PreviewCardViewport";
|
|
196
|
+
/**
|
|
197
|
+
* Returns a string describing the provided offset.
|
|
198
|
+
* It describes both the horizontal and vertical offset, separated by a space.
|
|
199
|
+
*
|
|
200
|
+
* @param offset
|
|
201
|
+
*/
|
|
202
|
+
function getActivationDirection(offset) {
|
|
203
|
+
if (!offset) {
|
|
204
|
+
return undefined;
|
|
205
|
+
}
|
|
206
|
+
return `${getValueWithTolerance(offset.horizontal, 5, 'right', 'left')} ${getValueWithTolerance(offset.vertical, 5, 'down', 'up')}`;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Returns a label describing the value (positive/negative) treating values
|
|
211
|
+
* within tolerance as zero.
|
|
212
|
+
*
|
|
213
|
+
* @param value Value to check
|
|
214
|
+
* @param tolerance Tolerance to treat the value as zero.
|
|
215
|
+
* @param positiveLabel
|
|
216
|
+
* @param negativeLabel
|
|
217
|
+
* @returns If 0 < abs(value) < tolerance, returns an empty string. Otherwise returns positiveLabel or negativeLabel.
|
|
218
|
+
*/
|
|
219
|
+
function getValueWithTolerance(value, tolerance, positiveLabel, negativeLabel) {
|
|
220
|
+
if (value > tolerance) {
|
|
221
|
+
return positiveLabel;
|
|
222
|
+
}
|
|
223
|
+
if (value < -tolerance) {
|
|
224
|
+
return negativeLabel;
|
|
225
|
+
}
|
|
226
|
+
return '';
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Calculates the relative position between centers of two elements.
|
|
231
|
+
*/
|
|
232
|
+
function calculateRelativePosition(from, to) {
|
|
233
|
+
const fromRect = from.getBoundingClientRect();
|
|
234
|
+
const toRect = to.getBoundingClientRect();
|
|
235
|
+
const fromCenter = {
|
|
236
|
+
x: fromRect.left + fromRect.width / 2,
|
|
237
|
+
y: fromRect.top + fromRect.height / 2
|
|
238
|
+
};
|
|
239
|
+
const toCenter = {
|
|
240
|
+
x: toRect.left + toRect.width / 2,
|
|
241
|
+
y: toRect.top + toRect.height / 2
|
|
242
|
+
};
|
|
243
|
+
return {
|
|
244
|
+
horizontal: toCenter.x - fromCenter.x,
|
|
245
|
+
vertical: toCenter.y - fromCenter.y
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Returns a key that forces remounting content when triggers change or a payload is updated.
|
|
251
|
+
*/
|
|
252
|
+
function usePopupContentKey(activeTriggerId, payload) {
|
|
253
|
+
const [contentKey, setContentKey] = React.useState(0);
|
|
254
|
+
const previousActiveTriggerIdRef = React.useRef(activeTriggerId);
|
|
255
|
+
const previousPayloadRef = React.useRef(payload);
|
|
256
|
+
const pendingPayloadUpdateRef = React.useRef(false);
|
|
257
|
+
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
258
|
+
// Compare against the last committed values to decide whether we need a new DOM subtree.
|
|
259
|
+
const previousActiveTriggerId = previousActiveTriggerIdRef.current;
|
|
260
|
+
const previousPayload = previousPayloadRef.current;
|
|
261
|
+
const triggerIdChanged = activeTriggerId !== previousActiveTriggerId;
|
|
262
|
+
const payloadChanged = payload !== previousPayload;
|
|
263
|
+
if (triggerIdChanged) {
|
|
264
|
+
// Remount immediately on trigger change; remember if payload hasn't caught up yet.
|
|
265
|
+
setContentKey(value => value + 1);
|
|
266
|
+
pendingPayloadUpdateRef.current = !payloadChanged;
|
|
267
|
+
} else if (pendingPayloadUpdateRef.current && payloadChanged) {
|
|
268
|
+
// Payload arrived a render later, so remount once more to avoid reusing the old <img>.
|
|
269
|
+
setContentKey(value => value + 1);
|
|
270
|
+
pendingPayloadUpdateRef.current = false;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
// Persist current values for the next render's comparison.
|
|
274
|
+
previousActiveTriggerIdRef.current = activeTriggerId;
|
|
275
|
+
previousPayloadRef.current = payload;
|
|
276
|
+
}, [activeTriggerId, payload]);
|
|
277
|
+
return `${activeTriggerId ?? 'current'}-${contentKey}`;
|
|
278
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare enum PreviewCardViewportCssVars {
|
|
2
|
+
/**
|
|
3
|
+
* The width of the parent popup.
|
|
4
|
+
* This variable is placed on the 'previous' container and stores the width of the popup when the previous content was rendered.
|
|
5
|
+
* It can be used to freeze the dimensions of the popup when animating between different content.
|
|
6
|
+
*/
|
|
7
|
+
popupWidth = "--popup-width",
|
|
8
|
+
/**
|
|
9
|
+
* The height of the parent popup.
|
|
10
|
+
* This variable is placed on the 'previous' container and stores the height of the popup when the previous content was rendered.
|
|
11
|
+
* It can be used to freeze the dimensions of the popup when animating between different content.
|
|
12
|
+
*/
|
|
13
|
+
popupHeight = "--popup-height",
|
|
14
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.PreviewCardViewportCssVars = void 0;
|
|
7
|
+
let PreviewCardViewportCssVars = exports.PreviewCardViewportCssVars = /*#__PURE__*/function (PreviewCardViewportCssVars) {
|
|
8
|
+
/**
|
|
9
|
+
* The width of the parent popup.
|
|
10
|
+
* This variable is placed on the 'previous' container and stores the width of the popup when the previous content was rendered.
|
|
11
|
+
* It can be used to freeze the dimensions of the popup when animating between different content.
|
|
12
|
+
*/
|
|
13
|
+
PreviewCardViewportCssVars["popupWidth"] = "--popup-width";
|
|
14
|
+
/**
|
|
15
|
+
* The height of the parent popup.
|
|
16
|
+
* This variable is placed on the 'previous' container and stores the height of the popup when the previous content was rendered.
|
|
17
|
+
* It can be used to freeze the dimensions of the popup when animating between different content.
|
|
18
|
+
*/
|
|
19
|
+
PreviewCardViewportCssVars["popupHeight"] = "--popup-height";
|
|
20
|
+
return PreviewCardViewportCssVars;
|
|
21
|
+
}({});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare enum PreviewCardViewportDataAttributes {
|
|
2
|
+
/**
|
|
3
|
+
* Applied to the direct child of the viewport when no transitions are present or the new content when it's entering.
|
|
4
|
+
*/
|
|
5
|
+
current = "data-current",
|
|
6
|
+
/**
|
|
7
|
+
* Applied to the direct child of the viewport that contains the exiting content when transitions are present.
|
|
8
|
+
*/
|
|
9
|
+
previous = "data-previous",
|
|
10
|
+
/**
|
|
11
|
+
* Indicates the direction from which the popup was activated.
|
|
12
|
+
* This can be used to create directional animations based on how the popup was triggered.
|
|
13
|
+
* Contains space-separated values for both horizontal and vertical axes.
|
|
14
|
+
* @type {`${'left' | 'right'} {'top' | 'bottom'}`}
|
|
15
|
+
*/
|
|
16
|
+
activationDirection = "data-activation-direction",
|
|
17
|
+
/**
|
|
18
|
+
* Indicates that the viewport is currently transitioning between old and new content.
|
|
19
|
+
*/
|
|
20
|
+
transitioning = "data-transitioning",
|
|
21
|
+
/**
|
|
22
|
+
* Present if animations should be instant.
|
|
23
|
+
* @type {'delay' | 'dismiss' | 'focus'}
|
|
24
|
+
*/
|
|
25
|
+
instant = "data-instant",
|
|
26
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.PreviewCardViewportDataAttributes = void 0;
|
|
7
|
+
let PreviewCardViewportDataAttributes = exports.PreviewCardViewportDataAttributes = /*#__PURE__*/function (PreviewCardViewportDataAttributes) {
|
|
8
|
+
/**
|
|
9
|
+
* Applied to the direct child of the viewport when no transitions are present or the new content when it's entering.
|
|
10
|
+
*/
|
|
11
|
+
PreviewCardViewportDataAttributes["current"] = "data-current";
|
|
12
|
+
/**
|
|
13
|
+
* Applied to the direct child of the viewport that contains the exiting content when transitions are present.
|
|
14
|
+
*/
|
|
15
|
+
PreviewCardViewportDataAttributes["previous"] = "data-previous";
|
|
16
|
+
/**
|
|
17
|
+
* Indicates the direction from which the popup was activated.
|
|
18
|
+
* This can be used to create directional animations based on how the popup was triggered.
|
|
19
|
+
* Contains space-separated values for both horizontal and vertical axes.
|
|
20
|
+
* @type {`${'left' | 'right'} {'top' | 'bottom'}`}
|
|
21
|
+
*/
|
|
22
|
+
PreviewCardViewportDataAttributes["activationDirection"] = "data-activation-direction";
|
|
23
|
+
/**
|
|
24
|
+
* Indicates that the viewport is currently transitioning between old and new content.
|
|
25
|
+
*/
|
|
26
|
+
PreviewCardViewportDataAttributes["transitioning"] = "data-transitioning";
|
|
27
|
+
/**
|
|
28
|
+
* Present if animations should be instant.
|
|
29
|
+
* @type {'delay' | 'dismiss' | 'focus'}
|
|
30
|
+
*/
|
|
31
|
+
PreviewCardViewportDataAttributes["instant"] = "data-instant";
|
|
32
|
+
return PreviewCardViewportDataAttributes;
|
|
33
|
+
}({});
|
|
@@ -7,7 +7,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Progress](https://base-ui.com/react/components/progress)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ProgressIndicator: React.ForwardRefExoticComponent<ProgressIndicatorProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const ProgressIndicator: React.ForwardRefExoticComponent<Omit<ProgressIndicatorProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface ProgressIndicatorProps extends BaseUIComponentProps<'div', ProgressRoot.State> {}
|
|
12
12
|
export declare namespace ProgressIndicator {
|
|
13
13
|
type Props = ProgressIndicatorProps;
|
|
@@ -7,7 +7,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Progress](https://base-ui.com/react/components/progress)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ProgressLabel: React.ForwardRefExoticComponent<ProgressLabelProps & React.RefAttributes<HTMLSpanElement>>;
|
|
10
|
+
export declare const ProgressLabel: React.ForwardRefExoticComponent<Omit<ProgressLabelProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
11
11
|
export interface ProgressLabelProps extends BaseUIComponentProps<'span', ProgressRoot.State> {}
|
|
12
12
|
export declare namespace ProgressLabel {
|
|
13
13
|
type Props = ProgressLabelProps;
|
|
@@ -6,7 +6,7 @@ import { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Progress](https://base-ui.com/react/components/progress)
|
|
8
8
|
*/
|
|
9
|
-
export declare const ProgressRoot: React.ForwardRefExoticComponent<ProgressRootProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const ProgressRoot: React.ForwardRefExoticComponent<Omit<ProgressRootProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export type ProgressStatus = 'indeterminate' | 'progressing' | 'complete';
|
|
11
11
|
export interface ProgressRootState {
|
|
12
12
|
status: ProgressStatus;
|
|
@@ -7,7 +7,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Progress](https://base-ui.com/react/components/progress)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ProgressTrack: React.ForwardRefExoticComponent<ProgressTrackProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const ProgressTrack: React.ForwardRefExoticComponent<Omit<ProgressTrackProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface ProgressTrackProps extends BaseUIComponentProps<'div', ProgressRoot.State> {}
|
|
12
12
|
export declare namespace ProgressTrack {
|
|
13
13
|
type Props = ProgressTrackProps;
|
|
@@ -7,7 +7,7 @@ import type { ProgressRoot } from "../root/ProgressRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Progress](https://base-ui.com/react/components/progress)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ProgressValue: React.ForwardRefExoticComponent<ProgressValueProps & React.RefAttributes<HTMLSpanElement>>;
|
|
10
|
+
export declare const ProgressValue: React.ForwardRefExoticComponent<Omit<ProgressValueProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
11
11
|
export interface ProgressValueProps extends Omit<BaseUIComponentProps<'span', ProgressRoot.State>, 'children'> {
|
|
12
12
|
children?: null | ((formattedValue: string | null, value: number | null) => React.ReactNode);
|
|
13
13
|
}
|
|
@@ -7,7 +7,7 @@ import { type TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Radio](https://base-ui.com/react/components/radio)
|
|
9
9
|
*/
|
|
10
|
-
export declare const RadioIndicator: React.ForwardRefExoticComponent<RadioIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
|
|
10
|
+
export declare const RadioIndicator: React.ForwardRefExoticComponent<Omit<RadioIndicatorProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
11
11
|
export interface RadioIndicatorProps extends BaseUIComponentProps<'span', RadioIndicator.State> {
|
|
12
12
|
/**
|
|
13
13
|
* Whether to keep the HTML element in the DOM when the radio button is inactive.
|
|
@@ -7,7 +7,7 @@ import type { FieldRoot } from "../../field/root/FieldRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Radio](https://base-ui.com/react/components/radio)
|
|
9
9
|
*/
|
|
10
|
-
export declare const RadioRoot: React.ForwardRefExoticComponent<RadioRootProps & React.RefAttributes<HTMLElement>>;
|
|
10
|
+
export declare const RadioRoot: React.ForwardRefExoticComponent<Omit<RadioRootProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
11
11
|
export interface RadioRootState extends FieldRoot.State {
|
|
12
12
|
/** Whether the radio button is currently selected. */
|
|
13
13
|
checked: boolean;
|
package/radio/root/RadioRoot.js
CHANGED
|
@@ -55,7 +55,8 @@ const RadioRoot = exports.RadioRoot = /*#__PURE__*/React.forwardRef(function Rad
|
|
|
55
55
|
touched,
|
|
56
56
|
setTouched,
|
|
57
57
|
validation,
|
|
58
|
-
registerControlRef
|
|
58
|
+
registerControlRef,
|
|
59
|
+
name
|
|
59
60
|
} = (0, _RadioGroupContext.useRadioGroupContext)();
|
|
60
61
|
const {
|
|
61
62
|
setDirty,
|
|
@@ -88,16 +89,15 @@ const RadioRoot = exports.RadioRoot = /*#__PURE__*/React.forwardRef(function Rad
|
|
|
88
89
|
implicit: false,
|
|
89
90
|
controlRef: radioRef
|
|
90
91
|
});
|
|
92
|
+
const hiddenInputId = nativeButton ? undefined : inputId;
|
|
91
93
|
const rootProps = {
|
|
92
94
|
role: 'radio',
|
|
93
95
|
'aria-checked': checked,
|
|
94
96
|
'aria-required': required || undefined,
|
|
95
|
-
'aria-disabled': disabled || undefined,
|
|
96
97
|
'aria-readonly': readOnly || undefined,
|
|
97
98
|
'aria-labelledby': labelId,
|
|
98
99
|
[_constants2.ACTIVE_COMPOSITE_ITEM]: checked ? '' : undefined,
|
|
99
|
-
id,
|
|
100
|
-
disabled,
|
|
100
|
+
id: nativeButton ? inputId : id,
|
|
101
101
|
onKeyDown(event) {
|
|
102
102
|
if (event.key === 'Enter') {
|
|
103
103
|
event.preventDefault();
|
|
@@ -125,12 +125,12 @@ const RadioRoot = exports.RadioRoot = /*#__PURE__*/React.forwardRef(function Rad
|
|
|
125
125
|
disabled,
|
|
126
126
|
native: nativeButton
|
|
127
127
|
});
|
|
128
|
-
const inputProps =
|
|
128
|
+
const inputProps = {
|
|
129
129
|
type: 'radio',
|
|
130
130
|
ref: mergedInputRef,
|
|
131
|
-
id:
|
|
131
|
+
id: hiddenInputId,
|
|
132
132
|
tabIndex: -1,
|
|
133
|
-
style: _visuallyHidden.visuallyHidden,
|
|
133
|
+
style: name ? _visuallyHidden.visuallyHiddenInput : _visuallyHidden.visuallyHidden,
|
|
134
134
|
'aria-hidden': true,
|
|
135
135
|
disabled,
|
|
136
136
|
checked,
|
|
@@ -156,7 +156,7 @@ const RadioRoot = exports.RadioRoot = /*#__PURE__*/React.forwardRef(function Rad
|
|
|
156
156
|
onFocus() {
|
|
157
157
|
radioRef.current?.focus();
|
|
158
158
|
}
|
|
159
|
-
}
|
|
159
|
+
};
|
|
160
160
|
const state = React.useMemo(() => ({
|
|
161
161
|
...fieldState,
|
|
162
162
|
required,
|
|
@@ -9,7 +9,7 @@ import { REASONS } from "../utils/reasons.js";
|
|
|
9
9
|
*
|
|
10
10
|
* Documentation: [Base UI Radio Group](https://base-ui.com/react/components/radio)
|
|
11
11
|
*/
|
|
12
|
-
export declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export declare const RadioGroup: React.ForwardRefExoticComponent<Omit<RadioGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
13
13
|
export interface RadioGroupState extends FieldRoot.State {
|
|
14
14
|
/**
|
|
15
15
|
* Whether the user should be unable to select a different radio button in the group.
|
|
@@ -41,17 +41,17 @@ export interface RadioGroupProps extends Omit<BaseUIComponentProps<'div', RadioG
|
|
|
41
41
|
*
|
|
42
42
|
* To render an uncontrolled radio group, use the `defaultValue` prop instead.
|
|
43
43
|
*/
|
|
44
|
-
value?:
|
|
44
|
+
value?: any;
|
|
45
45
|
/**
|
|
46
46
|
* The uncontrolled value of the radio button that should be initially selected.
|
|
47
47
|
*
|
|
48
48
|
* To render a controlled radio group, use the `value` prop instead.
|
|
49
49
|
*/
|
|
50
|
-
defaultValue?:
|
|
50
|
+
defaultValue?: any;
|
|
51
51
|
/**
|
|
52
52
|
* Callback fired when the value changes.
|
|
53
53
|
*/
|
|
54
|
-
onValueChange?: (value:
|
|
54
|
+
onValueChange?: (value: any, eventDetails: RadioGroup.ChangeEventDetails) => void;
|
|
55
55
|
/**
|
|
56
56
|
* A ref to access the hidden input element.
|
|
57
57
|
*/
|
|
@@ -148,7 +148,7 @@ const RadioGroup = exports.RadioGroup = /*#__PURE__*/React.forwardRef(function R
|
|
|
148
148
|
'aria-labelledby': elementProps['aria-labelledby'] ?? fieldsetContext?.legendId,
|
|
149
149
|
'aria-hidden': true,
|
|
150
150
|
tabIndex: -1,
|
|
151
|
-
style: _visuallyHidden.visuallyHidden,
|
|
151
|
+
style: name ? _visuallyHidden.visuallyHiddenInput : _visuallyHidden.visuallyHidden,
|
|
152
152
|
onChange: _noop.NOOP,
|
|
153
153
|
// suppress a Next.js error
|
|
154
154
|
onFocus() {
|