@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.
Files changed (381) hide show
  1. package/README.md +3 -0
  2. package/lib/alert-dialog/index.parts.d.ts +1 -1
  3. package/lib/alert-dialog/index.parts.d.ts.map +1 -1
  4. package/lib/alert-dialog/index.parts.js.map +1 -1
  5. package/lib/autocomplete/handle.d.ts +15 -0
  6. package/lib/autocomplete/handle.d.ts.map +1 -0
  7. package/lib/autocomplete/handle.js +12 -0
  8. package/lib/autocomplete/handle.js.map +1 -0
  9. package/lib/autocomplete/index.d.ts +1 -0
  10. package/lib/autocomplete/index.d.ts.map +1 -1
  11. package/lib/autocomplete/index.parts.d.ts +1 -0
  12. package/lib/autocomplete/index.parts.d.ts.map +1 -1
  13. package/lib/autocomplete/index.parts.js +3 -1
  14. package/lib/autocomplete/index.parts.js.map +1 -1
  15. package/lib/autocomplete/root/AutocompleteRoot.d.ts +55 -16
  16. package/lib/autocomplete/root/AutocompleteRoot.d.ts.map +1 -1
  17. package/lib/autocomplete/root/AutocompleteRoot.js +2 -18
  18. package/lib/autocomplete/root/AutocompleteRoot.js.map +1 -1
  19. package/lib/avatar/fallback/AvatarFallback.d.ts.map +1 -1
  20. package/lib/avatar/fallback/AvatarFallback.js +3 -1
  21. package/lib/avatar/fallback/AvatarFallback.js.map +1 -1
  22. package/lib/avatar/image/AvatarImage.d.ts.map +1 -1
  23. package/lib/avatar/image/AvatarImage.js +5 -0
  24. package/lib/avatar/image/AvatarImage.js.map +1 -1
  25. package/lib/checkbox/root/CheckboxRoot.d.ts.map +1 -1
  26. package/lib/checkbox/root/CheckboxRoot.js +9 -4
  27. package/lib/checkbox/root/CheckboxRoot.js.map +1 -1
  28. package/lib/combobox/backdrop/ComboboxBackdrop.d.ts.map +1 -1
  29. package/lib/combobox/backdrop/ComboboxBackdrop.js +10 -2
  30. package/lib/combobox/backdrop/ComboboxBackdrop.js.map +1 -1
  31. package/lib/combobox/empty/ComboboxEmpty.d.ts.map +1 -1
  32. package/lib/combobox/empty/ComboboxEmpty.js +4 -1
  33. package/lib/combobox/empty/ComboboxEmpty.js.map +1 -1
  34. package/lib/combobox/index.d.ts +2 -0
  35. package/lib/combobox/index.d.ts.map +1 -1
  36. package/lib/combobox/index.js +3 -1
  37. package/lib/combobox/index.js.map +1 -1
  38. package/lib/combobox/index.parts.d.ts +1 -0
  39. package/lib/combobox/index.parts.d.ts.map +1 -1
  40. package/lib/combobox/index.parts.js +4 -1
  41. package/lib/combobox/index.parts.js.map +1 -1
  42. package/lib/combobox/input/ComboboxInput.d.ts +24 -3
  43. package/lib/combobox/input/ComboboxInput.d.ts.map +1 -1
  44. package/lib/combobox/input/ComboboxInput.js +68 -8
  45. package/lib/combobox/input/ComboboxInput.js.map +1 -1
  46. package/lib/combobox/item/ComboboxItem.d.ts +11 -1
  47. package/lib/combobox/item/ComboboxItem.d.ts.map +1 -1
  48. package/lib/combobox/item/ComboboxItem.js +9 -4
  49. package/lib/combobox/item/ComboboxItem.js.map +1 -1
  50. package/lib/combobox/list/ComboboxList.d.ts +1 -1
  51. package/lib/combobox/list/ComboboxList.d.ts.map +1 -1
  52. package/lib/combobox/list/ComboboxList.js +4 -1
  53. package/lib/combobox/list/ComboboxList.js.map +1 -1
  54. package/lib/combobox/popup/ComboboxPopup.d.ts +26 -0
  55. package/lib/combobox/popup/ComboboxPopup.d.ts.map +1 -1
  56. package/lib/combobox/popup/ComboboxPopup.js +18 -2
  57. package/lib/combobox/popup/ComboboxPopup.js.map +1 -1
  58. package/lib/combobox/portal/ComboboxPortal.d.ts.map +1 -1
  59. package/lib/combobox/portal/ComboboxPortal.js +8 -4
  60. package/lib/combobox/portal/ComboboxPortal.js.map +1 -1
  61. package/lib/combobox/portal/ComboboxPortalContext.d.ts +4 -0
  62. package/lib/combobox/portal/ComboboxPortalContext.d.ts.map +1 -0
  63. package/lib/combobox/portal/ComboboxPortalContext.js +48 -0
  64. package/lib/combobox/portal/ComboboxPortalContext.js.map +1 -0
  65. package/lib/combobox/positioner/ComboboxPositioner.d.ts +11 -1
  66. package/lib/combobox/positioner/ComboboxPositioner.d.ts.map +1 -1
  67. package/lib/combobox/positioner/ComboboxPositioner.js +67 -7
  68. package/lib/combobox/positioner/ComboboxPositioner.js.map +1 -1
  69. package/lib/combobox/positioner/ComboboxPositionerContext.d.ts +9 -0
  70. package/lib/combobox/positioner/ComboboxPositionerContext.d.ts.map +1 -0
  71. package/lib/combobox/positioner/ComboboxPositionerContext.js +48 -0
  72. package/lib/combobox/positioner/ComboboxPositionerContext.js.map +1 -0
  73. package/lib/combobox/root/ComboboxItemsContext.d.ts +18 -0
  74. package/lib/combobox/root/ComboboxItemsContext.d.ts.map +1 -0
  75. package/lib/combobox/root/ComboboxItemsContext.js +55 -0
  76. package/lib/combobox/root/ComboboxItemsContext.js.map +1 -0
  77. package/lib/combobox/root/ComboboxRoot.d.ts +77 -21
  78. package/lib/combobox/root/ComboboxRoot.d.ts.map +1 -1
  79. package/lib/combobox/root/ComboboxRoot.js +4 -23
  80. package/lib/combobox/root/ComboboxRoot.js.map +1 -1
  81. package/lib/combobox/root/ComboboxRootContext.d.ts +4 -43
  82. package/lib/combobox/root/ComboboxRootContext.d.ts.map +1 -1
  83. package/lib/combobox/root/ComboboxRootContext.js.map +1 -1
  84. package/lib/combobox/root/ComboboxTransitionContext.d.ts +8 -0
  85. package/lib/combobox/root/ComboboxTransitionContext.d.ts.map +1 -0
  86. package/lib/combobox/root/ComboboxTransitionContext.js +44 -0
  87. package/lib/combobox/root/ComboboxTransitionContext.js.map +1 -0
  88. package/lib/combobox/root/useRenderComboboxRoot.d.ts +39 -0
  89. package/lib/combobox/root/useRenderComboboxRoot.d.ts.map +1 -0
  90. package/lib/combobox/root/useRenderComboboxRoot.js +136 -0
  91. package/lib/combobox/root/useRenderComboboxRoot.js.map +1 -0
  92. package/lib/combobox/store/ComboboxHandle.d.ts +42 -0
  93. package/lib/combobox/store/ComboboxHandle.d.ts.map +1 -0
  94. package/lib/combobox/store/ComboboxHandle.js +65 -0
  95. package/lib/combobox/store/ComboboxHandle.js.map +1 -0
  96. package/lib/combobox/store/ComboboxStore.d.ts +147 -0
  97. package/lib/combobox/store/ComboboxStore.d.ts.map +1 -0
  98. package/lib/combobox/store/ComboboxStore.js +127 -0
  99. package/lib/combobox/store/ComboboxStore.js.map +1 -0
  100. package/lib/combobox/value/ComboboxValue.d.ts.map +1 -1
  101. package/lib/combobox/value/ComboboxValue.js +2 -1
  102. package/lib/combobox/value/ComboboxValue.js.map +1 -1
  103. package/lib/context-menu/positioner/ContextMenuPositioner.d.ts +19 -3
  104. package/lib/context-menu/positioner/ContextMenuPositioner.d.ts.map +1 -1
  105. package/lib/context-menu/positioner/ContextMenuPositioner.js +56 -7
  106. package/lib/context-menu/positioner/ContextMenuPositioner.js.map +1 -1
  107. package/lib/context-menu/root/ContextMenuRoot.d.ts +8 -0
  108. package/lib/context-menu/root/ContextMenuRoot.d.ts.map +1 -1
  109. package/lib/dialog/backdrop/DialogBackdrop.d.ts +9 -0
  110. package/lib/dialog/backdrop/DialogBackdrop.d.ts.map +1 -1
  111. package/lib/dialog/backdrop/DialogBackdrop.js +3 -1
  112. package/lib/dialog/backdrop/DialogBackdrop.js.map +1 -1
  113. package/lib/dialog/popup/DialogPopup.d.ts +9 -0
  114. package/lib/dialog/popup/DialogPopup.d.ts.map +1 -1
  115. package/lib/dialog/popup/DialogPopup.js +2 -2
  116. package/lib/dialog/popup/DialogPopup.js.map +1 -1
  117. package/lib/dialog/popup/useDialogPopupProps.d.ts +2 -0
  118. package/lib/dialog/popup/useDialogPopupProps.d.ts.map +1 -1
  119. package/lib/dialog/popup/useDialogPopupProps.js +4 -0
  120. package/lib/dialog/popup/useDialogPopupProps.js.map +1 -1
  121. package/lib/dialog/root/DialogNestingContext.d.ts +20 -0
  122. package/lib/dialog/root/DialogNestingContext.d.ts.map +1 -0
  123. package/lib/dialog/root/DialogNestingContext.js +53 -0
  124. package/lib/dialog/root/DialogNestingContext.js.map +1 -0
  125. package/lib/dialog/root/useRenderDialogRoot.d.ts.map +1 -1
  126. package/lib/dialog/root/useRenderDialogRoot.js +26 -2
  127. package/lib/dialog/root/useRenderDialogRoot.js.map +1 -1
  128. package/lib/dialog/store/DialogStore.d.ts +19 -2
  129. package/lib/dialog/store/DialogStore.d.ts.map +1 -1
  130. package/lib/dialog/store/DialogStore.js +14 -2
  131. package/lib/dialog/store/DialogStore.js.map +1 -1
  132. package/lib/drawer/index.parts.d.ts +1 -1
  133. package/lib/drawer/index.parts.d.ts.map +1 -1
  134. package/lib/drawer/index.parts.js.map +1 -1
  135. package/lib/drawer/popup/DrawerPopup.d.ts +9 -0
  136. package/lib/drawer/popup/DrawerPopup.d.ts.map +1 -1
  137. package/lib/drawer/popup/DrawerPopup.js +3 -1
  138. package/lib/drawer/popup/DrawerPopup.js.map +1 -1
  139. package/lib/filter/index.d.ts +2 -0
  140. package/lib/filter/index.d.ts.map +1 -0
  141. package/lib/filter/index.js +6 -0
  142. package/lib/filter/index.js.map +1 -0
  143. package/lib/filter/useFilter.d.ts +45 -0
  144. package/lib/filter/useFilter.d.ts.map +1 -0
  145. package/lib/filter/useFilter.js +96 -0
  146. package/lib/filter/useFilter.js.map +1 -0
  147. package/lib/index.d.ts +1 -0
  148. package/lib/index.d.ts.map +1 -1
  149. package/lib/index.js +1 -0
  150. package/lib/index.js.map +1 -1
  151. package/lib/internals/field/useFieldControlRegistration.d.ts +25 -6
  152. package/lib/internals/field/useFieldControlRegistration.d.ts.map +1 -1
  153. package/lib/internals/field/useFieldControlRegistration.js +93 -6
  154. package/lib/internals/field/useFieldControlRegistration.js.map +1 -1
  155. package/lib/menu/popup/MenuPopup.d.ts +10 -0
  156. package/lib/menu/popup/MenuPopup.d.ts.map +1 -1
  157. package/lib/menu/popup/MenuPopup.js +10 -1
  158. package/lib/menu/popup/MenuPopup.js.map +1 -1
  159. package/lib/menu/positioner/MenuPositioner.d.ts +10 -0
  160. package/lib/menu/positioner/MenuPositioner.d.ts.map +1 -1
  161. package/lib/menu/positioner/MenuPositioner.js +9 -1
  162. package/lib/menu/positioner/MenuPositioner.js.map +1 -1
  163. package/lib/menu/store/MenuStore.d.ts +11 -0
  164. package/lib/menu/store/MenuStore.d.ts.map +1 -1
  165. package/lib/menu/store/MenuStore.js +4 -0
  166. package/lib/menu/store/MenuStore.js.map +1 -1
  167. package/lib/menu/submenu-trigger/MenuSubmenuTrigger.d.ts.map +1 -1
  168. package/lib/menu/submenu-trigger/MenuSubmenuTrigger.js +3 -0
  169. package/lib/menu/submenu-trigger/MenuSubmenuTrigger.js.map +1 -1
  170. package/lib/menu/trigger/MenuTrigger.d.ts.map +1 -1
  171. package/lib/menu/trigger/MenuTrigger.js +4 -1
  172. package/lib/menu/trigger/MenuTrigger.js.map +1 -1
  173. package/lib/meter/indicator/MeterIndicator.d.ts +2 -1
  174. package/lib/meter/indicator/MeterIndicator.d.ts.map +1 -1
  175. package/lib/meter/indicator/MeterIndicator.js +1 -2
  176. package/lib/meter/indicator/MeterIndicator.js.map +1 -1
  177. package/lib/meter/label/MeterLabel.d.ts +2 -1
  178. package/lib/meter/label/MeterLabel.d.ts.map +1 -1
  179. package/lib/meter/label/MeterLabel.js +1 -2
  180. package/lib/meter/label/MeterLabel.js.map +1 -1
  181. package/lib/meter/root/MeterRoot.d.ts +21 -0
  182. package/lib/meter/root/MeterRoot.d.ts.map +1 -1
  183. package/lib/meter/root/MeterRoot.js +2 -2
  184. package/lib/meter/root/MeterRoot.js.map +1 -1
  185. package/lib/meter/root/MeterRootContext.d.ts +5 -0
  186. package/lib/meter/root/MeterRootContext.d.ts.map +1 -1
  187. package/lib/meter/root/MeterRootContext.js.map +1 -1
  188. package/lib/meter/track/MeterTrack.d.ts +2 -1
  189. package/lib/meter/track/MeterTrack.d.ts.map +1 -1
  190. package/lib/meter/track/MeterTrack.js +1 -2
  191. package/lib/meter/track/MeterTrack.js.map +1 -1
  192. package/lib/meter/value/MeterValue.d.ts +2 -1
  193. package/lib/meter/value/MeterValue.d.ts.map +1 -1
  194. package/lib/meter/value/MeterValue.js +1 -2
  195. package/lib/meter/value/MeterValue.js.map +1 -1
  196. package/lib/number-field/input/NumberFieldInput.d.ts.map +1 -1
  197. package/lib/number-field/input/NumberFieldInput.js +11 -2
  198. package/lib/number-field/input/NumberFieldInput.js.map +1 -1
  199. package/lib/number-field/root/NumberFieldRoot.d.ts.map +1 -1
  200. package/lib/number-field/root/NumberFieldRoot.js +5 -2
  201. package/lib/number-field/root/NumberFieldRoot.js.map +1 -1
  202. package/lib/otp-field/input/OTPFieldInput.d.ts.map +1 -1
  203. package/lib/otp-field/input/OTPFieldInput.js +4 -0
  204. package/lib/otp-field/input/OTPFieldInput.js.map +1 -1
  205. package/lib/otp-field/root/OTPFieldRoot.d.ts.map +1 -1
  206. package/lib/otp-field/root/OTPFieldRoot.js +20 -2
  207. package/lib/otp-field/root/OTPFieldRoot.js.map +1 -1
  208. package/lib/popover/popup/PopoverPopup.d.ts +10 -0
  209. package/lib/popover/popup/PopoverPopup.d.ts.map +1 -1
  210. package/lib/popover/popup/PopoverPopup.js +10 -1
  211. package/lib/popover/popup/PopoverPopup.js.map +1 -1
  212. package/lib/popover/positioner/PopoverPositioner.d.ts +10 -0
  213. package/lib/popover/positioner/PopoverPositioner.d.ts.map +1 -1
  214. package/lib/popover/positioner/PopoverPositioner.js +4 -0
  215. package/lib/popover/positioner/PopoverPositioner.js.map +1 -1
  216. package/lib/popover/store/PopoverStore.d.ts +11 -0
  217. package/lib/popover/store/PopoverStore.d.ts.map +1 -1
  218. package/lib/popover/store/PopoverStore.js +4 -0
  219. package/lib/popover/store/PopoverStore.js.map +1 -1
  220. package/lib/popover/trigger/PopoverTrigger.d.ts.map +1 -1
  221. package/lib/popover/trigger/PopoverTrigger.js +4 -1
  222. package/lib/popover/trigger/PopoverTrigger.js.map +1 -1
  223. package/lib/progress/root/ProgressRoot.d.ts +21 -0
  224. package/lib/progress/root/ProgressRoot.d.ts.map +1 -1
  225. package/lib/progress/root/ProgressRoot.js +1 -1
  226. package/lib/progress/root/ProgressRoot.js.map +1 -1
  227. package/lib/radio-group/RadioGroup.d.ts.map +1 -1
  228. package/lib/radio-group/RadioGroup.js +5 -2
  229. package/lib/radio-group/RadioGroup.js.map +1 -1
  230. package/lib/select/backdrop/SelectBackdrop.d.ts.map +1 -1
  231. package/lib/select/backdrop/SelectBackdrop.js +3 -0
  232. package/lib/select/backdrop/SelectBackdrop.js.map +1 -1
  233. package/lib/select/index.parts.d.ts +1 -0
  234. package/lib/select/index.parts.d.ts.map +1 -1
  235. package/lib/select/index.parts.js +4 -1
  236. package/lib/select/index.parts.js.map +1 -1
  237. package/lib/select/popup/SelectPopup.d.ts +8 -0
  238. package/lib/select/popup/SelectPopup.d.ts.map +1 -1
  239. package/lib/select/popup/SelectPopup.js +10 -1
  240. package/lib/select/popup/SelectPopup.js.map +1 -1
  241. package/lib/select/positioner/SelectPositioner.d.ts +9 -0
  242. package/lib/select/positioner/SelectPositioner.d.ts.map +1 -1
  243. package/lib/select/positioner/SelectPositioner.js +9 -1
  244. package/lib/select/positioner/SelectPositioner.js.map +1 -1
  245. package/lib/select/root/SelectRoot.d.ts +45 -4
  246. package/lib/select/root/SelectRoot.d.ts.map +1 -1
  247. package/lib/select/root/SelectRoot.js +43 -5
  248. package/lib/select/root/SelectRoot.js.map +1 -1
  249. package/lib/select/store/SelectHandle.d.ts +42 -0
  250. package/lib/select/store/SelectHandle.d.ts.map +1 -0
  251. package/lib/select/store/SelectHandle.js +69 -0
  252. package/lib/select/store/SelectHandle.js.map +1 -0
  253. package/lib/select/store/SelectStore.d.ts +33 -0
  254. package/lib/select/store/SelectStore.d.ts.map +1 -1
  255. package/lib/select/store/SelectStore.js +17 -1
  256. package/lib/select/store/SelectStore.js.map +1 -1
  257. package/lib/select/trigger/SelectTrigger.d.ts +18 -3
  258. package/lib/select/trigger/SelectTrigger.d.ts.map +1 -1
  259. package/lib/select/trigger/SelectTrigger.js +51 -4
  260. package/lib/select/trigger/SelectTrigger.js.map +1 -1
  261. package/lib/slider/root/SliderRoot.d.ts.map +1 -1
  262. package/lib/slider/root/SliderRoot.js +9 -1
  263. package/lib/slider/root/SliderRoot.js.map +1 -1
  264. package/lib/slider/thumb/SliderThumb.d.ts.map +1 -1
  265. package/lib/slider/thumb/SliderThumb.js +10 -2
  266. package/lib/slider/thumb/SliderThumb.js.map +1 -1
  267. package/lib/switch/root/SwitchRoot.d.ts.map +1 -1
  268. package/lib/switch/root/SwitchRoot.js +6 -2
  269. package/lib/switch/root/SwitchRoot.js.map +1 -1
  270. package/lib/tabs/tab/TabsTab.d.ts +2 -10
  271. package/lib/tabs/tab/TabsTab.d.ts.map +1 -1
  272. package/lib/tooltip/popup/TooltipPopup.d.ts +10 -0
  273. package/lib/tooltip/popup/TooltipPopup.d.ts.map +1 -1
  274. package/lib/tooltip/popup/TooltipPopup.js +10 -1
  275. package/lib/tooltip/popup/TooltipPopup.js.map +1 -1
  276. package/lib/tooltip/positioner/TooltipPositioner.d.ts +10 -0
  277. package/lib/tooltip/positioner/TooltipPositioner.d.ts.map +1 -1
  278. package/lib/tooltip/positioner/TooltipPositioner.js +4 -0
  279. package/lib/tooltip/positioner/TooltipPositioner.js.map +1 -1
  280. package/lib/tooltip/store/TooltipStore.d.ts +11 -0
  281. package/lib/tooltip/store/TooltipStore.d.ts.map +1 -1
  282. package/lib/tooltip/store/TooltipStore.js +11 -1
  283. package/lib/tooltip/store/TooltipStore.js.map +1 -1
  284. package/lib/tooltip/trigger/TooltipTrigger.d.ts.map +1 -1
  285. package/lib/tooltip/trigger/TooltipTrigger.js +4 -1
  286. package/lib/tooltip/trigger/TooltipTrigger.js.map +1 -1
  287. package/package.json +1 -1
  288. package/src/alert-dialog/index.parts.ts +1 -1
  289. package/src/autocomplete/handle.ts +18 -0
  290. package/src/autocomplete/index.parts.ts +1 -0
  291. package/src/autocomplete/index.ts +1 -0
  292. package/src/autocomplete/root/AutocompleteRoot.tsx +65 -50
  293. package/src/avatar/fallback/AvatarFallback.tsx +3 -1
  294. package/src/avatar/image/AvatarImage.tsx +5 -0
  295. package/src/checkbox/root/CheckboxRoot.tsx +7 -2
  296. package/src/combobox/backdrop/ComboboxBackdrop.tsx +10 -2
  297. package/src/combobox/empty/ComboboxEmpty.tsx +5 -1
  298. package/src/combobox/index.parts.ts +1 -0
  299. package/src/combobox/index.ts +2 -0
  300. package/src/combobox/input/ComboboxInput.tsx +118 -23
  301. package/src/combobox/item/ComboboxItem.tsx +24 -5
  302. package/src/combobox/list/ComboboxList.tsx +7 -2
  303. package/src/combobox/popup/ComboboxPopup.tsx +44 -2
  304. package/src/combobox/portal/ComboboxPortal.tsx +19 -13
  305. package/src/combobox/portal/ComboboxPortalContext.ts +15 -0
  306. package/src/combobox/positioner/ComboboxPositioner.tsx +52 -7
  307. package/src/combobox/positioner/ComboboxPositionerContext.ts +23 -0
  308. package/src/combobox/root/ComboboxItemsContext.ts +32 -0
  309. package/src/combobox/root/ComboboxRoot.tsx +94 -56
  310. package/src/combobox/root/ComboboxRootContext.ts +3 -43
  311. package/src/combobox/root/ComboboxTransitionContext.ts +15 -0
  312. package/src/combobox/root/useRenderComboboxRoot.tsx +189 -0
  313. package/src/combobox/store/ComboboxHandle.ts +64 -0
  314. package/src/combobox/store/ComboboxStore.ts +249 -0
  315. package/src/combobox/value/ComboboxValue.tsx +2 -1
  316. package/src/context-menu/positioner/ContextMenuPositioner.tsx +90 -10
  317. package/src/context-menu/root/ContextMenuRoot.tsx +8 -0
  318. package/src/dialog/backdrop/DialogBackdrop.tsx +12 -1
  319. package/src/dialog/popup/DialogPopup.tsx +11 -2
  320. package/src/dialog/popup/useDialogPopupProps.ts +4 -0
  321. package/src/dialog/root/DialogNestingContext.ts +27 -0
  322. package/src/dialog/root/useRenderDialogRoot.tsx +37 -2
  323. package/src/dialog/store/DialogStore.ts +24 -2
  324. package/src/drawer/index.parts.ts +1 -1
  325. package/src/drawer/popup/DrawerPopup.tsx +12 -1
  326. package/src/filter/index.ts +5 -0
  327. package/src/filter/useFilter.ts +95 -0
  328. package/src/index.ts +1 -0
  329. package/src/internals/field/useFieldControlRegistration.ts +86 -6
  330. package/src/menu/popup/MenuPopup.tsx +20 -1
  331. package/src/menu/positioner/MenuPositioner.tsx +19 -1
  332. package/src/menu/store/MenuStore.ts +13 -0
  333. package/src/menu/submenu-trigger/MenuSubmenuTrigger.tsx +3 -0
  334. package/src/menu/trigger/MenuTrigger.tsx +5 -2
  335. package/src/meter/indicator/MeterIndicator.tsx +3 -4
  336. package/src/meter/label/MeterLabel.tsx +3 -4
  337. package/src/meter/root/MeterRoot.tsx +29 -4
  338. package/src/meter/root/MeterRootContext.ts +5 -0
  339. package/src/meter/track/MeterTrack.tsx +3 -4
  340. package/src/meter/value/MeterValue.tsx +3 -4
  341. package/src/number-field/input/NumberFieldInput.tsx +11 -2
  342. package/src/number-field/root/NumberFieldRoot.tsx +4 -2
  343. package/src/otp-field/input/OTPFieldInput.tsx +4 -0
  344. package/src/otp-field/root/OTPFieldRoot.tsx +22 -2
  345. package/src/popover/popup/PopoverPopup.tsx +20 -1
  346. package/src/popover/positioner/PopoverPositioner.tsx +14 -0
  347. package/src/popover/store/PopoverStore.ts +13 -0
  348. package/src/popover/trigger/PopoverTrigger.tsx +5 -2
  349. package/src/progress/root/ProgressRoot.tsx +25 -1
  350. package/src/radio-group/RadioGroup.tsx +5 -2
  351. package/src/select/backdrop/SelectBackdrop.tsx +4 -0
  352. package/src/select/index.parts.ts +1 -0
  353. package/src/select/popup/SelectPopup.tsx +18 -1
  354. package/src/select/positioner/SelectPositioner.tsx +18 -1
  355. package/src/select/root/SelectRoot.tsx +109 -9
  356. package/src/select/store/SelectHandle.ts +68 -0
  357. package/src/select/store/SelectStore.ts +44 -1
  358. package/src/select/trigger/SelectTrigger.tsx +81 -8
  359. package/src/slider/root/SliderRoot.tsx +11 -1
  360. package/src/slider/thumb/SliderThumb.tsx +10 -1
  361. package/src/switch/root/SwitchRoot.tsx +5 -2
  362. package/src/tabs/tab/TabsTab.tsx +2 -10
  363. package/src/tooltip/popup/TooltipPopup.tsx +20 -1
  364. package/src/tooltip/positioner/TooltipPositioner.tsx +14 -0
  365. package/src/tooltip/store/TooltipStore.ts +20 -1
  366. package/src/tooltip/trigger/TooltipTrigger.tsx +5 -2
  367. package/lib/combobox/root/useComboboxRoot.d.ts +0 -29
  368. package/lib/combobox/root/useComboboxRoot.d.ts.map +0 -1
  369. package/lib/combobox/root/useComboboxRoot.js +0 -168
  370. package/lib/combobox/root/useComboboxRoot.js.map +0 -1
  371. package/lib/utils/fastObjectShallowCompare.d.ts +0 -2
  372. package/lib/utils/fastObjectShallowCompare.d.ts.map +0 -1
  373. package/lib/utils/fastObjectShallowCompare.js +0 -29
  374. package/lib/utils/fastObjectShallowCompare.js.map +0 -1
  375. package/lib/utils/mergeObjects.d.ts +0 -2
  376. package/lib/utils/mergeObjects.d.ts.map +0 -1
  377. package/lib/utils/mergeObjects.js +0 -16
  378. package/lib/utils/mergeObjects.js.map +0 -1
  379. package/src/combobox/root/useComboboxRoot.ts +0 -190
  380. package/src/utils/fastObjectShallowCompare.ts +0 -30
  381. package/src/utils/mergeObjects.ts +0 -15
