@g4rcez/components 4.1.3 → 5.0.1

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 (572) hide show
  1. package/ai/docs/AnimatedList.md +1 -1
  2. package/ai/docs/Autocomplete.md +2 -2
  3. package/ai/docs/Button.md +1 -1
  4. package/ai/docs/Card.md +7 -7
  5. package/ai/docs/DatePicker.md +2 -2
  6. package/ai/docs/Dropdown.md +7 -7
  7. package/ai/docs/Expand.md +5 -5
  8. package/ai/docs/Input.md +3 -3
  9. package/ai/docs/InputField.md +24 -14
  10. package/ai/docs/List.md +1 -1
  11. package/ai/docs/Modal.md +4 -4
  12. package/ai/docs/MultiSelect.md +2 -2
  13. package/ai/docs/PageCalendar.md +2 -2
  14. package/ai/docs/Polymorph.md +1 -1
  15. package/ai/docs/Resizable.md +3 -3
  16. package/ai/docs/Select.md +2 -2
  17. package/ai/docs/Skeleton.md +1 -1
  18. package/ai/docs/Slot.md +3 -3
  19. package/ai/docs/Spinner.md +1 -1
  20. package/ai/docs/Stats.md +1 -1
  21. package/ai/docs/Step.md +1 -1
  22. package/ai/docs/Tabs.md +1 -1
  23. package/ai/docs/Tag.md +1 -1
  24. package/ai/docs/TaskList.md +3 -3
  25. package/ai/docs/Textarea.md +2 -2
  26. package/ai/docs/Tooltip.md +13 -9
  27. package/ai/docs/Typography.md +1 -1
  28. package/ai/docs/index.md +17 -17
  29. package/dist/CaretDown.es-BXl0Ixp3.js +23 -0
  30. package/dist/CaretDown.es-BXl0Ixp3.js.map +1 -0
  31. package/dist/CaretRight.es-B2mpMfqU.js +23 -0
  32. package/dist/CaretRight.es-B2mpMfqU.js.map +1 -0
  33. package/dist/CheckCircle.es-BB91gLT-.js +23 -0
  34. package/dist/CheckCircle.es-BB91gLT-.js.map +1 -0
  35. package/dist/File.es-CjNVQ00B.js +23 -0
  36. package/dist/File.es-CjNVQ00B.js.map +1 -0
  37. package/dist/IconBase.es-BlJQ9IXo.js +27 -0
  38. package/dist/IconBase.es-BlJQ9IXo.js.map +1 -0
  39. package/dist/Info.es-Dvln8pws.js +23 -0
  40. package/dist/Info.es-Dvln8pws.js.map +1 -0
  41. package/dist/MotionConfig-DKKYqBH2.js +27 -0
  42. package/dist/MotionConfig-DKKYqBH2.js.map +1 -0
  43. package/dist/MotionConfigContext-BORpSKe8.js +2571 -0
  44. package/dist/MotionConfigContext-BORpSKe8.js.map +1 -0
  45. package/dist/Warning.es-B_xCn-P5.js +23 -0
  46. package/dist/Warning.es-B_xCn-P5.js.map +1 -0
  47. package/dist/X.es-Cjq2a_OA.js +23 -0
  48. package/dist/X.es-Cjq2a_OA.js.map +1 -0
  49. package/dist/animate-BNYgkk_j.js +387 -0
  50. package/dist/animate-BNYgkk_j.js.map +1 -0
  51. package/dist/autocomplete-D3VOTihi.js +415 -0
  52. package/dist/autocomplete-D3VOTihi.js.map +1 -0
  53. package/dist/calendar-PCCZDUIL.js +1678 -0
  54. package/dist/calendar-PCCZDUIL.js.map +1 -0
  55. package/dist/components/core/button.js +75 -75
  56. package/dist/components/core/button.js.map +1 -1
  57. package/dist/components/core/tag.js +66 -66
  58. package/dist/components/core/tag.js.map +1 -1
  59. package/dist/components/display/alert.js +133 -95
  60. package/dist/components/display/alert.js.map +1 -1
  61. package/dist/components/display/calendar.js +3 -15
  62. package/dist/components/display/card.js +73 -82
  63. package/dist/components/display/card.js.map +1 -1
  64. package/dist/components/display/list.js +153 -93
  65. package/dist/components/display/list.js.map +1 -1
  66. package/dist/components/display/notifications.js +3 -15
  67. package/dist/components/display/stats.js +30 -16
  68. package/dist/components/display/stats.js.map +1 -1
  69. package/dist/components/display/tabs.js +3 -12
  70. package/dist/components/display/timeline.js +47 -28
  71. package/dist/components/display/timeline.js.map +1 -1
  72. package/dist/components/floating/dropdown.js +76 -65
  73. package/dist/components/floating/dropdown.js.map +1 -1
  74. package/dist/components/floating/expand.js +62 -40
  75. package/dist/components/floating/expand.js.map +1 -1
  76. package/dist/components/floating/menu.js +195 -177
  77. package/dist/components/floating/menu.js.map +1 -1
  78. package/dist/components/floating/modal.js +3 -301
  79. package/dist/components/floating/tooltip.js +63 -73
  80. package/dist/components/floating/tooltip.js.map +1 -1
  81. package/dist/components/form/autocomplete.js +3 -16
  82. package/dist/components/form/checkbox.js +34 -44
  83. package/dist/components/form/checkbox.js.map +1 -1
  84. package/dist/components/form/date-picker.js +3 -12
  85. package/dist/components/form/file-upload.js +3 -11
  86. package/dist/components/form/form.js +16 -7
  87. package/dist/components/form/form.js.map +1 -1
  88. package/dist/components/form/input.js +3 -5
  89. package/dist/components/form/radiobox.js +19 -30
  90. package/dist/components/form/radiobox.js.map +1 -1
  91. package/dist/components/form/select.js +77 -106
  92. package/dist/components/form/select.js.map +1 -1
  93. package/dist/components/form/switch.js +73 -64
  94. package/dist/components/form/switch.js.map +1 -1
  95. package/dist/components/form/task-list.js +3 -68
  96. package/dist/components/table/table.js +3 -10
  97. package/dist/date-picker-BhKEFZew.js +1498 -0
  98. package/dist/date-picker-BhKEFZew.js.map +1 -0
  99. package/dist/dist-BHFtgf5x.js +2593 -0
  100. package/dist/dist-BHFtgf5x.js.map +1 -0
  101. package/dist/dist-BrGpYRaj.js +178 -0
  102. package/dist/dist-BrGpYRaj.js.map +1 -0
  103. package/dist/dist-NmFtbuK4.js +35 -0
  104. package/dist/dist-NmFtbuK4.js.map +1 -0
  105. package/dist/dom-Bn4wY_Zx.js +2168 -0
  106. package/dist/dom-Bn4wY_Zx.js.map +1 -0
  107. package/dist/file-upload-DWbZfeG5.js +2966 -0
  108. package/dist/file-upload-DWbZfeG5.js.map +1 -0
  109. package/dist/floating-ui.react-CwXtBJ_y.js +3381 -0
  110. package/dist/floating-ui.react-CwXtBJ_y.js.map +1 -0
  111. package/dist/floating-ui.utils-CUrVRSbA.js +204 -0
  112. package/dist/floating-ui.utils-CUrVRSbA.js.map +1 -0
  113. package/dist/fns-KbsWlOTG.js +29 -0
  114. package/dist/fns-KbsWlOTG.js.map +1 -0
  115. package/dist/index.css +1 -1
  116. package/dist/index.js +7932 -20
  117. package/dist/index.js.map +1 -1
  118. package/dist/input-B7jqwPG4.js +473 -0
  119. package/dist/input-B7jqwPG4.js.map +1 -0
  120. package/dist/input-field-B_whI66Q.js +137 -0
  121. package/dist/input-field-B_whI66Q.js.map +1 -0
  122. package/dist/modal-Bz-61ays.js +373 -0
  123. package/dist/modal-Bz-61ays.js.map +1 -0
  124. package/dist/notifications-MT4XkLov.js +2203 -0
  125. package/dist/notifications-MT4XkLov.js.map +1 -0
  126. package/dist/polymorph-BLXhrn9n.js +14 -0
  127. package/dist/polymorph-BLXhrn9n.js.map +1 -0
  128. package/dist/preset/preset.tailwind.d.ts.map +1 -1
  129. package/dist/preset/preset.tailwind.js +40 -4
  130. package/dist/preset/src/styles/common.d.ts +0 -2
  131. package/dist/preset/src/styles/common.d.ts.map +1 -1
  132. package/dist/preset/src/styles/common.js +0 -9
  133. package/dist/preset/src/styles/components.d.ts +3 -0
  134. package/dist/preset/src/styles/components.d.ts.map +1 -0
  135. package/dist/preset/src/styles/components.js +400 -0
  136. package/dist/preset/src/styles/dark.d.ts.map +1 -1
  137. package/dist/preset/src/styles/dark.js +5 -3
  138. package/dist/preset/src/styles/default-tokens.d.ts +74 -0
  139. package/dist/preset/src/styles/default-tokens.d.ts.map +1 -0
  140. package/dist/preset/src/styles/default-tokens.js +44 -0
  141. package/dist/preset/src/styles/design-tokens.d.ts +1 -1
  142. package/dist/preset/src/styles/design-tokens.d.ts.map +1 -1
  143. package/dist/preset/src/styles/design-tokens.js +6 -2
  144. package/dist/preset/src/styles/light.d.ts.map +1 -1
  145. package/dist/preset/src/styles/light.js +22 -20
  146. package/dist/preset/src/styles/theme.types.d.ts +433 -8
  147. package/dist/preset/src/styles/theme.types.d.ts.map +1 -1
  148. package/dist/proxy-BcJ_5Dwq.js +2530 -0
  149. package/dist/proxy-BcJ_5Dwq.js.map +1 -0
  150. package/dist/skeleton-CBYEq3lM.js +26 -0
  151. package/dist/skeleton-CBYEq3lM.js.map +1 -0
  152. package/dist/slot-pC8kH9De.js +96 -0
  153. package/dist/slot-pC8kH9De.js.map +1 -0
  154. package/dist/styles/common.d.ts +0 -2
  155. package/dist/styles/common.d.ts.map +1 -1
  156. package/dist/styles/common.js +0 -9
  157. package/dist/styles/components.d.ts +3 -0
  158. package/dist/styles/components.d.ts.map +1 -0
  159. package/dist/styles/components.js +400 -0
  160. package/dist/styles/dark.d.ts.map +1 -1
  161. package/dist/styles/dark.js +5 -3
  162. package/dist/styles/default-tokens.d.ts +74 -0
  163. package/dist/styles/default-tokens.d.ts.map +1 -0
  164. package/dist/styles/default-tokens.js +44 -0
  165. package/dist/styles/design-tokens.d.ts +1 -1
  166. package/dist/styles/design-tokens.d.ts.map +1 -1
  167. package/dist/styles/design-tokens.js +6 -2
  168. package/dist/styles/light.d.ts.map +1 -1
  169. package/dist/styles/light.js +22 -20
  170. package/dist/styles/theme.types.d.ts +433 -8
  171. package/dist/styles/theme.types.d.ts.map +1 -1
  172. package/dist/table-CUFbAI2k.js +1914 -0
  173. package/dist/table-CUFbAI2k.js.map +1 -0
  174. package/dist/tabs-Ciy0l9OF.js +122 -0
  175. package/dist/tabs-Ciy0l9OF.js.map +1 -0
  176. package/dist/task-list-tKumO4WH.js +96 -0
  177. package/dist/task-list-tKumO4WH.js.map +1 -0
  178. package/dist/use-motion-value-BqPF1j90.js +15 -0
  179. package/dist/use-motion-value-BqPF1j90.js.map +1 -0
  180. package/dist/use-stable-ref-D5LFCx0u.js +12 -0
  181. package/dist/use-stable-ref-D5LFCx0u.js.map +1 -0
  182. package/dist/use-translations-DTLfPE3_.js +177 -0
  183. package/dist/use-translations-DTLfPE3_.js.map +1 -0
  184. package/package.json +17 -17
  185. package/dist/CaretDown.es-Cj7klWI3.js +0 -33
  186. package/dist/CaretDown.es-Cj7klWI3.js.map +0 -1
  187. package/dist/CaretRight.es-0-M8D9y8.js +0 -33
  188. package/dist/CaretRight.es-0-M8D9y8.js.map +0 -1
  189. package/dist/CheckCircle.es-C6QWLfk_.js +0 -33
  190. package/dist/CheckCircle.es-C6QWLfk_.js.map +0 -1
  191. package/dist/File.es-CA-vuPED.js +0 -33
  192. package/dist/File.es-CA-vuPED.js.map +0 -1
  193. package/dist/IconBase.es-DJ1oCtpo.js +0 -50
  194. package/dist/IconBase.es-DJ1oCtpo.js.map +0 -1
  195. package/dist/Info.es-CrZKs4q4.js +0 -33
  196. package/dist/Info.es-CrZKs4q4.js.map +0 -1
  197. package/dist/MotionConfigContext-C7MqlSdv.js +0 -2713
  198. package/dist/MotionConfigContext-C7MqlSdv.js.map +0 -1
  199. package/dist/Warning.es-D_eI6tLe.js +0 -39
  200. package/dist/Warning.es-D_eI6tLe.js.map +0 -1
  201. package/dist/X.es-BJ1O93El.js +0 -39
  202. package/dist/X.es-BJ1O93El.js.map +0 -1
  203. package/dist/autocomplete-DcTNOwyg.js +0 -393
  204. package/dist/autocomplete-DcTNOwyg.js.map +0 -1
  205. package/dist/calendar-BJMHRoy2.js +0 -1746
  206. package/dist/calendar-BJMHRoy2.js.map +0 -1
  207. package/dist/components/core/button.d.ts +0 -77
  208. package/dist/components/core/button.d.ts.map +0 -1
  209. package/dist/components/core/button.jsx +0 -79
  210. package/dist/components/core/heading.d.ts +0 -3
  211. package/dist/components/core/heading.d.ts.map +0 -1
  212. package/dist/components/core/heading.jsx +0 -4
  213. package/dist/components/core/polymorph.d.ts +0 -10
  214. package/dist/components/core/polymorph.d.ts.map +0 -1
  215. package/dist/components/core/polymorph.jsx +0 -5
  216. package/dist/components/core/render-on-view.d.ts +0 -7
  217. package/dist/components/core/render-on-view.d.ts.map +0 -1
  218. package/dist/components/core/render-on-view.jsx +0 -31
  219. package/dist/components/core/resizable.d.ts +0 -3
  220. package/dist/components/core/resizable.d.ts.map +0 -1
  221. package/dist/components/core/resizable.jsx +0 -51
  222. package/dist/components/core/slot.d.ts +0 -16
  223. package/dist/components/core/slot.d.ts.map +0 -1
  224. package/dist/components/core/slot.jsx +0 -156
  225. package/dist/components/core/tag.d.ts +0 -35
  226. package/dist/components/core/tag.d.ts.map +0 -1
  227. package/dist/components/core/tag.jsx +0 -51
  228. package/dist/components/core/typography.d.ts +0 -25
  229. package/dist/components/core/typography.d.ts.map +0 -1
  230. package/dist/components/core/typography.jsx +0 -18
  231. package/dist/components/display/alert.d.ts +0 -28
  232. package/dist/components/display/alert.d.ts.map +0 -1
  233. package/dist/components/display/alert.jsx +0 -61
  234. package/dist/components/display/calendar.d.ts +0 -42
  235. package/dist/components/display/calendar.d.ts.map +0 -1
  236. package/dist/components/display/calendar.js.map +0 -1
  237. package/dist/components/display/calendar.jsx +0 -299
  238. package/dist/components/display/card.d.ts +0 -29
  239. package/dist/components/display/card.d.ts.map +0 -1
  240. package/dist/components/display/card.jsx +0 -43
  241. package/dist/components/display/empty.d.ts +0 -8
  242. package/dist/components/display/empty.d.ts.map +0 -1
  243. package/dist/components/display/empty.jsx +0 -11
  244. package/dist/components/display/list.d.ts +0 -16
  245. package/dist/components/display/list.d.ts.map +0 -1
  246. package/dist/components/display/list.jsx +0 -81
  247. package/dist/components/display/notifications.d.ts +0 -27
  248. package/dist/components/display/notifications.d.ts.map +0 -1
  249. package/dist/components/display/notifications.js.map +0 -1
  250. package/dist/components/display/notifications.jsx +0 -126
  251. package/dist/components/display/progress.d.ts +0 -13
  252. package/dist/components/display/progress.d.ts.map +0 -1
  253. package/dist/components/display/progress.jsx +0 -11
  254. package/dist/components/display/shortcut.d.ts +0 -4
  255. package/dist/components/display/shortcut.d.ts.map +0 -1
  256. package/dist/components/display/shortcut.jsx +0 -23
  257. package/dist/components/display/skeleton.d.ts +0 -12
  258. package/dist/components/display/skeleton.d.ts.map +0 -1
  259. package/dist/components/display/skeleton.jsx +0 -19
  260. package/dist/components/display/spinner.d.ts +0 -5
  261. package/dist/components/display/spinner.d.ts.map +0 -1
  262. package/dist/components/display/spinner.jsx +0 -11
  263. package/dist/components/display/stats.d.ts +0 -12
  264. package/dist/components/display/stats.d.ts.map +0 -1
  265. package/dist/components/display/stats.jsx +0 -20
  266. package/dist/components/display/step.d.ts +0 -24
  267. package/dist/components/display/step.d.ts.map +0 -1
  268. package/dist/components/display/step.jsx +0 -131
  269. package/dist/components/display/tabs.d.ts +0 -24
  270. package/dist/components/display/tabs.d.ts.map +0 -1
  271. package/dist/components/display/tabs.js.map +0 -1
  272. package/dist/components/display/tabs.jsx +0 -125
  273. package/dist/components/display/timeline.d.ts +0 -10
  274. package/dist/components/display/timeline.d.ts.map +0 -1
  275. package/dist/components/display/timeline.jsx +0 -25
  276. package/dist/components/floating/command-palette.d.ts +0 -49
  277. package/dist/components/floating/command-palette.d.ts.map +0 -1
  278. package/dist/components/floating/command-palette.jsx +0 -197
  279. package/dist/components/floating/dropdown.d.ts +0 -15
  280. package/dist/components/floating/dropdown.d.ts.map +0 -1
  281. package/dist/components/floating/dropdown.jsx +0 -56
  282. package/dist/components/floating/expand.d.ts +0 -11
  283. package/dist/components/floating/expand.d.ts.map +0 -1
  284. package/dist/components/floating/expand.jsx +0 -44
  285. package/dist/components/floating/menu.d.ts +0 -52
  286. package/dist/components/floating/menu.d.ts.map +0 -1
  287. package/dist/components/floating/menu.jsx +0 -147
  288. package/dist/components/floating/modal.d.ts +0 -60
  289. package/dist/components/floating/modal.d.ts.map +0 -1
  290. package/dist/components/floating/modal.js.map +0 -1
  291. package/dist/components/floating/modal.jsx +0 -301
  292. package/dist/components/floating/toolbar.d.ts +0 -6
  293. package/dist/components/floating/toolbar.d.ts.map +0 -1
  294. package/dist/components/floating/toolbar.jsx +0 -5
  295. package/dist/components/floating/tooltip.d.ts +0 -17
  296. package/dist/components/floating/tooltip.d.ts.map +0 -1
  297. package/dist/components/floating/tooltip.jsx +0 -58
  298. package/dist/components/floating/wizard.d.ts +0 -26
  299. package/dist/components/floating/wizard.d.ts.map +0 -1
  300. package/dist/components/floating/wizard.jsx +0 -161
  301. package/dist/components/form/autocomplete.d.ts +0 -16
  302. package/dist/components/form/autocomplete.d.ts.map +0 -1
  303. package/dist/components/form/autocomplete.js.map +0 -1
  304. package/dist/components/form/autocomplete.jsx +0 -278
  305. package/dist/components/form/checkbox.d.ts +0 -12
  306. package/dist/components/form/checkbox.d.ts.map +0 -1
  307. package/dist/components/form/checkbox.jsx +0 -12
  308. package/dist/components/form/date-picker.d.ts +0 -10
  309. package/dist/components/form/date-picker.d.ts.map +0 -1
  310. package/dist/components/form/date-picker.js.map +0 -1
  311. package/dist/components/form/date-picker.jsx +0 -115
  312. package/dist/components/form/file-upload.d.ts +0 -15
  313. package/dist/components/form/file-upload.d.ts.map +0 -1
  314. package/dist/components/form/file-upload.js.map +0 -1
  315. package/dist/components/form/file-upload.jsx +0 -134
  316. package/dist/components/form/form.d.ts +0 -3
  317. package/dist/components/form/form.d.ts.map +0 -1
  318. package/dist/components/form/form.jsx +0 -10
  319. package/dist/components/form/formReset.d.ts +0 -2
  320. package/dist/components/form/formReset.d.ts.map +0 -1
  321. package/dist/components/form/formReset.jsx +0 -17
  322. package/dist/components/form/free-text.d.ts +0 -11
  323. package/dist/components/form/free-text.d.ts.map +0 -1
  324. package/dist/components/form/free-text.jsx +0 -41
  325. package/dist/components/form/input-field.d.ts +0 -34
  326. package/dist/components/form/input-field.d.ts.map +0 -1
  327. package/dist/components/form/input-field.jsx +0 -58
  328. package/dist/components/form/input.d.ts +0 -52
  329. package/dist/components/form/input.d.ts.map +0 -1
  330. package/dist/components/form/input.js.map +0 -1
  331. package/dist/components/form/input.jsx +0 -36
  332. package/dist/components/form/multi-select.d.ts +0 -19
  333. package/dist/components/form/multi-select.d.ts.map +0 -1
  334. package/dist/components/form/multi-select.jsx +0 -336
  335. package/dist/components/form/radiobox.d.ts +0 -7
  336. package/dist/components/form/radiobox.d.ts.map +0 -1
  337. package/dist/components/form/radiobox.jsx +0 -6
  338. package/dist/components/form/select.d.ts +0 -13
  339. package/dist/components/form/select.d.ts.map +0 -1
  340. package/dist/components/form/select.jsx +0 -42
  341. package/dist/components/form/slider.d.ts +0 -7
  342. package/dist/components/form/slider.d.ts.map +0 -1
  343. package/dist/components/form/slider.jsx +0 -45
  344. package/dist/components/form/switch.d.ts +0 -9
  345. package/dist/components/form/switch.d.ts.map +0 -1
  346. package/dist/components/form/switch.jsx +0 -46
  347. package/dist/components/form/task-list.d.ts +0 -3
  348. package/dist/components/form/task-list.d.ts.map +0 -1
  349. package/dist/components/form/task-list.js.map +0 -1
  350. package/dist/components/form/task-list.jsx +0 -26
  351. package/dist/components/form/textarea.d.ts +0 -6
  352. package/dist/components/form/textarea.d.ts.map +0 -1
  353. package/dist/components/form/textarea.jsx +0 -12
  354. package/dist/components/index.d.ts +0 -45
  355. package/dist/components/index.d.ts.map +0 -1
  356. package/dist/components/index.js +0 -44
  357. package/dist/components/page-calendar/calendar-header.d.ts +0 -16
  358. package/dist/components/page-calendar/calendar-header.d.ts.map +0 -1
  359. package/dist/components/page-calendar/calendar-header.jsx +0 -83
  360. package/dist/components/page-calendar/day-view.d.ts +0 -12
  361. package/dist/components/page-calendar/day-view.d.ts.map +0 -1
  362. package/dist/components/page-calendar/day-view.jsx +0 -94
  363. package/dist/components/page-calendar/event-pill.d.ts +0 -9
  364. package/dist/components/page-calendar/event-pill.d.ts.map +0 -1
  365. package/dist/components/page-calendar/event-pill.jsx +0 -25
  366. package/dist/components/page-calendar/index.d.ts +0 -4
  367. package/dist/components/page-calendar/index.d.ts.map +0 -1
  368. package/dist/components/page-calendar/index.js +0 -2
  369. package/dist/components/page-calendar/month-view.d.ts +0 -11
  370. package/dist/components/page-calendar/month-view.d.ts.map +0 -1
  371. package/dist/components/page-calendar/month-view.jsx +0 -46
  372. package/dist/components/page-calendar/page-calendar.d.ts +0 -18
  373. package/dist/components/page-calendar/page-calendar.d.ts.map +0 -1
  374. package/dist/components/page-calendar/page-calendar.jsx +0 -41
  375. package/dist/components/page-calendar/page-calendar.types.d.ts +0 -18
  376. package/dist/components/page-calendar/page-calendar.types.d.ts.map +0 -1
  377. package/dist/components/page-calendar/page-calendar.types.js +0 -1
  378. package/dist/components/page-calendar/page-calendar.utils.d.ts +0 -24
  379. package/dist/components/page-calendar/page-calendar.utils.d.ts.map +0 -1
  380. package/dist/components/page-calendar/page-calendar.utils.js +0 -93
  381. package/dist/components/page-calendar/week-view.d.ts +0 -11
  382. package/dist/components/page-calendar/week-view.d.ts.map +0 -1
  383. package/dist/components/page-calendar/week-view.jsx +0 -71
  384. package/dist/components/table/filter.d.ts +0 -42
  385. package/dist/components/table/filter.d.ts.map +0 -1
  386. package/dist/components/table/filter.jsx +0 -141
  387. package/dist/components/table/group.d.ts +0 -17
  388. package/dist/components/table/group.d.ts.map +0 -1
  389. package/dist/components/table/group.jsx +0 -68
  390. package/dist/components/table/index.d.ts +0 -19
  391. package/dist/components/table/index.d.ts.map +0 -1
  392. package/dist/components/table/index.jsx +0 -60
  393. package/dist/components/table/inner-table.d.ts +0 -29
  394. package/dist/components/table/inner-table.d.ts.map +0 -1
  395. package/dist/components/table/inner-table.jsx +0 -102
  396. package/dist/components/table/metadata.d.ts +0 -4
  397. package/dist/components/table/metadata.d.ts.map +0 -1
  398. package/dist/components/table/metadata.jsx +0 -36
  399. package/dist/components/table/pagination.d.ts +0 -5
  400. package/dist/components/table/pagination.d.ts.map +0 -1
  401. package/dist/components/table/pagination.jsx +0 -74
  402. package/dist/components/table/row.d.ts +0 -11
  403. package/dist/components/table/row.d.ts.map +0 -1
  404. package/dist/components/table/row.jsx +0 -49
  405. package/dist/components/table/sort.d.ts +0 -28
  406. package/dist/components/table/sort.d.ts.map +0 -1
  407. package/dist/components/table/sort.jsx +0 -109
  408. package/dist/components/table/table-lib.d.ts +0 -135
  409. package/dist/components/table/table-lib.d.ts.map +0 -1
  410. package/dist/components/table/table-lib.js +0 -83
  411. package/dist/components/table/table.context.d.ts +0 -10
  412. package/dist/components/table/table.context.d.ts.map +0 -1
  413. package/dist/components/table/table.context.jsx +0 -4
  414. package/dist/components/table/table.js.map +0 -1
  415. package/dist/components/table/thead.d.ts +0 -9
  416. package/dist/components/table/thead.d.ts.map +0 -1
  417. package/dist/components/table/thead.jsx +0 -103
  418. package/dist/config/context.d.ts +0 -21
  419. package/dist/config/context.d.ts.map +0 -1
  420. package/dist/config/context.js +0 -12
  421. package/dist/config/default-translations.d.ts +0 -94
  422. package/dist/config/default-translations.d.ts.map +0 -1
  423. package/dist/config/default-translations.jsx +0 -87
  424. package/dist/config/default-tweaks.d.ts +0 -13
  425. package/dist/config/default-tweaks.d.ts.map +0 -1
  426. package/dist/config/default-tweaks.js +0 -4
  427. package/dist/constants-r-AHn273.js +0 -6
  428. package/dist/constants-r-AHn273.js.map +0 -1
  429. package/dist/constants.d.ts +0 -3
  430. package/dist/constants.d.ts.map +0 -1
  431. package/dist/constants.js +0 -2
  432. package/dist/date-picker-Bnl07nd8.js +0 -1628
  433. package/dist/date-picker-Bnl07nd8.js.map +0 -1
  434. package/dist/dom-CyQHY7ID.js +0 -2838
  435. package/dist/dom-CyQHY7ID.js.map +0 -1
  436. package/dist/file-upload-93d5DR4q.js +0 -3255
  437. package/dist/file-upload-93d5DR4q.js.map +0 -1
  438. package/dist/floating-ui.react-M2PGXLDp.js +0 -3706
  439. package/dist/floating-ui.react-M2PGXLDp.js.map +0 -1
  440. package/dist/fns-C7Dt27Qd.js +0 -33
  441. package/dist/fns-C7Dt27Qd.js.map +0 -1
  442. package/dist/hooks/use-click-outside.d.ts +0 -3
  443. package/dist/hooks/use-click-outside.d.ts.map +0 -1
  444. package/dist/hooks/use-click-outside.js +0 -17
  445. package/dist/hooks/use-color-parser.d.ts +0 -2
  446. package/dist/hooks/use-color-parser.d.ts.map +0 -1
  447. package/dist/hooks/use-color-parser.js +0 -9
  448. package/dist/hooks/use-components-provider.d.ts +0 -15
  449. package/dist/hooks/use-components-provider.d.ts.map +0 -1
  450. package/dist/hooks/use-components-provider.jsx +0 -22
  451. package/dist/hooks/use-debounce.d.ts +0 -5
  452. package/dist/hooks/use-debounce.d.ts.map +0 -1
  453. package/dist/hooks/use-debounce.js +0 -12
  454. package/dist/hooks/use-floating-ref.d.ts +0 -2
  455. package/dist/hooks/use-floating-ref.d.ts.map +0 -1
  456. package/dist/hooks/use-floating-ref.js +0 -6
  457. package/dist/hooks/use-form.d.ts +0 -394
  458. package/dist/hooks/use-form.d.ts.map +0 -1
  459. package/dist/hooks/use-form.js +0 -563
  460. package/dist/hooks/use-hover.d.ts +0 -3
  461. package/dist/hooks/use-hover.d.ts.map +0 -1
  462. package/dist/hooks/use-hover.js +0 -18
  463. package/dist/hooks/use-input-id.d.ts +0 -4
  464. package/dist/hooks/use-input-id.d.ts.map +0 -1
  465. package/dist/hooks/use-input-id.js +0 -5
  466. package/dist/hooks/use-is-coarse-device.d.ts +0 -2
  467. package/dist/hooks/use-is-coarse-device.d.ts.map +0 -1
  468. package/dist/hooks/use-is-coarse-device.js +0 -12
  469. package/dist/hooks/use-locale.d.ts +0 -3
  470. package/dist/hooks/use-locale.d.ts.map +0 -1
  471. package/dist/hooks/use-locale.js +0 -10
  472. package/dist/hooks/use-media-query.d.ts +0 -2
  473. package/dist/hooks/use-media-query.d.ts.map +0 -1
  474. package/dist/hooks/use-media-query.js +0 -25
  475. package/dist/hooks/use-on-event.d.ts +0 -4
  476. package/dist/hooks/use-on-event.d.ts.map +0 -1
  477. package/dist/hooks/use-on-event.js +0 -7
  478. package/dist/hooks/use-parent.d.ts +0 -3
  479. package/dist/hooks/use-parent.d.ts.map +0 -1
  480. package/dist/hooks/use-parent.js +0 -21
  481. package/dist/hooks/use-preferences.d.ts +0 -2
  482. package/dist/hooks/use-preferences.d.ts.map +0 -1
  483. package/dist/hooks/use-preferences.js +0 -23
  484. package/dist/hooks/use-previous.d.ts +0 -2
  485. package/dist/hooks/use-previous.d.ts.map +0 -1
  486. package/dist/hooks/use-previous.js +0 -9
  487. package/dist/hooks/use-reactive.d.ts +0 -2
  488. package/dist/hooks/use-reactive.d.ts.map +0 -1
  489. package/dist/hooks/use-reactive.js +0 -9
  490. package/dist/hooks/use-remove-scroll.d.ts +0 -4
  491. package/dist/hooks/use-remove-scroll.d.ts.map +0 -1
  492. package/dist/hooks/use-remove-scroll.js +0 -48
  493. package/dist/hooks/use-resize-observer.d.ts +0 -2
  494. package/dist/hooks/use-resize-observer.d.ts.map +0 -1
  495. package/dist/hooks/use-resize-observer.js +0 -17
  496. package/dist/hooks/use-stable-ref.d.ts +0 -2
  497. package/dist/hooks/use-stable-ref.d.ts.map +0 -1
  498. package/dist/hooks/use-stable-ref.js +0 -9
  499. package/dist/hooks/use-swipe.d.ts +0 -8
  500. package/dist/hooks/use-swipe.d.ts.map +0 -1
  501. package/dist/hooks/use-swipe.js +0 -17
  502. package/dist/hooks/use-translations.d.ts +0 -92
  503. package/dist/hooks/use-translations.d.ts.map +0 -1
  504. package/dist/hooks/use-translations.js +0 -9
  505. package/dist/hooks/use-tweaks.d.ts +0 -3
  506. package/dist/hooks/use-tweaks.d.ts.map +0 -1
  507. package/dist/hooks/use-tweaks.js +0 -9
  508. package/dist/hooks/use-window-size.d.ts +0 -5
  509. package/dist/hooks/use-window-size.d.ts.map +0 -1
  510. package/dist/hooks/use-window-size.js +0 -14
  511. package/dist/index-0YMC-_Lt.js +0 -20
  512. package/dist/index-0YMC-_Lt.js.map +0 -1
  513. package/dist/index-BJ1ayTam.js +0 -126
  514. package/dist/index-BJ1ayTam.js.map +0 -1
  515. package/dist/index-C-PuFUZi.js +0 -3416
  516. package/dist/index-C-PuFUZi.js.map +0 -1
  517. package/dist/index-DDeQW0JW.js +0 -1816
  518. package/dist/index-DDeQW0JW.js.map +0 -1
  519. package/dist/index-DE4shK8D.js +0 -215
  520. package/dist/index-DE4shK8D.js.map +0 -1
  521. package/dist/index-DlJ_2RBL.js +0 -35
  522. package/dist/index-DlJ_2RBL.js.map +0 -1
  523. package/dist/index-t1qLJTt5.js +0 -351
  524. package/dist/index-t1qLJTt5.js.map +0 -1
  525. package/dist/index.d.ts +0 -22
  526. package/dist/index.d.ts.map +0 -1
  527. package/dist/index.esm-BaIwleSE.js +0 -343
  528. package/dist/index.esm-BaIwleSE.js.map +0 -1
  529. package/dist/input-_MVxmIpu.js +0 -443
  530. package/dist/input-_MVxmIpu.js.map +0 -1
  531. package/dist/input-field-CDCOODOl.js +0 -182
  532. package/dist/input-field-CDCOODOl.js.map +0 -1
  533. package/dist/lib/combi-keys.d.ts +0 -15
  534. package/dist/lib/combi-keys.d.ts.map +0 -1
  535. package/dist/lib/combi-keys.js +0 -60
  536. package/dist/lib/dict.d.ts +0 -9
  537. package/dist/lib/dict.d.ts.map +0 -1
  538. package/dist/lib/dict.js +0 -28
  539. package/dist/lib/dom.d.ts +0 -20
  540. package/dist/lib/dom.d.ts.map +0 -1
  541. package/dist/lib/dom.js +0 -66
  542. package/dist/lib/fns.d.ts +0 -11
  543. package/dist/lib/fns.d.ts.map +0 -1
  544. package/dist/lib/fns.js +0 -46
  545. package/dist/lib/fzf.d.ts +0 -16
  546. package/dist/lib/fzf.d.ts.map +0 -1
  547. package/dist/lib/fzf.js +0 -115
  548. package/dist/lib/keyboard-area.d.ts +0 -16
  549. package/dist/lib/keyboard-area.d.ts.map +0 -1
  550. package/dist/lib/keyboard-area.js +0 -14
  551. package/dist/notifications-Dp0ydKJS.js +0 -2576
  552. package/dist/notifications-Dp0ydKJS.js.map +0 -1
  553. package/dist/polymorph-B5n9fs_K.js +0 -10
  554. package/dist/polymorph-B5n9fs_K.js.map +0 -1
  555. package/dist/proxy-BZcQiBrp.js +0 -2495
  556. package/dist/proxy-BZcQiBrp.js.map +0 -1
  557. package/dist/skeleton-BjJobYYf.js +0 -24
  558. package/dist/skeleton-BjJobYYf.js.map +0 -1
  559. package/dist/slot-CRyweuj0.js +0 -79
  560. package/dist/slot-CRyweuj0.js.map +0 -1
  561. package/dist/tabs-B0g7YtQv.js +0 -123
  562. package/dist/tabs-B0g7YtQv.js.map +0 -1
  563. package/dist/tsconfig.lib.tsbuildinfo +0 -1
  564. package/dist/types.d.ts +0 -26
  565. package/dist/types.d.ts.map +0 -1
  566. package/dist/types.js +0 -1
  567. package/dist/use-motion-value-eGwNuWuw.js +0 -14
  568. package/dist/use-motion-value-eGwNuWuw.js.map +0 -1
  569. package/dist/use-stable-ref-CYh-YkID.js +0 -11
  570. package/dist/use-stable-ref-CYh-YkID.js.map +0 -1
  571. package/dist/use-translations-DSltA7H_.js +0 -169
  572. package/dist/use-translations-DSltA7H_.js.map +0 -1
