@bigbinary/neeto-atoms 1.0.6 → 1.0.7

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 (501) hide show
  1. package/dist/DataTable-Y4POx0WN.js +3737 -0
  2. package/dist/DataTable-Y4POx0WN.js.map +1 -0
  3. package/dist/button-COIbN8dg.js +40 -0
  4. package/dist/button-COIbN8dg.js.map +1 -0
  5. package/dist/check-Cpkv29p1.js +15 -0
  6. package/dist/check-Cpkv29p1.js.map +1 -0
  7. package/dist/chevron-down-BNi0ntys.js +15 -0
  8. package/dist/chevron-down-BNi0ntys.js.map +1 -0
  9. package/dist/chevron-left-BDoT8E2-.js +15 -0
  10. package/dist/chevron-left-BDoT8E2-.js.map +1 -0
  11. package/dist/chevron-right-DQnrO-ek.js +15 -0
  12. package/dist/chevron-right-DQnrO-ek.js.map +1 -0
  13. package/dist/chevron-up-Bf2G3AAU.js +15 -0
  14. package/dist/chevron-up-Bf2G3AAU.js.map +1 -0
  15. package/dist/cjs/DataTable-DJw2SZ7b.js +3764 -0
  16. package/dist/cjs/DataTable-DJw2SZ7b.js.map +1 -0
  17. package/dist/cjs/button-B8XGl69v.js +63 -0
  18. package/dist/cjs/button-B8XGl69v.js.map +1 -0
  19. package/dist/cjs/check-BQgcDXys.js +17 -0
  20. package/dist/cjs/check-BQgcDXys.js.map +1 -0
  21. package/dist/cjs/chevron-down-CPsWSS51.js +17 -0
  22. package/dist/cjs/chevron-down-CPsWSS51.js.map +1 -0
  23. package/dist/cjs/chevron-left-BldoOh5p.js +17 -0
  24. package/dist/cjs/chevron-left-BldoOh5p.js.map +1 -0
  25. package/dist/cjs/chevron-right-0jNdwX2Q.js +17 -0
  26. package/dist/cjs/chevron-right-0jNdwX2Q.js.map +1 -0
  27. package/dist/cjs/chevron-up-BpwpBnZU.js +17 -0
  28. package/dist/cjs/chevron-up-BpwpBnZU.js.map +1 -0
  29. package/dist/cjs/components/DataTable.js +53 -0
  30. package/dist/cjs/components/DataTable.js.map +1 -0
  31. package/dist/cjs/createLucideIcon-D0tRgV6l.js +149 -0
  32. package/dist/cjs/createLucideIcon-D0tRgV6l.js.map +1 -0
  33. package/dist/cjs/dialog-DzNWLbJ6.js +50 -0
  34. package/dist/cjs/dialog-DzNWLbJ6.js.map +1 -0
  35. package/dist/cjs/ellipsis-4aubOI2n.js +21 -0
  36. package/dist/cjs/ellipsis-4aubOI2n.js.map +1 -0
  37. package/dist/cjs/floating-ui.react-dom-B4Aw6O7R.js +2293 -0
  38. package/dist/cjs/floating-ui.react-dom-B4Aw6O7R.js.map +1 -0
  39. package/dist/cjs/index-9jC1advf.js +34 -0
  40. package/dist/cjs/index-9jC1advf.js.map +1 -0
  41. package/dist/cjs/index-BZhTddX0.js +47 -0
  42. package/dist/cjs/index-BZhTddX0.js.map +1 -0
  43. package/dist/cjs/index-Bf0WsHta.js +63 -0
  44. package/dist/cjs/index-Bf0WsHta.js.map +1 -0
  45. package/dist/cjs/index-BqCr1H3u.js +173 -0
  46. package/dist/cjs/index-BqCr1H3u.js.map +1 -0
  47. package/dist/cjs/index-BrpkRQoS.js +99 -0
  48. package/dist/cjs/index-BrpkRQoS.js.map +1 -0
  49. package/dist/cjs/index-Bvu9MiFi.js +247 -0
  50. package/dist/cjs/index-Bvu9MiFi.js.map +1 -0
  51. package/dist/cjs/index-BwAq9ba8.js +38 -0
  52. package/dist/cjs/index-BwAq9ba8.js.map +1 -0
  53. package/dist/cjs/index-C9ICrOhM.js +328 -0
  54. package/dist/cjs/index-C9ICrOhM.js.map +1 -0
  55. package/dist/cjs/index-CB9xFokC.js +59 -0
  56. package/dist/cjs/index-CB9xFokC.js.map +1 -0
  57. package/dist/cjs/index-CCdG4z4E.js +30 -0
  58. package/dist/cjs/index-CCdG4z4E.js.map +1 -0
  59. package/dist/cjs/index-CF951Pw9.js +38 -0
  60. package/dist/cjs/index-CF951Pw9.js.map +1 -0
  61. package/dist/cjs/index-CGUGhyIp.js +103 -0
  62. package/dist/cjs/index-CGUGhyIp.js.map +1 -0
  63. package/dist/cjs/index-CGet1HH4.js +953 -0
  64. package/dist/cjs/index-CGet1HH4.js.map +1 -0
  65. package/dist/cjs/index-COPkC3I5.js +14 -0
  66. package/dist/cjs/index-COPkC3I5.js.map +1 -0
  67. package/dist/cjs/index-Ch55j1or.js +176 -0
  68. package/dist/cjs/index-Ch55j1or.js.map +1 -0
  69. package/dist/cjs/index-ChSOMM8b.js +1153 -0
  70. package/dist/cjs/index-ChSOMM8b.js.map +1 -0
  71. package/dist/cjs/index-CyrAgb4H.js +93 -0
  72. package/dist/cjs/index-CyrAgb4H.js.map +1 -0
  73. package/dist/cjs/index-D-iDn9RI.js +63 -0
  74. package/dist/cjs/index-D-iDn9RI.js.map +1 -0
  75. package/dist/cjs/index-DAds6mf_.js +433 -0
  76. package/dist/cjs/index-DAds6mf_.js.map +1 -0
  77. package/dist/cjs/index-DMbj7vXd.js +152 -0
  78. package/dist/cjs/index-DMbj7vXd.js.map +1 -0
  79. package/dist/cjs/index-DR7GJU4J.js +248 -0
  80. package/dist/cjs/index-DR7GJU4J.js.map +1 -0
  81. package/dist/cjs/index-DcCSSgb7.js +153 -0
  82. package/dist/cjs/index-DcCSSgb7.js.map +1 -0
  83. package/dist/cjs/index-Df-Ffa3s.js +43 -0
  84. package/dist/cjs/index-Df-Ffa3s.js.map +1 -0
  85. package/dist/cjs/index-DnKJmaCq.js +8 -0
  86. package/dist/cjs/index-DnKJmaCq.js.map +1 -0
  87. package/dist/cjs/index-DuNgWCXZ.js +113 -0
  88. package/dist/cjs/index-DuNgWCXZ.js.map +1 -0
  89. package/dist/cjs/index-EyWRfsCG.js +9 -0
  90. package/dist/cjs/index-EyWRfsCG.js.map +1 -0
  91. package/dist/cjs/index-lWVw05cs.js +35 -0
  92. package/dist/cjs/index-lWVw05cs.js.map +1 -0
  93. package/dist/cjs/index.js +53 -66844
  94. package/dist/cjs/index.js.map +1 -1
  95. package/dist/cjs/input-CgKPISj_.js +11 -0
  96. package/dist/cjs/input-CgKPISj_.js.map +1 -0
  97. package/dist/cjs/input-group-DoK0-4fL.js +66 -0
  98. package/dist/cjs/input-group-DoK0-4fL.js.map +1 -0
  99. package/dist/cjs/label-Bdc9ytTI.js +52 -0
  100. package/dist/cjs/label-Bdc9ytTI.js.map +1 -0
  101. package/dist/cjs/loader-circle-Bw7zP2Gn.js +17 -0
  102. package/dist/cjs/loader-circle-Bw7zP2Gn.js.map +1 -0
  103. package/dist/cjs/primitives/Accordion.js +340 -0
  104. package/dist/cjs/primitives/Accordion.js.map +1 -0
  105. package/dist/cjs/primitives/Alert.js +40 -0
  106. package/dist/cjs/primitives/Alert.js.map +1 -0
  107. package/dist/cjs/primitives/AlertDialog.js +256 -0
  108. package/dist/cjs/primitives/AlertDialog.js.map +1 -0
  109. package/dist/cjs/primitives/AspectRatio.js +75 -0
  110. package/dist/cjs/primitives/AspectRatio.js.map +1 -0
  111. package/dist/cjs/primitives/Avatar.js +189 -0
  112. package/dist/cjs/primitives/Avatar.js.map +1 -0
  113. package/dist/cjs/primitives/Badge.js +34 -0
  114. package/dist/cjs/primitives/Badge.js.map +1 -0
  115. package/dist/cjs/primitives/Breadcrumb.js +50 -0
  116. package/dist/cjs/primitives/Breadcrumb.js.map +1 -0
  117. package/dist/cjs/primitives/Button.js +16 -0
  118. package/dist/cjs/primitives/Button.js.map +1 -0
  119. package/dist/cjs/primitives/ButtonGroup.js +43 -0
  120. package/dist/cjs/primitives/ButtonGroup.js.map +1 -0
  121. package/dist/cjs/primitives/Calendar.js +8030 -0
  122. package/dist/cjs/primitives/Calendar.js.map +1 -0
  123. package/dist/cjs/primitives/Card.js +43 -0
  124. package/dist/cjs/primitives/Card.js.map +1 -0
  125. package/dist/cjs/primitives/Carousel.js +1867 -0
  126. package/dist/cjs/primitives/Carousel.js.map +1 -0
  127. package/dist/cjs/primitives/Chart.js +18787 -0
  128. package/dist/cjs/primitives/Chart.js.map +1 -0
  129. package/dist/cjs/primitives/Checkbox.js +304 -0
  130. package/dist/cjs/primitives/Checkbox.js.map +1 -0
  131. package/dist/cjs/primitives/Collapsible.js +33 -0
  132. package/dist/cjs/primitives/Collapsible.js.map +1 -0
  133. package/dist/cjs/primitives/Combobox.js +10288 -0
  134. package/dist/cjs/primitives/Combobox.js.map +1 -0
  135. package/dist/cjs/primitives/Command.js +248 -0
  136. package/dist/cjs/primitives/Command.js.map +1 -0
  137. package/dist/cjs/primitives/ContextMenu.js +404 -0
  138. package/dist/cjs/primitives/ContextMenu.js.map +1 -0
  139. package/dist/cjs/primitives/Dialog.js +48 -0
  140. package/dist/cjs/primitives/Dialog.js.map +1 -0
  141. package/dist/cjs/primitives/Drawer.js +1715 -0
  142. package/dist/cjs/primitives/Drawer.js.map +1 -0
  143. package/dist/cjs/primitives/DropdownMenu.js +383 -0
  144. package/dist/cjs/primitives/DropdownMenu.js.map +1 -0
  145. package/dist/cjs/primitives/Empty.js +50 -0
  146. package/dist/cjs/primitives/Empty.js.map +1 -0
  147. package/dist/cjs/primitives/Field.js +95 -0
  148. package/dist/cjs/primitives/Field.js.map +1 -0
  149. package/dist/cjs/primitives/HoverCard.js +291 -0
  150. package/dist/cjs/primitives/HoverCard.js.map +1 -0
  151. package/dist/cjs/primitives/Input.js +10 -0
  152. package/dist/cjs/primitives/Input.js.map +1 -0
  153. package/dist/cjs/primitives/InputGroup.js +27 -0
  154. package/dist/cjs/primitives/InputGroup.js.map +1 -0
  155. package/dist/cjs/primitives/InputOTP.js +84 -0
  156. package/dist/cjs/primitives/InputOTP.js.map +1 -0
  157. package/dist/cjs/primitives/Item.js +96 -0
  158. package/dist/cjs/primitives/Item.js.map +1 -0
  159. package/dist/cjs/primitives/Kbd.js +18 -0
  160. package/dist/cjs/primitives/Kbd.js.map +1 -0
  161. package/dist/cjs/primitives/Label.js +14 -0
  162. package/dist/cjs/primitives/Label.js.map +1 -0
  163. package/dist/cjs/primitives/Menubar.js +547 -0
  164. package/dist/cjs/primitives/Menubar.js.map +1 -0
  165. package/dist/cjs/primitives/NativeSelect.js +26 -0
  166. package/dist/cjs/primitives/NativeSelect.js.map +1 -0
  167. package/dist/cjs/primitives/NavigationMenu.js +856 -0
  168. package/dist/cjs/primitives/NavigationMenu.js.map +1 -0
  169. package/dist/cjs/primitives/Pagination.js +52 -0
  170. package/dist/cjs/primitives/Pagination.js.map +1 -0
  171. package/dist/cjs/primitives/Popover.js +444 -0
  172. package/dist/cjs/primitives/Popover.js.map +1 -0
  173. package/dist/cjs/primitives/Progress.js +125 -0
  174. package/dist/cjs/primitives/Progress.js.map +1 -0
  175. package/dist/cjs/primitives/RadioGroup.js +322 -0
  176. package/dist/cjs/primitives/RadioGroup.js.map +1 -0
  177. package/dist/cjs/primitives/Resizable.js +2051 -0
  178. package/dist/cjs/primitives/Resizable.js.map +1 -0
  179. package/dist/cjs/primitives/ScrollArea.js +754 -0
  180. package/dist/cjs/primitives/ScrollArea.js.map +1 -0
  181. package/dist/cjs/primitives/Select.js +1318 -0
  182. package/dist/cjs/primitives/Select.js.map +1 -0
  183. package/dist/cjs/primitives/Separator.js +14 -0
  184. package/dist/cjs/primitives/Separator.js.map +1 -0
  185. package/dist/cjs/primitives/Sheet.js +44 -0
  186. package/dist/cjs/primitives/Sheet.js.map +1 -0
  187. package/dist/cjs/primitives/Sidebar.js +310 -0
  188. package/dist/cjs/primitives/Sidebar.js.map +1 -0
  189. package/dist/cjs/primitives/Skeleton.js +10 -0
  190. package/dist/cjs/primitives/Skeleton.js.map +1 -0
  191. package/dist/cjs/primitives/Slider.js +591 -0
  192. package/dist/cjs/primitives/Slider.js.map +1 -0
  193. package/dist/cjs/primitives/Sonner.js +1260 -0
  194. package/dist/cjs/primitives/Sonner.js.map +1 -0
  195. package/dist/cjs/primitives/Spinner.js +16 -0
  196. package/dist/cjs/primitives/Spinner.js.map +1 -0
  197. package/dist/cjs/primitives/Switch.js +184 -0
  198. package/dist/cjs/primitives/Switch.js.map +1 -0
  199. package/dist/cjs/primitives/Table.js +45 -0
  200. package/dist/cjs/primitives/Table.js.map +1 -0
  201. package/dist/cjs/primitives/Tabs.js +250 -0
  202. package/dist/cjs/primitives/Tabs.js.map +1 -0
  203. package/dist/cjs/primitives/Textarea.js +10 -0
  204. package/dist/cjs/primitives/Textarea.js.map +1 -0
  205. package/dist/cjs/primitives/Toggle.js +19 -0
  206. package/dist/cjs/primitives/Toggle.js.map +1 -0
  207. package/dist/cjs/primitives/ToggleGroup.js +221 -0
  208. package/dist/cjs/primitives/ToggleGroup.js.map +1 -0
  209. package/dist/cjs/primitives/Tooltip.js +33 -0
  210. package/dist/cjs/primitives/Tooltip.js.map +1 -0
  211. package/dist/cjs/primitives/Typography.js +105 -0
  212. package/dist/cjs/primitives/Typography.js.map +1 -0
  213. package/dist/cjs/primitives/index.js +422 -0
  214. package/dist/cjs/primitives/index.js.map +1 -0
  215. package/dist/cjs/reselect-CeyIIDM-.js +457 -0
  216. package/dist/cjs/reselect-CeyIIDM-.js.map +1 -0
  217. package/dist/cjs/separator-CPy2gyg1.js +58 -0
  218. package/dist/cjs/separator-CPy2gyg1.js.map +1 -0
  219. package/dist/cjs/sheet-nHSYZxAA.js +48 -0
  220. package/dist/cjs/sheet-nHSYZxAA.js.map +1 -0
  221. package/dist/cjs/skeleton-DffZ8bV7.js +11 -0
  222. package/dist/cjs/skeleton-DffZ8bV7.js.map +1 -0
  223. package/dist/cjs/textarea-CZSSY75H.js +11 -0
  224. package/dist/cjs/textarea-CZSSY75H.js.map +1 -0
  225. package/dist/cjs/toggle-CaqzT8dI.js +84 -0
  226. package/dist/cjs/toggle-CaqzT8dI.js.map +1 -0
  227. package/dist/cjs/tooltip-CRkOMh1b.js +542 -0
  228. package/dist/cjs/tooltip-CRkOMh1b.js.map +1 -0
  229. package/dist/cjs/use-mobile-B-UYxtqX.js +41 -0
  230. package/dist/cjs/use-mobile-B-UYxtqX.js.map +1 -0
  231. package/dist/cjs/utils-CTr7wn5d.js +3210 -0
  232. package/dist/cjs/utils-CTr7wn5d.js.map +1 -0
  233. package/dist/cjs/x-Brw3FJst.js +20 -0
  234. package/dist/cjs/x-Brw3FJst.js.map +1 -0
  235. package/dist/components/DataTable.js +41 -0
  236. package/dist/components/DataTable.js.map +1 -0
  237. package/dist/createLucideIcon-C8ycilSN.js +147 -0
  238. package/dist/createLucideIcon-C8ycilSN.js.map +1 -0
  239. package/dist/dialog-C97DOTvO.js +39 -0
  240. package/dist/dialog-C97DOTvO.js.map +1 -0
  241. package/dist/ellipsis-lb8Ws6br.js +19 -0
  242. package/dist/ellipsis-lb8Ws6br.js.map +1 -0
  243. package/dist/floating-ui.react-dom-CcGbtPEK.js +2243 -0
  244. package/dist/floating-ui.react-dom-CcGbtPEK.js.map +1 -0
  245. package/dist/index-0o2E3Cnw.js +146 -0
  246. package/dist/index-0o2E3Cnw.js.map +1 -0
  247. package/dist/index-30QpKM0j.js +16 -0
  248. package/dist/index-30QpKM0j.js.map +1 -0
  249. package/dist/index-B4_fVWDx.js +1129 -0
  250. package/dist/index-B4_fVWDx.js.map +1 -0
  251. package/dist/index-BA158WEj.js +12 -0
  252. package/dist/index-BA158WEj.js.map +1 -0
  253. package/dist/index-BNPynZWM.js +225 -0
  254. package/dist/index-BNPynZWM.js.map +1 -0
  255. package/dist/index-BYZaLNq1.js +41 -0
  256. package/dist/index-BYZaLNq1.js.map +1 -0
  257. package/dist/index-BfAAoDv6.js +7 -0
  258. package/dist/index-BfAAoDv6.js.map +1 -0
  259. package/dist/index-BtkPdosV.js +40 -0
  260. package/dist/index-BtkPdosV.js.map +1 -0
  261. package/dist/index-BwxI_qgh.js +915 -0
  262. package/dist/index-BwxI_qgh.js.map +1 -0
  263. package/dist/index-ByEpUy7w.js +302 -0
  264. package/dist/index-ByEpUy7w.js.map +1 -0
  265. package/dist/index-CSMSzzKM.js +93 -0
  266. package/dist/index-CSMSzzKM.js.map +1 -0
  267. package/dist/index-CSUSJzOJ.js +13 -0
  268. package/dist/index-CSUSJzOJ.js.map +1 -0
  269. package/dist/index-CSggBaQF.js +36 -0
  270. package/dist/index-CSggBaQF.js.map +1 -0
  271. package/dist/index-CfriMyrd.js +91 -0
  272. package/dist/index-CfriMyrd.js.map +1 -0
  273. package/dist/index-CiyxEyB0.js +80 -0
  274. package/dist/index-CiyxEyB0.js.map +1 -0
  275. package/dist/index-Cor698lu.js +71 -0
  276. package/dist/index-Cor698lu.js.map +1 -0
  277. package/dist/index-D7Zy7P05.js +45 -0
  278. package/dist/index-D7Zy7P05.js.map +1 -0
  279. package/dist/index-DNzunGHb.js +12 -0
  280. package/dist/index-DNzunGHb.js.map +1 -0
  281. package/dist/index-DOzu5J1s.js +8 -0
  282. package/dist/index-DOzu5J1s.js.map +1 -0
  283. package/dist/index-DZXbzIgC.js +6 -0
  284. package/dist/index-DZXbzIgC.js.map +1 -0
  285. package/dist/index-Dd1i1d2M.js +155 -0
  286. package/dist/index-Dd1i1d2M.js.map +1 -0
  287. package/dist/index-DhnfW8wQ.js +128 -0
  288. package/dist/index-DhnfW8wQ.js.map +1 -0
  289. package/dist/index-PF0ms7Xn.js +402 -0
  290. package/dist/index-PF0ms7Xn.js.map +1 -0
  291. package/dist/index-fV_U4ZJM.js +18 -0
  292. package/dist/index-fV_U4ZJM.js.map +1 -0
  293. package/dist/index-j_qxDBFl.js +224 -0
  294. package/dist/index-j_qxDBFl.js.map +1 -0
  295. package/dist/index-yFgkK_AM.js +131 -0
  296. package/dist/index-yFgkK_AM.js.map +1 -0
  297. package/dist/index-zW4GjM5L.js +16 -0
  298. package/dist/index-zW4GjM5L.js.map +1 -0
  299. package/dist/index.d.ts +0 -55
  300. package/dist/index.js +41 -66510
  301. package/dist/index.js.map +1 -1
  302. package/dist/input-GLCCE2kT.js +9 -0
  303. package/dist/input-GLCCE2kT.js.map +1 -0
  304. package/dist/input-group-CDBpz6Pb.js +59 -0
  305. package/dist/input-group-CDBpz6Pb.js.map +1 -0
  306. package/dist/label-B4qDF3W1.js +30 -0
  307. package/dist/label-B4qDF3W1.js.map +1 -0
  308. package/dist/loader-circle-DycHUAWN.js +15 -0
  309. package/dist/loader-circle-DycHUAWN.js.map +1 -0
  310. package/dist/primitives/Accordion.js +331 -0
  311. package/dist/primitives/Accordion.js.map +1 -0
  312. package/dist/primitives/Alert.js +35 -0
  313. package/dist/primitives/Alert.js.map +1 -0
  314. package/dist/primitives/AlertDialog.js +223 -0
  315. package/dist/primitives/AlertDialog.js.map +1 -0
  316. package/dist/primitives/AspectRatio.js +53 -0
  317. package/dist/primitives/AspectRatio.js.map +1 -0
  318. package/dist/primitives/Avatar.js +162 -0
  319. package/dist/primitives/Avatar.js.map +1 -0
  320. package/dist/primitives/Badge.js +31 -0
  321. package/dist/primitives/Badge.js.map +1 -0
  322. package/dist/primitives/Breadcrumb.js +42 -0
  323. package/dist/primitives/Breadcrumb.js.map +1 -0
  324. package/dist/{components → primitives}/Button.d.ts +1 -1
  325. package/dist/primitives/Button.js +14 -0
  326. package/dist/primitives/Button.js.map +1 -0
  327. package/dist/primitives/ButtonGroup.js +38 -0
  328. package/dist/primitives/ButtonGroup.js.map +1 -0
  329. package/dist/primitives/Calendar.js +8008 -0
  330. package/dist/primitives/Calendar.js.map +1 -0
  331. package/dist/primitives/Card.js +35 -0
  332. package/dist/primitives/Card.js.map +1 -0
  333. package/dist/{components → primitives}/Carousel.d.ts +1 -1
  334. package/dist/primitives/Carousel.js +1841 -0
  335. package/dist/primitives/Carousel.js.map +1 -0
  336. package/dist/primitives/Chart.js +18761 -0
  337. package/dist/primitives/Chart.js.map +1 -0
  338. package/dist/primitives/Checkbox.js +282 -0
  339. package/dist/primitives/Checkbox.js.map +1 -0
  340. package/dist/primitives/Collapsible.js +29 -0
  341. package/dist/primitives/Collapsible.js.map +1 -0
  342. package/dist/primitives/Combobox.js +10251 -0
  343. package/dist/primitives/Combobox.js.map +1 -0
  344. package/dist/primitives/Command.js +218 -0
  345. package/dist/primitives/Command.js.map +1 -0
  346. package/dist/primitives/ContextMenu.js +368 -0
  347. package/dist/primitives/ContextMenu.js.map +1 -0
  348. package/dist/primitives/Dialog.js +37 -0
  349. package/dist/primitives/Dialog.js.map +1 -0
  350. package/dist/primitives/Drawer.js +1685 -0
  351. package/dist/primitives/Drawer.js.map +1 -0
  352. package/dist/primitives/DropdownMenu.js +347 -0
  353. package/dist/primitives/DropdownMenu.js.map +1 -0
  354. package/dist/primitives/Empty.js +43 -0
  355. package/dist/primitives/Empty.js.map +1 -0
  356. package/dist/primitives/Field.js +84 -0
  357. package/dist/primitives/Field.js.map +1 -0
  358. package/dist/primitives/HoverCard.js +267 -0
  359. package/dist/primitives/HoverCard.js.map +1 -0
  360. package/dist/primitives/Input.js +8 -0
  361. package/dist/primitives/Input.js.map +1 -0
  362. package/dist/primitives/InputGroup.js +20 -0
  363. package/dist/primitives/InputGroup.js.map +1 -0
  364. package/dist/primitives/InputOTP.js +59 -0
  365. package/dist/primitives/InputOTP.js.map +1 -0
  366. package/dist/primitives/Item.js +85 -0
  367. package/dist/primitives/Item.js.map +1 -0
  368. package/dist/primitives/Kbd.js +15 -0
  369. package/dist/primitives/Kbd.js.map +1 -0
  370. package/dist/primitives/Label.js +12 -0
  371. package/dist/primitives/Label.js.map +1 -0
  372. package/dist/primitives/Menubar.js +510 -0
  373. package/dist/primitives/Menubar.js.map +1 -0
  374. package/dist/primitives/NativeSelect.js +22 -0
  375. package/dist/primitives/NativeSelect.js.map +1 -0
  376. package/dist/primitives/NavigationMenu.js +823 -0
  377. package/dist/primitives/NavigationMenu.js.map +1 -0
  378. package/dist/primitives/Pagination.js +44 -0
  379. package/dist/primitives/Pagination.js.map +1 -0
  380. package/dist/primitives/Popover.js +416 -0
  381. package/dist/primitives/Popover.js.map +1 -0
  382. package/dist/primitives/Progress.js +103 -0
  383. package/dist/primitives/Progress.js.map +1 -0
  384. package/dist/primitives/RadioGroup.js +299 -0
  385. package/dist/primitives/RadioGroup.js.map +1 -0
  386. package/dist/primitives/Resizable.js +2047 -0
  387. package/dist/primitives/Resizable.js.map +1 -0
  388. package/dist/primitives/ScrollArea.js +731 -0
  389. package/dist/primitives/ScrollArea.js.map +1 -0
  390. package/dist/primitives/Select.js +1286 -0
  391. package/dist/primitives/Select.js.map +1 -0
  392. package/dist/primitives/Separator.js +12 -0
  393. package/dist/primitives/Separator.js.map +1 -0
  394. package/dist/primitives/Sheet.js +35 -0
  395. package/dist/primitives/Sheet.js.map +1 -0
  396. package/dist/primitives/Sidebar.js +265 -0
  397. package/dist/primitives/Sidebar.js.map +1 -0
  398. package/dist/primitives/Skeleton.js +8 -0
  399. package/dist/primitives/Skeleton.js.map +1 -0
  400. package/dist/primitives/Slider.js +569 -0
  401. package/dist/primitives/Slider.js.map +1 -0
  402. package/dist/primitives/Sonner.js +1236 -0
  403. package/dist/primitives/Sonner.js.map +1 -0
  404. package/dist/primitives/Spinner.js +14 -0
  405. package/dist/primitives/Spinner.js.map +1 -0
  406. package/dist/primitives/Switch.js +162 -0
  407. package/dist/primitives/Switch.js.map +1 -0
  408. package/dist/primitives/Table.js +36 -0
  409. package/dist/primitives/Table.js.map +1 -0
  410. package/dist/primitives/Tabs.js +224 -0
  411. package/dist/primitives/Tabs.js.map +1 -0
  412. package/dist/primitives/Textarea.js +8 -0
  413. package/dist/primitives/Textarea.js.map +1 -0
  414. package/dist/primitives/Toggle.js +17 -0
  415. package/dist/primitives/Toggle.js.map +1 -0
  416. package/dist/primitives/ToggleGroup.js +199 -0
  417. package/dist/primitives/ToggleGroup.js.map +1 -0
  418. package/dist/primitives/Tooltip.js +28 -0
  419. package/dist/primitives/Tooltip.js.map +1 -0
  420. package/dist/{components → primitives}/Typography.d.ts +1 -1
  421. package/dist/primitives/Typography.js +83 -0
  422. package/dist/primitives/Typography.js.map +1 -0
  423. package/dist/primitives/index.d.ts +55 -0
  424. package/dist/primitives/index.js +110 -0
  425. package/dist/primitives/index.js.map +1 -0
  426. package/dist/reselect-CABQm5hA.js +448 -0
  427. package/dist/reselect-CABQm5hA.js.map +1 -0
  428. package/dist/separator-BbhgePmX.js +36 -0
  429. package/dist/separator-BbhgePmX.js.map +1 -0
  430. package/dist/shadcn/components/badge.d.ts +1 -1
  431. package/dist/shadcn/components/button.d.ts +2 -2
  432. package/dist/shadcn/components/typography.d.ts +2 -2
  433. package/dist/sheet-D1ngftfX.js +39 -0
  434. package/dist/sheet-D1ngftfX.js.map +1 -0
  435. package/dist/skeleton-AR83txPr.js +9 -0
  436. package/dist/skeleton-AR83txPr.js.map +1 -0
  437. package/dist/textarea-BSZwxzjQ.js +9 -0
  438. package/dist/textarea-BSZwxzjQ.js.map +1 -0
  439. package/dist/toggle-2k9K8a5c.js +60 -0
  440. package/dist/toggle-2k9K8a5c.js.map +1 -0
  441. package/dist/tooltip-D5soNrAP.js +517 -0
  442. package/dist/tooltip-D5soNrAP.js.map +1 -0
  443. package/dist/use-mobile-IRjN_mlT.js +19 -0
  444. package/dist/use-mobile-IRjN_mlT.js.map +1 -0
  445. package/dist/utils-DdHUxIdC.js +3207 -0
  446. package/dist/utils-DdHUxIdC.js.map +1 -0
  447. package/dist/x-_o2T3n6D.js +18 -0
  448. package/dist/x-_o2T3n6D.js.map +1 -0
  449. package/package.json +16 -1
  450. /package/dist/{components → primitives}/Accordion.d.ts +0 -0
  451. /package/dist/{components → primitives}/Alert.d.ts +0 -0
  452. /package/dist/{components → primitives}/AlertDialog.d.ts +0 -0
  453. /package/dist/{components → primitives}/AspectRatio.d.ts +0 -0
  454. /package/dist/{components → primitives}/Avatar.d.ts +0 -0
  455. /package/dist/{components → primitives}/Badge.d.ts +0 -0
  456. /package/dist/{components → primitives}/Breadcrumb.d.ts +0 -0
  457. /package/dist/{components → primitives}/ButtonGroup.d.ts +0 -0
  458. /package/dist/{components → primitives}/Calendar.d.ts +0 -0
  459. /package/dist/{components → primitives}/Card.d.ts +0 -0
  460. /package/dist/{components → primitives}/Chart.d.ts +0 -0
  461. /package/dist/{components → primitives}/Checkbox.d.ts +0 -0
  462. /package/dist/{components → primitives}/Collapsible.d.ts +0 -0
  463. /package/dist/{components → primitives}/Combobox.d.ts +0 -0
  464. /package/dist/{components → primitives}/Command.d.ts +0 -0
  465. /package/dist/{components → primitives}/ContextMenu.d.ts +0 -0
  466. /package/dist/{components → primitives}/Dialog.d.ts +0 -0
  467. /package/dist/{components → primitives}/Drawer.d.ts +0 -0
  468. /package/dist/{components → primitives}/DropdownMenu.d.ts +0 -0
  469. /package/dist/{components → primitives}/Empty.d.ts +0 -0
  470. /package/dist/{components → primitives}/Field.d.ts +0 -0
  471. /package/dist/{components → primitives}/HoverCard.d.ts +0 -0
  472. /package/dist/{components → primitives}/Input.d.ts +0 -0
  473. /package/dist/{components → primitives}/InputGroup.d.ts +0 -0
  474. /package/dist/{components → primitives}/InputOTP.d.ts +0 -0
  475. /package/dist/{components → primitives}/Item.d.ts +0 -0
  476. /package/dist/{components → primitives}/Kbd.d.ts +0 -0
  477. /package/dist/{components → primitives}/Label.d.ts +0 -0
  478. /package/dist/{components → primitives}/Menubar.d.ts +0 -0
  479. /package/dist/{components → primitives}/NativeSelect.d.ts +0 -0
  480. /package/dist/{components → primitives}/NavigationMenu.d.ts +0 -0
  481. /package/dist/{components → primitives}/Pagination.d.ts +0 -0
  482. /package/dist/{components → primitives}/Popover.d.ts +0 -0
  483. /package/dist/{components → primitives}/Progress.d.ts +0 -0
  484. /package/dist/{components → primitives}/RadioGroup.d.ts +0 -0
  485. /package/dist/{components → primitives}/Resizable.d.ts +0 -0
  486. /package/dist/{components → primitives}/ScrollArea.d.ts +0 -0
  487. /package/dist/{components → primitives}/Select.d.ts +0 -0
  488. /package/dist/{components → primitives}/Separator.d.ts +0 -0
  489. /package/dist/{components → primitives}/Sheet.d.ts +0 -0
  490. /package/dist/{components → primitives}/Sidebar.d.ts +0 -0
  491. /package/dist/{components → primitives}/Skeleton.d.ts +0 -0
  492. /package/dist/{components → primitives}/Slider.d.ts +0 -0
  493. /package/dist/{components → primitives}/Sonner.d.ts +0 -0
  494. /package/dist/{components → primitives}/Spinner.d.ts +0 -0
  495. /package/dist/{components → primitives}/Switch.d.ts +0 -0
  496. /package/dist/{components → primitives}/Table.d.ts +0 -0
  497. /package/dist/{components → primitives}/Tabs.d.ts +0 -0
  498. /package/dist/{components → primitives}/Textarea.d.ts +0 -0
  499. /package/dist/{components → primitives}/Toggle.d.ts +0 -0
  500. /package/dist/{components → primitives}/ToggleGroup.d.ts +0 -0
  501. /package/dist/{components → primitives}/Tooltip.d.ts +0 -0
