@codefast/ui 0.0.27 → 0.0.29

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 (327) hide show
  1. package/dist/accordion.js +1 -49
  2. package/dist/accordion.js.map +1 -1
  3. package/dist/accordion.mjs +1 -49
  4. package/dist/accordion.mjs.map +1 -1
  5. package/dist/alert-dialog.js +1 -65
  6. package/dist/alert-dialog.js.map +1 -1
  7. package/dist/alert-dialog.mjs +1 -65
  8. package/dist/alert-dialog.mjs.map +1 -1
  9. package/dist/alert.js +1 -33
  10. package/dist/alert.js.map +1 -1
  11. package/dist/alert.mjs +1 -33
  12. package/dist/alert.mjs.map +1 -1
  13. package/dist/animate.plugin.js +2 -0
  14. package/dist/animate.plugin.js.map +1 -0
  15. package/dist/animate.plugin.mjs +2 -0
  16. package/dist/animate.plugin.mjs.map +1 -0
  17. package/dist/aspect-ratio.js +1 -8
  18. package/dist/aspect-ratio.js.map +1 -1
  19. package/dist/aspect-ratio.mjs +1 -8
  20. package/dist/aspect-ratio.mjs.map +1 -1
  21. package/dist/avatar.js +1 -34
  22. package/dist/avatar.js.map +1 -1
  23. package/dist/avatar.mjs +1 -34
  24. package/dist/avatar.mjs.map +1 -1
  25. package/dist/badge.js +1 -26
  26. package/dist/badge.js.map +1 -1
  27. package/dist/badge.mjs +1 -26
  28. package/dist/badge.mjs.map +1 -1
  29. package/dist/blockquote.js +1 -12
  30. package/dist/blockquote.js.map +1 -1
  31. package/dist/blockquote.mjs +1 -12
  32. package/dist/blockquote.mjs.map +1 -1
  33. package/dist/box.js +1 -12
  34. package/dist/box.js.map +1 -1
  35. package/dist/box.mjs +1 -12
  36. package/dist/box.mjs.map +1 -1
  37. package/dist/breadcrumb.js +1 -71
  38. package/dist/breadcrumb.js.map +1 -1
  39. package/dist/breadcrumb.mjs +1 -71
  40. package/dist/breadcrumb.mjs.map +1 -1
  41. package/dist/button.d.mts +1 -1
  42. package/dist/button.d.ts +1 -1
  43. package/dist/button.js +1 -10
  44. package/dist/button.mjs +1 -10
  45. package/dist/calendar.js +1 -70
  46. package/dist/calendar.js.map +1 -1
  47. package/dist/calendar.mjs +1 -70
  48. package/dist/calendar.mjs.map +1 -1
  49. package/dist/card.js +1 -29
  50. package/dist/card.js.map +1 -1
  51. package/dist/card.mjs +1 -29
  52. package/dist/card.mjs.map +1 -1
  53. package/dist/carousel.js +1 -193
  54. package/dist/carousel.js.map +1 -1
  55. package/dist/carousel.mjs +1 -193
  56. package/dist/carousel.mjs.map +1 -1
  57. package/dist/checkbox-cards.js +1 -51
  58. package/dist/checkbox-cards.js.map +1 -1
  59. package/dist/checkbox-cards.mjs +1 -51
  60. package/dist/checkbox-cards.mjs.map +1 -1
  61. package/dist/checkbox-group.js +1 -39
  62. package/dist/checkbox-group.js.map +1 -1
  63. package/dist/checkbox-group.mjs +1 -39
  64. package/dist/checkbox-group.mjs.map +1 -1
  65. package/dist/checkbox-group.primitive.js +1 -18
  66. package/dist/checkbox-group.primitive.mjs +1 -18
  67. package/dist/checkbox.js +1 -26
  68. package/dist/checkbox.js.map +1 -1
  69. package/dist/checkbox.mjs +1 -26
  70. package/dist/checkbox.mjs.map +1 -1
  71. package/dist/chunk-2RQCRE7N.js +2 -0
  72. package/dist/chunk-2RQCRE7N.js.map +1 -0
  73. package/dist/chunk-ATQPXKGH.mjs +2 -0
  74. package/dist/{chunk-JULVZPCS.mjs.map → chunk-ATQPXKGH.mjs.map} +1 -1
  75. package/dist/chunk-CF2GOAXC.mjs +2 -0
  76. package/dist/{chunk-AUQEMOIM.mjs.map → chunk-CF2GOAXC.mjs.map} +1 -1
  77. package/dist/chunk-CHJJRHD2.mjs +2 -0
  78. package/dist/{chunk-TXRIFICH.mjs.map → chunk-CHJJRHD2.mjs.map} +1 -1
  79. package/dist/chunk-CNPQJV2G.js +2 -0
  80. package/dist/chunk-CNPQJV2G.js.map +1 -0
  81. package/dist/chunk-DCN2KICL.js +2 -0
  82. package/dist/chunk-DCN2KICL.js.map +1 -0
  83. package/dist/chunk-HJ4U5JJA.mjs +2 -0
  84. package/dist/chunk-HJ4U5JJA.mjs.map +1 -0
  85. package/dist/chunk-IBJ5USOR.js +2 -0
  86. package/dist/chunk-IBJ5USOR.js.map +1 -0
  87. package/dist/chunk-J5EXNAHZ.js +2 -0
  88. package/dist/chunk-J5EXNAHZ.js.map +1 -0
  89. package/dist/chunk-JTI7KCLO.mjs +2 -0
  90. package/dist/chunk-JTI7KCLO.mjs.map +1 -0
  91. package/dist/chunk-JVGHOCS7.js +2 -0
  92. package/dist/chunk-JVGHOCS7.js.map +1 -0
  93. package/dist/chunk-KICZFOKE.js +2 -0
  94. package/dist/chunk-KICZFOKE.js.map +1 -0
  95. package/dist/chunk-MXVHKLFU.mjs +2 -0
  96. package/dist/{chunk-FGI3JA75.mjs.map → chunk-MXVHKLFU.mjs.map} +1 -1
  97. package/dist/chunk-O7LLHO4I.js +2 -0
  98. package/dist/chunk-O7LLHO4I.js.map +1 -0
  99. package/dist/chunk-QZCQ42BP.js +2 -0
  100. package/dist/chunk-QZCQ42BP.js.map +1 -0
  101. package/dist/chunk-S23IT4G2.js +2 -0
  102. package/dist/chunk-S23IT4G2.js.map +1 -0
  103. package/dist/chunk-TMXZMQRK.mjs +2 -0
  104. package/dist/{chunk-73S45XV3.mjs.map → chunk-TMXZMQRK.mjs.map} +1 -1
  105. package/dist/chunk-VDYNVLXR.mjs +2 -0
  106. package/dist/{chunk-U6VR5RJ5.mjs.map → chunk-VDYNVLXR.mjs.map} +1 -1
  107. package/dist/chunk-XPJZ6WQM.js +2 -0
  108. package/dist/chunk-XPJZ6WQM.js.map +1 -0
  109. package/dist/chunk-YV4UJQ5X.mjs +2 -0
  110. package/dist/{chunk-EWS3N4OZ.mjs.map → chunk-YV4UJQ5X.mjs.map} +1 -1
  111. package/dist/chunk-ZLAYTLRK.mjs +2 -0
  112. package/dist/chunk-ZLAYTLRK.mjs.map +1 -0
  113. package/dist/chunk-ZMVKHU4U.mjs +2 -0
  114. package/dist/{chunk-Q24YJU6W.mjs.map → chunk-ZMVKHU4U.mjs.map} +1 -1
  115. package/dist/code.js +1 -12
  116. package/dist/code.js.map +1 -1
  117. package/dist/code.mjs +1 -12
  118. package/dist/code.mjs.map +1 -1
  119. package/dist/collapsible.js +1 -12
  120. package/dist/collapsible.js.map +1 -1
  121. package/dist/collapsible.mjs +1 -12
  122. package/dist/collapsible.mjs.map +1 -1
  123. package/dist/command.d.mts +15 -15
  124. package/dist/command.d.ts +15 -15
  125. package/dist/command.js +1 -93
  126. package/dist/command.js.map +1 -1
  127. package/dist/command.mjs +1 -93
  128. package/dist/command.mjs.map +1 -1
  129. package/dist/container.js +1 -16
  130. package/dist/container.js.map +1 -1
  131. package/dist/container.mjs +1 -16
  132. package/dist/container.mjs.map +1 -1
  133. package/dist/context-menu.js +1 -153
  134. package/dist/context-menu.js.map +1 -1
  135. package/dist/context-menu.mjs +1 -153
  136. package/dist/context-menu.mjs.map +1 -1
  137. package/dist/data-table.js +1 -235
  138. package/dist/data-table.js.map +1 -1
  139. package/dist/data-table.mjs +1 -235
  140. package/dist/data-table.mjs.map +1 -1
  141. package/dist/dialog.js +1 -22
  142. package/dist/dialog.mjs +1 -22
  143. package/dist/drawer.js +1 -64
  144. package/dist/drawer.js.map +1 -1
  145. package/dist/drawer.mjs +1 -64
  146. package/dist/drawer.mjs.map +1 -1
  147. package/dist/dropdown-menu.js +1 -34
  148. package/dist/dropdown-menu.mjs +1 -34
  149. package/dist/em.js +1 -12
  150. package/dist/em.js.map +1 -1
  151. package/dist/em.mjs +1 -12
  152. package/dist/em.mjs.map +1 -1
  153. package/dist/form.js +1 -91
  154. package/dist/form.js.map +1 -1
  155. package/dist/form.mjs +1 -91
  156. package/dist/form.mjs.map +1 -1
  157. package/dist/heading.js +1 -12
  158. package/dist/heading.js.map +1 -1
  159. package/dist/heading.mjs +1 -12
  160. package/dist/heading.mjs.map +1 -1
  161. package/dist/hover-card.js +1 -35
  162. package/dist/hover-card.js.map +1 -1
  163. package/dist/hover-card.mjs +1 -35
  164. package/dist/hover-card.mjs.map +1 -1
  165. package/dist/input-otp.js +1 -62
  166. package/dist/input-otp.js.map +1 -1
  167. package/dist/input-otp.mjs +1 -62
  168. package/dist/input-otp.mjs.map +1 -1
  169. package/dist/input.js +1 -28
  170. package/dist/input.js.map +1 -1
  171. package/dist/input.mjs +1 -28
  172. package/dist/input.mjs.map +1 -1
  173. package/dist/kbd.js +1 -26
  174. package/dist/kbd.js.map +1 -1
  175. package/dist/kbd.mjs +1 -26
  176. package/dist/kbd.mjs.map +1 -1
  177. package/dist/label.js +1 -8
  178. package/dist/label.mjs +1 -8
  179. package/dist/menubar.js +1 -168
  180. package/dist/menubar.js.map +1 -1
  181. package/dist/menubar.mjs +1 -168
  182. package/dist/menubar.mjs.map +1 -1
  183. package/dist/navigation-menu.js +1 -119
  184. package/dist/navigation-menu.js.map +1 -1
  185. package/dist/navigation-menu.mjs +1 -119
  186. package/dist/navigation-menu.mjs.map +1 -1
  187. package/dist/pagination.js +1 -86
  188. package/dist/pagination.js.map +1 -1
  189. package/dist/pagination.mjs +1 -86
  190. package/dist/pagination.mjs.map +1 -1
  191. package/dist/perspective.plugin.js +2 -0
  192. package/dist/perspective.plugin.js.map +1 -0
  193. package/dist/perspective.plugin.mjs +2 -0
  194. package/dist/perspective.plugin.mjs.map +1 -0
  195. package/dist/popover.js +1 -37
  196. package/dist/popover.js.map +1 -1
  197. package/dist/popover.mjs +1 -37
  198. package/dist/popover.mjs.map +1 -1
  199. package/dist/pre.js +1 -12
  200. package/dist/pre.js.map +1 -1
  201. package/dist/pre.mjs +1 -12
  202. package/dist/pre.mjs.map +1 -1
  203. package/dist/progress.js +1 -30
  204. package/dist/progress.js.map +1 -1
  205. package/dist/progress.mjs +1 -30
  206. package/dist/progress.mjs.map +1 -1
  207. package/dist/quote.js +1 -12
  208. package/dist/quote.js.map +1 -1
  209. package/dist/quote.mjs +1 -12
  210. package/dist/quote.mjs.map +1 -1
  211. package/dist/radio-cards.js +1 -31
  212. package/dist/radio-cards.js.map +1 -1
  213. package/dist/radio-cards.mjs +1 -31
  214. package/dist/radio-cards.mjs.map +1 -1
  215. package/dist/radio-group.js +1 -32
  216. package/dist/radio-group.js.map +1 -1
  217. package/dist/radio-group.mjs +1 -32
  218. package/dist/radio-group.mjs.map +1 -1
  219. package/dist/radio.js +1 -28
  220. package/dist/radio.js.map +1 -1
  221. package/dist/radio.mjs +1 -28
  222. package/dist/radio.mjs.map +1 -1
  223. package/dist/resizable.js +1 -44
  224. package/dist/resizable.js.map +1 -1
  225. package/dist/resizable.mjs +1 -44
  226. package/dist/resizable.mjs.map +1 -1
  227. package/dist/scroll-area.js +1 -38
  228. package/dist/scroll-area.js.map +1 -1
  229. package/dist/scroll-area.mjs +1 -38
  230. package/dist/scroll-area.mjs.map +1 -1
  231. package/dist/section.js +1 -12
  232. package/dist/section.js.map +1 -1
  233. package/dist/section.mjs +1 -12
  234. package/dist/section.mjs.map +1 -1
  235. package/dist/select.js +1 -26
  236. package/dist/select.mjs +1 -26
  237. package/dist/separator.js +1 -25
  238. package/dist/separator.js.map +1 -1
  239. package/dist/separator.mjs +1 -25
  240. package/dist/separator.mjs.map +1 -1
  241. package/dist/sheet.js +1 -64
  242. package/dist/sheet.js.map +1 -1
  243. package/dist/sheet.mjs +1 -64
  244. package/dist/sheet.mjs.map +1 -1
  245. package/dist/skeleton.js +1 -12
  246. package/dist/skeleton.js.map +1 -1
  247. package/dist/skeleton.mjs +1 -12
  248. package/dist/skeleton.mjs.map +1 -1
  249. package/dist/slider.js +1 -32
  250. package/dist/slider.js.map +1 -1
  251. package/dist/slider.mjs +1 -32
  252. package/dist/slider.mjs.map +1 -1
  253. package/dist/sonner.js +1 -29
  254. package/dist/sonner.js.map +1 -1
  255. package/dist/sonner.mjs +1 -29
  256. package/dist/sonner.mjs.map +1 -1
  257. package/dist/spinner.js +1 -7
  258. package/dist/spinner.mjs +1 -7
  259. package/dist/strong.js +1 -12
  260. package/dist/strong.js.map +1 -1
  261. package/dist/strong.mjs +1 -12
  262. package/dist/strong.mjs.map +1 -1
  263. package/dist/switch.js +1 -25
  264. package/dist/switch.js.map +1 -1
  265. package/dist/switch.mjs +1 -25
  266. package/dist/switch.mjs.map +1 -1
  267. package/dist/table.js +1 -50
  268. package/dist/table.js.map +1 -1
  269. package/dist/table.mjs +1 -50
  270. package/dist/table.mjs.map +1 -1
  271. package/dist/tabs.js +1 -52
  272. package/dist/tabs.js.map +1 -1
  273. package/dist/tabs.mjs +1 -52
  274. package/dist/tabs.mjs.map +1 -1
  275. package/dist/tailwind.config.js +1 -383
  276. package/dist/tailwind.config.js.map +1 -1
  277. package/dist/tailwind.config.mjs +1 -383
  278. package/dist/tailwind.config.mjs.map +1 -1
  279. package/dist/text.js +1 -12
  280. package/dist/text.js.map +1 -1
  281. package/dist/text.mjs +1 -12
  282. package/dist/text.mjs.map +1 -1
  283. package/dist/textarea.js +1 -24
  284. package/dist/textarea.js.map +1 -1
  285. package/dist/textarea.mjs +1 -24
  286. package/dist/textarea.mjs.map +1 -1
  287. package/dist/toggle-group.js +1 -56
  288. package/dist/toggle-group.js.map +1 -1
  289. package/dist/toggle-group.mjs +1 -56
  290. package/dist/toggle-group.mjs.map +1 -1
  291. package/dist/toggle.js +1 -10
  292. package/dist/toggle.mjs +1 -10
  293. package/dist/tooltip.js +1 -36
  294. package/dist/tooltip.js.map +1 -1
  295. package/dist/tooltip.mjs +1 -36
  296. package/dist/tooltip.mjs.map +1 -1
  297. package/dist/utils.js +1 -10
  298. package/dist/utils.mjs +1 -10
  299. package/package.json +3 -3
  300. package/dist/chunk-3ZZ3SRTJ.js +0 -148
  301. package/dist/chunk-3ZZ3SRTJ.js.map +0 -1
  302. package/dist/chunk-73S45XV3.mjs +0 -51
  303. package/dist/chunk-AOIW2XNK.js +0 -34
  304. package/dist/chunk-AOIW2XNK.js.map +0 -1
  305. package/dist/chunk-AUQEMOIM.mjs +0 -34
  306. package/dist/chunk-BA3XYBWR.js +0 -120
  307. package/dist/chunk-BA3XYBWR.js.map +0 -1
  308. package/dist/chunk-EWS3N4OZ.mjs +0 -148
  309. package/dist/chunk-FGI3JA75.mjs +0 -25
  310. package/dist/chunk-G3NP7M2N.js +0 -19
  311. package/dist/chunk-G3NP7M2N.js.map +0 -1
  312. package/dist/chunk-IVYGBU4G.js +0 -25
  313. package/dist/chunk-IVYGBU4G.js.map +0 -1
  314. package/dist/chunk-JULVZPCS.mjs +0 -120
  315. package/dist/chunk-MOJNV3XZ.js +0 -120
  316. package/dist/chunk-MOJNV3XZ.js.map +0 -1
  317. package/dist/chunk-Q24YJU6W.mjs +0 -120
  318. package/dist/chunk-TFYKPLNV.js +0 -73
  319. package/dist/chunk-TFYKPLNV.js.map +0 -1
  320. package/dist/chunk-TH24V27M.js +0 -67
  321. package/dist/chunk-TH24V27M.js.map +0 -1
  322. package/dist/chunk-TXRIFICH.mjs +0 -67
  323. package/dist/chunk-U6VR5RJ5.mjs +0 -73
  324. package/dist/chunk-UG3URV2Z.mjs +0 -19
  325. package/dist/chunk-UG3URV2Z.mjs.map +0 -1
  326. package/dist/chunk-Y3DZHPJ5.js +0 -51
  327. package/dist/chunk-Y3DZHPJ5.js.map +0 -1
