@base-ui/react 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +148 -1
- package/accordion/header/AccordionHeader.d.ts +4 -2
- package/accordion/item/AccordionItem.d.ts +10 -4
- package/accordion/item/AccordionItemContext.d.ts +2 -2
- package/accordion/item/stateAttributesMapping.d.ts +2 -2
- package/accordion/panel/AccordionPanel.d.ts +6 -3
- package/accordion/root/AccordionRoot.d.ts +19 -10
- package/accordion/root/AccordionRootContext.d.ts +7 -7
- package/accordion/trigger/AccordionTrigger.d.ts +4 -2
- package/accordion/trigger/AccordionTrigger.js +3 -1
- package/alert-dialog/root/AlertDialogRoot.d.ts +2 -0
- package/autocomplete/index.d.ts +1 -0
- package/autocomplete/index.parts.d.ts +1 -0
- package/autocomplete/index.parts.js +7 -0
- package/autocomplete/root/AutocompleteRoot.d.ts +4 -4
- package/autocomplete/root/AutocompleteRoot.js +4 -1
- package/avatar/fallback/AvatarFallback.d.ts +3 -6
- package/avatar/fallback/AvatarFallback.js +4 -32
- package/avatar/image/AvatarImage.d.ts +6 -3
- package/avatar/image/AvatarImage.js +2 -3
- package/avatar/image/AvatarImageDataAttributes.d.ts +10 -0
- package/avatar/image/AvatarImageDataAttributes.js +18 -0
- package/avatar/root/AvatarRoot.d.ts +4 -1
- package/checkbox/indicator/CheckboxIndicator.d.ts +6 -3
- package/checkbox/root/CheckboxRoot.d.ts +3 -3
- package/checkbox/root/CheckboxRoot.js +4 -1
- package/checkbox/root/CheckboxRootContext.d.ts +4 -4
- package/checkbox/utils/useStateAttributesMapping.d.ts +2 -2
- package/checkbox-group/CheckboxGroup.d.ts +3 -3
- package/checkbox-group/CheckboxGroupContext.d.ts +2 -2
- package/checkbox-group/useCheckboxGroupParent.d.ts +2 -5
- package/collapsible/panel/CollapsiblePanel.d.ts +6 -3
- package/collapsible/panel/useCollapsiblePanel.d.ts +2 -5
- package/collapsible/root/CollapsibleRoot.d.ts +3 -3
- package/collapsible/root/CollapsibleRootContext.d.ts +4 -4
- package/collapsible/root/stateAttributesMapping.d.ts +2 -2
- package/collapsible/root/useCollapsibleRoot.d.ts +2 -5
- package/collapsible/trigger/CollapsibleTrigger.d.ts +4 -2
- package/combobox/arrow/ComboboxArrow.d.ts +10 -1
- package/combobox/backdrop/ComboboxBackdrop.d.ts +4 -1
- package/combobox/chip/ComboboxChip.d.ts +1 -1
- package/combobox/chip-remove/ComboboxChipRemove.d.ts +1 -1
- package/combobox/chips/ComboboxChips.d.ts +1 -1
- package/combobox/clear/ComboboxClear.d.ts +4 -1
- package/combobox/collection/ComboboxCollection.d.ts +2 -0
- package/combobox/empty/ComboboxEmpty.d.ts +1 -1
- package/combobox/group/ComboboxGroup.d.ts +1 -1
- package/combobox/group-label/ComboboxGroupLabel.d.ts +1 -1
- package/combobox/icon/ComboboxIcon.d.ts +1 -1
- package/combobox/index.d.ts +2 -0
- package/combobox/index.parts.d.ts +2 -0
- package/combobox/index.parts.js +14 -0
- package/combobox/input/ComboboxInput.d.ts +3 -3
- package/combobox/input/ComboboxInput.js +22 -5
- package/combobox/input-group/ComboboxInputGroup.d.ts +40 -0
- package/combobox/input-group/ComboboxInputGroup.js +68 -0
- package/combobox/input-group/ComboboxInputGroupDataAttributes.d.ts +55 -0
- package/combobox/input-group/ComboboxInputGroupDataAttributes.js +62 -0
- package/combobox/item/ComboboxItem.d.ts +1 -1
- package/combobox/item/ComboboxItem.js +2 -1
- package/combobox/item-indicator/ComboboxItemIndicator.d.ts +7 -1
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +10 -0
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +18 -0
- package/combobox/label/ComboboxLabel.d.ts +16 -0
- package/combobox/label/ComboboxLabel.js +68 -0
- package/combobox/list/ComboboxList.d.ts +1 -1
- package/combobox/popup/ComboboxPopup.d.ts +21 -3
- package/combobox/popup/ComboboxPopup.js +10 -2
- package/combobox/portal/ComboboxPortal.d.ts +3 -4
- package/combobox/positioner/ComboboxPositioner.d.ts +14 -2
- package/combobox/positioner/ComboboxPositioner.js +3 -2
- package/combobox/root/AriaCombobox.d.ts +9 -8
- package/combobox/root/AriaCombobox.js +14 -6
- package/combobox/root/ComboboxRoot.d.ts +4 -4
- package/combobox/row/ComboboxRow.d.ts +1 -1
- package/combobox/status/ComboboxStatus.d.ts +1 -1
- package/combobox/store.d.ts +10 -4
- package/combobox/store.js +2 -0
- package/combobox/trigger/ComboboxTrigger.d.ts +3 -3
- package/combobox/trigger/ComboboxTrigger.js +5 -2
- package/combobox/utils/ComboboxInternalDismissButton.d.ts +5 -0
- package/combobox/utils/ComboboxInternalDismissButton.js +44 -0
- package/composite/item/CompositeItem.d.ts +3 -1
- package/composite/list/CompositeList.d.ts +3 -1
- package/composite/list/useCompositeListItem.d.ts +1 -1
- package/composite/root/CompositeRoot.d.ts +4 -2
- package/composite/root/useCompositeRoot.d.ts +1 -1
- package/context-menu/trigger/ContextMenuTrigger.d.ts +3 -3
- package/dialog/backdrop/DialogBackdrop.d.ts +4 -1
- package/dialog/close/DialogClose.d.ts +1 -1
- package/dialog/description/DialogDescription.d.ts +1 -1
- package/dialog/popup/DialogPopup.d.ts +6 -3
- package/dialog/portal/DialogPortal.d.ts +4 -5
- package/dialog/root/DialogRoot.d.ts +8 -3
- package/dialog/root/useDialogRoot.d.ts +3 -7
- package/dialog/root/useDialogRoot.js +2 -5
- package/dialog/title/DialogTitle.d.ts +1 -1
- package/dialog/trigger/DialogTrigger.d.ts +1 -1
- package/dialog/viewport/DialogViewport.d.ts +3 -0
- package/direction-provider/DirectionProvider.d.ts +2 -0
- package/drawer/backdrop/DrawerBackdrop.d.ts +4 -1
- package/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +18 -0
- package/drawer/backdrop/DrawerBackdropDataAttributes.js +26 -0
- package/drawer/close/DrawerClose.d.ts +1 -1
- package/drawer/content/DrawerContent.d.ts +1 -1
- package/drawer/content/DrawerContent.js +2 -1
- package/drawer/content/DrawerContentDataAttributes.d.ts +1 -0
- package/drawer/content/DrawerContentDataAttributes.js +7 -0
- package/drawer/description/DrawerDescription.d.ts +1 -1
- package/drawer/indent/DrawerIndent.d.ts +3 -2
- package/drawer/indent/DrawerIndent.js +2 -1
- package/drawer/indent-background/DrawerIndentBackground.d.ts +5 -3
- package/drawer/indent-background/DrawerIndentBackground.js +4 -2
- package/drawer/index.d.ts +2 -1
- package/drawer/index.js +3 -3
- package/drawer/index.parts.d.ts +1 -0
- package/drawer/index.parts.js +7 -0
- package/drawer/popup/DrawerPopup.d.ts +6 -3
- package/drawer/popup/DrawerPopup.js +59 -2
- package/drawer/popup/DrawerPopupDataAttributes.d.ts +16 -0
- package/drawer/popup/DrawerPopupDataAttributes.js +18 -1
- package/drawer/portal/DrawerPortal.d.ts +2 -2
- package/drawer/provider/DrawerProvider.d.ts +2 -2
- package/drawer/provider/DrawerProvider.js +2 -2
- package/drawer/root/DrawerRoot.d.ts +5 -3
- package/drawer/root/DrawerRoot.js +6 -2
- package/drawer/swipe-area/DrawerSwipeArea.d.ts +1 -1
- package/drawer/swipe-area/DrawerSwipeArea.js +12 -10
- package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.ts +23 -0
- package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.js +31 -0
- package/drawer/title/DrawerTitle.d.ts +1 -1
- package/drawer/trigger/DrawerTrigger.d.ts +1 -1
- package/drawer/viewport/DrawerViewport.d.ts +4 -1
- package/drawer/viewport/DrawerViewport.js +165 -43
- package/drawer/viewport/DrawerViewportDataAttributes.d.ts +22 -0
- package/drawer/viewport/DrawerViewportDataAttributes.js +30 -0
- package/esm/accordion/header/AccordionHeader.d.ts +4 -2
- package/esm/accordion/item/AccordionItem.d.ts +10 -4
- package/esm/accordion/item/AccordionItemContext.d.ts +2 -2
- package/esm/accordion/item/stateAttributesMapping.d.ts +2 -2
- package/esm/accordion/panel/AccordionPanel.d.ts +6 -3
- package/esm/accordion/root/AccordionRoot.d.ts +19 -10
- package/esm/accordion/root/AccordionRootContext.d.ts +7 -7
- package/esm/accordion/trigger/AccordionTrigger.d.ts +4 -2
- package/esm/accordion/trigger/AccordionTrigger.js +3 -1
- package/esm/alert-dialog/root/AlertDialogRoot.d.ts +2 -0
- package/esm/autocomplete/index.d.ts +1 -0
- package/esm/autocomplete/index.parts.d.ts +1 -0
- package/esm/autocomplete/index.parts.js +1 -0
- package/esm/autocomplete/root/AutocompleteRoot.d.ts +4 -4
- package/esm/autocomplete/root/AutocompleteRoot.js +4 -1
- package/esm/avatar/fallback/AvatarFallback.d.ts +3 -6
- package/esm/avatar/fallback/AvatarFallback.js +4 -31
- package/esm/avatar/image/AvatarImage.d.ts +6 -3
- package/esm/avatar/image/AvatarImage.js +2 -3
- package/esm/avatar/image/AvatarImageDataAttributes.d.ts +10 -0
- package/esm/avatar/image/AvatarImageDataAttributes.js +12 -0
- package/esm/avatar/root/AvatarRoot.d.ts +4 -1
- package/esm/checkbox/indicator/CheckboxIndicator.d.ts +6 -3
- package/esm/checkbox/root/CheckboxRoot.d.ts +3 -3
- package/esm/checkbox/root/CheckboxRoot.js +4 -1
- package/esm/checkbox/root/CheckboxRootContext.d.ts +4 -4
- package/esm/checkbox/utils/useStateAttributesMapping.d.ts +2 -2
- package/esm/checkbox-group/CheckboxGroup.d.ts +3 -3
- package/esm/checkbox-group/CheckboxGroupContext.d.ts +2 -2
- package/esm/checkbox-group/useCheckboxGroupParent.d.ts +2 -5
- package/esm/collapsible/panel/CollapsiblePanel.d.ts +6 -3
- package/esm/collapsible/panel/useCollapsiblePanel.d.ts +2 -5
- package/esm/collapsible/root/CollapsibleRoot.d.ts +3 -3
- package/esm/collapsible/root/CollapsibleRootContext.d.ts +4 -4
- package/esm/collapsible/root/stateAttributesMapping.d.ts +2 -2
- package/esm/collapsible/root/useCollapsibleRoot.d.ts +2 -5
- package/esm/collapsible/trigger/CollapsibleTrigger.d.ts +4 -2
- package/esm/combobox/arrow/ComboboxArrow.d.ts +10 -1
- package/esm/combobox/backdrop/ComboboxBackdrop.d.ts +4 -1
- package/esm/combobox/chip/ComboboxChip.d.ts +1 -1
- package/esm/combobox/chip-remove/ComboboxChipRemove.d.ts +1 -1
- package/esm/combobox/chips/ComboboxChips.d.ts +1 -1
- package/esm/combobox/clear/ComboboxClear.d.ts +4 -1
- package/esm/combobox/collection/ComboboxCollection.d.ts +2 -0
- package/esm/combobox/empty/ComboboxEmpty.d.ts +1 -1
- package/esm/combobox/group/ComboboxGroup.d.ts +1 -1
- package/esm/combobox/group-label/ComboboxGroupLabel.d.ts +1 -1
- package/esm/combobox/icon/ComboboxIcon.d.ts +1 -1
- package/esm/combobox/index.d.ts +2 -0
- package/esm/combobox/index.parts.d.ts +2 -0
- package/esm/combobox/index.parts.js +2 -0
- package/esm/combobox/input/ComboboxInput.d.ts +3 -3
- package/esm/combobox/input/ComboboxInput.js +22 -5
- package/esm/combobox/input-group/ComboboxInputGroup.d.ts +40 -0
- package/esm/combobox/input-group/ComboboxInputGroup.js +63 -0
- package/esm/combobox/input-group/ComboboxInputGroupDataAttributes.d.ts +55 -0
- package/esm/combobox/input-group/ComboboxInputGroupDataAttributes.js +56 -0
- package/esm/combobox/item/ComboboxItem.d.ts +1 -1
- package/esm/combobox/item/ComboboxItem.js +2 -1
- package/esm/combobox/item-indicator/ComboboxItemIndicator.d.ts +7 -1
- package/esm/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +10 -0
- package/esm/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +12 -0
- package/esm/combobox/label/ComboboxLabel.d.ts +16 -0
- package/esm/combobox/label/ComboboxLabel.js +63 -0
- package/esm/combobox/list/ComboboxList.d.ts +1 -1
- package/esm/combobox/popup/ComboboxPopup.d.ts +21 -3
- package/esm/combobox/popup/ComboboxPopup.js +11 -3
- package/esm/combobox/portal/ComboboxPortal.d.ts +3 -4
- package/esm/combobox/positioner/ComboboxPositioner.d.ts +14 -2
- package/esm/combobox/positioner/ComboboxPositioner.js +3 -2
- package/esm/combobox/root/AriaCombobox.d.ts +9 -8
- package/esm/combobox/root/AriaCombobox.js +14 -6
- package/esm/combobox/root/ComboboxRoot.d.ts +4 -4
- package/esm/combobox/row/ComboboxRow.d.ts +1 -1
- package/esm/combobox/status/ComboboxStatus.d.ts +1 -1
- package/esm/combobox/store.d.ts +10 -4
- package/esm/combobox/store.js +2 -0
- package/esm/combobox/trigger/ComboboxTrigger.d.ts +3 -3
- package/esm/combobox/trigger/ComboboxTrigger.js +5 -2
- package/esm/combobox/utils/ComboboxInternalDismissButton.d.ts +5 -0
- package/esm/combobox/utils/ComboboxInternalDismissButton.js +38 -0
- package/esm/composite/item/CompositeItem.d.ts +3 -1
- package/esm/composite/list/CompositeList.d.ts +3 -1
- package/esm/composite/list/useCompositeListItem.d.ts +1 -1
- package/esm/composite/root/CompositeRoot.d.ts +4 -2
- package/esm/composite/root/useCompositeRoot.d.ts +1 -1
- package/esm/context-menu/trigger/ContextMenuTrigger.d.ts +3 -3
- package/esm/dialog/backdrop/DialogBackdrop.d.ts +4 -1
- package/esm/dialog/close/DialogClose.d.ts +1 -1
- package/esm/dialog/description/DialogDescription.d.ts +1 -1
- package/esm/dialog/popup/DialogPopup.d.ts +6 -3
- package/esm/dialog/portal/DialogPortal.d.ts +4 -5
- package/esm/dialog/root/DialogRoot.d.ts +8 -3
- package/esm/dialog/root/useDialogRoot.d.ts +3 -7
- package/esm/dialog/root/useDialogRoot.js +2 -5
- package/esm/dialog/title/DialogTitle.d.ts +1 -1
- package/esm/dialog/trigger/DialogTrigger.d.ts +1 -1
- package/esm/dialog/viewport/DialogViewport.d.ts +3 -0
- package/esm/direction-provider/DirectionProvider.d.ts +2 -0
- package/esm/drawer/backdrop/DrawerBackdrop.d.ts +4 -1
- package/esm/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +18 -0
- package/esm/drawer/backdrop/DrawerBackdropDataAttributes.js +20 -0
- package/esm/drawer/close/DrawerClose.d.ts +1 -1
- package/esm/drawer/content/DrawerContent.d.ts +1 -1
- package/esm/drawer/content/DrawerContent.js +2 -1
- package/esm/drawer/content/DrawerContentDataAttributes.d.ts +1 -0
- package/esm/drawer/content/DrawerContentDataAttributes.js +1 -0
- package/esm/drawer/description/DrawerDescription.d.ts +1 -1
- package/esm/drawer/indent/DrawerIndent.d.ts +3 -2
- package/esm/drawer/indent/DrawerIndent.js +2 -1
- package/esm/drawer/indent-background/DrawerIndentBackground.d.ts +5 -3
- package/esm/drawer/indent-background/DrawerIndentBackground.js +4 -2
- package/esm/drawer/index.d.ts +2 -1
- package/esm/drawer/index.js +1 -1
- package/esm/drawer/index.parts.d.ts +1 -0
- package/esm/drawer/index.parts.js +1 -0
- package/esm/drawer/popup/DrawerPopup.d.ts +6 -3
- package/esm/drawer/popup/DrawerPopup.js +59 -2
- package/esm/drawer/popup/DrawerPopupDataAttributes.d.ts +16 -0
- package/esm/drawer/popup/DrawerPopupDataAttributes.js +18 -1
- package/esm/drawer/portal/DrawerPortal.d.ts +2 -2
- package/esm/drawer/provider/DrawerProvider.d.ts +2 -2
- package/esm/drawer/provider/DrawerProvider.js +2 -2
- package/esm/drawer/root/DrawerRoot.d.ts +5 -3
- package/esm/drawer/root/DrawerRoot.js +6 -2
- package/esm/drawer/swipe-area/DrawerSwipeArea.d.ts +1 -1
- package/esm/drawer/swipe-area/DrawerSwipeArea.js +12 -10
- package/esm/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.ts +23 -0
- package/esm/drawer/swipe-area/DrawerSwipeAreaDataAttributes.js +25 -0
- package/esm/drawer/title/DrawerTitle.d.ts +1 -1
- package/esm/drawer/trigger/DrawerTrigger.d.ts +1 -1
- package/esm/drawer/viewport/DrawerViewport.d.ts +4 -1
- package/esm/drawer/viewport/DrawerViewport.js +165 -43
- package/esm/drawer/viewport/DrawerViewportDataAttributes.d.ts +22 -0
- package/esm/drawer/viewport/DrawerViewportDataAttributes.js +24 -0
- package/esm/field/control/FieldControl.d.ts +3 -3
- package/esm/field/description/FieldDescription.d.ts +3 -3
- package/esm/field/error/FieldError.d.ts +7 -4
- package/esm/field/error/FieldErrorDataAttributes.d.ts +8 -0
- package/esm/field/error/FieldErrorDataAttributes.js +10 -1
- package/esm/field/item/FieldItem.d.ts +4 -3
- package/esm/field/item/FieldItem.js +2 -2
- package/esm/field/label/FieldLabel.d.ts +3 -3
- package/esm/field/label/FieldLabel.js +6 -51
- package/esm/field/root/FieldRoot.d.ts +19 -2
- package/esm/field/root/FieldRoot.js +2 -1
- package/esm/field/root/FieldRootContext.d.ts +2 -2
- package/esm/field/root/FieldRootContext.js +6 -13
- package/esm/field/root/useFieldValidation.js +5 -4
- package/esm/field/utils/constants.d.ts +3 -0
- package/esm/field/utils/constants.js +11 -0
- package/esm/field/validity/FieldValidity.d.ts +7 -1
- package/esm/fieldset/legend/FieldsetLegend.d.ts +1 -1
- package/esm/fieldset/root/FieldsetRoot.d.ts +1 -1
- package/esm/floating-ui-react/components/FloatingDelayGroup.js +1 -1
- package/esm/floating-ui-react/components/FloatingFocusManager.d.ts +12 -7
- package/esm/floating-ui-react/components/FloatingFocusManager.js +31 -27
- package/esm/floating-ui-react/components/FloatingPortal.d.ts +6 -4
- package/esm/floating-ui-react/hooks/useClick.d.ts +2 -2
- package/esm/floating-ui-react/hooks/useClientPoint.d.ts +1 -1
- package/esm/floating-ui-react/hooks/useDismiss.d.ts +8 -12
- package/esm/floating-ui-react/hooks/useDismiss.js +320 -261
- package/esm/floating-ui-react/hooks/useFloatingRootContext.d.ts +2 -2
- package/esm/floating-ui-react/hooks/useFocus.d.ts +1 -1
- package/esm/floating-ui-react/hooks/useHover.d.ts +6 -14
- package/esm/floating-ui-react/hooks/useHover.js +2 -27
- package/esm/floating-ui-react/hooks/useHoverFloatingInteraction.d.ts +2 -3
- package/esm/floating-ui-react/hooks/useHoverFloatingInteraction.js +55 -71
- package/esm/floating-ui-react/hooks/useHoverInteractionSharedState.d.ts +12 -3
- package/esm/floating-ui-react/hooks/useHoverInteractionSharedState.js +30 -3
- package/esm/floating-ui-react/hooks/useHoverReferenceInteraction.d.ts +8 -3
- package/esm/floating-ui-react/hooks/useHoverReferenceInteraction.js +59 -81
- package/esm/floating-ui-react/hooks/useHoverShared.d.ts +28 -0
- package/esm/floating-ui-react/hooks/useHoverShared.js +26 -0
- package/esm/floating-ui-react/hooks/useListNavigation.d.ts +4 -4
- package/esm/floating-ui-react/hooks/useListNavigation.js +7 -3
- package/esm/floating-ui-react/hooks/useRole.d.ts +1 -1
- package/esm/floating-ui-react/hooks/useTypeahead.d.ts +7 -1
- package/esm/floating-ui-react/hooks/useTypeahead.js +30 -14
- package/esm/floating-ui-react/safePolygon.d.ts +2 -6
- package/esm/floating-ui-react/safePolygon.js +149 -119
- package/esm/floating-ui-react/types.d.ts +5 -4
- package/esm/floating-ui-react/utils/composite.d.ts +1 -0
- package/esm/floating-ui-react/utils/composite.js +128 -129
- package/esm/floating-ui-react/utils/markOthers.d.ts +7 -1
- package/esm/floating-ui-react/utils/markOthers.js +119 -81
- package/esm/form/Form.d.ts +1 -1
- package/esm/global.d.ts +1 -1
- package/esm/index.js +1 -1
- package/esm/input/Input.d.ts +10 -3
- package/esm/labelable-provider/LabelableProvider.d.ts +4 -1
- package/esm/labelable-provider/LabelableProvider.js +3 -2
- package/esm/labelable-provider/useAriaLabelledBy.d.ts +9 -0
- package/esm/labelable-provider/useAriaLabelledBy.js +56 -0
- package/esm/labelable-provider/useLabel.d.ts +25 -0
- package/esm/labelable-provider/useLabel.js +74 -0
- package/esm/labelable-provider/useLabelableId.d.ts +2 -5
- package/esm/menu/arrow/MenuArrow.d.ts +10 -1
- package/esm/menu/backdrop/MenuBackdrop.d.ts +4 -1
- package/esm/menu/checkbox-item/MenuCheckboxItem.d.ts +3 -3
- package/esm/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.d.ts +7 -1
- package/esm/menu/group/MenuGroup.d.ts +1 -1
- package/esm/menu/group-label/MenuGroupLabel.d.ts +1 -1
- package/esm/menu/index.d.ts +2 -1
- package/esm/menu/index.parts.d.ts +1 -0
- package/esm/menu/index.parts.js +1 -0
- package/esm/menu/item/MenuItem.d.ts +1 -1
- package/esm/menu/item/useMenuItem.d.ts +8 -7
- package/esm/menu/item/useMenuItem.js +5 -7
- package/esm/menu/item/useMenuItemCommonProps.d.ts +7 -4
- package/esm/menu/item/useMenuItemCommonProps.js +16 -2
- package/esm/menu/link-item/MenuLinkItem.d.ts +1 -1
- package/esm/menu/link-item/MenuLinkItem.js +16 -2
- package/esm/menu/popup/MenuPopup.d.ts +20 -5
- package/esm/menu/popup/MenuPopup.js +4 -1
- package/esm/menu/popup/MenuPopupDataAttributes.d.ts +1 -1
- package/esm/menu/popup/MenuPopupDataAttributes.js +1 -1
- package/esm/menu/portal/MenuPortal.d.ts +3 -4
- package/esm/menu/positioner/MenuPositioner.d.ts +18 -2
- package/esm/menu/positioner/MenuPositioner.js +58 -5
- package/esm/menu/radio-group/MenuRadioGroup.d.ts +6 -3
- package/esm/menu/radio-item/MenuRadioItem.d.ts +3 -3
- package/esm/menu/radio-item-indicator/MenuRadioItemIndicator.d.ts +7 -1
- package/esm/menu/root/MenuRoot.d.ts +4 -2
- package/esm/menu/root/MenuRoot.js +2 -3
- package/esm/menu/store/MenuStore.d.ts +4 -2
- package/esm/menu/store/MenuStore.js +15 -1
- package/esm/menu/submenu-trigger/MenuSubmenuTrigger.js +1 -0
- package/esm/menu/trigger/MenuTrigger.d.ts +3 -3
- package/esm/menu/viewport/MenuViewport.d.ts +30 -0
- package/esm/menu/viewport/MenuViewport.js +60 -0
- package/esm/menu/viewport/MenuViewportCssVars.d.ts +14 -0
- package/esm/menu/viewport/MenuViewportCssVars.js +15 -0
- package/esm/menu/viewport/MenuViewportDataAttributes.d.ts +26 -0
- package/esm/menu/viewport/MenuViewportDataAttributes.js +27 -0
- package/esm/menubar/Menubar.d.ts +1 -1
- package/esm/menubar/Menubar.js +1 -7
- package/esm/meter/indicator/MeterIndicator.d.ts +4 -2
- package/esm/meter/label/MeterLabel.d.ts +4 -2
- package/esm/meter/label/MeterLabel.js +4 -8
- package/esm/meter/root/MeterRoot.d.ts +1 -1
- package/esm/meter/root/MeterRoot.js +11 -2
- package/esm/meter/track/MeterTrack.d.ts +4 -2
- package/esm/meter/value/MeterValue.d.ts +5 -3
- package/esm/navigation-menu/arrow/NavigationMenuArrow.d.ts +10 -1
- package/esm/navigation-menu/backdrop/NavigationMenuBackdrop.d.ts +1 -1
- package/esm/navigation-menu/content/NavigationMenuContent.d.ts +1 -1
- package/esm/navigation-menu/content/NavigationMenuContent.js +11 -0
- package/esm/navigation-menu/icon/NavigationMenuIcon.d.ts +1 -1
- package/esm/navigation-menu/item/NavigationMenuItem.d.ts +1 -1
- package/esm/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
- package/esm/navigation-menu/list/NavigationMenuList.d.ts +1 -1
- package/esm/navigation-menu/list/NavigationMenuList.js +11 -2
- package/esm/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
- package/esm/navigation-menu/portal/NavigationMenuPortal.d.ts +4 -5
- package/esm/navigation-menu/positioner/NavigationMenuPositioner.d.ts +11 -2
- package/esm/navigation-menu/root/NavigationMenuRoot.d.ts +4 -4
- package/esm/navigation-menu/root/NavigationMenuRoot.js +27 -8
- package/esm/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -1
- package/esm/navigation-menu/trigger/NavigationMenuTrigger.js +364 -20
- package/esm/navigation-menu/utils/isOutsideMenuEvent.d.ts +1 -1
- package/esm/navigation-menu/viewport/NavigationMenuViewport.d.ts +1 -1
- package/esm/navigation-menu/viewport/NavigationMenuViewport.js +0 -19
- package/esm/number-field/decrement/NumberFieldDecrement.d.ts +3 -3
- package/esm/number-field/group/NumberFieldGroup.d.ts +3 -3
- package/esm/number-field/increment/NumberFieldIncrement.d.ts +3 -3
- package/esm/number-field/input/NumberFieldInput.d.ts +3 -3
- package/esm/number-field/root/NumberFieldRoot.d.ts +4 -4
- package/esm/number-field/root/NumberFieldRoot.js +1 -1
- package/esm/number-field/root/NumberFieldRootContext.d.ts +2 -2
- package/esm/number-field/root/useNumberFieldButton.d.ts +2 -5
- package/esm/number-field/scrub-area/NumberFieldScrubArea.d.ts +4 -4
- package/esm/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.d.ts +3 -3
- package/esm/number-field/utils/stateAttributesMapping.d.ts +2 -2
- package/esm/number-field/utils/types.d.ts +2 -2
- package/esm/popover/arrow/PopoverArrow.d.ts +10 -1
- package/esm/popover/backdrop/PopoverBackdrop.d.ts +4 -1
- package/esm/popover/close/PopoverClose.d.ts +1 -1
- package/esm/popover/close/PopoverClose.js +5 -3
- package/esm/popover/description/PopoverDescription.d.ts +1 -1
- package/esm/popover/popup/PopoverPopup.d.ts +15 -3
- package/esm/popover/popup/PopoverPopup.js +11 -2
- package/esm/popover/portal/PopoverPortal.d.ts +3 -4
- package/esm/popover/positioner/PopoverPositioner.d.ts +11 -2
- package/esm/popover/root/PopoverRoot.d.ts +10 -3
- package/esm/popover/root/PopoverRoot.js +1 -3
- package/esm/popover/title/PopoverTitle.d.ts +1 -1
- package/esm/popover/viewport/PopoverViewport.d.ts +16 -12
- package/esm/preview-card/arrow/PreviewCardArrow.d.ts +10 -1
- package/esm/preview-card/backdrop/PreviewCardBackdrop.d.ts +4 -1
- package/esm/preview-card/popup/PreviewCardPopup.d.ts +13 -1
- package/esm/preview-card/portal/PreviewCardPortal.d.ts +3 -4
- package/esm/preview-card/positioner/PreviewCardPositioner.d.ts +14 -2
- package/esm/preview-card/positioner/PreviewCardPositioner.js +7 -1
- package/esm/preview-card/root/PreviewCardRoot.d.ts +3 -3
- package/esm/preview-card/root/PreviewCardRoot.js +22 -9
- package/esm/preview-card/trigger/PreviewCardTrigger.d.ts +1 -1
- package/esm/preview-card/viewport/PreviewCardViewport.d.ts +16 -9
- package/esm/progress/indicator/ProgressIndicator.d.ts +4 -2
- package/esm/progress/label/ProgressLabel.d.ts +4 -2
- package/esm/progress/label/ProgressLabel.js +4 -8
- package/esm/progress/root/ProgressRoot.d.ts +4 -1
- package/esm/progress/root/ProgressRoot.js +11 -2
- package/esm/progress/root/ProgressRootContext.d.ts +2 -2
- package/esm/progress/root/stateAttributesMapping.d.ts +2 -2
- package/esm/progress/track/ProgressTrack.d.ts +4 -2
- package/esm/progress/value/ProgressValue.d.ts +5 -3
- package/esm/radio/indicator/RadioIndicator.d.ts +4 -1
- package/esm/radio/indicator/RadioIndicatorDataAttributes.d.ts +8 -0
- package/esm/radio/indicator/RadioIndicatorDataAttributes.js +10 -1
- package/esm/radio/root/RadioRoot.d.ts +3 -3
- package/esm/radio/root/RadioRoot.js +4 -1
- package/esm/radio-group/RadioGroup.d.ts +3 -3
- package/esm/scroll-area/content/ScrollAreaContent.d.ts +3 -3
- package/esm/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
- package/esm/scroll-area/root/ScrollAreaRoot.d.ts +27 -11
- package/esm/scroll-area/root/ScrollAreaRoot.js +7 -4
- package/esm/scroll-area/root/ScrollAreaRootContext.d.ts +4 -2
- package/esm/scroll-area/root/stateAttributes.d.ts +2 -2
- package/esm/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +13 -7
- package/esm/scroll-area/scrollbar/ScrollAreaScrollbar.js +4 -1
- package/esm/scroll-area/thumb/ScrollAreaThumb.d.ts +5 -2
- package/esm/scroll-area/thumb/ScrollAreaThumb.js +3 -1
- package/esm/scroll-area/viewport/ScrollAreaViewport.d.ts +3 -3
- package/esm/scroll-area/viewport/ScrollAreaViewport.js +46 -27
- package/esm/select/arrow/SelectArrow.d.ts +10 -1
- package/esm/select/backdrop/SelectBackdrop.d.ts +7 -1
- package/esm/select/group/SelectGroup.d.ts +1 -1
- package/esm/select/group-label/SelectGroupLabel.d.ts +1 -1
- package/esm/select/icon/SelectIcon.d.ts +1 -1
- package/esm/select/index.d.ts +1 -0
- package/esm/select/index.parts.d.ts +1 -0
- package/esm/select/index.parts.js +1 -0
- package/esm/select/item/SelectItem.d.ts +1 -1
- package/esm/select/item/SelectItem.js +10 -4
- package/esm/select/item-indicator/SelectItemIndicator.d.ts +10 -2
- package/esm/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +10 -0
- package/esm/select/item-indicator/SelectItemIndicatorDataAttributes.js +12 -0
- package/esm/select/item-text/SelectItemText.d.ts +1 -1
- package/esm/select/label/SelectLabel.d.ts +16 -0
- package/esm/select/label/SelectLabel.js +49 -0
- package/esm/select/list/SelectList.d.ts +1 -1
- package/esm/select/popup/SelectPopup.d.ts +14 -2
- package/esm/select/popup/SelectPopup.js +23 -9
- package/esm/select/portal/SelectPortal.d.ts +3 -4
- package/esm/select/positioner/SelectPositioner.d.ts +14 -2
- package/esm/select/positioner/SelectPositionerContext.d.ts +2 -2
- package/esm/select/root/SelectRoot.d.ts +5 -4
- package/esm/select/root/SelectRoot.js +5 -6
- package/esm/select/scroll-arrow/SelectScrollArrow.d.ts +13 -1
- package/esm/select/scroll-down-arrow/SelectScrollDownArrow.d.ts +1 -1
- package/esm/select/scroll-up-arrow/SelectScrollUpArrow.d.ts +1 -1
- package/esm/select/store.d.ts +5 -2
- package/esm/select/store.js +1 -0
- package/esm/select/trigger/SelectTrigger.d.ts +6 -4
- package/esm/select/trigger/SelectTrigger.js +5 -2
- package/esm/select/value/SelectValue.d.ts +1 -1
- package/esm/separator/Separator.d.ts +1 -1
- package/esm/slider/control/SliderControl.d.ts +4 -3
- package/esm/slider/control/SliderControl.js +0 -2
- package/esm/slider/index.d.ts +1 -0
- package/esm/slider/index.parts.d.ts +1 -0
- package/esm/slider/index.parts.js +1 -0
- package/esm/slider/indicator/SliderIndicator.d.ts +4 -2
- package/esm/slider/label/SliderLabel.d.ts +16 -0
- package/esm/slider/label/SliderLabel.js +58 -0
- package/esm/slider/root/SliderRoot.d.ts +11 -5
- package/esm/slider/root/SliderRoot.js +8 -3
- package/esm/slider/root/SliderRootContext.d.ts +4 -2
- package/esm/slider/root/stateAttributesMapping.d.ts +2 -2
- package/esm/slider/thumb/SliderThumb.d.ts +5 -5
- package/esm/slider/thumb/SliderThumb.js +3 -2
- package/esm/slider/track/SliderTrack.d.ts +4 -2
- package/esm/slider/utils/resolveThumbCollision.d.ts +2 -2
- package/esm/slider/value/SliderValue.d.ts +5 -3
- package/esm/switch/root/SwitchRoot.d.ts +3 -3
- package/esm/switch/root/SwitchRoot.js +4 -1
- package/esm/switch/root/SwitchRootContext.d.ts +4 -4
- package/esm/switch/stateAttributesMapping.d.ts +2 -2
- package/esm/switch/thumb/SwitchThumb.d.ts +3 -3
- package/esm/tabs/indicator/TabsIndicator.d.ts +12 -3
- package/esm/tabs/indicator/TabsIndicator.js +5 -14
- package/esm/tabs/indicator/TabsIndicatorCssVars.d.ts +1 -1
- package/esm/tabs/indicator/TabsIndicatorCssVars.js +1 -1
- package/esm/tabs/list/TabsList.d.ts +3 -3
- package/esm/tabs/list/TabsList.js +48 -3
- package/esm/tabs/list/TabsListContext.d.ts +2 -0
- package/esm/tabs/panel/TabsPanel.d.ts +9 -3
- package/esm/tabs/panel/TabsPanelDataAttributes.d.ts +8 -0
- package/esm/tabs/panel/TabsPanelDataAttributes.js +10 -1
- package/esm/tabs/root/TabsRoot.d.ts +7 -1
- package/esm/tabs/root/TabsRootContext.d.ts +1 -1
- package/esm/tabs/root/stateAttributesMapping.d.ts +2 -2
- package/esm/tabs/tab/TabsTab.d.ts +7 -1
- package/esm/tabs/tab/TabsTab.js +10 -1
- package/esm/toast/action/ToastAction.d.ts +1 -1
- package/esm/toast/arrow/ToastArrow.d.ts +10 -1
- package/esm/toast/close/ToastClose.d.ts +1 -1
- package/esm/toast/content/ToastContent.d.ts +1 -1
- package/esm/toast/createToastManager.d.ts +1 -1
- package/esm/toast/description/ToastDescription.d.ts +1 -1
- package/esm/toast/portal/ToastPortal.d.ts +3 -4
- package/esm/toast/positioner/ToastPositioner.d.ts +12 -3
- package/esm/toast/provider/ToastProvider.d.ts +2 -0
- package/esm/toast/provider/ToastProvider.js +1 -1
- package/esm/toast/root/ToastRoot.d.ts +20 -7
- package/esm/toast/root/ToastRoot.js +3 -1
- package/esm/toast/store.d.ts +1 -1
- package/esm/toast/store.js +37 -8
- package/esm/toast/title/ToastTitle.d.ts +1 -1
- package/esm/toast/useToastManager.d.ts +3 -3
- package/esm/toast/viewport/ToastViewport.d.ts +1 -1
- package/esm/toggle/Toggle.d.ts +1 -1
- package/esm/toggle-group/ToggleGroup.d.ts +1 -1
- package/esm/toolbar/button/ToolbarButton.d.ts +9 -3
- package/esm/toolbar/group/ToolbarGroup.d.ts +4 -2
- package/esm/toolbar/input/ToolbarInput.d.ts +9 -3
- package/esm/toolbar/link/ToolbarLink.d.ts +4 -1
- package/esm/toolbar/root/ToolbarRoot.d.ts +7 -1
- package/esm/toolbar/separator/ToolbarSeparator.d.ts +4 -2
- package/esm/tooltip/arrow/TooltipArrow.d.ts +13 -1
- package/esm/tooltip/popup/TooltipPopup.d.ts +13 -1
- package/esm/tooltip/portal/TooltipPortal.d.ts +3 -4
- package/esm/tooltip/positioner/TooltipPositioner.d.ts +11 -2
- package/esm/tooltip/provider/TooltipProvider.d.ts +2 -0
- package/esm/tooltip/root/TooltipRoot.d.ts +3 -3
- package/esm/tooltip/root/TooltipRoot.js +1 -1
- package/esm/tooltip/store/TooltipStore.d.ts +2 -0
- package/esm/tooltip/store/TooltipStore.js +2 -0
- package/esm/tooltip/trigger/TooltipTrigger.d.ts +6 -1
- package/esm/tooltip/trigger/TooltipTrigger.js +5 -0
- package/esm/tooltip/viewport/TooltipViewport.d.ts +16 -12
- package/esm/types/index.d.ts +16 -1
- package/esm/unstable-use-media-query/index.d.ts +2 -0
- package/esm/use-button/useButton.d.ts +8 -5
- package/esm/use-button/useButton.js +49 -20
- package/esm/use-render/useRender.d.ts +7 -5
- package/esm/utils/FloatingPortalLite.d.ts +4 -2
- package/esm/utils/InternalBackdrop.d.ts +3 -1
- package/esm/utils/closePart.d.ts +16 -0
- package/esm/utils/closePart.js +40 -0
- package/esm/utils/constants.d.ts +4 -0
- package/esm/utils/constants.js +4 -0
- package/esm/utils/createBaseUIEventDetails.d.ts +1 -1
- package/esm/utils/getElementAtPoint.d.ts +1 -0
- package/esm/utils/getElementAtPoint.js +3 -0
- package/esm/utils/resolveAriaLabelledBy.d.ts +2 -0
- package/esm/utils/resolveAriaLabelledBy.js +8 -0
- package/esm/utils/resolveValueLabel.d.ts +4 -4
- package/esm/utils/resolveValueLabel.js +7 -5
- package/esm/utils/types.d.ts +7 -20
- package/esm/utils/useAnchorPositioning.d.ts +53 -18
- package/esm/utils/useAnchorPositioning.js +15 -6
- package/esm/utils/useFocusableWhenDisabled.d.ts +2 -5
- package/esm/utils/useMixedToggleClickHandler.d.ts +2 -4
- package/esm/utils/useOpenChangeComplete.d.ts +2 -4
- package/esm/utils/useOpenInteractionType.d.ts +0 -1
- package/esm/utils/useOpenInteractionType.js +7 -5
- package/esm/utils/usePopupAutoResize.js +1 -2
- package/esm/utils/usePopupViewport.js +11 -8
- package/esm/utils/useRegisteredLabelId.d.ts +1 -0
- package/esm/utils/useRegisteredLabelId.js +14 -0
- package/esm/utils/useRenderElement.d.ts +6 -9
- package/esm/utils/useRenderElement.js +15 -0
- package/esm/utils/useSwipeDismiss.d.ts +91 -92
- package/esm/utils/useSwipeDismiss.js +2 -1
- package/field/control/FieldControl.d.ts +3 -3
- package/field/description/FieldDescription.d.ts +3 -3
- package/field/error/FieldError.d.ts +7 -4
- package/field/error/FieldErrorDataAttributes.d.ts +8 -0
- package/field/error/FieldErrorDataAttributes.js +10 -1
- package/field/item/FieldItem.d.ts +4 -3
- package/field/item/FieldItem.js +2 -2
- package/field/label/FieldLabel.d.ts +3 -3
- package/field/label/FieldLabel.js +6 -51
- package/field/root/FieldRoot.d.ts +19 -2
- package/field/root/FieldRoot.js +2 -1
- package/field/root/FieldRootContext.d.ts +2 -2
- package/field/root/FieldRootContext.js +5 -12
- package/field/root/useFieldValidation.js +5 -4
- package/field/utils/constants.d.ts +3 -0
- package/field/utils/constants.js +12 -1
- package/field/validity/FieldValidity.d.ts +7 -1
- package/fieldset/legend/FieldsetLegend.d.ts +1 -1
- package/fieldset/root/FieldsetRoot.d.ts +1 -1
- package/floating-ui-react/components/FloatingDelayGroup.js +2 -2
- package/floating-ui-react/components/FloatingFocusManager.d.ts +12 -7
- package/floating-ui-react/components/FloatingFocusManager.js +29 -25
- package/floating-ui-react/components/FloatingPortal.d.ts +6 -4
- package/floating-ui-react/hooks/useClick.d.ts +2 -2
- package/floating-ui-react/hooks/useClientPoint.d.ts +1 -1
- package/floating-ui-react/hooks/useDismiss.d.ts +8 -12
- package/floating-ui-react/hooks/useDismiss.js +319 -260
- package/floating-ui-react/hooks/useFloatingRootContext.d.ts +2 -2
- package/floating-ui-react/hooks/useFocus.d.ts +1 -1
- package/floating-ui-react/hooks/useHover.d.ts +6 -14
- package/floating-ui-react/hooks/useHover.js +6 -32
- package/floating-ui-react/hooks/useHoverFloatingInteraction.d.ts +2 -3
- package/floating-ui-react/hooks/useHoverFloatingInteraction.js +53 -70
- package/floating-ui-react/hooks/useHoverInteractionSharedState.d.ts +12 -3
- package/floating-ui-react/hooks/useHoverInteractionSharedState.js +32 -4
- package/floating-ui-react/hooks/useHoverReferenceInteraction.d.ts +8 -3
- package/floating-ui-react/hooks/useHoverReferenceInteraction.js +60 -82
- package/floating-ui-react/hooks/useHoverShared.d.ts +28 -0
- package/floating-ui-react/hooks/useHoverShared.js +34 -0
- package/floating-ui-react/hooks/useListNavigation.d.ts +4 -4
- package/floating-ui-react/hooks/useListNavigation.js +7 -3
- package/floating-ui-react/hooks/useRole.d.ts +1 -1
- package/floating-ui-react/hooks/useTypeahead.d.ts +7 -1
- package/floating-ui-react/hooks/useTypeahead.js +29 -13
- package/floating-ui-react/safePolygon.d.ts +2 -6
- package/floating-ui-react/safePolygon.js +149 -119
- package/floating-ui-react/types.d.ts +5 -4
- package/floating-ui-react/utils/composite.d.ts +1 -0
- package/floating-ui-react/utils/composite.js +129 -129
- package/floating-ui-react/utils/markOthers.d.ts +7 -1
- package/floating-ui-react/utils/markOthers.js +118 -80
- package/form/Form.d.ts +1 -1
- package/global.d.ts +1 -1
- package/index.js +1 -1
- package/input/Input.d.ts +10 -3
- package/labelable-provider/LabelableProvider.d.ts +4 -1
- package/labelable-provider/LabelableProvider.js +3 -2
- package/labelable-provider/useAriaLabelledBy.d.ts +9 -0
- package/labelable-provider/useAriaLabelledBy.js +61 -0
- package/labelable-provider/useLabel.d.ts +25 -0
- package/labelable-provider/useLabel.js +80 -0
- package/labelable-provider/useLabelableId.d.ts +2 -5
- package/menu/arrow/MenuArrow.d.ts +10 -1
- package/menu/backdrop/MenuBackdrop.d.ts +4 -1
- package/menu/checkbox-item/MenuCheckboxItem.d.ts +3 -3
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.d.ts +7 -1
- package/menu/group/MenuGroup.d.ts +1 -1
- package/menu/group-label/MenuGroupLabel.d.ts +1 -1
- package/menu/index.d.ts +2 -1
- package/menu/index.parts.d.ts +1 -0
- package/menu/index.parts.js +7 -0
- package/menu/item/MenuItem.d.ts +1 -1
- package/menu/item/useMenuItem.d.ts +8 -7
- package/menu/item/useMenuItem.js +5 -7
- package/menu/item/useMenuItemCommonProps.d.ts +7 -4
- package/menu/item/useMenuItemCommonProps.js +16 -2
- package/menu/link-item/MenuLinkItem.d.ts +1 -1
- package/menu/link-item/MenuLinkItem.js +16 -2
- package/menu/popup/MenuPopup.d.ts +20 -5
- package/menu/popup/MenuPopup.js +4 -1
- package/menu/popup/MenuPopupDataAttributes.d.ts +1 -1
- package/menu/popup/MenuPopupDataAttributes.js +1 -1
- package/menu/portal/MenuPortal.d.ts +3 -4
- package/menu/positioner/MenuPositioner.d.ts +18 -2
- package/menu/positioner/MenuPositioner.js +56 -4
- package/menu/radio-group/MenuRadioGroup.d.ts +6 -3
- package/menu/radio-item/MenuRadioItem.d.ts +3 -3
- package/menu/radio-item-indicator/MenuRadioItemIndicator.d.ts +7 -1
- package/menu/root/MenuRoot.d.ts +4 -2
- package/menu/root/MenuRoot.js +2 -3
- package/menu/store/MenuStore.d.ts +4 -2
- package/menu/store/MenuStore.js +15 -1
- package/menu/submenu-trigger/MenuSubmenuTrigger.js +1 -0
- package/menu/trigger/MenuTrigger.d.ts +3 -3
- package/menu/viewport/MenuViewport.d.ts +30 -0
- package/menu/viewport/MenuViewport.js +66 -0
- package/menu/viewport/MenuViewportCssVars.d.ts +14 -0
- package/menu/viewport/MenuViewportCssVars.js +21 -0
- package/menu/viewport/MenuViewportDataAttributes.d.ts +26 -0
- package/menu/viewport/MenuViewportDataAttributes.js +33 -0
- package/menubar/Menubar.d.ts +1 -1
- package/menubar/Menubar.js +1 -7
- package/meter/indicator/MeterIndicator.d.ts +4 -2
- package/meter/label/MeterLabel.d.ts +4 -2
- package/meter/label/MeterLabel.js +4 -8
- package/meter/root/MeterRoot.d.ts +1 -1
- package/meter/root/MeterRoot.js +10 -1
- package/meter/track/MeterTrack.d.ts +4 -2
- package/meter/value/MeterValue.d.ts +5 -3
- package/navigation-menu/arrow/NavigationMenuArrow.d.ts +10 -1
- package/navigation-menu/backdrop/NavigationMenuBackdrop.d.ts +1 -1
- package/navigation-menu/content/NavigationMenuContent.d.ts +1 -1
- package/navigation-menu/content/NavigationMenuContent.js +11 -0
- package/navigation-menu/icon/NavigationMenuIcon.d.ts +1 -1
- package/navigation-menu/item/NavigationMenuItem.d.ts +1 -1
- package/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
- package/navigation-menu/list/NavigationMenuList.d.ts +1 -1
- package/navigation-menu/list/NavigationMenuList.js +10 -1
- package/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
- package/navigation-menu/portal/NavigationMenuPortal.d.ts +4 -5
- package/navigation-menu/positioner/NavigationMenuPositioner.d.ts +11 -2
- package/navigation-menu/root/NavigationMenuRoot.d.ts +4 -4
- package/navigation-menu/root/NavigationMenuRoot.js +26 -7
- package/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -1
- package/navigation-menu/trigger/NavigationMenuTrigger.js +362 -17
- package/navigation-menu/utils/isOutsideMenuEvent.d.ts +1 -1
- package/navigation-menu/viewport/NavigationMenuViewport.d.ts +1 -1
- package/navigation-menu/viewport/NavigationMenuViewport.js +0 -19
- package/number-field/decrement/NumberFieldDecrement.d.ts +3 -3
- package/number-field/group/NumberFieldGroup.d.ts +3 -3
- package/number-field/increment/NumberFieldIncrement.d.ts +3 -3
- package/number-field/input/NumberFieldInput.d.ts +3 -3
- package/number-field/root/NumberFieldRoot.d.ts +4 -4
- package/number-field/root/NumberFieldRoot.js +1 -1
- package/number-field/root/NumberFieldRootContext.d.ts +2 -2
- package/number-field/root/useNumberFieldButton.d.ts +2 -5
- package/number-field/scrub-area/NumberFieldScrubArea.d.ts +4 -4
- package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursor.d.ts +3 -3
- package/number-field/utils/stateAttributesMapping.d.ts +2 -2
- package/number-field/utils/types.d.ts +2 -2
- package/package.json +183 -7
- package/popover/arrow/PopoverArrow.d.ts +10 -1
- package/popover/backdrop/PopoverBackdrop.d.ts +4 -1
- package/popover/close/PopoverClose.d.ts +1 -1
- package/popover/close/PopoverClose.js +5 -3
- package/popover/description/PopoverDescription.d.ts +1 -1
- package/popover/popup/PopoverPopup.d.ts +15 -3
- package/popover/popup/PopoverPopup.js +11 -2
- package/popover/portal/PopoverPortal.d.ts +3 -4
- package/popover/positioner/PopoverPositioner.d.ts +11 -2
- package/popover/root/PopoverRoot.d.ts +10 -3
- package/popover/root/PopoverRoot.js +1 -3
- package/popover/title/PopoverTitle.d.ts +1 -1
- package/popover/viewport/PopoverViewport.d.ts +16 -12
- package/preview-card/arrow/PreviewCardArrow.d.ts +10 -1
- package/preview-card/backdrop/PreviewCardBackdrop.d.ts +4 -1
- package/preview-card/popup/PreviewCardPopup.d.ts +13 -1
- package/preview-card/portal/PreviewCardPortal.d.ts +3 -4
- package/preview-card/positioner/PreviewCardPositioner.d.ts +14 -2
- package/preview-card/positioner/PreviewCardPositioner.js +7 -1
- package/preview-card/root/PreviewCardRoot.d.ts +3 -3
- package/preview-card/root/PreviewCardRoot.js +20 -7
- package/preview-card/trigger/PreviewCardTrigger.d.ts +1 -1
- package/preview-card/viewport/PreviewCardViewport.d.ts +16 -9
- package/progress/indicator/ProgressIndicator.d.ts +4 -2
- package/progress/label/ProgressLabel.d.ts +4 -2
- package/progress/label/ProgressLabel.js +4 -8
- package/progress/root/ProgressRoot.d.ts +4 -1
- package/progress/root/ProgressRoot.js +10 -1
- package/progress/root/ProgressRootContext.d.ts +2 -2
- package/progress/root/stateAttributesMapping.d.ts +2 -2
- package/progress/track/ProgressTrack.d.ts +4 -2
- package/progress/value/ProgressValue.d.ts +5 -3
- package/radio/indicator/RadioIndicator.d.ts +4 -1
- package/radio/indicator/RadioIndicatorDataAttributes.d.ts +8 -0
- package/radio/indicator/RadioIndicatorDataAttributes.js +10 -1
- package/radio/root/RadioRoot.d.ts +3 -3
- package/radio/root/RadioRoot.js +4 -1
- package/radio-group/RadioGroup.d.ts +3 -3
- package/scroll-area/content/ScrollAreaContent.d.ts +3 -3
- package/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
- package/scroll-area/root/ScrollAreaRoot.d.ts +27 -11
- package/scroll-area/root/ScrollAreaRoot.js +7 -4
- package/scroll-area/root/ScrollAreaRootContext.d.ts +4 -2
- package/scroll-area/root/stateAttributes.d.ts +2 -2
- package/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +13 -7
- package/scroll-area/scrollbar/ScrollAreaScrollbar.js +4 -1
- package/scroll-area/thumb/ScrollAreaThumb.d.ts +5 -2
- package/scroll-area/thumb/ScrollAreaThumb.js +3 -1
- package/scroll-area/viewport/ScrollAreaViewport.d.ts +3 -3
- package/scroll-area/viewport/ScrollAreaViewport.js +46 -27
- package/select/arrow/SelectArrow.d.ts +10 -1
- package/select/backdrop/SelectBackdrop.d.ts +7 -1
- package/select/group/SelectGroup.d.ts +1 -1
- package/select/group-label/SelectGroupLabel.d.ts +1 -1
- package/select/icon/SelectIcon.d.ts +1 -1
- package/select/index.d.ts +1 -0
- package/select/index.parts.d.ts +1 -0
- package/select/index.parts.js +7 -0
- package/select/item/SelectItem.d.ts +1 -1
- package/select/item/SelectItem.js +10 -4
- package/select/item-indicator/SelectItemIndicator.d.ts +10 -2
- package/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +10 -0
- package/select/item-indicator/SelectItemIndicatorDataAttributes.js +18 -0
- package/select/item-text/SelectItemText.d.ts +1 -1
- package/select/label/SelectLabel.d.ts +16 -0
- package/select/label/SelectLabel.js +54 -0
- package/select/list/SelectList.d.ts +1 -1
- package/select/popup/SelectPopup.d.ts +14 -2
- package/select/popup/SelectPopup.js +26 -12
- package/select/portal/SelectPortal.d.ts +3 -4
- package/select/positioner/SelectPositioner.d.ts +14 -2
- package/select/positioner/SelectPositionerContext.d.ts +2 -2
- package/select/root/SelectRoot.d.ts +5 -4
- package/select/root/SelectRoot.js +5 -6
- package/select/scroll-arrow/SelectScrollArrow.d.ts +13 -1
- package/select/scroll-down-arrow/SelectScrollDownArrow.d.ts +1 -1
- package/select/scroll-up-arrow/SelectScrollUpArrow.d.ts +1 -1
- package/select/store.d.ts +5 -2
- package/select/store.js +1 -0
- package/select/trigger/SelectTrigger.d.ts +6 -4
- package/select/trigger/SelectTrigger.js +5 -2
- package/select/value/SelectValue.d.ts +1 -1
- package/separator/Separator.d.ts +1 -1
- package/slider/control/SliderControl.d.ts +4 -3
- package/slider/control/SliderControl.js +0 -2
- package/slider/index.d.ts +1 -0
- package/slider/index.parts.d.ts +1 -0
- package/slider/index.parts.js +7 -0
- package/slider/indicator/SliderIndicator.d.ts +4 -2
- package/slider/label/SliderLabel.d.ts +16 -0
- package/slider/label/SliderLabel.js +63 -0
- package/slider/root/SliderRoot.d.ts +11 -5
- package/slider/root/SliderRoot.js +8 -3
- package/slider/root/SliderRootContext.d.ts +4 -2
- package/slider/root/stateAttributesMapping.d.ts +2 -2
- package/slider/thumb/SliderThumb.d.ts +5 -5
- package/slider/thumb/SliderThumb.js +3 -2
- package/slider/track/SliderTrack.d.ts +4 -2
- package/slider/utils/resolveThumbCollision.d.ts +2 -2
- package/slider/value/SliderValue.d.ts +5 -3
- package/switch/root/SwitchRoot.d.ts +3 -3
- package/switch/root/SwitchRoot.js +4 -1
- package/switch/root/SwitchRootContext.d.ts +4 -4
- package/switch/stateAttributesMapping.d.ts +2 -2
- package/switch/thumb/SwitchThumb.d.ts +3 -3
- package/tabs/indicator/TabsIndicator.d.ts +12 -3
- package/tabs/indicator/TabsIndicator.js +5 -14
- package/tabs/indicator/TabsIndicatorCssVars.d.ts +1 -1
- package/tabs/indicator/TabsIndicatorCssVars.js +1 -1
- package/tabs/list/TabsList.d.ts +3 -3
- package/tabs/list/TabsList.js +48 -3
- package/tabs/list/TabsListContext.d.ts +2 -0
- package/tabs/panel/TabsPanel.d.ts +9 -3
- package/tabs/panel/TabsPanelDataAttributes.d.ts +8 -0
- package/tabs/panel/TabsPanelDataAttributes.js +10 -1
- package/tabs/root/TabsRoot.d.ts +7 -1
- package/tabs/root/TabsRootContext.d.ts +1 -1
- package/tabs/root/stateAttributesMapping.d.ts +2 -2
- package/tabs/tab/TabsTab.d.ts +7 -1
- package/tabs/tab/TabsTab.js +10 -1
- package/toast/action/ToastAction.d.ts +1 -1
- package/toast/arrow/ToastArrow.d.ts +10 -1
- package/toast/close/ToastClose.d.ts +1 -1
- package/toast/content/ToastContent.d.ts +1 -1
- package/toast/createToastManager.d.ts +1 -1
- package/toast/description/ToastDescription.d.ts +1 -1
- package/toast/portal/ToastPortal.d.ts +3 -4
- package/toast/positioner/ToastPositioner.d.ts +12 -3
- package/toast/provider/ToastProvider.d.ts +2 -0
- package/toast/provider/ToastProvider.js +1 -1
- package/toast/root/ToastRoot.d.ts +20 -7
- package/toast/root/ToastRoot.js +3 -1
- package/toast/store.d.ts +1 -1
- package/toast/store.js +37 -8
- package/toast/title/ToastTitle.d.ts +1 -1
- package/toast/useToastManager.d.ts +3 -3
- package/toast/viewport/ToastViewport.d.ts +1 -1
- package/toggle/Toggle.d.ts +1 -1
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toolbar/button/ToolbarButton.d.ts +9 -3
- package/toolbar/group/ToolbarGroup.d.ts +4 -2
- package/toolbar/input/ToolbarInput.d.ts +9 -3
- package/toolbar/link/ToolbarLink.d.ts +4 -1
- package/toolbar/root/ToolbarRoot.d.ts +7 -1
- package/toolbar/separator/ToolbarSeparator.d.ts +4 -2
- package/tooltip/arrow/TooltipArrow.d.ts +13 -1
- package/tooltip/popup/TooltipPopup.d.ts +13 -1
- package/tooltip/portal/TooltipPortal.d.ts +3 -4
- package/tooltip/positioner/TooltipPositioner.d.ts +11 -2
- package/tooltip/provider/TooltipProvider.d.ts +2 -0
- package/tooltip/root/TooltipRoot.d.ts +3 -3
- package/tooltip/root/TooltipRoot.js +1 -1
- package/tooltip/store/TooltipStore.d.ts +2 -0
- package/tooltip/store/TooltipStore.js +2 -0
- package/tooltip/trigger/TooltipTrigger.d.ts +6 -1
- package/tooltip/trigger/TooltipTrigger.js +5 -0
- package/tooltip/viewport/TooltipViewport.d.ts +16 -12
- package/types/index.d.ts +16 -1
- package/unstable-use-media-query/index.d.ts +2 -0
- package/use-button/useButton.d.ts +8 -5
- package/use-button/useButton.js +49 -20
- package/use-render/useRender.d.ts +7 -5
- package/utils/FloatingPortalLite.d.ts +4 -2
- package/utils/InternalBackdrop.d.ts +3 -1
- package/utils/closePart.d.ts +16 -0
- package/utils/closePart.js +48 -0
- package/utils/constants.d.ts +4 -0
- package/utils/constants.js +6 -2
- package/utils/createBaseUIEventDetails.d.ts +1 -1
- package/utils/getElementAtPoint.d.ts +1 -0
- package/utils/getElementAtPoint.js +9 -0
- package/utils/resolveAriaLabelledBy.d.ts +2 -0
- package/utils/resolveAriaLabelledBy.js +14 -0
- package/utils/resolveValueLabel.d.ts +4 -4
- package/utils/resolveValueLabel.js +7 -5
- package/utils/types.d.ts +7 -20
- package/utils/useAnchorPositioning.d.ts +53 -18
- package/utils/useAnchorPositioning.js +15 -6
- package/utils/useFocusableWhenDisabled.d.ts +2 -5
- package/utils/useMixedToggleClickHandler.d.ts +2 -4
- package/utils/useOpenChangeComplete.d.ts +2 -4
- package/utils/useOpenInteractionType.d.ts +0 -1
- package/utils/useOpenInteractionType.js +7 -5
- package/utils/usePopupAutoResize.js +1 -2
- package/utils/usePopupViewport.js +11 -8
- package/utils/useRegisteredLabelId.d.ts +1 -0
- package/utils/useRegisteredLabelId.js +19 -0
- package/utils/useRenderElement.d.ts +6 -9
- package/utils/useRenderElement.js +15 -0
- package/utils/useSwipeDismiss.d.ts +91 -92
- package/utils/useSwipeDismiss.js +2 -1
- package/esm/navigation-menu/utils/setFixedSize.d.ts +0 -1
- package/esm/navigation-menu/utils/setFixedSize.js +0 -11
- package/navigation-menu/utils/setFixedSize.d.ts +0 -1
- package/navigation-menu/utils/setFixedSize.js +0 -17
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
3
|
-
import {
|
|
3
|
+
import { type Align, type Side, type UseAnchorPositioningSharedParameters } from "../../utils/useAnchorPositioning.js";
|
|
4
4
|
/**
|
|
5
5
|
* Positions the select popup.
|
|
6
6
|
* Renders a `<div>` element.
|
|
@@ -9,12 +9,24 @@ import { useAnchorPositioning, type Align, type Side } from "../../utils/useAnch
|
|
|
9
9
|
*/
|
|
10
10
|
export declare const SelectPositioner: React.ForwardRefExoticComponent<Omit<SelectPositionerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export interface SelectPositionerState {
|
|
12
|
+
/**
|
|
13
|
+
* Whether the component is open.
|
|
14
|
+
*/
|
|
12
15
|
open: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The side of the anchor the component is placed on.
|
|
18
|
+
*/
|
|
13
19
|
side: Side | 'none';
|
|
20
|
+
/**
|
|
21
|
+
* The alignment of the component relative to the anchor.
|
|
22
|
+
*/
|
|
14
23
|
align: Align;
|
|
24
|
+
/**
|
|
25
|
+
* Whether the anchor element is hidden.
|
|
26
|
+
*/
|
|
15
27
|
anchorHidden: boolean;
|
|
16
28
|
}
|
|
17
|
-
export interface SelectPositionerProps extends
|
|
29
|
+
export interface SelectPositionerProps extends UseAnchorPositioningSharedParameters, BaseUIComponentProps<'div', SelectPositionerState> {
|
|
18
30
|
/**
|
|
19
31
|
* Whether the positioner overlaps the trigger so the selected item's text is aligned with the trigger's value text. This only applies to mouse input and is automatically disabled if there is not enough space.
|
|
20
32
|
* @default true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
export interface SelectPositionerContext extends Omit<
|
|
2
|
+
import type { Side, UseAnchorPositioningReturnValue } from "../../utils/useAnchorPositioning.js";
|
|
3
|
+
export interface SelectPositionerContext extends Omit<UseAnchorPositioningReturnValue, 'side'> {
|
|
4
4
|
side: 'none' | Side;
|
|
5
5
|
alignItemWithTriggerActive: boolean;
|
|
6
6
|
setControlledAlignItemWithTrigger: React.Dispatch<React.SetStateAction<boolean>>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { type BaseUIChangeEventDetails } from "../../utils/createBaseUIEventDetails.js";
|
|
3
3
|
import { REASONS } from "../../utils/reasons.js";
|
|
4
|
+
import { type Group } from "../../utils/resolveValueLabel.js";
|
|
4
5
|
/**
|
|
5
6
|
* Groups all parts of the select.
|
|
6
7
|
* Doesn’t render its own HTML element.
|
|
@@ -101,10 +102,10 @@ export interface SelectRootProps<Value, Multiple extends boolean | undefined = f
|
|
|
101
102
|
* <Select.Root items={items} />
|
|
102
103
|
* ```
|
|
103
104
|
*/
|
|
104
|
-
items?:
|
|
105
|
+
items?: Record<string, React.ReactNode> | ReadonlyArray<{
|
|
105
106
|
label: React.ReactNode;
|
|
106
107
|
value: any;
|
|
107
|
-
}>
|
|
108
|
+
}> | ReadonlyArray<Group<any>> | undefined;
|
|
108
109
|
/**
|
|
109
110
|
* When the item values are objects (`<Select.Item value={object}>`), this function converts the object value to a string representation for display in the trigger.
|
|
110
111
|
* If the shape of the object is `{ value, label }`, the label will be used automatically without needing to specify this prop.
|
|
@@ -125,11 +126,11 @@ export interface SelectRootProps<Value, Multiple extends boolean | undefined = f
|
|
|
125
126
|
*
|
|
126
127
|
* To render a controlled select, use the `value` prop instead.
|
|
127
128
|
*/
|
|
128
|
-
defaultValue?:
|
|
129
|
+
defaultValue?: SelectValueType<Value, Multiple> | null | undefined;
|
|
129
130
|
/**
|
|
130
131
|
* The value of the select. Use when controlled.
|
|
131
132
|
*/
|
|
132
|
-
value?:
|
|
133
|
+
value?: SelectValueType<Value, Multiple> | null | undefined;
|
|
133
134
|
/**
|
|
134
135
|
* Event handler called when the value of the select changes.
|
|
135
136
|
*/
|
|
@@ -120,11 +120,11 @@ function SelectRoot(props) {
|
|
|
120
120
|
} = (0, _useTransitionStatus.useTransitionStatus)(open);
|
|
121
121
|
const {
|
|
122
122
|
openMethod,
|
|
123
|
-
triggerProps: interactionTypeProps
|
|
124
|
-
reset: resetOpenInteractionType
|
|
123
|
+
triggerProps: interactionTypeProps
|
|
125
124
|
} = (0, _useOpenInteractionType.useOpenInteractionType)(open);
|
|
126
125
|
const store = (0, _useRefWithInit.useRefWithInit)(() => new _store.Store({
|
|
127
126
|
id: generatedId,
|
|
127
|
+
labelId: undefined,
|
|
128
128
|
modal,
|
|
129
129
|
multiple,
|
|
130
130
|
itemToStringLabel,
|
|
@@ -242,7 +242,6 @@ function SelectRoot(props) {
|
|
|
242
242
|
const handleUnmount = (0, _useStableCallback.useStableCallback)(() => {
|
|
243
243
|
setMounted(false);
|
|
244
244
|
store.set('activeIndex', null);
|
|
245
|
-
resetOpenInteractionType();
|
|
246
245
|
onOpenChangeComplete?.(false);
|
|
247
246
|
});
|
|
248
247
|
(0, _useOpenChangeComplete.useOpenChangeComplete)({
|
|
@@ -326,8 +325,6 @@ function SelectRoot(props) {
|
|
|
326
325
|
}
|
|
327
326
|
},
|
|
328
327
|
onTypingChange(typing) {
|
|
329
|
-
// FIXME: Floating UI doesn't support allowing space to select an item while the popup is
|
|
330
|
-
// closed and the trigger isn't a native <button>.
|
|
331
328
|
typingRef.current = typing;
|
|
332
329
|
}
|
|
333
330
|
});
|
|
@@ -398,6 +395,7 @@ function SelectRoot(props) {
|
|
|
398
395
|
}), [store, name, required, disabled, readOnly, multiple, itemToStringLabel, itemToStringValue, highlightItemOnHover, setValue, setOpen, getItemProps, floatingContext.context.events, validation, onOpenChangeComplete, handleScrollArrowVisibility]);
|
|
399
396
|
const ref = (0, _useMergedRefs.useMergedRefs)(inputRef, validation.inputRef);
|
|
400
397
|
const hasMultipleSelection = multiple && Array.isArray(value) && value.length > 0;
|
|
398
|
+
const hiddenInputName = multiple ? undefined : name;
|
|
401
399
|
const hiddenInputs = React.useMemo(() => {
|
|
402
400
|
if (!multiple || !Array.isArray(value) || !name) {
|
|
403
401
|
return null;
|
|
@@ -459,7 +457,8 @@ function SelectRoot(props) {
|
|
|
459
457
|
queueMicrotask(handleChange);
|
|
460
458
|
}
|
|
461
459
|
}),
|
|
462
|
-
|
|
460
|
+
id: generatedId && hiddenInputName == null ? `${generatedId}-hidden-input` : undefined,
|
|
461
|
+
name: hiddenInputName,
|
|
463
462
|
autoComplete: autoComplete,
|
|
464
463
|
value: serializedValue,
|
|
465
464
|
disabled: disabled,
|
|
@@ -7,12 +7,24 @@ import { type TransitionStatus } from "../../utils/useTransitionStatus.js";
|
|
|
7
7
|
*/
|
|
8
8
|
export declare const SelectScrollArrow: React.ForwardRefExoticComponent<Omit<SelectScrollArrowProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
9
9
|
export interface SelectScrollArrowState {
|
|
10
|
+
/**
|
|
11
|
+
* The direction of the element.
|
|
12
|
+
*/
|
|
10
13
|
direction: 'up' | 'down';
|
|
14
|
+
/**
|
|
15
|
+
* Whether the element is visible.
|
|
16
|
+
*/
|
|
11
17
|
visible: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* The side of the anchor the component is placed on.
|
|
20
|
+
*/
|
|
12
21
|
side: Side | 'none';
|
|
22
|
+
/**
|
|
23
|
+
* The transition status of the component.
|
|
24
|
+
*/
|
|
13
25
|
transitionStatus: TransitionStatus;
|
|
14
26
|
}
|
|
15
|
-
export interface SelectScrollArrowProps extends BaseUIComponentProps<'div',
|
|
27
|
+
export interface SelectScrollArrowProps extends BaseUIComponentProps<'div', SelectScrollArrowState> {
|
|
16
28
|
direction: 'up' | 'down';
|
|
17
29
|
/**
|
|
18
30
|
* Whether to keep the HTML element in the DOM while the select popup is not scrollable.
|
|
@@ -8,7 +8,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
8
8
|
*/
|
|
9
9
|
export declare const SelectScrollDownArrow: React.ForwardRefExoticComponent<Omit<SelectScrollDownArrowProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface SelectScrollDownArrowState {}
|
|
11
|
-
export interface SelectScrollDownArrowProps extends BaseUIComponentProps<'div',
|
|
11
|
+
export interface SelectScrollDownArrowProps extends BaseUIComponentProps<'div', SelectScrollDownArrowState> {
|
|
12
12
|
/**
|
|
13
13
|
* Whether to keep the HTML element in the DOM while the select popup is not scrollable.
|
|
14
14
|
* @default false
|
|
@@ -8,7 +8,7 @@ import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
|
8
8
|
*/
|
|
9
9
|
export declare const SelectScrollUpArrow: React.ForwardRefExoticComponent<Omit<SelectScrollUpArrowProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export interface SelectScrollUpArrowState {}
|
|
11
|
-
export interface SelectScrollUpArrowProps extends BaseUIComponentProps<'div',
|
|
11
|
+
export interface SelectScrollUpArrowProps extends BaseUIComponentProps<'div', SelectScrollUpArrowState> {
|
|
12
12
|
/**
|
|
13
13
|
* Whether to keep the HTML element in the DOM while the select popup is not scrollable.
|
|
14
14
|
* @default false
|
package/select/store.d.ts
CHANGED
|
@@ -2,14 +2,16 @@ import { Store } from '@base-ui/utils/store';
|
|
|
2
2
|
import { type InteractionType } from '@base-ui/utils/useEnhancedClickHandler';
|
|
3
3
|
import type { TransitionStatus } from "../utils/useTransitionStatus.js";
|
|
4
4
|
import type { HTMLProps } from "../utils/types.js";
|
|
5
|
+
import { type Group } from "../utils/resolveValueLabel.js";
|
|
5
6
|
export type State = {
|
|
6
7
|
id: string | undefined;
|
|
8
|
+
labelId: string | undefined;
|
|
7
9
|
modal: boolean;
|
|
8
10
|
multiple: boolean;
|
|
9
11
|
items: Record<string, React.ReactNode> | ReadonlyArray<{
|
|
10
12
|
label: React.ReactNode;
|
|
11
13
|
value: any;
|
|
12
|
-
}> | undefined;
|
|
14
|
+
}> | ReadonlyArray<Group<any>> | undefined;
|
|
13
15
|
itemToStringLabel: ((item: any) => string) | undefined;
|
|
14
16
|
itemToStringValue: ((item: any) => string) | undefined;
|
|
15
17
|
isItemEqualToValue: (itemValue: any, selectedValue: any) => boolean;
|
|
@@ -33,9 +35,10 @@ export type State = {
|
|
|
33
35
|
export type SelectStore = Store<State>;
|
|
34
36
|
export declare const selectors: {
|
|
35
37
|
id: (state: State) => string | undefined;
|
|
38
|
+
labelId: (state: State) => string | undefined;
|
|
36
39
|
modal: (state: State) => boolean;
|
|
37
40
|
multiple: (state: State) => boolean;
|
|
38
|
-
items: (state: State) => Record<string, import("react").ReactNode> | readonly {
|
|
41
|
+
items: (state: State) => readonly Group<any>[] | Record<string, import("react").ReactNode> | readonly {
|
|
39
42
|
label: React.ReactNode;
|
|
40
43
|
value: any;
|
|
41
44
|
}[] | undefined;
|
package/select/store.js
CHANGED
|
@@ -9,6 +9,7 @@ var _itemEquality = require("../utils/itemEquality");
|
|
|
9
9
|
var _resolveValueLabel = require("../utils/resolveValueLabel");
|
|
10
10
|
const selectors = exports.selectors = {
|
|
11
11
|
id: (0, _store.createSelector)(state => state.id),
|
|
12
|
+
labelId: (0, _store.createSelector)(state => state.labelId),
|
|
12
13
|
modal: (0, _store.createSelector)(state => state.modal),
|
|
13
14
|
multiple: (0, _store.createSelector)(state => state.multiple),
|
|
14
15
|
items: (0, _store.createSelector)(state => state.items),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { BaseUIComponentProps, NativeButtonProps } from "../../utils/types.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { FieldRootState } from "../../field/root/FieldRoot.js";
|
|
4
4
|
/**
|
|
5
5
|
* A button that opens the select popup.
|
|
6
6
|
* Renders a `<button>` element.
|
|
@@ -8,7 +8,7 @@ import type { FieldRoot } from "../../field/root/FieldRoot.js";
|
|
|
8
8
|
* Documentation: [Base UI Select](https://base-ui.com/react/components/select)
|
|
9
9
|
*/
|
|
10
10
|
export declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
11
|
-
export interface SelectTriggerState extends
|
|
11
|
+
export interface SelectTriggerState extends FieldRootState {
|
|
12
12
|
/**
|
|
13
13
|
* Whether the select popup is currently open.
|
|
14
14
|
*/
|
|
@@ -26,9 +26,11 @@ export interface SelectTriggerState extends FieldRoot.State {
|
|
|
26
26
|
*/
|
|
27
27
|
placeholder: boolean;
|
|
28
28
|
}
|
|
29
|
-
export interface SelectTriggerProps extends NativeButtonProps, BaseUIComponentProps<'button',
|
|
29
|
+
export interface SelectTriggerProps extends NativeButtonProps, BaseUIComponentProps<'button', SelectTriggerState> {
|
|
30
30
|
children?: React.ReactNode;
|
|
31
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* Whether the component should ignore user interaction.
|
|
33
|
+
*/
|
|
32
34
|
disabled?: boolean | undefined;
|
|
33
35
|
}
|
|
34
36
|
export declare namespace SelectTrigger {
|
|
@@ -27,6 +27,7 @@ var _useButton = require("../../use-button");
|
|
|
27
27
|
var _createBaseUIEventDetails = require("../../utils/createBaseUIEventDetails");
|
|
28
28
|
var _reasons = require("../../utils/reasons");
|
|
29
29
|
var _useLabelableId = require("../../labelable-provider/useLabelableId");
|
|
30
|
+
var _resolveAriaLabelledBy = require("../../utils/resolveAriaLabelledBy");
|
|
30
31
|
const BOUNDARY_OFFSET = 2;
|
|
31
32
|
const SELECTED_DELAY = 400;
|
|
32
33
|
const UNSELECTED_DELAY = 200;
|
|
@@ -59,7 +60,7 @@ const SelectTrigger = exports.SelectTrigger = /*#__PURE__*/React.forwardRef(func
|
|
|
59
60
|
disabled: fieldDisabled
|
|
60
61
|
} = (0, _FieldRootContext.useFieldRootContext)();
|
|
61
62
|
const {
|
|
62
|
-
labelId
|
|
63
|
+
labelId: fieldLabelId
|
|
63
64
|
} = (0, _LabelableContext.useLabelableContext)();
|
|
64
65
|
const {
|
|
65
66
|
store,
|
|
@@ -79,10 +80,12 @@ const SelectTrigger = exports.SelectTrigger = /*#__PURE__*/React.forwardRef(func
|
|
|
79
80
|
const positionerElement = (0, _store.useStore)(store, _store2.selectors.positionerElement);
|
|
80
81
|
const listElement = (0, _store.useStore)(store, _store2.selectors.listElement);
|
|
81
82
|
const rootId = (0, _store.useStore)(store, _store2.selectors.id);
|
|
83
|
+
const selectLabelId = (0, _store.useStore)(store, _store2.selectors.labelId);
|
|
82
84
|
const hasSelectedValue = (0, _store.useStore)(store, _store2.selectors.hasSelectedValue);
|
|
83
85
|
const shouldCheckNullItemLabel = !hasSelectedValue && open;
|
|
84
86
|
const hasNullItemLabel = (0, _store.useStore)(store, _store2.selectors.hasNullItemLabel, shouldCheckNullItemLabel);
|
|
85
87
|
const id = idProp ?? rootId;
|
|
88
|
+
const ariaLabelledBy = (0, _resolveAriaLabelledBy.resolveAriaLabelledBy)(fieldLabelId, selectLabelId);
|
|
86
89
|
(0, _useLabelableId.useLabelableId)({
|
|
87
90
|
id
|
|
88
91
|
});
|
|
@@ -148,7 +151,7 @@ const SelectTrigger = exports.SelectTrigger = /*#__PURE__*/React.forwardRef(func
|
|
|
148
151
|
'aria-expanded': open ? 'true' : 'false',
|
|
149
152
|
'aria-haspopup': 'listbox',
|
|
150
153
|
'aria-controls': open ? ariaControlsId : undefined,
|
|
151
|
-
'aria-labelledby':
|
|
154
|
+
'aria-labelledby': ariaLabelledBy,
|
|
152
155
|
'aria-readonly': readOnly || undefined,
|
|
153
156
|
'aria-required': required || undefined,
|
|
154
157
|
tabIndex: disabled ? -1 : 0,
|
|
@@ -17,7 +17,7 @@ export interface SelectValueState {
|
|
|
17
17
|
*/
|
|
18
18
|
placeholder: boolean;
|
|
19
19
|
}
|
|
20
|
-
export interface SelectValueProps extends Omit<BaseUIComponentProps<'span',
|
|
20
|
+
export interface SelectValueProps extends Omit<BaseUIComponentProps<'span', SelectValueState>, 'children'> {
|
|
21
21
|
/**
|
|
22
22
|
* Accepts a function that returns a `ReactNode` to format the selected value.
|
|
23
23
|
* @example
|
package/separator/Separator.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { BaseUIComponentProps, Orientation } from "../utils/types.js";
|
|
|
7
7
|
* Documentation: [Base UI Separator](https://base-ui.com/react/components/separator)
|
|
8
8
|
*/
|
|
9
9
|
export declare const Separator: React.ForwardRefExoticComponent<Omit<SeparatorProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
-
export interface SeparatorProps extends BaseUIComponentProps<'div',
|
|
10
|
+
export interface SeparatorProps extends BaseUIComponentProps<'div', SeparatorState> {
|
|
11
11
|
/**
|
|
12
12
|
* The orientation of the separator.
|
|
13
13
|
* @default 'horizontal'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SliderRootState } from "../root/SliderRoot.js";
|
|
4
4
|
/**
|
|
5
5
|
* The clickable, interactive part of the slider.
|
|
6
6
|
* Renders a `<div>` element.
|
|
@@ -8,8 +8,9 @@ import type { SliderRoot } from "../root/SliderRoot.js";
|
|
|
8
8
|
* Documentation: [Base UI Slider](https://base-ui.com/react/components/slider)
|
|
9
9
|
*/
|
|
10
10
|
export declare const SliderControl: React.ForwardRefExoticComponent<Omit<SliderControlProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
-
export interface
|
|
11
|
+
export interface SliderControlState extends SliderRootState {}
|
|
12
|
+
export interface SliderControlProps extends BaseUIComponentProps<'div', SliderControlState> {}
|
|
12
13
|
export declare namespace SliderControl {
|
|
13
|
-
type State =
|
|
14
|
+
type State = SliderControlState;
|
|
14
15
|
type Props = SliderControlProps;
|
|
15
16
|
}
|
|
@@ -81,7 +81,6 @@ const SliderControl = exports.SliderControl = /*#__PURE__*/React.forwardRef(func
|
|
|
81
81
|
const {
|
|
82
82
|
disabled,
|
|
83
83
|
dragging,
|
|
84
|
-
validation,
|
|
85
84
|
inset,
|
|
86
85
|
lastChangedValueRef,
|
|
87
86
|
lastChangeReasonRef,
|
|
@@ -277,7 +276,6 @@ const SliderControl = exports.SliderControl = /*#__PURE__*/React.forwardRef(func
|
|
|
277
276
|
const finger = fingerCoords != null ? getFingerState(fingerCoords) : null;
|
|
278
277
|
if (finger != null) {
|
|
279
278
|
const commitReason = lastChangeReasonRef.current;
|
|
280
|
-
validation.commit(lastChangedValueRef.current ?? finger.value);
|
|
281
279
|
onValueCommitted(lastChangedValueRef.current ?? finger.value, (0, _createBaseUIEventDetails.createGenericEventDetails)(commitReason, nativeEvent));
|
|
282
280
|
}
|
|
283
281
|
if ('pointerType' in nativeEvent && controlRef.current?.hasPointerCapture(nativeEvent.pointerId)) {
|
package/slider/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * as Slider from "./index.parts.js";
|
|
2
2
|
export type * from "./root/SliderRoot.js";
|
|
3
|
+
export type * from "./label/SliderLabel.js";
|
|
3
4
|
export type * from "./value/SliderValue.js";
|
|
4
5
|
export type * from "./control/SliderControl.js";
|
|
5
6
|
export type * from "./track/SliderTrack.js";
|
package/slider/index.parts.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { SliderRoot as Root } from "./root/SliderRoot.js";
|
|
2
|
+
export { SliderLabel as Label } from "./label/SliderLabel.js";
|
|
2
3
|
export { SliderValue as Value } from "./value/SliderValue.js";
|
|
3
4
|
export { SliderControl as Control } from "./control/SliderControl.js";
|
|
4
5
|
export { SliderTrack as Track } from "./track/SliderTrack.js";
|
package/slider/index.parts.js
CHANGED
|
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "Indicator", {
|
|
|
15
15
|
return _SliderIndicator.SliderIndicator;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "Label", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _SliderLabel.SliderLabel;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
18
24
|
Object.defineProperty(exports, "Root", {
|
|
19
25
|
enumerable: true,
|
|
20
26
|
get: function () {
|
|
@@ -40,6 +46,7 @@ Object.defineProperty(exports, "Value", {
|
|
|
40
46
|
}
|
|
41
47
|
});
|
|
42
48
|
var _SliderRoot = require("./root/SliderRoot");
|
|
49
|
+
var _SliderLabel = require("./label/SliderLabel");
|
|
43
50
|
var _SliderValue = require("./value/SliderValue");
|
|
44
51
|
var _SliderControl = require("./control/SliderControl");
|
|
45
52
|
var _SliderTrack = require("./track/SliderTrack");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SliderRootState } from "../root/SliderRoot.js";
|
|
4
4
|
/**
|
|
5
5
|
* Visualizes the current value of the slider.
|
|
6
6
|
* Renders a `<div>` element.
|
|
@@ -8,7 +8,9 @@ import type { SliderRoot } from "../root/SliderRoot.js";
|
|
|
8
8
|
* Documentation: [Base UI Slider](https://base-ui.com/react/components/slider)
|
|
9
9
|
*/
|
|
10
10
|
export declare const SliderIndicator: React.ForwardRefExoticComponent<Omit<SliderIndicatorProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
-
export interface
|
|
11
|
+
export interface SliderIndicatorState extends SliderRootState {}
|
|
12
|
+
export interface SliderIndicatorProps extends BaseUIComponentProps<'div', SliderIndicatorState> {}
|
|
12
13
|
export declare namespace SliderIndicator {
|
|
14
|
+
type State = SliderIndicatorState;
|
|
13
15
|
type Props = SliderIndicatorProps;
|
|
14
16
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { BaseUIComponentProps } from "../../utils/types.js";
|
|
3
|
+
import type { SliderRoot } from "../root/SliderRoot.js";
|
|
4
|
+
/**
|
|
5
|
+
* An accessible label that is automatically associated with the slider thumbs.
|
|
6
|
+
* Renders a `<div>` element.
|
|
7
|
+
*
|
|
8
|
+
* Documentation: [Base UI Slider](https://base-ui.com/react/components/slider)
|
|
9
|
+
*/
|
|
10
|
+
export declare const SliderLabel: React.ForwardRefExoticComponent<Omit<SliderLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export type SliderLabelState = SliderRoot.State;
|
|
12
|
+
export interface SliderLabelProps extends Omit<BaseUIComponentProps<'div', SliderLabel.State>, 'id'> {}
|
|
13
|
+
export declare namespace SliderLabel {
|
|
14
|
+
type State = SliderLabelState;
|
|
15
|
+
type Props = SliderLabelProps;
|
|
16
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.SliderLabel = void 0;
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _dom = require("@floating-ui/utils/dom");
|
|
11
|
+
var _owner = require("@base-ui/utils/owner");
|
|
12
|
+
var _useLabel = require("../../labelable-provider/useLabel");
|
|
13
|
+
var _useRenderElement = require("../../utils/useRenderElement");
|
|
14
|
+
var _SliderRootContext = require("../root/SliderRootContext");
|
|
15
|
+
var _stateAttributesMapping = require("../root/stateAttributesMapping");
|
|
16
|
+
/**
|
|
17
|
+
* An accessible label that is automatically associated with the slider thumbs.
|
|
18
|
+
* Renders a `<div>` element.
|
|
19
|
+
*
|
|
20
|
+
* Documentation: [Base UI Slider](https://base-ui.com/react/components/slider)
|
|
21
|
+
*/
|
|
22
|
+
const SliderLabel = exports.SliderLabel = /*#__PURE__*/React.forwardRef(function SliderLabel(componentProps, forwardedRef) {
|
|
23
|
+
const {
|
|
24
|
+
render,
|
|
25
|
+
className,
|
|
26
|
+
...elementProps
|
|
27
|
+
} = componentProps;
|
|
28
|
+
// Keep label id derived from the root and ignore runtime `id` overrides from untyped consumers.
|
|
29
|
+
const elementPropsWithoutId = elementProps;
|
|
30
|
+
delete elementPropsWithoutId.id;
|
|
31
|
+
const {
|
|
32
|
+
state,
|
|
33
|
+
setLabelId,
|
|
34
|
+
controlRef,
|
|
35
|
+
rootLabelId
|
|
36
|
+
} = (0, _SliderRootContext.useSliderRootContext)();
|
|
37
|
+
function focusControl(event, controlId) {
|
|
38
|
+
if (controlId) {
|
|
39
|
+
const controlElement = (0, _owner.ownerDocument)(event.currentTarget).getElementById(controlId);
|
|
40
|
+
if ((0, _dom.isHTMLElement)(controlElement)) {
|
|
41
|
+
(0, _useLabel.focusElementWithVisible)(controlElement);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const fallbackInputs = controlRef.current?.querySelectorAll('input[type="range"]');
|
|
46
|
+
const fallbackInput = fallbackInputs?.length === 1 ? fallbackInputs[0] : null;
|
|
47
|
+
if ((0, _dom.isHTMLElement)(fallbackInput)) {
|
|
48
|
+
(0, _useLabel.focusElementWithVisible)(fallbackInput);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const labelProps = (0, _useLabel.useLabel)({
|
|
52
|
+
id: rootLabelId,
|
|
53
|
+
setLabelId,
|
|
54
|
+
focusControl
|
|
55
|
+
});
|
|
56
|
+
return (0, _useRenderElement.useRenderElement)('div', componentProps, {
|
|
57
|
+
ref: forwardedRef,
|
|
58
|
+
state,
|
|
59
|
+
props: [labelProps, elementProps],
|
|
60
|
+
stateAttributesMapping: _stateAttributesMapping.sliderStateAttributesMapping
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
if (process.env.NODE_ENV !== "production") SliderLabel.displayName = "SliderLabel";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { BaseUIComponentProps, Orientation } from "../../utils/types.js";
|
|
3
3
|
import { type BaseUIChangeEventDetails, type BaseUIGenericEventDetails } from "../../utils/createBaseUIEventDetails.js";
|
|
4
|
-
import type {
|
|
4
|
+
import type { FieldRootState } from "../../field/root/FieldRoot.js";
|
|
5
5
|
import { REASONS } from "../../utils/reasons.js";
|
|
6
6
|
/**
|
|
7
7
|
* Groups all parts of the slider.
|
|
@@ -14,7 +14,7 @@ export declare const SliderRoot: {
|
|
|
14
14
|
ref?: React.Ref<HTMLDivElement> | undefined;
|
|
15
15
|
}): React.JSX.Element;
|
|
16
16
|
};
|
|
17
|
-
export interface SliderRootState extends
|
|
17
|
+
export interface SliderRootState extends FieldRootState {
|
|
18
18
|
/**
|
|
19
19
|
* The index of the active thumb.
|
|
20
20
|
*/
|
|
@@ -27,7 +27,13 @@ export interface SliderRootState extends FieldRoot.State {
|
|
|
27
27
|
* Whether the thumb is currently being dragged.
|
|
28
28
|
*/
|
|
29
29
|
dragging: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* The maximum value.
|
|
32
|
+
*/
|
|
30
33
|
max: number;
|
|
34
|
+
/**
|
|
35
|
+
* The minimum value.
|
|
36
|
+
*/
|
|
31
37
|
min: number;
|
|
32
38
|
/**
|
|
33
39
|
* The minimum steps between values in a range slider.
|
|
@@ -49,7 +55,7 @@ export interface SliderRootState extends FieldRoot.State {
|
|
|
49
55
|
*/
|
|
50
56
|
values: readonly number[];
|
|
51
57
|
}
|
|
52
|
-
export interface SliderRootProps<Value extends number | readonly number[] = number | readonly number[]> extends BaseUIComponentProps<'div',
|
|
58
|
+
export interface SliderRootProps<Value extends number | readonly number[] = number | readonly number[]> extends BaseUIComponentProps<'div', SliderRootState> {
|
|
53
59
|
/**
|
|
54
60
|
* The uncontrolled value of the slider when it’s initially rendered.
|
|
55
61
|
*
|
|
@@ -115,7 +121,7 @@ export interface SliderRootProps<Value extends number | readonly number[] = numb
|
|
|
115
121
|
* - `edge-client-only`: Same as `edge` but renders after React hydration on the client, reducing bundle size in return
|
|
116
122
|
* @default 'center'
|
|
117
123
|
*/
|
|
118
|
-
thumbAlignment?:
|
|
124
|
+
thumbAlignment?: 'center' | 'edge' | 'edge-client-only' | undefined;
|
|
119
125
|
/**
|
|
120
126
|
* Controls how thumbs behave when they collide during pointer interactions.
|
|
121
127
|
*
|
|
@@ -125,7 +131,7 @@ export interface SliderRootProps<Value extends number | readonly number[] = numb
|
|
|
125
131
|
*
|
|
126
132
|
* @default 'push'
|
|
127
133
|
*/
|
|
128
|
-
thumbCollisionBehavior?:
|
|
134
|
+
thumbCollisionBehavior?: 'push' | 'swap' | 'none' | undefined;
|
|
129
135
|
/**
|
|
130
136
|
* The value of the slider.
|
|
131
137
|
* For ranged sliders, provide an array with two values.
|
|
@@ -25,6 +25,7 @@ var _useField = require("../../field/useField");
|
|
|
25
25
|
var _FieldRootContext = require("../../field/root/FieldRootContext");
|
|
26
26
|
var _FormContext = require("../../form/FormContext");
|
|
27
27
|
var _LabelableContext = require("../../labelable-provider/LabelableContext");
|
|
28
|
+
var _resolveAriaLabelledBy = require("../../utils/resolveAriaLabelledBy");
|
|
28
29
|
var _asc = require("../utils/asc");
|
|
29
30
|
var _getSliderValue = require("../utils/getSliderValue");
|
|
30
31
|
var _validateMinimumDistance = require("../utils/validateMinimumDistance");
|
|
@@ -76,6 +77,7 @@ const SliderRoot = exports.SliderRoot = /*#__PURE__*/React.forwardRef(function S
|
|
|
76
77
|
...elementProps
|
|
77
78
|
} = componentProps;
|
|
78
79
|
const id = (0, _useBaseUiId.useBaseUiId)(idProp);
|
|
80
|
+
const defaultLabelId = (0, _resolveAriaLabelledBy.getDefaultLabelId)(id);
|
|
79
81
|
const onValueChange = (0, _useStableCallback.useStableCallback)(onValueChangeProp);
|
|
80
82
|
const onValueCommitted = (0, _useStableCallback.useStableCallback)(onValueCommittedProp);
|
|
81
83
|
const {
|
|
@@ -92,9 +94,10 @@ const SliderRoot = exports.SliderRoot = /*#__PURE__*/React.forwardRef(function S
|
|
|
92
94
|
validation
|
|
93
95
|
} = (0, _FieldRootContext.useFieldRootContext)();
|
|
94
96
|
const {
|
|
95
|
-
labelId
|
|
97
|
+
labelId: fieldLabelId
|
|
96
98
|
} = (0, _LabelableContext.useLabelableContext)();
|
|
97
|
-
const
|
|
99
|
+
const [labelId, setLabelId] = React.useState();
|
|
100
|
+
const ariaLabelledby = ariaLabelledByProp ?? (0, _resolveAriaLabelledBy.resolveAriaLabelledBy)(fieldLabelId, labelId);
|
|
98
101
|
const disabled = fieldDisabled || disabledProp;
|
|
99
102
|
const name = fieldName ?? nameProp;
|
|
100
103
|
|
|
@@ -255,6 +258,7 @@ const SliderRoot = exports.SliderRoot = /*#__PURE__*/React.forwardRef(function S
|
|
|
255
258
|
indicatorPosition,
|
|
256
259
|
inset: thumbAlignment !== 'center',
|
|
257
260
|
labelId: ariaLabelledby,
|
|
261
|
+
rootLabelId: defaultLabelId,
|
|
258
262
|
largeStep,
|
|
259
263
|
lastUsedThumbIndex,
|
|
260
264
|
lastChangedValueRef,
|
|
@@ -275,6 +279,7 @@ const SliderRoot = exports.SliderRoot = /*#__PURE__*/React.forwardRef(function S
|
|
|
275
279
|
setActive,
|
|
276
280
|
setDragging,
|
|
277
281
|
setIndicatorPosition,
|
|
282
|
+
setLabelId,
|
|
278
283
|
setValue,
|
|
279
284
|
state,
|
|
280
285
|
step,
|
|
@@ -282,7 +287,7 @@ const SliderRoot = exports.SliderRoot = /*#__PURE__*/React.forwardRef(function S
|
|
|
282
287
|
thumbMap,
|
|
283
288
|
thumbRefs,
|
|
284
289
|
values
|
|
285
|
-
}), [active, controlRef, ariaLabelledby, disabled, dragging, validation, formatOptionsRef, handleInputChange, indicatorPosition, largeStep, lastUsedThumbIndex, lastChangedValueRef, lastChangeReasonRef, locale, max, min, minStepsBetweenValues, name, onValueCommitted, orientation, pressedInputRef, pressedThumbCenterOffsetRef, pressedThumbIndexRef, pressedValuesRef, registerFieldControlRef, setActive, setDragging, setIndicatorPosition, setValue, state, step, thumbCollisionBehavior, thumbAlignment, thumbMap, thumbRefs, values]);
|
|
290
|
+
}), [active, controlRef, ariaLabelledby, defaultLabelId, disabled, dragging, validation, formatOptionsRef, handleInputChange, indicatorPosition, largeStep, lastUsedThumbIndex, lastChangedValueRef, lastChangeReasonRef, locale, max, min, minStepsBetweenValues, name, onValueCommitted, orientation, pressedInputRef, pressedThumbCenterOffsetRef, pressedThumbIndexRef, pressedValuesRef, registerFieldControlRef, setActive, setDragging, setIndicatorPosition, setLabelId, setValue, state, step, thumbCollisionBehavior, thumbAlignment, thumbMap, thumbRefs, values]);
|
|
286
291
|
const element = (0, _useRenderElement.useRenderElement)('div', componentProps, {
|
|
287
292
|
state,
|
|
288
293
|
ref: [forwardedRef, sliderRef],
|
|
@@ -3,7 +3,7 @@ import type { Orientation } from "../../utils/types.js";
|
|
|
3
3
|
import type { CompositeMetadata } from "../../composite/list/CompositeList.js";
|
|
4
4
|
import type { UseFieldValidationReturnValue } from "../../field/root/useFieldValidation.js";
|
|
5
5
|
import type { ThumbMetadata } from "../thumb/SliderThumb.js";
|
|
6
|
-
import type { SliderRoot } from "./SliderRoot.js";
|
|
6
|
+
import type { SliderRoot, SliderRootState } from "./SliderRoot.js";
|
|
7
7
|
export interface SliderRootContext {
|
|
8
8
|
/**
|
|
9
9
|
* The index of the active thumb.
|
|
@@ -22,6 +22,7 @@ export interface SliderRootContext {
|
|
|
22
22
|
indicatorPosition: (number | undefined)[];
|
|
23
23
|
inset: boolean;
|
|
24
24
|
labelId?: string | undefined;
|
|
25
|
+
rootLabelId?: string | undefined;
|
|
25
26
|
/**
|
|
26
27
|
* The large step value of the slider when incrementing or decrementing while the shift key is held,
|
|
27
28
|
* or when using Page-Up or Page-Down keys. Snaps to multiples of this value.
|
|
@@ -66,11 +67,12 @@ export interface SliderRootContext {
|
|
|
66
67
|
setActive: (index: number) => void;
|
|
67
68
|
setDragging: React.Dispatch<React.SetStateAction<boolean>>;
|
|
68
69
|
setIndicatorPosition: React.Dispatch<React.SetStateAction<(number | undefined)[]>>;
|
|
70
|
+
setLabelId: React.Dispatch<React.SetStateAction<string | undefined>>;
|
|
69
71
|
/**
|
|
70
72
|
* Callback fired when dragging and invokes onValueChange.
|
|
71
73
|
*/
|
|
72
74
|
setValue: (newValue: number | number[], details?: SliderRoot.ChangeEventDetails) => void;
|
|
73
|
-
state:
|
|
75
|
+
state: SliderRootState;
|
|
74
76
|
/**
|
|
75
77
|
* The step increment of the slider when incrementing or decrementing. It will snap
|
|
76
78
|
* to multiples of this value. Decimal values are supported.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { StateAttributesMapping } from "../../utils/getStateAttributesProps.js";
|
|
2
|
-
import type {
|
|
3
|
-
export declare const sliderStateAttributesMapping: StateAttributesMapping<
|
|
2
|
+
import type { SliderRootState } from "./SliderRoot.js";
|
|
3
|
+
export declare const sliderStateAttributesMapping: StateAttributesMapping<SliderRootState>;
|