@base-ui/react 1.0.0 → 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 +144 -1
- 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
|
@@ -13,7 +13,12 @@ import { styleDisableScrollbar } from "../../utils/styles.js";
|
|
|
13
13
|
import { useBaseUiId } from "../../utils/useBaseUiId.js";
|
|
14
14
|
import { scrollAreaStateAttributesMapping } from "./stateAttributes.js";
|
|
15
15
|
import { contains } from "../../floating-ui-react/utils.js";
|
|
16
|
+
import { useCSPContext } from "../../csp-provider/CSPContext.js";
|
|
16
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
|
+
const DEFAULT_COORDS = {
|
|
19
|
+
x: 0,
|
|
20
|
+
y: 0
|
|
21
|
+
};
|
|
17
22
|
const DEFAULT_SIZE = {
|
|
18
23
|
width: 0,
|
|
19
24
|
height: 0
|
|
@@ -24,7 +29,11 @@ const DEFAULT_OVERFLOW_EDGES = {
|
|
|
24
29
|
yStart: false,
|
|
25
30
|
yEnd: false
|
|
26
31
|
};
|
|
27
|
-
|
|
32
|
+
const DEFAULT_HIDDEN_STATE = {
|
|
33
|
+
x: false,
|
|
34
|
+
y: false,
|
|
35
|
+
corner: false
|
|
36
|
+
};
|
|
28
37
|
/**
|
|
29
38
|
* Groups all parts of the scroll area.
|
|
30
39
|
* Renders a `<div>` element.
|
|
@@ -38,14 +47,22 @@ export const ScrollAreaRoot = /*#__PURE__*/React.forwardRef(function ScrollAreaR
|
|
|
38
47
|
overflowEdgeThreshold: overflowEdgeThresholdProp,
|
|
39
48
|
...elementProps
|
|
40
49
|
} = componentProps;
|
|
50
|
+
const overflowEdgeThreshold = normalizeOverflowEdgeThreshold(overflowEdgeThresholdProp);
|
|
51
|
+
const rootId = useBaseUiId();
|
|
52
|
+
const scrollYTimeout = useTimeout();
|
|
53
|
+
const scrollXTimeout = useTimeout();
|
|
54
|
+
const {
|
|
55
|
+
nonce,
|
|
56
|
+
disableStyleElements
|
|
57
|
+
} = useCSPContext();
|
|
41
58
|
const [hovering, setHovering] = React.useState(false);
|
|
42
59
|
const [scrollingX, setScrollingX] = React.useState(false);
|
|
43
60
|
const [scrollingY, setScrollingY] = React.useState(false);
|
|
61
|
+
const [touchModality, setTouchModality] = React.useState(false);
|
|
44
62
|
const [cornerSize, setCornerSize] = React.useState(DEFAULT_SIZE);
|
|
45
63
|
const [thumbSize, setThumbSize] = React.useState(DEFAULT_SIZE);
|
|
46
|
-
const [touchModality, setTouchModality] = React.useState(false);
|
|
47
64
|
const [overflowEdges, setOverflowEdges] = React.useState(DEFAULT_OVERFLOW_EDGES);
|
|
48
|
-
const
|
|
65
|
+
const [hiddenState, setHiddenState] = React.useState(DEFAULT_HIDDEN_STATE);
|
|
49
66
|
const rootRef = React.useRef(null);
|
|
50
67
|
const viewportRef = React.useRef(null);
|
|
51
68
|
const scrollbarYRef = React.useRef(null);
|
|
@@ -59,18 +76,7 @@ export const ScrollAreaRoot = /*#__PURE__*/React.forwardRef(function ScrollAreaR
|
|
|
59
76
|
const startScrollTopRef = React.useRef(0);
|
|
60
77
|
const startScrollLeftRef = React.useRef(0);
|
|
61
78
|
const currentOrientationRef = React.useRef('vertical');
|
|
62
|
-
const
|
|
63
|
-
const scrollXTimeout = useTimeout();
|
|
64
|
-
const scrollPositionRef = React.useRef({
|
|
65
|
-
x: 0,
|
|
66
|
-
y: 0
|
|
67
|
-
});
|
|
68
|
-
const [hiddenState, setHiddenState] = React.useState({
|
|
69
|
-
scrollbarYHidden: false,
|
|
70
|
-
scrollbarXHidden: false,
|
|
71
|
-
cornerHidden: false
|
|
72
|
-
});
|
|
73
|
-
const overflowEdgeThreshold = normalizeOverflowEdgeThreshold(overflowEdgeThresholdProp);
|
|
79
|
+
const scrollPositionRef = React.useRef(DEFAULT_COORDS);
|
|
74
80
|
const handleScroll = useStableCallback(scrollPosition => {
|
|
75
81
|
const offsetX = scrollPosition.x - scrollPositionRef.current.x;
|
|
76
82
|
const offsetY = scrollPosition.y - scrollPositionRef.current.y;
|
|
@@ -155,32 +161,30 @@ export const ScrollAreaRoot = /*#__PURE__*/React.forwardRef(function ScrollAreaR
|
|
|
155
161
|
thumbXRef.current.releasePointerCapture(event.pointerId);
|
|
156
162
|
}
|
|
157
163
|
});
|
|
164
|
+
function handleTouchModalityChange(event) {
|
|
165
|
+
setTouchModality(event.pointerType === 'touch');
|
|
166
|
+
}
|
|
158
167
|
function handlePointerEnterOrMove(event) {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
if (!isTouch) {
|
|
168
|
+
handleTouchModalityChange(event);
|
|
169
|
+
if (event.pointerType !== 'touch') {
|
|
162
170
|
const isTargetRootChild = contains(rootRef.current, event.target);
|
|
163
171
|
setHovering(isTargetRootChild);
|
|
164
172
|
}
|
|
165
173
|
}
|
|
166
174
|
const state = React.useMemo(() => ({
|
|
167
|
-
hasOverflowX: !hiddenState.
|
|
168
|
-
hasOverflowY: !hiddenState.
|
|
175
|
+
hasOverflowX: !hiddenState.x,
|
|
176
|
+
hasOverflowY: !hiddenState.y,
|
|
169
177
|
overflowXStart: overflowEdges.xStart,
|
|
170
178
|
overflowXEnd: overflowEdges.xEnd,
|
|
171
179
|
overflowYStart: overflowEdges.yStart,
|
|
172
180
|
overflowYEnd: overflowEdges.yEnd,
|
|
173
|
-
cornerHidden: hiddenState.
|
|
174
|
-
}), [hiddenState.
|
|
181
|
+
cornerHidden: hiddenState.corner
|
|
182
|
+
}), [hiddenState.x, hiddenState.y, hiddenState.corner, overflowEdges]);
|
|
175
183
|
const props = {
|
|
176
184
|
role: 'presentation',
|
|
177
185
|
onPointerEnter: handlePointerEnterOrMove,
|
|
178
186
|
onPointerMove: handlePointerEnterOrMove,
|
|
179
|
-
onPointerDown
|
|
180
|
-
pointerType
|
|
181
|
-
}) {
|
|
182
|
-
setTouchModality(pointerType === 'touch');
|
|
183
|
-
},
|
|
187
|
+
onPointerDown: handleTouchModalityChange,
|
|
184
188
|
onPointerLeave() {
|
|
185
189
|
setHovering(false);
|
|
186
190
|
},
|
|
@@ -226,10 +230,10 @@ export const ScrollAreaRoot = /*#__PURE__*/React.forwardRef(function ScrollAreaR
|
|
|
226
230
|
setOverflowEdges,
|
|
227
231
|
viewportState: state,
|
|
228
232
|
overflowEdgeThreshold
|
|
229
|
-
}), [handlePointerDown, handlePointerMove, handlePointerUp, handleScroll, cornerSize, thumbSize, touchModality,
|
|
233
|
+
}), [handlePointerDown, handlePointerMove, handlePointerUp, handleScroll, cornerSize, thumbSize, touchModality, scrollingX, setScrollingX, scrollingY, setScrollingY, hovering, setHovering, rootId, hiddenState, overflowEdges, state, overflowEdgeThreshold]);
|
|
230
234
|
return /*#__PURE__*/_jsxs(ScrollAreaRootContext.Provider, {
|
|
231
235
|
value: contextValue,
|
|
232
|
-
children: [styleDisableScrollbar.
|
|
236
|
+
children: [!disableStyleElements && styleDisableScrollbar.getElement(nonce), element]
|
|
233
237
|
});
|
|
234
238
|
});
|
|
235
239
|
if (process.env.NODE_ENV !== "production") ScrollAreaRoot.displayName = "ScrollAreaRoot";
|
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { ScrollAreaRoot } from "./ScrollAreaRoot.js";
|
|
2
|
+
import type { Coords, HiddenState, OverflowEdges, ScrollAreaRoot, Size } from "./ScrollAreaRoot.js";
|
|
3
3
|
export interface ScrollAreaRootContext {
|
|
4
|
-
cornerSize:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
setCornerSize: React.Dispatch<React.SetStateAction<{
|
|
9
|
-
width: number;
|
|
10
|
-
height: number;
|
|
11
|
-
}>>;
|
|
12
|
-
thumbSize: {
|
|
13
|
-
width: number;
|
|
14
|
-
height: number;
|
|
15
|
-
};
|
|
16
|
-
setThumbSize: React.Dispatch<React.SetStateAction<{
|
|
17
|
-
width: number;
|
|
18
|
-
height: number;
|
|
19
|
-
}>>;
|
|
4
|
+
cornerSize: Size;
|
|
5
|
+
setCornerSize: React.Dispatch<React.SetStateAction<Size>>;
|
|
6
|
+
thumbSize: Size;
|
|
7
|
+
setThumbSize: React.Dispatch<React.SetStateAction<Size>>;
|
|
20
8
|
touchModality: boolean;
|
|
21
9
|
hovering: boolean;
|
|
22
10
|
setHovering: React.Dispatch<React.SetStateAction<boolean>>;
|
|
@@ -34,33 +22,12 @@ export interface ScrollAreaRootContext {
|
|
|
34
22
|
handlePointerDown: (event: React.PointerEvent) => void;
|
|
35
23
|
handlePointerMove: (event: React.PointerEvent) => void;
|
|
36
24
|
handlePointerUp: (event: React.PointerEvent) => void;
|
|
37
|
-
handleScroll: (scrollPosition:
|
|
38
|
-
x: number;
|
|
39
|
-
y: number;
|
|
40
|
-
}) => void;
|
|
25
|
+
handleScroll: (scrollPosition: Coords) => void;
|
|
41
26
|
rootId: string | undefined;
|
|
42
|
-
hiddenState:
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
};
|
|
47
|
-
setHiddenState: React.Dispatch<React.SetStateAction<{
|
|
48
|
-
scrollbarYHidden: boolean;
|
|
49
|
-
scrollbarXHidden: boolean;
|
|
50
|
-
cornerHidden: boolean;
|
|
51
|
-
}>>;
|
|
52
|
-
overflowEdges: {
|
|
53
|
-
xStart: boolean;
|
|
54
|
-
xEnd: boolean;
|
|
55
|
-
yStart: boolean;
|
|
56
|
-
yEnd: boolean;
|
|
57
|
-
};
|
|
58
|
-
setOverflowEdges: React.Dispatch<React.SetStateAction<{
|
|
59
|
-
xStart: boolean;
|
|
60
|
-
xEnd: boolean;
|
|
61
|
-
yStart: boolean;
|
|
62
|
-
yEnd: boolean;
|
|
63
|
-
}>>;
|
|
27
|
+
hiddenState: HiddenState;
|
|
28
|
+
setHiddenState: React.Dispatch<React.SetStateAction<HiddenState>>;
|
|
29
|
+
overflowEdges: OverflowEdges;
|
|
30
|
+
setOverflowEdges: React.Dispatch<React.SetStateAction<OverflowEdges>>;
|
|
64
31
|
viewportState: ScrollAreaRoot.State;
|
|
65
32
|
overflowEdgeThreshold: {
|
|
66
33
|
xStart: number;
|
|
@@ -7,7 +7,7 @@ import type { ScrollAreaRoot } from "../root/ScrollAreaRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Scroll Area](https://base-ui.com/react/components/scroll-area)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ScrollAreaScrollbar: React.ForwardRefExoticComponent<ScrollAreaScrollbarProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const ScrollAreaScrollbar: React.ForwardRefExoticComponent<Omit<ScrollAreaScrollbarProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface ScrollAreaScrollbarState extends ScrollAreaRoot.State {
|
|
12
12
|
/** Whether the scroll area is being hovered. */
|
|
13
13
|
hovering: boolean;
|
|
@@ -47,13 +47,13 @@ export const ScrollAreaScrollbar = /*#__PURE__*/React.forwardRef(function Scroll
|
|
|
47
47
|
vertical: scrollingY
|
|
48
48
|
}[orientation],
|
|
49
49
|
orientation,
|
|
50
|
-
hasOverflowX: !hiddenState.
|
|
51
|
-
hasOverflowY: !hiddenState.
|
|
50
|
+
hasOverflowX: !hiddenState.x,
|
|
51
|
+
hasOverflowY: !hiddenState.y,
|
|
52
52
|
overflowXStart: overflowEdges.xStart,
|
|
53
53
|
overflowXEnd: overflowEdges.xEnd,
|
|
54
54
|
overflowYStart: overflowEdges.yStart,
|
|
55
55
|
overflowYEnd: overflowEdges.yEnd,
|
|
56
|
-
cornerHidden: hiddenState.
|
|
56
|
+
cornerHidden: hiddenState.corner
|
|
57
57
|
}), [hovering, scrollingX, scrollingY, orientation, hiddenState, overflowEdges]);
|
|
58
58
|
const direction = useDirection();
|
|
59
59
|
React.useEffect(() => {
|
|
@@ -180,7 +180,7 @@ export const ScrollAreaScrollbar = /*#__PURE__*/React.forwardRef(function Scroll
|
|
|
180
180
|
const contextValue = React.useMemo(() => ({
|
|
181
181
|
orientation
|
|
182
182
|
}), [orientation]);
|
|
183
|
-
const isHidden = orientation === 'vertical' ? hiddenState.
|
|
183
|
+
const isHidden = orientation === 'vertical' ? hiddenState.y : hiddenState.x;
|
|
184
184
|
const shouldRender = keepMounted || !isHidden;
|
|
185
185
|
if (!shouldRender) {
|
|
186
186
|
return null;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
3
3
|
/**
|
|
4
|
-
* The draggable part of the
|
|
4
|
+
* The draggable part of the scrollbar that indicates the current scroll position.
|
|
5
5
|
* Renders a `<div>` element.
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Scroll Area](https://base-ui.com/react/components/scroll-area)
|
|
8
8
|
*/
|
|
9
|
-
export declare const ScrollAreaThumb: React.ForwardRefExoticComponent<ScrollAreaThumbProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const ScrollAreaThumb: React.ForwardRefExoticComponent<Omit<ScrollAreaThumbProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface ScrollAreaThumbState {
|
|
11
11
|
orientation?: 'horizontal' | 'vertical';
|
|
12
12
|
}
|
|
@@ -7,7 +7,7 @@ import { ScrollAreaScrollbarCssVars } from "../scrollbar/ScrollAreaScrollbarCssV
|
|
|
7
7
|
import { useRenderElement } from "../../utils/useRenderElement.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* The draggable part of the
|
|
10
|
+
* The draggable part of the scrollbar that indicates the current scroll position.
|
|
11
11
|
* Renders a `<div>` element.
|
|
12
12
|
*
|
|
13
13
|
* Documentation: [Base UI Scroll Area](https://base-ui.com/react/components/scroll-area)
|
|
@@ -7,7 +7,7 @@ import type { ScrollAreaRoot } from "../root/ScrollAreaRoot.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Scroll Area](https://base-ui.com/react/components/scroll-area)
|
|
9
9
|
*/
|
|
10
|
-
export declare const ScrollAreaViewport: React.ForwardRefExoticComponent<ScrollAreaViewportProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const ScrollAreaViewport: React.ForwardRefExoticComponent<Omit<ScrollAreaViewportProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface ScrollAreaViewportProps extends BaseUIComponentProps<'div', ScrollAreaViewport.State> {}
|
|
12
12
|
export interface ScrollAreaViewportState extends ScrollAreaRoot.State {}
|
|
13
13
|
export declare namespace ScrollAreaViewport {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import * as ReactDOM from 'react-dom';
|
|
5
4
|
import { useStableCallback } from '@base-ui/utils/useStableCallback';
|
|
6
5
|
import { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';
|
|
7
6
|
import { isWebKit } from '@base-ui/utils/detectBrowser';
|
|
@@ -74,6 +73,7 @@ export const ScrollAreaViewport = /*#__PURE__*/React.forwardRef(function ScrollA
|
|
|
74
73
|
thumbYRef,
|
|
75
74
|
thumbXRef,
|
|
76
75
|
cornerRef,
|
|
76
|
+
cornerSize,
|
|
77
77
|
setCornerSize,
|
|
78
78
|
setThumbSize,
|
|
79
79
|
rootId,
|
|
@@ -89,7 +89,7 @@ export const ScrollAreaViewport = /*#__PURE__*/React.forwardRef(function ScrollA
|
|
|
89
89
|
const programmaticScrollRef = React.useRef(true);
|
|
90
90
|
const scrollEndTimeout = useTimeout();
|
|
91
91
|
const waitForAnimationsTimeout = useTimeout();
|
|
92
|
-
|
|
92
|
+
const computeThumbPosition = useStableCallback(() => {
|
|
93
93
|
const viewportEl = viewportRef.current;
|
|
94
94
|
const scrollbarYEl = scrollbarYRef.current;
|
|
95
95
|
const scrollbarXEl = scrollbarXRef.current;
|
|
@@ -128,14 +128,26 @@ export const ScrollAreaViewport = /*#__PURE__*/React.forwardRef(function ScrollA
|
|
|
128
128
|
const scrollTopFromEnd = !scrollbarYHidden ? maxScrollTop - scrollTopFromStart : 0;
|
|
129
129
|
const nextWidth = scrollbarXHidden ? 0 : viewportWidth;
|
|
130
130
|
const nextHeight = scrollbarYHidden ? 0 : viewportHeight;
|
|
131
|
+
let nextCornerWidth = 0;
|
|
132
|
+
let nextCornerHeight = 0;
|
|
133
|
+
if (!scrollbarXHidden && !scrollbarYHidden) {
|
|
134
|
+
nextCornerWidth = scrollbarYEl?.offsetWidth || 0;
|
|
135
|
+
nextCornerHeight = scrollbarXEl?.offsetHeight || 0;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Only subtract corner size from scrollbar dimensions if the corner hasn't been sized yet.
|
|
139
|
+
// Once sized, the layout will already account for it.
|
|
140
|
+
const cornerNotYetSized = cornerSize.width === 0 && cornerSize.height === 0;
|
|
141
|
+
const cornerWidthOffset = cornerNotYetSized ? nextCornerWidth : 0;
|
|
142
|
+
const cornerHeightOffset = cornerNotYetSized ? nextCornerHeight : 0;
|
|
131
143
|
const scrollbarXOffset = getOffset(scrollbarXEl, 'padding', 'x');
|
|
132
144
|
const scrollbarYOffset = getOffset(scrollbarYEl, 'padding', 'y');
|
|
133
145
|
const thumbXOffset = getOffset(thumbXEl, 'margin', 'x');
|
|
134
146
|
const thumbYOffset = getOffset(thumbYEl, 'margin', 'y');
|
|
135
147
|
const idealNextWidth = nextWidth - scrollbarXOffset - thumbXOffset;
|
|
136
148
|
const idealNextHeight = nextHeight - scrollbarYOffset - thumbYOffset;
|
|
137
|
-
const maxNextWidth = scrollbarXEl ? Math.min(scrollbarXEl.offsetWidth, idealNextWidth) : idealNextWidth;
|
|
138
|
-
const maxNextHeight = scrollbarYEl ? Math.min(scrollbarYEl.offsetHeight, idealNextHeight) : idealNextHeight;
|
|
149
|
+
const maxNextWidth = scrollbarXEl ? Math.min(scrollbarXEl.offsetWidth - cornerWidthOffset, idealNextWidth) : idealNextWidth;
|
|
150
|
+
const maxNextHeight = scrollbarYEl ? Math.min(scrollbarYEl.offsetHeight - cornerHeightOffset, idealNextHeight) : idealNextHeight;
|
|
139
151
|
const clampedNextWidth = Math.max(MIN_THUMB_SIZE, maxNextWidth * ratioX);
|
|
140
152
|
const clampedNextHeight = Math.max(MIN_THUMB_SIZE, maxNextHeight * ratioY);
|
|
141
153
|
setThumbSize(prevSize => {
|
|
@@ -186,23 +198,21 @@ export const ScrollAreaViewport = /*#__PURE__*/React.forwardRef(function ScrollA
|
|
|
186
198
|
height: 0
|
|
187
199
|
});
|
|
188
200
|
} else if (!scrollbarXHidden && !scrollbarYHidden) {
|
|
189
|
-
const width = scrollbarYEl?.offsetWidth || 0;
|
|
190
|
-
const height = scrollbarXEl?.offsetHeight || 0;
|
|
191
201
|
setCornerSize({
|
|
192
|
-
width,
|
|
193
|
-
height
|
|
202
|
+
width: nextCornerWidth,
|
|
203
|
+
height: nextCornerHeight
|
|
194
204
|
});
|
|
195
205
|
}
|
|
196
206
|
}
|
|
197
207
|
setHiddenState(prevState => {
|
|
198
208
|
const cornerHidden = scrollbarYHidden || scrollbarXHidden;
|
|
199
|
-
if (prevState.
|
|
209
|
+
if (prevState.y === scrollbarYHidden && prevState.x === scrollbarXHidden && prevState.corner === cornerHidden) {
|
|
200
210
|
return prevState;
|
|
201
211
|
}
|
|
202
212
|
return {
|
|
203
|
-
scrollbarYHidden,
|
|
204
|
-
scrollbarXHidden,
|
|
205
|
-
cornerHidden
|
|
213
|
+
y: scrollbarYHidden,
|
|
214
|
+
x: scrollbarXHidden,
|
|
215
|
+
corner: cornerHidden
|
|
206
216
|
};
|
|
207
217
|
});
|
|
208
218
|
const nextOverflowEdges = {
|
|
@@ -217,17 +227,20 @@ export const ScrollAreaViewport = /*#__PURE__*/React.forwardRef(function ScrollA
|
|
|
217
227
|
}
|
|
218
228
|
return nextOverflowEdges;
|
|
219
229
|
});
|
|
220
|
-
}
|
|
221
|
-
const computeThumbPosition = useStableCallback(() => {
|
|
222
|
-
ReactDOM.flushSync(computeThumbPositionHandler);
|
|
223
230
|
});
|
|
224
231
|
useIsoLayoutEffect(() => {
|
|
225
232
|
if (!viewportRef.current) {
|
|
226
233
|
return undefined;
|
|
227
234
|
}
|
|
228
235
|
removeCSSVariableInheritance();
|
|
229
|
-
|
|
230
|
-
return
|
|
236
|
+
let hasInitialized = false;
|
|
237
|
+
return onVisible(viewportRef.current, () => {
|
|
238
|
+
if (!hasInitialized) {
|
|
239
|
+
hasInitialized = true;
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
computeThumbPosition();
|
|
243
|
+
});
|
|
231
244
|
}, [computeThumbPosition, viewportRef]);
|
|
232
245
|
useIsoLayoutEffect(() => {
|
|
233
246
|
// Wait for scrollbar-related refs to be set
|
|
@@ -245,7 +258,16 @@ export const ScrollAreaViewport = /*#__PURE__*/React.forwardRef(function ScrollA
|
|
|
245
258
|
if (typeof ResizeObserver === 'undefined' || !viewport) {
|
|
246
259
|
return undefined;
|
|
247
260
|
}
|
|
248
|
-
|
|
261
|
+
let hasInitialized = false;
|
|
262
|
+
const ro = new ResizeObserver(() => {
|
|
263
|
+
// ResizeObserver fires once upon observing, so we skip the initial call
|
|
264
|
+
// to avoid double-calculating the thumb position on mount.
|
|
265
|
+
if (!hasInitialized) {
|
|
266
|
+
hasInitialized = true;
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
computeThumbPosition();
|
|
270
|
+
});
|
|
249
271
|
ro.observe(viewport);
|
|
250
272
|
|
|
251
273
|
// If there are animations in the viewport, wait for them to finish and then recompute the thumb position.
|
|
@@ -256,9 +278,13 @@ export const ScrollAreaViewport = /*#__PURE__*/React.forwardRef(function ScrollA
|
|
|
256
278
|
// We assume the user is using `onOpenChangeComplete` to hide the scrollbar
|
|
257
279
|
// until animations complete because otherwise the scrollbar would show the thumb resizing mid-animation.
|
|
258
280
|
waitForAnimationsTimeout.start(0, () => {
|
|
259
|
-
|
|
281
|
+
const animations = viewport.getAnimations({
|
|
260
282
|
subtree: true
|
|
261
|
-
})
|
|
283
|
+
});
|
|
284
|
+
if (animations.length === 0) {
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
Promise.all(animations.map(animation => animation.finished)).then(computeThumbPosition).catch(() => {});
|
|
262
288
|
});
|
|
263
289
|
return () => {
|
|
264
290
|
ro.disconnect();
|
|
@@ -274,7 +300,7 @@ export const ScrollAreaViewport = /*#__PURE__*/React.forwardRef(function ScrollA
|
|
|
274
300
|
'data-id': `${rootId}-viewport`
|
|
275
301
|
}),
|
|
276
302
|
// https://accessibilityinsights.io/info-examples/web/scrollable-region-focusable/
|
|
277
|
-
...((!hiddenState.
|
|
303
|
+
...((!hiddenState.x || !hiddenState.y) && {
|
|
278
304
|
tabIndex: 0
|
|
279
305
|
}),
|
|
280
306
|
className: styleDisableScrollbar.className,
|
|
@@ -310,14 +336,14 @@ export const ScrollAreaViewport = /*#__PURE__*/React.forwardRef(function ScrollA
|
|
|
310
336
|
onKeyDown: handleUserInteraction
|
|
311
337
|
};
|
|
312
338
|
const viewportState = React.useMemo(() => ({
|
|
313
|
-
hasOverflowX: !hiddenState.
|
|
314
|
-
hasOverflowY: !hiddenState.
|
|
339
|
+
hasOverflowX: !hiddenState.x,
|
|
340
|
+
hasOverflowY: !hiddenState.y,
|
|
315
341
|
overflowXStart: overflowEdges.xStart,
|
|
316
342
|
overflowXEnd: overflowEdges.xEnd,
|
|
317
343
|
overflowYStart: overflowEdges.yStart,
|
|
318
344
|
overflowYEnd: overflowEdges.yEnd,
|
|
319
|
-
cornerHidden: hiddenState.
|
|
320
|
-
}), [hiddenState.
|
|
345
|
+
cornerHidden: hiddenState.corner
|
|
346
|
+
}), [hiddenState.x, hiddenState.y, hiddenState.corner, overflowEdges]);
|
|
321
347
|
const element = useRenderElement('div', componentProps, {
|
|
322
348
|
ref: [forwardedRef, viewportRef],
|
|
323
349
|
state: viewportState,
|
|
@@ -7,7 +7,7 @@ import type { Align, Side } from "../../utils/useAnchorPositioning.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Select](https://base-ui.com/react/components/select)
|
|
9
9
|
*/
|
|
10
|
-
export declare const SelectArrow: React.ForwardRefExoticComponent<SelectArrowProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const SelectArrow: React.ForwardRefExoticComponent<Omit<SelectArrowProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface SelectArrowState {
|
|
12
12
|
/**
|
|
13
13
|
* Whether the select popup is currently open.
|
|
@@ -7,7 +7,7 @@ import type { TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Select](https://base-ui.com/react/components/select)
|
|
9
9
|
*/
|
|
10
|
-
export declare const SelectBackdrop: React.ForwardRefExoticComponent<SelectBackdropProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const SelectBackdrop: React.ForwardRefExoticComponent<Omit<SelectBackdropProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface SelectBackdropState {
|
|
12
12
|
open: boolean;
|
|
13
13
|
transitionStatus: TransitionStatus;
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Select](https://base-ui.com/react/components/select)
|
|
8
8
|
*/
|
|
9
|
-
export declare const SelectGroup: React.ForwardRefExoticComponent<SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const SelectGroup: React.ForwardRefExoticComponent<Omit<SelectGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface SelectGroupState {}
|
|
11
11
|
export interface SelectGroupProps extends BaseUIComponentProps<'div', SelectGroup.State> {}
|
|
12
12
|
export declare namespace SelectGroup {
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Select](https://base-ui.com/react/components/select)
|
|
8
8
|
*/
|
|
9
|
-
export declare const SelectGroupLabel: React.ForwardRefExoticComponent<SelectGroupLabelProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const SelectGroupLabel: React.ForwardRefExoticComponent<Omit<SelectGroupLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface SelectGroupLabelState {}
|
|
11
11
|
export interface SelectGroupLabelProps extends BaseUIComponentProps<'div', SelectGroupLabel.State> {}
|
|
12
12
|
export declare namespace SelectGroupLabel {
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Select](https://base-ui.com/react/components/select)
|
|
8
8
|
*/
|
|
9
|
-
export declare const SelectIcon: React.ForwardRefExoticComponent<SelectIconProps & React.RefAttributes<HTMLSpanElement>>;
|
|
9
|
+
export declare const SelectIcon: React.ForwardRefExoticComponent<Omit<SelectIconProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
10
10
|
export interface SelectIconState {
|
|
11
11
|
/**
|
|
12
12
|
* Whether the select popup is currently open.
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps, NonNativeButtonProps } from "../../utils/typ
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Select](https://base-ui.com/react/components/select)
|
|
8
8
|
*/
|
|
9
|
-
export declare const SelectItem: React.NamedExoticComponent<SelectItemProps & React.RefAttributes<
|
|
9
|
+
export declare const SelectItem: React.NamedExoticComponent<Omit<SelectItemProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
10
10
|
export interface SelectItemState {
|
|
11
11
|
/**
|
|
12
12
|
* Whether the item should ignore user interaction.
|
|
@@ -122,7 +122,6 @@ export const SelectItem = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(
|
|
|
122
122
|
const defaultProps = {
|
|
123
123
|
role: 'option',
|
|
124
124
|
'aria-selected': selected,
|
|
125
|
-
'aria-disabled': disabled || undefined,
|
|
126
125
|
tabIndex: highlighted ? 0 : -1,
|
|
127
126
|
onFocus() {
|
|
128
127
|
store.set('activeIndex', index);
|
|
@@ -7,7 +7,7 @@ import { type TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Documentation: [Base UI Select](https://base-ui.com/react/components/select)
|
|
9
9
|
*/
|
|
10
|
-
export declare const SelectItemIndicator: React.ForwardRefExoticComponent<SelectItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
|
|
10
|
+
export declare const SelectItemIndicator: React.ForwardRefExoticComponent<Omit<SelectItemIndicatorProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
11
11
|
export interface SelectItemIndicatorState {
|
|
12
12
|
selected: boolean;
|
|
13
13
|
transitionStatus: TransitionStatus;
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Select](https://base-ui.com/react/components/select)
|
|
8
8
|
*/
|
|
9
|
-
export declare const SelectItemText: React.NamedExoticComponent<SelectItemTextProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const SelectItemText: React.NamedExoticComponent<Omit<SelectItemTextProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface SelectItemTextState {}
|
|
11
11
|
export interface SelectItemTextProps extends BaseUIComponentProps<'div', SelectItemText.State> {}
|
|
12
12
|
export declare namespace SelectItemText {
|
|
@@ -6,7 +6,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Documentation: [Base UI Select](https://base-ui.com/react/components/select)
|
|
8
8
|
*/
|
|
9
|
-
export declare const SelectList: React.ForwardRefExoticComponent<SelectListProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const SelectList: React.ForwardRefExoticComponent<Omit<SelectListProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface SelectListProps extends BaseUIComponentProps<'div', SelectList.State> {}
|
|
11
11
|
export interface SelectListState {}
|
|
12
12
|
export declare namespace SelectList {
|
|
@@ -8,7 +8,7 @@ import type { TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
8
8
|
*
|
|
9
9
|
* Documentation: [Base UI Select](https://base-ui.com/react/components/select)
|
|
10
10
|
*/
|
|
11
|
-
export declare const SelectPopup: React.ForwardRefExoticComponent<SelectPopupProps & React.RefAttributes<
|
|
11
|
+
export declare const SelectPopup: React.ForwardRefExoticComponent<Omit<SelectPopupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
12
|
export interface SelectPopupProps extends BaseUIComponentProps<'div', SelectPopup.State> {
|
|
13
13
|
children?: React.ReactNode;
|
|
14
14
|
}
|