@@ -1,236 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
-
3
-
4
-
5
-
6
-
7
-
8
- var _chunkBA3XYBWRjs = require('./chunk-BA3XYBWR.js');
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
- var _chunk3ZZ3SRTJjs = require('./chunk-3ZZ3SRTJ.js');
18
-
19
-
20
- var _chunkTFYKPLNVjs = require('./chunk-TFYKPLNV.js');
21
- require('./chunk-Y3DZHPJ5.js');
22
-
23
-
24
- var _chunkG3NP7M2Njs = require('./chunk-G3NP7M2N.js');
25
-
26
- // src/data-table.tsx
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
- var _reacticons = require('@radix-ui/react-icons');
38
- var _jsxruntime = require('react/jsx-runtime');
39
- function DataTableViewOptions({ table }) {
40
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenu, { children: [
41
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTFYKPLNVjs.Button, { variant: "outline", size: "sm", className: "ml-auto hidden h-8 lg:flex", children: [
42
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.MixerHorizontalIcon, { className: "mr-2 size-4" }),
43
- "View"
44
- ] }) }),
45
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuContent, { align: "end", className: "w-36", children: [
46
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuLabel, { children: "Toggle columns" }),
47
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuSeparator, {}),
48
- table.getAllColumns().filter((column) => typeof column.accessorFn !== "undefined" && column.getCanHide()).map((column) => {
49
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
50
- _chunk3ZZ3SRTJjs.DropdownMenuCheckboxItem,
51
- {
52
- className: "capitalize",
53
- checked: column.getIsVisible(),
54
- onCheckedChange: (value) => {
55
- column.toggleVisibility(Boolean(value));
56
- },
57
- children: column.id
58
- },
59
- column.id
60
- );
61
- })
62
- ] })
63
- ] });
64
- }
65
- function DataTablePagination({
66
- table,
67
- className,
68
- ...props
69
- }) {
70
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkG3NP7M2Njs.cn.call(void 0, "flex items-center justify-between px-2", className), ...props, children: [
71
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground flex-1 text-sm", children: [
72
- table.getFilteredSelectedRowModel().rows.length,
73
- " of ",
74
- table.getFilteredRowModel().rows.length,
75
- " row(s) selected."
76
- ] }),
77
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-6 lg:space-x-8", children: [
78
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-2", children: [
79
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm font-medium", children: "Rows per page" }),
80
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
81
- _chunkBA3XYBWRjs.Select,
82
- {
83
- value: String(table.getState().pagination.pageSize),
84
- onValueChange: (value) => {
85
- table.setPageSize(Number(value));
86
- },
87
- children: [
88
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBA3XYBWRjs.SelectTrigger, { className: "h-8 w-16", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBA3XYBWRjs.SelectValue, { placeholder: table.getState().pagination.pageSize }) }),
89
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBA3XYBWRjs.SelectContent, { side: "top", children: [10, 20, 30, 40, 50].map((pageSize) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBA3XYBWRjs.SelectItem, { value: String(pageSize), children: pageSize }, pageSize)) })
90
- ]
91
- }
92
- )
93
- ] }),
94
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-28 items-center justify-center text-sm font-medium", children: [
95
- "Page ",
96
- table.getState().pagination.pageIndex + 1,
97
- " of ",
98
- table.getPageCount()
99
- ] }),
100
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-2", children: [
101
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
102
- _chunkTFYKPLNVjs.Button,
103
- {
104
- variant: "outline",
105
- size: "icon-xs",
106
- className: "hidden lg:flex",
107
- onClick: () => {
108
- table.setPageIndex(0);
109
- },
110
- disabled: !table.getCanPreviousPage(),
111
- children: [
112
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Go to first page" }),
113
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.DoubleArrowLeftIcon, { className: "size-4" })
114
- ]
115
- }
116
- ),
117
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
118
- _chunkTFYKPLNVjs.Button,
119
- {
120
- variant: "outline",
121
- size: "icon-xs",
122
- onClick: () => {
123
- table.previousPage();
124
- },
125
- disabled: !table.getCanPreviousPage(),
126
- children: [
127
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Go to previous page" }),
128
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ChevronLeftIcon, { className: "size-4" })
129
- ]
130
- }
131
- ),
132
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
133
- _chunkTFYKPLNVjs.Button,
134
- {
135
- variant: "outline",
136
- size: "icon-xs",
137
- onClick: () => {
138
- table.nextPage();
139
- },
140
- disabled: !table.getCanNextPage(),
141
- children: [
142
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Go to next page" }),
143
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ChevronRightIcon, { className: "size-4" })
144
- ]
145
- }
146
- ),
147
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
148
- _chunkTFYKPLNVjs.Button,
149
- {
150
- variant: "outline",
151
- size: "icon-xs",
152
- className: "hidden lg:flex",
153
- onClick: () => {
154
- table.setPageIndex(table.getPageCount() - 1);
155
- },
156
- disabled: !table.getCanNextPage(),
157
- children: [
158
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Go to last page" }),
159
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.DoubleArrowRightIcon, { className: "size-4" })
160
- ]
161
- }
162
- )
163
- ] })
164
- ] })
165
- ] });
166
- }
167
- function DataTableColumnHeader({
168
- column,
169
- title,
170
- className
171
- }) {
172
- if (!column.getCanSort()) {
173
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, children: title });
174
- }
175
- 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: [
176
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTFYKPLNVjs.Button, { variant: "ghost", size: "xs", className: "data-[state=open]:bg-accent -ml-3", children: [
177
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: title }),
178
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: column.getIsSorted() })
179
- ] }) }),
180
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuContent, { align: "start", children: [
181
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
182
- _chunk3ZZ3SRTJjs.DropdownMenuItem,
183
- {
184
- onClick: () => {
185
- column.toggleSorting(false);
186
- },
187
- children: [
188
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ArrowUpIcon, { className: "text-muted-foreground/70 mr-2 size-3.5" }),
189
- "Asc"
190
- ]
191
- }
192
- ),
193
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
194
- _chunk3ZZ3SRTJjs.DropdownMenuItem,
195
- {
196
- onClick: () => {
197
- column.toggleSorting(true);
198
- },
199
- children: [
200
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ArrowDownIcon, { className: "text-muted-foreground/70 mr-2 size-3.5" }),
201
- "Desc"
202
- ]
203
- }
204
- ),
205
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3ZZ3SRTJjs.DropdownMenuSeparator, {}),
206
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
207
- _chunk3ZZ3SRTJjs.DropdownMenuItem,
208
- {
209
- onClick: () => {
210
- column.toggleVisibility(false);
211
- },
212
- children: [
213
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.EyeNoneIcon, { className: "text-muted-foreground/70 mr-2 size-3.5" }),
214
- "Hide"
215
- ]
216
- }
217
- )
218
- ] })
219
- ] }) });
220
- }
221
- function SortIcon({ sorted }) {
222
- switch (sorted) {
223
- case "desc":
224
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ArrowDownIcon, { className: "ml-2 size-4" });
225
- case "asc":
226
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.ArrowUpIcon, { className: "ml-2 size-4" });
227
- default:
228
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacticons.CaretSortIcon, { className: "ml-2 size-4" });
229
- }
230
- }
231
-
232
-
233
-
234
-
235
- exports.DataTableColumnHeader = DataTableColumnHeader; exports.DataTablePagination = DataTablePagination; exports.DataTableViewOptions = DataTableViewOptions;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunkJ5EXNAHZjs = require('./chunk-J5EXNAHZ.js');var _chunkKICZFOKEjs = require('./chunk-KICZFOKE.js');var _chunkXPJZ6WQMjs = require('./chunk-XPJZ6WQM.js');require('./chunk-JVGHOCS7.js');var _chunkQZCQ42BPjs = require('./chunk-QZCQ42BP.js');var _reacticons = require('@radix-ui/react-icons');var _jsxruntime = require('react/jsx-runtime');function A({table:a}){return _jsxruntime.jsxs.call(void 0, _chunkKICZFOKEjs.a,{children:[_jsxruntime.jsx.call(void 0, _chunkKICZFOKEjs.b,{asChild:!0,children:_jsxruntime.jsxs.call(void 0, _chunkXPJZ6WQMjs.b,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[_jsxruntime.jsx.call(void 0, _reacticons.MixerHorizontalIcon,{className:"mr-2 size-4"}),"View"]})}),_jsxruntime.jsxs.call(void 0, _chunkKICZFOKEjs.h,{align:"end",className:"w-36",children:[_jsxruntime.jsx.call(void 0, _chunkKICZFOKEjs.l,{children:"Toggle columns"}),_jsxruntime.jsx.call(void 0, _chunkKICZFOKEjs.m,{}),a.getAllColumns().filter(n=>typeof n.accessorFn<"u"&&n.getCanHide()).map(n=>_jsxruntime.jsx.call(void 0, _chunkKICZFOKEjs.j,{className:"capitalize",checked:n.getIsVisible(),onCheckedChange:s=>{n.toggleVisibility(!!s)},children:n.id},n.id))]})]})}function B({table:a,className:n,...s}){return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkQZCQ42BPjs.b.call(void 0, "flex items-center justify-between px-2",n),...s,children:[_jsxruntime.jsxs.call(void 0, "div",{className:"text-muted-foreground flex-1 text-sm",children:[a.getFilteredSelectedRowModel().rows.length," of ",a.getFilteredRowModel().rows.length," row(s) selected."]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center space-x-6 lg:space-x-8",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center space-x-2",children:[_jsxruntime.jsx.call(void 0, "p",{className:"text-sm font-medium",children:"Rows per page"}),_jsxruntime.jsxs.call(void 0, _chunkJ5EXNAHZjs.a,{value:String(a.getState().pagination.pageSize),onValueChange:i=>{a.setPageSize(Number(i))},children:[_jsxruntime.jsx.call(void 0, _chunkJ5EXNAHZjs.d,{className:"h-8 w-16",children:_jsxruntime.jsx.call(void 0, _chunkJ5EXNAHZjs.c,{placeholder:a.getState().pagination.pageSize})}),_jsxruntime.jsx.call(void 0, _chunkJ5EXNAHZjs.g,{side:"top",children:[10,20,30,40,50].map(i=>_jsxruntime.jsx.call(void 0, _chunkJ5EXNAHZjs.i,{value:String(i),children:i},i))})]})]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex w-28 items-center justify-center text-sm font-medium",children:["Page ",a.getState().pagination.pageIndex+1," of ",a.getPageCount()]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center space-x-2",children:[_jsxruntime.jsxs.call(void 0, _chunkXPJZ6WQMjs.b,{variant:"outline",size:"icon-xs",className:"hidden lg:flex",onClick:()=>{a.setPageIndex(0)},disabled:!a.getCanPreviousPage(),children:[_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Go to first page"}),_jsxruntime.jsx.call(void 0, _reacticons.DoubleArrowLeftIcon,{className:"size-4"})]}),_jsxruntime.jsxs.call(void 0, _chunkXPJZ6WQMjs.b,{variant:"outline",size:"icon-xs",onClick:()=>{a.previousPage()},disabled:!a.getCanPreviousPage(),children:[_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Go to previous page"}),_jsxruntime.jsx.call(void 0, _reacticons.ChevronLeftIcon,{className:"size-4"})]}),_jsxruntime.jsxs.call(void 0, _chunkXPJZ6WQMjs.b,{variant:"outline",size:"icon-xs",onClick:()=>{a.nextPage()},disabled:!a.getCanNextPage(),children:[_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Go to next page"}),_jsxruntime.jsx.call(void 0, _reacticons.ChevronRightIcon,{className:"size-4"})]}),_jsxruntime.jsxs.call(void 0, _chunkXPJZ6WQMjs.b,{variant:"outline",size:"icon-xs",className:"hidden lg:flex",onClick:()=>{a.setPageIndex(a.getPageCount()-1)},disabled:!a.getCanNextPage(),children:[_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Go to last page"}),_jsxruntime.jsx.call(void 0, _reacticons.DoubleArrowRightIcon,{className:"size-4"})]})]})]})]})}function L({column:a,title:n,className:s}){return a.getCanSort()?_jsxruntime.jsx.call(void 0, "div",{className:_chunkQZCQ42BPjs.b.call(void 0, "flex items-center space-x-2",s),children:_jsxruntime.jsxs.call(void 0, _chunkKICZFOKEjs.a,{children:[_jsxruntime.jsx.call(void 0, _chunkKICZFOKEjs.b,{asChild:!0,children:_jsxruntime.jsxs.call(void 0, _chunkXPJZ6WQMjs.b,{variant:"ghost",size:"xs",className:"data-[state=open]:bg-accent -ml-3",children:[_jsxruntime.jsx.call(void 0, "span",{children:n}),_jsxruntime.jsx.call(void 0, z,{sorted:a.getIsSorted()})]})}),_jsxruntime.jsxs.call(void 0, _chunkKICZFOKEjs.h,{align:"start",children:[_jsxruntime.jsxs.call(void 0, _chunkKICZFOKEjs.i,{onClick:()=>{a.toggleSorting(!1)},children:[_jsxruntime.jsx.call(void 0, _reacticons.ArrowUpIcon,{className:"text-muted-foreground/70 mr-2 size-3.5"}),"Asc"]}),_jsxruntime.jsxs.call(void 0, _chunkKICZFOKEjs.i,{onClick:()=>{a.toggleSorting(!0)},children:[_jsxruntime.jsx.call(void 0, _reacticons.ArrowDownIcon,{className:"text-muted-foreground/70 mr-2 size-3.5"}),"Desc"]}),_jsxruntime.jsx.call(void 0, _chunkKICZFOKEjs.m,{}),_jsxruntime.jsxs.call(void 0, _chunkKICZFOKEjs.i,{onClick:()=>{a.toggleVisibility(!1)},children:[_jsxruntime.jsx.call(void 0, _reacticons.EyeNoneIcon,{className:"text-muted-foreground/70 mr-2 size-3.5"}),"Hide"]})]})]})}):_jsxruntime.jsx.call(void 0, "div",{className:s,children:n})}function z({sorted:a}){switch(a){case"desc":return _jsxruntime.jsx.call(void 0, _reacticons.ArrowDownIcon,{className:"ml-2 size-4"});case"asc":return _jsxruntime.jsx.call(void 0, _reacticons.ArrowUpIcon,{className:"ml-2 size-4"});default:return _jsxruntime.jsx.call(void 0, _reacticons.CaretSortIcon,{className:"ml-2 size-4"})}}exports.DataTableColumnHeader = L; exports.DataTablePagination = B; exports.DataTableViewOptions = A;
236
2
  //# sourceMappingURL=data-table.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data-table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AA0BC,SACE,KADF;AAJR,SAAS,qBAA4B,EAAE,MAAM,GAAwD;AACnG,SACE,qBAAC,gBACC;AAAA,wBAAC,uBAAoB,SAAO,MAC1B,+BAAC,UAAO,SAAQ,WAAU,MAAK,MAAK,WAAU,8BAC5C;AAAA,0BAAC,uBAAoB,WAAU,eAAc;AAAA,MAAE;AAAA,OAEjD,GACF;AAAA,IACA,qBAAC,uBAAoB,OAAM,OAAM,WAAU,QACzC;AAAA,0BAAC,qBAAkB,4BAAc;AAAA,MACjC,oBAAC,yBAAsB;AAAA,MACtB,MACE,cAAc,EACd,OAAO,CAAC,WAAW,OAAO,OAAO,eAAe,eAAe,OAAO,WAAW,CAAC,EAClF,IAAI,CAAC,WAAW;AACf,eACE;AAAA,UAAC;AAAA;AAAA,YAEC,WAAU;AAAA,YACV,SAAS,OAAO,aAAa;AAAA,YAC7B,iBAAiB,CAAC,UAAU;AAC1B,qBAAO,iBAAiB,QAAQ,KAAK,CAAC;AAAA,YACxC;AAAA,YAEC,iBAAO;AAAA;AAAA,UAPH,OAAO;AAAA,QAQd;AAAA,MAEJ,CAAC;AAAA,OACL;AAAA,KACF;AAEJ;AAUA,SAAS,oBAA2B;AAAA,EAClC;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAuD;AACrD,SACE,qBAAC,SAAI,WAAW,GAAG,0CAA0C,SAAS,GAAI,GAAG,OAC3E;AAAA,yBAAC,SAAI,WAAU,wCACZ;AAAA,YAAM,4BAA4B,EAAE,KAAK;AAAA,MAAO;AAAA,MAAK,MAAM,oBAAoB,EAAE,KAAK;AAAA,MAAO;AAAA,OAChG;AAAA,IACA,qBAAC,SAAI,WAAU,4CACb;AAAA,2BAAC,SAAI,WAAU,+BACb;AAAA,4BAAC,OAAE,WAAU,uBAAsB,2BAAa;AAAA,QAChD;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,OAAO,MAAM,SAAS,EAAE,WAAW,QAAQ;AAAA,YAClD,eAAe,CAAC,UAAU;AACxB,oBAAM,YAAY,OAAO,KAAK,CAAC;AAAA,YACjC;AAAA,YAEA;AAAA,kCAAC,iBAAc,WAAU,YACvB,8BAAC,eAAY,aAAa,MAAM,SAAS,EAAE,WAAW,UAAU,GAClE;AAAA,cACA,oBAAC,iBAAc,MAAK,OACjB,WAAC,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,aACzB,oBAAC,cAA0B,OAAO,OAAO,QAAQ,GAC9C,sBADc,QAEjB,CACD,GACH;AAAA;AAAA;AAAA,QACF;AAAA,SACF;AAAA,MACA,qBAAC,SAAI,WAAU,6DAA4D;AAAA;AAAA,QACnE,MAAM,SAAS,EAAE,WAAW,YAAY;AAAA,QAAE;AAAA,QAAK,MAAM,aAAa;AAAA,SAC1E;AAAA,MACA,qBAAC,SAAI,WAAU,+BACb;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,WAAU;AAAA,YACV,SAAS,MAAM;AACb,oBAAM,aAAa,CAAC;AAAA,YACtB;AAAA,YACA,UAAU,CAAC,MAAM,mBAAmB;AAAA,YAEpC;AAAA,kCAAC,UAAK,WAAU,WAAU,8BAAgB;AAAA,cAC1C,oBAAC,uBAAoB,WAAU,UAAS;AAAA;AAAA;AAAA,QAC1C;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS,MAAM;AACb,oBAAM,aAAa;AAAA,YACrB;AAAA,YACA,UAAU,CAAC,MAAM,mBAAmB;AAAA,YAEpC;AAAA,kCAAC,UAAK,WAAU,WAAU,iCAAmB;AAAA,cAC7C,oBAAC,mBAAgB,WAAU,UAAS;AAAA;AAAA;AAAA,QACtC;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS,MAAM;AACb,oBAAM,SAAS;AAAA,YACjB;AAAA,YACA,UAAU,CAAC,MAAM,eAAe;AAAA,YAEhC;AAAA,kCAAC,UAAK,WAAU,WAAU,6BAAe;AAAA,cACzC,oBAAC,oBAAiB,WAAU,UAAS;AAAA;AAAA;AAAA,QACvC;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,WAAU;AAAA,YACV,SAAS,MAAM;AACb,oBAAM,aAAa,MAAM,aAAa,IAAI,CAAC;AAAA,YAC7C;AAAA,YACA,UAAU,CAAC,MAAM,eAAe;AAAA,YAEhC;AAAA,kCAAC,UAAK,WAAU,WAAU,6BAAe;AAAA,cACzC,oBAAC,wBAAqB,WAAU,UAAS;AAAA;AAAA;AAAA,QAC3C;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEJ;AAWA,SAAS,sBAAqC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AACF,GAAiE;AAC/D,MAAI,CAAC,OAAO,WAAW,GAAG;AACxB,WAAO,oBAAC,SAAI,WAAuB,iBAAM;AAAA,EAC3C;AAEA,SACE,oBAAC,SAAI,WAAW,GAAG,+BAA+B,SAAS,GACzD,+BAAC,gBACC;AAAA,wBAAC,uBAAoB,SAAO,MAC1B,+BAAC,UAAO,SAAQ,SAAQ,MAAK,MAAK,WAAU,qCAC1C;AAAA,0BAAC,UAAM,iBAAM;AAAA,MACb,oBAAC,YAAS,QAAQ,OAAO,YAAY,GAAG;AAAA,OAC1C,GACF;AAAA,IACA,qBAAC,uBAAoB,OAAM,SACzB;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,MAAM;AACb,mBAAO,cAAc,KAAK;AAAA,UAC5B;AAAA,UAEA;AAAA,gCAAC,eAAY,WAAU,0CAAyC;AAAA,YAAE;AAAA;AAAA;AAAA,MAEpE;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,MAAM;AACb,mBAAO,cAAc,IAAI;AAAA,UAC3B;AAAA,UAEA;AAAA,gCAAC,iBAAc,WAAU,0CAAyC;AAAA,YAAE;AAAA;AAAA;AAAA,MAEtE;AAAA,MACA,oBAAC,yBAAsB;AAAA,MACvB;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,MAAM;AACb,mBAAO,iBAAiB,KAAK;AAAA,UAC/B;AAAA,UAEA;AAAA,gCAAC,eAAY,WAAU,0CAAyC;AAAA,YAAE;AAAA;AAAA;AAAA,MAEpE;AAAA,OACF;AAAA,KACF,GACF;AAEJ;AAEA,SAAS,SAAS,EAAE,OAAO,GAAoE;AAC7F,UAAQ,QAAQ;AAAA,IACd,KAAK;AACH,aAAO,oBAAC,iBAAc,WAAU,eAAc;AAAA,IAChD,KAAK;AACH,aAAO,oBAAC,eAAY,WAAU,eAAc;AAAA,IAC9C;AACE,aAAO,oBAAC,iBAAc,WAAU,eAAc;AAAA,EAClD;AACF","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 { 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-36\">\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={String(table.getState().pagination.pageSize)}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-16\">\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={String(pageSize)}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex w-28 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={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 | ReactTable.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"]}
