@limonify/zest-ui 0.3.1 → 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 -2
- 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 +68 -8
- 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 -4
- 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 +11 -1
- package/lib/combobox/positioner/ComboboxPositioner.d.ts.map +1 -1
- package/lib/combobox/positioner/ComboboxPositioner.js +67 -7
- 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 -43
- 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 +9 -0
- package/lib/select/positioner/SelectPositioner.d.ts.map +1 -1
- package/lib/select/positioner/SelectPositioner.js +9 -1
- 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 +33 -0
- package/lib/select/store/SelectStore.d.ts.map +1 -1
- package/lib/select/store/SelectStore.js +17 -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 +51 -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 -2
- 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 +118 -23
- package/src/combobox/item/ComboboxItem.tsx +24 -5
- 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 +52 -7
- 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 -43
- 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 +18 -1
- package/src/select/root/SelectRoot.tsx +109 -9
- package/src/select/store/SelectHandle.ts +68 -0
- package/src/select/store/SelectStore.ts +44 -1
- package/src/select/trigger/SelectTrigger.tsx +81 -8
- 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 -168
- 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 -190
- package/src/utils/fastObjectShallowCompare.ts +0 -30
- package/src/utils/mergeObjects.ts +0 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxInput.d.ts","sourceRoot":"","sources":["../../../src/combobox/input/ComboboxInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"ComboboxInput.d.ts","sourceRoot":"","sources":["../../../src/combobox/input/ComboboxInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAA0B,MAAM,cAAc,CAAC;AASjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAG,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,0EAoH5F;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB,CAAC,OAAO,GAAG,OAAO,CACnD,SAAQ,IAAI,CAAC,oBAAoB,CAAC,OAAO,SAAS,EAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACjF;;;;;OAKG;IACH,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACpC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,yBAAiB,aAAa,CAAC;IAC7B,KAAY,KAAK,GAAG,kBAAkB,CAAC;IACvC,KAAY,KAAK,CAAC,OAAO,GAAG,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;CACpE"}
|
|
@@ -39,38 +39,98 @@ const React = __importStar(require("react"));
|
|
|
39
39
|
const react_native_1 = require("react-native");
|
|
40
40
|
const ComboboxRootContext_1 = require("../root/ComboboxRootContext");
|
|
41
41
|
const useRenderElement_1 = require("../../use-render/useRenderElement");
|
|
42
|
+
const useId_1 = require("../../hooks/useId");
|
|
43
|
+
const useIsoLayoutEffect_1 = require("../../hooks/useIsoLayoutEffect");
|
|
42
44
|
const useMergedRefs_1 = require("../../hooks/useMergedRefs");
|
|
45
|
+
const usePopupHandleStore_1 = require("../../utils/popups/usePopupHandleStore");
|
|
46
|
+
const createChangeEventDetails_1 = require("../../utils/createChangeEventDetails");
|
|
47
|
+
const reasons_1 = require("../../utils/reasons");
|
|
43
48
|
/**
|
|
44
49
|
* The text input that filters the list, and the element the popup is anchored to.
|
|
45
50
|
* Renders a `<TextInput>`.
|
|
51
|
+
*
|
|
52
|
+
* Pass a `handle` to render the input outside of its `Combobox.Root`: there is
|
|
53
|
+
* no context reaching across, so the handle is what connects the two.
|
|
46
54
|
*/
|
|
47
55
|
function ComboboxInput(componentProps) {
|
|
48
|
-
const { render, className, style, ref, ...elementProps } = componentProps;
|
|
49
|
-
const
|
|
56
|
+
const { render, className, style, handle, nativeID: idProp, payload, ref, ...elementProps } = componentProps;
|
|
57
|
+
const rootStore = React.useContext(ComboboxRootContext_1.ComboboxRootContext);
|
|
58
|
+
const handleStore = (0, usePopupHandleStore_1.usePopupHandleStore)(handle);
|
|
59
|
+
// An input inside a root uses that root; a detached one follows its handle,
|
|
60
|
+
// which resolves to the attached root's store or to an inert fallback.
|
|
61
|
+
const store = (handleStore !== null && handleStore !== void 0 ? handleStore : rootStore);
|
|
62
|
+
if (store === undefined) {
|
|
63
|
+
throw new Error('Zest: Combobox.Input must be placed within <Combobox.Root> or <Autocomplete.Root>, or given a `handle` it shares with one.');
|
|
64
|
+
}
|
|
65
|
+
const id = (0, useId_1.useId)(idProp !== null && idProp !== void 0 ? idProp : undefined);
|
|
66
|
+
const open = store.useState('open');
|
|
67
|
+
const disabled = store.useState('disabled');
|
|
68
|
+
const inputValue = store.useState('inputValue');
|
|
69
|
+
const openOnFocus = store.useState('openOnFocus');
|
|
70
|
+
const update = store.useState('update');
|
|
71
|
+
const internalRef = React.useRef(null);
|
|
72
|
+
(0, useIsoLayoutEffect_1.useIsoLayoutEffect)(() => {
|
|
73
|
+
store.set('inputRef', internalRef);
|
|
74
|
+
}, [store]);
|
|
75
|
+
const triggerRef = React.useRef(null);
|
|
50
76
|
const anchorRef = React.useCallback((node) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
77
|
+
triggerRef.current = node;
|
|
78
|
+
store.set('triggerNode', node);
|
|
79
|
+
}, [store]);
|
|
80
|
+
const mergedRef = (0, useMergedRefs_1.useMergedRefs)(ref, anchorRef, internalRef);
|
|
81
|
+
// Registering into whichever store is current is what lets a handle resolve
|
|
82
|
+
// `open(id)`. The effect re-runs when the handle swaps stores, migrating the
|
|
83
|
+
// registration to the root that just attached.
|
|
84
|
+
(0, useIsoLayoutEffect_1.useIsoLayoutEffect)(() => {
|
|
85
|
+
if (id === undefined) {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
store.context.triggerNodes.add(id, triggerRef.current);
|
|
89
|
+
return () => {
|
|
90
|
+
store.context.triggerNodes.delete(id);
|
|
91
|
+
};
|
|
92
|
+
}, [store, id]);
|
|
54
93
|
const state = { open, disabled };
|
|
55
94
|
return (0, useRenderElement_1.useRenderElement)(react_native_1.TextInput, componentProps, {
|
|
56
95
|
state,
|
|
57
96
|
ref: mergedRef,
|
|
58
97
|
props: [
|
|
59
98
|
{
|
|
99
|
+
nativeID: id,
|
|
60
100
|
value: inputValue,
|
|
61
101
|
editable: !disabled,
|
|
62
102
|
onChangeText(text) {
|
|
63
|
-
|
|
103
|
+
// One event details object is shared, so canceling the text change
|
|
104
|
+
// also stops the list from opening.
|
|
105
|
+
const eventDetails = (0, createChangeEventDetails_1.createChangeEventDetails)(reasons_1.REASONS.inputChange);
|
|
106
|
+
store.setInputValue(text, eventDetails);
|
|
107
|
+
if (eventDetails.isCanceled) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
// Typing reopens the list so suggestions follow the query.
|
|
111
|
+
if (!store.select('open') && text.length > 0) {
|
|
112
|
+
store.setOpen(true, eventDetails);
|
|
113
|
+
}
|
|
64
114
|
},
|
|
65
115
|
onFocus() {
|
|
116
|
+
if (payload !== undefined) {
|
|
117
|
+
store.set('payload', payload);
|
|
118
|
+
}
|
|
119
|
+
if (id !== undefined) {
|
|
120
|
+
store.set('triggerId', id);
|
|
121
|
+
}
|
|
66
122
|
if (openOnFocus) {
|
|
67
|
-
setOpen(true);
|
|
123
|
+
store.setOpen(true, (0, createChangeEventDetails_1.createChangeEventDetails)(reasons_1.REASONS.triggerFocus));
|
|
68
124
|
}
|
|
69
125
|
},
|
|
70
|
-
onLayout() {
|
|
126
|
+
onLayout(event) {
|
|
127
|
+
const { width, height } = event.nativeEvent.layout;
|
|
128
|
+
store.set('triggerWidth', width);
|
|
129
|
+
store.set('triggerHeight', height);
|
|
71
130
|
update === null || update === void 0 ? void 0 : update();
|
|
72
131
|
},
|
|
73
132
|
accessibilityRole: 'search',
|
|
133
|
+
accessibilityState: { expanded: open, disabled: disabled || undefined },
|
|
74
134
|
'aria-expanded': open,
|
|
75
135
|
'aria-autocomplete': 'list',
|
|
76
136
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxInput.js","sourceRoot":"","sources":["../../../src/combobox/input/ComboboxInput.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ComboboxInput.js","sourceRoot":"","sources":["../../../src/combobox/input/ComboboxInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Pressable } from 'react-native';
|
|
3
|
-
import {
|
|
3
|
+
import type { ComboboxItem as ComboboxItemData } from '../store/ComboboxStore';
|
|
4
4
|
import type { ZestUIComponentProps } from '../../types';
|
|
5
5
|
/**
|
|
6
6
|
* A selectable item in the list.
|
|
@@ -8,8 +8,18 @@ import type { ZestUIComponentProps } from '../../types';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function ComboboxItem(componentProps: ComboboxItem.Props): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
10
10
|
export interface ComboboxItemState {
|
|
11
|
+
/**
|
|
12
|
+
* Whether this item is the selected one.
|
|
13
|
+
*/
|
|
11
14
|
selected: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Whether the item is currently pressed.
|
|
17
|
+
*/
|
|
12
18
|
pressed: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* The item's index in the list, in visual order.
|
|
21
|
+
*/
|
|
22
|
+
index: number;
|
|
13
23
|
}
|
|
14
24
|
export interface ComboboxItemProps extends ZestUIComponentProps<typeof Pressable, ComboboxItemState> {
|
|
15
25
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxItem.d.ts","sourceRoot":"","sources":["../../../src/combobox/item/ComboboxItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAA8B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ComboboxItem.d.ts","sourceRoot":"","sources":["../../../src/combobox/item/ComboboxItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAA8B,MAAM,cAAc,CAAC;AAMrE,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,KAAK,0EAoC9D;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB,CAAC,OAAO,SAAS,EAAE,iBAAiB,CAAC;IAClG;;OAEG;IACH,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,yBAAiB,YAAY,CAAC;IAC5B,KAAY,KAAK,GAAG,iBAAiB,CAAC;IACtC,KAAY,KAAK,GAAG,iBAAiB,CAAC;CACvC"}
|
|
@@ -40,17 +40,20 @@ const react_native_1 = require("react-native");
|
|
|
40
40
|
const ComboboxRootContext_1 = require("../root/ComboboxRootContext");
|
|
41
41
|
const useRenderElement_1 = require("../../use-render/useRenderElement");
|
|
42
42
|
const useCompositeListItem_1 = require("../../internals/composite/list/useCompositeListItem");
|
|
43
|
+
const createChangeEventDetails_1 = require("../../utils/createChangeEventDetails");
|
|
44
|
+
const reasons_1 = require("../../utils/reasons");
|
|
43
45
|
/**
|
|
44
46
|
* A selectable item in the list.
|
|
45
47
|
* Renders a `<Pressable>`.
|
|
46
48
|
*/
|
|
47
49
|
function ComboboxItem(componentProps) {
|
|
48
50
|
const { render, className, style, item, ref, ...elementProps } = componentProps;
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
+
const store = (0, ComboboxRootContext_1.useComboboxRootContext)();
|
|
52
|
+
const selectedValue = store.useState('value');
|
|
53
|
+
const { index, onLayout } = (0, useCompositeListItem_1.useCompositeListItem)();
|
|
51
54
|
const [pressed, setPressed] = React.useState(false);
|
|
52
55
|
const selected = selectedValue === item.value;
|
|
53
|
-
const state = { selected, pressed };
|
|
56
|
+
const state = React.useMemo(() => ({ selected, pressed, index }), [selected, pressed, index]);
|
|
54
57
|
return (0, useRenderElement_1.useRenderElement)(react_native_1.Pressable, componentProps, {
|
|
55
58
|
state,
|
|
56
59
|
ref,
|
|
@@ -58,7 +61,9 @@ function ComboboxItem(componentProps) {
|
|
|
58
61
|
{
|
|
59
62
|
onLayout,
|
|
60
63
|
onPress(event) {
|
|
61
|
-
|
|
64
|
+
var _a, _b;
|
|
65
|
+
store.selectItem(item, (0, createChangeEventDetails_1.createChangeEventDetails)(reasons_1.REASONS.itemPress, event));
|
|
66
|
+
(_b = (_a = store.select('inputRef')) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.blur();
|
|
62
67
|
},
|
|
63
68
|
onPressIn: () => setPressed(true),
|
|
64
69
|
onPressOut: () => setPressed(false),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxItem.js","sourceRoot":"","sources":["../../../src/combobox/item/ComboboxItem.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ComboboxItem.js","sourceRoot":"","sources":["../../../src/combobox/item/ComboboxItem.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeb,oCAoCC;AAlDD,6CAA+B;AAC/B,+CAAqE;AACrE,qEAAqE;AACrE,wEAAqE;AACrE,8FAA2F;AAC3F,mFAAgF;AAChF,iDAA8C;AAI9C;;;GAGG;AACH,SAAgB,YAAY,CAAC,cAAkC;IAC7D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAEhF,MAAM,KAAK,GAAG,IAAA,4CAAsB,GAAE,CAAC;IACvC,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2CAAoB,GAAE,CAAC;IAEnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,aAAa,KAAK,IAAI,CAAC,KAAK,CAAC;IAE9C,MAAM,KAAK,GAAsB,KAAK,CAAC,OAAO,CAC5C,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EACpC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAC3B,CAAC;IAEF,OAAO,IAAA,mCAAgB,EAAC,wBAAS,EAAE,cAAc,EAAE;QACjD,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL;gBACE,QAAQ;gBACR,OAAO,CAAC,KAA4B;;oBAClC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAA,mDAAwB,EAAC,iBAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC3E,MAAA,MAAA,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,0CAAE,OAAO,0CAAE,IAAI,EAAE,CAAC;gBAC5C,CAAC;gBACD,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;gBACjC,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;gBACnC,iBAAiB,EAAE,UAAmB;gBACtC,IAAI,EAAE,QAAiB;gBACvB,kBAAkB,EAAE,EAAE,QAAQ,EAAE;gBAChC,eAAe,EAAE,QAAQ;aAC1B;YACD,YAAY;SACb;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { View } from 'react-native';
|
|
3
|
-
import {
|
|
3
|
+
import type { ComboboxItem } from '../store/ComboboxStore';
|
|
4
4
|
import type { ZestUIComponentProps } from '../../types';
|
|
5
5
|
/**
|
|
6
6
|
* Renders the filtered items through a render function.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxList.d.ts","sourceRoot":"","sources":["../../../src/combobox/list/ComboboxList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ComboboxList.d.ts","sourceRoot":"","sources":["../../../src/combobox/list/ComboboxList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,KAAK,0EAe9D;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,OAAO,IAAI,EAAE,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC9E,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,KAAK,CAAC,SAAS,CAAC;CACnD;AAED,yBAAiB,YAAY,CAAC;IAC5B,KAAY,KAAK,GAAG,iBAAiB,CAAC;IACtC,KAAY,KAAK,GAAG,iBAAiB,CAAC;CACvC"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.ComboboxList = ComboboxList;
|
|
5
5
|
const react_native_1 = require("react-native");
|
|
6
6
|
const ComboboxRootContext_1 = require("../root/ComboboxRootContext");
|
|
7
|
+
const ComboboxItemsContext_1 = require("../root/ComboboxItemsContext");
|
|
7
8
|
const useRenderElement_1 = require("../../use-render/useRenderElement");
|
|
8
9
|
/**
|
|
9
10
|
* Renders the filtered items through a render function.
|
|
@@ -15,7 +16,9 @@ const useRenderElement_1 = require("../../use-render/useRenderElement");
|
|
|
15
16
|
*/
|
|
16
17
|
function ComboboxList(componentProps) {
|
|
17
18
|
const { render, className, style, children, ref, ...elementProps } = componentProps;
|
|
18
|
-
const
|
|
19
|
+
const store = (0, ComboboxRootContext_1.useComboboxRootContext)();
|
|
20
|
+
const { filteredItems } = (0, ComboboxItemsContext_1.useComboboxItemsContext)();
|
|
21
|
+
const open = store.useState('open');
|
|
19
22
|
const state = { open, empty: filteredItems.length === 0 };
|
|
20
23
|
return (0, useRenderElement_1.useRenderElement)(react_native_1.View, componentProps, {
|
|
21
24
|
state,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxList.js","sourceRoot":"","sources":["../../../src/combobox/list/ComboboxList.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"ComboboxList.js","sourceRoot":"","sources":["../../../src/combobox/list/ComboboxList.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAiBb,oCAeC;AA9BD,+CAAoC;AACpC,qEAAqE;AACrE,uEAAuE;AACvE,wEAAqE;AAIrE;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,cAAkC;IAC7D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAEpF,MAAM,KAAK,GAAG,IAAA,4CAAsB,GAAE,CAAC;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,8CAAuB,GAAE,CAAC;IAEpD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAE7E,OAAO,IAAA,mCAAgB,EAAC,mBAAI,EAAE,cAAc,EAAE;QAC5C,KAAK;QACL,GAAG;QACH,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC;KACjF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { View } from 'react-native';
|
|
2
|
+
import type { Align, Side } from '../../utils/useAnchorPositioning';
|
|
3
|
+
import type { TransitionStatus } from '../../internals/useTransitionStatus';
|
|
2
4
|
import type { ZestUIComponentProps } from '../../types';
|
|
3
5
|
/**
|
|
4
6
|
* A container for the filtered list.
|
|
@@ -6,7 +8,31 @@ import type { ZestUIComponentProps } from '../../types';
|
|
|
6
8
|
*/
|
|
7
9
|
export declare function ComboboxPopup(componentProps: ComboboxPopup.Props): import("react").JSX.Element;
|
|
8
10
|
export interface ComboboxPopupState {
|
|
11
|
+
/**
|
|
12
|
+
* Whether the list is currently open.
|
|
13
|
+
*/
|
|
9
14
|
open: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* The transition status of the list: `'starting'` as it opens (auto-clears to
|
|
17
|
+
* `undefined` after one frame), `'ending'` once it is closing.
|
|
18
|
+
*/
|
|
19
|
+
transitionStatus: TransitionStatus;
|
|
20
|
+
/**
|
|
21
|
+
* The side the popup was actually placed on, after collision handling.
|
|
22
|
+
*/
|
|
23
|
+
side: Side;
|
|
24
|
+
/**
|
|
25
|
+
* The alignment the popup was actually placed with.
|
|
26
|
+
*/
|
|
27
|
+
align: Align;
|
|
28
|
+
/**
|
|
29
|
+
* The input's measured width, available for consumers to apply to the popup.
|
|
30
|
+
*/
|
|
31
|
+
triggerWidth: number | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* The input's measured height.
|
|
34
|
+
*/
|
|
35
|
+
triggerHeight: number | undefined;
|
|
10
36
|
}
|
|
11
37
|
export interface ComboboxPopupProps extends ZestUIComponentProps<typeof View, ComboboxPopupState> {
|
|
12
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxPopup.d.ts","sourceRoot":"","sources":["../../../src/combobox/popup/ComboboxPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ComboboxPopup.d.ts","sourceRoot":"","sources":["../../../src/combobox/popup/ComboboxPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAMpC,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,+BAmChE;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IACb;;OAEG;IACH,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;OAEG;IACH,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB,CAAC,OAAO,IAAI,EAAE,kBAAkB,CAAC;CAAG;AAEpG,yBAAiB,aAAa,CAAC;IAC7B,KAAY,KAAK,GAAG,kBAAkB,CAAC;IACvC,KAAY,KAAK,GAAG,kBAAkB,CAAC;CACxC"}
|
|
@@ -5,6 +5,8 @@ exports.ComboboxPopup = ComboboxPopup;
|
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const react_native_1 = require("react-native");
|
|
7
7
|
const ComboboxRootContext_1 = require("../root/ComboboxRootContext");
|
|
8
|
+
const ComboboxPositionerContext_1 = require("../positioner/ComboboxPositionerContext");
|
|
9
|
+
const ComboboxTransitionContext_1 = require("../root/ComboboxTransitionContext");
|
|
8
10
|
const useRenderElement_1 = require("../../use-render/useRenderElement");
|
|
9
11
|
const CompositeList_1 = require("../../internals/composite/list/CompositeList");
|
|
10
12
|
/**
|
|
@@ -12,9 +14,22 @@ const CompositeList_1 = require("../../internals/composite/list/CompositeList");
|
|
|
12
14
|
* Renders a `<View>`.
|
|
13
15
|
*/
|
|
14
16
|
function ComboboxPopup(componentProps) {
|
|
17
|
+
var _a;
|
|
15
18
|
const { render, className, style, ref, ...elementProps } = componentProps;
|
|
16
|
-
const
|
|
17
|
-
const
|
|
19
|
+
const store = (0, ComboboxRootContext_1.useComboboxRootContext)();
|
|
20
|
+
const { side, align } = (0, ComboboxPositionerContext_1.useComboboxPositionerContext)();
|
|
21
|
+
const { transitionStatus } = (_a = (0, ComboboxTransitionContext_1.useComboboxTransitionContext)()) !== null && _a !== void 0 ? _a : { transitionStatus: undefined };
|
|
22
|
+
const open = store.useState('open');
|
|
23
|
+
const triggerWidth = store.useState('triggerWidth');
|
|
24
|
+
const triggerHeight = store.useState('triggerHeight');
|
|
25
|
+
const state = {
|
|
26
|
+
open,
|
|
27
|
+
transitionStatus,
|
|
28
|
+
side,
|
|
29
|
+
align,
|
|
30
|
+
triggerWidth,
|
|
31
|
+
triggerHeight,
|
|
32
|
+
};
|
|
18
33
|
const element = (0, useRenderElement_1.useRenderElement)(react_native_1.View, componentProps, {
|
|
19
34
|
state,
|
|
20
35
|
ref,
|
|
@@ -27,6 +42,7 @@ function ComboboxPopup(componentProps) {
|
|
|
27
42
|
elementProps,
|
|
28
43
|
],
|
|
29
44
|
});
|
|
45
|
+
// Items register here so they can be indexed in visual order.
|
|
30
46
|
return (0, jsx_runtime_1.jsx)(CompositeList_1.CompositeList, { children: element });
|
|
31
47
|
}
|
|
32
48
|
//# sourceMappingURL=ComboboxPopup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxPopup.js","sourceRoot":"","sources":["../../../src/combobox/popup/ComboboxPopup.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"ComboboxPopup.js","sourceRoot":"","sources":["../../../src/combobox/popup/ComboboxPopup.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAeb,sCAmCC;;AAjDD,+CAAoC;AACpC,qEAAqE;AACrE,uFAAuF;AACvF,iFAAiF;AACjF,wEAAqE;AACrE,gFAA6E;AAK7E;;;GAGG;AACH,SAAgB,aAAa,CAAC,cAAmC;;IAC/D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAE1E,MAAM,KAAK,GAAG,IAAA,4CAAsB,GAAE,CAAC;IACvC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,wDAA4B,GAAE,CAAC;IACvD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAA,IAAA,wDAA4B,GAAE,mCAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAE/F,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEtD,MAAM,KAAK,GAAuB;QAChC,IAAI;QACJ,gBAAgB;QAChB,IAAI;QACJ,KAAK;QACL,YAAY;QACZ,aAAa;KACd,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,mCAAgB,EAAC,mBAAI,EAAE,cAAc,EAAE;QACrD,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL;gBACE,iBAAiB,EAAE,MAAe;gBAClC,kEAAkE;gBAClE,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAI;aACtC;YACD,YAAY;SACb;KACF,CAAC,CAAC;IAEH,8DAA8D;IAC9D,OAAO,uBAAC,6BAAa,cAAE,OAAO,GAAiB,CAAC;AAClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxPortal.d.ts","sourceRoot":"","sources":["../../../src/combobox/portal/ComboboxPortal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ComboboxPortal.d.ts","sourceRoot":"","sources":["../../../src/combobox/portal/ComboboxPortal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,4BA2BzD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACnC;AAED,yBAAiB,cAAc,CAAC;IAC9B,KAAY,KAAK,GAAG,mBAAmB,CAAC;CACzC"}
|
|
@@ -5,19 +5,23 @@ exports.ComboboxPortal = ComboboxPortal;
|
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const react_native_1 = require("react-native");
|
|
7
7
|
const ComboboxRootContext_1 = require("../root/ComboboxRootContext");
|
|
8
|
+
const ComboboxPortalContext_1 = require("./ComboboxPortalContext");
|
|
9
|
+
const createChangeEventDetails_1 = require("../../utils/createChangeEventDetails");
|
|
10
|
+
const reasons_1 = require("../../utils/reasons");
|
|
8
11
|
/**
|
|
9
12
|
* Moves the popup to the top of the app, as an RN `Modal` like the rest of the
|
|
10
13
|
* popup family.
|
|
11
14
|
*/
|
|
12
15
|
function ComboboxPortal(props) {
|
|
13
16
|
const { children, keepMounted = false } = props;
|
|
14
|
-
const
|
|
17
|
+
const store = (0, ComboboxRootContext_1.useComboboxRootContext)();
|
|
18
|
+
const open = store.useState('open');
|
|
15
19
|
const shouldRender = open || keepMounted;
|
|
16
20
|
if (!shouldRender) {
|
|
17
21
|
return null;
|
|
18
22
|
}
|
|
19
|
-
return ((0, jsx_runtime_1.jsx)(react_native_1.Modal, { transparent: true, visible: open, animationType: "fade", statusBarTranslucent: true, navigationBarTranslucent: true, onRequestClose: (event) => {
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
return ((0, jsx_runtime_1.jsx)(ComboboxPortalContext_1.ComboboxPortalContext.Provider, { value: keepMounted, children: (0, jsx_runtime_1.jsx)(react_native_1.Modal, { transparent: true, visible: open, animationType: "fade", statusBarTranslucent: true, navigationBarTranslucent: true, onRequestClose: (event) => {
|
|
24
|
+
store.setOpen(false, (0, createChangeEventDetails_1.createChangeEventDetails)(reasons_1.REASONS.escapeKey, event));
|
|
25
|
+
}, children: children }) }));
|
|
22
26
|
}
|
|
23
27
|
//# sourceMappingURL=ComboboxPortal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxPortal.js","sourceRoot":"","sources":["../../../src/combobox/portal/ComboboxPortal.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"ComboboxPortal.js","sourceRoot":"","sources":["../../../src/combobox/portal/ComboboxPortal.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAYb,wCA2BC;;AArCD,+CAAgE;AAChE,qEAAqE;AACrE,mEAAgE;AAChE,mFAAgF;AAChF,iDAA8C;AAE9C;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAA2B;IACxD,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAEhD,MAAM,KAAK,GAAG,IAAA,4CAAsB,GAAE,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,YAAY,GAAG,IAAI,IAAI,WAAW,CAAC;IACzC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,uBAAC,6CAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,WAAW,YAChD,uBAAC,oBAAK,IACJ,WAAW,QACX,OAAO,EAAE,IAAI,EACb,aAAa,EAAC,MAAM,EACpB,oBAAoB,QACpB,wBAAwB,QACxB,cAAc,EAAE,CAAC,KAAoC,EAAE,EAAE;gBACvD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAA,mDAAwB,EAAC,iBAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3E,CAAC,YAEA,QAAQ,GACH,GACuB,CAClC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxPortalContext.d.ts","sourceRoot":"","sources":["../../../src/combobox/portal/ComboboxPortalContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,qBAAqB,oCAAsD,CAAC;AAEzF,wBAAgB,wBAAwB,YASvC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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.ComboboxPortalContext = void 0;
|
|
38
|
+
exports.useComboboxPortalContext = useComboboxPortalContext;
|
|
39
|
+
const React = __importStar(require("react"));
|
|
40
|
+
exports.ComboboxPortalContext = React.createContext(undefined);
|
|
41
|
+
function useComboboxPortalContext() {
|
|
42
|
+
const context = React.useContext(exports.ComboboxPortalContext);
|
|
43
|
+
if (context === undefined) {
|
|
44
|
+
throw new Error('Zest: ComboboxPortalContext is missing. <Combobox.Positioner> must be placed within <Combobox.Portal>.');
|
|
45
|
+
}
|
|
46
|
+
return context;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=ComboboxPortalContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxPortalContext.js","sourceRoot":"","sources":["../../../src/combobox/portal/ComboboxPortalContext.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKb,4DASC;AAbD,6CAA+B;AAElB,QAAA,qBAAqB,GAAG,KAAK,CAAC,aAAa,CAAsB,SAAS,CAAC,CAAC;AAEzF,SAAgB,wBAAwB;IACtC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,6BAAqB,CAAC,CAAC;IACxD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,wGAAwG,CACzG,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import { View } from 'react-native';
|
|
2
3
|
import { type Align, type Side, type UseAnchorPositioningSharedParameters } from '../../utils/useAnchorPositioning';
|
|
3
4
|
import type { ZestUIComponentProps } from '../../types';
|
|
@@ -5,11 +6,20 @@ import type { ZestUIComponentProps } from '../../types';
|
|
|
5
6
|
* Positions the list against the input.
|
|
6
7
|
* Renders a `<View>`.
|
|
7
8
|
*/
|
|
8
|
-
export declare function ComboboxPositioner(componentProps: ComboboxPositioner.Props):
|
|
9
|
+
export declare function ComboboxPositioner(componentProps: ComboboxPositioner.Props): React.JSX.Element;
|
|
9
10
|
export interface ComboboxPositionerState {
|
|
10
11
|
open: boolean;
|
|
11
12
|
side: Side;
|
|
12
13
|
align: Align;
|
|
14
|
+
/**
|
|
15
|
+
* The input's measured width, available for consumers to apply to the popup.
|
|
16
|
+
* This is the React Native equivalent of the web's `--anchor-width` CSS variable.
|
|
17
|
+
*/
|
|
18
|
+
triggerWidth: number | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* The input's measured height.
|
|
21
|
+
*/
|
|
22
|
+
triggerHeight: number | undefined;
|
|
13
23
|
}
|
|
14
24
|
export interface ComboboxPositionerProps extends UseAnchorPositioningSharedParameters, ZestUIComponentProps<typeof View, ComboboxPositionerState> {
|
|
15
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxPositioner.d.ts","sourceRoot":"","sources":["../../../src/combobox/positioner/ComboboxPositioner.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ComboboxPositioner.d.ts","sourceRoot":"","sources":["../../../src/combobox/positioner/ComboboxPositioner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAOpC,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,oCAAoC,EAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,kBAAkB,CAAC,KAAK,qBAiF1E;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;OAEG;IACH,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,uBACf,SAAQ,oCAAoC,EAC1C,oBAAoB,CAAC,OAAO,IAAI,EAAE,uBAAuB,CAAC;CAAG;AAEjE,yBAAiB,kBAAkB,CAAC;IAClC,KAAY,KAAK,GAAG,uBAAuB,CAAC;IAC5C,KAAY,KAAK,GAAG,uBAAuB,CAAC;CAC7C"}
|
|
@@ -1,9 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
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
|
+
})();
|
|
3
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
37
|
exports.ComboboxPositioner = ComboboxPositioner;
|
|
38
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
39
|
+
const React = __importStar(require("react"));
|
|
5
40
|
const react_native_1 = require("react-native");
|
|
6
41
|
const ComboboxRootContext_1 = require("../root/ComboboxRootContext");
|
|
42
|
+
const ComboboxPortalContext_1 = require("../portal/ComboboxPortalContext");
|
|
43
|
+
const ComboboxPositionerContext_1 = require("./ComboboxPositionerContext");
|
|
7
44
|
const useRenderElement_1 = require("../../use-render/useRenderElement");
|
|
8
45
|
const useIsoLayoutEffect_1 = require("../../hooks/useIsoLayoutEffect");
|
|
9
46
|
const useMergedRefs_1 = require("../../hooks/useMergedRefs");
|
|
@@ -14,7 +51,12 @@ const useAnchorPositioning_1 = require("../../utils/useAnchorPositioning");
|
|
|
14
51
|
*/
|
|
15
52
|
function ComboboxPositioner(componentProps) {
|
|
16
53
|
const { align = 'start', alignOffset = 0, arrowPadding = 5, className, collisionPadding = 5, render, side = 'bottom', sideOffset = 4, sticky = false, style, ref, ...elementProps } = componentProps;
|
|
17
|
-
|
|
54
|
+
(0, ComboboxPortalContext_1.useComboboxPortalContext)();
|
|
55
|
+
const store = (0, ComboboxRootContext_1.useComboboxRootContext)();
|
|
56
|
+
const open = store.useState('open');
|
|
57
|
+
const triggerNode = store.useState('triggerNode');
|
|
58
|
+
const triggerWidth = store.useState('triggerWidth');
|
|
59
|
+
const triggerHeight = store.useState('triggerHeight');
|
|
18
60
|
const positioning = (0, useAnchorPositioning_1.useAnchorPositioning)({
|
|
19
61
|
align,
|
|
20
62
|
alignOffset,
|
|
@@ -29,15 +71,33 @@ function ComboboxPositioner(componentProps) {
|
|
|
29
71
|
refs.setReference(triggerNode !== null && triggerNode !== void 0 ? triggerNode : null);
|
|
30
72
|
}, [refs, triggerNode]);
|
|
31
73
|
(0, useIsoLayoutEffect_1.useIsoLayoutEffect)(() => {
|
|
32
|
-
|
|
33
|
-
return () =>
|
|
34
|
-
|
|
74
|
+
store.set('update', update);
|
|
75
|
+
return () => {
|
|
76
|
+
store.set('update', undefined);
|
|
77
|
+
};
|
|
78
|
+
}, [store, update]);
|
|
35
79
|
const mergedRef = (0, useMergedRefs_1.useMergedRefs)(ref, refs.setFloating);
|
|
36
|
-
const state = {
|
|
37
|
-
|
|
80
|
+
const state = {
|
|
81
|
+
open,
|
|
82
|
+
side: positioning.side,
|
|
83
|
+
align: positioning.align,
|
|
84
|
+
triggerWidth,
|
|
85
|
+
triggerHeight,
|
|
86
|
+
};
|
|
87
|
+
const contextValue = React.useMemo(() => ({ side: positioning.side, align: positioning.align }), [positioning.side, positioning.align]);
|
|
88
|
+
const element = (0, useRenderElement_1.useRenderElement)(react_native_1.View, componentProps, {
|
|
38
89
|
state,
|
|
39
90
|
ref: mergedRef,
|
|
40
|
-
props: [
|
|
91
|
+
props: [
|
|
92
|
+
{
|
|
93
|
+
style: positionerStyles,
|
|
94
|
+
onLayout() {
|
|
95
|
+
update();
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
elementProps,
|
|
99
|
+
],
|
|
41
100
|
});
|
|
101
|
+
return ((0, jsx_runtime_1.jsx)(ComboboxPositionerContext_1.ComboboxPositionerContext.Provider, { value: contextValue, children: element }));
|
|
42
102
|
}
|
|
43
103
|
//# sourceMappingURL=ComboboxPositioner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxPositioner.js","sourceRoot":"","sources":["../../../src/combobox/positioner/ComboboxPositioner.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"ComboboxPositioner.js","sourceRoot":"","sources":["../../../src/combobox/positioner/ComboboxPositioner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { Align, Side } from '../../utils/useAnchorPositioning';
|
|
3
|
+
export interface ComboboxPositionerContext {
|
|
4
|
+
side: Side;
|
|
5
|
+
align: Align;
|
|
6
|
+
}
|
|
7
|
+
export declare const ComboboxPositionerContext: React.Context<ComboboxPositionerContext | undefined>;
|
|
8
|
+
export declare function useComboboxPositionerContext(): ComboboxPositionerContext;
|
|
9
|
+
//# sourceMappingURL=ComboboxPositionerContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxPositionerContext.d.ts","sourceRoot":"","sources":["../../../src/combobox/positioner/ComboboxPositionerContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd;AAED,eAAO,MAAM,yBAAyB,sDAE1B,CAAC;AAEb,wBAAgB,4BAA4B,8BAS3C"}
|