@codefast/ui 0.0.9 → 0.0.11

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 (434) hide show
  1. package/dist/accordion.d.mts +7 -7
  2. package/dist/accordion.d.ts +7 -7
  3. package/dist/accordion.js +42 -32
  4. package/dist/accordion.js.map +1 -1
  5. package/dist/accordion.mjs +42 -32
  6. package/dist/accordion.mjs.map +1 -1
  7. package/dist/alert-dialog.d.mts +12 -12
  8. package/dist/alert-dialog.d.ts +12 -12
  9. package/dist/alert-dialog.js +47 -75
  10. package/dist/alert-dialog.js.map +1 -1
  11. package/dist/alert-dialog.mjs +47 -75
  12. package/dist/alert-dialog.mjs.map +1 -1
  13. package/dist/alert.js +5 -30
  14. package/dist/alert.js.map +1 -1
  15. package/dist/alert.mjs +5 -30
  16. package/dist/alert.mjs.map +1 -1
  17. package/dist/aspect-ratio.d.mts +1 -1
  18. package/dist/aspect-ratio.d.ts +1 -1
  19. package/dist/aspect-ratio.js.map +1 -1
  20. package/dist/aspect-ratio.mjs.map +1 -1
  21. package/dist/avatar.d.mts +6 -6
  22. package/dist/avatar.d.ts +6 -6
  23. package/dist/avatar.js +3 -16
  24. package/dist/avatar.js.map +1 -1
  25. package/dist/avatar.mjs +3 -16
  26. package/dist/avatar.mjs.map +1 -1
  27. package/dist/badge.js +1 -5
  28. package/dist/badge.js.map +1 -1
  29. package/dist/badge.mjs +1 -5
  30. package/dist/badge.mjs.map +1 -1
  31. package/dist/blockquote.js +4 -6
  32. package/dist/blockquote.js.map +1 -1
  33. package/dist/blockquote.mjs +4 -6
  34. package/dist/blockquote.mjs.map +1 -1
  35. package/dist/box.js +4 -6
  36. package/dist/box.js.map +1 -1
  37. package/dist/box.mjs +4 -6
  38. package/dist/box.mjs.map +1 -1
  39. package/dist/breadcrumb.js +30 -67
  40. package/dist/breadcrumb.js.map +1 -1
  41. package/dist/breadcrumb.mjs +30 -67
  42. package/dist/breadcrumb.mjs.map +1 -1
  43. package/dist/button.d.mts +1 -0
  44. package/dist/button.d.ts +1 -0
  45. package/dist/button.js +3 -2
  46. package/dist/button.mjs +2 -1
  47. package/dist/calendar.js +7 -19
  48. package/dist/calendar.js.map +1 -1
  49. package/dist/calendar.mjs +6 -18
  50. package/dist/calendar.mjs.map +1 -1
  51. package/dist/card.js +8 -55
  52. package/dist/card.js.map +1 -1
  53. package/dist/card.mjs +8 -55
  54. package/dist/card.mjs.map +1 -1
  55. package/dist/carousel.js +58 -64
  56. package/dist/carousel.js.map +1 -1
  57. package/dist/carousel.mjs +57 -63
  58. package/dist/carousel.mjs.map +1 -1
  59. package/dist/checkbox-cards.d.mts +15 -0
  60. package/dist/checkbox-cards.d.ts +15 -0
  61. package/dist/checkbox-cards.js +56 -0
  62. package/dist/checkbox-cards.js.map +1 -0
  63. package/dist/checkbox-cards.mjs +56 -0
  64. package/dist/checkbox-cards.mjs.map +1 -0
  65. package/dist/checkbox-group.d.mts +13 -0
  66. package/dist/checkbox-group.d.ts +13 -0
  67. package/dist/checkbox-group.js +44 -0
  68. package/dist/checkbox-group.js.map +1 -0
  69. package/dist/checkbox-group.mjs +44 -0
  70. package/dist/checkbox-group.mjs.map +1 -0
  71. package/dist/checkbox-group.primitive.d.mts +38 -0
  72. package/dist/checkbox-group.primitive.d.ts +38 -0
  73. package/dist/checkbox-group.primitive.js +19 -0
  74. package/dist/checkbox-group.primitive.js.map +1 -0
  75. package/dist/checkbox-group.primitive.mjs +19 -0
  76. package/dist/checkbox-group.primitive.mjs.map +1 -0
  77. package/dist/checkbox.d.mts +2 -2
  78. package/dist/checkbox.d.ts +2 -2
  79. package/dist/checkbox.js +5 -1
  80. package/dist/checkbox.js.map +1 -1
  81. package/dist/checkbox.mjs +5 -1
  82. package/dist/checkbox.mjs.map +1 -1
  83. package/dist/chunk-3ZZ3SRTJ.js +148 -0
  84. package/dist/chunk-3ZZ3SRTJ.js.map +1 -0
  85. package/dist/{chunk-MJDKD2K4.mjs → chunk-6J6VPUBP.mjs} +9 -10
  86. package/dist/chunk-6J6VPUBP.mjs.map +1 -0
  87. package/dist/{chunk-PKB2G726.js → chunk-7S4DOWLB.js} +9 -10
  88. package/dist/chunk-7S4DOWLB.js.map +1 -0
  89. package/dist/{chunk-JOJW7BBY.js → chunk-BWCO2ZQQ.js} +29 -8
  90. package/dist/chunk-BWCO2ZQQ.js.map +1 -0
  91. package/dist/chunk-EWS3N4OZ.mjs +148 -0
  92. package/dist/chunk-EWS3N4OZ.mjs.map +1 -0
  93. package/dist/{chunk-PIU627A3.mjs → chunk-FGI3JA75.mjs} +1 -1
  94. package/dist/chunk-FGI3JA75.mjs.map +1 -0
  95. package/dist/{chunk-GRKABVK4.js → chunk-IVYGBU4G.js} +1 -1
  96. package/dist/chunk-IVYGBU4G.js.map +1 -0
  97. package/dist/chunk-IXEJO7ZP.js +86 -0
  98. package/dist/chunk-IXEJO7ZP.js.map +1 -0
  99. package/dist/chunk-JULVZPCS.mjs +120 -0
  100. package/dist/chunk-JULVZPCS.mjs.map +1 -0
  101. package/dist/chunk-LNSEYAPJ.js +121 -0
  102. package/dist/chunk-LNSEYAPJ.js.map +1 -0
  103. package/dist/chunk-MDSPK3M6.js +54 -0
  104. package/dist/chunk-MDSPK3M6.js.map +1 -0
  105. package/dist/chunk-MOJNV3XZ.js +120 -0
  106. package/dist/chunk-MOJNV3XZ.js.map +1 -0
  107. package/dist/chunk-OK63Q6EJ.mjs +121 -0
  108. package/dist/chunk-OK63Q6EJ.mjs.map +1 -0
  109. package/dist/chunk-V2254PQL.mjs +54 -0
  110. package/dist/chunk-V2254PQL.mjs.map +1 -0
  111. package/dist/chunk-WFXEFJRB.mjs +77 -0
  112. package/dist/chunk-WFXEFJRB.mjs.map +1 -0
  113. package/dist/chunk-XCKLBP2V.mjs +86 -0
  114. package/dist/chunk-XCKLBP2V.mjs.map +1 -0
  115. package/dist/code.js +4 -6
  116. package/dist/code.js.map +1 -1
  117. package/dist/code.mjs +4 -6
  118. package/dist/code.mjs.map +1 -1
  119. package/dist/collapsible.d.mts +3 -3
  120. package/dist/collapsible.d.ts +3 -3
  121. package/dist/collapsible.js.map +1 -1
  122. package/dist/collapsible.mjs.map +1 -1
  123. package/dist/command.d.mts +11 -10
  124. package/dist/command.d.ts +11 -10
  125. package/dist/command.js +10 -44
  126. package/dist/command.js.map +1 -1
  127. package/dist/command.mjs +10 -44
  128. package/dist/command.mjs.map +1 -1
  129. package/dist/container.js +4 -6
  130. package/dist/container.js.map +1 -1
  131. package/dist/container.mjs +4 -6
  132. package/dist/container.mjs.map +1 -1
  133. package/dist/context-menu.d.mts +18 -18
  134. package/dist/context-menu.d.ts +18 -18
  135. package/dist/context-menu.js +108 -124
  136. package/dist/context-menu.js.map +1 -1
  137. package/dist/context-menu.mjs +109 -125
  138. package/dist/context-menu.mjs.map +1 -1
  139. package/dist/data-table.d.mts +1 -1
  140. package/dist/data-table.d.ts +1 -1
  141. package/dist/data-table.js +131 -149
  142. package/dist/data-table.js.map +1 -1
  143. package/dist/data-table.mjs +120 -138
  144. package/dist/data-table.mjs.map +1 -1
  145. package/dist/dialog.d.mts +9 -9
  146. package/dist/dialog.d.ts +9 -9
  147. package/dist/dialog.js +2 -2
  148. package/dist/dialog.mjs +1 -1
  149. package/dist/drawer.d.mts +2 -2
  150. package/dist/drawer.d.ts +2 -2
  151. package/dist/drawer.js +30 -63
  152. package/dist/drawer.js.map +1 -1
  153. package/dist/drawer.mjs +30 -63
  154. package/dist/drawer.mjs.map +1 -1
  155. package/dist/dropdown-menu.d.mts +16 -16
  156. package/dist/dropdown-menu.d.ts +16 -16
  157. package/dist/dropdown-menu.js +2 -2
  158. package/dist/dropdown-menu.mjs +1 -1
  159. package/dist/em.js +4 -6
  160. package/dist/em.js.map +1 -1
  161. package/dist/em.mjs +4 -6
  162. package/dist/em.mjs.map +1 -1
  163. package/dist/form.js +23 -54
  164. package/dist/form.js.map +1 -1
  165. package/dist/form.mjs +23 -54
  166. package/dist/form.mjs.map +1 -1
  167. package/dist/heading.js +4 -6
  168. package/dist/heading.js.map +1 -1
  169. package/dist/heading.mjs +4 -6
  170. package/dist/heading.mjs.map +1 -1
  171. package/dist/hover-card.d.mts +4 -4
  172. package/dist/hover-card.d.ts +4 -4
  173. package/dist/hover-card.js +15 -13
  174. package/dist/hover-card.js.map +1 -1
  175. package/dist/hover-card.mjs +15 -13
  176. package/dist/hover-card.mjs.map +1 -1
  177. package/dist/input-otp.js +32 -37
  178. package/dist/input-otp.js.map +1 -1
  179. package/dist/input-otp.mjs +32 -37
  180. package/dist/input-otp.mjs.map +1 -1
  181. package/dist/input.js +10 -14
  182. package/dist/input.js.map +1 -1
  183. package/dist/input.mjs +10 -14
  184. package/dist/input.mjs.map +1 -1
  185. package/dist/kbd.js +14 -16
  186. package/dist/kbd.js.map +1 -1
  187. package/dist/kbd.mjs +14 -16
  188. package/dist/kbd.mjs.map +1 -1
  189. package/dist/label.d.mts +2 -2
  190. package/dist/label.d.ts +2 -2
  191. package/dist/label.js +2 -2
  192. package/dist/label.mjs +1 -1
  193. package/dist/menubar.d.mts +21 -21
  194. package/dist/menubar.d.ts +21 -21
  195. package/dist/menubar.js +73 -93
  196. package/dist/menubar.js.map +1 -1
  197. package/dist/menubar.mjs +74 -94
  198. package/dist/menubar.mjs.map +1 -1
  199. package/dist/navigation-menu.d.mts +16 -16
  200. package/dist/navigation-menu.d.ts +16 -16
  201. package/dist/navigation-menu.js +89 -93
  202. package/dist/navigation-menu.js.map +1 -1
  203. package/dist/navigation-menu.mjs +89 -93
  204. package/dist/navigation-menu.mjs.map +1 -1
  205. package/dist/pagination.js +19 -58
  206. package/dist/pagination.js.map +1 -1
  207. package/dist/pagination.mjs +19 -58
  208. package/dist/pagination.mjs.map +1 -1
  209. package/dist/popover.d.mts +7 -7
  210. package/dist/popover.d.ts +7 -7
  211. package/dist/popover.js +16 -21
  212. package/dist/popover.js.map +1 -1
  213. package/dist/popover.mjs +16 -21
  214. package/dist/popover.mjs.map +1 -1
  215. package/dist/pre.js +4 -6
  216. package/dist/pre.js.map +1 -1
  217. package/dist/pre.mjs +4 -6
  218. package/dist/pre.mjs.map +1 -1
  219. package/dist/progress.d.mts +2 -2
  220. package/dist/progress.d.ts +2 -2
  221. package/dist/progress.js +1 -4
  222. package/dist/progress.js.map +1 -1
  223. package/dist/progress.mjs +1 -4
  224. package/dist/progress.mjs.map +1 -1
  225. package/dist/quote.js +4 -6
  226. package/dist/quote.js.map +1 -1
  227. package/dist/quote.mjs +4 -6
  228. package/dist/quote.mjs.map +1 -1
  229. package/dist/radio-cards.d.mts +9 -0
  230. package/dist/radio-cards.d.ts +9 -0
  231. package/dist/radio-cards.js +36 -0
  232. package/dist/radio-cards.js.map +1 -0
  233. package/dist/radio-cards.mjs +36 -0
  234. package/dist/radio-cards.mjs.map +1 -0
  235. package/dist/radio-group.d.mts +4 -4
  236. package/dist/radio-group.d.ts +4 -4
  237. package/dist/radio-group.js +3 -9
  238. package/dist/radio-group.js.map +1 -1
  239. package/dist/radio-group.mjs +3 -9
  240. package/dist/radio-group.mjs.map +1 -1
  241. package/dist/radio.d.mts +8 -0
  242. package/dist/radio.d.ts +8 -0
  243. package/dist/radio.js +35 -0
  244. package/dist/radio.js.map +1 -0
  245. package/dist/radio.mjs +35 -0
  246. package/dist/radio.mjs.map +1 -0
  247. package/dist/resizable.d.mts +2 -2
  248. package/dist/resizable.d.ts +2 -2
  249. package/dist/resizable.js +3 -5
  250. package/dist/resizable.js.map +1 -1
  251. package/dist/resizable.mjs +3 -5
  252. package/dist/resizable.mjs.map +1 -1
  253. package/dist/scroll-area.d.mts +4 -4
  254. package/dist/scroll-area.d.ts +4 -4
  255. package/dist/scroll-area.js +23 -29
  256. package/dist/scroll-area.js.map +1 -1
  257. package/dist/scroll-area.mjs +23 -29
  258. package/dist/scroll-area.mjs.map +1 -1
  259. package/dist/section.js +4 -6
  260. package/dist/section.js.map +1 -1
  261. package/dist/section.mjs +4 -6
  262. package/dist/section.mjs.map +1 -1
  263. package/dist/segmented.d.mts +22 -0
  264. package/dist/segmented.d.ts +22 -0
  265. package/dist/segmented.js +126 -0
  266. package/dist/segmented.js.map +1 -0
  267. package/dist/segmented.mjs +126 -0
  268. package/dist/segmented.mjs.map +1 -0
  269. package/dist/select.d.mts +17 -17
  270. package/dist/select.d.ts +17 -17
  271. package/dist/select.js +2 -2
  272. package/dist/select.mjs +1 -1
  273. package/dist/separator.d.mts +2 -2
  274. package/dist/separator.d.ts +2 -2
  275. package/dist/separator.js +1 -5
  276. package/dist/separator.js.map +1 -1
  277. package/dist/separator.mjs +1 -5
  278. package/dist/separator.mjs.map +1 -1
  279. package/dist/sheet.d.mts +9 -9
  280. package/dist/sheet.d.ts +9 -9
  281. package/dist/sheet.js +35 -76
  282. package/dist/sheet.js.map +1 -1
  283. package/dist/sheet.mjs +35 -76
  284. package/dist/sheet.mjs.map +1 -1
  285. package/dist/skeleton.js +1 -7
  286. package/dist/skeleton.js.map +1 -1
  287. package/dist/skeleton.mjs +1 -7
  288. package/dist/skeleton.mjs.map +1 -1
  289. package/dist/slider.d.mts +2 -2
  290. package/dist/slider.d.ts +2 -2
  291. package/dist/slider.js +10 -5
  292. package/dist/slider.js.map +1 -1
  293. package/dist/slider.mjs +10 -5
  294. package/dist/slider.mjs.map +1 -1
  295. package/dist/sonner.js +1 -6
  296. package/dist/sonner.js.map +1 -1
  297. package/dist/sonner.mjs +1 -6
  298. package/dist/sonner.mjs.map +1 -1
  299. package/dist/spinner.d.mts +8 -0
  300. package/dist/spinner.d.ts +8 -0
  301. package/dist/spinner.js +8 -0
  302. package/dist/spinner.js.map +1 -0
  303. package/dist/spinner.mjs +8 -0
  304. package/dist/spinner.mjs.map +1 -0
  305. package/dist/strong.js +4 -6
  306. package/dist/strong.js.map +1 -1
  307. package/dist/strong.mjs +4 -6
  308. package/dist/strong.mjs.map +1 -1
  309. package/dist/styles.css +1 -1
  310. package/dist/styles.css.map +1 -1
  311. package/dist/switch.d.mts +2 -2
  312. package/dist/switch.d.ts +2 -2
  313. package/dist/switch.js +2 -1
  314. package/dist/switch.js.map +1 -1
  315. package/dist/switch.mjs +2 -1
  316. package/dist/switch.mjs.map +1 -1
  317. package/dist/table.js +22 -80
  318. package/dist/table.js.map +1 -1
  319. package/dist/table.mjs +22 -80
  320. package/dist/table.mjs.map +1 -1
  321. package/dist/tabs.d.mts +7 -7
  322. package/dist/tabs.d.ts +7 -7
  323. package/dist/tabs.js +4 -2
  324. package/dist/tabs.js.map +1 -1
  325. package/dist/tabs.mjs +4 -2
  326. package/dist/tabs.mjs.map +1 -1
  327. package/dist/text.js +4 -6
  328. package/dist/text.js.map +1 -1
  329. package/dist/text.mjs +4 -6
  330. package/dist/text.mjs.map +1 -1
  331. package/dist/textarea.js +14 -15
  332. package/dist/textarea.js.map +1 -1
  333. package/dist/textarea.mjs +14 -15
  334. package/dist/textarea.mjs.map +1 -1
  335. package/dist/toggle-group.d.mts +2 -2
  336. package/dist/toggle-group.d.ts +2 -2
  337. package/dist/toggle-group.js +41 -34
  338. package/dist/toggle-group.js.map +1 -1
  339. package/dist/toggle-group.mjs +40 -33
  340. package/dist/toggle-group.mjs.map +1 -1
  341. package/dist/toggle.d.mts +2 -2
  342. package/dist/toggle.d.ts +2 -2
  343. package/dist/toggle.js +2 -2
  344. package/dist/toggle.mjs +1 -1
  345. package/dist/tooltip.d.mts +7 -7
  346. package/dist/tooltip.d.ts +7 -7
  347. package/dist/tooltip.js +15 -20
  348. package/dist/tooltip.js.map +1 -1
  349. package/dist/tooltip.mjs +15 -20
  350. package/dist/tooltip.mjs.map +1 -1
  351. package/package.json +43 -6
  352. package/src/accordion.tsx +53 -43
  353. package/src/alert-dialog.tsx +73 -92
  354. package/src/alert.tsx +24 -41
  355. package/src/aspect-ratio.tsx +2 -1
  356. package/src/avatar.tsx +19 -36
  357. package/src/badge.tsx +3 -7
  358. package/src/blockquote.tsx +9 -8
  359. package/src/box.tsx +7 -6
  360. package/src/breadcrumb.tsx +54 -63
  361. package/src/button.tsx +42 -16
  362. package/src/calendar.tsx +6 -22
  363. package/src/card.tsx +40 -56
  364. package/src/carousel.tsx +95 -81
  365. package/src/checkbox-cards.tsx +68 -0
  366. package/src/checkbox-group.primitive.tsx +199 -0
  367. package/src/checkbox-group.tsx +57 -0
  368. package/src/checkbox.tsx +10 -6
  369. package/src/code.tsx +8 -6
  370. package/src/collapsible.tsx +4 -3
  371. package/src/command.tsx +53 -90
  372. package/src/container.tsx +8 -6
  373. package/src/context-menu.tsx +163 -175
  374. package/src/data-table.tsx +26 -43
  375. package/src/dialog.tsx +58 -77
  376. package/src/drawer.tsx +48 -78
  377. package/src/dropdown-menu.tsx +143 -154
  378. package/src/em.tsx +8 -6
  379. package/src/form.tsx +61 -86
  380. package/src/heading.tsx +8 -6
  381. package/src/hover-card.tsx +22 -20
  382. package/src/input-otp.tsx +50 -48
  383. package/src/input.tsx +14 -15
  384. package/src/kbd.tsx +18 -16
  385. package/src/label.tsx +5 -5
  386. package/src/menubar.tsx +133 -149
  387. package/src/navigation-menu.tsx +110 -114
  388. package/src/pagination.tsx +26 -48
  389. package/src/popover.tsx +29 -31
  390. package/src/pre.tsx +8 -6
  391. package/src/progress.tsx +6 -9
  392. package/src/quote.tsx +8 -6
  393. package/src/radio-cards.tsx +50 -0
  394. package/src/radio-group.tsx +14 -24
  395. package/src/radio.tsx +44 -0
  396. package/src/resizable.tsx +5 -7
  397. package/src/scroll-area.tsx +29 -40
  398. package/src/section.tsx +8 -6
  399. package/src/segmented.tsx +176 -0
  400. package/src/select.tsx +106 -115
  401. package/src/separator.tsx +7 -14
  402. package/src/sheet.tsx +50 -76
  403. package/src/skeleton.tsx +2 -6
  404. package/src/slider.tsx +12 -10
  405. package/src/sonner.tsx +3 -7
  406. package/src/spinner.tsx +71 -0
  407. package/src/strong.tsx +8 -6
  408. package/src/switch.tsx +7 -6
  409. package/src/table.tsx +60 -82
  410. package/src/tabs.tsx +20 -18
  411. package/src/text.tsx +8 -8
  412. package/src/textarea.tsx +16 -14
  413. package/src/toggle-group.tsx +59 -58
  414. package/src/toggle.tsx +14 -13
  415. package/src/tooltip.tsx +28 -30
  416. package/dist/chunk-3BDLWZ3W.js +0 -158
  417. package/dist/chunk-3BDLWZ3W.js.map +0 -1
  418. package/dist/chunk-43YGVOCO.js +0 -135
  419. package/dist/chunk-43YGVOCO.js.map +0 -1
  420. package/dist/chunk-AJLEALVP.mjs +0 -112
  421. package/dist/chunk-AJLEALVP.mjs.map +0 -1
  422. package/dist/chunk-D6NQEMTJ.js +0 -112
  423. package/dist/chunk-D6NQEMTJ.js.map +0 -1
  424. package/dist/chunk-FATZHRHR.mjs +0 -56
  425. package/dist/chunk-FATZHRHR.mjs.map +0 -1
  426. package/dist/chunk-GRKABVK4.js.map +0 -1
  427. package/dist/chunk-JOJW7BBY.js.map +0 -1
  428. package/dist/chunk-KV4VL2ZF.mjs +0 -135
  429. package/dist/chunk-KV4VL2ZF.mjs.map +0 -1
  430. package/dist/chunk-MJDKD2K4.mjs.map +0 -1
  431. package/dist/chunk-NCEN3XBK.mjs +0 -158
  432. package/dist/chunk-NCEN3XBK.mjs.map +0 -1
  433. package/dist/chunk-PIU627A3.mjs.map +0 -1
  434. package/dist/chunk-PKB2G726.js.map +0 -1
