@base-ui/react 1.6.0 → 1.7.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 +229 -0
- package/accordion/item/AccordionItem.js +6 -13
- package/accordion/item/AccordionItem.mjs +6 -13
- package/accordion/item/AccordionItemContext.d.mts +2 -1
- package/accordion/item/AccordionItemContext.d.ts +2 -1
- package/accordion/item/stateAttributesMapping.js +3 -5
- package/accordion/item/stateAttributesMapping.mjs +3 -5
- package/accordion/panel/AccordionPanel.js +12 -11
- package/accordion/panel/AccordionPanel.mjs +12 -11
- package/accordion/panel/AccordionPanelDataAttributes.d.mts +1 -1
- package/accordion/panel/AccordionPanelDataAttributes.d.ts +1 -1
- package/accordion/panel/AccordionPanelDataAttributes.js +1 -1
- package/accordion/panel/AccordionPanelDataAttributes.mjs +1 -1
- package/accordion/root/AccordionRoot.js +4 -7
- package/accordion/root/AccordionRoot.mjs +4 -7
- package/accordion/trigger/AccordionTrigger.js +7 -7
- package/accordion/trigger/AccordionTrigger.mjs +7 -7
- package/alert-dialog/handle.d.mts +6 -8
- package/alert-dialog/handle.d.ts +6 -8
- package/alert-dialog/handle.js +8 -19
- package/alert-dialog/handle.mjs +7 -17
- package/alert-dialog/root/AlertDialogRoot.js +1 -1
- package/alert-dialog/root/AlertDialogRoot.mjs +1 -1
- package/autocomplete/index.d.mts +1 -0
- package/autocomplete/index.d.ts +1 -0
- package/autocomplete/index.parts.d.mts +1 -1
- package/autocomplete/index.parts.d.ts +1 -1
- package/autocomplete/index.parts.js +2 -2
- package/autocomplete/index.parts.mjs +1 -1
- package/autocomplete/input-group/AutocompleteInputGroup.d.mts +1 -1
- package/autocomplete/input-group/AutocompleteInputGroup.d.ts +1 -1
- package/autocomplete/root/AutocompleteRoot.d.mts +6 -1
- package/autocomplete/root/AutocompleteRoot.d.ts +6 -1
- package/autocomplete/root/AutocompleteRoot.js +4 -10
- package/autocomplete/root/AutocompleteRoot.mjs +4 -10
- package/autocomplete/separator/AutocompleteSeparator.d.mts +26 -0
- package/autocomplete/separator/AutocompleteSeparator.d.ts +26 -0
- package/autocomplete/separator/AutocompleteSeparator.js +15 -0
- package/autocomplete/separator/AutocompleteSeparator.mjs +10 -0
- package/autocomplete/trigger/AutocompleteTrigger.d.mts +1 -1
- package/autocomplete/trigger/AutocompleteTrigger.d.ts +1 -1
- package/avatar/fallback/AvatarFallback.d.mts +2 -0
- package/avatar/fallback/AvatarFallback.d.ts +2 -0
- package/avatar/fallback/AvatarFallback.js +5 -5
- package/avatar/fallback/AvatarFallback.mjs +5 -5
- package/avatar/image/AvatarImage.d.mts +1 -1
- package/avatar/image/AvatarImage.d.ts +1 -1
- package/avatar/image/AvatarImageDataAttributes.d.mts +1 -1
- package/avatar/image/AvatarImageDataAttributes.d.ts +1 -1
- package/avatar/image/AvatarImageDataAttributes.js +1 -1
- package/avatar/image/AvatarImageDataAttributes.mjs +1 -1
- package/checkbox/indicator/CheckboxIndicator.js +3 -5
- package/checkbox/indicator/CheckboxIndicator.mjs +3 -5
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.mts +1 -1
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.d.ts +1 -1
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.js +1 -1
- package/checkbox/indicator/CheckboxIndicatorDataAttributes.mjs +1 -1
- package/checkbox/root/CheckboxRoot.d.mts +2 -1
- package/checkbox/root/CheckboxRoot.d.ts +2 -1
- package/checkbox/root/CheckboxRoot.js +39 -31
- package/checkbox/root/CheckboxRoot.mjs +39 -31
- package/checkbox/utils/{useStateAttributesMapping.d.mts → getCheckboxStateAttributesMapping.d.mts} +1 -1
- package/checkbox/utils/{useStateAttributesMapping.d.ts → getCheckboxStateAttributesMapping.d.ts} +1 -1
- package/checkbox/utils/getCheckboxStateAttributesMapping.js +26 -0
- package/checkbox/utils/{useStateAttributesMapping.mjs → getCheckboxStateAttributesMapping.mjs} +5 -9
- package/checkbox-group/CheckboxGroup.js +33 -24
- package/checkbox-group/CheckboxGroup.mjs +33 -24
- package/checkbox-group/CheckboxGroupContext.d.mts +2 -5
- package/checkbox-group/CheckboxGroupContext.d.ts +2 -5
- package/checkbox-group/CheckboxGroupContext.js +2 -8
- package/checkbox-group/CheckboxGroupContext.mjs +2 -7
- package/checkbox-group/useCheckboxGroupParent.d.mts +2 -4
- package/checkbox-group/useCheckboxGroupParent.d.ts +2 -4
- package/checkbox-group/useCheckboxGroupParent.js +5 -6
- package/checkbox-group/useCheckboxGroupParent.mjs +5 -6
- package/collapsible/panel/CollapsiblePanel.js +12 -11
- package/collapsible/panel/CollapsiblePanel.mjs +12 -11
- package/collapsible/panel/CollapsiblePanelDataAttributes.d.mts +1 -1
- package/collapsible/panel/CollapsiblePanelDataAttributes.d.ts +1 -1
- package/collapsible/panel/CollapsiblePanelDataAttributes.js +1 -1
- package/collapsible/panel/CollapsiblePanelDataAttributes.mjs +1 -1
- package/collapsible/panel/useCollapsiblePanel.js +29 -24
- package/collapsible/panel/useCollapsiblePanel.mjs +29 -24
- package/collapsible/root/CollapsibleRootDataAttributes.d.mts +18 -0
- package/collapsible/root/CollapsibleRootDataAttributes.d.ts +18 -0
- package/collapsible/root/CollapsibleRootDataAttributes.js +26 -0
- package/collapsible/root/CollapsibleRootDataAttributes.mjs +20 -0
- package/collapsible/root/useCollapsibleRoot.d.mts +2 -1
- package/collapsible/root/useCollapsibleRoot.d.ts +2 -1
- package/collapsible/root/useCollapsibleRoot.js +5 -3
- package/collapsible/root/useCollapsibleRoot.mjs +5 -3
- package/combobox/arrow/ComboboxArrow.d.mts +1 -1
- package/combobox/arrow/ComboboxArrow.d.ts +1 -1
- package/combobox/backdrop/ComboboxBackdropDataAttributes.d.mts +1 -1
- package/combobox/backdrop/ComboboxBackdropDataAttributes.d.ts +1 -1
- package/combobox/backdrop/ComboboxBackdropDataAttributes.js +1 -1
- package/combobox/backdrop/ComboboxBackdropDataAttributes.mjs +1 -1
- package/combobox/chip/ComboboxChip.js +4 -6
- package/combobox/chip/ComboboxChip.mjs +4 -6
- package/combobox/chip-remove/ComboboxChipRemove.js +1 -7
- package/combobox/chip-remove/ComboboxChipRemove.mjs +1 -7
- package/combobox/clear/ComboboxClear.js +5 -3
- package/combobox/clear/ComboboxClear.mjs +5 -3
- package/combobox/clear/ComboboxClearDataAttributes.d.mts +1 -1
- package/combobox/clear/ComboboxClearDataAttributes.d.ts +1 -1
- package/combobox/clear/ComboboxClearDataAttributes.js +1 -1
- package/combobox/clear/ComboboxClearDataAttributes.mjs +1 -1
- package/combobox/collection/ComboboxCollection.d.mts +1 -1
- package/combobox/collection/ComboboxCollection.d.ts +1 -1
- package/combobox/collection/ComboboxCollection.js +0 -3
- package/combobox/collection/ComboboxCollection.mjs +0 -3
- package/combobox/group-label/ComboboxGroupLabel.js +1 -1
- package/combobox/group-label/ComboboxGroupLabel.mjs +1 -1
- package/combobox/index.d.mts +1 -0
- package/combobox/index.d.ts +1 -0
- package/combobox/index.parts.d.mts +1 -1
- package/combobox/index.parts.d.ts +1 -1
- package/combobox/index.parts.js +2 -2
- package/combobox/index.parts.mjs +1 -1
- package/combobox/input/ComboboxInput.d.mts +1 -1
- package/combobox/input/ComboboxInput.d.ts +1 -1
- package/combobox/input/ComboboxInput.js +43 -88
- package/combobox/input/ComboboxInput.mjs +44 -89
- package/combobox/input-group/ComboboxInputGroup.d.mts +1 -1
- package/combobox/input-group/ComboboxInputGroup.d.ts +1 -1
- package/combobox/input-group/ComboboxInputGroup.js +3 -8
- package/combobox/input-group/ComboboxInputGroup.mjs +4 -9
- package/combobox/item/ComboboxItem.js +21 -23
- package/combobox/item/ComboboxItem.mjs +22 -24
- package/combobox/item-indicator/ComboboxItemIndicator.js +1 -2
- package/combobox/item-indicator/ComboboxItemIndicator.mjs +1 -2
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.mts +1 -1
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.d.ts +1 -1
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.js +1 -1
- package/combobox/item-indicator/ComboboxItemIndicatorDataAttributes.mjs +1 -1
- package/combobox/label/ComboboxLabel.js +2 -1
- package/combobox/label/ComboboxLabel.mjs +2 -1
- package/combobox/list/ComboboxList.js +5 -10
- package/combobox/list/ComboboxList.mjs +5 -10
- package/combobox/popup/ComboboxPopup.d.mts +1 -1
- package/combobox/popup/ComboboxPopup.d.ts +1 -1
- package/combobox/popup/ComboboxPopup.js +5 -7
- package/combobox/popup/ComboboxPopup.mjs +6 -8
- package/combobox/popup/ComboboxPopupDataAttributes.d.mts +1 -1
- package/combobox/popup/ComboboxPopupDataAttributes.d.ts +1 -1
- package/combobox/popup/ComboboxPopupDataAttributes.js +1 -1
- package/combobox/popup/ComboboxPopupDataAttributes.mjs +1 -1
- package/combobox/portal/ComboboxPortal.d.mts +6 -2
- package/combobox/portal/ComboboxPortal.d.ts +6 -2
- package/combobox/positioner/ComboboxPositioner.d.mts +1 -1
- package/combobox/positioner/ComboboxPositioner.d.ts +1 -1
- package/combobox/positioner/ComboboxPositioner.js +13 -13
- package/combobox/positioner/ComboboxPositioner.mjs +14 -14
- package/combobox/positioner/ComboboxPositionerContext.d.mts +1 -1
- package/combobox/positioner/ComboboxPositionerContext.d.ts +1 -1
- package/combobox/root/AriaCombobox.d.mts +5 -10
- package/combobox/root/AriaCombobox.d.ts +5 -10
- package/combobox/root/AriaCombobox.js +259 -196
- package/combobox/root/AriaCombobox.mjs +262 -199
- package/combobox/root/utils/index.js +2 -4
- package/combobox/root/utils/index.mjs +2 -4
- package/combobox/root/utils/useFilter.js +2 -3
- package/combobox/root/utils/useFilter.mjs +2 -3
- package/combobox/separator/ComboboxSeparator.d.mts +26 -0
- package/combobox/separator/ComboboxSeparator.d.ts +26 -0
- package/combobox/separator/ComboboxSeparator.js +15 -0
- package/combobox/separator/ComboboxSeparator.mjs +10 -0
- package/combobox/store.d.mts +6 -9
- package/combobox/store.d.ts +6 -9
- package/combobox/store.js +47 -48
- package/combobox/store.mjs +47 -48
- package/combobox/trigger/ComboboxTrigger.d.mts +1 -1
- package/combobox/trigger/ComboboxTrigger.d.ts +1 -1
- package/combobox/trigger/ComboboxTrigger.js +12 -33
- package/combobox/trigger/ComboboxTrigger.mjs +14 -34
- package/combobox/utils/ComboboxInternalDismissButton.d.mts +1 -5
- package/combobox/utils/ComboboxInternalDismissButton.d.ts +1 -5
- package/combobox/utils/parts.d.mts +24 -0
- package/combobox/utils/parts.d.ts +24 -0
- package/combobox/utils/parts.js +59 -0
- package/combobox/utils/parts.mjs +50 -0
- package/combobox/utils/stateAttributesMapping.d.mts +3 -3
- package/combobox/utils/stateAttributesMapping.d.ts +3 -3
- package/combobox/utils/useInitialLiveRegionTextMutation.js +1 -1
- package/combobox/utils/useInitialLiveRegionTextMutation.mjs +1 -1
- package/context-menu/root/ContextMenuRoot.d.mts +3 -1
- package/context-menu/root/ContextMenuRoot.d.ts +3 -1
- package/context-menu/trigger/ContextMenuTrigger.js +40 -22
- package/context-menu/trigger/ContextMenuTrigger.mjs +40 -22
- package/dialog/backdrop/DialogBackdrop.js +2 -10
- package/dialog/backdrop/DialogBackdrop.mjs +3 -10
- package/dialog/backdrop/DialogBackdropDataAttributes.d.mts +1 -1
- package/dialog/backdrop/DialogBackdropDataAttributes.d.ts +1 -1
- package/dialog/backdrop/DialogBackdropDataAttributes.js +1 -1
- package/dialog/backdrop/DialogBackdropDataAttributes.mjs +1 -1
- package/dialog/close/DialogClose.js +1 -3
- package/dialog/close/DialogClose.mjs +1 -3
- package/dialog/description/DialogDescription.js +1 -3
- package/dialog/description/DialogDescription.mjs +1 -3
- package/dialog/popup/DialogPopup.js +7 -23
- package/dialog/popup/DialogPopup.mjs +8 -23
- package/dialog/popup/DialogPopupDataAttributes.d.mts +1 -1
- package/dialog/popup/DialogPopupDataAttributes.d.ts +1 -1
- package/dialog/popup/DialogPopupDataAttributes.js +1 -1
- package/dialog/popup/DialogPopupDataAttributes.mjs +1 -1
- package/dialog/portal/DialogPortal.d.mts +3 -3
- package/dialog/portal/DialogPortal.d.ts +3 -3
- package/dialog/portal/DialogPortal.js +1 -3
- package/dialog/portal/DialogPortal.mjs +1 -3
- package/dialog/root/DialogRoot.js +1 -5
- package/dialog/root/DialogRoot.mjs +1 -4
- package/dialog/root/DialogRootContext.d.mts +3 -7
- package/dialog/root/DialogRootContext.d.ts +3 -7
- package/dialog/root/DialogRootContext.js +4 -6
- package/dialog/root/DialogRootContext.mjs +3 -5
- package/dialog/root/useDialogRoot.d.mts +0 -6
- package/dialog/root/useDialogRoot.d.ts +0 -6
- package/dialog/root/useDialogRoot.js +33 -46
- package/dialog/root/useDialogRoot.mjs +34 -46
- package/dialog/root/useRenderDialogRoot.d.mts +1 -1
- package/dialog/root/useRenderDialogRoot.d.ts +1 -1
- package/dialog/root/useRenderDialogRoot.js +34 -42
- package/dialog/root/useRenderDialogRoot.mjs +36 -44
- package/dialog/store/DialogHandle.d.mts +20 -16
- package/dialog/store/DialogHandle.d.ts +20 -16
- package/dialog/store/DialogHandle.js +32 -27
- package/dialog/store/DialogHandle.mjs +33 -28
- package/dialog/store/DialogStore.d.mts +14 -4
- package/dialog/store/DialogStore.d.ts +14 -4
- package/dialog/store/DialogStore.js +49 -34
- package/dialog/store/DialogStore.mjs +49 -35
- package/dialog/title/DialogTitle.js +1 -3
- package/dialog/title/DialogTitle.mjs +1 -3
- package/dialog/trigger/DialogTrigger.js +4 -5
- package/dialog/trigger/DialogTrigger.mjs +5 -6
- package/dialog/utils/stateAttributesMapping.d.mts +12 -0
- package/dialog/utils/stateAttributesMapping.d.ts +12 -0
- package/dialog/utils/stateAttributesMapping.js +21 -0
- package/dialog/utils/stateAttributesMapping.mjs +15 -0
- package/dialog/viewport/DialogViewport.js +3 -22
- package/dialog/viewport/DialogViewport.mjs +3 -21
- package/dialog/viewport/DialogViewportDataAttributes.d.mts +1 -1
- package/dialog/viewport/DialogViewportDataAttributes.d.ts +1 -1
- package/dialog/viewport/DialogViewportDataAttributes.js +1 -1
- package/dialog/viewport/DialogViewportDataAttributes.mjs +1 -1
- package/docs/index.md +1 -0
- package/docs/react/components/accordion.md +1 -1
- package/docs/react/components/alert-dialog.md +25 -21
- package/docs/react/components/autocomplete.md +158 -103
- package/docs/react/components/avatar.md +15 -11
- package/docs/react/components/checkbox.md +21 -21
- package/docs/react/components/collapsible.md +10 -1
- package/docs/react/components/combobox.md +51 -23
- package/docs/react/components/context-menu.md +474 -87
- package/docs/react/components/dialog.md +396 -21
- package/docs/react/components/drawer.md +27 -23
- package/docs/react/components/field.md +11 -11
- package/docs/react/components/form.md +13 -11
- package/docs/react/components/menu.md +138 -118
- package/docs/react/components/menubar.md +41 -41
- package/docs/react/components/navigation-menu.md +57 -71
- package/docs/react/components/number-field.md +6 -6
- package/docs/react/components/otp-field.md +20 -18
- package/docs/react/components/popover.md +51 -36
- package/docs/react/components/preview-card.md +56 -47
- package/docs/react/components/progress.md +3 -3
- package/docs/react/components/radio.md +1 -1
- package/docs/react/components/select.md +57 -55
- package/docs/react/components/slider.md +22 -22
- package/docs/react/components/tabs.md +275 -1
- package/docs/react/components/toast.md +21 -26
- package/docs/react/components/toolbar.md +27 -23
- package/docs/react/components/tooltip.md +30 -17
- package/docs/react/handbook/animation.md +3 -3
- package/docs/react/handbook/forms.md +3 -3
- package/docs/react/handbook/styling.md +1 -1
- package/docs/react/overview/about.md +10 -7
- package/docs/react/overview/community.md +3 -2
- package/docs/react/overview/quick-start.md +3 -3
- package/docs/react/overview/releases/v1-7-0.md +236 -0
- package/docs/react/overview/releases.md +10 -2
- package/docs/react/utils/direction-provider.md +5 -2
- package/drawer/backdrop/DrawerBackdrop.js +2 -10
- package/drawer/backdrop/DrawerBackdrop.mjs +3 -10
- package/drawer/backdrop/DrawerBackdropDataAttributes.d.mts +1 -1
- package/drawer/backdrop/DrawerBackdropDataAttributes.d.ts +1 -1
- package/drawer/backdrop/DrawerBackdropDataAttributes.js +1 -1
- package/drawer/backdrop/DrawerBackdropDataAttributes.mjs +1 -1
- package/drawer/handle.d.mts +16 -0
- package/drawer/handle.d.ts +16 -0
- package/drawer/handle.js +25 -0
- package/drawer/handle.mjs +18 -0
- package/drawer/indent/DrawerIndent.js +1 -1
- package/drawer/indent/DrawerIndent.mjs +1 -1
- package/drawer/indent-background/DrawerIndentBackground.js +1 -1
- package/drawer/indent-background/DrawerIndentBackground.mjs +1 -1
- package/drawer/index.parts.d.mts +1 -1
- package/drawer/index.parts.d.ts +1 -1
- package/drawer/index.parts.js +3 -3
- package/drawer/index.parts.mjs +1 -1
- package/drawer/popup/DrawerPopup.js +10 -12
- package/drawer/popup/DrawerPopup.mjs +11 -13
- package/drawer/popup/DrawerPopupDataAttributes.d.mts +1 -1
- package/drawer/popup/DrawerPopupDataAttributes.d.ts +1 -1
- package/drawer/popup/DrawerPopupDataAttributes.js +1 -1
- package/drawer/popup/DrawerPopupDataAttributes.mjs +1 -1
- package/drawer/portal/DrawerPortal.d.mts +3 -3
- package/drawer/portal/DrawerPortal.d.ts +3 -3
- package/drawer/provider/DrawerProvider.js +13 -24
- package/drawer/provider/DrawerProvider.mjs +13 -24
- package/drawer/provider/DrawerProviderContext.d.mts +3 -4
- package/drawer/provider/DrawerProviderContext.d.ts +3 -4
- package/drawer/provider/DrawerProviderContext.js +2 -8
- package/drawer/provider/DrawerProviderContext.mjs +2 -7
- package/drawer/root/DrawerRoot.d.mts +2 -2
- package/drawer/root/DrawerRoot.d.ts +2 -2
- package/drawer/root/DrawerRoot.js +30 -34
- package/drawer/root/DrawerRoot.mjs +31 -35
- package/drawer/root/DrawerRootContext.d.mts +7 -2
- package/drawer/root/DrawerRootContext.d.ts +7 -2
- package/drawer/root/DrawerRootContext.js +1 -1
- package/drawer/root/DrawerRootContext.mjs +1 -1
- package/drawer/root/useDrawerSnapPoints.d.mts +6 -2
- package/drawer/root/useDrawerSnapPoints.d.ts +6 -2
- package/drawer/root/useDrawerSnapPoints.js +16 -24
- package/drawer/root/useDrawerSnapPoints.mjs +15 -24
- package/drawer/swipe-area/DrawerSwipeArea.js +82 -49
- package/drawer/swipe-area/DrawerSwipeArea.mjs +82 -49
- package/drawer/trigger/DrawerTrigger.d.mts +1 -1
- package/drawer/trigger/DrawerTrigger.d.ts +1 -1
- package/drawer/viewport/DrawerViewport.js +178 -340
- package/drawer/viewport/DrawerViewport.mjs +180 -342
- package/drawer/viewport/DrawerViewportContext.d.mts +1 -2
- package/drawer/viewport/DrawerViewportContext.d.ts +1 -2
- package/drawer/viewport/DrawerViewportContext.js +2 -8
- package/drawer/viewport/DrawerViewportContext.mjs +2 -7
- package/drawer/viewport/DrawerViewportDataAttributes.d.mts +1 -1
- package/drawer/viewport/DrawerViewportDataAttributes.d.ts +1 -1
- package/drawer/viewport/DrawerViewportDataAttributes.js +1 -1
- package/drawer/viewport/DrawerViewportDataAttributes.mjs +1 -1
- package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.js +250 -60
- package/drawer/virtual-keyboard-provider/DrawerVirtualKeyboardProvider.mjs +250 -60
- package/field/control/FieldControl.js +2 -2
- package/field/control/FieldControl.mjs +2 -2
- package/field/error/FieldError.js +2 -2
- package/field/error/FieldError.mjs +2 -2
- package/field/error/FieldErrorDataAttributes.d.mts +1 -1
- package/field/error/FieldErrorDataAttributes.d.ts +1 -1
- package/field/error/FieldErrorDataAttributes.js +1 -1
- package/field/error/FieldErrorDataAttributes.mjs +1 -1
- package/field/item/FieldItem.js +0 -5
- package/field/item/FieldItem.mjs +0 -5
- package/field/root/FieldRoot.js +8 -15
- package/field/root/FieldRoot.mjs +8 -15
- package/field/root/useFieldValidation.d.mts +17 -2
- package/field/root/useFieldValidation.d.ts +17 -2
- package/field/root/useFieldValidation.js +83 -77
- package/field/root/useFieldValidation.mjs +82 -77
- package/field/validity/FieldValidity.js +4 -0
- package/field/validity/FieldValidity.mjs +4 -0
- package/fieldset/legend/FieldsetLegend.js +3 -10
- package/fieldset/legend/FieldsetLegend.mjs +4 -10
- package/fieldset/root/FieldsetRootContext.d.mts +1 -1
- package/fieldset/root/FieldsetRootContext.d.ts +1 -1
- package/floating-ui-react/components/FloatingDelayGroup.d.mts +2 -41
- package/floating-ui-react/components/FloatingDelayGroup.d.ts +2 -41
- package/floating-ui-react/components/FloatingDelayGroup.js +0 -9
- package/floating-ui-react/components/FloatingDelayGroup.mjs +0 -9
- package/floating-ui-react/components/FloatingFocusManager.d.mts +1 -7
- package/floating-ui-react/components/FloatingFocusManager.d.ts +1 -7
- package/floating-ui-react/components/FloatingFocusManager.js +41 -27
- package/floating-ui-react/components/FloatingFocusManager.mjs +41 -27
- package/floating-ui-react/components/FloatingPortal.d.mts +7 -14
- package/floating-ui-react/components/FloatingPortal.d.ts +7 -14
- package/floating-ui-react/components/FloatingPortal.js +11 -13
- package/floating-ui-react/components/FloatingPortal.mjs +11 -13
- package/floating-ui-react/components/FloatingRootStore.js +6 -6
- package/floating-ui-react/components/FloatingRootStore.mjs +7 -7
- package/floating-ui-react/components/FloatingTree.d.mts +1 -19
- package/floating-ui-react/components/FloatingTree.d.ts +1 -19
- package/floating-ui-react/hooks/useClick.js +5 -1
- package/floating-ui-react/hooks/useClick.mjs +6 -2
- package/floating-ui-react/hooks/useDismiss.js +2 -2
- package/floating-ui-react/hooks/useDismiss.mjs +2 -2
- package/floating-ui-react/hooks/useFloating.d.mts +9 -1
- package/floating-ui-react/hooks/useFloating.d.ts +9 -1
- package/floating-ui-react/hooks/useFloating.js +14 -2
- package/floating-ui-react/hooks/useFloating.mjs +13 -2
- package/floating-ui-react/hooks/useHoverReferenceInteraction.d.mts +12 -0
- package/floating-ui-react/hooks/useHoverReferenceInteraction.d.ts +12 -0
- package/floating-ui-react/hooks/useHoverReferenceInteraction.js +16 -4
- package/floating-ui-react/hooks/useHoverReferenceInteraction.mjs +16 -4
- package/floating-ui-react/hooks/useListNavigation.js +15 -1
- package/floating-ui-react/hooks/useListNavigation.mjs +15 -1
- package/floating-ui-react/hooks/useTypeahead.d.mts +5 -5
- package/floating-ui-react/hooks/useTypeahead.d.ts +5 -5
- package/floating-ui-react/hooks/useTypeahead.js +9 -14
- package/floating-ui-react/hooks/useTypeahead.mjs +9 -14
- package/floating-ui-react/index.d.mts +0 -4
- package/floating-ui-react/index.d.ts +0 -4
- package/floating-ui-react/index.mjs +12 -0
- package/floating-ui-react/utils/composite.js +7 -0
- package/floating-ui-react/utils/composite.mjs +7 -0
- package/form/Form.d.mts +1 -1
- package/form/Form.d.ts +1 -1
- package/form/Form.js +62 -47
- package/form/Form.mjs +62 -47
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/internals/PrehydrationScript.d.mts +36 -0
- package/internals/PrehydrationScript.d.ts +36 -0
- package/internals/PrehydrationScript.js +59 -0
- package/internals/PrehydrationScript.mjs +54 -0
- package/internals/composite/composite.d.mts +2 -10
- package/internals/composite/composite.d.ts +2 -10
- package/internals/composite/composite.js +4 -12
- package/internals/composite/composite.mjs +3 -11
- package/internals/composite/index.d.mts +2 -1
- package/internals/composite/index.d.ts +2 -1
- package/internals/composite/index.js +11 -4
- package/internals/composite/index.mjs +1 -1
- package/internals/composite/item/CompositeItem.d.mts +0 -3
- package/internals/composite/item/CompositeItem.d.ts +0 -3
- package/internals/composite/item/CompositeItem.js +2 -4
- package/internals/composite/item/CompositeItem.mjs +2 -4
- package/internals/composite/item/useCompositeItem.d.mts +1 -1
- package/internals/composite/item/useCompositeItem.d.ts +1 -1
- package/internals/composite/list/CompositeList.d.mts +3 -3
- package/internals/composite/list/CompositeList.d.ts +3 -3
- package/internals/composite/list/CompositeList.js +165 -86
- package/internals/composite/list/CompositeList.mjs +165 -86
- package/internals/composite/list/CompositeListContext.d.mts +8 -4
- package/internals/composite/list/CompositeListContext.d.ts +8 -4
- package/internals/composite/list/CompositeListContext.js +1 -6
- package/internals/composite/list/CompositeListContext.mjs +1 -6
- package/internals/composite/list/useCompositeListItem.d.mts +11 -8
- package/internals/composite/list/useCompositeListItem.d.ts +11 -8
- package/internals/composite/list/useCompositeListItem.js +25 -32
- package/internals/composite/list/useCompositeListItem.mjs +25 -32
- package/internals/composite/root/CompositeRoot.d.mts +1 -4
- package/internals/composite/root/CompositeRoot.d.ts +1 -4
- package/internals/composite/root/CompositeRoot.js +0 -3
- package/internals/composite/root/CompositeRoot.mjs +0 -3
- package/internals/composite/root/useCompositeRoot.d.mts +0 -1
- package/internals/composite/root/useCompositeRoot.d.ts +0 -1
- package/internals/composite/root/useCompositeRoot.js +19 -39
- package/internals/composite/root/useCompositeRoot.mjs +20 -40
- package/internals/createBaseUIEventDetails.d.mts +1 -1
- package/internals/createBaseUIEventDetails.d.ts +1 -1
- package/internals/csp-context/CSPContext.d.mts +0 -6
- package/internals/csp-context/CSPContext.d.ts +0 -6
- package/internals/csp-context/CSPContext.js +0 -7
- package/internals/csp-context/CSPContext.mjs +0 -7
- package/internals/direction-context/DirectionContext.d.mts +0 -3
- package/internals/direction-context/DirectionContext.d.ts +0 -3
- package/internals/direction-context/DirectionContext.js +0 -3
- package/internals/direction-context/DirectionContext.mjs +0 -3
- package/internals/field-constants/constants.js +2 -3
- package/internals/field-constants/constants.mjs +2 -3
- package/internals/field-register-control/useFieldControlRegistration.d.mts +1 -1
- package/internals/field-register-control/useFieldControlRegistration.d.ts +1 -1
- package/internals/field-register-control/useFieldControlRegistration.js +21 -16
- package/internals/field-register-control/useFieldControlRegistration.mjs +21 -16
- package/internals/field-register-control/useRegisterFieldControl.js +13 -9
- package/internals/field-register-control/useRegisterFieldControl.mjs +13 -8
- package/internals/field-root-context/FieldRootContext.d.mts +0 -7
- package/internals/field-root-context/FieldRootContext.d.ts +0 -7
- package/internals/field-root-context/FieldRootContext.js +2 -9
- package/internals/field-root-context/FieldRootContext.mjs +3 -10
- package/internals/form-context/FormContext.d.mts +1 -0
- package/internals/form-context/FormContext.d.ts +1 -0
- package/internals/form-context/FormContext.js +3 -0
- package/internals/form-context/FormContext.mjs +3 -0
- package/{utils → internals}/getDisabledMountTransitionStyles.d.mts +1 -1
- package/{utils → internals}/getDisabledMountTransitionStyles.d.ts +1 -1
- package/{utils → internals}/getDisabledMountTransitionStyles.js +1 -1
- package/{utils → internals}/getDisabledMountTransitionStyles.mjs +1 -1
- package/internals/itemEquality.d.mts +1 -0
- package/internals/itemEquality.d.ts +1 -0
- package/internals/itemEquality.js +7 -0
- package/internals/itemEquality.mjs +6 -0
- package/internals/labelable-provider/LabelableProvider.d.mts +0 -3
- package/internals/labelable-provider/LabelableProvider.d.ts +0 -3
- package/internals/labelable-provider/LabelableProvider.js +0 -3
- package/internals/labelable-provider/LabelableProvider.mjs +0 -4
- package/internals/labelable-provider/useAriaLabelledBy.d.mts +0 -3
- package/internals/labelable-provider/useAriaLabelledBy.d.ts +0 -3
- package/internals/labelable-provider/useAriaLabelledBy.js +0 -3
- package/internals/labelable-provider/useAriaLabelledBy.mjs +0 -4
- package/internals/labelable-provider/useLabel.d.mts +1 -1
- package/internals/labelable-provider/useLabel.d.ts +1 -1
- package/internals/labelable-provider/useLabelableId.js +1 -1
- package/internals/labelable-provider/useLabelableId.mjs +1 -1
- package/internals/prehydrationScript.stub.d.mts +1 -0
- package/internals/prehydrationScript.stub.d.ts +1 -0
- package/internals/prehydrationScript.stub.js +12 -0
- package/internals/prehydrationScript.stub.mjs +6 -0
- package/internals/stateAttributesMapping.d.mts +1 -1
- package/internals/stateAttributesMapping.d.ts +1 -1
- package/internals/stateAttributesMapping.js +3 -3
- package/internals/stateAttributesMapping.mjs +3 -3
- package/internals/use-button/useButton.js +30 -14
- package/internals/use-button/useButton.mjs +30 -14
- package/{utils → internals}/useAnchorPositioning.d.mts +11 -4
- package/{utils → internals}/useAnchorPositioning.d.ts +11 -4
- package/{utils → internals}/useAnchorPositioning.js +97 -68
- package/{utils → internals}/useAnchorPositioning.mjs +96 -68
- package/internals/useAnimationsFinished.d.mts +2 -3
- package/internals/useAnimationsFinished.d.ts +2 -3
- package/internals/useAnimationsFinished.js +8 -11
- package/internals/useAnimationsFinished.mjs +8 -11
- package/internals/useOpenChangeComplete.js +1 -1
- package/internals/useOpenChangeComplete.mjs +1 -1
- package/internals/usePressAndHold.d.mts +0 -1
- package/internals/usePressAndHold.d.ts +0 -1
- package/internals/usePressAndHold.js +4 -8
- package/internals/usePressAndHold.mjs +4 -8
- package/internals/useRenderElement.js +6 -6
- package/internals/useRenderElement.mjs +6 -6
- package/internals/useValueChanged.js +3 -6
- package/internals/useValueChanged.mjs +3 -6
- package/menu/arrow/MenuArrow.d.mts +1 -1
- package/menu/arrow/MenuArrow.d.ts +1 -1
- package/menu/backdrop/MenuBackdrop.js +1 -7
- package/menu/backdrop/MenuBackdrop.mjs +2 -7
- package/menu/backdrop/MenuBackdropDataAttributes.d.mts +1 -1
- package/menu/backdrop/MenuBackdropDataAttributes.d.ts +1 -1
- package/menu/backdrop/MenuBackdropDataAttributes.js +1 -1
- package/menu/backdrop/MenuBackdropDataAttributes.mjs +1 -1
- package/menu/checkbox-item/MenuCheckboxItem.js +6 -2
- package/menu/checkbox-item/MenuCheckboxItem.mjs +6 -2
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.js +2 -1
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.mjs +2 -1
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.mts +1 -1
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.d.ts +1 -1
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.js +1 -1
- package/menu/checkbox-item-indicator/MenuCheckboxItemIndicatorDataAttributes.mjs +1 -1
- package/menu/group/MenuGroupContext.d.mts +1 -1
- package/menu/group/MenuGroupContext.d.ts +1 -1
- package/menu/group-label/MenuGroupLabel.js +1 -1
- package/menu/group-label/MenuGroupLabel.mjs +1 -1
- package/menu/item/MenuItem.js +4 -1
- package/menu/item/MenuItem.mjs +4 -1
- package/menu/item/useMenuItem.js +1 -3
- package/menu/item/useMenuItem.mjs +1 -3
- package/menu/item/useMenuItemCommonProps.d.mts +2 -3
- package/menu/item/useMenuItemCommonProps.d.ts +2 -3
- package/menu/item/useMenuItemCommonProps.js +7 -2
- package/menu/item/useMenuItemCommonProps.mjs +7 -2
- package/menu/link-item/MenuLinkItem.d.mts +1 -1
- package/menu/link-item/MenuLinkItem.d.ts +1 -1
- package/menu/link-item/MenuLinkItem.js +4 -1
- package/menu/link-item/MenuLinkItem.mjs +4 -1
- package/menu/popup/MenuPopup.d.mts +1 -1
- package/menu/popup/MenuPopup.d.ts +1 -1
- package/menu/popup/MenuPopup.js +5 -14
- package/menu/popup/MenuPopup.mjs +7 -15
- package/menu/popup/MenuPopupDataAttributes.d.mts +1 -1
- package/menu/popup/MenuPopupDataAttributes.d.ts +1 -1
- package/menu/popup/MenuPopupDataAttributes.js +1 -1
- package/menu/popup/MenuPopupDataAttributes.mjs +1 -1
- package/menu/portal/MenuPortal.d.mts +6 -2
- package/menu/portal/MenuPortal.d.ts +6 -2
- package/menu/positioner/MenuPositioner.d.mts +1 -1
- package/menu/positioner/MenuPositioner.d.ts +1 -1
- package/menu/positioner/MenuPositioner.js +8 -6
- package/menu/positioner/MenuPositioner.mjs +8 -6
- package/menu/positioner/MenuPositionerContext.d.mts +1 -1
- package/menu/positioner/MenuPositionerContext.d.ts +1 -1
- package/menu/positioner/MenuPositionerCssVars.d.mts +12 -0
- package/menu/positioner/MenuPositionerCssVars.d.ts +12 -0
- package/menu/positioner/MenuPositionerCssVars.js +12 -0
- package/menu/positioner/MenuPositionerCssVars.mjs +12 -0
- package/menu/radio-item/MenuRadioItem.js +5 -2
- package/menu/radio-item/MenuRadioItem.mjs +5 -2
- package/menu/radio-item-indicator/MenuRadioItemIndicator.js +2 -1
- package/menu/radio-item-indicator/MenuRadioItemIndicator.mjs +2 -1
- package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.mts +1 -1
- package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.d.ts +1 -1
- package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.js +1 -1
- package/menu/radio-item-indicator/MenuRadioItemIndicatorDataAttributes.mjs +1 -1
- package/menu/root/MenuRoot.d.mts +11 -7
- package/menu/root/MenuRoot.d.ts +11 -7
- package/menu/root/MenuRoot.js +36 -13
- package/menu/root/MenuRoot.mjs +38 -15
- package/menu/store/MenuHandle.d.mts +18 -10
- package/menu/store/MenuHandle.d.ts +18 -10
- package/menu/store/MenuHandle.js +21 -20
- package/menu/store/MenuHandle.mjs +22 -19
- package/menu/store/MenuStore.d.mts +22 -7
- package/menu/store/MenuStore.d.ts +22 -7
- package/menu/store/MenuStore.js +71 -53
- package/menu/store/MenuStore.mjs +72 -55
- package/menu/submenu-trigger/MenuSubmenuTrigger.js +29 -8
- package/menu/submenu-trigger/MenuSubmenuTrigger.mjs +28 -8
- package/menu/trigger/MenuTrigger.js +7 -22
- package/menu/trigger/MenuTrigger.mjs +10 -24
- package/menu/utils/findRootOwnerId.js +1 -1
- package/menu/utils/findRootOwnerId.mjs +1 -1
- package/menu/viewport/MenuViewport.js +1 -9
- package/menu/viewport/MenuViewport.mjs +2 -9
- package/menubar/Menubar.js +2 -1
- package/menubar/Menubar.mjs +2 -1
- package/meter/root/MeterRoot.js +4 -6
- package/meter/root/MeterRoot.mjs +4 -6
- package/meter/root/MeterRootContext.d.mts +0 -2
- package/meter/root/MeterRootContext.d.ts +0 -2
- package/navigation-menu/arrow/NavigationMenuArrow.d.mts +1 -1
- package/navigation-menu/arrow/NavigationMenuArrow.d.ts +1 -1
- package/navigation-menu/arrow/NavigationMenuArrow.js +1 -1
- package/navigation-menu/arrow/NavigationMenuArrow.mjs +1 -1
- package/navigation-menu/backdrop/NavigationMenuBackdrop.js +1 -7
- package/navigation-menu/backdrop/NavigationMenuBackdrop.mjs +2 -7
- package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.mts +1 -1
- package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.d.ts +1 -1
- package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.js +1 -1
- package/navigation-menu/backdrop/NavigationMenuBackdropDataAttributes.mjs +1 -1
- package/navigation-menu/content/NavigationMenuContentDataAttributes.d.mts +1 -1
- package/navigation-menu/content/NavigationMenuContentDataAttributes.d.ts +1 -1
- package/navigation-menu/content/NavigationMenuContentDataAttributes.js +1 -1
- package/navigation-menu/content/NavigationMenuContentDataAttributes.mjs +1 -1
- package/navigation-menu/link/NavigationMenuLink.d.mts +1 -1
- package/navigation-menu/link/NavigationMenuLink.d.ts +1 -1
- package/navigation-menu/popup/NavigationMenuPopup.d.mts +1 -1
- package/navigation-menu/popup/NavigationMenuPopup.d.ts +1 -1
- package/navigation-menu/popup/NavigationMenuPopup.js +2 -8
- package/navigation-menu/popup/NavigationMenuPopup.mjs +3 -8
- package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.mts +1 -1
- package/navigation-menu/popup/NavigationMenuPopupDataAttributes.d.ts +1 -1
- package/navigation-menu/popup/NavigationMenuPopupDataAttributes.js +1 -1
- package/navigation-menu/popup/NavigationMenuPopupDataAttributes.mjs +1 -1
- package/navigation-menu/portal/NavigationMenuPortal.d.mts +3 -3
- package/navigation-menu/portal/NavigationMenuPortal.d.ts +3 -3
- package/navigation-menu/positioner/NavigationMenuPositioner.d.mts +1 -1
- package/navigation-menu/positioner/NavigationMenuPositioner.d.ts +1 -1
- package/navigation-menu/positioner/NavigationMenuPositioner.js +7 -6
- package/navigation-menu/positioner/NavigationMenuPositioner.mjs +7 -6
- package/navigation-menu/positioner/NavigationMenuPositionerContext.d.mts +2 -2
- package/navigation-menu/positioner/NavigationMenuPositionerContext.d.ts +2 -2
- package/navigation-menu/trigger/NavigationMenuTrigger.js +63 -101
- package/navigation-menu/trigger/NavigationMenuTrigger.mjs +63 -101
- package/navigation-menu/utils/isOutsideMenuEvent.js +2 -5
- package/navigation-menu/utils/isOutsideMenuEvent.mjs +2 -5
- package/navigation-menu/utils/useNavigationMenuAnchorPositioning.d.mts +6 -0
- package/navigation-menu/utils/useNavigationMenuAnchorPositioning.d.ts +6 -0
- package/navigation-menu/utils/useNavigationMenuAnchorPositioning.js +16 -0
- package/navigation-menu/utils/useNavigationMenuAnchorPositioning.mjs +12 -0
- package/number-field/input/NumberFieldInput.d.mts +1 -1
- package/number-field/input/NumberFieldInput.d.ts +1 -1
- package/number-field/input/NumberFieldInput.js +40 -25
- package/number-field/input/NumberFieldInput.mjs +41 -26
- package/number-field/root/NumberFieldRoot.js +37 -55
- package/number-field/root/NumberFieldRoot.mjs +38 -56
- package/number-field/root/NumberFieldRootContext.d.mts +0 -7
- package/number-field/root/NumberFieldRootContext.d.ts +0 -7
- package/number-field/root/useNumberFieldStepperButton.js +108 -21
- package/number-field/root/useNumberFieldStepperButton.mjs +108 -21
- package/number-field/scrub-area/NumberFieldScrubArea.js +28 -32
- package/number-field/scrub-area/NumberFieldScrubArea.mjs +28 -32
- package/number-field/utils/constants.d.mts +1 -2
- package/number-field/utils/constants.d.ts +1 -2
- package/number-field/utils/constants.js +2 -3
- package/number-field/utils/constants.mjs +1 -2
- package/number-field/utils/parse.d.mts +27 -15
- package/number-field/utils/parse.d.ts +27 -15
- package/number-field/utils/parse.js +74 -135
- package/number-field/utils/parse.mjs +73 -134
- package/number-field/utils/types.d.mts +2 -1
- package/number-field/utils/types.d.ts +2 -1
- package/number-field/utils/validate.d.mts +1 -19
- package/number-field/utils/validate.d.ts +1 -19
- package/number-field/utils/validate.js +6 -14
- package/number-field/utils/validate.mjs +6 -14
- package/otp-field/input/OTPFieldInput.d.mts +1 -1
- package/otp-field/input/OTPFieldInput.d.ts +1 -1
- package/otp-field/input/OTPFieldInput.js +4 -1
- package/otp-field/input/OTPFieldInput.mjs +5 -2
- package/otp-field/root/OTPFieldRoot.js +13 -14
- package/otp-field/root/OTPFieldRoot.mjs +13 -14
- package/package.json +93 -5
- package/popover/arrow/PopoverArrow.d.mts +1 -1
- package/popover/arrow/PopoverArrow.d.ts +1 -1
- package/popover/arrow/PopoverArrow.js +1 -3
- package/popover/arrow/PopoverArrow.mjs +1 -3
- package/popover/backdrop/PopoverBackdrop.js +3 -11
- package/popover/backdrop/PopoverBackdrop.mjs +4 -11
- package/popover/backdrop/PopoverBackdropDataAttributes.d.mts +1 -1
- package/popover/backdrop/PopoverBackdropDataAttributes.d.ts +1 -1
- package/popover/backdrop/PopoverBackdropDataAttributes.js +1 -1
- package/popover/backdrop/PopoverBackdropDataAttributes.mjs +1 -1
- package/popover/close/PopoverClose.js +1 -3
- package/popover/close/PopoverClose.mjs +1 -3
- package/popover/description/PopoverDescription.js +1 -3
- package/popover/description/PopoverDescription.mjs +1 -3
- package/popover/popup/PopoverPopup.d.mts +1 -1
- package/popover/popup/PopoverPopup.d.ts +1 -1
- package/popover/popup/PopoverPopup.js +6 -17
- package/popover/popup/PopoverPopup.mjs +9 -19
- package/popover/popup/PopoverPopupDataAttributes.d.mts +1 -1
- package/popover/popup/PopoverPopupDataAttributes.d.ts +1 -1
- package/popover/popup/PopoverPopupDataAttributes.js +3 -3
- package/popover/popup/PopoverPopupDataAttributes.mjs +3 -3
- package/popover/portal/PopoverPortal.d.mts +6 -2
- package/popover/portal/PopoverPortal.d.ts +6 -2
- package/popover/portal/PopoverPortal.js +1 -3
- package/popover/portal/PopoverPortal.mjs +1 -3
- package/popover/positioner/PopoverPositioner.d.mts +1 -1
- package/popover/positioner/PopoverPositioner.d.ts +1 -1
- package/popover/positioner/PopoverPositioner.js +19 -22
- package/popover/positioner/PopoverPositioner.mjs +19 -22
- package/popover/positioner/PopoverPositionerContext.d.mts +1 -1
- package/popover/positioner/PopoverPositionerContext.d.ts +1 -1
- package/popover/positioner/PopoverPositionerCssVars.d.mts +2 -0
- package/popover/positioner/PopoverPositionerCssVars.d.ts +2 -0
- package/popover/positioner/PopoverPositionerCssVars.js +2 -0
- package/popover/positioner/PopoverPositionerCssVars.mjs +2 -0
- package/popover/root/PopoverRoot.d.mts +2 -0
- package/popover/root/PopoverRoot.d.ts +2 -0
- package/popover/root/PopoverRoot.js +29 -22
- package/popover/root/PopoverRoot.mjs +31 -24
- package/popover/root/PopoverRootContext.d.mts +1 -3
- package/popover/root/PopoverRootContext.d.ts +1 -3
- package/popover/store/PopoverHandle.d.mts +18 -10
- package/popover/store/PopoverHandle.d.ts +18 -10
- package/popover/store/PopoverHandle.js +21 -21
- package/popover/store/PopoverHandle.mjs +22 -20
- package/popover/store/PopoverStore.d.mts +22 -10
- package/popover/store/PopoverStore.d.ts +22 -10
- package/popover/store/PopoverStore.js +82 -67
- package/popover/store/PopoverStore.mjs +81 -67
- package/popover/title/PopoverTitle.js +1 -3
- package/popover/title/PopoverTitle.mjs +1 -3
- package/popover/trigger/PopoverTrigger.js +9 -11
- package/popover/trigger/PopoverTrigger.mjs +10 -12
- package/popover/viewport/PopoverViewport.js +2 -12
- package/popover/viewport/PopoverViewport.mjs +3 -12
- package/preview-card/arrow/PreviewCardArrow.d.mts +1 -1
- package/preview-card/arrow/PreviewCardArrow.d.ts +1 -1
- package/preview-card/backdrop/PreviewCardBackdrop.d.mts +1 -1
- package/preview-card/backdrop/PreviewCardBackdrop.d.ts +1 -1
- package/preview-card/backdrop/PreviewCardBackdrop.js +2 -8
- package/preview-card/backdrop/PreviewCardBackdrop.mjs +3 -8
- package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.mts +1 -1
- package/preview-card/backdrop/PreviewCardBackdropDataAttributes.d.ts +1 -1
- package/preview-card/backdrop/PreviewCardBackdropDataAttributes.js +1 -1
- package/preview-card/backdrop/PreviewCardBackdropDataAttributes.mjs +1 -1
- package/preview-card/popup/PreviewCardPopup.d.mts +1 -1
- package/preview-card/popup/PreviewCardPopup.d.ts +1 -1
- package/preview-card/popup/PreviewCardPopup.js +6 -12
- package/preview-card/popup/PreviewCardPopup.mjs +7 -12
- package/preview-card/popup/PreviewCardPopupDataAttributes.d.mts +1 -1
- package/preview-card/popup/PreviewCardPopupDataAttributes.d.ts +1 -1
- package/preview-card/popup/PreviewCardPopupDataAttributes.js +1 -1
- package/preview-card/popup/PreviewCardPopupDataAttributes.mjs +1 -1
- package/preview-card/portal/PreviewCardPortal.d.mts +6 -2
- package/preview-card/portal/PreviewCardPortal.d.ts +6 -2
- package/preview-card/portal/PreviewCardPortal.mjs +1 -2
- package/preview-card/positioner/PreviewCardPositioner.d.mts +1 -1
- package/preview-card/positioner/PreviewCardPositioner.d.ts +1 -1
- package/preview-card/positioner/PreviewCardPositioner.js +3 -4
- package/preview-card/positioner/PreviewCardPositioner.mjs +3 -4
- package/preview-card/positioner/PreviewCardPositionerContext.d.mts +1 -1
- package/preview-card/positioner/PreviewCardPositionerContext.d.ts +1 -1
- package/preview-card/positioner/PreviewCardPositionerContext.js +1 -1
- package/preview-card/positioner/PreviewCardPositionerContext.mjs +1 -1
- package/preview-card/positioner/PreviewCardPositionerCssVars.d.mts +12 -0
- package/preview-card/positioner/PreviewCardPositionerCssVars.d.ts +12 -0
- package/preview-card/positioner/PreviewCardPositionerCssVars.js +12 -0
- package/preview-card/positioner/PreviewCardPositionerCssVars.mjs +12 -0
- package/preview-card/root/PreviewCardRoot.js +14 -17
- package/preview-card/root/PreviewCardRoot.mjs +15 -18
- package/preview-card/store/PreviewCardHandle.d.mts +15 -12
- package/preview-card/store/PreviewCardHandle.d.ts +15 -12
- package/preview-card/store/PreviewCardHandle.js +18 -23
- package/preview-card/store/PreviewCardHandle.mjs +19 -23
- package/preview-card/store/PreviewCardStore.d.mts +22 -7
- package/preview-card/store/PreviewCardStore.d.ts +22 -7
- package/preview-card/store/PreviewCardStore.js +43 -30
- package/preview-card/store/PreviewCardStore.mjs +43 -31
- package/preview-card/trigger/PreviewCardTrigger.d.mts +1 -1
- package/preview-card/trigger/PreviewCardTrigger.d.ts +1 -1
- package/preview-card/trigger/PreviewCardTrigger.js +4 -8
- package/preview-card/trigger/PreviewCardTrigger.mjs +5 -9
- package/preview-card/viewport/PreviewCardViewport.js +1 -9
- package/preview-card/viewport/PreviewCardViewport.mjs +2 -9
- package/progress/indicator/ProgressIndicator.js +1 -5
- package/progress/indicator/ProgressIndicator.mjs +1 -5
- package/progress/root/ProgressRoot.d.mts +1 -2
- package/progress/root/ProgressRoot.d.ts +1 -2
- package/progress/root/ProgressRoot.js +28 -19
- package/progress/root/ProgressRoot.mjs +29 -20
- package/progress/root/ProgressRootContext.d.mts +4 -12
- package/progress/root/ProgressRootContext.d.ts +4 -12
- package/progress/root/stateAttributesMapping.js +3 -17
- package/progress/root/stateAttributesMapping.mjs +3 -17
- package/progress/value/ProgressValue.d.mts +1 -1
- package/progress/value/ProgressValue.d.ts +1 -1
- package/progress/value/ProgressValue.js +7 -3
- package/progress/value/ProgressValue.mjs +7 -3
- package/radio/indicator/RadioIndicatorDataAttributes.d.mts +1 -1
- package/radio/indicator/RadioIndicatorDataAttributes.d.ts +1 -1
- package/radio/indicator/RadioIndicatorDataAttributes.js +1 -1
- package/radio/indicator/RadioIndicatorDataAttributes.mjs +1 -1
- package/radio/root/RadioRoot.js +22 -29
- package/radio/root/RadioRoot.mjs +22 -29
- package/radio/utils/stateAttributesMapping.js +2 -3
- package/radio/utils/stateAttributesMapping.mjs +2 -3
- package/radio-group/RadioGroup.js +47 -32
- package/radio-group/RadioGroup.mjs +47 -32
- package/radio-group/RadioGroupContext.d.mts +0 -1
- package/radio-group/RadioGroupContext.d.ts +0 -1
- package/scroll-area/root/ScrollAreaRoot.js +122 -83
- package/scroll-area/root/ScrollAreaRoot.mjs +122 -83
- package/scroll-area/root/ScrollAreaRootContext.d.mts +1 -3
- package/scroll-area/root/ScrollAreaRootContext.d.ts +1 -3
- package/scroll-area/root/stateAttributes.js +10 -19
- package/scroll-area/root/stateAttributes.mjs +10 -19
- package/scroll-area/scrollbar/ScrollAreaScrollbar.js +58 -74
- package/scroll-area/scrollbar/ScrollAreaScrollbar.mjs +58 -74
- package/scroll-area/scrollbar/ScrollAreaScrollbarContext.d.mts +1 -3
- package/scroll-area/scrollbar/ScrollAreaScrollbarContext.d.ts +1 -3
- package/scroll-area/thumb/ScrollAreaThumb.js +10 -24
- package/scroll-area/thumb/ScrollAreaThumb.mjs +10 -24
- package/scroll-area/utils/getOffset.js +4 -3
- package/scroll-area/utils/getOffset.mjs +4 -3
- package/scroll-area/viewport/ScrollAreaViewport.js +76 -79
- package/scroll-area/viewport/ScrollAreaViewport.mjs +77 -80
- package/select/arrow/SelectArrow.d.mts +1 -1
- package/select/arrow/SelectArrow.d.ts +1 -1
- package/select/arrow/SelectArrow.js +1 -7
- package/select/arrow/SelectArrow.mjs +2 -7
- package/select/backdrop/SelectBackdropDataAttributes.d.mts +1 -1
- package/select/backdrop/SelectBackdropDataAttributes.d.ts +1 -1
- package/select/backdrop/SelectBackdropDataAttributes.js +1 -1
- package/select/backdrop/SelectBackdropDataAttributes.mjs +1 -1
- package/select/group-label/SelectGroupLabel.js +3 -0
- package/select/group-label/SelectGroupLabel.mjs +3 -0
- package/select/index.d.mts +2 -1
- package/select/index.d.ts +2 -1
- package/select/index.parts.d.mts +1 -1
- package/select/index.parts.d.ts +1 -1
- package/select/index.parts.js +2 -2
- package/select/index.parts.mjs +1 -1
- package/select/item/SelectItem.js +12 -25
- package/select/item/SelectItem.mjs +13 -26
- package/select/item/SelectItemContext.d.mts +0 -1
- package/select/item/SelectItemContext.d.ts +0 -1
- package/select/item-indicator/SelectItemIndicator.js +1 -2
- package/select/item-indicator/SelectItemIndicator.mjs +1 -2
- package/select/item-indicator/SelectItemIndicatorDataAttributes.d.mts +1 -1
- package/select/item-indicator/SelectItemIndicatorDataAttributes.d.ts +1 -1
- package/select/item-indicator/SelectItemIndicatorDataAttributes.js +1 -1
- package/select/item-indicator/SelectItemIndicatorDataAttributes.mjs +1 -1
- package/select/item-text/SelectItemText.js +4 -5
- package/select/item-text/SelectItemText.mjs +4 -5
- package/select/label/SelectLabel.js +2 -1
- package/select/label/SelectLabel.mjs +2 -1
- package/select/list/SelectList.js +3 -6
- package/select/list/SelectList.mjs +3 -6
- package/select/popup/SelectPopup.d.mts +1 -1
- package/select/popup/SelectPopup.d.ts +1 -1
- package/select/popup/SelectPopup.js +32 -52
- package/select/popup/SelectPopup.mjs +33 -53
- package/select/popup/SelectPopupDataAttributes.d.mts +1 -1
- package/select/popup/SelectPopupDataAttributes.d.ts +1 -1
- package/select/popup/SelectPopupDataAttributes.js +1 -1
- package/select/popup/SelectPopupDataAttributes.mjs +1 -1
- package/select/portal/SelectPortal.d.mts +7 -2
- package/select/portal/SelectPortal.d.ts +7 -2
- package/select/portal/SelectPortal.js +3 -7
- package/select/portal/SelectPortal.mjs +3 -7
- package/select/positioner/SelectPositioner.d.mts +1 -1
- package/select/positioner/SelectPositioner.d.ts +1 -1
- package/select/positioner/SelectPositioner.js +15 -29
- package/select/positioner/SelectPositioner.mjs +17 -31
- package/select/positioner/SelectPositionerContext.d.mts +1 -1
- package/select/positioner/SelectPositionerContext.d.ts +1 -1
- package/select/root/SelectRoot.d.mts +2 -0
- package/select/root/SelectRoot.d.ts +2 -0
- package/select/root/SelectRoot.js +93 -121
- package/select/root/SelectRoot.mjs +95 -123
- package/select/root/SelectRootContext.d.mts +4 -5
- package/select/root/SelectRootContext.d.ts +4 -5
- package/select/root/SelectRootContext.js +1 -11
- package/select/root/SelectRootContext.mjs +0 -9
- package/select/scroll-arrow/SelectScrollArrow.d.mts +1 -6
- package/select/scroll-arrow/SelectScrollArrow.d.ts +1 -6
- package/select/scroll-arrow/SelectScrollArrow.js +4 -11
- package/select/scroll-arrow/SelectScrollArrow.mjs +4 -11
- package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.mts +1 -1
- package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.d.ts +1 -1
- package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.js +1 -1
- package/select/scroll-down-arrow/SelectScrollDownArrowDataAttributes.mjs +1 -1
- package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.mts +1 -1
- package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.d.ts +1 -1
- package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.js +1 -1
- package/select/scroll-up-arrow/SelectScrollUpArrowDataAttributes.mjs +1 -1
- package/select/separator/SelectSeparator.d.mts +26 -0
- package/select/separator/SelectSeparator.d.ts +26 -0
- package/select/separator/SelectSeparator.js +15 -0
- package/select/separator/SelectSeparator.mjs +10 -0
- package/select/store.d.mts +3 -5
- package/select/store.d.ts +3 -5
- package/select/store.js +32 -35
- package/select/store.mjs +32 -35
- package/select/trigger/SelectTrigger.d.mts +1 -1
- package/select/trigger/SelectTrigger.d.ts +1 -1
- package/select/trigger/SelectTrigger.js +3 -8
- package/select/trigger/SelectTrigger.mjs +4 -9
- package/select/value/SelectValue.js +1 -1
- package/select/value/SelectValue.mjs +1 -1
- package/slider/control/SliderControl.js +61 -78
- package/slider/control/SliderControl.mjs +61 -78
- package/slider/indicator/SliderIndicator.js +15 -34
- package/slider/indicator/SliderIndicator.mjs +15 -34
- package/slider/root/SliderRoot.d.mts +5 -3
- package/slider/root/SliderRoot.d.ts +5 -3
- package/slider/root/SliderRoot.js +36 -47
- package/slider/root/SliderRoot.mjs +36 -47
- package/slider/root/SliderRootContext.d.mts +6 -4
- package/slider/root/SliderRootContext.d.ts +6 -4
- package/slider/root/stateAttributesMapping.js +7 -6
- package/slider/root/stateAttributesMapping.mjs +7 -6
- package/slider/thumb/SliderThumb.js +64 -69
- package/slider/thumb/SliderThumb.mjs +64 -69
- package/slider/utils/getMidpoint.d.mts +1 -2
- package/slider/utils/getMidpoint.d.ts +1 -2
- package/slider/utils/getMidpoint.js +2 -5
- package/slider/utils/getMidpoint.mjs +2 -5
- package/slider/utils/getPushedThumbValues.d.mts +4 -21
- package/slider/utils/getPushedThumbValues.d.ts +4 -21
- package/slider/utils/getPushedThumbValues.js +6 -15
- package/slider/utils/getPushedThumbValues.mjs +7 -15
- package/slider/utils/getSliderValue.js +8 -8
- package/slider/utils/getSliderValue.mjs +8 -8
- package/slider/utils/resolveThumbCollision.d.mts +5 -24
- package/slider/utils/resolveThumbCollision.d.ts +5 -24
- package/slider/utils/resolveThumbCollision.js +33 -64
- package/slider/utils/resolveThumbCollision.mjs +33 -64
- package/slider/utils/test-utils.d.mts +1 -11
- package/slider/utils/test-utils.d.ts +1 -11
- package/slider/utils/test-utils.js +1 -11
- package/slider/utils/test-utils.mjs +1 -11
- package/slider/utils/validateMinimumDistance.js +6 -7
- package/slider/utils/validateMinimumDistance.mjs +6 -7
- package/slider/value/SliderValue.js +6 -16
- package/slider/value/SliderValue.mjs +6 -16
- package/switch/root/SwitchRoot.js +18 -19
- package/switch/root/SwitchRoot.mjs +18 -19
- package/switch/stateAttributesMapping.js +2 -3
- package/switch/stateAttributesMapping.mjs +2 -3
- package/tabs/indicator/TabsIndicator.js +13 -24
- package/tabs/indicator/TabsIndicator.mjs +13 -24
- 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/TabsList.js +1 -11
- package/tabs/list/TabsList.mjs +1 -11
- package/tabs/list/TabsListContext.d.mts +0 -5
- package/tabs/list/TabsListContext.d.ts +0 -5
- package/tabs/panel/TabsPanel.js +10 -20
- package/tabs/panel/TabsPanel.mjs +10 -20
- package/tabs/panel/TabsPanelDataAttributes.d.mts +1 -1
- package/tabs/panel/TabsPanelDataAttributes.d.ts +1 -1
- package/tabs/panel/TabsPanelDataAttributes.js +1 -1
- package/tabs/panel/TabsPanelDataAttributes.mjs +1 -1
- package/tabs/root/TabsRoot.js +40 -75
- package/tabs/root/TabsRoot.mjs +40 -75
- package/tabs/root/TabsRootContext.d.mts +4 -11
- package/tabs/root/TabsRootContext.d.ts +4 -11
- package/tabs/root/stateAttributesMapping.js +1 -2
- package/tabs/root/stateAttributesMapping.mjs +1 -2
- package/tabs/tab/TabsTab.js +42 -39
- package/tabs/tab/TabsTab.mjs +42 -39
- package/toast/action/ToastAction.js +2 -5
- package/toast/action/ToastAction.mjs +2 -5
- package/toast/arrow/ToastArrow.d.mts +1 -1
- package/toast/arrow/ToastArrow.d.ts +1 -1
- package/toast/arrow/ToastArrow.js +1 -2
- package/toast/arrow/ToastArrow.mjs +1 -2
- package/toast/close/ToastClose.js +3 -4
- package/toast/close/ToastClose.mjs +3 -4
- package/toast/content/ToastContent.js +3 -7
- package/toast/content/ToastContent.mjs +3 -7
- package/toast/description/ToastDescription.js +8 -23
- package/toast/description/ToastDescription.mjs +8 -23
- package/toast/portal/ToastPortal.d.mts +9 -3
- package/toast/portal/ToastPortal.d.ts +9 -3
- package/toast/portal/ToastPortal.js +10 -1
- package/toast/portal/ToastPortal.mjs +9 -2
- package/toast/positioner/ToastPositioner.d.mts +1 -1
- package/toast/positioner/ToastPositioner.d.ts +1 -1
- package/toast/positioner/ToastPositioner.js +4 -5
- package/toast/positioner/ToastPositioner.mjs +4 -5
- package/toast/positioner/ToastPositionerContext.d.mts +1 -1
- package/toast/positioner/ToastPositionerContext.d.ts +1 -1
- package/toast/provider/ToastProvider.js +19 -10
- package/toast/provider/ToastProvider.mjs +20 -11
- package/toast/root/ToastRoot.d.mts +2 -0
- package/toast/root/ToastRoot.d.ts +2 -0
- package/toast/root/ToastRoot.js +93 -140
- package/toast/root/ToastRoot.mjs +92 -139
- package/toast/root/ToastRootContext.d.mts +0 -6
- package/toast/root/ToastRootContext.d.ts +0 -6
- package/toast/root/ToastRootDataAttributes.d.mts +1 -1
- package/toast/root/ToastRootDataAttributes.d.ts +1 -1
- package/toast/root/ToastRootDataAttributes.js +1 -1
- package/toast/root/ToastRootDataAttributes.mjs +1 -1
- package/toast/store.d.mts +17 -22
- package/toast/store.d.ts +17 -22
- package/toast/store.js +51 -85
- package/toast/store.mjs +53 -86
- package/toast/title/ToastTitle.js +8 -23
- package/toast/title/ToastTitle.mjs +8 -23
- package/toast/useToastManager.js +1 -6
- package/toast/useToastManager.mjs +2 -6
- package/toast/utils/isRenderableNode.d.mts +3 -0
- package/toast/utils/isRenderableNode.d.ts +3 -0
- package/toast/utils/isRenderableNode.js +21 -0
- package/toast/utils/isRenderableNode.mjs +13 -0
- package/toast/utils/test-utils.d.mts +1 -8
- package/toast/utils/test-utils.d.ts +1 -8
- package/toast/utils/useToastLabelPart.d.mts +18 -0
- package/toast/utils/useToastLabelPart.d.ts +18 -0
- package/toast/utils/useToastLabelPart.js +52 -0
- package/toast/utils/useToastLabelPart.mjs +47 -0
- package/toast/viewport/ToastViewport.js +42 -78
- package/toast/viewport/ToastViewport.mjs +42 -78
- package/toggle/Toggle.js +1 -2
- package/toggle/Toggle.mjs +1 -2
- package/toggle-group/ToggleGroup.js +4 -19
- package/toggle-group/ToggleGroup.mjs +4 -19
- package/toggle-group/ToggleGroupContext.d.mts +1 -3
- package/toggle-group/ToggleGroupContext.d.ts +1 -3
- package/toggle-group/ToggleGroupContext.js +2 -8
- package/toggle-group/ToggleGroupContext.mjs +2 -7
- package/toolbar/button/ToolbarButton.js +2 -2
- package/toolbar/button/ToolbarButton.mjs +2 -2
- package/toolbar/group/ToolbarGroupContext.d.mts +1 -2
- package/toolbar/group/ToolbarGroupContext.d.ts +1 -2
- package/toolbar/group/ToolbarGroupContext.js +2 -8
- package/toolbar/group/ToolbarGroupContext.mjs +2 -7
- package/toolbar/input/ToolbarInput.js +8 -11
- package/toolbar/input/ToolbarInput.mjs +8 -11
- package/toolbar/link/ToolbarLink.d.mts +1 -1
- package/toolbar/link/ToolbarLink.d.ts +1 -1
- package/toolbar/root/ToolbarRoot.js +4 -5
- package/toolbar/root/ToolbarRoot.mjs +4 -5
- package/toolbar/root/ToolbarRootContext.d.mts +0 -3
- package/toolbar/root/ToolbarRootContext.d.ts +0 -3
- package/toolbar/separator/ToolbarSeparator.d.mts +2 -2
- package/toolbar/separator/ToolbarSeparator.d.ts +2 -2
- package/toolbar/separator/ToolbarSeparator.js +1 -4
- package/toolbar/separator/ToolbarSeparator.mjs +3 -5
- package/tooltip/arrow/TooltipArrow.d.mts +1 -1
- package/tooltip/arrow/TooltipArrow.d.ts +1 -1
- package/tooltip/popup/TooltipPopup.d.mts +1 -1
- package/tooltip/popup/TooltipPopup.d.ts +1 -1
- package/tooltip/popup/TooltipPopup.js +4 -9
- package/tooltip/popup/TooltipPopup.mjs +5 -9
- package/tooltip/popup/TooltipPopupDataAttributes.d.mts +1 -1
- package/tooltip/popup/TooltipPopupDataAttributes.d.ts +1 -1
- package/tooltip/popup/TooltipPopupDataAttributes.js +1 -1
- package/tooltip/popup/TooltipPopupDataAttributes.mjs +1 -1
- package/tooltip/portal/TooltipPortal.d.mts +6 -2
- package/tooltip/portal/TooltipPortal.d.ts +6 -2
- package/tooltip/portal/TooltipPortal.mjs +1 -2
- package/tooltip/positioner/TooltipPositioner.d.mts +1 -1
- package/tooltip/positioner/TooltipPositioner.d.ts +1 -1
- package/tooltip/positioner/TooltipPositioner.js +3 -4
- package/tooltip/positioner/TooltipPositioner.mjs +3 -4
- package/tooltip/positioner/TooltipPositionerContext.d.mts +1 -1
- package/tooltip/positioner/TooltipPositionerContext.d.ts +1 -1
- package/tooltip/positioner/TooltipPositionerCssVars.d.mts +12 -0
- package/tooltip/positioner/TooltipPositionerCssVars.d.ts +12 -0
- package/tooltip/positioner/TooltipPositionerCssVars.js +12 -0
- package/tooltip/positioner/TooltipPositionerCssVars.mjs +12 -0
- package/tooltip/provider/TooltipProvider.d.mts +1 -1
- package/tooltip/provider/TooltipProvider.d.ts +1 -1
- package/tooltip/provider/TooltipProvider.js +1 -5
- package/tooltip/provider/TooltipProvider.mjs +1 -5
- package/tooltip/provider/TooltipProviderContext.d.mts +5 -6
- package/tooltip/provider/TooltipProviderContext.d.ts +5 -6
- package/tooltip/provider/TooltipProviderContext.js +3 -0
- package/tooltip/provider/TooltipProviderContext.mjs +4 -0
- package/tooltip/root/TooltipRoot.js +18 -17
- package/tooltip/root/TooltipRoot.mjs +19 -18
- package/tooltip/store/TooltipHandle.d.mts +15 -12
- package/tooltip/store/TooltipHandle.d.ts +15 -12
- package/tooltip/store/TooltipHandle.js +18 -23
- package/tooltip/store/TooltipHandle.mjs +19 -23
- package/tooltip/store/TooltipStore.d.mts +24 -6
- package/tooltip/store/TooltipStore.d.ts +24 -6
- package/tooltip/store/TooltipStore.js +54 -31
- package/tooltip/store/TooltipStore.mjs +54 -32
- package/tooltip/trigger/TooltipTrigger.d.mts +1 -1
- package/tooltip/trigger/TooltipTrigger.d.ts +1 -1
- package/tooltip/trigger/TooltipTrigger.js +15 -25
- package/tooltip/trigger/TooltipTrigger.mjs +16 -26
- package/tooltip/viewport/TooltipViewport.js +1 -9
- package/tooltip/viewport/TooltipViewport.mjs +2 -9
- package/utils/FloatingPortalLite.d.mts +7 -9
- package/utils/FloatingPortalLite.d.ts +7 -9
- package/utils/FloatingPortalLite.js +4 -4
- package/utils/FloatingPortalLite.mjs +4 -5
- package/utils/FocusGuard.d.mts +1 -5
- package/utils/FocusGuard.d.ts +1 -5
- package/utils/InternalBackdrop.d.mts +0 -4
- package/utils/InternalBackdrop.d.ts +0 -4
- package/utils/NullStore.d.mts +15 -0
- package/utils/NullStore.d.ts +15 -0
- package/utils/NullStore.js +23 -0
- package/utils/NullStore.mjs +16 -0
- package/utils/adaptiveOriginConstants.d.mts +8 -0
- package/utils/adaptiveOriginConstants.d.ts +8 -0
- package/utils/adaptiveOriginConstants.js +14 -0
- package/utils/adaptiveOriginConstants.mjs +8 -0
- package/utils/adaptiveOriginMiddleware.d.mts +0 -4
- package/utils/adaptiveOriginMiddleware.d.ts +0 -4
- package/utils/adaptiveOriginMiddleware.js +5 -8
- package/utils/adaptiveOriginMiddleware.mjs +1 -4
- package/utils/closePart.d.mts +1 -4
- package/utils/closePart.d.ts +1 -4
- package/utils/closePart.js +2 -13
- package/utils/closePart.mjs +1 -12
- package/utils/dispatchClickWithModifiers.d.mts +21 -0
- package/utils/dispatchClickWithModifiers.d.ts +21 -0
- package/utils/dispatchClickWithModifiers.js +30 -0
- package/utils/dispatchClickWithModifiers.mjs +24 -0
- package/utils/formatNumber.d.mts +1 -2
- package/utils/formatNumber.d.ts +1 -2
- package/utils/formatNumber.js +0 -12
- package/utils/formatNumber.mjs +0 -11
- package/utils/getElementAtPoint.d.mts +3 -1
- package/utils/getElementAtPoint.d.ts +3 -1
- package/utils/getElementAtPoint.js +5 -2
- package/utils/getElementAtPoint.mjs +5 -2
- package/utils/getPseudoElementBounds.d.mts +5 -0
- package/utils/getPseudoElementBounds.d.ts +5 -0
- package/utils/getPseudoElementBounds.js +14 -0
- package/utils/getPseudoElementBounds.mjs +13 -0
- package/utils/hideMiddleware.js +7 -4
- package/utils/hideMiddleware.mjs +7 -4
- package/utils/listbox-separator/ListboxSeparator.d.mts +18 -0
- package/utils/listbox-separator/ListboxSeparator.d.ts +18 -0
- package/utils/listbox-separator/ListboxSeparator.js +36 -0
- package/utils/listbox-separator/ListboxSeparator.mjs +31 -0
- package/utils/popupStateMapping.d.mts +19 -7
- package/utils/popupStateMapping.d.ts +19 -7
- package/utils/popupStateMapping.js +14 -9
- package/utils/popupStateMapping.mjs +15 -8
- package/utils/popups/index.d.mts +3 -1
- package/utils/popups/index.d.ts +3 -1
- package/utils/popups/index.js +22 -0
- package/utils/popups/index.mjs +3 -1
- package/utils/popups/popupHandle.d.mts +113 -0
- package/utils/popups/popupHandle.d.ts +113 -0
- package/utils/popups/popupHandle.js +229 -0
- package/utils/popups/popupHandle.mjs +222 -0
- package/utils/popups/popupStoreUtils.d.mts +47 -12
- package/utils/popups/popupStoreUtils.d.ts +47 -12
- package/utils/popups/popupStoreUtils.js +109 -44
- package/utils/popups/popupStoreUtils.mjs +107 -42
- package/utils/popups/popupTriggerMap.d.mts +3 -2
- package/utils/popups/popupTriggerMap.d.ts +3 -2
- package/utils/popups/popupTriggerMap.js +48 -21
- package/utils/popups/popupTriggerMap.mjs +48 -21
- package/utils/popups/store.d.mts +14 -0
- package/utils/popups/store.d.ts +14 -0
- package/utils/popups/store.js +33 -21
- package/utils/popups/store.mjs +33 -21
- package/utils/popups/usePopupHandleStore.d.mts +12 -0
- package/utils/popups/usePopupHandleStore.d.ts +12 -0
- package/utils/popups/usePopupHandleStore.js +33 -0
- package/utils/popups/usePopupHandleStore.mjs +27 -0
- package/utils/scrollable.d.mts +2 -0
- package/utils/scrollable.d.ts +2 -0
- package/utils/scrollable.js +20 -12
- package/utils/scrollable.mjs +18 -12
- package/utils/usePopupAutoResize.d.mts +1 -1
- package/utils/usePopupAutoResize.d.ts +1 -1
- package/utils/usePopupAutoResize.js +15 -18
- package/utils/usePopupAutoResize.mjs +15 -18
- package/utils/usePopupViewport.d.mts +5 -15
- package/utils/usePopupViewport.d.ts +5 -15
- package/utils/usePopupViewport.js +48 -17
- package/utils/usePopupViewport.mjs +47 -17
- package/utils/usePositioner.js +1 -1
- package/utils/usePositioner.mjs +1 -1
- package/utils/useRegisteredLabelId.d.mts +2 -1
- package/utils/useRegisteredLabelId.d.ts +2 -1
- package/utils/useRegisteredLabelId.js +1 -1
- package/utils/useRegisteredLabelId.mjs +1 -1
- package/utils/useSwipeDismiss.js +72 -113
- package/utils/useSwipeDismiss.mjs +72 -113
- package/checkbox/utils/useStateAttributesMapping.js +0 -30
- package/number-field/root/useNumberFieldButton.d.mts +0 -21
- package/number-field/root/useNumberFieldButton.d.ts +0 -21
- package/number-field/root/useNumberFieldButton.js +0 -135
- package/number-field/root/useNumberFieldButton.mjs +0 -130
- package/number-field/utils/subscribeToVisualViewportResize.d.mts +0 -1
- package/number-field/utils/subscribeToVisualViewportResize.d.ts +0 -1
- package/number-field/utils/subscribeToVisualViewportResize.js +0 -23
- package/number-field/utils/subscribeToVisualViewportResize.mjs +0 -18
- package/select/portal/SelectPortalContext.d.mts +0 -3
- package/select/portal/SelectPortalContext.d.ts +0 -3
- package/select/portal/SelectPortalContext.js +0 -21
- package/select/portal/SelectPortalContext.mjs +0 -13
- package/slider/utils/replaceArrayItemAtIndex.d.mts +0 -1
- package/slider/utils/replaceArrayItemAtIndex.d.ts +0 -1
- package/slider/utils/replaceArrayItemAtIndex.js +0 -12
- package/slider/utils/replaceArrayItemAtIndex.mjs +0 -6
- package/slider/utils/valueArrayToPercentages.d.mts +0 -1
- package/slider/utils/valueArrayToPercentages.d.ts +0 -1
- package/slider/utils/valueArrayToPercentages.js +0 -15
- package/slider/utils/valueArrayToPercentages.mjs +0 -9
|
@@ -6,6 +6,7 @@ import { addEventListener } from '@base-ui/utils/addEventListener';
|
|
|
6
6
|
import { ownerDocument, ownerWindow } from '@base-ui/utils/owner';
|
|
7
7
|
import { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';
|
|
8
8
|
import { useStableCallback } from '@base-ui/utils/useStableCallback';
|
|
9
|
+
import { useTimeout } from '@base-ui/utils/useTimeout';
|
|
9
10
|
import { useDialogRootContext } from "../../dialog/root/DialogRootContext.mjs";
|
|
10
11
|
import { clamp } from "../../internals/clamp.mjs";
|
|
11
12
|
import { activeElement, contains, getTarget, isInteractiveElement } from "../../floating-ui-react/utils.mjs";
|
|
@@ -20,6 +21,15 @@ const KEYBOARD_VISIBILITY_MARGIN = 16;
|
|
|
20
21
|
// keyboard overlap, so the field can be scrolled clear of the keyboard instead of
|
|
21
22
|
// ending up flush against it. Only applied when there is actual overlap.
|
|
22
23
|
const KEYBOARD_SCROLL_SLACK = 48;
|
|
24
|
+
// Cadence of the settle-watching realign passes after focus moves with the keyboard open:
|
|
25
|
+
// long enough for a smooth scroll to show progress between passes, short enough to recover
|
|
26
|
+
// quickly from a scroll canceled by WebKit's reveal; the pass count covers CSS transitions
|
|
27
|
+
// reacting to the focus change (e.g. a 260ms footer resize) with room to spare.
|
|
28
|
+
const KEYBOARD_REALIGN_INTERVAL = 150;
|
|
29
|
+
const KEYBOARD_REALIGN_MAX_PASSES = 4;
|
|
30
|
+
// Frames the alignment waits for the scroll destination to stop moving (layout reacting to
|
|
31
|
+
// the focus change, e.g. a footer resizing over a CSS transition) before scrolling anyway.
|
|
32
|
+
const KEYBOARD_SETTLE_FRAME_LIMIT = 60;
|
|
23
33
|
const INPUT_TAP_MOVE_THRESHOLD = 10;
|
|
24
34
|
const INPUT_TAP_HIT_SLOP = 16;
|
|
25
35
|
const KEYBOARD_INPUT_TYPES = new Set(['email', 'number', 'password', 'search', 'tel', 'text', 'url']);
|
|
@@ -43,11 +53,10 @@ export function DrawerVirtualKeyboardProvider(props) {
|
|
|
43
53
|
const {
|
|
44
54
|
children
|
|
45
55
|
} = props;
|
|
46
|
-
const
|
|
47
|
-
store
|
|
48
|
-
} = useDialogRootContext();
|
|
56
|
+
const store = useDialogRootContext();
|
|
49
57
|
const open = store.useState('open');
|
|
50
58
|
const mounted = store.useState('mounted');
|
|
59
|
+
const modal = store.useState('modal');
|
|
51
60
|
const nestedOpenDialogCount = store.useState('nestedOpenDialogCount');
|
|
52
61
|
const viewportElement = store.useState('viewportElement');
|
|
53
62
|
|
|
@@ -60,7 +69,9 @@ export function DrawerVirtualKeyboardProvider(props) {
|
|
|
60
69
|
const keyboardTouchStartRef = React.useRef(null);
|
|
61
70
|
const focusedKeyboardTargetRef = React.useRef(null);
|
|
62
71
|
const keyboardScrollAdjustmentRef = React.useRef(null);
|
|
72
|
+
const programmaticKeyboardFocusRef = React.useRef(false);
|
|
63
73
|
const keyboardFocusFrame = useAnimationFrame();
|
|
74
|
+
const keyboardRealignTimeout = useTimeout();
|
|
64
75
|
const restoreKeyboardScrollAdjustment = useStableCallback(() => {
|
|
65
76
|
const adjustment = keyboardScrollAdjustmentRef.current;
|
|
66
77
|
if (!adjustment) {
|
|
@@ -128,46 +139,100 @@ export function DrawerVirtualKeyboardProvider(props) {
|
|
|
128
139
|
const doc = ownerDocument(rootElement);
|
|
129
140
|
const win = ownerWindow(rootElement);
|
|
130
141
|
const visualViewport = win.visualViewport;
|
|
142
|
+
|
|
143
|
+
// Alignment scroll bookkeeping: destination stability, whether a scroll was issued,
|
|
144
|
+
// and the last observed progress so delayed passes can distinguish moving from stalled.
|
|
145
|
+
let keyboardScrollElement = null;
|
|
146
|
+
let keyboardScrollDestination = 0;
|
|
147
|
+
let keyboardScrollChecks = 0;
|
|
148
|
+
let keyboardScrollObserved = -1;
|
|
131
149
|
const setDrawerKeyboardInset = inset => {
|
|
132
150
|
rootElement.style.setProperty(DrawerViewportCssVars.keyboardInset, `${Math.max(0, Math.ceil(inset))}px`);
|
|
133
151
|
};
|
|
134
|
-
const resetDrawerKeyboardInset = () => {
|
|
135
|
-
setDrawerKeyboardInset(0);
|
|
136
|
-
};
|
|
137
152
|
const clearFocusedKeyboardTarget = () => {
|
|
138
153
|
focusedKeyboardTargetRef.current = null;
|
|
139
|
-
|
|
154
|
+
keyboardScrollElement = null;
|
|
155
|
+
setDrawerKeyboardInset(0);
|
|
140
156
|
restoreKeyboardScrollAdjustment();
|
|
141
157
|
keyboardFocusFrame.cancel();
|
|
158
|
+
keyboardRealignTimeout.clear();
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
// WebKit's native reveal scroll can move the page even while the scroll lock hides
|
|
162
|
+
// overflow (e.g. when the software keyboard's previous/next field arrows move focus).
|
|
163
|
+
// While the drawer is modal, any window scroll during keyboard interaction is spurious,
|
|
164
|
+
// so pin the page to the position it had when the drawer opened.
|
|
165
|
+
const baseScrollX = win.scrollX;
|
|
166
|
+
const baseScrollY = win.scrollY;
|
|
167
|
+
const restoreWindowScroll = () => {
|
|
168
|
+
if (modal !== true || nestedDrawerOpen || !focusedKeyboardTargetRef.current || getKeyboardVisualViewport(win) == null) {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
if (win.scrollX !== baseScrollX || win.scrollY !== baseScrollY) {
|
|
172
|
+
// Force an instant jump: the two-argument form defaults `behavior` to `auto`, which
|
|
173
|
+
// obeys the page's `scroll-behavior`, so a global `scroll-behavior: smooth` would
|
|
174
|
+
// animate the restore. The measurements that follow assume the page is already back
|
|
175
|
+
// at rest, and a smooth restore also re-emits `scroll`, re-entering this handler.
|
|
176
|
+
win.scrollTo({
|
|
177
|
+
left: baseScrollX,
|
|
178
|
+
top: baseScrollY,
|
|
179
|
+
behavior: 'instant'
|
|
180
|
+
});
|
|
181
|
+
return true;
|
|
182
|
+
}
|
|
183
|
+
return false;
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
// Focus moved by the drawer itself goes through `focusKeyboardInputWithoutPageScroll`,
|
|
187
|
+
// but native focus changes (the iOS keyboard's previous/next field arrows) commit
|
|
188
|
+
// WebKit's reveal scroll before `focusin` reaches us — cancelling it afterwards
|
|
189
|
+
// visibly jitters the sheet. `focusout` on the outgoing field fires before focus
|
|
190
|
+
// lands, so override the incoming field's geometry there and restore it in `focusin`.
|
|
191
|
+
let restorePreemptedFocus = null;
|
|
192
|
+
const consumePreemptedFocus = () => {
|
|
193
|
+
restorePreemptedFocus?.();
|
|
194
|
+
restorePreemptedFocus = null;
|
|
195
|
+
};
|
|
196
|
+
const preemptFocusReveal = (target, keyboardViewport) => {
|
|
197
|
+
consumePreemptedFocus();
|
|
198
|
+
|
|
199
|
+
// Native focus carries no preventScroll, so a fake off-screen rect would make WebKit
|
|
200
|
+
// scroll the drawer's own scroll containers thousands of pixels chasing it. Presenting
|
|
201
|
+
// the field as already centered in the visible band above the keyboard instead makes
|
|
202
|
+
// both the in-page reveal and the viewport pan no-ops.
|
|
203
|
+
const rect = target.getBoundingClientRect();
|
|
204
|
+
restorePreemptedFocus = overrideGeometryDuringFocus(target, (keyboardViewport.top + keyboardViewport.bottom - rect.top - rect.bottom) / 2);
|
|
142
205
|
};
|
|
143
206
|
const alignFocusedKeyboardTarget = () => {
|
|
207
|
+
// If focus never lands on a preempted target, the focusout-scheduled alignment still
|
|
208
|
+
// restores it on the next frame before paint.
|
|
209
|
+
consumePreemptedFocus();
|
|
144
210
|
const target = focusedKeyboardTargetRef.current;
|
|
145
211
|
// If the focused field is removed from the DOM without firing `focusout` (e.g. it is
|
|
146
212
|
// conditionally rendered away), any applied scroll slack is restored here on the next
|
|
147
213
|
// focus/viewport event or when the drawer closes. This self-corrects rather than
|
|
148
214
|
// tracking each field's lifecycle.
|
|
149
215
|
if (nestedDrawerOpen || !target || !contains(rootElement, target)) {
|
|
150
|
-
|
|
216
|
+
setDrawerKeyboardInset(0);
|
|
151
217
|
restoreKeyboardScrollAdjustment();
|
|
152
218
|
return;
|
|
153
219
|
}
|
|
220
|
+
|
|
221
|
+
// Undo any reveal scroll WebKit applied to the locked page before measuring, so the
|
|
222
|
+
// keyboard inset and alignment are computed against the resting viewport.
|
|
223
|
+
restoreWindowScroll();
|
|
154
224
|
const keyboardViewport = getKeyboardVisualViewport(win);
|
|
155
225
|
if (!keyboardViewport) {
|
|
156
|
-
|
|
226
|
+
setDrawerKeyboardInset(0);
|
|
157
227
|
restoreKeyboardScrollAdjustment();
|
|
158
228
|
return;
|
|
159
229
|
}
|
|
160
|
-
setDrawerKeyboardInset(
|
|
230
|
+
setDrawerKeyboardInset(Math.max(0, win.innerHeight - keyboardViewport.bottom));
|
|
161
231
|
const scrollTarget = findKeyboardScrollTarget(target, rootElement);
|
|
162
232
|
if (!scrollTarget) {
|
|
163
233
|
restoreKeyboardScrollAdjustment();
|
|
164
234
|
return;
|
|
165
235
|
}
|
|
166
|
-
if (!scrollTarget.isConnected || !contains(rootElement, scrollTarget)) {
|
|
167
|
-
resetDrawerKeyboardInset();
|
|
168
|
-
restoreKeyboardScrollAdjustment();
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
236
|
const scrollTargetRect = scrollTarget.getBoundingClientRect();
|
|
172
237
|
const clippedBottom = Math.min(scrollTargetRect.bottom, keyboardViewport.bottom);
|
|
173
238
|
const overlap = Math.max(0, scrollTargetRect.bottom - keyboardViewport.bottom);
|
|
@@ -183,14 +248,70 @@ export function DrawerVirtualKeyboardProvider(props) {
|
|
|
183
248
|
return;
|
|
184
249
|
}
|
|
185
250
|
const targetRect = target.getBoundingClientRect();
|
|
186
|
-
const
|
|
187
|
-
const
|
|
188
|
-
const
|
|
189
|
-
|
|
251
|
+
const nextScrollTop = scrollTarget.scrollTop + (targetRect.top + targetRect.bottom - visibleTop - visibleBottom) / 2;
|
|
252
|
+
const destination = Math.round(clamp(nextScrollTop, 0, maxScrollTop));
|
|
253
|
+
const settled = keyboardScrollElement === scrollTarget && Math.abs(keyboardScrollDestination - destination) <= 1;
|
|
254
|
+
if (!settled) {
|
|
255
|
+
// Commit the scroll only once the destination holds across two consecutive checks.
|
|
256
|
+
// Layout may still be reacting to the focus change (e.g. a footer sized by
|
|
257
|
+
// `:focus-within` resizing over a transition), and scrolling toward a
|
|
258
|
+
// mid-transition destination overshoots, then visibly pulls back once corrected.
|
|
259
|
+
// The destination is scroll-position-invariant, so an in-flight scroll of the
|
|
260
|
+
// container itself never defers the commit.
|
|
261
|
+
const checks = keyboardScrollElement === scrollTarget ? keyboardScrollChecks + 1 : 1;
|
|
262
|
+
keyboardScrollElement = scrollTarget;
|
|
263
|
+
keyboardScrollDestination = destination;
|
|
264
|
+
keyboardScrollChecks = checks;
|
|
265
|
+
keyboardScrollObserved = -1;
|
|
266
|
+
// Re-check next frame; give up and scroll anyway if layout never settles.
|
|
267
|
+
if (checks <= KEYBOARD_SETTLE_FRAME_LIMIT) {
|
|
268
|
+
keyboardFocusFrame.request(alignFocusedKeyboardTarget);
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
} else if (keyboardScrollObserved >= 0) {
|
|
272
|
+
// A scroll toward this destination is already out. Leave it alone while it has
|
|
273
|
+
// arrived or is still progressing — re-issuing restarts the smooth-scroll easing
|
|
274
|
+
// curve, a visible stutter on every realign pass — and re-issue only when it
|
|
275
|
+
// stalled short (WebKit cancels in-flight smooth scrolls when its native reveal
|
|
276
|
+
// for the focus resolves).
|
|
277
|
+
const current = scrollTarget.scrollTop;
|
|
278
|
+
if (Math.abs(current - destination) <= 1) {
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
if (current !== keyboardScrollObserved) {
|
|
282
|
+
keyboardScrollObserved = current;
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
keyboardScrollElement = scrollTarget;
|
|
287
|
+
keyboardScrollDestination = destination;
|
|
288
|
+
keyboardScrollChecks = 0;
|
|
289
|
+
keyboardScrollObserved = scrollTarget.scrollTop;
|
|
290
|
+
animateKeyboardScroll(scrollTarget, destination);
|
|
190
291
|
};
|
|
191
292
|
const scheduleKeyboardFocusAlignment = () => {
|
|
192
293
|
keyboardFocusFrame.request(alignFocusedKeyboardTarget);
|
|
193
294
|
};
|
|
295
|
+
|
|
296
|
+
// When focus moves with the keyboard already up, no viewport resize events follow to
|
|
297
|
+
// re-run alignment, and the single frame-scheduled pass is unreliable: WebKit resolves
|
|
298
|
+
// the reveal for the focus asynchronously (a UI-process round trip) and cancels any
|
|
299
|
+
// in-flight scroll the pass started when it lands, and layout reacting to the focus
|
|
300
|
+
// change (e.g. a footer sized by `:focus-within` and the keyboard inset) settles only
|
|
301
|
+
// after its transition, so the pass measures stale geometry. Re-align on an interval
|
|
302
|
+
// until both settle; the alignment's scroll bookkeeping observes before re-issuing,
|
|
303
|
+
// so passes that find the scroll on course are inert.
|
|
304
|
+
const scheduleDelayedKeyboardRealign = () => {
|
|
305
|
+
let remainingPasses = KEYBOARD_REALIGN_MAX_PASSES;
|
|
306
|
+
const realign = () => {
|
|
307
|
+
alignFocusedKeyboardTarget();
|
|
308
|
+
remainingPasses -= 1;
|
|
309
|
+
if (remainingPasses > 0) {
|
|
310
|
+
keyboardRealignTimeout.start(KEYBOARD_REALIGN_INTERVAL, realign);
|
|
311
|
+
}
|
|
312
|
+
};
|
|
313
|
+
keyboardRealignTimeout.start(KEYBOARD_REALIGN_INTERVAL, realign);
|
|
314
|
+
};
|
|
194
315
|
const captureFocusedKeyboardTarget = eventTarget => {
|
|
195
316
|
if (nestedDrawerOpen) {
|
|
196
317
|
return false;
|
|
@@ -202,16 +323,56 @@ export function DrawerVirtualKeyboardProvider(props) {
|
|
|
202
323
|
if (!target || !contains(rootElement, target)) {
|
|
203
324
|
return false;
|
|
204
325
|
}
|
|
326
|
+
|
|
327
|
+
// A new field starts a fresh alignment; the scroll bookkeeping must not carry
|
|
328
|
+
// over from the previous field's scroll.
|
|
329
|
+
if (focusedKeyboardTargetRef.current !== target) {
|
|
330
|
+
keyboardScrollElement = null;
|
|
331
|
+
}
|
|
205
332
|
focusedKeyboardTargetRef.current = target;
|
|
206
333
|
return true;
|
|
207
334
|
};
|
|
208
335
|
const handleFocusIn = event => {
|
|
209
|
-
|
|
210
|
-
|
|
336
|
+
// The programmatic transition is over once focus lands, which happens before
|
|
337
|
+
// `.focus()` returns. Any later `focusout` is the consumer's own — an `onFocus`
|
|
338
|
+
// handler that blurs or moves focus — and must be reconciled rather than
|
|
339
|
+
// suppressed, so stop suppressing here instead of waiting for `.focus()` to return.
|
|
340
|
+
programmaticKeyboardFocusRef.current = false;
|
|
341
|
+
consumePreemptedFocus();
|
|
342
|
+
if (!captureFocusedKeyboardTarget(getTarget(event))) {
|
|
343
|
+
// Focus landed outside any drawer keyboard input. The `focusout` on the previous
|
|
344
|
+
// field normally clears the tracked target, but the tap path suppresses that
|
|
345
|
+
// `focusout` via `programmaticKeyboardFocusRef`, so a consumer `onFocus` handler that
|
|
346
|
+
// redirects focus out of the drawer would otherwise leave a stale target holding its
|
|
347
|
+
// inset, slack, and pending realign. Reconcile against the real focus here.
|
|
348
|
+
// A handler that ends focus entirely emits no `focusin` to reconcile from; that case
|
|
349
|
+
// is covered by clearing the suppression flag above so its `focusout` is handled.
|
|
350
|
+
clearFocusedKeyboardTarget();
|
|
351
|
+
return;
|
|
211
352
|
}
|
|
353
|
+
|
|
354
|
+
// Covers every way focus can land with the keyboard already up: native moves (the
|
|
355
|
+
// keyboard's previous/next arrows) and the tap path (which suppresses `focusout`
|
|
356
|
+
// handling via the programmatic flag).
|
|
357
|
+
if (getKeyboardVisualViewport(win) != null) {
|
|
358
|
+
scheduleDelayedKeyboardRealign();
|
|
359
|
+
}
|
|
360
|
+
scheduleKeyboardFocusAlignment();
|
|
212
361
|
};
|
|
213
362
|
const handleFocusOut = event => {
|
|
363
|
+
// The blur inside `focusKeyboardInputWithoutPageScroll` is followed synchronously by
|
|
364
|
+
// a re-focus; clearing state here would drop the keyboard inset for a frame.
|
|
365
|
+
if (programmaticKeyboardFocusRef.current) {
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
214
368
|
if (captureFocusedKeyboardTarget(event.relatedTarget)) {
|
|
369
|
+
const target = focusedKeyboardTargetRef.current;
|
|
370
|
+
const keyboardViewport = getKeyboardVisualViewport(win);
|
|
371
|
+
// The delayed realign passes are scheduled by the `focusin` that follows once
|
|
372
|
+
// focus lands on the captured target.
|
|
373
|
+
if (target && keyboardViewport) {
|
|
374
|
+
preemptFocusReveal(target, keyboardViewport);
|
|
375
|
+
}
|
|
215
376
|
scheduleKeyboardFocusAlignment();
|
|
216
377
|
return;
|
|
217
378
|
}
|
|
@@ -226,25 +387,36 @@ export function DrawerVirtualKeyboardProvider(props) {
|
|
|
226
387
|
if (visualViewport) {
|
|
227
388
|
cleanupListeners.push(addEventListener(visualViewport, 'resize', handleViewportUpdate), addEventListener(visualViewport, 'scroll', handleViewportUpdate));
|
|
228
389
|
}
|
|
229
|
-
|
|
390
|
+
const handleWindowScroll = () => {
|
|
391
|
+
if (restoreWindowScroll()) {
|
|
392
|
+
// Recompute the keyboard inset once the page is back at rest; measurements taken
|
|
393
|
+
// mid-reveal (a non-zero visual viewport offset) inflate it and push the popup up.
|
|
394
|
+
scheduleKeyboardFocusAlignment();
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
|
|
398
|
+
// Once the user puts a finger down they own the scroll position. Stop both the frame settle
|
|
399
|
+
// loop, which can center after changing layout settles, and the delayed passes, which can't
|
|
400
|
+
// distinguish a user scroll from a reveal scroll WebKit canceled. A later focus or viewport
|
|
401
|
+
// change reschedules alignment if it's still needed.
|
|
402
|
+
const cancelKeyboardRealignOnPointerDown = () => {
|
|
403
|
+
keyboardFocusFrame.cancel();
|
|
404
|
+
keyboardRealignTimeout.clear();
|
|
405
|
+
keyboardScrollElement = null;
|
|
406
|
+
};
|
|
407
|
+
cleanupListeners.push(addEventListener(doc, 'focusin', handleFocusIn, true), addEventListener(doc, 'focusout', handleFocusOut, true), addEventListener(win, 'scroll', handleWindowScroll), addEventListener(doc, 'pointerdown', cancelKeyboardRealignOnPointerDown, true));
|
|
230
408
|
if (captureFocusedKeyboardTarget(activeElement(doc))) {
|
|
231
409
|
scheduleKeyboardFocusAlignment();
|
|
232
410
|
}
|
|
233
411
|
return () => {
|
|
234
412
|
cleanupListeners.forEach(cleanup => cleanup());
|
|
413
|
+
consumePreemptedFocus();
|
|
235
414
|
clearFocusedKeyboardTarget();
|
|
236
415
|
rootElement.style.removeProperty(DrawerViewportCssVars.keyboardInset);
|
|
237
416
|
};
|
|
238
|
-
}, [animateKeyboardScroll, keyboardFocusFrame, mounted, nestedDrawerOpen, open, restoreKeyboardScrollAdjustment, rootElement, setKeyboardScrollSlack]);
|
|
417
|
+
}, [animateKeyboardScroll, keyboardFocusFrame, keyboardRealignTimeout, modal, mounted, nestedDrawerOpen, open, restoreKeyboardScrollAdjustment, rootElement, setKeyboardScrollSlack]);
|
|
239
418
|
const onTouchStart = useStableCallback(event => {
|
|
240
|
-
if (!open || !mounted || nestedDrawerOpen) {
|
|
241
|
-
resetTouchTrackingState();
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
419
|
const touch = event.touches[0];
|
|
245
|
-
if (!touch) {
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
420
|
pendingKeyboardFocusMovedRef.current = false;
|
|
249
421
|
keyboardTouchStartRef.current = {
|
|
250
422
|
x: touch.clientX,
|
|
@@ -270,9 +442,9 @@ export function DrawerVirtualKeyboardProvider(props) {
|
|
|
270
442
|
return;
|
|
271
443
|
}
|
|
272
444
|
const touch = event.changedTouches[0] ?? event.touches[0];
|
|
273
|
-
const
|
|
445
|
+
const root = rootElement.getRootNode();
|
|
274
446
|
const nativeEventTarget = getTarget(event.nativeEvent);
|
|
275
|
-
const pointTarget = touch ? resolveKeyboardTouchTargetFromPoint(
|
|
447
|
+
const pointTarget = touch ? resolveKeyboardTouchTargetFromPoint(root, touch.clientX, touch.clientY) : null;
|
|
276
448
|
|
|
277
449
|
// The lift point landed on another interactive/label element; let its native tap
|
|
278
450
|
// through instead of stealing it for the touchstart input.
|
|
@@ -301,15 +473,24 @@ export function DrawerVirtualKeyboardProvider(props) {
|
|
|
301
473
|
|
|
302
474
|
// Already focused with the keyboard up: let the native tap through so it can
|
|
303
475
|
// reposition the caret, rather than blurring and re-focusing the same input.
|
|
304
|
-
if (activeElement(ownerDocument(keyboardFocusTarget)) === keyboardFocusTarget &&
|
|
476
|
+
if (activeElement(ownerDocument(keyboardFocusTarget)) === keyboardFocusTarget && (!win.visualViewport || getKeyboardVisualViewport(win) != null)) {
|
|
305
477
|
resetTouchTrackingState();
|
|
306
478
|
return;
|
|
307
479
|
}
|
|
308
480
|
|
|
309
481
|
// iOS only opens the software keyboard when focus happens synchronously
|
|
310
|
-
// inside the touch gesture.
|
|
482
|
+
// inside the touch gesture. The flag suppresses the `focusout` cleanup the
|
|
483
|
+
// intermediate blur would otherwise trigger, so the keyboard inset isn't
|
|
484
|
+
// dropped for a frame between the blur and the re-focus. It is cleared by the
|
|
485
|
+
// `focusin` that lands, so only that blur is suppressed; the `finally` is the
|
|
486
|
+
// backstop for a target that never takes focus.
|
|
311
487
|
event.preventDefault();
|
|
312
|
-
|
|
488
|
+
programmaticKeyboardFocusRef.current = true;
|
|
489
|
+
try {
|
|
490
|
+
focusKeyboardInputWithoutPageScroll(keyboardFocusTarget);
|
|
491
|
+
} finally {
|
|
492
|
+
programmaticKeyboardFocusRef.current = false;
|
|
493
|
+
}
|
|
313
494
|
// Preventing the touchend default also suppresses the compatibility mouse
|
|
314
495
|
// events, including `click`; redispatch an untrusted replacement on the
|
|
315
496
|
// original tap target so click handlers still run with the tap coordinates.
|
|
@@ -354,13 +535,16 @@ function resolveKeyboardInputTarget(target) {
|
|
|
354
535
|
return isHTMLElement(control) && isKeyboardInputElement(control) ? control : null;
|
|
355
536
|
}
|
|
356
537
|
function resolveKeyboardTouchTarget(target) {
|
|
538
|
+
if (!isHTMLElement(target)) {
|
|
539
|
+
return null;
|
|
540
|
+
}
|
|
357
541
|
const focusTarget = resolveKeyboardInputTarget(target);
|
|
358
542
|
if (!focusTarget) {
|
|
359
543
|
return null;
|
|
360
544
|
}
|
|
361
545
|
return {
|
|
362
546
|
focusTarget,
|
|
363
|
-
clickTarget:
|
|
547
|
+
clickTarget: target
|
|
364
548
|
};
|
|
365
549
|
}
|
|
366
550
|
|
|
@@ -373,14 +557,16 @@ function getContentEditableHost(element) {
|
|
|
373
557
|
}
|
|
374
558
|
return host;
|
|
375
559
|
}
|
|
376
|
-
function resolveKeyboardTouchTargetFromPoint(
|
|
377
|
-
const exactTarget = getElementAtPoint(
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
560
|
+
function resolveKeyboardTouchTargetFromPoint(root, clientX, clientY) {
|
|
561
|
+
const exactTarget = getElementAtPoint(root, clientX, clientY);
|
|
562
|
+
if (isHTMLElement(exactTarget)) {
|
|
563
|
+
const exactKeyboardTarget = resolveKeyboardInputTarget(exactTarget);
|
|
564
|
+
if (exactKeyboardTarget) {
|
|
565
|
+
return {
|
|
566
|
+
focusTarget: exactKeyboardTarget,
|
|
567
|
+
clickTarget: exactTarget
|
|
568
|
+
};
|
|
569
|
+
}
|
|
384
570
|
}
|
|
385
571
|
|
|
386
572
|
// Probing nearby points compensates for iOS retargeting taps while the page reacts
|
|
@@ -393,7 +579,7 @@ function resolveKeyboardTouchTargetFromPoint(doc, clientX, clientY) {
|
|
|
393
579
|
return KEYBOARD_TAP_BLOCKED;
|
|
394
580
|
}
|
|
395
581
|
for (const [offsetX, offsetY] of [[0, INPUT_TAP_HIT_SLOP], [0, -INPUT_TAP_HIT_SLOP], [INPUT_TAP_HIT_SLOP, 0], [-INPUT_TAP_HIT_SLOP, 0]]) {
|
|
396
|
-
const keyboardTarget = resolveKeyboardInputTarget(getElementAtPoint(
|
|
582
|
+
const keyboardTarget = resolveKeyboardInputTarget(getElementAtPoint(root, clientX + offsetX, clientY + offsetY));
|
|
397
583
|
if (keyboardTarget) {
|
|
398
584
|
return {
|
|
399
585
|
focusTarget: keyboardTarget,
|
|
@@ -417,15 +603,10 @@ function dispatchKeyboardClick(target, touch) {
|
|
|
417
603
|
}
|
|
418
604
|
function focusKeyboardInputWithoutPageScroll(target) {
|
|
419
605
|
const wasFocused = activeElement(ownerDocument(target)) === target;
|
|
420
|
-
const previousOpacity = target.style.opacity;
|
|
421
|
-
const previousTransform = target.style.transform;
|
|
422
|
-
const previousTransition = target.style.transition;
|
|
423
|
-
|
|
424
606
|
// iOS Safari can still scroll the page for transformed sheets even with preventScroll.
|
|
425
|
-
// Move the input off-screen only for the synchronous focus call
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
target.style.transform = 'translateY(-2000px)';
|
|
607
|
+
// Move the input off-screen only for the synchronous focus call; `preventScroll`
|
|
608
|
+
// suppresses the in-page ancestor scrolling that would otherwise chase the fake rect.
|
|
609
|
+
const restoreStyles = overrideGeometryDuringFocus(target, -2000);
|
|
429
610
|
try {
|
|
430
611
|
if (wasFocused) {
|
|
431
612
|
target.blur();
|
|
@@ -434,10 +615,25 @@ function focusKeyboardInputWithoutPageScroll(target) {
|
|
|
434
615
|
preventScroll: true
|
|
435
616
|
});
|
|
436
617
|
} finally {
|
|
618
|
+
restoreStyles();
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
// Overrides the painted geometry WebKit samples when an element gains focus. The rect is
|
|
623
|
+
// hidden (opacity) rather than detached so layout is unaffected; the caller must restore
|
|
624
|
+
// synchronously before the next paint.
|
|
625
|
+
function overrideGeometryDuringFocus(target, translateY) {
|
|
626
|
+
const previousOpacity = target.style.opacity;
|
|
627
|
+
const previousTransform = target.style.transform;
|
|
628
|
+
const previousTransition = target.style.transition;
|
|
629
|
+
target.style.transition = 'none';
|
|
630
|
+
target.style.opacity = '0';
|
|
631
|
+
target.style.transform = `translateY(${translateY}px)`;
|
|
632
|
+
return () => {
|
|
437
633
|
target.style.opacity = previousOpacity;
|
|
438
634
|
target.style.transform = previousTransform;
|
|
439
635
|
target.style.transition = previousTransition;
|
|
440
|
-
}
|
|
636
|
+
};
|
|
441
637
|
}
|
|
442
638
|
function findKeyboardScrollTarget(target, root) {
|
|
443
639
|
// Start at the parent: scrolling the focused field's own content (an overflowing
|
|
@@ -464,10 +660,4 @@ function getKeyboardVisualViewport(win) {
|
|
|
464
660
|
top,
|
|
465
661
|
bottom: Math.min(win.innerHeight, top + visualViewport.height)
|
|
466
662
|
};
|
|
467
|
-
}
|
|
468
|
-
function getDrawerKeyboardInset(win, keyboardViewport) {
|
|
469
|
-
return Math.max(0, win.innerHeight - keyboardViewport.bottom);
|
|
470
|
-
}
|
|
471
|
-
function isKeyboardVisualViewportOpen(win) {
|
|
472
|
-
return !win.visualViewport || getKeyboardVisualViewport(win) != null;
|
|
473
663
|
}
|
|
@@ -115,10 +115,10 @@ const FieldControl = exports.FieldControl = /*#__PURE__*/React.forwardRef(functi
|
|
|
115
115
|
const inputValue = event.currentTarget.value;
|
|
116
116
|
onValueChange?.(inputValue, (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.none, event.nativeEvent));
|
|
117
117
|
// `validation.change` reads `markedDirtyRef`, so update dirty before validating.
|
|
118
|
-
setDirty(inputValue !== validityData.initialValue);
|
|
118
|
+
setDirty(inputValue !== (validityData.initialValue ?? ''));
|
|
119
119
|
setFilled(inputValue !== '');
|
|
120
120
|
|
|
121
|
-
// Workaround for https://github.com/
|
|
121
|
+
// Workaround for https://github.com/react/react/issues/9023
|
|
122
122
|
if (!event.nativeEvent.defaultPrevented) {
|
|
123
123
|
clearErrors(name);
|
|
124
124
|
validation.change(inputValue);
|
|
@@ -110,10 +110,10 @@ export const FieldControl = /*#__PURE__*/React.forwardRef(function FieldControl(
|
|
|
110
110
|
const inputValue = event.currentTarget.value;
|
|
111
111
|
onValueChange?.(inputValue, createChangeEventDetails(REASONS.none, event.nativeEvent));
|
|
112
112
|
// `validation.change` reads `markedDirtyRef`, so update dirty before validating.
|
|
113
|
-
setDirty(inputValue !== validityData.initialValue);
|
|
113
|
+
setDirty(inputValue !== (validityData.initialValue ?? ''));
|
|
114
114
|
setFilled(inputValue !== '');
|
|
115
115
|
|
|
116
|
-
// Workaround for https://github.com/
|
|
116
|
+
// Workaround for https://github.com/react/react/issues/9023
|
|
117
117
|
if (!event.nativeEvent.defaultPrevented) {
|
|
118
118
|
clearErrors(name);
|
|
119
119
|
validation.change(inputValue);
|
|
@@ -86,13 +86,13 @@ const FieldError = exports.FieldError = /*#__PURE__*/React.forwardRef(function F
|
|
|
86
86
|
} else if (validityData.errors.length > 1) {
|
|
87
87
|
error = validityData.errors;
|
|
88
88
|
}
|
|
89
|
-
let errorMessage = error
|
|
89
|
+
let errorMessage = error;
|
|
90
90
|
if (Array.isArray(error)) {
|
|
91
91
|
errorMessage = error.length > 1 ? /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
|
|
92
92
|
children: error.map(message => /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
|
|
93
93
|
children: message
|
|
94
94
|
}, message))
|
|
95
|
-
}) : error[0]
|
|
95
|
+
}) : error[0];
|
|
96
96
|
}
|
|
97
97
|
const errorKey = Array.isArray(error) ? JSON.stringify(error) : error;
|
|
98
98
|
if (rendered && errorKey !== lastRenderedMessageKey) {
|
|
@@ -80,13 +80,13 @@ export const FieldError = /*#__PURE__*/React.forwardRef(function FieldError(comp
|
|
|
80
80
|
} else if (validityData.errors.length > 1) {
|
|
81
81
|
error = validityData.errors;
|
|
82
82
|
}
|
|
83
|
-
let errorMessage = error
|
|
83
|
+
let errorMessage = error;
|
|
84
84
|
if (Array.isArray(error)) {
|
|
85
85
|
errorMessage = error.length > 1 ? /*#__PURE__*/_jsx("ul", {
|
|
86
86
|
children: error.map(message => /*#__PURE__*/_jsx("li", {
|
|
87
87
|
children: message
|
|
88
88
|
}, message))
|
|
89
|
-
}) : error[0]
|
|
89
|
+
}) : error[0];
|
|
90
90
|
}
|
|
91
91
|
const errorKey = Array.isArray(error) ? JSON.stringify(error) : error;
|
|
92
92
|
if (rendered && errorKey !== lastRenderedMessageKey) {
|
|
@@ -35,7 +35,7 @@ let FieldErrorDataAttributes = exports.FieldErrorDataAttributes = function (Fiel
|
|
|
35
35
|
*/
|
|
36
36
|
FieldErrorDataAttributes["focused"] = "data-focused";
|
|
37
37
|
/**
|
|
38
|
-
* Present when the error message
|
|
38
|
+
* Present when the error message begins animating in.
|
|
39
39
|
*/
|
|
40
40
|
FieldErrorDataAttributes[FieldErrorDataAttributes["startingStyle"] = _stateAttributesMapping.TransitionStatusDataAttributes.startingStyle] = "startingStyle";
|
|
41
41
|
/**
|
|
@@ -29,7 +29,7 @@ export let FieldErrorDataAttributes = function (FieldErrorDataAttributes) {
|
|
|
29
29
|
*/
|
|
30
30
|
FieldErrorDataAttributes["focused"] = "data-focused";
|
|
31
31
|
/**
|
|
32
|
-
* Present when the error message
|
|
32
|
+
* Present when the error message begins animating in.
|
|
33
33
|
*/
|
|
34
34
|
FieldErrorDataAttributes[FieldErrorDataAttributes["startingStyle"] = TransitionStatusDataAttributes.startingStyle] = "startingStyle";
|
|
35
35
|
/**
|
package/field/item/FieldItem.js
CHANGED
|
@@ -12,7 +12,6 @@ var _constants = require("../../internals/field-constants/constants");
|
|
|
12
12
|
var _useRenderElement = require("../../internals/useRenderElement");
|
|
13
13
|
var _FieldItemContext = require("./FieldItemContext");
|
|
14
14
|
var _labelableProvider = require("../../internals/labelable-provider");
|
|
15
|
-
var _CheckboxGroupContext = require("../../checkbox-group/CheckboxGroupContext");
|
|
16
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
16
|
/**
|
|
18
17
|
* Groups individual items in a checkbox group or radio group with a label and description.
|
|
@@ -37,9 +36,6 @@ const FieldItem = exports.FieldItem = /*#__PURE__*/React.forwardRef(function Fie
|
|
|
37
36
|
...fieldState,
|
|
38
37
|
disabled
|
|
39
38
|
};
|
|
40
|
-
const checkboxGroupContext = (0, _CheckboxGroupContext.useCheckboxGroupContext)();
|
|
41
|
-
const hasParentCheckbox = checkboxGroupContext?.allValues !== undefined;
|
|
42
|
-
const controlId = hasParentCheckbox ? checkboxGroupContext?.parent.id : undefined;
|
|
43
39
|
const fieldItemContext = React.useMemo(() => ({
|
|
44
40
|
disabled
|
|
45
41
|
}), [disabled]);
|
|
@@ -50,7 +46,6 @@ const FieldItem = exports.FieldItem = /*#__PURE__*/React.forwardRef(function Fie
|
|
|
50
46
|
stateAttributesMapping: _constants.fieldValidityMapping
|
|
51
47
|
});
|
|
52
48
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_labelableProvider.LabelableProvider, {
|
|
53
|
-
controlId: controlId,
|
|
54
49
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FieldItemContext.FieldItemContext.Provider, {
|
|
55
50
|
value: fieldItemContext,
|
|
56
51
|
children: element
|
package/field/item/FieldItem.mjs
CHANGED
|
@@ -6,7 +6,6 @@ import { fieldValidityMapping } from "../../internals/field-constants/constants.
|
|
|
6
6
|
import { useRenderElement } from "../../internals/useRenderElement.mjs";
|
|
7
7
|
import { FieldItemContext } from "./FieldItemContext.mjs";
|
|
8
8
|
import { LabelableProvider } from "../../internals/labelable-provider/index.mjs";
|
|
9
|
-
import { useCheckboxGroupContext } from "../../checkbox-group/CheckboxGroupContext.mjs";
|
|
10
9
|
|
|
11
10
|
/**
|
|
12
11
|
* Groups individual items in a checkbox group or radio group with a label and description.
|
|
@@ -32,9 +31,6 @@ export const FieldItem = /*#__PURE__*/React.forwardRef(function FieldItem(compon
|
|
|
32
31
|
...fieldState,
|
|
33
32
|
disabled
|
|
34
33
|
};
|
|
35
|
-
const checkboxGroupContext = useCheckboxGroupContext();
|
|
36
|
-
const hasParentCheckbox = checkboxGroupContext?.allValues !== undefined;
|
|
37
|
-
const controlId = hasParentCheckbox ? checkboxGroupContext?.parent.id : undefined;
|
|
38
34
|
const fieldItemContext = React.useMemo(() => ({
|
|
39
35
|
disabled
|
|
40
36
|
}), [disabled]);
|
|
@@ -45,7 +41,6 @@ export const FieldItem = /*#__PURE__*/React.forwardRef(function FieldItem(compon
|
|
|
45
41
|
stateAttributesMapping: fieldValidityMapping
|
|
46
42
|
});
|
|
47
43
|
return /*#__PURE__*/_jsx(LabelableProvider, {
|
|
48
|
-
controlId: controlId,
|
|
49
44
|
children: /*#__PURE__*/_jsx(FieldItemContext.Provider, {
|
|
50
45
|
value: fieldItemContext,
|
|
51
46
|
children: element
|