@base-ui/react 1.7.0 → 1.8.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 +143 -0
- package/accordion/header/AccordionHeaderDataAttributes.d.mts +13 -15
- package/accordion/header/AccordionHeaderDataAttributes.d.ts +13 -15
- package/accordion/header/AccordionHeaderDataAttributes.js +14 -17
- package/accordion/header/AccordionHeaderDataAttributes.mjs +13 -16
- package/accordion/item/AccordionItemDataAttributes.d.mts +13 -15
- package/accordion/item/AccordionItemDataAttributes.d.ts +13 -15
- package/accordion/item/AccordionItemDataAttributes.js +14 -17
- package/accordion/item/AccordionItemDataAttributes.mjs +13 -16
- package/accordion/item/stateAttributesMapping.js +3 -2
- package/accordion/item/stateAttributesMapping.mjs +1 -1
- package/accordion/panel/AccordionPanel.js +3 -3
- package/accordion/panel/AccordionPanel.mjs +1 -1
- package/accordion/panel/AccordionPanelCssVars.d.mts +10 -12
- package/accordion/panel/AccordionPanelCssVars.d.ts +10 -12
- package/accordion/panel/AccordionPanelCssVars.js +11 -14
- package/accordion/panel/AccordionPanelCssVars.mjs +10 -13
- package/accordion/panel/AccordionPanelDataAttributes.d.mts +25 -27
- package/accordion/panel/AccordionPanelDataAttributes.d.ts +25 -27
- package/accordion/panel/AccordionPanelDataAttributes.js +26 -29
- package/accordion/panel/AccordionPanelDataAttributes.mjs +26 -28
- package/accordion/root/AccordionRoot.d.mts +1 -0
- package/accordion/root/AccordionRoot.d.ts +1 -0
- package/accordion/root/AccordionRoot.js +2 -9
- package/accordion/root/AccordionRoot.mjs +2 -9
- package/accordion/root/AccordionRootDataAttributes.d.mts +8 -10
- package/accordion/root/AccordionRootDataAttributes.d.ts +8 -10
- package/accordion/root/AccordionRootDataAttributes.js +9 -12
- package/accordion/root/AccordionRootDataAttributes.mjs +8 -11
- package/accordion/trigger/AccordionTriggerDataAttributes.d.mts +8 -10
- package/accordion/trigger/AccordionTriggerDataAttributes.d.ts +8 -10
- package/accordion/trigger/AccordionTriggerDataAttributes.js +9 -12
- package/accordion/trigger/AccordionTriggerDataAttributes.mjs +8 -11
- package/alert-dialog/root/AlertDialogRoot.d.mts +1 -1
- package/alert-dialog/root/AlertDialogRoot.d.ts +1 -1
- package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.d.mts +8 -10
- package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.d.ts +8 -10
- package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.js +9 -12
- package/alert-dialog/trigger/AlertDialogTriggerDataAttributes.mjs +9 -11
- package/autocomplete/clear/AutocompleteClearDataAttributes.d.mts +1 -1
- package/autocomplete/clear/AutocompleteClearDataAttributes.d.ts +1 -1
- package/autocomplete/clear/AutocompleteClearDataAttributes.js +11 -7
- package/autocomplete/clear/AutocompleteClearDataAttributes.mjs +1 -1
- package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.d.mts +49 -51
- package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.d.ts +49 -51
- package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.js +50 -53
- package/autocomplete/input-group/AutocompleteInputGroupDataAttributes.mjs +49 -52
- package/autocomplete/item/AutocompleteItemDataAttributes.d.mts +8 -10
- package/autocomplete/item/AutocompleteItemDataAttributes.d.ts +8 -10
- package/autocomplete/item/AutocompleteItemDataAttributes.js +11 -13
- package/autocomplete/item/AutocompleteItemDataAttributes.mjs +10 -12
- package/autocomplete/root/AutocompleteRoot.d.mts +24 -2
- package/autocomplete/root/AutocompleteRoot.d.ts +24 -2
- package/autocomplete/root/AutocompleteRoot.js +10 -23
- package/autocomplete/root/AutocompleteRoot.mjs +10 -23
- package/autocomplete/trigger/AutocompleteTrigger.d.mts +4 -0
- package/autocomplete/trigger/AutocompleteTrigger.d.ts +4 -0
- package/autocomplete/trigger/AutocompleteTriggerDataAttributes.d.mts +53 -55
- package/autocomplete/trigger/AutocompleteTriggerDataAttributes.d.ts +53 -55
- package/autocomplete/trigger/AutocompleteTriggerDataAttributes.js +54 -57
- package/autocomplete/trigger/AutocompleteTriggerDataAttributes.mjs +54 -56
- package/avatar/image/AvatarImage.d.mts +6 -0
- package/avatar/image/AvatarImage.d.ts +6 -0
- package/avatar/image/AvatarImage.js +75 -9
- package/avatar/image/AvatarImage.mjs +75 -9
- package/avatar/image/AvatarImageDataAttributes.d.mts +16 -10
- package/avatar/image/AvatarImageDataAttributes.d.ts +16 -10
- package/avatar/image/AvatarImageDataAttributes.js +17 -12
- package/avatar/image/AvatarImageDataAttributes.mjs +17 -11
- package/avatar/image/useImageLoadingStatus.d.mts +1 -1
- package/avatar/image/useImageLoadingStatus.d.ts +1 -1
- package/avatar/image/useImageLoadingStatus.js +8 -4
- package/avatar/image/useImageLoadingStatus.mjs +8 -4
- package/button/ButtonDataAttributes.d.mts +4 -6
- package/button/ButtonDataAttributes.d.ts +4 -6
- package/button/ButtonDataAttributes.js +5 -8
- package/button/ButtonDataAttributes.mjs +4 -7
- package/checkbox/indicator/CheckboxIndicator.js +2 -0
- package/checkbox/indicator/CheckboxIndicator.mjs +2 -0
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.mts +56 -58
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.ts +56 -58
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.js +57 -60
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.mjs +57 -59
- package/checkbox/root/CheckboxRoot.js +32 -44
- package/checkbox/root/CheckboxRoot.mjs +32 -44
- package/checkbox/root/CheckboxRootDataAttributes.d.mts +48 -50
- package/checkbox/root/CheckboxRootDataAttributes.d.ts +48 -50
- package/checkbox/root/CheckboxRootDataAttributes.js +49 -52
- package/checkbox/root/CheckboxRootDataAttributes.mjs +48 -51
- package/checkbox/utils/getCheckboxStateAttributesMapping.js +4 -2
- package/checkbox/utils/getCheckboxStateAttributesMapping.mjs +3 -2
- package/checkbox-group/CheckboxGroup.js +17 -8
- package/checkbox-group/CheckboxGroup.mjs +17 -8
- package/checkbox-group/CheckboxGroupContext.d.mts +6 -0
- package/checkbox-group/CheckboxGroupContext.d.ts +6 -0
- package/checkbox-group/CheckboxGroupDataAttributes.d.mts +4 -6
- package/checkbox-group/CheckboxGroupDataAttributes.d.ts +4 -6
- package/checkbox-group/CheckboxGroupDataAttributes.js +5 -8
- package/checkbox-group/CheckboxGroupDataAttributes.mjs +4 -7
- package/checkbox-group/useCheckboxGroupParent.d.mts +5 -3
- package/checkbox-group/useCheckboxGroupParent.d.ts +5 -3
- package/checkbox-group/useCheckboxGroupParent.js +37 -9
- package/checkbox-group/useCheckboxGroupParent.mjs +37 -9
- package/collapsible/panel/CollapsiblePanel.js +3 -3
- package/collapsible/panel/CollapsiblePanel.mjs +1 -1
- package/collapsible/panel/CollapsiblePanelCssVars.d.mts +10 -12
- package/collapsible/panel/CollapsiblePanelCssVars.d.ts +10 -12
- package/collapsible/panel/CollapsiblePanelCssVars.js +11 -14
- package/collapsible/panel/CollapsiblePanelCssVars.mjs +10 -13
- package/collapsible/panel/CollapsiblePanelDataAttributes.d.mts +16 -18
- package/collapsible/panel/CollapsiblePanelDataAttributes.d.ts +16 -18
- package/collapsible/panel/CollapsiblePanelDataAttributes.js +17 -20
- package/collapsible/panel/CollapsiblePanelDataAttributes.mjs +17 -19
- package/collapsible/panel/useCollapsiblePanel.js +2 -2
- package/collapsible/panel/useCollapsiblePanel.mjs +1 -1
- package/collapsible/root/CollapsibleRootDataAttributes.d.mts +16 -18
- package/collapsible/root/CollapsibleRootDataAttributes.d.ts +16 -18
- package/collapsible/root/CollapsibleRootDataAttributes.js +17 -20
- package/collapsible/root/CollapsibleRootDataAttributes.mjs +17 -19
- package/collapsible/root/useCollapsibleRoot.js +1 -1
- package/collapsible/root/useCollapsibleRoot.mjs +1 -1
- package/collapsible/trigger/CollapsibleTriggerDataAttributes.d.mts +4 -6
- package/collapsible/trigger/CollapsibleTriggerDataAttributes.d.ts +4 -6
- package/collapsible/trigger/CollapsibleTriggerDataAttributes.js +5 -8
- package/collapsible/trigger/CollapsibleTriggerDataAttributes.mjs +4 -7
- package/combobox/arrow/ComboboxArrow.js +1 -3
- package/combobox/arrow/ComboboxArrow.mjs +1 -3
- package/combobox/arrow/ComboboxArrowDataAttributes.d.mts +22 -24
- package/combobox/arrow/ComboboxArrowDataAttributes.d.ts +22 -24
- package/combobox/arrow/ComboboxArrowDataAttributes.js +23 -26
- package/combobox/arrow/ComboboxArrowDataAttributes.mjs +23 -25
- package/combobox/backdrop/ComboboxBackdrop.js +3 -5
- package/combobox/backdrop/ComboboxBackdrop.mjs +3 -5
- package/combobox/backdrop/ComboboxBackdropDataAttributes.d.mts +16 -18
- package/combobox/backdrop/ComboboxBackdropDataAttributes.d.ts +16 -18
- package/combobox/backdrop/ComboboxBackdropDataAttributes.js +17 -20
- package/combobox/backdrop/ComboboxBackdropDataAttributes.mjs +17 -19
- package/combobox/chip/ComboboxChip.js +7 -9
- package/combobox/chip/ComboboxChip.mjs +7 -9
- package/combobox/chip-remove/ComboboxChipRemove.js +9 -11
- package/combobox/chip-remove/ComboboxChipRemove.mjs +9 -11
- package/combobox/chips/ComboboxChips.js +4 -6
- package/combobox/chips/ComboboxChips.mjs +4 -6
- package/combobox/clear/ComboboxClear.js +14 -16
- package/combobox/clear/ComboboxClear.mjs +14 -16
- package/combobox/clear/ComboboxClearDataAttributes.d.mts +20 -22
- package/combobox/clear/ComboboxClearDataAttributes.d.ts +20 -22
- package/combobox/clear/ComboboxClearDataAttributes.js +21 -24
- package/combobox/clear/ComboboxClearDataAttributes.mjs +21 -23
- package/combobox/collection/GroupCollectionContext.d.mts +1 -1
- package/combobox/collection/GroupCollectionContext.d.ts +1 -1
- package/combobox/empty/ComboboxEmpty.js +1 -1
- package/combobox/empty/ComboboxEmpty.mjs +1 -1
- package/combobox/group/ComboboxGroup.js +6 -1
- package/combobox/group/ComboboxGroup.mjs +6 -1
- package/combobox/group-label/ComboboxGroupLabel.js +2 -1
- package/combobox/group-label/ComboboxGroupLabel.mjs +2 -1
- package/combobox/index.d.mts +3 -1
- package/combobox/index.d.ts +3 -1
- package/combobox/index.parts.d.mts +2 -1
- package/combobox/index.parts.d.ts +2 -1
- package/combobox/index.parts.js +8 -1
- package/combobox/index.parts.mjs +2 -1
- package/combobox/input/ComboboxInput.js +44 -40
- package/combobox/input/ComboboxInput.mjs +44 -40
- package/combobox/input/ComboboxInputDataAttributes.d.mts +53 -55
- package/combobox/input/ComboboxInputDataAttributes.d.ts +53 -55
- package/combobox/input/ComboboxInputDataAttributes.js +54 -57
- package/combobox/input/ComboboxInputDataAttributes.mjs +54 -56
- package/combobox/input-group/ComboboxInputGroup.js +7 -9
- package/combobox/input-group/ComboboxInputGroup.mjs +7 -9
- package/combobox/input-group/ComboboxInputGroupDataAttributes.d.mts +53 -55
- package/combobox/input-group/ComboboxInputGroupDataAttributes.d.ts +53 -55
- package/combobox/input-group/ComboboxInputGroupDataAttributes.js +54 -57
- package/combobox/input-group/ComboboxInputGroupDataAttributes.mjs +53 -56
- package/combobox/item/ComboboxItem.js +28 -26
- package/combobox/item/ComboboxItem.mjs +29 -27
- package/combobox/item/ComboboxItemDataAttributes.d.mts +12 -14
- package/combobox/item/ComboboxItemDataAttributes.d.ts +12 -14
- package/combobox/item/ComboboxItemDataAttributes.js +13 -16
- package/combobox/item/ComboboxItemDataAttributes.mjs +12 -15
- package/combobox/item-indicator/ComboboxItemIndicator.js +2 -0
- package/combobox/item-indicator/ComboboxItemIndicator.mjs +2 -0
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.mts +8 -10
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +8 -10
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +9 -12
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.mjs +9 -11
- package/combobox/items/createItems.d.mts +53 -0
- package/combobox/items/createItems.d.ts +53 -0
- package/combobox/items/createItems.js +93 -0
- package/combobox/items/createItems.mjs +88 -0
- package/combobox/items/itemCollection.d.mts +39 -0
- package/combobox/items/itemCollection.d.ts +39 -0
- package/combobox/items/itemCollection.js +33 -0
- package/combobox/items/itemCollection.mjs +27 -0
- package/combobox/label/ComboboxLabel.js +4 -6
- package/combobox/label/ComboboxLabel.mjs +4 -6
- package/combobox/list/ComboboxList.js +13 -11
- package/combobox/list/ComboboxList.mjs +13 -11
- package/combobox/popup/ComboboxPopup.js +17 -19
- package/combobox/popup/ComboboxPopup.mjs +17 -19
- package/combobox/popup/ComboboxPopupDataAttributes.d.mts +34 -37
- package/combobox/popup/ComboboxPopupDataAttributes.d.ts +34 -37
- package/combobox/popup/ComboboxPopupDataAttributes.js +35 -39
- package/combobox/popup/ComboboxPopupDataAttributes.mjs +35 -38
- package/combobox/portal/ComboboxPortal.js +2 -4
- package/combobox/portal/ComboboxPortal.mjs +2 -4
- package/combobox/positioner/ComboboxPositioner.js +10 -12
- package/combobox/positioner/ComboboxPositioner.mjs +10 -12
- package/combobox/positioner/ComboboxPositionerCssVars.d.mts +25 -27
- package/combobox/positioner/ComboboxPositionerCssVars.d.ts +25 -27
- package/combobox/positioner/ComboboxPositionerCssVars.js +26 -29
- package/combobox/positioner/ComboboxPositionerCssVars.mjs +25 -28
- package/combobox/positioner/ComboboxPositionerDataAttributes.d.mts +26 -28
- package/combobox/positioner/ComboboxPositionerDataAttributes.d.ts +26 -28
- package/combobox/positioner/ComboboxPositionerDataAttributes.js +27 -30
- package/combobox/positioner/ComboboxPositionerDataAttributes.mjs +27 -29
- package/combobox/root/AriaCombobox.d.mts +32 -11
- package/combobox/root/AriaCombobox.d.ts +32 -11
- package/combobox/root/AriaCombobox.js +308 -168
- package/combobox/root/AriaCombobox.mjs +310 -171
- package/combobox/root/ComboboxRoot.d.mts +7 -3
- package/combobox/root/ComboboxRoot.d.ts +7 -3
- package/combobox/root/ComboboxRootContext.d.mts +5 -1
- package/combobox/root/ComboboxRootContext.d.ts +5 -1
- package/combobox/root/utils/index.d.mts +5 -2
- package/combobox/root/utils/index.d.ts +5 -2
- package/combobox/root/utils/index.js +2 -1
- package/combobox/root/utils/index.mjs +2 -1
- package/combobox/root/utils/useFilter.d.mts +2 -1
- package/combobox/root/utils/useFilter.d.ts +2 -1
- package/combobox/root/utils/useFilteredItems.d.mts +1 -0
- package/combobox/root/utils/useFilteredItems.d.ts +1 -0
- package/combobox/root/utils/useFilteredItems.js +1 -0
- package/combobox/root/utils/useFilteredItems.mjs +1 -0
- package/combobox/store.d.mts +55 -28
- package/combobox/store.d.ts +55 -28
- package/combobox/store.js +5 -0
- package/combobox/store.mjs +6 -0
- package/combobox/trigger/ComboboxTrigger.d.mts +4 -0
- package/combobox/trigger/ComboboxTrigger.d.ts +4 -0
- package/combobox/trigger/ComboboxTrigger.js +34 -33
- package/combobox/trigger/ComboboxTrigger.mjs +34 -33
- package/combobox/trigger/ComboboxTriggerDataAttributes.d.mts +57 -59
- package/combobox/trigger/ComboboxTriggerDataAttributes.d.ts +57 -59
- package/combobox/trigger/ComboboxTriggerDataAttributes.js +58 -61
- package/combobox/trigger/ComboboxTriggerDataAttributes.mjs +58 -60
- package/combobox/utils/ComboboxInternalDismissButton.js +1 -1
- package/combobox/utils/ComboboxInternalDismissButton.mjs +1 -1
- package/combobox/utils/handleInputPress.d.mts +1 -1
- package/combobox/utils/handleInputPress.d.ts +1 -1
- package/combobox/utils/handleInputPress.js +4 -4
- package/combobox/utils/handleInputPress.mjs +4 -4
- package/combobox/utils/parts.d.mts +1 -1
- package/combobox/utils/parts.d.ts +1 -1
- package/combobox/utils/parts.js +6 -8
- package/combobox/utils/parts.mjs +6 -8
- package/combobox/utils/stateAttributesMapping.d.mts +4 -4
- package/combobox/utils/stateAttributesMapping.d.ts +4 -4
- package/combobox/utils/stateAttributesMapping.js +4 -2
- package/combobox/utils/stateAttributesMapping.mjs +3 -2
- package/combobox/value/ComboboxValue.d.mts +5 -0
- package/combobox/value/ComboboxValue.d.ts +5 -0
- package/combobox/value/ComboboxValue.js +6 -8
- package/combobox/value/ComboboxValue.mjs +6 -8
- package/context-menu/index.d.mts +1 -1
- package/context-menu/index.d.ts +1 -1
- package/context-menu/index.parts.d.mts +1 -1
- package/context-menu/index.parts.d.ts +1 -1
- package/context-menu/index.parts.js +2 -2
- package/context-menu/index.parts.mjs +1 -1
- package/context-menu/positioner/ContextMenuPositioner.d.mts +95 -0
- package/context-menu/positioner/ContextMenuPositioner.d.ts +95 -0
- package/context-menu/positioner/ContextMenuPositioner.js +15 -0
- package/context-menu/positioner/ContextMenuPositioner.mjs +10 -0
- package/context-menu/positioner/ContextMenuPositionerCssVars.d.mts +1 -0
- package/context-menu/positioner/ContextMenuPositionerCssVars.d.ts +1 -0
- package/context-menu/positioner/ContextMenuPositionerCssVars.js +16 -0
- package/context-menu/positioner/ContextMenuPositionerCssVars.mjs +1 -0
- package/context-menu/positioner/ContextMenuPositionerDataAttributes.d.mts +1 -0
- package/context-menu/positioner/ContextMenuPositionerDataAttributes.d.ts +1 -0
- package/context-menu/positioner/ContextMenuPositionerDataAttributes.js +16 -0
- package/context-menu/positioner/ContextMenuPositionerDataAttributes.mjs +1 -0
- package/context-menu/root/ContextMenuRoot.d.mts +7 -2
- package/context-menu/root/ContextMenuRoot.d.ts +7 -2
- package/context-menu/trigger/ContextMenuTriggerDataAttributes.d.mts +8 -10
- package/context-menu/trigger/ContextMenuTriggerDataAttributes.d.ts +8 -10
- package/context-menu/trigger/ContextMenuTriggerDataAttributes.js +9 -12
- package/context-menu/trigger/ContextMenuTriggerDataAttributes.mjs +9 -11
- package/csp-provider/CSPProvider.d.mts +1 -1
- package/csp-provider/CSPProvider.d.ts +1 -1
- package/dialog/backdrop/DialogBackdropDataAttributes.d.mts +16 -18
- package/dialog/backdrop/DialogBackdropDataAttributes.d.ts +16 -18
- package/dialog/backdrop/DialogBackdropDataAttributes.js +17 -20
- package/dialog/backdrop/DialogBackdropDataAttributes.mjs +17 -19
- package/dialog/close/DialogCloseDataAttributes.d.mts +4 -6
- package/dialog/close/DialogCloseDataAttributes.d.ts +4 -6
- package/dialog/close/DialogCloseDataAttributes.js +5 -8
- package/dialog/close/DialogCloseDataAttributes.mjs +4 -7
- package/dialog/popup/DialogPopup.js +2 -1
- package/dialog/popup/DialogPopup.mjs +2 -1
- package/dialog/popup/DialogPopupCssVars.d.mts +5 -7
- package/dialog/popup/DialogPopupCssVars.d.ts +5 -7
- package/dialog/popup/DialogPopupCssVars.js +6 -9
- package/dialog/popup/DialogPopupCssVars.mjs +5 -8
- package/dialog/popup/DialogPopupDataAttributes.d.mts +24 -26
- package/dialog/popup/DialogPopupDataAttributes.d.ts +24 -26
- package/dialog/popup/DialogPopupDataAttributes.js +25 -28
- package/dialog/popup/DialogPopupDataAttributes.mjs +25 -27
- package/dialog/root/DialogRoot.d.mts +1 -1
- package/dialog/root/DialogRoot.d.ts +1 -1
- package/dialog/root/DialogRoot.js +5 -3
- package/dialog/root/DialogRoot.mjs +4 -2
- package/dialog/root/useRenderDialogRoot.d.mts +2 -1
- package/dialog/root/useRenderDialogRoot.d.ts +2 -1
- package/dialog/store/DialogStore.js +2 -7
- package/dialog/store/DialogStore.mjs +3 -8
- package/dialog/trigger/DialogTrigger.js +2 -1
- package/dialog/trigger/DialogTrigger.mjs +2 -1
- package/dialog/trigger/DialogTriggerDataAttributes.d.mts +8 -10
- package/dialog/trigger/DialogTriggerDataAttributes.d.ts +8 -10
- package/dialog/trigger/DialogTriggerDataAttributes.js +9 -12
- package/dialog/trigger/DialogTriggerDataAttributes.mjs +9 -11
- package/dialog/utils/stateAttributesMapping.js +3 -1
- package/dialog/utils/stateAttributesMapping.mjs +3 -1
- package/dialog/viewport/DialogViewportDataAttributes.d.mts +24 -26
- package/dialog/viewport/DialogViewportDataAttributes.d.ts +24 -26
- package/dialog/viewport/DialogViewportDataAttributes.js +25 -28
- package/dialog/viewport/DialogViewportDataAttributes.mjs +25 -27
- package/docs/index.md +2 -1
- package/docs/react/components/accordion.md +326 -5
- package/docs/react/components/alert-dialog.md +376 -16
- package/docs/react/components/autocomplete.md +49 -43
- package/docs/react/components/avatar.md +49 -0
- package/docs/react/components/button.md +7 -3
- package/docs/react/components/collapsible.md +18 -0
- package/docs/react/components/combobox.md +990 -226
- package/docs/react/components/context-menu.md +47 -49
- package/docs/react/components/dialog.md +358 -14
- package/docs/react/components/field.md +14 -14
- package/docs/react/components/menu.md +29 -28
- package/docs/react/components/navigation-menu.md +4 -0
- package/docs/react/components/popover.md +1 -0
- package/docs/react/components/preview-card.md +5 -4
- package/docs/react/components/select.md +7 -7
- package/docs/react/components/slider.md +414 -49
- package/docs/react/components/tabs.md +1 -4
- package/docs/react/components/toast.md +19 -4
- package/docs/react/overview/community.md +2 -5
- package/docs/react/overview/releases/v1-8-0.md +148 -0
- package/docs/react/overview/releases.md +11 -1
- package/docs/react/utils/use-render.md +4 -362
- package/drawer/backdrop/DrawerBackdrop.js +4 -4
- package/drawer/backdrop/DrawerBackdrop.mjs +2 -2
- package/drawer/backdrop/DrawerBackdropCssVars.d.mts +5 -7
- package/drawer/backdrop/DrawerBackdropCssVars.d.ts +5 -7
- package/drawer/backdrop/DrawerBackdropCssVars.js +6 -9
- package/drawer/backdrop/DrawerBackdropCssVars.mjs +5 -8
- package/drawer/backdrop/DrawerBackdropDataAttributes.d.mts +16 -18
- package/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +16 -18
- package/drawer/backdrop/DrawerBackdropDataAttributes.js +17 -20
- package/drawer/backdrop/DrawerBackdropDataAttributes.mjs +17 -19
- package/drawer/content/DrawerContent.js +2 -2
- package/drawer/content/DrawerContent.mjs +1 -1
- package/drawer/indent/DrawerIndent.js +9 -9
- package/drawer/indent/DrawerIndent.mjs +2 -2
- package/drawer/popup/DrawerPopup.js +22 -22
- package/drawer/popup/DrawerPopup.mjs +3 -3
- package/drawer/popup/DrawerPopupCssVars.d.mts +35 -37
- package/drawer/popup/DrawerPopupCssVars.d.ts +35 -37
- package/drawer/popup/DrawerPopupCssVars.js +36 -39
- package/drawer/popup/DrawerPopupCssVars.mjs +35 -38
- package/drawer/popup/DrawerPopupDataAttributes.d.mts +41 -43
- package/drawer/popup/DrawerPopupDataAttributes.d.ts +41 -43
- package/drawer/popup/DrawerPopupDataAttributes.js +42 -45
- package/drawer/popup/DrawerPopupDataAttributes.mjs +42 -44
- package/drawer/provider/DrawerProvider.d.mts +1 -1
- package/drawer/provider/DrawerProvider.d.ts +1 -1
- package/drawer/root/DrawerRoot.d.mts +1 -1
- package/drawer/root/DrawerRoot.d.ts +1 -1
- package/drawer/root/useDrawerSnapPoints.js +1 -1
- package/drawer/root/useDrawerSnapPoints.mjs +1 -1
- package/drawer/swipe-area/DrawerSwipeArea.js +34 -25
- package/drawer/swipe-area/DrawerSwipeArea.mjs +14 -5
- package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.mts +21 -23
- package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.d.ts +21 -23
- package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.js +22 -25
- package/drawer/swipe-area/DrawerSwipeAreaDataAttributes.mjs +22 -24
- package/drawer/viewport/DrawerViewport.js +66 -35
- package/drawer/viewport/DrawerViewport.mjs +54 -23
- package/drawer/viewport/DrawerViewportCssVars.d.mts +6 -8
- package/drawer/viewport/DrawerViewportCssVars.d.ts +6 -8
- package/drawer/viewport/DrawerViewportCssVars.js +7 -10
- package/drawer/viewport/DrawerViewportCssVars.mjs +6 -9
- package/drawer/viewport/DrawerViewportDataAttributes.d.mts +20 -22
- package/drawer/viewport/DrawerViewportDataAttributes.d.ts +20 -22
- package/drawer/viewport/DrawerViewportDataAttributes.js +21 -24
- package/drawer/viewport/DrawerViewportDataAttributes.mjs +21 -23
- package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.d.mts +1 -1
- package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.d.ts +1 -1
- package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.js +4 -4
- package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.mjs +2 -2
- package/field/control/FieldControl.js +67 -20
- package/field/control/FieldControl.mjs +67 -20
- package/field/control/FieldControlDataAttributes.d.mts +28 -30
- package/field/control/FieldControlDataAttributes.d.ts +28 -30
- package/field/control/FieldControlDataAttributes.js +29 -32
- package/field/control/FieldControlDataAttributes.mjs +28 -31
- package/field/description/FieldDescriptionDataAttributes.d.mts +28 -30
- package/field/description/FieldDescriptionDataAttributes.d.ts +28 -30
- package/field/description/FieldDescriptionDataAttributes.js +29 -32
- package/field/description/FieldDescriptionDataAttributes.mjs +28 -31
- package/field/error/FieldErrorDataAttributes.d.mts +36 -38
- package/field/error/FieldErrorDataAttributes.d.ts +36 -38
- package/field/error/FieldErrorDataAttributes.js +37 -40
- package/field/error/FieldErrorDataAttributes.mjs +37 -39
- package/field/item/FieldItemDataAttributes.d.mts +28 -30
- package/field/item/FieldItemDataAttributes.d.ts +28 -30
- package/field/item/FieldItemDataAttributes.js +29 -32
- package/field/item/FieldItemDataAttributes.mjs +28 -31
- package/field/label/FieldLabelDataAttributes.d.mts +28 -30
- package/field/label/FieldLabelDataAttributes.d.ts +28 -30
- package/field/label/FieldLabelDataAttributes.js +29 -32
- package/field/label/FieldLabelDataAttributes.mjs +28 -31
- package/field/root/FieldRoot.d.mts +3 -2
- package/field/root/FieldRoot.d.ts +3 -2
- package/field/root/FieldRoot.js +4 -2
- package/field/root/FieldRoot.mjs +4 -2
- package/field/root/FieldRootDataAttributes.d.mts +28 -30
- package/field/root/FieldRootDataAttributes.d.ts +28 -30
- package/field/root/FieldRootDataAttributes.js +29 -32
- package/field/root/FieldRootDataAttributes.mjs +28 -31
- package/field/root/useFieldValidation.d.mts +3 -2
- package/field/root/useFieldValidation.d.ts +3 -2
- package/field/root/useFieldValidation.js +116 -91
- package/field/root/useFieldValidation.mjs +116 -91
- package/floating-ui-react/components/FloatingDelayGroup.js +2 -1
- package/floating-ui-react/components/FloatingDelayGroup.mjs +2 -1
- package/floating-ui-react/components/FloatingPortal.d.mts +5 -0
- package/floating-ui-react/components/FloatingPortal.d.ts +5 -0
- package/floating-ui-react/components/FloatingPortal.js +2 -0
- package/floating-ui-react/components/FloatingPortal.mjs +2 -0
- package/floating-ui-react/hooks/useDismiss.d.mts +1 -1
- package/floating-ui-react/hooks/useDismiss.d.ts +1 -1
- package/floating-ui-react/hooks/useDismiss.js +65 -10
- package/floating-ui-react/hooks/useDismiss.mjs +66 -11
- package/floating-ui-react/hooks/useFloatingRootContext.js +0 -2
- package/floating-ui-react/hooks/useFloatingRootContext.mjs +0 -2
- package/floating-ui-react/hooks/useFocus.js +1 -0
- package/floating-ui-react/hooks/useFocus.mjs +1 -0
- package/floating-ui-react/hooks/useHoverReferenceInteraction.js +1 -1
- package/floating-ui-react/hooks/useHoverReferenceInteraction.mjs +1 -1
- package/floating-ui-react/hooks/useListNavigation.js +1 -2
- package/floating-ui-react/hooks/useListNavigation.mjs +1 -2
- package/floating-ui-react/hooks/useSyncedFloatingRootContext.d.mts +9 -4
- package/floating-ui-react/hooks/useSyncedFloatingRootContext.d.ts +9 -4
- package/floating-ui-react/hooks/useSyncedFloatingRootContext.js +5 -0
- package/floating-ui-react/hooks/useSyncedFloatingRootContext.mjs +6 -0
- package/floating-ui-react/middleware/arrow.js +11 -4
- package/floating-ui-react/middleware/arrow.mjs +11 -4
- package/floating-ui-react/utils/element.d.mts +1 -1
- package/floating-ui-react/utils/element.d.ts +1 -1
- package/floating-ui-react/utils/element.js +5 -3
- package/floating-ui-react/utils/element.mjs +4 -3
- package/form/Form.js +13 -7
- package/form/Form.mjs +13 -7
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/input/InputDataAttributes.d.mts +28 -30
- package/input/InputDataAttributes.d.ts +28 -30
- package/input/InputDataAttributes.js +29 -32
- package/input/InputDataAttributes.mjs +28 -31
- package/internals/PrehydrationScript.d.mts +2 -1
- package/internals/PrehydrationScript.d.ts +2 -1
- package/internals/TransitionStatusDataAttributes.d.mts +8 -0
- package/internals/TransitionStatusDataAttributes.d.ts +8 -0
- package/internals/TransitionStatusDataAttributes.js +15 -0
- package/internals/TransitionStatusDataAttributes.mjs +9 -0
- package/internals/composite/list/CompositeList.d.mts +1 -1
- package/internals/composite/list/CompositeList.d.ts +1 -1
- package/internals/composite/list/CompositeList.js +10 -2
- package/internals/composite/list/CompositeList.mjs +10 -2
- package/internals/composite/root/CompositeRoot.d.mts +1 -1
- package/internals/composite/root/CompositeRoot.d.ts +1 -1
- package/internals/composite/root/useCompositeRoot.js +45 -3
- package/internals/composite/root/useCompositeRoot.mjs +44 -2
- package/internals/field-constants/constants.js +4 -2
- package/internals/field-constants/constants.mjs +3 -2
- package/internals/field-register-control/useFieldControlRegistration.d.mts +1 -0
- package/internals/field-register-control/useFieldControlRegistration.d.ts +1 -0
- package/internals/field-register-control/useFieldControlRegistration.js +8 -0
- package/internals/field-register-control/useFieldControlRegistration.mjs +8 -0
- package/internals/filter.js +1 -1
- package/internals/filter.mjs +1 -1
- package/internals/form-context/FormContext.d.mts +1 -1
- package/internals/form-context/FormContext.d.ts +1 -1
- package/internals/form-context/FormContext.js +2 -2
- package/internals/form-context/FormContext.mjs +2 -2
- package/internals/itemEquality.d.mts +4 -1
- package/internals/itemEquality.d.ts +4 -1
- package/internals/itemEquality.js +40 -5
- package/internals/itemEquality.mjs +38 -5
- package/internals/labelable-provider/LabelableContext.d.mts +3 -1
- package/internals/labelable-provider/LabelableContext.d.ts +3 -1
- package/internals/labelable-provider/LabelableContext.js +1 -0
- package/internals/labelable-provider/LabelableContext.mjs +1 -0
- package/internals/labelable-provider/LabelableProvider.d.mts +0 -2
- package/internals/labelable-provider/LabelableProvider.d.ts +0 -2
- package/internals/labelable-provider/LabelableProvider.js +21 -12
- package/internals/labelable-provider/LabelableProvider.mjs +21 -12
- package/internals/labelable-provider/useLabel.d.mts +2 -2
- package/internals/labelable-provider/useLabel.d.ts +2 -2
- package/internals/labelable-provider/useLabel.js +1 -1
- package/internals/labelable-provider/useLabel.mjs +1 -1
- package/internals/labelable-provider/useLabelableId.d.mts +6 -7
- package/internals/labelable-provider/useLabelableId.d.ts +6 -7
- package/internals/labelable-provider/useLabelableId.js +27 -20
- package/internals/labelable-provider/useLabelableId.mjs +27 -20
- package/internals/resolveValueLabel.d.mts +1 -0
- package/internals/resolveValueLabel.d.ts +1 -0
- package/internals/resolveValueLabel.js +13 -3
- package/internals/resolveValueLabel.mjs +12 -3
- package/internals/stateAttributesMapping.d.mts +2 -10
- package/internals/stateAttributesMapping.d.ts +2 -10
- package/internals/stateAttributesMapping.js +5 -13
- package/internals/stateAttributesMapping.mjs +4 -13
- package/internals/temporal-adapter-luxon/TemporalAdapterLuxon.d.mts +1 -1
- package/internals/temporal-adapter-luxon/TemporalAdapterLuxon.d.ts +1 -1
- package/internals/useAnchorPositioning.js +34 -25
- package/internals/useAnchorPositioning.mjs +34 -25
- package/internals/useAnimationsFinished.d.mts +4 -1
- package/internals/useAnimationsFinished.d.ts +4 -1
- package/internals/useAnimationsFinished.js +45 -5
- package/internals/useAnimationsFinished.mjs +44 -5
- package/internals/useOpenChangeComplete.d.mts +6 -0
- package/internals/useOpenChangeComplete.d.ts +6 -0
- package/internals/useOpenChangeComplete.js +2 -1
- package/internals/useOpenChangeComplete.mjs +2 -1
- package/internals/usePressAndHold.js +8 -0
- package/internals/usePressAndHold.mjs +8 -0
- package/internals/useRenderElement.js +27 -15
- package/internals/useRenderElement.mjs +27 -15
- package/internals/useTransitionStatus.d.mts +5 -1
- package/internals/useTransitionStatus.d.ts +5 -1
- package/internals/useTransitionStatus.js +9 -2
- package/internals/useTransitionStatus.mjs +9 -2
- package/menu/arrow/MenuArrowDataAttributes.d.mts +22 -24
- package/menu/arrow/MenuArrowDataAttributes.d.ts +22 -24
- package/menu/arrow/MenuArrowDataAttributes.js +23 -26
- package/menu/arrow/MenuArrowDataAttributes.mjs +23 -25
- package/menu/backdrop/MenuBackdropDataAttributes.d.mts +16 -18
- package/menu/backdrop/MenuBackdropDataAttributes.d.ts +16 -18
- package/menu/backdrop/MenuBackdropDataAttributes.js +17 -20
- package/menu/backdrop/MenuBackdropDataAttributes.mjs +17 -19
- package/menu/checkbox-item/MenuCheckboxItemDataAttributes.d.mts +16 -18
- package/menu/checkbox-item/MenuCheckboxItemDataAttributes.d.ts +16 -18
- package/menu/checkbox-item/MenuCheckboxItemDataAttributes.js +17 -20
- package/menu/checkbox-item/MenuCheckboxItemDataAttributes.mjs +16 -19
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.js +2 -0
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.mjs +2 -0
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.mts +20 -22
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.ts +20 -22
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.js +21 -24
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.mjs +21 -23
- package/menu/group-label/MenuGroupLabel.js +1 -1
- package/menu/group-label/MenuGroupLabel.mjs +1 -1
- package/menu/item/MenuItemDataAttributes.d.mts +8 -10
- package/menu/item/MenuItemDataAttributes.d.ts +8 -10
- package/menu/item/MenuItemDataAttributes.js +9 -12
- package/menu/item/MenuItemDataAttributes.mjs +8 -11
- package/menu/link-item/MenuLinkItemDataAttributes.d.mts +4 -6
- package/menu/link-item/MenuLinkItemDataAttributes.d.ts +4 -6
- package/menu/link-item/MenuLinkItemDataAttributes.js +5 -8
- package/menu/link-item/MenuLinkItemDataAttributes.mjs +4 -7
- package/menu/popup/MenuPopupDataAttributes.d.mts +31 -33
- package/menu/popup/MenuPopupDataAttributes.d.ts +31 -33
- package/menu/popup/MenuPopupDataAttributes.js +32 -35
- package/menu/popup/MenuPopupDataAttributes.mjs +32 -34
- package/menu/portal/MenuPortal.js +9 -2
- package/menu/portal/MenuPortal.mjs +9 -2
- package/menu/positioner/MenuPositioner.d.mts +17 -1
- package/menu/positioner/MenuPositioner.d.ts +17 -1
- package/menu/positioner/MenuPositionerCssVars.d.mts +37 -39
- package/menu/positioner/MenuPositionerCssVars.d.ts +37 -39
- package/menu/positioner/MenuPositionerCssVars.js +38 -41
- package/menu/positioner/MenuPositionerCssVars.mjs +37 -40
- package/menu/positioner/MenuPositionerDataAttributes.d.mts +22 -24
- package/menu/positioner/MenuPositionerDataAttributes.d.ts +22 -24
- package/menu/positioner/MenuPositionerDataAttributes.js +23 -26
- package/menu/positioner/MenuPositionerDataAttributes.mjs +23 -25
- package/menu/radio-item/MenuRadioItemDataAttributes.d.mts +16 -18
- package/menu/radio-item/MenuRadioItemDataAttributes.d.ts +16 -18
- package/menu/radio-item/MenuRadioItemDataAttributes.js +17 -20
- package/menu/radio-item/MenuRadioItemDataAttributes.mjs +16 -19
- package/menu/radio-item-indicator/MenuRadioItemIndicator.js +2 -0
- package/menu/radio-item-indicator/MenuRadioItemIndicator.mjs +2 -0
- package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.mts +20 -22
- package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.ts +20 -22
- package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.js +21 -24
- package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.mjs +21 -23
- package/menu/root/MenuRoot.d.mts +1 -1
- package/menu/root/MenuRoot.d.ts +1 -1
- package/menu/root/MenuRoot.js +98 -19
- package/menu/root/MenuRoot.mjs +99 -20
- package/menu/store/MenuStore.d.mts +2 -2
- package/menu/store/MenuStore.d.ts +2 -2
- package/menu/store/MenuStore.js +12 -11
- package/menu/store/MenuStore.mjs +12 -11
- package/menu/submenu-root/MenuSubmenuRoot.d.mts +1 -1
- package/menu/submenu-root/MenuSubmenuRoot.d.ts +1 -1
- package/menu/submenu-trigger/MenuSubmenuTrigger.d.mts +1 -0
- package/menu/submenu-trigger/MenuSubmenuTrigger.d.ts +1 -0
- package/menu/submenu-trigger/MenuSubmenuTrigger.js +16 -5
- package/menu/submenu-trigger/MenuSubmenuTrigger.mjs +16 -5
- package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.d.mts +12 -14
- package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.d.ts +12 -14
- package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.js +13 -16
- package/menu/submenu-trigger/MenuSubmenuTriggerDataAttributes.mjs +13 -15
- package/menu/trigger/MenuTriggerDataAttributes.d.mts +12 -10
- package/menu/trigger/MenuTriggerDataAttributes.d.ts +12 -10
- package/menu/trigger/MenuTriggerDataAttributes.js +13 -12
- package/menu/trigger/MenuTriggerDataAttributes.mjs +13 -11
- package/menu/utils/stateAttributesMapping.js +4 -3
- package/menu/utils/stateAttributesMapping.mjs +1 -1
- package/menu/viewport/MenuViewportCssVars.d.mts +12 -14
- package/menu/viewport/MenuViewportCssVars.d.ts +12 -14
- package/menu/viewport/MenuViewportCssVars.js +13 -16
- package/menu/viewport/MenuViewportCssVars.mjs +12 -15
- package/menu/viewport/MenuViewportDataAttributes.d.mts +24 -26
- package/menu/viewport/MenuViewportDataAttributes.d.ts +24 -26
- package/menu/viewport/MenuViewportDataAttributes.js +25 -28
- package/menu/viewport/MenuViewportDataAttributes.mjs +24 -27
- package/menubar/Menubar.js +2 -2
- package/menubar/Menubar.mjs +1 -1
- package/menubar/MenubarDataAttributes.d.mts +13 -15
- package/menubar/MenubarDataAttributes.d.ts +13 -15
- package/menubar/MenubarDataAttributes.js +14 -17
- package/menubar/MenubarDataAttributes.mjs +13 -16
- package/meter/root/MeterRoot.js +2 -2
- package/meter/root/MeterRoot.mjs +2 -2
- package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.d.mts +22 -24
- package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.d.ts +22 -24
- package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.js +23 -26
- package/navigation-menu/arrow/NavigationMenuArrowDataAttributes.mjs +23 -25
- package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.mts +16 -18
- package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.ts +16 -18
- package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.js +17 -20
- package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.mjs +17 -19
- package/navigation-menu/content/NavigationMenuContent.js +2 -1
- package/navigation-menu/content/NavigationMenuContent.mjs +2 -1
- package/navigation-menu/content/NavigationMenuContentDataAttributes.d.mts +21 -23
- package/navigation-menu/content/NavigationMenuContentDataAttributes.d.ts +21 -23
- package/navigation-menu/content/NavigationMenuContentDataAttributes.js +22 -25
- package/navigation-menu/content/NavigationMenuContentDataAttributes.mjs +22 -24
- package/navigation-menu/icon/NavigationMenuIconDataAttributes.d.mts +4 -6
- package/navigation-menu/icon/NavigationMenuIconDataAttributes.d.ts +4 -6
- package/navigation-menu/icon/NavigationMenuIconDataAttributes.js +5 -8
- package/navigation-menu/icon/NavigationMenuIconDataAttributes.mjs +5 -7
- package/navigation-menu/link/NavigationMenuLinkDataAttributes.d.mts +4 -6
- package/navigation-menu/link/NavigationMenuLinkDataAttributes.d.ts +4 -6
- package/navigation-menu/link/NavigationMenuLinkDataAttributes.js +5 -8
- package/navigation-menu/link/NavigationMenuLinkDataAttributes.mjs +4 -7
- package/navigation-menu/popup/NavigationMenuPopupCssVars.d.mts +10 -12
- package/navigation-menu/popup/NavigationMenuPopupCssVars.d.ts +10 -12
- package/navigation-menu/popup/NavigationMenuPopupCssVars.js +11 -14
- package/navigation-menu/popup/NavigationMenuPopupCssVars.mjs +10 -13
- package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.mts +30 -32
- package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.ts +30 -32
- package/navigation-menu/popup/NavigationMenuPopupDataAttributes.js +31 -34
- package/navigation-menu/popup/NavigationMenuPopupDataAttributes.mjs +31 -33
- package/navigation-menu/positioner/NavigationMenuPositionerCssVars.d.mts +35 -37
- package/navigation-menu/positioner/NavigationMenuPositionerCssVars.d.ts +35 -37
- package/navigation-menu/positioner/NavigationMenuPositionerCssVars.js +36 -39
- package/navigation-menu/positioner/NavigationMenuPositionerCssVars.mjs +35 -38
- package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.d.mts +26 -28
- package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.d.ts +26 -28
- package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.js +27 -30
- package/navigation-menu/positioner/NavigationMenuPositionerDataAttributes.mjs +27 -29
- package/navigation-menu/root/NavigationMenuRoot.js +3 -3
- package/navigation-menu/root/NavigationMenuRoot.mjs +1 -1
- package/navigation-menu/trigger/NavigationMenuTrigger.d.mts +11 -1
- package/navigation-menu/trigger/NavigationMenuTrigger.d.ts +11 -1
- package/navigation-menu/trigger/NavigationMenuTrigger.js +25 -37
- package/navigation-menu/trigger/NavigationMenuTrigger.mjs +9 -21
- package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.d.mts +12 -10
- package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.d.ts +12 -10
- package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.js +13 -12
- package/navigation-menu/trigger/NavigationMenuTriggerDataAttributes.mjs +13 -11
- package/navigation-menu/utils/setSharedFixedSize.js +7 -6
- package/navigation-menu/utils/setSharedFixedSize.mjs +2 -2
- package/number-field/decrement/NumberFieldDecrementDataAttributes.d.mts +40 -42
- package/number-field/decrement/NumberFieldDecrementDataAttributes.d.ts +40 -42
- package/number-field/decrement/NumberFieldDecrementDataAttributes.js +41 -44
- package/number-field/decrement/NumberFieldDecrementDataAttributes.mjs +40 -43
- package/number-field/group/NumberFieldGroupDataAttributes.d.mts +40 -42
- package/number-field/group/NumberFieldGroupDataAttributes.d.ts +40 -42
- package/number-field/group/NumberFieldGroupDataAttributes.js +41 -44
- package/number-field/group/NumberFieldGroupDataAttributes.mjs +40 -43
- package/number-field/increment/NumberFieldIncrementDataAttributes.d.mts +40 -42
- package/number-field/increment/NumberFieldIncrementDataAttributes.d.ts +40 -42
- package/number-field/increment/NumberFieldIncrementDataAttributes.js +41 -44
- package/number-field/increment/NumberFieldIncrementDataAttributes.mjs +40 -43
- package/number-field/input/NumberFieldInput.js +1 -12
- package/number-field/input/NumberFieldInput.mjs +1 -12
- package/number-field/input/NumberFieldInputDataAttributes.d.mts +40 -42
- package/number-field/input/NumberFieldInputDataAttributes.d.ts +40 -42
- package/number-field/input/NumberFieldInputDataAttributes.js +41 -44
- package/number-field/input/NumberFieldInputDataAttributes.mjs +40 -43
- package/number-field/root/NumberFieldRoot.js +33 -7
- package/number-field/root/NumberFieldRoot.mjs +33 -7
- package/number-field/root/NumberFieldRootContext.d.mts +1 -0
- package/number-field/root/NumberFieldRootContext.d.ts +1 -0
- package/number-field/root/NumberFieldRootDataAttributes.d.mts +40 -42
- package/number-field/root/NumberFieldRootDataAttributes.d.ts +40 -42
- package/number-field/root/NumberFieldRootDataAttributes.js +41 -44
- package/number-field/root/NumberFieldRootDataAttributes.mjs +40 -43
- package/number-field/root/useNumberFieldStepperButton.js +2 -1
- package/number-field/root/useNumberFieldStepperButton.mjs +2 -1
- package/number-field/scrub-area/NumberFieldScrubArea.js +2 -1
- package/number-field/scrub-area/NumberFieldScrubArea.mjs +2 -1
- package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.d.mts +40 -42
- package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.d.ts +40 -42
- package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.js +41 -44
- package/number-field/scrub-area/NumberFieldScrubAreaDataAttributes.mjs +40 -43
- package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.d.mts +40 -42
- package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.d.ts +40 -42
- package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.js +41 -44
- package/number-field/scrub-area-cursor/NumberFieldScrubAreaCursorDataAttributes.mjs +40 -43
- package/number-field/utils/parse.js +1 -1
- package/number-field/utils/parse.mjs +1 -1
- package/number-field/utils/validate.js +2 -2
- package/number-field/utils/validate.mjs +2 -2
- package/otp-field/input/OTPFieldInputDataAttributes.d.mts +40 -42
- package/otp-field/input/OTPFieldInputDataAttributes.d.ts +40 -42
- package/otp-field/input/OTPFieldInputDataAttributes.js +41 -44
- package/otp-field/input/OTPFieldInputDataAttributes.mjs +40 -43
- package/otp-field/root/OTPFieldRoot.js +1 -1
- package/otp-field/root/OTPFieldRoot.mjs +1 -1
- package/otp-field/root/OTPFieldRootDataAttributes.d.mts +40 -42
- package/otp-field/root/OTPFieldRootDataAttributes.d.ts +40 -42
- package/otp-field/root/OTPFieldRootDataAttributes.js +41 -44
- package/otp-field/root/OTPFieldRootDataAttributes.mjs +40 -43
- package/package.json +3 -45
- package/popover/arrow/PopoverArrowDataAttributes.d.mts +22 -24
- package/popover/arrow/PopoverArrowDataAttributes.d.ts +22 -24
- package/popover/arrow/PopoverArrowDataAttributes.js +23 -26
- package/popover/arrow/PopoverArrowDataAttributes.mjs +23 -25
- package/popover/backdrop/PopoverBackdropDataAttributes.d.mts +16 -18
- package/popover/backdrop/PopoverBackdropDataAttributes.d.ts +16 -18
- package/popover/backdrop/PopoverBackdropDataAttributes.js +17 -20
- package/popover/backdrop/PopoverBackdropDataAttributes.mjs +17 -19
- package/popover/popup/PopoverPopupCssVars.d.mts +8 -10
- package/popover/popup/PopoverPopupCssVars.d.ts +8 -10
- package/popover/popup/PopoverPopupCssVars.js +9 -12
- package/popover/popup/PopoverPopupCssVars.mjs +8 -11
- package/popover/popup/PopoverPopupDataAttributes.d.mts +31 -33
- package/popover/popup/PopoverPopupDataAttributes.d.ts +31 -33
- package/popover/popup/PopoverPopupDataAttributes.js +32 -35
- package/popover/popup/PopoverPopupDataAttributes.mjs +32 -34
- package/popover/positioner/PopoverPositionerCssVars.d.mts +37 -39
- package/popover/positioner/PopoverPositionerCssVars.d.ts +37 -39
- package/popover/positioner/PopoverPositionerCssVars.js +38 -41
- package/popover/positioner/PopoverPositionerCssVars.mjs +37 -40
- package/popover/positioner/PopoverPositionerDataAttributes.d.mts +22 -24
- package/popover/positioner/PopoverPositionerDataAttributes.d.ts +22 -24
- package/popover/positioner/PopoverPositionerDataAttributes.js +23 -26
- package/popover/positioner/PopoverPositionerDataAttributes.mjs +23 -25
- package/popover/root/PopoverRoot.d.mts +1 -1
- package/popover/root/PopoverRoot.d.ts +1 -1
- package/popover/root/PopoverRoot.js +4 -2
- package/popover/root/PopoverRoot.mjs +4 -2
- package/popover/store/PopoverStore.js +4 -8
- package/popover/store/PopoverStore.mjs +5 -9
- package/popover/trigger/PopoverTrigger.js +2 -1
- package/popover/trigger/PopoverTrigger.mjs +2 -1
- package/popover/trigger/PopoverTriggerDataAttributes.d.mts +12 -10
- package/popover/trigger/PopoverTriggerDataAttributes.d.ts +12 -10
- package/popover/trigger/PopoverTriggerDataAttributes.js +13 -12
- package/popover/trigger/PopoverTriggerDataAttributes.mjs +13 -11
- package/popover/viewport/PopoverViewportCssVars.d.mts +12 -14
- package/popover/viewport/PopoverViewportCssVars.d.ts +12 -14
- package/popover/viewport/PopoverViewportCssVars.js +13 -16
- package/popover/viewport/PopoverViewportCssVars.mjs +12 -15
- package/popover/viewport/PopoverViewportDataAttributes.d.mts +24 -26
- package/popover/viewport/PopoverViewportDataAttributes.d.ts +24 -26
- package/popover/viewport/PopoverViewportDataAttributes.js +25 -28
- package/popover/viewport/PopoverViewportDataAttributes.mjs +24 -27
- package/preview-card/arrow/PreviewCardArrowDataAttributes.d.mts +22 -24
- package/preview-card/arrow/PreviewCardArrowDataAttributes.d.ts +22 -24
- package/preview-card/arrow/PreviewCardArrowDataAttributes.js +23 -26
- package/preview-card/arrow/PreviewCardArrowDataAttributes.mjs +23 -25
- package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.mts +16 -18
- package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.ts +16 -18
- package/preview-card/backdrop/PreviewCardBackdropDataAttributes.js +17 -20
- package/preview-card/backdrop/PreviewCardBackdropDataAttributes.mjs +17 -19
- package/preview-card/popup/PreviewCardPopupDataAttributes.d.mts +26 -28
- package/preview-card/popup/PreviewCardPopupDataAttributes.d.ts +26 -28
- package/preview-card/popup/PreviewCardPopupDataAttributes.js +27 -30
- package/preview-card/popup/PreviewCardPopupDataAttributes.mjs +27 -29
- package/preview-card/positioner/PreviewCardPositionerCssVars.d.mts +37 -39
- package/preview-card/positioner/PreviewCardPositionerCssVars.d.ts +37 -39
- package/preview-card/positioner/PreviewCardPositionerCssVars.js +38 -41
- package/preview-card/positioner/PreviewCardPositionerCssVars.mjs +37 -40
- package/preview-card/positioner/PreviewCardPositionerDataAttributes.d.mts +22 -24
- package/preview-card/positioner/PreviewCardPositionerDataAttributes.d.ts +22 -24
- package/preview-card/positioner/PreviewCardPositionerDataAttributes.js +23 -26
- package/preview-card/positioner/PreviewCardPositionerDataAttributes.mjs +23 -25
- package/preview-card/root/PreviewCardRoot.d.mts +1 -1
- package/preview-card/root/PreviewCardRoot.d.ts +1 -1
- package/preview-card/store/PreviewCardStore.js +1 -2
- package/preview-card/store/PreviewCardStore.mjs +2 -3
- package/preview-card/trigger/PreviewCardTriggerDataAttributes.d.mts +4 -6
- package/preview-card/trigger/PreviewCardTriggerDataAttributes.d.ts +4 -6
- package/preview-card/trigger/PreviewCardTriggerDataAttributes.js +5 -8
- package/preview-card/trigger/PreviewCardTriggerDataAttributes.mjs +5 -7
- package/preview-card/viewport/PreviewCardViewportCssVars.d.mts +12 -14
- package/preview-card/viewport/PreviewCardViewportCssVars.d.ts +12 -14
- package/preview-card/viewport/PreviewCardViewportCssVars.js +13 -16
- package/preview-card/viewport/PreviewCardViewportCssVars.mjs +12 -15
- package/preview-card/viewport/PreviewCardViewportDataAttributes.d.mts +24 -26
- package/preview-card/viewport/PreviewCardViewportDataAttributes.d.ts +24 -26
- package/preview-card/viewport/PreviewCardViewportDataAttributes.js +25 -28
- package/preview-card/viewport/PreviewCardViewportDataAttributes.mjs +24 -27
- package/progress/indicator/ProgressIndicatorDataAttributes.d.mts +12 -14
- package/progress/indicator/ProgressIndicatorDataAttributes.d.ts +12 -14
- package/progress/indicator/ProgressIndicatorDataAttributes.js +13 -16
- package/progress/indicator/ProgressIndicatorDataAttributes.mjs +12 -15
- package/progress/label/ProgressLabelDataAttributes.d.mts +12 -14
- package/progress/label/ProgressLabelDataAttributes.d.ts +12 -14
- package/progress/label/ProgressLabelDataAttributes.js +13 -16
- package/progress/label/ProgressLabelDataAttributes.mjs +12 -15
- package/progress/root/ProgressRoot.js +2 -2
- package/progress/root/ProgressRoot.mjs +2 -2
- package/progress/root/ProgressRootDataAttributes.d.mts +12 -14
- package/progress/root/ProgressRootDataAttributes.d.ts +12 -14
- package/progress/root/ProgressRootDataAttributes.js +13 -16
- package/progress/root/ProgressRootDataAttributes.mjs +12 -15
- package/progress/root/stateAttributesMapping.js +18 -3
- package/progress/root/stateAttributesMapping.mjs +17 -3
- package/progress/track/ProgressTrackDataAttributes.d.mts +12 -14
- package/progress/track/ProgressTrackDataAttributes.d.ts +12 -14
- package/progress/track/ProgressTrackDataAttributes.js +13 -16
- package/progress/track/ProgressTrackDataAttributes.mjs +12 -15
- package/progress/value/ProgressValueDataAttributes.d.mts +12 -14
- package/progress/value/ProgressValueDataAttributes.d.ts +12 -14
- package/progress/value/ProgressValueDataAttributes.js +13 -16
- package/progress/value/ProgressValueDataAttributes.mjs +12 -15
- package/radio/indicator/RadioIndicator.js +2 -0
- package/radio/indicator/RadioIndicator.mjs +2 -0
- package/radio/indicator/RadioIndicatorDataAttributes.d.mts +52 -54
- package/radio/indicator/RadioIndicatorDataAttributes.d.ts +52 -54
- package/radio/indicator/RadioIndicatorDataAttributes.js +53 -56
- package/radio/indicator/RadioIndicatorDataAttributes.mjs +53 -55
- package/radio/root/RadioRoot.js +1 -3
- package/radio/root/RadioRoot.mjs +1 -3
- package/radio/root/RadioRootDataAttributes.d.mts +44 -46
- package/radio/root/RadioRootDataAttributes.d.ts +44 -46
- package/radio/root/RadioRootDataAttributes.js +45 -48
- package/radio/root/RadioRootDataAttributes.mjs +44 -47
- package/radio/utils/stateAttributesMapping.js +4 -2
- package/radio/utils/stateAttributesMapping.mjs +3 -2
- package/radio-group/RadioGroupDataAttributes.d.mts +4 -6
- package/radio-group/RadioGroupDataAttributes.d.ts +4 -6
- package/radio-group/RadioGroupDataAttributes.js +5 -8
- package/radio-group/RadioGroupDataAttributes.mjs +4 -7
- package/scroll-area/content/ScrollAreaContentDataAttributes.d.mts +28 -30
- package/scroll-area/content/ScrollAreaContentDataAttributes.d.ts +28 -30
- package/scroll-area/content/ScrollAreaContentDataAttributes.js +29 -32
- package/scroll-area/content/ScrollAreaContentDataAttributes.mjs +28 -31
- package/scroll-area/corner/ScrollAreaCorner.js +1 -0
- package/scroll-area/corner/ScrollAreaCorner.mjs +1 -0
- package/scroll-area/root/ScrollAreaRoot.js +5 -6
- package/scroll-area/root/ScrollAreaRoot.mjs +5 -6
- package/scroll-area/root/ScrollAreaRootCssVars.d.mts +10 -12
- package/scroll-area/root/ScrollAreaRootCssVars.d.ts +10 -12
- package/scroll-area/root/ScrollAreaRootCssVars.js +11 -14
- package/scroll-area/root/ScrollAreaRootCssVars.mjs +10 -13
- package/scroll-area/root/ScrollAreaRootDataAttributes.d.mts +28 -30
- package/scroll-area/root/ScrollAreaRootDataAttributes.d.ts +28 -30
- package/scroll-area/root/ScrollAreaRootDataAttributes.js +29 -32
- package/scroll-area/root/ScrollAreaRootDataAttributes.mjs +28 -31
- package/scroll-area/root/stateAttributes.js +8 -7
- package/scroll-area/root/stateAttributes.mjs +7 -7
- package/scroll-area/scrollbar/ScrollAreaScrollbar.js +12 -4
- package/scroll-area/scrollbar/ScrollAreaScrollbar.mjs +14 -5
- package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.d.mts +10 -12
- package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.d.ts +10 -12
- package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.js +11 -14
- package/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.mjs +10 -13
- package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.d.mts +37 -39
- package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.d.ts +37 -39
- package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.js +38 -41
- package/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.mjs +37 -40
- package/scroll-area/thumb/ScrollAreaThumbDataAttributes.d.mts +9 -11
- package/scroll-area/thumb/ScrollAreaThumbDataAttributes.d.ts +9 -11
- package/scroll-area/thumb/ScrollAreaThumbDataAttributes.js +10 -13
- package/scroll-area/thumb/ScrollAreaThumbDataAttributes.mjs +9 -12
- package/scroll-area/viewport/ScrollAreaViewport.js +6 -5
- package/scroll-area/viewport/ScrollAreaViewport.mjs +6 -6
- package/scroll-area/viewport/ScrollAreaViewportCssVars.d.mts +20 -22
- package/scroll-area/viewport/ScrollAreaViewportCssVars.d.ts +20 -22
- package/scroll-area/viewport/ScrollAreaViewportCssVars.js +21 -24
- package/scroll-area/viewport/ScrollAreaViewportCssVars.mjs +20 -23
- package/scroll-area/viewport/ScrollAreaViewportDataAttributes.d.mts +28 -30
- package/scroll-area/viewport/ScrollAreaViewportDataAttributes.d.ts +28 -30
- package/scroll-area/viewport/ScrollAreaViewportDataAttributes.js +29 -32
- package/scroll-area/viewport/ScrollAreaViewportDataAttributes.mjs +28 -31
- package/select/arrow/SelectArrow.js +2 -6
- package/select/arrow/SelectArrow.mjs +2 -6
- package/select/arrow/SelectArrowDataAttributes.d.mts +22 -24
- package/select/arrow/SelectArrowDataAttributes.d.ts +22 -24
- package/select/arrow/SelectArrowDataAttributes.js +23 -26
- package/select/arrow/SelectArrowDataAttributes.mjs +23 -25
- package/select/backdrop/SelectBackdrop.js +4 -8
- package/select/backdrop/SelectBackdrop.mjs +4 -8
- package/select/backdrop/SelectBackdropDataAttributes.d.mts +16 -18
- package/select/backdrop/SelectBackdropDataAttributes.d.ts +16 -18
- package/select/backdrop/SelectBackdropDataAttributes.js +17 -20
- package/select/backdrop/SelectBackdropDataAttributes.mjs +17 -19
- package/select/group-label/SelectGroupLabel.js +2 -1
- package/select/group-label/SelectGroupLabel.mjs +2 -1
- package/select/icon/SelectIcon.js +2 -6
- package/select/icon/SelectIcon.mjs +2 -6
- package/select/icon/SelectIconDataAttributes.d.mts +4 -6
- package/select/icon/SelectIconDataAttributes.d.ts +4 -6
- package/select/icon/SelectIconDataAttributes.js +5 -8
- package/select/icon/SelectIconDataAttributes.mjs +5 -7
- package/select/item/SelectItem.js +38 -37
- package/select/item/SelectItem.mjs +40 -39
- package/select/item/SelectItemDataAttributes.d.mts +12 -14
- package/select/item/SelectItemDataAttributes.d.ts +12 -14
- package/select/item/SelectItemDataAttributes.js +13 -16
- package/select/item/SelectItemDataAttributes.mjs +12 -15
- package/select/item-indicator/SelectItemIndicator.js +2 -0
- package/select/item-indicator/SelectItemIndicator.mjs +2 -0
- package/select/item-indicator/SelectItemIndicatorDataAttributes.d.mts +8 -10
- package/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +8 -10
- package/select/item-indicator/SelectItemIndicatorDataAttributes.js +9 -12
- package/select/item-indicator/SelectItemIndicatorDataAttributes.mjs +9 -11
- package/select/item-text/SelectItemText.js +4 -7
- package/select/item-text/SelectItemText.mjs +4 -7
- package/select/label/SelectLabel.js +3 -7
- package/select/label/SelectLabel.mjs +3 -7
- package/select/list/SelectList.js +9 -10
- package/select/list/SelectList.mjs +10 -11
- package/select/popup/SelectPopup.js +43 -52
- package/select/popup/SelectPopup.mjs +44 -53
- package/select/popup/SelectPopupDataAttributes.d.mts +26 -28
- package/select/popup/SelectPopupDataAttributes.d.ts +26 -28
- package/select/popup/SelectPopupDataAttributes.js +27 -30
- package/select/popup/SelectPopupDataAttributes.mjs +27 -29
- package/select/portal/SelectPortal.js +3 -7
- package/select/portal/SelectPortal.mjs +3 -7
- package/select/positioner/SelectPositioner.js +24 -39
- package/select/positioner/SelectPositioner.mjs +25 -40
- package/select/positioner/SelectPositionerCssVars.d.mts +25 -27
- package/select/positioner/SelectPositionerCssVars.d.ts +25 -27
- package/select/positioner/SelectPositionerCssVars.js +26 -29
- package/select/positioner/SelectPositionerCssVars.mjs +25 -28
- package/select/positioner/SelectPositionerDataAttributes.d.mts +22 -24
- package/select/positioner/SelectPositionerDataAttributes.d.ts +22 -24
- package/select/positioner/SelectPositionerDataAttributes.js +23 -26
- package/select/positioner/SelectPositionerDataAttributes.mjs +23 -25
- package/select/root/SelectRoot.js +60 -56
- package/select/root/SelectRoot.mjs +63 -59
- package/select/root/SelectRootContext.d.mts +11 -30
- package/select/root/SelectRootContext.d.ts +11 -30
- package/select/root/SelectRootContext.js +29 -4
- package/select/root/SelectRootContext.mjs +27 -3
- package/select/scroll-arrow/SelectScrollArrow.js +11 -19
- package/select/scroll-arrow/SelectScrollArrow.mjs +11 -19
- package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.mts +22 -24
- package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.ts +22 -24
- package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.js +23 -26
- package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.mjs +23 -25
- package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.mts +22 -24
- package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.ts +22 -24
- package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.js +23 -26
- package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.mjs +23 -25
- package/select/store.d.mts +30 -2
- package/select/store.d.ts +30 -2
- package/select/store.js +5 -0
- package/select/store.mjs +6 -0
- package/select/trigger/SelectTrigger.js +23 -27
- package/select/trigger/SelectTrigger.mjs +24 -28
- package/select/trigger/SelectTriggerDataAttributes.d.mts +53 -55
- package/select/trigger/SelectTriggerDataAttributes.d.ts +53 -55
- package/select/trigger/SelectTriggerDataAttributes.js +54 -57
- package/select/trigger/SelectTriggerDataAttributes.mjs +54 -56
- package/select/value/SelectValue.d.mts +2 -0
- package/select/value/SelectValue.d.ts +2 -0
- package/select/value/SelectValue.js +7 -12
- package/select/value/SelectValue.mjs +7 -12
- package/select/value/SelectValueDataAttributes.d.mts +4 -6
- package/select/value/SelectValueDataAttributes.d.ts +4 -6
- package/select/value/SelectValueDataAttributes.js +5 -8
- package/select/value/SelectValueDataAttributes.mjs +4 -7
- package/separator/SeparatorDataAttributes.d.mts +5 -7
- package/separator/SeparatorDataAttributes.d.ts +5 -7
- package/separator/SeparatorDataAttributes.js +6 -9
- package/separator/SeparatorDataAttributes.mjs +5 -8
- package/slider/control/SliderControl.js +1 -1
- package/slider/control/SliderControl.mjs +1 -1
- package/slider/control/SliderControlDataAttributes.d.mts +33 -35
- package/slider/control/SliderControlDataAttributes.d.ts +33 -35
- package/slider/control/SliderControlDataAttributes.js +34 -37
- package/slider/control/SliderControlDataAttributes.mjs +33 -36
- package/slider/indicator/SliderIndicatorDataAttributes.d.mts +33 -35
- package/slider/indicator/SliderIndicatorDataAttributes.d.ts +33 -35
- package/slider/indicator/SliderIndicatorDataAttributes.js +34 -37
- package/slider/indicator/SliderIndicatorDataAttributes.mjs +33 -36
- package/slider/root/SliderRoot.js +2 -2
- package/slider/root/SliderRoot.mjs +2 -2
- package/slider/root/SliderRootDataAttributes.d.mts +33 -35
- package/slider/root/SliderRootDataAttributes.d.ts +33 -35
- package/slider/root/SliderRootDataAttributes.js +34 -37
- package/slider/root/SliderRootDataAttributes.mjs +33 -36
- package/slider/thumb/SliderThumb.d.mts +1 -2
- package/slider/thumb/SliderThumb.d.ts +1 -2
- package/slider/thumb/SliderThumb.js +4 -3
- package/slider/thumb/SliderThumb.mjs +4 -3
- package/slider/thumb/SliderThumbDataAttributes.d.mts +37 -39
- package/slider/thumb/SliderThumbDataAttributes.d.ts +37 -39
- package/slider/thumb/SliderThumbDataAttributes.js +38 -41
- package/slider/thumb/SliderThumbDataAttributes.mjs +37 -40
- package/slider/track/SliderTrackDataAttributes.d.mts +33 -35
- package/slider/track/SliderTrackDataAttributes.d.ts +33 -35
- package/slider/track/SliderTrackDataAttributes.js +34 -37
- package/slider/track/SliderTrackDataAttributes.mjs +33 -36
- package/slider/utils/getPushedThumbValues.js +1 -1
- package/slider/utils/getPushedThumbValues.mjs +1 -1
- package/slider/utils/getSliderValue.js +1 -1
- package/slider/utils/getSliderValue.mjs +1 -1
- package/slider/utils/resolveThumbCollision.js +1 -1
- package/slider/utils/resolveThumbCollision.mjs +1 -1
- package/slider/value/SliderValue.js +1 -1
- package/slider/value/SliderValue.mjs +1 -1
- package/slider/value/SliderValueDataAttributes.d.mts +33 -35
- package/slider/value/SliderValueDataAttributes.d.ts +33 -35
- package/slider/value/SliderValueDataAttributes.js +34 -37
- package/slider/value/SliderValueDataAttributes.mjs +33 -36
- package/switch/root/SwitchRoot.js +3 -8
- package/switch/root/SwitchRoot.mjs +3 -8
- package/switch/root/SwitchRootDataAttributes.d.mts +44 -46
- package/switch/root/SwitchRootDataAttributes.d.ts +44 -46
- package/switch/root/SwitchRootDataAttributes.js +45 -48
- package/switch/root/SwitchRootDataAttributes.mjs +44 -47
- package/switch/stateAttributesMapping.js +4 -2
- package/switch/stateAttributesMapping.mjs +3 -2
- package/switch/thumb/SwitchThumbDataAttributes.d.mts +44 -46
- package/switch/thumb/SwitchThumbDataAttributes.d.ts +44 -46
- package/switch/thumb/SwitchThumbDataAttributes.js +45 -48
- package/switch/thumb/SwitchThumbDataAttributes.mjs +44 -47
- package/tabs/indicator/TabsIndicator.js +133 -17
- package/tabs/indicator/TabsIndicator.mjs +133 -17
- package/tabs/indicator/TabsIndicatorCssVars.d.mts +30 -32
- package/tabs/indicator/TabsIndicatorCssVars.d.ts +30 -32
- package/tabs/indicator/TabsIndicatorCssVars.js +31 -34
- package/tabs/indicator/TabsIndicatorCssVars.mjs +30 -33
- package/tabs/indicator/TabsIndicatorDataAttributes.d.mts +10 -12
- package/tabs/indicator/TabsIndicatorDataAttributes.d.ts +10 -12
- package/tabs/indicator/TabsIndicatorDataAttributes.js +11 -14
- package/tabs/indicator/TabsIndicatorDataAttributes.mjs +10 -13
- package/tabs/indicator/prehydrationScript.min.d.mts +1 -1
- package/tabs/indicator/prehydrationScript.min.d.ts +1 -1
- package/tabs/indicator/prehydrationScript.min.js +1 -1
- package/tabs/indicator/prehydrationScript.min.mjs +1 -1
- package/tabs/list/TabsListDataAttributes.d.mts +10 -12
- package/tabs/list/TabsListDataAttributes.d.ts +10 -12
- package/tabs/list/TabsListDataAttributes.js +11 -14
- package/tabs/list/TabsListDataAttributes.mjs +10 -13
- package/tabs/panel/TabsPanel.js +2 -1
- package/tabs/panel/TabsPanel.mjs +2 -1
- package/tabs/panel/TabsPanelDataAttributes.d.mts +26 -28
- package/tabs/panel/TabsPanelDataAttributes.d.ts +26 -28
- package/tabs/panel/TabsPanelDataAttributes.js +27 -30
- package/tabs/panel/TabsPanelDataAttributes.mjs +27 -29
- package/tabs/root/TabsRootDataAttributes.d.mts +10 -12
- package/tabs/root/TabsRootDataAttributes.d.ts +10 -12
- package/tabs/root/TabsRootDataAttributes.js +11 -14
- package/tabs/root/TabsRootDataAttributes.mjs +10 -13
- package/tabs/root/stateAttributesMapping.js +3 -1
- package/tabs/root/stateAttributesMapping.mjs +2 -1
- package/tabs/tab/TabsTabDataAttributes.d.mts +18 -20
- package/tabs/tab/TabsTabDataAttributes.d.ts +18 -20
- package/tabs/tab/TabsTabDataAttributes.js +19 -22
- package/tabs/tab/TabsTabDataAttributes.mjs +18 -21
- package/toast/action/ToastActionDataAttributes.d.mts +5 -7
- package/toast/action/ToastActionDataAttributes.d.ts +5 -7
- package/toast/action/ToastActionDataAttributes.js +6 -9
- package/toast/action/ToastActionDataAttributes.mjs +5 -8
- package/toast/arrow/ToastArrowDataAttributes.d.mts +14 -16
- package/toast/arrow/ToastArrowDataAttributes.d.ts +14 -16
- package/toast/arrow/ToastArrowDataAttributes.js +15 -18
- package/toast/arrow/ToastArrowDataAttributes.mjs +15 -17
- package/toast/close/ToastCloseDataAttributes.d.mts +5 -7
- package/toast/close/ToastCloseDataAttributes.d.ts +5 -7
- package/toast/close/ToastCloseDataAttributes.js +6 -9
- package/toast/close/ToastCloseDataAttributes.mjs +5 -8
- package/toast/content/ToastContentDataAttributes.d.mts +10 -12
- package/toast/content/ToastContentDataAttributes.d.ts +10 -12
- package/toast/content/ToastContentDataAttributes.js +11 -14
- package/toast/content/ToastContentDataAttributes.mjs +10 -13
- package/toast/createToastManager.d.mts +2 -2
- package/toast/createToastManager.d.ts +2 -2
- package/toast/createToastManager.js +2 -2
- package/toast/createToastManager.mjs +2 -2
- package/toast/description/ToastDescriptionDataAttributes.d.mts +5 -7
- package/toast/description/ToastDescriptionDataAttributes.d.ts +5 -7
- package/toast/description/ToastDescriptionDataAttributes.js +6 -9
- package/toast/description/ToastDescriptionDataAttributes.mjs +5 -8
- package/toast/positioner/ToastPositioner.js +2 -1
- package/toast/positioner/ToastPositioner.mjs +2 -1
- package/toast/positioner/ToastPositionerCssVars.d.mts +25 -27
- package/toast/positioner/ToastPositionerCssVars.d.ts +25 -27
- package/toast/positioner/ToastPositionerCssVars.js +26 -29
- package/toast/positioner/ToastPositionerCssVars.mjs +25 -28
- package/toast/positioner/ToastPositionerDataAttributes.d.mts +14 -16
- package/toast/positioner/ToastPositionerDataAttributes.d.ts +14 -16
- package/toast/positioner/ToastPositionerDataAttributes.js +15 -18
- package/toast/positioner/ToastPositionerDataAttributes.mjs +15 -17
- package/toast/provider/ToastProvider.js +1 -1
- package/toast/provider/ToastProvider.mjs +1 -1
- package/toast/root/ToastRoot.js +10 -7
- package/toast/root/ToastRoot.mjs +10 -7
- package/toast/root/ToastRootCssVars.d.mts +25 -27
- package/toast/root/ToastRootCssVars.d.ts +25 -27
- package/toast/root/ToastRootCssVars.js +26 -29
- package/toast/root/ToastRootCssVars.mjs +25 -28
- package/toast/root/ToastRootDataAttributes.d.mts +33 -35
- package/toast/root/ToastRootDataAttributes.d.ts +33 -35
- package/toast/root/ToastRootDataAttributes.js +34 -37
- package/toast/root/ToastRootDataAttributes.mjs +34 -36
- package/toast/store.d.mts +1 -1
- package/toast/store.d.ts +1 -1
- package/toast/store.js +9 -1
- package/toast/store.mjs +9 -1
- package/toast/title/ToastTitleDataAttributes.d.mts +5 -7
- package/toast/title/ToastTitleDataAttributes.d.ts +5 -7
- package/toast/title/ToastTitleDataAttributes.js +6 -9
- package/toast/title/ToastTitleDataAttributes.mjs +5 -8
- package/toast/useToastManager.d.mts +1 -1
- package/toast/useToastManager.d.ts +1 -1
- package/toast/viewport/ToastViewport.js +2 -1
- package/toast/viewport/ToastViewport.mjs +2 -1
- package/toast/viewport/ToastViewportCssVars.d.mts +5 -7
- package/toast/viewport/ToastViewportCssVars.d.ts +5 -7
- package/toast/viewport/ToastViewportCssVars.js +6 -9
- package/toast/viewport/ToastViewportCssVars.mjs +5 -8
- package/toast/viewport/ToastViewportDataAttributes.d.mts +5 -7
- package/toast/viewport/ToastViewportDataAttributes.d.ts +5 -7
- package/toast/viewport/ToastViewportDataAttributes.js +6 -9
- package/toast/viewport/ToastViewportDataAttributes.mjs +5 -8
- package/toggle/Toggle.js +1 -2
- package/toggle/Toggle.mjs +1 -2
- package/toggle/ToggleDataAttributes.d.mts +8 -10
- package/toggle/ToggleDataAttributes.d.ts +8 -10
- package/toggle/ToggleDataAttributes.js +9 -12
- package/toggle/ToggleDataAttributes.mjs +8 -11
- package/toggle-group/ToggleGroup.js +3 -1
- package/toggle-group/ToggleGroup.mjs +3 -1
- package/toggle-group/ToggleGroupDataAttributes.d.mts +13 -15
- package/toggle-group/ToggleGroupDataAttributes.d.ts +13 -15
- package/toggle-group/ToggleGroupDataAttributes.js +14 -17
- package/toggle-group/ToggleGroupDataAttributes.mjs +13 -16
- package/toolbar/button/ToolbarButtonDataAttributes.d.mts +13 -15
- package/toolbar/button/ToolbarButtonDataAttributes.d.ts +13 -15
- package/toolbar/button/ToolbarButtonDataAttributes.js +14 -17
- package/toolbar/button/ToolbarButtonDataAttributes.mjs +13 -16
- package/toolbar/group/ToolbarGroupDataAttributes.d.mts +9 -11
- package/toolbar/group/ToolbarGroupDataAttributes.d.ts +9 -11
- package/toolbar/group/ToolbarGroupDataAttributes.js +10 -13
- package/toolbar/group/ToolbarGroupDataAttributes.mjs +9 -12
- package/toolbar/input/ToolbarInputDataAttributes.d.mts +13 -15
- package/toolbar/input/ToolbarInputDataAttributes.d.ts +13 -15
- package/toolbar/input/ToolbarInputDataAttributes.js +14 -17
- package/toolbar/input/ToolbarInputDataAttributes.mjs +13 -16
- package/toolbar/link/ToolbarLinkDataAttributes.d.mts +5 -7
- package/toolbar/link/ToolbarLinkDataAttributes.d.ts +5 -7
- package/toolbar/link/ToolbarLinkDataAttributes.js +6 -9
- package/toolbar/link/ToolbarLinkDataAttributes.mjs +5 -8
- package/toolbar/root/ToolbarRootDataAttributes.d.mts +9 -11
- package/toolbar/root/ToolbarRootDataAttributes.d.ts +9 -11
- package/toolbar/root/ToolbarRootDataAttributes.js +10 -13
- package/toolbar/root/ToolbarRootDataAttributes.mjs +9 -12
- package/toolbar/separator/ToolbarSeparatorDataAttributes.d.mts +5 -7
- package/toolbar/separator/ToolbarSeparatorDataAttributes.d.ts +5 -7
- package/toolbar/separator/ToolbarSeparatorDataAttributes.js +6 -9
- package/toolbar/separator/ToolbarSeparatorDataAttributes.mjs +5 -8
- package/tooltip/arrow/TooltipArrowDataAttributes.d.mts +27 -29
- package/tooltip/arrow/TooltipArrowDataAttributes.d.ts +27 -29
- package/tooltip/arrow/TooltipArrowDataAttributes.js +28 -31
- package/tooltip/arrow/TooltipArrowDataAttributes.mjs +28 -30
- package/tooltip/popup/TooltipPopupDataAttributes.d.mts +31 -33
- package/tooltip/popup/TooltipPopupDataAttributes.d.ts +31 -33
- package/tooltip/popup/TooltipPopupDataAttributes.js +32 -35
- package/tooltip/popup/TooltipPopupDataAttributes.mjs +32 -34
- package/tooltip/positioner/TooltipPositionerCssVars.d.mts +37 -39
- package/tooltip/positioner/TooltipPositionerCssVars.d.ts +37 -39
- package/tooltip/positioner/TooltipPositionerCssVars.js +38 -41
- package/tooltip/positioner/TooltipPositionerCssVars.mjs +37 -40
- package/tooltip/positioner/TooltipPositionerDataAttributes.d.mts +22 -24
- package/tooltip/positioner/TooltipPositionerDataAttributes.d.ts +22 -24
- package/tooltip/positioner/TooltipPositionerDataAttributes.js +23 -26
- package/tooltip/positioner/TooltipPositionerDataAttributes.mjs +23 -25
- package/tooltip/root/TooltipRoot.d.mts +1 -1
- package/tooltip/root/TooltipRoot.d.ts +1 -1
- package/tooltip/store/TooltipStore.js +1 -2
- package/tooltip/store/TooltipStore.mjs +2 -3
- package/tooltip/trigger/TooltipTrigger.js +7 -5
- package/tooltip/trigger/TooltipTrigger.mjs +7 -5
- package/tooltip/trigger/TooltipTriggerDataAttributes.d.mts +8 -10
- package/tooltip/trigger/TooltipTriggerDataAttributes.d.ts +8 -10
- package/tooltip/trigger/TooltipTriggerDataAttributes.js +9 -12
- package/tooltip/trigger/TooltipTriggerDataAttributes.mjs +9 -11
- package/tooltip/viewport/TooltipViewportCssVars.d.mts +12 -14
- package/tooltip/viewport/TooltipViewportCssVars.d.ts +12 -14
- package/tooltip/viewport/TooltipViewportCssVars.js +13 -16
- package/tooltip/viewport/TooltipViewportCssVars.mjs +12 -15
- package/tooltip/viewport/TooltipViewportDataAttributes.d.mts +24 -26
- package/tooltip/viewport/TooltipViewportDataAttributes.d.ts +24 -26
- package/tooltip/viewport/TooltipViewportDataAttributes.js +25 -28
- package/tooltip/viewport/TooltipViewportDataAttributes.mjs +24 -27
- package/utils/CommonPopupCssVars.d.mts +12 -0
- package/utils/CommonPopupCssVars.d.ts +12 -0
- package/utils/CommonPopupCssVars.js +18 -0
- package/utils/CommonPopupCssVars.mjs +12 -0
- package/utils/CommonPopupDataAttributes.d.mts +30 -0
- package/utils/CommonPopupDataAttributes.d.ts +30 -0
- package/utils/CommonPopupDataAttributes.js +44 -0
- package/utils/CommonPopupDataAttributes.mjs +38 -0
- package/utils/CommonPositionerCssVars.d.mts +37 -0
- package/utils/CommonPositionerCssVars.d.ts +37 -0
- package/utils/CommonPositionerCssVars.js +43 -0
- package/utils/CommonPositionerCssVars.mjs +37 -0
- package/utils/CommonTriggerDataAttributes.d.mts +8 -0
- package/utils/CommonTriggerDataAttributes.d.ts +8 -0
- package/utils/CommonTriggerDataAttributes.js +15 -0
- package/utils/CommonTriggerDataAttributes.mjs +9 -0
- package/utils/CommonViewportDataAttributes.d.mts +7 -0
- package/utils/CommonViewportDataAttributes.d.ts +7 -0
- package/utils/CommonViewportDataAttributes.js +13 -0
- package/utils/CommonViewportDataAttributes.mjs +7 -0
- package/utils/NullStore.d.mts +2 -2
- package/utils/NullStore.d.ts +2 -2
- package/utils/collapsibleOpenStateMapping.js +6 -5
- package/utils/collapsibleOpenStateMapping.mjs +2 -2
- package/utils/getElementTransform.d.mts +12 -0
- package/utils/getElementTransform.d.ts +12 -0
- package/utils/getElementTransform.js +40 -0
- package/utils/getElementTransform.mjs +35 -0
- package/utils/popupStateMapping.d.mts +12 -51
- package/utils/popupStateMapping.d.ts +12 -51
- package/utils/popupStateMapping.js +11 -51
- package/utils/popupStateMapping.mjs +10 -54
- package/utils/popups/popupHandle.js +2 -2
- package/utils/popups/popupHandle.mjs +2 -2
- package/utils/popups/popupStoreUtils.d.mts +28 -11
- package/utils/popups/popupStoreUtils.d.ts +28 -11
- package/utils/popups/popupStoreUtils.js +82 -55
- package/utils/popups/popupStoreUtils.mjs +81 -54
- package/utils/popups/store.d.mts +7 -5
- package/utils/popups/store.d.ts +7 -5
- package/utils/popups/store.js +13 -18
- package/utils/popups/store.mjs +13 -17
- package/utils/scrollEdges.js +1 -1
- package/utils/scrollEdges.mjs +1 -1
- package/utils/styles.d.mts +1 -1
- package/utils/styles.d.ts +1 -1
- package/utils/usePopupAutoResize.js +10 -8
- package/utils/usePopupAutoResize.mjs +11 -8
- package/utils/usePopupViewport.js +5 -3
- package/utils/usePopupViewport.mjs +5 -3
- package/utils/useSwipeDismiss.d.mts +0 -5
- package/utils/useSwipeDismiss.d.ts +0 -5
- package/utils/useSwipeDismiss.js +14 -33
- package/utils/useSwipeDismiss.mjs +14 -32
- package/internals/areArraysEqual.d.mts +0 -3
- package/internals/areArraysEqual.d.ts +0 -3
- package/internals/areArraysEqual.js +0 -9
- package/internals/areArraysEqual.mjs +0 -3
- package/internals/clamp.d.mts +0 -1
- package/internals/clamp.d.ts +0 -1
- package/internals/clamp.js +0 -9
- package/internals/clamp.mjs +0 -3
- package/internals/shadowDom.d.mts +0 -3
- package/internals/shadowDom.d.ts +0 -3
- package/internals/shadowDom.js +0 -48
- package/internals/shadowDom.mjs +0 -40
- package/utils/formatNumber.d.mts +0 -3
- package/utils/formatNumber.d.ts +0 -3
- package/utils/formatNumber.js +0 -29
- package/utils/formatNumber.mjs +0 -21
- package/utils/stringifyLocale.d.mts +0 -1
- package/utils/stringifyLocale.d.ts +0 -1
- package/utils/stringifyLocale.js +0 -15
- package/utils/stringifyLocale.mjs +0 -9
- /package/drawer/content/{DrawerContentDataAttributes.d.mts → drawerContentAttribute.d.mts} +0 -0
- /package/drawer/content/{DrawerContentDataAttributes.d.ts → drawerContentAttribute.d.ts} +0 -0
- /package/drawer/content/{DrawerContentDataAttributes.js → drawerContentAttribute.js} +0 -0
- /package/drawer/content/{DrawerContentDataAttributes.mjs → drawerContentAttribute.mjs} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ReactStore } from '@base-ui/utils/store';
|
|
3
3
|
import type { InteractionType } from '@base-ui/utils/useEnhancedClickHandler';
|
|
4
|
+
import { type SyncedFloatingRootContextStore } from "../../floating-ui-react/hooks/useSyncedFloatingRootContext.mjs";
|
|
4
5
|
import { type BaseUIChangeEventDetails } from "../../internals/createBaseUIEventDetails.mjs";
|
|
5
6
|
import { REASONS } from "../../internals/reasons.mjs";
|
|
6
|
-
import { PopupStoreState, PopupStoreContext, popupStoreSelectors,
|
|
7
|
+
import { PopupStoreState, PopupStoreContext, popupStoreSelectors, PopupTriggerDataStore } from "./store.mjs";
|
|
7
8
|
export declare const FOCUSABLE_POPUP_PROPS: {
|
|
8
9
|
tabIndex: number;
|
|
9
10
|
"data-base-ui-focusable": string;
|
|
@@ -14,7 +15,7 @@ export declare const FOCUSABLE_POPUP_PROPS: {
|
|
|
14
15
|
* specifically; iOS handles this automatically). Otherwise it falls back to the default behavior.
|
|
15
16
|
*/
|
|
16
17
|
export declare function createDefaultInitialFocus(popupRef: React.RefObject<HTMLElement | null>): (interactionType: InteractionType) => true | HTMLElement | null;
|
|
17
|
-
type PopupStoreWithOpen<State extends PopupStoreState<unknown>, SetOpenEventDetails extends BaseUIChangeEventDetails<string>> =
|
|
18
|
+
type PopupStoreWithOpen<State extends PopupStoreState<unknown>, SetOpenEventDetails extends BaseUIChangeEventDetails<string>> = PopupTriggerDataStore<State> & Pick<SyncedFloatingRootContextStore<State>, 'useSyncedValue'> & {
|
|
18
19
|
setOpen(open: boolean, eventDetails: SetOpenEventDetails): void;
|
|
19
20
|
};
|
|
20
21
|
/**
|
|
@@ -53,12 +54,23 @@ export declare function PopupHandleAttachment<Store>({
|
|
|
53
54
|
store: Store;
|
|
54
55
|
}): null;
|
|
55
56
|
/**
|
|
56
|
-
* Returns a callback ref that registers/unregisters the trigger element in the store.
|
|
57
|
+
* Returns a stable callback ref that registers/unregisters the trigger element in the store.
|
|
57
58
|
*
|
|
59
|
+
* Stable so a downstream ref merger that retains the callback it was first given still reaches the
|
|
60
|
+
* trigger's current store. The registration is tracked as a `(store, id, element)` triple, so
|
|
61
|
+
* unregistering targets the store the element was actually registered in.
|
|
62
|
+
*
|
|
63
|
+
* Since the callback never changes, the caller must re-run it from a layout effect keyed on
|
|
64
|
+
* `[store, id]` to migrate an already-registered element. That effect is also what registers the
|
|
65
|
+
* element in the first place when `id` only resolves after the first commit (React 17's `useId`
|
|
66
|
+
* fallback), because the register call made while the id is still `undefined` does nothing.
|
|
67
|
+
*
|
|
68
|
+
* @param id Id of the trigger.
|
|
58
69
|
* @param store The Store instance where the trigger should be registered.
|
|
59
70
|
*/
|
|
60
71
|
export declare function useTriggerRegistration<State extends PopupStoreState<unknown>>(id: string | undefined, store: PopupTriggerDataStore<State>): (element: Element | null) => void;
|
|
61
|
-
|
|
72
|
+
type PopupOpenState = Pick<PopupStoreState<unknown>, 'open' | 'preventUnmountingOnClose' | 'activeTriggerId' | 'activeTriggerElement'>;
|
|
73
|
+
export declare function createPopupOpenState(state: PopupOpenState, open: boolean, trigger: Element | undefined, preventUnmountOnClose?: boolean): PopupOpenState;
|
|
62
74
|
export declare function attachPreventUnmountOnClose(eventDetails: {
|
|
63
75
|
preventUnmountOnClose(): void;
|
|
64
76
|
}): () => boolean;
|
|
@@ -72,15 +84,15 @@ export declare function attachPreventUnmountOnClose(eventDetails: {
|
|
|
72
84
|
*/
|
|
73
85
|
export declare function applyPopupOpenChange<State extends PopupStoreState<unknown> & {
|
|
74
86
|
instantType?: 'delay' | 'dismiss' | 'focus' | undefined;
|
|
75
|
-
}, EventDetails extends BaseUIChangeEventDetails<string
|
|
87
|
+
}, EventDetails extends BaseUIChangeEventDetails<string>, ExtraKey extends keyof State = never>(store: {
|
|
76
88
|
readonly context: Pick<PopupStoreContext<EventDetails>, 'onOpenChange'>;
|
|
77
|
-
readonly state:
|
|
78
|
-
update(state:
|
|
89
|
+
readonly state: State;
|
|
90
|
+
update<const Key extends keyof State>(state: Pick<State, Key>): void;
|
|
79
91
|
}, nextOpen: boolean, eventDetails: EventDetails & {
|
|
80
92
|
preventUnmountOnClose(): void;
|
|
81
93
|
}, options?: {
|
|
82
94
|
onBeforeDispatch?: (() => void) | undefined;
|
|
83
|
-
extraState?:
|
|
95
|
+
extraState?: Pick<State, ExtraKey> | undefined;
|
|
84
96
|
}): void;
|
|
85
97
|
/**
|
|
86
98
|
* Sets up trigger data forwarding to the store.
|
|
@@ -90,7 +102,7 @@ export declare function applyPopupOpenChange<State extends PopupStoreState<unkno
|
|
|
90
102
|
* @param store The Store instance managing the popup state.
|
|
91
103
|
* @param stateUpdates An object with state updates to apply when the trigger is active.
|
|
92
104
|
*/
|
|
93
|
-
export declare function useTriggerDataForwarding<State extends PopupStoreState<unknown>>(triggerId: string | undefined, triggerElementRef: React.RefObject<Element | null>, store: PopupTriggerDataStore<State>, stateUpdates:
|
|
105
|
+
export declare function useTriggerDataForwarding<State extends PopupStoreState<unknown>, const Key extends keyof Omit<State, 'activeTriggerId' | 'activeTriggerElement'>>(triggerId: string | undefined, triggerElementRef: React.RefObject<Element | null>, store: PopupTriggerDataStore<State>, stateUpdates: Pick<State, Key>): {
|
|
94
106
|
registerTrigger: (element: Element | null) => void;
|
|
95
107
|
isMountedByThisTrigger: boolean;
|
|
96
108
|
};
|
|
@@ -130,14 +142,19 @@ export declare function useImplicitActiveTrigger<State extends PopupStoreState<u
|
|
|
130
142
|
* @param open Whether the popup is open.
|
|
131
143
|
* @param store The Store instance managing the popup state.
|
|
132
144
|
* @param onUnmount Optional callback to be called when the popup is unmounted.
|
|
145
|
+
* @param animateInitialOpen Whether a popup that mounts already open should still play its enter
|
|
146
|
+
* transition. Defaults to `false`, so content that was open on the first render (a `defaultOpen`
|
|
147
|
+
* popup on page load, SSR'd markup) appears without animating. Opt in for popups whose subtree
|
|
148
|
+
* only mounts in response to something the user did, such as a submenu inside a menu popup.
|
|
133
149
|
*
|
|
134
150
|
* @returns A function to forcibly unmount the popup.
|
|
135
151
|
*/
|
|
136
|
-
export declare function useOpenStateTransitions<State extends PopupStoreState<unknown>>(open: boolean, store: ReactStore<State, PopupStoreContext<never>, typeof popupStoreSelectors>, onUnmount?: () => void): {
|
|
152
|
+
export declare function useOpenStateTransitions<State extends PopupStoreState<unknown>>(open: boolean, store: ReactStore<State, PopupStoreContext<never>, typeof popupStoreSelectors>, onUnmount?: () => void, animateInitialOpen?: boolean): {
|
|
137
153
|
forceUnmount: () => void;
|
|
138
154
|
transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus;
|
|
139
155
|
};
|
|
140
|
-
|
|
156
|
+
type PopupInteractionPropKey = 'activeTriggerProps' | 'inactiveTriggerProps' | 'popupProps';
|
|
157
|
+
export declare function usePopupInteractionProps<State extends PopupStoreState<unknown>, const Key extends keyof State>(store: ReactStore<State, PopupStoreContext<never>, typeof popupStoreSelectors>, statePart: Pick<State, Key | PopupInteractionPropKey>): void;
|
|
141
158
|
export declare function usePopupRootSync<State extends PopupStoreState<unknown> & {
|
|
142
159
|
openMethod: InteractionType | null;
|
|
143
160
|
}>(store: ReactStore<State, PopupStoreContext<never>, typeof popupStoreSelectors>, open: boolean): void;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ReactStore } from '@base-ui/utils/store';
|
|
3
3
|
import type { InteractionType } from '@base-ui/utils/useEnhancedClickHandler';
|
|
4
|
+
import { type SyncedFloatingRootContextStore } from "../../floating-ui-react/hooks/useSyncedFloatingRootContext.js";
|
|
4
5
|
import { type BaseUIChangeEventDetails } from "../../internals/createBaseUIEventDetails.js";
|
|
5
6
|
import { REASONS } from "../../internals/reasons.js";
|
|
6
|
-
import { PopupStoreState, PopupStoreContext, popupStoreSelectors,
|
|
7
|
+
import { PopupStoreState, PopupStoreContext, popupStoreSelectors, PopupTriggerDataStore } from "./store.js";
|
|
7
8
|
export declare const FOCUSABLE_POPUP_PROPS: {
|
|
8
9
|
tabIndex: number;
|
|
9
10
|
"data-base-ui-focusable": string;
|
|
@@ -14,7 +15,7 @@ export declare const FOCUSABLE_POPUP_PROPS: {
|
|
|
14
15
|
* specifically; iOS handles this automatically). Otherwise it falls back to the default behavior.
|
|
15
16
|
*/
|
|
16
17
|
export declare function createDefaultInitialFocus(popupRef: React.RefObject<HTMLElement | null>): (interactionType: InteractionType) => true | HTMLElement | null;
|
|
17
|
-
type PopupStoreWithOpen<State extends PopupStoreState<unknown>, SetOpenEventDetails extends BaseUIChangeEventDetails<string>> =
|
|
18
|
+
type PopupStoreWithOpen<State extends PopupStoreState<unknown>, SetOpenEventDetails extends BaseUIChangeEventDetails<string>> = PopupTriggerDataStore<State> & Pick<SyncedFloatingRootContextStore<State>, 'useSyncedValue'> & {
|
|
18
19
|
setOpen(open: boolean, eventDetails: SetOpenEventDetails): void;
|
|
19
20
|
};
|
|
20
21
|
/**
|
|
@@ -53,12 +54,23 @@ export declare function PopupHandleAttachment<Store>({
|
|
|
53
54
|
store: Store;
|
|
54
55
|
}): null;
|
|
55
56
|
/**
|
|
56
|
-
* Returns a callback ref that registers/unregisters the trigger element in the store.
|
|
57
|
+
* Returns a stable callback ref that registers/unregisters the trigger element in the store.
|
|
57
58
|
*
|
|
59
|
+
* Stable so a downstream ref merger that retains the callback it was first given still reaches the
|
|
60
|
+
* trigger's current store. The registration is tracked as a `(store, id, element)` triple, so
|
|
61
|
+
* unregistering targets the store the element was actually registered in.
|
|
62
|
+
*
|
|
63
|
+
* Since the callback never changes, the caller must re-run it from a layout effect keyed on
|
|
64
|
+
* `[store, id]` to migrate an already-registered element. That effect is also what registers the
|
|
65
|
+
* element in the first place when `id` only resolves after the first commit (React 17's `useId`
|
|
66
|
+
* fallback), because the register call made while the id is still `undefined` does nothing.
|
|
67
|
+
*
|
|
68
|
+
* @param id Id of the trigger.
|
|
58
69
|
* @param store The Store instance where the trigger should be registered.
|
|
59
70
|
*/
|
|
60
71
|
export declare function useTriggerRegistration<State extends PopupStoreState<unknown>>(id: string | undefined, store: PopupTriggerDataStore<State>): (element: Element | null) => void;
|
|
61
|
-
|
|
72
|
+
type PopupOpenState = Pick<PopupStoreState<unknown>, 'open' | 'preventUnmountingOnClose' | 'activeTriggerId' | 'activeTriggerElement'>;
|
|
73
|
+
export declare function createPopupOpenState(state: PopupOpenState, open: boolean, trigger: Element | undefined, preventUnmountOnClose?: boolean): PopupOpenState;
|
|
62
74
|
export declare function attachPreventUnmountOnClose(eventDetails: {
|
|
63
75
|
preventUnmountOnClose(): void;
|
|
64
76
|
}): () => boolean;
|
|
@@ -72,15 +84,15 @@ export declare function attachPreventUnmountOnClose(eventDetails: {
|
|
|
72
84
|
*/
|
|
73
85
|
export declare function applyPopupOpenChange<State extends PopupStoreState<unknown> & {
|
|
74
86
|
instantType?: 'delay' | 'dismiss' | 'focus' | undefined;
|
|
75
|
-
}, EventDetails extends BaseUIChangeEventDetails<string
|
|
87
|
+
}, EventDetails extends BaseUIChangeEventDetails<string>, ExtraKey extends keyof State = never>(store: {
|
|
76
88
|
readonly context: Pick<PopupStoreContext<EventDetails>, 'onOpenChange'>;
|
|
77
|
-
readonly state:
|
|
78
|
-
update(state:
|
|
89
|
+
readonly state: State;
|
|
90
|
+
update<const Key extends keyof State>(state: Pick<State, Key>): void;
|
|
79
91
|
}, nextOpen: boolean, eventDetails: EventDetails & {
|
|
80
92
|
preventUnmountOnClose(): void;
|
|
81
93
|
}, options?: {
|
|
82
94
|
onBeforeDispatch?: (() => void) | undefined;
|
|
83
|
-
extraState?:
|
|
95
|
+
extraState?: Pick<State, ExtraKey> | undefined;
|
|
84
96
|
}): void;
|
|
85
97
|
/**
|
|
86
98
|
* Sets up trigger data forwarding to the store.
|
|
@@ -90,7 +102,7 @@ export declare function applyPopupOpenChange<State extends PopupStoreState<unkno
|
|
|
90
102
|
* @param store The Store instance managing the popup state.
|
|
91
103
|
* @param stateUpdates An object with state updates to apply when the trigger is active.
|
|
92
104
|
*/
|
|
93
|
-
export declare function useTriggerDataForwarding<State extends PopupStoreState<unknown>>(triggerId: string | undefined, triggerElementRef: React.RefObject<Element | null>, store: PopupTriggerDataStore<State>, stateUpdates:
|
|
105
|
+
export declare function useTriggerDataForwarding<State extends PopupStoreState<unknown>, const Key extends keyof Omit<State, 'activeTriggerId' | 'activeTriggerElement'>>(triggerId: string | undefined, triggerElementRef: React.RefObject<Element | null>, store: PopupTriggerDataStore<State>, stateUpdates: Pick<State, Key>): {
|
|
94
106
|
registerTrigger: (element: Element | null) => void;
|
|
95
107
|
isMountedByThisTrigger: boolean;
|
|
96
108
|
};
|
|
@@ -130,14 +142,19 @@ export declare function useImplicitActiveTrigger<State extends PopupStoreState<u
|
|
|
130
142
|
* @param open Whether the popup is open.
|
|
131
143
|
* @param store The Store instance managing the popup state.
|
|
132
144
|
* @param onUnmount Optional callback to be called when the popup is unmounted.
|
|
145
|
+
* @param animateInitialOpen Whether a popup that mounts already open should still play its enter
|
|
146
|
+
* transition. Defaults to `false`, so content that was open on the first render (a `defaultOpen`
|
|
147
|
+
* popup on page load, SSR'd markup) appears without animating. Opt in for popups whose subtree
|
|
148
|
+
* only mounts in response to something the user did, such as a submenu inside a menu popup.
|
|
133
149
|
*
|
|
134
150
|
* @returns A function to forcibly unmount the popup.
|
|
135
151
|
*/
|
|
136
|
-
export declare function useOpenStateTransitions<State extends PopupStoreState<unknown>>(open: boolean, store: ReactStore<State, PopupStoreContext<never>, typeof popupStoreSelectors>, onUnmount?: () => void): {
|
|
152
|
+
export declare function useOpenStateTransitions<State extends PopupStoreState<unknown>>(open: boolean, store: ReactStore<State, PopupStoreContext<never>, typeof popupStoreSelectors>, onUnmount?: () => void, animateInitialOpen?: boolean): {
|
|
137
153
|
forceUnmount: () => void;
|
|
138
154
|
transitionStatus: import("../../internals/useTransitionStatus.js").TransitionStatus;
|
|
139
155
|
};
|
|
140
|
-
|
|
156
|
+
type PopupInteractionPropKey = 'activeTriggerProps' | 'inactiveTriggerProps' | 'popupProps';
|
|
157
|
+
export declare function usePopupInteractionProps<State extends PopupStoreState<unknown>, const Key extends keyof State>(store: ReactStore<State, PopupStoreContext<never>, typeof popupStoreSelectors>, statePart: Pick<State, Key | PopupInteractionPropKey>): void;
|
|
141
158
|
export declare function usePopupRootSync<State extends PopupStoreState<unknown> & {
|
|
142
159
|
openMethod: InteractionType | null;
|
|
143
160
|
}>(store: ReactStore<State, PopupStoreContext<never>, typeof popupStoreSelectors>, open: boolean): void;
|
|
@@ -10,7 +10,7 @@ exports.PopupHandleAttachment = PopupHandleAttachment;
|
|
|
10
10
|
exports.applyPopupOpenChange = applyPopupOpenChange;
|
|
11
11
|
exports.attachPreventUnmountOnClose = attachPreventUnmountOnClose;
|
|
12
12
|
exports.createDefaultInitialFocus = createDefaultInitialFocus;
|
|
13
|
-
exports.
|
|
13
|
+
exports.createPopupOpenState = createPopupOpenState;
|
|
14
14
|
exports.useImplicitActiveTrigger = useImplicitActiveTrigger;
|
|
15
15
|
exports.useOpenStateTransitions = useOpenStateTransitions;
|
|
16
16
|
exports.usePopupInteractionProps = usePopupInteractionProps;
|
|
@@ -95,61 +95,79 @@ function PopupHandleAttachment({
|
|
|
95
95
|
}, [handle, store]);
|
|
96
96
|
return null;
|
|
97
97
|
}
|
|
98
|
+
function syncTriggerCount(store) {
|
|
99
|
+
const triggerCount = store.context.triggerElements.size;
|
|
100
|
+
if (store.select('open') && store.state.triggerCount !== triggerCount) {
|
|
101
|
+
store.set('triggerCount', triggerCount);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
98
104
|
|
|
99
105
|
/**
|
|
100
|
-
* Returns a callback ref that registers/unregisters the trigger element in the store.
|
|
106
|
+
* Returns a stable callback ref that registers/unregisters the trigger element in the store.
|
|
107
|
+
*
|
|
108
|
+
* Stable so a downstream ref merger that retains the callback it was first given still reaches the
|
|
109
|
+
* trigger's current store. The registration is tracked as a `(store, id, element)` triple, so
|
|
110
|
+
* unregistering targets the store the element was actually registered in.
|
|
111
|
+
*
|
|
112
|
+
* Since the callback never changes, the caller must re-run it from a layout effect keyed on
|
|
113
|
+
* `[store, id]` to migrate an already-registered element. That effect is also what registers the
|
|
114
|
+
* element in the first place when `id` only resolves after the first commit (React 17's `useId`
|
|
115
|
+
* fallback), because the register call made while the id is still `undefined` does nothing.
|
|
101
116
|
*
|
|
117
|
+
* @param id Id of the trigger.
|
|
102
118
|
* @param store The Store instance where the trigger should be registered.
|
|
103
119
|
*/
|
|
104
120
|
function useTriggerRegistration(id, store) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
store.context.triggerElements.delete(registeredId);
|
|
119
|
-
shouldSyncTriggerCount = true;
|
|
121
|
+
const registrationRef = React.useRef(null);
|
|
122
|
+
return (0, _useStableCallback.useStableCallback)(element => {
|
|
123
|
+
const registration = registrationRef.current;
|
|
124
|
+
if (registration !== null) {
|
|
125
|
+
if (registration.element === element && registration.store === store && registration.id === id) {
|
|
126
|
+
// Already registered where it belongs, so the caller's migration effect is free on mount.
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
registrationRef.current = null;
|
|
130
|
+
const registeredStore = registration.store;
|
|
131
|
+
if (registeredStore.context.triggerElements.getById(registration.id) === registration.element) {
|
|
132
|
+
registeredStore.context.triggerElements.delete(registration.id);
|
|
133
|
+
syncTriggerCount(registeredStore);
|
|
120
134
|
}
|
|
121
|
-
registeredElementIdRef.current = null;
|
|
122
|
-
registeredElementRef.current = null;
|
|
123
135
|
}
|
|
124
|
-
if (element !== null) {
|
|
125
|
-
|
|
126
|
-
|
|
136
|
+
if (element !== null && id !== undefined) {
|
|
137
|
+
registrationRef.current = {
|
|
138
|
+
store,
|
|
139
|
+
id,
|
|
140
|
+
element
|
|
141
|
+
};
|
|
127
142
|
store.context.triggerElements.add(id, element);
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
if (shouldSyncTriggerCount) {
|
|
131
|
-
const triggerCount = store.context.triggerElements.size;
|
|
132
|
-
if (store.select('open') && store.state.triggerCount !== triggerCount) {
|
|
133
|
-
store.set('triggerCount', triggerCount);
|
|
134
|
-
}
|
|
143
|
+
syncTriggerCount(store);
|
|
135
144
|
}
|
|
136
|
-
}
|
|
145
|
+
});
|
|
137
146
|
}
|
|
138
|
-
function
|
|
147
|
+
function createPopupOpenState(state, open, trigger, preventUnmountOnClose = false) {
|
|
148
|
+
let preventUnmountingOnClose = state.preventUnmountingOnClose;
|
|
139
149
|
if (open) {
|
|
140
150
|
// Opening starts a new close cycle, so clear any previous request to keep the popup mounted.
|
|
141
|
-
|
|
151
|
+
preventUnmountingOnClose = false;
|
|
142
152
|
} else if (preventUnmountOnClose) {
|
|
143
|
-
|
|
153
|
+
preventUnmountingOnClose = true;
|
|
144
154
|
}
|
|
145
155
|
const triggerId = trigger?.id ?? null;
|
|
156
|
+
let activeTriggerId = state.activeTriggerId;
|
|
157
|
+
let activeTriggerElement = state.activeTriggerElement;
|
|
146
158
|
|
|
147
159
|
// If a popup is closing, the `trigger` may be undefined.
|
|
148
160
|
// We want to keep the previous value so that exit animations are played and focus is returned correctly.
|
|
149
161
|
if (triggerId || open) {
|
|
150
|
-
|
|
151
|
-
|
|
162
|
+
activeTriggerId = triggerId;
|
|
163
|
+
activeTriggerElement = trigger ?? null;
|
|
152
164
|
}
|
|
165
|
+
return {
|
|
166
|
+
open,
|
|
167
|
+
preventUnmountingOnClose,
|
|
168
|
+
activeTriggerId,
|
|
169
|
+
activeTriggerElement
|
|
170
|
+
};
|
|
153
171
|
}
|
|
154
172
|
function attachPreventUnmountOnClose(eventDetails) {
|
|
155
173
|
let preventUnmountOnClose = false;
|
|
@@ -180,11 +198,10 @@ function applyPopupOpenChange(store, nextOpen, eventDetails, options = {}) {
|
|
|
180
198
|
options.onBeforeDispatch?.();
|
|
181
199
|
store.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);
|
|
182
200
|
const changeState = () => {
|
|
183
|
-
|
|
184
|
-
// sync with the value already passed to `dispatchOpenChange`/`setPopupOpenState`.
|
|
201
|
+
const popupOpenState = createPopupOpenState(store.state, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose());
|
|
185
202
|
const updatedState = {
|
|
186
203
|
...options.extraState,
|
|
187
|
-
|
|
204
|
+
...popupOpenState
|
|
188
205
|
};
|
|
189
206
|
if (isFocusOpen) {
|
|
190
207
|
updatedState.instantType = 'focus';
|
|
@@ -193,7 +210,6 @@ function applyPopupOpenChange(store, nextOpen, eventDetails, options = {}) {
|
|
|
193
210
|
} else if (isHover) {
|
|
194
211
|
updatedState.instantType = undefined;
|
|
195
212
|
}
|
|
196
|
-
setPopupOpenState(updatedState, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose());
|
|
197
213
|
store.update(updatedState);
|
|
198
214
|
};
|
|
199
215
|
if (isHover) {
|
|
@@ -223,41 +239,48 @@ function useTriggerDataForwarding(triggerId, triggerElementRef, store, stateUpda
|
|
|
223
239
|
const open = store.select('open');
|
|
224
240
|
const activeTriggerId = store.select('activeTriggerId');
|
|
225
241
|
if (activeTriggerId === triggerId) {
|
|
226
|
-
|
|
242
|
+
const changes = {
|
|
227
243
|
activeTriggerElement: element,
|
|
228
244
|
...(open ? stateUpdates : null)
|
|
229
|
-
}
|
|
245
|
+
};
|
|
246
|
+
store.update(changes);
|
|
230
247
|
return;
|
|
231
248
|
}
|
|
232
249
|
if (activeTriggerId == null && open) {
|
|
233
250
|
// If a popup is already open, a detached trigger can mount before any active trigger
|
|
234
251
|
// has been established. Claim the first registered trigger so trigger-owned focus
|
|
235
252
|
// management and ARIA relationships work.
|
|
236
|
-
|
|
237
|
-
activeTriggerId: triggerId,
|
|
253
|
+
const changes = {
|
|
254
|
+
activeTriggerId: triggerId ?? null,
|
|
238
255
|
activeTriggerElement: element,
|
|
239
256
|
...stateUpdates
|
|
240
|
-
}
|
|
257
|
+
};
|
|
258
|
+
store.update(changes);
|
|
241
259
|
}
|
|
242
260
|
});
|
|
243
261
|
|
|
244
|
-
//
|
|
245
|
-
//
|
|
246
|
-
|
|
247
|
-
// trigger follow its handle's currently-attached store across attach/detach/remount. (A stable
|
|
248
|
-
// callback would keep its identity and never re-fire on a store swap.)
|
|
249
|
-
const registerTrigger = React.useCallback(element => {
|
|
262
|
+
// Stable, so the merged ref on the rendered element keeps its identity for the trigger's whole
|
|
263
|
+
// lifetime.
|
|
264
|
+
const registerTrigger = (0, _useStableCallback.useStableCallback)(element => {
|
|
250
265
|
baseRegisterTrigger(element);
|
|
251
266
|
if (element) {
|
|
252
267
|
applyTriggerData(element);
|
|
253
268
|
}
|
|
254
|
-
}
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
// A stable ref does not re-fire on a store or id change, so migrate here instead: unregister from
|
|
272
|
+
// the previous store, then register the element the trigger still renders into the current one.
|
|
273
|
+
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
274
|
+
registerTrigger(triggerElementRef.current);
|
|
275
|
+
return () => registerTrigger(null);
|
|
276
|
+
}, [registerTrigger, triggerElementRef, store, triggerId]);
|
|
255
277
|
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
256
278
|
if (isMountedByThisTrigger) {
|
|
257
|
-
|
|
279
|
+
const changes = {
|
|
258
280
|
activeTriggerElement: triggerElementRef.current,
|
|
259
281
|
...stateUpdates
|
|
260
|
-
}
|
|
282
|
+
};
|
|
283
|
+
store.update(changes);
|
|
261
284
|
}
|
|
262
285
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
263
286
|
}, [isMountedByThisTrigger, store, triggerElementRef, ...Object.values(stateUpdates)]);
|
|
@@ -389,15 +412,19 @@ function useImplicitActiveTrigger(store, options = {}) {
|
|
|
389
412
|
* @param open Whether the popup is open.
|
|
390
413
|
* @param store The Store instance managing the popup state.
|
|
391
414
|
* @param onUnmount Optional callback to be called when the popup is unmounted.
|
|
415
|
+
* @param animateInitialOpen Whether a popup that mounts already open should still play its enter
|
|
416
|
+
* transition. Defaults to `false`, so content that was open on the first render (a `defaultOpen`
|
|
417
|
+
* popup on page load, SSR'd markup) appears without animating. Opt in for popups whose subtree
|
|
418
|
+
* only mounts in response to something the user did, such as a submenu inside a menu popup.
|
|
392
419
|
*
|
|
393
420
|
* @returns A function to forcibly unmount the popup.
|
|
394
421
|
*/
|
|
395
|
-
function useOpenStateTransitions(open, store, onUnmount) {
|
|
422
|
+
function useOpenStateTransitions(open, store, onUnmount, animateInitialOpen) {
|
|
396
423
|
const {
|
|
397
424
|
mounted,
|
|
398
425
|
setMounted,
|
|
399
426
|
transitionStatus
|
|
400
|
-
} = (0, _useTransitionStatus.useTransitionStatus)(open);
|
|
427
|
+
} = (0, _useTransitionStatus.useTransitionStatus)(open, false, false, animateInitialOpen);
|
|
401
428
|
const preventUnmountingOnClose = store.useState('preventUnmountingOnClose');
|
|
402
429
|
// Opening starts a new close cycle. Clear during render so the close-completion hook below
|
|
403
430
|
// reads the synchronized value on the same pass.
|
|
@@ -77,61 +77,79 @@ export function PopupHandleAttachment({
|
|
|
77
77
|
}, [handle, store]);
|
|
78
78
|
return null;
|
|
79
79
|
}
|
|
80
|
+
function syncTriggerCount(store) {
|
|
81
|
+
const triggerCount = store.context.triggerElements.size;
|
|
82
|
+
if (store.select('open') && store.state.triggerCount !== triggerCount) {
|
|
83
|
+
store.set('triggerCount', triggerCount);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
80
86
|
|
|
81
87
|
/**
|
|
82
|
-
* Returns a callback ref that registers/unregisters the trigger element in the store.
|
|
88
|
+
* Returns a stable callback ref that registers/unregisters the trigger element in the store.
|
|
89
|
+
*
|
|
90
|
+
* Stable so a downstream ref merger that retains the callback it was first given still reaches the
|
|
91
|
+
* trigger's current store. The registration is tracked as a `(store, id, element)` triple, so
|
|
92
|
+
* unregistering targets the store the element was actually registered in.
|
|
93
|
+
*
|
|
94
|
+
* Since the callback never changes, the caller must re-run it from a layout effect keyed on
|
|
95
|
+
* `[store, id]` to migrate an already-registered element. That effect is also what registers the
|
|
96
|
+
* element in the first place when `id` only resolves after the first commit (React 17's `useId`
|
|
97
|
+
* fallback), because the register call made while the id is still `undefined` does nothing.
|
|
83
98
|
*
|
|
99
|
+
* @param id Id of the trigger.
|
|
84
100
|
* @param store The Store instance where the trigger should be registered.
|
|
85
101
|
*/
|
|
86
102
|
export function useTriggerRegistration(id, store) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
store.context.triggerElements.delete(registeredId);
|
|
101
|
-
shouldSyncTriggerCount = true;
|
|
103
|
+
const registrationRef = React.useRef(null);
|
|
104
|
+
return useStableCallback(element => {
|
|
105
|
+
const registration = registrationRef.current;
|
|
106
|
+
if (registration !== null) {
|
|
107
|
+
if (registration.element === element && registration.store === store && registration.id === id) {
|
|
108
|
+
// Already registered where it belongs, so the caller's migration effect is free on mount.
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
registrationRef.current = null;
|
|
112
|
+
const registeredStore = registration.store;
|
|
113
|
+
if (registeredStore.context.triggerElements.getById(registration.id) === registration.element) {
|
|
114
|
+
registeredStore.context.triggerElements.delete(registration.id);
|
|
115
|
+
syncTriggerCount(registeredStore);
|
|
102
116
|
}
|
|
103
|
-
registeredElementIdRef.current = null;
|
|
104
|
-
registeredElementRef.current = null;
|
|
105
117
|
}
|
|
106
|
-
if (element !== null) {
|
|
107
|
-
|
|
108
|
-
|
|
118
|
+
if (element !== null && id !== undefined) {
|
|
119
|
+
registrationRef.current = {
|
|
120
|
+
store,
|
|
121
|
+
id,
|
|
122
|
+
element
|
|
123
|
+
};
|
|
109
124
|
store.context.triggerElements.add(id, element);
|
|
110
|
-
|
|
111
|
-
}
|
|
112
|
-
if (shouldSyncTriggerCount) {
|
|
113
|
-
const triggerCount = store.context.triggerElements.size;
|
|
114
|
-
if (store.select('open') && store.state.triggerCount !== triggerCount) {
|
|
115
|
-
store.set('triggerCount', triggerCount);
|
|
116
|
-
}
|
|
125
|
+
syncTriggerCount(store);
|
|
117
126
|
}
|
|
118
|
-
}
|
|
127
|
+
});
|
|
119
128
|
}
|
|
120
|
-
export function
|
|
129
|
+
export function createPopupOpenState(state, open, trigger, preventUnmountOnClose = false) {
|
|
130
|
+
let preventUnmountingOnClose = state.preventUnmountingOnClose;
|
|
121
131
|
if (open) {
|
|
122
132
|
// Opening starts a new close cycle, so clear any previous request to keep the popup mounted.
|
|
123
|
-
|
|
133
|
+
preventUnmountingOnClose = false;
|
|
124
134
|
} else if (preventUnmountOnClose) {
|
|
125
|
-
|
|
135
|
+
preventUnmountingOnClose = true;
|
|
126
136
|
}
|
|
127
137
|
const triggerId = trigger?.id ?? null;
|
|
138
|
+
let activeTriggerId = state.activeTriggerId;
|
|
139
|
+
let activeTriggerElement = state.activeTriggerElement;
|
|
128
140
|
|
|
129
141
|
// If a popup is closing, the `trigger` may be undefined.
|
|
130
142
|
// We want to keep the previous value so that exit animations are played and focus is returned correctly.
|
|
131
143
|
if (triggerId || open) {
|
|
132
|
-
|
|
133
|
-
|
|
144
|
+
activeTriggerId = triggerId;
|
|
145
|
+
activeTriggerElement = trigger ?? null;
|
|
134
146
|
}
|
|
147
|
+
return {
|
|
148
|
+
open,
|
|
149
|
+
preventUnmountingOnClose,
|
|
150
|
+
activeTriggerId,
|
|
151
|
+
activeTriggerElement
|
|
152
|
+
};
|
|
135
153
|
}
|
|
136
154
|
export function attachPreventUnmountOnClose(eventDetails) {
|
|
137
155
|
let preventUnmountOnClose = false;
|
|
@@ -162,11 +180,10 @@ export function applyPopupOpenChange(store, nextOpen, eventDetails, options = {}
|
|
|
162
180
|
options.onBeforeDispatch?.();
|
|
163
181
|
store.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);
|
|
164
182
|
const changeState = () => {
|
|
165
|
-
|
|
166
|
-
// sync with the value already passed to `dispatchOpenChange`/`setPopupOpenState`.
|
|
183
|
+
const popupOpenState = createPopupOpenState(store.state, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose());
|
|
167
184
|
const updatedState = {
|
|
168
185
|
...options.extraState,
|
|
169
|
-
|
|
186
|
+
...popupOpenState
|
|
170
187
|
};
|
|
171
188
|
if (isFocusOpen) {
|
|
172
189
|
updatedState.instantType = 'focus';
|
|
@@ -175,7 +192,6 @@ export function applyPopupOpenChange(store, nextOpen, eventDetails, options = {}
|
|
|
175
192
|
} else if (isHover) {
|
|
176
193
|
updatedState.instantType = undefined;
|
|
177
194
|
}
|
|
178
|
-
setPopupOpenState(updatedState, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose());
|
|
179
195
|
store.update(updatedState);
|
|
180
196
|
};
|
|
181
197
|
if (isHover) {
|
|
@@ -205,41 +221,48 @@ export function useTriggerDataForwarding(triggerId, triggerElementRef, store, st
|
|
|
205
221
|
const open = store.select('open');
|
|
206
222
|
const activeTriggerId = store.select('activeTriggerId');
|
|
207
223
|
if (activeTriggerId === triggerId) {
|
|
208
|
-
|
|
224
|
+
const changes = {
|
|
209
225
|
activeTriggerElement: element,
|
|
210
226
|
...(open ? stateUpdates : null)
|
|
211
|
-
}
|
|
227
|
+
};
|
|
228
|
+
store.update(changes);
|
|
212
229
|
return;
|
|
213
230
|
}
|
|
214
231
|
if (activeTriggerId == null && open) {
|
|
215
232
|
// If a popup is already open, a detached trigger can mount before any active trigger
|
|
216
233
|
// has been established. Claim the first registered trigger so trigger-owned focus
|
|
217
234
|
// management and ARIA relationships work.
|
|
218
|
-
|
|
219
|
-
activeTriggerId: triggerId,
|
|
235
|
+
const changes = {
|
|
236
|
+
activeTriggerId: triggerId ?? null,
|
|
220
237
|
activeTriggerElement: element,
|
|
221
238
|
...stateUpdates
|
|
222
|
-
}
|
|
239
|
+
};
|
|
240
|
+
store.update(changes);
|
|
223
241
|
}
|
|
224
242
|
});
|
|
225
243
|
|
|
226
|
-
//
|
|
227
|
-
//
|
|
228
|
-
|
|
229
|
-
// trigger follow its handle's currently-attached store across attach/detach/remount. (A stable
|
|
230
|
-
// callback would keep its identity and never re-fire on a store swap.)
|
|
231
|
-
const registerTrigger = React.useCallback(element => {
|
|
244
|
+
// Stable, so the merged ref on the rendered element keeps its identity for the trigger's whole
|
|
245
|
+
// lifetime.
|
|
246
|
+
const registerTrigger = useStableCallback(element => {
|
|
232
247
|
baseRegisterTrigger(element);
|
|
233
248
|
if (element) {
|
|
234
249
|
applyTriggerData(element);
|
|
235
250
|
}
|
|
236
|
-
}
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
// A stable ref does not re-fire on a store or id change, so migrate here instead: unregister from
|
|
254
|
+
// the previous store, then register the element the trigger still renders into the current one.
|
|
255
|
+
useIsoLayoutEffect(() => {
|
|
256
|
+
registerTrigger(triggerElementRef.current);
|
|
257
|
+
return () => registerTrigger(null);
|
|
258
|
+
}, [registerTrigger, triggerElementRef, store, triggerId]);
|
|
237
259
|
useIsoLayoutEffect(() => {
|
|
238
260
|
if (isMountedByThisTrigger) {
|
|
239
|
-
|
|
261
|
+
const changes = {
|
|
240
262
|
activeTriggerElement: triggerElementRef.current,
|
|
241
263
|
...stateUpdates
|
|
242
|
-
}
|
|
264
|
+
};
|
|
265
|
+
store.update(changes);
|
|
243
266
|
}
|
|
244
267
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
245
268
|
}, [isMountedByThisTrigger, store, triggerElementRef, ...Object.values(stateUpdates)]);
|
|
@@ -371,15 +394,19 @@ export function useImplicitActiveTrigger(store, options = {}) {
|
|
|
371
394
|
* @param open Whether the popup is open.
|
|
372
395
|
* @param store The Store instance managing the popup state.
|
|
373
396
|
* @param onUnmount Optional callback to be called when the popup is unmounted.
|
|
397
|
+
* @param animateInitialOpen Whether a popup that mounts already open should still play its enter
|
|
398
|
+
* transition. Defaults to `false`, so content that was open on the first render (a `defaultOpen`
|
|
399
|
+
* popup on page load, SSR'd markup) appears without animating. Opt in for popups whose subtree
|
|
400
|
+
* only mounts in response to something the user did, such as a submenu inside a menu popup.
|
|
374
401
|
*
|
|
375
402
|
* @returns A function to forcibly unmount the popup.
|
|
376
403
|
*/
|
|
377
|
-
export function useOpenStateTransitions(open, store, onUnmount) {
|
|
404
|
+
export function useOpenStateTransitions(open, store, onUnmount, animateInitialOpen) {
|
|
378
405
|
const {
|
|
379
406
|
mounted,
|
|
380
407
|
setMounted,
|
|
381
408
|
transitionStatus
|
|
382
|
-
} = useTransitionStatus(open);
|
|
409
|
+
} = useTransitionStatus(open, false, false, animateInitialOpen);
|
|
383
410
|
const preventUnmountingOnClose = store.useState('preventUnmountingOnClose');
|
|
384
411
|
// Opening starts a new close cycle. Clear during render so the close-completion hook below
|
|
385
412
|
// reads the synchronized value on the same pass.
|