1
+ {"version":3,"sources":["../src/data-table.tsx"],"names":["ArrowDownIcon","ArrowUpIcon","CaretSortIcon","ChevronLeftIcon","ChevronRightIcon","DoubleArrowLeftIcon","DoubleArrowRightIcon","EyeNoneIcon","MixerHorizontalIcon","jsx","jsxs","DataTableViewOptions","table","DropdownMenu","DropdownMenuTrigger","Button","DropdownMenuContent","DropdownMenuLabel","DropdownMenuSeparator","column","DropdownMenuCheckboxItem","value","DataTablePagination","className","props","cn","Select","SelectTrigger","SelectValue","SelectContent","pageSize","SelectItem","DataTableColumnHeader","title","SortIcon","DropdownMenuItem","sorted"],"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 { 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-36\">\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={String(table.getState().pagination.pageSize)}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-16\">\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={String(pageSize)}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex w-28 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={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 | ReactTable.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"]}
@@ -1,236 +1,2 @@
1
- "use client";
2
- import {
3
- Select,
4
- SelectContent,
5
- SelectItem,
6
- SelectTrigger,
7
- SelectValue
8
- } from "./chunk-Q24YJU6W.mjs";
9
- import {
10
- DropdownMenu,
11
- DropdownMenuCheckboxItem,
12
- DropdownMenuContent,
13
- DropdownMenuItem,
14
- DropdownMenuLabel,
15
- DropdownMenuSeparator,
16
- DropdownMenuTrigger
17
- } from "./chunk-EWS3N4OZ.mjs";
18
- import {
19
- Button
20
- } from "./chunk-U6VR5RJ5.mjs";
21
- import "./chunk-73S45XV3.mjs";
22
- import {
23
- cn
24
- } from "./chunk-UG3URV2Z.mjs";
25
-
26
- // src/data-table.tsx
27
- import {
28
- ArrowDownIcon,
29
- ArrowUpIcon,
30
- CaretSortIcon,
31
- ChevronLeftIcon,
32
- ChevronRightIcon,
33
- DoubleArrowLeftIcon,
34
- DoubleArrowRightIcon,
35
- EyeNoneIcon,
36
- MixerHorizontalIcon
37
- } from "@radix-ui/react-icons";
38
- import { jsx, jsxs } from "react/jsx-runtime";
39
- function DataTableViewOptions({ table }) {
40
- return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
41
- /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(Button, { variant: "outline", size: "sm", className: "ml-auto hidden h-8 lg:flex", children: [
42
- /* @__PURE__ */ jsx(MixerHorizontalIcon, { className: "mr-2 size-4" }),
43
- "View"
44
- ] }) }),
45
- /* @__PURE__ */ jsxs(DropdownMenuContent, { align: "end", className: "w-36", children: [
46
- /* @__PURE__ */ jsx(DropdownMenuLabel, { children: "Toggle columns" }),
47
- /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
48
- table.getAllColumns().filter((column) => typeof column.accessorFn !== "undefined" && column.getCanHide()).map((column) => {
49
- return /* @__PURE__ */ jsx(
50
- DropdownMenuCheckboxItem,
51
- {
52
- className: "capitalize",
53
- checked: column.getIsVisible(),
54
- onCheckedChange: (value) => {
55
- column.toggleVisibility(Boolean(value));
56
- },
57
- children: column.id
58
- },
59
- column.id
60
- );
61
- })
62
- ] })
63
- ] });
64
- }
65
- function DataTablePagination({
66
- table,
67
- className,
68
- ...props
69
- }) {
70
- return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center justify-between px-2", className), ...props, children: [
71
- /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground flex-1 text-sm", children: [
72
- table.getFilteredSelectedRowModel().rows.length,
73
- " of ",
74
- table.getFilteredRowModel().rows.length,
75
- " row(s) selected."
76
- ] }),
77
- /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-6 lg:space-x-8", children: [
78
- /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2", children: [
79
- /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: "Rows per page" }),
80
- /* @__PURE__ */ jsxs(
81
- Select,
82
- {
83
- value: String(table.getState().pagination.pageSize),
84
- onValueChange: (value) => {
85
- table.setPageSize(Number(value));
86
- },
87
- children: [
88
- /* @__PURE__ */ jsx(SelectTrigger, { className: "h-8 w-16", children: /* @__PURE__ */ jsx(SelectValue, { placeholder: table.getState().pagination.pageSize }) }),
89
- /* @__PURE__ */ jsx(SelectContent, { side: "top", children: [10, 20, 30, 40, 50].map((pageSize) => /* @__PURE__ */ jsx(SelectItem, { value: String(pageSize), children: pageSize }, pageSize)) })
90
- ]
91
- }
92
- )
93
- ] }),
94
- /* @__PURE__ */ jsxs("div", { className: "flex w-28 items-center justify-center text-sm font-medium", children: [
95
- "Page ",
96
- table.getState().pagination.pageIndex + 1,
97
- " of ",
98
- table.getPageCount()
99
- ] }),
100
- /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2", children: [
101
- /* @__PURE__ */ jsxs(
102
- Button,
103
- {
104
- variant: "outline",
105
- size: "icon-xs",
106
- className: "hidden lg:flex",
107
- onClick: () => {
108
- table.setPageIndex(0);
109
- },
110
- disabled: !table.getCanPreviousPage(),
111
- children: [
112
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Go to first page" }),
113
- /* @__PURE__ */ jsx(DoubleArrowLeftIcon, { className: "size-4" })
114
- ]
115
- }
116
- ),
117
- /* @__PURE__ */ jsxs(
118
- Button,
119
- {
120
- variant: "outline",
121
- size: "icon-xs",
122
- onClick: () => {
123
- table.previousPage();
124
- },
125
- disabled: !table.getCanPreviousPage(),
126
- children: [
127
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Go to previous page" }),
128
- /* @__PURE__ */ jsx(ChevronLeftIcon, { className: "size-4" })
129
- ]
130
- }
131
- ),
132
- /* @__PURE__ */ jsxs(
133
- Button,
134
- {
135
- variant: "outline",
136
- size: "icon-xs",
137
- onClick: () => {
138
- table.nextPage();
139
- },
140
- disabled: !table.getCanNextPage(),
141
- children: [
142
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Go to next page" }),
143
- /* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-4" })
144
- ]
145
- }
146
- ),
147
- /* @__PURE__ */ jsxs(
148
- Button,
149
- {
150
- variant: "outline",
151
- size: "icon-xs",
152
- className: "hidden lg:flex",
153
- onClick: () => {
154
- table.setPageIndex(table.getPageCount() - 1);
155
- },
156
- disabled: !table.getCanNextPage(),
157
- children: [
158
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Go to last page" }),
159
- /* @__PURE__ */ jsx(DoubleArrowRightIcon, { className: "size-4" })
160
- ]
161
- }
162
- )
163
- ] })
164
- ] })
165
- ] });
166
- }
167
- function DataTableColumnHeader({
168
- column,
169
- title,
170
- className
171
- }) {
172
- if (!column.getCanSort()) {
173
- return /* @__PURE__ */ jsx("div", { className, children: title });
174
- }
175
- return /* @__PURE__ */ jsx("div", { className: cn("flex items-center space-x-2", className), children: /* @__PURE__ */ jsxs(DropdownMenu, { children: [
176
- /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(Button, { variant: "ghost", size: "xs", className: "data-[state=open]:bg-accent -ml-3", children: [
177
- /* @__PURE__ */ jsx("span", { children: title }),
178
- /* @__PURE__ */ jsx(SortIcon, { sorted: column.getIsSorted() })
179
- ] }) }),
180
- /* @__PURE__ */ jsxs(DropdownMenuContent, { align: "start", children: [
181
- /* @__PURE__ */ jsxs(
182
- DropdownMenuItem,
183
- {
184
- onClick: () => {
185
- column.toggleSorting(false);
186
- },
187
- children: [
188
- /* @__PURE__ */ jsx(ArrowUpIcon, { className: "text-muted-foreground/70 mr-2 size-3.5" }),
189
- "Asc"
190
- ]
191
- }
192
- ),
193
- /* @__PURE__ */ jsxs(
194
- DropdownMenuItem,
195
- {
196
- onClick: () => {
197
- column.toggleSorting(true);
198
- },
199
- children: [
200
- /* @__PURE__ */ jsx(ArrowDownIcon, { className: "text-muted-foreground/70 mr-2 size-3.5" }),
201
- "Desc"
202
- ]
203
- }
204
- ),
205
- /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
206
- /* @__PURE__ */ jsxs(
207
- DropdownMenuItem,
208
- {
209
- onClick: () => {
210
- column.toggleVisibility(false);
211
- },
212
- children: [
213
- /* @__PURE__ */ jsx(EyeNoneIcon, { className: "text-muted-foreground/70 mr-2 size-3.5" }),
214
- "Hide"
215
- ]
216
- }
217
- )
218
- ] })
219
- ] }) });
220
- }
221
- function SortIcon({ sorted }) {
222
- switch (sorted) {
223
- case "desc":
224
- return /* @__PURE__ */ jsx(ArrowDownIcon, { className: "ml-2 size-4" });
225
- case "asc":
226
- return /* @__PURE__ */ jsx(ArrowUpIcon, { className: "ml-2 size-4" });
227
- default:
228
- return /* @__PURE__ */ jsx(CaretSortIcon, { className: "ml-2 size-4" });
229
- }
230
- }
231
- export {
232
- DataTableColumnHeader,
233
- DataTablePagination,
234
- DataTableViewOptions
235
- };
1
+ "use client";import{a as D,c as f,d as T,g as x,i as w}from"./chunk-ZMVKHU4U.mjs";import{a as c,b as d,h as m,i as r,j as p,l as u,m as g}from"./chunk-YV4UJQ5X.mjs";import{b as o}from"./chunk-VDYNVLXR.mjs";import"./chunk-TMXZMQRK.mjs";import{b as l}from"./chunk-JTI7KCLO.mjs";import{ArrowDownIcon as C,ArrowUpIcon as N,CaretSortIcon as v,ChevronLeftIcon as S,ChevronRightIcon as P,DoubleArrowLeftIcon as b,DoubleArrowRightIcon as M,EyeNoneIcon as I,MixerHorizontalIcon as h}from"@radix-ui/react-icons";import{jsx as e,jsxs as t}from"react/jsx-runtime";function A({table:a}){return t(c,{children:[e(d,{asChild:!0,children:t(o,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[e(h,{className:"mr-2 size-4"}),"View"]})}),t(m,{align:"end",className:"w-36",children:[e(u,{children:"Toggle columns"}),e(g,{}),a.getAllColumns().filter(n=>typeof n.accessorFn<"u"&&n.getCanHide()).map(n=>e(p,{className:"capitalize",checked:n.getIsVisible(),onCheckedChange:s=>{n.toggleVisibility(!!s)},children:n.id},n.id))]})]})}function B({table:a,className:n,...s}){return t("div",{className:l("flex items-center justify-between px-2",n),...s,children:[t("div",{className:"text-muted-foreground flex-1 text-sm",children:[a.getFilteredSelectedRowModel().rows.length," of ",a.getFilteredRowModel().rows.length," row(s) selected."]}),t("div",{className:"flex items-center space-x-6 lg:space-x-8",children:[t("div",{className:"flex items-center space-x-2",children:[e("p",{className:"text-sm font-medium",children:"Rows per page"}),t(D,{value:String(a.getState().pagination.pageSize),onValueChange:i=>{a.setPageSize(Number(i))},children:[e(T,{className:"h-8 w-16",children:e(f,{placeholder:a.getState().pagination.pageSize})}),e(x,{side:"top",children:[10,20,30,40,50].map(i=>e(w,{value:String(i),children:i},i))})]})]}),t("div",{className:"flex w-28 items-center justify-center text-sm font-medium",children:["Page ",a.getState().pagination.pageIndex+1," of ",a.getPageCount()]}),t("div",{className:"flex items-center space-x-2",children:[t(o,{variant:"outline",size:"icon-xs",className:"hidden lg:flex",onClick:()=>{a.setPageIndex(0)},disabled:!a.getCanPreviousPage(),children:[e("span",{className:"sr-only",children:"Go to first page"}),e(b,{className:"size-4"})]}),t(o,{variant:"outline",size:"icon-xs",onClick:()=>{a.previousPage()},disabled:!a.getCanPreviousPage(),children:[e("span",{className:"sr-only",children:"Go to previous page"}),e(S,{className:"size-4"})]}),t(o,{variant:"outline",size:"icon-xs",onClick:()=>{a.nextPage()},disabled:!a.getCanNextPage(),children:[e("span",{className:"sr-only",children:"Go to next page"}),e(P,{className:"size-4"})]}),t(o,{variant:"outline",size:"icon-xs",className:"hidden lg:flex",onClick:()=>{a.setPageIndex(a.getPageCount()-1)},disabled:!a.getCanNextPage(),children:[e("span",{className:"sr-only",children:"Go to last page"}),e(M,{className:"size-4"})]})]})]})]})}function L({column:a,title:n,className:s}){return a.getCanSort()?e("div",{className:l("flex items-center space-x-2",s),children:t(c,{children:[e(d,{asChild:!0,children:t(o,{variant:"ghost",size:"xs",className:"data-[state=open]:bg-accent -ml-3",children:[e("span",{children:n}),e(z,{sorted:a.getIsSorted()})]})}),t(m,{align:"start",children:[t(r,{onClick:()=>{a.toggleSorting(!1)},children:[e(N,{className:"text-muted-foreground/70 mr-2 size-3.5"}),"Asc"]}),t(r,{onClick:()=>{a.toggleSorting(!0)},children:[e(C,{className:"text-muted-foreground/70 mr-2 size-3.5"}),"Desc"]}),e(g,{}),t(r,{onClick:()=>{a.toggleVisibility(!1)},children:[e(I,{className:"text-muted-foreground/70 mr-2 size-3.5"}),"Hide"]})]})]})}):e("div",{className:s,children:n})}function z({sorted:a}){switch(a){case"desc":return e(C,{className:"ml-2 size-4"});case"asc":return e(N,{className:"ml-2 size-4"});default:return e(v,{className:"ml-2 size-4"})}}export{L as DataTableColumnHeader,B as DataTablePagination,A as DataTableViewOptions};
236
2
  //# sourceMappingURL=data-table.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data-table.tsx"],"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 { 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-36\">\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={String(table.getState().pagination.pageSize)}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-16\">\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={String(pageSize)}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex w-28 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={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 | ReactTable.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"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/data-table.tsx"],"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 { 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-36\">\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={String(table.getState().pagination.pageSize)}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-16\">\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={String(pageSize)}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex w-28 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={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 | ReactTable.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"],"mappings":"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","names":["ArrowDownIcon","ArrowUpIcon","CaretSortIcon","ChevronLeftIcon","ChevronRightIcon","DoubleArrowLeftIcon","DoubleArrowRightIcon","EyeNoneIcon","MixerHorizontalIcon","jsx","jsxs","DataTableViewOptions","table","DropdownMenu","DropdownMenuTrigger","Button","MixerHorizontalIcon","DropdownMenuContent","DropdownMenuLabel","DropdownMenuSeparator","column","DropdownMenuCheckboxItem","value","DataTablePagination","className","props","cn","Select","SelectTrigger","SelectValue","SelectContent","pageSize","SelectItem","DoubleArrowLeftIcon","ChevronLeftIcon","ChevronRightIcon","DoubleArrowRightIcon","DataTableColumnHeader","title","SortIcon","DropdownMenuItem","ArrowUpIcon","ArrowDownIcon","EyeNoneIcon","sorted","CaretSortIcon"]}
