@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/context-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\";\nimport {\n CheckIcon,\n ChevronRightIcon,\n DotFilledIcon,\n} from \"@radix-ui/react-icons\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenu\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuProps = ContextMenuPrimitive.ContextMenuProps;\nconst ContextMenu = ContextMenuPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuTrigger\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuTriggerProps = ContextMenuPrimitive.ContextMenuTriggerProps;\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuGroup\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuGroupProps = ContextMenuPrimitive.ContextMenuGroupProps;\nconst ContextMenuGroup = ContextMenuPrimitive.Group;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSub\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuSubProps = ContextMenuPrimitive.ContextMenuSubProps;\nconst ContextMenuSub = ContextMenuPrimitive.Sub;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuRadioGroup\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuRadioGroupProps =\n ContextMenuPrimitive.ContextMenuRadioGroupProps;\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSubTrigger\n * -------------------------------------------------------------------------- */\n\ninterface ContextMenuSubTriggerProps\n extends ContextMenuPrimitive.ContextMenuSubTriggerProps {\n inset?: boolean;\n}\nconst ContextMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,\n ContextMenuSubTriggerProps\n>(({ className, inset, children, ...props }, ref) => (\n <ContextMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"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\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </ContextMenuPrimitive.SubTrigger>\n));\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSubContent\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuSubContentProps =\n ContextMenuPrimitive.ContextMenuSubContentProps;\nconst ContextMenuSubContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.SubContent>,\n ContextMenuSubContentProps\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.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 </ContextMenuPrimitive.Portal>\n));\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuContent\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuContentProps = ContextMenuPrimitive.ContextMenuContentProps;\nconst ContextMenuContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Content>,\n ContextMenuContentProps\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\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 z-50 min-w-[8rem] rounded-md border p-1 shadow-md focus:outline-none\",\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n));\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuItem\n * -------------------------------------------------------------------------- */\n\ninterface ContextMenuItemProps\n extends ContextMenuPrimitive.ContextMenuItemProps {\n inset?: boolean;\n}\nconst ContextMenuItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Item>,\n ContextMenuItemProps\n>(({ className, inset, ...props }, ref) => (\n <ContextMenuPrimitive.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 focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuCheckboxItem\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuCheckboxItemProps =\n ContextMenuPrimitive.ContextMenuCheckboxItemProps;\nconst ContextMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,\n ContextMenuCheckboxItemProps\n>(({ className, children, checked, ...props }, ref) => (\n <ContextMenuPrimitive.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 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 <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n));\nContextMenuCheckboxItem.displayName =\n ContextMenuPrimitive.CheckboxItem.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuRadioItem\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuRadioItemProps = ContextMenuPrimitive.ContextMenuRadioItemProps;\nconst ContextMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.RadioItem>,\n ContextMenuRadioItemProps\n>(({ className, children, ...props }, ref) => (\n <ContextMenuPrimitive.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 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 <ContextMenuPrimitive.ItemIndicator>\n <DotFilledIcon className=\"size-4 fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n));\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuLabel\n * -------------------------------------------------------------------------- */\n\ninterface ContextMenuLabelProps\n extends ContextMenuPrimitive.ContextMenuLabelProps {\n inset?: boolean;\n}\nconst ContextMenuLabel = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Label>,\n ContextMenuLabelProps\n>(({ className, inset, ...props }, ref) => (\n <ContextMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"text-foreground px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSeparator\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuSeparatorProps = ContextMenuPrimitive.ContextMenuSeparatorProps;\nconst ContextMenuSeparator = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Separator>,\n ContextMenuSeparatorProps\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Separator\n ref={ref}\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n));\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuShortcut\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuShortcutProps = React.HTMLAttributes<HTMLSpanElement>;\nfunction ContextMenuShortcut({\n className,\n ...props\n}: ContextMenuShortcutProps): React.JSX.Element {\n return (\n <span\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuArrow\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuArrowProps = ContextMenuPrimitive.ContextMenuArrowProps;\nconst ContextMenuArrow = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Arrow>,\n ContextMenuArrowProps\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Arrow\n ref={ref}\n className={cn(\"fill-popover\", className)}\n {...props}\n />\n));\nContextMenuArrow.displayName = ContextMenuPrimitive.Arrow.displayName;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n ContextMenuArrow,\n type ContextMenuProps,\n type ContextMenuTriggerProps,\n type ContextMenuContentProps,\n type ContextMenuItemProps,\n type ContextMenuCheckboxItemProps,\n type ContextMenuRadioItemProps,\n type ContextMenuLabelProps,\n type ContextMenuSeparatorProps,\n type ContextMenuShortcutProps,\n type ContextMenuGroupProps,\n type ContextMenuSubProps,\n type ContextMenuSubContentProps,\n type ContextMenuSubTriggerProps,\n type ContextMenuRadioGroupProps,\n type ContextMenuArrowProps,\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/context-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\";\nimport { CheckIcon, ChevronRightIcon, DotFilledIcon } from \"@radix-ui/react-icons\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenu\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuProps = React.ComponentProps<typeof ContextMenuPrimitive.Root>;\nconst ContextMenu = ContextMenuPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuTrigger\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuTriggerProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Trigger>;\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuGroup\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuGroupProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Group>;\nconst ContextMenuGroup = ContextMenuPrimitive.Group;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSub\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuSubProps = React.ComponentProps<typeof ContextMenuPrimitive.Sub>;\nconst ContextMenuSub = ContextMenuPrimitive.Sub;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuRadioGroup\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioGroup>;\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSubTrigger\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuSubTriggerElement = React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>;\n\ninterface ContextMenuSubTriggerProps extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> {\n inset?: boolean;\n}\n\nconst ContextMenuSubTrigger = React.forwardRef<ContextMenuSubTriggerElement, ContextMenuSubTriggerProps>(\n ({ className, inset, children, ...props }, ref) => (\n <ContextMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"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\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </ContextMenuPrimitive.SubTrigger>\n ),\n);\n\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSubContent\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuSubContentElement = React.ElementRef<typeof ContextMenuPrimitive.SubContent>;\ntype ContextMenuSubContentProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>;\n\nconst ContextMenuSubContent = React.forwardRef<ContextMenuSubContentElement, ContextMenuSubContentProps>(\n ({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.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 </ContextMenuPrimitive.Portal>\n ),\n);\n\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuContent\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuContentElement = React.ElementRef<typeof ContextMenuPrimitive.Content>;\ntype ContextMenuContentProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>;\n\nconst ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(\n ({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\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 z-50 min-w-[8rem] rounded-md border p-1 shadow-md focus:outline-none\",\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n ),\n);\n\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuItem\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuItemElement = React.ElementRef<typeof ContextMenuPrimitive.Item>;\n\ninterface ContextMenuItemProps extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> {\n inset?: boolean;\n}\n\nconst ContextMenuItem = React.forwardRef<ContextMenuItemElement, ContextMenuItemProps>(\n ({ className, inset, ...props }, ref) => (\n <ContextMenuPrimitive.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 focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n ),\n);\n\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuCheckboxItem\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuCheckboxItemElement = React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>;\ntype ContextMenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>;\n\nconst ContextMenuCheckboxItem = React.forwardRef<ContextMenuCheckboxItemElement, ContextMenuCheckboxItemProps>(\n ({ className, children, checked, ...props }, ref) => (\n <ContextMenuPrimitive.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 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 <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n ),\n);\n\nContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuRadioItem\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuRadioItemElement = React.ElementRef<typeof ContextMenuPrimitive.RadioItem>;\ntype ContextMenuRadioItemProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>;\n\nconst ContextMenuRadioItem = React.forwardRef<ContextMenuRadioItemElement, ContextMenuRadioItemProps>(\n ({ className, children, ...props }, ref) => (\n <ContextMenuPrimitive.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 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 <ContextMenuPrimitive.ItemIndicator>\n <DotFilledIcon className=\"size-4 fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n ),\n);\n\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuLabel\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuLabelElement = React.ElementRef<typeof ContextMenuPrimitive.Label>;\n\ninterface ContextMenuLabelProps extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> {\n inset?: boolean;\n}\n\nconst ContextMenuLabel = React.forwardRef<ContextMenuLabelElement, ContextMenuLabelProps>(\n ({ className, inset, ...props }, ref) => (\n <ContextMenuPrimitive.Label\n ref={ref}\n className={cn(\"text-foreground px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className)}\n {...props}\n />\n ),\n);\n\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuSeparator\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuSeparatorElement = React.ElementRef<typeof ContextMenuPrimitive.Separator>;\ntype ContextMenuSeparatorProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>;\n\nconst ContextMenuSeparator = React.forwardRef<ContextMenuSeparatorElement, ContextMenuSeparatorProps>(\n ({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Separator ref={ref} className={cn(\"bg-border -mx-1 my-1 h-px\", className)} {...props} />\n ),\n);\n\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuShortcut\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuShortcutProps = React.HTMLAttributes<HTMLSpanElement>;\n\nfunction ContextMenuShortcut({ className, ...props }: ContextMenuShortcutProps): React.JSX.Element {\n return <span className={cn(\"text-muted-foreground ml-auto text-xs tracking-widest\", className)} {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ContextMenuArrow\n * -------------------------------------------------------------------------- */\n\ntype ContextMenuArrowElement = React.ElementRef<typeof ContextMenuPrimitive.Arrow>;\ntype ContextMenuArrowProps = ContextMenuPrimitive.ContextMenuArrowProps;\n\nconst ContextMenuArrow = React.forwardRef<ContextMenuArrowElement, ContextMenuArrowProps>(\n ({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Arrow ref={ref} className={cn(\"fill-popover\", className)} {...props} />\n ),\n);\n\nContextMenuArrow.displayName = ContextMenuPrimitive.Arrow.displayName;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n ContextMenuArrow,\n type ContextMenuProps,\n type ContextMenuTriggerProps,\n type ContextMenuContentProps,\n type ContextMenuItemProps,\n type ContextMenuCheckboxItemProps,\n type ContextMenuRadioItemProps,\n type ContextMenuLabelProps,\n type ContextMenuSeparatorProps,\n type ContextMenuShortcutProps,\n type ContextMenuGroupProps,\n type ContextMenuSubProps,\n type ContextMenuSubContentProps,\n type ContextMenuSubTriggerProps,\n type ContextMenuRadioGroupProps,\n type ContextMenuArrowProps,\n};\n"],"mappings":"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","names":[]}
@@ -5,7 +5,7 @@ export * from '@tanstack/react-table';
5
5
  interface DataTableViewOptionsProps<TData> {
6
6
  table: ReactTable.Table<TData>;
7
7
  }
8
- declare function DataTableViewOptions<TData>({ table, }: DataTableViewOptionsProps<TData>): React.JSX.Element;
8
+ declare function DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>): React.JSX.Element;
9
9
  interface DataTablePaginationProps<TData> extends React.HTMLAttributes<HTMLDivElement> {
10
10
  table: ReactTable.Table<TData>;
11
11
  }
@@ -5,7 +5,7 @@ export * from '@tanstack/react-table';
5
5
  interface DataTableViewOptionsProps<TData> {
6
6
  table: ReactTable.Table<TData>;
7
7
  }
8
- declare function DataTableViewOptions<TData>({ table, }: DataTableViewOptionsProps<TData>): React.JSX.Element;
8
+ declare function DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>): React.JSX.Element;
9
9
  interface DataTablePaginationProps<TData> extends React.HTMLAttributes<HTMLDivElement> {
10
10
  table: ReactTable.Table<TData>;
11
11
  }
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var _chunk43YGVOCOjs = require('./chunk-43YGVOCO.js');
8
+ var _chunkLNSEYAPJjs = require('./chunk-LNSEYAPJ.js');
9
9
 
10
10
 
11
11
 
@@ -14,10 +14,11 @@ var _chunk43YGVOCOjs = require('./chunk-43YGVOCO.js');
14
14
 
15
15
 
16
16
 
17
- var _chunk3BDLWZ3Wjs = require('./chunk-3BDLWZ3W.js');
17
+ var _chunk3ZZ3SRTJjs = require('./chunk-3ZZ3SRTJ.js');
18
18
 
19
19
 
20
- var _chunkJOJW7BBYjs = require('./chunk-JOJW7BBY.js');
20
+ var _chunkBWCO2ZQQjs = require('./chunk-BWCO2ZQQ.js');
21
+ require('./chunk-MDSPK3M6.js');
21
22
 
22
23
 
23
24
  var _chunkG3NP7M2Njs = require('./chunk-G3NP7M2N.js');
@@ -36,30 +37,18 @@ var _chunkG3NP7M2Njs = require('./chunk-G3NP7M2N.js');
36
37
  var _reacticons = require('@radix-ui/react-icons');
37
38
  var _reacttable = require('@tanstack/react-table'); _createStarExport(_reacttable);
38
39
  var _jsxruntime = require('react/jsx-runtime');
39
- function DataTableViewOptions({
40
- table
41
- }) {
42
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BDLWZ3Wjs.DropdownMenu, { children: [
43
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BDLWZ3Wjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
44
- _chunkJOJW7BBYjs.Button,
45
- {
46
- variant: "outline",
47
- size: "sm",
48
- className: "ml-auto hidden h-8 lg:flex",
49
- children: [
50
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.MixerHorizontalIcon, { className: "mr-2 size-4" }),
51
- "View"
52
- ]
53
- }
54
- ) }),
55
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BDLWZ3Wjs.DropdownMenuContent, { align: "end", className: "w-[150px]", children: [
56
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BDLWZ3Wjs.DropdownMenuLabel, { children: "Toggle columns" }),
57
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BDLWZ3Wjs.DropdownMenuSeparator, {}),
58
- table.getAllColumns().filter(
59
- (column) => typeof column.accessorFn !== "undefined" && column.getCanHide()
60
- ).map((column) => {
40
+ function DataTableViewOptions({ table }) {
41
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenu, { children: [
42
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBWCO2ZQQjs.Button, { variant: "outline", size: "sm", className: "ml-auto hidden h-8 lg:flex", children: [
43
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.MixerHorizontalIcon, { className: "mr-2 size-4" }),
44
+ "View"
45
+ ] }) }),
46
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuContent, { align: "end", className: "w-[150px]", children: [
47
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuLabel, { children: "Toggle columns" }),
48
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuSeparator, {}),
49
+ table.getAllColumns().filter((column) => typeof column.accessorFn !== "undefined" && column.getCanHide()).map((column) => {
61
50
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
62
- _chunk3BDLWZ3Wjs.DropdownMenuCheckboxItem,
51
+ _chunk3ZZ3SRTJjs.DropdownMenuCheckboxItem,
63
52
  {
64
53
  className: "capitalize",
65
54
  checked: column.getIsVisible(),
@@ -79,111 +68,102 @@ function DataTablePagination({
79
68
  className,
80
69
  ...props
81
70
  }) {
82
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
83
- "div",
84
- {
85
- className: _chunkG3NP7M2Njs.cn.call(void 0, "flex items-center justify-between px-2", className),
86
- ...props,
87
- children: [
88
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground flex-1 text-sm", children: [
89
- table.getFilteredSelectedRowModel().rows.length,
90
- " of",
91
- " ",
92
- table.getFilteredRowModel().rows.length,
93
- " row(s) selected."
94
- ] }),
95
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-6 lg:space-x-8", children: [
96
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-2", children: [
97
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm font-medium", children: "Rows per page" }),
98
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
99
- _chunk43YGVOCOjs.Select,
100
- {
101
- value: `${table.getState().pagination.pageSize}`,
102
- onValueChange: (value) => {
103
- table.setPageSize(Number(value));
104
- },
105
- children: [
106
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk43YGVOCOjs.SelectTrigger, { className: "h-8 w-[70px]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk43YGVOCOjs.SelectValue, { placeholder: table.getState().pagination.pageSize }) }),
107
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk43YGVOCOjs.SelectContent, { side: "top", children: [10, 20, 30, 40, 50].map((pageSize) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk43YGVOCOjs.SelectItem, { value: `${pageSize}`, children: pageSize }, pageSize)) })
108
- ]
109
- }
110
- )
111
- ] }),
112
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: [
113
- "Page ",
114
- table.getState().pagination.pageIndex + 1,
115
- " of",
116
- " ",
117
- table.getPageCount()
118
- ] }),
119
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-2", children: [
120
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
121
- _chunkJOJW7BBYjs.Button,
122
- {
123
- variant: "outline",
124
- size: "icon-xs",
125
- className: "hidden lg:flex",
126
- onClick: () => {
127
- table.setPageIndex(0);
128
- },
129
- disabled: !table.getCanPreviousPage(),
130
- children: [
131
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Go to first page" }),
132
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.DoubleArrowLeftIcon, { className: "size-4" })
133
- ]
134
- }
135
- ),
136
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
137
- _chunkJOJW7BBYjs.Button,
138
- {
139
- variant: "outline",
140
- size: "icon-xs",
141
- onClick: () => {
142
- table.previousPage();
143
- },
144
- disabled: !table.getCanPreviousPage(),
145
- children: [
146
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Go to previous page" }),
147
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ChevronLeftIcon, { className: "size-4" })
148
- ]
149
- }
150
- ),
151
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
152
- _chunkJOJW7BBYjs.Button,
153
- {
154
- variant: "outline",
155
- size: "icon-xs",
156
- onClick: () => {
157
- table.nextPage();
158
- },
159
- disabled: !table.getCanNextPage(),
160
- children: [
161
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Go to next page" }),
162
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ChevronRightIcon, { className: "size-4" })
163
- ]
164
- }
165
- ),
166
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
167
- _chunkJOJW7BBYjs.Button,
168
- {
169
- variant: "outline",
170
- size: "icon-xs",
171
- className: "hidden lg:flex",
172
- onClick: () => {
173
- table.setPageIndex(table.getPageCount() - 1);
174
- },
175
- disabled: !table.getCanNextPage(),
176
- children: [
177
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Go to last page" }),
178
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.DoubleArrowRightIcon, { className: "size-4" })
179
- ]
180
- }
181
- )
182
- ] })
183
- ] })
184
- ]
185
- }
186
- );
71
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkG3NP7M2Njs.cn.call(void 0, "flex items-center justify-between px-2", className), ...props, children: [
72
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground flex-1 text-sm", children: [
73
+ table.getFilteredSelectedRowModel().rows.length,
74
+ " of ",
75
+ table.getFilteredRowModel().rows.length,
76
+ " row(s) selected."
77
+ ] }),
78
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-6 lg:space-x-8", children: [
79
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-2", children: [
80
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm font-medium", children: "Rows per page" }),
81
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
82
+ _chunkLNSEYAPJjs.Select,
83
+ {
84
+ value: `${table.getState().pagination.pageSize}`,
85
+ onValueChange: (value) => {
86
+ table.setPageSize(Number(value));
87
+ },
88
+ children: [
89
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLNSEYAPJjs.SelectTrigger, { className: "h-8 w-[70px]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLNSEYAPJjs.SelectValue, { placeholder: table.getState().pagination.pageSize }) }),
90
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLNSEYAPJjs.SelectContent, { side: "top", children: [10, 20, 30, 40, 50].map((pageSize) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLNSEYAPJjs.SelectItem, { value: `${pageSize}`, children: pageSize }, pageSize)) })
91
+ ]
92
+ }
93
+ )
94
+ ] }),
95
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: [
96
+ "Page ",
97
+ table.getState().pagination.pageIndex + 1,
98
+ " of ",
99
+ table.getPageCount()
100
+ ] }),
101
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-2", children: [
102
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
103
+ _chunkBWCO2ZQQjs.Button,
104
+ {
105
+ variant: "outline",
106
+ size: "icon-xs",
107
+ className: "hidden lg:flex",
108
+ onClick: () => {
109
+ table.setPageIndex(0);
110
+ },
111
+ disabled: !table.getCanPreviousPage(),
112
+ children: [
113
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Go to first page" }),
114
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.DoubleArrowLeftIcon, { className: "size-4" })
115
+ ]
116
+ }
117
+ ),
118
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
119
+ _chunkBWCO2ZQQjs.Button,
120
+ {
121
+ variant: "outline",
122
+ size: "icon-xs",
123
+ onClick: () => {
124
+ table.previousPage();
125
+ },
126
+ disabled: !table.getCanPreviousPage(),
127
+ children: [
128
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Go to previous page" }),
129
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ChevronLeftIcon, { className: "size-4" })
130
+ ]
131
+ }
132
+ ),
133
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
134
+ _chunkBWCO2ZQQjs.Button,
135
+ {
136
+ variant: "outline",
137
+ size: "icon-xs",
138
+ onClick: () => {
139
+ table.nextPage();
140
+ },
141
+ disabled: !table.getCanNextPage(),
142
+ children: [
143
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Go to next page" }),
144
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ChevronRightIcon, { className: "size-4" })
145
+ ]
146
+ }
147
+ ),
148
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
149
+ _chunkBWCO2ZQQjs.Button,
150
+ {
151
+ variant: "outline",
152
+ size: "icon-xs",
153
+ className: "hidden lg:flex",
154
+ onClick: () => {
155
+ table.setPageIndex(table.getPageCount() - 1);
156
+ },
157
+ disabled: !table.getCanNextPage(),
158
+ children: [
159
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Go to last page" }),
160
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.DoubleArrowRightIcon, { className: "size-4" })
161
+ ]
162
+ }
163
+ )
164
+ ] })
165
+ ] })
166
+ ] });
187
167
  }
