erp-pro-ui 0.1.0 → 0.1.2

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 (793) hide show
  1. package/README.md +544 -188
  2. package/dist/accordion.cjs +3 -0
  3. package/dist/accordion.d.ts +2 -0
  4. package/dist/accordion.mjs +2 -0
  5. package/dist/alert.cjs +3 -0
  6. package/dist/alert.d.ts +2 -0
  7. package/dist/alert.mjs +2 -0
  8. package/dist/animated-content.cjs +3 -0
  9. package/dist/animated-content.d.ts +2 -0
  10. package/dist/animated-content.mjs +2 -0
  11. package/dist/animations.css +91 -0
  12. package/dist/ascii-text.cjs +3 -0
  13. package/dist/ascii-text.d.ts +2 -0
  14. package/dist/ascii-text.mjs +2 -0
  15. package/dist/background-gradient-animation.cjs +4 -0
  16. package/dist/background-gradient-animation.d.ts +2 -0
  17. package/dist/background-gradient-animation.mjs +2 -0
  18. package/dist/button-hover-border-gradient.cjs +3 -0
  19. package/dist/button-hover-border-gradient.d.ts +2 -0
  20. package/dist/button-hover-border-gradient.mjs +2 -0
  21. package/dist/button.cjs +3 -0
  22. package/dist/button.d.ts +2 -0
  23. package/dist/button.mjs +2 -0
  24. package/dist/calendar.cjs +3 -0
  25. package/dist/calendar.d.ts +2 -0
  26. package/dist/calendar.mjs +2 -0
  27. package/dist/card.cjs +3 -0
  28. package/dist/card.d.ts +2 -0
  29. package/dist/card.mjs +2 -0
  30. package/dist/carousel.cjs +3 -0
  31. package/dist/carousel.d.ts +2 -0
  32. package/dist/carousel.mjs +2 -0
  33. package/dist/catalog.cjs +308 -0
  34. package/dist/catalog.cjs.map +1 -0
  35. package/dist/catalog.d.ts +496 -0
  36. package/dist/catalog.d.ts.map +1 -0
  37. package/dist/catalog.mjs +304 -0
  38. package/dist/catalog.mjs.map +1 -0
  39. package/dist/charts.cjs +11 -0
  40. package/dist/charts.d.ts +2 -0
  41. package/dist/charts.mjs +2 -0
  42. package/dist/checkbox.cjs +3 -0
  43. package/dist/checkbox.d.ts +2 -0
  44. package/dist/checkbox.mjs +2 -0
  45. package/dist/chip.cjs +3 -0
  46. package/dist/chip.d.ts +2 -0
  47. package/dist/chip.mjs +2 -0
  48. package/dist/chroma-grid.cjs +3 -0
  49. package/dist/chroma-grid.d.ts +2 -0
  50. package/dist/chroma-grid.mjs +2 -0
  51. package/dist/chunks/HoverBorderGradient-DVFEIXFQ.mjs +69 -0
  52. package/dist/chunks/HoverBorderGradient-DVFEIXFQ.mjs.map +1 -0
  53. package/dist/chunks/HoverBorderGradient-Df3PKpw6.cjs +75 -0
  54. package/dist/chunks/HoverBorderGradient-Df3PKpw6.cjs.map +1 -0
  55. package/dist/chunks/accordion-Cbt-SJhj.mjs +66 -0
  56. package/dist/chunks/accordion-Cbt-SJhj.mjs.map +1 -0
  57. package/dist/chunks/accordion-pfJR8YYA.cjs +72 -0
  58. package/dist/chunks/accordion-pfJR8YYA.cjs.map +1 -0
  59. package/dist/chunks/alert-CtdLy4Hv.mjs +40 -0
  60. package/dist/chunks/alert-CtdLy4Hv.mjs.map +1 -0
  61. package/dist/chunks/alert-Dvz1GoL5.cjs +46 -0
  62. package/dist/chunks/alert-Dvz1GoL5.cjs.map +1 -0
  63. package/dist/chunks/animated-content-C1uNg1xO.mjs +292 -0
  64. package/dist/chunks/animated-content-C1uNg1xO.mjs.map +1 -0
  65. package/dist/chunks/animated-content-CttSmLWV.cjs +298 -0
  66. package/dist/chunks/animated-content-CttSmLWV.cjs.map +1 -0
  67. package/dist/chunks/ascii-text-C5tyNsR3.mjs +511 -0
  68. package/dist/chunks/ascii-text-C5tyNsR3.mjs.map +1 -0
  69. package/dist/chunks/ascii-text-DlmArZXh.cjs +519 -0
  70. package/dist/chunks/ascii-text-DlmArZXh.cjs.map +1 -0
  71. package/dist/chunks/background-gradient-animation-BL-lnrJe.mjs +144 -0
  72. package/dist/chunks/background-gradient-animation-BL-lnrJe.mjs.map +1 -0
  73. package/dist/chunks/background-gradient-animation-CXV9GDH8.cjs +156 -0
  74. package/dist/chunks/background-gradient-animation-CXV9GDH8.cjs.map +1 -0
  75. package/dist/chunks/button-B0Lhj0AS.mjs +42 -0
  76. package/dist/chunks/button-B0Lhj0AS.mjs.map +1 -0
  77. package/dist/chunks/button-CZL6kFzT.cjs +48 -0
  78. package/dist/chunks/button-CZL6kFzT.cjs.map +1 -0
  79. package/dist/chunks/button-hover-border-gradient-CSHXM5Cm.cjs +24 -0
  80. package/dist/chunks/button-hover-border-gradient-CSHXM5Cm.cjs.map +1 -0
  81. package/dist/chunks/button-hover-border-gradient-CvoM60wz.mjs +18 -0
  82. package/dist/chunks/button-hover-border-gradient-CvoM60wz.mjs.map +1 -0
  83. package/dist/chunks/calendar-BarcG6x_.mjs +137 -0
  84. package/dist/chunks/calendar-BarcG6x_.mjs.map +1 -0
  85. package/dist/chunks/calendar-xrGmvukr.cjs +143 -0
  86. package/dist/chunks/calendar-xrGmvukr.cjs.map +1 -0
  87. package/dist/chunks/card-CcIF6z2H.mjs +24 -0
  88. package/dist/chunks/card-CcIF6z2H.mjs.map +1 -0
  89. package/dist/chunks/card-gt-HZh0h.cjs +30 -0
  90. package/dist/chunks/card-gt-HZh0h.cjs.map +1 -0
  91. package/dist/chunks/carousel-Cq5uwqQt.cjs +313 -0
  92. package/dist/chunks/carousel-Cq5uwqQt.cjs.map +1 -0
  93. package/dist/chunks/carousel-DJdqBVRK.mjs +307 -0
  94. package/dist/chunks/carousel-DJdqBVRK.mjs.map +1 -0
  95. package/dist/chunks/charts-BpElnsoR.cjs +687 -0
  96. package/dist/chunks/charts-BpElnsoR.cjs.map +1 -0
  97. package/dist/chunks/charts-DugYWvEf.mjs +632 -0
  98. package/dist/chunks/charts-DugYWvEf.mjs.map +1 -0
  99. package/dist/chunks/checkbox-DvwlGwWe.mjs +53 -0
  100. package/dist/chunks/checkbox-DvwlGwWe.mjs.map +1 -0
  101. package/dist/chunks/checkbox-yHuSw-hV.cjs +59 -0
  102. package/dist/chunks/checkbox-yHuSw-hV.cjs.map +1 -0
  103. package/dist/chunks/chip-BGSUmnlO.mjs +139 -0
  104. package/dist/chunks/chip-BGSUmnlO.mjs.map +1 -0
  105. package/dist/chunks/chip-DcBji__g.cjs +145 -0
  106. package/dist/chunks/chip-DcBji__g.cjs.map +1 -0
  107. package/dist/chunks/chroma-grid-9E9j1s9I.cjs +221 -0
  108. package/dist/chunks/chroma-grid-9E9j1s9I.cjs.map +1 -0
  109. package/dist/chunks/chroma-grid-Cdeql_2C.mjs +215 -0
  110. package/dist/chunks/chroma-grid-Cdeql_2C.mjs.map +1 -0
  111. package/dist/chunks/chunk-B_GkZjkl.cjs +28 -0
  112. package/dist/chunks/color-palette-BLvDnCOD.cjs +754 -0
  113. package/dist/chunks/color-palette-BLvDnCOD.cjs.map +1 -0
  114. package/dist/chunks/color-palette-CXlCDiZz.mjs +748 -0
  115. package/dist/chunks/color-palette-CXlCDiZz.mjs.map +1 -0
  116. package/dist/chunks/combobox-BXu3s0dt.cjs +139 -0
  117. package/dist/chunks/combobox-BXu3s0dt.cjs.map +1 -0
  118. package/dist/chunks/combobox-CjK-qG4k.mjs +132 -0
  119. package/dist/chunks/combobox-CjK-qG4k.mjs.map +1 -0
  120. package/dist/chunks/data-table-9HELVsYR.cjs +1154 -0
  121. package/dist/chunks/data-table-9HELVsYR.cjs.map +1 -0
  122. package/dist/chunks/data-table-DyEQn9Yj.mjs +1123 -0
  123. package/dist/chunks/data-table-DyEQn9Yj.mjs.map +1 -0
  124. package/dist/chunks/date-picker-D8gaaMlJ.mjs +135 -0
  125. package/dist/chunks/date-picker-D8gaaMlJ.mjs.map +1 -0
  126. package/dist/chunks/date-picker-W9om1j7A.cjs +141 -0
  127. package/dist/chunks/date-picker-W9om1j7A.cjs.map +1 -0
  128. package/dist/chunks/dialog-CYFiWN8M.cjs +396 -0
  129. package/dist/chunks/dialog-CYFiWN8M.cjs.map +1 -0
  130. package/dist/chunks/dialog-DUWnV9tN.mjs +390 -0
  131. package/dist/chunks/dialog-DUWnV9tN.mjs.map +1 -0
  132. package/dist/chunks/drawer-CLjsYdxN.cjs +128 -0
  133. package/dist/chunks/drawer-CLjsYdxN.cjs.map +1 -0
  134. package/dist/chunks/drawer-D82Jz6KO.mjs +122 -0
  135. package/dist/chunks/drawer-D82Jz6KO.mjs.map +1 -0
  136. package/dist/chunks/form-B2vcaHwh.mjs +161 -0
  137. package/dist/chunks/form-B2vcaHwh.mjs.map +1 -0
  138. package/dist/chunks/form-CzH9GQc6.cjs +203 -0
  139. package/dist/chunks/form-CzH9GQc6.cjs.map +1 -0
  140. package/dist/chunks/gradual-blur-B9GoY8o1.cjs +65 -0
  141. package/dist/chunks/gradual-blur-B9GoY8o1.cjs.map +1 -0
  142. package/dist/chunks/gradual-blur-Bl3dOMEz.mjs +59 -0
  143. package/dist/chunks/gradual-blur-Bl3dOMEz.mjs.map +1 -0
  144. package/dist/chunks/hover-card-v0QwmVBU.cjs +191 -0
  145. package/dist/chunks/hover-card-v0QwmVBU.cjs.map +1 -0
  146. package/dist/chunks/hover-card-xqwpmZNm.mjs +185 -0
  147. package/dist/chunks/hover-card-xqwpmZNm.mjs.map +1 -0
  148. package/dist/chunks/icons-BxIzP2jd.cjs +1717 -0
  149. package/dist/chunks/icons-BxIzP2jd.cjs.map +1 -0
  150. package/dist/chunks/icons-DuumN7z-.mjs +1429 -0
  151. package/dist/chunks/icons-DuumN7z-.mjs.map +1 -0
  152. package/dist/chunks/input-D9qZNqXV.cjs +99 -0
  153. package/dist/chunks/input-D9qZNqXV.cjs.map +1 -0
  154. package/dist/chunks/input-wNqevfQ4.mjs +87 -0
  155. package/dist/chunks/input-wNqevfQ4.mjs.map +1 -0
  156. package/dist/chunks/label-BWPEGVam.cjs +32 -0
  157. package/dist/chunks/label-BWPEGVam.cjs.map +1 -0
  158. package/dist/chunks/label-KPA-yYOF.mjs +26 -0
  159. package/dist/chunks/label-KPA-yYOF.mjs.map +1 -0
  160. package/dist/chunks/loading-S1TdIrbB.mjs +259 -0
  161. package/dist/chunks/loading-S1TdIrbB.mjs.map +1 -0
  162. package/dist/chunks/loading-q7IEg56I.cjs +313 -0
  163. package/dist/chunks/loading-q7IEg56I.cjs.map +1 -0
  164. package/dist/chunks/multi-select-combobox-ELSH_Xr4.mjs +132 -0
  165. package/dist/chunks/multi-select-combobox-ELSH_Xr4.mjs.map +1 -0
  166. package/dist/chunks/multi-select-combobox-UW0X15W7.cjs +139 -0
  167. package/dist/chunks/multi-select-combobox-UW0X15W7.cjs.map +1 -0
  168. package/dist/chunks/otp-input-B6zzOEqw.cjs +186 -0
  169. package/dist/chunks/otp-input-B6zzOEqw.cjs.map +1 -0
  170. package/dist/chunks/otp-input-Bg4nQG6x.mjs +180 -0
  171. package/dist/chunks/otp-input-Bg4nQG6x.mjs.map +1 -0
  172. package/dist/chunks/overlay-DWNTyQzK.cjs +60 -0
  173. package/dist/chunks/overlay-DWNTyQzK.cjs.map +1 -0
  174. package/dist/chunks/overlay-TycCIFOu.mjs +54 -0
  175. package/dist/chunks/overlay-TycCIFOu.mjs.map +1 -0
  176. package/dist/chunks/password-strength-meter-CbNSBuh_.mjs +99 -0
  177. package/dist/chunks/password-strength-meter-CbNSBuh_.mjs.map +1 -0
  178. package/dist/chunks/password-strength-meter-DxMV6GAs.cjs +105 -0
  179. package/dist/chunks/password-strength-meter-DxMV6GAs.cjs.map +1 -0
  180. package/dist/chunks/progress-bar-C1OvQ-NI.cjs +96 -0
  181. package/dist/chunks/progress-bar-C1OvQ-NI.cjs.map +1 -0
  182. package/dist/chunks/progress-bar-C9FZDrju.mjs +89 -0
  183. package/dist/chunks/progress-bar-C9FZDrju.mjs.map +1 -0
  184. package/dist/chunks/radio-C9w_CoiY.mjs +44 -0
  185. package/dist/chunks/radio-C9w_CoiY.mjs.map +1 -0
  186. package/dist/chunks/radio-jMHDvaMY.cjs +50 -0
  187. package/dist/chunks/radio-jMHDvaMY.cjs.map +1 -0
  188. package/dist/chunks/select-D71tk6-I.mjs +152 -0
  189. package/dist/chunks/select-D71tk6-I.mjs.map +1 -0
  190. package/dist/chunks/select-WC_kPqUP.cjs +158 -0
  191. package/dist/chunks/select-WC_kPqUP.cjs.map +1 -0
  192. package/dist/chunks/skeleton-BhYWOp0Q.mjs +215 -0
  193. package/dist/chunks/skeleton-BhYWOp0Q.mjs.map +1 -0
  194. package/dist/chunks/skeleton-DTXpHYYB.cjs +221 -0
  195. package/dist/chunks/skeleton-DTXpHYYB.cjs.map +1 -0
  196. package/dist/chunks/spinners-BBCWD2gw.mjs +11 -0
  197. package/dist/chunks/spinners-BBCWD2gw.mjs.map +1 -0
  198. package/dist/chunks/spinners-BL4ERCCw.cjs +17 -0
  199. package/dist/chunks/spinners-BL4ERCCw.cjs.map +1 -0
  200. package/dist/chunks/splash-cursor-BVSmbcIX.cjs +279 -0
  201. package/dist/chunks/splash-cursor-BVSmbcIX.cjs.map +1 -0
  202. package/dist/chunks/splash-cursor-rSrTnawZ.mjs +273 -0
  203. package/dist/chunks/splash-cursor-rSrTnawZ.mjs.map +1 -0
  204. package/dist/chunks/spotlight-card-BpZLMOp6.mjs +104 -0
  205. package/dist/chunks/spotlight-card-BpZLMOp6.mjs.map +1 -0
  206. package/dist/chunks/spotlight-card-DS1dy1W3.cjs +110 -0
  207. package/dist/chunks/spotlight-card-DS1dy1W3.cjs.map +1 -0
  208. package/dist/chunks/stepper-D4yQsQB0.mjs +261 -0
  209. package/dist/chunks/stepper-D4yQsQB0.mjs.map +1 -0
  210. package/dist/chunks/stepper-fY-Sx72k.cjs +267 -0
  211. package/dist/chunks/stepper-fY-Sx72k.cjs.map +1 -0
  212. package/dist/chunks/sun-to-moon-button-B2Aje05o.mjs +186 -0
  213. package/dist/chunks/sun-to-moon-button-B2Aje05o.mjs.map +1 -0
  214. package/dist/chunks/sun-to-moon-button-BmFwRBye.cjs +192 -0
  215. package/dist/chunks/sun-to-moon-button-BmFwRBye.cjs.map +1 -0
  216. package/dist/chunks/switch-C5otDb4c.cjs +64 -0
  217. package/dist/chunks/switch-C5otDb4c.cjs.map +1 -0
  218. package/dist/chunks/switch-DOVl_i_s.mjs +58 -0
  219. package/dist/chunks/switch-DOVl_i_s.mjs.map +1 -0
  220. package/dist/chunks/textarea-CAUsyu4-.cjs +63 -0
  221. package/dist/chunks/textarea-CAUsyu4-.cjs.map +1 -0
  222. package/dist/chunks/textarea-CU5C-Zw9.mjs +57 -0
  223. package/dist/chunks/textarea-CU5C-Zw9.mjs.map +1 -0
  224. package/dist/chunks/theme-7DWLxJK_.cjs +68 -0
  225. package/dist/chunks/theme-7DWLxJK_.cjs.map +1 -0
  226. package/dist/chunks/theme-BceKeYhw.mjs +56 -0
  227. package/dist/chunks/theme-BceKeYhw.mjs.map +1 -0
  228. package/dist/chunks/toast-CvfP7PUP.mjs +339 -0
  229. package/dist/chunks/toast-CvfP7PUP.mjs.map +1 -0
  230. package/dist/chunks/toast-Ds7_19Ap.cjs +369 -0
  231. package/dist/chunks/toast-Ds7_19Ap.cjs.map +1 -0
  232. package/dist/chunks/tooltip-efHETBo1.mjs +199 -0
  233. package/dist/chunks/tooltip-efHETBo1.mjs.map +1 -0
  234. package/dist/chunks/tooltip-nkIqViGk.cjs +205 -0
  235. package/dist/chunks/tooltip-nkIqViGk.cjs.map +1 -0
  236. package/dist/chunks/typography-CLu6Hx9j.mjs +83 -0
  237. package/dist/chunks/typography-CLu6Hx9j.mjs.map +1 -0
  238. package/dist/chunks/typography-DaLu9tty.cjs +90 -0
  239. package/dist/chunks/typography-DaLu9tty.cjs.map +1 -0
  240. package/dist/chunks/utils-B4SmmY4J.cjs +2019 -0
  241. package/dist/chunks/utils-B4SmmY4J.cjs.map +1 -0
  242. package/dist/chunks/utils-ati1KkDb.mjs +2002 -0
  243. package/dist/chunks/utils-ati1KkDb.mjs.map +1 -0
  244. package/dist/color-palette.cjs +3 -0
  245. package/dist/color-palette.d.ts +2 -0
  246. package/dist/color-palette.mjs +2 -0
  247. package/dist/colors.css +153 -0
  248. package/dist/combobox.cjs +3 -0
  249. package/dist/combobox.d.ts +2 -0
  250. package/dist/combobox.mjs +2 -0
  251. package/dist/components/data-display/card/Card.d.ts.map +1 -0
  252. package/dist/components/data-display/card/index.d.ts.map +1 -0
  253. package/dist/components/data-display/card/types.d.ts +5 -0
  254. package/dist/components/data-display/card/types.d.ts.map +1 -0
  255. package/dist/components/data-display/charts/AreaChart.d.ts.map +1 -0
  256. package/dist/components/data-display/charts/BarChart.d.ts.map +1 -0
  257. package/dist/components/data-display/charts/NeonLineChart.d.ts.map +1 -0
  258. package/dist/components/data-display/charts/PieChart.d.ts.map +1 -0
  259. package/dist/components/data-display/charts/StackedBarChart.d.ts.map +1 -0
  260. package/dist/components/data-display/charts/ThinBreakdownBar.d.ts.map +1 -0
  261. package/dist/components/data-display/charts/chartPalette.d.ts +10 -0
  262. package/dist/components/data-display/charts/chartPalette.d.ts.map +1 -0
  263. package/dist/components/data-display/charts/index.d.ts +14 -0
  264. package/dist/components/data-display/charts/index.d.ts.map +1 -0
  265. package/dist/components/data-display/chip/Chip.d.ts.map +1 -0
  266. package/dist/components/data-display/chip/index.d.ts.map +1 -0
  267. package/dist/components/data-display/color-palette/ColorPalette.d.ts.map +1 -0
  268. package/dist/components/data-display/color-palette/index.d.ts.map +1 -0
  269. package/dist/components/data-display/color-palette/types.d.ts +14 -0
  270. package/dist/components/data-display/color-palette/types.d.ts.map +1 -0
  271. package/dist/components/{basics → data-display}/data-table/DataTable.d.ts +27 -11
  272. package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -0
  273. package/dist/components/data-display/data-table/index.d.ts +4 -0
  274. package/dist/components/data-display/data-table/index.d.ts.map +1 -0
  275. package/dist/components/data-display/index.d.ts +10 -0
  276. package/dist/components/data-display/index.d.ts.map +1 -0
  277. package/dist/components/{basics → data-display}/loading/Loading.d.ts +7 -7
  278. package/dist/components/data-display/loading/Loading.d.ts.map +1 -0
  279. package/dist/components/data-display/loading/index.d.ts.map +1 -0
  280. package/dist/components/data-display/loading/types.d.ts +25 -0
  281. package/dist/components/data-display/loading/types.d.ts.map +1 -0
  282. package/dist/components/data-display/progress-bar/ProgressBar.d.ts +18 -0
  283. package/dist/components/data-display/progress-bar/ProgressBar.d.ts.map +1 -0
  284. package/dist/components/data-display/progress-bar/index.d.ts +3 -0
  285. package/dist/components/data-display/progress-bar/index.d.ts.map +1 -0
  286. package/dist/components/data-display/skeleton/Skeleton.d.ts.map +1 -0
  287. package/dist/components/data-display/skeleton/index.d.ts.map +1 -0
  288. package/dist/components/effects/animated-content/AnimatedContent.d.ts.map +1 -0
  289. package/dist/components/effects/animated-content/index.d.ts.map +1 -0
  290. package/dist/components/effects/animated-content/types.d.ts +45 -0
  291. package/dist/components/effects/animated-content/types.d.ts.map +1 -0
  292. package/dist/components/effects/ascii-text/ASCIIText.d.ts.map +1 -0
  293. package/dist/components/effects/ascii-text/index.d.ts.map +1 -0
  294. package/dist/components/effects/background-gradient-animation/BackgroundGradientAnimation.d.ts.map +1 -0
  295. package/dist/components/effects/background-gradient-animation/BackgroundGradientAnimationDemo.d.ts.map +1 -0
  296. package/dist/components/effects/background-gradient-animation/index.d.ts.map +1 -0
  297. package/dist/components/effects/border-beam/BorderBeam.d.ts +12 -0
  298. package/dist/components/effects/border-beam/BorderBeam.d.ts.map +1 -0
  299. package/dist/components/effects/border-beam/index.d.ts +3 -0
  300. package/dist/components/effects/border-beam/index.d.ts.map +1 -0
  301. package/dist/components/effects/button-hover-border-gradient/ButtonHoverBorderGradient.d.ts.map +1 -0
  302. package/dist/components/effects/button-hover-border-gradient/index.d.ts.map +1 -0
  303. package/dist/components/effects/chroma-grid/ChromaGrid.d.ts.map +1 -0
  304. package/dist/components/effects/chroma-grid/index.d.ts +3 -0
  305. package/dist/components/effects/chroma-grid/index.d.ts.map +1 -0
  306. package/dist/components/effects/chroma-grid/types.d.ts +50 -0
  307. package/dist/components/effects/chroma-grid/types.d.ts.map +1 -0
  308. package/dist/components/{basics → effects}/gradual-blur/GradualBlur.d.ts +1 -1
  309. package/dist/components/effects/gradual-blur/GradualBlur.d.ts.map +1 -0
  310. package/dist/components/effects/gradual-blur/index.d.ts +3 -0
  311. package/dist/components/effects/gradual-blur/index.d.ts.map +1 -0
  312. package/dist/components/effects/gradual-blur/types.d.ts +28 -0
  313. package/dist/components/effects/gradual-blur/types.d.ts.map +1 -0
  314. package/dist/components/effects/hover-border-gradient/HoverBorderGradient.d.ts.map +1 -0
  315. package/dist/components/effects/hover-border-gradient/index.d.ts.map +1 -0
  316. package/dist/components/effects/index.d.ts +12 -0
  317. package/dist/components/effects/index.d.ts.map +1 -0
  318. package/dist/components/effects/splash-cursor/SplashCursor.d.ts.map +1 -0
  319. package/dist/components/effects/splash-cursor/index.d.ts.map +1 -0
  320. package/dist/components/effects/splash-cursor/types.d.ts +40 -0
  321. package/dist/components/effects/splash-cursor/types.d.ts.map +1 -0
  322. package/dist/components/effects/spotlight-card/SpotlightCard.d.ts.map +1 -0
  323. package/dist/components/effects/spotlight-card/index.d.ts +3 -0
  324. package/dist/components/effects/spotlight-card/index.d.ts.map +1 -0
  325. package/dist/components/effects/spotlight-card/types.d.ts +26 -0
  326. package/dist/components/effects/spotlight-card/types.d.ts.map +1 -0
  327. package/dist/components/effects/sun-to-moon-button/SunToMoonButton.d.ts +5 -0
  328. package/dist/components/effects/sun-to-moon-button/SunToMoonButton.d.ts.map +1 -0
  329. package/dist/components/effects/sun-to-moon-button/index.d.ts.map +1 -0
  330. package/dist/components/feedback/alert/Alert.d.ts.map +1 -0
  331. package/dist/components/feedback/alert/index.d.ts.map +1 -0
  332. package/dist/components/feedback/alert/types.d.ts +11 -0
  333. package/dist/components/feedback/alert/types.d.ts.map +1 -0
  334. package/dist/components/feedback/index.d.ts +2 -0
  335. package/dist/components/feedback/index.d.ts.map +1 -0
  336. package/dist/components/{basics/Button → forms/button}/Button.d.ts +1 -1
  337. package/dist/components/forms/button/Button.d.ts.map +1 -0
  338. package/dist/components/forms/button/index.d.ts.map +1 -0
  339. package/dist/components/forms/button/types.d.ts +14 -0
  340. package/dist/components/forms/button/types.d.ts.map +1 -0
  341. package/dist/components/forms/calendar/Calendar.d.ts.map +1 -0
  342. package/dist/components/forms/calendar/index.d.ts.map +1 -0
  343. package/dist/components/forms/calendar/types.d.ts +20 -0
  344. package/dist/components/forms/calendar/types.d.ts.map +1 -0
  345. package/dist/components/forms/checkbox/Checkbox.d.ts.map +1 -0
  346. package/dist/components/forms/checkbox/index.d.ts.map +1 -0
  347. package/dist/components/forms/checkbox/types.d.ts +8 -0
  348. package/dist/components/forms/checkbox/types.d.ts.map +1 -0
  349. package/dist/components/{basics → forms}/combobox/Combobox.d.ts +1 -1
  350. package/dist/components/forms/combobox/Combobox.d.ts.map +1 -0
  351. package/dist/components/forms/combobox/index.d.ts.map +1 -0
  352. package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -0
  353. package/dist/components/forms/date-picker/index.d.ts +3 -0
  354. package/dist/components/forms/date-picker/index.d.ts.map +1 -0
  355. package/dist/components/forms/date-picker/types.d.ts +21 -0
  356. package/dist/components/forms/date-picker/types.d.ts.map +1 -0
  357. package/dist/components/forms/form/Form.d.ts.map +1 -0
  358. package/dist/components/forms/form/index.d.ts.map +1 -0
  359. package/dist/components/forms/form/types.d.ts +47 -0
  360. package/dist/components/forms/form/types.d.ts.map +1 -0
  361. package/dist/components/forms/index.d.ts +15 -0
  362. package/dist/components/forms/index.d.ts.map +1 -0
  363. package/dist/components/forms/input/Input.d.ts.map +1 -0
  364. package/dist/components/{basics → forms}/input/index.d.ts +1 -0
  365. package/dist/components/forms/input/index.d.ts.map +1 -0
  366. package/dist/components/forms/input/types.d.ts.map +1 -0
  367. package/dist/components/forms/label/Label.d.ts.map +1 -0
  368. package/dist/components/forms/label/index.d.ts.map +1 -0
  369. package/dist/components/forms/label/types.d.ts +5 -0
  370. package/dist/components/forms/label/types.d.ts.map +1 -0
  371. package/dist/components/{basics → forms}/multi-select-combobox/MultiSelectCombobox.d.ts +1 -1
  372. package/dist/components/forms/multi-select-combobox/MultiSelectCombobox.d.ts.map +1 -0
  373. package/dist/components/forms/multi-select-combobox/index.d.ts +3 -0
  374. package/dist/components/forms/multi-select-combobox/index.d.ts.map +1 -0
  375. package/dist/components/forms/otp-input/OTPInput.d.ts.map +1 -0
  376. package/dist/components/forms/otp-input/index.d.ts +3 -0
  377. package/dist/components/{basics/skeleton → forms/otp-input}/index.d.ts.map +1 -1
  378. package/dist/components/forms/otp-input/types.d.ts +2 -0
  379. package/dist/components/forms/otp-input/types.d.ts.map +1 -0
  380. package/dist/components/forms/password-strength-meter/PasswordCriteria.d.ts.map +1 -0
  381. package/dist/components/forms/password-strength-meter/PasswordStrengthMeter.d.ts +5 -0
  382. package/dist/components/forms/password-strength-meter/PasswordStrengthMeter.d.ts.map +1 -0
  383. package/dist/components/forms/password-strength-meter/index.d.ts +3 -0
  384. package/dist/components/forms/password-strength-meter/index.d.ts.map +1 -0
  385. package/dist/components/forms/radio/Radio.d.ts.map +1 -0
  386. package/dist/components/forms/radio/index.d.ts.map +1 -0
  387. package/dist/components/forms/radio/types.d.ts +11 -0
  388. package/dist/components/forms/radio/types.d.ts.map +1 -0
  389. package/dist/components/forms/select/Select.d.ts.map +1 -0
  390. package/dist/components/forms/select/index.d.ts.map +1 -0
  391. package/dist/components/forms/select/types.d.ts +15 -0
  392. package/dist/components/forms/select/types.d.ts.map +1 -0
  393. package/dist/components/forms/switch/Switch.d.ts.map +1 -0
  394. package/dist/components/forms/switch/index.d.ts.map +1 -0
  395. package/dist/components/forms/switch/types.d.ts +6 -0
  396. package/dist/components/forms/switch/types.d.ts.map +1 -0
  397. package/dist/components/forms/textarea/Textarea.d.ts.map +1 -0
  398. package/dist/components/forms/textarea/index.d.ts.map +1 -0
  399. package/dist/components/forms/textarea/types.d.ts +7 -0
  400. package/dist/components/forms/textarea/types.d.ts.map +1 -0
  401. package/dist/components/icons/AlertCircleIcon.d.ts +9 -0
  402. package/dist/components/icons/AlertCircleIcon.d.ts.map +1 -0
  403. package/dist/components/icons/AlertTriangleIcon.d.ts +9 -0
  404. package/dist/components/icons/AlertTriangleIcon.d.ts.map +1 -0
  405. package/dist/components/icons/AudioWaveIcon.d.ts +9 -0
  406. package/dist/components/icons/AudioWaveIcon.d.ts.map +1 -0
  407. package/dist/components/icons/CheckCircleIcon.d.ts +9 -0
  408. package/dist/components/icons/CheckCircleIcon.d.ts.map +1 -0
  409. package/dist/components/icons/ColumnsIcon.d.ts +9 -0
  410. package/dist/components/icons/ColumnsIcon.d.ts.map +1 -0
  411. package/dist/components/icons/FilterIcon.d.ts +9 -0
  412. package/dist/components/icons/FilterIcon.d.ts.map +1 -0
  413. package/dist/components/icons/FilterProfileIcon.d.ts +9 -0
  414. package/dist/components/icons/FilterProfileIcon.d.ts.map +1 -0
  415. package/dist/components/icons/FilterXIcon.d.ts +9 -0
  416. package/dist/components/icons/FilterXIcon.d.ts.map +1 -0
  417. package/dist/components/icons/InfoCircleIcon.d.ts +9 -0
  418. package/dist/components/icons/InfoCircleIcon.d.ts.map +1 -0
  419. package/dist/components/icons/LoaderIcon.d.ts +10 -0
  420. package/dist/components/icons/LoaderIcon.d.ts.map +1 -0
  421. package/dist/components/icons/MailIcon.d.ts +9 -0
  422. package/dist/components/icons/MailIcon.d.ts.map +1 -0
  423. package/dist/components/icons/PlayIcon.d.ts +9 -0
  424. package/dist/components/icons/PlayIcon.d.ts.map +1 -0
  425. package/dist/components/icons/QuestionCircleIcon.d.ts +9 -0
  426. package/dist/components/icons/QuestionCircleIcon.d.ts.map +1 -0
  427. package/dist/components/icons/RefreshIcon.d.ts +9 -0
  428. package/dist/components/icons/RefreshIcon.d.ts.map +1 -0
  429. package/dist/components/icons/RingLoaderIcon.d.ts +11 -0
  430. package/dist/components/icons/RingLoaderIcon.d.ts.map +1 -0
  431. package/dist/components/icons/SelectionIcon.d.ts +9 -0
  432. package/dist/components/icons/SelectionIcon.d.ts.map +1 -0
  433. package/dist/components/icons/XCircleIcon.d.ts +9 -0
  434. package/dist/components/icons/XCircleIcon.d.ts.map +1 -0
  435. package/dist/components/icons/ZapIcon.d.ts +9 -0
  436. package/dist/components/icons/ZapIcon.d.ts.map +1 -0
  437. package/dist/components/icons/index.d.ts +18 -0
  438. package/dist/components/icons/index.d.ts.map +1 -1
  439. package/dist/components/{basics → navigation}/accordion/Accordion.d.ts +1 -1
  440. package/dist/components/navigation/accordion/Accordion.d.ts.map +1 -0
  441. package/dist/components/{basics → navigation}/accordion/index.d.ts +1 -1
  442. package/dist/components/navigation/accordion/index.d.ts.map +1 -0
  443. package/dist/components/navigation/accordion/types.d.ts +18 -0
  444. package/dist/components/navigation/accordion/types.d.ts.map +1 -0
  445. package/dist/components/navigation/carousel/Carousel.d.ts.map +1 -0
  446. package/dist/components/navigation/carousel/index.d.ts.map +1 -0
  447. package/dist/components/navigation/carousel/types.d.ts +64 -0
  448. package/dist/components/navigation/carousel/types.d.ts.map +1 -0
  449. package/dist/components/navigation/index.d.ts +4 -0
  450. package/dist/components/navigation/index.d.ts.map +1 -0
  451. package/dist/components/navigation/stepper/Stepper.d.ts.map +1 -0
  452. package/dist/components/navigation/stepper/index.d.ts.map +1 -0
  453. package/dist/components/navigation/stepper/types.d.ts +83 -0
  454. package/dist/components/navigation/stepper/types.d.ts.map +1 -0
  455. package/dist/components/overlays/dialog/Dialog.d.ts.map +1 -0
  456. package/dist/components/overlays/dialog/index.d.ts +3 -0
  457. package/dist/components/overlays/dialog/index.d.ts.map +1 -0
  458. package/dist/components/{basics → overlays}/dialog/types.d.ts +18 -18
  459. package/dist/components/overlays/dialog/types.d.ts.map +1 -0
  460. package/dist/components/overlays/drawer/Drawer.d.ts.map +1 -0
  461. package/dist/components/overlays/drawer/index.d.ts +3 -0
  462. package/dist/components/overlays/drawer/index.d.ts.map +1 -0
  463. package/dist/components/overlays/drawer/types.d.ts +12 -0
  464. package/dist/components/overlays/drawer/types.d.ts.map +1 -0
  465. package/dist/components/overlays/hover-card/HoverCard.d.ts.map +1 -0
  466. package/dist/components/overlays/hover-card/index.d.ts +3 -0
  467. package/dist/components/overlays/hover-card/index.d.ts.map +1 -0
  468. package/dist/components/overlays/hover-card/types.d.ts +2 -0
  469. package/dist/components/overlays/hover-card/types.d.ts.map +1 -0
  470. package/dist/components/overlays/index.d.ts +6 -0
  471. package/dist/components/overlays/index.d.ts.map +1 -0
  472. package/dist/components/overlays/toast/Toast.d.ts.map +1 -0
  473. package/dist/components/overlays/toast/index.d.ts.map +1 -0
  474. package/dist/components/overlays/toast/types.d.ts +2 -0
  475. package/dist/components/overlays/toast/types.d.ts.map +1 -0
  476. package/dist/components/overlays/tooltip/Tooltip.d.ts.map +1 -0
  477. package/dist/components/overlays/tooltip/index.d.ts.map +1 -0
  478. package/dist/components/overlays/tooltip/types.d.ts +27 -0
  479. package/dist/components/overlays/tooltip/types.d.ts.map +1 -0
  480. package/dist/components/spinners/Audio.d.ts.map +1 -1
  481. package/dist/components/spinners/index.d.ts +2 -0
  482. package/dist/components/spinners/index.d.ts.map +1 -0
  483. package/dist/components/text-animations/{BlurText → blur-text}/BlurText.d.ts +2 -2
  484. package/dist/components/text-animations/blur-text/BlurText.d.ts.map +1 -0
  485. package/dist/components/text-animations/blur-text/index.d.ts.map +1 -0
  486. package/dist/components/{basics/typography → typography}/Typography.d.ts +5 -5
  487. package/dist/components/typography/Typography.d.ts.map +1 -0
  488. package/dist/components/typography/index.d.ts +3 -0
  489. package/dist/components/typography/index.d.ts.map +1 -0
  490. package/dist/contexts/ThemeContext.d.ts +2 -15
  491. package/dist/contexts/ThemeContext.d.ts.map +1 -1
  492. package/dist/data-table.cjs +7 -0
  493. package/dist/data-table.d.ts +2 -0
  494. package/dist/data-table.mjs +2 -0
  495. package/dist/date-picker.cjs +3 -0
  496. package/dist/date-picker.d.ts +2 -0
  497. package/dist/date-picker.mjs +2 -0
  498. package/dist/dialog.cjs +3 -0
  499. package/dist/dialog.d.ts +2 -0
  500. package/dist/dialog.mjs +2 -0
  501. package/dist/docs.cjs +699 -0
  502. package/dist/docs.cjs.map +1 -0
  503. package/dist/docs.d.ts +257 -0
  504. package/dist/docs.d.ts.map +1 -0
  505. package/dist/docs.mjs +691 -0
  506. package/dist/docs.mjs.map +1 -0
  507. package/dist/drawer.cjs +3 -0
  508. package/dist/drawer.d.ts +2 -0
  509. package/dist/drawer.mjs +2 -0
  510. package/dist/fonts/geist/Geist-Black.woff2 +0 -0
  511. package/dist/fonts/geist/Geist-Bold.woff2 +0 -0
  512. package/dist/fonts/geist/Geist-ExtraBold.woff2 +0 -0
  513. package/dist/fonts/geist/Geist-ExtraLight.woff2 +0 -0
  514. package/dist/fonts/geist/Geist-Light.woff2 +0 -0
  515. package/dist/fonts/geist/Geist-Medium.woff2 +0 -0
  516. package/dist/fonts/geist/Geist-Regular.woff2 +0 -0
  517. package/dist/fonts/geist/Geist-SemiBold.woff2 +0 -0
  518. package/dist/fonts/geist/Geist-Thin.woff2 +0 -0
  519. package/dist/fonts/geist/Geist[wght].woff2 +0 -0
  520. package/dist/fonts.css +84 -0
  521. package/dist/form.cjs +9 -0
  522. package/dist/form.d.ts +2 -0
  523. package/dist/form.mjs +2 -0
  524. package/dist/foundation.css +30 -0
  525. package/dist/foundations/index.d.ts +2 -0
  526. package/dist/foundations/index.d.ts.map +1 -0
  527. package/dist/foundations/theme/ThemeProvider.d.ts +17 -0
  528. package/dist/foundations/theme/ThemeProvider.d.ts.map +1 -0
  529. package/dist/foundations/theme/index.d.ts +3 -0
  530. package/dist/foundations/theme/index.d.ts.map +1 -0
  531. package/dist/gradual-blur.cjs +3 -0
  532. package/dist/gradual-blur.d.ts +2 -0
  533. package/dist/gradual-blur.mjs +2 -0
  534. package/dist/hover-border-gradient.cjs +3 -0
  535. package/dist/hover-border-gradient.d.ts +2 -0
  536. package/dist/hover-border-gradient.mjs +2 -0
  537. package/dist/hover-card.cjs +3 -0
  538. package/dist/hover-card.d.ts +2 -0
  539. package/dist/hover-card.mjs +2 -0
  540. package/dist/icons.cjs +50 -0
  541. package/dist/icons.d.ts +2 -0
  542. package/dist/icons.mjs +2 -0
  543. package/dist/index.cjs +188 -12516
  544. package/dist/index.cjs.map +1 -1
  545. package/dist/index.d.ts +74 -76
  546. package/dist/index.d.ts.map +1 -1
  547. package/dist/index.mjs +67 -12500
  548. package/dist/index.mjs.map +1 -1
  549. package/dist/input.cjs +4 -0
  550. package/dist/input.d.ts +2 -0
  551. package/dist/input.mjs +2 -0
  552. package/dist/label.cjs +3 -0
  553. package/dist/label.d.ts +2 -0
  554. package/dist/label.mjs +2 -0
  555. package/dist/loading.cjs +11 -0
  556. package/dist/loading.d.ts +2 -0
  557. package/dist/loading.mjs +2 -0
  558. package/dist/multi-select-combobox.cjs +3 -0
  559. package/dist/multi-select-combobox.d.ts +2 -0
  560. package/dist/multi-select-combobox.mjs +2 -0
  561. package/dist/otp-input.cjs +3 -0
  562. package/dist/otp-input.d.ts +2 -0
  563. package/dist/otp-input.mjs +2 -0
  564. package/dist/password-strength-meter.cjs +3 -0
  565. package/dist/password-strength-meter.d.ts +2 -0
  566. package/dist/password-strength-meter.mjs +2 -0
  567. package/dist/progress-bar.cjs +3 -0
  568. package/dist/progress-bar.d.ts +2 -0
  569. package/dist/progress-bar.mjs +2 -0
  570. package/dist/radio.cjs +3 -0
  571. package/dist/radio.d.ts +2 -0
  572. package/dist/radio.mjs +2 -0
  573. package/dist/select.cjs +3 -0
  574. package/dist/select.d.ts +2 -0
  575. package/dist/select.mjs +2 -0
  576. package/dist/skeleton.cjs +3 -0
  577. package/dist/skeleton.d.ts +2 -0
  578. package/dist/skeleton.mjs +2 -0
  579. package/dist/spinners.cjs +3 -0
  580. package/dist/spinners.d.ts +2 -0
  581. package/dist/spinners.mjs +2 -0
  582. package/dist/splash-cursor.cjs +3 -0
  583. package/dist/splash-cursor.d.ts +2 -0
  584. package/dist/splash-cursor.mjs +2 -0
  585. package/dist/spotlight-card.cjs +3 -0
  586. package/dist/spotlight-card.d.ts +2 -0
  587. package/dist/spotlight-card.mjs +2 -0
  588. package/dist/stepper.cjs +3 -0
  589. package/dist/stepper.d.ts +2 -0
  590. package/dist/stepper.mjs +2 -0
  591. package/dist/styles.css +6 -0
  592. package/dist/sun-to-moon-button.cjs +3 -0
  593. package/dist/sun-to-moon-button.d.ts +2 -0
  594. package/dist/sun-to-moon-button.mjs +2 -0
  595. package/dist/switch.cjs +3 -0
  596. package/dist/switch.d.ts +2 -0
  597. package/dist/switch.mjs +2 -0
  598. package/dist/textarea.cjs +3 -0
  599. package/dist/textarea.d.ts +2 -0
  600. package/dist/textarea.mjs +2 -0
  601. package/dist/theme.cjs +4 -0
  602. package/dist/theme.d.ts +2 -0
  603. package/dist/theme.mjs +2 -0
  604. package/dist/toast.cjs +11 -0
  605. package/dist/toast.d.ts +6 -0
  606. package/dist/toast.mjs +2 -0
  607. package/dist/tokens.css +592 -0
  608. package/dist/tooltip.cjs +3 -0
  609. package/dist/tooltip.d.ts +2 -0
  610. package/dist/tooltip.mjs +2 -0
  611. package/dist/typography.cjs +3 -0
  612. package/dist/typography.d.ts +2 -0
  613. package/dist/typography.mjs +2 -0
  614. package/dist/utils/generateUniqueKey.d.ts.map +1 -1
  615. package/dist/utils.cjs +5 -0
  616. package/dist/utils.d.ts +2 -0
  617. package/dist/utils.mjs +2 -0
  618. package/package.json +252 -106
  619. package/dist/components/Button.d.ts +0 -8
  620. package/dist/components/Button.d.ts.map +0 -1
  621. package/dist/components/basics/Button/Button.d.ts.map +0 -1
  622. package/dist/components/basics/Button/index.d.ts.map +0 -1
  623. package/dist/components/basics/accordion/Accordion.d.ts.map +0 -1
  624. package/dist/components/basics/accordion/index.d.ts.map +0 -1
  625. package/dist/components/basics/alert/Alert.d.ts.map +0 -1
  626. package/dist/components/basics/alert/index.d.ts.map +0 -1
  627. package/dist/components/basics/animated-content/AnimatedContent.d.ts.map +0 -1
  628. package/dist/components/basics/animated-content/index.d.ts.map +0 -1
  629. package/dist/components/basics/background-gradient-animation/BackgroundGradientAnimation.d.ts.map +0 -1
  630. package/dist/components/basics/background-gradient-animation/BackgroundGradientAnimationDemo.d.ts.map +0 -1
  631. package/dist/components/basics/background-gradient-animation/index.d.ts.map +0 -1
  632. package/dist/components/basics/button-hover-border-gradient/ButtonHoverBorderGradient.d.ts.map +0 -1
  633. package/dist/components/basics/button-hover-border-gradient/index.d.ts.map +0 -1
  634. package/dist/components/basics/calendar/Calendar.d.ts.map +0 -1
  635. package/dist/components/basics/calendar/index.d.ts.map +0 -1
  636. package/dist/components/basics/card/Card.d.ts.map +0 -1
  637. package/dist/components/basics/card/index.d.ts.map +0 -1
  638. package/dist/components/basics/carousel/Carousel.d.ts.map +0 -1
  639. package/dist/components/basics/carousel/index.d.ts.map +0 -1
  640. package/dist/components/basics/charts/AreaChart.d.ts.map +0 -1
  641. package/dist/components/basics/charts/BarChart.d.ts.map +0 -1
  642. package/dist/components/basics/charts/NeonLineChart.d.ts.map +0 -1
  643. package/dist/components/basics/charts/PieChart.d.ts.map +0 -1
  644. package/dist/components/basics/charts/StackedBarChart.d.ts.map +0 -1
  645. package/dist/components/basics/charts/ThinBreakdownBar.d.ts.map +0 -1
  646. package/dist/components/basics/checkbox/Checkbox.d.ts.map +0 -1
  647. package/dist/components/basics/checkbox/index.d.ts.map +0 -1
  648. package/dist/components/basics/chip/Chip.d.ts.map +0 -1
  649. package/dist/components/basics/chip/index.d.ts.map +0 -1
  650. package/dist/components/basics/chroma-grid/ChromaGrid.d.ts.map +0 -1
  651. package/dist/components/basics/chroma-grid/index.d.ts +0 -3
  652. package/dist/components/basics/chroma-grid/index.d.ts.map +0 -1
  653. package/dist/components/basics/colo-palette/ColorPalette.d.ts.map +0 -1
  654. package/dist/components/basics/colo-palette/index.d.ts.map +0 -1
  655. package/dist/components/basics/combobox/Combobox.d.ts.map +0 -1
  656. package/dist/components/basics/combobox/index.d.ts.map +0 -1
  657. package/dist/components/basics/data-table/DataTable.d.ts.map +0 -1
  658. package/dist/components/basics/data-table/index.d.ts +0 -4
  659. package/dist/components/basics/data-table/index.d.ts.map +0 -1
  660. package/dist/components/basics/date-picker/DatePicker.d.ts.map +0 -1
  661. package/dist/components/basics/date-picker/index.d.ts +0 -3
  662. package/dist/components/basics/date-picker/index.d.ts.map +0 -1
  663. package/dist/components/basics/dialog/Dialog.d.ts.map +0 -1
  664. package/dist/components/basics/dialog/types.d.ts.map +0 -1
  665. package/dist/components/basics/drawer/Drawer.d.ts.map +0 -1
  666. package/dist/components/basics/drawer/index.d.ts +0 -3
  667. package/dist/components/basics/drawer/index.d.ts.map +0 -1
  668. package/dist/components/basics/form/Form.d.ts.map +0 -1
  669. package/dist/components/basics/form/index.d.ts.map +0 -1
  670. package/dist/components/basics/gradual-blur/GradualBlur.d.ts.map +0 -1
  671. package/dist/components/basics/gradual-blur/index.d.ts +0 -3
  672. package/dist/components/basics/gradual-blur/index.d.ts.map +0 -1
  673. package/dist/components/basics/hover-border-gradient/HoverBorderGradient.d.ts.map +0 -1
  674. package/dist/components/basics/hover-border-gradient/index.d.ts.map +0 -1
  675. package/dist/components/basics/hover-card/HoverCard.d.ts.map +0 -1
  676. package/dist/components/basics/hover-card/index.d.ts +0 -3
  677. package/dist/components/basics/hover-card/index.d.ts.map +0 -1
  678. package/dist/components/basics/input/Input.d.ts.map +0 -1
  679. package/dist/components/basics/input/index.d.ts.map +0 -1
  680. package/dist/components/basics/input/types.d.ts.map +0 -1
  681. package/dist/components/basics/label/Label.d.ts.map +0 -1
  682. package/dist/components/basics/label/index.d.ts.map +0 -1
  683. package/dist/components/basics/loading/Loading.d.ts.map +0 -1
  684. package/dist/components/basics/loading/index.d.ts.map +0 -1
  685. package/dist/components/basics/multi-select-combobox/MultiSelectCombobox.d.ts.map +0 -1
  686. package/dist/components/basics/multi-select-combobox/index.d.ts +0 -3
  687. package/dist/components/basics/multi-select-combobox/index.d.ts.map +0 -1
  688. package/dist/components/basics/otp-Input/OTPInput.d.ts.map +0 -1
  689. package/dist/components/basics/otp-Input/index.d.ts +0 -3
  690. package/dist/components/basics/otp-Input/index.d.ts.map +0 -1
  691. package/dist/components/basics/password-strength-meter/PasswordCriteria.d.ts.map +0 -1
  692. package/dist/components/basics/password-strength-meter/PasswordStrengthMeter.d.ts +0 -6
  693. package/dist/components/basics/password-strength-meter/PasswordStrengthMeter.d.ts.map +0 -1
  694. package/dist/components/basics/preview/Preview.d.ts +0 -2
  695. package/dist/components/basics/preview/Preview.d.ts.map +0 -1
  696. package/dist/components/basics/preview/index.d.ts +0 -2
  697. package/dist/components/basics/preview/index.d.ts.map +0 -1
  698. package/dist/components/basics/radio/Radio.d.ts.map +0 -1
  699. package/dist/components/basics/radio/index.d.ts.map +0 -1
  700. package/dist/components/basics/select/Select.d.ts.map +0 -1
  701. package/dist/components/basics/select/index.d.ts.map +0 -1
  702. package/dist/components/basics/skeleton/Skeleton.d.ts.map +0 -1
  703. package/dist/components/basics/splashCursor/SplashCursor.d.ts.map +0 -1
  704. package/dist/components/basics/splashCursor/index.d.ts.map +0 -1
  705. package/dist/components/basics/spotlight-card/SpotlightCard.d.ts.map +0 -1
  706. package/dist/components/basics/spotlight-card/index.d.ts +0 -3
  707. package/dist/components/basics/spotlight-card/index.d.ts.map +0 -1
  708. package/dist/components/basics/stepper/Stepper.d.ts.map +0 -1
  709. package/dist/components/basics/stepper/index.d.ts.map +0 -1
  710. package/dist/components/basics/sun-to-moon-button/SunToMoonButton.d.ts +0 -4
  711. package/dist/components/basics/sun-to-moon-button/SunToMoonButton.d.ts.map +0 -1
  712. package/dist/components/basics/sun-to-moon-button/index.d.ts.map +0 -1
  713. package/dist/components/basics/switch/Switch.d.ts.map +0 -1
  714. package/dist/components/basics/switch/index.d.ts.map +0 -1
  715. package/dist/components/basics/textarea/Textarea.d.ts.map +0 -1
  716. package/dist/components/basics/textarea/index.d.ts.map +0 -1
  717. package/dist/components/basics/toast/Toast.d.ts.map +0 -1
  718. package/dist/components/basics/toast/index.d.ts.map +0 -1
  719. package/dist/components/basics/tooltip/Tooltip.d.ts.map +0 -1
  720. package/dist/components/basics/tooltip/index.d.ts.map +0 -1
  721. package/dist/components/basics/typography/Typography.d.ts.map +0 -1
  722. package/dist/components/text-animations/ASCIIText/ASCIIText.d.ts.map +0 -1
  723. package/dist/components/text-animations/ASCIIText/index.d.ts.map +0 -1
  724. package/dist/components/text-animations/BlurText/BlurText.d.ts.map +0 -1
  725. package/dist/components/text-animations/BlurText/index.d.ts.map +0 -1
  726. /package/dist/components/{basics → data-display}/card/Card.d.ts +0 -0
  727. /package/dist/components/{basics → data-display}/card/index.d.ts +0 -0
  728. /package/dist/components/{basics → data-display}/charts/AreaChart.d.ts +0 -0
  729. /package/dist/components/{basics → data-display}/charts/BarChart.d.ts +0 -0
  730. /package/dist/components/{basics → data-display}/charts/NeonLineChart.d.ts +0 -0
  731. /package/dist/components/{basics → data-display}/charts/PieChart.d.ts +0 -0
  732. /package/dist/components/{basics → data-display}/charts/StackedBarChart.d.ts +0 -0
  733. /package/dist/components/{basics → data-display}/charts/ThinBreakdownBar.d.ts +0 -0
  734. /package/dist/components/{basics → data-display}/chip/Chip.d.ts +0 -0
  735. /package/dist/components/{basics → data-display}/chip/index.d.ts +0 -0
  736. /package/dist/components/{basics/colo-palette → data-display/color-palette}/ColorPalette.d.ts +0 -0
  737. /package/dist/components/{basics/colo-palette → data-display/color-palette}/index.d.ts +0 -0
  738. /package/dist/components/{basics → data-display}/loading/index.d.ts +0 -0
  739. /package/dist/components/{basics → data-display}/skeleton/Skeleton.d.ts +0 -0
  740. /package/dist/components/{basics → data-display}/skeleton/index.d.ts +0 -0
  741. /package/dist/components/{basics → effects}/animated-content/AnimatedContent.d.ts +0 -0
  742. /package/dist/components/{basics → effects}/animated-content/index.d.ts +0 -0
  743. /package/dist/components/{text-animations/ASCIIText → effects/ascii-text}/ASCIIText.d.ts +0 -0
  744. /package/dist/components/{text-animations/ASCIIText → effects/ascii-text}/index.d.ts +0 -0
  745. /package/dist/components/{basics → effects}/background-gradient-animation/BackgroundGradientAnimation.d.ts +0 -0
  746. /package/dist/components/{basics → effects}/background-gradient-animation/BackgroundGradientAnimationDemo.d.ts +0 -0
  747. /package/dist/components/{basics → effects}/background-gradient-animation/index.d.ts +0 -0
  748. /package/dist/components/{basics → effects}/button-hover-border-gradient/ButtonHoverBorderGradient.d.ts +0 -0
  749. /package/dist/components/{basics → effects}/button-hover-border-gradient/index.d.ts +0 -0
  750. /package/dist/components/{basics → effects}/chroma-grid/ChromaGrid.d.ts +0 -0
  751. /package/dist/components/{basics → effects}/hover-border-gradient/HoverBorderGradient.d.ts +0 -0
  752. /package/dist/components/{basics → effects}/hover-border-gradient/index.d.ts +0 -0
  753. /package/dist/components/{basics/splashCursor → effects/splash-cursor}/SplashCursor.d.ts +0 -0
  754. /package/dist/components/{basics/splashCursor → effects/splash-cursor}/index.d.ts +0 -0
  755. /package/dist/components/{basics → effects}/spotlight-card/SpotlightCard.d.ts +0 -0
  756. /package/dist/components/{basics → effects}/sun-to-moon-button/index.d.ts +0 -0
  757. /package/dist/components/{basics → feedback}/alert/Alert.d.ts +0 -0
  758. /package/dist/components/{basics → feedback}/alert/index.d.ts +0 -0
  759. /package/dist/components/{basics/Button → forms/button}/index.d.ts +0 -0
  760. /package/dist/components/{basics → forms}/calendar/Calendar.d.ts +0 -0
  761. /package/dist/components/{basics → forms}/calendar/index.d.ts +0 -0
  762. /package/dist/components/{basics → forms}/checkbox/Checkbox.d.ts +0 -0
  763. /package/dist/components/{basics → forms}/checkbox/index.d.ts +0 -0
  764. /package/dist/components/{basics → forms}/combobox/index.d.ts +0 -0
  765. /package/dist/components/{basics → forms}/date-picker/DatePicker.d.ts +0 -0
  766. /package/dist/components/{basics → forms}/form/Form.d.ts +0 -0
  767. /package/dist/components/{basics → forms}/form/index.d.ts +0 -0
  768. /package/dist/components/{basics → forms}/input/Input.d.ts +0 -0
  769. /package/dist/components/{basics → forms}/input/types.d.ts +0 -0
  770. /package/dist/components/{basics → forms}/label/Label.d.ts +0 -0
  771. /package/dist/components/{basics → forms}/label/index.d.ts +0 -0
  772. /package/dist/components/{basics/otp-Input → forms/otp-input}/OTPInput.d.ts +0 -0
  773. /package/dist/components/{basics → forms}/password-strength-meter/PasswordCriteria.d.ts +0 -0
  774. /package/dist/components/{basics → forms}/radio/Radio.d.ts +0 -0
  775. /package/dist/components/{basics → forms}/radio/index.d.ts +0 -0
  776. /package/dist/components/{basics → forms}/select/Select.d.ts +0 -0
  777. /package/dist/components/{basics → forms}/select/index.d.ts +0 -0
  778. /package/dist/components/{basics → forms}/switch/Switch.d.ts +0 -0
  779. /package/dist/components/{basics → forms}/switch/index.d.ts +0 -0
  780. /package/dist/components/{basics → forms}/textarea/Textarea.d.ts +0 -0
  781. /package/dist/components/{basics → forms}/textarea/index.d.ts +0 -0
  782. /package/dist/components/{basics → navigation}/carousel/Carousel.d.ts +0 -0
  783. /package/dist/components/{basics → navigation}/carousel/index.d.ts +0 -0
  784. /package/dist/components/{basics → navigation}/stepper/Stepper.d.ts +0 -0
  785. /package/dist/components/{basics → navigation}/stepper/index.d.ts +0 -0
  786. /package/dist/components/{basics → overlays}/dialog/Dialog.d.ts +0 -0
  787. /package/dist/components/{basics → overlays}/drawer/Drawer.d.ts +0 -0
  788. /package/dist/components/{basics → overlays}/hover-card/HoverCard.d.ts +0 -0
  789. /package/dist/components/{basics → overlays}/toast/Toast.d.ts +0 -0
  790. /package/dist/components/{basics → overlays}/toast/index.d.ts +0 -0
  791. /package/dist/components/{basics → overlays}/tooltip/Tooltip.d.ts +0 -0
  792. /package/dist/components/{basics → overlays}/tooltip/index.d.ts +0 -0
  793. /package/dist/components/text-animations/{BlurText → blur-text}/index.d.ts +0 -0