package/src/menubar.tsx CHANGED
@@ -1,11 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import * as React from "react";
4
- import {
5
- CheckIcon,
6
- ChevronRightIcon,
7
- DotFilledIcon,
8
- } from "@radix-ui/react-icons";
4
+ import { CheckIcon, ChevronRightIcon, DotFilledIcon } from "@radix-ui/react-icons";
9
5
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
10
6
  import { cn } from "./utils";
11
7
 
@@ -13,59 +9,55 @@ import { cn } from "./utils";
13
9
  * Component: MenubarMenu
14
10
  * -------------------------------------------------------------------------- */
15
11
 
16
- type MenubarMenuProps = MenubarPrimitive.MenubarMenuProps;
12
+ type MenubarMenuProps = React.ComponentProps<typeof MenubarPrimitive.Menu>;
17
13
  const MenubarMenu = MenubarPrimitive.Menu;
18
14
 
19
15
  /* -----------------------------------------------------------------------------
20
16
  * Component: MenubarGroup
21
17
  * -------------------------------------------------------------------------- */
22
18
 
23
- type MenubarGroupProps = MenubarPrimitive.MenubarGroupProps;
19
+ type MenubarGroupProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Group>;
24
20
  const MenubarGroup = MenubarPrimitive.Group;
25
21
 