@@ -1,177 +1,195 @@
1
- import { jsxs as x, jsx as t } from "react/jsx-runtime";
2
- import { p as Y, q, r as te, t as $, u as se, o as ne, f as oe, s as ae, b as ie, d as re, j as le, v as de, w as ce, n as ue, k as fe, x as me, c as ge, y as ve, z as pe, F as Ie, m as xe, A as Fe } from "../../floating-ui.react-M2PGXLDp.js";
3
- import { S as be } from "../../slot-CRyweuj0.js";
4
- import { e as he } from "../../CaretRight.es-0-M8D9y8.js";
5
- import M, { createContext as ye, useState as k, useRef as _, useContext as G, useEffect as j, Fragment as Ne } from "react";
6
- import { F as Pe, T as we } from "../../constants-r-AHn273.js";
7
- import { c as C, m as R } from "../../dom-CyQHY7ID.js";
8
- const U = (o = "") => C(
9
- "w-full min-w-36 outline-none p-2.5 items-center flex justify-between text-left",
10
- "hover:bg-primary focus:bg-primary aria-expanded:opacity-80",
11
- "focus:text-primary-foreground hover:text-primary-foreground",
12
- "first-of-type:rounded-t-lg last-of-type:rounded-b-lg",
13
- "disabled:opacity-40 disabled:cursor-not-allowed",
14
- o
15
- ), A = ye({
16
- isOpen: !1,
17
- activeIndex: null,
18
- getItemProps: () => ({}),
19
- setActiveIndex: () => {
20
- },
21
- setHasFocusInside: () => {
22
- }
23
- }), D = M.forwardRef(
24
- ({ children: o, FloatingComponent: i = "div", hover: g = !0, open: F, isParent: r = !1, restoreFocus: b = !1, floatingClassName: d = "", label: v, ...n }, c) => {
25
- const [s, h] = k(F ?? !1), [E, y] = k(!1), [N, P] = k(null), H = _([]), T = _([]), u = G(A), p = Y(), a = q(), f = te(), I = $(), e = p !== null, { floatingStyles: B, refs: w, context: l } = se({
26
- nodeId: f,
27
- open: s,
28
- transform: !0,
29
- strategy: "absolute",
30
- onOpenChange: h,
31
- whileElementsMounted: ie,
32
- placement: e ? "right" : "bottom-start",
33
- middleware: [ne({ mainAxis: e ? 0 : 4, alignmentAxis: e ? -4 : 0 }), oe(), ae()]
34
- }), J = re(l, { role: "menu" }), K = le(l, { bubbles: !0 }), Q = de(l, {
35
- move: !1,
36
- enabled: g,
37
- delay: { open: Pe },
38
- handleClose: ce({ blockPointerEvents: !0, requireIntent: !1 })
39
- }), V = ue(l, {
40
- toggle: !e,
41
- event: "mousedown",
42
- ignoreMouse: e,
43
- keyboardHandlers: !0
44
- }), W = fe(l, {
45
- loop: !0,
46
- activeIndex: N,
47
- nested: e,
48
- listRef: H,
49
- onNavigate: P
50
- }), X = me(l, {
51
- activeIndex: N,
52
- listRef: T,
53
- resetMs: we,
54
- onMatch: s ? P : void 0
55
- }), { getReferenceProps: L, getFloatingProps: Z, getItemProps: ee } = ge([Q, V, J, K, W, X]);
56
- j(() => {
57
- if (!a) return;
58
- const m = () => h(!1), S = (z) => {
59
- z.nodeId !== f && z.parentId === p && h(!1);
60
- };
61
- return a.events.on("click", m), a.events.on("menuopen", S), () => {
62
- a.events.off("click", m), a.events.off("menuopen", S);
63
- };
64
- }, [a, f, p]), j(() => {
65
- s && a && a.events.emit("menuopen", { parentId: p, nodeId: f });
66
- }, [a, s, f, p]);
67
- const O = r ? n.className : C(U(n.className));
68
- return /* @__PURE__ */ x(ve, { id: f, children: [
69
- /* @__PURE__ */ t(Ne, { children: n.asChild ? /* @__PURE__ */ t(
70
- be,
71
- {
72
- ...L(
73
- u.getItemProps({
74
- ...n,
75
- onFocus(m) {
76
- n.onFocus?.(m), y(!1), u.setHasFocusInside(!0);
77
- }
78
- })
79
- ),
80
- children: v,
81
- className: O,
82
- "data-open": s ? "" : void 0,
83
- "data-nested": e ? "" : void 0,
84
- role: e ? "menuitem" : void 0,
85
- "data-focus-inside": E ? "" : void 0,
86
- ref: R(w.setReference, I.ref, c),
87
- tabIndex: e ? u.activeIndex === I.index ? 0 : -1 : void 0
88
- }
89
- ) : /* @__PURE__ */ x(
90
- "button",
91
- {
92
- type: "button",
93
- className: O,
94
- "data-open": s ? "" : void 0,
95
- "data-nested": e ? "" : void 0,
96
- role: e ? "menuitem" : void 0,
97
- "data-focus-inside": E ? "" : void 0,
98
- ref: R(w.setReference, I.ref, c),
99
- tabIndex: e ? u.activeIndex === I.index ? 0 : -1 : void 0,
100
- ...L(
101
- u.getItemProps({
102
- ...n,
103
- onFocus(m) {
104
- n.onFocus?.(m), y(!1), u.setHasFocusInside(!0);
105
- }
106
- })
107
- ),
108
- children: [
109
- v,
110
- e && /* @__PURE__ */ x("span", { style: { marginLeft: 10, fontSize: 10 }, children: [
111
- /* @__PURE__ */ t("span", { className: "sr-only", children: "Next menu" }),
112
- /* @__PURE__ */ t(he, { size: 14 })
113
- ] })
114
- ]
115
- }
116
- ) }),
117
- /* @__PURE__ */ t(A.Provider, { value: { activeIndex: N, setActiveIndex: P, getItemProps: ee, setHasFocusInside: y, isOpen: s }, children: /* @__PURE__ */ t(pe, { elementsRef: H, labelsRef: T, children: s && /* @__PURE__ */ t(Ie, { children: /* @__PURE__ */ t(
118
- xe,
119
- {
120
- context: l,
121
- modal: !1,
122
- initialFocus: e ? -1 : 0,
123
- returnFocus: r ? b : !e,
124
- children: /* @__PURE__ */ t(
125
- i,
126
- {
127
- ...Z(),
128
- ref: w.setFloating,
129
- style: { ...n.style, ...B },
130
- className: C(
131
- "isolate z-tooltip flex max-h-80 flex-col items-start overflow-y-auto rounded-lg border border-floating-border bg-floating-background text-left shadow-shadow-floating outline-none",
132
- d
133
- ),
134
- children: o
135
- }
136
- )
137
- }
138
- ) }) }) })
139
- ] });
140
- }
141
- ), Te = M.forwardRef(
142
- ({ title: o, Right: i, disabled: g, children: F, ...r }, b) => {
143
- const d = G(A), v = $({ label: g ? null : o }), n = q(), c = v.index === d.activeIndex;
144
- return /* @__PURE__ */ x(
145
- "button",
146
- {
147
- ...r,
148
- title: o,
149
- type: "button",
150
- role: "menuitem",
151
- disabled: g,
152
- "data-active": c,
153
- "data-open": d.isOpen,
154
- tabIndex: c ? 0 : -1,
155
- ref: R(v.ref, b),
156
- className: U(`${r.className ?? ""} ${c ? "bg-primary text-primary-foreground" : ""}`),
157
- ...d.getItemProps({
158
- onClick(s) {
159
- r.onClick?.(s), n?.events.emit("click");
160
- },
161
- onFocus(s) {
162
- r.onFocus?.(s), d.setHasFocusInside(!0);
163
- }
164
- }),
165
- children: [
166
- F,
167
- i ? /* @__PURE__ */ t(i, { size: 16 }) : null
168
- ]
169
- }
170
- );
171
- }
172
- ), Le = M.forwardRef((o, i) => Y() === null ? /* @__PURE__ */ t(Fe, { children: /* @__PURE__ */ t(D, { ...o, isParent: !0, ref: i }) }) : /* @__PURE__ */ t(D, { ...o, isParent: !1, ref: i }));
173
- export {
174
- Le as Menu,
175
- Te as MenuItem
176
- };
177
- //# sourceMappingURL=menu.js.map
1
+ "use client";
2
+ import { t as e, u as t } from "../../dom-Bn4wY_Zx.js";
3
+ import { t as n } from "../../CaretRight.es-B2mpMfqU.js";
4
+ import { A as r, C as i, D as a, E as o, O as s, _ as c, b as l, c as u, d, f as ee, h as f, i as te, l as p, m, n as ne, o as re, p as h, r as ie, s as g, v as ae, x as oe, y as _ } from "../../floating-ui.react-CwXtBJ_y.js";
5
+ import { t as v } from "../../slot-pC8kH9De.js";
6
+ import y, { Fragment as b, createContext as x, useContext as S, useEffect as C, useRef as w, useState as T } from "react";
7
+ import { jsx as E, jsxs as D } from "react/jsx-runtime";
8
+ //#region src/components/floating/menu.tsx
9
+ var O = (t = "") => e("w-full min-w-36 outline-none p-menu-item-p items-center flex justify-between text-left", "hover:bg-primary focus:bg-primary aria-expanded:opacity-80", "focus:text-primary-foreground hover:text-primary-foreground", "first-of-type:rounded-t-menu-radius last-of-type:rounded-b-menu-radius", "disabled:opacity-40 disabled:cursor-not-allowed", t), k = x({
10
+ isOpen: !1,
11
+ activeIndex: null,
12
+ getItemProps: () => ({}),
13
+ setActiveIndex: () => {},
14
+ setHasFocusInside: () => {}
15
+ }), A = y.forwardRef(({ children: g, FloatingComponent: y = "div", hover: x = !0, open: A, isParent: j = !1, restoreFocus: M = !1, floatingClassName: se = "", label: N, ...P }, F) => {
16
+ let [I, L] = T(A ?? !1), [R, z] = T(!1), [B, V] = T(null), H = w([]), U = w([]), W = S(k), G = m(), K = f(), q = h(), J = _(), Y = G !== null, { floatingStyles: ce, refs: X, context: Z } = ee({
17
+ nodeId: q,
18
+ open: I,
19
+ transform: !0,
20
+ strategy: "absolute",
21
+ onOpenChange: L,
22
+ whileElementsMounted: r,
23
+ placement: Y ? "right" : "bottom-start",
24
+ middleware: [
25
+ a({
26
+ mainAxis: Y ? 0 : 4,
27
+ alignmentAxis: Y ? -4 : 0
28
+ }),
29
+ o(),
30
+ s()
31
+ ]
32
+ }), le = oe(Z, { role: "menu" }), ue = d(Z, { bubbles: !0 }), { getReferenceProps: Q, getFloatingProps: de, getItemProps: fe } = ae([
33
+ c(Z, {
34
+ move: !1,
35
+ enabled: x,
36
+ delay: { open: 200 },
37
+ handleClose: u({
38
+ blockPointerEvents: !0,
39
+ requireIntent: !1
40
+ })
41
+ }),
42
+ p(Z, {
43
+ toggle: !Y,
44
+ event: "mousedown",
45
+ ignoreMouse: Y,
46
+ keyboardHandlers: !0
47
+ }),
48
+ le,
49
+ ue,
50
+ l(Z, {
51
+ loop: !0,
52
+ activeIndex: B,
53
+ nested: Y,
54
+ listRef: H,
55
+ onNavigate: V
56
+ }),
57
+ i(Z, {
58
+ activeIndex: B,
59
+ listRef: U,
60
+ resetMs: 500,
61
+ onMatch: I ? V : void 0
62
+ })
63
+ ]);
64
+ C(() => {
65
+ if (!K) return;
66
+ let e = () => L(!1), t = (e) => {
67
+ e.nodeId !== q && e.parentId === G && L(!1);
68
+ };
69
+ return K.events.on("click", e), K.events.on("menuopen", t), () => {
70
+ K.events.off("click", e), K.events.off("menuopen", t);
71
+ };
72
+ }, [
73
+ K,
74
+ q,
75
+ G
76
+ ]), C(() => {
77
+ I && K && K.events.emit("menuopen", {
78
+ parentId: G,
79
+ nodeId: q
80
+ });
81
+ }, [
82
+ K,
83
+ I,
84
+ q,
85
+ G
86
+ ]);
87
+ let $ = j ? P.className : e(O(P.className));
88
+ return /* @__PURE__ */ D(te, {
89
+ id: q,
90
+ children: [/* @__PURE__ */ E(b, { children: P.asChild ? /* @__PURE__ */ E(v, {
91
+ ...Q(W.getItemProps({
92
+ ...P,
93
+ onFocus(e) {
94
+ P.onFocus?.(e), z(!1), W.setHasFocusInside(!0);
95
+ }
96
+ })),
97
+ className: $,
98
+ "data-open": I ? "" : void 0,
99
+ "data-nested": Y ? "" : void 0,
100
+ role: Y ? "menuitem" : void 0,
101
+ "data-focus-inside": R ? "" : void 0,
102
+ ref: t(X.setReference, J.ref, F),
103
+ tabIndex: Y ? W.activeIndex === J.index ? 0 : -1 : void 0,
104
+ children: N
105
+ }) : /* @__PURE__ */ D("button", {
106
+ type: "button",
107
+ className: $,
108
+ "data-open": I ? "" : void 0,
109
+ "data-nested": Y ? "" : void 0,
110
+ role: Y ? "menuitem" : void 0,
111
+ "data-focus-inside": R ? "" : void 0,
112
+ ref: t(X.setReference, J.ref, F),
113
+ tabIndex: Y ? W.activeIndex === J.index ? 0 : -1 : void 0,
114
+ ...Q(W.getItemProps({
115
+ ...P,
116
+ onFocus(e) {
117
+ P.onFocus?.(e), z(!1), W.setHasFocusInside(!0);
118
+ }
119
+ })),
120
+ children: [N, Y && /* @__PURE__ */ D("span", {
121
+ style: {
122
+ marginLeft: 10,
123
+ fontSize: 10
124
+ },
125
+ children: [/* @__PURE__ */ E("span", {
126
+ className: "sr-only",
127
+ children: "Next menu"
128
+ }), /* @__PURE__ */ E(n, { size: 14 })]
129
+ })]
130
+ }) }), /* @__PURE__ */ E(k.Provider, {
131
+ value: {
132
+ activeIndex: B,
133
+ setActiveIndex: V,
134
+ getItemProps: fe,
135
+ setHasFocusInside: z,
136
+ isOpen: I
137
+ },
138
+ children: /* @__PURE__ */ E(ie, {
139
+ elementsRef: H,
140
+ labelsRef: U,
141
+ children: I && /* @__PURE__ */ E(re, { children: /* @__PURE__ */ E(ne, {
142
+ context: Z,
143
+ modal: !1,
144
+ initialFocus: Y ? -1 : 0,
145
+ returnFocus: j ? M : !Y,
146
+ children: /* @__PURE__ */ E(y, {
147
+ ...de(),
148
+ ref: X.setFloating,
149
+ style: {
150
+ ...P.style,
151
+ ...ce
152
+ },
153
+ className: e("isolate z-tooltip flex max-h-menu-max-h flex-col items-start overflow-y-auto rounded-menu-radius border border-floating-border bg-floating-background text-left shadow-shadow-floating outline-none", se),
154
+ children: g
155
+ })
156
+ }) })
157
+ })
158
+ })]
159
+ });
160
+ }), j = y.forwardRef(({ title: e, Right: n, disabled: r, children: i, ...a }, o) => {
161
+ let s = S(k), c = _({ label: r ? null : e }), l = f(), u = c.index === s.activeIndex;
162
+ return /* @__PURE__ */ D("button", {
163
+ ...a,
164
+ title: e,
165
+ type: "button",
166
+ role: "menuitem",
167
+ disabled: r,
168
+ "data-active": u,
169
+ "data-open": s.isOpen,
170
+ tabIndex: u ? 0 : -1,
171
+ ref: t(c.ref, o),
172
+ className: O(`${a.className ?? ""} ${u ? "bg-primary text-primary-foreground" : ""}`),
173
+ ...s.getItemProps({
174
+ onClick(e) {
175
+ a.onClick?.(e), l?.events.emit("click");
176
+ },
177
+ onFocus(e) {
178
+ a.onFocus?.(e), s.setHasFocusInside(!0);
179
+ }
180
+ }),
181
+ children: [i, n ? /* @__PURE__ */ E(n, { size: 16 }) : null]
182
+ });
183
+ }), M = y.forwardRef((e, t) => m() === null ? /* @__PURE__ */ E(g, { children: /* @__PURE__ */ E(A, {
184
+ ...e,
185
+ isParent: !0,
186
+ ref: t
187
+ }) }) : /* @__PURE__ */ E(A, {
188
+ ...e,
189
+ isParent: !1,
190
+ ref: t
191
+ }));
192
+ //#endregion
193
+ export { M as Menu, j as MenuItem };
194
+
195
+ //# sourceMappingURL=menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sources":["../../../src/components/floating/menu.tsx"],"sourcesContent":["\"use client\";\nimport {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingList,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFloatingTree,\n useHover,\n useInteractions,\n useListItem,\n useListNavigation,\n useRole,\n useTypeahead,\n} from \"@floating-ui/react\";\nimport { Slot } from \"../core/slot\";\nimport { CaretRightIcon, type Icon } from \"@phosphor-icons/react\";\nimport React, { createContext, Fragment, useContext, useEffect, useRef, useState } from \"react\";\nimport { FLOATING_DELAY, TYPEAHEAD_RESET_DELAY } from \"../../constants\";\nimport { css, mergeRefs } from \"../../lib/dom\";\nimport { Override } from \"../../types\";\n\nconst menuItemClassName = (highlight: string = \"\") =>\n css(\n \"w-full min-w-36 outline-none p-2.5 items-center flex justify-between text-left\",\n \"hover:bg-primary focus:bg-primary aria-expanded:opacity-80\",\n \"focus:text-primary-foreground hover:text-primary-foreground\",\n \"first-of-type:rounded-t-lg last-of-type:rounded-b-lg\",\n \"disabled:opacity-40 disabled:cursor-not-allowed\",\n highlight\n );\n\nconst MenuContext = createContext<{\n activeIndex: number | null;\n getItemProps: (props?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;\n isOpen: boolean;\n setActiveIndex: React.Dispatch<React.SetStateAction<number | null>>;\n setHasFocusInside: React.Dispatch<React.SetStateAction<boolean>>;\n}>({\n isOpen: false,\n activeIndex: null,\n getItemProps: () => ({}),\n setActiveIndex: () => {},\n setHasFocusInside: () => {},\n});\n\nexport type MenuProps = Partial<\n {\n hover: boolean;\n open?: boolean;\n nested: boolean;\n asChild: boolean;\n isParent: boolean;\n restoreFocus: boolean;\n children: React.ReactNode;\n floatingClassName: string;\n FloatingComponent: React.ElementType;\n } & ({ label: string } | { label: React.ReactElement; title: string })\n>;\n\nconst MenuComponent = React.forwardRef<HTMLButtonElement, Override<React.HTMLProps<HTMLButtonElement>, MenuProps>>(\n (\n { children, FloatingComponent = \"div\", hover = true, open, isParent = false, restoreFocus = false, floatingClassName = \"\", label, ...props },\n forwardedRef\n ) => {\n const [isOpen, setIsOpen] = useState<boolean>(open ?? false);\n const [hasFocusInside, setHasFocusInside] = useState(false);\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const elementsRef = useRef<Array<HTMLButtonElement | null>>([]);\n const labelsRef = useRef<Array<string | null>>([]);\n const parent = useContext(MenuContext);\n\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree();\n const nodeId = useFloatingNodeId();\n const item = useListItem();\n\n const isNested = parentId !== null;\n\n const { floatingStyles, refs, context } = useFloating<HTMLButtonElement>({\n nodeId,\n open: isOpen,\n transform: true,\n strategy: \"absolute\",\n onOpenChange: setIsOpen,\n whileElementsMounted: autoUpdate,\n placement: isNested ? \"right\" : \"bottom-start\",\n middleware: [offset({ mainAxis: isNested ? 0 : 4, alignmentAxis: isNested ? -4 : 0 }), flip(), shift()],\n });\n const role = useRole(context, { role: \"menu\" });\n const dismiss = useDismiss(context, { bubbles: true });\n const hoverModule = useHover(context, {\n move: false,\n enabled: hover,\n delay: { open: FLOATING_DELAY },\n handleClose: safePolygon({ blockPointerEvents: true, requireIntent: false }),\n });\n\n const click = useClick(context, {\n toggle: !isNested,\n event: \"mousedown\",\n ignoreMouse: isNested,\n keyboardHandlers: true,\n });\n\n const listNavigation = useListNavigation(context, {\n loop: true,\n activeIndex,\n nested: isNested,\n listRef: elementsRef,\n onNavigate: setActiveIndex,\n });\n\n const typeahead = useTypeahead(context, {\n activeIndex,\n listRef: labelsRef,\n resetMs: TYPEAHEAD_RESET_DELAY,\n onMatch: isOpen ? setActiveIndex : undefined,\n });\n\n const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions([hoverModule, click, role, dismiss, listNavigation, typeahead]);\n\n useEffect(() => {\n if (!tree) return;\n const handleTreeClick = () => setIsOpen(false);\n const onSubMenuOpen = (event: { nodeId: string; parentId: string }) => {\n if (event.nodeId !== nodeId && event.parentId === parentId) setIsOpen(false);\n };\n tree.events.on(\"click\", handleTreeClick);\n tree.events.on(\"menuopen\", onSubMenuOpen);\n return () => {\n tree.events.off(\"click\", handleTreeClick);\n tree.events.off(\"menuopen\", onSubMenuOpen);\n };\n }, [tree, nodeId, parentId]);\n\n useEffect(() => {\n if (isOpen && tree) tree.events.emit(\"menuopen\", { parentId, nodeId });\n }, [tree, isOpen, nodeId, parentId]);\n\n const className = isParent ? props.className : css(menuItemClassName(props.className));\n\n return (\n <FloatingNode id={nodeId}>\n <Fragment>\n {props.asChild ? (\n <Slot\n {...getReferenceProps(\n parent.getItemProps({\n ...props,\n onFocus(event: React.FocusEvent<HTMLButtonElement>) {\n props.onFocus?.(event);\n setHasFocusInside(false);\n parent.setHasFocusInside(true);\n },\n })\n )}\n children={label}\n className={className}\n data-open={isOpen ? \"\" : undefined}\n data-nested={isNested ? \"\" : undefined}\n role={isNested ? \"menuitem\" : undefined}\n data-focus-inside={hasFocusInside ? \"\" : undefined}\n ref={mergeRefs(refs.setReference, item.ref, forwardedRef) as unknown as React.Ref<HTMLElement>}\n tabIndex={!isNested ? undefined : parent.activeIndex === item.index ? 0 : -1}\n />\n ) : (\n <button\n type=\"button\"\n className={className}\n data-open={isOpen ? \"\" : undefined}\n data-nested={isNested ? \"\" : undefined}\n role={isNested ? \"menuitem\" : undefined}\n data-focus-inside={hasFocusInside ? \"\" : undefined}\n ref={mergeRefs(refs.setReference, item.ref, forwardedRef)}\n tabIndex={!isNested ? undefined : parent.activeIndex === item.index ? 0 : -1}\n {...getReferenceProps(\n parent.getItemProps({\n ...props,\n onFocus(event: React.FocusEvent<HTMLButtonElement>) {\n props.onFocus?.(event);\n setHasFocusInside(false);\n parent.setHasFocusInside(true);\n },\n })\n )}\n >\n {label}\n {isNested && (\n <span style={{ marginLeft: 10, fontSize: 10 }}>\n <span className=\"sr-only\">Next menu</span>\n <CaretRightIcon size={14} />\n </span>\n )}\n </button>\n )}\n </Fragment>\n <MenuContext.Provider value={{ activeIndex, setActiveIndex, getItemProps, setHasFocusInside, isOpen }}>\n <FloatingList elementsRef={elementsRef} labelsRef={labelsRef}>\n {isOpen && (\n <FloatingPortal>\n <FloatingFocusManager\n context={context}\n modal={false}\n initialFocus={isNested ? -1 : 0}\n returnFocus={isParent ? restoreFocus : !isNested}\n >\n <FloatingComponent\n {...getFloatingProps()}\n ref={refs.setFloating}\n style={{ ...props.style, ...floatingStyles }}\n className={css(\n \"isolate z-tooltip flex max-h-80 flex-col items-start overflow-y-auto rounded-lg border border-floating-border bg-floating-background text-left shadow-shadow-floating outline-none\",\n floatingClassName\n )}\n >\n {children}\n </FloatingComponent>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingList>\n </MenuContext.Provider>\n </FloatingNode>\n );\n }\n);\n\ntype MenuItemProps = { title: string; disabled?: boolean; Right?: Icon };\n\nexport const MenuItem = React.forwardRef<HTMLButtonElement, Override<React.ButtonHTMLAttributes<HTMLButtonElement>, MenuItemProps>>(\n ({ title, Right, disabled, children, ...props }, forwardedRef) => {\n const menu = useContext(MenuContext);\n const item = useListItem({ label: disabled ? null : title });\n const tree = useFloatingTree();\n const isActive = item.index === menu.activeIndex;\n return (\n <button\n {...props}\n title={title}\n type=\"button\"\n role=\"menuitem\"\n disabled={disabled}\n data-active={isActive}\n data-open={menu.isOpen}\n tabIndex={isActive ? 0 : -1}\n ref={mergeRefs(item.ref, forwardedRef)}\n className={menuItemClassName(`${props.className ?? \"\"} ${isActive ? \"bg-primary text-primary-foreground\" : \"\"}`)}\n {...menu.getItemProps({\n onClick(event: React.MouseEvent<HTMLButtonElement>) {\n props.onClick?.(event);\n tree?.events.emit(\"click\");\n },\n onFocus(event: React.FocusEvent<HTMLButtonElement>) {\n props.onFocus?.(event);\n menu.setHasFocusInside(true);\n },\n })}\n >\n {children}\n {Right ? <Right size={16} /> : null}\n </button>\n );\n }\n);\n\nexport const Menu = React.forwardRef<HTMLButtonElement, Override<React.ComponentProps<\"button\">, MenuProps>>((props, ref) => {\n const parentId = useFloatingParentNodeId();\n return parentId === null ? (\n <FloatingTree>\n <MenuComponent {...props} isParent ref={ref} />\n </FloatingTree>\n ) : (\n <MenuComponent {...props} isParent={false} ref={ref} />\n );\n});\n"],"names":["menuItemClassName","highlight","css","MenuContext","createContext","MenuComponent","React","children","FloatingComponent","hover","open","isParent","restoreFocus","floatingClassName","label","props","forwardedRef","isOpen","setIsOpen","useState","hasFocusInside","setHasFocusInside","activeIndex","setActiveIndex","elementsRef","useRef","labelsRef","parent","useContext","parentId","useFloatingParentNodeId","tree","useFloatingTree","nodeId","useFloatingNodeId","item","useListItem","isNested","floatingStyles","refs","context","useFloating","autoUpdate","offset","flip","shift","role","useRole","dismiss","useDismiss","hoverModule","useHover","FLOATING_DELAY","safePolygon","click","useClick","listNavigation","useListNavigation","typeahead","useTypeahead","TYPEAHEAD_RESET_DELAY","getReferenceProps","getFloatingProps","getItemProps","useInteractions","useEffect","handleTreeClick","onSubMenuOpen","event","className","jsxs","FloatingNode","jsx","Fragment","Slot","mergeRefs","CaretRightIcon","FloatingList","FloatingPortal","FloatingFocusManager","MenuItem","title","Right","disabled","menu","isActive","Menu","ref","FloatingTree"],"mappings":"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"}
1
+ {"version":3,"file":"menu.js","names":[],"sources":["../../../src/components/floating/menu.tsx"],"sourcesContent":["\"use client\";\nimport {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingList,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFloatingTree,\n useHover,\n useInteractions,\n useListItem,\n useListNavigation,\n useRole,\n useTypeahead,\n} from \"@floating-ui/react\";\nimport { Slot } from \"../core/slot\";\nimport { CaretRightIcon, type Icon } from \"@phosphor-icons/react\";\nimport React, { createContext, Fragment, useContext, useEffect, useRef, useState } from \"react\";\nimport { FLOATING_DELAY, TYPEAHEAD_RESET_DELAY } from \"../../constants\";\nimport { css, mergeRefs } from \"../../lib/dom\";\nimport { Override } from \"../../types\";\n\nconst menuItemClassName = (highlight: string = \"\") =>\n css(\n \"w-full min-w-36 outline-none p-menu-item-p items-center flex justify-between text-left\",\n \"hover:bg-primary focus:bg-primary aria-expanded:opacity-80\",\n \"focus:text-primary-foreground hover:text-primary-foreground\",\n \"first-of-type:rounded-t-menu-radius last-of-type:rounded-b-menu-radius\",\n \"disabled:opacity-40 disabled:cursor-not-allowed\",\n highlight\n );\n\nconst MenuContext = createContext<{\n activeIndex: number | null;\n getItemProps: (props?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;\n isOpen: boolean;\n setActiveIndex: React.Dispatch<React.SetStateAction<number | null>>;\n setHasFocusInside: React.Dispatch<React.SetStateAction<boolean>>;\n}>({\n isOpen: false,\n activeIndex: null,\n getItemProps: () => ({}),\n setActiveIndex: () => {},\n setHasFocusInside: () => {},\n});\n\nexport type MenuProps = Partial<\n {\n hover: boolean;\n open?: boolean;\n nested: boolean;\n asChild: boolean;\n isParent: boolean;\n restoreFocus: boolean;\n children: React.ReactNode;\n floatingClassName: string;\n FloatingComponent: React.ElementType;\n } & ({ label: string } | { label: React.ReactElement; title: string })\n>;\n\nconst MenuComponent = React.forwardRef<HTMLButtonElement, Override<React.HTMLProps<HTMLButtonElement>, MenuProps>>(\n (\n { children, FloatingComponent = \"div\", hover = true, open, isParent = false, restoreFocus = false, floatingClassName = \"\", label, ...props },\n forwardedRef\n ) => {\n const [isOpen, setIsOpen] = useState<boolean>(open ?? false);\n const [hasFocusInside, setHasFocusInside] = useState(false);\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const elementsRef = useRef<Array<HTMLButtonElement | null>>([]);\n const labelsRef = useRef<Array<string | null>>([]);\n const parent = useContext(MenuContext);\n\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree();\n const nodeId = useFloatingNodeId();\n const item = useListItem();\n\n const isNested = parentId !== null;\n\n const { floatingStyles, refs, context } = useFloating<HTMLButtonElement>({\n nodeId,\n open: isOpen,\n transform: true,\n strategy: \"absolute\",\n onOpenChange: setIsOpen,\n whileElementsMounted: autoUpdate,\n placement: isNested ? \"right\" : \"bottom-start\",\n middleware: [\n offset({\n mainAxis: isNested ? 0 : 4,\n alignmentAxis: isNested ? -4 : 0,\n }),\n flip(),\n shift(),\n ],\n });\n const role = useRole(context, { role: \"menu\" });\n const dismiss = useDismiss(context, { bubbles: true });\n const hoverModule = useHover(context, {\n move: false,\n enabled: hover,\n delay: { open: FLOATING_DELAY },\n handleClose: safePolygon({\n blockPointerEvents: true,\n requireIntent: false,\n }),\n });\n\n const click = useClick(context, {\n toggle: !isNested,\n event: \"mousedown\",\n ignoreMouse: isNested,\n keyboardHandlers: true,\n });\n\n const listNavigation = useListNavigation(context, {\n loop: true,\n activeIndex,\n nested: isNested,\n listRef: elementsRef,\n onNavigate: setActiveIndex,\n });\n\n const typeahead = useTypeahead(context, {\n activeIndex,\n listRef: labelsRef,\n resetMs: TYPEAHEAD_RESET_DELAY,\n onMatch: isOpen ? setActiveIndex : undefined,\n });\n\n const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions([hoverModule, click, role, dismiss, listNavigation, typeahead]);\n\n useEffect(() => {\n if (!tree) return;\n const handleTreeClick = () => setIsOpen(false);\n const onSubMenuOpen = (event: { nodeId: string; parentId: string }) => {\n if (event.nodeId !== nodeId && event.parentId === parentId) setIsOpen(false);\n };\n tree.events.on(\"click\", handleTreeClick);\n tree.events.on(\"menuopen\", onSubMenuOpen);\n return () => {\n tree.events.off(\"click\", handleTreeClick);\n tree.events.off(\"menuopen\", onSubMenuOpen);\n };\n }, [tree, nodeId, parentId]);\n\n useEffect(() => {\n if (isOpen && tree) tree.events.emit(\"menuopen\", { parentId, nodeId });\n }, [tree, isOpen, nodeId, parentId]);\n\n const className = isParent ? props.className : css(menuItemClassName(props.className));\n\n return (\n <FloatingNode id={nodeId}>\n <Fragment>\n {props.asChild ? (\n <Slot\n {...getReferenceProps(\n parent.getItemProps({\n ...props,\n onFocus(event: React.FocusEvent<HTMLButtonElement>) {\n props.onFocus?.(event);\n setHasFocusInside(false);\n parent.setHasFocusInside(true);\n },\n })\n )}\n className={className}\n data-open={isOpen ? \"\" : undefined}\n data-nested={isNested ? \"\" : undefined}\n role={isNested ? \"menuitem\" : undefined}\n data-focus-inside={hasFocusInside ? \"\" : undefined}\n ref={mergeRefs(refs.setReference, item.ref, forwardedRef) as unknown as React.Ref<HTMLElement>}\n tabIndex={!isNested ? undefined : parent.activeIndex === item.index ? 0 : -1}\n >\n {label}\n </Slot>\n ) : (\n <button\n type=\"button\"\n className={className}\n data-open={isOpen ? \"\" : undefined}\n data-nested={isNested ? \"\" : undefined}\n role={isNested ? \"menuitem\" : undefined}\n data-focus-inside={hasFocusInside ? \"\" : undefined}\n ref={mergeRefs(refs.setReference, item.ref, forwardedRef)}\n tabIndex={!isNested ? undefined : parent.activeIndex === item.index ? 0 : -1}\n {...getReferenceProps(\n parent.getItemProps({\n ...props,\n onFocus(event: React.FocusEvent<HTMLButtonElement>) {\n props.onFocus?.(event);\n setHasFocusInside(false);\n parent.setHasFocusInside(true);\n },\n })\n )}\n >\n {label}\n {isNested && (\n <span style={{ marginLeft: 10, fontSize: 10 }}>\n <span className=\"sr-only\">Next menu</span>\n <CaretRightIcon size={14} />\n </span>\n )}\n </button>\n )}\n </Fragment>\n <MenuContext.Provider\n value={{\n activeIndex,\n setActiveIndex,\n getItemProps,\n setHasFocusInside,\n isOpen,\n }}\n >\n <FloatingList elementsRef={elementsRef} labelsRef={labelsRef}>\n {isOpen && (\n <FloatingPortal>\n <FloatingFocusManager\n context={context}\n modal={false}\n initialFocus={isNested ? -1 : 0}\n returnFocus={isParent ? restoreFocus : !isNested}\n >\n <FloatingComponent\n {...getFloatingProps()}\n ref={refs.setFloating}\n style={{ ...props.style, ...floatingStyles }}\n className={css(\n \"isolate z-tooltip flex max-h-menu-max-h flex-col items-start overflow-y-auto rounded-menu-radius border border-floating-border bg-floating-background text-left shadow-shadow-floating outline-none\",\n floatingClassName\n )}\n >\n {children}\n </FloatingComponent>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingList>\n </MenuContext.Provider>\n </FloatingNode>\n );\n }\n);\n\ntype MenuItemProps = { title: string; disabled?: boolean; Right?: Icon };\n\nexport const MenuItem = React.forwardRef<HTMLButtonElement, Override<React.ButtonHTMLAttributes<HTMLButtonElement>, MenuItemProps>>(\n ({ title, Right, disabled, children, ...props }, forwardedRef) => {\n const menu = useContext(MenuContext);\n const item = useListItem({ label: disabled ? null : title });\n const tree = useFloatingTree();\n const isActive = item.index === menu.activeIndex;\n return (\n <button\n {...props}\n title={title}\n type=\"button\"\n role=\"menuitem\"\n disabled={disabled}\n data-active={isActive}\n data-open={menu.isOpen}\n tabIndex={isActive ? 0 : -1}\n ref={mergeRefs(item.ref, forwardedRef)}\n className={menuItemClassName(`${props.className ?? \"\"} ${isActive ? \"bg-primary text-primary-foreground\" : \"\"}`)}\n {...menu.getItemProps({\n onClick(event: React.MouseEvent<HTMLButtonElement>) {\n props.onClick?.(event);\n tree?.events.emit(\"click\");\n },\n onFocus(event: React.FocusEvent<HTMLButtonElement>) {\n props.onFocus?.(event);\n menu.setHasFocusInside(true);\n },\n })}\n >\n {children}\n {Right ? <Right size={16} /> : null}\n </button>\n );\n }\n);\n\nexport const Menu = React.forwardRef<HTMLButtonElement, Override<React.ComponentProps<\"button\">, MenuProps>>((props, ref) => {\n const parentId = useFloatingParentNodeId();\n return parentId === null ? (\n <FloatingTree>\n <MenuComponent {...props} isParent ref={ref} />\n </FloatingTree>\n ) : (\n <MenuComponent {...props} isParent={false} ref={ref} />\n );\n});\n"],"mappings":"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"}