@wakastellar/ui 4.0.1 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (622) hide show
  1. package/dist/blocks/_shared/identity/InviteUserPanel.cjs.js +1 -1
  2. package/dist/blocks/_shared/identity/RoleSelect.cjs.js +1 -1
  3. package/dist/blocks/_shared/identity/SidePushLayout.cjs.js +1 -1
  4. package/dist/blocks/activity-timeline/index.cjs.js +1 -1
  5. package/dist/blocks/activity-timeline/index.es.js +1 -1
  6. package/dist/blocks/antivirus-dashboard/index.cjs.js +1 -1
  7. package/dist/blocks/antivirus-dashboard/index.es.js +1 -1
  8. package/dist/blocks/api-keys-manager/index.cjs.js +1 -1
  9. package/dist/blocks/apm-overview/index.cjs.js +1 -1
  10. package/dist/blocks/auth-2fa/index.cjs.js +2 -2
  11. package/dist/blocks/auth-2fa/index.es.js +1 -1
  12. package/dist/blocks/avatar-upload/index.cjs.js +1 -1
  13. package/dist/blocks/avatar-upload/index.es.js +13 -13
  14. package/dist/blocks/calendar-view/index.cjs.js +1 -1
  15. package/dist/blocks/calendar-view/index.es.js +1 -1
  16. package/dist/blocks/chat/index.cjs.js +1 -1
  17. package/dist/blocks/chat/index.es.js +162 -162
  18. package/dist/blocks/chat/widget.cjs.js +1 -1
  19. package/dist/blocks/chat/widget.es.js +19 -13
  20. package/dist/blocks/chat-interface/index.cjs.js +1 -1
  21. package/dist/blocks/chat-interface/index.es.js +1 -1
  22. package/dist/blocks/checkout-flow/index.cjs.js +1 -1
  23. package/dist/blocks/checkout-flow/index.es.js +1 -1
  24. package/dist/blocks/cicd-builder/index.cjs.js +1 -1
  25. package/dist/blocks/clamav-service-status/index.cjs.js +1 -1
  26. package/dist/blocks/cloud-cost-dashboard/index.cjs.js +1 -1
  27. package/dist/blocks/container-orchestrator/index.cjs.js +1 -1
  28. package/dist/blocks/container-orchestrator/index.es.js +2 -1
  29. package/dist/blocks/dashboard/index.cjs.js +1 -1
  30. package/dist/blocks/dashboard/index.es.js +2 -2
  31. package/dist/blocks/dashboard-kpi/index.cjs.js +1 -1
  32. package/dist/blocks/dashboard-kpi/index.es.js +1 -1
  33. package/dist/blocks/database-admin/index.cjs.js +1 -1
  34. package/dist/blocks/deployment-dashboard/index.cjs.js +1 -1
  35. package/dist/blocks/deployment-dashboard/index.es.js +1 -1
  36. package/dist/blocks/empty-states/index.cjs.js +1 -1
  37. package/dist/blocks/empty-states/index.es.js +1 -1
  38. package/dist/blocks/error-pages/index.cjs.js +1 -1
  39. package/dist/blocks/error-pages/index.es.js +1 -1
  40. package/dist/blocks/faq/index.cjs.js +1 -1
  41. package/dist/blocks/faq/index.es.js +1 -1
  42. package/dist/blocks/file-manager/index.cjs.js +1 -1
  43. package/dist/blocks/file-manager/index.es.js +1 -1
  44. package/dist/blocks/file-scan-uploader/index.cjs.js +1 -1
  45. package/dist/blocks/file-scan-uploader/index.es.js +2 -2
  46. package/dist/blocks/footer/index.cjs.js +1 -1
  47. package/dist/blocks/gitops-sync-status/index.cjs.js +1 -1
  48. package/dist/blocks/header/index.cjs.js +1 -1
  49. package/dist/blocks/header/index.es.js +1 -1
  50. package/dist/blocks/headtab/index.cjs.js +1 -1
  51. package/dist/blocks/i18n-editor/index.cjs.js +1 -1
  52. package/dist/blocks/i18n-editor/index.es.js +127 -127
  53. package/dist/blocks/incident-manager/index.cjs.js +1 -1
  54. package/dist/blocks/infrastructure-map/index.cjs.js +1 -1
  55. package/dist/blocks/kanban-board/index.cjs.js +1 -1
  56. package/dist/blocks/kanban-board/index.es.js +1 -1
  57. package/dist/blocks/landing/index.cjs.js +1 -1
  58. package/dist/blocks/landing/index.es.js +1 -1
  59. package/dist/blocks/language-selector/index.cjs.js +1 -1
  60. package/dist/blocks/layout/index.cjs.js +1 -1
  61. package/dist/blocks/login/index.cjs.js +1 -1
  62. package/dist/blocks/on-call-schedule/index.cjs.js +1 -1
  63. package/dist/blocks/player-profile/index.cjs.js +1 -1
  64. package/dist/blocks/player-profile/index.es.js +1 -1
  65. package/dist/blocks/pricing/index.cjs.js +1 -1
  66. package/dist/blocks/pricing/index.es.js +1 -1
  67. package/dist/blocks/profile/index.cjs.js +1 -1
  68. package/dist/blocks/profile/index.es.js +1 -1
  69. package/dist/blocks/profile-list/index.cjs.js +1 -1
  70. package/dist/blocks/quarantine-manager/index.cjs.js +1 -1
  71. package/dist/blocks/quarantine-manager/index.es.js +1 -1
  72. package/dist/blocks/release-notes/index.cjs.js +1 -1
  73. package/dist/blocks/scan-history-log/index.cjs.js +1 -1
  74. package/dist/blocks/scan-history-log/index.es.js +1 -1
  75. package/dist/blocks/scan-policy-editor/index.cjs.js +1 -1
  76. package/dist/blocks/scan-report-generator/index.cjs.js +1 -1
  77. package/dist/blocks/settings/index.cjs.js +1 -1
  78. package/dist/blocks/settings/index.es.js +1 -1
  79. package/dist/blocks/sidebar/index.cjs.js +1 -1
  80. package/dist/blocks/sidebar/index.es.js +1 -1
  81. package/dist/blocks/signature-database-manager/index.cjs.js +1 -1
  82. package/dist/blocks/team-form/index.cjs.js +1 -1
  83. package/dist/blocks/threat-alert-banner/index.cjs.js +1 -1
  84. package/dist/blocks/user-management/index.cjs.js +1 -1
  85. package/dist/blocks/waka-doc-shell/index.cjs.js +1 -1
  86. package/dist/blocks/wizard/index.cjs.js +1 -1
  87. package/dist/blocks/wizard/index.es.js +37 -37
  88. package/dist/charts.cjs.js +1 -1
  89. package/dist/charts.es.js +8 -8
  90. package/dist/cli/index.cjs +5 -1
  91. package/dist/components/DataTable/DataTable.cjs.js +1 -1
  92. package/dist/components/DataTable/DataTable.es.js +68 -66
  93. package/dist/components/DataTable/DataTableAdvanced.cjs.js +1 -1
  94. package/dist/components/DataTable/DataTableColumnResizer.cjs.js +1 -1
  95. package/dist/components/DataTable/DataTableContextMenu.cjs.js +1 -1
  96. package/dist/components/DataTable/DataTableEditCell.cjs.js +1 -1
  97. package/dist/components/DataTable/DataTableFilters.cjs.js +1 -1
  98. package/dist/components/DataTable/DataTableGrouping.cjs.js +1 -1
  99. package/dist/components/DataTable/DataTablePagination.cjs.js +1 -1
  100. package/dist/components/DataTable/DataTablePagination.d.ts +3 -1
  101. package/dist/components/DataTable/DataTablePagination.es.js +38 -27
  102. package/dist/components/DataTable/DataTableSelection.cjs.js +1 -1
  103. package/dist/components/DataTable/DataTableToolbar.cjs.js +1 -1
  104. package/dist/components/DataTable/hooks/useDataTable.cjs.js +1 -1
  105. package/dist/components/DataTable/hooks/useDataTable.es.js +5 -1
  106. package/dist/components/DataTable/hooks/useDataTableAdvanced.cjs.js +1 -1
  107. package/dist/components/DataTable/hooks/useDataTableEdit.cjs.js +1 -1
  108. package/dist/components/DataTable/hooks/useDataTableExport.cjs.js +2 -2
  109. package/dist/components/DataTable/hooks/useDataTableImport.cjs.js +2 -2
  110. package/dist/components/DataTable/hooks/useDataTableImport.es.js +2 -1
  111. package/dist/components/DataTable/hooks/useDataTableTheme.cjs.js +1 -1
  112. package/dist/components/DataTable/hooks/useDataTableVirtualization.cjs.js +1 -1
  113. package/dist/components/DataTable/hooks/useTableLayout.cjs.js +1 -1
  114. package/dist/components/DataTable/utils.cjs.js +1 -1
  115. package/dist/components/accordion/index.cjs.js +1 -1
  116. package/dist/components/alert/index.cjs.js +1 -1
  117. package/dist/components/alert-dialog/index.cjs.js +1 -1
  118. package/dist/components/aspect-ratio/index.cjs.js +1 -1
  119. package/dist/components/avatar/index.cjs.js +1 -1
  120. package/dist/components/badge/index.cjs.js +1 -1
  121. package/dist/components/button/index.cjs.js +1 -1
  122. package/dist/components/calendar/index.cjs.js +1 -1
  123. package/dist/components/card/index.cjs.js +1 -1
  124. package/dist/components/checkbox/index.cjs.js +1 -1
  125. package/dist/components/code/index.cjs.js +2 -2
  126. package/dist/components/code/index.es.js +3 -2
  127. package/dist/components/collapsible/index.cjs.js +1 -1
  128. package/dist/components/command/index.cjs.js +1 -1
  129. package/dist/components/context-menu/index.cjs.js +1 -1
  130. package/dist/components/dialog/index.cjs.js +1 -1
  131. package/dist/components/dropdown-menu/index.cjs.js +1 -1
  132. package/dist/components/editor/blocks/index.cjs.js +1 -1
  133. package/dist/components/editor/blocks/index.es.js +12 -12
  134. package/dist/components/editor/blocks/waka-acceptance-criteria-block.cjs.js +1 -1
  135. package/dist/components/editor/blocks/waka-ai-assist-block.cjs.js +1 -1
  136. package/dist/components/editor/blocks/waka-api-endpoint-block.cjs.js +1 -1
  137. package/dist/components/editor/blocks/waka-code-playground-block.cjs.js +1 -1
  138. package/dist/components/editor/blocks/waka-comment-thread-block.cjs.js +1 -1
  139. package/dist/components/editor/blocks/waka-diagram-block.cjs.js +3 -3
  140. package/dist/components/editor/blocks/waka-diagram-block.es.js +21 -40
  141. package/dist/components/editor/blocks/waka-embed-block.cjs.js +1 -1
  142. package/dist/components/editor/blocks/waka-slash-menu-block.cjs.js +1 -1
  143. package/dist/components/editor/blocks/waka-user-story-block.cjs.js +1 -1
  144. package/dist/components/editor/blocks/waka-version-diff-block.cjs.js +1 -1
  145. package/dist/components/editor/waka-ai-writer.cjs.js +1 -1
  146. package/dist/components/editor/waka-collaborative-editor.cjs.js +1 -1
  147. package/dist/components/editor/waka-diff-viewer.cjs.js +1 -1
  148. package/dist/components/editor/waka-dnd-editor.cjs.js +1 -1
  149. package/dist/components/editor/waka-document-editor.cjs.js +1 -1
  150. package/dist/components/editor/waka-document-editor.es.js +1 -1
  151. package/dist/components/editor/waka-editor-elements.cjs.js +1 -1
  152. package/dist/components/editor/waka-editor-leaves.cjs.js +1 -1
  153. package/dist/components/editor/waka-editor-toolbar.cjs.js +1 -1
  154. package/dist/components/editor/waka-editor.cjs.js +1 -1
  155. package/dist/components/editor/waka-floating-toolbar.cjs.js +1 -1
  156. package/dist/components/editor/waka-markdown-editor.cjs.js +1 -1
  157. package/dist/components/editor/waka-mention-editor.cjs.js +1 -1
  158. package/dist/components/editor/waka-mention-editor.es.js +2 -2
  159. package/dist/components/editor/waka-slash-menu.cjs.js +1 -1
  160. package/dist/components/editor/waka-spec-editor.cjs.js +1 -1
  161. package/dist/components/form/index.cjs.js +1 -1
  162. package/dist/components/hover-card/index.cjs.js +1 -1
  163. package/dist/components/input/index.cjs.js +1 -1
  164. package/dist/components/input-otp/index.cjs.js +1 -1
  165. package/dist/components/input-otp/index.es.js +2 -1
  166. package/dist/components/label/index.cjs.js +1 -1
  167. package/dist/components/language-selector/index.cjs.js +1 -1
  168. package/dist/components/menubar/index.cjs.js +1 -1
  169. package/dist/components/navigation-menu/index.cjs.js +1 -1
  170. package/dist/components/popover/index.cjs.js +1 -1
  171. package/dist/components/progress/index.cjs.js +1 -1
  172. package/dist/components/radio-group/index.cjs.js +1 -1
  173. package/dist/components/resizable/index.cjs.js +1 -1
  174. package/dist/components/resizable/index.es.js +9 -9
  175. package/dist/components/scroll-area/index.cjs.js +1 -1
  176. package/dist/components/select/index.cjs.js +1 -1
  177. package/dist/components/separator/index.cjs.js +1 -1
  178. package/dist/components/sheet/index.cjs.js +1 -1
  179. package/dist/components/skeleton/index.cjs.js +1 -1
  180. package/dist/components/slider/index.cjs.js +1 -1
  181. package/dist/components/switch/index.cjs.js +1 -1
  182. package/dist/components/table/index.cjs.js +1 -1
  183. package/dist/components/tabs/index.cjs.js +1 -1
  184. package/dist/components/textarea/index.cjs.js +1 -1
  185. package/dist/components/theme-selector/index.cjs.js +1 -1
  186. package/dist/components/toast/index.cjs.js +1 -1
  187. package/dist/components/toaster/index.cjs.js +1 -1
  188. package/dist/components/toggle/index.cjs.js +1 -1
  189. package/dist/components/toggle-group/index.cjs.js +1 -1
  190. package/dist/components/tooltip/index.cjs.js +1 -1
  191. package/dist/components/typography/index.cjs.js +1 -1
  192. package/dist/components/waka-3d-pie-chart/index.cjs.js +1 -1
  193. package/dist/components/waka-3d-pie-chart/index.es.js +1 -1
  194. package/dist/components/waka-achievement-unlock/index.cjs.js +1 -1
  195. package/dist/components/waka-achievement-unlock/index.es.js +1 -1
  196. package/dist/components/waka-activity-feed/index.cjs.js +2 -2
  197. package/dist/components/waka-activity-feed/index.es.js +1 -1
  198. package/dist/components/waka-ad-banner/index.cjs.js +1 -1
  199. package/dist/components/waka-ad-banner/index.es.js +18 -15
  200. package/dist/components/waka-ad-fallback/index.cjs.js +1 -1
  201. package/dist/components/waka-ad-fallback/index.es.js +1 -1
  202. package/dist/components/waka-ad-inline/index.cjs.js +1 -1
  203. package/dist/components/waka-ad-inline/index.es.js +2 -2
  204. package/dist/components/waka-ad-interstitial/index.cjs.js +1 -1
  205. package/dist/components/waka-ad-interstitial/index.es.js +3 -3
  206. package/dist/components/waka-ad-placeholder/index.cjs.js +2 -2
  207. package/dist/components/waka-ad-placeholder/index.es.js +1 -1
  208. package/dist/components/waka-ad-provider/index.cjs.js +1 -1
  209. package/dist/components/waka-ad-provider/index.es.js +1 -1
  210. package/dist/components/waka-ad-sidebar/index.cjs.js +1 -1
  211. package/dist/components/waka-ad-sidebar/index.es.js +2 -2
  212. package/dist/components/waka-ad-sticky-footer/index.cjs.js +1 -1
  213. package/dist/components/waka-ad-sticky-footer/index.es.js +2 -2
  214. package/dist/components/waka-address-autocomplete/index.cjs.js +2 -2
  215. package/dist/components/waka-address-autocomplete/index.es.js +10 -6
  216. package/dist/components/waka-admincrumb/index.cjs.js +1 -1
  217. package/dist/components/waka-alert-panel/index.cjs.js +1 -1
  218. package/dist/components/waka-alert-stack/index.cjs.js +1 -1
  219. package/dist/components/waka-alert-stack/index.es.js +1 -1
  220. package/dist/components/waka-allocation-matrix/index.cjs.js +2 -2
  221. package/dist/components/waka-allocation-matrix/index.es.js +1 -1
  222. package/dist/components/waka-approval-chain/index.cjs.js +1 -1
  223. package/dist/components/waka-approval-chain/index.es.js +1 -1
  224. package/dist/components/waka-artifact-list/index.cjs.js +1 -1
  225. package/dist/components/waka-artifact-list/index.es.js +1 -1
  226. package/dist/components/waka-audit-log/index.cjs.js +2 -2
  227. package/dist/components/waka-audit-log/index.es.js +1 -1
  228. package/dist/components/waka-autocomplete/index.cjs.js +1 -1
  229. package/dist/components/waka-autocomplete/index.es.js +3 -2
  230. package/dist/components/waka-badge-showcase/index.cjs.js +1 -1
  231. package/dist/components/waka-barcode/index.cjs.js +1 -1
  232. package/dist/components/waka-barcode/index.es.js +1 -1
  233. package/dist/components/waka-biometric-prompt/index.cjs.js +2 -2
  234. package/dist/components/waka-biometric-prompt/index.es.js +1 -1
  235. package/dist/components/waka-bottom-sheet/index.cjs.js +1 -1
  236. package/dist/components/waka-bottom-sheet/index.es.js +12 -7
  237. package/dist/components/waka-breadcrumb/index.cjs.js +1 -1
  238. package/dist/components/waka-breadcrumb/index.es.js +1 -1
  239. package/dist/components/waka-breadcrumb-path/index.cjs.js +1 -1
  240. package/dist/components/waka-breadcrumb-path/index.es.js +1 -1
  241. package/dist/components/waka-budget-burn/index.cjs.js +2 -2
  242. package/dist/components/waka-budget-burn/index.es.js +3 -3
  243. package/dist/components/waka-build-matrix/index.cjs.js +1 -1
  244. package/dist/components/waka-capacity-planner/index.cjs.js +2 -2
  245. package/dist/components/waka-capacity-planner/index.es.js +1 -1
  246. package/dist/components/waka-carousel/index.cjs.js +1 -1
  247. package/dist/components/waka-carousel/index.es.js +2 -2
  248. package/dist/components/waka-cart-summary/index.cjs.js +1 -1
  249. package/dist/components/waka-cart-summary/index.es.js +2 -2
  250. package/dist/components/waka-challenge-timer/index.cjs.js +1 -1
  251. package/dist/components/waka-charts/WakaAreaChart.cjs.js +1 -1
  252. package/dist/components/waka-charts/WakaAreaChart.es.js +2 -2
  253. package/dist/components/waka-charts/WakaBarChart.cjs.js +1 -1
  254. package/dist/components/waka-charts/WakaBarChart.es.js +2 -2
  255. package/dist/components/waka-charts/WakaChart.cjs.js +1 -1
  256. package/dist/components/waka-charts/WakaChart.es.js +1 -1
  257. package/dist/components/waka-charts/WakaLineChart.cjs.js +1 -1
  258. package/dist/components/waka-charts/WakaLineChart.es.js +2 -2
  259. package/dist/components/waka-charts/WakaMiniChart.cjs.js +1 -1
  260. package/dist/components/waka-charts/WakaMiniChart.es.js +2 -2
  261. package/dist/components/waka-charts/WakaPieChart.cjs.js +1 -1
  262. package/dist/components/waka-charts/WakaPieChart.es.js +2 -2
  263. package/dist/components/waka-charts/WakaSparkline.cjs.js +1 -1
  264. package/dist/components/waka-charts/WakaSparkline.es.js +1 -1
  265. package/dist/components/waka-charts/dataTableHelpers.cjs.js +1 -1
  266. package/dist/components/waka-charts/dataTableHelpers.es.js +1 -1
  267. package/dist/components/waka-charts/hooks/useChartTheme.cjs.js +1 -1
  268. package/dist/components/waka-charts/hooks/useChartTheme.es.js +1 -1
  269. package/dist/components/waka-charts/hooks/useRechartsLoader.cjs.js +1 -1
  270. package/dist/components/waka-charts/hooks/useRechartsLoader.es.js +1 -1
  271. package/dist/components/waka-chat-bubble/index.cjs.js +1 -1
  272. package/dist/components/waka-checklist/index.cjs.js +2 -2
  273. package/dist/components/waka-checklist/index.es.js +1 -1
  274. package/dist/components/waka-checkout-stepper/index.cjs.js +1 -1
  275. package/dist/components/waka-checkout-stepper/index.es.js +1 -1
  276. package/dist/components/waka-cohort-table/index.cjs.js +2 -2
  277. package/dist/components/waka-cohort-table/index.es.js +1 -1
  278. package/dist/components/waka-color-picker/index.cjs.js +2 -2
  279. package/dist/components/waka-color-picker/index.es.js +1 -1
  280. package/dist/components/waka-combo-counter/index.cjs.js +1 -1
  281. package/dist/components/waka-combobox/index.cjs.js +1 -1
  282. package/dist/components/waka-combobox/index.es.js +3 -2
  283. package/dist/components/waka-command-bar/index.cjs.js +1 -1
  284. package/dist/components/waka-compare-period/index.cjs.js +2 -2
  285. package/dist/components/waka-compare-period/index.es.js +7 -5
  286. package/dist/components/waka-config-comparator/index.cjs.js +1 -1
  287. package/dist/components/waka-config-comparator/index.es.js +1 -1
  288. package/dist/components/waka-connection-matrix/index.cjs.js +1 -1
  289. package/dist/components/waka-connection-matrix/index.es.js +1 -1
  290. package/dist/components/waka-container-list/index.cjs.js +1 -1
  291. package/dist/components/waka-container-list/index.es.js +1 -1
  292. package/dist/components/waka-content-recommendation/index.cjs.js +1 -1
  293. package/dist/components/waka-content-recommendation/index.es.js +2 -2
  294. package/dist/components/waka-contribution-graph/index.cjs.js +1 -1
  295. package/dist/components/waka-contribution-graph/index.es.js +4 -4
  296. package/dist/components/waka-cost-breakdown/index.cjs.js +1 -1
  297. package/dist/components/waka-cost-breakdown/index.es.js +7 -7
  298. package/dist/components/waka-coupon-input/index.cjs.js +2 -2
  299. package/dist/components/waka-coupon-input/index.es.js +1 -1
  300. package/dist/components/waka-credit-activity-feed/index.cjs.js +2 -2
  301. package/dist/components/waka-credit-activity-feed/index.es.js +1 -1
  302. package/dist/components/waka-credit-alert/index.cjs.js +1 -1
  303. package/dist/components/waka-credit-alert/index.es.js +1 -1
  304. package/dist/components/waka-credit-balance/index.cjs.js +1 -1
  305. package/dist/components/waka-credit-balance/index.es.js +3 -3
  306. package/dist/components/waka-credit-breakdown/index.cjs.js +1 -1
  307. package/dist/components/waka-credit-breakdown/index.es.js +1 -1
  308. package/dist/components/waka-credit-burn-rate/index.cjs.js +1 -1
  309. package/dist/components/waka-credit-burn-rate/index.es.js +1 -1
  310. package/dist/components/waka-credit-card-input/index.cjs.js +1 -1
  311. package/dist/components/waka-credit-card-input/index.es.js +1 -1
  312. package/dist/components/waka-credit-history/index.cjs.js +1 -1
  313. package/dist/components/waka-credit-history/index.es.js +1 -1
  314. package/dist/components/waka-credit-meter/index.cjs.js +2 -2
  315. package/dist/components/waka-credit-meter/index.es.js +3 -3
  316. package/dist/components/waka-credit-pricing-pack/index.cjs.js +1 -1
  317. package/dist/components/waka-credit-pricing-pack/index.es.js +1 -1
  318. package/dist/components/waka-credit-projection/index.cjs.js +1 -1
  319. package/dist/components/waka-credit-projection/index.es.js +1 -1
  320. package/dist/components/waka-credit-quota/index.cjs.js +1 -1
  321. package/dist/components/waka-credit-quota/index.es.js +3 -3
  322. package/dist/components/waka-credit-receipt/index.cjs.js +1 -1
  323. package/dist/components/waka-credit-receipt/index.es.js +1 -1
  324. package/dist/components/waka-credit-top-up/index.cjs.js +1 -1
  325. package/dist/components/waka-credit-top-up/index.es.js +1 -1
  326. package/dist/components/waka-credit-transaction/index.cjs.js +1 -1
  327. package/dist/components/waka-credit-transaction/index.es.js +1 -1
  328. package/dist/components/waka-credit-transfer-form/index.cjs.js +1 -1
  329. package/dist/components/waka-credit-transfer-form/index.es.js +1 -1
  330. package/dist/components/waka-credit-usage-chart/index.cjs.js +1 -1
  331. package/dist/components/waka-credit-usage-chart/index.es.js +1 -1
  332. package/dist/components/waka-daily-reward/index.cjs.js +1 -1
  333. package/dist/components/waka-database-card/index.cjs.js +1 -1
  334. package/dist/components/waka-database-card/index.es.js +1 -1
  335. package/dist/components/waka-date-range-picker/index.cjs.js +1 -1
  336. package/dist/components/waka-date-range-picker/index.es.js +3 -2
  337. package/dist/components/waka-datetime-picker/index.cjs.js +1 -1
  338. package/dist/components/waka-datetime-picker/index.es.js +4 -1
  339. package/dist/components/waka-datetime-picker.form-integration/index.cjs.js +1 -1
  340. package/dist/components/waka-dependency-tree/index.cjs.js +1 -1
  341. package/dist/components/waka-dependency-tree/index.es.js +1 -1
  342. package/dist/components/waka-deployment-lane/index.cjs.js +1 -1
  343. package/dist/components/waka-deployment-lane/index.es.js +1 -1
  344. package/dist/components/waka-device-trust/index.cjs.js +2 -2
  345. package/dist/components/waka-device-trust/index.es.js +1 -1
  346. package/dist/components/waka-doc-breadcrumb/index.cjs.js +1 -1
  347. package/dist/components/waka-doc-callout/index.cjs.js +1 -1
  348. package/dist/components/waka-doc-code-block/index.cjs.js +1 -1
  349. package/dist/components/waka-doc-nav/index.cjs.js +1 -1
  350. package/dist/components/waka-doc-renderer/index.cjs.js +1 -1
  351. package/dist/components/waka-doc-search/index.cjs.js +1 -1
  352. package/dist/components/waka-doc-table/index.cjs.js +1 -1
  353. package/dist/components/waka-doc-toc/index.cjs.js +1 -1
  354. package/dist/components/waka-doc-toolbar/index.cjs.js +1 -1
  355. package/dist/components/waka-doc-version/index.cjs.js +1 -1
  356. package/dist/components/waka-dock/index.cjs.js +1 -1
  357. package/dist/components/waka-dock/index.es.js +2 -2
  358. package/dist/components/waka-drawer/index.cjs.js +1 -1
  359. package/dist/components/waka-drawer/index.es.js +1 -1
  360. package/dist/components/waka-empty-state/index.cjs.js +1 -1
  361. package/dist/components/waka-env-var-editor/index.cjs.js +1 -1
  362. package/dist/components/waka-error-shake/index.cjs.js +1 -1
  363. package/dist/components/waka-feature-announcement/index.cjs.js +2 -2
  364. package/dist/components/waka-feature-announcement/index.es.js +1 -1
  365. package/dist/components/waka-feature-flag-row/index.cjs.js +1 -1
  366. package/dist/components/waka-file-upload/index.cjs.js +1 -1
  367. package/dist/components/waka-file-upload/index.es.js +2 -2
  368. package/dist/components/waka-floating-nav/index.cjs.js +1 -1
  369. package/dist/components/waka-floating-nav/index.es.js +1 -1
  370. package/dist/components/waka-flow-diagram/index.cjs.js +1 -1
  371. package/dist/components/waka-funnel-chart/index.cjs.js +2 -2
  372. package/dist/components/waka-funnel-chart/index.es.js +1 -1
  373. package/dist/components/waka-glow-card/index.cjs.js +1 -1
  374. package/dist/components/waka-glow-card/index.es.js +3 -3
  375. package/dist/components/waka-goal-progress/index.cjs.js +3 -3
  376. package/dist/components/waka-goal-progress/index.es.js +3 -3
  377. package/dist/components/waka-haptic-button/index.cjs.js +1 -1
  378. package/dist/components/waka-health-pulse/index.cjs.js +2 -2
  379. package/dist/components/waka-health-pulse/index.es.js +1 -1
  380. package/dist/components/waka-heatmap/index.cjs.js +1 -1
  381. package/dist/components/waka-heatmap/index.es.js +3 -3
  382. package/dist/components/waka-hotspot/index.cjs.js +1 -1
  383. package/dist/components/waka-image/index.cjs.js +1 -1
  384. package/dist/components/waka-image/index.es.js +1 -1
  385. package/dist/components/waka-incident-timeline/index.cjs.js +1 -1
  386. package/dist/components/waka-incident-timeline/index.es.js +3 -2
  387. package/dist/components/waka-invoice-preview/index.cjs.js +1 -1
  388. package/dist/components/waka-invoice-preview/index.es.js +1 -1
  389. package/dist/components/waka-kanban/index.cjs.js +1 -1
  390. package/dist/components/waka-kanban/index.es.js +1 -1
  391. package/dist/components/waka-kpi-dashboard/index.cjs.js +1 -1
  392. package/dist/components/waka-kpi-dashboard/index.es.js +6 -4
  393. package/dist/components/waka-kubernetes-overview/index.cjs.js +1 -1
  394. package/dist/components/waka-kubernetes-overview/index.es.js +1 -1
  395. package/dist/components/waka-leaderboard/index.cjs.js +1 -1
  396. package/dist/components/waka-level-progress/index.cjs.js +2 -2
  397. package/dist/components/waka-level-progress/index.es.js +2 -2
  398. package/dist/components/waka-liquid-button/index.cjs.js +1 -1
  399. package/dist/components/waka-loading-orbit/index.cjs.js +1 -1
  400. package/dist/components/waka-log-viewer/index.cjs.js +1 -1
  401. package/dist/components/waka-loot-box/index.cjs.js +2 -2
  402. package/dist/components/waka-loot-box/index.es.js +1 -1
  403. package/dist/components/waka-magic-link/index.cjs.js +2 -2
  404. package/dist/components/waka-magnetic-button/index.cjs.js +1 -1
  405. package/dist/components/waka-mention-input/index.cjs.js +1 -1
  406. package/dist/components/waka-mention-input/index.es.js +52 -40
  407. package/dist/components/waka-metric-sparkline/index.cjs.js +1 -1
  408. package/dist/components/waka-metric-sparkline/index.es.js +1 -1
  409. package/dist/components/waka-migration-list/index.cjs.js +1 -1
  410. package/dist/components/waka-milestone-road/index.cjs.js +2 -2
  411. package/dist/components/waka-milestone-road/index.es.js +5 -5
  412. package/dist/components/waka-modal/index.cjs.js +1 -1
  413. package/dist/components/waka-modal/index.es.js +1 -1
  414. package/dist/components/waka-morph-button/index.cjs.js +2 -2
  415. package/dist/components/waka-morph-button/index.es.js +6 -2
  416. package/dist/components/waka-network-topology/index.cjs.js +1 -1
  417. package/dist/components/waka-network-topology/index.es.js +4 -2
  418. package/dist/components/waka-notifications/index.cjs.js +1 -1
  419. package/dist/components/waka-number-input/index.cjs.js +1 -1
  420. package/dist/components/waka-number-input/index.es.js +1 -1
  421. package/dist/components/waka-orbital-menu/index.cjs.js +1 -1
  422. package/dist/components/waka-orbital-menu/index.es.js +1 -1
  423. package/dist/components/waka-order-tracker/index.cjs.js +1 -1
  424. package/dist/components/waka-order-tracker/index.es.js +3 -2
  425. package/dist/components/waka-outstream-video/index.cjs.js +1 -1
  426. package/dist/components/waka-outstream-video/index.es.js +2 -2
  427. package/dist/components/waka-pagination/index.cjs.js +1 -1
  428. package/dist/components/waka-pagination/index.es.js +1 -1
  429. package/dist/components/waka-password-strength/index.cjs.js +2 -2
  430. package/dist/components/waka-password-strength/index.es.js +3 -3
  431. package/dist/components/waka-payment-method-picker/index.cjs.js +1 -1
  432. package/dist/components/waka-payment-method-picker/index.es.js +1 -1
  433. package/dist/components/waka-permission-matrix/index.cjs.js +2 -2
  434. package/dist/components/waka-permission-matrix/index.es.js +3 -2
  435. package/dist/components/waka-phone-input/index.cjs.js +1 -1
  436. package/dist/components/waka-phone-input/index.es.js +5 -3
  437. package/dist/components/waka-pipeline-view/index.cjs.js +2 -2
  438. package/dist/components/waka-pipeline-view/index.es.js +1 -1
  439. package/dist/components/waka-player-card/index.cjs.js +2 -2
  440. package/dist/components/waka-player-card/index.es.js +4 -4
  441. package/dist/components/waka-pod-card/index.cjs.js +1 -1
  442. package/dist/components/waka-pod-card/index.es.js +1 -1
  443. package/dist/components/waka-points-popup/index.cjs.js +1 -1
  444. package/dist/components/waka-points-popup/index.es.js +5 -1
  445. package/dist/components/waka-power-up/index.cjs.js +1 -1
  446. package/dist/components/waka-presence-indicator/index.cjs.js +2 -2
  447. package/dist/components/waka-presence-indicator/index.es.js +1 -1
  448. package/dist/components/waka-pricing-table/index.cjs.js +2 -2
  449. package/dist/components/waka-pricing-table/index.es.js +1 -1
  450. package/dist/components/waka-product-card/index.cjs.js +1 -1
  451. package/dist/components/waka-progress-onboarding/index.cjs.js +3 -3
  452. package/dist/components/waka-progress-onboarding/index.es.js +1 -1
  453. package/dist/components/waka-pull-to-refresh/index.cjs.js +1 -1
  454. package/dist/components/waka-qrcode/index.cjs.js +1 -1
  455. package/dist/components/waka-qrcode/index.es.js +1 -1
  456. package/dist/components/waka-query-explain/index.cjs.js +1 -1
  457. package/dist/components/waka-quest-card/index.cjs.js +2 -2
  458. package/dist/components/waka-quest-card/index.es.js +4 -1
  459. package/dist/components/waka-quota-bar/index.cjs.js +2 -2
  460. package/dist/components/waka-quota-bar/index.es.js +11 -4
  461. package/dist/components/waka-radar-score/index.cjs.js +1 -1
  462. package/dist/components/waka-radar-score/index.es.js +6 -6
  463. package/dist/components/waka-rank-badge/index.cjs.js +2 -2
  464. package/dist/components/waka-rank-badge/index.es.js +1 -1
  465. package/dist/components/waka-rating-input/index.cjs.js +2 -2
  466. package/dist/components/waka-rating-input/index.es.js +1 -1
  467. package/dist/components/waka-reaction-picker/index.cjs.js +1 -1
  468. package/dist/components/waka-reaction-picker/index.es.js +7 -4
  469. package/dist/components/waka-region-map/index.cjs.js +1 -1
  470. package/dist/components/waka-region-map/index.es.js +1 -1
  471. package/dist/components/waka-resource-gauge/index.cjs.js +2 -2
  472. package/dist/components/waka-resource-gauge/index.es.js +3 -3
  473. package/dist/components/waka-resource-pool/index.cjs.js +2 -2
  474. package/dist/components/waka-resource-pool/index.es.js +1 -1
  475. package/dist/components/waka-rich-text-editor/index.cjs.js +1 -1
  476. package/dist/components/waka-rich-text-editor/index.es.js +1 -1
  477. package/dist/components/waka-rollback-slider/index.cjs.js +2 -2
  478. package/dist/components/waka-rollback-slider/index.es.js +5 -3
  479. package/dist/components/waka-sankey-diagram/index.cjs.js +2 -2
  480. package/dist/components/waka-sankey-diagram/index.es.js +5 -5
  481. package/dist/components/waka-schedule-picker/index.cjs.js +1 -1
  482. package/dist/components/waka-schedule-picker/index.es.js +3 -2
  483. package/dist/components/waka-scratch-card/index.cjs.js +2 -2
  484. package/dist/components/waka-scratch-card/index.es.js +1 -1
  485. package/dist/components/waka-season-pass/index.cjs.js +1 -1
  486. package/dist/components/waka-secret-card/index.cjs.js +1 -1
  487. package/dist/components/waka-security-scan-result/index.cjs.js +1 -1
  488. package/dist/components/waka-security-score/index.cjs.js +2 -2
  489. package/dist/components/waka-security-score/index.es.js +5 -5
  490. package/dist/components/waka-segmented-control/index.cjs.js +1 -1
  491. package/dist/components/waka-segmented-control/index.es.js +1 -1
  492. package/dist/components/waka-server-rack/index.cjs.js +1 -1
  493. package/dist/components/waka-service-graph/index.cjs.js +1 -1
  494. package/dist/components/waka-session-manager/index.cjs.js +1 -1
  495. package/dist/components/waka-session-manager/index.es.js +3 -2
  496. package/dist/components/waka-signature-pad/index.cjs.js +1 -1
  497. package/dist/components/waka-signature-pad/index.es.js +1 -1
  498. package/dist/components/waka-skeleton-wave/index.cjs.js +1 -1
  499. package/dist/components/waka-skill-tree/index.cjs.js +2 -2
  500. package/dist/components/waka-skill-tree/index.es.js +32 -32
  501. package/dist/components/waka-sla-tracker/index.cjs.js +1 -1
  502. package/dist/components/waka-sla-tracker/index.es.js +1 -1
  503. package/dist/components/waka-slider-range/index.cjs.js +1 -1
  504. package/dist/components/waka-slider-range/index.es.js +3 -3
  505. package/dist/components/waka-spin-wheel/index.cjs.js +2 -2
  506. package/dist/components/waka-spin-wheel/index.es.js +6 -6
  507. package/dist/components/waka-spinner/index.cjs.js +1 -1
  508. package/dist/components/waka-sponsored-badge/index.cjs.js +1 -1
  509. package/dist/components/waka-sponsored-badge/index.es.js +1 -1
  510. package/dist/components/waka-sponsored-card/index.cjs.js +1 -1
  511. package/dist/components/waka-sponsored-card/index.es.js +2 -2
  512. package/dist/components/waka-sponsored-feed/index.cjs.js +1 -1
  513. package/dist/components/waka-sponsored-feed/index.es.js +2 -2
  514. package/dist/components/waka-spotlight/index.cjs.js +1 -1
  515. package/dist/components/waka-spotlight/index.es.js +2 -1
  516. package/dist/components/waka-stat/index.cjs.js +1 -1
  517. package/dist/components/waka-stat/index.es.js +1 -1
  518. package/dist/components/waka-stats-hexagon/index.cjs.js +1 -1
  519. package/dist/components/waka-stats-hexagon/index.es.js +9 -9
  520. package/dist/components/waka-status-matrix/index.cjs.js +1 -1
  521. package/dist/components/waka-status-matrix/index.es.js +1 -1
  522. package/dist/components/waka-stepper/index.cjs.js +1 -1
  523. package/dist/components/waka-stepper/index.es.js +1 -1
  524. package/dist/components/waka-streak-counter/index.cjs.js +1 -1
  525. package/dist/components/waka-success-explosion/index.cjs.js +1 -1
  526. package/dist/components/waka-swipe-card/index.cjs.js +1 -1
  527. package/dist/components/waka-swipe-card/index.es.js +2 -2
  528. package/dist/components/waka-tabs-morph/index.cjs.js +1 -1
  529. package/dist/components/waka-tabs-morph/index.es.js +1 -1
  530. package/dist/components/waka-tag-input/index.cjs.js +1 -1
  531. package/dist/components/waka-tag-input/index.es.js +3 -2
  532. package/dist/components/waka-team-banner/index.cjs.js +2 -2
  533. package/dist/components/waka-team-banner/index.es.js +1 -1
  534. package/dist/components/waka-terminal-output/index.cjs.js +2 -2
  535. package/dist/components/waka-terminal-output/index.es.js +5 -3
  536. package/dist/components/waka-test-report/index.cjs.js +1 -1
  537. package/dist/components/waka-theme-creator/index.cjs.js +1 -1
  538. package/dist/components/waka-theme-manager/index.cjs.js +1 -1
  539. package/dist/components/waka-theme-manager/index.es.js +5 -2
  540. package/dist/components/waka-thread-view/index.cjs.js +2 -2
  541. package/dist/components/waka-thread-view/index.es.js +1 -1
  542. package/dist/components/waka-tilt-card/index.cjs.js +1 -1
  543. package/dist/components/waka-tilt-card/index.es.js +8 -6
  544. package/dist/components/waka-time-picker/index.cjs.js +1 -1
  545. package/dist/components/waka-time-picker/index.es.js +10 -6
  546. package/dist/components/waka-timeline/index.cjs.js +1 -1
  547. package/dist/components/waka-timeline/index.es.js +1 -1
  548. package/dist/components/waka-tooltip-tour/index.cjs.js +3 -3
  549. package/dist/components/waka-tooltip-tour/index.es.js +53 -51
  550. package/dist/components/waka-tour-guide/index.cjs.js +2 -2
  551. package/dist/components/waka-tour-guide/index.es.js +1 -1
  552. package/dist/components/waka-tournament-bracket/index.cjs.js +2 -2
  553. package/dist/components/waka-tournament-bracket/index.es.js +1 -1
  554. package/dist/components/waka-trace-viewer/index.cjs.js +1 -1
  555. package/dist/components/waka-tree/index.cjs.js +1 -1
  556. package/dist/components/waka-tree/index.es.js +1 -1
  557. package/dist/components/waka-treemap-chart/index.cjs.js +1 -1
  558. package/dist/components/waka-treemap-chart/index.es.js +1 -1
  559. package/dist/components/waka-two-factor-setup/index.cjs.js +2 -2
  560. package/dist/components/waka-two-factor-setup/index.es.js +5 -4
  561. package/dist/components/waka-typewriter/index.cjs.js +1 -1
  562. package/dist/components/waka-typewriter/index.es.js +7 -2
  563. package/dist/components/waka-typing-indicator/index.cjs.js +2 -2
  564. package/dist/components/waka-typing-indicator/index.es.js +1 -1
  565. package/dist/components/waka-versus-card/index.cjs.js +3 -3
  566. package/dist/components/waka-versus-card/index.es.js +5 -4
  567. package/dist/components/waka-video/index.cjs.js +1 -1
  568. package/dist/components/waka-video/index.es.js +1 -1
  569. package/dist/components/waka-video-ad/index.cjs.js +1 -1
  570. package/dist/components/waka-video-ad/index.es.js +3 -3
  571. package/dist/components/waka-video-call/index.cjs.js +2 -2
  572. package/dist/components/waka-video-call/index.es.js +1 -1
  573. package/dist/components/waka-video-overlay/index.cjs.js +1 -1
  574. package/dist/components/waka-video-overlay/index.es.js +2 -2
  575. package/dist/components/waka-virtual-list/index.cjs.js +1 -1
  576. package/dist/components/waka-virtual-list/index.es.js +1 -1
  577. package/dist/components/waka-voice-message/index.cjs.js +1 -1
  578. package/dist/components/waka-voice-message/index.es.js +6 -5
  579. package/dist/components/waka-welcome-modal/index.cjs.js +2 -2
  580. package/dist/components/waka-welcome-modal/index.es.js +1 -1
  581. package/dist/components/waka-xp-bar/index.cjs.js +1 -1
  582. package/dist/components/waka-xp-bar/index.es.js +2 -2
  583. package/dist/context/admincrumb-context.cjs.js +1 -1
  584. package/dist/context/language-context.cjs.js +1 -1
  585. package/dist/context/language-context.es.js +2 -2
  586. package/dist/context/theme-context.cjs.js +1 -1
  587. package/dist/context/theme-provider.cjs.js +1 -1
  588. package/dist/context/theme-provider.es.js +9 -6
  589. package/dist/context/waka-provider.cjs.js +1 -1
  590. package/dist/context/waka-provider.es.js +57 -53
  591. package/dist/doc.cjs.js +1 -1
  592. package/dist/editor.cjs.js +1 -1
  593. package/dist/export.cjs.js +1 -1
  594. package/dist/hooks/use-toast.cjs.js +1 -1
  595. package/dist/hooks/use-translation.cjs.js +1 -1
  596. package/dist/index.cjs.js +1 -1
  597. package/dist/index.d.ts +2 -0
  598. package/dist/index.es.js +279 -278
  599. package/dist/lib/i18n.cjs.js +1 -1
  600. package/dist/lib/i18n.es.js +11 -9
  601. package/dist/locales/default-resources.cjs.js +1 -0
  602. package/dist/locales/default-resources.d.ts +155 -0
  603. package/dist/locales/default-resources.es.js +150 -0
  604. package/dist/node_modules/.pnpm/exceljs@4.4.0/node_modules/exceljs/dist/exceljs.min.cjs.js +13 -13
  605. package/dist/node_modules/.pnpm/exceljs@4.4.0/node_modules/exceljs/dist/exceljs.min.es.js +13 -13
  606. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-docker.cjs.js +1 -1
  607. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-docker.es.js +19 -19
  608. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-markdown.cjs.js +1 -1
  609. package/dist/node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-markdown.es.js +24 -25
  610. package/dist/node_modules/.pnpm/react-resizable-panels@4.11.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-resizable-panels/dist/react-resizable-panels.cjs.js +1 -1
  611. package/dist/node_modules/.pnpm/react-resizable-panels@4.11.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-resizable-panels/dist/react-resizable-panels.es.js +26 -23
  612. package/dist/rich-text.cjs.js +1 -1
  613. package/dist/ui.css +1 -1
  614. package/dist/utils/cn.cjs.js +1 -1
  615. package/dist/utils/datetime-helpers.cjs.js +1 -1
  616. package/dist/utils/theme-loader.cjs.js +1 -1
  617. package/dist/utils/tweak.cjs.js +1 -1
  618. package/package.json +28 -27
  619. package/src/components/DataTable/DataTable.tsx +2 -0
  620. package/src/components/DataTable/DataTablePagination.tsx +28 -8
  621. package/src/components/DataTable/hooks/useDataTable.ts +13 -0
  622. package/src/components/editor/blocks/waka-diagram-block.tsx +7 -36
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../button/index.cjs.js`),n=require(`../checkbox/index.cjs.js`),r=require(`./utils.cjs.js`),i=require(`./hooks/useTableLayout.cjs.js`),a=require(`./hooks/useDataTableEdit.cjs.js`),o=require(`./DataTableToolbar.cjs.js`),s=require(`./DataTablePagination.cjs.js`),c=require(`./DataTableFilters.cjs.js`),l=require(`./DataTableEditCell.cjs.js`),u=require(`./hooks/useDataTableAdvanced.cjs.js`),d=require(`./hooks/useDataTableVirtualization.cjs.js`),f=require(`./hooks/useDataTableExport.cjs.js`),ee=require(`./hooks/useDataTableImport.cjs.js`),p=require(`./hooks/useDataTableTheme.cjs.js`);let m=require(`react`);m=e.__toESM(m);let h=require(`lucide-react`),g=require(`react/jsx-runtime`),_=require(`@tanstack/react-table`),te=require(`react-i18next`);function v({data:e,columns:v,layout:ne=`standard`,variant:re=`bordered`,density:ie=`comfortable`,filters:y,filterPosition:ae=`top`,toolbar:b,pagination:x,selection:S=!1,actions:oe,i18nNamespace:se,loading:ce=!1,error:C,emptyState:le,headerSticky:w=!1,columnVisibilityToggle:ue=!0,columnResize:de=!1,columnOrder:fe,grouping:T,rowExpansion:E,virtualization:D,sortMode:pe=`multiple`,enableExport:O=!1,enableImport:k=!1,enableReorder:A=!1,enableContextMenu:me=!1,onRowClick:j,onRowDoubleClick:M,onSortingChange:he,onFiltersChange:N,onSelectionChange:ge,onColumnOrderChange:_e,onExpandedChange:ve,onGroupingChange:ye,className:be,tableId:P,edit:F,theme:I,performance:L}){let{t:R}=(0,te.useTranslation)(se),z=m.useRef(null),{layout:xe,setLayout:Se,density:B,setDensity:V,densityClasses:Ce}=i.useTableLayout(ne,ie),{theme:we,variantClasses:Te,densityClasses:H,customStyles:Ee,getThemedClass:De,getThemedStyles:U}=p.useDataTableTheme({theme:I,variant:re,density:B}),W=m.useMemo(()=>{let e=[...v];return S&&e.unshift({id:`select`,header:({table:e})=>(0,g.jsx)(n.Checkbox,{checked:e.getIsAllPageRowsSelected(),onCheckedChange:t=>e.toggleAllPageRowsSelected(!!t),"aria-label":R(`datatable.selectAll`,{defaultValue:`Select all`})}),cell:({row:e})=>(0,g.jsx)(n.Checkbox,{checked:e.getIsSelected(),onCheckedChange:t=>e.toggleSelected(!!t),"aria-label":R(`datatable.selectRow`,{defaultValue:`Select row`})}),enableSorting:!1,enableHiding:!1,size:50}),E?.enabled&&e.unshift({id:`expand`,header:()=>null,cell:({row:e})=>e.getCanExpand()?(0,g.jsx)(t.Button,{variant:`ghost`,size:`sm`,onClick:()=>e.toggleExpanded(),className:`h-8 w-8 p-0`,children:e.getIsExpanded()?(0,g.jsx)(h.ChevronDown,{className:`h-4 w-4`}):(0,g.jsx)(h.ChevronRight,{className:`h-4 w-4`})}):null,enableSorting:!1,enableHiding:!1,size:50}),A&&e.unshift({id:`reorder`,header:()=>null,cell:()=>(0,g.jsx)(t.Button,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0 cursor-move`,children:(0,g.jsx)(h.GripVertical,{className:`h-4 w-4`})}),enableSorting:!1,enableHiding:!1,size:50}),e},[v,S,E,A,R]),{table:G,sorting:Oe,setSorting:ke,columnFilters:Ae,setColumnFilters:je,columnVisibility:Me,setColumnVisibility:Ne,columnOrder:Pe,setColumnOrder:Fe,expanded:Ie,setExpanded:Le,grouping:Re,setGrouping:ze,rowSelection:Be,setRowSelection:Ve,globalFilter:K,setGlobalFilter:q,pagination:He,setPagination:Ue,selectedRows:We,resetFilters:Ge,resetSelection:Ke,resetAll:qe,exportData:Je,getGroupedData:Ye,getExpandedData:Xe,toggleGrouping:Ze,clearGrouping:Qe,toggleRowExpansion:$e,expandAll:et,collapseAll:tt}=u.useDataTableAdvanced({data:e,columns:W,pagination:x,tableId:P,onSortingChange:he,onFiltersChange:N,onSelectionChange:ge,onColumnOrderChange:_e,onExpandedChange:ve,onGroupingChange:ye,grouping:T,virtualization:D,sortMode:pe,performance:L}),{isVirtualized:nt,virtualItems:rt,totalSize:it,scrollToIndex:at,scrollToOffset:ot}=d.useDataTableVirtualization({data:e,virtualization:D,containerRef:z}),{exportData:J,exportAll:st,exportSelected:ct}=f.useDataTableExport({data:e,columns:W,exportConfig:typeof O==`object`?O:void 0}),{importWithUI:Y,supportedFormats:lt}=ee.useDataTableImport({importConfig:typeof k==`object`?k:void 0}),[X,Z]=a.useDataTableEdit(G,{onSave:F?.onSave,onCancel:F?.onCancel,autoSave:F?.autoSave,autoSaveDelay:F?.autoSaveDelay});F?.editableColumns&&F.editableColumns.length>0&&W.push({id:`edit-actions`,header:()=>R(`datatable.actions`,{defaultValue:`Actions`}),cell:({row:e})=>X.editingRowId===e.id?(0,g.jsxs)(`div`,{className:`flex gap-1`,children:[(0,g.jsx)(t.Button,{size:`sm`,variant:`ghost`,onClick:()=>Z.saveEdit(),disabled:!X.hasChanges,children:R(`datatable.save`,{defaultValue:`Save`})}),(0,g.jsx)(t.Button,{size:`sm`,variant:`ghost`,onClick:()=>Z.cancelEdit(),children:R(`datatable.cancel`,{defaultValue:`Cancel`})})]}):(0,g.jsx)(t.Button,{size:`sm`,variant:`ghost`,onClick:()=>Z.startEdit(e.id,e.original),children:R(`datatable.edit`,{defaultValue:`Edit`})}),enableSorting:!1,enableHiding:!1});let Q=m.useCallback(async e=>{try{await J(e)}catch(e){console.error(`Erreur lors de l'export:`,e)}},[J]),$=m.useCallback(async()=>{try{await Y()}catch(e){console.error(`Erreur lors de l'import:`,e)}},[Y]);return ce?(0,g.jsx)(`div`,{className:`flex items-center justify-center h-64 border rounded-lg`,children:(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,g.jsx)(h.Loader2,{className:`h-8 w-8 animate-spin text-muted-foreground`}),(0,g.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:R(`datatable.loading`,{defaultValue:`Loading...`})})]})}):C?(0,g.jsx)(`div`,{className:`flex items-center justify-center h-64 border rounded-lg bg-destructive/10`,children:(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-destructive`,children:[(0,g.jsx)(h.AlertCircle,{className:`h-8 w-8`}),(0,g.jsx)(`p`,{className:`text-sm font-medium`,children:C})]})}):!e||e.length===0?(0,g.jsxs)(`div`,{className:`flex flex-col`,children:[b&&(0,g.jsx)(o.DataTableToolbar,{table:G,config:b,globalFilter:K,onGlobalFilterChange:q,density:B,onDensityChange:V,onExport:O?Q:void 0,onImport:k?$:void 0}),(0,g.jsx)(`div`,{className:`flex items-center justify-center h-64 border rounded-lg`,children:le||(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-muted-foreground`,children:[(0,g.jsx)(`p`,{className:`text-lg font-medium`,children:R(`datatable.noData`,{defaultValue:`No data`})}),(0,g.jsx)(`p`,{className:`text-sm`,children:R(`datatable.noDataDescription`,{defaultValue:`There are no results to display`})})]})})]}):(0,g.jsxs)(`div`,{className:r.cn(`w-full`,be),style:U(),children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[b&&(0,g.jsx)(`div`,{className:`flex-1`,children:(0,g.jsx)(o.DataTableToolbar,{table:G,config:b,globalFilter:K,onGlobalFilterChange:q,density:B,onDensityChange:V,onExport:O?Q:void 0,onImport:k?$:void 0})}),y&&(0,g.jsx)(c.DataTableFilters,{table:G,filters:y,position:ae,onFiltersChange:N})]}),nt?(0,g.jsx)(`div`,{ref:z,className:`h-full overflow-auto`,style:{height:D?.containerHeight||600},children:(0,g.jsxs)(`table`,{className:r.cn(`w-full caption-bottom text-sm`,H.table),style:U(),children:[(0,g.jsx)(`thead`,{className:r.cn(w&&`sticky top-0 bg-background z-10`),children:G.getHeaderGroups().map(e=>(0,g.jsx)(`tr`,{className:`border-b`,children:e.headers.map(e=>(0,g.jsxs)(`th`,{className:r.cn(`text-left font-medium text-muted-foreground`,H.header,e.column.getCanSort()&&`cursor-pointer select-none hover:text-foreground`),onClick:e.column.getToggleSortingHandler(),style:{width:e.getSize(),minWidth:e.column.columnDef.minSize,maxWidth:e.column.columnDef.maxSize},children:[e.isPlaceholder?null:(0,_.flexRender)(e.column.columnDef.header,e.getContext()),e.column.getIsSorted()&&(0,g.jsx)(`span`,{className:`ml-2`,children:e.column.getIsSorted()===`asc`?`↑`:`↓`})]},e.id))},e.id))}),(0,g.jsx)(`tbody`,{children:rt.map(e=>{let t=(T?.columns?.length?G.getGroupedRowModel().rows:E?.enabled?G.getExpandedRowModel().rows:G.getRowModel().rows)[e.index];return t?(0,g.jsx)(`tr`,{className:r.cn(`border-b transition-colors`,j&&`cursor-pointer hover:bg-muted/50`,t.getIsSelected()&&`bg-muted`),onClick:()=>j?.(t.original),onDoubleClick:()=>M?.(t.original),style:{position:`absolute`,top:e.start,left:0,width:`100%`,height:e.size},children:t.getVisibleCells().map(e=>{let n=e.getValue(),i=e.column.id,a=t.id,o=X.editingRowId===a,s=F?.editableColumns?.find(e=>e.field===i);return s&&o?(0,g.jsx)(`td`,{className:r.cn(`align-middle`,H.cell),children:(0,g.jsx)(l.DataTableEditCell,{value:n,field:i,config:s.config,isEditing:o,onChange:e=>Z.updateField(i,e),onStartEdit:()=>Z.startEdit(a,t.original),onSave:()=>Z.saveEdit(),onCancel:()=>Z.cancelEdit()})},e.id):(0,g.jsx)(`td`,{className:r.cn(`align-middle`,H.cell),children:(0,_.flexRender)(e.column.columnDef.cell,e.getContext())},e.id)})},t.id):null})})]})}):(0,g.jsx)(`div`,{className:r.cn(`w-full overflow-auto`,Te),children:(0,g.jsxs)(`table`,{className:r.cn(`w-full caption-bottom text-sm`,H.table),style:U(),children:[(0,g.jsx)(`thead`,{className:r.cn(w&&`sticky top-0 bg-background z-10`),children:G.getHeaderGroups().map(e=>(0,g.jsx)(`tr`,{className:`border-b`,children:e.headers.map(e=>(0,g.jsxs)(`th`,{className:r.cn(`text-left font-medium text-muted-foreground`,H.header,e.column.getCanSort()&&`cursor-pointer select-none hover:text-foreground`),onClick:e.column.getToggleSortingHandler(),style:{width:e.getSize(),minWidth:e.column.columnDef.minSize,maxWidth:e.column.columnDef.maxSize},children:[e.isPlaceholder?null:(0,_.flexRender)(e.column.columnDef.header,e.getContext()),e.column.getIsSorted()&&(0,g.jsx)(`span`,{className:`ml-2`,children:e.column.getIsSorted()===`asc`?`↑`:`↓`})]},e.id))},e.id))}),(0,g.jsx)(`tbody`,{children:(T?.columns?.length?G.getGroupedRowModel().rows:E?.enabled?G.getExpandedRowModel().rows:G.getRowModel().rows).map((e,t)=>{let n=e.getIsGrouped(),i=e.getIsExpanded();return(0,g.jsxs)(m.Fragment,{children:[(0,g.jsx)(`tr`,{className:r.cn(`border-b transition-colors`,j&&`cursor-pointer hover:bg-muted/50`,e.getIsSelected()&&`bg-muted`,n&&`bg-muted/30 font-medium`),onClick:()=>j?.(e.original),onDoubleClick:()=>M?.(e.original),children:e.getVisibleCells().map(t=>{let a=t.getValue(),o=t.column.id,s=e.id,c=X.editingRowId===s,u=F?.editableColumns?.find(e=>e.field===o);return u&&c?(0,g.jsx)(`td`,{className:r.cn(`align-middle`,H.cell),children:(0,g.jsx)(l.DataTableEditCell,{value:a,field:o,config:u.config,isEditing:c,onChange:e=>Z.updateField(o,e),onStartEdit:()=>Z.startEdit(s,e.original),onSave:()=>Z.saveEdit(),onCancel:()=>Z.cancelEdit()})},t.id):(0,g.jsx)(`td`,{className:r.cn(`align-middle`,H.cell),children:n?(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`button`,{onClick:t=>{t.stopPropagation(),e.toggleExpanded()},className:`p-1 hover:bg-muted rounded`,children:i?`▼`:`▶`}),(0,g.jsxs)(`span`,{className:`font-medium`,children:[t.getValue(),` (`,e.subRows.length,` éléments)`]})]}):(0,_.flexRender)(t.column.columnDef.cell,t.getContext())},t.id)})}),E?.enabled&&i&&(0,g.jsx)(`tr`,{children:(0,g.jsx)(`td`,{colSpan:W.length,className:`p-0`,children:(0,g.jsx)(`div`,{className:`border-b`,children:E.renderExpanded?.(e.original)})})},`${e.id}-expanded-${t}`)]},`${e.id}-${t}`)})})]})}),x&&(0,g.jsx)(s.DataTablePagination,{table:G,pageSizeOptions:x.pageSizeOptions})]})}exports.DataTableAdvanced=v;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../button/index.cjs.js"),n=require("../checkbox/index.cjs.js"),r=require("./utils.cjs.js"),i=require("./hooks/useTableLayout.cjs.js"),a=require("./hooks/useDataTableEdit.cjs.js"),o=require("./DataTableToolbar.cjs.js"),s=require("./DataTablePagination.cjs.js"),c=require("./DataTableFilters.cjs.js"),l=require("./DataTableEditCell.cjs.js"),u=require("./hooks/useDataTableAdvanced.cjs.js"),d=require("./hooks/useDataTableVirtualization.cjs.js"),f=require("./hooks/useDataTableExport.cjs.js"),ee=require("./hooks/useDataTableImport.cjs.js"),p=require("./hooks/useDataTableTheme.cjs.js");let m=require("react");m=e.__toESM(m);let h=require("lucide-react"),g=require("react/jsx-runtime"),_=require("@tanstack/react-table"),te=require("react-i18next");function v({data:e,columns:v,layout:ne=`standard`,variant:re=`bordered`,density:ie=`comfortable`,filters:y,filterPosition:ae=`top`,toolbar:b,pagination:x,selection:S=!1,actions:oe,i18nNamespace:se,loading:ce=!1,error:C,emptyState:le,headerSticky:w=!1,columnVisibilityToggle:ue=!0,columnResize:de=!1,columnOrder:fe,grouping:T,rowExpansion:E,virtualization:D,sortMode:pe=`multiple`,enableExport:O=!1,enableImport:k=!1,enableReorder:A=!1,enableContextMenu:me=!1,onRowClick:j,onRowDoubleClick:M,onSortingChange:he,onFiltersChange:N,onSelectionChange:ge,onColumnOrderChange:_e,onExpandedChange:ve,onGroupingChange:ye,className:be,tableId:P,edit:F,theme:I,performance:L}){let{t:R}=(0,te.useTranslation)(se),z=m.useRef(null),{layout:xe,setLayout:Se,density:B,setDensity:V,densityClasses:Ce}=i.useTableLayout(ne,ie),{theme:we,variantClasses:Te,densityClasses:H,customStyles:Ee,getThemedClass:De,getThemedStyles:U}=p.useDataTableTheme({theme:I,variant:re,density:B}),W=m.useMemo(()=>{let e=[...v];return S&&e.unshift({id:`select`,header:({table:e})=>(0,g.jsx)(n.Checkbox,{checked:e.getIsAllPageRowsSelected(),onCheckedChange:t=>e.toggleAllPageRowsSelected(!!t),"aria-label":R(`datatable.selectAll`,{defaultValue:`Select all`})}),cell:({row:e})=>(0,g.jsx)(n.Checkbox,{checked:e.getIsSelected(),onCheckedChange:t=>e.toggleSelected(!!t),"aria-label":R(`datatable.selectRow`,{defaultValue:`Select row`})}),enableSorting:!1,enableHiding:!1,size:50}),E?.enabled&&e.unshift({id:`expand`,header:()=>null,cell:({row:e})=>e.getCanExpand()?(0,g.jsx)(t.Button,{variant:`ghost`,size:`sm`,onClick:()=>e.toggleExpanded(),className:`h-8 w-8 p-0`,children:e.getIsExpanded()?(0,g.jsx)(h.ChevronDown,{className:`h-4 w-4`}):(0,g.jsx)(h.ChevronRight,{className:`h-4 w-4`})}):null,enableSorting:!1,enableHiding:!1,size:50}),A&&e.unshift({id:`reorder`,header:()=>null,cell:()=>(0,g.jsx)(t.Button,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0 cursor-move`,children:(0,g.jsx)(h.GripVertical,{className:`h-4 w-4`})}),enableSorting:!1,enableHiding:!1,size:50}),e},[v,S,E,A,R]),{table:G,sorting:Oe,setSorting:ke,columnFilters:Ae,setColumnFilters:je,columnVisibility:Me,setColumnVisibility:Ne,columnOrder:Pe,setColumnOrder:Fe,expanded:Ie,setExpanded:Le,grouping:Re,setGrouping:ze,rowSelection:Be,setRowSelection:Ve,globalFilter:K,setGlobalFilter:q,pagination:He,setPagination:Ue,selectedRows:We,resetFilters:Ge,resetSelection:Ke,resetAll:qe,exportData:Je,getGroupedData:Ye,getExpandedData:Xe,toggleGrouping:Ze,clearGrouping:Qe,toggleRowExpansion:$e,expandAll:et,collapseAll:tt}=u.useDataTableAdvanced({data:e,columns:W,pagination:x,tableId:P,onSortingChange:he,onFiltersChange:N,onSelectionChange:ge,onColumnOrderChange:_e,onExpandedChange:ve,onGroupingChange:ye,grouping:T,virtualization:D,sortMode:pe,performance:L}),{isVirtualized:nt,virtualItems:rt,totalSize:it,scrollToIndex:at,scrollToOffset:ot}=d.useDataTableVirtualization({data:e,virtualization:D,containerRef:z}),{exportData:J,exportAll:st,exportSelected:ct}=f.useDataTableExport({data:e,columns:W,exportConfig:typeof O==`object`?O:void 0}),{importWithUI:Y,supportedFormats:lt}=ee.useDataTableImport({importConfig:typeof k==`object`?k:void 0}),[X,Z]=a.useDataTableEdit(G,{onSave:F?.onSave,onCancel:F?.onCancel,autoSave:F?.autoSave,autoSaveDelay:F?.autoSaveDelay});F?.editableColumns&&F.editableColumns.length>0&&W.push({id:`edit-actions`,header:()=>R(`datatable.actions`,{defaultValue:`Actions`}),cell:({row:e})=>X.editingRowId===e.id?(0,g.jsxs)(`div`,{className:`flex gap-1`,children:[(0,g.jsx)(t.Button,{size:`sm`,variant:`ghost`,onClick:()=>Z.saveEdit(),disabled:!X.hasChanges,children:R(`datatable.save`,{defaultValue:`Save`})}),(0,g.jsx)(t.Button,{size:`sm`,variant:`ghost`,onClick:()=>Z.cancelEdit(),children:R(`datatable.cancel`,{defaultValue:`Cancel`})})]}):(0,g.jsx)(t.Button,{size:`sm`,variant:`ghost`,onClick:()=>Z.startEdit(e.id,e.original),children:R(`datatable.edit`,{defaultValue:`Edit`})}),enableSorting:!1,enableHiding:!1});let Q=m.useCallback(async e=>{try{await J(e)}catch(e){console.error(`Erreur lors de l'export:`,e)}},[J]),$=m.useCallback(async()=>{try{await Y()}catch(e){console.error(`Erreur lors de l'import:`,e)}},[Y]);return ce?(0,g.jsx)(`div`,{className:`flex items-center justify-center h-64 border rounded-lg`,children:(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,g.jsx)(h.Loader2,{className:`h-8 w-8 animate-spin text-muted-foreground`}),(0,g.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:R(`datatable.loading`,{defaultValue:`Loading...`})})]})}):C?(0,g.jsx)(`div`,{className:`flex items-center justify-center h-64 border rounded-lg bg-destructive/10`,children:(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-destructive`,children:[(0,g.jsx)(h.AlertCircle,{className:`h-8 w-8`}),(0,g.jsx)(`p`,{className:`text-sm font-medium`,children:C})]})}):!e||e.length===0?(0,g.jsxs)(`div`,{className:`flex flex-col`,children:[b&&(0,g.jsx)(o.DataTableToolbar,{table:G,config:b,globalFilter:K,onGlobalFilterChange:q,density:B,onDensityChange:V,onExport:O?Q:void 0,onImport:k?$:void 0}),(0,g.jsx)(`div`,{className:`flex items-center justify-center h-64 border rounded-lg`,children:le||(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-muted-foreground`,children:[(0,g.jsx)(`p`,{className:`text-lg font-medium`,children:R(`datatable.noData`,{defaultValue:`No data`})}),(0,g.jsx)(`p`,{className:`text-sm`,children:R(`datatable.noDataDescription`,{defaultValue:`There are no results to display`})})]})})]}):(0,g.jsxs)(`div`,{className:r.cn(`w-full`,be),style:U(),children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[b&&(0,g.jsx)(`div`,{className:`flex-1`,children:(0,g.jsx)(o.DataTableToolbar,{table:G,config:b,globalFilter:K,onGlobalFilterChange:q,density:B,onDensityChange:V,onExport:O?Q:void 0,onImport:k?$:void 0})}),y&&(0,g.jsx)(c.DataTableFilters,{table:G,filters:y,position:ae,onFiltersChange:N})]}),nt?(0,g.jsx)(`div`,{ref:z,className:`h-full overflow-auto`,style:{height:D?.containerHeight||600},children:(0,g.jsxs)(`table`,{className:r.cn(`w-full caption-bottom text-sm`,H.table),style:U(),children:[(0,g.jsx)(`thead`,{className:r.cn(w&&`sticky top-0 bg-background z-10`),children:G.getHeaderGroups().map(e=>(0,g.jsx)(`tr`,{className:`border-b`,children:e.headers.map(e=>(0,g.jsxs)(`th`,{className:r.cn(`text-left font-medium text-muted-foreground`,H.header,e.column.getCanSort()&&`cursor-pointer select-none hover:text-foreground`),onClick:e.column.getToggleSortingHandler(),style:{width:e.getSize(),minWidth:e.column.columnDef.minSize,maxWidth:e.column.columnDef.maxSize},children:[e.isPlaceholder?null:(0,_.flexRender)(e.column.columnDef.header,e.getContext()),e.column.getIsSorted()&&(0,g.jsx)(`span`,{className:`ml-2`,children:e.column.getIsSorted()===`asc`?`↑`:`↓`})]},e.id))},e.id))}),(0,g.jsx)(`tbody`,{children:rt.map(e=>{let t=(T?.columns?.length?G.getGroupedRowModel().rows:E?.enabled?G.getExpandedRowModel().rows:G.getRowModel().rows)[e.index];return t?(0,g.jsx)(`tr`,{className:r.cn(`border-b transition-colors`,j&&`cursor-pointer hover:bg-muted/50`,t.getIsSelected()&&`bg-muted`),onClick:()=>j?.(t.original),onDoubleClick:()=>M?.(t.original),style:{position:`absolute`,top:e.start,left:0,width:`100%`,height:e.size},children:t.getVisibleCells().map(e=>{let n=e.getValue(),i=e.column.id,a=t.id,o=X.editingRowId===a,s=F?.editableColumns?.find(e=>e.field===i);return s&&o?(0,g.jsx)(`td`,{className:r.cn(`align-middle`,H.cell),children:(0,g.jsx)(l.DataTableEditCell,{value:n,field:i,config:s.config,isEditing:o,onChange:e=>Z.updateField(i,e),onStartEdit:()=>Z.startEdit(a,t.original),onSave:()=>Z.saveEdit(),onCancel:()=>Z.cancelEdit()})},e.id):(0,g.jsx)(`td`,{className:r.cn(`align-middle`,H.cell),children:(0,_.flexRender)(e.column.columnDef.cell,e.getContext())},e.id)})},t.id):null})})]})}):(0,g.jsx)(`div`,{className:r.cn(`w-full overflow-auto`,Te),children:(0,g.jsxs)(`table`,{className:r.cn(`w-full caption-bottom text-sm`,H.table),style:U(),children:[(0,g.jsx)(`thead`,{className:r.cn(w&&`sticky top-0 bg-background z-10`),children:G.getHeaderGroups().map(e=>(0,g.jsx)(`tr`,{className:`border-b`,children:e.headers.map(e=>(0,g.jsxs)(`th`,{className:r.cn(`text-left font-medium text-muted-foreground`,H.header,e.column.getCanSort()&&`cursor-pointer select-none hover:text-foreground`),onClick:e.column.getToggleSortingHandler(),style:{width:e.getSize(),minWidth:e.column.columnDef.minSize,maxWidth:e.column.columnDef.maxSize},children:[e.isPlaceholder?null:(0,_.flexRender)(e.column.columnDef.header,e.getContext()),e.column.getIsSorted()&&(0,g.jsx)(`span`,{className:`ml-2`,children:e.column.getIsSorted()===`asc`?`↑`:`↓`})]},e.id))},e.id))}),(0,g.jsx)(`tbody`,{children:(T?.columns?.length?G.getGroupedRowModel().rows:E?.enabled?G.getExpandedRowModel().rows:G.getRowModel().rows).map((e,t)=>{let n=e.getIsGrouped(),i=e.getIsExpanded();return(0,g.jsxs)(m.Fragment,{children:[(0,g.jsx)(`tr`,{className:r.cn(`border-b transition-colors`,j&&`cursor-pointer hover:bg-muted/50`,e.getIsSelected()&&`bg-muted`,n&&`bg-muted/30 font-medium`),onClick:()=>j?.(e.original),onDoubleClick:()=>M?.(e.original),children:e.getVisibleCells().map(t=>{let a=t.getValue(),o=t.column.id,s=e.id,c=X.editingRowId===s,u=F?.editableColumns?.find(e=>e.field===o);return u&&c?(0,g.jsx)(`td`,{className:r.cn(`align-middle`,H.cell),children:(0,g.jsx)(l.DataTableEditCell,{value:a,field:o,config:u.config,isEditing:c,onChange:e=>Z.updateField(o,e),onStartEdit:()=>Z.startEdit(s,e.original),onSave:()=>Z.saveEdit(),onCancel:()=>Z.cancelEdit()})},t.id):(0,g.jsx)(`td`,{className:r.cn(`align-middle`,H.cell),children:n?(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`button`,{onClick:t=>{t.stopPropagation(),e.toggleExpanded()},className:`p-1 hover:bg-muted rounded`,children:i?`▼`:`▶`}),(0,g.jsxs)(`span`,{className:`font-medium`,children:[t.getValue(),` (`,e.subRows.length,` éléments)`]})]}):(0,_.flexRender)(t.column.columnDef.cell,t.getContext())},t.id)})}),E?.enabled&&i&&(0,g.jsx)(`tr`,{children:(0,g.jsx)(`td`,{colSpan:W.length,className:`p-0`,children:(0,g.jsx)(`div`,{className:`border-b`,children:E.renderExpanded?.(e.original)})})},`${e.id}-expanded-${t}`)]},`${e.id}-${t}`)})})]})}),x&&(0,g.jsx)(s.DataTablePagination,{table:G,pageSizeOptions:x.pageSizeOptions})]})}exports.DataTableAdvanced=v;
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`./utils.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`react/jsx-runtime`);function i({header:e,column:i,className:a}){let[o,s]=n.useState(!1),c=n.useCallback(e=>{e.preventDefault(),e.stopPropagation(),s(!0);let t=e.clientX,n=i.getSize(),r=e=>{let r=e.clientX-t,a=Math.max(50,n+r);i.setSize(a)},a=()=>{s(!1),document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,a)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,a)},[i]);return i.getCanResize()?(0,r.jsx)(`div`,{className:t.cn(`absolute right-0 top-0 h-full w-1 cursor-col-resize bg-border opacity-0 hover:opacity-100 transition-opacity`,o&&`opacity-100 bg-primary`,a),onMouseDown:c,style:{width:`4px`,marginRight:`-2px`}}):null}exports.DataTableColumnResizer=i;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("./utils.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("react/jsx-runtime");function i({header:e,column:i,className:a}){let[o,s]=n.useState(!1),c=n.useCallback(e=>{e.preventDefault(),e.stopPropagation(),s(!0);let t=e.clientX,n=i.getSize(),r=e=>{let r=e.clientX-t,a=Math.max(50,n+r);i.setSize(a)},a=()=>{s(!1),document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,a)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,a)},[i]);return i.getCanResize()?(0,r.jsx)(`div`,{className:t.cn(`absolute right-0 top-0 h-full w-1 cursor-col-resize bg-border opacity-0 hover:opacity-100 transition-opacity`,o&&`opacity-100 bg-primary`,a),onMouseDown:c,style:{width:`4px`,marginRight:`-2px`}}):null}exports.DataTableColumnResizer=i;
@@ -1,2 +1,2 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../context-menu/index.cjs.js`),n=require(`./utils.cjs.js`);let r=require(`react`);r=e.__toESM(r);let i=require(`lucide-react`),a=require(`react/jsx-runtime`);function o({row:e,rowIndex:o,actions:s=[],columnActions:c=[],onCopy:l,onExport:u,onEdit:d,onDelete:f,onToggleColumnVisibility:p,visibleColumns:m=[],className:h,children:g}){let[_,v]=r.useState(!1),y=r.useCallback(t=>{t.onClick(e),v(!1)},[e]),b=r.useCallback(()=>{if(l)l(e);else{let t=Object.entries(e).map(([e,t])=>`${e}: ${t}`).join(`
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../context-menu/index.cjs.js"),n=require("./utils.cjs.js");let r=require("react");r=e.__toESM(r);let i=require("lucide-react"),a=require("react/jsx-runtime");function o({row:e,rowIndex:o,actions:s=[],columnActions:c=[],onCopy:l,onExport:u,onEdit:d,onDelete:f,onToggleColumnVisibility:p,visibleColumns:m=[],className:h,children:g}){let[_,v]=r.useState(!1),y=r.useCallback(t=>{t.onClick(e),v(!1)},[e]),b=r.useCallback(()=>{if(l)l(e);else{let t=Object.entries(e).map(([e,t])=>`${e}: ${t}`).join(`
2
2
  `);navigator.clipboard.writeText(t)}v(!1)},[e,l]),x=r.useCallback(()=>{u&&u(e),v(!1)},[e,u]),S=r.useCallback(()=>{d&&d(e),v(!1)},[e,d]),C=r.useCallback(()=>{f&&f(e),v(!1)},[e,f]),w=r.useCallback(e=>{p&&p(e),v(!1)},[p]);return(0,a.jsxs)(t.ContextMenu,{onOpenChange:v,children:[(0,a.jsx)(t.ContextMenuTrigger,{asChild:!0,children:g}),(0,a.jsxs)(t.ContextMenuContent,{className:n.cn(`w-64`,h),children:[s.length>0&&(0,a.jsxs)(a.Fragment,{children:[s.map(e=>(0,a.jsxs)(t.ContextMenuItem,{onClick:()=>y(e),disabled:e.disabled,className:n.cn(e.destructive&&`text-destructive focus:text-destructive`),children:[e.icon&&(0,a.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]},e.id)),(0,a.jsx)(t.ContextMenuSeparator,{})]}),(0,a.jsxs)(t.ContextMenuItem,{onClick:b,children:[(0,a.jsx)(i.Copy,{className:`mr-2 h-4 w-4`}),`Copy row`]}),u&&(0,a.jsxs)(t.ContextMenuItem,{onClick:x,children:[(0,a.jsx)(i.Download,{className:`mr-2 h-4 w-4`}),`Export row`]}),d&&(0,a.jsxs)(t.ContextMenuItem,{onClick:S,children:[(0,a.jsx)(i.Edit,{className:`mr-2 h-4 w-4`}),`Edit row`]}),f&&(0,a.jsxs)(t.ContextMenuItem,{onClick:C,className:`text-destructive focus:text-destructive`,children:[(0,a.jsx)(i.Trash2,{className:`mr-2 h-4 w-4`}),`Delete row`]}),c.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.ContextMenuSeparator,{}),(0,a.jsx)(`div`,{className:`px-2 py-1.5 text-sm font-semibold text-muted-foreground`,children:`Columns`}),c.map(e=>(0,a.jsxs)(t.ContextMenuItem,{onClick:()=>w(e.id),disabled:e.disabled,children:[e.icon&&(0,a.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]},e.id))]}),p&&m.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.ContextMenuSeparator,{}),(0,a.jsx)(`div`,{className:`px-2 py-1.5 text-sm font-semibold text-muted-foreground`,children:`Toggle Columns`}),m.map(e=>(0,a.jsxs)(t.ContextMenuItem,{onClick:()=>w(e),children:[(0,a.jsx)(i.Eye,{className:`mr-2 h-4 w-4`}),e]},e))]})]})]})}exports.DataTableContextMenu=o;
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../button/index.cjs.js`),n=require(`../calendar/index.cjs.js`),r=require(`../checkbox/index.cjs.js`),i=require(`../input/index.cjs.js`),a=require(`../select/index.cjs.js`),o=require(`../popover/index.cjs.js`),s=require(`../switch/index.cjs.js`),c=require(`../textarea/index.cjs.js`),l=require(`./utils.cjs.js`),u=require(`../../utils/local-date.cjs.js`);let d=require(`react`);d=e.__toESM(d);let f=require(`lucide-react`),p=require(`react/jsx-runtime`),m=require(`date-fns`);function h({value:e,field:h,config:_,isEditing:v,error:y,onChange:b,onStartEdit:x,onSave:S,onCancel:C,className:w}){let[T,E]=d.useState(e),[D,O]=d.useState(!1);d.useEffect(()=>{E(e)},[e]);let k=()=>{b(T),S()},A=()=>{E(e),C()},j=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),k()):e.key===`Escape`&&(e.preventDefault(),A())};return v?(0,p.jsxs)(`div`,{className:l.cn(`relative`,w),children:[(()=>{switch(_.type){case`textarea`:return(0,p.jsx)(c.Textarea,{value:T==null?``:String(T),onChange:e=>E(e.target.value),onKeyDown:j,placeholder:_.placeholder,rows:_.rows||3,disabled:_.disabled,className:l.cn(y&&`border-destructive`)});case`select`:return(0,p.jsxs)(a.Select,{value:T==null?``:String(T),onValueChange:E,disabled:_.disabled,children:[(0,p.jsx)(a.SelectTrigger,{className:l.cn(y&&`border-destructive`),children:(0,p.jsx)(a.SelectValue,{placeholder:_.placeholder})}),(0,p.jsx)(a.SelectContent,{children:_.options?.map(e=>(0,p.jsx)(a.SelectItem,{value:e.value,children:e.label},e.value))})]});case`checkbox`:return(0,p.jsx)(r.Checkbox,{checked:!!T,onCheckedChange:E,disabled:_.disabled});case`switch`:return(0,p.jsx)(s.Switch,{checked:!!T,onCheckedChange:E,disabled:_.disabled});case`date`:case`datetime`:return(0,p.jsxs)(o.Popover,{open:D,onOpenChange:O,children:[(0,p.jsx)(o.PopoverTrigger,{asChild:!0,children:(0,p.jsxs)(t.Button,{variant:`outline`,className:l.cn(`w-full justify-start text-left font-normal`,!T&&`text-muted-foreground`,y&&`border-destructive`),children:[(0,p.jsx)(f.CalendarIcon,{className:`mr-2 h-4 w-4`}),T?(0,m.format)(u.parseLocalDate(T),`PPP`):_.placeholder]})}),(0,p.jsx)(o.PopoverContent,{className:`w-auto p-0`,align:`start`,children:(0,p.jsx)(n.Calendar,{mode:`single`,selected:T?u.parseLocalDate(T):void 0,onSelect:e=>{e&&(E(_.type===`datetime`?e.toISOString():u.localDateKey(e)),O(!1))},initialFocus:!0})})]});default:return(0,p.jsx)(i.Input,{type:_.type,value:T==null?``:String(T),onChange:e=>E(e.target.value),onKeyDown:j,placeholder:_.placeholder,min:_.min,max:_.max,step:_.step,disabled:_.disabled,required:_.required,pattern:_.pattern,title:_.title,className:l.cn(y&&`border-destructive`)})}})(),(0,p.jsxs)(`div`,{className:`absolute right-1 top-1/2 -translate-y-1/2 flex gap-1`,children:[(0,p.jsx)(t.Button,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,onClick:k,children:(0,p.jsx)(f.Check,{className:`h-3 w-3 text-green-600`})}),(0,p.jsx)(t.Button,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,onClick:A,children:(0,p.jsx)(f.X,{className:`h-3 w-3 text-red-600`})})]}),y&&(0,p.jsx)(`p`,{className:`text-xs text-destructive mt-1`,children:y})]}):(0,p.jsx)(`div`,{className:l.cn(`cursor-pointer hover:bg-muted/50 p-1 rounded transition-colors`,w),onClick:x,children:g(e,_)})}function g(e,t){if(e==null)return(0,p.jsx)(`span`,{className:`text-muted-foreground italic`,children:`Non défini`});switch(t.type){case`checkbox`:case`switch`:return(0,p.jsx)(`span`,{className:l.cn(`inline-flex items-center px-2 py-1 rounded-full text-xs font-medium`,e?`bg-green-100 text-green-800`:`bg-gray-100 text-gray-800`),children:e?`Oui`:`Non`});case`date`:case`datetime`:try{return(0,m.format)(new Date(e),t.type===`datetime`?`PPP p`:`PPP`)}catch{return String(e)}case`select`:let n=t.options?.find(t=>t.value===e);return n?n.label:String(e);case`textarea`:return(0,p.jsx)(`div`,{className:`max-w-xs`,children:(0,p.jsx)(`p`,{className:`truncate`,children:String(e)})});default:return String(e)}}exports.DataTableEditCell=h;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../button/index.cjs.js"),n=require("../calendar/index.cjs.js"),r=require("../checkbox/index.cjs.js"),i=require("../input/index.cjs.js"),a=require("../select/index.cjs.js"),o=require("../popover/index.cjs.js"),s=require("../switch/index.cjs.js"),c=require("../textarea/index.cjs.js"),l=require("./utils.cjs.js"),u=require("../../utils/local-date.cjs.js");let d=require("react");d=e.__toESM(d);let f=require("lucide-react"),p=require("react/jsx-runtime"),m=require("date-fns");function h({value:e,field:h,config:_,isEditing:v,error:y,onChange:b,onStartEdit:x,onSave:S,onCancel:C,className:w}){let[T,E]=d.useState(e),[D,O]=d.useState(!1);d.useEffect(()=>{E(e)},[e]);let k=()=>{b(T),S()},A=()=>{E(e),C()},j=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),k()):e.key===`Escape`&&(e.preventDefault(),A())};return v?(0,p.jsxs)(`div`,{className:l.cn(`relative`,w),children:[(()=>{switch(_.type){case`textarea`:return(0,p.jsx)(c.Textarea,{value:T==null?``:String(T),onChange:e=>E(e.target.value),onKeyDown:j,placeholder:_.placeholder,rows:_.rows||3,disabled:_.disabled,className:l.cn(y&&`border-destructive`)});case`select`:return(0,p.jsxs)(a.Select,{value:T==null?``:String(T),onValueChange:E,disabled:_.disabled,children:[(0,p.jsx)(a.SelectTrigger,{className:l.cn(y&&`border-destructive`),children:(0,p.jsx)(a.SelectValue,{placeholder:_.placeholder})}),(0,p.jsx)(a.SelectContent,{children:_.options?.map(e=>(0,p.jsx)(a.SelectItem,{value:e.value,children:e.label},e.value))})]});case`checkbox`:return(0,p.jsx)(r.Checkbox,{checked:!!T,onCheckedChange:E,disabled:_.disabled});case`switch`:return(0,p.jsx)(s.Switch,{checked:!!T,onCheckedChange:E,disabled:_.disabled});case`date`:case`datetime`:return(0,p.jsxs)(o.Popover,{open:D,onOpenChange:O,children:[(0,p.jsx)(o.PopoverTrigger,{asChild:!0,children:(0,p.jsxs)(t.Button,{variant:`outline`,className:l.cn(`w-full justify-start text-left font-normal`,!T&&`text-muted-foreground`,y&&`border-destructive`),children:[(0,p.jsx)(f.CalendarIcon,{className:`mr-2 h-4 w-4`}),T?(0,m.format)(u.parseLocalDate(T),`PPP`):_.placeholder]})}),(0,p.jsx)(o.PopoverContent,{className:`w-auto p-0`,align:`start`,children:(0,p.jsx)(n.Calendar,{mode:`single`,selected:T?u.parseLocalDate(T):void 0,onSelect:e=>{e&&(E(_.type===`datetime`?e.toISOString():u.localDateKey(e)),O(!1))},initialFocus:!0})})]});default:return(0,p.jsx)(i.Input,{type:_.type,value:T==null?``:String(T),onChange:e=>E(e.target.value),onKeyDown:j,placeholder:_.placeholder,min:_.min,max:_.max,step:_.step,disabled:_.disabled,required:_.required,pattern:_.pattern,title:_.title,className:l.cn(y&&`border-destructive`)})}})(),(0,p.jsxs)(`div`,{className:`absolute right-1 top-1/2 -translate-y-1/2 flex gap-1`,children:[(0,p.jsx)(t.Button,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,onClick:k,children:(0,p.jsx)(f.Check,{className:`h-3 w-3 text-green-600`})}),(0,p.jsx)(t.Button,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,onClick:A,children:(0,p.jsx)(f.X,{className:`h-3 w-3 text-red-600`})})]}),y&&(0,p.jsx)(`p`,{className:`text-xs text-destructive mt-1`,children:y})]}):(0,p.jsx)(`div`,{className:l.cn(`cursor-pointer hover:bg-muted/50 p-1 rounded transition-colors`,w),onClick:x,children:g(e,_)})}function g(e,t){if(e==null)return(0,p.jsx)(`span`,{className:`text-muted-foreground italic`,children:`Non défini`});switch(t.type){case`checkbox`:case`switch`:return(0,p.jsx)(`span`,{className:l.cn(`inline-flex items-center px-2 py-1 rounded-full text-xs font-medium`,e?`bg-green-100 text-green-800`:`bg-gray-100 text-gray-800`),children:e?`Oui`:`Non`});case`date`:case`datetime`:try{return(0,m.format)(new Date(e),t.type===`datetime`?`PPP p`:`PPP`)}catch{return String(e)}case`select`:let n=t.options?.find(t=>t.value===e);return n?n.label:String(e);case`textarea`:return(0,p.jsx)(`div`,{className:`max-w-xs`,children:(0,p.jsx)(`p`,{className:`truncate`,children:String(e)})});default:return String(e)}}exports.DataTableEditCell=h;
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../badge/index.cjs.js`),n=require(`../button/index.cjs.js`),r=require(`../checkbox/index.cjs.js`),i=require(`../command/index.cjs.js`),a=require(`../label/index.cjs.js`),o=require(`../input/index.cjs.js`),s=require(`../select/index.cjs.js`),c=require(`../popover/index.cjs.js`),l=require(`../sheet/index.cjs.js`);let u=require(`react`);u=e.__toESM(u);let d=require(`lucide-react`),f=require(`react/jsx-runtime`),p=require(`react-i18next`);function m({table:e,filters:m,position:h=`top`,onFiltersChange:g}){let{t:_}=(0,p.useTranslation)(),[v,y]=u.useState([]),[b,x]=u.useState(!1),S=u.useCallback(t=>{let n=e.getPreFilteredRowModel().rows,r=new Set;return n.forEach(e=>{let n=e.getValue(t);n!=null&&n!==``&&r.add(String(n))}),Array.from(r).sort()},[e]),C={text:[{value:`contains`,label:_(`datatable.filters.contains`,{defaultValue:`Contains`})},{value:`equals`,label:_(`datatable.filters.equals`,{defaultValue:`Equals`})},{value:`startsWith`,label:_(`datatable.filters.startsWith`,{defaultValue:`Starts with`})},{value:`endsWith`,label:_(`datatable.filters.endsWith`,{defaultValue:`Ends with`})},{value:`notContains`,label:_(`datatable.filters.notContains`,{defaultValue:`Not contains`})}],select:[{value:`equals`,label:_(`datatable.filters.equals`,{defaultValue:`Equals`})},{value:`notEquals`,label:_(`datatable.filters.notEquals`,{defaultValue:`Not equals`})}],multiselect:[{value:`in`,label:_(`datatable.filters.in`,{defaultValue:`In`})},{value:`notIn`,label:_(`datatable.filters.notIn`,{defaultValue:`Not in`})}],range:[{value:`between`,label:_(`datatable.filters.between`,{defaultValue:`Between`})},{value:`greaterThan`,label:_(`datatable.filters.greaterThan`,{defaultValue:`Greater than`})},{value:`lessThan`,label:_(`datatable.filters.lessThan`,{defaultValue:`Less than`})}],date:[{value:`equals`,label:_(`datatable.filters.equals`,{defaultValue:`Equals`})},{value:`before`,label:_(`datatable.filters.before`,{defaultValue:`Before`})},{value:`after`,label:_(`datatable.filters.after`,{defaultValue:`After`})},{value:`between`,label:_(`datatable.filters.between`,{defaultValue:`Between`})}],daterange:[{value:`between`,label:_(`datatable.filters.between`,{defaultValue:`Between`})},{value:`before`,label:_(`datatable.filters.before`,{defaultValue:`Before`})},{value:`after`,label:_(`datatable.filters.after`,{defaultValue:`After`})}],checkbox:[{value:`equals`,label:_(`datatable.filters.equals`,{defaultValue:`Equals`})}],number:[{value:`equals`,label:_(`datatable.filters.equals`,{defaultValue:`Equals`})},{value:`notEquals`,label:_(`datatable.filters.notEquals`,{defaultValue:`Not equals`})},{value:`greaterThan`,label:_(`datatable.filters.greaterThan`,{defaultValue:`Greater than`})},{value:`lessThan`,label:_(`datatable.filters.lessThan`,{defaultValue:`Less than`})},{value:`between`,label:_(`datatable.filters.between`,{defaultValue:`Between`})}],boolean:[{value:`equals`,label:_(`datatable.filters.equals`,{defaultValue:`Equals`})},{value:`notEquals`,label:_(`datatable.filters.notEquals`,{defaultValue:`Not equals`})}]},w=(t,n,r)=>{let i=e.getColumn(t.column||t.id);if(!i)return;let a={columnId:t.column||t.id,operator:n,value:r,label:t.label};y(e=>[...e,a]),i.setFilterValue({operator:n,value:r}),g?.([...v,a])},T=t=>{let n=v[t],r=e.getColumn(n.columnId);r&&r.setFilterValue(void 0);let i=v.filter((e,n)=>n!==t);y(i),g?.(i)},E=()=>{v.forEach(t=>{let n=e.getColumn(t.columnId);n&&n.setFilterValue(void 0)}),y([]),g?.([])},D=e=>{let[l,p]=u.useState(C[e.type]?.[0]?.value||`equals`),m=()=>e.defaultValue===void 0?e.type===`range`?{min:``,max:``}:e.type===`daterange`?{from:``,to:``}:e.type===`checkbox`?!1:``:e.defaultValue,[h,g]=u.useState(m()),[v,y]=u.useState([]),[b,x]=u.useState(!1),T=e.column?S(e.column):[];return(0,f.jsxs)(`div`,{className:`space-y-3 p-4 border rounded-lg`,children:[(0,f.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,f.jsx)(a.Label,{className:`text-sm font-medium`,children:e.label}),(0,f.jsx)(t.Badge,{variant:`outline`,className:`text-xs`,children:e.type})]}),C[e.type]&&C[e.type].length>1&&(0,f.jsxs)(s.Select,{value:l,onValueChange:p,children:[(0,f.jsx)(s.SelectTrigger,{className:`h-9`,children:(0,f.jsx)(s.SelectValue,{})}),(0,f.jsx)(s.SelectContent,{children:C[e.type].map(e=>(0,f.jsx)(s.SelectItem,{value:e.value,children:e.label},e.value))})]}),e.type===`text`&&(0,f.jsx)(`div`,{className:`space-y-2`,children:(0,f.jsxs)(c.Popover,{open:b,onOpenChange:x,children:[(0,f.jsx)(c.PopoverTrigger,{asChild:!0,children:(0,f.jsx)(o.Input,{placeholder:e.placeholder||_(`datatable.filters.enterValue`,{defaultValue:`Enter value...`}),value:h,onChange:e=>{g(e.target.value),x(!0)},className:`h-9`})}),T.length>0&&h&&(0,f.jsx)(c.PopoverContent,{className:`w-[--radix-popover-trigger-width] p-0`,align:`start`,children:(0,f.jsxs)(i.Command,{children:[(0,f.jsx)(i.CommandInput,{placeholder:_(`datatable.filters.search`,{defaultValue:`Search...`})}),(0,f.jsx)(i.CommandEmpty,{children:_(`datatable.filters.noResults`,{defaultValue:`No results`})}),(0,f.jsx)(i.CommandGroup,{className:`max-h-64 overflow-auto`,children:T.filter(e=>e.toLowerCase().includes(h.toLowerCase())).slice(0,50).map(e=>(0,f.jsx)(i.CommandItem,{onSelect:()=>{g(e),x(!1)},children:e},e))})]})})]})}),e.type===`select`&&(0,f.jsxs)(s.Select,{value:h,onValueChange:g,children:[(0,f.jsx)(s.SelectTrigger,{className:`h-9`,children:(0,f.jsx)(s.SelectValue,{placeholder:e.placeholder})}),(0,f.jsx)(s.SelectContent,{children:(e.options||T.map(e=>({label:e,value:e}))).map(e=>(0,f.jsx)(s.SelectItem,{value:String(e.value),children:e.label},e.value))})]}),e.type===`multiselect`&&(0,f.jsxs)(c.Popover,{children:[(0,f.jsx)(c.PopoverTrigger,{asChild:!0,children:(0,f.jsxs)(n.Button,{variant:`outline`,className:`w-full justify-between h-9`,children:[v.length>0?`${v.length} ${_(`datatable.filters.selected`,{defaultValue:`selected`})}`:e.placeholder||_(`datatable.filters.selectValues`,{defaultValue:`Select values...`}),(0,f.jsx)(d.ChevronDown,{className:`ml-2 h-4 w-4 opacity-50`})]})}),(0,f.jsx)(c.PopoverContent,{className:`w-[--radix-popover-trigger-width] p-0`,align:`start`,children:(0,f.jsxs)(i.Command,{children:[(0,f.jsx)(i.CommandInput,{placeholder:_(`datatable.filters.search`,{defaultValue:`Search...`})}),(0,f.jsx)(i.CommandEmpty,{children:_(`datatable.filters.noResults`,{defaultValue:`No results`})}),(0,f.jsx)(i.CommandGroup,{className:`max-h-64 overflow-auto`,children:T.map(e=>(0,f.jsxs)(i.CommandItem,{onSelect:()=>{y(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},children:[(0,f.jsx)(r.Checkbox,{checked:v.includes(e),className:`mr-2`}),e]},e))})]})})]}),e.type===`date`&&(0,f.jsx)(o.Input,{type:`date`,value:h,onChange:e=>g(e.target.value),className:`h-9`}),e.type===`range`&&(0,f.jsxs)(`div`,{className:`flex gap-2`,children:[(0,f.jsx)(o.Input,{type:`number`,placeholder:`Min`,value:h.min||``,onChange:e=>g({...h,min:e.target.value}),className:`h-9`}),(0,f.jsx)(o.Input,{type:`number`,placeholder:`Max`,value:h.max||``,onChange:e=>g({...h,max:e.target.value}),className:`h-9`})]}),e.type===`daterange`&&(0,f.jsxs)(`div`,{className:`flex gap-2`,children:[(0,f.jsx)(o.Input,{type:`date`,placeholder:_(`datatable.filters.from`,{defaultValue:`From`}),value:h.from||``,onChange:e=>g({...h,from:e.target.value}),className:`h-9`}),(0,f.jsx)(o.Input,{type:`date`,placeholder:_(`datatable.filters.to`,{defaultValue:`To`}),value:h.to||``,onChange:e=>g({...h,to:e.target.value}),className:`h-9`})]}),e.type===`checkbox`&&(0,f.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,f.jsx)(r.Checkbox,{id:`checkbox-${e.id}`,checked:h===!0,onCheckedChange:e=>g(e===!0)}),(0,f.jsx)(a.Label,{htmlFor:`checkbox-${e.id}`,className:`text-sm font-normal`,children:e.placeholder||_(`datatable.filters.checked`,{defaultValue:`Checked`})})]}),(0,f.jsxs)(n.Button,{onClick:()=>{let t=e.type===`multiselect`?v:h,n=!1;if(e.type===`multiselect`)n=Array.isArray(t)&&t.length>0;else if(e.type===`range`){let e=t;n=e.min!==``||e.max!==``}else if(e.type===`daterange`){let e=t;n=e.from!==``||e.to!==``}else n=e.type===`checkbox`?!0:t!==``&&t!=null;n&&(w(e,l,t),g(m()),y([]),x(!1))},size:`sm`,className:`w-full`,children:[(0,f.jsx)(d.Plus,{className:`h-4 w-4 mr-2`}),_(`datatable.filters.apply`,{defaultValue:`Apply filter`})]})]})};if(!m||m.length===0)return null;let O=(0,f.jsxs)(`div`,{className:`space-y-4`,children:[v.length>0&&(0,f.jsxs)(`div`,{className:`space-y-2`,children:[(0,f.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,f.jsx)(a.Label,{className:`text-sm text-muted-foreground`,children:_(`datatable.filters.active`,{defaultValue:`Filtres actifs`})}),(0,f.jsxs)(n.Button,{variant:`ghost`,size:`sm`,onClick:E,children:[(0,f.jsx)(d.Trash2,{className:`h-3 w-3 mr-1`}),_(`datatable.filters.clearAll`,{defaultValue:`Tout effacer`})]})]}),(0,f.jsx)(`div`,{className:`space-y-1`,children:v.map((e,t)=>(0,f.jsxs)(`div`,{className:`flex items-center justify-between p-2 bg-muted rounded-md text-sm`,children:[(0,f.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,f.jsx)(`span`,{className:`font-medium`,children:e.label}),(0,f.jsx)(`span`,{className:`text-muted-foreground mx-2`,children:e.operator}),(0,f.jsx)(`span`,{className:`text-primary truncate`,children:Array.isArray(e.value)?e.value.join(`, `):String(e.value)})]}),(0,f.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-6 w-6 shrink-0`,onClick:()=>T(t),children:(0,f.jsx)(d.X,{className:`h-3 w-3`})})]},t))})]}),(0,f.jsxs)(`div`,{className:`space-y-3`,children:[(0,f.jsx)(a.Label,{className:`text-sm text-muted-foreground`,children:_(`datatable.filters.available`,{defaultValue:`Filtres disponibles`})}),m.map(e=>(0,f.jsx)(`div`,{children:D(e)},e.id))]})]}),k=(0,f.jsxs)(n.Button,{variant:`outline`,size:`sm`,children:[(0,f.jsx)(d.Filter,{className:`h-4 w-4 mr-2`}),_(`datatable.filters.title`,{defaultValue:`Filtres`}),v.length>0&&(0,f.jsx)(t.Badge,{variant:`secondary`,className:`ml-2`,children:v.length})]});return h===`right`||h===`left`?(0,f.jsxs)(l.Sheet,{open:b,onOpenChange:x,children:[(0,f.jsx)(l.SheetTrigger,{asChild:!0,children:k}),(0,f.jsxs)(l.SheetContent,{side:h,className:`w-[400px] sm:w-[540px] overflow-y-auto`,children:[(0,f.jsxs)(l.SheetHeader,{children:[(0,f.jsxs)(l.SheetTitle,{className:`flex items-center gap-2`,children:[(0,f.jsx)(d.Filter,{className:`h-5 w-5`}),_(`datatable.filters.title`,{defaultValue:`Filtres`})]}),(0,f.jsx)(l.SheetDescription,{children:_(`datatable.filters.description`,{defaultValue:`Appliquez des filtres pour affiner les résultats`})})]}),(0,f.jsx)(`div`,{className:`mt-6`,children:O})]})]}):(0,f.jsxs)(c.Popover,{open:b,onOpenChange:x,children:[(0,f.jsx)(c.PopoverTrigger,{asChild:!0,children:k}),(0,f.jsx)(c.PopoverContent,{className:`w-[400px] max-h-[600px] overflow-y-auto`,align:h===`top`?`start`:`end`,children:(0,f.jsxs)(`div`,{className:`space-y-4`,children:[(0,f.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,f.jsx)(d.Filter,{className:`h-4 w-4`}),(0,f.jsx)(`h4`,{className:`font-semibold text-sm`,children:_(`datatable.filters.title`,{defaultValue:`Filtres`})})]})}),O]})})]})}exports.DataTableFilters=m;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../badge/index.cjs.js"),n=require("../button/index.cjs.js"),r=require("../checkbox/index.cjs.js"),i=require("../command/index.cjs.js"),a=require("../label/index.cjs.js"),o=require("../input/index.cjs.js"),s=require("../select/index.cjs.js"),c=require("../popover/index.cjs.js"),l=require("../sheet/index.cjs.js");let u=require("react");u=e.__toESM(u);let d=require("lucide-react"),f=require("react/jsx-runtime"),p=require("react-i18next");function m({table:e,filters:m,position:h=`top`,onFiltersChange:g}){let{t:_}=(0,p.useTranslation)(),[v,y]=u.useState([]),[b,x]=u.useState(!1),S=u.useCallback(t=>{let n=e.getPreFilteredRowModel().rows,r=new Set;return n.forEach(e=>{let n=e.getValue(t);n!=null&&n!==``&&r.add(String(n))}),Array.from(r).sort()},[e]),C={text:[{value:`contains`,label:_(`datatable.filters.contains`,{defaultValue:`Contains`})},{value:`equals`,label:_(`datatable.filters.equals`,{defaultValue:`Equals`})},{value:`startsWith`,label:_(`datatable.filters.startsWith`,{defaultValue:`Starts with`})},{value:`endsWith`,label:_(`datatable.filters.endsWith`,{defaultValue:`Ends with`})},{value:`notContains`,label:_(`datatable.filters.notContains`,{defaultValue:`Not contains`})}],select:[{value:`equals`,label:_(`datatable.filters.equals`,{defaultValue:`Equals`})},{value:`notEquals`,label:_(`datatable.filters.notEquals`,{defaultValue:`Not equals`})}],multiselect:[{value:`in`,label:_(`datatable.filters.in`,{defaultValue:`In`})},{value:`notIn`,label:_(`datatable.filters.notIn`,{defaultValue:`Not in`})}],range:[{value:`between`,label:_(`datatable.filters.between`,{defaultValue:`Between`})},{value:`greaterThan`,label:_(`datatable.filters.greaterThan`,{defaultValue:`Greater than`})},{value:`lessThan`,label:_(`datatable.filters.lessThan`,{defaultValue:`Less than`})}],date:[{value:`equals`,label:_(`datatable.filters.equals`,{defaultValue:`Equals`})},{value:`before`,label:_(`datatable.filters.before`,{defaultValue:`Before`})},{value:`after`,label:_(`datatable.filters.after`,{defaultValue:`After`})},{value:`between`,label:_(`datatable.filters.between`,{defaultValue:`Between`})}],daterange:[{value:`between`,label:_(`datatable.filters.between`,{defaultValue:`Between`})},{value:`before`,label:_(`datatable.filters.before`,{defaultValue:`Before`})},{value:`after`,label:_(`datatable.filters.after`,{defaultValue:`After`})}],checkbox:[{value:`equals`,label:_(`datatable.filters.equals`,{defaultValue:`Equals`})}],number:[{value:`equals`,label:_(`datatable.filters.equals`,{defaultValue:`Equals`})},{value:`notEquals`,label:_(`datatable.filters.notEquals`,{defaultValue:`Not equals`})},{value:`greaterThan`,label:_(`datatable.filters.greaterThan`,{defaultValue:`Greater than`})},{value:`lessThan`,label:_(`datatable.filters.lessThan`,{defaultValue:`Less than`})},{value:`between`,label:_(`datatable.filters.between`,{defaultValue:`Between`})}],boolean:[{value:`equals`,label:_(`datatable.filters.equals`,{defaultValue:`Equals`})},{value:`notEquals`,label:_(`datatable.filters.notEquals`,{defaultValue:`Not equals`})}]},w=(t,n,r)=>{let i=e.getColumn(t.column||t.id);if(!i)return;let a={columnId:t.column||t.id,operator:n,value:r,label:t.label};y(e=>[...e,a]),i.setFilterValue({operator:n,value:r}),g?.([...v,a])},T=t=>{let n=v[t],r=e.getColumn(n.columnId);r&&r.setFilterValue(void 0);let i=v.filter((e,n)=>n!==t);y(i),g?.(i)},E=()=>{v.forEach(t=>{let n=e.getColumn(t.columnId);n&&n.setFilterValue(void 0)}),y([]),g?.([])},D=e=>{let[l,p]=u.useState(C[e.type]?.[0]?.value||`equals`),m=()=>e.defaultValue===void 0?e.type===`range`?{min:``,max:``}:e.type===`daterange`?{from:``,to:``}:e.type===`checkbox`?!1:``:e.defaultValue,[h,g]=u.useState(m()),[v,y]=u.useState([]),[b,x]=u.useState(!1),T=e.column?S(e.column):[];return(0,f.jsxs)(`div`,{className:`space-y-3 p-4 border rounded-lg`,children:[(0,f.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,f.jsx)(a.Label,{className:`text-sm font-medium`,children:e.label}),(0,f.jsx)(t.Badge,{variant:`outline`,className:`text-xs`,children:e.type})]}),C[e.type]&&C[e.type].length>1&&(0,f.jsxs)(s.Select,{value:l,onValueChange:p,children:[(0,f.jsx)(s.SelectTrigger,{className:`h-9`,children:(0,f.jsx)(s.SelectValue,{})}),(0,f.jsx)(s.SelectContent,{children:C[e.type].map(e=>(0,f.jsx)(s.SelectItem,{value:e.value,children:e.label},e.value))})]}),e.type===`text`&&(0,f.jsx)(`div`,{className:`space-y-2`,children:(0,f.jsxs)(c.Popover,{open:b,onOpenChange:x,children:[(0,f.jsx)(c.PopoverTrigger,{asChild:!0,children:(0,f.jsx)(o.Input,{placeholder:e.placeholder||_(`datatable.filters.enterValue`,{defaultValue:`Enter value...`}),value:h,onChange:e=>{g(e.target.value),x(!0)},className:`h-9`})}),T.length>0&&h&&(0,f.jsx)(c.PopoverContent,{className:`w-[--radix-popover-trigger-width] p-0`,align:`start`,children:(0,f.jsxs)(i.Command,{children:[(0,f.jsx)(i.CommandInput,{placeholder:_(`datatable.filters.search`,{defaultValue:`Search...`})}),(0,f.jsx)(i.CommandEmpty,{children:_(`datatable.filters.noResults`,{defaultValue:`No results`})}),(0,f.jsx)(i.CommandGroup,{className:`max-h-64 overflow-auto`,children:T.filter(e=>e.toLowerCase().includes(h.toLowerCase())).slice(0,50).map(e=>(0,f.jsx)(i.CommandItem,{onSelect:()=>{g(e),x(!1)},children:e},e))})]})})]})}),e.type===`select`&&(0,f.jsxs)(s.Select,{value:h,onValueChange:g,children:[(0,f.jsx)(s.SelectTrigger,{className:`h-9`,children:(0,f.jsx)(s.SelectValue,{placeholder:e.placeholder})}),(0,f.jsx)(s.SelectContent,{children:(e.options||T.map(e=>({label:e,value:e}))).map(e=>(0,f.jsx)(s.SelectItem,{value:String(e.value),children:e.label},e.value))})]}),e.type===`multiselect`&&(0,f.jsxs)(c.Popover,{children:[(0,f.jsx)(c.PopoverTrigger,{asChild:!0,children:(0,f.jsxs)(n.Button,{variant:`outline`,className:`w-full justify-between h-9`,children:[v.length>0?`${v.length} ${_(`datatable.filters.selected`,{defaultValue:`selected`})}`:e.placeholder||_(`datatable.filters.selectValues`,{defaultValue:`Select values...`}),(0,f.jsx)(d.ChevronDown,{className:`ml-2 h-4 w-4 opacity-50`})]})}),(0,f.jsx)(c.PopoverContent,{className:`w-[--radix-popover-trigger-width] p-0`,align:`start`,children:(0,f.jsxs)(i.Command,{children:[(0,f.jsx)(i.CommandInput,{placeholder:_(`datatable.filters.search`,{defaultValue:`Search...`})}),(0,f.jsx)(i.CommandEmpty,{children:_(`datatable.filters.noResults`,{defaultValue:`No results`})}),(0,f.jsx)(i.CommandGroup,{className:`max-h-64 overflow-auto`,children:T.map(e=>(0,f.jsxs)(i.CommandItem,{onSelect:()=>{y(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},children:[(0,f.jsx)(r.Checkbox,{checked:v.includes(e),className:`mr-2`}),e]},e))})]})})]}),e.type===`date`&&(0,f.jsx)(o.Input,{type:`date`,value:h,onChange:e=>g(e.target.value),className:`h-9`}),e.type===`range`&&(0,f.jsxs)(`div`,{className:`flex gap-2`,children:[(0,f.jsx)(o.Input,{type:`number`,placeholder:`Min`,value:h.min||``,onChange:e=>g({...h,min:e.target.value}),className:`h-9`}),(0,f.jsx)(o.Input,{type:`number`,placeholder:`Max`,value:h.max||``,onChange:e=>g({...h,max:e.target.value}),className:`h-9`})]}),e.type===`daterange`&&(0,f.jsxs)(`div`,{className:`flex gap-2`,children:[(0,f.jsx)(o.Input,{type:`date`,placeholder:_(`datatable.filters.from`,{defaultValue:`From`}),value:h.from||``,onChange:e=>g({...h,from:e.target.value}),className:`h-9`}),(0,f.jsx)(o.Input,{type:`date`,placeholder:_(`datatable.filters.to`,{defaultValue:`To`}),value:h.to||``,onChange:e=>g({...h,to:e.target.value}),className:`h-9`})]}),e.type===`checkbox`&&(0,f.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,f.jsx)(r.Checkbox,{id:`checkbox-${e.id}`,checked:h===!0,onCheckedChange:e=>g(e===!0)}),(0,f.jsx)(a.Label,{htmlFor:`checkbox-${e.id}`,className:`text-sm font-normal`,children:e.placeholder||_(`datatable.filters.checked`,{defaultValue:`Checked`})})]}),(0,f.jsxs)(n.Button,{onClick:()=>{let t=e.type===`multiselect`?v:h,n=!1;if(e.type===`multiselect`)n=Array.isArray(t)&&t.length>0;else if(e.type===`range`){let e=t;n=e.min!==``||e.max!==``}else if(e.type===`daterange`){let e=t;n=e.from!==``||e.to!==``}else n=e.type===`checkbox`?!0:t!==``&&t!=null;n&&(w(e,l,t),g(m()),y([]),x(!1))},size:`sm`,className:`w-full`,children:[(0,f.jsx)(d.Plus,{className:`h-4 w-4 mr-2`}),_(`datatable.filters.apply`,{defaultValue:`Apply filter`})]})]})};if(!m||m.length===0)return null;let O=(0,f.jsxs)(`div`,{className:`space-y-4`,children:[v.length>0&&(0,f.jsxs)(`div`,{className:`space-y-2`,children:[(0,f.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,f.jsx)(a.Label,{className:`text-sm text-muted-foreground`,children:_(`datatable.filters.active`,{defaultValue:`Filtres actifs`})}),(0,f.jsxs)(n.Button,{variant:`ghost`,size:`sm`,onClick:E,children:[(0,f.jsx)(d.Trash2,{className:`h-3 w-3 mr-1`}),_(`datatable.filters.clearAll`,{defaultValue:`Tout effacer`})]})]}),(0,f.jsx)(`div`,{className:`space-y-1`,children:v.map((e,t)=>(0,f.jsxs)(`div`,{className:`flex items-center justify-between p-2 bg-muted rounded-md text-sm`,children:[(0,f.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,f.jsx)(`span`,{className:`font-medium`,children:e.label}),(0,f.jsx)(`span`,{className:`text-muted-foreground mx-2`,children:e.operator}),(0,f.jsx)(`span`,{className:`text-primary truncate`,children:Array.isArray(e.value)?e.value.join(`, `):String(e.value)})]}),(0,f.jsx)(n.Button,{variant:`ghost`,size:`icon`,className:`h-6 w-6 shrink-0`,onClick:()=>T(t),children:(0,f.jsx)(d.X,{className:`h-3 w-3`})})]},t))})]}),(0,f.jsxs)(`div`,{className:`space-y-3`,children:[(0,f.jsx)(a.Label,{className:`text-sm text-muted-foreground`,children:_(`datatable.filters.available`,{defaultValue:`Filtres disponibles`})}),m.map(e=>(0,f.jsx)(`div`,{children:D(e)},e.id))]})]}),k=(0,f.jsxs)(n.Button,{variant:`outline`,size:`sm`,children:[(0,f.jsx)(d.Filter,{className:`h-4 w-4 mr-2`}),_(`datatable.filters.title`,{defaultValue:`Filtres`}),v.length>0&&(0,f.jsx)(t.Badge,{variant:`secondary`,className:`ml-2`,children:v.length})]});return h===`right`||h===`left`?(0,f.jsxs)(l.Sheet,{open:b,onOpenChange:x,children:[(0,f.jsx)(l.SheetTrigger,{asChild:!0,children:k}),(0,f.jsxs)(l.SheetContent,{side:h,className:`w-[400px] sm:w-[540px] overflow-y-auto`,children:[(0,f.jsxs)(l.SheetHeader,{children:[(0,f.jsxs)(l.SheetTitle,{className:`flex items-center gap-2`,children:[(0,f.jsx)(d.Filter,{className:`h-5 w-5`}),_(`datatable.filters.title`,{defaultValue:`Filtres`})]}),(0,f.jsx)(l.SheetDescription,{children:_(`datatable.filters.description`,{defaultValue:`Appliquez des filtres pour affiner les résultats`})})]}),(0,f.jsx)(`div`,{className:`mt-6`,children:O})]})]}):(0,f.jsxs)(c.Popover,{open:b,onOpenChange:x,children:[(0,f.jsx)(c.PopoverTrigger,{asChild:!0,children:k}),(0,f.jsx)(c.PopoverContent,{className:`w-[400px] max-h-[600px] overflow-y-auto`,align:h===`top`?`start`:`end`,children:(0,f.jsxs)(`div`,{className:`space-y-4`,children:[(0,f.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,f.jsx)(d.Filter,{className:`h-4 w-4`}),(0,f.jsx)(`h4`,{className:`font-semibold text-sm`,children:_(`datatable.filters.title`,{defaultValue:`Filtres`})})]})}),O]})})]})}exports.DataTableFilters=m;
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../button/index.cjs.js`),n=require(`./utils.cjs.js`);let r=require(`react`);r=e.__toESM(r);let i=require(`lucide-react`),a=require(`react/jsx-runtime`),o=require(`@tanstack/react-table`);function s({row:e,table:s,className:c}){let[l,u]=r.useState(e.getIsExpanded()),d=r.useCallback(()=>{u(!l),e.toggleExpanded()},[l,e]);e.getValue(e.groupingColumnId);let f=e.subRows.length;return(0,a.jsxs)(`div`,{className:n.cn(`flex items-center gap-2 py-2`,c),children:[(0,a.jsx)(t.Button,{variant:`ghost`,size:`sm`,onClick:d,className:`h-6 w-6 p-0`,children:l?(0,a.jsx)(i.ChevronDown,{className:`h-4 w-4`}):(0,a.jsx)(i.ChevronRight,{className:`h-4 w-4`})}),(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,a.jsx)(`span`,{className:`font-medium`,children:(0,o.flexRender)(e.groupingColumn.columnDef.cell,e.getGroupingValue())}),(0,a.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`(`,f,` `,f===1?`item`:`items`,`)`]})]})]})}function c({row:e,table:t,className:r}){let i=e.getAggregationValue();return i?(0,a.jsx)(`div`,{className:n.cn(`flex items-center gap-4 py-2 bg-muted/50`,r),children:Object.entries(i).map(([e,t])=>(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,a.jsxs)(`span`,{className:`text-sm font-medium`,children:[e,`:`]}),(0,a.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:typeof t==`number`?t.toLocaleString():String(t)})]},e))}):null}function l({table:e,groupingColumns:i,onGroupingChange:o,className:s}){let[c,l]=r.useState(i),u=r.useCallback(e=>{let t=c.includes(e)?c.filter(t=>t!==e):[...c,e];l(t),o(t)},[c,o]),d=r.useCallback(()=>{l([]),o([])},[o]);return(0,a.jsxs)(`div`,{className:n.cn(`flex items-center gap-2`,s),children:[(0,a.jsx)(`span`,{className:`text-sm font-medium`,children:`Group by:`}),e.getAllColumns().filter(e=>e.getCanGroup()).map(e=>(0,a.jsx)(t.Button,{variant:c.includes(e.id)?`default`:`outline`,size:`sm`,onClick:()=>u(e.id),children:e.columnDef.header},e.id)),c.length>0&&(0,a.jsx)(t.Button,{variant:`ghost`,size:`sm`,onClick:d,children:`Clear`})]})}exports.DataTableGroupTotals=c,exports.DataTableGrouping=s,exports.DataTableGroupingControls=l;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../button/index.cjs.js"),n=require("./utils.cjs.js");let r=require("react");r=e.__toESM(r);let i=require("lucide-react"),a=require("react/jsx-runtime"),o=require("@tanstack/react-table");function s({row:e,table:s,className:c}){let[l,u]=r.useState(e.getIsExpanded()),d=r.useCallback(()=>{u(!l),e.toggleExpanded()},[l,e]);e.getValue(e.groupingColumnId);let f=e.subRows.length;return(0,a.jsxs)(`div`,{className:n.cn(`flex items-center gap-2 py-2`,c),children:[(0,a.jsx)(t.Button,{variant:`ghost`,size:`sm`,onClick:d,className:`h-6 w-6 p-0`,children:l?(0,a.jsx)(i.ChevronDown,{className:`h-4 w-4`}):(0,a.jsx)(i.ChevronRight,{className:`h-4 w-4`})}),(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,a.jsx)(`span`,{className:`font-medium`,children:(0,o.flexRender)(e.groupingColumn.columnDef.cell,e.getGroupingValue())}),(0,a.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`(`,f,` `,f===1?`item`:`items`,`)`]})]})]})}function c({row:e,table:t,className:r}){let i=e.getAggregationValue();return i?(0,a.jsx)(`div`,{className:n.cn(`flex items-center gap-4 py-2 bg-muted/50`,r),children:Object.entries(i).map(([e,t])=>(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,a.jsxs)(`span`,{className:`text-sm font-medium`,children:[e,`:`]}),(0,a.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:typeof t==`number`?t.toLocaleString():String(t)})]},e))}):null}function l({table:e,groupingColumns:i,onGroupingChange:o,className:s}){let[c,l]=r.useState(i),u=r.useCallback(e=>{let t=c.includes(e)?c.filter(t=>t!==e):[...c,e];l(t),o(t)},[c,o]),d=r.useCallback(()=>{l([]),o([])},[o]);return(0,a.jsxs)(`div`,{className:n.cn(`flex items-center gap-2`,s),children:[(0,a.jsx)(`span`,{className:`text-sm font-medium`,children:`Group by:`}),e.getAllColumns().filter(e=>e.getCanGroup()).map(e=>(0,a.jsx)(t.Button,{variant:c.includes(e.id)?`default`:`outline`,size:`sm`,onClick:()=>u(e.id),children:e.columnDef.header},e.id)),c.length>0&&(0,a.jsx)(t.Button,{variant:`ghost`,size:`sm`,onClick:d,children:`Clear`})]})}exports.DataTableGroupTotals=c,exports.DataTableGrouping=s,exports.DataTableGroupingControls=l;
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../button/index.cjs.js`),n=require(`../select/index.cjs.js`);let r=require(`react`);r=e.__toESM(r);let i=require(`lucide-react`),a=require(`react/jsx-runtime`),o=require(`react-i18next`);function s({table:e,pageSizeOptions:r=[25,50,100,500],showInfo:s=!0}){let{t:c}=(0,o.useTranslation)(),l=e.getState().pagination.pageIndex,u=e.getState().pagination.pageSize,d=e.getPageCount(),f=e.getFilteredRowModel().rows.length,p=l*u+1,m=Math.min((l+1)*u,f);return(0,a.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t`,children:[s&&(0,a.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:f>0?(0,a.jsxs)(a.Fragment,{children:[c(`datatable.pagination.showing`,{defaultValue:`Showing`}),` `,p,` `,c(`datatable.pagination.to`,{defaultValue:`to`}),` `,m,` `,c(`datatable.pagination.of`,{defaultValue:`of`}),` `,f,` `,c(`datatable.pagination.results`,{defaultValue:`results`})]}):c(`datatable.pagination.noResults`,{defaultValue:`No results`})}),(0,a.jsxs)(`div`,{className:`flex items-center gap-6`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,a.jsx)(`span`,{className:`text-sm text-muted-foreground whitespace-nowrap`,children:c(`datatable.pagination.rowsPerPage`,{defaultValue:`Rows per page`})}),(0,a.jsxs)(n.Select,{value:`${u}`,onValueChange:t=>{e.setPageSize(Number(t))},children:[(0,a.jsx)(n.SelectTrigger,{className:`h-8 w-[70px]`,children:(0,a.jsx)(n.SelectValue,{placeholder:u})}),(0,a.jsx)(n.SelectContent,{side:`top`,children:r.map(e=>(0,a.jsx)(n.SelectItem,{value:`${e}`,children:e},e))})]})]}),(0,a.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,a.jsxs)(`span`,{className:`text-sm text-muted-foreground mr-2`,children:[c(`datatable.pagination.page`,{defaultValue:`Page`}),` `,l+1,` `,c(`datatable.pagination.of`,{defaultValue:`of`}),` `,d]}),(0,a.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),children:[(0,a.jsx)(i.ChevronsLeft,{className:`h-4 w-4`}),(0,a.jsx)(`span`,{className:`sr-only`,children:c(`datatable.pagination.firstPage`,{defaultValue:`First page`})})]}),(0,a.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),children:[(0,a.jsx)(i.ChevronLeft,{className:`h-4 w-4`}),(0,a.jsx)(`span`,{className:`sr-only`,children:c(`datatable.pagination.previousPage`,{defaultValue:`Previous page`})})]}),(0,a.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),children:[(0,a.jsx)(i.ChevronRight,{className:`h-4 w-4`}),(0,a.jsx)(`span`,{className:`sr-only`,children:c(`datatable.pagination.nextPage`,{defaultValue:`Next page`})})]}),(0,a.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>e.setPageIndex(d-1),disabled:!e.getCanNextPage(),children:[(0,a.jsx)(i.ChevronsRight,{className:`h-4 w-4`}),(0,a.jsx)(`span`,{className:`sr-only`,children:c(`datatable.pagination.lastPage`,{defaultValue:`Last page`})})]})]})]})]})}exports.DataTablePagination=s;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../button/index.cjs.js"),n=require("../select/index.cjs.js");let r=require("react");r=e.__toESM(r);let i=require("lucide-react"),a=require("react/jsx-runtime"),o=require("react-i18next");function s({table:e,pageSizeOptions:r=[25,50,100,500],showInfo:s=!0,onPageChange:c,onPageSizeChange:l}){let{t:u}=(0,o.useTranslation)(),d=e.getState().pagination.pageIndex,f=e.getState().pagination.pageSize,p=e.getPageCount(),m=e.getFilteredRowModel().rows.length,h=d*f+1,g=Math.min((d+1)*f,m);return(0,a.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t`,children:[s&&(0,a.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:m>0?(0,a.jsxs)(a.Fragment,{children:[u(`datatable.pagination.showing`,{defaultValue:`Showing`}),` `,h,` `,u(`datatable.pagination.to`,{defaultValue:`to`}),` `,g,` `,u(`datatable.pagination.of`,{defaultValue:`of`}),` `,m,` `,u(`datatable.pagination.results`,{defaultValue:`results`})]}):u(`datatable.pagination.noResults`,{defaultValue:`No results`})}),(0,a.jsxs)(`div`,{className:`flex items-center gap-6`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,a.jsx)(`span`,{className:`text-sm text-muted-foreground whitespace-nowrap`,children:u(`datatable.pagination.rowsPerPage`,{defaultValue:`Rows per page`})}),(0,a.jsxs)(n.Select,{value:`${f}`,onValueChange:t=>{let n=Number(t);e.setPageSize(n),l?.(n)},children:[(0,a.jsx)(n.SelectTrigger,{className:`h-8 w-[70px]`,children:(0,a.jsx)(n.SelectValue,{placeholder:f})}),(0,a.jsx)(n.SelectContent,{side:`top`,children:r.map(e=>(0,a.jsx)(n.SelectItem,{value:`${e}`,children:e},e))})]})]}),(0,a.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,a.jsxs)(`span`,{className:`text-sm text-muted-foreground mr-2`,children:[u(`datatable.pagination.page`,{defaultValue:`Page`}),` `,d+1,` `,u(`datatable.pagination.of`,{defaultValue:`of`}),` `,p]}),(0,a.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>{e.setPageIndex(0),c?.(0)},disabled:!e.getCanPreviousPage(),children:[(0,a.jsx)(i.ChevronsLeft,{className:`h-4 w-4`}),(0,a.jsx)(`span`,{className:`sr-only`,children:u(`datatable.pagination.firstPage`,{defaultValue:`First page`})})]}),(0,a.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>{let t=d-1;e.previousPage(),c?.(t)},disabled:!e.getCanPreviousPage(),children:[(0,a.jsx)(i.ChevronLeft,{className:`h-4 w-4`}),(0,a.jsx)(`span`,{className:`sr-only`,children:u(`datatable.pagination.previousPage`,{defaultValue:`Previous page`})})]}),(0,a.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>{let t=d+1;e.nextPage(),c?.(t)},disabled:!e.getCanNextPage(),children:[(0,a.jsx)(i.ChevronRight,{className:`h-4 w-4`}),(0,a.jsx)(`span`,{className:`sr-only`,children:u(`datatable.pagination.nextPage`,{defaultValue:`Next page`})})]}),(0,a.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>{e.setPageIndex(p-1),c?.(p-1)},disabled:!e.getCanNextPage(),children:[(0,a.jsx)(i.ChevronsRight,{className:`h-4 w-4`}),(0,a.jsx)(`span`,{className:`sr-only`,children:u(`datatable.pagination.lastPage`,{defaultValue:`Last page`})})]})]})]})]})}exports.DataTablePagination=s;
@@ -3,6 +3,8 @@ interface DataTablePaginationProps<TData> {
3
3
  table: Table<TData>;
4
4
  pageSizeOptions?: number[];
5
5
  showInfo?: boolean;
6
+ onPageChange?: (page: number) => void;
7
+ onPageSizeChange?: (size: number) => void;
6
8
  }