188
168
  function DataTableColumnHeader({
189
169
  column,
@@ -193,22 +173,14 @@ function DataTableColumnHeader({
193
173
  if (!column.getCanSort()) {
194
174
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkG3NP7M2Njs.cn.call(void 0, className), children: title });
195
175
  }
196
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkG3NP7M2Njs.cn.call(void 0, "flex items-center space-x-2", className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BDLWZ3Wjs.DropdownMenu, { children: [
197
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BDLWZ3Wjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
198
- _chunkJOJW7BBYjs.Button,
199
- {
200
- variant: "ghost",
201
- size: "xs",
202
- className: "data-[state=open]:bg-accent -ml-3",
203
- children: [
204
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: title }),
205
- column.getIsSorted() === "desc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ArrowDownIcon, { className: "ml-2 size-4" }) : column.getIsSorted() === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ArrowUpIcon, { className: "ml-2 size-4" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.CaretSortIcon, { className: "ml-2 size-4" })
206
- ]
207
- }
208
- ) }),
209
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3BDLWZ3Wjs.DropdownMenuContent, { align: "start", children: [
176
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkG3NP7M2Njs.cn.call(void 0, "flex items-center space-x-2", className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenu, { children: [
177
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBWCO2ZQQjs.Button, { variant: "ghost", size: "xs", className: "data-[state=open]:bg-accent -ml-3", children: [
178
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: title }),
179
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: column.getIsSorted() })
180
+ ] }) }),
181
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuContent, { align: "start", children: [
210
182
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
211
- _chunk3BDLWZ3Wjs.DropdownMenuItem,
183
+ _chunk3ZZ3SRTJjs.DropdownMenuItem,
212
184
  {
213
185
  onClick: () => {
214
186
  column.toggleSorting(false);
@@ -220,7 +192,7 @@ function DataTableColumnHeader({
220
192
  }
221
193
  ),
222
194
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
223
- _chunk3BDLWZ3Wjs.DropdownMenuItem,
195
+ _chunk3ZZ3SRTJjs.DropdownMenuItem,
224
196
  {
225
197
  onClick: () => {
226
198
  column.toggleSorting(true);
@@ -231,9 +203,9 @@ function DataTableColumnHeader({
231
203
  ]
232
204
  }
233
205
  ),
234
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3BDLWZ3Wjs.DropdownMenuSeparator, {}),
206
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuSeparator, {}),
235
207
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
236
- _chunk3BDLWZ3Wjs.DropdownMenuItem,
208
+ _chunk3ZZ3SRTJjs.DropdownMenuItem,
237
209
  {
238
210
  onClick: () => {
239
211
  column.toggleVisibility(false);
@@ -247,6 +219,16 @@ function DataTableColumnHeader({
247
219
  ] })
248
220
  ] }) });
