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