@codefast/ui 0.0.9 → 0.0.10

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 (427) 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 +29 -66
  40. package/dist/breadcrumb.js.map +1 -1
  41. package/dist/breadcrumb.mjs +29 -66
  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-5UHPKXF4.mjs +60 -0
  86. package/dist/chunk-5UHPKXF4.mjs.map +1 -0
  87. package/dist/chunk-EWS3N4OZ.mjs +148 -0
  88. package/dist/chunk-EWS3N4OZ.mjs.map +1 -0
  89. package/dist/{chunk-PIU627A3.mjs → chunk-FGI3JA75.mjs} +1 -1
  90. package/dist/chunk-FGI3JA75.mjs.map +1 -0
  91. package/dist/{chunk-GRKABVK4.js → chunk-IVYGBU4G.js} +1 -1
  92. package/dist/chunk-IVYGBU4G.js.map +1 -0
  93. package/dist/chunk-IXEJO7ZP.js +86 -0
  94. package/dist/chunk-IXEJO7ZP.js.map +1 -0
  95. package/dist/chunk-J6COVJTP.js +60 -0
  96. package/dist/chunk-J6COVJTP.js.map +1 -0
  97. package/dist/chunk-JULVZPCS.mjs +120 -0
  98. package/dist/chunk-JULVZPCS.mjs.map +1 -0
  99. package/dist/chunk-LNSEYAPJ.js +121 -0
  100. package/dist/chunk-LNSEYAPJ.js.map +1 -0
  101. package/dist/chunk-MOJNV3XZ.js +120 -0
  102. package/dist/chunk-MOJNV3XZ.js.map +1 -0
  103. package/dist/{chunk-JOJW7BBY.js → chunk-NEP3JDVQ.js} +31 -6
  104. package/dist/chunk-NEP3JDVQ.js.map +1 -0
  105. package/dist/chunk-OK63Q6EJ.mjs +121 -0
  106. package/dist/chunk-OK63Q6EJ.mjs.map +1 -0
  107. package/dist/{chunk-PKB2G726.js → chunk-ORAVN37L.js} +6 -10
  108. package/dist/chunk-ORAVN37L.js.map +1 -0
  109. package/dist/{chunk-MJDKD2K4.mjs → chunk-XCBBSHAK.mjs} +6 -10
  110. package/dist/chunk-XCBBSHAK.mjs.map +1 -0
  111. package/dist/chunk-XCKLBP2V.mjs +86 -0
  112. package/dist/chunk-XCKLBP2V.mjs.map +1 -0
  113. package/dist/chunk-XHZUPL2U.mjs +81 -0
  114. package/dist/chunk-XHZUPL2U.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/select.d.mts +17 -17
  264. package/dist/select.d.ts +17 -17
  265. package/dist/select.js +2 -2
  266. package/dist/select.mjs +1 -1
  267. package/dist/separator.d.mts +2 -2
  268. package/dist/separator.d.ts +2 -2
  269. package/dist/separator.js +1 -5
  270. package/dist/separator.js.map +1 -1
  271. package/dist/separator.mjs +1 -5
  272. package/dist/separator.mjs.map +1 -1
  273. package/dist/sheet.d.mts +9 -9
  274. package/dist/sheet.d.ts +9 -9
  275. package/dist/sheet.js +35 -76
  276. package/dist/sheet.js.map +1 -1
  277. package/dist/sheet.mjs +35 -76
  278. package/dist/sheet.mjs.map +1 -1
  279. package/dist/skeleton.js +1 -7
  280. package/dist/skeleton.js.map +1 -1
  281. package/dist/skeleton.mjs +1 -7
  282. package/dist/skeleton.mjs.map +1 -1
  283. package/dist/slider.d.mts +2 -2
  284. package/dist/slider.d.ts +2 -2
  285. package/dist/slider.js +10 -5
  286. package/dist/slider.js.map +1 -1
  287. package/dist/slider.mjs +10 -5
  288. package/dist/slider.mjs.map +1 -1
  289. package/dist/sonner.js +1 -6
  290. package/dist/sonner.js.map +1 -1
  291. package/dist/sonner.mjs +1 -6
  292. package/dist/sonner.mjs.map +1 -1
  293. package/dist/spinner.d.mts +8 -0
  294. package/dist/spinner.d.ts +8 -0
  295. package/dist/spinner.js +8 -0
  296. package/dist/spinner.js.map +1 -0
  297. package/dist/spinner.mjs +8 -0
  298. package/dist/spinner.mjs.map +1 -0
  299. package/dist/strong.js +4 -6
  300. package/dist/strong.js.map +1 -1
  301. package/dist/strong.mjs +4 -6
  302. package/dist/strong.mjs.map +1 -1
  303. package/dist/styles.css +1 -1
  304. package/dist/styles.css.map +1 -1
  305. package/dist/switch.d.mts +2 -2
  306. package/dist/switch.d.ts +2 -2
  307. package/dist/switch.js +2 -1
  308. package/dist/switch.js.map +1 -1
  309. package/dist/switch.mjs +2 -1
  310. package/dist/switch.mjs.map +1 -1
  311. package/dist/table.js +22 -80
  312. package/dist/table.js.map +1 -1
  313. package/dist/table.mjs +22 -80
  314. package/dist/table.mjs.map +1 -1
  315. package/dist/tabs.d.mts +7 -7
  316. package/dist/tabs.d.ts +7 -7
  317. package/dist/tabs.js +4 -2
  318. package/dist/tabs.js.map +1 -1
  319. package/dist/tabs.mjs +4 -2
  320. package/dist/tabs.mjs.map +1 -1
  321. package/dist/text.js +4 -6
  322. package/dist/text.js.map +1 -1
  323. package/dist/text.mjs +4 -6
  324. package/dist/text.mjs.map +1 -1
  325. package/dist/textarea.js +14 -15
  326. package/dist/textarea.js.map +1 -1
  327. package/dist/textarea.mjs +14 -15
  328. package/dist/textarea.mjs.map +1 -1
  329. package/dist/toggle-group.d.mts +2 -2
  330. package/dist/toggle-group.d.ts +2 -2
  331. package/dist/toggle-group.js +41 -34
  332. package/dist/toggle-group.js.map +1 -1
  333. package/dist/toggle-group.mjs +40 -33
  334. package/dist/toggle-group.mjs.map +1 -1
  335. package/dist/toggle.d.mts +2 -2
  336. package/dist/toggle.d.ts +2 -2
  337. package/dist/toggle.js +2 -2
  338. package/dist/toggle.mjs +1 -1
  339. package/dist/tooltip.d.mts +7 -7
  340. package/dist/tooltip.d.ts +7 -7
  341. package/dist/tooltip.js +15 -20
  342. package/dist/tooltip.js.map +1 -1
  343. package/dist/tooltip.mjs +15 -20
  344. package/dist/tooltip.mjs.map +1 -1
  345. package/package.json +36 -5
  346. package/src/accordion.tsx +53 -43
  347. package/src/alert-dialog.tsx +73 -92
  348. package/src/alert.tsx +24 -41
  349. package/src/aspect-ratio.tsx +2 -1
  350. package/src/avatar.tsx +19 -36
  351. package/src/badge.tsx +3 -7
  352. package/src/blockquote.tsx +9 -8
  353. package/src/box.tsx +7 -6
  354. package/src/breadcrumb.tsx +52 -61
  355. package/src/button.tsx +41 -14
  356. package/src/calendar.tsx +6 -22
  357. package/src/card.tsx +40 -56
  358. package/src/carousel.tsx +95 -81
  359. package/src/checkbox-cards.tsx +68 -0
  360. package/src/checkbox-group.primitive.tsx +199 -0
  361. package/src/checkbox-group.tsx +57 -0
  362. package/src/checkbox.tsx +10 -6
  363. package/src/code.tsx +8 -6
  364. package/src/collapsible.tsx +4 -3
  365. package/src/command.tsx +53 -90
  366. package/src/container.tsx +8 -6
  367. package/src/context-menu.tsx +163 -175
  368. package/src/data-table.tsx +26 -43
  369. package/src/dialog.tsx +58 -77
  370. package/src/drawer.tsx +48 -78
  371. package/src/dropdown-menu.tsx +143 -154
  372. package/src/em.tsx +8 -6
  373. package/src/form.tsx +61 -86
  374. package/src/heading.tsx +8 -6
  375. package/src/hover-card.tsx +22 -20
  376. package/src/input-otp.tsx +50 -48
  377. package/src/input.tsx +14 -15
  378. package/src/kbd.tsx +18 -16
  379. package/src/label.tsx +5 -5
  380. package/src/menubar.tsx +133 -149
  381. package/src/navigation-menu.tsx +110 -114
  382. package/src/pagination.tsx +26 -48
  383. package/src/popover.tsx +29 -31
  384. package/src/pre.tsx +8 -6
  385. package/src/progress.tsx +6 -9
  386. package/src/quote.tsx +8 -6
  387. package/src/radio-cards.tsx +50 -0
  388. package/src/radio-group.tsx +14 -24
  389. package/src/radio.tsx +44 -0
  390. package/src/resizable.tsx +5 -7
  391. package/src/scroll-area.tsx +29 -40
  392. package/src/section.tsx +8 -6
  393. package/src/select.tsx +106 -115
  394. package/src/separator.tsx +7 -14
  395. package/src/sheet.tsx +50 -76
  396. package/src/skeleton.tsx +2 -6
  397. package/src/slider.tsx +12 -10
  398. package/src/sonner.tsx +3 -7
  399. package/src/spinner.tsx +75 -0
  400. package/src/strong.tsx +8 -6
  401. package/src/switch.tsx +7 -6
  402. package/src/table.tsx +60 -82
  403. package/src/tabs.tsx +20 -18
  404. package/src/text.tsx +8 -8
  405. package/src/textarea.tsx +16 -14
  406. package/src/toggle-group.tsx +59 -58
  407. package/src/toggle.tsx +11 -13
  408. package/src/tooltip.tsx +28 -30
  409. package/dist/chunk-3BDLWZ3W.js +0 -158
  410. package/dist/chunk-3BDLWZ3W.js.map +0 -1
  411. package/dist/chunk-43YGVOCO.js +0 -135
  412. package/dist/chunk-43YGVOCO.js.map +0 -1
  413. package/dist/chunk-AJLEALVP.mjs +0 -112
  414. package/dist/chunk-AJLEALVP.mjs.map +0 -1
  415. package/dist/chunk-D6NQEMTJ.js +0 -112
  416. package/dist/chunk-D6NQEMTJ.js.map +0 -1
  417. package/dist/chunk-FATZHRHR.mjs +0 -56
  418. package/dist/chunk-FATZHRHR.mjs.map +0 -1
  419. package/dist/chunk-GRKABVK4.js.map +0 -1
  420. package/dist/chunk-JOJW7BBY.js.map +0 -1
  421. package/dist/chunk-KV4VL2ZF.mjs +0 -135
  422. package/dist/chunk-KV4VL2ZF.mjs.map +0 -1
  423. package/dist/chunk-MJDKD2K4.mjs.map +0 -1
  424. package/dist/chunk-NCEN3XBK.mjs +0 -158
  425. package/dist/chunk-NCEN3XBK.mjs.map +0 -1
  426. package/dist/chunk-PIU627A3.mjs.map +0 -1
  427. package/dist/chunk-PKB2G726.js.map +0 -1