26
22
  /* -----------------------------------------------------------------------------
27
23
  * Component: MenubarSub
28
24
  * -------------------------------------------------------------------------- */
29
25
 
30
- type MenubarSubProps = MenubarPrimitive.MenubarSubProps;
26
+ type MenubarSubProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Sub>;
31
27
  const MenubarSub = MenubarPrimitive.Sub;
32
28
 
33
29
  /* -----------------------------------------------------------------------------
34
30
  * Component: MenubarRadioGroup
35
31
  * -------------------------------------------------------------------------- */
36
32
 
37
- type MenubarRadioGroupProps = MenubarPrimitive.MenubarRadioGroupProps;
33
+ type MenubarRadioGroupProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioGroup>;
38
34
  const MenubarRadioGroup = MenubarPrimitive.RadioGroup;
39
35
 
40
36
  /* -----------------------------------------------------------------------------
41
37
  * Component: Menubar
42
38
  * -------------------------------------------------------------------------- */
43
39
 
44
- type MenubarProps = MenubarPrimitive.MenubarProps;
45
- const Menubar = React.forwardRef<
46
- React.ElementRef<typeof MenubarPrimitive.Root>,
47
- MenubarProps
48
- >(({ className, ...props }, ref) => (
40
+ type MenubarElement = React.ElementRef<typeof MenubarPrimitive.Root>;
41
+ type MenubarProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>;
42
+
43
+ const Menubar = React.forwardRef<MenubarElement, MenubarProps>(({ className, ...props }, ref) => (
49
44
  <MenubarPrimitive.Root
50
45
  ref={ref}
51
- className={cn(
52
- "bg-background flex h-10 items-center space-x-1 rounded-md border p-1 shadow-sm",
53
- className,
54
- )}
46
+ className={cn("bg-background flex h-10 items-center space-x-1 rounded-md border p-1 shadow-sm", className)}
55
47
  {...props}
56
48
  />
57
49
  ));
50
+
58
51
  Menubar.displayName = MenubarPrimitive.Root.displayName;
59
52
 
60
53
  /* -----------------------------------------------------------------------------
61
54
  * Component: MenubarTrigger
62
55
  * -------------------------------------------------------------------------- */
63
56
 
64
- type MenubarTriggerProps = MenubarPrimitive.MenubarTriggerProps;
65
- const MenubarTrigger = React.forwardRef<
66
- React.ElementRef<typeof MenubarPrimitive.Trigger>,
67
- MenubarTriggerProps
68
- >(({ className, ...props }, ref) => (
57
+ type MenubarTriggerElement = React.ElementRef<typeof MenubarPrimitive.Trigger>;
58
+ type MenubarTriggerProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>;
59
+
60
+ const MenubarTrigger = React.forwardRef<MenubarTriggerElement, MenubarTriggerProps>(({ className, ...props }, ref) => (
69
61
  <MenubarPrimitive.Trigger
70
62
  ref={ref}
71
63
  className={cn(
@@ -75,70 +67,71 @@ const MenubarTrigger = React.forwardRef<
75
67
  {...props}
76
68
  />
77
69
  ));
70
+
78
71
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
79
72
 
80
73
  /* -----------------------------------------------------------------------------
81
74
  * Component: MenubarSubTrigger
82
75
  * -------------------------------------------------------------------------- */
83
76
 
84
- interface MenubarSubTriggerProps
85
- extends MenubarPrimitive.MenubarSubTriggerProps {
77
+ type MenubarSubTriggerElement = React.ElementRef<typeof MenubarPrimitive.SubTrigger>;
78
+
79
+ interface MenubarSubTriggerProps extends React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> {
86
80
  inset?: boolean;
87
81
  }
88
- const MenubarSubTrigger = React.forwardRef<
89
- React.ElementRef<typeof MenubarPrimitive.SubTrigger>,
90
- MenubarSubTriggerProps
91
- >(({ className, inset, children, ...props }, ref) => (
92
- <MenubarPrimitive.SubTrigger
93
- ref={ref}
94
- className={cn(
95
- "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none",
96
- inset && "pl-8",
97
- className,
98
- )}
99
- {...props}
100
- >
101
- {children}
102
- <ChevronRightIcon className="ml-auto size-4" />
103
- </MenubarPrimitive.SubTrigger>
104
- ));
105
- MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
106
-
107
- /* -----------------------------------------------------------------------------
108
- * Component: MenubarSubContent
109
- * -------------------------------------------------------------------------- */
110
82
 
111
- type MenubarSubContentProps = MenubarPrimitive.MenubarSubContentProps;
112
- const MenubarSubContent = React.forwardRef<
113
- React.ElementRef<typeof MenubarPrimitive.SubContent>,
114
- MenubarSubContentProps
115
- >(({ className, ...props }, ref) => (
116
- <MenubarPrimitive.Portal>
117
- <MenubarPrimitive.SubContent
83
+ const MenubarSubTrigger = React.forwardRef<MenubarSubTriggerElement, MenubarSubTriggerProps>(
84
+ ({ className, inset, children, ...props }, ref) => (
85
+ <MenubarPrimitive.SubTrigger
118
86
  ref={ref}
119
87
  className={cn(
120
- "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 z-50 min-w-[8rem] rounded-md border p-1 shadow-md focus:outline-none",
88
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none",
89
+ inset && "pl-8",
121
90
  className,
122
91
  )}
123
92
  {...props}
124
- />
125
- </MenubarPrimitive.Portal>
126
- ));
93
+ >
94
+ {children}
95
+ <ChevronRightIcon className="ml-auto size-4" />
96
+ </MenubarPrimitive.SubTrigger>
97
+ ),
98
+ );
99
+
100
+ MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
101
+
102
+ /* -----------------------------------------------------------------------------
103
+ * Component: MenubarSubContent
104
+ * -------------------------------------------------------------------------- */
105
+
106
+ type MenubarSubContentElement = React.ElementRef<typeof MenubarPrimitive.SubContent>;
107
+ type MenubarSubContentProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>;
108
+
109
+ const MenubarSubContent = React.forwardRef<MenubarSubContentElement, MenubarSubContentProps>(
110
+ ({ className, ...props }, ref) => (
111
+ <MenubarPrimitive.Portal>
112
+ <MenubarPrimitive.SubContent
113
+ ref={ref}
114
+ className={cn(
115
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 z-50 min-w-[8rem] rounded-md border p-1 shadow-md focus:outline-none",
116
+ className,
117
+ )}
118
+ {...props}
119
+ />
120
+ </MenubarPrimitive.Portal>
121
+ ),
122
+ );
123
+
127
124
  MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
128
125
 
129
126
  /* -----------------------------------------------------------------------------
130
127
  * Component: MenubarContent
131
128
  * -------------------------------------------------------------------------- */
132
129
 
133
- type MenubarContentProps = MenubarPrimitive.MenubarContentProps;
134
- const MenubarContent = React.forwardRef<
135
- React.ElementRef<typeof MenubarPrimitive.Content>,
136
- MenubarContentProps
137
- >(
138
- (
139
- { className, align = "start", alignOffset = -4, sideOffset = 8, ...props },
140
- ref,
141
- ) => (
130
+ type MenubarContentElement = React.ElementRef<typeof MenubarPrimitive.Content>;
131
+ type MenubarContentProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>;
132
+
133
+ const MenubarContent = React.forwardRef<MenubarContentElement, MenubarContentProps>(
134
+ ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => (
142
135
  <MenubarPrimitive.Portal>
143
136
  <MenubarPrimitive.Content
144
137
  ref={ref}
@@ -154,19 +147,20 @@ const MenubarContent = React.forwardRef<
154
147
  </MenubarPrimitive.Portal>
155
148
  ),
156
149
  );
150
+
157
151
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
158
152
 
159
153
  /* -----------------------------------------------------------------------------
160
154
  * Component: MenubarItem
161
155
  * -------------------------------------------------------------------------- */
162
156
 
163
- interface MenubarItemProps extends MenubarPrimitive.MenubarItemProps {
157
+ type MenubarItemElement = React.ElementRef<typeof MenubarPrimitive.Item>;
158
+
159
+ interface MenubarItemProps extends React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> {
164
160
  inset?: boolean;
165
161
  }
166
- const MenubarItem = React.forwardRef<
167
- React.ElementRef<typeof MenubarPrimitive.Item>,
168
- MenubarItemProps
169
- >(({ className, inset, ...props }, ref) => (
162
+
163
+ const MenubarItem = React.forwardRef<MenubarItemElement, MenubarItemProps>(({ className, inset, ...props }, ref) => (
170
164
  <MenubarPrimitive.Item
171
165
  ref={ref}
172
166
  className={cn(
@@ -177,101 +171,101 @@ const MenubarItem = React.forwardRef<
177
171
  {...props}
178
172
  />
179
173
  ));
174
+
180
175
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
181
176
 
182
177
  /* -----------------------------------------------------------------------------
183
178
  * Component: MenubarCheckboxItem
184
179
  * -------------------------------------------------------------------------- */
185
180
 
186
- type MenubarCheckboxItemProps = MenubarPrimitive.MenubarCheckboxItemProps;
187
- const MenubarCheckboxItem = React.forwardRef<
188
- React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,
189
- MenubarCheckboxItemProps
190
- >(({ className, children, checked, ...props }, ref) => (
191
- <MenubarPrimitive.CheckboxItem
192
- ref={ref}
193
- className={cn(
194
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50",
195
- className,
196
- )}
197
- checked={checked}
198
- {...props}
199
- >
200
- <span className="absolute left-2 flex size-3.5 items-center justify-center">
201
- <MenubarPrimitive.ItemIndicator>
202
- <CheckIcon className="size-4" />
203
- </MenubarPrimitive.ItemIndicator>
204
- </span>
205
- {children}
206
- </MenubarPrimitive.CheckboxItem>
207
- ));
181
+ type MenubarCheckboxItemElement = React.ElementRef<typeof MenubarPrimitive.CheckboxItem>;
182
+ type MenubarCheckboxItemProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>;
183
+
184
+ const MenubarCheckboxItem = React.forwardRef<MenubarCheckboxItemElement, MenubarCheckboxItemProps>(
185
+ ({ className, children, checked, ...props }, ref) => (
186
+ <MenubarPrimitive.CheckboxItem
187
+ ref={ref}
188
+ className={cn(
189
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50",
190
+ className,
191
+ )}
192
+ checked={checked}
193
+ {...props}
194
+ >
195
+ <span className="absolute left-2 flex size-3.5 items-center justify-center">
196
+ <MenubarPrimitive.ItemIndicator>
197
+ <CheckIcon className="size-4" />
198
+ </MenubarPrimitive.ItemIndicator>
199
+ </span>
200
+ {children}
201
+ </MenubarPrimitive.CheckboxItem>
202
+ ),
203
+ );
204
+
208
205
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
209
206
 
210
207
  /* -----------------------------------------------------------------------------
211
208
  * Component: MenubarRadioItem
212
209
  * -------------------------------------------------------------------------- */
213
210
 
214
- type MenubarRadioItemProps = MenubarPrimitive.MenubarRadioItemProps;
215
- const MenubarRadioItem = React.forwardRef<
216
- React.ElementRef<typeof MenubarPrimitive.RadioItem>,
217
- MenubarRadioItemProps
218
- >(({ className, children, ...props }, ref) => (
219
- <MenubarPrimitive.RadioItem
220
- ref={ref}
221
- className={cn(
222
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50",
223
- className,
224
- )}
225
- {...props}
226
- >
227
- <span className="absolute left-2 flex size-3.5 items-center justify-center">
228
- <MenubarPrimitive.ItemIndicator>
229
- <DotFilledIcon className="size-4 fill-current" />
230
- </MenubarPrimitive.ItemIndicator>
231
- </span>
232
- {children}
233
- </MenubarPrimitive.RadioItem>
234
- ));
211
+ type MenubarRadioItemElement = React.ElementRef<typeof MenubarPrimitive.RadioItem>;
212
+ type MenubarRadioItemProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>;
213
+
214
+ const MenubarRadioItem = React.forwardRef<MenubarRadioItemElement, MenubarRadioItemProps>(
215
+ ({ className, children, ...props }, ref) => (
216
+ <MenubarPrimitive.RadioItem
217
+ ref={ref}
218
+ className={cn(
219
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50",
220
+ className,
221
+ )}
222
+ {...props}
223
+ >
224
+ <span className="absolute left-2 flex size-3.5 items-center justify-center">
225
+ <MenubarPrimitive.ItemIndicator>
226
+ <DotFilledIcon className="size-4 fill-current" />
227
+ </MenubarPrimitive.ItemIndicator>
228
+ </span>
229
+ {children}
230
+ </MenubarPrimitive.RadioItem>
231
+ ),
232
+ );
233
+
235
234
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
236
235
 
237
236
  /* -----------------------------------------------------------------------------
238
237
  * Component: MenubarLabel
239
238
  * -------------------------------------------------------------------------- */
240
239
 
241
- interface MenubarLabelProps extends MenubarPrimitive.MenubarLabelProps {
240
+ type MenubarLabelElement = React.ElementRef<typeof MenubarPrimitive.Label>;
241
+
242
+ interface MenubarLabelProps extends React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> {
242
243
  inset?: boolean;
243
244
  }
244
- const MenubarLabel = React.forwardRef<
245
- React.ElementRef<typeof MenubarPrimitive.Label>,
246
- MenubarLabelProps
247
- >(({ className, inset, ...props }, ref) => (
245
+
246
+ const MenubarLabel = React.forwardRef<MenubarLabelElement, MenubarLabelProps>(({ className, inset, ...props }, ref) => (
248
247
  <MenubarPrimitive.Label
249
248
  ref={ref}
250
- className={cn(
251
- "px-2 py-1.5 text-sm font-semibold",
252
- inset && "pl-8",
253
- className,
254
- )}
249
+ className={cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className)}
255
250
  {...props}
256
251
  />
257
252
  ));
253
+
258
254
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
259
255
 
260
256
  /* -----------------------------------------------------------------------------
261
257
  * Component: MenubarSeparator
262
258
  * -------------------------------------------------------------------------- */
263
259
 
264
- type MenubarSeparatorProps = MenubarPrimitive.MenubarSeparatorProps;
265
- const MenubarSeparator = React.forwardRef<
266
- React.ElementRef<typeof MenubarPrimitive.Separator>,
267
- MenubarSeparatorProps
268
- >(({ className, ...props }, ref) => (
269
- <MenubarPrimitive.Separator
270
- ref={ref}
271
- className={cn("bg-muted -mx-1 my-1 h-px", className)}
272
- {...props}
273
- />
274
- ));
260
+ type MenubarSeparatorElement = React.ElementRef<typeof MenubarPrimitive.Separator>;
261
+ type MenubarSeparatorProps = React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>;
262
+
263
+ const MenubarSeparator = React.forwardRef<MenubarSeparatorElement, MenubarSeparatorProps>(
264
+ ({ className, ...props }, ref) => (
265
+ <MenubarPrimitive.Separator ref={ref} className={cn("bg-muted -mx-1 my-1 h-px", className)} {...props} />
266
+ ),
267
+ );
268
+
275
269
  MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
276
270
 
277
271
  /* -----------------------------------------------------------------------------
@@ -279,19 +273,9 @@ MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
279
273
  * -------------------------------------------------------------------------- */
280
274
 
281
275
  type MenubarShortcutProps = React.HTMLAttributes<HTMLSpanElement>;
282
- function MenubarShortcut({
283
- className,
284
- ...props
285
- }: MenubarShortcutProps): React.JSX.Element {
286
- return (
287
- <span
288
- className={cn(
289
- "text-muted-foreground ml-auto text-xs tracking-widest",
290
- className,
291
- )}
292
- {...props}
293
- />
294
- );
276
+
277
+ function MenubarShortcut({ className, ...props }: MenubarShortcutProps): React.JSX.Element {
278
+ return <span className={cn("text-muted-foreground ml-auto text-xs tracking-widest", className)} {...props} />;
295
279
  }
296
280
 
297
281
  /* -----------------------------------------------------------------------------