@@ -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`, it anchors to a screen point rather than a trigger
52
- * element, so there is no collision-aware floating-ui pass — the popup is placed
53
- * directly at the press coordinates.
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 state = { open, side: 'bottom', align: 'start' };
62
- const contextValue = React.useMemo(() => ({ side: 'bottom', align: 'start', arrowRef: NO_ARROW, arrowStyles: {} }), []);
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
- { style: { position: 'absolute', left: anchor.x, top: anchor.y } },
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBb,sDA8BC;;AAlDD,6CAA+B;AAC/B,+CAAoC;AACpC,qEAAqE;AACrE,2EAA2E;AAC3E,uFAAoF;AACpF,2EAA2E;AAC3E,wEAAqE;AAIrE,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAEnC;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,cAA2C;IAC/E,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAE1E,IAAA,wCAAoB,GAAE,CAAC;IACvB,MAAM,KAAK,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACnC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAE/C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,KAAK,GAA+B,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAEnF,MAAM,YAAY,GAA0B,KAAK,CAAC,OAAO,CACvD,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC/E,EAAE,CACH,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,mCAAgB,EAAC,mBAAI,EAAE,cAAc,EAAE;QACrD,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAmB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE;YAC3E,YAAY;SACb;KACF,CAAC,CAAC;IAEH,OAAO,CACL,uBAAC,6CAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAChD,OAAO,GACuB,CAClC,CAAC;AACJ,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;CAC1C"}
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,8FAqBlE;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;CACf;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"}
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 state = { open };
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,wCAqBC;AAjCD,+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;IAEpC,MAAM,KAAK,GAAwB,EAAE,IAAI,EAAE,CAAC;IAE5C,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"}
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;CACpC;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"}
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;IAEhE,MAAM,KAAK,GAAqB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAE3D,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"}
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;;;;;;;;;;;;;EA0BlC"}
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,kDA0BC;AAlCD,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;IAEpC,OAAO;QACL,KAAK;QACL,IAAI;QACJ,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"}
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;AAK/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpD,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,qBAsDhC"}
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
- 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: typeof children === 'function' ? children(payload) : children }) }));
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBb,kDAwDC;;AAzED,6CAA+B;AAC/B,+DAA4D;AAC5D,6EAA0E;AAC1E,8EAA2E;AAC3E,sDAAmD;AAEnD,2DAAwD;AACxD,uEAAoE;AAIpE;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,KAA+B,EAC/B,OAAuB,QAAQ;IAE/B,MAAM,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,GAAG,KAAK,EACnB,gBAAgB,GAAG,IAAI,EACvB,uBAAuB,EAAE,2BAA2B,GAAG,KAAK,EAC5D,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,IAAI,KAAK,cAAc,CAAC;IAC9C,MAAM,uBAAuB,GAAG,aAAa,IAAI,2BAA2B,CAAC;IAC7E,MAAM,IAAI,GAA6B,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEhF,MAAM,KAAK,GAAG,IAAA,+BAAc,EAC1B,GAAG,EAAE,CACH,IAAI,yBAAW,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,IAAI;QACd,uBAAuB;QACvB,IAAI;QACJ,SAAS,EAAE,gBAAgB;QAC3B,aAAa,EAAE,SAAS;KACzB,CAAC,CACL,CAAC,OAAO,CAAC;IAEV,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,iBAAiB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACpD,KAAK,CAAC,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvD,KAAK,CAAC,eAAe,CAAC,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzD,IAAA,uCAAkB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAElD,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,yCAAmB,EAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAY,CAAC;IAErD,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAC1C,GAAG,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAC5B,CAAC,gBAAgB,CAAC,CACnB,CAAC;IAEF,OAAO,CACL,uBAAC,qCAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACtC,uBAAC,iDAAuB,CAAC,QAAQ,IAAC,KAAK,EAAE,sBAAsB,YAC5D,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAC7B,GACR,CAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useRenderDialogRoot.js","sourceRoot":"","sources":["../../../src/dialog/root/useRenderDialogRoot.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBb,kDAyFC;;AA5GD,6CAA+B;AAC/B,+DAA4D;AAC5D,6EAA0E;AAC1E,8EAA2E;AAC3E,qEAAkE;AAClE,sDAAmD;AAEnD,iEAAuF;AACvF,2DAAwD;AACxD,uEAAoE;AAIpE;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,KAA+B,EAC/B,OAAuB,QAAQ;IAE/B,MAAM,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,GAAG,KAAK,EACnB,gBAAgB,GAAG,IAAI,EACvB,uBAAuB,EAAE,2BAA2B,GAAG,KAAK,EAC5D,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,IAAI,KAAK,cAAc,CAAC;IAC9C,MAAM,uBAAuB,GAAG,aAAa,IAAI,2BAA2B,CAAC;IAC7E,MAAM,IAAI,GAA6B,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEhF,MAAM,MAAM,GAAG,IAAA,8CAAuB,GAAE,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC;IAEpC,MAAM,KAAK,GAAG,IAAA,+BAAc,EAC1B,GAAG,EAAE,CACH,IAAI,yBAAW,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,IAAI;QACd,uBAAuB;QACvB,IAAI;QACJ,SAAS,EAAE,gBAAgB;QAC3B,aAAa,EAAE,SAAS;QACxB,MAAM;KACP,CAAC,CACL,CAAC,OAAO,CAAC;IAEV,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,iBAAiB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACpD,KAAK,CAAC,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvD,KAAK,CAAC,eAAe,CAAC,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjE,IAAA,uCAAkB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAElD,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,yCAAmB,EAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAE5E,4EAA4E;IAC5E,yEAAyE;IACzE,oBAAoB;IACpB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEhC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3B,MAAM,kBAAkB,GAAG,IAAA,qCAAiB,EAAC,CAAC,IAAa,EAAE,EAAE;QAC7D,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,4EAA4E;QAC5E,mCAAmC;QACnC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAY,CAAC;IAErD,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAC1C,GAAG,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAC5B,CAAC,gBAAgB,CAAC,CACnB,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CACvC,GAAG,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAC9B,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,OAAO,CACL,uBAAC,qCAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACtC,uBAAC,iDAAuB,CAAC,QAAQ,IAAC,KAAK,EAAE,sBAAsB,YAC7D,uBAAC,2CAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,mBAAmB,YACtD,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAChC,GACC,GACR,CAC9B,CAAC;AACJ,CAAC"}
@@ -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): nested dialog counting, openMethod interaction typing,
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;CAC1C,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;;;;;;;;CAQd,CAAC;AAEF;;;;;;;;;;;GAWG;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;IAmBlC,OAAO,GAAI,UAAU,OAAO,EAAE,cAAc,sBAAsB,CAAC,MAAM,CAAC,UAY/E;CACH"}
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): nested dialog counting, openMethod interaction typing,
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;AA+CrE,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;CACnD,CAAC;AAEF;;;;;;;;;;;GAWG;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,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;IAdF,CAAC;CAeF;AArCD,kCAqCC"}
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;AAC9D,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
+ {"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,mCAA8D;AAArD,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"}
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,qBAqI5D;AAgBD,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;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"}
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"}
@@ -73,7 +73,7 @@ function DrawerPopup(componentProps) {
73
73
  const { testID } = elementProps;
74
74
  const { swipeDirection, onPopupHeightChange } = (0, DrawerRootContext_1.useDrawerRootContext)();
75
75
  const { activeSnapPoint, activeSnapPointOffset, hasSnapPoints, resolvedSnapPoints, setActiveSnapPoint, snapToSequentialPoints, } = (0, useDrawerSnapPoints_1.useDrawerSnapPoints)();
76
- const { store, open, transitionStatus, props } = (0, useDialogPopupProps_1.useDialogPopupProps)();
76
+ const { store, open, transitionStatus, nested, nestedDialogOpen, props } = (0, useDialogPopupProps_1.useDialogPopupProps)();
77
77
  const [swiping, setSwiping] = React.useState(false);
78
78
  const [swipeMovement, setSwipeMovement] = React.useState(0);
79
79
  // The gesture callbacks read the movement they just published, which React has
@@ -148,6 +148,8 @@ function DrawerPopup(componentProps) {
148
148
  const state = {
149
149
  open,
150
150
  transitionStatus,
151
+ nested,
152
+ nestedDialogOpen,
151
153
  swiping,
152
154
  swipeMovement,
153
155
  swipeDirection,
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerPopup.js","sourceRoot":"","sources":["../../../src/drawer/popup/DrawerPopup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DrawerPopup.js","sourceRoot":"","sources":["../../../src/drawer/popup/DrawerPopup.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { useFilter, type UseFilterParameters, type UseFilterReturnValue, } from './useFilter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC"}