@@ -0,0 +1,953 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var index$4 = require('./index-COPkC3I5.js');
5
+ var index$b = require('./index-Ch55j1or.js');
6
+ var index = require('./index-D-iDn9RI.js');
7
+ var index$9 = require('./index-CGUGhyIp.js');
8
+ var index$2 = require('./index-9jC1advf.js');
9
+ var index$d = require('./index-Bvu9MiFi.js');
10
+ var index$c = require('./index-ChSOMM8b.js');
11
+ var index$8 = require('./index-BwAq9ba8.js');
12
+ var index$3 = require('./index-C9ICrOhM.js');
13
+ var index$7 = require('./index-Df-Ffa3s.js');
14
+ var index$5 = require('./index-DcCSSgb7.js');
15
+ var index$6 = require('./index-DMbj7vXd.js');
16
+ var index$a = require('./index-DR7GJU4J.js');
17
+ var jsxRuntime = require('react/jsx-runtime');
18
+ var index$1 = require('./index-lWVw05cs.js');
19
+
20
+ function _interopNamespace(e) {
21
+ if (e && e.__esModule) return e;
22
+ var n = Object.create(null);
23
+ if (e) {
24
+ Object.keys(e).forEach(function (k) {
25
+ if (k !== 'default') {
26
+ var d = Object.getOwnPropertyDescriptor(e, k);
27
+ Object.defineProperty(n, k, d.get ? d : {
28
+ enumerable: true,
29
+ get: function () { return e[k]; }
30
+ });
31
+ }
32
+ });
33
+ }
34
+ n.default = e;
35
+ return Object.freeze(n);
36
+ }
37
+
38
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
39
+
40
+ // src/slot.tsx
41
+ // @__NO_SIDE_EFFECTS__
42
+ function createSlot(ownerName) {
43
+ const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
44
+ const Slot2 = React__namespace.forwardRef((props, forwardedRef) => {
45
+ const { children, ...slotProps } = props;
46
+ const childrenArray = React__namespace.Children.toArray(children);
47
+ const slottable = childrenArray.find(isSlottable);
48
+ if (slottable) {
49
+ const newElement = slottable.props.children;
50
+ const newChildren = childrenArray.map((child) => {
51
+ if (child === slottable) {
52
+ if (React__namespace.Children.count(newElement) > 1) return React__namespace.Children.only(null);
53
+ return React__namespace.isValidElement(newElement) ? newElement.props.children : null;
54
+ } else {
55
+ return child;
56
+ }
57
+ });
58
+ return /* @__PURE__ */ jsxRuntime.jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React__namespace.isValidElement(newElement) ? React__namespace.cloneElement(newElement, void 0, newChildren) : null });
59
+ }
60
+ return /* @__PURE__ */ jsxRuntime.jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
61
+ });
62
+ Slot2.displayName = `${ownerName}.Slot`;
63
+ return Slot2;
64
+ }
65
+ // @__NO_SIDE_EFFECTS__
66
+ function createSlotClone(ownerName) {
67
+ const SlotClone = React__namespace.forwardRef((props, forwardedRef) => {
68
+ const { children, ...slotProps } = props;
69
+ if (React__namespace.isValidElement(children)) {
70
+ const childrenRef = getElementRef(children);
71
+ const props2 = mergeProps(slotProps, children.props);
72
+ if (children.type !== React__namespace.Fragment) {
73
+ props2.ref = forwardedRef ? index.composeRefs(forwardedRef, childrenRef) : childrenRef;
74
+ }
75
+ return React__namespace.cloneElement(children, props2);
76
+ }
77
+ return React__namespace.Children.count(children) > 1 ? React__namespace.Children.only(null) : null;
78
+ });
79
+ SlotClone.displayName = `${ownerName}.SlotClone`;
80
+ return SlotClone;
81
+ }
82
+ var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
83
+ function isSlottable(child) {
84
+ return React__namespace.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
85
+ }
86
+ function mergeProps(slotProps, childProps) {
87
+ const overrideProps = { ...childProps };
88
+ for (const propName in childProps) {
89
+ const slotPropValue = slotProps[propName];
90
+ const childPropValue = childProps[propName];
91
+ const isHandler = /^on[A-Z]/.test(propName);
92
+ if (isHandler) {
93
+ if (slotPropValue && childPropValue) {
94
+ overrideProps[propName] = (...args) => {
95
+ const result = childPropValue(...args);
96
+ slotPropValue(...args);
97
+ return result;
98
+ };
99
+ } else if (slotPropValue) {
100
+ overrideProps[propName] = slotPropValue;
101
+ }
102
+ } else if (propName === "style") {
103
+ overrideProps[propName] = { ...slotPropValue, ...childPropValue };
104
+ } else if (propName === "className") {
105
+ overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
106
+ }
107
+ }
108
+ return { ...slotProps, ...overrideProps };
109
+ }
110
+ function getElementRef(element) {
111
+ let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
112
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
113
+ if (mayWarn) {
114
+ return element.ref;
115
+ }
116
+ getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
117
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
118
+ if (mayWarn) {
119
+ return element.props.ref;
120
+ }
121
+ return element.props.ref || element.ref;
122
+ }
123
+
124
+ var SELECTION_KEYS = ["Enter", " "];
125
+ var FIRST_KEYS = ["ArrowDown", "PageUp", "Home"];
126
+ var LAST_KEYS = ["ArrowUp", "PageDown", "End"];
127
+ var FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];
128
+ var SUB_OPEN_KEYS = {
129
+ ltr: [...SELECTION_KEYS, "ArrowRight"],
130
+ rtl: [...SELECTION_KEYS, "ArrowLeft"]
131
+ };
132
+ var SUB_CLOSE_KEYS = {
133
+ ltr: ["ArrowLeft"],
134
+ rtl: ["ArrowRight"]
135
+ };
136
+ var MENU_NAME = "Menu";
137
+ var [Collection, useCollection, createCollectionScope] = index$b.createCollection(MENU_NAME);
138
+ var [createMenuContext, createMenuScope] = index$9.createContextScope(MENU_NAME, [
139
+ createCollectionScope,
140
+ index$3.createPopperScope,
141
+ index$a.createRovingFocusGroupScope
142
+ ]);
143
+ var usePopperScope = index$3.createPopperScope();
144
+ var useRovingFocusGroupScope = index$a.createRovingFocusGroupScope();
145
+ var [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);
146
+ var [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);
147
+ var Menu = (props) => {
148
+ const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;
149
+ const popperScope = usePopperScope(__scopeMenu);
150
+ const [content, setContent] = React__namespace.useState(null);
151
+ const isUsingKeyboardRef = React__namespace.useRef(false);
152
+ const handleOpenChange = index$1.useCallbackRef(onOpenChange);
153
+ const direction = index$2.useDirection(dir);
154
+ React__namespace.useEffect(() => {
155
+ const handleKeyDown = () => {
156
+ isUsingKeyboardRef.current = true;
157
+ document.addEventListener("pointerdown", handlePointer, { capture: true, once: true });
158
+ document.addEventListener("pointermove", handlePointer, { capture: true, once: true });
159
+ };
160
+ const handlePointer = () => isUsingKeyboardRef.current = false;
161
+ document.addEventListener("keydown", handleKeyDown, { capture: true });
162
+ return () => {
163
+ document.removeEventListener("keydown", handleKeyDown, { capture: true });
164
+ document.removeEventListener("pointerdown", handlePointer, { capture: true });
165
+ document.removeEventListener("pointermove", handlePointer, { capture: true });
166
+ };
167
+ }, []);
168
+ return /* @__PURE__ */ jsxRuntime.jsx(index$3.Root2, { ...popperScope, children: /* @__PURE__ */ jsxRuntime.jsx(
169
+ MenuProvider,
170
+ {
171
+ scope: __scopeMenu,
172
+ open,
173
+ onOpenChange: handleOpenChange,
174
+ content,
175
+ onContentChange: setContent,
176
+ children: /* @__PURE__ */ jsxRuntime.jsx(
177
+ MenuRootProvider,
178
+ {
179
+ scope: __scopeMenu,
180
+ onClose: React__namespace.useCallback(() => handleOpenChange(false), [handleOpenChange]),
181
+ isUsingKeyboardRef,
182
+ dir: direction,
183
+ modal,
184
+ children
185
+ }
186
+ )
187
+ }
188
+ ) });
189
+ };
190
+ Menu.displayName = MENU_NAME;
191
+ var ANCHOR_NAME = "MenuAnchor";
192
+ var MenuAnchor = React__namespace.forwardRef(
193
+ (props, forwardedRef) => {
194
+ const { __scopeMenu, ...anchorProps } = props;
195
+ const popperScope = usePopperScope(__scopeMenu);
196
+ return /* @__PURE__ */ jsxRuntime.jsx(index$3.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });
197
+ }
198
+ );
199
+ MenuAnchor.displayName = ANCHOR_NAME;
200
+ var PORTAL_NAME = "MenuPortal";
201
+ var [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {
202
+ forceMount: void 0
203
+ });
204
+ var MenuPortal = (props) => {
205
+ const { __scopeMenu, forceMount, children, container } = props;
206
+ const context = useMenuContext(PORTAL_NAME, __scopeMenu);
207
+ return /* @__PURE__ */ jsxRuntime.jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsxRuntime.jsx(index$5.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsxRuntime.jsx(index$7.Portal, { asChild: true, container, children }) }) });
208
+ };
209
+ MenuPortal.displayName = PORTAL_NAME;
210
+ var CONTENT_NAME = "MenuContent";
211
+ var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);
212
+ var MenuContent = React__namespace.forwardRef(
213
+ (props, forwardedRef) => {
214
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);
215
+ const { forceMount = portalContext.forceMount, ...contentProps } = props;
216
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
217
+ const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);
218
+ return /* @__PURE__ */ jsxRuntime.jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsxRuntime.jsx(index$5.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsxRuntime.jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsxRuntime.jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsxRuntime.jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });
219
+ }
220
+ );
221
+ var MenuRootContentModal = React__namespace.forwardRef(
222
+ (props, forwardedRef) => {
223
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
224
+ const ref = React__namespace.useRef(null);
225
+ const composedRefs = index.useComposedRefs(forwardedRef, ref);
226
+ React__namespace.useEffect(() => {
227
+ const content = ref.current;
228
+ if (content) return index$c.hideOthers(content);
229
+ }, []);
230
+ return /* @__PURE__ */ jsxRuntime.jsx(
231
+ MenuContentImpl,
232
+ {
233
+ ...props,
234
+ ref: composedRefs,
235
+ trapFocus: context.open,
236
+ disableOutsidePointerEvents: context.open,
237
+ disableOutsideScroll: true,
238
+ onFocusOutside: index$4.composeEventHandlers(
239
+ props.onFocusOutside,
240
+ (event) => event.preventDefault(),
241
+ { checkForDefaultPrevented: false }
242
+ ),
243
+ onDismiss: () => context.onOpenChange(false)
244
+ }
245
+ );
246
+ }
247
+ );
248
+ var MenuRootContentNonModal = React__namespace.forwardRef((props, forwardedRef) => {
249
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
250
+ return /* @__PURE__ */ jsxRuntime.jsx(
251
+ MenuContentImpl,
252
+ {
253
+ ...props,
254
+ ref: forwardedRef,
255
+ trapFocus: false,
256
+ disableOutsidePointerEvents: false,
257
+ disableOutsideScroll: false,
258
+ onDismiss: () => context.onOpenChange(false)
259
+ }
260
+ );
261
+ });
262
+ var Slot = createSlot("MenuContent.ScrollLock");
263
+ var MenuContentImpl = React__namespace.forwardRef(
264
+ (props, forwardedRef) => {
265
+ const {
266
+ __scopeMenu,
267
+ loop = false,
268
+ trapFocus,
269
+ onOpenAutoFocus,
270
+ onCloseAutoFocus,
271
+ disableOutsidePointerEvents,
272
+ onEntryFocus,
273
+ onEscapeKeyDown,
274
+ onPointerDownOutside,
275
+ onFocusOutside,
276
+ onInteractOutside,
277
+ onDismiss,
278
+ disableOutsideScroll,
279
+ ...contentProps
280
+ } = props;
281
+ const context = useMenuContext(CONTENT_NAME, __scopeMenu);
282
+ const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);
283
+ const popperScope = usePopperScope(__scopeMenu);
284
+ const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);
285
+ const getItems = useCollection(__scopeMenu);
286
+ const [currentItemId, setCurrentItemId] = React__namespace.useState(null);
287
+ const contentRef = React__namespace.useRef(null);
288
+ const composedRefs = index.useComposedRefs(forwardedRef, contentRef, context.onContentChange);
289
+ const timerRef = React__namespace.useRef(0);
290
+ const searchRef = React__namespace.useRef("");
291
+ const pointerGraceTimerRef = React__namespace.useRef(0);
292
+ const pointerGraceIntentRef = React__namespace.useRef(null);
293
+ const pointerDirRef = React__namespace.useRef("right");
294
+ const lastPointerXRef = React__namespace.useRef(0);
295
+ const ScrollLockWrapper = disableOutsideScroll ? index$c.ReactRemoveScroll : React__namespace.Fragment;
296
+ const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;
297
+ const handleTypeaheadSearch = (key) => {
298
+ const search = searchRef.current + key;
299
+ const items = getItems().filter((item) => !item.disabled);
300
+ const currentItem = document.activeElement;
301
+ const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;
302
+ const values = items.map((item) => item.textValue);
303
+ const nextMatch = getNextMatch(values, search, currentMatch);
304
+ const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;
305
+ (function updateSearch(value) {
306
+ searchRef.current = value;
307
+ window.clearTimeout(timerRef.current);
308
+ if (value !== "") timerRef.current = window.setTimeout(() => updateSearch(""), 1e3);
309
+ })(search);
310
+ if (newItem) {
311
+ setTimeout(() => newItem.focus());
312
+ }
313
+ };
314
+ React__namespace.useEffect(() => {
315
+ return () => window.clearTimeout(timerRef.current);
316
+ }, []);
317
+ index$c.useFocusGuards();
318
+ const isPointerMovingToSubmenu = React__namespace.useCallback((event) => {
319
+ const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;
320
+ return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);
321
+ }, []);
322
+ return /* @__PURE__ */ jsxRuntime.jsx(
323
+ MenuContentProvider,
324
+ {
325
+ scope: __scopeMenu,
326
+ searchRef,
327
+ onItemEnter: React__namespace.useCallback(
328
+ (event) => {
329
+ if (isPointerMovingToSubmenu(event)) event.preventDefault();
330
+ },
331
+ [isPointerMovingToSubmenu]
332
+ ),
333
+ onItemLeave: React__namespace.useCallback(
334
+ (event) => {
335
+ if (isPointerMovingToSubmenu(event)) return;
336
+ contentRef.current?.focus();
337
+ setCurrentItemId(null);
338
+ },
339
+ [isPointerMovingToSubmenu]
340
+ ),
341
+ onTriggerLeave: React__namespace.useCallback(
342
+ (event) => {
343
+ if (isPointerMovingToSubmenu(event)) event.preventDefault();
344
+ },
345
+ [isPointerMovingToSubmenu]
346
+ ),
347
+ pointerGraceTimerRef,
348
+ onPointerGraceIntentChange: React__namespace.useCallback((intent) => {
349
+ pointerGraceIntentRef.current = intent;
350
+ }, []),
351
+ children: /* @__PURE__ */ jsxRuntime.jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsxRuntime.jsx(
352
+ index$c.FocusScope,
353
+ {
354
+ asChild: true,
355
+ trapped: trapFocus,
356
+ onMountAutoFocus: index$4.composeEventHandlers(onOpenAutoFocus, (event) => {
357
+ event.preventDefault();
358
+ contentRef.current?.focus({ preventScroll: true });
359
+ }),
360
+ onUnmountAutoFocus: onCloseAutoFocus,
361
+ children: /* @__PURE__ */ jsxRuntime.jsx(
362
+ index$d.DismissableLayer,
363
+ {
364
+ asChild: true,
365
+ disableOutsidePointerEvents,
366
+ onEscapeKeyDown,
367
+ onPointerDownOutside,
368
+ onFocusOutside,
369
+ onInteractOutside,
370
+ onDismiss,
371
+ children: /* @__PURE__ */ jsxRuntime.jsx(
372
+ index$a.Root,
373
+ {
374
+ asChild: true,
375
+ ...rovingFocusGroupScope,
376
+ dir: rootContext.dir,
377
+ orientation: "vertical",
378
+ loop,
379
+ currentTabStopId: currentItemId,
380
+ onCurrentTabStopIdChange: setCurrentItemId,
381
+ onEntryFocus: index$4.composeEventHandlers(onEntryFocus, (event) => {
382
+ if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();
383
+ }),
384
+ preventScrollOnEntryFocus: true,
385
+ children: /* @__PURE__ */ jsxRuntime.jsx(
386
+ index$3.Content,
387
+ {
388
+ role: "menu",
389
+ "aria-orientation": "vertical",
390
+ "data-state": getOpenState(context.open),
391
+ "data-radix-menu-content": "",
392
+ dir: rootContext.dir,
393
+ ...popperScope,
394
+ ...contentProps,
395
+ ref: composedRefs,
396
+ style: { outline: "none", ...contentProps.style },
397
+ onKeyDown: index$4.composeEventHandlers(contentProps.onKeyDown, (event) => {
398
+ const target = event.target;
399
+ const isKeyDownInside = target.closest("[data-radix-menu-content]") === event.currentTarget;
400
+ const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
401
+ const isCharacterKey = event.key.length === 1;
402
+ if (isKeyDownInside) {
403
+ if (event.key === "Tab") event.preventDefault();
404
+ if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);
405
+ }
406
+ const content = contentRef.current;
407
+ if (event.target !== content) return;
408
+ if (!FIRST_LAST_KEYS.includes(event.key)) return;
409
+ event.preventDefault();
410
+ const items = getItems().filter((item) => !item.disabled);
411
+ const candidateNodes = items.map((item) => item.ref.current);
412
+ if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();
413
+ focusFirst(candidateNodes);
414
+ }),
415
+ onBlur: index$4.composeEventHandlers(props.onBlur, (event) => {
416
+ if (!event.currentTarget.contains(event.target)) {
417
+ window.clearTimeout(timerRef.current);
418
+ searchRef.current = "";
419
+ }
420
+ }),
421
+ onPointerMove: index$4.composeEventHandlers(
422
+ props.onPointerMove,
423
+ whenMouse((event) => {
424
+ const target = event.target;
425
+ const pointerXHasChanged = lastPointerXRef.current !== event.clientX;
426
+ if (event.currentTarget.contains(target) && pointerXHasChanged) {
427
+ const newDir = event.clientX > lastPointerXRef.current ? "right" : "left";
428
+ pointerDirRef.current = newDir;
429
+ lastPointerXRef.current = event.clientX;
430
+ }
431
+ })
432
+ )
433
+ }
434
+ )
435
+ }
436
+ )
437
+ }
438
+ )
439
+ }
440
+ ) })
441
+ }
442
+ );
443
+ }
444
+ );
445
+ MenuContent.displayName = CONTENT_NAME;
446
+ var GROUP_NAME = "MenuGroup";
447
+ var MenuGroup = React__namespace.forwardRef(
448
+ (props, forwardedRef) => {
449
+ const { __scopeMenu, ...groupProps } = props;
450
+ return /* @__PURE__ */ jsxRuntime.jsx(index$6.Primitive.div, { role: "group", ...groupProps, ref: forwardedRef });
451
+ }
452
+ );
453
+ MenuGroup.displayName = GROUP_NAME;
454
+ var LABEL_NAME = "MenuLabel";
455
+ var MenuLabel = React__namespace.forwardRef(
456
+ (props, forwardedRef) => {
457
+ const { __scopeMenu, ...labelProps } = props;
458
+ return /* @__PURE__ */ jsxRuntime.jsx(index$6.Primitive.div, { ...labelProps, ref: forwardedRef });
459
+ }
460
+ );
461
+ MenuLabel.displayName = LABEL_NAME;
462
+ var ITEM_NAME = "MenuItem";
463
+ var ITEM_SELECT = "menu.itemSelect";
464
+ var MenuItem = React__namespace.forwardRef(
465
+ (props, forwardedRef) => {
466
+ const { disabled = false, onSelect, ...itemProps } = props;
467
+ const ref = React__namespace.useRef(null);
468
+ const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);
469
+ const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);
470
+ const composedRefs = index.useComposedRefs(forwardedRef, ref);
471
+ const isPointerDownRef = React__namespace.useRef(false);
472
+ const handleSelect = () => {
473
+ const menuItem = ref.current;
474
+ if (!disabled && menuItem) {
475
+ const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });
476
+ menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });
477
+ index$6.dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);
478
+ if (itemSelectEvent.defaultPrevented) {
479
+ isPointerDownRef.current = false;
480
+ } else {
481
+ rootContext.onClose();
482
+ }
483
+ }
484
+ };
485
+ return /* @__PURE__ */ jsxRuntime.jsx(
486
+ MenuItemImpl,
487
+ {
488
+ ...itemProps,
489
+ ref: composedRefs,
490
+ disabled,
491
+ onClick: index$4.composeEventHandlers(props.onClick, handleSelect),
492
+ onPointerDown: (event) => {
493
+ props.onPointerDown?.(event);
494
+ isPointerDownRef.current = true;
495
+ },
496
+ onPointerUp: index$4.composeEventHandlers(props.onPointerUp, (event) => {
497
+ if (!isPointerDownRef.current) event.currentTarget?.click();
498
+ }),
499
+ onKeyDown: index$4.composeEventHandlers(props.onKeyDown, (event) => {
500
+ const isTypingAhead = contentContext.searchRef.current !== "";
501
+ if (disabled || isTypingAhead && event.key === " ") return;
502
+ if (SELECTION_KEYS.includes(event.key)) {
503
+ event.currentTarget.click();
504
+ event.preventDefault();
505
+ }
506
+ })
507
+ }
508
+ );
509
+ }
510
+ );
511
+ MenuItem.displayName = ITEM_NAME;
512
+ var MenuItemImpl = React__namespace.forwardRef(
513
+ (props, forwardedRef) => {
514
+ const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;
515
+ const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);
516
+ const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);
517
+ const ref = React__namespace.useRef(null);
518
+ const composedRefs = index.useComposedRefs(forwardedRef, ref);
519
+ const [isFocused, setIsFocused] = React__namespace.useState(false);
520
+ const [textContent, setTextContent] = React__namespace.useState("");
521
+ React__namespace.useEffect(() => {
522
+ const menuItem = ref.current;
523
+ if (menuItem) {
524
+ setTextContent((menuItem.textContent ?? "").trim());
525
+ }
526
+ }, [itemProps.children]);
527
+ return /* @__PURE__ */ jsxRuntime.jsx(
528
+ Collection.ItemSlot,
529
+ {
530
+ scope: __scopeMenu,
531
+ disabled,
532
+ textValue: textValue ?? textContent,
533
+ children: /* @__PURE__ */ jsxRuntime.jsx(index$a.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsxRuntime.jsx(
534
+ index$6.Primitive.div,
535
+ {
536
+ role: "menuitem",
537
+ "data-highlighted": isFocused ? "" : void 0,
538
+ "aria-disabled": disabled || void 0,
539
+ "data-disabled": disabled ? "" : void 0,
540
+ ...itemProps,
541
+ ref: composedRefs,
542
+ onPointerMove: index$4.composeEventHandlers(
543
+ props.onPointerMove,
544
+ whenMouse((event) => {
545
+ if (disabled) {
546
+ contentContext.onItemLeave(event);
547
+ } else {
548
+ contentContext.onItemEnter(event);
549
+ if (!event.defaultPrevented) {
550
+ const item = event.currentTarget;
551
+ item.focus({ preventScroll: true });
552
+ }
553
+ }
554
+ })
555
+ ),
556
+ onPointerLeave: index$4.composeEventHandlers(
557
+ props.onPointerLeave,
558
+ whenMouse((event) => contentContext.onItemLeave(event))
559
+ ),
560
+ onFocus: index$4.composeEventHandlers(props.onFocus, () => setIsFocused(true)),
561
+ onBlur: index$4.composeEventHandlers(props.onBlur, () => setIsFocused(false))
562
+ }
563
+ ) })
564
+ }
565
+ );
566
+ }
567
+ );
568
+ var CHECKBOX_ITEM_NAME = "MenuCheckboxItem";
569
+ var MenuCheckboxItem = React__namespace.forwardRef(
570
+ (props, forwardedRef) => {
571
+ const { checked = false, onCheckedChange, ...checkboxItemProps } = props;
572
+ return /* @__PURE__ */ jsxRuntime.jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsxRuntime.jsx(
573
+ MenuItem,
574
+ {
575
+ role: "menuitemcheckbox",
576
+ "aria-checked": isIndeterminate(checked) ? "mixed" : checked,
577
+ ...checkboxItemProps,
578
+ ref: forwardedRef,
579
+ "data-state": getCheckedState(checked),
580
+ onSelect: index$4.composeEventHandlers(
581
+ checkboxItemProps.onSelect,
582
+ () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),
583
+ { checkForDefaultPrevented: false }
584
+ )
585
+ }
586
+ ) });
587
+ }
588
+ );
589
+ MenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
590
+ var RADIO_GROUP_NAME = "MenuRadioGroup";
591
+ var [RadioGroupProvider, useRadioGroupContext] = createMenuContext(
592
+ RADIO_GROUP_NAME,
593
+ { value: void 0, onValueChange: () => {
594
+ } }
595
+ );
596
+ var MenuRadioGroup = React__namespace.forwardRef(
597
+ (props, forwardedRef) => {
598
+ const { value, onValueChange, ...groupProps } = props;
599
+ const handleValueChange = index$1.useCallbackRef(onValueChange);
600
+ return /* @__PURE__ */ jsxRuntime.jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsxRuntime.jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });
601
+ }
602
+ );
603
+ MenuRadioGroup.displayName = RADIO_GROUP_NAME;
604
+ var RADIO_ITEM_NAME = "MenuRadioItem";
605
+ var MenuRadioItem = React__namespace.forwardRef(
606
+ (props, forwardedRef) => {
607
+ const { value, ...radioItemProps } = props;
608
+ const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);
609
+ const checked = value === context.value;
610
+ return /* @__PURE__ */ jsxRuntime.jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsxRuntime.jsx(
611
+ MenuItem,
612
+ {
613
+ role: "menuitemradio",
614
+ "aria-checked": checked,
615
+ ...radioItemProps,
616
+ ref: forwardedRef,
617
+ "data-state": getCheckedState(checked),
618
+ onSelect: index$4.composeEventHandlers(
619
+ radioItemProps.onSelect,
620
+ () => context.onValueChange?.(value),
621
+ { checkForDefaultPrevented: false }
622
+ )
623
+ }
624
+ ) });
625
+ }
626
+ );
627
+ MenuRadioItem.displayName = RADIO_ITEM_NAME;
628
+ var ITEM_INDICATOR_NAME = "MenuItemIndicator";
629
+ var [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(
630
+ ITEM_INDICATOR_NAME,
631
+ { checked: false }
632
+ );
633
+ var MenuItemIndicator = React__namespace.forwardRef(
634
+ (props, forwardedRef) => {
635
+ const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;
636
+ const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);
637
+ return /* @__PURE__ */ jsxRuntime.jsx(
638
+ index$5.Presence,
639
+ {
640
+ present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,
641
+ children: /* @__PURE__ */ jsxRuntime.jsx(
642
+ index$6.Primitive.span,
643
+ {
644
+ ...itemIndicatorProps,
645
+ ref: forwardedRef,
646
+ "data-state": getCheckedState(indicatorContext.checked)
647
+ }
648
+ )
649
+ }
650
+ );
651
+ }
652
+ );
653
+ MenuItemIndicator.displayName = ITEM_INDICATOR_NAME;
654
+ var SEPARATOR_NAME = "MenuSeparator";
655
+ var MenuSeparator = React__namespace.forwardRef(
656
+ (props, forwardedRef) => {
657
+ const { __scopeMenu, ...separatorProps } = props;
658
+ return /* @__PURE__ */ jsxRuntime.jsx(
659
+ index$6.Primitive.div,
660
+ {
661
+ role: "separator",
662
+ "aria-orientation": "horizontal",
663
+ ...separatorProps,
664
+ ref: forwardedRef
665
+ }
666
+ );
667
+ }
668
+ );
669
+ MenuSeparator.displayName = SEPARATOR_NAME;
670
+ var ARROW_NAME = "MenuArrow";
671
+ var MenuArrow = React__namespace.forwardRef(
672
+ (props, forwardedRef) => {
673
+ const { __scopeMenu, ...arrowProps } = props;
674
+ const popperScope = usePopperScope(__scopeMenu);
675
+ return /* @__PURE__ */ jsxRuntime.jsx(index$3.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
676
+ }
677
+ );
678
+ MenuArrow.displayName = ARROW_NAME;
679
+ var SUB_NAME = "MenuSub";
680
+ var [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);
681
+ var MenuSub = (props) => {
682
+ const { __scopeMenu, children, open = false, onOpenChange } = props;
683
+ const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);
684
+ const popperScope = usePopperScope(__scopeMenu);
685
+ const [trigger, setTrigger] = React__namespace.useState(null);
686
+ const [content, setContent] = React__namespace.useState(null);
687
+ const handleOpenChange = index$1.useCallbackRef(onOpenChange);
688
+ React__namespace.useEffect(() => {
689
+ if (parentMenuContext.open === false) handleOpenChange(false);
690
+ return () => handleOpenChange(false);
691
+ }, [parentMenuContext.open, handleOpenChange]);
692
+ return /* @__PURE__ */ jsxRuntime.jsx(index$3.Root2, { ...popperScope, children: /* @__PURE__ */ jsxRuntime.jsx(
693
+ MenuProvider,
694
+ {
695
+ scope: __scopeMenu,
696
+ open,
697
+ onOpenChange: handleOpenChange,
698
+ content,
699
+ onContentChange: setContent,
700
+ children: /* @__PURE__ */ jsxRuntime.jsx(
701
+ MenuSubProvider,
702
+ {
703
+ scope: __scopeMenu,
704
+ contentId: index$8.useId(),
705
+ triggerId: index$8.useId(),
706
+ trigger,
707
+ onTriggerChange: setTrigger,
708
+ children
709
+ }
710
+ )
711
+ }
712
+ ) });
713
+ };
714
+ MenuSub.displayName = SUB_NAME;
715
+ var SUB_TRIGGER_NAME = "MenuSubTrigger";
716
+ var MenuSubTrigger = React__namespace.forwardRef(
717
+ (props, forwardedRef) => {
718
+ const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);
719
+ const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);
720
+ const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);
721
+ const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);
722
+ const openTimerRef = React__namespace.useRef(null);
723
+ const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;
724
+ const scope = { __scopeMenu: props.__scopeMenu };
725
+ const clearOpenTimer = React__namespace.useCallback(() => {
726
+ if (openTimerRef.current) window.clearTimeout(openTimerRef.current);
727
+ openTimerRef.current = null;
728
+ }, []);
729
+ React__namespace.useEffect(() => clearOpenTimer, [clearOpenTimer]);
730
+ React__namespace.useEffect(() => {
731
+ const pointerGraceTimer = pointerGraceTimerRef.current;
732
+ return () => {
733
+ window.clearTimeout(pointerGraceTimer);
734
+ onPointerGraceIntentChange(null);
735
+ };
736
+ }, [pointerGraceTimerRef, onPointerGraceIntentChange]);
737
+ return /* @__PURE__ */ jsxRuntime.jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsxRuntime.jsx(
738
+ MenuItemImpl,
739
+ {
740
+ id: subContext.triggerId,
741
+ "aria-haspopup": "menu",
742
+ "aria-expanded": context.open,
743
+ "aria-controls": subContext.contentId,
744
+ "data-state": getOpenState(context.open),
745
+ ...props,
746
+ ref: index.composeRefs(forwardedRef, subContext.onTriggerChange),
747
+ onClick: (event) => {
748
+ props.onClick?.(event);
749
+ if (props.disabled || event.defaultPrevented) return;
750
+ event.currentTarget.focus();
751
+ if (!context.open) context.onOpenChange(true);
752
+ },
753
+ onPointerMove: index$4.composeEventHandlers(
754
+ props.onPointerMove,
755
+ whenMouse((event) => {
756
+ contentContext.onItemEnter(event);
757
+ if (event.defaultPrevented) return;
758
+ if (!props.disabled && !context.open && !openTimerRef.current) {
759
+ contentContext.onPointerGraceIntentChange(null);
760
+ openTimerRef.current = window.setTimeout(() => {
761
+ context.onOpenChange(true);
762
+ clearOpenTimer();
763
+ }, 100);
764
+ }
765
+ })
766
+ ),
767
+ onPointerLeave: index$4.composeEventHandlers(
768
+ props.onPointerLeave,
769
+ whenMouse((event) => {
770
+ clearOpenTimer();
771
+ const contentRect = context.content?.getBoundingClientRect();
772
+ if (contentRect) {
773
+ const side = context.content?.dataset.side;
774
+ const rightSide = side === "right";
775
+ const bleed = rightSide ? -5 : 5;
776
+ const contentNearEdge = contentRect[rightSide ? "left" : "right"];
777
+ const contentFarEdge = contentRect[rightSide ? "right" : "left"];
778
+ contentContext.onPointerGraceIntentChange({
779
+ area: [
780
+ // Apply a bleed on clientX to ensure that our exit point is
781
+ // consistently within polygon bounds
782
+ { x: event.clientX + bleed, y: event.clientY },
783
+ { x: contentNearEdge, y: contentRect.top },
784
+ { x: contentFarEdge, y: contentRect.top },
785
+ { x: contentFarEdge, y: contentRect.bottom },
786
+ { x: contentNearEdge, y: contentRect.bottom }
787
+ ],
788
+ side
789
+ });
790
+ window.clearTimeout(pointerGraceTimerRef.current);
791
+ pointerGraceTimerRef.current = window.setTimeout(
792
+ () => contentContext.onPointerGraceIntentChange(null),
793
+ 300
794
+ );
795
+ } else {
796
+ contentContext.onTriggerLeave(event);
797
+ if (event.defaultPrevented) return;
798
+ contentContext.onPointerGraceIntentChange(null);
799
+ }
800
+ })
801
+ ),
802
+ onKeyDown: index$4.composeEventHandlers(props.onKeyDown, (event) => {
803
+ const isTypingAhead = contentContext.searchRef.current !== "";
804
+ if (props.disabled || isTypingAhead && event.key === " ") return;
805
+ if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {
806
+ context.onOpenChange(true);
807
+ context.content?.focus();
808
+ event.preventDefault();
809
+ }
810
+ })
811
+ }
812
+ ) });
813
+ }
814
+ );
815
+ MenuSubTrigger.displayName = SUB_TRIGGER_NAME;
816
+ var SUB_CONTENT_NAME = "MenuSubContent";
817
+ var MenuSubContent = React__namespace.forwardRef(
818
+ (props, forwardedRef) => {
819
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);
820
+ const { forceMount = portalContext.forceMount, ...subContentProps } = props;
821
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
822
+ const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);
823
+ const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);
824
+ const ref = React__namespace.useRef(null);
825
+ const composedRefs = index.useComposedRefs(forwardedRef, ref);
826
+ return /* @__PURE__ */ jsxRuntime.jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsxRuntime.jsx(index$5.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsxRuntime.jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsxRuntime.jsx(
827
+ MenuContentImpl,
828
+ {
829
+ id: subContext.contentId,
830
+ "aria-labelledby": subContext.triggerId,
831
+ ...subContentProps,
832
+ ref: composedRefs,
833
+ align: "start",
834
+ side: rootContext.dir === "rtl" ? "left" : "right",
835
+ disableOutsidePointerEvents: false,
836
+ disableOutsideScroll: false,
837
+ trapFocus: false,
838
+ onOpenAutoFocus: (event) => {
839
+ if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();
840
+ event.preventDefault();
841
+ },
842
+ onCloseAutoFocus: (event) => event.preventDefault(),
843
+ onFocusOutside: index$4.composeEventHandlers(props.onFocusOutside, (event) => {
844
+ if (event.target !== subContext.trigger) context.onOpenChange(false);
845
+ }),
846
+ onEscapeKeyDown: index$4.composeEventHandlers(props.onEscapeKeyDown, (event) => {
847
+ rootContext.onClose();
848
+ event.preventDefault();
849
+ }),
850
+ onKeyDown: index$4.composeEventHandlers(props.onKeyDown, (event) => {
851
+ const isKeyDownInside = event.currentTarget.contains(event.target);
852
+ const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);
853
+ if (isKeyDownInside && isCloseKey) {
854
+ context.onOpenChange(false);
855
+ subContext.trigger?.focus();
856
+ event.preventDefault();
857
+ }
858
+ })
859
+ }
860
+ ) }) }) });
861
+ }
862
+ );
863
+ MenuSubContent.displayName = SUB_CONTENT_NAME;
864
+ function getOpenState(open) {
865
+ return open ? "open" : "closed";
866
+ }
867
+ function isIndeterminate(checked) {
868
+ return checked === "indeterminate";
869
+ }
870
+ function getCheckedState(checked) {
871
+ return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
872
+ }
873
+ function focusFirst(candidates) {
874
+ const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
875
+ for (const candidate of candidates) {
876
+ if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
877
+ candidate.focus();
878
+ if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
879
+ }
880
+ }
881
+ function wrapArray(array, startIndex) {
882
+ return array.map((_, index) => array[(startIndex + index) % array.length]);
883
+ }
884
+ function getNextMatch(values, search, currentMatch) {
885
+ const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);
886
+ const normalizedSearch = isRepeated ? search[0] : search;
887
+ const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;
888
+ let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));
889
+ const excludeCurrentMatch = normalizedSearch.length === 1;
890
+ if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);
891
+ const nextMatch = wrappedValues.find(
892
+ (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())
893
+ );
894
+ return nextMatch !== currentMatch ? nextMatch : void 0;
895
+ }
896
+ function isPointInPolygon(point, polygon) {
897
+ const { x, y } = point;
898
+ let inside = false;
899
+ for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
900
+ const ii = polygon[i];
901
+ const jj = polygon[j];
902
+ const xi = ii.x;
903
+ const yi = ii.y;
904
+ const xj = jj.x;
905
+ const yj = jj.y;
906
+ const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;
907
+ if (intersect) inside = !inside;
908
+ }
909
+ return inside;
910
+ }
911
+ function isPointerInGraceArea(event, area) {
912
+ if (!area) return false;
913
+ const cursorPos = { x: event.clientX, y: event.clientY };
914
+ return isPointInPolygon(cursorPos, area);
915
+ }
916
+ function whenMouse(handler) {
917
+ return (event) => event.pointerType === "mouse" ? handler(event) : void 0;
918
+ }
919
+ var Root3 = Menu;
920
+ var Anchor2 = MenuAnchor;
921
+ var Portal = MenuPortal;
922
+ var Content2 = MenuContent;
923
+ var Group = MenuGroup;
924
+ var Label = MenuLabel;
925
+ var Item2 = MenuItem;
926
+ var CheckboxItem = MenuCheckboxItem;
927
+ var RadioGroup = MenuRadioGroup;
928
+ var RadioItem = MenuRadioItem;
929
+ var ItemIndicator = MenuItemIndicator;
930
+ var Separator = MenuSeparator;
931
+ var Arrow2 = MenuArrow;
932
+ var Sub = MenuSub;
933
+ var SubTrigger = MenuSubTrigger;
934
+ var SubContent = MenuSubContent;
935
+
936
+ exports.Anchor2 = Anchor2;
937
+ exports.Arrow2 = Arrow2;
938
+ exports.CheckboxItem = CheckboxItem;
939
+ exports.Content2 = Content2;
940
+ exports.Group = Group;
941
+ exports.Item2 = Item2;
942
+ exports.ItemIndicator = ItemIndicator;
943
+ exports.Label = Label;
944
+ exports.Portal = Portal;
945
+ exports.RadioGroup = RadioGroup;
946
+ exports.RadioItem = RadioItem;
947
+ exports.Root3 = Root3;
948
+ exports.Separator = Separator;
949
+ exports.Sub = Sub;
950
+ exports.SubContent = SubContent;
951
+ exports.SubTrigger = SubTrigger;
952
+ exports.createMenuScope = createMenuScope;
953
+ //# sourceMappingURL=index-CGet1HH4.js.map