7
- export declare function DataTablePagination<TData>({ table, pageSizeOptions, showInfo, }: DataTablePaginationProps<TData>): import("react/jsx-runtime").JSX.Element;
9
+ export declare function DataTablePagination<TData>({ table, pageSizeOptions, showInfo, onPageChange, onPageSizeChange, }: DataTablePaginationProps<TData>): import("react/jsx-runtime").JSX.Element;
8
10
  export {};
@@ -12,42 +12,43 @@ function m({ table: m, pageSizeOptions: h = [
12
12
  50,
13
13
  100,
14
14
  500
15
- ], showInfo: g = !0 }) {
16
- let { t: _ } = p(), v = m.getState().pagination.pageIndex, y = m.getState().pagination.pageSize, b = m.getPageCount(), x = m.getFilteredRowModel().rows.length, S = v * y + 1, C = Math.min((v + 1) * y, x);
15
+ ], showInfo: g = !0, onPageChange: _, onPageSizeChange: v }) {
16
+ let { t: y } = p(), b = m.getState().pagination.pageIndex, x = m.getState().pagination.pageSize, S = m.getPageCount(), C = m.getFilteredRowModel().rows.length, w = b * x + 1, T = Math.min((b + 1) * x, C);
17
17
  return /* @__PURE__ */ f("div", {
18
18
  className: "flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t",
19
19
  children: [g && /* @__PURE__ */ d("div", {
20
20
  className: "text-sm text-muted-foreground",
21
- children: x > 0 ? /* @__PURE__ */ f(u, { children: [
22
- _("datatable.pagination.showing", { defaultValue: "Showing" }),
21
+ children: C > 0 ? /* @__PURE__ */ f(u, { children: [
22
+ y("datatable.pagination.showing", { defaultValue: "Showing" }),
23
23
  " ",
24
- S,
24
+ w,
25
25
  " ",
26
- _("datatable.pagination.to", { defaultValue: "to" }),
26
+ y("datatable.pagination.to", { defaultValue: "to" }),
27
27
  " ",
28
- C,
28
+ T,
29
29
  " ",
30
- _("datatable.pagination.of", { defaultValue: "of" }),
30
+ y("datatable.pagination.of", { defaultValue: "of" }),
31
31
  " ",
32
- x,
32
+ C,
33
33
  " ",
34
- _("datatable.pagination.results", { defaultValue: "results" })
35
- ] }) : _("datatable.pagination.noResults", { defaultValue: "No results" })
34
+ y("datatable.pagination.results", { defaultValue: "results" })
35
+ ] }) : y("datatable.pagination.noResults", { defaultValue: "No results" })
36
36
  }), /* @__PURE__ */ f("div", {
37
37
  className: "flex items-center gap-6",
38
38
  children: [/* @__PURE__ */ f("div", {
39
39
  className: "flex items-center gap-2",
40
40
  children: [/* @__PURE__ */ d("span", {
41
41
  className: "text-sm text-muted-foreground whitespace-nowrap",
42
- children: _("datatable.pagination.rowsPerPage", { defaultValue: "Rows per page" })
42
+ children: y("datatable.pagination.rowsPerPage", { defaultValue: "Rows per page" })
43
43
  }), /* @__PURE__ */ f(t, {
44
- value: `${y}`,
44
+ value: `${x}`,
45
45
  onValueChange: (e) => {
46
- m.setPageSize(Number(e));
46
+ let t = Number(e);
47
+ m.setPageSize(t), v?.(t);
47
48
  },
48
49
  children: [/* @__PURE__ */ d(i, {
49
50
  className: "h-8 w-[70px]",
50
- children: /* @__PURE__ */ d(a, { placeholder: y })
51
+ children: /* @__PURE__ */ d(a, { placeholder: x })
51
52
  }), /* @__PURE__ */ d(n, {
52
53
  side: "top",
53
54
  children: h.map((e) => /* @__PURE__ */ d(r, {
@@ -62,57 +63,67 @@ function m({ table: m, pageSizeOptions: h = [
62
63
  /* @__PURE__ */ f("span", {
63
64
  className: "text-sm text-muted-foreground mr-2",
64
65
  children: [
65
- _("datatable.pagination.page", { defaultValue: "Page" }),
66
+ y("datatable.pagination.page", { defaultValue: "Page" }),
66
67
  " ",
67
- v + 1,
68
+ b + 1,
68
69
  " ",
69
- _("datatable.pagination.of", { defaultValue: "of" }),
70
+ y("datatable.pagination.of", { defaultValue: "of" }),
70
71
  " ",
71
- b
72
+ S
72
73
  ]
73
74
  }),
74
75
  /* @__PURE__ */ f(e, {
75
76
  variant: "outline",
76
77
  size: "icon",
77
78
  className: "h-8 w-8",
78
- onClick: () => m.setPageIndex(0),
79
+ onClick: () => {
80
+ m.setPageIndex(0), _?.(0);
81
+ },
79
82
  disabled: !m.getCanPreviousPage(),
80
83
  children: [/* @__PURE__ */ d(c, { className: "h-4 w-4" }), /* @__PURE__ */ d("span", {
81
84
  className: "sr-only",
82
- children: _("datatable.pagination.firstPage", { defaultValue: "First page" })
85
+ children: y("datatable.pagination.firstPage", { defaultValue: "First page" })
83
86
  })]
84
87
  }),
85
88
  /* @__PURE__ */ f(e, {
86
89
  variant: "outline",
87
90
  size: "icon",
88
91
  className: "h-8 w-8",
89
- onClick: () => m.previousPage(),
92
+ onClick: () => {
93
+ let e = b - 1;
94
+ m.previousPage(), _?.(e);
95
+ },
90
96
  disabled: !m.getCanPreviousPage(),
91
97
  children: [/* @__PURE__ */ d(o, { className: "h-4 w-4" }), /* @__PURE__ */ d("span", {
92
98
  className: "sr-only",
93
- children: _("datatable.pagination.previousPage", { defaultValue: "Previous page" })
99
+ children: y("datatable.pagination.previousPage", { defaultValue: "Previous page" })
94
100
  })]
95
101
  }),
96
102
  /* @__PURE__ */ f(e, {
97
103
  variant: "outline",
98
104
  size: "icon",
99
105
  className: "h-8 w-8",
100
- onClick: () => m.nextPage(),
106
+ onClick: () => {
107
+ let e = b + 1;
108
+ m.nextPage(), _?.(e);
109
+ },
101
110
  disabled: !m.getCanNextPage(),
102
111
  children: [/* @__PURE__ */ d(s, { className: "h-4 w-4" }), /* @__PURE__ */ d("span", {
103
112
  className: "sr-only",
104
- children: _("datatable.pagination.nextPage", { defaultValue: "Next page" })
113
+ children: y("datatable.pagination.nextPage", { defaultValue: "Next page" })
105
114
  })]
106
115
  }),
107
116
  /* @__PURE__ */ f(e, {
108
117
  variant: "outline",
109
118
  size: "icon",
110
119
  className: "h-8 w-8",
111
- onClick: () => m.setPageIndex(b - 1),
120
+ onClick: () => {
121
+ m.setPageIndex(S - 1), _?.(S - 1);
122
+ },
112
123
  disabled: !m.getCanNextPage(),
113
124
  children: [/* @__PURE__ */ d(l, { className: "h-4 w-4" }), /* @__PURE__ */ d("span", {
114
125
  className: "sr-only",
115
- children: _("datatable.pagination.lastPage", { defaultValue: "Last page" })
126
+ children: y("datatable.pagination.lastPage", { defaultValue: "Last page" })
116
127
  })]
117
128
  })
118
129
  ]
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../button/index.cjs.js`),n=require(`../checkbox/index.cjs.js`),r=require(`../select/index.cjs.js`),i=require(`./utils.cjs.js`);let a=require(`react`);a=e.__toESM(a);let o=require(`react/jsx-runtime`);function s({table:e,selectionMode:s=`multiple`,selectedRows:c,onSelectionChange:l,selectionActions:u=[],className:d}){let[f,p]=a.useState(null);a.useCallback((t,n)=>{if(s===`single`){e.setRowSelection({[t]:n});return}if(s===`range`&&f!==null){let r=Math.min(f,t),i=Math.max(f,t),a={...e.getState().rowSelection};for(let e=r;e<=i;e++)a[e]=n;e.setRowSelection(a)}else e.setRowSelection(e=>({...e,[t]:n}));p(t)},[e,s,f]);let m=a.useCallback(t=>{if(t){let t=e.getRowModel().rows.reduce((e,t,n)=>(e[n]=!0,e),{});e.setRowSelection(t)}else e.setRowSelection({})},[e]);a.useCallback((t,n,r)=>{let i={...e.getState().rowSelection};for(let e=t;e<=n;e++)i[e]=r;e.setRowSelection(i)},[e]),a.useCallback(t=>{let n={...e.getState().rowSelection};e.getRowModel().rows.forEach((e,r)=>{t(e.original)&&(n[r]=!0)}),e.setRowSelection(n)},[e]);let h=a.useCallback(e=>{e.onClick(c)},[c]),g=e.getIsAllPageRowsSelected(),_=e.getIsSomePageRowsSelected();return(0,o.jsxs)(`div`,{className:i.cn(`flex items-center gap-2`,d),children:[(0,o.jsx)(n.Checkbox,{checked:g,onCheckedChange:m,ref:e=>{e&&`indeterminate`in e&&(e.indeterminate=_&&!g)},"aria-label":`Select all rows`}),c.length>0&&(0,o.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,o.jsxs)(`span`,{children:[c.length,` selected`]}),(0,o.jsx)(`div`,{className:`flex items-center gap-1`,children:u.map(e=>(0,o.jsxs)(t.Button,{variant:`ghost`,size:`sm`,onClick:()=>h(e),disabled:e.disabled,className:i.cn(e.destructive&&`text-destructive hover:text-destructive`),children:[e.icon&&(0,o.jsx)(`span`,{className:`mr-1`,children:e.icon}),e.label]},e.id))})]}),(0,o.jsxs)(r.Select,{onValueChange:t=>{switch(t){case`all`:m(!0);break;case`none`:m(!1);break;case`invert`:e.getRowModel().rows.forEach((t,n)=>{let r=e.getState().rowSelection[n];e.setRowSelection(e=>({...e,[n]:!r}))});break}},children:[(0,o.jsx)(r.SelectTrigger,{className:`w-32`,children:(0,o.jsx)(r.SelectValue,{placeholder:`Select`})}),(0,o.jsxs)(r.SelectContent,{children:[(0,o.jsx)(r.SelectItem,{value:`all`,children:`Select All`}),(0,o.jsx)(r.SelectItem,{value:`none`,children:`Select None`}),(0,o.jsx)(r.SelectItem,{value:`invert`,children:`Invert Selection`})]})]})]})}function c({table:e,selectionMode:t=`multiple`,onSelectionChange:n}){let[r,i]=a.useState([]);return a.useEffect(()=>{let t=e.getFilteredSelectedRowModel().rows.map(e=>e.original);i(t),n?.(t)},[e,n]),{selectedRows:r,selectRow:a.useCallback((t,n=!0)=>{e.setRowSelection(e=>({...e,[t]:n}))},[e]),selectAll:a.useCallback((t=!0)=>{if(t){let t=e.getRowModel().rows.reduce((e,t,n)=>(e[n]=!0,e),{});e.setRowSelection(t)}else e.setRowSelection({})},[e]),selectRange:a.useCallback((t,n,r=!0)=>{let i={...e.getState().rowSelection};for(let e=t;e<=n;e++)i[e]=r;e.setRowSelection(i)},[e]),selectByCriteria:a.useCallback(t=>{let n={...e.getState().rowSelection};e.getRowModel().rows.forEach((e,r)=>{t(e.original)&&(n[r]=!0)}),e.setRowSelection(n)},[e]),clearSelection:a.useCallback(()=>{e.setRowSelection({})},[e]),isAllSelected:e.getIsAllPageRowsSelected(),isSomeSelected:e.getIsSomePageRowsSelected()}}exports.DataTableSelection=s,exports.useDataTableSelection=c;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../button/index.cjs.js"),n=require("../checkbox/index.cjs.js"),r=require("../select/index.cjs.js"),i=require("./utils.cjs.js");let a=require("react");a=e.__toESM(a);let o=require("react/jsx-runtime");function s({table:e,selectionMode:s=`multiple`,selectedRows:c,onSelectionChange:l,selectionActions:u=[],className:d}){let[f,p]=a.useState(null);a.useCallback((t,n)=>{if(s===`single`){e.setRowSelection({[t]:n});return}if(s===`range`&&f!==null){let r=Math.min(f,t),i=Math.max(f,t),a={...e.getState().rowSelection};for(let e=r;e<=i;e++)a[e]=n;e.setRowSelection(a)}else e.setRowSelection(e=>({...e,[t]:n}));p(t)},[e,s,f]);let m=a.useCallback(t=>{if(t){let t=e.getRowModel().rows.reduce((e,t,n)=>(e[n]=!0,e),{});e.setRowSelection(t)}else e.setRowSelection({})},[e]);a.useCallback((t,n,r)=>{let i={...e.getState().rowSelection};for(let e=t;e<=n;e++)i[e]=r;e.setRowSelection(i)},[e]),a.useCallback(t=>{let n={...e.getState().rowSelection};e.getRowModel().rows.forEach((e,r)=>{t(e.original)&&(n[r]=!0)}),e.setRowSelection(n)},[e]);let h=a.useCallback(e=>{e.onClick(c)},[c]),g=e.getIsAllPageRowsSelected(),_=e.getIsSomePageRowsSelected();return(0,o.jsxs)(`div`,{className:i.cn(`flex items-center gap-2`,d),children:[(0,o.jsx)(n.Checkbox,{checked:g,onCheckedChange:m,ref:e=>{e&&`indeterminate`in e&&(e.indeterminate=_&&!g)},"aria-label":`Select all rows`}),c.length>0&&(0,o.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,o.jsxs)(`span`,{children:[c.length,` selected`]}),(0,o.jsx)(`div`,{className:`flex items-center gap-1`,children:u.map(e=>(0,o.jsxs)(t.Button,{variant:`ghost`,size:`sm`,onClick:()=>h(e),disabled:e.disabled,className:i.cn(e.destructive&&`text-destructive hover:text-destructive`),children:[e.icon&&(0,o.jsx)(`span`,{className:`mr-1`,children:e.icon}),e.label]},e.id))})]}),(0,o.jsxs)(r.Select,{onValueChange:t=>{switch(t){case`all`:m(!0);break;case`none`:m(!1);break;case`invert`:e.getRowModel().rows.forEach((t,n)=>{let r=e.getState().rowSelection[n];e.setRowSelection(e=>({...e,[n]:!r}))});break}},children:[(0,o.jsx)(r.SelectTrigger,{className:`w-32`,children:(0,o.jsx)(r.SelectValue,{placeholder:`Select`})}),(0,o.jsxs)(r.SelectContent,{children:[(0,o.jsx)(r.SelectItem,{value:`all`,children:`Select All`}),(0,o.jsx)(r.SelectItem,{value:`none`,children:`Select None`}),(0,o.jsx)(r.SelectItem,{value:`invert`,children:`Invert Selection`})]})]})]})}function c({table:e,selectionMode:t=`multiple`,onSelectionChange:n}){let[r,i]=a.useState([]);return a.useEffect(()=>{let t=e.getFilteredSelectedRowModel().rows.map(e=>e.original);i(t),n?.(t)},[e,n]),{selectedRows:r,selectRow:a.useCallback((t,n=!0)=>{e.setRowSelection(e=>({...e,[t]:n}))},[e]),selectAll:a.useCallback((t=!0)=>{if(t){let t=e.getRowModel().rows.reduce((e,t,n)=>(e[n]=!0,e),{});e.setRowSelection(t)}else e.setRowSelection({})},[e]),selectRange:a.useCallback((t,n,r=!0)=>{let i={...e.getState().rowSelection};for(let e=t;e<=n;e++)i[e]=r;e.setRowSelection(i)},[e]),selectByCriteria:a.useCallback(t=>{let n={...e.getState().rowSelection};e.getRowModel().rows.forEach((e,r)=>{t(e.original)&&(n[r]=!0)}),e.setRowSelection(n)},[e]),clearSelection:a.useCallback(()=>{e.setRowSelection({})},[e]),isAllSelected:e.getIsAllPageRowsSelected(),isSomeSelected:e.getIsSomePageRowsSelected()}}exports.DataTableSelection=s,exports.useDataTableSelection=c;
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../button/index.cjs.js`),n=require(`../dropdown-menu/index.cjs.js`),r=require(`../input/index.cjs.js`),i=require(`./utils.cjs.js`);let a=require(`react`);a=e.__toESM(a);let o=require(`lucide-react`),s=require(`react/jsx-runtime`),c=require(`react-i18next`);function l({table:e,config:l,globalFilter:u,onGlobalFilterChange:d,density:f,onDensityChange:p,onExport:m,onImport:h}){let{t:g}=(0,c.useTranslation)(),_=a.useRef(null),v=e.getFilteredSelectedRowModel().rows,y=v.length>0,b=a.useMemo(()=>l?.actions?l.actions.filter(e=>!(e.requiresSelection&&!y)):[],[l?.actions,y]),x=t=>{let n=y?v.map(e=>e.original):e.getFilteredRowModel().rows.map(e=>e.original);m?m(t):t===`csv`?i.exportToCSV(n,`export.csv`):i.exportToJSON(n,`export.json`)};return(0,s.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4 p-4 border-b`,children:[(0,s.jsxs)(`div`,{className:`flex flex-1 flex-col sm:flex-row items-start sm:items-center gap-2 w-full sm:w-auto`,children:[l?.showSearch!==!1&&(0,s.jsxs)(`div`,{className:`relative w-full sm:w-64`,children:[(0,s.jsx)(o.Search,{className:`absolute left-2 top-2.5 h-4 w-4 text-muted-foreground`}),(0,s.jsx)(r.Input,{placeholder:g(`datatable.toolbar.search`,{defaultValue:`Search...`}),value:u??``,onChange:e=>d(e.target.value),className:`pl-8 h-9`}),u&&(0,s.jsx)(`button`,{onClick:()=>d(``),className:`absolute right-2 top-2.5 text-muted-foreground hover:text-foreground`,children:(0,s.jsx)(o.X,{className:`h-4 w-4`})})]}),y&&(0,s.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,s.jsxs)(`span`,{children:[v.length,` `,g(`datatable.toolbar.selected`,{defaultValue:`selected`})]}),(0,s.jsx)(t.Button,{variant:`ghost`,size:`sm`,onClick:()=>e.resetRowSelection(),className:`h-7 px-2`,children:g(`datatable.toolbar.clear`,{defaultValue:`Clear`})})]})]}),(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[b.map(e=>(0,s.jsxs)(t.Button,{variant:e.variant||`outline`,size:`sm`,onClick:()=>e.onClick(v.map(e=>e.original)),disabled:e.disabled,className:`h-9`,children:[e.icon,(0,s.jsx)(`span`,{className:`ml-2`,children:e.label})]},e.id)),l?.showRefresh&&(0,s.jsxs)(t.Button,{variant:`outline`,size:`icon`,onClick:l.onRefresh,className:`h-9 w-9`,children:[(0,s.jsx)(o.RefreshCw,{className:`h-4 w-4`}),(0,s.jsx)(`span`,{className:`sr-only`,children:g(`datatable.toolbar.refresh`,{defaultValue:`Refresh`})})]}),m&&(0,s.jsxs)(n.DropdownMenu,{children:[(0,s.jsx)(n.DropdownMenuTrigger,{asChild:!0,children:(0,s.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-9 w-9`,children:[(0,s.jsx)(o.Download,{className:`h-4 w-4`}),(0,s.jsx)(`span`,{className:`sr-only`,children:g(`datatable.toolbar.export`,{defaultValue:`Export`})})]})}),(0,s.jsxs)(n.DropdownMenuContent,{align:`end`,children:[(0,s.jsx)(n.DropdownMenuLabel,{children:g(`datatable.toolbar.exportAs`,{defaultValue:`Export as`})}),(0,s.jsx)(n.DropdownMenuSeparator,{}),(0,s.jsx)(n.DropdownMenuCheckboxItem,{onClick:()=>x(`csv`),children:`CSV`}),(0,s.jsx)(n.DropdownMenuCheckboxItem,{onClick:()=>x(`json`),children:`JSON`})]})]}),h&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`input`,{ref:_,type:`file`,accept:`.csv,.json`,onChange:e=>{let t=e.target.files?.[0];t&&h&&h(t),_.current&&(_.current.value=``)},className:`hidden`}),(0,s.jsxs)(t.Button,{variant:`outline`,size:`icon`,onClick:()=>_.current?.click(),className:`h-9 w-9`,children:[(0,s.jsx)(o.Upload,{className:`h-4 w-4`}),(0,s.jsx)(`span`,{className:`sr-only`,children:g(`datatable.toolbar.import`,{defaultValue:`Import`})})]})]}),l?.showColumnToggle!==!1&&(0,s.jsxs)(n.DropdownMenu,{children:[(0,s.jsx)(n.DropdownMenuTrigger,{asChild:!0,children:(0,s.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-9 w-9`,children:[(0,s.jsx)(o.Columns,{className:`h-4 w-4`}),(0,s.jsx)(`span`,{className:`sr-only`,children:g(`datatable.toolbar.columns`,{defaultValue:`Columns`})})]})}),(0,s.jsxs)(n.DropdownMenuContent,{align:`end`,className:`w-48`,children:[(0,s.jsx)(n.DropdownMenuLabel,{children:g(`datatable.toolbar.toggleColumns`,{defaultValue:`Toggle columns`})}),(0,s.jsx)(n.DropdownMenuSeparator,{}),e.getAllColumns().filter(e=>e.getCanHide()).map(e=>(0,s.jsx)(n.DropdownMenuCheckboxItem,{className:`capitalize`,checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:e.id},e.id))]})]}),l?.showDensity&&p&&(0,s.jsxs)(n.DropdownMenu,{children:[(0,s.jsx)(n.DropdownMenuTrigger,{asChild:!0,children:(0,s.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-9 w-9`,children:[(0,s.jsx)(o.SlidersHorizontal,{className:`h-4 w-4`}),(0,s.jsx)(`span`,{className:`sr-only`,children:g(`datatable.toolbar.density`,{defaultValue:`Density`})})]})}),(0,s.jsxs)(n.DropdownMenuContent,{align:`end`,children:[(0,s.jsx)(n.DropdownMenuLabel,{children:g(`datatable.toolbar.tableDensity`,{defaultValue:`Table density`})}),(0,s.jsx)(n.DropdownMenuSeparator,{}),(0,s.jsx)(n.DropdownMenuCheckboxItem,{checked:f===`comfortable`,onCheckedChange:()=>p(`comfortable`),children:g(`datatable.toolbar.comfortable`,{defaultValue:`Comfortable`})}),(0,s.jsx)(n.DropdownMenuCheckboxItem,{checked:f===`compact`,onCheckedChange:()=>p(`compact`),children:g(`datatable.toolbar.compact`,{defaultValue:`Compact`})})]})]})]})]})}exports.DataTableToolbar=l;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../button/index.cjs.js"),n=require("../dropdown-menu/index.cjs.js"),r=require("../input/index.cjs.js"),i=require("./utils.cjs.js");let a=require("react");a=e.__toESM(a);let o=require("lucide-react"),s=require("react/jsx-runtime"),c=require("react-i18next");function l({table:e,config:l,globalFilter:u,onGlobalFilterChange:d,density:f,onDensityChange:p,onExport:m,onImport:h}){let{t:g}=(0,c.useTranslation)(),_=a.useRef(null),v=e.getFilteredSelectedRowModel().rows,y=v.length>0,b=a.useMemo(()=>l?.actions?l.actions.filter(e=>!(e.requiresSelection&&!y)):[],[l?.actions,y]),x=t=>{let n=y?v.map(e=>e.original):e.getFilteredRowModel().rows.map(e=>e.original);m?m(t):t===`csv`?i.exportToCSV(n,`export.csv`):i.exportToJSON(n,`export.json`)};return(0,s.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4 p-4 border-b`,children:[(0,s.jsxs)(`div`,{className:`flex flex-1 flex-col sm:flex-row items-start sm:items-center gap-2 w-full sm:w-auto`,children:[l?.showSearch!==!1&&(0,s.jsxs)(`div`,{className:`relative w-full sm:w-64`,children:[(0,s.jsx)(o.Search,{className:`absolute left-2 top-2.5 h-4 w-4 text-muted-foreground`}),(0,s.jsx)(r.Input,{placeholder:g(`datatable.toolbar.search`,{defaultValue:`Search...`}),value:u??``,onChange:e=>d(e.target.value),className:`pl-8 h-9`}),u&&(0,s.jsx)(`button`,{onClick:()=>d(``),className:`absolute right-2 top-2.5 text-muted-foreground hover:text-foreground`,children:(0,s.jsx)(o.X,{className:`h-4 w-4`})})]}),y&&(0,s.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,s.jsxs)(`span`,{children:[v.length,` `,g(`datatable.toolbar.selected`,{defaultValue:`selected`})]}),(0,s.jsx)(t.Button,{variant:`ghost`,size:`sm`,onClick:()=>e.resetRowSelection(),className:`h-7 px-2`,children:g(`datatable.toolbar.clear`,{defaultValue:`Clear`})})]})]}),(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[b.map(e=>(0,s.jsxs)(t.Button,{variant:e.variant||`outline`,size:`sm`,onClick:()=>e.onClick(v.map(e=>e.original)),disabled:e.disabled,className:`h-9`,children:[e.icon,(0,s.jsx)(`span`,{className:`ml-2`,children:e.label})]},e.id)),l?.showRefresh&&(0,s.jsxs)(t.Button,{variant:`outline`,size:`icon`,onClick:l.onRefresh,className:`h-9 w-9`,children:[(0,s.jsx)(o.RefreshCw,{className:`h-4 w-4`}),(0,s.jsx)(`span`,{className:`sr-only`,children:g(`datatable.toolbar.refresh`,{defaultValue:`Refresh`})})]}),m&&(0,s.jsxs)(n.DropdownMenu,{children:[(0,s.jsx)(n.DropdownMenuTrigger,{asChild:!0,children:(0,s.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-9 w-9`,children:[(0,s.jsx)(o.Download,{className:`h-4 w-4`}),(0,s.jsx)(`span`,{className:`sr-only`,children:g(`datatable.toolbar.export`,{defaultValue:`Export`})})]})}),(0,s.jsxs)(n.DropdownMenuContent,{align:`end`,children:[(0,s.jsx)(n.DropdownMenuLabel,{children:g(`datatable.toolbar.exportAs`,{defaultValue:`Export as`})}),(0,s.jsx)(n.DropdownMenuSeparator,{}),(0,s.jsx)(n.DropdownMenuCheckboxItem,{onClick:()=>x(`csv`),children:`CSV`}),(0,s.jsx)(n.DropdownMenuCheckboxItem,{onClick:()=>x(`json`),children:`JSON`})]})]}),h&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`input`,{ref:_,type:`file`,accept:`.csv,.json`,onChange:e=>{let t=e.target.files?.[0];t&&h&&h(t),_.current&&(_.current.value=``)},className:`hidden`}),(0,s.jsxs)(t.Button,{variant:`outline`,size:`icon`,onClick:()=>_.current?.click(),className:`h-9 w-9`,children:[(0,s.jsx)(o.Upload,{className:`h-4 w-4`}),(0,s.jsx)(`span`,{className:`sr-only`,children:g(`datatable.toolbar.import`,{defaultValue:`Import`})})]})]}),l?.showColumnToggle!==!1&&(0,s.jsxs)(n.DropdownMenu,{children:[(0,s.jsx)(n.DropdownMenuTrigger,{asChild:!0,children:(0,s.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-9 w-9`,children:[(0,s.jsx)(o.Columns,{className:`h-4 w-4`}),(0,s.jsx)(`span`,{className:`sr-only`,children:g(`datatable.toolbar.columns`,{defaultValue:`Columns`})})]})}),(0,s.jsxs)(n.DropdownMenuContent,{align:`end`,className:`w-48`,children:[(0,s.jsx)(n.DropdownMenuLabel,{children:g(`datatable.toolbar.toggleColumns`,{defaultValue:`Toggle columns`})}),(0,s.jsx)(n.DropdownMenuSeparator,{}),e.getAllColumns().filter(e=>e.getCanHide()).map(e=>(0,s.jsx)(n.DropdownMenuCheckboxItem,{className:`capitalize`,checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:e.id},e.id))]})]}),l?.showDensity&&p&&(0,s.jsxs)(n.DropdownMenu,{children:[(0,s.jsx)(n.DropdownMenuTrigger,{asChild:!0,children:(0,s.jsxs)(t.Button,{variant:`outline`,size:`icon`,className:`h-9 w-9`,children:[(0,s.jsx)(o.SlidersHorizontal,{className:`h-4 w-4`}),(0,s.jsx)(`span`,{className:`sr-only`,children:g(`datatable.toolbar.density`,{defaultValue:`Density`})})]})}),(0,s.jsxs)(n.DropdownMenuContent,{align:`end`,children:[(0,s.jsx)(n.DropdownMenuLabel,{children:g(`datatable.toolbar.tableDensity`,{defaultValue:`Table density`})}),(0,s.jsx)(n.DropdownMenuSeparator,{}),(0,s.jsx)(n.DropdownMenuCheckboxItem,{checked:f===`comfortable`,onCheckedChange:()=>p(`comfortable`),children:g(`datatable.toolbar.comfortable`,{defaultValue:`Comfortable`})}),(0,s.jsx)(n.DropdownMenuCheckboxItem,{checked:f===`compact`,onCheckedChange:()=>p(`compact`),children:g(`datatable.toolbar.compact`,{defaultValue:`Compact`})})]})]})]})]})}exports.DataTableToolbar=l;
@@ -1 +1 @@
1
- "use client";require(`../../../_virtual/_rolldown/runtime.cjs.js`);const e=require(`../utils.cjs.js`);let t=require(`react`),n=require(`@tanstack/react-table`);function r({data:r,columns:i,pagination:a,tableId:o,onSortingChange:s,onFiltersChange:c,onSelectionChange:l}){let u=(0,t.useMemo)(()=>o?e.loadTableState(o):null,[o]),[d,f]=(0,t.useState)(u?.sorting||[]),[p,m]=(0,t.useState)(u?.columnFilters||[]),[h,g]=(0,t.useState)(u?.columnVisibility||{}),[_,v]=(0,t.useState)({}),[y,b]=(0,t.useState)(u?.globalFilter||``),[x,S]=(0,t.useState)({pageIndex:a?.currentPage||0,pageSize:a?.pageSize||10});(0,t.useEffect)(()=>{o&&e.saveTableState(o,{sorting:d,columnFilters:p,columnVisibility:h,globalFilter:y})},[o,d,p,h,y]),(0,t.useEffect)(()=>{s?.(d)},[d,s]),(0,t.useEffect)(()=>{c?.(p)},[p,c]),(0,t.useEffect)(()=>{let e=C.getFilteredSelectedRowModel().rows.map(e=>e.original);l?.(e)},[_]);let C=(0,n.useReactTable)({data:r,columns:i,state:{sorting:d,columnFilters:p,columnVisibility:h,rowSelection:_,globalFilter:y,pagination:x},enableRowSelection:!0,onRowSelectionChange:v,onSortingChange:f,onColumnFiltersChange:m,onColumnVisibilityChange:g,onGlobalFilterChange:b,onPaginationChange:S,getCoreRowModel:(0,n.getCoreRowModel)(),getFilteredRowModel:(0,n.getFilteredRowModel)(),getPaginationRowModel:(0,n.getPaginationRowModel)(),getSortedRowModel:(0,n.getSortedRowModel)(),globalFilterFn:e.globalFilterFn,manualPagination:a?.mode===`server`,pageCount:a?.mode===`server`?Math.ceil((a.totalItems||0)/x.pageSize):void 0});return{table:C,sorting:d,setSorting:f,columnFilters:p,setColumnFilters:m,columnVisibility:h,setColumnVisibility:g,rowSelection:_,setRowSelection:v,globalFilter:y,setGlobalFilter:b,pagination:x,setPagination:S,selectedRows:(0,t.useMemo)(()=>C.getFilteredSelectedRowModel().rows.map(e=>e.original),[C,_]),resetFilters:(0,t.useCallback)(()=>{m([]),b(``)},[]),resetSelection:(0,t.useCallback)(()=>{v({})},[]),exportData:(0,t.useCallback)(()=>C.getFilteredRowModel().rows.map(e=>e.original),[C])}}exports.useDataTable=r;
1
+ "use client";const e=require("../utils.cjs.js");let t=require("react"),n=require("@tanstack/react-table");function r({data:r,columns:i,pagination:a,tableId:o,onSortingChange:s,onFiltersChange:c,onSelectionChange:l}){let u=(0,t.useMemo)(()=>o?e.loadTableState(o):null,[o]),[d,f]=(0,t.useState)(u?.sorting||[]),[p,m]=(0,t.useState)(u?.columnFilters||[]),[h,g]=(0,t.useState)(u?.columnVisibility||{}),[_,v]=(0,t.useState)({}),[y,b]=(0,t.useState)(u?.globalFilter||``),[x,S]=(0,t.useState)({pageIndex:a?.currentPage||0,pageSize:a?.pageSize||10});(0,t.useEffect)(()=>{o&&e.saveTableState(o,{sorting:d,columnFilters:p,columnVisibility:h,globalFilter:y})},[o,d,p,h,y]),(0,t.useEffect)(()=>{s?.(d)},[d,s]),(0,t.useEffect)(()=>{c?.(p)},[p,c]),(0,t.useEffect)(()=>{let e=C.getFilteredSelectedRowModel().rows.map(e=>e.original);l?.(e)},[_]),(0,t.useEffect)(()=>{a?.mode===`server`&&a.onPageChange?.(x.pageIndex)},[x.pageIndex,a]),(0,t.useEffect)(()=>{a?.mode===`server`&&a.onPageSizeChange?.(x.pageSize)},[x.pageSize,a]);let C=(0,n.useReactTable)({data:r,columns:i,state:{sorting:d,columnFilters:p,columnVisibility:h,rowSelection:_,globalFilter:y,pagination:x},enableRowSelection:!0,onRowSelectionChange:v,onSortingChange:f,onColumnFiltersChange:m,onColumnVisibilityChange:g,onGlobalFilterChange:b,onPaginationChange:S,getCoreRowModel:(0,n.getCoreRowModel)(),getFilteredRowModel:(0,n.getFilteredRowModel)(),getPaginationRowModel:(0,n.getPaginationRowModel)(),getSortedRowModel:(0,n.getSortedRowModel)(),globalFilterFn:e.globalFilterFn,manualPagination:a?.mode===`server`,pageCount:a?.mode===`server`?Math.ceil((a.totalItems||0)/x.pageSize):void 0});return{table:C,sorting:d,setSorting:f,columnFilters:p,setColumnFilters:m,columnVisibility:h,setColumnVisibility:g,rowSelection:_,setRowSelection:v,globalFilter:y,setGlobalFilter:b,pagination:x,setPagination:S,selectedRows:(0,t.useMemo)(()=>C.getFilteredSelectedRowModel().rows.map(e=>e.original),[C,_]),resetFilters:(0,t.useCallback)(()=>{m([]),b(``)},[]),resetSelection:(0,t.useCallback)(()=>{v({})},[]),exportData:(0,t.useCallback)(()=>C.getFilteredRowModel().rows.map(e=>e.original),[C])}}exports.useDataTable=r;
@@ -28,7 +28,11 @@ function f({ data: f, columns: p, pagination: m, tableId: h, onSortingChange: g,
28
28
  }, [S, _]), i(() => {
29
29
  let e = M.getFilteredSelectedRowModel().rows.map((e) => e.original);
30
30
  v?.(e);
31
- }, [E]);
31
+ }, [E]), i(() => {
32
+ m?.mode === "server" && m.onPageChange?.(A.pageIndex);
33
+ }, [A.pageIndex, m]), i(() => {
34
+ m?.mode === "server" && m.onPageSizeChange?.(A.pageSize);
35
+ }, [A.pageSize, m]);
32
36
  let M = d({
33
37
  data: f,
34
38
  columns: p,
@@ -1 +1 @@
1
- "use client";require(`../../../_virtual/_rolldown/runtime.cjs.js`);let e=require(`react`),t=require(`@tanstack/react-table`);function n({data:n,columns:o,pagination:s,tableId:c,onSortingChange:l,onFiltersChange:u,onSelectionChange:d,onColumnOrderChange:f,onExpandedChange:p,onGroupingChange:m,grouping:h,virtualization:g,sortMode:_=`multiple`,performance:v}){let y=(0,e.useMemo)(()=>c?r(c):null,[c]),[b,x]=(0,e.useState)(y?.sorting||[]),[S,C]=(0,e.useState)(y?.columnFilters||[]),[w,T]=(0,e.useState)(y?.columnVisibility||{}),[E,D]=(0,e.useState)(y?.columnOrder||[]),[O,k]=(0,e.useState)(y?.expanded||{}),[A,j]=(0,e.useState)(y?.grouping||[]),[M,N]=(0,e.useState)(y?.rowSelection||{}),[P,F]=(0,e.useState)(y?.globalFilter||``),[I,L]=(0,e.useState)({pageIndex:s?.currentPage||0,pageSize:s?.pageSize||10}),[R,z]=(0,e.useState)(S);(0,e.useEffect)(()=>{let e=setTimeout(()=>{z(S)},v?.filterDebounceMs||300);return()=>clearTimeout(e)},[S,v?.filterDebounceMs]),(0,e.useEffect)(()=>{h?.columns&&h.columns.length>0&&A.length===0&&j([h.columns[0]])},[h?.columns,A.length]),(0,e.useEffect)(()=>{c&&i(c,{sorting:b,columnFilters:S,columnVisibility:w,columnOrder:E,expanded:O,grouping:A,pagination:I,globalFilter:P,density:`comfortable`,layout:`standard`,rowSelection:M})},[c,b,S,w,E,O,A,I,P,M]),(0,e.useEffect)(()=>{l?.(b)},[b,l]),(0,e.useEffect)(()=>{u?.(R)},[R,u]),(0,e.useEffect)(()=>{let e=B.getFilteredSelectedRowModel().rows.map(e=>e.original);d?.(e)},[M]),(0,e.useEffect)(()=>{f?.(E)},[E,f]),(0,e.useEffect)(()=>{p?.(O)},[O,p]),(0,e.useEffect)(()=>{m?.(A)},[A,m]);let B=(0,t.useReactTable)({data:n,columns:o,state:{sorting:b,columnFilters:R,columnVisibility:w,columnOrder:E,expanded:O,grouping:A,rowSelection:M,globalFilter:P,pagination:I},enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0,enableGrouping:!0,enableExpanding:!0,enableColumnResizing:!0,enableSorting:!0,enableMultiSort:_===`multiple`,enableFilters:!0,enableGlobalFilter:!0,enableColumnFilters:!0,onRowSelectionChange:N,onSortingChange:x,onColumnFiltersChange:C,onColumnVisibilityChange:T,onColumnOrderChange:D,onExpandedChange:k,onGroupingChange:j,onGlobalFilterChange:F,onPaginationChange:L,getCoreRowModel:(0,t.getCoreRowModel)(),getFilteredRowModel:(0,t.getFilteredRowModel)(),getPaginationRowModel:(0,t.getPaginationRowModel)(),getSortedRowModel:(0,t.getSortedRowModel)(),getGroupedRowModel:(0,t.getGroupedRowModel)(),getExpandedRowModel:(0,t.getExpandedRowModel)(),getFacetedRowModel:(0,t.getFacetedRowModel)(),getFacetedUniqueValues:(0,t.getFacetedUniqueValues)(),globalFilterFn:a,manualPagination:s?.mode===`server`,pageCount:s?.mode===`server`?Math.ceil((s.totalItems||0)/I.pageSize):void 0,columnResizeMode:`onChange`,sortDescFirst:!1});return{table:B,sorting:b,setSorting:x,columnFilters:S,setColumnFilters:C,columnVisibility:w,setColumnVisibility:T,columnOrder:E,setColumnOrder:D,expanded:O,setExpanded:k,grouping:A,setGrouping:j,rowSelection:M,setRowSelection:N,globalFilter:P,setGlobalFilter:F,pagination:I,setPagination:L,selectedRows:(0,e.useMemo)(()=>B.getFilteredSelectedRowModel().rows.map(e=>e.original),[B,M]),resetFilters:(0,e.useCallback)(()=>{C([]),F(``)},[]),resetSelection:(0,e.useCallback)(()=>{N({})},[]),resetAll:(0,e.useCallback)(()=>{x([]),C([]),T({}),D([]),k({}),j([]),N({}),F(``),L({pageIndex:0,pageSize:s?.pageSize||10})},[s?.pageSize]),exportData:(0,e.useCallback)(()=>B.getFilteredRowModel().rows.map(e=>e.original),[B]),getGroupedData:(0,e.useCallback)(()=>h?.columns?.length?B.getGroupedRowModel().rows.map(e=>e.original):n,[B,h,n]),getExpandedData:(0,e.useCallback)(()=>B.getExpandedRowModel().rows.map(e=>e.original),[B]),toggleGrouping:(0,e.useCallback)(e=>{j(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),clearGrouping:(0,e.useCallback)(()=>{j([])},[]),toggleRowExpansion:(0,e.useCallback)(e=>{k(t=>{let n=t===!0?{}:t;return{...n,[e]:!n[e]}})},[]),expandAll:(0,e.useCallback)(()=>{let e=B.getRowModel().rows.map(e=>e.id),t={};e.forEach(e=>{t[e]=!0}),k(t)},[B]),collapseAll:(0,e.useCallback)(()=>{k({})},[])}}function r(e){try{let t=localStorage.getItem(`datatable-${e}`);return t?JSON.parse(t):null}catch{return null}}function i(e,t){try{localStorage.setItem(`datatable-${e}`,JSON.stringify(t))}catch{}}function a(e,t,n){let r=n.toLowerCase();return e.getVisibleCells().some(e=>{let t=e.getValue();return t==null?!1:String(t).toLowerCase().includes(r)})}exports.useDataTableAdvanced=n;
1
+ "use client";let e=require("react"),t=require("@tanstack/react-table");function n({data:n,columns:o,pagination:s,tableId:c,onSortingChange:l,onFiltersChange:u,onSelectionChange:d,onColumnOrderChange:f,onExpandedChange:p,onGroupingChange:m,grouping:h,virtualization:g,sortMode:_=`multiple`,performance:v}){let y=(0,e.useMemo)(()=>c?r(c):null,[c]),[b,x]=(0,e.useState)(y?.sorting||[]),[S,C]=(0,e.useState)(y?.columnFilters||[]),[w,T]=(0,e.useState)(y?.columnVisibility||{}),[E,D]=(0,e.useState)(y?.columnOrder||[]),[O,k]=(0,e.useState)(y?.expanded||{}),[A,j]=(0,e.useState)(y?.grouping||[]),[M,N]=(0,e.useState)(y?.rowSelection||{}),[P,F]=(0,e.useState)(y?.globalFilter||``),[I,L]=(0,e.useState)({pageIndex:s?.currentPage||0,pageSize:s?.pageSize||10}),[R,z]=(0,e.useState)(S);(0,e.useEffect)(()=>{let e=setTimeout(()=>{z(S)},v?.filterDebounceMs||300);return()=>clearTimeout(e)},[S,v?.filterDebounceMs]),(0,e.useEffect)(()=>{h?.columns&&h.columns.length>0&&A.length===0&&j([h.columns[0]])},[h?.columns,A.length]),(0,e.useEffect)(()=>{c&&i(c,{sorting:b,columnFilters:S,columnVisibility:w,columnOrder:E,expanded:O,grouping:A,pagination:I,globalFilter:P,density:`comfortable`,layout:`standard`,rowSelection:M})},[c,b,S,w,E,O,A,I,P,M]),(0,e.useEffect)(()=>{l?.(b)},[b,l]),(0,e.useEffect)(()=>{u?.(R)},[R,u]),(0,e.useEffect)(()=>{let e=B.getFilteredSelectedRowModel().rows.map(e=>e.original);d?.(e)},[M]),(0,e.useEffect)(()=>{f?.(E)},[E,f]),(0,e.useEffect)(()=>{p?.(O)},[O,p]),(0,e.useEffect)(()=>{m?.(A)},[A,m]);let B=(0,t.useReactTable)({data:n,columns:o,state:{sorting:b,columnFilters:R,columnVisibility:w,columnOrder:E,expanded:O,grouping:A,rowSelection:M,globalFilter:P,pagination:I},enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0,enableGrouping:!0,enableExpanding:!0,enableColumnResizing:!0,enableSorting:!0,enableMultiSort:_===`multiple`,enableFilters:!0,enableGlobalFilter:!0,enableColumnFilters:!0,onRowSelectionChange:N,onSortingChange:x,onColumnFiltersChange:C,onColumnVisibilityChange:T,onColumnOrderChange:D,onExpandedChange:k,onGroupingChange:j,onGlobalFilterChange:F,onPaginationChange:L,getCoreRowModel:(0,t.getCoreRowModel)(),getFilteredRowModel:(0,t.getFilteredRowModel)(),getPaginationRowModel:(0,t.getPaginationRowModel)(),getSortedRowModel:(0,t.getSortedRowModel)(),getGroupedRowModel:(0,t.getGroupedRowModel)(),getExpandedRowModel:(0,t.getExpandedRowModel)(),getFacetedRowModel:(0,t.getFacetedRowModel)(),getFacetedUniqueValues:(0,t.getFacetedUniqueValues)(),globalFilterFn:a,manualPagination:s?.mode===`server`,pageCount:s?.mode===`server`?Math.ceil((s.totalItems||0)/I.pageSize):void 0,columnResizeMode:`onChange`,sortDescFirst:!1});return{table:B,sorting:b,setSorting:x,columnFilters:S,setColumnFilters:C,columnVisibility:w,setColumnVisibility:T,columnOrder:E,setColumnOrder:D,expanded:O,setExpanded:k,grouping:A,setGrouping:j,rowSelection:M,setRowSelection:N,globalFilter:P,setGlobalFilter:F,pagination:I,setPagination:L,selectedRows:(0,e.useMemo)(()=>B.getFilteredSelectedRowModel().rows.map(e=>e.original),[B,M]),resetFilters:(0,e.useCallback)(()=>{C([]),F(``)},[]),resetSelection:(0,e.useCallback)(()=>{N({})},[]),resetAll:(0,e.useCallback)(()=>{x([]),C([]),T({}),D([]),k({}),j([]),N({}),F(``),L({pageIndex:0,pageSize:s?.pageSize||10})},[s?.pageSize]),exportData:(0,e.useCallback)(()=>B.getFilteredRowModel().rows.map(e=>e.original),[B]),getGroupedData:(0,e.useCallback)(()=>h?.columns?.length?B.getGroupedRowModel().rows.map(e=>e.original):n,[B,h,n]),getExpandedData:(0,e.useCallback)(()=>B.getExpandedRowModel().rows.map(e=>e.original),[B]),toggleGrouping:(0,e.useCallback)(e=>{j(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),clearGrouping:(0,e.useCallback)(()=>{j([])},[]),toggleRowExpansion:(0,e.useCallback)(e=>{k(t=>{let n=t===!0?{}:t;return{...n,[e]:!n[e]}})},[]),expandAll:(0,e.useCallback)(()=>{let e=B.getRowModel().rows.map(e=>e.id),t={};e.forEach(e=>{t[e]=!0}),k(t)},[B]),collapseAll:(0,e.useCallback)(()=>{k({})},[])}}function r(e){try{let t=localStorage.getItem(`datatable-${e}`);return t?JSON.parse(t):null}catch{return null}}function i(e,t){try{localStorage.setItem(`datatable-${e}`,JSON.stringify(t))}catch{}}function a(e,t,n){let r=n.toLowerCase();return e.getVisibleCells().some(e=>{let t=e.getValue();return t==null?!1:String(t).toLowerCase().includes(r)})}exports.useDataTableAdvanced=n;
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../../_virtual/_rolldown/runtime.cjs.js`);let t=require(`react`);t=e.__toESM(t);function n(e,n={}){let{onSave:r,onCancel:i,validateField:a,autoSave:o=!1,autoSaveDelay:s=2e3}=n,[c,l]=(0,t.useState)(null),[u,d]=(0,t.useState)({}),[f,p]=(0,t.useState)(null),[m,h]=(0,t.useState)({}),[g,_]=(0,t.useState)(!1),v=(0,t.useMemo)(()=>!f||!c?!1:Object.keys(u).some(e=>{let t=e;return u[t]!==f[t]}),[u,f,c]),y=v&&c!==null,b=(0,t.useCallback)((e,t)=>{l(e),d({...t}),p(t),h({})},[]),x=(0,t.useCallback)(()=>{!c||!f||(i?.(c,f),l(null),d({}),p(null),h({}))},[c,f,i]),S=(0,t.useCallback)((e,t)=>{if(c){if(a){let n=a(e,t);if(n){h(t=>({...t,[e]:n}));return}else h(t=>{let n={...t};return delete n[e],n})}d(n=>({...n,[e]:t}))}},[c,a]),C=(0,t.useCallback)(async()=>{if(!(!c||!r||g)){if(Object.keys(m).length>0)throw Error(`Validation errors present`);_(!0);try{await r(c,u),l(null),d({}),p(null),h({})}catch(e){throw console.error(`Error saving edit:`,e),e}finally{_(!1)}}},[c,r,u,m,g]),w=(0,t.useCallback)(()=>{f&&(d({...f}),h({}))},[f]),T=(0,t.useMemo)(()=>!o||!y?null:setTimeout(()=>{y&&!g&&C().catch(console.error)},s),[o,y,g,C,s]);return t.default.useEffect(()=>()=>{T&&clearTimeout(T)},[T]),[{editingRowId:c,editedData:u,hasChanges:v,isDirty:y},{startEdit:b,cancelEdit:x,saveEdit:C,updateField:S,resetEdit:w}]}exports.useDataTableEdit=n;
1
+ "use client";"use client";const e=require("../../../_virtual/_rolldown/runtime.cjs.js");let t=require("react");t=e.__toESM(t);function n(e,n={}){let{onSave:r,onCancel:i,validateField:a,autoSave:o=!1,autoSaveDelay:s=2e3}=n,[c,l]=(0,t.useState)(null),[u,d]=(0,t.useState)({}),[f,p]=(0,t.useState)(null),[m,h]=(0,t.useState)({}),[g,_]=(0,t.useState)(!1),v=(0,t.useMemo)(()=>!f||!c?!1:Object.keys(u).some(e=>{let t=e;return u[t]!==f[t]}),[u,f,c]),y=v&&c!==null,b=(0,t.useCallback)((e,t)=>{l(e),d({...t}),p(t),h({})},[]),x=(0,t.useCallback)(()=>{!c||!f||(i?.(c,f),l(null),d({}),p(null),h({}))},[c,f,i]),S=(0,t.useCallback)((e,t)=>{if(c){if(a){let n=a(e,t);if(n){h(t=>({...t,[e]:n}));return}else h(t=>{let n={...t};return delete n[e],n})}d(n=>({...n,[e]:t}))}},[c,a]),C=(0,t.useCallback)(async()=>{if(!(!c||!r||g)){if(Object.keys(m).length>0)throw Error(`Validation errors present`);_(!0);try{await r(c,u),l(null),d({}),p(null),h({})}catch(e){throw console.error(`Error saving edit:`,e),e}finally{_(!1)}}},[c,r,u,m,g]),w=(0,t.useCallback)(()=>{f&&(d({...f}),h({}))},[f]),T=(0,t.useMemo)(()=>!o||!y?null:setTimeout(()=>{y&&!g&&C().catch(console.error)},s),[o,y,g,C,s]);return t.default.useEffect(()=>()=>{T&&clearTimeout(T)},[T]),[{editingRowId:c,editedData:u,hasChanges:v,isDirty:y},{startEdit:b,cancelEdit:x,saveEdit:C,updateField:S,resetEdit:w}]}exports.useDataTableEdit=n;
@@ -1,6 +1,6 @@
1
- "use client";const e=require(`../../../_virtual/_rolldown/runtime.cjs.js`);let t=require(`react`);function n({data:n,columns:r,exportConfig:i}){let a=(0,t.useMemo)(()=>({formats:[`csv`,`xlsx`,`json`],filename:`export`,includeHeaders:!0,...i}),[i]),o=(0,t.useCallback)((e,t)=>{if(!e.length)return;let n=[r.filter(e=>e.accessorKey||e.id).map(e=>e.header||e.accessorKey||e.id).join(`,`),...e.map(e=>r.filter(e=>e.accessorKey||e.id).map(t=>{let n=t.accessorKey?e[t.accessorKey]:e[t.id],r=t.formatter?t.formatter(n):n,i=String(r||``);return i.includes(`,`)||i.includes(`"`)||i.includes(`
1
+ "use client";const e=require("../../../_virtual/_rolldown/runtime.cjs.js");let t=require("react");function n({data:n,columns:r,exportConfig:i}){let a=(0,t.useMemo)(()=>({formats:[`csv`,`xlsx`,`json`],filename:`export`,includeHeaders:!0,...i}),[i]),o=(0,t.useCallback)((e,t)=>{if(!e.length)return;let n=[r.filter(e=>e.accessorKey||e.id).map(e=>e.header||e.accessorKey||e.id).join(`,`),...e.map(e=>r.filter(e=>e.accessorKey||e.id).map(t=>{let n=t.accessorKey?e[t.accessorKey]:e[t.id],r=t.formatter?t.formatter(n):n,i=String(r||``);return i.includes(`,`)||i.includes(`"`)||i.includes(`
2
2
  `)?`"${i.replace(/"/g,`""`)}"`:i}).join(`,`))].join(`
3
- `),i=new Blob([n],{type:`text/csv;charset=utf-8;`}),o=document.createElement(`a`);o.href=URL.createObjectURL(i),o.download=`${t||a.filename}.csv`,o.click(),URL.revokeObjectURL(o.href)},[r,a.filename]),s=(0,t.useCallback)((e,t)=>{let n=JSON.stringify(e,null,2),r=new Blob([n],{type:`application/json`}),i=document.createElement(`a`);i.href=URL.createObjectURL(r),i.download=`${t||a.filename}.json`,i.click(),URL.revokeObjectURL(i.href)},[a.filename]),c=(0,t.useCallback)(async(t,n)=>{try{if(typeof window>`u`)throw Error(`XLSX export not available in server environment`);let i=new(await(Promise.resolve().then(()=>e.__toESM(require(`../../../node_modules/.pnpm/exceljs@4.4.0/node_modules/exceljs/dist/exceljs.min.cjs.js`).default)))).Workbook,o=i.addWorksheet(a.options?.xlsx?.sheetName||`Sheet1`),s=r.filter(e=>e.accessorKey||e.id).map(e=>e.header||e.accessorKey||e.id);o.addRow(s),t.forEach(e=>{let t=r.filter(e=>e.accessorKey||e.id).map(t=>{let n=t.accessorKey?e[t.accessorKey]:e[t.id];return t.formatter?t.formatter(n):n});o.addRow(t)});let c=await i.xlsx.writeBuffer(),l=new Blob([c],{type:`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`}),u=document.createElement(`a`);u.href=URL.createObjectURL(l),u.download=`${n||a.filename}.xlsx`,u.click(),URL.revokeObjectURL(u.href)}catch(e){throw console.error(`Erreur lors de l'export XLSX:`,e),Error(`La librairie exceljs n'est pas disponible. Installez-la avec: pnpm add exceljs`)}},[r,a.filename,a.options?.xlsx?.sheetName]),l=(0,t.useCallback)(async(e,t)=>{try{if(typeof window>`u`)throw Error(`PDF export not available in server environment`);let n=await import(`jspdf`),i=await import(`jspdf-autotable`),o=new(n.default||n.jsPDF),s=i.default||i.autoTable,c=r.filter(e=>e.accessorKey||e.id).map(e=>e.header||e.accessorKey||e.id),l=e.map(e=>r.filter(e=>e.accessorKey||e.id).map(t=>{let n=t.accessorKey?e[t.accessorKey]:e[t.id];return t.formatter?t.formatter(n):n}));s(o,{head:[c],body:l,startY:20,styles:{fontSize:8},headStyles:{fillColor:[66,139,202]}}),o.save(`${t||a.filename}.pdf`)}catch(e){throw console.error(`Erreur lors de l'export PDF:`,e),Error(`Les librairies jsPDF et jspdf-autotable ne sont pas disponibles`)}},[r,a.filename]),u=(0,t.useCallback)((e,t)=>{let n=r.filter(e=>e.accessorKey||e.id).map(e=>e.accessorKey||e.id),i=`<?xml version="1.0" encoding="UTF-8"?>
3
+ `),i=new Blob([n],{type:`text/csv;charset=utf-8;`}),o=document.createElement(`a`);o.href=URL.createObjectURL(i),o.download=`${t||a.filename}.csv`,o.click(),URL.revokeObjectURL(o.href)},[r,a.filename]),s=(0,t.useCallback)((e,t)=>{let n=JSON.stringify(e,null,2),r=new Blob([n],{type:`application/json`}),i=document.createElement(`a`);i.href=URL.createObjectURL(r),i.download=`${t||a.filename}.json`,i.click(),URL.revokeObjectURL(i.href)},[a.filename]),c=(0,t.useCallback)(async(t,n)=>{try{if(typeof window>`u`)throw Error(`XLSX export not available in server environment`);let i=new(await(Promise.resolve().then(()=>e.__toESM(require("../../../node_modules/.pnpm/exceljs@4.4.0/node_modules/exceljs/dist/exceljs.min.cjs.js").default)))).Workbook,o=i.addWorksheet(a.options?.xlsx?.sheetName||`Sheet1`),s=r.filter(e=>e.accessorKey||e.id).map(e=>e.header||e.accessorKey||e.id);o.addRow(s),t.forEach(e=>{let t=r.filter(e=>e.accessorKey||e.id).map(t=>{let n=t.accessorKey?e[t.accessorKey]:e[t.id];return t.formatter?t.formatter(n):n});o.addRow(t)});let c=await i.xlsx.writeBuffer(),l=new Blob([c],{type:`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`}),u=document.createElement(`a`);u.href=URL.createObjectURL(l),u.download=`${n||a.filename}.xlsx`,u.click(),URL.revokeObjectURL(u.href)}catch(e){throw console.error(`Erreur lors de l'export XLSX:`,e),Error(`La librairie exceljs n'est pas disponible. Installez-la avec: pnpm add exceljs`)}},[r,a.filename,a.options?.xlsx?.sheetName]),l=(0,t.useCallback)(async(e,t)=>{try{if(typeof window>`u`)throw Error(`PDF export not available in server environment`);let n=await import(`jspdf`),i=await import(`jspdf-autotable`),o=new(n.default||n.jsPDF),s=i.default||i.autoTable,c=r.filter(e=>e.accessorKey||e.id).map(e=>e.header||e.accessorKey||e.id),l=e.map(e=>r.filter(e=>e.accessorKey||e.id).map(t=>{let n=t.accessorKey?e[t.accessorKey]:e[t.id];return t.formatter?t.formatter(n):n}));s(o,{head:[c],body:l,startY:20,styles:{fontSize:8},headStyles:{fillColor:[66,139,202]}}),o.save(`${t||a.filename}.pdf`)}catch(e){throw console.error(`Erreur lors de l'export PDF:`,e),Error(`Les librairies jsPDF et jspdf-autotable ne sont pas disponibles`)}},[r,a.filename]),u=(0,t.useCallback)((e,t)=>{let n=r.filter(e=>e.accessorKey||e.id).map(e=>e.accessorKey||e.id),i=`<?xml version="1.0" encoding="UTF-8"?>
4
4
  <data>
5
5
  `;e.forEach((e,t)=>{i+=` <row id="${t}">\n`,n.forEach(t=>{let n=e[t],r=String(n||``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`);i+=` <${t}>${r}</${t}>\n`}),i+=` </row>
6
6
  `}),i+=`</data>`;let o=new Blob([i],{type:`application/xml`}),s=document.createElement(`a`);s.href=URL.createObjectURL(o),s.download=`${t||a.filename}.xml`,s.click(),URL.revokeObjectURL(s.href)},[r,a.filename]),d=(0,t.useCallback)(async(e,t,r)=>{let i=t||n,d=r||a.filename;if(a.onExport){a.onExport(i,e);return}switch(e.toLowerCase()){case`csv`:o(i,d);break;case`json`:s(i,d);break;case`xlsx`:await c(i,d);break;case`pdf`:await l(i,d);break;case`xml`:u(i,d);break;default:throw Error(`Format d'export non supporté: ${e}`)}},[n,a,o,s,c,l,u]);return{exportData:d,exportAll:(0,t.useCallback)(async e=>d(e),[d]),exportSelected:(0,t.useCallback)(async(e,t)=>d(e,t),[d]),supportedFormats:a.formats,isExportSupported:e=>a.formats.includes(e)}}exports.useDataTableExport=n;
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../../../_virtual/_rolldown/runtime.cjs.js`);let t=require(`react`);function n({importConfig:n}){let r=(0,t.useMemo)(()=>({accept:`.csv,.xlsx,.json,.xml`,...n}),[n]),i=(0,t.useCallback)((e,t=`,`)=>{let n=e.split(`
2
- `).filter(e=>e.trim());if(n.length===0)return[];let r=n[0].split(t).map(e=>e.trim().replace(/"/g,``));return n.slice(1).map(e=>{let n=e.split(t).map(e=>e.trim().replace(/"/g,``)),i={};return r.forEach((e,t)=>{i[e]=n[t]||``}),i})},[]),a=(0,t.useCallback)(e=>{try{let t=JSON.parse(e);return Array.isArray(t)?t:[t]}catch{throw Error(`Format JSON invalide`)}},[]),o=(0,t.useCallback)(e=>{try{let t=new DOMParser().parseFromString(e,`text/xml`).querySelectorAll(`row`);return Array.from(t).map(e=>{let t={};return Array.from(e.children).forEach(e=>{t[e.tagName]=e.textContent||``}),t})}catch{throw Error(`Format XML invalide`)}},[]),s=(0,t.useCallback)(async t=>{try{if(typeof window>`u`)throw Error(`XLSX parsing not available in server environment`);let n=await Promise.resolve().then(()=>e.__toESM(require(`../../../node_modules/.pnpm/exceljs@4.4.0/node_modules/exceljs/dist/exceljs.min.cjs.js`).default)),i=await t.arrayBuffer(),a=new n.Workbook;await a.xlsx.load(i);let o=r.parseOptions?.xlsx?.sheetIndex??0,s=r.parseOptions?.xlsx?.headerRow??1,c=a.worksheets[o];if(!c||c.rowCount===0)return[];let l=[];c.getRow(s).eachCell((e,t)=>{l[t-1]=String(e.value||``)});let u=[];for(let e=s+1;e<=c.rowCount;e++){let t=c.getRow(e),n={};l.forEach((e,r)=>{n[e]=t.getCell(r+1).value??``}),u.push(n)}return u}catch{throw Error(`Erreur lors du parsing du fichier XLSX. Verifiez que exceljs est installe: pnpm add exceljs`)}},[r.parseOptions?.xlsx?.sheetIndex,r.parseOptions?.xlsx?.headerRow]),c=(0,t.useCallback)(e=>r.validate?r.validate(e):Array.isArray(e)?e.length===0?{valid:!1,errors:[`Aucune donnée trouvée`]}:{valid:!0,errors:[]}:{valid:!1,errors:[`Les données doivent être un tableau`]},[r.validate]),l=(0,t.useCallback)(e=>r.columnMapping?e.map(e=>{let t={};return Object.entries(r.columnMapping).forEach(([n,r])=>{e[n]!==void 0&&(t[r]=e[n])}),t}):e,[r.columnMapping]),u=(0,t.useCallback)(async e=>{let t=e.name.split(`.`).pop()?.toLowerCase(),n=[];try{let u=await e.text();switch(t){case`csv`:n=i(u,r.parseOptions?.csv?.delimiter);break;case`json`:n=a(u);break;case`xml`:n=o(u);break;case`xlsx`:n=await s(e);break;default:throw Error(`Format de fichier non supporté: ${t}`)}let d=c(n);if(!d.valid)throw Error(`Données invalides: ${d.errors.join(`, `)}`);let f=l(n);return r.onImport&&r.onImport(f),f}catch(e){throw Error(`Erreur lors de l'import: ${e instanceof Error?e.message:`Erreur inconnue`}`)}},[r,i,a,o,s,c,l]),d=(0,t.useCallback)(()=>{let e=document.createElement(`input`);return e.type=`file`,e.accept=r.accept,e.multiple=!1,e},[r.accept]);return{importData:u,importWithUI:(0,t.useCallback)(()=>new Promise((e,t)=>{let n=d();n.onchange=async n=>{let r=n.target.files?.[0];if(!r){t(Error(`Aucun fichier sélectionné`));return}try{e(await u(r))}catch(e){t(e)}},n.click()}),[d,u]),supportedFormats:r.accept?.split(`,`)||[],isFormatSupported:e=>{let t=e.split(`.`).pop()?.toLowerCase();return r.accept?.includes(t||``)||!1}}}exports.useDataTableImport=n;
1
+ "use client";const e=require("../../../_virtual/_rolldown/runtime.cjs.js");let t=require("react");function n({importConfig:n}){let r=(0,t.useMemo)(()=>({accept:`.csv,.xlsx,.json,.xml`,...n}),[n]),i=(0,t.useCallback)((e,t=`,`)=>{let n=e.split(`
2
+ `).filter(e=>e.trim());if(n.length===0)return[];let r=n[0].split(t).map(e=>e.trim().replace(/"/g,``));return n.slice(1).map(e=>{let n=e.split(t).map(e=>e.trim().replace(/"/g,``)),i={};return r.forEach((e,t)=>{i[e]=n[t]||``}),i})},[]),a=(0,t.useCallback)(e=>{try{let t=JSON.parse(e);return Array.isArray(t)?t:[t]}catch{throw Error(`Format JSON invalide`)}},[]),o=(0,t.useCallback)(e=>{try{let t=new DOMParser().parseFromString(e,`text/xml`).querySelectorAll(`row`);return Array.from(t).map(e=>{let t={};return Array.from(e.children).forEach(e=>{t[e.tagName]=e.textContent||``}),t})}catch{throw Error(`Format XML invalide`)}},[]),s=(0,t.useCallback)(async t=>{try{if(typeof window>`u`)throw Error(`XLSX parsing not available in server environment`);let n=await Promise.resolve().then(()=>e.__toESM(require("../../../node_modules/.pnpm/exceljs@4.4.0/node_modules/exceljs/dist/exceljs.min.cjs.js").default)),i=await t.arrayBuffer(),a=new n.Workbook;await a.xlsx.load(i);let o=r.parseOptions?.xlsx?.sheetIndex??0,s=r.parseOptions?.xlsx?.headerRow??1,c=a.worksheets[o];if(!c||c.rowCount===0)return[];let l=[];c.getRow(s).eachCell((e,t)=>{l[t-1]=String(e.value||``)});let u=[];for(let e=s+1;e<=c.rowCount;e++){let t=c.getRow(e),n={};l.forEach((e,r)=>{let i=t.getCell(r+1);n[e]=i.value??``}),u.push(n)}return u}catch{throw Error(`Erreur lors du parsing du fichier XLSX. Verifiez que exceljs est installe: pnpm add exceljs`)}},[r.parseOptions?.xlsx?.sheetIndex,r.parseOptions?.xlsx?.headerRow]),c=(0,t.useCallback)(e=>r.validate?r.validate(e):Array.isArray(e)?e.length===0?{valid:!1,errors:[`Aucune donnée trouvée`]}:{valid:!0,errors:[]}:{valid:!1,errors:[`Les données doivent être un tableau`]},[r.validate]),l=(0,t.useCallback)(e=>r.columnMapping?e.map(e=>{let t={};return Object.entries(r.columnMapping).forEach(([n,r])=>{e[n]!==void 0&&(t[r]=e[n])}),t}):e,[r.columnMapping]),u=(0,t.useCallback)(async e=>{let t=e.name.split(`.`).pop()?.toLowerCase(),n=[];try{let u=await e.text();switch(t){case`csv`:n=i(u,r.parseOptions?.csv?.delimiter);break;case`json`:n=a(u);break;case`xml`:n=o(u);break;case`xlsx`:n=await s(e);break;default:throw Error(`Format de fichier non supporté: ${t}`)}let d=c(n);if(!d.valid)throw Error(`Données invalides: ${d.errors.join(`, `)}`);let f=l(n);return r.onImport&&r.onImport(f),f}catch(e){throw Error(`Erreur lors de l'import: ${e instanceof Error?e.message:`Erreur inconnue`}`)}},[r,i,a,o,s,c,l]),d=(0,t.useCallback)(()=>{let e=document.createElement(`input`);return e.type=`file`,e.accept=r.accept,e.multiple=!1,e},[r.accept]);return{importData:u,importWithUI:(0,t.useCallback)(()=>new Promise((e,t)=>{let n=d();n.onchange=async n=>{let r=n.target.files?.[0];if(!r){t(Error(`Aucun fichier sélectionné`));return}try{e(await u(r))}catch(e){t(e)}},n.click()}),[d,u]),supportedFormats:r.accept?.split(`,`)||[],isFormatSupported:e=>{let t=e.split(`.`).pop()?.toLowerCase();return r.accept?.includes(t||``)||!1}}}exports.useDataTableImport=n;
@@ -50,7 +50,8 @@ function r({ importConfig: r }) {
50
50
  for (let e = s + 1; e <= c.rowCount; e++) {
51
51
  let t = c.getRow(e), n = {};
52
52
  l.forEach((e, r) => {
53
- n[e] = t.getCell(r + 1).value ?? "";
53
+ let i = t.getCell(r + 1);
54
+ n[e] = i.value ?? "";
54
55
  }), u.push(n);
55
56
  }
56
57
  return u;
@@ -1 +1 @@
1
- "use client";require(`../../../_virtual/_rolldown/runtime.cjs.js`);let e=require(`react`);function t({theme:t,variant:n=`bordered`,density:r=`comfortable`}){let i={colors:{primary:`hsl(var(--primary))`,secondary:`hsl(var(--secondary))`,accent:`hsl(var(--accent))`,background:`hsl(var(--background))`,surface:`hsl(var(--card))`,text:`hsl(var(--foreground))`,textSecondary:`hsl(var(--muted-foreground))`,border:`hsl(var(--border))`,hover:`hsl(var(--muted))`,selected:`hsl(var(--accent))`,disabled:`hsl(var(--muted))`},spacing:{xs:`0.25rem`,sm:`0.5rem`,md:`1rem`,lg:`1.5rem`,xl:`2rem`},typography:{fontFamily:`inherit`,fontSize:{xs:`0.75rem`,sm:`0.875rem`,md:`1rem`,lg:`1.125rem`,xl:`1.25rem`},fontWeight:{normal:`400`,medium:`500`,semibold:`600`,bold:`700`}},borders:{radius:{sm:`0.25rem`,md:`0.5rem`,lg:`0.75rem`},width:{thin:`1px`,medium:`2px`,thick:`4px`}},shadows:{sm:`0 1px 2px 0 rgb(0 0 0 / 0.05)`,md:`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`,lg:`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`,xl:`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`}},a=(0,e.useMemo)(()=>t?{colors:{...i.colors,...t.colors},spacing:{...i.spacing,...t.spacing},typography:{...i.typography,...t.typography},borders:{...i.borders,...t.borders},shadows:{...i.shadows,...t.shadows}}:i,[t,i]),o=(0,e.useMemo)(()=>{let e=`w-full`;switch(n){case`bordered`:return`${e} border rounded-lg`;case`minimal`:return e;case`striped`:return`${e} [&_tbody_tr:nth-child(even)]:bg-muted/50`;case`glass`:return`${e} backdrop-blur-sm bg-background/80 border rounded-lg`;default:return e}},[n]),s=(0,e.useMemo)(()=>{switch(r){case`spacious`:return{table:`text-base`,header:`px-6 py-4`,cell:`px-6 py-4`,row:`h-16`};case`compact`:return{table:`text-sm`,header:`px-3 py-2`,cell:`px-3 py-2`,row:`h-8`};default:return{table:`text-sm`,header:`px-4 py-3`,cell:`px-4 py-3`,row:`h-12`}}},[r]),c=(0,e.useMemo)(()=>{let e={};return a.colors&&Object.entries(a.colors).forEach(([t,n])=>{e[`--datatable-color-${t}`]=n}),a.spacing&&Object.entries(a.spacing).forEach(([t,n])=>{e[`--datatable-spacing-${t}`]=n}),a.typography&&(a.typography.fontFamily&&(e[`--datatable-font-family`]=a.typography.fontFamily),a.typography.fontSize&&Object.entries(a.typography.fontSize).forEach(([t,n])=>{e[`--datatable-font-size-${t}`]=n}),a.typography.fontWeight&&Object.entries(a.typography.fontWeight).forEach(([t,n])=>{e[`--datatable-font-weight-${t}`]=n})),a.borders&&(a.borders.radius&&Object.entries(a.borders.radius).forEach(([t,n])=>{e[`--datatable-radius-${t}`]=n}),a.borders.width&&Object.entries(a.borders.width).forEach(([t,n])=>{e[`--datatable-border-width-${t}`]=n})),a.shadows&&Object.entries(a.shadows).forEach(([t,n])=>{e[`--datatable-shadow-${t}`]=n}),e},[a]);return{theme:a,variantClasses:o,densityClasses:s,customStyles:c,getThemedClass:(0,e.useCallback)((e,t)=>t?`${e} [--datatable-theme-key:${t}]`:e,[]),getThemedStyles:(0,e.useCallback)((e={})=>({...e,...c}),[c])}}exports.useDataTableTheme=t;
1
+ "use client";let e=require("react");function t({theme:t,variant:n=`bordered`,density:r=`comfortable`}){let i={colors:{primary:`hsl(var(--primary))`,secondary:`hsl(var(--secondary))`,accent:`hsl(var(--accent))`,background:`hsl(var(--background))`,surface:`hsl(var(--card))`,text:`hsl(var(--foreground))`,textSecondary:`hsl(var(--muted-foreground))`,border:`hsl(var(--border))`,hover:`hsl(var(--muted))`,selected:`hsl(var(--accent))`,disabled:`hsl(var(--muted))`},spacing:{xs:`0.25rem`,sm:`0.5rem`,md:`1rem`,lg:`1.5rem`,xl:`2rem`},typography:{fontFamily:`inherit`,fontSize:{xs:`0.75rem`,sm:`0.875rem`,md:`1rem`,lg:`1.125rem`,xl:`1.25rem`},fontWeight:{normal:`400`,medium:`500`,semibold:`600`,bold:`700`}},borders:{radius:{sm:`0.25rem`,md:`0.5rem`,lg:`0.75rem`},width:{thin:`1px`,medium:`2px`,thick:`4px`}},shadows:{sm:`0 1px 2px 0 rgb(0 0 0 / 0.05)`,md:`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`,lg:`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`,xl:`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`}},a=(0,e.useMemo)(()=>t?{colors:{...i.colors,...t.colors},spacing:{...i.spacing,...t.spacing},typography:{...i.typography,...t.typography},borders:{...i.borders,...t.borders},shadows:{...i.shadows,...t.shadows}}:i,[t,i]),o=(0,e.useMemo)(()=>{let e=`w-full`;switch(n){case`bordered`:return`${e} border rounded-lg`;case`minimal`:return e;case`striped`:return`${e} [&_tbody_tr:nth-child(even)]:bg-muted/50`;case`glass`:return`${e} backdrop-blur-sm bg-background/80 border rounded-lg`;default:return e}},[n]),s=(0,e.useMemo)(()=>{switch(r){case`spacious`:return{table:`text-base`,header:`px-6 py-4`,cell:`px-6 py-4`,row:`h-16`};case`compact`:return{table:`text-sm`,header:`px-3 py-2`,cell:`px-3 py-2`,row:`h-8`};default:return{table:`text-sm`,header:`px-4 py-3`,cell:`px-4 py-3`,row:`h-12`}}},[r]),c=(0,e.useMemo)(()=>{let e={};return a.colors&&Object.entries(a.colors).forEach(([t,n])=>{e[`--datatable-color-${t}`]=n}),a.spacing&&Object.entries(a.spacing).forEach(([t,n])=>{e[`--datatable-spacing-${t}`]=n}),a.typography&&(a.typography.fontFamily&&(e[`--datatable-font-family`]=a.typography.fontFamily),a.typography.fontSize&&Object.entries(a.typography.fontSize).forEach(([t,n])=>{e[`--datatable-font-size-${t}`]=n}),a.typography.fontWeight&&Object.entries(a.typography.fontWeight).forEach(([t,n])=>{e[`--datatable-font-weight-${t}`]=n})),a.borders&&(a.borders.radius&&Object.entries(a.borders.radius).forEach(([t,n])=>{e[`--datatable-radius-${t}`]=n}),a.borders.width&&Object.entries(a.borders.width).forEach(([t,n])=>{e[`--datatable-border-width-${t}`]=n})),a.shadows&&Object.entries(a.shadows).forEach(([t,n])=>{e[`--datatable-shadow-${t}`]=n}),e},[a]);return{theme:a,variantClasses:o,densityClasses:s,customStyles:c,getThemedClass:(0,e.useCallback)((e,t)=>t?`${e} [--datatable-theme-key:${t}]`:e,[]),getThemedStyles:(0,e.useCallback)((e={})=>({...e,...c}),[c])}}exports.useDataTableTheme=t;
@@ -1 +1 @@
1
- "use client";require(`../../../_virtual/_rolldown/runtime.cjs.js`);let e=require(`react`),t=require(`@tanstack/react-virtual`);function n({data:n,virtualization:r,containerRef:i}){let[a,o]=(0,e.useState)(r?.containerHeight||600);(0,e.useEffect)(()=>{if(!i.current||!r)return;let e=new ResizeObserver(e=>{for(let t of e)o(t.contentRect.height)});return e.observe(i.current),()=>{e.disconnect()}},[i,r]);let s=(0,e.useMemo)(()=>{if(!r||r.type===`none`)return null;let e={count:n.length,getScrollElement:()=>i.current,estimateSize:()=>r.itemHeight||50,overscan:r.overscan||5};return r.type===`dynamic`?{...e,estimateSize:()=>r.estimatedItemHeight||50}:e},[n.length,r,i]),c=s?(0,t.useVirtualizer)(s):null,l=(0,e.useCallback)((e,t=`start`)=>{c&&c.scrollToIndex(e,{align:t})},[c]),u=(0,e.useCallback)(e=>{c&&c.scrollToOffset(e)},[c]),d=(0,e.useCallback)(()=>c?c.getVirtualItems():[],[c]),f=(0,e.useCallback)(()=>c?c.getTotalSize():0,[c]);return{virtualizer:c,isVirtualized:r?.type!==`none`&&s!==null,containerHeight:a,scrollToIndex:l,scrollToOffset:u,getVirtualItems:d,getTotalSize:f,virtualItems:c?c.getVirtualItems():[],totalSize:c?c.getTotalSize():0}}exports.useDataTableVirtualization=n;
1
+ "use client";let e=require("react"),t=require("@tanstack/react-virtual");function n({data:n,virtualization:r,containerRef:i}){let[a,o]=(0,e.useState)(r?.containerHeight||600);(0,e.useEffect)(()=>{if(!i.current||!r)return;let e=new ResizeObserver(e=>{for(let t of e)o(t.contentRect.height)});return e.observe(i.current),()=>{e.disconnect()}},[i,r]);let s=(0,e.useMemo)(()=>{if(!r||r.type===`none`)return null;let e={count:n.length,getScrollElement:()=>i.current,estimateSize:()=>r.itemHeight||50,overscan:r.overscan||5};return r.type===`dynamic`?{...e,estimateSize:()=>r.estimatedItemHeight||50}:e},[n.length,r,i]),c=s?(0,t.useVirtualizer)(s):null,l=(0,e.useCallback)((e,t=`start`)=>{c&&c.scrollToIndex(e,{align:t})},[c]),u=(0,e.useCallback)(e=>{c&&c.scrollToOffset(e)},[c]),d=(0,e.useCallback)(()=>c?c.getVirtualItems():[],[c]),f=(0,e.useCallback)(()=>c?c.getTotalSize():0,[c]);return{virtualizer:c,isVirtualized:r?.type!==`none`&&s!==null,containerHeight:a,scrollToIndex:l,scrollToOffset:u,getVirtualItems:d,getTotalSize:f,virtualItems:c?c.getVirtualItems():[],totalSize:c?c.getTotalSize():0}}exports.useDataTableVirtualization=n;
@@ -1 +1 @@
1
- "use client";require(`../../../_virtual/_rolldown/runtime.cjs.js`);let e=require(`react`);function t(t=`standard`,n=`comfortable`){let[r,i]=(0,e.useState)(t),[a,o]=(0,e.useState)(n),[s,c]=(0,e.useState)(!1);return(0,e.useEffect)(()=>{let e=()=>{c(window.innerWidth<768)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,e.useEffect)(()=>{s&&r===`standard`&&i(`card`)},[s,r]),{layout:r,setLayout:i,density:a,setDensity:o,toggleLayout:(0,e.useCallback)(()=>{i(e=>{switch(e){case`standard`:return`card`;case`card`:return`compact`;case`compact`:return`standard`;default:return`standard`}})},[]),toggleDensity:(0,e.useCallback)(()=>{o(e=>e===`comfortable`?`compact`:`comfortable`)},[]),isMobile:s,densityClasses:{comfortable:{table:`text-sm`,cell:`px-4 py-3`,header:`px-4 py-3`},compact:{table:`text-xs`,cell:`px-2 py-1.5`,header:`px-2 py-2`},spacious:{table:`text-base`,cell:`px-6 py-4`,header:`px-6 py-4`}}[a]}}exports.useTableLayout=t;
1
+ "use client";let e=require("react");function t(t=`standard`,n=`comfortable`){let[r,i]=(0,e.useState)(t),[a,o]=(0,e.useState)(n),[s,c]=(0,e.useState)(!1);return(0,e.useEffect)(()=>{let e=()=>{c(window.innerWidth<768)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,e.useEffect)(()=>{s&&r===`standard`&&i(`card`)},[s,r]),{layout:r,setLayout:i,density:a,setDensity:o,toggleLayout:(0,e.useCallback)(()=>{i(e=>{switch(e){case`standard`:return`card`;case`card`:return`compact`;case`compact`:return`standard`;default:return`standard`}})},[]),toggleDensity:(0,e.useCallback)(()=>{o(e=>e===`comfortable`?`compact`:`comfortable`)},[]),isMobile:s,densityClasses:{comfortable:{table:`text-sm`,cell:`px-4 py-3`,header:`px-4 py-3`},compact:{table:`text-xs`,cell:`px-2 py-1.5`,header:`px-2 py-2`},spacious:{table:`text-base`,cell:`px-6 py-4`,header:`px-6 py-4`}}[a]}}exports.useTableLayout=t;
@@ -1,4 +1,4 @@
1
- "use client";require(`../../_virtual/_rolldown/runtime.cjs.js`);let e=require(`clsx`);function t(...t){return(0,e.clsx)(t)}function n(e,t=`export.csv`){if(!e||e.length===0)return;let n=Object.keys(e[0]),r=[n.join(`,`),...e.map(e=>n.map(t=>{let n=e[t];return typeof n==`string`&&(n.includes(`,`)||n.includes(`"`)||n.includes(`
1
+ "use client";let e=require("clsx");function t(...t){return(0,e.clsx)(t)}function n(e,t=`export.csv`){if(!e||e.length===0)return;let n=Object.keys(e[0]),r=[n.join(`,`),...e.map(e=>n.map(t=>{let n=e[t];return typeof n==`string`&&(n.includes(`,`)||n.includes(`"`)||n.includes(`
2
2
  `))?`"${n.replace(/"/g,`""`)}"`:n}).join(`,`))].join(`
3
3
  `),i=new Blob([r],{type:`text/csv;charset=utf-8;`}),a=document.createElement(`a`);a.href=URL.createObjectURL(i),a.download=t,a.click(),URL.revokeObjectURL(a.href)}function r(e,t=`export.json`){let n=JSON.stringify(e,null,2),r=new Blob([n],{type:`application/json;charset=utf-8;`}),i=document.createElement(`a`);i.href=URL.createObjectURL(r),i.download=t,i.click(),URL.revokeObjectURL(i.href)}async function i(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=e=>{try{let n=(e.target?.result).split(`
4
4
  `).filter(e=>e.trim());if(n.length===0){t([]);return}let r=n[0].split(`,`).map(e=>e.trim().replace(/^"|"$/g,``));t(n.slice(1).map(e=>{let t=e.split(`,`).map(e=>e.trim().replace(/^"|"$/g,``)),n={};return r.forEach((e,r)=>{n[e]=t[r]||``}),n}))}catch(e){n(e)}},r.onerror=()=>n(r.error),r.readAsText(e)})}function a(e,t){try{localStorage.setItem(`datatable_${e}`,JSON.stringify(t))}catch(e){console.warn(`[DataTable] Failed to save state:`,e)}}function o(e){try{let t=localStorage.getItem(`datatable_${e}`);return t?JSON.parse(t):null}catch(e){return console.warn(`[DataTable] Failed to load state:`,e),null}}function s(e,t,n){let r=e.getValue(t);return r==null?!1:String(r).toLowerCase().includes(n.toLowerCase())}exports.cn=t,exports.exportToCSV=n,exports.exportToJSON=r,exports.globalFilterFn=s,exports.loadTableState=o,exports.parseCSV=i,exports.saveTableState=a;
@@ -1 +1 @@
1
- "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`@radix-ui/react-accordion`);r=e.__toESM(r);let i=require(`lucide-react`),a=require(`react/jsx-runtime`);var o=r.Root,s=n.forwardRef(({className:e,...n},i)=>(0,a.jsx)(r.Item,{ref:i,className:t.cn(`border-b`,e),...n}));s.displayName=`AccordionItem`;var c=n.forwardRef(({className:e,children:n,...o},s)=>(0,a.jsx)(r.Header,{className:`flex`,children:(0,a.jsxs)(r.Trigger,{ref:s,className:t.cn(`flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180`,e),...o,children:[n,(0,a.jsx)(i.ChevronDown,{className:`h-4 w-4 shrink-0 transition-transform duration-200`})]})}));c.displayName=r.Trigger.displayName;var l=n.forwardRef(({className:e,children:n,...i},o)=>(0,a.jsx)(r.Content,{ref:o,className:`overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down`,...i,children:(0,a.jsx)(`div`,{className:t.cn(`pb-4 pt-0`,e),children:n})}));l.displayName=r.Content.displayName,exports.Accordion=o,exports.AccordionContent=l,exports.AccordionItem=s,exports.AccordionTrigger=c;
1
+ "use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("@radix-ui/react-accordion");r=e.__toESM(r);let i=require("lucide-react"),a=require("react/jsx-runtime");var o=r.Root,s=n.forwardRef(({className:e,...n},i)=>(0,a.jsx)(r.Item,{ref:i,className:t.cn(`border-b`,e),...n}));s.displayName=`AccordionItem`;var c=n.forwardRef(({className:e,children:n,...o},s)=>(0,a.jsx)(r.Header,{className:`flex`,children:(0,a.jsxs)(r.Trigger,{ref:s,className:t.cn(`flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180`,e),...o,children:[n,(0,a.jsx)(i.ChevronDown,{className:`h-4 w-4 shrink-0 transition-transform duration-200`})]})}));c.displayName=r.Trigger.displayName;var l=n.forwardRef(({className:e,children:n,...i},o)=>(0,a.jsx)(r.Content,{ref:o,className:`overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down`,...i,children:(0,a.jsx)(`div`,{className:t.cn(`pb-4 pt-0`,e),children:n})}));l.displayName=r.Content.displayName,exports.Accordion=o,exports.AccordionContent=l,exports.AccordionItem=s,exports.AccordionTrigger=c;
@@ -1 +1 @@
1
- "use client";"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs.js`),t=require(`../../utils/cn.cjs.js`);let n=require(`react`);n=e.__toESM(n);let r=require(`class-variance-authority`),i=require(`react/jsx-runtime`);var a=(0,r.cva)(`relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7`,{variants:{variant:{default:`bg-background text-foreground`,destructive:`border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive`}},defaultVariants:{variant:`default`}}),o=n.forwardRef(({className:e,variant:n,...r},o)=>(0,i.jsx)(`div`,{ref:o,role:`alert`,className:t.cn(a({variant:n}),e),...r}));o.displayName=`Alert`;var s=n.forwardRef(({className:e,...n},r)=>(0,i.jsx)(`h5`,{ref:r,className:t.cn(`mb-1 font-medium leading-none tracking-tight`,e),...n}));s.displayName=`AlertTitle`;var c=n.forwardRef(({className:e,...n},r)=>(0,i.jsx)(`div`,{ref:r,className:t.cn(`text-sm [&_p]:leading-relaxed`,e),...n}));c.displayName=`AlertDescription`,exports.Alert=o,exports.AlertDescription=c,exports.AlertTitle=s;
1
+ "use client";"use client";const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../utils/cn.cjs.js");let n=require("react");n=e.__toESM(n);let r=require("class-variance-authority"),i=require("react/jsx-runtime");var a=(0,r.cva)(`relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7`,{variants:{variant:{default:`bg-background text-foreground`,destructive:`border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive`}},defaultVariants:{variant:`default`}}),o=n.forwardRef(({className:e,variant:n,...r},o)=>(0,i.jsx)(`div`,{ref:o,role:`alert`,className:t.cn(a({variant:n}),e),...r}));o.displayName=`Alert`;var s=n.forwardRef(({className:e,...n},r)=>(0,i.jsx)(`h5`,{ref:r,className:t.cn(`mb-1 font-medium leading-none tracking-tight`,e),...n}));s.displayName=`AlertTitle`;var c=n.forwardRef(({className:e,...n},r)=>(0,i.jsx)(`div`,{ref:r,className:t.cn(`text-sm [&_p]:leading-relaxed`,e),...n}));c.displayName=`AlertDescription`,exports.Alert=o,exports.AlertDescription=c,exports.AlertTitle=s;