package/dist/dialog.js CHANGED
@@ -1,23 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
- var _chunkTH24V27Mjs = require('./chunk-TH24V27M.js');
12
- require('./chunk-G3NP7M2N.js');
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
- exports.Dialog = _chunkTH24V27Mjs.Dialog; exports.DialogClose = _chunkTH24V27Mjs.DialogClose; exports.DialogContent = _chunkTH24V27Mjs.DialogContent; exports.DialogDescription = _chunkTH24V27Mjs.DialogDescription; exports.DialogFooter = _chunkTH24V27Mjs.DialogFooter; exports.DialogHeader = _chunkTH24V27Mjs.DialogHeader; exports.DialogTitle = _chunkTH24V27Mjs.DialogTitle; exports.DialogTrigger = _chunkTH24V27Mjs.DialogTrigger;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunkCNPQJV2Gjs = require('./chunk-CNPQJV2G.js');require('./chunk-QZCQ42BP.js');exports.Dialog = _chunkCNPQJV2Gjs.a; exports.DialogClose = _chunkCNPQJV2Gjs.c; exports.DialogContent = _chunkCNPQJV2Gjs.d; exports.DialogDescription = _chunkCNPQJV2Gjs.h; exports.DialogFooter = _chunkCNPQJV2Gjs.f; exports.DialogHeader = _chunkCNPQJV2Gjs.e; exports.DialogTitle = _chunkCNPQJV2Gjs.g; exports.DialogTrigger = _chunkCNPQJV2Gjs.b;
23
2
  //# sourceMappingURL=dialog.js.map