package/src/tabs.tsx CHANGED
@@ -8,18 +8,17 @@ import { cn } from "./utils";
8
8
  * Component: Tabs
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
- type TabsProps = TabsPrimitive.TabsProps;
11
+ type TabsProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root>;
12
12
  const Tabs = TabsPrimitive.Root;
13
13
 
14
14
  /* -----------------------------------------------------------------------------
15
15
  * Component: TabsList
16
16
  * -------------------------------------------------------------------------- */
17
17
 
18
- type TabsListProps = TabsPrimitive.TabsListProps;
19
- const TabsList = React.forwardRef<
20
- React.ElementRef<typeof TabsPrimitive.List>,
21
- TabsListProps
22
- >(({ className, ...props }, ref) => (
18
+ type TabsListElement = React.ElementRef<typeof TabsPrimitive.List>;
19
+ type TabsListProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>;
20
+
21
+ const TabsList = React.forwardRef<TabsListElement, TabsListProps>(({ className, ...props }, ref) => (
23
22
  <TabsPrimitive.List
24
23
  ref={ref}
25
24
  className={cn(
@@ -29,46 +28,49 @@ const TabsList = React.forwardRef<
29
28
  {...props}
30
29
  />
31
30
  ));
31
+
32
32
  TabsList.displayName = TabsPrimitive.List.displayName;
33
33
 
34
34
  /* -----------------------------------------------------------------------------
35
35
  * Component: TabsTrigger
36
36
  * -------------------------------------------------------------------------- */
37
37
 
38
- type TabsTriggerProps = TabsPrimitive.TabsTriggerProps;
39
- const TabsTrigger = React.forwardRef<
40
- React.ElementRef<typeof TabsPrimitive.Trigger>,
41
- TabsTriggerProps
42
- >(({ className, ...props }, ref) => (
38
+ type TabsTriggerElement = React.ElementRef<typeof TabsPrimitive.Trigger>;
39
+ type TabsTriggerProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>;
40
+
41
+ const TabsTrigger = React.forwardRef<TabsTriggerElement, TabsTriggerProps>(({ className, ...props }, ref) => (
43
42
  <TabsPrimitive.Trigger
44
43
  ref={ref}
45
44
  className={cn(
46
- "focus-visible:ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm",
45
+ "data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm",
46
+ "focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
47
47
  className,
48
48
  )}
49
49
  {...props}
50
50
  />
51
51
  ));
52
+
52
53
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
53
54
 
54
55
  /* -----------------------------------------------------------------------------
55
56
  * Component: TabsContent
56
57
  * -------------------------------------------------------------------------- */
57
58
 
58
- type TabsContentProps = TabsPrimitive.TabsContentProps;
59
- const TabsContent = React.forwardRef<
60
- React.ElementRef<typeof TabsPrimitive.Content>,
61
- TabsContentProps
62
- >(({ className, ...props }, ref) => (
59
+ type TabsContentElement = React.ElementRef<typeof TabsPrimitive.Content>;
60
+ type TabsContentProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>;
61
+
62
+ const TabsContent = React.forwardRef<TabsContentElement, TabsContentProps>(({ className, ...props }, ref) => (
63
63
  <TabsPrimitive.Content
64
64
  ref={ref}
65
65
  className={cn(
66
- "focus-visible:ring-offset-background focus-visible:ring-ring mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
66
+ "mt-2",
67
+ "focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
67
68
  className,
68
69
  )}
69
70
  {...props}
70
71
  />
71
72
  ));
73
+
72
74
  TabsContent.displayName = TabsPrimitive.Content.displayName;
73
75
 
74
76
  /* -----------------------------------------------------------------------------
package/src/text.tsx CHANGED
@@ -5,8 +5,9 @@ import { Slot } from "@radix-ui/react-slot";
5
5
  * Component: Text
6
6
  * -------------------------------------------------------------------------- */
7
7
 
8
- interface TextParagraphProps
9
- extends React.HTMLAttributes<HTMLParagraphElement> {
8
+ type TextElement = HTMLParagraphElement;
9
+
10
+ interface TextParagraphProps extends React.HTMLAttributes<HTMLParagraphElement> {
10
11
  as?: "p";
11
12
  }
12
13
 
@@ -18,13 +19,12 @@ type TextProps = (TextParagraphProps | TextSpanProps) & {
18
19
  asChild?: boolean;
19
20
  };
20
21
 
21
- const Text = React.forwardRef<HTMLParagraphElement, TextProps>(
22
- ({ as: Tag = "p", asChild, ...props }, ref) => {
23
- const Comp = asChild ? Slot : Tag;
22
+ const Text = React.forwardRef<TextElement, TextProps>(({ as: Tag = "p", asChild, ...props }, ref) => {
23
+ const Comp = asChild ? Slot : Tag;
24
+
25
+ return <Comp ref={ref} {...props} />;
26
+ });
24
27
 
25
- return <Comp ref={ref} {...props} />;
26
- },
27
- );
28
28
  Text.displayName = "Text";
29
29
 
30
30
  /* -----------------------------------------------------------------------------
package/src/textarea.tsx CHANGED
@@ -5,21 +5,23 @@ import { cn } from "./utils";
5
5
  * Component: Textarea
6
6
  * -------------------------------------------------------------------------- */
7
7
 
8
+ type TextareaElement = HTMLTextAreaElement;
8
9
  type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>;
9
- const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
10
- ({ className, ...props }, ref) => {
11
- return (
12
- <textarea
13
- className={cn(
14
- "border-input placeholder:text-muted-foreground focus-visible:ring-ring focus-visible:ring-offset-background flex min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
15
- className,
16
- )}
17
- ref={ref}
18
- {...props}
19
- />
20
- );
21
- },
22
- );
10
+
11
+ const Textarea = React.forwardRef<TextareaElement, TextareaProps>(({ className, ...props }, ref) => {
12
+ return (
13
+ <textarea
14
+ className={cn(
15
+ "border-input placeholder:text-muted-foreground flex min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm disabled:cursor-not-allowed disabled:opacity-50",
16
+ "focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
17
+ className,
18
+ )}
19
+ ref={ref}
20
+ {...props}
21
+ />
22
+ );
23
+ });
24
+
23
25
  Textarea.displayName = "Textarea";
24
26
 
25
27
  /* -----------------------------------------------------------------------------
@@ -2,79 +2,80 @@
2
2
 
3
3
  import * as React from "react";
4
4
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
5
+ import { createToggleGroupScope } from "@radix-ui/react-toggle-group";
6
+ import { createContextScope, type Scope } from "@radix-ui/react-context";
5
7
  import { toggleVariants, type ToggleVariantsProps } from "./toggle";
6
8
  import { cn } from "./utils";
7
9
 
8
10
  /* -----------------------------------------------------------------------------
9
- * Context: ToggleGroup
11
+ * Component: ToggleGroup
10
12
  * -------------------------------------------------------------------------- */
11
13
 
12
- const ToggleGroupContext = React.createContext<ToggleVariantsProps>({
13
- size: "default",
14
- variant: "default",
15
- });
14
+ const TOGGLE_GROUP_NAME = "ToggleGroup";
16
15
 
17
- /* -----------------------------------------------------------------------------
18
- * Component: ToggleGroup
19
- * -------------------------------------------------------------------------- */
16
+ type ScopedProps<P> = P & { __scopeToggleGroup?: Scope };
17
+
18
+ const [createToggleGroupContext] = createContextScope(TOGGLE_GROUP_NAME, [createToggleGroupScope]);
19
+
20
+ const useToggleGroupScope = createToggleGroupScope();
21
+
22
+ const [ToggleGroupProvider, useToggleGroupContext] = createToggleGroupContext<ToggleVariantsProps>(TOGGLE_GROUP_NAME);
20
23
 
21
- type ToggleGroupProps = React.ComponentPropsWithoutRef<
22
- typeof ToggleGroupPrimitive.Root
23
- > &
24
- ToggleVariantsProps;
25
- const ToggleGroup = React.forwardRef<
26
- React.ElementRef<typeof ToggleGroupPrimitive.Root>,
27
- ToggleGroupProps
28
- >(({ className, variant, size, children, ...props }, ref) => (
29
- <ToggleGroupPrimitive.Root
30
- ref={ref}
31
- className={cn("flex items-center justify-center gap-1", className)}
32
- {...props}
33
- >
34
- <ToggleGroupContext.Provider value={{ variant, size }}>
35
- {children}
36
- </ToggleGroupContext.Provider>
37
- </ToggleGroupPrimitive.Root>
38
- ));
39
- ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
24
+ type ToggleGroupElement = React.ElementRef<typeof ToggleGroupPrimitive.Root>;
25
+ type ToggleGroupProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> & ToggleVariantsProps;
26
+
27
+ const ToggleGroup = React.forwardRef<ToggleGroupElement, ToggleGroupProps>(
28
+ ({ __scopeToggleGroup, className, variant, size, children, ...props }: ScopedProps<ToggleGroupProps>, ref) => {
29
+ const toggleGroupScope = useToggleGroupScope(__scopeToggleGroup);
30
+
31
+ return (
32
+ <ToggleGroupProvider scope={__scopeToggleGroup} size={size} variant={variant}>
33
+ <ToggleGroupPrimitive.Root
34
+ ref={ref}
35
+ className={cn("flex items-center justify-center gap-1", className)}
36
+ {...toggleGroupScope}
37
+ {...props}
38
+ >
39
+ {children}
40
+ </ToggleGroupPrimitive.Root>
41
+ </ToggleGroupProvider>
42
+ );
43
+ },
44
+ );
45
+
46
+ ToggleGroup.displayName = TOGGLE_GROUP_NAME;
40
47
 
41
48
  /* -----------------------------------------------------------------------------
42
49
  * Component: ToggleGroupItem
43
50
  * -------------------------------------------------------------------------- */
44
51
 
45
- type ToggleGroupItemProps = ToggleGroupPrimitive.ToggleGroupItemProps &
46
- ToggleVariantsProps;
47
- const ToggleGroupItem = React.forwardRef<
48
- React.ElementRef<typeof ToggleGroupPrimitive.Item>,
49
- ToggleGroupItemProps
50
- >(({ className, children, variant, size, ...props }, ref) => {
51
- const context = React.useContext(ToggleGroupContext);
52
-
53
- return (
54
- <ToggleGroupPrimitive.Item
55
- ref={ref}
56
- className={cn(
57
- toggleVariants({
58
- variant: context.variant ?? variant,
59
- size: context.size ?? size,
60
- }),
61
- className,
62
- )}
63
- {...props}
64
- >
65
- {children}
66
- </ToggleGroupPrimitive.Item>
67
- );
68
- });
69
- ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
52
+ const TOGGLE_GROUP_ITEM_NAME = "ToggleGroupItem";
53
+
54
+ type ToggleGroupItemElement = React.ElementRef<typeof ToggleGroupPrimitive.Item>;
55
+ type ToggleGroupItemProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item>;
56
+
57
+ const ToggleGroupItem = React.forwardRef<ToggleGroupItemElement, ToggleGroupItemProps>(
58
+ ({ __scopeToggleGroup, className, children, ...props }: ScopedProps<ToggleGroupItemProps>, ref) => {
59
+ const context = useToggleGroupContext(TOGGLE_GROUP_ITEM_NAME, __scopeToggleGroup);
60
+ const toggleGroupScope = useToggleGroupScope(__scopeToggleGroup);
61
+
62
+ return (
63
+ <ToggleGroupPrimitive.Item
64
+ ref={ref}
65
+ className={toggleVariants({ ...context, className })}
66
+ {...toggleGroupScope}
67
+ {...props}
68
+ >
69
+ {children}
70
+ </ToggleGroupPrimitive.Item>
71
+ );
72
+ },
73
+ );
74
+
75
+ ToggleGroupItem.displayName = TOGGLE_GROUP_ITEM_NAME;
70
76
 
71
77
  /* -----------------------------------------------------------------------------
72
78
  * Exports
73
79
  * -------------------------------------------------------------------------- */
74
80
 
75
- export {
76
- ToggleGroup,
77
- ToggleGroupItem,
78
- type ToggleGroupProps,
79
- type ToggleGroupItemProps,
80
- };
81
+ export { ToggleGroup, ToggleGroupItem, type ToggleGroupProps, type ToggleGroupItemProps };
package/src/toggle.tsx CHANGED
@@ -10,12 +10,14 @@ import { cva } from "./utils";
10
10
  * -------------------------------------------------------------------------- */
11
11
 
12
12
  const toggleVariants = cva({
13
- base: "hover:bg-muted hover:text-muted-foreground focus-visible:ring-ring focus-visible:ring-offset-background data-[state=on]:bg-accent data-[state=on]:text-accent-foreground inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
13
+ base: [
14
+ "hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors disabled:pointer-events-none disabled:opacity-50",
15
+ "focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
16
+ ],
14
17
  variants: {
15
18
  variant: {
16
19
  default: "bg-transparent",
17
- outline:
18
- "border-input hover:bg-accent hover:text-accent-foreground border bg-transparent shadow-sm",
20
+ outline: "border-input hover:bg-accent hover:text-accent-foreground border bg-transparent shadow-sm",
19
21
  },
20
22
  size: {
21
23
  default: "h-10 px-3",
@@ -35,17 +37,13 @@ type ToggleVariantsProps = VariantProps<typeof toggleVariants>;
35
37
  * Component: Toggle
36
38
  * -------------------------------------------------------------------------- */
37
39
 
38
- type ToggleProps = TogglePrimitive.ToggleProps & ToggleVariantsProps;
39
- const Toggle = React.forwardRef<
40
- React.ElementRef<typeof TogglePrimitive.Root>,
41
- ToggleProps
42
- >(({ className, variant, size, ...props }, ref) => (
43
- <TogglePrimitive.Root
44
- ref={ref}
45
- className={toggleVariants({ variant, size, className })}
46
- {...props}
47
- />
40
+ type ToggleElement = React.ElementRef<typeof TogglePrimitive.Root>;
41
+ type ToggleProps = React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> & ToggleVariantsProps;
42
+
43
+ const Toggle = React.forwardRef<ToggleElement, ToggleProps>(({ className, variant, size, ...props }, ref) => (
44
+ <TogglePrimitive.Root ref={ref} className={toggleVariants({ variant, size, className })} {...props} />
48
45
  ));
46
+
49
47
  Toggle.displayName = TogglePrimitive.Root.displayName;
50
48
 
51
49
  /* -----------------------------------------------------------------------------
package/src/tooltip.tsx CHANGED
@@ -8,61 +8,59 @@ import { cn } from "./utils";
8
8
  * Component: TooltipProvider
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
- type TooltipProviderProps = TooltipPrimitive.TooltipProviderProps;
11
+ type TooltipProviderProps = React.ComponentProps<typeof TooltipPrimitive.Provider>;
12
12
  const TooltipProvider = TooltipPrimitive.Provider;
13
13
 
14
14
  /* -----------------------------------------------------------------------------
15
15
  * Component: Tooltip
16
16
  * -------------------------------------------------------------------------- */
17
17
 
18
- type TooltipProps = TooltipPrimitive.TooltipProps;
18
+ type TooltipProps = React.ComponentProps<typeof TooltipPrimitive.Root>;
19
19
  const Tooltip = TooltipPrimitive.Root;
20
20
 
21
21
  /* -----------------------------------------------------------------------------
22
22
  * Component: TooltipTrigger
23
23
  * -------------------------------------------------------------------------- */
24
24
 
25
- type TooltipTriggerProps = TooltipPrimitive.TooltipTriggerProps;
25
+ type TooltipTriggerProps = React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Trigger>;
26
26
  const TooltipTrigger = TooltipPrimitive.Trigger;
27
27
 
28
28
  /* -----------------------------------------------------------------------------
29
29
  * Component: TooltipContent
30
30
  * -------------------------------------------------------------------------- */
31
31
 
32
- type TooltipContentProps = TooltipPrimitive.TooltipContentProps;
33
- const TooltipContent = React.forwardRef<
34
- React.ElementRef<typeof TooltipPrimitive.Content>,
35
- TooltipContentProps
36
- >(({ className, sideOffset = 4, ...props }, ref) => (
37
- <TooltipPrimitive.Portal>
38
- <TooltipPrimitive.Content
39
- ref={ref}
40
- sideOffset={sideOffset}
41
- className={cn(
42
- "bg-primary text-primary-foreground data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-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=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 rounded-md px-3 py-1.5 text-xs focus:outline-none",
43
- className,
44
- )}
45
- {...props}
46
- />
47
- </TooltipPrimitive.Portal>
48
- ));
32
+ type TooltipContentElement = React.ElementRef<typeof TooltipPrimitive.Content>;
33
+ type TooltipContentProps = React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>;
34
+
35
+ const TooltipContent = React.forwardRef<TooltipContentElement, TooltipContentProps>(
36
+ ({ className, sideOffset = 4, ...props }, ref) => (
37
+ <TooltipPrimitive.Portal>
38
+ <TooltipPrimitive.Content
39
+ ref={ref}
40
+ sideOffset={sideOffset}
41
+ className={cn(
42
+ "bg-primary text-primary-foreground data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-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=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 rounded-md px-3 py-1.5 text-xs focus:outline-none",
43
+ className,
44
+ )}
45
+ {...props}
46
+ />
47
+ </TooltipPrimitive.Portal>
48
+ ),
49
+ );
50
+
49
51
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
50
52
 
51
53
  /* -----------------------------------------------------------------------------
52
54
  * Component: TooltipArrow
53
55
  * -------------------------------------------------------------------------- */
54
56
 
55
- type TooltipArrowProps = TooltipPrimitive.TooltipArrowProps;
56
- const TooltipArrow = React.forwardRef<
57
- React.ElementRef<typeof TooltipPrimitive.Arrow>,
58
- TooltipArrowProps
59
- >(({ className, ...props }, ref) => (
60
- <TooltipPrimitive.Arrow
61
- ref={ref}
62
- className={cn("fill-primary", className)}
63
- {...props}
64
- />
57
+ type TooltipArrowElement = React.ElementRef<typeof TooltipPrimitive.Arrow>;
58
+ type TooltipArrowProps = React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow>;
59
+
60
+ const TooltipArrow = React.forwardRef<TooltipArrowElement, TooltipArrowProps>(({ className, ...props }, ref) => (
61
+ <TooltipPrimitive.Arrow ref={ref} className={cn("fill-primary", className)} {...props} />
65
62
  ));
63
+
66
64
  TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
67
65
 
68
66
  /* -----------------------------------------------------------------------------
@@ -1,158 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
2
-
3
- var _chunkG3NP7M2Njs = require('./chunk-G3NP7M2N.js');
4
-
5
- // src/dropdown-menu.tsx
6
- var _react = require('react'); var React = _interopRequireWildcard(_react);
7
- var _reactdropdownmenu = require('@radix-ui/react-dropdown-menu'); var DropdownMenuPrimitive = _interopRequireWildcard(_reactdropdownmenu);
8
-
9
-
10
-
11
-
12
- var _reacticons = require('@radix-ui/react-icons');
13
- var _jsxruntime = require('react/jsx-runtime');
14
- var DropdownMenu = DropdownMenuPrimitive.Root;
15
- var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
16
- var DropdownMenuGroup = DropdownMenuPrimitive.Group;
17
- var DropdownMenuSub = DropdownMenuPrimitive.Sub;
18
- var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
19
- var DropdownMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20
- DropdownMenuPrimitive.SubTrigger,
21
- {
22
- ref,
23
- className: _chunkG3NP7M2Njs.cn.call(void 0,
24
- "focus:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none",
25
- inset && "pl-8",
26
- className
27
- ),
28
- ...props,
29
- children: [
30
- children,
31
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ChevronRightIcon, { className: "ml-auto size-4" })
32
- ]
33
- }
34
- ));
35
- DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
36
- var DropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37
- DropdownMenuPrimitive.SubContent,
38
- {
39
- ref,
40
- className: _chunkG3NP7M2Njs.cn.call(void 0,
41
- "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=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 min-w-[8rem] rounded-md border p-1 shadow-md focus:outline-none",
42
- className
43
- ),
44
- ...props
45
- }
46
- ) }));
47
- DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
48
- var DropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
49
- DropdownMenuPrimitive.Content,
50
- {
51
- ref,
52
- sideOffset,
53
- className: _chunkG3NP7M2Njs.cn.call(void 0,
54
- "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=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 min-w-[8rem] rounded-md border p-1 shadow-md focus:outline-none",
55
- className
56
- ),
57
- ...props
58
- }
59
- ) }));
60
- DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
61
- var DropdownMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
62
- DropdownMenuPrimitive.Item,
63
- {
64
- ref,
65
- className: _chunkG3NP7M2Njs.cn.call(void 0,
66
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm transition-colors focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50",
67
- inset && "pl-8",
68
- className
69
- ),
70
- ...props
71
- }
72
- ));
73
- DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
74
- var DropdownMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
75
- DropdownMenuPrimitive.CheckboxItem,
76
- {
77
- ref,
78
- className: _chunkG3NP7M2Njs.cn.call(void 0,
79
- "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 transition-colors focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50",
80
- className
81
- ),
82
- checked,
83
- ...props,
84
- children: [
85
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.CheckIcon, { className: "size-4" }) }) }),
86
- children
87
- ]
88
- }
89
- ));
90
- DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
91
- var DropdownMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
92
- DropdownMenuPrimitive.RadioItem,
93
- {
94
- ref,
95
- className: _chunkG3NP7M2Njs.cn.call(void 0,
96
- "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 transition-colors focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50",
97
- className
98
- ),
99
- ...props,
100
- children: [
101
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.DotFilledIcon, { className: "size-4 fill-current" }) }) }),
102
- children
103
- ]
104
- }
105
- ));
106
- DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
107
- var DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
108
- DropdownMenuPrimitive.Label,
109
- {
110
- ref,
111
- className: _chunkG3NP7M2Njs.cn.call(void 0,
112
- "px-2 py-1.5 text-sm font-semibold",
113
- inset && "pl-8",
114
- className
115
- ),
116
- ...props
117
- }
118
- ));
119
- DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
120
- var DropdownMenuSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
121
- DropdownMenuPrimitive.Separator,
122
- {
123
- ref,
124
- className: _chunkG3NP7M2Njs.cn.call(void 0, "bg-muted -mx-1 my-1 h-px", className),
125
- ...props
126
- }
127
- ));
128
- DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
129
- function DropdownMenuShortcut({
130
- className,
131
- ...props
132
- }) {
133
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
134
- "span",
135
- {
136
- className: _chunkG3NP7M2Njs.cn.call(void 0, "ml-auto text-xs tracking-widest opacity-60", className),
137
- ...props
138
- }
139
- );
140
- }
141
-
142
-
143
-
144
-
145
-
146
-
147
-
148
-
149
-
150
-
151
-
152
-
153
-
154
-
155
-
156
-
157
- exports.DropdownMenu = DropdownMenu; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut;
158
- //# sourceMappingURL=chunk-3BDLWZ3W.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/dropdown-menu.tsx"],"names":[],"mappings":";;;;;AAEA,YAAY,WAAW;AACvB,YAAY,2BAA2B;AACvC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAmDL,SAUE,KAVF;AA3CF,IAAM,eAAqC;AAO3C,IAAM,sBAA4C;AAOlD,IAAM,oBAA0C;AAOhD,IAAM,kBAAwC;AAQ9C,IAAM,yBAA+C;AAUrD,IAAM,yBAA+B,iBAGnC,CAAC,EAAE,WAAW,OAAO,UAAU,GAAG,MAAM,GAAG,QAC3C;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA,SAAS;AAAA,MACT;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEH;AAAA;AAAA,MACD,oBAAC,oBAAiB,WAAU,kBAAiB;AAAA;AAAA;AAC/C,CACD;AACD,uBAAuB,cACC,iCAAW;AAQnC,IAAM,yBAA+B,iBAGnC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAuB,8BAAtB,EACC;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,GACF,CACD;AACD,uBAAuB,cACC,iCAAW;AAOnC,IAAM,sBAA4B,iBAGhC,CAAC,EAAE,WAAW,aAAa,GAAG,GAAG,MAAM,GAAG,QAC1C,oBAAuB,8BAAtB,EACC;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,GACF,CACD;AACD,oBAAoB,cAAoC,8BAAQ;AAUhE,IAAM,mBAAyB,iBAG7B,CAAC,EAAE,WAAW,OAAO,GAAG,MAAM,GAAG,QACjC;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA,SAAS;AAAA,MACT;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,iBAAiB,cAAoC,2BAAK;AAQ1D,IAAM,2BAAiC,iBAGrC,CAAC,EAAE,WAAW,UAAU,SAAS,GAAG,MAAM,GAAG,QAC7C;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACC,GAAG;AAAA,IAEJ;AAAA,0BAAC,UAAK,WAAU,6DACd,8BAAuB,qCAAtB,EACC,8BAAC,aAAU,WAAU,UAAS,GAChC,GACF;AAAA,MACC;AAAA;AAAA;AACH,CACD;AACD,yBAAyB,cACD,mCAAa;AAQrC,IAAM,wBAA8B,iBAGlC,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEJ;AAAA,0BAAC,UAAK,WAAU,6DACd,8BAAuB,qCAAtB,EACC,8BAAC,iBAAc,WAAU,uBAAsB,GACjD,GACF;AAAA,MACC;AAAA;AAAA;AACH,CACD;AACD,sBAAsB,cAAoC,gCAAU;AAUpE,IAAM,oBAA0B,iBAG9B,CAAC,EAAE,WAAW,OAAO,GAAG,MAAM,GAAG,QACjC;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA,SAAS;AAAA,MACT;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,kBAAkB,cAAoC,4BAAM;AAQ5D,IAAM,wBAA8B,iBAGlC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAuB;AAAA,EAAtB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,4BAA4B,SAAS;AAAA,IAClD,GAAG;AAAA;AACN,CACD;AACD,sBAAsB,cAAoC,gCAAU;AAOpE,SAAS,qBAAqB;AAAA,EAC5B;AAAA,EACA,GAAG;AACL,GAAiD;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,8CAA8C,SAAS;AAAA,MACpE,GAAG;AAAA;AAAA,EACN;AAEJ","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport {\n CheckIcon,\n ChevronRightIcon,\n DotFilledIcon,\n} from \"@radix-ui/react-icons\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenu\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuProps = DropdownMenuPrimitive.DropdownMenuProps;\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuTrigger\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuTriggerProps = DropdownMenuPrimitive.DropdownMenuTriggerProps;\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuGroup\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuGroupProps = DropdownMenuPrimitive.DropdownMenuGroupProps;\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSub\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuSubProps = DropdownMenuPrimitive.DropdownMenuSubProps;\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSubTrigger\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuRadioGroupProps =\n DropdownMenuPrimitive.DropdownMenuRadioGroupProps;\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSubTrigger\n * -------------------------------------------------------------------------- */\n\ninterface DropdownMenuSubTriggerProps\n extends DropdownMenuPrimitive.DropdownMenuSubTriggerProps {\n inset?: boolean;\n}\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n DropdownMenuSubTriggerProps\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"focus:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSubContent\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuSubContentProps =\n DropdownMenuPrimitive.DropdownMenuSubContentProps;\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n DropdownMenuSubContentProps\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"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=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 min-w-[8rem] rounded-md border p-1 shadow-md focus:outline-none\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuContent\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuContentProps = DropdownMenuPrimitive.DropdownMenuContentProps;\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n DropdownMenuContentProps\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"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=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 min-w-[8rem] rounded-md border p-1 shadow-md focus:outline-none\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuItem\n * -------------------------------------------------------------------------- */\n\ninterface DropdownMenuItemProps\n extends DropdownMenuPrimitive.DropdownMenuItemProps {\n inset?: boolean;\n}\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n DropdownMenuItemProps\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm transition-colors focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuCheckboxItem\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuCheckboxItemProps =\n DropdownMenuPrimitive.DropdownMenuCheckboxItemProps;\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n DropdownMenuCheckboxItemProps\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"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 transition-colors focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuRadioItem\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuRadioItemProps =\n DropdownMenuPrimitive.DropdownMenuRadioItemProps;\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n DropdownMenuRadioItemProps\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"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 transition-colors focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <DotFilledIcon className=\"size-4 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuLabel\n * -------------------------------------------------------------------------- */\n\ninterface DropdownMenuLabelProps\n extends DropdownMenuPrimitive.DropdownMenuLabelProps {\n inset?: boolean;\n}\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n DropdownMenuLabelProps\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSeparator\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuSeparatorProps =\n DropdownMenuPrimitive.DropdownMenuSeparatorProps;\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n DropdownMenuSeparatorProps\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"bg-muted -mx-1 my-1 h-px\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuShortcut\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuShortcutProps = React.HTMLAttributes<HTMLSpanElement>;\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: DropdownMenuShortcutProps): React.JSX.Element {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n type DropdownMenuProps,\n type DropdownMenuTriggerProps,\n type DropdownMenuContentProps,\n type DropdownMenuItemProps,\n type DropdownMenuCheckboxItemProps,\n type DropdownMenuRadioItemProps,\n type DropdownMenuLabelProps,\n type DropdownMenuSeparatorProps,\n type DropdownMenuShortcutProps,\n type DropdownMenuGroupProps,\n type DropdownMenuSubProps,\n type DropdownMenuSubContentProps,\n type DropdownMenuSubTriggerProps,\n type DropdownMenuRadioGroupProps,\n};\n"]}