reka-ui 2.9.9 → 2.10.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 (470) hide show
  1. package/dist/AlertDialog/AlertDialogContent.cjs +2 -1
  2. package/dist/AlertDialog/AlertDialogContent.cjs.map +1 -1
  3. package/dist/AlertDialog/AlertDialogContent.js +2 -1
  4. package/dist/AlertDialog/AlertDialogContent.js.map +1 -1
  5. package/dist/AlertDialog/AlertDialogRoot.cjs +4 -0
  6. package/dist/AlertDialog/AlertDialogRoot.cjs.map +1 -1
  7. package/dist/AlertDialog/AlertDialogRoot.js +4 -0
  8. package/dist/AlertDialog/AlertDialogRoot.js.map +1 -1
  9. package/dist/Checkbox/CheckboxRoot.cjs +27 -18
  10. package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
  11. package/dist/Checkbox/CheckboxRoot.js +28 -19
  12. package/dist/Checkbox/CheckboxRoot.js.map +1 -1
  13. package/dist/Collection/Collection.cjs +2 -1
  14. package/dist/Collection/Collection.cjs.map +1 -1
  15. package/dist/Collection/Collection.js +2 -1
  16. package/dist/Collection/Collection.js.map +1 -1
  17. package/dist/Combobox/ComboboxContent.cjs +8 -0
  18. package/dist/Combobox/ComboboxContent.cjs.map +1 -1
  19. package/dist/Combobox/ComboboxContent.js +8 -0
  20. package/dist/Combobox/ComboboxContent.js.map +1 -1
  21. package/dist/Combobox/ComboboxContentImpl.cjs +18 -2
  22. package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
  23. package/dist/Combobox/ComboboxContentImpl.js +18 -2
  24. package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
  25. package/dist/Combobox/ComboboxItem.cjs +11 -2
  26. package/dist/Combobox/ComboboxItem.cjs.map +1 -1
  27. package/dist/Combobox/ComboboxItem.js +12 -3
  28. package/dist/Combobox/ComboboxItem.js.map +1 -1
  29. package/dist/ConfigProvider/ConfigProvider.cjs +7 -1
  30. package/dist/ConfigProvider/ConfigProvider.cjs.map +1 -1
  31. package/dist/ConfigProvider/ConfigProvider.js +7 -1
  32. package/dist/ConfigProvider/ConfigProvider.js.map +1 -1
  33. package/dist/ContextMenu/ContextMenuContent.cjs +4 -0
  34. package/dist/ContextMenu/ContextMenuContent.cjs.map +1 -1
  35. package/dist/ContextMenu/ContextMenuContent.js +4 -0
  36. package/dist/ContextMenu/ContextMenuContent.js.map +1 -1
  37. package/dist/ContextMenu/ContextMenuSubContent.cjs +4 -0
  38. package/dist/ContextMenu/ContextMenuSubContent.cjs.map +1 -1
  39. package/dist/ContextMenu/ContextMenuSubContent.js +4 -0
  40. package/dist/ContextMenu/ContextMenuSubContent.js.map +1 -1
  41. package/dist/DateField/DateFieldInput.cjs +3 -1
  42. package/dist/DateField/DateFieldInput.cjs.map +1 -1
  43. package/dist/DateField/DateFieldInput.js +3 -1
  44. package/dist/DateField/DateFieldInput.js.map +1 -1
  45. package/dist/DateField/DateFieldRoot.cjs +7 -1
  46. package/dist/DateField/DateFieldRoot.cjs.map +1 -1
  47. package/dist/DateField/DateFieldRoot.js +7 -1
  48. package/dist/DateField/DateFieldRoot.js.map +1 -1
  49. package/dist/DatePicker/DatePickerContent.cjs +8 -0
  50. package/dist/DatePicker/DatePickerContent.cjs.map +1 -1
  51. package/dist/DatePicker/DatePickerContent.js +8 -0
  52. package/dist/DatePicker/DatePickerContent.js.map +1 -1
  53. package/dist/DatePicker/DatePickerRoot.cjs +4 -0
  54. package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
  55. package/dist/DatePicker/DatePickerRoot.js +4 -0
  56. package/dist/DatePicker/DatePickerRoot.js.map +1 -1
  57. package/dist/DateRangePicker/DateRangePickerContent.cjs +8 -0
  58. package/dist/DateRangePicker/DateRangePickerContent.cjs.map +1 -1
  59. package/dist/DateRangePicker/DateRangePickerContent.js +8 -0
  60. package/dist/DateRangePicker/DateRangePickerContent.js.map +1 -1
  61. package/dist/Dialog/DialogContent.cjs +16 -10
  62. package/dist/Dialog/DialogContent.cjs.map +1 -1
  63. package/dist/Dialog/DialogContent.js +17 -11
  64. package/dist/Dialog/DialogContent.js.map +1 -1
  65. package/dist/Dialog/DialogContentImpl.cjs +8 -1
  66. package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
  67. package/dist/Dialog/DialogContentImpl.js +8 -1
  68. package/dist/Dialog/DialogContentImpl.js.map +1 -1
  69. package/dist/Dialog/DialogContentModal.cjs +23 -5
  70. package/dist/Dialog/DialogContentModal.cjs.map +1 -1
  71. package/dist/Dialog/DialogContentModal.js +24 -6
  72. package/dist/Dialog/DialogContentModal.js.map +1 -1
  73. package/dist/Dialog/DialogContentNonModal.cjs +18 -2
  74. package/dist/Dialog/DialogContentNonModal.cjs.map +1 -1
  75. package/dist/Dialog/DialogContentNonModal.js +19 -3
  76. package/dist/Dialog/DialogContentNonModal.js.map +1 -1
  77. package/dist/Dialog/DialogOverlay.cjs +12 -6
  78. package/dist/Dialog/DialogOverlay.cjs.map +1 -1
  79. package/dist/Dialog/DialogOverlay.js +13 -7
  80. package/dist/Dialog/DialogOverlay.js.map +1 -1
  81. package/dist/Dialog/DialogOverlayImpl.cjs +8 -1
  82. package/dist/Dialog/DialogOverlayImpl.cjs.map +1 -1
  83. package/dist/Dialog/DialogOverlayImpl.js +9 -2
  84. package/dist/Dialog/DialogOverlayImpl.js.map +1 -1
  85. package/dist/Dialog/DialogRoot.cjs +7 -1
  86. package/dist/Dialog/DialogRoot.cjs.map +1 -1
  87. package/dist/Dialog/DialogRoot.js +7 -1
  88. package/dist/Dialog/DialogRoot.js.map +1 -1
  89. package/dist/DismissableLayer/DismissableLayer.cjs +27 -10
  90. package/dist/DismissableLayer/DismissableLayer.cjs.map +1 -1
  91. package/dist/DismissableLayer/DismissableLayer.js +28 -11
  92. package/dist/DismissableLayer/DismissableLayer.js.map +1 -1
  93. package/dist/Drawer/DrawerClose.cjs +48 -0
  94. package/dist/Drawer/DrawerClose.cjs.map +1 -0
  95. package/dist/Drawer/DrawerClose.js +42 -0
  96. package/dist/Drawer/DrawerClose.js.map +1 -0
  97. package/dist/Drawer/DrawerContent.cjs +139 -0
  98. package/dist/Drawer/DrawerContent.cjs.map +1 -0
  99. package/dist/Drawer/DrawerContent.js +133 -0
  100. package/dist/Drawer/DrawerContent.js.map +1 -0
  101. package/dist/Drawer/DrawerContentImpl.cjs +298 -0
  102. package/dist/Drawer/DrawerContentImpl.cjs.map +1 -0
  103. package/dist/Drawer/DrawerContentImpl.js +292 -0
  104. package/dist/Drawer/DrawerContentImpl.js.map +1 -0
  105. package/dist/Drawer/DrawerDescription.cjs +45 -0
  106. package/dist/Drawer/DrawerDescription.cjs.map +1 -0
  107. package/dist/Drawer/DrawerDescription.js +39 -0
  108. package/dist/Drawer/DrawerDescription.js.map +1 -0
  109. package/dist/Drawer/DrawerHandle.cjs +48 -0
  110. package/dist/Drawer/DrawerHandle.cjs.map +1 -0
  111. package/dist/Drawer/DrawerHandle.js +42 -0
  112. package/dist/Drawer/DrawerHandle.js.map +1 -0
  113. package/dist/Drawer/DrawerIndent.cjs +78 -0
  114. package/dist/Drawer/DrawerIndent.cjs.map +1 -0
  115. package/dist/Drawer/DrawerIndent.js +72 -0
  116. package/dist/Drawer/DrawerIndent.js.map +1 -0
  117. package/dist/Drawer/DrawerIndentBackground.cjs +49 -0
  118. package/dist/Drawer/DrawerIndentBackground.cjs.map +1 -0
  119. package/dist/Drawer/DrawerIndentBackground.js +43 -0
  120. package/dist/Drawer/DrawerIndentBackground.js.map +1 -0
  121. package/dist/Drawer/DrawerOverlay.cjs +66 -0
  122. package/dist/Drawer/DrawerOverlay.cjs.map +1 -0
  123. package/dist/Drawer/DrawerOverlay.js +60 -0
  124. package/dist/Drawer/DrawerOverlay.js.map +1 -0
  125. package/dist/Drawer/DrawerOverlayImpl.cjs +69 -0
  126. package/dist/Drawer/DrawerOverlayImpl.cjs.map +1 -0
  127. package/dist/Drawer/DrawerOverlayImpl.js +63 -0
  128. package/dist/Drawer/DrawerOverlayImpl.js.map +1 -0
  129. package/dist/Drawer/DrawerPortal.cjs +47 -0
  130. package/dist/Drawer/DrawerPortal.cjs.map +1 -0
  131. package/dist/Drawer/DrawerPortal.js +41 -0
  132. package/dist/Drawer/DrawerPortal.js.map +1 -0
  133. package/dist/Drawer/DrawerProvider.cjs +80 -0
  134. package/dist/Drawer/DrawerProvider.cjs.map +1 -0
  135. package/dist/Drawer/DrawerProvider.js +68 -0
  136. package/dist/Drawer/DrawerProvider.js.map +1 -0
  137. package/dist/Drawer/DrawerRoot.cjs +197 -0
  138. package/dist/Drawer/DrawerRoot.cjs.map +1 -0
  139. package/dist/Drawer/DrawerRoot.js +185 -0
  140. package/dist/Drawer/DrawerRoot.js.map +1 -0
  141. package/dist/Drawer/DrawerSwipeArea.cjs +87 -0
  142. package/dist/Drawer/DrawerSwipeArea.cjs.map +1 -0
  143. package/dist/Drawer/DrawerSwipeArea.js +81 -0
  144. package/dist/Drawer/DrawerSwipeArea.js.map +1 -0
  145. package/dist/Drawer/DrawerTitle.cjs +45 -0
  146. package/dist/Drawer/DrawerTitle.cjs.map +1 -0
  147. package/dist/Drawer/DrawerTitle.js +39 -0
  148. package/dist/Drawer/DrawerTitle.js.map +1 -0
  149. package/dist/Drawer/DrawerTrigger.cjs +64 -0
  150. package/dist/Drawer/DrawerTrigger.cjs.map +1 -0
  151. package/dist/Drawer/DrawerTrigger.js +58 -0
  152. package/dist/Drawer/DrawerTrigger.js.map +1 -0
  153. package/dist/Drawer/DrawerViewport.cjs +49 -0
  154. package/dist/Drawer/DrawerViewport.cjs.map +1 -0
  155. package/dist/Drawer/DrawerViewport.js +43 -0
  156. package/dist/Drawer/DrawerViewport.js.map +1 -0
  157. package/dist/Drawer/utils.cjs +185 -0
  158. package/dist/Drawer/utils.cjs.map +1 -0
  159. package/dist/Drawer/utils.js +149 -0
  160. package/dist/Drawer/utils.js.map +1 -0
  161. package/dist/DropdownMenu/DropdownMenuContent.cjs +4 -0
  162. package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
  163. package/dist/DropdownMenu/DropdownMenuContent.js +4 -0
  164. package/dist/DropdownMenu/DropdownMenuContent.js.map +1 -1
  165. package/dist/DropdownMenu/DropdownMenuSubContent.cjs +4 -0
  166. package/dist/DropdownMenu/DropdownMenuSubContent.cjs.map +1 -1
  167. package/dist/DropdownMenu/DropdownMenuSubContent.js +4 -0
  168. package/dist/DropdownMenu/DropdownMenuSubContent.js.map +1 -1
  169. package/dist/FocusScope/FocusScope.cjs +31 -11
  170. package/dist/FocusScope/FocusScope.cjs.map +1 -1
  171. package/dist/FocusScope/FocusScope.js +32 -12
  172. package/dist/FocusScope/FocusScope.js.map +1 -1
  173. package/dist/HoverCard/HoverCardContent.cjs +8 -0
  174. package/dist/HoverCard/HoverCardContent.cjs.map +1 -1
  175. package/dist/HoverCard/HoverCardContent.js +8 -0
  176. package/dist/HoverCard/HoverCardContent.js.map +1 -1
  177. package/dist/HoverCard/HoverCardContentImpl.cjs +8 -0
  178. package/dist/HoverCard/HoverCardContentImpl.cjs.map +1 -1
  179. package/dist/HoverCard/HoverCardContentImpl.js +8 -0
  180. package/dist/HoverCard/HoverCardContentImpl.js.map +1 -1
  181. package/dist/HoverCard/HoverCardRoot.cjs +9 -2
  182. package/dist/HoverCard/HoverCardRoot.cjs.map +1 -1
  183. package/dist/HoverCard/HoverCardRoot.js +9 -2
  184. package/dist/HoverCard/HoverCardRoot.js.map +1 -1
  185. package/dist/HoverCard/HoverCardTrigger.cjs +6 -0
  186. package/dist/HoverCard/HoverCardTrigger.cjs.map +1 -1
  187. package/dist/HoverCard/HoverCardTrigger.js +6 -0
  188. package/dist/HoverCard/HoverCardTrigger.js.map +1 -1
  189. package/dist/Listbox/ListboxRoot.cjs +4 -1
  190. package/dist/Listbox/ListboxRoot.cjs.map +1 -1
  191. package/dist/Listbox/ListboxRoot.js +4 -1
  192. package/dist/Listbox/ListboxRoot.js.map +1 -1
  193. package/dist/Listbox/ListboxVirtualizer.cjs +7 -3
  194. package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
  195. package/dist/Listbox/ListboxVirtualizer.js +7 -3
  196. package/dist/Listbox/ListboxVirtualizer.js.map +1 -1
  197. package/dist/Menu/MenuContent.cjs +4 -0
  198. package/dist/Menu/MenuContent.cjs.map +1 -1
  199. package/dist/Menu/MenuContent.js +4 -0
  200. package/dist/Menu/MenuContent.js.map +1 -1
  201. package/dist/Menu/MenuContentImpl.cjs +4 -0
  202. package/dist/Menu/MenuContentImpl.cjs.map +1 -1
  203. package/dist/Menu/MenuContentImpl.js +4 -0
  204. package/dist/Menu/MenuContentImpl.js.map +1 -1
  205. package/dist/Menu/MenuRootContentModal.cjs +4 -0
  206. package/dist/Menu/MenuRootContentModal.cjs.map +1 -1
  207. package/dist/Menu/MenuRootContentModal.js +4 -0
  208. package/dist/Menu/MenuRootContentModal.js.map +1 -1
  209. package/dist/Menu/MenuRootContentNonModal.cjs +4 -0
  210. package/dist/Menu/MenuRootContentNonModal.cjs.map +1 -1
  211. package/dist/Menu/MenuRootContentNonModal.js +4 -0
  212. package/dist/Menu/MenuRootContentNonModal.js.map +1 -1
  213. package/dist/Menu/MenuSubContent.cjs +4 -0
  214. package/dist/Menu/MenuSubContent.cjs.map +1 -1
  215. package/dist/Menu/MenuSubContent.js +4 -0
  216. package/dist/Menu/MenuSubContent.js.map +1 -1
  217. package/dist/Menubar/MenubarContent.cjs +4 -0
  218. package/dist/Menubar/MenubarContent.cjs.map +1 -1
  219. package/dist/Menubar/MenubarContent.js +4 -0
  220. package/dist/Menubar/MenubarContent.js.map +1 -1
  221. package/dist/Menubar/MenubarSubContent.cjs +4 -0
  222. package/dist/Menubar/MenubarSubContent.cjs.map +1 -1
  223. package/dist/Menubar/MenubarSubContent.js +4 -0
  224. package/dist/Menubar/MenubarSubContent.js.map +1 -1
  225. package/dist/Popover/PopoverContent.cjs +8 -0
  226. package/dist/Popover/PopoverContent.cjs.map +1 -1
  227. package/dist/Popover/PopoverContent.js +8 -0
  228. package/dist/Popover/PopoverContent.js.map +1 -1
  229. package/dist/Popover/PopoverContentImpl.cjs +8 -0
  230. package/dist/Popover/PopoverContentImpl.cjs.map +1 -1
  231. package/dist/Popover/PopoverContentImpl.js +8 -0
  232. package/dist/Popover/PopoverContentImpl.js.map +1 -1
  233. package/dist/Popover/PopoverContentModal.cjs +8 -0
  234. package/dist/Popover/PopoverContentModal.cjs.map +1 -1
  235. package/dist/Popover/PopoverContentModal.js +8 -0
  236. package/dist/Popover/PopoverContentModal.js.map +1 -1
  237. package/dist/Popover/PopoverContentNonModal.cjs +8 -0
  238. package/dist/Popover/PopoverContentNonModal.cjs.map +1 -1
  239. package/dist/Popover/PopoverContentNonModal.js +8 -0
  240. package/dist/Popover/PopoverContentNonModal.js.map +1 -1
  241. package/dist/Popper/PopperContent.cjs +49 -6
  242. package/dist/Popper/PopperContent.cjs.map +1 -1
  243. package/dist/Popper/PopperContent.js +50 -7
  244. package/dist/Popper/PopperContent.js.map +1 -1
  245. package/dist/Popper/utils.cjs +10 -5
  246. package/dist/Popper/utils.cjs.map +1 -1
  247. package/dist/Popper/utils.js +10 -5
  248. package/dist/Popper/utils.js.map +1 -1
  249. package/dist/RadioGroup/Radio.cjs +27 -22
  250. package/dist/RadioGroup/Radio.cjs.map +1 -1
  251. package/dist/RadioGroup/Radio.js +28 -23
  252. package/dist/RadioGroup/Radio.js.map +1 -1
  253. package/dist/Rating/RatingItem.cjs +66 -0
  254. package/dist/Rating/RatingItem.cjs.map +1 -0
  255. package/dist/Rating/RatingItem.js +54 -0
  256. package/dist/Rating/RatingItem.js.map +1 -0
  257. package/dist/Rating/RatingItemIndicator.cjs +89 -0
  258. package/dist/Rating/RatingItemIndicator.cjs.map +1 -0
  259. package/dist/Rating/RatingItemIndicator.js +83 -0
  260. package/dist/Rating/RatingItemIndicator.js.map +1 -0
  261. package/dist/Rating/RatingRoot.cjs +136 -0
  262. package/dist/Rating/RatingRoot.cjs.map +1 -0
  263. package/dist/Rating/RatingRoot.js +124 -0
  264. package/dist/Rating/RatingRoot.js.map +1 -0
  265. package/dist/RovingFocus/RovingFocusItem.cjs +5 -0
  266. package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
  267. package/dist/RovingFocus/RovingFocusItem.js +6 -1
  268. package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
  269. package/dist/Select/SelectContent.cjs +8 -0
  270. package/dist/Select/SelectContent.cjs.map +1 -1
  271. package/dist/Select/SelectContent.js +8 -0
  272. package/dist/Select/SelectContent.js.map +1 -1
  273. package/dist/Select/SelectContentImpl.cjs +8 -0
  274. package/dist/Select/SelectContentImpl.cjs.map +1 -1
  275. package/dist/Select/SelectContentImpl.js +8 -0
  276. package/dist/Select/SelectContentImpl.js.map +1 -1
  277. package/dist/Select/SelectPopperPosition.cjs +8 -0
  278. package/dist/Select/SelectPopperPosition.cjs.map +1 -1
  279. package/dist/Select/SelectPopperPosition.js +8 -0
  280. package/dist/Select/SelectPopperPosition.js.map +1 -1
  281. package/dist/Select/SelectRoot.cjs +10 -5
  282. package/dist/Select/SelectRoot.cjs.map +1 -1
  283. package/dist/Select/SelectRoot.js +10 -5
  284. package/dist/Select/SelectRoot.js.map +1 -1
  285. package/dist/Select/SelectTrigger.cjs +25 -14
  286. package/dist/Select/SelectTrigger.cjs.map +1 -1
  287. package/dist/Select/SelectTrigger.js +25 -14
  288. package/dist/Select/SelectTrigger.js.map +1 -1
  289. package/dist/Switch/SwitchRoot.cjs +25 -18
  290. package/dist/Switch/SwitchRoot.cjs.map +1 -1
  291. package/dist/Switch/SwitchRoot.js +26 -19
  292. package/dist/Switch/SwitchRoot.js.map +1 -1
  293. package/dist/Tabs/TabsIndicator.cjs +4 -0
  294. package/dist/Tabs/TabsIndicator.cjs.map +1 -1
  295. package/dist/Tabs/TabsIndicator.js +4 -0
  296. package/dist/Tabs/TabsIndicator.js.map +1 -1
  297. package/dist/Teleport/Teleport.cjs +6 -3
  298. package/dist/Teleport/Teleport.cjs.map +1 -1
  299. package/dist/Teleport/Teleport.js +7 -4
  300. package/dist/Teleport/Teleport.js.map +1 -1
  301. package/dist/Toggle/Toggle.cjs +21 -16
  302. package/dist/Toggle/Toggle.cjs.map +1 -1
  303. package/dist/Toggle/Toggle.js +22 -17
  304. package/dist/Toggle/Toggle.js.map +1 -1
  305. package/dist/Toolbar/ToolbarToggleItem.cjs +5 -2
  306. package/dist/Toolbar/ToolbarToggleItem.cjs.map +1 -1
  307. package/dist/Toolbar/ToolbarToggleItem.js +5 -2
  308. package/dist/Toolbar/ToolbarToggleItem.js.map +1 -1
  309. package/dist/Tree/TreeItem.cjs +18 -2
  310. package/dist/Tree/TreeItem.cjs.map +1 -1
  311. package/dist/Tree/TreeItem.js +18 -2
  312. package/dist/Tree/TreeItem.js.map +1 -1
  313. package/dist/Tree/TreeVirtualizer.cjs +2 -1
  314. package/dist/Tree/TreeVirtualizer.cjs.map +1 -1
  315. package/dist/Tree/TreeVirtualizer.js +2 -1
  316. package/dist/Tree/TreeVirtualizer.js.map +1 -1
  317. package/dist/VisuallyHidden/VisuallyHidden.cjs +1 -1
  318. package/dist/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
  319. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  320. package/dist/VisuallyHidden/VisuallyHidden.js.map +1 -1
  321. package/dist/composables/useDrawerSnapPoints.cjs +130 -0
  322. package/dist/composables/useDrawerSnapPoints.cjs.map +1 -0
  323. package/dist/composables/useDrawerSnapPoints.js +124 -0
  324. package/dist/composables/useDrawerSnapPoints.js.map +1 -0
  325. package/dist/composables/useSwipeDismiss.cjs +397 -0
  326. package/dist/composables/useSwipeDismiss.cjs.map +1 -0
  327. package/dist/composables/useSwipeDismiss.js +391 -0
  328. package/dist/composables/useSwipeDismiss.js.map +1 -0
  329. package/dist/constant/components.cjs +20 -0
  330. package/dist/constant/components.cjs.map +1 -1
  331. package/dist/constant/components.js +20 -0
  332. package/dist/constant/components.js.map +1 -1
  333. package/dist/constant.d.cts +2 -0
  334. package/dist/constant.d.cts.map +1 -1
  335. package/dist/constant.d.ts +2 -0
  336. package/dist/constant.d.ts.map +1 -1
  337. package/dist/date/utils.cjs +1 -1
  338. package/dist/date/utils.cjs.map +1 -1
  339. package/dist/date/utils.js +1 -1
  340. package/dist/date/utils.js.map +1 -1
  341. package/dist/index.cjs +45 -1
  342. package/dist/index.d.cts +2 -2
  343. package/dist/index.d.ts +2 -2
  344. package/dist/index.js +24 -2
  345. package/dist/index2.d.cts.map +1 -1
  346. package/dist/index3.d.cts +68 -29
  347. package/dist/index3.d.cts.map +1 -1
  348. package/dist/index3.d.ts +68 -29
  349. package/dist/index3.d.ts.map +1 -1
  350. package/dist/index4.d.cts +1648 -1190
  351. package/dist/index4.d.cts.map +1 -1
  352. package/dist/index4.d.ts +1660 -1202
  353. package/dist/index4.d.ts.map +1 -1
  354. package/dist/internal.cjs +1 -1
  355. package/dist/internal.d.cts +3 -3
  356. package/dist/internal.d.ts +3 -3
  357. package/dist/internal.js +1 -1
  358. package/dist/namespaced/index.cjs +22 -0
  359. package/dist/namespaced/index.d.cts +22 -2
  360. package/dist/namespaced/index.d.mts +22 -2
  361. package/dist/namespaced/index.mjs +22 -2
  362. package/dist/nuxt/index.d.cts +2 -1
  363. package/dist/nuxt/index.d.mts +2 -1
  364. package/dist/resolver/index.d.cts +2 -1
  365. package/dist/resolver/index.d.mts +2 -1
  366. package/dist/shared/useEmitAsProps.cjs +5 -0
  367. package/dist/shared/useEmitAsProps.cjs.map +1 -1
  368. package/dist/shared/useEmitAsProps.js +5 -0
  369. package/dist/shared/useEmitAsProps.js.map +1 -1
  370. package/dist/shared/useForwardPropsEmits.cjs +0 -12
  371. package/dist/shared/useForwardPropsEmits.cjs.map +1 -1
  372. package/dist/shared/useForwardPropsEmits.js +0 -12
  373. package/dist/shared/useForwardPropsEmits.js.map +1 -1
  374. package/dist/shared/useForwardScopeId.cjs +34 -0
  375. package/dist/shared/useForwardScopeId.cjs.map +1 -0
  376. package/dist/shared/useForwardScopeId.js +28 -0
  377. package/dist/shared/useForwardScopeId.js.map +1 -0
  378. package/dist/shared/useId.cjs +7 -8
  379. package/dist/shared/useId.cjs.map +1 -1
  380. package/dist/shared/useId.js +7 -8
  381. package/dist/shared/useId.js.map +1 -1
  382. package/dist/shared/useSize.cjs +6 -2
  383. package/dist/shared/useSize.cjs.map +1 -1
  384. package/dist/shared/useSize.js +7 -3
  385. package/dist/shared/useSize.js.map +1 -1
  386. package/dist/shared.cjs +2 -2
  387. package/dist/shared.d.cts +2 -2
  388. package/dist/shared.d.ts +2 -2
  389. package/dist/shared.js +2 -2
  390. package/dist/utils/style.cjs +1 -1
  391. package/dist/utils/style.cjs.map +1 -1
  392. package/dist/utils/style.js +1 -1
  393. package/dist/utils/style.js.map +1 -1
  394. package/package.json +7 -5
  395. package/src/AlertDialog/AlertDialogContent.vue +6 -1
  396. package/src/Checkbox/CheckboxRoot.vue +28 -16
  397. package/src/Collection/Collection.ts +2 -1
  398. package/src/Combobox/ComboboxContentImpl.vue +20 -4
  399. package/src/Combobox/ComboboxItem.vue +1 -0
  400. package/src/ConfigProvider/ConfigProvider.vue +11 -1
  401. package/src/DateField/DateFieldInput.vue +6 -1
  402. package/src/DateField/DateFieldRoot.vue +6 -1
  403. package/src/Dialog/DialogContent.vue +16 -2
  404. package/src/Dialog/DialogContentImpl.vue +9 -2
  405. package/src/Dialog/DialogContentModal.vue +23 -4
  406. package/src/Dialog/DialogContentNonModal.vue +21 -3
  407. package/src/Dialog/DialogOverlay.vue +4 -0
  408. package/src/Dialog/DialogOverlayImpl.vue +7 -2
  409. package/src/Dialog/DialogRoot.vue +10 -1
  410. package/src/DismissableLayer/DismissableLayer.vue +75 -23
  411. package/src/Drawer/DrawerClose.vue +25 -0
  412. package/src/Drawer/DrawerContent.vue +98 -0
  413. package/src/Drawer/DrawerContentImpl.vue +386 -0
  414. package/src/Drawer/DrawerDescription.vue +24 -0
  415. package/src/Drawer/DrawerHandle.vue +25 -0
  416. package/src/Drawer/DrawerIndent.vue +61 -0
  417. package/src/Drawer/DrawerIndentBackground.vue +26 -0
  418. package/src/Drawer/DrawerOverlay.vue +42 -0
  419. package/src/Drawer/DrawerOverlayImpl.vue +54 -0
  420. package/src/Drawer/DrawerPortal.vue +17 -0
  421. package/src/Drawer/DrawerProvider.vue +87 -0
  422. package/src/Drawer/DrawerRoot.vue +244 -0
  423. package/src/Drawer/DrawerSwipeArea.vue +73 -0
  424. package/src/Drawer/DrawerTitle.vue +24 -0
  425. package/src/Drawer/DrawerTrigger.vue +44 -0
  426. package/src/Drawer/DrawerViewport.vue +34 -0
  427. package/src/Drawer/composables/useDrawerSnapPoints.ts +200 -0
  428. package/src/Drawer/composables/useSwipeDismiss.ts +557 -0
  429. package/src/Drawer/index.ts +74 -0
  430. package/src/Drawer/utils.ts +205 -0
  431. package/src/FocusScope/FocusScope.vue +76 -19
  432. package/src/HoverCard/HoverCardRoot.vue +7 -1
  433. package/src/HoverCard/HoverCardTrigger.vue +11 -0
  434. package/src/Listbox/ListboxRoot.vue +7 -4
  435. package/src/Listbox/ListboxVirtualizer.vue +19 -3
  436. package/src/Popper/PopperContent.vue +45 -4
  437. package/src/Popper/utils.ts +17 -7
  438. package/src/RadioGroup/Radio.vue +22 -14
  439. package/src/Rating/RatingItem.vue +1 -0
  440. package/src/Rating/RatingItemIndicator.vue +3 -2
  441. package/src/Rating/RatingRoot.vue +6 -3
  442. package/src/Rating/index.ts +3 -3
  443. package/src/RovingFocus/RovingFocusItem.vue +12 -1
  444. package/src/Select/SelectRoot.vue +4 -1
  445. package/src/Select/SelectTrigger.vue +49 -33
  446. package/src/Splitter/utils/style.ts +1 -1
  447. package/src/Switch/SwitchRoot.vue +20 -12
  448. package/src/Tabs/TabsIndicator.vue +5 -0
  449. package/src/Teleport/Teleport.vue +8 -4
  450. package/src/Toggle/Toggle.vue +18 -9
  451. package/src/Toolbar/ToolbarToggleItem.vue +4 -1
  452. package/src/Tree/TreeItem.vue +18 -0
  453. package/src/Tree/TreeRoot.vue +2 -2
  454. package/src/Tree/TreeVirtualizer.vue +3 -1
  455. package/src/VisuallyHidden/VisuallyHidden.vue +1 -1
  456. package/src/index.ts +2 -0
  457. package/src/shared/date/utils.ts +1 -1
  458. package/src/shared/index.ts +2 -2
  459. package/src/shared/useEmitAsProps.test-d.ts +77 -0
  460. package/src/shared/useEmitAsProps.ts +83 -4
  461. package/src/shared/useForwardProps.ts +1 -1
  462. package/src/shared/useForwardPropsEmits.ts +17 -2
  463. package/src/shared/useForwardScopeId.ts +26 -0
  464. package/src/shared/useId.ts +14 -6
  465. package/src/shared/useSize.ts +9 -4
  466. package/dist/shared/trap-focus.cjs +0 -35
  467. package/dist/shared/trap-focus.cjs.map +0 -1
  468. package/dist/shared/trap-focus.js +0 -30
  469. package/dist/shared/trap-focus.js.map +0 -1
  470. package/src/shared/trap-focus.ts +0 -43
