@limonify/zest-ui 0.3.2 → 0.4.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/README.md +3 -0
- package/lib/alert-dialog/index.parts.d.ts +1 -1
- package/lib/alert-dialog/index.parts.d.ts.map +1 -1
- package/lib/alert-dialog/index.parts.js.map +1 -1
- package/lib/autocomplete/handle.d.ts +15 -0
- package/lib/autocomplete/handle.d.ts.map +1 -0
- package/lib/autocomplete/handle.js +12 -0
- package/lib/autocomplete/handle.js.map +1 -0
- package/lib/autocomplete/index.d.ts +1 -0
- package/lib/autocomplete/index.d.ts.map +1 -1
- package/lib/autocomplete/index.parts.d.ts +1 -0
- package/lib/autocomplete/index.parts.d.ts.map +1 -1
- package/lib/autocomplete/index.parts.js +3 -1
- package/lib/autocomplete/index.parts.js.map +1 -1
- package/lib/autocomplete/root/AutocompleteRoot.d.ts +55 -16
- package/lib/autocomplete/root/AutocompleteRoot.d.ts.map +1 -1
- package/lib/autocomplete/root/AutocompleteRoot.js +2 -18
- package/lib/autocomplete/root/AutocompleteRoot.js.map +1 -1
- package/lib/avatar/fallback/AvatarFallback.d.ts.map +1 -1
- package/lib/avatar/fallback/AvatarFallback.js +3 -1
- package/lib/avatar/fallback/AvatarFallback.js.map +1 -1
- package/lib/avatar/image/AvatarImage.d.ts.map +1 -1
- package/lib/avatar/image/AvatarImage.js +5 -0
- package/lib/avatar/image/AvatarImage.js.map +1 -1
- package/lib/checkbox/root/CheckboxRoot.d.ts.map +1 -1
- package/lib/checkbox/root/CheckboxRoot.js +9 -4
- package/lib/checkbox/root/CheckboxRoot.js.map +1 -1
- package/lib/combobox/backdrop/ComboboxBackdrop.d.ts.map +1 -1
- package/lib/combobox/backdrop/ComboboxBackdrop.js +10 -4
- package/lib/combobox/backdrop/ComboboxBackdrop.js.map +1 -1
- package/lib/combobox/empty/ComboboxEmpty.d.ts.map +1 -1
- package/lib/combobox/empty/ComboboxEmpty.js +4 -1
- package/lib/combobox/empty/ComboboxEmpty.js.map +1 -1
- package/lib/combobox/index.d.ts +2 -0
- package/lib/combobox/index.d.ts.map +1 -1
- package/lib/combobox/index.js +3 -1
- package/lib/combobox/index.js.map +1 -1
- package/lib/combobox/index.parts.d.ts +1 -0
- package/lib/combobox/index.parts.d.ts.map +1 -1
- package/lib/combobox/index.parts.js +4 -1
- package/lib/combobox/index.parts.js.map +1 -1
- package/lib/combobox/input/ComboboxInput.d.ts +24 -3
- package/lib/combobox/input/ComboboxInput.d.ts.map +1 -1
- package/lib/combobox/input/ComboboxInput.js +65 -11
- package/lib/combobox/input/ComboboxInput.js.map +1 -1
- package/lib/combobox/item/ComboboxItem.d.ts +11 -1
- package/lib/combobox/item/ComboboxItem.d.ts.map +1 -1
- package/lib/combobox/item/ComboboxItem.js +9 -6
- package/lib/combobox/item/ComboboxItem.js.map +1 -1
- package/lib/combobox/list/ComboboxList.d.ts +1 -1
- package/lib/combobox/list/ComboboxList.d.ts.map +1 -1
- package/lib/combobox/list/ComboboxList.js +4 -1
- package/lib/combobox/list/ComboboxList.js.map +1 -1
- package/lib/combobox/popup/ComboboxPopup.d.ts +26 -0
- package/lib/combobox/popup/ComboboxPopup.d.ts.map +1 -1
- package/lib/combobox/popup/ComboboxPopup.js +18 -2
- package/lib/combobox/popup/ComboboxPopup.js.map +1 -1
- package/lib/combobox/portal/ComboboxPortal.d.ts.map +1 -1
- package/lib/combobox/portal/ComboboxPortal.js +8 -4
- package/lib/combobox/portal/ComboboxPortal.js.map +1 -1
- package/lib/combobox/portal/ComboboxPortalContext.d.ts +4 -0
- package/lib/combobox/portal/ComboboxPortalContext.d.ts.map +1 -0
- package/lib/combobox/portal/ComboboxPortalContext.js +48 -0
- package/lib/combobox/portal/ComboboxPortalContext.js.map +1 -0
- package/lib/combobox/positioner/ComboboxPositioner.d.ts +7 -2
- package/lib/combobox/positioner/ComboboxPositioner.d.ts.map +1 -1
- package/lib/combobox/positioner/ComboboxPositioner.js +61 -6
- package/lib/combobox/positioner/ComboboxPositioner.js.map +1 -1
- package/lib/combobox/positioner/ComboboxPositionerContext.d.ts +9 -0
- package/lib/combobox/positioner/ComboboxPositionerContext.d.ts.map +1 -0
- package/lib/combobox/positioner/ComboboxPositionerContext.js +48 -0
- package/lib/combobox/positioner/ComboboxPositionerContext.js.map +1 -0
- package/lib/combobox/root/ComboboxItemsContext.d.ts +18 -0
- package/lib/combobox/root/ComboboxItemsContext.d.ts.map +1 -0
- package/lib/combobox/root/ComboboxItemsContext.js +55 -0
- package/lib/combobox/root/ComboboxItemsContext.js.map +1 -0
- package/lib/combobox/root/ComboboxRoot.d.ts +77 -21
- package/lib/combobox/root/ComboboxRoot.d.ts.map +1 -1
- package/lib/combobox/root/ComboboxRoot.js +4 -23
- package/lib/combobox/root/ComboboxRoot.js.map +1 -1
- package/lib/combobox/root/ComboboxRootContext.d.ts +4 -54
- package/lib/combobox/root/ComboboxRootContext.d.ts.map +1 -1
- package/lib/combobox/root/ComboboxRootContext.js.map +1 -1
- package/lib/combobox/root/ComboboxTransitionContext.d.ts +8 -0
- package/lib/combobox/root/ComboboxTransitionContext.d.ts.map +1 -0
- package/lib/combobox/root/ComboboxTransitionContext.js +44 -0
- package/lib/combobox/root/ComboboxTransitionContext.js.map +1 -0
- package/lib/combobox/root/useRenderComboboxRoot.d.ts +39 -0
- package/lib/combobox/root/useRenderComboboxRoot.d.ts.map +1 -0
- package/lib/combobox/root/useRenderComboboxRoot.js +136 -0
- package/lib/combobox/root/useRenderComboboxRoot.js.map +1 -0
- package/lib/combobox/store/ComboboxHandle.d.ts +42 -0
- package/lib/combobox/store/ComboboxHandle.d.ts.map +1 -0
- package/lib/combobox/store/ComboboxHandle.js +65 -0
- package/lib/combobox/store/ComboboxHandle.js.map +1 -0
- package/lib/combobox/store/ComboboxStore.d.ts +147 -0
- package/lib/combobox/store/ComboboxStore.d.ts.map +1 -0
- package/lib/combobox/store/ComboboxStore.js +127 -0
- package/lib/combobox/store/ComboboxStore.js.map +1 -0
- package/lib/combobox/value/ComboboxValue.d.ts.map +1 -1
- package/lib/combobox/value/ComboboxValue.js +2 -1
- package/lib/combobox/value/ComboboxValue.js.map +1 -1
- package/lib/context-menu/positioner/ContextMenuPositioner.d.ts +19 -3
- package/lib/context-menu/positioner/ContextMenuPositioner.d.ts.map +1 -1
- package/lib/context-menu/positioner/ContextMenuPositioner.js +56 -7
- package/lib/context-menu/positioner/ContextMenuPositioner.js.map +1 -1
- package/lib/context-menu/root/ContextMenuRoot.d.ts +8 -0
- package/lib/context-menu/root/ContextMenuRoot.d.ts.map +1 -1
- package/lib/dialog/backdrop/DialogBackdrop.d.ts +9 -0
- package/lib/dialog/backdrop/DialogBackdrop.d.ts.map +1 -1
- package/lib/dialog/backdrop/DialogBackdrop.js +3 -1
- package/lib/dialog/backdrop/DialogBackdrop.js.map +1 -1
- package/lib/dialog/popup/DialogPopup.d.ts +9 -0
- package/lib/dialog/popup/DialogPopup.d.ts.map +1 -1
- package/lib/dialog/popup/DialogPopup.js +2 -2
- package/lib/dialog/popup/DialogPopup.js.map +1 -1
- package/lib/dialog/popup/useDialogPopupProps.d.ts +2 -0
- package/lib/dialog/popup/useDialogPopupProps.d.ts.map +1 -1
- package/lib/dialog/popup/useDialogPopupProps.js +4 -0
- package/lib/dialog/popup/useDialogPopupProps.js.map +1 -1
- package/lib/dialog/root/DialogNestingContext.d.ts +20 -0
- package/lib/dialog/root/DialogNestingContext.d.ts.map +1 -0
- package/lib/dialog/root/DialogNestingContext.js +53 -0
- package/lib/dialog/root/DialogNestingContext.js.map +1 -0
- package/lib/dialog/root/useRenderDialogRoot.d.ts.map +1 -1
- package/lib/dialog/root/useRenderDialogRoot.js +26 -2
- package/lib/dialog/root/useRenderDialogRoot.js.map +1 -1
- package/lib/dialog/store/DialogStore.d.ts +19 -2
- package/lib/dialog/store/DialogStore.d.ts.map +1 -1
- package/lib/dialog/store/DialogStore.js +14 -2
- package/lib/dialog/store/DialogStore.js.map +1 -1
- package/lib/drawer/index.parts.d.ts +1 -1
- package/lib/drawer/index.parts.d.ts.map +1 -1
- package/lib/drawer/index.parts.js.map +1 -1
- package/lib/drawer/popup/DrawerPopup.d.ts +9 -0
- package/lib/drawer/popup/DrawerPopup.d.ts.map +1 -1
- package/lib/drawer/popup/DrawerPopup.js +3 -1
- package/lib/drawer/popup/DrawerPopup.js.map +1 -1
- package/lib/filter/index.d.ts +2 -0
- package/lib/filter/index.d.ts.map +1 -0
- package/lib/filter/index.js +6 -0
- package/lib/filter/index.js.map +1 -0
- package/lib/filter/useFilter.d.ts +45 -0
- package/lib/filter/useFilter.d.ts.map +1 -0
- package/lib/filter/useFilter.js +96 -0
- package/lib/filter/useFilter.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/internals/field/useFieldControlRegistration.d.ts +25 -6
- package/lib/internals/field/useFieldControlRegistration.d.ts.map +1 -1
- package/lib/internals/field/useFieldControlRegistration.js +93 -6
- package/lib/internals/field/useFieldControlRegistration.js.map +1 -1
- package/lib/menu/popup/MenuPopup.d.ts +10 -0
- package/lib/menu/popup/MenuPopup.d.ts.map +1 -1
- package/lib/menu/popup/MenuPopup.js +10 -1
- package/lib/menu/popup/MenuPopup.js.map +1 -1
- package/lib/menu/positioner/MenuPositioner.d.ts +10 -0
- package/lib/menu/positioner/MenuPositioner.d.ts.map +1 -1
- package/lib/menu/positioner/MenuPositioner.js +9 -1
- package/lib/menu/positioner/MenuPositioner.js.map +1 -1
- package/lib/menu/store/MenuStore.d.ts +11 -0
- package/lib/menu/store/MenuStore.d.ts.map +1 -1
- package/lib/menu/store/MenuStore.js +4 -0
- package/lib/menu/store/MenuStore.js.map +1 -1
- package/lib/menu/submenu-trigger/MenuSubmenuTrigger.d.ts.map +1 -1
- package/lib/menu/submenu-trigger/MenuSubmenuTrigger.js +3 -0
- package/lib/menu/submenu-trigger/MenuSubmenuTrigger.js.map +1 -1
- package/lib/menu/trigger/MenuTrigger.d.ts.map +1 -1
- package/lib/menu/trigger/MenuTrigger.js +4 -1
- package/lib/menu/trigger/MenuTrigger.js.map +1 -1
- package/lib/meter/indicator/MeterIndicator.d.ts +2 -1
- package/lib/meter/indicator/MeterIndicator.d.ts.map +1 -1
- package/lib/meter/indicator/MeterIndicator.js +1 -2
- package/lib/meter/indicator/MeterIndicator.js.map +1 -1
- package/lib/meter/label/MeterLabel.d.ts +2 -1
- package/lib/meter/label/MeterLabel.d.ts.map +1 -1
- package/lib/meter/label/MeterLabel.js +1 -2
- package/lib/meter/label/MeterLabel.js.map +1 -1
- package/lib/meter/root/MeterRoot.d.ts +21 -0
- package/lib/meter/root/MeterRoot.d.ts.map +1 -1
- package/lib/meter/root/MeterRoot.js +2 -2
- package/lib/meter/root/MeterRoot.js.map +1 -1
- package/lib/meter/root/MeterRootContext.d.ts +5 -0
- package/lib/meter/root/MeterRootContext.d.ts.map +1 -1
- package/lib/meter/root/MeterRootContext.js.map +1 -1
- package/lib/meter/track/MeterTrack.d.ts +2 -1
- package/lib/meter/track/MeterTrack.d.ts.map +1 -1
- package/lib/meter/track/MeterTrack.js +1 -2
- package/lib/meter/track/MeterTrack.js.map +1 -1
- package/lib/meter/value/MeterValue.d.ts +2 -1
- package/lib/meter/value/MeterValue.d.ts.map +1 -1
- package/lib/meter/value/MeterValue.js +1 -2
- package/lib/meter/value/MeterValue.js.map +1 -1
- package/lib/number-field/input/NumberFieldInput.d.ts.map +1 -1
- package/lib/number-field/input/NumberFieldInput.js +11 -2
- package/lib/number-field/input/NumberFieldInput.js.map +1 -1
- package/lib/number-field/root/NumberFieldRoot.d.ts.map +1 -1
- package/lib/number-field/root/NumberFieldRoot.js +5 -2
- package/lib/number-field/root/NumberFieldRoot.js.map +1 -1
- package/lib/otp-field/input/OTPFieldInput.d.ts.map +1 -1
- package/lib/otp-field/input/OTPFieldInput.js +4 -0
- package/lib/otp-field/input/OTPFieldInput.js.map +1 -1
- package/lib/otp-field/root/OTPFieldRoot.d.ts.map +1 -1
- package/lib/otp-field/root/OTPFieldRoot.js +20 -2
- package/lib/otp-field/root/OTPFieldRoot.js.map +1 -1
- package/lib/popover/popup/PopoverPopup.d.ts +10 -0
- package/lib/popover/popup/PopoverPopup.d.ts.map +1 -1
- package/lib/popover/popup/PopoverPopup.js +10 -1
- package/lib/popover/popup/PopoverPopup.js.map +1 -1
- package/lib/popover/positioner/PopoverPositioner.d.ts +10 -0
- package/lib/popover/positioner/PopoverPositioner.d.ts.map +1 -1
- package/lib/popover/positioner/PopoverPositioner.js +4 -0
- package/lib/popover/positioner/PopoverPositioner.js.map +1 -1
- package/lib/popover/store/PopoverStore.d.ts +11 -0
- package/lib/popover/store/PopoverStore.d.ts.map +1 -1
- package/lib/popover/store/PopoverStore.js +4 -0
- package/lib/popover/store/PopoverStore.js.map +1 -1
- package/lib/popover/trigger/PopoverTrigger.d.ts.map +1 -1
- package/lib/popover/trigger/PopoverTrigger.js +4 -1
- package/lib/popover/trigger/PopoverTrigger.js.map +1 -1
- package/lib/progress/root/ProgressRoot.d.ts +21 -0
- package/lib/progress/root/ProgressRoot.d.ts.map +1 -1
- package/lib/progress/root/ProgressRoot.js +1 -1
- package/lib/progress/root/ProgressRoot.js.map +1 -1
- package/lib/radio-group/RadioGroup.d.ts.map +1 -1
- package/lib/radio-group/RadioGroup.js +5 -2
- package/lib/radio-group/RadioGroup.js.map +1 -1
- package/lib/select/backdrop/SelectBackdrop.d.ts.map +1 -1
- package/lib/select/backdrop/SelectBackdrop.js +3 -0
- package/lib/select/backdrop/SelectBackdrop.js.map +1 -1
- package/lib/select/index.parts.d.ts +1 -0
- package/lib/select/index.parts.d.ts.map +1 -1
- package/lib/select/index.parts.js +4 -1
- package/lib/select/index.parts.js.map +1 -1
- package/lib/select/popup/SelectPopup.d.ts +8 -0
- package/lib/select/popup/SelectPopup.d.ts.map +1 -1
- package/lib/select/popup/SelectPopup.js +10 -1
- package/lib/select/popup/SelectPopup.js.map +1 -1
- package/lib/select/positioner/SelectPositioner.d.ts +4 -0
- package/lib/select/positioner/SelectPositioner.d.ts.map +1 -1
- package/lib/select/positioner/SelectPositioner.js +2 -0
- package/lib/select/positioner/SelectPositioner.js.map +1 -1
- package/lib/select/root/SelectRoot.d.ts +45 -4
- package/lib/select/root/SelectRoot.d.ts.map +1 -1
- package/lib/select/root/SelectRoot.js +43 -5
- package/lib/select/root/SelectRoot.js.map +1 -1
- package/lib/select/store/SelectHandle.d.ts +42 -0
- package/lib/select/store/SelectHandle.d.ts.map +1 -0
- package/lib/select/store/SelectHandle.js +69 -0
- package/lib/select/store/SelectHandle.js.map +1 -0
- package/lib/select/store/SelectStore.d.ts +28 -0
- package/lib/select/store/SelectStore.d.ts.map +1 -1
- package/lib/select/store/SelectStore.js +15 -1
- package/lib/select/store/SelectStore.js.map +1 -1
- package/lib/select/trigger/SelectTrigger.d.ts +18 -3
- package/lib/select/trigger/SelectTrigger.d.ts.map +1 -1
- package/lib/select/trigger/SelectTrigger.js +49 -4
- package/lib/select/trigger/SelectTrigger.js.map +1 -1
- package/lib/slider/root/SliderRoot.d.ts.map +1 -1
- package/lib/slider/root/SliderRoot.js +9 -1
- package/lib/slider/root/SliderRoot.js.map +1 -1
- package/lib/slider/thumb/SliderThumb.d.ts.map +1 -1
- package/lib/slider/thumb/SliderThumb.js +10 -2
- package/lib/slider/thumb/SliderThumb.js.map +1 -1
- package/lib/switch/root/SwitchRoot.d.ts.map +1 -1
- package/lib/switch/root/SwitchRoot.js +6 -2
- package/lib/switch/root/SwitchRoot.js.map +1 -1
- package/lib/tabs/tab/TabsTab.d.ts +2 -10
- package/lib/tabs/tab/TabsTab.d.ts.map +1 -1
- package/lib/tooltip/popup/TooltipPopup.d.ts +10 -0
- package/lib/tooltip/popup/TooltipPopup.d.ts.map +1 -1
- package/lib/tooltip/popup/TooltipPopup.js +10 -1
- package/lib/tooltip/popup/TooltipPopup.js.map +1 -1
- package/lib/tooltip/positioner/TooltipPositioner.d.ts +10 -0
- package/lib/tooltip/positioner/TooltipPositioner.d.ts.map +1 -1
- package/lib/tooltip/positioner/TooltipPositioner.js +4 -0
- package/lib/tooltip/positioner/TooltipPositioner.js.map +1 -1
- package/lib/tooltip/store/TooltipStore.d.ts +11 -0
- package/lib/tooltip/store/TooltipStore.d.ts.map +1 -1
- package/lib/tooltip/store/TooltipStore.js +11 -1
- package/lib/tooltip/store/TooltipStore.js.map +1 -1
- package/lib/tooltip/trigger/TooltipTrigger.d.ts.map +1 -1
- package/lib/tooltip/trigger/TooltipTrigger.js +4 -1
- package/lib/tooltip/trigger/TooltipTrigger.js.map +1 -1
- package/package.json +1 -1
- package/src/alert-dialog/index.parts.ts +1 -1
- package/src/autocomplete/handle.ts +18 -0
- package/src/autocomplete/index.parts.ts +1 -0
- package/src/autocomplete/index.ts +1 -0
- package/src/autocomplete/root/AutocompleteRoot.tsx +65 -50
- package/src/avatar/fallback/AvatarFallback.tsx +3 -1
- package/src/avatar/image/AvatarImage.tsx +5 -0
- package/src/checkbox/root/CheckboxRoot.tsx +7 -2
- package/src/combobox/backdrop/ComboboxBackdrop.tsx +10 -3
- package/src/combobox/empty/ComboboxEmpty.tsx +5 -1
- package/src/combobox/index.parts.ts +1 -0
- package/src/combobox/index.ts +2 -0
- package/src/combobox/input/ComboboxInput.tsx +112 -27
- package/src/combobox/item/ComboboxItem.tsx +24 -6
- package/src/combobox/list/ComboboxList.tsx +7 -2
- package/src/combobox/popup/ComboboxPopup.tsx +44 -2
- package/src/combobox/portal/ComboboxPortal.tsx +19 -13
- package/src/combobox/portal/ComboboxPortalContext.ts +15 -0
- package/src/combobox/positioner/ComboboxPositioner.tsx +45 -10
- package/src/combobox/positioner/ComboboxPositionerContext.ts +23 -0
- package/src/combobox/root/ComboboxItemsContext.ts +32 -0
- package/src/combobox/root/ComboboxRoot.tsx +94 -56
- package/src/combobox/root/ComboboxRootContext.ts +3 -54
- package/src/combobox/root/ComboboxTransitionContext.ts +15 -0
- package/src/combobox/root/useRenderComboboxRoot.tsx +189 -0
- package/src/combobox/store/ComboboxHandle.ts +64 -0
- package/src/combobox/store/ComboboxStore.ts +249 -0
- package/src/combobox/value/ComboboxValue.tsx +2 -1
- package/src/context-menu/positioner/ContextMenuPositioner.tsx +90 -10
- package/src/context-menu/root/ContextMenuRoot.tsx +8 -0
- package/src/dialog/backdrop/DialogBackdrop.tsx +12 -1
- package/src/dialog/popup/DialogPopup.tsx +11 -2
- package/src/dialog/popup/useDialogPopupProps.ts +4 -0
- package/src/dialog/root/DialogNestingContext.ts +27 -0
- package/src/dialog/root/useRenderDialogRoot.tsx +37 -2
- package/src/dialog/store/DialogStore.ts +24 -2
- package/src/drawer/index.parts.ts +1 -1
- package/src/drawer/popup/DrawerPopup.tsx +12 -1
- package/src/filter/index.ts +5 -0
- package/src/filter/useFilter.ts +95 -0
- package/src/index.ts +1 -0
- package/src/internals/field/useFieldControlRegistration.ts +86 -6
- package/src/menu/popup/MenuPopup.tsx +20 -1
- package/src/menu/positioner/MenuPositioner.tsx +19 -1
- package/src/menu/store/MenuStore.ts +13 -0
- package/src/menu/submenu-trigger/MenuSubmenuTrigger.tsx +3 -0
- package/src/menu/trigger/MenuTrigger.tsx +5 -2
- package/src/meter/indicator/MeterIndicator.tsx +3 -4
- package/src/meter/label/MeterLabel.tsx +3 -4
- package/src/meter/root/MeterRoot.tsx +29 -4
- package/src/meter/root/MeterRootContext.ts +5 -0
- package/src/meter/track/MeterTrack.tsx +3 -4
- package/src/meter/value/MeterValue.tsx +3 -4
- package/src/number-field/input/NumberFieldInput.tsx +11 -2
- package/src/number-field/root/NumberFieldRoot.tsx +4 -2
- package/src/otp-field/input/OTPFieldInput.tsx +4 -0
- package/src/otp-field/root/OTPFieldRoot.tsx +22 -2
- package/src/popover/popup/PopoverPopup.tsx +20 -1
- package/src/popover/positioner/PopoverPositioner.tsx +14 -0
- package/src/popover/store/PopoverStore.ts +13 -0
- package/src/popover/trigger/PopoverTrigger.tsx +5 -2
- package/src/progress/root/ProgressRoot.tsx +25 -1
- package/src/radio-group/RadioGroup.tsx +5 -2
- package/src/select/backdrop/SelectBackdrop.tsx +4 -0
- package/src/select/index.parts.ts +1 -0
- package/src/select/popup/SelectPopup.tsx +18 -1
- package/src/select/positioner/SelectPositioner.tsx +9 -3
- package/src/select/root/SelectRoot.tsx +109 -9
- package/src/select/store/SelectHandle.ts +68 -0
- package/src/select/store/SelectStore.ts +38 -1
- package/src/select/trigger/SelectTrigger.tsx +78 -7
- package/src/slider/root/SliderRoot.tsx +11 -1
- package/src/slider/thumb/SliderThumb.tsx +10 -1
- package/src/switch/root/SwitchRoot.tsx +5 -2
- package/src/tabs/tab/TabsTab.tsx +2 -10
- package/src/tooltip/popup/TooltipPopup.tsx +20 -1
- package/src/tooltip/positioner/TooltipPositioner.tsx +14 -0
- package/src/tooltip/store/TooltipStore.ts +20 -1
- package/src/tooltip/trigger/TooltipTrigger.tsx +5 -2
- package/lib/combobox/root/useComboboxRoot.d.ts +0 -29
- package/lib/combobox/root/useComboboxRoot.d.ts.map +0 -1
- package/lib/combobox/root/useComboboxRoot.js +0 -176
- package/lib/combobox/root/useComboboxRoot.js.map +0 -1
- package/lib/utils/fastObjectShallowCompare.d.ts +0 -2
- package/lib/utils/fastObjectShallowCompare.d.ts.map +0 -1
- package/lib/utils/fastObjectShallowCompare.js +0 -29
- package/lib/utils/fastObjectShallowCompare.js.map +0 -1
- package/lib/utils/mergeObjects.d.ts +0 -2
- package/lib/utils/mergeObjects.d.ts.map +0 -1
- package/lib/utils/mergeObjects.js +0 -16
- package/lib/utils/mergeObjects.js.map +0 -1
- package/src/combobox/root/useComboboxRoot.ts +0 -199
- package/src/utils/fastObjectShallowCompare.ts +0 -30
- package/src/utils/mergeObjects.ts +0 -15
|
@@ -6,17 +6,33 @@ import type { ZestUIComponentProps } from '../../types';
|
|
|
6
6
|
* Positions the context menu popup at the point the long press landed.
|
|
7
7
|
* Renders a `<View>`.
|
|
8
8
|
*
|
|
9
|
-
* Unlike `Menu.Positioner
|
|
10
|
-
* element, so
|
|
11
|
-
*
|
|
9
|
+
* Unlike `Menu.Positioner` it anchors to a screen point rather than a trigger
|
|
10
|
+
* element, so it does not go through `useAnchorPositioning`: floating-ui
|
|
11
|
+
* measures a real node, and there is no node here. Collision handling is
|
|
12
|
+
* therefore its own — the popup flips to the other side of the press point when
|
|
13
|
+
* it would otherwise run off the screen, and is kept `collisionPadding` inside
|
|
14
|
+
* the edges. `side` and `align` on state report where it actually landed.
|
|
12
15
|
*/
|
|
13
16
|
export declare function ContextMenuPositioner(componentProps: ContextMenuPositioner.Props): React.JSX.Element;
|
|
14
17
|
export interface ContextMenuPositionerState {
|
|
15
18
|
open: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* `'bottom'` when the popup hangs below the press point, `'top'` when it was
|
|
21
|
+
* flipped above it to stay on screen.
|
|
22
|
+
*/
|
|
16
23
|
side: Side;
|
|
24
|
+
/**
|
|
25
|
+
* `'start'` when the popup extends right of the press point, `'end'` when it
|
|
26
|
+
* was flipped to its left.
|
|
27
|
+
*/
|
|
17
28
|
align: Align;
|
|
18
29
|
}
|
|
19
30
|
export interface ContextMenuPositionerProps extends ZestUIComponentProps<typeof View, ContextMenuPositionerState> {
|
|
31
|
+
/**
|
|
32
|
+
* How much space to keep between the popup and the edges of the screen.
|
|
33
|
+
* @default 5
|
|
34
|
+
*/
|
|
35
|
+
collisionPadding?: number | undefined;
|
|
20
36
|
}
|
|
21
37
|
export declare namespace ContextMenuPositioner {
|
|
22
38
|
type State = ContextMenuPositionerState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuPositioner.d.ts","sourceRoot":"","sources":["../../../src/context-menu/positioner/ContextMenuPositioner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"ContextMenuPositioner.d.ts","sourceRoot":"","sources":["../../../src/context-menu/positioner/ContextMenuPositioner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAA+C,MAAM,cAAc,CAAC;AAMjF,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAIxD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,qBAAqB,CAAC,KAAK,qBA6FhF;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAC;IACX;;;OAGG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,0BACf,SAAQ,oBAAoB,CAAC,OAAO,IAAI,EAAE,0BAA0B,CAAC;IACrE;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,yBAAiB,qBAAqB,CAAC;IACrC,KAAY,KAAK,GAAG,0BAA0B,CAAC;IAC/C,KAAY,KAAK,GAAG,0BAA0B,CAAC;CAChD"}
|
|
@@ -48,23 +48,72 @@ const NO_ARROW = { current: null };
|
|
|
48
48
|
* Positions the context menu popup at the point the long press landed.
|
|
49
49
|
* Renders a `<View>`.
|
|
50
50
|
*
|
|
51
|
-
* Unlike `Menu.Positioner
|
|
52
|
-
* element, so
|
|
53
|
-
*
|
|
51
|
+
* Unlike `Menu.Positioner` it anchors to a screen point rather than a trigger
|
|
52
|
+
* element, so it does not go through `useAnchorPositioning`: floating-ui
|
|
53
|
+
* measures a real node, and there is no node here. Collision handling is
|
|
54
|
+
* therefore its own — the popup flips to the other side of the press point when
|
|
55
|
+
* it would otherwise run off the screen, and is kept `collisionPadding` inside
|
|
56
|
+
* the edges. `side` and `align` on state report where it actually landed.
|
|
54
57
|
*/
|
|
55
58
|
function ContextMenuPositioner(componentProps) {
|
|
56
|
-
const { render, className, style, ref, ...elementProps } = componentProps;
|
|
59
|
+
const { render, className, collisionPadding = 5, style, ref, ...elementProps } = componentProps;
|
|
57
60
|
(0, MenuPortalContext_1.useMenuPortalContext)();
|
|
58
61
|
const store = (0, MenuRootContext_1.useMenuRootContext)();
|
|
59
62
|
const { anchor } = (0, ContextMenuRootContext_1.useContextMenuRootContext)();
|
|
60
63
|
const open = store.useState('open');
|
|
61
|
-
const
|
|
62
|
-
|
|
64
|
+
const { width: screenWidth, height: screenHeight } = (0, react_native_1.useWindowDimensions)();
|
|
65
|
+
// The popup's own size, which only exists after it has been laid out. Until
|
|
66
|
+
// then it is placed at the press point unflipped, exactly as before.
|
|
67
|
+
const [size, setSize] = React.useState(undefined);
|
|
68
|
+
const onLayout = React.useCallback((event) => {
|
|
69
|
+
const { width, height } = event.nativeEvent.layout;
|
|
70
|
+
setSize((previous) => (previous === null || previous === void 0 ? void 0 : previous.width) === width && (previous === null || previous === void 0 ? void 0 : previous.height) === height ? previous : { width, height });
|
|
71
|
+
}, []);
|
|
72
|
+
// A closed menu remeasures when it reopens somewhere else, so stale geometry
|
|
73
|
+
// never decides the first frame of the next open.
|
|
74
|
+
React.useEffect(() => {
|
|
75
|
+
if (!open) {
|
|
76
|
+
setSize(undefined);
|
|
77
|
+
}
|
|
78
|
+
}, [open]);
|
|
79
|
+
const placement = React.useMemo(() => {
|
|
80
|
+
if (size === undefined) {
|
|
81
|
+
return { left: anchor.x, top: anchor.y, side: 'bottom', align: 'start' };
|
|
82
|
+
}
|
|
83
|
+
const flipHorizontally = anchor.x + size.width > screenWidth - collisionPadding;
|
|
84
|
+
const flipVertically = anchor.y + size.height > screenHeight - collisionPadding;
|
|
85
|
+
const rawLeft = flipHorizontally ? anchor.x - size.width : anchor.x;
|
|
86
|
+
const rawTop = flipVertically ? anchor.y - size.height : anchor.y;
|
|
87
|
+
// Clamping matters when the popup is larger than the space on either side:
|
|
88
|
+
// flipping alone would just move the overflow to the opposite edge.
|
|
89
|
+
const maxLeft = Math.max(collisionPadding, screenWidth - size.width - collisionPadding);
|
|
90
|
+
const maxTop = Math.max(collisionPadding, screenHeight - size.height - collisionPadding);
|
|
91
|
+
return {
|
|
92
|
+
left: Math.min(Math.max(rawLeft, collisionPadding), maxLeft),
|
|
93
|
+
top: Math.min(Math.max(rawTop, collisionPadding), maxTop),
|
|
94
|
+
side: (flipVertically ? 'top' : 'bottom'),
|
|
95
|
+
align: (flipHorizontally ? 'end' : 'start'),
|
|
96
|
+
};
|
|
97
|
+
}, [anchor.x, anchor.y, size, screenWidth, screenHeight, collisionPadding]);
|
|
98
|
+
const state = {
|
|
99
|
+
open,
|
|
100
|
+
side: placement.side,
|
|
101
|
+
align: placement.align,
|
|
102
|
+
};
|
|
103
|
+
const contextValue = React.useMemo(() => ({
|
|
104
|
+
side: placement.side,
|
|
105
|
+
align: placement.align,
|
|
106
|
+
arrowRef: NO_ARROW,
|
|
107
|
+
arrowStyles: {},
|
|
108
|
+
}), [placement.side, placement.align]);
|
|
63
109
|
const element = (0, useRenderElement_1.useRenderElement)(react_native_1.View, componentProps, {
|
|
64
110
|
state,
|
|
65
111
|
ref,
|
|
66
112
|
props: [
|
|
67
|
-
{
|
|
113
|
+
{
|
|
114
|
+
style: { position: 'absolute', left: placement.left, top: placement.top },
|
|
115
|
+
onLayout,
|
|
116
|
+
},
|
|
68
117
|
elementProps,
|
|
69
118
|
],
|
|
70
119
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuPositioner.js","sourceRoot":"","sources":["../../../src/context-menu/positioner/ContextMenuPositioner.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ContextMenuPositioner.js","sourceRoot":"","sources":["../../../src/context-menu/positioner/ContextMenuPositioner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,5 +21,13 @@ export interface ContextMenuRootProps extends Omit<MenuRoot.Props, 'handle' | 't
|
|
|
21
21
|
export declare namespace ContextMenuRoot {
|
|
22
22
|
type State = ContextMenuRootState;
|
|
23
23
|
type Props = ContextMenuRootProps;
|
|
24
|
+
/**
|
|
25
|
+
* A context menu is a menu, so it reuses the menu's action and event
|
|
26
|
+
* contracts — a consumer should not have to reach for `Menu.Root`'s types to
|
|
27
|
+
* type a `ContextMenu.Root` handler.
|
|
28
|
+
*/
|
|
29
|
+
type Actions = MenuRoot.Actions;
|
|
30
|
+
type ChangeEventReason = MenuRoot.ChangeEventReason;
|
|
31
|
+
type ChangeEventDetails = MenuRoot.ChangeEventDetails;
|
|
24
32
|
}
|
|
25
33
|
//# sourceMappingURL=ContextMenuRoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuRoot.d.ts","sourceRoot":"","sources":["../../../src/context-menu/root/ContextMenuRoot.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,qBAa3D;AAED,MAAM,WAAW,oBAAoB;CAAG;AAExC,MAAM,WAAW,oBACf,SAAQ,IAAI,CACV,QAAQ,CAAC,KAAK,EACd,QAAQ,GAAG,WAAW,GAAG,kBAAkB,GAAG,UAAU,CACzD;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,yBAAiB,eAAe,CAAC;IAC/B,KAAY,KAAK,GAAG,oBAAoB,CAAC;IACzC,KAAY,KAAK,GAAG,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ContextMenuRoot.d.ts","sourceRoot":"","sources":["../../../src/context-menu/root/ContextMenuRoot.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,qBAa3D;AAED,MAAM,WAAW,oBAAoB;CAAG;AAExC,MAAM,WAAW,oBACf,SAAQ,IAAI,CACV,QAAQ,CAAC,KAAK,EACd,QAAQ,GAAG,WAAW,GAAG,kBAAkB,GAAG,UAAU,CACzD;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,yBAAiB,eAAe,CAAC;IAC/B,KAAY,KAAK,GAAG,oBAAoB,CAAC;IACzC,KAAY,KAAK,GAAG,oBAAoB,CAAC;IACzC;;;;OAIG;IACH,KAAY,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACvC,KAAY,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,KAAY,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC;CAC9D"}
|
|
@@ -13,6 +13,15 @@ export interface DialogBackdropState {
|
|
|
13
13
|
* Whether the dialog is currently open.
|
|
14
14
|
*/
|
|
15
15
|
open: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Whether this dialog is rendered inside another dialog's tree.
|
|
18
|
+
*/
|
|
19
|
+
nested: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Whether a dialog nested inside this one is open — a backdrop usually wants
|
|
22
|
+
* to darken further while it is.
|
|
23
|
+
*/
|
|
24
|
+
nestedDialogOpen: boolean;
|
|
16
25
|
}
|
|
17
26
|
export interface DialogBackdropProps extends ZestUIComponentProps<typeof View, DialogBackdropState> {
|
|
18
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogBackdrop.d.ts","sourceRoot":"","sources":["../../../src/dialog/backdrop/DialogBackdrop.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"DialogBackdrop.d.ts","sourceRoot":"","sources":["../../../src/dialog/backdrop/DialogBackdrop.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,KAAK,8FAuBlE;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,mBACf,SAAQ,oBAAoB,CAAC,OAAO,IAAI,EAAE,mBAAmB,CAAC;CAAG;AAEnE,yBAAiB,cAAc,CAAC;IAC9B,KAAY,KAAK,GAAG,mBAAmB,CAAC;IACxC,KAAY,KAAK,GAAG,mBAAmB,CAAC;CACzC"}
|
|
@@ -16,7 +16,9 @@ function DialogBackdrop(componentProps) {
|
|
|
16
16
|
const { render, className, style, ref, ...elementProps } = componentProps;
|
|
17
17
|
const store = (0, DialogRootContext_1.useDialogRootContext)();
|
|
18
18
|
const open = store.useState('open');
|
|
19
|
-
const
|
|
19
|
+
const nested = store.useState('nested');
|
|
20
|
+
const nestedDialogOpen = store.useState('nestedDialogOpen');
|
|
21
|
+
const state = { open, nested, nestedDialogOpen };
|
|
20
22
|
return (0, useRenderElement_1.useRenderElement)(react_native_1.View, componentProps, {
|
|
21
23
|
state,
|
|
22
24
|
ref,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogBackdrop.js","sourceRoot":"","sources":["../../../src/dialog/backdrop/DialogBackdrop.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAab,
|
|
1
|
+
{"version":3,"file":"DialogBackdrop.js","sourceRoot":"","sources":["../../../src/dialog/backdrop/DialogBackdrop.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAab,wCAuBC;AAnCD,+CAAgD;AAChD,iEAAiE;AACjE,wEAAqE;AAGrE;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,cAAoC;IACjE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAE1E,MAAM,KAAK,GAAG,IAAA,wCAAoB,GAAE,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAE5D,MAAM,KAAK,GAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAEtE,OAAO,IAAA,mCAAgB,EAAC,mBAAI,EAAE,cAAc,EAAE;QAC5C,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL;gBACE,KAAK,EAAE,yBAAU,CAAC,YAAY;gBAC9B,aAAa,EAAE,MAAe;gBAC9B,UAAU,EAAE,KAAK;gBACjB,yBAAyB,EAAE,qBAA8B;aAC1D;YACD,YAAY;SACb;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -16,6 +16,15 @@ export interface DialogPopupState {
|
|
|
16
16
|
* to `undefined` after one frame), `'ending'` once it is closing.
|
|
17
17
|
*/
|
|
18
18
|
transitionStatus: TransitionStatus;
|
|
19
|
+
/**
|
|
20
|
+
* Whether this dialog is rendered inside another dialog's tree.
|
|
21
|
+
*/
|
|
22
|
+
nested: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Whether a dialog nested inside this one is open — the cue to scale or dim
|
|
25
|
+
* this popup, which the web version drives with a CSS variable.
|
|
26
|
+
*/
|
|
27
|
+
nestedDialogOpen: boolean;
|
|
19
28
|
}
|
|
20
29
|
export interface DialogPopupProps extends ZestUIComponentProps<typeof View, DialogPopupState> {
|
|
21
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogPopup.d.ts","sourceRoot":"","sources":["../../../src/dialog/popup/DialogPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E;;;GAGG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,8FAY5D;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"DialogPopup.d.ts","sourceRoot":"","sources":["../../../src/dialog/popup/DialogPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E;;;GAGG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,8FAY5D;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB,CAAC,OAAO,IAAI,EAAE,gBAAgB,CAAC;CAAG;AAEhG,yBAAiB,WAAW,CAAC;IAC3B,KAAY,KAAK,GAAG,gBAAgB,CAAC;IACrC,KAAY,KAAK,GAAG,gBAAgB,CAAC;CACtC"}
|
|
@@ -11,8 +11,8 @@ const useDialogPopupProps_1 = require("./useDialogPopupProps");
|
|
|
11
11
|
*/
|
|
12
12
|
function DialogPopup(componentProps) {
|
|
13
13
|
const { render, className, style, ref, ...elementProps } = componentProps;
|
|
14
|
-
const { open, transitionStatus, props } = (0, useDialogPopupProps_1.useDialogPopupProps)();
|
|
15
|
-
const state = { open, transitionStatus };
|
|
14
|
+
const { open, transitionStatus, nested, nestedDialogOpen, props } = (0, useDialogPopupProps_1.useDialogPopupProps)();
|
|
15
|
+
const state = { open, transitionStatus, nested, nestedDialogOpen };
|
|
16
16
|
return (0, useRenderElement_1.useRenderElement)(react_native_1.View, componentProps, {
|
|
17
17
|
state,
|
|
18
18
|
ref,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogPopup.js","sourceRoot":"","sources":["../../../src/dialog/popup/DialogPopup.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAWb,kCAYC;AAtBD,+CAAoC;AACpC,wEAAqE;AAGrE,+DAA4D;AAE5D;;;GAGG;AACH,SAAgB,WAAW,CAAC,cAAiC;IAC3D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAE1E,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,IAAA,yCAAmB,GAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"DialogPopup.js","sourceRoot":"","sources":["../../../src/dialog/popup/DialogPopup.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAWb,kCAYC;AAtBD,+CAAoC;AACpC,wEAAqE;AAGrE,+DAA4D;AAE5D;;;GAGG;AACH,SAAgB,WAAW,CAAC,cAAiC;IAC3D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAE1E,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,IAAA,yCAAmB,GAAE,CAAC;IAE1F,MAAM,KAAK,GAAqB,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAErF,OAAO,IAAA,mCAAgB,EAAC,mBAAI,EAAE,cAAc,EAAE;QAC5C,KAAK;QACL,GAAG;QACH,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
export declare function useDialogPopupProps(): {
|
|
6
6
|
store: import("../store/DialogStore").DialogStore<any>;
|
|
7
7
|
open: boolean;
|
|
8
|
+
nested: boolean;
|
|
9
|
+
nestedDialogOpen: boolean;
|
|
8
10
|
transitionStatus: import("../../internals/useTransitionStatus").TransitionStatus;
|
|
9
11
|
props: {
|
|
10
12
|
role: "dialog" | "alertdialog";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDialogPopupProps.d.ts","sourceRoot":"","sources":["../../../src/dialog/popup/useDialogPopupProps.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,mBAAmB
|
|
1
|
+
{"version":3,"file":"useDialogPopupProps.d.ts","sourceRoot":"","sources":["../../../src/dialog/popup/useDialogPopupProps.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,mBAAmB;;;;;;;;;;;;;;;EA8BlC"}
|
|
@@ -17,9 +17,13 @@ function useDialogPopupProps() {
|
|
|
17
17
|
const titleElementId = store.useState('titleElementId');
|
|
18
18
|
const descriptionElementId = store.useState('descriptionElementId');
|
|
19
19
|
const role = store.useState('role');
|
|
20
|
+
const nested = store.useState('nested');
|
|
21
|
+
const nestedDialogOpen = store.useState('nestedDialogOpen');
|
|
20
22
|
return {
|
|
21
23
|
store,
|
|
22
24
|
open,
|
|
25
|
+
nested,
|
|
26
|
+
nestedDialogOpen,
|
|
23
27
|
transitionStatus: transitionContext === null || transitionContext === void 0 ? void 0 : transitionContext.transitionStatus,
|
|
24
28
|
props: {
|
|
25
29
|
role,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDialogPopupProps.js","sourceRoot":"","sources":["../../../src/dialog/popup/useDialogPopupProps.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AASb,
|
|
1
|
+
{"version":3,"file":"useDialogPopupProps.js","sourceRoot":"","sources":["../../../src/dialog/popup/useDialogPopupProps.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AASb,kDA8BC;AAtCD,iEAAiE;AACjE,uEAAuE;AACvE,6EAA6E;AAE7E;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,IAAA,4CAAsB,GAAE,CAAC;IACzB,MAAM,KAAK,GAAG,IAAA,wCAAoB,GAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAA,oDAA0B,GAAE,CAAC;IAEvD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAE5D,OAAO;QACL,KAAK;QACL,IAAI;QACJ,MAAM;QACN,gBAAgB;QAChB,gBAAgB,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,gBAAgB;QACrD,KAAK,EAAE;YACL,IAAI;YACJ,wBAAwB,EAAE,IAAI;YAC9B,uBAAuB,EAAE,cAAc;YACvC,YAAY,EAAE,IAAI;YAClB,iBAAiB,EAAE,cAAc;YACjC,kBAAkB,EAAE,oBAAoB;YACxC,oEAAoE;YACpE,wCAAwC;YACxC,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAI;SACtC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface DialogNestingContext {
|
|
3
|
+
/**
|
|
4
|
+
* Called by a nested root as it opens and closes, so the parent can keep a
|
|
5
|
+
* count of how many of its descendants are open.
|
|
6
|
+
*/
|
|
7
|
+
onNestedOpenChange: (open: boolean) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Lets a dialog know it has a dialog above it, and lets a parent know one of its
|
|
11
|
+
* descendants is open.
|
|
12
|
+
*
|
|
13
|
+
* On the web Base UI counts nested dialogs so the one underneath can be scaled
|
|
14
|
+
* back or dimmed. React Native has no CSS to express that, so the count reaches
|
|
15
|
+
* the consumer the way everything else does: as `nested` and `nestedDialogOpen`
|
|
16
|
+
* on the popup and backdrop state.
|
|
17
|
+
*/
|
|
18
|
+
export declare const DialogNestingContext: React.Context<DialogNestingContext | undefined>;
|
|
19
|
+
export declare function useDialogNestingContext(): DialogNestingContext | undefined;
|
|
20
|
+
//# sourceMappingURL=DialogNestingContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogNestingContext.d.ts","sourceRoot":"","sources":["../../../src/dialog/root/DialogNestingContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,iDAEhC,CAAC;AAEF,wBAAgB,uBAAuB,qCAEtC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.DialogNestingContext = void 0;
|
|
38
|
+
exports.useDialogNestingContext = useDialogNestingContext;
|
|
39
|
+
const React = __importStar(require("react"));
|
|
40
|
+
/**
|
|
41
|
+
* Lets a dialog know it has a dialog above it, and lets a parent know one of its
|
|
42
|
+
* descendants is open.
|
|
43
|
+
*
|
|
44
|
+
* On the web Base UI counts nested dialogs so the one underneath can be scaled
|
|
45
|
+
* back or dimmed. React Native has no CSS to express that, so the count reaches
|
|
46
|
+
* the consumer the way everything else does: as `nested` and `nestedDialogOpen`
|
|
47
|
+
* on the popup and backdrop state.
|
|
48
|
+
*/
|
|
49
|
+
exports.DialogNestingContext = React.createContext(undefined);
|
|
50
|
+
function useDialogNestingContext() {
|
|
51
|
+
return React.useContext(exports.DialogNestingContext);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=DialogNestingContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogNestingContext.js","sourceRoot":"","sources":["../../../src/dialog/root/DialogNestingContext.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBb,0DAEC;AAzBD,6CAA+B;AAU/B;;;;;;;;GAQG;AACU,QAAA,oBAAoB,GAAG,KAAK,CAAC,aAAa,CACrD,SAAS,CACV,CAAC;AAEF,SAAgB,uBAAuB;IACrC,OAAO,KAAK,CAAC,UAAU,CAAC,4BAAoB,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRenderDialogRoot.d.ts","sourceRoot":"","sources":["../../../src/dialog/root/useRenderDialogRoot.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useRenderDialogRoot.d.ts","sourceRoot":"","sources":["../../../src/dialog/root/useRenderDialogRoot.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAKpD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC;AAEvD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAG,OAAO,EACnD,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,EAC/B,IAAI,GAAE,cAAyB,qBAuFhC"}
|
|
@@ -40,7 +40,9 @@ const React = __importStar(require("react"));
|
|
|
40
40
|
const useRefWithInit_1 = require("../../hooks/useRefWithInit");
|
|
41
41
|
const useTransitionStatus_1 = require("../../internals/useTransitionStatus");
|
|
42
42
|
const usePopupRootHandle_1 = require("../../utils/popups/usePopupRootHandle");
|
|
43
|
+
const useStableCallback_1 = require("../../hooks/useStableCallback");
|
|
43
44
|
const DialogStore_1 = require("../store/DialogStore");
|
|
45
|
+
const DialogNestingContext_1 = require("./DialogNestingContext");
|
|
44
46
|
const DialogRootContext_1 = require("./DialogRootContext");
|
|
45
47
|
const DialogTransitionContext_1 = require("./DialogTransitionContext");
|
|
46
48
|
/**
|
|
@@ -54,6 +56,8 @@ function useRenderDialogRoot(props, mode = 'dialog') {
|
|
|
54
56
|
const isAlertDialog = mode === 'alert-dialog';
|
|
55
57
|
const disablePointerDismissal = isAlertDialog || disablePointerDismissalProp;
|
|
56
58
|
const role = isAlertDialog ? 'alertdialog' : 'dialog';
|
|
59
|
+
const parent = (0, DialogNestingContext_1.useDialogNestingContext)();
|
|
60
|
+
const nested = parent !== undefined;
|
|
57
61
|
const store = (0, useRefWithInit_1.useRefWithInit)(() => new DialogStore_1.DialogStore({
|
|
58
62
|
open: defaultOpen,
|
|
59
63
|
openProp: open,
|
|
@@ -61,16 +65,36 @@ function useRenderDialogRoot(props, mode = 'dialog') {
|
|
|
61
65
|
role,
|
|
62
66
|
triggerId: defaultTriggerId,
|
|
63
67
|
triggerIdProp: triggerId,
|
|
68
|
+
nested,
|
|
64
69
|
})).current;
|
|
65
70
|
store.useControlledProp('openProp', open);
|
|
66
71
|
store.useControlledProp('triggerIdProp', triggerId);
|
|
67
72
|
store.useContextCallback('onOpenChange', onOpenChange);
|
|
68
|
-
store.useSyncedValues({ disablePointerDismissal, role });
|
|
73
|
+
store.useSyncedValues({ disablePointerDismissal, role, nested });
|
|
69
74
|
(0, usePopupRootHandle_1.usePopupRootHandle)({ store, handle, actionsRef });
|
|
70
75
|
const resolvedOpen = store.useState('open');
|
|
71
76
|
const { transitionStatus } = (0, useTransitionStatus_1.useTransitionStatus)(resolvedOpen, false, true);
|
|
77
|
+
// Tell the dialog above this one whether it now has an open descendant. The
|
|
78
|
+
// cleanup is what keeps the parent's count right when this root unmounts
|
|
79
|
+
// while still open.
|
|
80
|
+
React.useEffect(() => {
|
|
81
|
+
if (parent === undefined || !resolvedOpen) {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
parent.onNestedOpenChange(true);
|
|
85
|
+
return () => {
|
|
86
|
+
parent.onNestedOpenChange(false);
|
|
87
|
+
};
|
|
88
|
+
}, [parent, resolvedOpen]);
|
|
89
|
+
const onNestedOpenChange = (0, useStableCallback_1.useStableCallback)((open) => {
|
|
90
|
+
store.setNestedOpen(open);
|
|
91
|
+
// A dialog two levels down is still nested inside this one's parent, so the
|
|
92
|
+
// count propagates all the way up.
|
|
93
|
+
parent === null || parent === void 0 ? void 0 : parent.onNestedOpenChange(open);
|
|
94
|
+
});
|
|
72
95
|
const payload = store.useState('payload');
|
|
73
96
|
const transitionContextValue = React.useMemo(() => ({ transitionStatus }), [transitionStatus]);
|
|
74
|
-
|
|
97
|
+
const nestingContextValue = React.useMemo(() => ({ onNestedOpenChange }), [onNestedOpenChange]);
|
|
98
|
+
return ((0, jsx_runtime_1.jsx)(DialogRootContext_1.DialogRootContext.Provider, { value: store, children: (0, jsx_runtime_1.jsx)(DialogTransitionContext_1.DialogTransitionContext.Provider, { value: transitionContextValue, children: (0, jsx_runtime_1.jsx)(DialogNestingContext_1.DialogNestingContext.Provider, { value: nestingContextValue, children: typeof children === 'function' ? children(payload) : children }) }) }));
|
|
75
99
|
}
|
|
76
100
|
//# sourceMappingURL=useRenderDialogRoot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRenderDialogRoot.js","sourceRoot":"","sources":["../../../src/dialog/root/useRenderDialogRoot.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useRenderDialogRoot.js","sourceRoot":"","sources":["../../../src/dialog/root/useRenderDialogRoot.tsx"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,15 @@ export type State = {
|
|
|
33
33
|
* The controlled `triggerId` prop, when provided.
|
|
34
34
|
*/
|
|
35
35
|
triggerIdProp: string | null | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Whether this dialog is itself rendered inside another dialog's tree.
|
|
38
|
+
*/
|
|
39
|
+
nested: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* How many dialogs nested inside this one are currently open. A count rather
|
|
42
|
+
* than a flag because siblings can overlap while one animates out.
|
|
43
|
+
*/
|
|
44
|
+
nestedOpenCount: number;
|
|
36
45
|
};
|
|
37
46
|
type Context<Reason extends string> = {
|
|
38
47
|
onOpenChange: ((open: boolean, eventDetails: ZestChangeEventDetails<Reason>) => void) | undefined;
|
|
@@ -50,6 +59,8 @@ declare const selectors: {
|
|
|
50
59
|
descriptionElementId: (state: State) => string | undefined;
|
|
51
60
|
disablePointerDismissal: (state: State) => boolean;
|
|
52
61
|
role: (state: State) => "dialog" | "alertdialog";
|
|
62
|
+
nested: (state: State) => boolean;
|
|
63
|
+
nestedDialogOpen: (state: State) => boolean;
|
|
53
64
|
};
|
|
54
65
|
/**
|
|
55
66
|
* React Native adaptation of Base UI's DialogStore.
|
|
@@ -60,12 +71,18 @@ declare const selectors: {
|
|
|
60
71
|
* `DialogRootContext` erases it to `any` (the same trick the group components
|
|
61
72
|
* use) so the parts stay non-generic.
|
|
62
73
|
*
|
|
63
|
-
* TODO(later):
|
|
64
|
-
* transitions (`mounted`/`transitionStatus`), handles/payloads.
|
|
74
|
+
* TODO(later): openMethod interaction typing.
|
|
65
75
|
*/
|
|
66
76
|
export declare class DialogStore<Reason extends string = DialogRootChangeEventReason> extends ReactStore<Readonly<State>, Context<Reason>, typeof selectors> {
|
|
67
77
|
constructor(initialState?: Partial<State>);
|
|
68
78
|
setOpen: (nextOpen: boolean, eventDetails: ZestChangeEventDetails<Reason>) => void;
|
|
79
|
+
/**
|
|
80
|
+
* Records that a dialog nested inside this one opened or closed.
|
|
81
|
+
*
|
|
82
|
+
* Increments rather than assigns, so two descendants closing out of order
|
|
83
|
+
* cannot leave the count stuck above zero.
|
|
84
|
+
*/
|
|
85
|
+
setNestedOpen: (open: boolean) => void;
|
|
69
86
|
}
|
|
70
87
|
export {};
|
|
71
88
|
//# sourceMappingURL=DialogStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogStore.d.ts","sourceRoot":"","sources":["../../../src/dialog/store/DialogStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,MAAM,KAAK,GAAG;IAClB;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,uBAAuB,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,IAAI,EAAE,QAAQ,GAAG,aAAa,CAAC;IAC/B;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"DialogStore.d.ts","sourceRoot":"","sources":["../../../src/dialog/store/DialogStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,MAAM,KAAK,GAAG;IAClB;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,uBAAuB,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,IAAI,EAAE,QAAQ,GAAG,aAAa,CAAC;IAC/B;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,OAAO,CAAC,MAAM,SAAS,MAAM,IAAI;IACpC,YAAY,EACR,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,sBAAsB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,GACvE,SAAS,CAAC;IACd;;;OAGG;IACH,YAAY,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEF,QAAA,MAAM,SAAS;;;;;;;;;;CAUd,CAAC;AAEF;;;;;;;;;;GAUG;AACH,qBAAa,WAAW,CAAC,MAAM,SAAS,MAAM,GAAG,2BAA2B,CAAE,SAAQ,UAAU,CAC9F,QAAQ,CAAC,KAAK,CAAC,EACf,OAAO,CAAC,MAAM,CAAC,EACf,OAAO,SAAS,CACjB;gBACa,YAAY,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;IAqBlC,OAAO,GAAI,UAAU,OAAO,EAAE,cAAc,sBAAsB,CAAC,MAAM,CAAC,UAY/E;IAEF;;;;;OAKG;IACI,aAAa,GAAI,MAAM,OAAO,UAEnC;CACH"}
|
|
@@ -12,6 +12,8 @@ const selectors = {
|
|
|
12
12
|
descriptionElementId: (0, createSelector_1.createSelector)((state) => state.descriptionElementId),
|
|
13
13
|
disablePointerDismissal: (0, createSelector_1.createSelector)((state) => state.disablePointerDismissal),
|
|
14
14
|
role: (0, createSelector_1.createSelector)((state) => state.role),
|
|
15
|
+
nested: (0, createSelector_1.createSelector)((state) => state.nested),
|
|
16
|
+
nestedDialogOpen: (0, createSelector_1.createSelector)((state) => state.nestedOpenCount > 0),
|
|
15
17
|
};
|
|
16
18
|
/**
|
|
17
19
|
* React Native adaptation of Base UI's DialogStore.
|
|
@@ -22,8 +24,7 @@ const selectors = {
|
|
|
22
24
|
* `DialogRootContext` erases it to `any` (the same trick the group components
|
|
23
25
|
* use) so the parts stay non-generic.
|
|
24
26
|
*
|
|
25
|
-
* TODO(later):
|
|
26
|
-
* transitions (`mounted`/`transitionStatus`), handles/payloads.
|
|
27
|
+
* TODO(later): openMethod interaction typing.
|
|
27
28
|
*/
|
|
28
29
|
class DialogStore extends ReactStore_1.ReactStore {
|
|
29
30
|
constructor(initialState) {
|
|
@@ -37,6 +38,8 @@ class DialogStore extends ReactStore_1.ReactStore {
|
|
|
37
38
|
payload: undefined,
|
|
38
39
|
triggerId: null,
|
|
39
40
|
triggerIdProp: undefined,
|
|
41
|
+
nested: false,
|
|
42
|
+
nestedOpenCount: 0,
|
|
40
43
|
...initialState,
|
|
41
44
|
}, { onOpenChange: undefined, triggerNodes: new PopupTriggerMap_1.PopupTriggerMap() }, selectors);
|
|
42
45
|
this.setOpen = (nextOpen, eventDetails) => {
|
|
@@ -50,6 +53,15 @@ class DialogStore extends ReactStore_1.ReactStore {
|
|
|
50
53
|
}
|
|
51
54
|
this.set('open', nextOpen);
|
|
52
55
|
};
|
|
56
|
+
/**
|
|
57
|
+
* Records that a dialog nested inside this one opened or closed.
|
|
58
|
+
*
|
|
59
|
+
* Increments rather than assigns, so two descendants closing out of order
|
|
60
|
+
* cannot leave the count stuck above zero.
|
|
61
|
+
*/
|
|
62
|
+
this.setNestedOpen = (open) => {
|
|
63
|
+
this.set('nestedOpenCount', Math.max(0, this.state.nestedOpenCount + (open ? 1 : -1)));
|
|
64
|
+
};
|
|
53
65
|
}
|
|
54
66
|
}
|
|
55
67
|
exports.DialogStore = DialogStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogStore.js","sourceRoot":"","sources":["../../../src/dialog/store/DialogStore.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAC5D,uDAAoD;AAEpD,wEAAqE;
|
|
1
|
+
{"version":3,"file":"DialogStore.js","sourceRoot":"","sources":["../../../src/dialog/store/DialogStore.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAC5D,uDAAoD;AAEpD,wEAAqE;AAwDrE,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,IAAA,+BAAc,EAAC,CAAC,KAAY,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,QAAQ,mCAAI,KAAK,CAAC,IAAI,CAAA,EAAA,CAAC;IACpE,cAAc,EAAE,IAAA,+BAAc,EAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC;IACtE,OAAO,EAAE,IAAA,+BAAc,EAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IACxD,SAAS,EAAE,IAAA,+BAAc,EAAC,CAAC,KAAY,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,aAAa,mCAAI,KAAK,CAAC,SAAS,CAAA,EAAA,CAAC;IACnF,oBAAoB,EAAE,IAAA,+BAAc,EAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC;IAClF,uBAAuB,EAAE,IAAA,+BAAc,EAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC;IACxF,IAAI,EAAE,IAAA,+BAAc,EAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAClD,MAAM,EAAE,IAAA,+BAAc,EAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IACtD,gBAAgB,EAAE,IAAA,+BAAc,EAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;CAC9E,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAa,WAAiE,SAAQ,uBAIrF;IACC,YAAY,YAA6B;QACvC,KAAK,CACH;YACE,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,SAAS;YACnB,cAAc,EAAE,SAAS;YACzB,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB,EAAE,KAAK;YAC9B,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,SAAS;YACxB,MAAM,EAAE,KAAK;YACb,eAAe,EAAE,CAAC;YAClB,GAAG,YAAY;SAChB,EACD,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,iCAAe,EAAE,EAAE,EAChE,SAAS,CACV,CAAC;QAGG,YAAO,GAAG,CAAC,QAAiB,EAAE,YAA4C,EAAE,EAAE;;YACnF,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,YAAY,mDAAG,QAAQ,EAAE,YAAY,CAAC,CAAC;YAEpD,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF;;;;;WAKG;QACI,kBAAa,GAAG,CAAC,IAAa,EAAE,EAAE;YACvC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,CAAC,CAAC;IAxBF,CAAC;CAyBF;AAjDD,kCAiDC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { DrawerRoot as Root } from './root/DrawerRoot';
|
|
2
|
-
export { createDrawerHandle as createHandle } from './handle';
|
|
2
|
+
export { createDrawerHandle as createHandle, type DrawerHandle as Handle } from './handle';
|
|
3
3
|
export { DrawerPopup as Popup } from './popup/DrawerPopup';
|
|
4
4
|
export { DrawerSwipeArea as SwipeArea } from './swipe-area/DrawerSwipeArea';
|
|
5
5
|
export { DialogTrigger as Trigger } from '../dialog/trigger/DialogTrigger';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.parts.d.ts","sourceRoot":"","sources":["../../src/drawer/index.parts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,kBAAkB,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.parts.d.ts","sourceRoot":"","sources":["../../src/drawer/index.parts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,kBAAkB,IAAI,YAAY,EAAE,KAAK,YAAY,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC3F,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,eAAe,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAI5E,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,iBAAiB,IAAI,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAC3F,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.parts.js","sourceRoot":"","sources":["../../src/drawer/index.parts.ts"],"names":[],"mappings":";;;AAAA,gDAAuD;AAA9C,kGAAA,UAAU,OAAQ;AAC3B,
|
|
1
|
+
{"version":3,"file":"index.parts.js","sourceRoot":"","sources":["../../src/drawer/index.parts.ts"],"names":[],"mappings":";;;AAAA,gDAAuD;AAA9C,kGAAA,UAAU,OAAQ;AAC3B,mCAA2F;AAAlF,sGAAA,kBAAkB,OAAgB;AAC3C,mDAA2D;AAAlD,oGAAA,WAAW,OAAS;AAC7B,gEAA4E;AAAnE,4GAAA,eAAe,OAAa;AAErC,gFAAgF;AAChF,mEAAmE;AACnE,iEAA2E;AAAlE,wGAAA,aAAa,OAAW;AACjC,8DAAuE;AAA9D,sGAAA,YAAY,OAAU;AAC/B,oEAA+E;AAAtE,0GAAA,cAAc,OAAY;AACnC,oEAA+E;AAAtE,0GAAA,cAAc,OAAY;AACnC,2DAAmE;AAA1D,oGAAA,WAAW,OAAS;AAC7B,6EAA2F;AAAlF,gHAAA,iBAAiB,OAAe;AACzC,2DAAmE;AAA1D,oGAAA,WAAW,OAAS"}
|
|
@@ -25,6 +25,15 @@ export interface DrawerPopupState {
|
|
|
25
25
|
* to `undefined` after one frame), `'ending'` once it is closing.
|
|
26
26
|
*/
|
|
27
27
|
transitionStatus: TransitionStatus;
|
|
28
|
+
/**
|
|
29
|
+
* Whether this drawer is rendered inside another dialog's tree.
|
|
30
|
+
*/
|
|
31
|
+
nested: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Whether a dialog nested inside this one is open — the cue to scale or dim
|
|
34
|
+
* this popup, which the web version drives with a CSS variable.
|
|
35
|
+
*/
|
|
36
|
+
nestedDialogOpen: boolean;
|
|
28
37
|
/**
|
|
29
38
|
* Whether a swipe is currently in progress.
|
|
30
39
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerPopup.d.ts","sourceRoot":"","sources":["../../../src/drawer/popup/DrawerPopup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAA0B,MAAM,cAAc,CAAC;AAK5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,OAAO,EAAwB,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAoBlH;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"DrawerPopup.d.ts","sourceRoot":"","sources":["../../../src/drawer/popup/DrawerPopup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAA0B,MAAM,cAAc,CAAC;AAK5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,OAAO,EAAwB,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAoBlH;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,qBAuI5D;AAgBD,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,cAAc,EAAE,oBAAoB,CAAC;IACrC;;OAEG;IACH,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB,CAAC,OAAO,IAAI,EAAE,gBAAgB,CAAC;IAC3F;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,yBAAiB,WAAW,CAAC;IAC3B,KAAY,KAAK,GAAG,gBAAgB,CAAC;IACrC,KAAY,KAAK,GAAG,gBAAgB,CAAC;CACtC"}
|