@@ -0,0 +1,1154 @@
1
+ const require_chunk = require("./chunk-B_GkZjkl.cjs");
2
+ const require_icons = require("./icons-BxIzP2jd.cjs");
3
+ const require_button = require("./button-CZL6kFzT.cjs");
4
+ const require_checkbox = require("./checkbox-yHuSw-hV.cjs");
5
+ const require_chip = require("./chip-DcBji__g.cjs");
6
+ const require_combobox = require("./combobox-BXu3s0dt.cjs");
7
+ const require_multi_select_combobox = require("./multi-select-combobox-UW0X15W7.cjs");
8
+ const require_input = require("./input-D9qZNqXV.cjs");
9
+ const require_select = require("./select-WC_kPqUP.cjs");
10
+ const require_switch = require("./switch-C5otDb4c.cjs");
11
+ const require_date_picker = require("./date-picker-W9om1j7A.cjs");
12
+ let react = require("react");
13
+ react = require_chunk.__toESM(react);
14
+ let react_jsx_runtime = require("react/jsx-runtime");
15
+ let _tanstack_react_table = require("@tanstack/react-table");
16
+ //#region src/components/data-display/data-table/DataTable.tsx
17
+ function renderDefaultCellValue(value) {
18
+ if (value === void 0 || value === null || value === "") return "-";
19
+ if (typeof value === "boolean") return value ? "Yes" : "No";
20
+ if (Array.isArray(value)) return value.length > 0 ? value.join(", ") : "-";
21
+ return value;
22
+ }
23
+ var FilterDropdown = ({ isOpen, onClose, children }) => {
24
+ if (!isOpen) return null;
25
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
26
+ className: "fixed inset-0 z-40",
27
+ onClick: onClose,
28
+ "aria-hidden": "true"
29
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
30
+ className: "absolute top-full right-0 z-50 mt-2 min-w-64 overflow-hidden rounded-[4px] border border-white/45 bg-neutral-50 shadow-[0_18px_40px_rgba(15,23,42,0.18)] ring-1 ring-inset ring-white/35 backdrop-blur-2xl dark:border-white/10 dark:bg-neutral-800/50 dark:shadow-[0_22px_48px_rgba(0,0,0,0.42)] dark:ring-white/6",
31
+ children
32
+ })] });
33
+ };
34
+ var FilterButton = ({ icon, label, onClick, hasActive }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
35
+ onClick,
36
+ title: label,
37
+ "aria-label": label,
38
+ className: `h-10 min-w-10 px-0 py-0 shadow-none ${hasActive ? "border-accent/20 bg-accent-subtle text-accent hover:bg-accent-subtle hover:opacity-100" : "border-transparent bg-transparent text-neutral-600 hover:bg-neutral-100 hover:text-neutral-700 hover:opacity-100 dark:text-neutral-400 dark:hover:bg-neutral-700 dark:hover:text-neutral-200"}`,
39
+ children: icon
40
+ });
41
+ var ColumnToggle = ({ columns, onToggle, onShowAll, onHideAll }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
42
+ className: "p-4 space-y-3",
43
+ children: [
44
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
45
+ className: "flex items-center justify-between mb-3",
46
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
47
+ className: "text-sm font-semibold text-neutral-900 dark:text-white",
48
+ children: "COLUMNS"
49
+ })
50
+ }),
51
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
52
+ className: "space-y-2 max-h-64 overflow-y-auto",
53
+ children: columns.map((col) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
54
+ className: "rounded-[8px] px-2 py-1 hover:bg-neutral-100 dark:hover:bg-neutral-700",
55
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_checkbox.Checkbox, {
56
+ checked: col.visible !== false,
57
+ onChange: () => onToggle(col.id),
58
+ label: col.label
59
+ })
60
+ }, col.id))
61
+ }),
62
+ (onShowAll || onHideAll) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
63
+ className: "flex gap-2 border-t border-neutral-200 pt-2 dark:border-neutral-700",
64
+ children: [onShowAll && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
65
+ onClick: onShowAll,
66
+ size: "small",
67
+ className: "flex-1 border-none bg-transparent px-1 py-1 text-xs font-semibold text-accent shadow-none hover:bg-transparent hover:text-accent-hover hover:opacity-100",
68
+ children: "SHOW ALL"
69
+ }), onHideAll && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
70
+ onClick: onHideAll,
71
+ size: "small",
72
+ className: "flex-1 border-none bg-transparent px-1 py-1 text-xs font-semibold text-neutral-500 shadow-none hover:bg-transparent hover:text-neutral-600 hover:opacity-100 dark:text-neutral-300 dark:hover:text-white",
73
+ children: "HIDE ALL"
74
+ })]
75
+ })
76
+ ]
77
+ });
78
+ var FilterProfile = ({ isOpen, onClose, onSaveProfile }) => {
79
+ const [profileName, setProfileName] = react.default.useState("");
80
+ const handleSave = () => {
81
+ if (profileName.trim()) {
82
+ onSaveProfile(profileName);
83
+ setProfileName("");
84
+ onClose();
85
+ }
86
+ };
87
+ if (!isOpen) return null;
88
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
89
+ className: "fixed inset-0 bg-black/50 flex items-center justify-center z-50",
90
+ onClick: onClose,
91
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
92
+ className: "bg-white dark:bg-neutral-800 rounded-xl p-6 max-w-md w-full mx-4",
93
+ onClick: (e) => e.stopPropagation(),
94
+ children: [
95
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
96
+ className: "text-2xl font-bold text-neutral-900 dark:text-white mb-4",
97
+ children: "Add new profile"
98
+ }),
99
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
100
+ className: "mb-2 block text-sm font-medium text-accent",
101
+ children: "Enter filter profile name:"
102
+ }),
103
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
104
+ type: "text",
105
+ value: profileName,
106
+ onChange: (e) => setProfileName(e.target.value),
107
+ placeholder: "Enter value",
108
+ className: "",
109
+ onKeyDown: (e) => e.key === "Enter" && handleSave()
110
+ }),
111
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
112
+ className: "flex justify-end gap-3 mt-6",
113
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
114
+ onClick: onClose,
115
+ className: "min-w-28",
116
+ size: "medium",
117
+ children: "Cancel"
118
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
119
+ onClick: handleSave,
120
+ disabled: !profileName.trim(),
121
+ className: "min-w-28",
122
+ size: "medium",
123
+ primary: true,
124
+ children: "Save"
125
+ })]
126
+ })
127
+ ]
128
+ })
129
+ });
130
+ };
131
+ var ICON_BUTTON_CLASS_NAME = "inline-flex items-center justify-center rounded-lg text-neutral-400 transition-colors hover:bg-neutral-100 hover:text-neutral-600 dark:hover:bg-neutral-700";
132
+ var DISABLED_ICON_BUTTON_CLASS_NAME = `${ICON_BUTTON_CLASS_NAME} disabled:opacity-40 disabled:cursor-not-allowed`;
133
+ var TABLE_CONTROL_ICON_CLASS_NAME = "h-[18px] w-[18px] shrink-0";
134
+ var TABLE_COMPLEX_ICON_CLASS_NAME = "h-5 w-5 shrink-0";
135
+ var isFilterValueEmpty = (value) => {
136
+ if (value === void 0 || value === null) return true;
137
+ if (typeof value === "string") return value === "";
138
+ if (Array.isArray(value)) return value.length === 0;
139
+ if (value instanceof Date || typeof value === "boolean") return false;
140
+ if ("start" in value || "end" in value) {
141
+ const rangeValue = value;
142
+ return !rangeValue.start && !rangeValue.end;
143
+ }
144
+ return value.min === void 0 && value.max === void 0;
145
+ };
146
+ var isFilterActive = (value) => !isFilterValueEmpty(value);
147
+ var toSelectOptions = (options) => (options || []).map((option) => ({
148
+ value: option,
149
+ label: option
150
+ }));
151
+ var getStringFilterValue = (value) => typeof value === "string" ? value : "";
152
+ var getMultiStringFilterValue = (value) => {
153
+ if (Array.isArray(value)) return value;
154
+ return typeof value === "string" && value ? [value] : [];
155
+ };
156
+ var getNumberRangeFilterValue = (value) => {
157
+ if (!value || typeof value !== "object" || "start" in value || "end" in value) return {};
158
+ return value;
159
+ };
160
+ var getDateFilterValue = (value) => value instanceof Date || value === null ? value : null;
161
+ var getDateRangeFilterValue = (value) => {
162
+ if (value && typeof value === "object" && "start" in value && "end" in value) return value;
163
+ return {
164
+ start: null,
165
+ end: null
166
+ };
167
+ };
168
+ function buildGeneratedFilterOptions(columns, data) {
169
+ return columns.filter((column) => column.filterable !== false).map((column) => {
170
+ const uniqueValues = /* @__PURE__ */ new Set();
171
+ data.forEach((row) => {
172
+ const value = row[column.id];
173
+ if (value !== void 0 && value !== null && value !== "") uniqueValues.add(String(value));
174
+ });
175
+ return {
176
+ id: column.id,
177
+ label: column.label,
178
+ options: Array.from(uniqueValues).sort(),
179
+ multiple: column.multiFilter
180
+ };
181
+ });
182
+ }
183
+ function resolveFilterOptions(columns, data, externalFilterOptions, asyncFilterOptions) {
184
+ if (!externalFilterOptions?.length) return buildGeneratedFilterOptions(columns, data);
185
+ return externalFilterOptions.map((filter) => {
186
+ const asyncState = asyncFilterOptions[filter.id];
187
+ if (!asyncState) return filter;
188
+ return {
189
+ ...filter,
190
+ options: asyncState.options,
191
+ isLoading: asyncState.isLoading
192
+ };
193
+ });
194
+ }
195
+ function matchesSearchQuery(row, searchQuery) {
196
+ if (!searchQuery.trim()) return true;
197
+ const query = searchQuery.toLowerCase();
198
+ return Object.values(row).some((value) => {
199
+ if (value === void 0 || value === null) return false;
200
+ return String(value).toLowerCase().includes(query);
201
+ });
202
+ }
203
+ function matchesFilterValue(rowValue, filterValue, filterOption) {
204
+ if (isFilterValueEmpty(filterValue)) return true;
205
+ switch (filterOption?.type) {
206
+ case "text": return String(rowValue).toLowerCase().includes(String(filterValue).toLowerCase());
207
+ case "number-range": {
208
+ const rangeValue = getNumberRangeFilterValue(filterValue);
209
+ const numericValue = Number(rowValue);
210
+ if (rangeValue.min !== void 0 && numericValue < rangeValue.min) return false;
211
+ if (rangeValue.max !== void 0 && numericValue > rangeValue.max) return false;
212
+ return true;
213
+ }
214
+ case "date-range": {
215
+ const rangeValue = getDateRangeFilterValue(filterValue);
216
+ if (!rangeValue.start) return true;
217
+ const timeValue = new Date(rowValue).getTime();
218
+ if (timeValue < rangeValue.start.getTime()) return false;
219
+ return !rangeValue.end || timeValue <= rangeValue.end.getTime();
220
+ }
221
+ case "date": {
222
+ const selectedDate = filterValue;
223
+ const rowDate = new Date(rowValue);
224
+ return selectedDate.toDateString() === rowDate.toDateString();
225
+ }
226
+ case "switch":
227
+ case "checkbox": return Boolean(rowValue) === Boolean(filterValue);
228
+ default: {
229
+ const rowValueString = String(rowValue).toLowerCase();
230
+ if (Array.isArray(filterValue)) return filterValue.some((value) => String(value).toLowerCase() === rowValueString);
231
+ return typeof filterValue !== "string" ? true : rowValueString === filterValue.toLowerCase();
232
+ }
233
+ }
234
+ }
235
+ function filterClientData(data, activeFilters, searchQuery, serverSideFiltering, filterOptions) {
236
+ if (serverSideFiltering) return data;
237
+ const filterOptionsMap = new Map(filterOptions.map((filterOption) => [filterOption.id, filterOption]));
238
+ return data.filter((row) => {
239
+ if (!matchesSearchQuery(row, searchQuery)) return false;
240
+ return Object.entries(activeFilters).every(([filterId, filterValue]) => {
241
+ const rowValue = row[filterId];
242
+ return matchesFilterValue(rowValue, filterValue, filterOptionsMap.get(filterId));
243
+ });
244
+ });
245
+ }
246
+ function useAsyncFilterOptions(externalFilterOptions, filterSelectorOpen) {
247
+ const [asyncFilterOptions, setAsyncFilterOptions] = react.default.useState({});
248
+ const asyncFilterOptionsRef = react.default.useRef(asyncFilterOptions);
249
+ react.default.useEffect(() => {
250
+ asyncFilterOptionsRef.current = asyncFilterOptions;
251
+ }, [asyncFilterOptions]);
252
+ const fetchAsyncOptions = react.default.useCallback(async (filter) => {
253
+ if (!filter.fetchOptions || asyncFilterOptionsRef.current[filter.id]?.options.length) return;
254
+ setAsyncFilterOptions((prev) => ({
255
+ ...prev,
256
+ [filter.id]: {
257
+ options: [],
258
+ isLoading: true
259
+ }
260
+ }));
261
+ try {
262
+ const options = await filter.fetchOptions();
263
+ setAsyncFilterOptions((prev) => ({
264
+ ...prev,
265
+ [filter.id]: {
266
+ options,
267
+ isLoading: false
268
+ }
269
+ }));
270
+ } catch {
271
+ setAsyncFilterOptions((prev) => ({
272
+ ...prev,
273
+ [filter.id]: {
274
+ options: [],
275
+ isLoading: false
276
+ }
277
+ }));
278
+ }
279
+ }, []);
280
+ react.default.useEffect(() => {
281
+ if (!filterSelectorOpen || !externalFilterOptions) return;
282
+ externalFilterOptions.forEach((filter) => {
283
+ if (filter.fetchOptions) fetchAsyncOptions(filter);
284
+ });
285
+ }, [
286
+ externalFilterOptions,
287
+ fetchAsyncOptions,
288
+ filterSelectorOpen
289
+ ]);
290
+ return asyncFilterOptions;
291
+ }
292
+ function LoadingFilterField({ label }) {
293
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
294
+ className: "h-10 flex items-center justify-center bg-neutral-100 dark:bg-neutral-800 rounded-md px-3",
295
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.LoaderIcon, {
296
+ className: "w-4 h-4 animate-spin text-neutral-400",
297
+ "aria-hidden": "true"
298
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
299
+ className: "ml-2 text-sm text-neutral-500",
300
+ children: label
301
+ })]
302
+ });
303
+ }
304
+ function NumberRangeFilter({ value, onChange }) {
305
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
306
+ className: "flex items-center gap-1",
307
+ children: [
308
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
309
+ type: "number",
310
+ placeholder: "Min",
311
+ value: value.min ?? "",
312
+ onChange: (event) => {
313
+ const min = event.target.value === "" ? void 0 : Number(event.target.value);
314
+ onChange({
315
+ ...value,
316
+ min
317
+ });
318
+ },
319
+ className: "h-9 px-2 text-xs"
320
+ }),
321
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
322
+ className: "text-neutral-400",
323
+ children: "-"
324
+ }),
325
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
326
+ type: "number",
327
+ placeholder: "Max",
328
+ value: value.max ?? "",
329
+ onChange: (event) => {
330
+ const max = event.target.value === "" ? void 0 : Number(event.target.value);
331
+ onChange({
332
+ ...value,
333
+ max
334
+ });
335
+ },
336
+ className: "h-9 px-2 text-xs"
337
+ })
338
+ ]
339
+ });
340
+ }
341
+ function FilterFieldControl({ filter, value, isActive, onChange }) {
342
+ if (filter.isLoading) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LoadingFilterField, { label: filter.label });
343
+ const activeClassName = isActive ? "border-accent" : "";
344
+ switch (filter.type) {
345
+ case "text": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
346
+ value: getStringFilterValue(value),
347
+ onChange: (event) => onChange(event.target.value),
348
+ placeholder: filter.placeholder || filter.label,
349
+ className: activeClassName
350
+ });
351
+ case "select": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_select.Select, {
352
+ value: getStringFilterValue(value),
353
+ onChange: (event) => onChange(event.target.value),
354
+ placeholder: filter.placeholder || filter.label,
355
+ options: toSelectOptions(filter.options),
356
+ className: activeClassName
357
+ });
358
+ case "switch":
359
+ case "checkbox": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_switch.Switch, {
360
+ checked: Boolean(value),
361
+ onChange: (event) => onChange(event.target.checked),
362
+ label: filter.label
363
+ });
364
+ case "date": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_date_picker.DatePicker, {
365
+ mode: "single",
366
+ value: getDateFilterValue(value),
367
+ onChange: (nextValue) => onChange(nextValue),
368
+ placeholder: filter.placeholder || filter.label
369
+ });
370
+ case "date-range": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_date_picker.DatePicker, {
371
+ mode: "range",
372
+ value: getDateRangeFilterValue(value),
373
+ onChange: (nextValue) => onChange(nextValue),
374
+ placeholder: filter.placeholder || filter.label
375
+ });
376
+ case "number-range": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NumberRangeFilter, {
377
+ value: getNumberRangeFilterValue(value),
378
+ onChange
379
+ });
380
+ default: return filter.multiple ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_multi_select_combobox.MultiSelectCombobox, {
381
+ value: getMultiStringFilterValue(value),
382
+ onChange: (values) => onChange(values),
383
+ placeholder: filter.placeholder || filter.label,
384
+ options: toSelectOptions(filter.options),
385
+ className: isActive ? "border-accent border-2" : ""
386
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_combobox.Combobox, {
387
+ value: getStringFilterValue(value),
388
+ onChange: (nextValue) => onChange(nextValue),
389
+ placeholder: filter.placeholder || filter.label,
390
+ options: toSelectOptions(filter.options),
391
+ className: isActive ? "border-accent border-2" : ""
392
+ });
393
+ }
394
+ }
395
+ function ToolbarIconButton({ title, onClick, disabled, children }) {
396
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
397
+ onClick,
398
+ disabled,
399
+ title,
400
+ "aria-label": title,
401
+ className: disabled ? `${DISABLED_ICON_BUTTON_CLASS_NAME} h-10 w-10 shrink-0 border-transparent bg-transparent px-0 py-0 text-base shadow-none hover:bg-transparent hover:opacity-100` : `${ICON_BUTTON_CLASS_NAME} h-10 w-10 shrink-0 border-transparent bg-transparent px-0 py-0 text-base shadow-none hover:opacity-100`,
402
+ children
403
+ });
404
+ }
405
+ function SearchField({ value, onChange, placeholder }) {
406
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
407
+ className: "relative w-[300px]",
408
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.SearchIcon, {
409
+ className: `pointer-events-none absolute left-4 top-1/2 z-10 -translate-y-1/2 text-neutral-400 ${TABLE_CONTROL_ICON_CLASS_NAME}`,
410
+ "aria-hidden": "true"
411
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
412
+ type: "text",
413
+ value,
414
+ onChange: (event) => onChange(event.target.value),
415
+ placeholder,
416
+ style: { paddingLeft: "2.75rem" }
417
+ })]
418
+ });
419
+ }
420
+ function RowActionsCell({ rowIndex, row, isOpen, onToggle, onClose, onRowAction }) {
421
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("td", {
422
+ className: "px-2 py-3 text-right relative",
423
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
424
+ onClick: () => onToggle(rowIndex),
425
+ "aria-label": "Open row actions",
426
+ className: "h-8 w-8 border-none bg-transparent px-0 py-0 text-neutral-500 shadow-none hover:bg-neutral-100 hover:text-neutral-700 hover:opacity-100 dark:hover:bg-neutral-600 dark:hover:text-neutral-200",
427
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.EllipsisVerticalIcon, {
428
+ className: TABLE_CONTROL_ICON_CLASS_NAME,
429
+ "aria-hidden": "true"
430
+ })
431
+ }), isOpen ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
432
+ className: "fixed inset-0 z-40",
433
+ onClick: onClose
434
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
435
+ className: "absolute right-0 top-full mt-1 bg-white dark:bg-neutral-800 rounded-lg shadow-lg border border-neutral-200 dark:border-neutral-700 z-50 min-w-32 py-1",
436
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
437
+ onClick: () => {
438
+ onRowAction?.("edit", row);
439
+ onClose();
440
+ },
441
+ className: "w-full justify-start rounded-none border-none bg-transparent px-4 py-2 text-sm font-normal text-neutral-700 shadow-none hover:bg-neutral-50 hover:text-neutral-900 hover:opacity-100 dark:text-neutral-200 dark:hover:bg-neutral-700 dark:hover:text-white",
442
+ children: "Edit"
443
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
444
+ onClick: () => {
445
+ onRowAction?.("delete", row);
446
+ onClose();
447
+ },
448
+ className: "w-full justify-start rounded-none border-none bg-transparent px-4 py-2 text-sm font-normal text-error shadow-none hover:bg-neutral-50 hover:text-error hover:opacity-100 dark:hover:bg-neutral-700",
449
+ children: "Delete"
450
+ })]
451
+ })] }) : null]
452
+ });
453
+ }
454
+ function DataTablePagination({ table, totalCount, filteredCount }) {
455
+ const { pageIndex, pageSize } = table.getState().pagination;
456
+ const itemCount = totalCount ?? filteredCount;
457
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
458
+ className: "flex items-center justify-between px-4 py-3 border-t border-neutral-200 dark:border-neutral-700 bg-neutral-50 dark:bg-neutral-800/50",
459
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
460
+ className: "flex items-center gap-2",
461
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
462
+ className: "text-sm text-neutral-600 dark:text-neutral-400",
463
+ children: [
464
+ "Showing ",
465
+ itemCount === 0 ? 0 : pageIndex * pageSize + 1,
466
+ " to ",
467
+ Math.min((pageIndex + 1) * pageSize, itemCount),
468
+ " of ",
469
+ itemCount,
470
+ " items"
471
+ ]
472
+ })
473
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
474
+ className: "flex flex-wrap items-center justify-end gap-2",
475
+ children: [
476
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
477
+ className: "text-sm text-neutral-600 dark:text-neutral-400",
478
+ children: "Rows"
479
+ }),
480
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_select.Select, {
481
+ value: String(pageSize),
482
+ onChange: (event) => table.setPageSize(Number(event.target.value)),
483
+ "aria-label": "Rows per page",
484
+ containerClassName: "w-24 min-w-24 shrink-0",
485
+ triggerClassName: "px-3 font-medium text-neutral-900 dark:text-white",
486
+ options: [
487
+ 10,
488
+ 20,
489
+ 30,
490
+ 50,
491
+ 100
492
+ ].map((size) => ({
493
+ value: String(size),
494
+ label: String(size)
495
+ }))
496
+ }),
497
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
498
+ title: "First page",
499
+ onClick: () => table.setPageIndex(0),
500
+ disabled: !table.getCanPreviousPage(),
501
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.ChevronsLeftIcon, {
502
+ className: TABLE_CONTROL_ICON_CLASS_NAME,
503
+ "aria-hidden": "true"
504
+ })
505
+ }),
506
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
507
+ title: "Previous page",
508
+ onClick: () => table.previousPage(),
509
+ disabled: !table.getCanPreviousPage(),
510
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.ChevronLeftIcon, {
511
+ className: TABLE_CONTROL_ICON_CLASS_NAME,
512
+ "aria-hidden": "true"
513
+ })
514
+ }),
515
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
516
+ className: "inline-flex h-10 shrink-0 items-center rounded-lg px-3 text-sm font-medium text-neutral-700 dark:text-neutral-300",
517
+ children: [
518
+ "Page ",
519
+ pageIndex + 1,
520
+ " of ",
521
+ table.getPageCount()
522
+ ]
523
+ }),
524
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
525
+ title: "Next page",
526
+ onClick: () => table.nextPage(),
527
+ disabled: !table.getCanNextPage(),
528
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.ChevronRightIcon, {
529
+ className: TABLE_CONTROL_ICON_CLASS_NAME,
530
+ "aria-hidden": "true"
531
+ })
532
+ }),
533
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
534
+ title: "Last page",
535
+ onClick: () => table.setPageIndex(table.getPageCount() - 1),
536
+ disabled: !table.getCanNextPage(),
537
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.ChevronsRightIcon, {
538
+ className: TABLE_CONTROL_ICON_CLASS_NAME,
539
+ "aria-hidden": "true"
540
+ })
541
+ })
542
+ ]
543
+ })]
544
+ });
545
+ }
546
+ function FilterSelectorMenu({ filterOptions, visibleFilters, onToggleFilter, onShowAll, onHideAll }) {
547
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
548
+ className: "p-2 min-w-48 space-y-1",
549
+ children: [
550
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
551
+ className: "px-2 pb-2 text-xs font-semibold text-neutral-500 dark:text-neutral-300",
552
+ children: "Show filters"
553
+ }),
554
+ filterOptions.map((filter) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
555
+ className: "min-w-36",
556
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_checkbox.Checkbox, {
557
+ checked: visibleFilters.includes(filter.id),
558
+ onChange: (event) => onToggleFilter(filter.id, event.target.checked),
559
+ label: filter.label
560
+ })
561
+ }, filter.id)),
562
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
563
+ className: "flex gap-2 border-t border-neutral-200 pt-2 dark:border-neutral-700",
564
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
565
+ onClick: onShowAll,
566
+ size: "small",
567
+ className: "flex-1 border-none bg-transparent px-1 py-1 text-xs font-semibold text-accent shadow-none hover:bg-transparent hover:text-accent-hover hover:opacity-100",
568
+ children: "SHOW ALL"
569
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
570
+ onClick: onHideAll,
571
+ size: "small",
572
+ className: "flex-1 border-none bg-transparent px-1 py-1 text-xs font-semibold text-neutral-500 shadow-none hover:bg-transparent hover:text-neutral-600 hover:opacity-100 dark:text-neutral-300 dark:hover:text-white",
573
+ children: "HIDE ALL"
574
+ })]
575
+ })
576
+ ]
577
+ });
578
+ }
579
+ function DataTableToolbar({ searchQuery, onSearchChange, searchPlaceholder, bulkDeleteEnabled, bulkSelectionActive, selectedCount, bulkActionsContent, bulkActionCard, onToggleBulkSelection, onBulkDeleteSelected, onExport, columnMenuOpen, onToggleColumnMenu, onCloseColumnMenu, columns, onColumnToggle, onShowAllColumns, onHideAllColumns }) {
580
+ const hasSelectedRows = selectedCount > 0;
581
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
582
+ className: "border-b border-neutral-200 px-4 py-3 dark:border-neutral-700",
583
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
584
+ className: "flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between",
585
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
586
+ className: "flex min-w-0 flex-1 flex-wrap items-center gap-2",
587
+ children: [bulkDeleteEnabled ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterButton, {
588
+ icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.SelectionIcon, {
589
+ className: TABLE_COMPLEX_ICON_CLASS_NAME,
590
+ "aria-hidden": "true"
591
+ }),
592
+ label: bulkSelectionActive ? "Disable bulk selection" : "Enable bulk selection",
593
+ onClick: onToggleBulkSelection,
594
+ hasActive: bulkSelectionActive
595
+ }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SearchField, {
596
+ value: searchQuery,
597
+ onChange: onSearchChange,
598
+ placeholder: searchPlaceholder
599
+ })]
600
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
601
+ className: "flex items-center gap-1 self-end lg:self-auto",
602
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
603
+ onClick: onExport,
604
+ title: "Refresh",
605
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.RefreshIcon, {
606
+ className: TABLE_CONTROL_ICON_CLASS_NAME,
607
+ "aria-hidden": "true"
608
+ })
609
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
610
+ className: "relative",
611
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
612
+ onClick: onToggleColumnMenu,
613
+ title: "Column settings",
614
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.SettingsIcon, {
615
+ className: TABLE_COMPLEX_ICON_CLASS_NAME,
616
+ "aria-hidden": "true"
617
+ })
618
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterDropdown, {
619
+ isOpen: columnMenuOpen,
620
+ onClose: onCloseColumnMenu,
621
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ColumnToggle, {
622
+ columns,
623
+ onToggle: (columnId) => {
624
+ onColumnToggle?.(columnId);
625
+ },
626
+ onShowAll: onShowAllColumns,
627
+ onHideAll: onHideAllColumns
628
+ })
629
+ })]
630
+ })]
631
+ })]
632
+ }), bulkSelectionActive && hasSelectedRows ? bulkActionCard ?? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
633
+ className: "mt-2 flex flex-col gap-2 rounded-[4px] border border-neutral-200 bg-neutral-50 px-3 py-2 shadow-sm dark:border-neutral-700 dark:bg-neutral-800/50 dark:shadow-black/25 lg:flex-row lg:items-center lg:justify-between",
634
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
635
+ className: "flex min-w-0 flex-wrap items-center gap-2",
636
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_chip.Chip, {
637
+ variant: "soft",
638
+ color: "primary",
639
+ size: "sm",
640
+ className: "uppercase tracking-wide",
641
+ children: "Bulk actions"
642
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
643
+ className: "text-sm font-medium text-neutral-900 dark:text-white",
644
+ children: [
645
+ selectedCount,
646
+ " ",
647
+ selectedCount === 1 ? "row" : "rows",
648
+ " ",
649
+ "selected"
650
+ ]
651
+ })]
652
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
653
+ className: "flex flex-wrap items-center gap-2",
654
+ children: [bulkActionsContent, bulkDeleteEnabled ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_button.Button, {
655
+ onClick: onBulkDeleteSelected,
656
+ primary: true,
657
+ size: "small",
658
+ className: "border-accent/20 px-3 py-2 text-sm text-on-accent shadow-lg shadow-accent/20 hover:bg-accent-hover hover:opacity-100",
659
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.TrashIcon, {
660
+ className: "h-4 w-4",
661
+ "aria-hidden": "true"
662
+ }), "Delete selected"]
663
+ }) : null]
664
+ })]
665
+ }) : null]
666
+ });
667
+ }
668
+ function TableStateRow({ colSpan, children }) {
669
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tr", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", {
670
+ colSpan,
671
+ className: "px-4 py-12 text-center text-neutral-500",
672
+ children
673
+ }) });
674
+ }
675
+ function LoadingTableState({ colSpan }) {
676
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableStateRow, {
677
+ colSpan,
678
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
679
+ className: "flex flex-col items-center gap-3",
680
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.LoaderIcon, {
681
+ className: "w-8 h-8 animate-spin text-accent",
682
+ "aria-hidden": "true"
683
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "Loading data..." })]
684
+ })
685
+ });
686
+ }
687
+ function EmptyTableState({ colSpan }) {
688
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableStateRow, {
689
+ colSpan,
690
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
691
+ className: "flex flex-col items-center gap-2",
692
+ children: [
693
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
694
+ className: "text-4xl",
695
+ children: "🔍"
696
+ }),
697
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
698
+ className: "font-medium",
699
+ children: "No results found"
700
+ }),
701
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
702
+ className: "text-sm",
703
+ children: "Try adjusting the filter"
704
+ })
705
+ ]
706
+ })
707
+ });
708
+ }
709
+ function DataTableRows({ table, isLoading, bulkSelectionActive, selectedRowIds, onToggleRowSelection, rowMenuOpen, onToggleRowMenu, onCloseRowMenu, onRowAction }) {
710
+ const colSpan = table.getVisibleLeafColumns().length + (bulkSelectionActive ? 2 : 1);
711
+ if (isLoading) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LoadingTableState, { colSpan });
712
+ if (table.getRowModel().rows.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EmptyTableState, { colSpan });
713
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: table.getRowModel().rows.map((row) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("tr", {
714
+ className: "border-b border-neutral-100 dark:border-neutral-700 hover:bg-neutral-50 dark:hover:bg-neutral-700/50 transition-colors",
715
+ children: [
716
+ bulkSelectionActive ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", {
717
+ className: "w-12 px-4 py-3 align-middle",
718
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_checkbox.Checkbox, {
719
+ "aria-label": `Select row ${row.id}`,
720
+ checked: Boolean(selectedRowIds[row.id]),
721
+ onChange: (event) => onToggleRowSelection(row.id, event.target.checked)
722
+ })
723
+ }) : null,
724
+ row.getVisibleCells().map((cell) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", {
725
+ className: "px-4 py-3 text-sm text-neutral-700 dark:text-neutral-300",
726
+ children: (0, _tanstack_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext())
727
+ }, cell.id)),
728
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RowActionsCell, {
729
+ rowIndex: row.index,
730
+ row: row.original,
731
+ isOpen: rowMenuOpen === row.index,
732
+ onToggle: onToggleRowMenu,
733
+ onClose: onCloseRowMenu,
734
+ onRowAction
735
+ })
736
+ ]
737
+ }, row.id)) });
738
+ }
739
+ var usesManualPagination = (totalCount, onPaginationChange) => totalCount !== void 0 || typeof onPaginationChange === "function";
740
+ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize = 10, maxHeight = "500px", onSearch, onExport, onRowAction, onBulkDelete, renderBulkActions, renderBulkActionCard, onFilterChange, onFiltersApply, serverSideFiltering = false, filterOptions: externalFilterOptions, searchPlaceholder = "Search ...", totalCount, onPaginationChange }) {
741
+ const [pagination, setPagination] = react.default.useState({
742
+ pageIndex: 0,
743
+ pageSize
744
+ });
745
+ const [columnMenuOpen, setColumnMenuOpen] = react.default.useState(false);
746
+ const [profileMenuOpen, setProfileMenuOpen] = react.default.useState(false);
747
+ const [profileOpen, setProfileOpen] = react.default.useState(false);
748
+ const [filterSelectorOpen, setFilterSelectorOpen] = react.default.useState(false);
749
+ const [visibleFilters, setVisibleFilters] = react.default.useState([]);
750
+ const [activeFilters, setActiveFilters] = react.default.useState({});
751
+ const [bulkSelectionActive, setBulkSelectionActive] = react.default.useState(false);
752
+ const [selectedRowIds, setSelectedRowIds] = react.default.useState({});
753
+ const [rowMenuOpen, setRowMenuOpen] = react.default.useState(null);
754
+ const [searchQuery, setSearchQuery] = react.default.useState("");
755
+ const [columnVisibility, setColumnVisibility] = react.default.useState(() => Object.fromEntries(columns.map((column) => [column.id, column.visible !== false])));
756
+ const columnsVisibilitySignature = react.default.useMemo(() => columns.map((column) => `${column.id}:${column.visible !== false}`).join("|"), [columns]);
757
+ react.default.useEffect(() => {
758
+ setColumnVisibility(Object.fromEntries(columns.map((column) => [column.id, column.visible !== false])));
759
+ }, [columns, columnsVisibilitySignature]);
760
+ const asyncFilterOptions = useAsyncFilterOptions(externalFilterOptions, filterSelectorOpen);
761
+ const filterOptions = react.default.useMemo(() => {
762
+ return resolveFilterOptions(columns, data, externalFilterOptions, asyncFilterOptions);
763
+ }, [
764
+ columns,
765
+ data,
766
+ externalFilterOptions,
767
+ asyncFilterOptions
768
+ ]);
769
+ const resolvedColumns = react.default.useMemo(() => columns.map((column) => ({
770
+ ...column,
771
+ visible: columnVisibility[column.id] ?? column.visible !== false
772
+ })), [columnVisibility, columns]);
773
+ const visibleColumns = react.default.useMemo(() => resolvedColumns.filter((column) => column.visible !== false), [resolvedColumns]);
774
+ const manualPagination = usesManualPagination(totalCount, onPaginationChange);
775
+ const pageCount = totalCount === void 0 ? void 0 : Math.ceil(totalCount / pagination.pageSize);
776
+ const filteredData = react.default.useMemo(() => {
777
+ return filterClientData(data, activeFilters, searchQuery, serverSideFiltering, filterOptions);
778
+ }, [
779
+ data,
780
+ activeFilters,
781
+ searchQuery,
782
+ serverSideFiltering,
783
+ filterOptions
784
+ ]);
785
+ const tableColumns = react.default.useMemo(() => visibleColumns.map((col) => ({
786
+ id: col.id,
787
+ accessorKey: col.id,
788
+ header: col.label,
789
+ cell: (info) => {
790
+ const value = info.getValue();
791
+ if (col.renderCell) return col.renderCell({
792
+ value,
793
+ row: info.row.original,
794
+ rowIndex: info.row.index,
795
+ columnId: col.id
796
+ });
797
+ return renderDefaultCellValue(value);
798
+ }
799
+ })), [visibleColumns]);
800
+ const updatePagination = react.default.useCallback((updater) => {
801
+ setPagination((previous) => {
802
+ const nextPagination = typeof updater === "function" ? updater(previous) : updater;
803
+ if (previous.pageIndex !== nextPagination.pageIndex || previous.pageSize !== nextPagination.pageSize) onPaginationChange?.(nextPagination.pageIndex, nextPagination.pageSize);
804
+ return nextPagination;
805
+ });
806
+ }, [onPaginationChange]);
807
+ const table = (0, _tanstack_react_table.useReactTable)({
808
+ data: filteredData,
809
+ columns: tableColumns,
810
+ getCoreRowModel: (0, _tanstack_react_table.getCoreRowModel)(),
811
+ getPaginationRowModel: (0, _tanstack_react_table.getPaginationRowModel)(),
812
+ getFilteredRowModel: (0, _tanstack_react_table.getFilteredRowModel)(),
813
+ state: {
814
+ pagination,
815
+ globalFilter: searchQuery
816
+ },
817
+ onPaginationChange: updatePagination,
818
+ manualPagination,
819
+ pageCount
820
+ });
821
+ const visibleRows = table.getRowModel().rows;
822
+ const bulkDeleteEnabled = typeof onBulkDelete === "function";
823
+ const selectedRows = react.default.useMemo(() => visibleRows.filter((row) => selectedRowIds[row.id]).map((row) => row.original), [selectedRowIds, visibleRows]);
824
+ const allVisibleRowsSelected = visibleRows.length > 0 && visibleRows.every((row) => selectedRowIds[row.id]);
825
+ react.default.useEffect(() => {
826
+ updatePagination((previous) => previous.pageIndex === 0 ? previous : {
827
+ ...previous,
828
+ pageIndex: 0
829
+ });
830
+ }, [
831
+ activeFilters,
832
+ searchQuery,
833
+ updatePagination
834
+ ]);
835
+ react.default.useEffect(() => {
836
+ setSelectedRowIds((previous) => {
837
+ const visibleRowIds = new Set(visibleRows.map((row) => row.id));
838
+ const nextSelection = Object.fromEntries(Object.entries(previous).filter(([rowId, isSelected]) => isSelected && visibleRowIds.has(rowId)));
839
+ return Object.keys(previous).sort().join("|") === Object.keys(nextSelection).sort().join("|") ? previous : nextSelection;
840
+ });
841
+ }, [visibleRows]);
842
+ const applyFilters = react.default.useCallback((nextFilters) => {
843
+ setActiveFilters(nextFilters);
844
+ onFilterChange?.(nextFilters);
845
+ if (serverSideFiltering) onFiltersApply?.(nextFilters);
846
+ }, [
847
+ onFilterChange,
848
+ onFiltersApply,
849
+ serverSideFiltering
850
+ ]);
851
+ const handleSearchChange = react.default.useCallback((value) => {
852
+ setSearchQuery(value);
853
+ onSearch?.(value);
854
+ }, [onSearch]);
855
+ const handleFilterChange = react.default.useCallback((filterId, value) => {
856
+ applyFilters({
857
+ ...activeFilters,
858
+ [filterId]: value
859
+ });
860
+ }, [activeFilters, applyFilters]);
861
+ const handleResetFilters = react.default.useCallback(() => {
862
+ applyFilters({});
863
+ }, [applyFilters]);
864
+ const handleToggleFilterVisibility = react.default.useCallback((filterId, isVisible) => {
865
+ setVisibleFilters((previous) => {
866
+ if (isVisible) return previous.includes(filterId) ? previous : [...previous, filterId];
867
+ return previous.filter((id) => id !== filterId);
868
+ });
869
+ if (!isVisible && filterId in activeFilters) {
870
+ const nextFilters = { ...activeFilters };
871
+ delete nextFilters[filterId];
872
+ applyFilters(nextFilters);
873
+ }
874
+ }, [activeFilters, applyFilters]);
875
+ const handleShowAllFilters = react.default.useCallback(() => {
876
+ setVisibleFilters(filterOptions.map((filter) => filter.id));
877
+ }, [filterOptions]);
878
+ const handleHideAllFilters = react.default.useCallback(() => {
879
+ setVisibleFilters([]);
880
+ handleResetFilters();
881
+ }, [handleResetFilters]);
882
+ const handleToggleRowMenu = react.default.useCallback((rowIndex) => {
883
+ setRowMenuOpen((previous) => previous === rowIndex ? null : rowIndex);
884
+ }, []);
885
+ const handleToggleFilterSelector = react.default.useCallback(() => {
886
+ setFilterSelectorOpen((previous) => !previous);
887
+ }, []);
888
+ const handleToggleProfileMenu = react.default.useCallback(() => {
889
+ setProfileMenuOpen((previous) => !previous);
890
+ }, []);
891
+ const handleToggleColumnMenu = react.default.useCallback(() => {
892
+ setColumnMenuOpen((previous) => !previous);
893
+ }, []);
894
+ const handleToggleColumnVisibility = react.default.useCallback((columnId) => {
895
+ setColumnVisibility((previous) => ({
896
+ ...previous,
897
+ [columnId]: !(previous[columnId] ?? true)
898
+ }));
899
+ onColumnToggle?.(columnId);
900
+ }, [onColumnToggle]);
901
+ const handleShowAllColumns = react.default.useCallback(() => {
902
+ setColumnVisibility(Object.fromEntries(columns.map((column) => [column.id, true])));
903
+ }, [columns]);
904
+ const handleHideAllColumns = react.default.useCallback(() => {
905
+ setColumnVisibility(Object.fromEntries(columns.map((column) => [column.id, false])));
906
+ }, [columns]);
907
+ const handleToggleBulkSelection = react.default.useCallback(() => {
908
+ setBulkSelectionActive((previous) => {
909
+ if (previous) setSelectedRowIds({});
910
+ return !previous;
911
+ });
912
+ }, []);
913
+ const handleToggleRowSelection = react.default.useCallback((rowId, checked) => {
914
+ setSelectedRowIds((previous) => {
915
+ if (checked) return {
916
+ ...previous,
917
+ [rowId]: true
918
+ };
919
+ const nextSelection = { ...previous };
920
+ delete nextSelection[rowId];
921
+ return nextSelection;
922
+ });
923
+ }, []);
924
+ const handleToggleAllVisibleRows = react.default.useCallback((checked) => {
925
+ setSelectedRowIds((previous) => {
926
+ const nextSelection = { ...previous };
927
+ visibleRows.forEach((row) => {
928
+ if (checked) nextSelection[row.id] = true;
929
+ else delete nextSelection[row.id];
930
+ });
931
+ return nextSelection;
932
+ });
933
+ }, [visibleRows]);
934
+ const handleBulkDeleteSelected = react.default.useCallback(() => {
935
+ if (!onBulkDelete || selectedRows.length === 0) return;
936
+ onBulkDelete(selectedRows);
937
+ setSelectedRowIds({});
938
+ }, [onBulkDelete, selectedRows]);
939
+ const handleClearSelectedRows = react.default.useCallback(() => {
940
+ setSelectedRowIds({});
941
+ }, []);
942
+ const handleDisableBulkSelection = react.default.useCallback(() => {
943
+ setBulkSelectionActive(false);
944
+ setSelectedRowIds({});
945
+ }, []);
946
+ const bulkActionContext = react.default.useMemo(() => ({
947
+ selectedRows,
948
+ selectedCount: selectedRows.length,
949
+ clearSelection: handleClearSelectedRows,
950
+ disableBulkSelection: handleDisableBulkSelection
951
+ }), [
952
+ handleClearSelectedRows,
953
+ handleDisableBulkSelection,
954
+ selectedRows
955
+ ]);
956
+ const bulkActionsContent = renderBulkActions?.(bulkActionContext);
957
+ const bulkActionCard = renderBulkActionCard?.(bulkActionContext);
958
+ const handleOpenProfile = react.default.useCallback(() => {
959
+ setProfileOpen(true);
960
+ setProfileMenuOpen(false);
961
+ }, []);
962
+ const hasActiveFilters = Object.values(activeFilters).some(isFilterActive);
963
+ const handleSaveProfile = (profileName) => {
964
+ (/* @__PURE__ */ new Date()).toISOString();
965
+ };
966
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
967
+ className: "space-y-0",
968
+ children: [
969
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
970
+ className: "mb-4 flex items-center justify-between gap-4 rounded-[8px] border border-neutral-200 bg-neutral-50 px-4 py-4 dark:border-neutral-700 dark:bg-neutral-800/50",
971
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
972
+ className: "flex items-center gap-3 flex-wrap",
973
+ children: filterOptions.filter((filter) => visibleFilters.includes(filter.id)).map((filter, index) => {
974
+ const isActive = isFilterActive(activeFilters[filter.id]);
975
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
976
+ className: `min-w-[200px] ${index > 0 ? "border-l border-neutral-200 pl-3 dark:border-neutral-600" : ""}`,
977
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterFieldControl, {
978
+ filter,
979
+ value: activeFilters[filter.id],
980
+ isActive,
981
+ onChange: (value) => handleFilterChange(filter.id, value)
982
+ })
983
+ }, filter.id);
984
+ })
985
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
986
+ className: "flex items-center gap-1 ml-auto",
987
+ children: [
988
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
989
+ className: "relative",
990
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
991
+ onClick: handleToggleFilterSelector,
992
+ title: "Add filter",
993
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.FilterIcon, {
994
+ className: TABLE_COMPLEX_ICON_CLASS_NAME,
995
+ "aria-hidden": "true"
996
+ })
997
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterDropdown, {
998
+ isOpen: filterSelectorOpen,
999
+ onClose: () => setFilterSelectorOpen(false),
1000
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterSelectorMenu, {
1001
+ filterOptions,
1002
+ visibleFilters,
1003
+ onToggleFilter: handleToggleFilterVisibility,
1004
+ onShowAll: handleShowAllFilters,
1005
+ onHideAll: handleHideAllFilters
1006
+ })
1007
+ })]
1008
+ }),
1009
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
1010
+ onClick: handleResetFilters,
1011
+ disabled: !hasActiveFilters,
1012
+ title: "Clear filters",
1013
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.FilterXIcon, {
1014
+ className: TABLE_COMPLEX_ICON_CLASS_NAME,
1015
+ "aria-hidden": "true"
1016
+ })
1017
+ }),
1018
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1019
+ className: "relative",
1020
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
1021
+ onClick: handleToggleProfileMenu,
1022
+ title: "Filter profiles",
1023
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.FilterProfileIcon, {
1024
+ className: TABLE_COMPLEX_ICON_CLASS_NAME,
1025
+ "aria-hidden": "true"
1026
+ })
1027
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterDropdown, {
1028
+ isOpen: profileMenuOpen,
1029
+ onClose: () => setProfileMenuOpen(false),
1030
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1031
+ className: "p-2 min-w-48",
1032
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
1033
+ onClick: handleOpenProfile,
1034
+ className: "w-full justify-start border-2 border-dashed border-accent/40 bg-transparent px-4 py-3 text-left text-sm font-medium text-accent shadow-none hover:bg-accent-subtle hover:opacity-100",
1035
+ children: "Save new filter profile"
1036
+ })
1037
+ })
1038
+ })]
1039
+ })
1040
+ ]
1041
+ })]
1042
+ }),
1043
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1044
+ className: "bg-background-secondary rounded-lg border border-neutral-200 dark:border-neutral-700 overflow-hidden",
1045
+ children: [
1046
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DataTableToolbar, {
1047
+ searchQuery,
1048
+ onSearchChange: handleSearchChange,
1049
+ searchPlaceholder,
1050
+ bulkDeleteEnabled,
1051
+ bulkSelectionActive,
1052
+ selectedCount: selectedRows.length,
1053
+ bulkActionsContent,
1054
+ bulkActionCard,
1055
+ onToggleBulkSelection: handleToggleBulkSelection,
1056
+ onBulkDeleteSelected: handleBulkDeleteSelected,
1057
+ onExport,
1058
+ columnMenuOpen,
1059
+ onToggleColumnMenu: handleToggleColumnMenu,
1060
+ onCloseColumnMenu: () => setColumnMenuOpen(false),
1061
+ columns: resolvedColumns,
1062
+ onColumnToggle: handleToggleColumnVisibility,
1063
+ onShowAllColumns: handleShowAllColumns,
1064
+ onHideAllColumns: handleHideAllColumns
1065
+ }),
1066
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1067
+ className: "overflow-auto",
1068
+ style: { maxHeight },
1069
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("table", {
1070
+ className: "w-full min-w-[600px]",
1071
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("thead", {
1072
+ className: "sticky top-0 z-10 bg-background-secondary",
1073
+ children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("tr", {
1074
+ className: "border-b border-neutral-200 dark:border-neutral-700",
1075
+ children: [
1076
+ bulkSelectionActive ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", {
1077
+ className: "w-12 px-4 py-3 bg-background-secondary",
1078
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_checkbox.Checkbox, {
1079
+ "aria-label": "Select all visible rows",
1080
+ checked: allVisibleRowsSelected,
1081
+ onChange: (event) => handleToggleAllVisibleRows(event.target.checked)
1082
+ })
1083
+ }) : null,
1084
+ headerGroup.headers.map((header) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", {
1085
+ className: "bg-background-secondary px-4 py-3 text-left text-sm font-semibold text-neutral-900 dark:text-white whitespace-nowrap",
1086
+ children: header.isPlaceholder ? null : (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext())
1087
+ }, header.id)),
1088
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { className: "w-12 bg-background-secondary" })
1089
+ ]
1090
+ }, headerGroup.id))
1091
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tbody", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DataTableRows, {
1092
+ table,
1093
+ isLoading,
1094
+ bulkSelectionActive,
1095
+ selectedRowIds,
1096
+ onToggleRowSelection: handleToggleRowSelection,
1097
+ rowMenuOpen,
1098
+ onToggleRowMenu: handleToggleRowMenu,
1099
+ onCloseRowMenu: () => setRowMenuOpen(null),
1100
+ onRowAction
1101
+ }) })]
1102
+ })
1103
+ }),
1104
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DataTablePagination, {
1105
+ table,
1106
+ totalCount,
1107
+ filteredCount: filteredData.length
1108
+ })
1109
+ ]
1110
+ }),
1111
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterProfile, {
1112
+ isOpen: profileOpen,
1113
+ onClose: () => setProfileOpen(false),
1114
+ onSaveProfile: (name) => {
1115
+ handleSaveProfile(name);
1116
+ setProfileOpen(false);
1117
+ }
1118
+ })
1119
+ ]
1120
+ });
1121
+ }
1122
+ //#endregion
1123
+ Object.defineProperty(exports, "ColumnToggle", {
1124
+ enumerable: true,
1125
+ get: function() {
1126
+ return ColumnToggle;
1127
+ }
1128
+ });
1129
+ Object.defineProperty(exports, "DataTable", {
1130
+ enumerable: true,
1131
+ get: function() {
1132
+ return DataTable;
1133
+ }
1134
+ });
1135
+ Object.defineProperty(exports, "FilterButton", {
1136
+ enumerable: true,
1137
+ get: function() {
1138
+ return FilterButton;
1139
+ }
1140
+ });
1141
+ Object.defineProperty(exports, "FilterDropdown", {
1142
+ enumerable: true,
1143
+ get: function() {
1144
+ return FilterDropdown;
1145
+ }
1146
+ });
1147
+ Object.defineProperty(exports, "FilterProfile", {
1148
+ enumerable: true,
1149
+ get: function() {
1150
+ return FilterProfile;
1151
+ }
1152
+ });
1153
+
1154
+ //# sourceMappingURL=data-table-9HELVsYR.cjs.map