249
221
  }
222
+ function SortIcon({ sorted }) {
223
+ switch (sorted) {
224
+ case "desc":
225
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ArrowDownIcon, { className: "ml-2 size-4" });
226
+ case "asc":
227
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ArrowUpIcon, { className: "ml-2 size-4" });
228
+ default:
229
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.CaretSortIcon, { className: "ml-2 size-4" });
230
+ }
231
+ }
250
232
 
251
233
 
252
234
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data-table.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport type * as ReactTable from \"@tanstack/react-table\";\nimport {\n ArrowDownIcon,\n ArrowUpIcon,\n CaretSortIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n EyeNoneIcon,\n MixerHorizontalIcon,\n} from \"@radix-ui/react-icons\";\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"./dropdown-menu\";\nimport { Button } from \"./button\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"./select\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableViewOptions\n * -------------------------------------------------------------------------- */\n\ninterface DataTableViewOptionsProps<TData> {\n table: ReactTable.Table<TData>;\n}\nfunction DataTableViewOptions<TData>({\n table,\n}: DataTableViewOptionsProps<TData>): React.JSX.Element {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"ml-auto hidden h-8 lg:flex\"\n >\n <MixerHorizontalIcon className=\"mr-2 size-4\" />\n View\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-[150px]\">\n <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter(\n (column) =>\n typeof column.accessorFn !== \"undefined\" && column.getCanHide(),\n )\n .map((column) => {\n return (\n <DropdownMenuCheckboxItem\n key={column.id}\n className=\"capitalize\"\n checked={column.getIsVisible()}\n onCheckedChange={(value) => {\n column.toggleVisibility(Boolean(value));\n }}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTablePagination\n * -------------------------------------------------------------------------- */\n\ninterface DataTablePaginationProps<TData>\n extends React.HTMLAttributes<HTMLDivElement> {\n table: ReactTable.Table<TData>;\n}\nfunction DataTablePagination<TData>({\n table,\n className,\n ...props\n}: DataTablePaginationProps<TData>): React.JSX.Element {\n return (\n <div\n className={cn(\"flex items-center justify-between px-2\", className)}\n {...props}\n >\n <div className=\"text-muted-foreground flex-1 text-sm\">\n {table.getFilteredSelectedRowModel().rows.length} of{\" \"}\n {table.getFilteredRowModel().rows.length} row(s) selected.\n </div>\n <div className=\"flex items-center space-x-6 lg:space-x-8\">\n <div className=\"flex items-center space-x-2\">\n <p className=\"text-sm font-medium\">Rows per page</p>\n <Select\n value={`${table.getState().pagination.pageSize}`}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-[70px]\">\n <SelectValue placeholder={table.getState().pagination.pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex w-[100px] items-center justify-center text-sm font-medium\">\n Page {table.getState().pagination.pageIndex + 1} of{\" \"}\n {table.getPageCount()}\n </div>\n <div className=\"flex items-center space-x-2\">\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n className=\"hidden lg:flex\"\n onClick={() => {\n table.setPageIndex(0);\n }}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to first page</span>\n <DoubleArrowLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n onClick={() => {\n table.previousPage();\n }}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n onClick={() => {\n table.nextPage();\n }}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n className=\"hidden lg:flex\"\n onClick={() => {\n table.setPageIndex(table.getPageCount() - 1);\n }}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to last page</span>\n <DoubleArrowRightIcon className=\"size-4\" />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableColumnHeader\n * -------------------------------------------------------------------------- */\n\ninterface DataTableColumnHeaderProps<TData, TValue>\n extends React.HTMLAttributes<HTMLDivElement> {\n column: ReactTable.Column<TData, TValue>;\n title: string;\n}\nfunction DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n}: DataTableColumnHeaderProps<TData, TValue>): React.JSX.Element {\n if (!column.getCanSort()) {\n return <div className={cn(className)}>{title}</div>;\n }\n\n return (\n <div className={cn(\"flex items-center space-x-2\", className)}>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"xs\"\n className=\"data-[state=open]:bg-accent -ml-3\"\n >\n <span>{title}</span>\n {column.getIsSorted() === \"desc\" ? (\n <ArrowDownIcon className=\"ml-2 size-4\" />\n ) : column.getIsSorted() === \"asc\" ? (\n <ArrowUpIcon className=\"ml-2 size-4\" />\n ) : (\n <CaretSortIcon className=\"ml-2 size-4\" />\n )}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\">\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(false);\n }}\n >\n <ArrowUpIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Asc\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(true);\n }}\n >\n <ArrowDownIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Desc\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n onClick={() => {\n column.toggleVisibility(false);\n }}\n >\n <EyeNoneIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Hide\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n DataTableViewOptions,\n DataTablePagination,\n DataTableColumnHeader,\n type DataTableViewOptionsProps,\n type DataTablePaginationProps,\n type DataTableColumnHeaderProps,\n};\n\nexport * from \"@tanstack/react-table\";\n"]}
1
+ {"version":3,"sources":["../src/data-table.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport type * as ReactTable from \"@tanstack/react-table\";\nimport { type SortDirection } from \"@tanstack/react-table\";\nimport {\n ArrowDownIcon,\n ArrowUpIcon,\n CaretSortIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n EyeNoneIcon,\n MixerHorizontalIcon,\n} from \"@radix-ui/react-icons\";\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"./dropdown-menu\";\nimport { Button } from \"./button\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"./select\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableViewOptions\n * -------------------------------------------------------------------------- */\n\ninterface DataTableViewOptionsProps<TData> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>): React.JSX.Element {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"sm\" className=\"ml-auto hidden h-8 lg:flex\">\n <MixerHorizontalIcon className=\"mr-2 size-4\" />\n View\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-[150px]\">\n <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== \"undefined\" && column.getCanHide())\n .map((column) => {\n return (\n <DropdownMenuCheckboxItem\n key={column.id}\n className=\"capitalize\"\n checked={column.getIsVisible()}\n onCheckedChange={(value) => {\n column.toggleVisibility(Boolean(value));\n }}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTablePagination\n * -------------------------------------------------------------------------- */\n\ninterface DataTablePaginationProps<TData> extends React.HTMLAttributes<HTMLDivElement> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTablePagination<TData>({\n table,\n className,\n ...props\n}: DataTablePaginationProps<TData>): React.JSX.Element {\n return (\n <div className={cn(\"flex items-center justify-between px-2\", className)} {...props}>\n <div className=\"text-muted-foreground flex-1 text-sm\">\n {table.getFilteredSelectedRowModel().rows.length} of {table.getFilteredRowModel().rows.length} row(s) selected.\n </div>\n <div className=\"flex items-center space-x-6 lg:space-x-8\">\n <div className=\"flex items-center space-x-2\">\n <p className=\"text-sm font-medium\">Rows per page</p>\n <Select\n value={`${table.getState().pagination.pageSize}`}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-[70px]\">\n <SelectValue placeholder={table.getState().pagination.pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex w-[100px] items-center justify-center text-sm font-medium\">\n Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount()}\n </div>\n <div className=\"flex items-center space-x-2\">\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n className=\"hidden lg:flex\"\n onClick={() => {\n table.setPageIndex(0);\n }}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to first page</span>\n <DoubleArrowLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n onClick={() => {\n table.previousPage();\n }}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n onClick={() => {\n table.nextPage();\n }}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-xs\"\n className=\"hidden lg:flex\"\n onClick={() => {\n table.setPageIndex(table.getPageCount() - 1);\n }}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to last page</span>\n <DoubleArrowRightIcon className=\"size-4\" />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableColumnHeader\n * -------------------------------------------------------------------------- */\n\ninterface DataTableColumnHeaderProps<TData, TValue> extends React.HTMLAttributes<HTMLDivElement> {\n column: ReactTable.Column<TData, TValue>;\n title: string;\n}\n\nfunction DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n}: DataTableColumnHeaderProps<TData, TValue>): React.JSX.Element {\n if (!column.getCanSort()) {\n return <div className={cn(className)}>{title}</div>;\n }\n\n return (\n <div className={cn(\"flex items-center space-x-2\", className)}>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" size=\"xs\" className=\"data-[state=open]:bg-accent -ml-3\">\n <span>{title}</span>\n <SortIcon sorted={column.getIsSorted()} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\">\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(false);\n }}\n >\n <ArrowUpIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Asc\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(true);\n }}\n >\n <ArrowDownIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Desc\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n onClick={() => {\n column.toggleVisibility(false);\n }}\n >\n <EyeNoneIcon className=\"text-muted-foreground/70 mr-2 size-3.5\" />\n Hide\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n}\n\nfunction SortIcon({ sorted }: { sorted: false | SortDirection }): React.JSX.Element {\n switch (sorted) {\n case \"desc\":\n return <ArrowDownIcon className=\"ml-2 size-4\" />;\n case \"asc\":\n return <ArrowUpIcon className=\"ml-2 size-4\" />;\n default:\n return <CaretSortIcon className=\"ml-2 size-4\" />;\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n DataTableViewOptions,\n DataTablePagination,\n DataTableColumnHeader,\n type DataTableViewOptionsProps,\n type DataTablePaginationProps,\n type DataTableColumnHeaderProps,\n};\n\nexport * from \"@tanstack/react-table\";\n"]}