@@ -0,0 +1,43 @@
1
+ import { useForwardExpose } from "../shared/useForwardExpose.js";
2
+ import { Primitive } from "../Primitive/Primitive.js";
3
+ import { injectDrawerRootContext } from "./DrawerRoot.js";
4
+ import { createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
5
+
6
+ //#region src/Drawer/DrawerViewport.vue?vue&type=script&setup=true&lang.ts
7
+ var DrawerViewport_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
8
+ __name: "DrawerViewport",
9
+ props: {
10
+ asChild: {
11
+ type: Boolean,
12
+ required: false
13
+ },
14
+ as: {
15
+ type: null,
16
+ required: false,
17
+ default: "div"
18
+ }
19
+ },
20
+ setup(__props) {
21
+ const props = __props;
22
+ const { forwardRef } = useForwardExpose();
23
+ const rootContext = injectDrawerRootContext();
24
+ return (_ctx, _cache) => {
25
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
26
+ ref: unref(forwardRef),
27
+ "data-drawer-viewport": "",
28
+ "data-state": unref(rootContext).open.value ? "open" : "closed"
29
+ }), {
30
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
31
+ _: 3
32
+ }, 16, ["data-state"]);
33
+ };
34
+ }
35
+ });
36
+
37
+ //#endregion
38
+ //#region src/Drawer/DrawerViewport.vue
39
+ var DrawerViewport_default = DrawerViewport_vue_vue_type_script_setup_true_lang_default;
40
+
41
+ //#endregion
42
+ export { DrawerViewport_default };
43
+ //# sourceMappingURL=DrawerViewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerViewport.js","names":[],"sources":["../../src/Drawer/DrawerViewport.vue","../../src/Drawer/DrawerViewport.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;EAmBA,MAAM,QAAQ;EACd,MAAM,EAAE,YAAY,GAAG,kBAAiB;EACxC,MAAM,cAAc,yBAAwB;;uBAI1C,YAOY,MAAA,UAAA,EAPZ,WACU,OAAK;IACZ,KAAK,MAAA,WAAU;IAChB,wBAAqB;IACpB,cAAY,MAAA,YAAW,CAAC,KAAK,QAAK,SAAA;;qBAEnC,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -0,0 +1,185 @@
1
+
2
+ //#region src/Drawer/utils.ts
3
+ const DRAWER_CSS_VARS = {
4
+ swipeMovementX: "--drawer-swipe-movement-x",
5
+ swipeMovementY: "--drawer-swipe-movement-y",
6
+ snapPointOffset: "--drawer-snap-point-offset",
7
+ height: "--drawer-height",
8
+ frontmostHeight: "--drawer-frontmost-height",
9
+ swipeProgress: "--drawer-swipe-progress",
10
+ swipeStrength: "--drawer-swipe-strength",
11
+ nestedDrawers: "--nested-drawers"
12
+ };
13
+ function createNestedSwipeProgressStore() {
14
+ let progress = 0;
15
+ const listeners = /* @__PURE__ */ new Set();
16
+ return {
17
+ getSnapshot: () => progress,
18
+ subscribe(listener) {
19
+ listeners.add(listener);
20
+ return () => listeners.delete(listener);
21
+ },
22
+ set(next) {
23
+ if (next !== progress) {
24
+ progress = next;
25
+ listeners.forEach((l) => l());
26
+ }
27
+ }
28
+ };
29
+ }
30
+ function getDisplacement(direction, deltaX, deltaY) {
31
+ switch (direction) {
32
+ case "up": return -deltaY;
33
+ case "down": return deltaY;
34
+ case "left": return -deltaX;
35
+ case "right": return deltaX;
36
+ default: return 0;
37
+ }
38
+ }
39
+ const MIN_SWIPE_RELEASE_VELOCITY = .2;
40
+ const MAX_SWIPE_RELEASE_VELOCITY = 4;
41
+ const MIN_SWIPE_RELEASE_DURATION_MS = 80;
42
+ const MAX_SWIPE_RELEASE_DURATION_MS = 360;
43
+ const MIN_SWIPE_RELEASE_SCALAR = .1;
44
+ const MAX_SWIPE_RELEASE_SCALAR = 1;
45
+ function clamp(v, lo, hi) {
46
+ return Math.max(lo, Math.min(hi, v));
47
+ }
48
+ /**
49
+ * Computes a 0.1 - 1.0 scalar for the `--drawer-swipe-strength` CSS var.
50
+ * Ported from BaseUI `DrawerViewport.tsx:resolveSwipeRelease` (lines 243-337).
51
+ *
52
+ * The scalar is derived from how much further the drawer still has to travel
53
+ * vs how fast the user flung it. A short remaining distance with high velocity
54
+ * → near-zero scalar (fast release). A long distance / low velocity → near-1
55
+ * (default release).
56
+ *
57
+ * Returns `null` when the formula is degenerate (no velocity, no distance, or
58
+ * moving in the wrong direction).
59
+ */
60
+ function computeSwipeReleaseScalar(params) {
61
+ const { direction, size, axisDelta, snapPointOffset, releaseVelocity } = params;
62
+ if (!Number.isFinite(size) || size <= 0) return null;
63
+ let baseOffset = 0;
64
+ if (direction === "down" || direction === "right") baseOffset = snapPointOffset;
65
+ else if (direction === "up" || direction === "left") baseOffset = -snapPointOffset;
66
+ const translation = baseOffset + axisDelta;
67
+ const translationAlongDirection = direction === "left" || direction === "up" ? -translation : translation;
68
+ const remainingDistance = Math.max(0, size - translationAlongDirection);
69
+ if (!Number.isFinite(remainingDistance) || remainingDistance <= 0) return null;
70
+ const directionalVelocity = direction === "left" || direction === "up" ? -releaseVelocity : releaseVelocity;
71
+ if (!Number.isFinite(directionalVelocity) || directionalVelocity <= MIN_SWIPE_RELEASE_VELOCITY) return null;
72
+ const clampedVelocity = clamp(directionalVelocity, MIN_SWIPE_RELEASE_VELOCITY, MAX_SWIPE_RELEASE_VELOCITY);
73
+ const durationMs = clamp(remainingDistance / clampedVelocity, MIN_SWIPE_RELEASE_DURATION_MS, MAX_SWIPE_RELEASE_DURATION_MS);
74
+ if (!Number.isFinite(durationMs)) return null;
75
+ const normalized = (durationMs - MIN_SWIPE_RELEASE_DURATION_MS) / (MAX_SWIPE_RELEASE_DURATION_MS - MIN_SWIPE_RELEASE_DURATION_MS);
76
+ const scalar = clamp(MIN_SWIPE_RELEASE_SCALAR + normalized * (MAX_SWIPE_RELEASE_SCALAR - MIN_SWIPE_RELEASE_SCALAR), MIN_SWIPE_RELEASE_SCALAR, MAX_SWIPE_RELEASE_SCALAR);
77
+ if (!Number.isFinite(scalar) || scalar <= 0) return null;
78
+ return scalar;
79
+ }
80
+ const MATRIX_RE = /matrix(?:3d)?\(([^)]+)\)/;
81
+ function getElementTransform(element) {
82
+ const style = window.getComputedStyle(element);
83
+ const transform = style.transform;
84
+ let x = 0;
85
+ let y = 0;
86
+ let scale = 1;
87
+ if (transform && transform !== "none") {
88
+ const matrix = transform.match(MATRIX_RE);
89
+ if (matrix) {
90
+ const v = matrix[1].split(", ").map(Number);
91
+ if (v.length === 6) {
92
+ x = v[4];
93
+ y = v[5];
94
+ scale = Math.sqrt(v[0] * v[0] + v[1] * v[1]);
95
+ } else if (v.length === 16) {
96
+ x = v[12];
97
+ y = v[13];
98
+ scale = v[0];
99
+ }
100
+ }
101
+ }
102
+ return {
103
+ x,
104
+ y,
105
+ scale
106
+ };
107
+ }
108
+ let drawerCssVarsRegistered = false;
109
+ /**
110
+ * Removes CSS variable inheritance for high-frequency drawer swipe vars.
111
+ * Uses proper syntax types matching BaseUI:
112
+ * - Length vars (<length>) with initialValue '0px' for use in calc()/translateY()
113
+ * - Number vars (<number>) for opacity/strength scalars
114
+ */
115
+ function registerDrawerCssProperties() {
116
+ if (drawerCssVarsRegistered || typeof CSS === "undefined" || !CSS.registerProperty) return;
117
+ const lengthVars = [
118
+ DRAWER_CSS_VARS.swipeMovementX,
119
+ DRAWER_CSS_VARS.swipeMovementY,
120
+ DRAWER_CSS_VARS.snapPointOffset
121
+ ];
122
+ for (const name of lengthVars) try {
123
+ CSS.registerProperty({
124
+ name,
125
+ syntax: "<length>",
126
+ inherits: false,
127
+ initialValue: "0px"
128
+ });
129
+ } catch {}
130
+ const numberVars = [{
131
+ name: DRAWER_CSS_VARS.swipeProgress,
132
+ initialValue: "0"
133
+ }, {
134
+ name: DRAWER_CSS_VARS.swipeStrength,
135
+ initialValue: "1"
136
+ }];
137
+ for (const { name, initialValue } of numberVars) try {
138
+ CSS.registerProperty({
139
+ name,
140
+ syntax: "<number>",
141
+ inherits: false,
142
+ initialValue
143
+ });
144
+ } catch {}
145
+ drawerCssVarsRegistered = true;
146
+ }
147
+
148
+ //#endregion
149
+ Object.defineProperty(exports, 'DRAWER_CSS_VARS', {
150
+ enumerable: true,
151
+ get: function () {
152
+ return DRAWER_CSS_VARS;
153
+ }
154
+ });
155
+ Object.defineProperty(exports, 'computeSwipeReleaseScalar', {
156
+ enumerable: true,
157
+ get: function () {
158
+ return computeSwipeReleaseScalar;
159
+ }
160
+ });
161
+ Object.defineProperty(exports, 'createNestedSwipeProgressStore', {
162
+ enumerable: true,
163
+ get: function () {
164
+ return createNestedSwipeProgressStore;
165
+ }
166
+ });
167
+ Object.defineProperty(exports, 'getDisplacement', {
168
+ enumerable: true,
169
+ get: function () {
170
+ return getDisplacement;
171
+ }
172
+ });
173
+ Object.defineProperty(exports, 'getElementTransform', {
174
+ enumerable: true,
175
+ get: function () {
176
+ return getElementTransform;
177
+ }
178
+ });
179
+ Object.defineProperty(exports, 'registerDrawerCssProperties', {
180
+ enumerable: true,
181
+ get: function () {
182
+ return registerDrawerCssProperties;
183
+ }
184
+ });
185
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.cjs","names":["next: number","direction: SwipeDirection","deltaX: number","deltaY: number","v: number","lo: number","hi: number","params: {\n direction: SwipeDirection\n size: number\n axisDelta: number\n snapPointOffset: number\n releaseVelocity: number\n}","element: HTMLElement"],"sources":["../../src/Drawer/utils.ts"],"sourcesContent":[],"mappings":";;AAKA,MAAa,kBAAkB;CAC7B,gBAAgB;CAChB,gBAAgB;CAChB,iBAAiB;CACjB,QAAQ;CACR,iBAAiB;CACjB,eAAe;CACf,eAAe;CACf,eAAe;AAChB;AAOD,SAAgB,iCAEd;CACA,IAAI,WAAW;CACf,MAAM,4BAAY,IAAI;AACtB,QAAO;EACL,aAAa,MAAM;EACnB,UAAU,UAAU;AAClB,aAAU,IAAI,SAAS;AACvB,UAAO,MAAM,UAAU,OAAO,SAAS;EACxC;EACD,IAAIA,MAAc;AAChB,OAAI,SAAS,UAAU;AACrB,eAAW;AACX,cAAU,QAAQ,OAAK,GAAG,CAAC;GAC5B;EACF;CACF;AACF;AAED,SAAgB,gBACdC,WACAC,QACAC,QACQ;AACR,SAAQ,WAAR;EACE,KAAK,KAAM,SAAQ;EACnB,KAAK,OAAQ,QAAO;EACpB,KAAK,OAAQ,SAAQ;EACrB,KAAK,QAAS,QAAO;EACrB,QAAS,QAAO;CACjB;AACF;AAGD,MAAM,6BAA6B;AACnC,MAAM,6BAA6B;AACnC,MAAM,gCAAgC;AACtC,MAAM,gCAAgC;AACtC,MAAM,2BAA2B;AACjC,MAAM,2BAA2B;AAEjC,SAAS,MAAMC,GAAWC,IAAYC,IAAoB;AACxD,QAAO,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;AACrC;;;;;;;;;;;;;AAcD,SAAgB,0BAA0BC,QAMxB;CAChB,MAAM,EAAE,WAAW,MAAM,WAAW,iBAAiB,iBAAiB,GAAG;AACzE,MAAK,OAAO,SAAS,KAAK,IAAI,QAAQ,EACpC,QAAO;CAKT,IAAI,aAAa;AACjB,KAAI,cAAc,UAAU,cAAc,QACxC,cAAa;UACN,cAAc,QAAQ,cAAc,OAC3C,eAAc;CAEhB,MAAM,cAAc,aAAa;CACjC,MAAM,4BACD,cAAc,UAAU,cAAc,QAAS,cAAc;CAClE,MAAM,oBAAoB,KAAK,IAAI,GAAG,OAAO,0BAA0B;AACvE,MAAK,OAAO,SAAS,kBAAkB,IAAI,qBAAqB,EAC9D,QAAO;CAET,MAAM,sBACD,cAAc,UAAU,cAAc,QAAS,kBAAkB;AACtE,MAAK,OAAO,SAAS,oBAAoB,IAAI,uBAAuB,2BAClE,QAAO;CAET,MAAM,kBAAkB,MACtB,qBACA,4BACA,2BACD;CACD,MAAM,aAAa,MACjB,oBAAoB,iBACpB,+BACA,8BACD;AACD,MAAK,OAAO,SAAS,WAAW,CAC9B,QAAO;CAET,MAAM,cACD,aAAa,kCACX,gCAAgC;CACvC,MAAM,SAAS,MACb,2BAA2B,cAAc,2BAA2B,2BACpE,0BACA,yBACD;AACD,MAAK,OAAO,SAAS,OAAO,IAAI,UAAU,EACxC,QAAO;AACT,QAAO;AACR;AAED,MAAM,YAAY;AAElB,SAAgB,oBAAoBC,SAIlC;CACA,MAAM,QAAQ,OAAO,iBAAiB,QAAQ;CAC9C,MAAM,YAAY,MAAM;CACxB,IAAI,IAAI;CACR,IAAI,IAAI;CACR,IAAI,QAAQ;AACZ,KAAI,aAAa,cAAc,QAAQ;EACrC,MAAM,SAAS,UAAU,MAAM,UAAU;AACzC,MAAI,QAAQ;GACV,MAAM,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,OAAO;AAC3C,OAAI,EAAE,WAAW,GAAG;AAClB,QAAI,EAAE;AACN,QAAI,EAAE;AACN,YAAQ,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;GAC7C,WACQ,EAAE,WAAW,IAAI;AACxB,QAAI,EAAE;AACN,QAAI,EAAE;AACN,YAAQ,EAAE;GACX;EACF;CACF;AACD,QAAO;EAAE;EAAG;EAAG;CAAO;AACvB;AAED,IAAI,0BAA0B;;;;;;;AAQ9B,SAAgB,8BAA8B;AAC5C,KAAI,kCAAkC,QAAQ,gBAAgB,IAAI,iBAChE;CAEF,MAAM,aAAa;EACjB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;CACjB;AACD,MAAK,MAAM,QAAQ,WACjB,KAAI;AACF,MAAI,iBAAiB;GAAE;GAAM,QAAQ;GAAY,UAAU;GAAO,cAAc;EAAO,EAAC;CACzF,QACK,CAAE;CAGV,MAAM,aAAa,CACjB;EAAE,MAAM,gBAAgB;EAAe,cAAc;CAAK,GAC1D;EAAE,MAAM,gBAAgB;EAAe,cAAc;CAAK,CAC3D;AACD,MAAK,MAAM,EAAE,MAAM,cAAc,IAAI,WACnC,KAAI;AACF,MAAI,iBAAiB;GAAE;GAAM,QAAQ;GAAY,UAAU;GAAO;EAAc,EAAC;CAClF,QACK,CAAE;AAGV,2BAA0B;AAC3B"}
@@ -0,0 +1,149 @@
1
+ //#region src/Drawer/utils.ts
2
+ const DRAWER_CSS_VARS = {
3
+ swipeMovementX: "--drawer-swipe-movement-x",
4
+ swipeMovementY: "--drawer-swipe-movement-y",
5
+ snapPointOffset: "--drawer-snap-point-offset",
6
+ height: "--drawer-height",
7
+ frontmostHeight: "--drawer-frontmost-height",
8
+ swipeProgress: "--drawer-swipe-progress",
9
+ swipeStrength: "--drawer-swipe-strength",
10
+ nestedDrawers: "--nested-drawers"
11
+ };
12
+ function createNestedSwipeProgressStore() {
13
+ let progress = 0;
14
+ const listeners = /* @__PURE__ */ new Set();
15
+ return {
16
+ getSnapshot: () => progress,
17
+ subscribe(listener) {
18
+ listeners.add(listener);
19
+ return () => listeners.delete(listener);
20
+ },
21
+ set(next) {
22
+ if (next !== progress) {
23
+ progress = next;
24
+ listeners.forEach((l) => l());
25
+ }
26
+ }
27
+ };
28
+ }
29
+ function getDisplacement(direction, deltaX, deltaY) {
30
+ switch (direction) {
31
+ case "up": return -deltaY;
32
+ case "down": return deltaY;
33
+ case "left": return -deltaX;
34
+ case "right": return deltaX;
35
+ default: return 0;
36
+ }
37
+ }
38
+ const MIN_SWIPE_RELEASE_VELOCITY = .2;
39
+ const MAX_SWIPE_RELEASE_VELOCITY = 4;
40
+ const MIN_SWIPE_RELEASE_DURATION_MS = 80;
41
+ const MAX_SWIPE_RELEASE_DURATION_MS = 360;
42
+ const MIN_SWIPE_RELEASE_SCALAR = .1;
43
+ const MAX_SWIPE_RELEASE_SCALAR = 1;
44
+ function clamp(v, lo, hi) {
45
+ return Math.max(lo, Math.min(hi, v));
46
+ }
47
+ /**
48
+ * Computes a 0.1 - 1.0 scalar for the `--drawer-swipe-strength` CSS var.
49
+ * Ported from BaseUI `DrawerViewport.tsx:resolveSwipeRelease` (lines 243-337).
50
+ *
51
+ * The scalar is derived from how much further the drawer still has to travel
52
+ * vs how fast the user flung it. A short remaining distance with high velocity
53
+ * → near-zero scalar (fast release). A long distance / low velocity → near-1
54
+ * (default release).
55
+ *
56
+ * Returns `null` when the formula is degenerate (no velocity, no distance, or
57
+ * moving in the wrong direction).
58
+ */
59
+ function computeSwipeReleaseScalar(params) {
60
+ const { direction, size, axisDelta, snapPointOffset, releaseVelocity } = params;
61
+ if (!Number.isFinite(size) || size <= 0) return null;
62
+ let baseOffset = 0;
63
+ if (direction === "down" || direction === "right") baseOffset = snapPointOffset;
64
+ else if (direction === "up" || direction === "left") baseOffset = -snapPointOffset;
65
+ const translation = baseOffset + axisDelta;
66
+ const translationAlongDirection = direction === "left" || direction === "up" ? -translation : translation;
67
+ const remainingDistance = Math.max(0, size - translationAlongDirection);
68
+ if (!Number.isFinite(remainingDistance) || remainingDistance <= 0) return null;
69
+ const directionalVelocity = direction === "left" || direction === "up" ? -releaseVelocity : releaseVelocity;
70
+ if (!Number.isFinite(directionalVelocity) || directionalVelocity <= MIN_SWIPE_RELEASE_VELOCITY) return null;
71
+ const clampedVelocity = clamp(directionalVelocity, MIN_SWIPE_RELEASE_VELOCITY, MAX_SWIPE_RELEASE_VELOCITY);
72
+ const durationMs = clamp(remainingDistance / clampedVelocity, MIN_SWIPE_RELEASE_DURATION_MS, MAX_SWIPE_RELEASE_DURATION_MS);
73
+ if (!Number.isFinite(durationMs)) return null;
74
+ const normalized = (durationMs - MIN_SWIPE_RELEASE_DURATION_MS) / (MAX_SWIPE_RELEASE_DURATION_MS - MIN_SWIPE_RELEASE_DURATION_MS);
75
+ const scalar = clamp(MIN_SWIPE_RELEASE_SCALAR + normalized * (MAX_SWIPE_RELEASE_SCALAR - MIN_SWIPE_RELEASE_SCALAR), MIN_SWIPE_RELEASE_SCALAR, MAX_SWIPE_RELEASE_SCALAR);
76
+ if (!Number.isFinite(scalar) || scalar <= 0) return null;
77
+ return scalar;
78
+ }
79
+ const MATRIX_RE = /matrix(?:3d)?\(([^)]+)\)/;
80
+ function getElementTransform(element) {
81
+ const style = window.getComputedStyle(element);
82
+ const transform = style.transform;
83
+ let x = 0;
84
+ let y = 0;
85
+ let scale = 1;
86
+ if (transform && transform !== "none") {
87
+ const matrix = transform.match(MATRIX_RE);
88
+ if (matrix) {
89
+ const v = matrix[1].split(", ").map(Number);
90
+ if (v.length === 6) {
91
+ x = v[4];
92
+ y = v[5];
93
+ scale = Math.sqrt(v[0] * v[0] + v[1] * v[1]);
94
+ } else if (v.length === 16) {
95
+ x = v[12];
96
+ y = v[13];
97
+ scale = v[0];
98
+ }
99
+ }
100
+ }
101
+ return {
102
+ x,
103
+ y,
104
+ scale
105
+ };
106
+ }
107
+ let drawerCssVarsRegistered = false;
108
+ /**
109
+ * Removes CSS variable inheritance for high-frequency drawer swipe vars.
110
+ * Uses proper syntax types matching BaseUI:
111
+ * - Length vars (<length>) with initialValue '0px' for use in calc()/translateY()
112
+ * - Number vars (<number>) for opacity/strength scalars
113
+ */
114
+ function registerDrawerCssProperties() {
115
+ if (drawerCssVarsRegistered || typeof CSS === "undefined" || !CSS.registerProperty) return;
116
+ const lengthVars = [
117
+ DRAWER_CSS_VARS.swipeMovementX,
118
+ DRAWER_CSS_VARS.swipeMovementY,
119
+ DRAWER_CSS_VARS.snapPointOffset
120
+ ];
121
+ for (const name of lengthVars) try {
122
+ CSS.registerProperty({
123
+ name,
124
+ syntax: "<length>",
125
+ inherits: false,
126
+ initialValue: "0px"
127
+ });
128
+ } catch {}
129
+ const numberVars = [{
130
+ name: DRAWER_CSS_VARS.swipeProgress,
131
+ initialValue: "0"
132
+ }, {
133
+ name: DRAWER_CSS_VARS.swipeStrength,
134
+ initialValue: "1"
135
+ }];
136
+ for (const { name, initialValue } of numberVars) try {
137
+ CSS.registerProperty({
138
+ name,
139
+ syntax: "<number>",
140
+ inherits: false,
141
+ initialValue
142
+ });
143
+ } catch {}
144
+ drawerCssVarsRegistered = true;
145
+ }
146
+
147
+ //#endregion
148
+ export { DRAWER_CSS_VARS, computeSwipeReleaseScalar, createNestedSwipeProgressStore, getDisplacement, getElementTransform, registerDrawerCssProperties };
149
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["next: number","direction: SwipeDirection","deltaX: number","deltaY: number","v: number","lo: number","hi: number","params: {\n direction: SwipeDirection\n size: number\n axisDelta: number\n snapPointOffset: number\n releaseVelocity: number\n}","element: HTMLElement"],"sources":["../../src/Drawer/utils.ts"],"sourcesContent":[],"mappings":"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"}
@@ -18,6 +18,10 @@ var DropdownMenuContent_vue_vue_type_script_setup_true_lang_default = /* @__PURE
18
18
  type: Boolean,
19
19
  required: false
20
20
  },
21
+ memoDependencies: {
22
+ type: Array,
23
+ required: false
24
+ },
21
25
  side: {
22
26
  type: null,
23
27
  required: false
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenuContent.cjs","names":[],"sources":["../../src/DropdownMenu/DropdownMenuContent.vue","../../src/DropdownMenu/DropdownMenuContent.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBA,MAAM,QAAQ;EACd,MAAM,QAAQ;EACd,MAAM,YAAY,yDAAqB,OAAO,MAAK;AACnD,oDAAiB;EAEjB,MAAM,cAAc,qEAA8B;EAElD,MAAM,0BAA0B,aAAI,MAAK;EAEzC,SAAS,qBAAqB,OAAc;AAC1C,OAAI,MAAM,iBACR;AACF,QAAK,wBAAwB,MAC3B,YAAW,MAAM;AACf,gBAAY,eAAe,OAAO,OAAM;GACzC,GAAE,EAAC;AAEN,2BAAwB,QAAQ;AAGhC,SAAM,gBAAe;EACvB;AAEA,cAAY,cAAc,mCAAiB,6BAA4B;;gCAIrE,qBA2Bc,eAAA,6CAAA,EA3Bd,oBACU,eA0BI,UA1BK,EAAA;IAChB,IAAI,eAAA,YAAW,CAAC;IAChB,mBAAiB,eAAA,YAAW,EAAE;IAC9B,OAAO;;;;;;IAUP;IACA,kBAAkB;IAClB,mBAAgB,OAAA,OAAA,OAAA,KAAA,CAAG,UAAK;SAAiB,MAAM,iBAAgB;WAAsB,gBAAgB,MAAM,OAAO;WAA2C,gBAAgB,cAAc,WAAM,KAAU,cAAc,YAAO;WAAuB,eAAe,cAAc,WAAM,KAAU;UAA0B,eAAA,YAAW,CAAC,MAAM,SAAS,aAAc,yBAAA,QAAuB;SAAmB,eAAA,YAAW,CAAC,eAAe,OAAO,SAAS,MAAM,OAAM,CAAkB,OAAM,gBAAc;;;8BAU/e,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"DropdownMenuContent.cjs","names":[],"sources":["../../src/DropdownMenu/DropdownMenuContent.vue","../../src/DropdownMenu/DropdownMenuContent.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBA,MAAM,QAAQ;EACd,MAAM,QAAQ;EACd,MAAM,YAAY,yDAAqB,OAAO,MAAK;AACnD,oDAAiB;EAEjB,MAAM,cAAc,qEAA8B;EAElD,MAAM,0BAA0B,aAAI,MAAK;EAEzC,SAAS,qBAAqB,OAAc;AAC1C,OAAI,MAAM,iBACR;AACF,QAAK,wBAAwB,MAC3B,YAAW,MAAM;AACf,gBAAY,eAAe,OAAO,OAAM;GACzC,GAAE,EAAC;AAEN,2BAAwB,QAAQ;AAGhC,SAAM,gBAAe;EACvB;AAEA,cAAY,cAAc,mCAAiB,6BAA4B;;gCAIrE,qBA2Bc,eAAA,6CAAA,EA3Bd,oBACU,eA0BI,UA1BK,EAAA;IAChB,IAAI,eAAA,YAAW,CAAC;IAChB,mBAAiB,eAAA,YAAW,EAAE;IAC9B,OAAO;;;;;;IAUP;IACA,kBAAkB;IAClB,mBAAgB,OAAA,OAAA,OAAA,KAAA,CAAG,UAAK;SAAiB,MAAM,iBAAgB;WAAsB,gBAAgB,MAAM,OAAO;WAA2C,gBAAgB,cAAc,WAAM,KAAU,cAAc,YAAO;WAAuB,eAAe,cAAc,WAAM,KAAU;UAA0B,eAAA,YAAW,CAAC,MAAM,SAAS,aAAc,yBAAA,QAAuB;SAAmB,eAAA,YAAW,CAAC,eAAe,OAAO,SAAS,MAAM,OAAM,CAAkB,OAAM,gBAAc;;;8BAU/e,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -17,6 +17,10 @@ var DropdownMenuContent_vue_vue_type_script_setup_true_lang_default = /* @__PURE
17
17
  type: Boolean,
18
18
  required: false
19
19
  },
20
+ memoDependencies: {
21
+ type: Array,
22
+ required: false
23
+ },
20
24
  side: {
21
25
  type: null,
22
26
  required: false
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenuContent.js","names":[],"sources":["../../src/DropdownMenu/DropdownMenuContent.vue","../../src/DropdownMenu/DropdownMenuContent.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBA,MAAM,QAAQ;EACd,MAAM,QAAQ;EACd,MAAM,YAAY,qBAAqB,OAAO,MAAK;AACnD,oBAAiB;EAEjB,MAAM,cAAc,+BAA8B;EAElD,MAAM,0BAA0B,IAAI,MAAK;EAEzC,SAAS,qBAAqB,OAAc;AAC1C,OAAI,MAAM,iBACR;AACF,QAAK,wBAAwB,MAC3B,YAAW,MAAM;AACf,gBAAY,eAAe,OAAO,OAAM;GACzC,GAAE,EAAC;AAEN,2BAAwB,QAAQ;AAGhC,SAAM,gBAAe;EACvB;AAEA,cAAY,cAAc,cAAiB,6BAA4B;;uBAIrE,YA2Bc,MAAA,oBAAA,EA3Bd,WACU,MA0BI,UA1BK,EAAA;IAChB,IAAI,MAAA,YAAW,CAAC;IAChB,mBAAiB,MAAA,YAAW,EAAE;IAC9B,OAAO;;;;;;IAUP;IACA,kBAAkB;IAClB,mBAAgB,OAAA,OAAA,OAAA,KAAA,CAAG,UAAK;SAAiB,MAAM,iBAAgB;WAAsB,gBAAgB,MAAM,OAAO;WAA2C,gBAAgB,cAAc,WAAM,KAAU,cAAc,YAAO;WAAuB,eAAe,cAAc,WAAM,KAAU;UAA0B,MAAA,YAAW,CAAC,MAAM,SAAS,aAAc,yBAAA,QAAuB;SAAmB,MAAA,YAAW,CAAC,eAAe,OAAO,SAAS,MAAM,OAAM,CAAkB,OAAM,gBAAc;;;qBAU/e,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"DropdownMenuContent.js","names":[],"sources":["../../src/DropdownMenu/DropdownMenuContent.vue","../../src/DropdownMenu/DropdownMenuContent.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBA,MAAM,QAAQ;EACd,MAAM,QAAQ;EACd,MAAM,YAAY,qBAAqB,OAAO,MAAK;AACnD,oBAAiB;EAEjB,MAAM,cAAc,+BAA8B;EAElD,MAAM,0BAA0B,IAAI,MAAK;EAEzC,SAAS,qBAAqB,OAAc;AAC1C,OAAI,MAAM,iBACR;AACF,QAAK,wBAAwB,MAC3B,YAAW,MAAM;AACf,gBAAY,eAAe,OAAO,OAAM;GACzC,GAAE,EAAC;AAEN,2BAAwB,QAAQ;AAGhC,SAAM,gBAAe;EACvB;AAEA,cAAY,cAAc,cAAiB,6BAA4B;;uBAIrE,YA2Bc,MAAA,oBAAA,EA3Bd,WACU,MA0BI,UA1BK,EAAA;IAChB,IAAI,MAAA,YAAW,CAAC;IAChB,mBAAiB,MAAA,YAAW,EAAE;IAC9B,OAAO;;;;;;IAUP;IACA,kBAAkB;IAClB,mBAAgB,OAAA,OAAA,OAAA,KAAA,CAAG,UAAK;SAAiB,MAAM,iBAAgB;WAAsB,gBAAgB,MAAM,OAAO;WAA2C,gBAAgB,cAAc,WAAM,KAAU,cAAc,YAAO;WAAuB,eAAe,cAAc,WAAM,KAAU;UAA0B,MAAA,YAAW,CAAC,MAAM,SAAS,aAAc,yBAAA,QAAuB;SAAmB,MAAA,YAAW,CAAC,eAAe,OAAO,SAAS,MAAM,OAAM,CAAkB,OAAM,gBAAc;;;qBAU/e,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -16,6 +16,10 @@ var DropdownMenuSubContent_vue_vue_type_script_setup_true_lang_default = /* @__P
16
16
  type: Boolean,
17
17
  required: false
18
18
  },
19
+ memoDependencies: {
20
+ type: Array,
21
+ required: false
22
+ },
19
23
  sideOffset: {
20
24
  type: Number,
21
25
  required: false
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenuSubContent.cjs","names":[],"sources":["../../src/DropdownMenu/DropdownMenuSubContent.vue","../../src/DropdownMenu/DropdownMenuSubContent.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBA,MAAM,QAAQ;EACd,MAAM,QAAQ;EACd,MAAM,YAAY,yDAAqB,OAAO,MAAK;AACnD,oDAAiB;;gCAIf,qBAeiB,eAAA,mDAAA,EAfjB,oBACU,eAcO,UAdE,EAAA,EAChB,OAAO;;;;;;GAUP,EAAA,EAAA,EAAA;8BAED,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"DropdownMenuSubContent.cjs","names":[],"sources":["../../src/DropdownMenu/DropdownMenuSubContent.vue","../../src/DropdownMenu/DropdownMenuSubContent.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBA,MAAM,QAAQ;EACd,MAAM,QAAQ;EACd,MAAM,YAAY,yDAAqB,OAAO,MAAK;AACnD,oDAAiB;;gCAIf,qBAeiB,eAAA,mDAAA,EAfjB,oBACU,eAcO,UAdE,EAAA,EAChB,OAAO;;;;;;GAUP,EAAA,EAAA,EAAA;8BAED,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -15,6 +15,10 @@ var DropdownMenuSubContent_vue_vue_type_script_setup_true_lang_default = /* @__P
15
15
  type: Boolean,
16
16
  required: false
17
17
  },
18
+ memoDependencies: {
19
+ type: Array,
20
+ required: false
21
+ },
18
22
  sideOffset: {
19
23
  type: Number,
20
24
  required: false
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenuSubContent.js","names":[],"sources":["../../src/DropdownMenu/DropdownMenuSubContent.vue","../../src/DropdownMenu/DropdownMenuSubContent.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBA,MAAM,QAAQ;EACd,MAAM,QAAQ;EACd,MAAM,YAAY,qBAAqB,OAAO,MAAK;AACnD,oBAAiB;;uBAIf,YAeiB,MAAA,uBAAA,EAfjB,WACU,MAcO,UAdE,EAAA,EAChB,OAAO;;;;;;GAUP,EAAA,EAAA,EAAA;qBAED,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"DropdownMenuSubContent.js","names":[],"sources":["../../src/DropdownMenu/DropdownMenuSubContent.vue","../../src/DropdownMenu/DropdownMenuSubContent.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBA,MAAM,QAAQ;EACd,MAAM,QAAQ;EACd,MAAM,YAAY,qBAAqB,OAAO,MAAK;AACnD,oBAAiB;;uBAIf,YAeiB,MAAA,uBAAA,EAfjB,WACU,MAcO,UAdE,EAAA,EAChB,OAAO;;;;;;GAUP,EAAA,EAAA,EAAA;qBAED,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -21,6 +21,10 @@ var FocusScope_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0,
21
21
  required: false,
22
22
  default: false
23
23
  },
24
+ present: {
25
+ type: Boolean,
26
+ required: false
27
+ },
24
28
  asChild: {
25
29
  type: Boolean,
26
30
  required: false
@@ -83,24 +87,26 @@ var FocusScope_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0,
83
87
  mutationObserver.disconnect();
84
88
  });
85
89
  });
90
+ function dispatchMountAutoFocus(container, previouslyFocusedElement) {
91
+ const mountEvent = new CustomEvent(require_FocusScope_utils.AUTOFOCUS_ON_MOUNT, require_FocusScope_utils.EVENT_OPTIONS);
92
+ const handleMountAutoFocus = (ev) => emits("mountAutoFocus", ev);
93
+ container.addEventListener(require_FocusScope_utils.AUTOFOCUS_ON_MOUNT, handleMountAutoFocus);
94
+ container.dispatchEvent(mountEvent);
95
+ container.removeEventListener(require_FocusScope_utils.AUTOFOCUS_ON_MOUNT, handleMountAutoFocus);
96
+ if (!mountEvent.defaultPrevented) {
97
+ require_FocusScope_utils.focusFirst(require_FocusScope_utils.getTabbableCandidates(container), { select: true });
98
+ if (require_shared_getActiveElement.getActiveElement() === previouslyFocusedElement) require_FocusScope_utils.focus(container);
99
+ }
100
+ }
86
101
  (0, vue.watchEffect)(async (cleanupFn) => {
87
102
  const container = currentElement.value;
88
103
  await (0, vue.nextTick)();
89
104
  if (!container) return;
90
- focusScopesStack.add(focusScope);
105
+ if (props.present !== false) focusScopesStack.add(focusScope);
91
106
  const previouslyFocusedElement = require_shared_getActiveElement.getActiveElement();
92
107
  const hasFocusedCandidate = container.contains(previouslyFocusedElement);
93
- if (!hasFocusedCandidate) {
94
- const mountEvent = new CustomEvent(require_FocusScope_utils.AUTOFOCUS_ON_MOUNT, require_FocusScope_utils.EVENT_OPTIONS);
95
- container.addEventListener(require_FocusScope_utils.AUTOFOCUS_ON_MOUNT, (ev) => emits("mountAutoFocus", ev));
96
- container.dispatchEvent(mountEvent);
97
- if (!mountEvent.defaultPrevented) {
98
- require_FocusScope_utils.focusFirst(require_FocusScope_utils.getTabbableCandidates(container), { select: true });
99
- if (require_shared_getActiveElement.getActiveElement() === previouslyFocusedElement) require_FocusScope_utils.focus(container);
100
- }
101
- }
108
+ if (!hasFocusedCandidate && props.present !== false) dispatchMountAutoFocus(container, previouslyFocusedElement);
102
109
  cleanupFn(() => {
103
- container.removeEventListener(require_FocusScope_utils.AUTOFOCUS_ON_MOUNT, (ev) => emits("mountAutoFocus", ev));
104
110
  const unmountEvent = new CustomEvent(require_FocusScope_utils.AUTOFOCUS_ON_UNMOUNT, require_FocusScope_utils.EVENT_OPTIONS);
105
111
  const unmountEventHandler = (ev) => {
106
112
  emits("unmountAutoFocus", ev);
@@ -116,6 +122,20 @@ var FocusScope_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0,
116
122
  }, 0);
117
123
  });
118
124
  });
125
+ (0, vue.watch)(() => props.present, async (present, prevPresent) => {
126
+ if (!__vueuse_shared.isClient) return;
127
+ if (present === false && prevPresent === true) {
128
+ focusScopesStack.remove(focusScope);
129
+ return;
130
+ }
131
+ if (present !== true || prevPresent !== false) return;
132
+ focusScopesStack.add(focusScope);
133
+ await (0, vue.nextTick)();
134
+ const container = currentElement.value;
135
+ if (!container) return;
136
+ const previouslyFocusedElement = require_shared_getActiveElement.getActiveElement();
137
+ if (!container.contains(previouslyFocusedElement)) dispatchMountAutoFocus(container, previouslyFocusedElement);
138
+ });
119
139
  function handleKeyDown(event) {
120
140
  if (!props.loop && !props.trapped) return;
121
141
  if (focusScope.paused) return;
@@ -1 +1 @@
1
- {"version":3,"file":"FocusScope.cjs","names":["asChild","as"],"sources":["../../src/FocusScope/FocusScope.vue","../../src/FocusScope/FocusScope.vue"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"FocusScope.cjs","names":["asChild","as"],"sources":["../../src/FocusScope/FocusScope.vue","../../src/FocusScope/FocusScope.vue"],"sourcesContent":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { useForwardExpose } from "../shared/useForwardExpose.js";
3
3
  import { Primitive } from "../Primitive/Primitive.js";
4
4
  import { createFocusScopesStack } from "./stack.js";
5
5
  import { AUTOFOCUS_ON_MOUNT, AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS, focus, focusFirst, getTabbableCandidates, getTabbableEdges } from "./utils.js";
6
- import { createBlock, defineComponent, nextTick, openBlock, reactive, ref, renderSlot, unref, watchEffect, withCtx } from "vue";
6
+ import { createBlock, defineComponent, nextTick, openBlock, reactive, ref, renderSlot, unref, watch, watchEffect, withCtx } from "vue";
7
7
  import { isClient } from "@vueuse/shared";
8
8
 
9
9
  //#region src/FocusScope/FocusScope.vue?vue&type=script&setup=true&lang.ts
@@ -20,6 +20,10 @@ var FocusScope_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
20
20
  required: false,
21
21
  default: false
22
22
  },
23
+ present: {
24
+ type: Boolean,
25
+ required: false
26
+ },
23
27
  asChild: {
24
28
  type: Boolean,
25
29
  required: false
@@ -82,24 +86,26 @@ var FocusScope_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
82
86
  mutationObserver.disconnect();
83
87
  });
84
88
  });
89
+ function dispatchMountAutoFocus(container, previouslyFocusedElement) {
90
+ const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);
91
+ const handleMountAutoFocus = (ev) => emits("mountAutoFocus", ev);
92
+ container.addEventListener(AUTOFOCUS_ON_MOUNT, handleMountAutoFocus);
93
+ container.dispatchEvent(mountEvent);
94
+ container.removeEventListener(AUTOFOCUS_ON_MOUNT, handleMountAutoFocus);
95
+ if (!mountEvent.defaultPrevented) {
96
+ focusFirst(getTabbableCandidates(container), { select: true });
97
+ if (getActiveElement() === previouslyFocusedElement) focus(container);
98
+ }
99
+ }
85
100
  watchEffect(async (cleanupFn) => {
86
101
  const container = currentElement.value;
87
102
  await nextTick();
88
103
  if (!container) return;
89
- focusScopesStack.add(focusScope);
104
+ if (props.present !== false) focusScopesStack.add(focusScope);
90
105
  const previouslyFocusedElement = getActiveElement();
91
106
  const hasFocusedCandidate = container.contains(previouslyFocusedElement);
92
- if (!hasFocusedCandidate) {
93
- const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);
94
- container.addEventListener(AUTOFOCUS_ON_MOUNT, (ev) => emits("mountAutoFocus", ev));
95
- container.dispatchEvent(mountEvent);
96
- if (!mountEvent.defaultPrevented) {
97
- focusFirst(getTabbableCandidates(container), { select: true });
98
- if (getActiveElement() === previouslyFocusedElement) focus(container);
99
- }
100
- }
107
+ if (!hasFocusedCandidate && props.present !== false) dispatchMountAutoFocus(container, previouslyFocusedElement);
101
108
  cleanupFn(() => {
102
- container.removeEventListener(AUTOFOCUS_ON_MOUNT, (ev) => emits("mountAutoFocus", ev));
103
109
  const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);
104
110
  const unmountEventHandler = (ev) => {
105
111
  emits("unmountAutoFocus", ev);
@@ -115,6 +121,20 @@ var FocusScope_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
115
121
  }, 0);
116
122
  });
117
123
  });
124
+ watch(() => props.present, async (present, prevPresent) => {
125
+ if (!isClient) return;
126
+ if (present === false && prevPresent === true) {
127
+ focusScopesStack.remove(focusScope);
128
+ return;
129
+ }
130
+ if (present !== true || prevPresent !== false) return;
131
+ focusScopesStack.add(focusScope);
132
+ await nextTick();
133
+ const container = currentElement.value;
134
+ if (!container) return;
135
+ const previouslyFocusedElement = getActiveElement();
136
+ if (!container.contains(previouslyFocusedElement)) dispatchMountAutoFocus(container, previouslyFocusedElement);
137
+ });
118
138
  function handleKeyDown(event) {
119
139
  if (!props.loop && !props.trapped) return;
120
140
  if (focusScope.paused) return;
@@ -1 +1 @@
1
- {"version":3,"file":"FocusScope.js","names":["asChild","as"],"sources":["../../src/FocusScope/FocusScope.vue","../../src/FocusScope/FocusScope.vue"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"FocusScope.js","names":["asChild","as"],"sources":["../../src/FocusScope/FocusScope.vue","../../src/FocusScope/FocusScope.vue"],"sourcesContent":[],"mappings":"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"}