@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
|
@@ -6,11 +6,14 @@ type InputProps<T extends React.ElementType> = PropsOf<T> | ((otherProps: PropsO
|
|
|
6
6
|
/**
|
|
7
7
|
* Merges multiple sets of React props. It follows the Object.assign pattern where the rightmost object's fields overwrite
|
|
8
8
|
* the conflicting ones from others. This doesn't apply to event handlers, `className` and `style` props.
|
|
9
|
-
*
|
|
10
|
-
* and
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
9
|
+
*
|
|
10
|
+
* Event handlers are merged and called in right-to-left order (rightmost handler executes first, leftmost last).
|
|
11
|
+
* For React synthetic events, the rightmost handler can prevent prior (left-positioned) handlers from executing
|
|
12
|
+
* by calling `event.preventBaseUIHandler()`. For non-synthetic events (custom events with primitive/object values),
|
|
13
|
+
* all handlers always execute without prevention capability.
|
|
14
|
+
*
|
|
15
|
+
* The `className` prop is merged by concatenating classes in right-to-left order (rightmost class appears first in the string).
|
|
16
|
+
* The `style` prop is merged with rightmost styles overwriting the prior ones.
|
|
14
17
|
*
|
|
15
18
|
* Props can either be provided as objects or as functions that take the previous props as an argument.
|
|
16
19
|
* The function will receive the merged props up to that point (going from left to right):
|
|
@@ -21,14 +24,31 @@ type InputProps<T extends React.ElementType> = PropsOf<T> | ((otherProps: PropsO
|
|
|
21
24
|
* They must check `event.baseUIHandlerPrevented` themselves and bail out if it's true.
|
|
22
25
|
*
|
|
23
26
|
* @important **`ref` is not merged.**
|
|
24
|
-
* @param
|
|
25
|
-
* @
|
|
27
|
+
* @param a Props object to merge.
|
|
28
|
+
* @param b Props object to merge. The function will overwrite conflicting props from `a`.
|
|
29
|
+
* @param c Props object to merge. The function will overwrite conflicting props from previous parameters.
|
|
30
|
+
* @param d Props object to merge. The function will overwrite conflicting props from previous parameters.
|
|
31
|
+
* @param e Props object to merge. The function will overwrite conflicting props from previous parameters.
|
|
32
|
+
* @returns The merged props.
|
|
33
|
+
* @public
|
|
26
34
|
*/
|
|
27
|
-
export declare function mergeProps<T extends ElementType>(a: InputProps<T>, b: InputProps<T>): PropsOf<T>;
|
|
28
|
-
export declare function mergeProps<T extends ElementType>(a: InputProps<T>, b: InputProps<T>): PropsOf<T>;
|
|
29
|
-
export declare function mergeProps<T extends ElementType>(a: InputProps<T>, b: InputProps<T>, c: InputProps<T>): PropsOf<T>;
|
|
30
|
-
export declare function mergeProps<T extends ElementType>(a: InputProps<T>, b: InputProps<T>, c: InputProps<T>, d: InputProps<T>): PropsOf<T>;
|
|
31
35
|
export declare function mergeProps<T extends ElementType>(a: InputProps<T>, b: InputProps<T>, c: InputProps<T>, d: InputProps<T>, e: InputProps<T>): PropsOf<T>;
|
|
36
|
+
export declare function mergeProps<T extends ElementType>(a: InputProps<T>, b: InputProps<T>, c: InputProps<T>, d: InputProps<T>): PropsOf<T>;
|
|
37
|
+
export declare function mergeProps<T extends ElementType>(a: InputProps<T>, b: InputProps<T>, c: InputProps<T>): PropsOf<T>;
|
|
38
|
+
export declare function mergeProps<T extends ElementType>(a: InputProps<T>, b: InputProps<T>): PropsOf<T>;
|
|
39
|
+
/**
|
|
40
|
+
* Merges an arbitrary number of React props using the same logic as {@link mergeProps}.
|
|
41
|
+
* This function accepts an array of props instead of individual arguments.
|
|
42
|
+
*
|
|
43
|
+
* This has slightly lower performance than {@link mergeProps} due to accepting an array
|
|
44
|
+
* instead of a fixed number of arguments. Prefer {@link mergeProps} when merging 5 or
|
|
45
|
+
* fewer prop sets for better performance.
|
|
46
|
+
*
|
|
47
|
+
* @param props Array of props to merge.
|
|
48
|
+
* @returns The merged props.
|
|
49
|
+
* @see mergeProps
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
32
52
|
export declare function mergePropsN<T extends ElementType>(props: InputProps<T>[]): PropsOf<T>;
|
|
33
53
|
export declare function makeEventPreventable<T extends React.SyntheticEvent>(event: BaseUIEvent<T>): BaseUIEvent<T>;
|
|
34
54
|
export declare function mergeClassNames(ourClassName: string | undefined, theirClassName: string | undefined): string | undefined;
|
|
@@ -10,14 +10,18 @@ exports.mergePropsN = mergePropsN;
|
|
|
10
10
|
var _mergeObjects = require("@base-ui/utils/mergeObjects");
|
|
11
11
|
const EMPTY_PROPS = {};
|
|
12
12
|
|
|
13
|
+
/* eslint-disable id-denylist */
|
|
13
14
|
/**
|
|
14
15
|
* Merges multiple sets of React props. It follows the Object.assign pattern where the rightmost object's fields overwrite
|
|
15
16
|
* the conflicting ones from others. This doesn't apply to event handlers, `className` and `style` props.
|
|
16
|
-
*
|
|
17
|
-
* and
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
17
|
+
*
|
|
18
|
+
* Event handlers are merged and called in right-to-left order (rightmost handler executes first, leftmost last).
|
|
19
|
+
* For React synthetic events, the rightmost handler can prevent prior (left-positioned) handlers from executing
|
|
20
|
+
* by calling `event.preventBaseUIHandler()`. For non-synthetic events (custom events with primitive/object values),
|
|
21
|
+
* all handlers always execute without prevention capability.
|
|
22
|
+
*
|
|
23
|
+
* The `className` prop is merged by concatenating classes in right-to-left order (rightmost class appears first in the string).
|
|
24
|
+
* The `style` prop is merged with rightmost styles overwriting the prior ones.
|
|
21
25
|
*
|
|
22
26
|
* Props can either be provided as objects or as functions that take the previous props as an argument.
|
|
23
27
|
* The function will receive the merged props up to that point (going from left to right):
|
|
@@ -28,10 +32,14 @@ const EMPTY_PROPS = {};
|
|
|
28
32
|
* They must check `event.baseUIHandlerPrevented` themselves and bail out if it's true.
|
|
29
33
|
*
|
|
30
34
|
* @important **`ref` is not merged.**
|
|
31
|
-
* @param
|
|
32
|
-
* @
|
|
35
|
+
* @param a Props object to merge.
|
|
36
|
+
* @param b Props object to merge. The function will overwrite conflicting props from `a`.
|
|
37
|
+
* @param c Props object to merge. The function will overwrite conflicting props from previous parameters.
|
|
38
|
+
* @param d Props object to merge. The function will overwrite conflicting props from previous parameters.
|
|
39
|
+
* @param e Props object to merge. The function will overwrite conflicting props from previous parameters.
|
|
40
|
+
* @returns The merged props.
|
|
41
|
+
* @public
|
|
33
42
|
*/
|
|
34
|
-
/* eslint-disable id-denylist */
|
|
35
43
|
|
|
36
44
|
function mergeProps(a, b, c, d, e) {
|
|
37
45
|
// We need to mutably own `merged`
|
|
@@ -54,6 +62,19 @@ function mergeProps(a, b, c, d, e) {
|
|
|
54
62
|
}
|
|
55
63
|
/* eslint-enable id-denylist */
|
|
56
64
|
|
|
65
|
+
/**
|
|
66
|
+
* Merges an arbitrary number of React props using the same logic as {@link mergeProps}.
|
|
67
|
+
* This function accepts an array of props instead of individual arguments.
|
|
68
|
+
*
|
|
69
|
+
* This has slightly lower performance than {@link mergeProps} due to accepting an array
|
|
70
|
+
* instead of a fixed number of arguments. Prefer {@link mergeProps} when merging 5 or
|
|
71
|
+
* fewer prop sets for better performance.
|
|
72
|
+
*
|
|
73
|
+
* @param props Array of props to merge.
|
|
74
|
+
* @returns The merged props.
|
|
75
|
+
* @see mergeProps
|
|
76
|
+
* @public
|
|
77
|
+
*/
|
|
57
78
|
function mergePropsN(props) {
|
|
58
79
|
if (props.length === 0) {
|
|
59
80
|
return EMPTY_PROPS;
|
|
@@ -7,7 +7,7 @@ import type { MeterRoot } from "../root/MeterRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Meter](https://base-ui.com/react/components/meter)
|
|
9
9
|
*/
|
|
10
|
-
export declare const MeterIndicator: React.ForwardRefExoticComponent<MeterIndicatorProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const MeterIndicator: React.ForwardRefExoticComponent<Omit<MeterIndicatorProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface MeterIndicatorProps extends BaseUIComponentProps<'div', MeterRoot.State> {}
|
|
12
12
|
export declare namespace MeterIndicator {
|
|
13
13
|
type Props = MeterIndicatorProps;
|
|
@@ -7,7 +7,7 @@ import { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Meter](https://base-ui.com/react/components/meter)
|
|
9
9
|
*/
|
|
10
|
-
export declare const MeterLabel: React.ForwardRefExoticComponent<MeterLabelProps & React.RefAttributes<HTMLSpanElement>>;
|
|
10
|
+
export declare const MeterLabel: React.ForwardRefExoticComponent<Omit<MeterLabelProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
11
11
|
export interface MeterLabelProps extends BaseUIComponentProps<'span', MeterRoot.State> {}
|
|
12
12
|
export declare namespace MeterLabel {
|
|
13
13
|
type Props = MeterLabelProps;
|
|
@@ -6,7 +6,7 @@ import { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Meter](https://base-ui.com/react/components/meter)
|
|
8
8
|
*/
|
|
9
|
-
export declare const MeterRoot: React.ForwardRefExoticComponent<MeterRootProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const MeterRoot: React.ForwardRefExoticComponent<Omit<MeterRootProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface MeterRootState {}
|
|
11
11
|
export interface MeterRootProps extends BaseUIComponentProps<'div', MeterRoot.State> {
|
|
12
12
|
/**
|
|
@@ -7,7 +7,7 @@ import { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Meter](https://base-ui.com/react/components/meter)
|
|
9
9
|
*/
|
|
10
|
-
export declare const MeterTrack: React.ForwardRefExoticComponent<MeterTrackProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const MeterTrack: React.ForwardRefExoticComponent<Omit<MeterTrackProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface MeterTrackProps extends BaseUIComponentProps<'div', MeterRoot.State> {}
|
|
12
12
|
export declare namespace MeterTrack {
|
|
13
13
|
type Props = MeterTrackProps;
|
|
@@ -7,7 +7,7 @@ import type { MeterRoot } from "../root/MeterRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Meter](https://base-ui.com/react/components/meter)
|
|
9
9
|
*/
|
|
10
|
-
export declare const MeterValue: React.ForwardRefExoticComponent<MeterValueProps & React.RefAttributes<HTMLSpanElement>>;
|
|
10
|
+
export declare const MeterValue: React.ForwardRefExoticComponent<Omit<MeterValueProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
11
11
|
export interface MeterValueProps extends Omit<BaseUIComponentProps<'span', MeterRoot.State>, 'children'> {
|
|
12
12
|
children?: null | ((formattedValue: string, value: number) => React.ReactNode);
|
|
13
13
|
}
|
|
@@ -7,7 +7,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
9
9
|
*/
|
|
10
|
-
export declare const NavigationMenuArrow: React.ForwardRefExoticComponent<NavigationMenuArrowProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const NavigationMenuArrow: React.ForwardRefExoticComponent<Omit<NavigationMenuArrowProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface NavigationMenuArrowState {
|
|
12
12
|
/**
|
|
13
13
|
* Whether the popup is currently open.
|
|
@@ -7,7 +7,7 @@ import type { TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
9
9
|
*/
|
|
10
|
-
export declare const NavigationMenuBackdrop: React.ForwardRefExoticComponent<NavigationMenuBackdropProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const NavigationMenuBackdrop: React.ForwardRefExoticComponent<Omit<NavigationMenuBackdropProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface NavigationMenuBackdropState {
|
|
12
12
|
/**
|
|
13
13
|
* If `true`, the popup is open.
|
|
@@ -8,7 +8,7 @@ import { TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
8
8
|
*
|
|
9
9
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
10
10
|
*/
|
|
11
|
-
export declare const NavigationMenuContent: React.ForwardRefExoticComponent<NavigationMenuContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export declare const NavigationMenuContent: React.ForwardRefExoticComponent<Omit<NavigationMenuContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
12
|
export interface NavigationMenuContentState {
|
|
13
13
|
/**
|
|
14
14
|
* If `true`, the component is open.
|
|
@@ -65,6 +65,12 @@ const NavigationMenuContent = exports.NavigationMenuContent = /*#__PURE__*/React
|
|
|
65
65
|
setMounted,
|
|
66
66
|
transitionStatus
|
|
67
67
|
} = (0, _useTransitionStatus.useTransitionStatus)(open);
|
|
68
|
+
|
|
69
|
+
// If the popup unmounts before the content's exit animation completes, reset the internal
|
|
70
|
+
// mounted state so the next open can re-enter via `transitionStatus="starting"`.
|
|
71
|
+
if (mounted && !popupMounted) {
|
|
72
|
+
setMounted(false);
|
|
73
|
+
}
|
|
68
74
|
(0, _useOpenChangeComplete.useOpenChangeComplete)({
|
|
69
75
|
ref,
|
|
70
76
|
open,
|
|
@@ -5,7 +5,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
5
5
|
*
|
|
6
6
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
7
7
|
*/
|
|
8
|
-
export declare const NavigationMenuIcon: React.ForwardRefExoticComponent<NavigationMenuIconProps & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
+
export declare const NavigationMenuIcon: React.ForwardRefExoticComponent<Omit<NavigationMenuIconProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
9
9
|
export interface NavigationMenuIconState {
|
|
10
10
|
/**
|
|
11
11
|
* Whether the navigation menu is open and the item is active.
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
8
8
|
*/
|
|
9
|
-
export declare const NavigationMenuItem: React.ForwardRefExoticComponent<NavigationMenuItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const NavigationMenuItem: React.ForwardRefExoticComponent<Omit<NavigationMenuItemProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface NavigationMenuItemState {}
|
|
11
11
|
export interface NavigationMenuItemProps extends BaseUIComponentProps<'li', NavigationMenuItem.State> {
|
|
12
12
|
/**
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
8
8
|
*/
|
|
9
|
-
export declare const NavigationMenuLink: React.ForwardRefExoticComponent<NavigationMenuLinkProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
9
|
+
export declare const NavigationMenuLink: React.ForwardRefExoticComponent<Omit<NavigationMenuLinkProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
|
|
10
10
|
export interface NavigationMenuLinkState {
|
|
11
11
|
/**
|
|
12
12
|
* Whether the link is the currently active page.
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
8
8
|
*/
|
|
9
|
-
export declare const NavigationMenuList: React.ForwardRefExoticComponent<NavigationMenuListProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const NavigationMenuList: React.ForwardRefExoticComponent<Omit<NavigationMenuListProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface NavigationMenuListState {
|
|
11
11
|
/**
|
|
12
12
|
* If `true`, the popup is open.
|
|
@@ -7,7 +7,7 @@ import type { TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
9
9
|
*/
|
|
10
|
-
export declare const NavigationMenuPopup: React.ForwardRefExoticComponent<NavigationMenuPopupProps & React.RefAttributes<HTMLElement>>;
|
|
10
|
+
export declare const NavigationMenuPopup: React.ForwardRefExoticComponent<Omit<NavigationMenuPopupProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
11
11
|
export interface NavigationMenuPopupState {
|
|
12
12
|
/**
|
|
13
13
|
* If `true`, the popup is open.
|
|
@@ -7,7 +7,7 @@ import { FloatingPortal } from "../../floating-ui-react/index.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
9
9
|
*/
|
|
10
|
-
export declare const NavigationMenuPortal: React.ForwardRefExoticComponent<NavigationMenuPortalProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const NavigationMenuPortal: React.ForwardRefExoticComponent<Omit<NavigationMenuPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export declare namespace NavigationMenuPortal {
|
|
12
12
|
interface State {}
|
|
13
13
|
}
|
|
@@ -7,7 +7,7 @@ import { useAnchorPositioning, type Align, type Side } from "../../utils/useAnch
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
9
9
|
*/
|
|
10
|
-
export declare const NavigationMenuPositioner: React.ForwardRefExoticComponent<NavigationMenuPositionerProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const NavigationMenuPositioner: React.ForwardRefExoticComponent<Omit<NavigationMenuPositionerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface NavigationMenuPositionerState {
|
|
12
12
|
/**
|
|
13
13
|
* Whether the navigation menu is currently open.
|
|
@@ -8,7 +8,7 @@ import { REASONS } from "../../utils/reasons.js";
|
|
|
8
8
|
*
|
|
9
9
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
10
10
|
*/
|
|
11
|
-
export declare const NavigationMenuRoot: React.ForwardRefExoticComponent<NavigationMenuRootProps & React.RefAttributes<HTMLElement>>;
|
|
11
|
+
export declare const NavigationMenuRoot: React.ForwardRefExoticComponent<Omit<NavigationMenuRootProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
12
12
|
export interface NavigationMenuRootState {
|
|
13
13
|
/**
|
|
14
14
|
* If `true`, the popup is open.
|
|
@@ -23,7 +23,7 @@ export interface NavigationMenuRootProps extends BaseUIComponentProps<'nav', Nav
|
|
|
23
23
|
/**
|
|
24
24
|
* A ref to imperative actions.
|
|
25
25
|
*/
|
|
26
|
-
actionsRef?: React.RefObject<NavigationMenuRoot.Actions>;
|
|
26
|
+
actionsRef?: React.RefObject<NavigationMenuRoot.Actions | null>;
|
|
27
27
|
/**
|
|
28
28
|
* Event handler called after any animations complete when the navigation menu is closed.
|
|
29
29
|
*/
|
|
@@ -7,7 +7,7 @@ import type { BaseUIComponentProps, NativeButtonProps } from "../../utils/types.
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
9
9
|
*/
|
|
10
|
-
export declare const NavigationMenuTrigger: React.ForwardRefExoticComponent<NavigationMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
export declare const NavigationMenuTrigger: React.ForwardRefExoticComponent<Omit<NavigationMenuTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
11
11
|
export interface NavigationMenuTriggerState {
|
|
12
12
|
/**
|
|
13
13
|
* If `true`, the popup is open and the item is active.
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Navigation Menu](https://base-ui.com/react/components/navigation-menu)
|
|
8
8
|
*/
|
|
9
|
-
export declare const NavigationMenuViewport: React.ForwardRefExoticComponent<NavigationMenuViewportProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const NavigationMenuViewport: React.ForwardRefExoticComponent<Omit<NavigationMenuViewportProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface NavigationMenuViewportState {}
|
|
11
11
|
export interface NavigationMenuViewportProps extends BaseUIComponentProps<'div', NavigationMenuViewport.State> {}
|
|
12
12
|
export declare namespace NavigationMenuViewport {
|
|
@@ -7,7 +7,7 @@ import type { NumberFieldRoot } from "../root/NumberFieldRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Number Field](https://base-ui.com/react/components/number-field)
|
|
9
9
|
*/
|
|
10
|
-
export declare const NumberFieldDecrement: React.ForwardRefExoticComponent<NumberFieldDecrementProps & React.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
export declare const NumberFieldDecrement: React.ForwardRefExoticComponent<Omit<NumberFieldDecrementProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
11
11
|
export interface NumberFieldDecrementState extends NumberFieldRoot.State {}
|
|
12
12
|
export interface NumberFieldDecrementProps extends NativeButtonProps, BaseUIComponentProps<'button', NumberFieldDecrement.State> {}
|
|
13
13
|
export declare namespace NumberFieldDecrement {
|
|
@@ -37,7 +37,6 @@ const NumberFieldDecrement = exports.NumberFieldDecrement = /*#__PURE__*/React.f
|
|
|
37
37
|
inputValue,
|
|
38
38
|
intentionalTouchCheckTimeout,
|
|
39
39
|
isPressedRef,
|
|
40
|
-
maxWithDefault,
|
|
41
40
|
minWithDefault,
|
|
42
41
|
movesAfterTouchRef,
|
|
43
42
|
readOnly,
|
|
@@ -51,15 +50,13 @@ const NumberFieldDecrement = exports.NumberFieldDecrement = /*#__PURE__*/React.f
|
|
|
51
50
|
lastChangedValueRef,
|
|
52
51
|
onValueCommitted
|
|
53
52
|
} = (0, _NumberFieldRootContext.useNumberFieldRootContext)();
|
|
54
|
-
const
|
|
53
|
+
const isMin = value != null && value <= minWithDefault;
|
|
54
|
+
const disabled = disabledProp || contextDisabled || isMin;
|
|
55
55
|
const props = (0, _useNumberFieldButton.useNumberFieldButton)({
|
|
56
56
|
isIncrement: false,
|
|
57
57
|
inputRef,
|
|
58
58
|
startAutoChange,
|
|
59
59
|
stopAutoChange,
|
|
60
|
-
minWithDefault,
|
|
61
|
-
maxWithDefault,
|
|
62
|
-
value,
|
|
63
60
|
inputValue,
|
|
64
61
|
disabled,
|
|
65
62
|
readOnly,
|
|
@@ -82,7 +79,8 @@ const NumberFieldDecrement = exports.NumberFieldDecrement = /*#__PURE__*/React.f
|
|
|
82
79
|
buttonRef
|
|
83
80
|
} = (0, _useButton.useButton)({
|
|
84
81
|
disabled,
|
|
85
|
-
native: nativeButton
|
|
82
|
+
native: nativeButton,
|
|
83
|
+
focusableWhenDisabled: true
|
|
86
84
|
});
|
|
87
85
|
const buttonState = React.useMemo(() => ({
|
|
88
86
|
...state,
|
|
@@ -7,7 +7,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Number Field](https://base-ui.com/react/components/number-field)
|
|
9
9
|
*/
|
|
10
|
-
export declare const NumberFieldGroup: React.ForwardRefExoticComponent<NumberFieldGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const NumberFieldGroup: React.ForwardRefExoticComponent<Omit<NumberFieldGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface NumberFieldGroupState extends NumberFieldRoot.State {}
|
|
12
12
|
export interface NumberFieldGroupProps extends BaseUIComponentProps<'div', NumberFieldGroup.State> {}
|
|
13
13
|
export declare namespace NumberFieldGroup {
|
|
@@ -7,7 +7,7 @@ import type { NumberFieldRoot } from "../root/NumberFieldRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Number Field](https://base-ui.com/react/components/number-field)
|
|
9
9
|
*/
|
|
10
|
-
export declare const NumberFieldIncrement: React.ForwardRefExoticComponent<NumberFieldIncrementProps & React.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
export declare const NumberFieldIncrement: React.ForwardRefExoticComponent<Omit<NumberFieldIncrementProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
11
11
|
export interface NumberFieldIncrementState extends NumberFieldRoot.State {}
|
|
12
12
|
export interface NumberFieldIncrementProps extends NativeButtonProps, BaseUIComponentProps<'button', NumberFieldIncrement.State> {}
|
|
13
13
|
export declare namespace NumberFieldIncrement {
|
|
@@ -39,7 +39,6 @@ const NumberFieldIncrement = exports.NumberFieldIncrement = /*#__PURE__*/React.f
|
|
|
39
39
|
isPressedRef,
|
|
40
40
|
locale,
|
|
41
41
|
maxWithDefault,
|
|
42
|
-
minWithDefault,
|
|
43
42
|
movesAfterTouchRef,
|
|
44
43
|
readOnly,
|
|
45
44
|
setValue,
|
|
@@ -51,15 +50,13 @@ const NumberFieldIncrement = exports.NumberFieldIncrement = /*#__PURE__*/React.f
|
|
|
51
50
|
lastChangedValueRef,
|
|
52
51
|
onValueCommitted
|
|
53
52
|
} = (0, _NumberFieldRootContext.useNumberFieldRootContext)();
|
|
54
|
-
const
|
|
53
|
+
const isMax = value != null && value >= maxWithDefault;
|
|
54
|
+
const disabled = disabledProp || contextDisabled || isMax;
|
|
55
55
|
const props = (0, _useNumberFieldButton.useNumberFieldButton)({
|
|
56
56
|
isIncrement: true,
|
|
57
57
|
inputRef,
|
|
58
58
|
startAutoChange,
|
|
59
59
|
stopAutoChange,
|
|
60
|
-
minWithDefault,
|
|
61
|
-
maxWithDefault,
|
|
62
|
-
value,
|
|
63
60
|
inputValue,
|
|
64
61
|
disabled,
|
|
65
62
|
readOnly,
|
|
@@ -82,7 +79,8 @@ const NumberFieldIncrement = exports.NumberFieldIncrement = /*#__PURE__*/React.f
|
|
|
82
79
|
buttonRef
|
|
83
80
|
} = (0, _useButton.useButton)({
|
|
84
81
|
disabled,
|
|
85
|
-
native: nativeButton
|
|
82
|
+
native: nativeButton,
|
|
83
|
+
focusableWhenDisabled: true
|
|
86
84
|
});
|
|
87
85
|
const buttonState = React.useMemo(() => ({
|
|
88
86
|
...state,
|
|
@@ -7,7 +7,7 @@ import type { NumberFieldRoot } from "../root/NumberFieldRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Number Field](https://base-ui.com/react/components/number-field)
|
|
9
9
|
*/
|
|
10
|
-
export declare const NumberFieldInput: React.ForwardRefExoticComponent<NumberFieldInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
10
|
+
export declare const NumberFieldInput: React.ForwardRefExoticComponent<Omit<NumberFieldInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
11
11
|
export interface NumberFieldInputState extends NumberFieldRoot.State {}
|
|
12
12
|
export interface NumberFieldInputProps extends BaseUIComponentProps<'input', NumberFieldInput.State> {
|
|
13
13
|
/**
|
|
@@ -123,11 +123,14 @@ const NumberFieldInput = exports.NumberFieldInput = /*#__PURE__*/React.forwardRe
|
|
|
123
123
|
// causing a hydration mismatch.
|
|
124
124
|
suppressHydrationWarning: true,
|
|
125
125
|
onFocus(event) {
|
|
126
|
-
if (event.defaultPrevented || readOnly || disabled
|
|
126
|
+
if (event.defaultPrevented || readOnly || disabled) {
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
129
|
-
hasTouchedInputRef.current = true;
|
|
130
129
|
setFocused(true);
|
|
130
|
+
if (hasTouchedInputRef.current) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
hasTouchedInputRef.current = true;
|
|
131
134
|
|
|
132
135
|
// Browsers set selection at the start of the input field by default. We want to set it at
|
|
133
136
|
// the end for the first focus.
|
|
@@ -10,7 +10,7 @@ import { REASONS } from "../../utils/reasons.js";
|
|
|
10
10
|
*
|
|
11
11
|
* Documentation: [Base UI Number Field](https://base-ui.com/react/components/number-field)
|
|
12
12
|
*/
|
|
13
|
-
export declare const NumberFieldRoot: React.ForwardRefExoticComponent<NumberFieldRootProps & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
export declare const NumberFieldRoot: React.ForwardRefExoticComponent<Omit<NumberFieldRootProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
14
14
|
export interface NumberFieldRootProps extends Omit<BaseUIComponentProps<'div', NumberFieldRootState>, 'onChange'> {
|
|
15
15
|
/**
|
|
16
16
|
* The id of the input element.
|
|
@@ -31,11 +31,12 @@ export interface NumberFieldRootProps extends Omit<BaseUIComponentProps<'div', N
|
|
|
31
31
|
*/
|
|
32
32
|
smallStep?: number;
|
|
33
33
|
/**
|
|
34
|
-
* Amount to increment and decrement with the buttons and arrow keys,
|
|
35
|
-
*
|
|
34
|
+
* Amount to increment and decrement with the buttons and arrow keys, or to scrub with pointer movement in the scrub area.
|
|
35
|
+
* To always enable step validation on form submission, specify the `min` prop explicitly in conjunction with this prop.
|
|
36
|
+
* Specify `step="any"` to always disable step validation.
|
|
36
37
|
* @default 1
|
|
37
38
|
*/
|
|
38
|
-
step?: number;
|
|
39
|
+
step?: number | 'any';
|
|
39
40
|
/**
|
|
40
41
|
* The large step value of the input element when incrementing while the shift key is held. Snaps
|
|
41
42
|
* to multiples of this value.
|
|
@@ -42,7 +42,7 @@ const NumberFieldRoot = exports.NumberFieldRoot = /*#__PURE__*/React.forwardRef(
|
|
|
42
42
|
min,
|
|
43
43
|
max,
|
|
44
44
|
smallStep = 0.1,
|
|
45
|
-
step = 1,
|
|
45
|
+
step: stepProp = 1,
|
|
46
46
|
largeStep = 10,
|
|
47
47
|
required = false,
|
|
48
48
|
disabled: disabledProp = false,
|
|
@@ -74,6 +74,7 @@ const NumberFieldRoot = exports.NumberFieldRoot = /*#__PURE__*/React.forwardRef(
|
|
|
74
74
|
} = (0, _FieldRootContext.useFieldRootContext)();
|
|
75
75
|
const disabled = fieldDisabled || disabledProp;
|
|
76
76
|
const name = fieldName ?? nameProp;
|
|
77
|
+
const step = stepProp === 'any' ? 1 : stepProp;
|
|
77
78
|
const [isScrubbing, setIsScrubbing] = React.useState(false);
|
|
78
79
|
const minWithDefault = min ?? Number.MIN_SAFE_INTEGER;
|
|
79
80
|
const maxWithDefault = max ?? Number.MAX_SAFE_INTEGER;
|
|
@@ -396,6 +397,9 @@ const NumberFieldRoot = exports.NumberFieldRoot = /*#__PURE__*/React.forwardRef(
|
|
|
396
397
|
value: contextValue,
|
|
397
398
|
children: [element, /*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
|
|
398
399
|
...validation.getInputValidationProps({
|
|
400
|
+
onFocus() {
|
|
401
|
+
inputRef.current?.focus();
|
|
402
|
+
},
|
|
399
403
|
onChange(event) {
|
|
400
404
|
// Workaround for https://github.com/facebook/react/issues/9023
|
|
401
405
|
if (event.nativeEvent.defaultPrevented) {
|
|
@@ -418,13 +422,16 @@ const NumberFieldRoot = exports.NumberFieldRoot = /*#__PURE__*/React.forwardRef(
|
|
|
418
422
|
name: name,
|
|
419
423
|
value: value ?? '',
|
|
420
424
|
min: min,
|
|
421
|
-
max: max
|
|
422
|
-
|
|
425
|
+
max: max
|
|
426
|
+
// stepMismatch validation is broken unless an explicit `min` is added.
|
|
427
|
+
// See https://github.com/facebook/react/issues/12334.
|
|
428
|
+
,
|
|
429
|
+
step: stepProp,
|
|
423
430
|
disabled: disabled,
|
|
424
431
|
required: required,
|
|
425
432
|
"aria-hidden": true,
|
|
426
433
|
tabIndex: -1,
|
|
427
|
-
style: _visuallyHidden.visuallyHidden
|
|
434
|
+
style: name ? _visuallyHidden.visuallyHiddenInput : _visuallyHidden.visuallyHidden
|
|
428
435
|
})]
|
|
429
436
|
});
|
|
430
437
|
});
|
|
@@ -17,14 +17,11 @@ export interface UseNumberFieldButtonParameters {
|
|
|
17
17
|
isIncrement: boolean;
|
|
18
18
|
isPressedRef: React.RefObject<boolean | null>;
|
|
19
19
|
locale?: Intl.LocalesArgument;
|
|
20
|
-
maxWithDefault: number;
|
|
21
|
-
minWithDefault: number;
|
|
22
20
|
movesAfterTouchRef: React.RefObject<number | null>;
|
|
23
21
|
readOnly: boolean;
|
|
24
22
|
setValue: (value: number | null, details: NumberFieldRoot.ChangeEventDetails) => void;
|
|
25
23
|
startAutoChange: (isIncrement: boolean, event?: React.MouseEvent | Event) => void;
|
|
26
24
|
stopAutoChange: () => void;
|
|
27
|
-
value: number | null;
|
|
28
25
|
valueRef: React.RefObject<number | null>;
|
|
29
26
|
lastChangedValueRef: React.RefObject<number | null>;
|
|
30
27
|
onValueCommitted: (value: number | null, eventDetails: NumberFieldRoot.CommitEventDetails) => void;
|
|
@@ -24,14 +24,11 @@ function useNumberFieldButton(params) {
|
|
|
24
24
|
isIncrement,
|
|
25
25
|
isPressedRef,
|
|
26
26
|
locale,
|
|
27
|
-
maxWithDefault,
|
|
28
|
-
minWithDefault,
|
|
29
27
|
movesAfterTouchRef,
|
|
30
28
|
readOnly,
|
|
31
29
|
setValue,
|
|
32
30
|
startAutoChange,
|
|
33
31
|
stopAutoChange,
|
|
34
|
-
value,
|
|
35
32
|
valueRef,
|
|
36
33
|
lastChangedValueRef,
|
|
37
34
|
onValueCommitted
|
|
@@ -43,8 +40,6 @@ function useNumberFieldButton(params) {
|
|
|
43
40
|
const isTouchingButtonRef = React.useRef(false);
|
|
44
41
|
const ignoreClickRef = React.useRef(false);
|
|
45
42
|
const pointerTypeRef = React.useRef('');
|
|
46
|
-
const isMin = value != null && value <= minWithDefault;
|
|
47
|
-
const isMax = value != null && value >= maxWithDefault;
|
|
48
43
|
const pressReason = isIncrement ? 'increment-press' : 'decrement-press';
|
|
49
44
|
function commitValue(nativeEvent) {
|
|
50
45
|
allowInputSyncRef.current = true;
|
|
@@ -61,7 +56,7 @@ function useNumberFieldButton(params) {
|
|
|
61
56
|
}
|
|
62
57
|
}
|
|
63
58
|
const props = {
|
|
64
|
-
disabled
|
|
59
|
+
disabled,
|
|
65
60
|
'aria-readonly': readOnly || undefined,
|
|
66
61
|
'aria-label': isIncrement ? 'Increase' : 'Decrease',
|
|
67
62
|
'aria-controls': id,
|
|
@@ -80,7 +75,7 @@ function useNumberFieldButton(params) {
|
|
|
80
75
|
isTouchingButtonRef.current = false;
|
|
81
76
|
},
|
|
82
77
|
onClick(event) {
|
|
83
|
-
const isDisabled = disabled || readOnly
|
|
78
|
+
const isDisabled = disabled || readOnly;
|
|
84
79
|
if (event.defaultPrevented || isDisabled || (
|
|
85
80
|
// If it's not a keyboard/virtual click, ignore.
|
|
86
81
|
pointerTypeRef.current === 'touch' ? ignoreClickRef.current : event.detail !== 0)) {
|
|
@@ -101,8 +96,7 @@ function useNumberFieldButton(params) {
|
|
|
101
96
|
},
|
|
102
97
|
onPointerDown(event) {
|
|
103
98
|
const isMainButton = !event.button || event.button === 0;
|
|
104
|
-
|
|
105
|
-
if (event.defaultPrevented || readOnly || !isMainButton || isDisabled) {
|
|
99
|
+
if (event.defaultPrevented || readOnly || !isMainButton || disabled) {
|
|
106
100
|
return;
|
|
107
101
|
}
|
|
108
102
|
pointerTypeRef.current = event.pointerType;
|
|
@@ -148,7 +142,7 @@ function useNumberFieldButton(params) {
|
|
|
148
142
|
}
|
|
149
143
|
},
|
|
150
144
|
onPointerMove(event) {
|
|
151
|
-
const isDisabled = disabled || readOnly
|
|
145
|
+
const isDisabled = disabled || readOnly;
|
|
152
146
|
if (isDisabled || event.pointerType !== 'touch' || !isPressedRef.current) {
|
|
153
147
|
return;
|
|
154
148
|
}
|
|
@@ -169,7 +163,7 @@ function useNumberFieldButton(params) {
|
|
|
169
163
|
}
|
|
170
164
|
},
|
|
171
165
|
onMouseEnter(event) {
|
|
172
|
-
const isDisabled = disabled || readOnly
|
|
166
|
+
const isDisabled = disabled || readOnly;
|
|
173
167
|
if (event.defaultPrevented || isDisabled || !isPressedRef.current || isTouchingButtonRef.current || pointerTypeRef.current === 'touch') {
|
|
174
168
|
return;
|
|
175
169
|
}
|