erp-pro-ui 0.1.1 → 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 (400) hide show
  1. package/README.md +512 -288
  2. package/dist/accordion.cjs +1 -1
  3. package/dist/accordion.mjs +1 -1
  4. package/dist/alert.cjs +1 -1
  5. package/dist/alert.mjs +1 -1
  6. package/dist/ascii-text.cjs +1 -1
  7. package/dist/ascii-text.mjs +1 -1
  8. package/dist/button.cjs +1 -1
  9. package/dist/button.mjs +1 -1
  10. package/dist/card.cjs +1 -1
  11. package/dist/card.mjs +1 -1
  12. package/dist/carousel.cjs +1 -1
  13. package/dist/carousel.mjs +1 -1
  14. package/dist/catalog.cjs +6 -0
  15. package/dist/catalog.cjs.map +1 -1
  16. package/dist/catalog.d.ts +11 -1
  17. package/dist/catalog.d.ts.map +1 -1
  18. package/dist/catalog.mjs +6 -0
  19. package/dist/catalog.mjs.map +1 -1
  20. package/dist/charts.cjs +4 -1
  21. package/dist/charts.mjs +2 -2
  22. package/dist/checkbox.cjs +1 -1
  23. package/dist/checkbox.mjs +1 -1
  24. package/dist/chip.cjs +1 -1
  25. package/dist/chip.mjs +1 -1
  26. package/dist/chroma-grid.cjs +1 -1
  27. package/dist/chroma-grid.mjs +1 -1
  28. package/dist/chunks/{accordion-C_0oGZkZ.mjs → accordion-Cbt-SJhj.mjs} +4 -4
  29. package/dist/chunks/accordion-Cbt-SJhj.mjs.map +1 -0
  30. package/dist/chunks/{accordion-BZ5hyz0_.cjs → accordion-pfJR8YYA.cjs} +4 -4
  31. package/dist/chunks/accordion-pfJR8YYA.cjs.map +1 -0
  32. package/dist/chunks/{alert-DeVa-NR1.mjs → alert-CtdLy4Hv.mjs} +6 -6
  33. package/dist/chunks/alert-CtdLy4Hv.mjs.map +1 -0
  34. package/dist/chunks/{alert-BdBDWqBN.cjs → alert-Dvz1GoL5.cjs} +6 -6
  35. package/dist/chunks/alert-Dvz1GoL5.cjs.map +1 -0
  36. package/dist/chunks/{ascii-text-BzQCLfya.mjs → ascii-text-C5tyNsR3.mjs} +32 -5
  37. package/dist/chunks/ascii-text-C5tyNsR3.mjs.map +1 -0
  38. package/dist/chunks/{ascii-text-D6lVHWph.cjs → ascii-text-DlmArZXh.cjs} +32 -5
  39. package/dist/chunks/ascii-text-DlmArZXh.cjs.map +1 -0
  40. package/dist/chunks/background-gradient-animation-BL-lnrJe.mjs.map +1 -1
  41. package/dist/chunks/background-gradient-animation-CXV9GDH8.cjs.map +1 -1
  42. package/dist/chunks/{button-CmNEMp_O.mjs → button-B0Lhj0AS.mjs} +3 -3
  43. package/dist/chunks/button-B0Lhj0AS.mjs.map +1 -0
  44. package/dist/chunks/{button-BH1eUjae.cjs → button-CZL6kFzT.cjs} +3 -3
  45. package/dist/chunks/button-CZL6kFzT.cjs.map +1 -0
  46. package/dist/chunks/{card-CzstAQYy.mjs → card-CcIF6z2H.mjs} +2 -2
  47. package/dist/chunks/card-CcIF6z2H.mjs.map +1 -0
  48. package/dist/chunks/{card-DZGM4zLx.cjs → card-gt-HZh0h.cjs} +2 -2
  49. package/dist/chunks/card-gt-HZh0h.cjs.map +1 -0
  50. package/dist/chunks/{carousel-47Eiyzwg.cjs → carousel-Cq5uwqQt.cjs} +3 -3
  51. package/dist/chunks/{carousel-BJ3nm2bw.mjs.map → carousel-Cq5uwqQt.cjs.map} +1 -1
  52. package/dist/chunks/{carousel-BJ3nm2bw.mjs → carousel-DJdqBVRK.mjs} +3 -3
  53. package/dist/chunks/{carousel-47Eiyzwg.cjs.map → carousel-DJdqBVRK.mjs.map} +1 -1
  54. package/dist/chunks/charts-BpElnsoR.cjs +687 -0
  55. package/dist/chunks/charts-BpElnsoR.cjs.map +1 -0
  56. package/dist/chunks/charts-DugYWvEf.mjs +632 -0
  57. package/dist/chunks/charts-DugYWvEf.mjs.map +1 -0
  58. package/dist/chunks/{checkbox-B3eIojWs.mjs → checkbox-DvwlGwWe.mjs} +8 -8
  59. package/dist/chunks/checkbox-DvwlGwWe.mjs.map +1 -0
  60. package/dist/chunks/{checkbox-DQmZwRTt.cjs → checkbox-yHuSw-hV.cjs} +8 -8
  61. package/dist/chunks/checkbox-yHuSw-hV.cjs.map +1 -0
  62. package/dist/chunks/{chip-cZ7-HmWw.mjs → chip-BGSUmnlO.mjs} +12 -12
  63. package/dist/chunks/chip-BGSUmnlO.mjs.map +1 -0
  64. package/dist/chunks/{chip-BH6wzwat.cjs → chip-DcBji__g.cjs} +12 -12
  65. package/dist/chunks/chip-DcBji__g.cjs.map +1 -0
  66. package/dist/chunks/{chroma-grid-DtsqM4LW.cjs → chroma-grid-9E9j1s9I.cjs} +10 -10
  67. package/dist/chunks/chroma-grid-9E9j1s9I.cjs.map +1 -0
  68. package/dist/chunks/{chroma-grid-CC_fFzxO.mjs → chroma-grid-Cdeql_2C.mjs} +10 -10
  69. package/dist/chunks/chroma-grid-Cdeql_2C.mjs.map +1 -0
  70. package/dist/chunks/color-palette-BLvDnCOD.cjs +754 -0
  71. package/dist/chunks/color-palette-BLvDnCOD.cjs.map +1 -0
  72. package/dist/chunks/color-palette-CXlCDiZz.mjs +748 -0
  73. package/dist/chunks/color-palette-CXlCDiZz.mjs.map +1 -0
  74. package/dist/chunks/{combobox-mAvOcg-E.cjs → combobox-BXu3s0dt.cjs} +56 -32
  75. package/dist/chunks/combobox-BXu3s0dt.cjs.map +1 -0
  76. package/dist/chunks/combobox-CjK-qG4k.mjs +132 -0
  77. package/dist/chunks/combobox-CjK-qG4k.mjs.map +1 -0
  78. package/dist/chunks/{data-table-BRcGhJDf.cjs → data-table-9HELVsYR.cjs} +197 -292
  79. package/dist/chunks/data-table-9HELVsYR.cjs.map +1 -0
  80. package/dist/chunks/{data-table-Dp0t_I_z.mjs → data-table-DyEQn9Yj.mjs} +197 -292
  81. package/dist/chunks/data-table-DyEQn9Yj.mjs.map +1 -0
  82. package/dist/chunks/{date-picker-BWBkr6LG.mjs → date-picker-D8gaaMlJ.mjs} +39 -16
  83. package/dist/chunks/date-picker-D8gaaMlJ.mjs.map +1 -0
  84. package/dist/chunks/{date-picker-DooielHi.cjs → date-picker-W9om1j7A.cjs} +39 -16
  85. package/dist/chunks/date-picker-W9om1j7A.cjs.map +1 -0
  86. package/dist/chunks/{dialog-Cbuf8V0g.cjs → dialog-CYFiWN8M.cjs} +20 -20
  87. package/dist/chunks/dialog-CYFiWN8M.cjs.map +1 -0
  88. package/dist/chunks/{dialog-C6nxSfIl.mjs → dialog-DUWnV9tN.mjs} +20 -20
  89. package/dist/chunks/dialog-DUWnV9tN.mjs.map +1 -0
  90. package/dist/chunks/{drawer-Dn0u8Sck.cjs → drawer-CLjsYdxN.cjs} +39 -22
  91. package/dist/chunks/drawer-CLjsYdxN.cjs.map +1 -0
  92. package/dist/chunks/drawer-D82Jz6KO.mjs +122 -0
  93. package/dist/chunks/drawer-D82Jz6KO.mjs.map +1 -0
  94. package/dist/chunks/{form-TwlDrshv.mjs → form-B2vcaHwh.mjs} +4 -4
  95. package/dist/chunks/form-B2vcaHwh.mjs.map +1 -0
  96. package/dist/chunks/{form-DcEuk721.cjs → form-CzH9GQc6.cjs} +4 -4
  97. package/dist/chunks/form-CzH9GQc6.cjs.map +1 -0
  98. package/dist/chunks/{gradual-blur-2jVhPcND.cjs → gradual-blur-B9GoY8o1.cjs} +1 -1
  99. package/dist/chunks/{gradual-blur-2jVhPcND.cjs.map → gradual-blur-B9GoY8o1.cjs.map} +1 -1
  100. package/dist/chunks/{gradual-blur-jTzKCmAV.mjs → gradual-blur-Bl3dOMEz.mjs} +1 -1
  101. package/dist/chunks/{gradual-blur-jTzKCmAV.mjs.map → gradual-blur-Bl3dOMEz.mjs.map} +1 -1
  102. package/dist/chunks/{hover-card-KjWMnvt_.cjs → hover-card-v0QwmVBU.cjs} +9 -4
  103. package/dist/chunks/hover-card-v0QwmVBU.cjs.map +1 -0
  104. package/dist/chunks/{hover-card-DwTVfjgN.mjs → hover-card-xqwpmZNm.mjs} +9 -4
  105. package/dist/chunks/{hover-card-KjWMnvt_.cjs.map → hover-card-xqwpmZNm.mjs.map} +1 -1
  106. package/dist/chunks/{icons-DYkpqWYG.cjs → icons-BxIzP2jd.cjs} +131 -8
  107. package/dist/chunks/icons-BxIzP2jd.cjs.map +1 -0
  108. package/dist/chunks/{icons-CrM6pFkv.mjs → icons-DuumN7z-.mjs} +108 -9
  109. package/dist/chunks/icons-DuumN7z-.mjs.map +1 -0
  110. package/dist/chunks/{input-CoRHoZkB.cjs → input-D9qZNqXV.cjs} +8 -8
  111. package/dist/chunks/input-D9qZNqXV.cjs.map +1 -0
  112. package/dist/chunks/{input-ChhwdNGk.mjs → input-wNqevfQ4.mjs} +8 -8
  113. package/dist/chunks/input-wNqevfQ4.mjs.map +1 -0
  114. package/dist/chunks/{label-EciNc4hO.cjs → label-BWPEGVam.cjs} +1 -1
  115. package/dist/chunks/{label-EciNc4hO.cjs.map → label-BWPEGVam.cjs.map} +1 -1
  116. package/dist/chunks/{label-JZn7PmtR.mjs → label-KPA-yYOF.mjs} +1 -1
  117. package/dist/chunks/{label-JZn7PmtR.mjs.map → label-KPA-yYOF.mjs.map} +1 -1
  118. package/dist/chunks/{loading-DPNa_X3c.mjs → loading-S1TdIrbB.mjs} +2 -2
  119. package/dist/chunks/{loading-DPNa_X3c.mjs.map → loading-S1TdIrbB.mjs.map} +1 -1
  120. package/dist/chunks/{loading-Cqgps3nf.cjs → loading-q7IEg56I.cjs} +2 -2
  121. package/dist/chunks/{loading-Cqgps3nf.cjs.map → loading-q7IEg56I.cjs.map} +1 -1
  122. package/dist/chunks/multi-select-combobox-ELSH_Xr4.mjs +132 -0
  123. package/dist/chunks/multi-select-combobox-ELSH_Xr4.mjs.map +1 -0
  124. package/dist/chunks/multi-select-combobox-UW0X15W7.cjs +139 -0
  125. package/dist/chunks/multi-select-combobox-UW0X15W7.cjs.map +1 -0
  126. package/dist/chunks/{otp-input-DaQDfI9C.cjs → otp-input-B6zzOEqw.cjs} +13 -14
  127. package/dist/chunks/otp-input-B6zzOEqw.cjs.map +1 -0
  128. package/dist/chunks/{otp-input-CNungc1j.mjs → otp-input-Bg4nQG6x.mjs} +13 -14
  129. package/dist/chunks/otp-input-Bg4nQG6x.mjs.map +1 -0
  130. package/dist/chunks/{overlay-BfUR77DT.cjs → overlay-DWNTyQzK.cjs} +1 -1
  131. package/dist/chunks/{overlay-BfUR77DT.cjs.map → overlay-DWNTyQzK.cjs.map} +1 -1
  132. package/dist/chunks/{overlay-CpdakhXI.mjs → overlay-TycCIFOu.mjs} +1 -1
  133. package/dist/chunks/{overlay-CpdakhXI.mjs.map → overlay-TycCIFOu.mjs.map} +1 -1
  134. package/dist/chunks/{password-strength-meter-xtMqhhFg.mjs → password-strength-meter-CbNSBuh_.mjs} +10 -10
  135. package/dist/chunks/password-strength-meter-CbNSBuh_.mjs.map +1 -0
  136. package/dist/chunks/{password-strength-meter-u4YI00zE.cjs → password-strength-meter-DxMV6GAs.cjs} +10 -10
  137. package/dist/chunks/password-strength-meter-DxMV6GAs.cjs.map +1 -0
  138. package/dist/chunks/progress-bar-C1OvQ-NI.cjs +96 -0
  139. package/dist/chunks/progress-bar-C1OvQ-NI.cjs.map +1 -0
  140. package/dist/chunks/progress-bar-C9FZDrju.mjs +89 -0
  141. package/dist/chunks/progress-bar-C9FZDrju.mjs.map +1 -0
  142. package/dist/chunks/{radio-C-fPZgSY.mjs → radio-C9w_CoiY.mjs} +9 -9
  143. package/dist/chunks/radio-C9w_CoiY.mjs.map +1 -0
  144. package/dist/chunks/{radio-mCgvEhOR.cjs → radio-jMHDvaMY.cjs} +9 -9
  145. package/dist/chunks/radio-jMHDvaMY.cjs.map +1 -0
  146. package/dist/chunks/select-D71tk6-I.mjs +152 -0
  147. package/dist/chunks/select-D71tk6-I.mjs.map +1 -0
  148. package/dist/chunks/select-WC_kPqUP.cjs +158 -0
  149. package/dist/chunks/select-WC_kPqUP.cjs.map +1 -0
  150. package/dist/chunks/{skeleton-D1S4RyeL.mjs → skeleton-BhYWOp0Q.mjs} +1 -1
  151. package/dist/chunks/{skeleton-D1S4RyeL.mjs.map → skeleton-BhYWOp0Q.mjs.map} +1 -1
  152. package/dist/chunks/{skeleton-C-NHrM-w.cjs → skeleton-DTXpHYYB.cjs} +1 -1
  153. package/dist/chunks/{skeleton-C-NHrM-w.cjs.map → skeleton-DTXpHYYB.cjs.map} +1 -1
  154. package/dist/chunks/{spinners-hf553hP9.mjs → spinners-BBCWD2gw.mjs} +2 -2
  155. package/dist/chunks/{spinners-hf553hP9.mjs.map → spinners-BBCWD2gw.mjs.map} +1 -1
  156. package/dist/chunks/{spinners-CU3bLaoo.cjs → spinners-BL4ERCCw.cjs} +2 -2
  157. package/dist/chunks/{spinners-CU3bLaoo.cjs.map → spinners-BL4ERCCw.cjs.map} +1 -1
  158. package/dist/chunks/{splash-cursor-Dpzl_YXx.cjs → splash-cursor-BVSmbcIX.cjs} +9 -8
  159. package/dist/chunks/splash-cursor-BVSmbcIX.cjs.map +1 -0
  160. package/dist/chunks/{splash-cursor-9BsoQZl0.mjs → splash-cursor-rSrTnawZ.mjs} +9 -8
  161. package/dist/chunks/splash-cursor-rSrTnawZ.mjs.map +1 -0
  162. package/dist/chunks/{spotlight-card-Bl0aXnT4.mjs → spotlight-card-BpZLMOp6.mjs} +1 -1
  163. package/dist/chunks/{spotlight-card-Bl0aXnT4.mjs.map → spotlight-card-BpZLMOp6.mjs.map} +1 -1
  164. package/dist/chunks/{spotlight-card-SUhrgstF.cjs → spotlight-card-DS1dy1W3.cjs} +1 -1
  165. package/dist/chunks/{spotlight-card-SUhrgstF.cjs.map → spotlight-card-DS1dy1W3.cjs.map} +1 -1
  166. package/dist/chunks/{stepper-uz8iRzlY.mjs → stepper-D4yQsQB0.mjs} +14 -14
  167. package/dist/chunks/stepper-D4yQsQB0.mjs.map +1 -0
  168. package/dist/chunks/{stepper-BDz6PkjV.cjs → stepper-fY-Sx72k.cjs} +14 -14
  169. package/dist/chunks/stepper-fY-Sx72k.cjs.map +1 -0
  170. package/dist/chunks/{sun-to-moon-button-3E6qah0o.mjs → sun-to-moon-button-B2Aje05o.mjs} +3 -3
  171. package/dist/chunks/{sun-to-moon-button-3E6qah0o.mjs.map → sun-to-moon-button-B2Aje05o.mjs.map} +1 -1
  172. package/dist/chunks/{sun-to-moon-button-B__3FWnK.cjs → sun-to-moon-button-BmFwRBye.cjs} +3 -3
  173. package/dist/chunks/{sun-to-moon-button-B__3FWnK.cjs.map → sun-to-moon-button-BmFwRBye.cjs.map} +1 -1
  174. package/dist/chunks/{switch-y8oWcyLp.cjs → switch-C5otDb4c.cjs} +3 -3
  175. package/dist/chunks/switch-C5otDb4c.cjs.map +1 -0
  176. package/dist/chunks/{switch-DYLavKgf.mjs → switch-DOVl_i_s.mjs} +3 -3
  177. package/dist/chunks/switch-DOVl_i_s.mjs.map +1 -0
  178. package/dist/chunks/textarea-CAUsyu4-.cjs +63 -0
  179. package/dist/chunks/textarea-CAUsyu4-.cjs.map +1 -0
  180. package/dist/chunks/textarea-CU5C-Zw9.mjs +57 -0
  181. package/dist/chunks/textarea-CU5C-Zw9.mjs.map +1 -0
  182. package/dist/chunks/{theme-CBtWIFMT.cjs → theme-7DWLxJK_.cjs} +4 -2
  183. package/dist/chunks/theme-7DWLxJK_.cjs.map +1 -0
  184. package/dist/chunks/{theme-Bwu0HKqZ.mjs → theme-BceKeYhw.mjs} +4 -2
  185. package/dist/chunks/theme-BceKeYhw.mjs.map +1 -0
  186. package/dist/chunks/{toast-C8JRhbSo.mjs → toast-CvfP7PUP.mjs} +20 -20
  187. package/dist/chunks/toast-CvfP7PUP.mjs.map +1 -0
  188. package/dist/chunks/{toast-DWOwpD2F.cjs → toast-Ds7_19Ap.cjs} +20 -20
  189. package/dist/chunks/toast-Ds7_19Ap.cjs.map +1 -0
  190. package/dist/chunks/{tooltip-YtA_66_1.mjs → tooltip-efHETBo1.mjs} +1 -1
  191. package/dist/chunks/{tooltip-YtA_66_1.mjs.map → tooltip-efHETBo1.mjs.map} +1 -1
  192. package/dist/chunks/{tooltip-BHXNmXsa.cjs → tooltip-nkIqViGk.cjs} +1 -1
  193. package/dist/chunks/{tooltip-BHXNmXsa.cjs.map → tooltip-nkIqViGk.cjs.map} +1 -1
  194. package/dist/chunks/{typography-BzprBnQc.mjs → typography-CLu6Hx9j.mjs} +7 -3
  195. package/dist/chunks/{typography-BzprBnQc.mjs.map → typography-CLu6Hx9j.mjs.map} +1 -1
  196. package/dist/chunks/{typography-3wSx67DZ.cjs → typography-DaLu9tty.cjs} +7 -3
  197. package/dist/chunks/{typography-3wSx67DZ.cjs.map → typography-DaLu9tty.cjs.map} +1 -1
  198. package/dist/color-palette.cjs +1 -1
  199. package/dist/color-palette.mjs +1 -1
  200. package/dist/colors.css +121 -186
  201. package/dist/combobox.cjs +1 -1
  202. package/dist/combobox.mjs +1 -1
  203. package/dist/components/data-display/charts/AreaChart.d.ts.map +1 -1
  204. package/dist/components/data-display/charts/BarChart.d.ts.map +1 -1
  205. package/dist/components/data-display/charts/NeonLineChart.d.ts.map +1 -1
  206. package/dist/components/data-display/charts/PieChart.d.ts.map +1 -1
  207. package/dist/components/data-display/charts/StackedBarChart.d.ts.map +1 -1
  208. package/dist/components/data-display/charts/ThinBreakdownBar.d.ts.map +1 -1
  209. package/dist/components/data-display/charts/chartPalette.d.ts +10 -0
  210. package/dist/components/data-display/charts/chartPalette.d.ts.map +1 -0
  211. package/dist/components/data-display/charts/index.d.ts +2 -0
  212. package/dist/components/data-display/charts/index.d.ts.map +1 -1
  213. package/dist/components/data-display/chip/Chip.d.ts.map +1 -1
  214. package/dist/components/data-display/color-palette/ColorPalette.d.ts.map +1 -1
  215. package/dist/components/data-display/data-table/DataTable.d.ts +17 -10
  216. package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -1
  217. package/dist/components/data-display/data-table/index.d.ts +1 -1
  218. package/dist/components/data-display/data-table/index.d.ts.map +1 -1
  219. package/dist/components/data-display/index.d.ts +1 -0
  220. package/dist/components/data-display/index.d.ts.map +1 -1
  221. package/dist/components/data-display/progress-bar/ProgressBar.d.ts +18 -0
  222. package/dist/components/data-display/progress-bar/ProgressBar.d.ts.map +1 -0
  223. package/dist/components/data-display/progress-bar/index.d.ts +3 -0
  224. package/dist/components/data-display/progress-bar/index.d.ts.map +1 -0
  225. package/dist/components/effects/ascii-text/ASCIIText.d.ts.map +1 -1
  226. package/dist/components/effects/border-beam/BorderBeam.d.ts.map +1 -1
  227. package/dist/components/effects/chroma-grid/ChromaGrid.d.ts.map +1 -1
  228. package/dist/components/effects/splash-cursor/SplashCursor.d.ts.map +1 -1
  229. package/dist/components/forms/combobox/Combobox.d.ts.map +1 -1
  230. package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -1
  231. package/dist/components/forms/input/Input.d.ts.map +1 -1
  232. package/dist/components/forms/multi-select-combobox/MultiSelectCombobox.d.ts.map +1 -1
  233. package/dist/components/forms/otp-input/OTPInput.d.ts.map +1 -1
  234. package/dist/components/forms/password-strength-meter/PasswordCriteria.d.ts.map +1 -1
  235. package/dist/components/forms/select/Select.d.ts.map +1 -1
  236. package/dist/components/forms/select/types.d.ts +2 -0
  237. package/dist/components/forms/select/types.d.ts.map +1 -1
  238. package/dist/components/forms/textarea/Textarea.d.ts.map +1 -1
  239. package/dist/components/icons/ColumnsIcon.d.ts +9 -0
  240. package/dist/components/icons/ColumnsIcon.d.ts.map +1 -0
  241. package/dist/components/icons/MailIcon.d.ts +9 -0
  242. package/dist/components/icons/MailIcon.d.ts.map +1 -0
  243. package/dist/components/icons/PlayIcon.d.ts +9 -0
  244. package/dist/components/icons/PlayIcon.d.ts.map +1 -0
  245. package/dist/components/icons/ZapIcon.d.ts +9 -0
  246. package/dist/components/icons/ZapIcon.d.ts.map +1 -0
  247. package/dist/components/icons/index.d.ts +4 -0
  248. package/dist/components/icons/index.d.ts.map +1 -1
  249. package/dist/components/navigation/accordion/Accordion.d.ts.map +1 -1
  250. package/dist/components/overlays/drawer/Drawer.d.ts.map +1 -1
  251. package/dist/components/overlays/hover-card/HoverCard.d.ts.map +1 -1
  252. package/dist/components/typography/Typography.d.ts.map +1 -1
  253. package/dist/data-table.cjs +1 -1
  254. package/dist/data-table.mjs +1 -1
  255. package/dist/date-picker.cjs +1 -1
  256. package/dist/date-picker.mjs +1 -1
  257. package/dist/dialog.cjs +1 -1
  258. package/dist/dialog.mjs +1 -1
  259. package/dist/docs.cjs +50 -4
  260. package/dist/docs.cjs.map +1 -1
  261. package/dist/docs.d.ts +59 -9
  262. package/dist/docs.d.ts.map +1 -1
  263. package/dist/docs.mjs +50 -4
  264. package/dist/docs.mjs.map +1 -1
  265. package/dist/drawer.cjs +1 -1
  266. package/dist/drawer.mjs +1 -1
  267. package/dist/fonts.css +5 -0
  268. package/dist/form.cjs +1 -1
  269. package/dist/form.mjs +1 -1
  270. package/dist/foundation.css +3 -3
  271. package/dist/foundations/theme/ThemeProvider.d.ts +1 -0
  272. package/dist/foundations/theme/ThemeProvider.d.ts.map +1 -1
  273. package/dist/gradual-blur.cjs +1 -1
  274. package/dist/gradual-blur.mjs +1 -1
  275. package/dist/hover-card.cjs +1 -1
  276. package/dist/hover-card.mjs +1 -1
  277. package/dist/icons.cjs +5 -1
  278. package/dist/icons.mjs +2 -2
  279. package/dist/index.cjs +50 -41
  280. package/dist/index.cjs.map +1 -1
  281. package/dist/index.d.ts +5 -3
  282. package/dist/index.d.ts.map +1 -1
  283. package/dist/index.mjs +43 -42
  284. package/dist/index.mjs.map +1 -1
  285. package/dist/input.cjs +1 -1
  286. package/dist/input.mjs +1 -1
  287. package/dist/label.cjs +1 -1
  288. package/dist/label.mjs +1 -1
  289. package/dist/loading.cjs +1 -1
  290. package/dist/loading.mjs +1 -1
  291. package/dist/multi-select-combobox.cjs +1 -1
  292. package/dist/multi-select-combobox.mjs +1 -1
  293. package/dist/otp-input.cjs +1 -1
  294. package/dist/otp-input.mjs +1 -1
  295. package/dist/password-strength-meter.cjs +1 -1
  296. package/dist/password-strength-meter.mjs +1 -1
  297. package/dist/progress-bar.cjs +3 -0
  298. package/dist/progress-bar.d.ts +2 -0
  299. package/dist/progress-bar.mjs +2 -0
  300. package/dist/radio.cjs +1 -1
  301. package/dist/radio.mjs +1 -1
  302. package/dist/select.cjs +1 -1
  303. package/dist/select.mjs +1 -1
  304. package/dist/skeleton.cjs +1 -1
  305. package/dist/skeleton.mjs +1 -1
  306. package/dist/spinners.cjs +1 -1
  307. package/dist/spinners.mjs +1 -1
  308. package/dist/splash-cursor.cjs +1 -1
  309. package/dist/splash-cursor.mjs +1 -1
  310. package/dist/spotlight-card.cjs +1 -1
  311. package/dist/spotlight-card.mjs +1 -1
  312. package/dist/stepper.cjs +1 -1
  313. package/dist/stepper.mjs +1 -1
  314. package/dist/sun-to-moon-button.cjs +1 -1
  315. package/dist/sun-to-moon-button.mjs +1 -1
  316. package/dist/switch.cjs +1 -1
  317. package/dist/switch.mjs +1 -1
  318. package/dist/textarea.cjs +1 -1
  319. package/dist/textarea.mjs +1 -1
  320. package/dist/theme.cjs +1 -1
  321. package/dist/theme.mjs +1 -1
  322. package/dist/toast.cjs +1 -1
  323. package/dist/toast.mjs +1 -1
  324. package/dist/tokens.css +592 -0
  325. package/dist/tooltip.cjs +1 -1
  326. package/dist/tooltip.mjs +1 -1
  327. package/dist/typography.cjs +1 -1
  328. package/dist/typography.mjs +1 -1
  329. package/package.json +19 -5
  330. package/dist/chunks/accordion-BZ5hyz0_.cjs.map +0 -1
  331. package/dist/chunks/accordion-C_0oGZkZ.mjs.map +0 -1
  332. package/dist/chunks/alert-BdBDWqBN.cjs.map +0 -1
  333. package/dist/chunks/alert-DeVa-NR1.mjs.map +0 -1
  334. package/dist/chunks/ascii-text-BzQCLfya.mjs.map +0 -1
  335. package/dist/chunks/ascii-text-D6lVHWph.cjs.map +0 -1
  336. package/dist/chunks/button-BH1eUjae.cjs.map +0 -1
  337. package/dist/chunks/button-CmNEMp_O.mjs.map +0 -1
  338. package/dist/chunks/card-CzstAQYy.mjs.map +0 -1
  339. package/dist/chunks/card-DZGM4zLx.cjs.map +0 -1
  340. package/dist/chunks/charts-Bynf6x07.mjs +0 -448
  341. package/dist/chunks/charts-Bynf6x07.mjs.map +0 -1
  342. package/dist/chunks/charts-UYl7Ecqv.cjs +0 -485
  343. package/dist/chunks/charts-UYl7Ecqv.cjs.map +0 -1
  344. package/dist/chunks/checkbox-B3eIojWs.mjs.map +0 -1
  345. package/dist/chunks/checkbox-DQmZwRTt.cjs.map +0 -1
  346. package/dist/chunks/chip-BH6wzwat.cjs.map +0 -1
  347. package/dist/chunks/chip-cZ7-HmWw.mjs.map +0 -1
  348. package/dist/chunks/chroma-grid-CC_fFzxO.mjs.map +0 -1
  349. package/dist/chunks/chroma-grid-DtsqM4LW.cjs.map +0 -1
  350. package/dist/chunks/color-palette-Cz7vqbil.cjs +0 -1156
  351. package/dist/chunks/color-palette-Cz7vqbil.cjs.map +0 -1
  352. package/dist/chunks/color-palette-yadpDCUw.mjs +0 -1150
  353. package/dist/chunks/color-palette-yadpDCUw.mjs.map +0 -1
  354. package/dist/chunks/combobox-B9Nzlhu3.mjs +0 -108
  355. package/dist/chunks/combobox-B9Nzlhu3.mjs.map +0 -1
  356. package/dist/chunks/combobox-mAvOcg-E.cjs.map +0 -1
  357. package/dist/chunks/data-table-BRcGhJDf.cjs.map +0 -1
  358. package/dist/chunks/data-table-Dp0t_I_z.mjs.map +0 -1
  359. package/dist/chunks/date-picker-BWBkr6LG.mjs.map +0 -1
  360. package/dist/chunks/date-picker-DooielHi.cjs.map +0 -1
  361. package/dist/chunks/dialog-C6nxSfIl.mjs.map +0 -1
  362. package/dist/chunks/dialog-Cbuf8V0g.cjs.map +0 -1
  363. package/dist/chunks/drawer-DIuvgqTA.mjs +0 -105
  364. package/dist/chunks/drawer-DIuvgqTA.mjs.map +0 -1
  365. package/dist/chunks/drawer-Dn0u8Sck.cjs.map +0 -1
  366. package/dist/chunks/form-DcEuk721.cjs.map +0 -1
  367. package/dist/chunks/form-TwlDrshv.mjs.map +0 -1
  368. package/dist/chunks/hover-card-DwTVfjgN.mjs.map +0 -1
  369. package/dist/chunks/icons-CrM6pFkv.mjs.map +0 -1
  370. package/dist/chunks/icons-DYkpqWYG.cjs.map +0 -1
  371. package/dist/chunks/input-ChhwdNGk.mjs.map +0 -1
  372. package/dist/chunks/input-CoRHoZkB.cjs.map +0 -1
  373. package/dist/chunks/multi-select-combobox-BPRTZVF6.mjs +0 -108
  374. package/dist/chunks/multi-select-combobox-BPRTZVF6.mjs.map +0 -1
  375. package/dist/chunks/multi-select-combobox-DiMwJxj_.cjs +0 -115
  376. package/dist/chunks/multi-select-combobox-DiMwJxj_.cjs.map +0 -1
  377. package/dist/chunks/otp-input-CNungc1j.mjs.map +0 -1
  378. package/dist/chunks/otp-input-DaQDfI9C.cjs.map +0 -1
  379. package/dist/chunks/password-strength-meter-u4YI00zE.cjs.map +0 -1
  380. package/dist/chunks/password-strength-meter-xtMqhhFg.mjs.map +0 -1
  381. package/dist/chunks/radio-C-fPZgSY.mjs.map +0 -1
  382. package/dist/chunks/radio-mCgvEhOR.cjs.map +0 -1
  383. package/dist/chunks/select-BB-pOzI2.mjs +0 -116
  384. package/dist/chunks/select-BB-pOzI2.mjs.map +0 -1
  385. package/dist/chunks/select-BwelAQc1.cjs +0 -122
  386. package/dist/chunks/select-BwelAQc1.cjs.map +0 -1
  387. package/dist/chunks/splash-cursor-9BsoQZl0.mjs.map +0 -1
  388. package/dist/chunks/splash-cursor-Dpzl_YXx.cjs.map +0 -1
  389. package/dist/chunks/stepper-BDz6PkjV.cjs.map +0 -1
  390. package/dist/chunks/stepper-uz8iRzlY.mjs.map +0 -1
  391. package/dist/chunks/switch-DYLavKgf.mjs.map +0 -1
  392. package/dist/chunks/switch-y8oWcyLp.cjs.map +0 -1
  393. package/dist/chunks/textarea-BWkUVpm3.cjs +0 -66
  394. package/dist/chunks/textarea-BWkUVpm3.cjs.map +0 -1
  395. package/dist/chunks/textarea-Bxqe70TW.mjs +0 -60
  396. package/dist/chunks/textarea-Bxqe70TW.mjs.map +0 -1
  397. package/dist/chunks/theme-Bwu0HKqZ.mjs.map +0 -1
  398. package/dist/chunks/theme-CBtWIFMT.cjs.map +0 -1
  399. package/dist/chunks/toast-C8JRhbSo.mjs.map +0 -1
  400. package/dist/chunks/toast-DWOwpD2F.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"charts-Bynf6x07.mjs","names":[],"sources":["../../src/components/data-display/charts/NeonLineChart.tsx","../../src/components/data-display/charts/StackedBarChart.tsx","../../src/components/data-display/charts/ThinBreakdownBar.tsx","../../src/components/data-display/charts/AreaChart.tsx","../../src/components/data-display/charts/BarChart.tsx","../../src/components/data-display/charts/PieChart.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport {\n LineChart,\n Line,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\n\ninterface DataPoint {\n name: string;\n value: number;\n}\n\ninterface NeonLineChartProps {\n data: DataPoint[];\n height?: number | string;\n lineColorStop1?: string;\n lineColorStop2?: string;\n className?: string;\n glowColor?: string;\n}\n\nexport const NeonLineChart: React.FC<NeonLineChartProps> = ({\n data,\n height = 300,\n lineColorStop1 = \"#00f0ff\",\n lineColorStop2 = \"#ff00e5\",\n glowColor = \"rgba(255, 0, 229, 0.4)\",\n className = \"\",\n}) => {\n return (\n <div className={`w-full relative ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <LineChart\n data={data}\n margin={{ top: 20, right: 30, left: 10, bottom: 20 }}\n >\n <defs>\n {/* Linear Gradient for the Line */}\n <linearGradient id=\"neonGradient\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"0\">\n <stop offset=\"0%\" stopColor={lineColorStop1} />\n <stop offset=\"100%\" stopColor={lineColorStop2} />\n </linearGradient>\n\n {/* Glowing Drop Shadow Filter */}\n <filter id=\"neonGlow\" x=\"-20%\" y=\"-20%\" width=\"140%\" height=\"140%\">\n <feDropShadow\n dx=\"0\"\n dy=\"6\"\n stdDeviation=\"8\"\n floodColor={glowColor}\n floodOpacity=\"0.8\"\n />\n <feDropShadow\n dx=\"0\"\n dy=\"0\"\n stdDeviation=\"15\"\n floodColor={lineColorStop1}\n floodOpacity=\"0.3\"\n />\n </filter>\n </defs>\n\n {/* Minimal Grid */}\n <CartesianGrid\n strokeDasharray=\"3 3\"\n vertical={false}\n stroke=\"var(--color-neutral-800, #262626)\"\n opacity={0.5}\n />\n\n <XAxis\n dataKey=\"name\"\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dy={10}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dx={-10}\n />\n\n <Tooltip\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.8)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n itemStyle={{ color: \"#fff\" }}\n />\n\n {/* The Neon Line */}\n <Line\n type=\"monotone\"\n dataKey=\"value\"\n stroke=\"url(#neonGradient)\"\n strokeWidth={3}\n dot={false}\n activeDot={{\n r: 6,\n fill: \"#fff\",\n stroke: lineColorStop2,\n strokeWidth: 2,\n }}\n filter=\"url(#neonGlow)\"\n />\n </LineChart>\n </ResponsiveContainer>\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n BarChart as RechartsBarChart,\n Bar,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n Legend,\n ResponsiveContainer,\n} from \"recharts\";\n\nexport interface StackedBarData {\n name: string;\n [key: string]: string | number;\n}\n\ninterface StackedBarChartProps {\n data: StackedBarData[];\n categories: { key: string; color: string; label: string }[];\n height?: number | string;\n yAxisDomain?: [number, number];\n className?: string;\n}\n\nexport const StackedBarChart: React.FC<StackedBarChartProps> = ({\n data,\n categories,\n height = 300,\n yAxisDomain,\n className = \"\",\n}) => {\n return (\n <div className={`w-full ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsBarChart\n data={data}\n margin={{ top: 20, right: 30, left: 20, bottom: 5 }}\n >\n <CartesianGrid\n strokeDasharray=\"3 3\"\n vertical={false}\n stroke=\"var(--color-neutral-800, #262626)\"\n opacity={0.4}\n />\n <XAxis\n dataKey=\"name\"\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dy={10}\n />\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dx={-10}\n domain={yAxisDomain}\n />\n <Tooltip\n cursor={{ fill: \"var(--color-neutral-800, rgba(38, 38, 38, 0.4))\" }}\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.9)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n />\n <Legend\n iconType=\"circle\"\n wrapperStyle={{\n paddingTop: \"20px\",\n fontSize: \"12px\",\n color: \"var(--color-neutral-300)\",\n }}\n />\n\n {categories.map((cat, index) => {\n // Apply rounded radius only to the top bar in the stack\n const isTop = index === categories.length - 1;\n const radius: [number, number, number, number] = isTop\n ? [6, 6, 0, 0]\n : [0, 0, 0, 0];\n\n return (\n <Bar\n key={cat.key}\n dataKey={cat.key}\n name={cat.label}\n stackId=\"a\"\n fill={cat.color}\n radius={radius}\n barSize={32}\n />\n );\n })}\n </RechartsBarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\n\nexport interface BreakdownSegment {\n id?: string;\n label: string;\n value: number; // The absolute value or percentage\n color: string;\n}\n\ninterface ThinBreakdownBarProps {\n data: BreakdownSegment[];\n className?: string;\n showLabels?: boolean;\n}\n\nexport const ThinBreakdownBar: React.FC<ThinBreakdownBarProps> = ({\n data: segments,\n className = \"\",\n showLabels = true,\n}) => {\n // Calculate total to determine percentage widths\n const total = segments.reduce((sum, item) => sum + item.value, 0);\n\n return (\n <div className={`w-full flex flex-col gap-3 ${className}`}>\n {/* The Bar Track */}\n <div className=\"flex w-full h-3 rounded-full overflow-hidden gap-1 bg-neutral-900/50\">\n {segments.map((segment, index) => {\n const widthPercent = total > 0 ? (segment.value / total) * 100 : 0;\n return (\n <div\n key={segment.id || `segment-${index}`}\n className=\"h-full rounded-full transition-all duration-500 ease-out\"\n style={{\n width: `${widthPercent}%`,\n backgroundColor: segment.color,\n // Add a very subtle inner shadow/glow to match the 'pill' aesthetic\n boxShadow: `inset 0 1px 1px rgba(255,255,255,0.2), 0 0 8px ${segment.color}40`,\n }}\n title={`${segment.label}: ${segment.value}`}\n />\n );\n })}\n </div>\n\n {/* The Labels */}\n {showLabels && (\n <div className=\"flex w-full justify-between items-center px-1\">\n {segments.map((segment, index) => (\n <div\n key={`label-${segment.id || index}`}\n className=\"flex items-center gap-1.5 min-w-0\"\n >\n <span className=\"text-xs text-neutral-400 font-medium truncate\">\n {segment.label}\n </span>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n AreaChart as RechartsAreaChart,\n Area,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\n\nexport interface AreaChartData {\n name: string;\n [key: string]: string | number;\n}\n\ninterface AreaChartProps {\n data: AreaChartData[];\n categories: { key: string; color: string }[];\n height?: number | string;\n className?: string;\n showGrid?: boolean;\n}\n\nexport const AreaChart: React.FC<AreaChartProps> = ({\n data,\n categories,\n height = 300,\n className = \"\",\n showGrid = true,\n}) => {\n return (\n <div className={`w-full ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsAreaChart\n data={data}\n margin={{ top: 10, right: 30, left: 0, bottom: 0 }}\n >\n <defs>\n {categories.map((cat) => (\n <linearGradient\n key={`gradient-${cat.key}`}\n id={`color-${cat.key}`}\n x1=\"0\"\n y1=\"0\"\n x2=\"0\"\n y2=\"1\"\n >\n <stop offset=\"5%\" stopColor={cat.color} stopOpacity={0.3} />\n <stop offset=\"95%\" stopColor={cat.color} stopOpacity={0} />\n </linearGradient>\n ))}\n </defs>\n\n {showGrid && (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n vertical={false}\n stroke=\"var(--color-neutral-800, #262626)\"\n opacity={0.5}\n />\n )}\n\n <XAxis\n dataKey=\"name\"\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dy={10}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dx={-10}\n />\n\n <Tooltip\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.9)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n itemStyle={{ color: \"#fff\" }}\n />\n\n {categories.map((cat) => (\n <Area\n key={cat.key}\n type=\"monotone\"\n dataKey={cat.key}\n stroke={cat.color}\n strokeWidth={2}\n fillOpacity={1}\n fill={`url(#color-${cat.key})`}\n />\n ))}\n </RechartsAreaChart>\n </ResponsiveContainer>\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n BarChart as RechartsBarChart,\n Bar,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\n\nexport interface BarChartData {\n name: string;\n [key: string]: string | number;\n}\n\ninterface BarChartProps {\n data: BarChartData[];\n categories: { key: string; color: string }[];\n height?: number | string;\n className?: string;\n layout?: \"horizontal\" | \"vertical\";\n}\n\nexport const BarChart: React.FC<BarChartProps> = ({\n data,\n categories,\n height = 300,\n className = \"\",\n layout = \"horizontal\",\n}) => {\n return (\n <div className={`w-full ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsBarChart\n data={data}\n layout={layout}\n margin={{ top: 20, right: 30, left: 20, bottom: 5 }}\n >\n <CartesianGrid\n strokeDasharray=\"3 3\"\n horizontal={layout === \"horizontal\"}\n vertical={layout === \"vertical\"}\n stroke=\"var(--color-neutral-800, #262626)\"\n opacity={0.4}\n />\n\n {layout === \"horizontal\" ? (\n <>\n <XAxis\n dataKey=\"name\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"var(--color-neutral-400, #a3a3a3)\",\n fontSize: 12,\n }}\n dy={10}\n />\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"var(--color-neutral-400, #a3a3a3)\",\n fontSize: 12,\n }}\n dx={-10}\n />\n </>\n ) : (\n <>\n <XAxis\n type=\"number\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"var(--color-neutral-400, #a3a3a3)\",\n fontSize: 12,\n }}\n dy={10}\n />\n <YAxis\n dataKey=\"name\"\n type=\"category\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"var(--color-neutral-400, #a3a3a3)\",\n fontSize: 12,\n }}\n dx={-10}\n />\n </>\n )}\n\n <Tooltip\n cursor={{ fill: \"var(--color-neutral-800, rgba(38, 38, 38, 0.4))\" }}\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.9)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n />\n\n {categories.map((cat) => (\n <Bar\n key={cat.key}\n dataKey={cat.key}\n fill={cat.color}\n radius={layout === \"horizontal\" ? [4, 4, 0, 0] : [0, 4, 4, 0]}\n />\n ))}\n </RechartsBarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n PieChart as RechartsPieChart,\n Pie,\n Cell,\n Tooltip,\n Legend,\n ResponsiveContainer,\n} from \"recharts\";\n\nexport interface PieChartData {\n name: string;\n value: number;\n}\n\ninterface PieChartProps {\n data: PieChartData[];\n colors: string[];\n height?: number | string;\n className?: string;\n variant?: \"pie\" | \"donut\";\n}\n\nexport const PieChart: React.FC<PieChartProps> = ({\n data,\n colors,\n height = 300,\n className = \"\",\n variant = \"donut\",\n}) => {\n const innerRadius = variant === \"donut\" ? \"60%\" : 0;\n\n return (\n <div className={`w-full ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsPieChart>\n <Pie\n data={data}\n cx=\"50%\"\n cy=\"50%\"\n innerRadius={innerRadius}\n outerRadius=\"80%\"\n paddingAngle={variant === \"donut\" ? 2 : 0}\n dataKey=\"value\"\n stroke=\"none\"\n >\n {data.map((entry, index) => (\n <Cell\n key={`cell-${index}`}\n fill={colors[index % colors.length]}\n />\n ))}\n </Pie>\n\n <Tooltip\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.9)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n itemStyle={{ color: \"#fff\" }}\n />\n\n <Legend\n iconType=\"circle\"\n wrapperStyle={{\n fontSize: \"12px\",\n color: \"var(--color-neutral-300)\",\n }}\n />\n </RechartsPieChart>\n </ResponsiveContainer>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1,485 +0,0 @@
1
- const require_chunk = require("./chunk-B_GkZjkl.cjs");
2
- let react = require("react");
3
- react = require_chunk.__toESM(react);
4
- let react_jsx_runtime = require("react/jsx-runtime");
5
- let recharts = require("recharts");
6
- //#region src/components/data-display/charts/NeonLineChart.tsx
7
- var NeonLineChart = ({ data, height = 300, lineColorStop1 = "#00f0ff", lineColorStop2 = "#ff00e5", glowColor = "rgba(255, 0, 229, 0.4)", className = "" }) => {
8
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
9
- className: `w-full relative ${className}`,
10
- style: { height },
11
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.ResponsiveContainer, {
12
- width: "100%",
13
- height: "100%",
14
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(recharts.LineChart, {
15
- data,
16
- margin: {
17
- top: 20,
18
- right: 30,
19
- left: 10,
20
- bottom: 20
21
- },
22
- children: [
23
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("defs", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("linearGradient", {
24
- id: "neonGradient",
25
- x1: "0",
26
- y1: "0",
27
- x2: "1",
28
- y2: "0",
29
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("stop", {
30
- offset: "0%",
31
- stopColor: lineColorStop1
32
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("stop", {
33
- offset: "100%",
34
- stopColor: lineColorStop2
35
- })]
36
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("filter", {
37
- id: "neonGlow",
38
- x: "-20%",
39
- y: "-20%",
40
- width: "140%",
41
- height: "140%",
42
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("feDropShadow", {
43
- dx: "0",
44
- dy: "6",
45
- stdDeviation: "8",
46
- floodColor: glowColor,
47
- floodOpacity: "0.8"
48
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("feDropShadow", {
49
- dx: "0",
50
- dy: "0",
51
- stdDeviation: "15",
52
- floodColor: lineColorStop1,
53
- floodOpacity: "0.3"
54
- })]
55
- })] }),
56
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.CartesianGrid, {
57
- strokeDasharray: "3 3",
58
- vertical: false,
59
- stroke: "var(--color-neutral-800, #262626)",
60
- opacity: .5
61
- }),
62
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.XAxis, {
63
- dataKey: "name",
64
- axisLine: false,
65
- tickLine: false,
66
- tick: {
67
- fill: "var(--color-neutral-400, #a3a3a3)",
68
- fontSize: 12
69
- },
70
- dy: 10
71
- }),
72
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.YAxis, {
73
- axisLine: false,
74
- tickLine: false,
75
- tick: {
76
- fill: "var(--color-neutral-400, #a3a3a3)",
77
- fontSize: 12
78
- },
79
- dx: -10
80
- }),
81
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Tooltip, {
82
- contentStyle: {
83
- backgroundColor: "rgba(10, 10, 10, 0.8)",
84
- border: "1px solid rgba(255,255,255,0.1)",
85
- borderRadius: "8px",
86
- backdropFilter: "blur(8px)",
87
- color: "#fff"
88
- },
89
- itemStyle: { color: "#fff" }
90
- }),
91
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Line, {
92
- type: "monotone",
93
- dataKey: "value",
94
- stroke: "url(#neonGradient)",
95
- strokeWidth: 3,
96
- dot: false,
97
- activeDot: {
98
- r: 6,
99
- fill: "#fff",
100
- stroke: lineColorStop2,
101
- strokeWidth: 2
102
- },
103
- filter: "url(#neonGlow)"
104
- })
105
- ]
106
- })
107
- })
108
- });
109
- };
110
- //#endregion
111
- //#region src/components/data-display/charts/StackedBarChart.tsx
112
- var StackedBarChart = ({ data, categories, height = 300, yAxisDomain, className = "" }) => {
113
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
114
- className: `w-full ${className}`,
115
- style: { height },
116
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.ResponsiveContainer, {
117
- width: "100%",
118
- height: "100%",
119
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(recharts.BarChart, {
120
- data,
121
- margin: {
122
- top: 20,
123
- right: 30,
124
- left: 20,
125
- bottom: 5
126
- },
127
- children: [
128
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.CartesianGrid, {
129
- strokeDasharray: "3 3",
130
- vertical: false,
131
- stroke: "var(--color-neutral-800, #262626)",
132
- opacity: .4
133
- }),
134
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.XAxis, {
135
- dataKey: "name",
136
- axisLine: false,
137
- tickLine: false,
138
- tick: {
139
- fill: "var(--color-neutral-400, #a3a3a3)",
140
- fontSize: 12
141
- },
142
- dy: 10
143
- }),
144
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.YAxis, {
145
- axisLine: false,
146
- tickLine: false,
147
- tick: {
148
- fill: "var(--color-neutral-400, #a3a3a3)",
149
- fontSize: 12
150
- },
151
- dx: -10,
152
- domain: yAxisDomain
153
- }),
154
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Tooltip, {
155
- cursor: { fill: "var(--color-neutral-800, rgba(38, 38, 38, 0.4))" },
156
- contentStyle: {
157
- backgroundColor: "rgba(10, 10, 10, 0.9)",
158
- border: "1px solid rgba(255,255,255,0.1)",
159
- borderRadius: "8px",
160
- backdropFilter: "blur(8px)",
161
- color: "#fff"
162
- }
163
- }),
164
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Legend, {
165
- iconType: "circle",
166
- wrapperStyle: {
167
- paddingTop: "20px",
168
- fontSize: "12px",
169
- color: "var(--color-neutral-300)"
170
- }
171
- }),
172
- categories.map((cat, index) => {
173
- const radius = index === categories.length - 1 ? [
174
- 6,
175
- 6,
176
- 0,
177
- 0
178
- ] : [
179
- 0,
180
- 0,
181
- 0,
182
- 0
183
- ];
184
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Bar, {
185
- dataKey: cat.key,
186
- name: cat.label,
187
- stackId: "a",
188
- fill: cat.color,
189
- radius,
190
- barSize: 32
191
- }, cat.key);
192
- })
193
- ]
194
- })
195
- })
196
- });
197
- };
198
- //#endregion
199
- //#region src/components/data-display/charts/ThinBreakdownBar.tsx
200
- var ThinBreakdownBar = ({ data: segments, className = "", showLabels = true }) => {
201
- const total = segments.reduce((sum, item) => sum + item.value, 0);
202
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
203
- className: `w-full flex flex-col gap-3 ${className}`,
204
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
205
- className: "flex w-full h-3 rounded-full overflow-hidden gap-1 bg-neutral-900/50",
206
- children: segments.map((segment, index) => {
207
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
208
- className: "h-full rounded-full transition-all duration-500 ease-out",
209
- style: {
210
- width: `${total > 0 ? segment.value / total * 100 : 0}%`,
211
- backgroundColor: segment.color,
212
- boxShadow: `inset 0 1px 1px rgba(255,255,255,0.2), 0 0 8px ${segment.color}40`
213
- },
214
- title: `${segment.label}: ${segment.value}`
215
- }, segment.id || `segment-${index}`);
216
- })
217
- }), showLabels && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
218
- className: "flex w-full justify-between items-center px-1",
219
- children: segments.map((segment, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
220
- className: "flex items-center gap-1.5 min-w-0",
221
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
222
- className: "text-xs text-neutral-400 font-medium truncate",
223
- children: segment.label
224
- })
225
- }, `label-${segment.id || index}`))
226
- })]
227
- });
228
- };
229
- //#endregion
230
- //#region src/components/data-display/charts/AreaChart.tsx
231
- var AreaChart = ({ data, categories, height = 300, className = "", showGrid = true }) => {
232
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
233
- className: `w-full ${className}`,
234
- style: { height },
235
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.ResponsiveContainer, {
236
- width: "100%",
237
- height: "100%",
238
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(recharts.AreaChart, {
239
- data,
240
- margin: {
241
- top: 10,
242
- right: 30,
243
- left: 0,
244
- bottom: 0
245
- },
246
- children: [
247
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("defs", { children: categories.map((cat) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("linearGradient", {
248
- id: `color-${cat.key}`,
249
- x1: "0",
250
- y1: "0",
251
- x2: "0",
252
- y2: "1",
253
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("stop", {
254
- offset: "5%",
255
- stopColor: cat.color,
256
- stopOpacity: .3
257
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("stop", {
258
- offset: "95%",
259
- stopColor: cat.color,
260
- stopOpacity: 0
261
- })]
262
- }, `gradient-${cat.key}`)) }),
263
- showGrid && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.CartesianGrid, {
264
- strokeDasharray: "3 3",
265
- vertical: false,
266
- stroke: "var(--color-neutral-800, #262626)",
267
- opacity: .5
268
- }),
269
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.XAxis, {
270
- dataKey: "name",
271
- axisLine: false,
272
- tickLine: false,
273
- tick: {
274
- fill: "var(--color-neutral-400, #a3a3a3)",
275
- fontSize: 12
276
- },
277
- dy: 10
278
- }),
279
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.YAxis, {
280
- axisLine: false,
281
- tickLine: false,
282
- tick: {
283
- fill: "var(--color-neutral-400, #a3a3a3)",
284
- fontSize: 12
285
- },
286
- dx: -10
287
- }),
288
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Tooltip, {
289
- contentStyle: {
290
- backgroundColor: "rgba(10, 10, 10, 0.9)",
291
- border: "1px solid rgba(255,255,255,0.1)",
292
- borderRadius: "8px",
293
- backdropFilter: "blur(8px)",
294
- color: "#fff"
295
- },
296
- itemStyle: { color: "#fff" }
297
- }),
298
- categories.map((cat) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Area, {
299
- type: "monotone",
300
- dataKey: cat.key,
301
- stroke: cat.color,
302
- strokeWidth: 2,
303
- fillOpacity: 1,
304
- fill: `url(#color-${cat.key})`
305
- }, cat.key))
306
- ]
307
- })
308
- })
309
- });
310
- };
311
- //#endregion
312
- //#region src/components/data-display/charts/BarChart.tsx
313
- var BarChart = ({ data, categories, height = 300, className = "", layout = "horizontal" }) => {
314
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
315
- className: `w-full ${className}`,
316
- style: { height },
317
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.ResponsiveContainer, {
318
- width: "100%",
319
- height: "100%",
320
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(recharts.BarChart, {
321
- data,
322
- layout,
323
- margin: {
324
- top: 20,
325
- right: 30,
326
- left: 20,
327
- bottom: 5
328
- },
329
- children: [
330
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.CartesianGrid, {
331
- strokeDasharray: "3 3",
332
- horizontal: layout === "horizontal",
333
- vertical: layout === "vertical",
334
- stroke: "var(--color-neutral-800, #262626)",
335
- opacity: .4
336
- }),
337
- layout === "horizontal" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.XAxis, {
338
- dataKey: "name",
339
- axisLine: false,
340
- tickLine: false,
341
- tick: {
342
- fill: "var(--color-neutral-400, #a3a3a3)",
343
- fontSize: 12
344
- },
345
- dy: 10
346
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.YAxis, {
347
- axisLine: false,
348
- tickLine: false,
349
- tick: {
350
- fill: "var(--color-neutral-400, #a3a3a3)",
351
- fontSize: 12
352
- },
353
- dx: -10
354
- })] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.XAxis, {
355
- type: "number",
356
- axisLine: false,
357
- tickLine: false,
358
- tick: {
359
- fill: "var(--color-neutral-400, #a3a3a3)",
360
- fontSize: 12
361
- },
362
- dy: 10
363
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.YAxis, {
364
- dataKey: "name",
365
- type: "category",
366
- axisLine: false,
367
- tickLine: false,
368
- tick: {
369
- fill: "var(--color-neutral-400, #a3a3a3)",
370
- fontSize: 12
371
- },
372
- dx: -10
373
- })] }),
374
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Tooltip, {
375
- cursor: { fill: "var(--color-neutral-800, rgba(38, 38, 38, 0.4))" },
376
- contentStyle: {
377
- backgroundColor: "rgba(10, 10, 10, 0.9)",
378
- border: "1px solid rgba(255,255,255,0.1)",
379
- borderRadius: "8px",
380
- backdropFilter: "blur(8px)",
381
- color: "#fff"
382
- }
383
- }),
384
- categories.map((cat) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Bar, {
385
- dataKey: cat.key,
386
- fill: cat.color,
387
- radius: layout === "horizontal" ? [
388
- 4,
389
- 4,
390
- 0,
391
- 0
392
- ] : [
393
- 0,
394
- 4,
395
- 4,
396
- 0
397
- ]
398
- }, cat.key))
399
- ]
400
- })
401
- })
402
- });
403
- };
404
- //#endregion
405
- //#region src/components/data-display/charts/PieChart.tsx
406
- var PieChart = ({ data, colors, height = 300, className = "", variant = "donut" }) => {
407
- const innerRadius = variant === "donut" ? "60%" : 0;
408
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
409
- className: `w-full ${className}`,
410
- style: { height },
411
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.ResponsiveContainer, {
412
- width: "100%",
413
- height: "100%",
414
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(recharts.PieChart, { children: [
415
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Pie, {
416
- data,
417
- cx: "50%",
418
- cy: "50%",
419
- innerRadius,
420
- outerRadius: "80%",
421
- paddingAngle: variant === "donut" ? 2 : 0,
422
- dataKey: "value",
423
- stroke: "none",
424
- children: data.map((entry, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Cell, { fill: colors[index % colors.length] }, `cell-${index}`))
425
- }),
426
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Tooltip, {
427
- contentStyle: {
428
- backgroundColor: "rgba(10, 10, 10, 0.9)",
429
- border: "1px solid rgba(255,255,255,0.1)",
430
- borderRadius: "8px",
431
- backdropFilter: "blur(8px)",
432
- color: "#fff"
433
- },
434
- itemStyle: { color: "#fff" }
435
- }),
436
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Legend, {
437
- iconType: "circle",
438
- wrapperStyle: {
439
- fontSize: "12px",
440
- color: "var(--color-neutral-300)"
441
- }
442
- })
443
- ] })
444
- })
445
- });
446
- };
447
- //#endregion
448
- Object.defineProperty(exports, "AreaChart", {
449
- enumerable: true,
450
- get: function() {
451
- return AreaChart;
452
- }
453
- });
454
- Object.defineProperty(exports, "BarChart", {
455
- enumerable: true,
456
- get: function() {
457
- return BarChart;
458
- }
459
- });
460
- Object.defineProperty(exports, "NeonLineChart", {
461
- enumerable: true,
462
- get: function() {
463
- return NeonLineChart;
464
- }
465
- });
466
- Object.defineProperty(exports, "PieChart", {
467
- enumerable: true,
468
- get: function() {
469
- return PieChart;
470
- }
471
- });
472
- Object.defineProperty(exports, "StackedBarChart", {
473
- enumerable: true,
474
- get: function() {
475
- return StackedBarChart;
476
- }
477
- });
478
- Object.defineProperty(exports, "ThinBreakdownBar", {
479
- enumerable: true,
480
- get: function() {
481
- return ThinBreakdownBar;
482
- }
483
- });
484
-
485
- //# sourceMappingURL=charts-UYl7Ecqv.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"charts-UYl7Ecqv.cjs","names":[],"sources":["../../src/components/data-display/charts/NeonLineChart.tsx","../../src/components/data-display/charts/StackedBarChart.tsx","../../src/components/data-display/charts/ThinBreakdownBar.tsx","../../src/components/data-display/charts/AreaChart.tsx","../../src/components/data-display/charts/BarChart.tsx","../../src/components/data-display/charts/PieChart.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport {\n LineChart,\n Line,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\n\ninterface DataPoint {\n name: string;\n value: number;\n}\n\ninterface NeonLineChartProps {\n data: DataPoint[];\n height?: number | string;\n lineColorStop1?: string;\n lineColorStop2?: string;\n className?: string;\n glowColor?: string;\n}\n\nexport const NeonLineChart: React.FC<NeonLineChartProps> = ({\n data,\n height = 300,\n lineColorStop1 = \"#00f0ff\",\n lineColorStop2 = \"#ff00e5\",\n glowColor = \"rgba(255, 0, 229, 0.4)\",\n className = \"\",\n}) => {\n return (\n <div className={`w-full relative ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <LineChart\n data={data}\n margin={{ top: 20, right: 30, left: 10, bottom: 20 }}\n >\n <defs>\n {/* Linear Gradient for the Line */}\n <linearGradient id=\"neonGradient\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"0\">\n <stop offset=\"0%\" stopColor={lineColorStop1} />\n <stop offset=\"100%\" stopColor={lineColorStop2} />\n </linearGradient>\n\n {/* Glowing Drop Shadow Filter */}\n <filter id=\"neonGlow\" x=\"-20%\" y=\"-20%\" width=\"140%\" height=\"140%\">\n <feDropShadow\n dx=\"0\"\n dy=\"6\"\n stdDeviation=\"8\"\n floodColor={glowColor}\n floodOpacity=\"0.8\"\n />\n <feDropShadow\n dx=\"0\"\n dy=\"0\"\n stdDeviation=\"15\"\n floodColor={lineColorStop1}\n floodOpacity=\"0.3\"\n />\n </filter>\n </defs>\n\n {/* Minimal Grid */}\n <CartesianGrid\n strokeDasharray=\"3 3\"\n vertical={false}\n stroke=\"var(--color-neutral-800, #262626)\"\n opacity={0.5}\n />\n\n <XAxis\n dataKey=\"name\"\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dy={10}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dx={-10}\n />\n\n <Tooltip\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.8)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n itemStyle={{ color: \"#fff\" }}\n />\n\n {/* The Neon Line */}\n <Line\n type=\"monotone\"\n dataKey=\"value\"\n stroke=\"url(#neonGradient)\"\n strokeWidth={3}\n dot={false}\n activeDot={{\n r: 6,\n fill: \"#fff\",\n stroke: lineColorStop2,\n strokeWidth: 2,\n }}\n filter=\"url(#neonGlow)\"\n />\n </LineChart>\n </ResponsiveContainer>\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n BarChart as RechartsBarChart,\n Bar,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n Legend,\n ResponsiveContainer,\n} from \"recharts\";\n\nexport interface StackedBarData {\n name: string;\n [key: string]: string | number;\n}\n\ninterface StackedBarChartProps {\n data: StackedBarData[];\n categories: { key: string; color: string; label: string }[];\n height?: number | string;\n yAxisDomain?: [number, number];\n className?: string;\n}\n\nexport const StackedBarChart: React.FC<StackedBarChartProps> = ({\n data,\n categories,\n height = 300,\n yAxisDomain,\n className = \"\",\n}) => {\n return (\n <div className={`w-full ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsBarChart\n data={data}\n margin={{ top: 20, right: 30, left: 20, bottom: 5 }}\n >\n <CartesianGrid\n strokeDasharray=\"3 3\"\n vertical={false}\n stroke=\"var(--color-neutral-800, #262626)\"\n opacity={0.4}\n />\n <XAxis\n dataKey=\"name\"\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dy={10}\n />\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dx={-10}\n domain={yAxisDomain}\n />\n <Tooltip\n cursor={{ fill: \"var(--color-neutral-800, rgba(38, 38, 38, 0.4))\" }}\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.9)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n />\n <Legend\n iconType=\"circle\"\n wrapperStyle={{\n paddingTop: \"20px\",\n fontSize: \"12px\",\n color: \"var(--color-neutral-300)\",\n }}\n />\n\n {categories.map((cat, index) => {\n // Apply rounded radius only to the top bar in the stack\n const isTop = index === categories.length - 1;\n const radius: [number, number, number, number] = isTop\n ? [6, 6, 0, 0]\n : [0, 0, 0, 0];\n\n return (\n <Bar\n key={cat.key}\n dataKey={cat.key}\n name={cat.label}\n stackId=\"a\"\n fill={cat.color}\n radius={radius}\n barSize={32}\n />\n );\n })}\n </RechartsBarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\n\nexport interface BreakdownSegment {\n id?: string;\n label: string;\n value: number; // The absolute value or percentage\n color: string;\n}\n\ninterface ThinBreakdownBarProps {\n data: BreakdownSegment[];\n className?: string;\n showLabels?: boolean;\n}\n\nexport const ThinBreakdownBar: React.FC<ThinBreakdownBarProps> = ({\n data: segments,\n className = \"\",\n showLabels = true,\n}) => {\n // Calculate total to determine percentage widths\n const total = segments.reduce((sum, item) => sum + item.value, 0);\n\n return (\n <div className={`w-full flex flex-col gap-3 ${className}`}>\n {/* The Bar Track */}\n <div className=\"flex w-full h-3 rounded-full overflow-hidden gap-1 bg-neutral-900/50\">\n {segments.map((segment, index) => {\n const widthPercent = total > 0 ? (segment.value / total) * 100 : 0;\n return (\n <div\n key={segment.id || `segment-${index}`}\n className=\"h-full rounded-full transition-all duration-500 ease-out\"\n style={{\n width: `${widthPercent}%`,\n backgroundColor: segment.color,\n // Add a very subtle inner shadow/glow to match the 'pill' aesthetic\n boxShadow: `inset 0 1px 1px rgba(255,255,255,0.2), 0 0 8px ${segment.color}40`,\n }}\n title={`${segment.label}: ${segment.value}`}\n />\n );\n })}\n </div>\n\n {/* The Labels */}\n {showLabels && (\n <div className=\"flex w-full justify-between items-center px-1\">\n {segments.map((segment, index) => (\n <div\n key={`label-${segment.id || index}`}\n className=\"flex items-center gap-1.5 min-w-0\"\n >\n <span className=\"text-xs text-neutral-400 font-medium truncate\">\n {segment.label}\n </span>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n AreaChart as RechartsAreaChart,\n Area,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\n\nexport interface AreaChartData {\n name: string;\n [key: string]: string | number;\n}\n\ninterface AreaChartProps {\n data: AreaChartData[];\n categories: { key: string; color: string }[];\n height?: number | string;\n className?: string;\n showGrid?: boolean;\n}\n\nexport const AreaChart: React.FC<AreaChartProps> = ({\n data,\n categories,\n height = 300,\n className = \"\",\n showGrid = true,\n}) => {\n return (\n <div className={`w-full ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsAreaChart\n data={data}\n margin={{ top: 10, right: 30, left: 0, bottom: 0 }}\n >\n <defs>\n {categories.map((cat) => (\n <linearGradient\n key={`gradient-${cat.key}`}\n id={`color-${cat.key}`}\n x1=\"0\"\n y1=\"0\"\n x2=\"0\"\n y2=\"1\"\n >\n <stop offset=\"5%\" stopColor={cat.color} stopOpacity={0.3} />\n <stop offset=\"95%\" stopColor={cat.color} stopOpacity={0} />\n </linearGradient>\n ))}\n </defs>\n\n {showGrid && (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n vertical={false}\n stroke=\"var(--color-neutral-800, #262626)\"\n opacity={0.5}\n />\n )}\n\n <XAxis\n dataKey=\"name\"\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dy={10}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dx={-10}\n />\n\n <Tooltip\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.9)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n itemStyle={{ color: \"#fff\" }}\n />\n\n {categories.map((cat) => (\n <Area\n key={cat.key}\n type=\"monotone\"\n dataKey={cat.key}\n stroke={cat.color}\n strokeWidth={2}\n fillOpacity={1}\n fill={`url(#color-${cat.key})`}\n />\n ))}\n </RechartsAreaChart>\n </ResponsiveContainer>\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n BarChart as RechartsBarChart,\n Bar,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\n\nexport interface BarChartData {\n name: string;\n [key: string]: string | number;\n}\n\ninterface BarChartProps {\n data: BarChartData[];\n categories: { key: string; color: string }[];\n height?: number | string;\n className?: string;\n layout?: \"horizontal\" | \"vertical\";\n}\n\nexport const BarChart: React.FC<BarChartProps> = ({\n data,\n categories,\n height = 300,\n className = \"\",\n layout = \"horizontal\",\n}) => {\n return (\n <div className={`w-full ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsBarChart\n data={data}\n layout={layout}\n margin={{ top: 20, right: 30, left: 20, bottom: 5 }}\n >\n <CartesianGrid\n strokeDasharray=\"3 3\"\n horizontal={layout === \"horizontal\"}\n vertical={layout === \"vertical\"}\n stroke=\"var(--color-neutral-800, #262626)\"\n opacity={0.4}\n />\n\n {layout === \"horizontal\" ? (\n <>\n <XAxis\n dataKey=\"name\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"var(--color-neutral-400, #a3a3a3)\",\n fontSize: 12,\n }}\n dy={10}\n />\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"var(--color-neutral-400, #a3a3a3)\",\n fontSize: 12,\n }}\n dx={-10}\n />\n </>\n ) : (\n <>\n <XAxis\n type=\"number\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"var(--color-neutral-400, #a3a3a3)\",\n fontSize: 12,\n }}\n dy={10}\n />\n <YAxis\n dataKey=\"name\"\n type=\"category\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"var(--color-neutral-400, #a3a3a3)\",\n fontSize: 12,\n }}\n dx={-10}\n />\n </>\n )}\n\n <Tooltip\n cursor={{ fill: \"var(--color-neutral-800, rgba(38, 38, 38, 0.4))\" }}\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.9)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n />\n\n {categories.map((cat) => (\n <Bar\n key={cat.key}\n dataKey={cat.key}\n fill={cat.color}\n radius={layout === \"horizontal\" ? [4, 4, 0, 0] : [0, 4, 4, 0]}\n />\n ))}\n </RechartsBarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n PieChart as RechartsPieChart,\n Pie,\n Cell,\n Tooltip,\n Legend,\n ResponsiveContainer,\n} from \"recharts\";\n\nexport interface PieChartData {\n name: string;\n value: number;\n}\n\ninterface PieChartProps {\n data: PieChartData[];\n colors: string[];\n height?: number | string;\n className?: string;\n variant?: \"pie\" | \"donut\";\n}\n\nexport const PieChart: React.FC<PieChartProps> = ({\n data,\n colors,\n height = 300,\n className = \"\",\n variant = \"donut\",\n}) => {\n const innerRadius = variant === \"donut\" ? \"60%\" : 0;\n\n return (\n <div className={`w-full ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsPieChart>\n <Pie\n data={data}\n cx=\"50%\"\n cy=\"50%\"\n innerRadius={innerRadius}\n outerRadius=\"80%\"\n paddingAngle={variant === \"donut\" ? 2 : 0}\n dataKey=\"value\"\n stroke=\"none\"\n >\n {data.map((entry, index) => (\n <Cell\n key={`cell-${index}`}\n fill={colors[index % colors.length]}\n />\n ))}\n </Pie>\n\n <Tooltip\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.9)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n itemStyle={{ color: \"#fff\" }}\n />\n\n <Legend\n iconType=\"circle\"\n wrapperStyle={{\n fontSize: \"12px\",\n color: \"var(--color-neutral-300)\",\n }}\n />\n </RechartsPieChart>\n </ResponsiveContainer>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox-B3eIojWs.mjs","names":[],"sources":["../../src/components/forms/checkbox/Checkbox.tsx"],"sourcesContent":["import type { CheckboxProps } from \"./types\";\nimport { forwardRef, useId } from \"react\";\n\nconst sanitizeId = (value: string) => value.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n\nconst colorClasses: Record<NonNullable<CheckboxProps[\"color\"]>, string> = {\n red: \"checked:bg-red-500 dark:checked:bg-red-400\",\n blue: \"checked:bg-blue-500 dark:checked:bg-blue-400\",\n green: \"checked:bg-green-500 dark:checked:bg-green-400\",\n yellow: \"checked:bg-yellow-500 dark:checked:bg-yellow-400\",\n teal: \"checked:bg-teal-500 dark:checked:bg-teal-400\",\n primary: \"checked:bg-primary dark:checked:bg-primary\",\n};\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n className = \"\",\n label,\n error,\n id,\n extra = \"\",\n color = \"primary\",\n ...props\n },\n ref,\n ) => {\n const generatedId = useId();\n const checkboxId = id || `checkbox-${sanitizeId(generatedId)}`;\n\n // Custom CheckIcon SVG (stroke-based design)\n const checkmarkIcon = `url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M5 13l4 4L19 7'/%3e%3c/svg%3e\")`;\n\n // Check if color is a predefined color name or a custom value\n const isPredefinedColor = color in colorClasses;\n const customColorStyle = !isPredefinedColor ? color : undefined;\n\n return (\n <>\n <style>{`\n .checkbox-custom-${checkboxId}:checked {\n background-image: ${checkmarkIcon};\n background-size: 70%;\n background-position: center;\n background-repeat: no-repeat;\n ${customColorStyle ? `background-color: ${customColorStyle} !important;` : \"\"}\n }\n `}</style>\n <div className=\"flex items-center space-x-2\">\n <input\n ref={ref}\n type=\"checkbox\"\n id={checkboxId}\n className={`checkbox-custom-${checkboxId} peer relative flex h-5 min-h-[20px] w-5 min-w-[20px] appearance-none items-center justify-center rounded-md border border-gray-300 transition duration-200 outline-none checked:border-none checked:text-white hover:cursor-pointer dark:border-white/30 ${\n isPredefinedColor\n ? colorClasses[color as keyof typeof colorClasses]\n : \"\"\n } ${error ? \"border-red-500 dark:border-red-400\" : \"\"} ${extra} ${className}`}\n {...props}\n />\n {label && (\n <label\n htmlFor={checkboxId}\n className=\"text-sm font-medium leading-none text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer\"\n >\n {label}\n </label>\n )}\n {error && (\n <p className=\"text-sm font-medium text-destructive mt-1\">{error}</p>\n )}\n </div>\n </>\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":";;;AAGA,IAAM,cAAc,UAAkB,MAAM,QAAQ,mBAAmB,IAAI;AAE3E,IAAM,eAAoE;CACxE,KAAK;CACL,MAAM;CACN,OAAO;CACP,QAAQ;CACR,MAAM;CACN,SAAS;CACV;AAED,IAAa,WAAW,YAEpB,EACE,YAAY,IACZ,OACA,OACA,IACA,QAAQ,IACR,QAAQ,WACR,GAAG,SAEL,QACG;CACH,MAAM,cAAc,OAAO;CAC3B,MAAM,aAAa,MAAM,YAAY,WAAW,YAAY;CAG5D,MAAM,gBAAgB;CAGtB,MAAM,oBAAoB,SAAS;CACnC,MAAM,mBAAmB,CAAC,oBAAoB,QAAQ,KAAA;AAEtD,QACE,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,SAAD,EAAA,UAAQ;6BACa,WAAW;gCACR,cAAc;;;;cAIhC,mBAAmB,qBAAqB,iBAAiB,gBAAgB,GAAG;;WAExE,CAAA,EACV,qBAAC,OAAD;EAAK,WAAU;YAAf;GACE,oBAAC,SAAD;IACO;IACL,MAAK;IACL,IAAI;IACJ,WAAW,mBAAmB,WAAW,4PACvC,oBACI,aAAa,SACb,GACL,GAAG,QAAQ,uCAAuC,GAAG,GAAG,MAAM,GAAG;IAClE,GAAI;IACJ,CAAA;GACD,SACC,oBAAC,SAAD;IACE,SAAS;IACT,WAAU;cAET;IACK,CAAA;GAET,SACC,oBAAC,KAAD;IAAG,WAAU;cAA6C;IAAU,CAAA;GAElE;IACL,EAAA,CAAA;EAGR;AAED,SAAS,cAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox-DQmZwRTt.cjs","names":[],"sources":["../../src/components/forms/checkbox/Checkbox.tsx"],"sourcesContent":["import type { CheckboxProps } from \"./types\";\nimport { forwardRef, useId } from \"react\";\n\nconst sanitizeId = (value: string) => value.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n\nconst colorClasses: Record<NonNullable<CheckboxProps[\"color\"]>, string> = {\n red: \"checked:bg-red-500 dark:checked:bg-red-400\",\n blue: \"checked:bg-blue-500 dark:checked:bg-blue-400\",\n green: \"checked:bg-green-500 dark:checked:bg-green-400\",\n yellow: \"checked:bg-yellow-500 dark:checked:bg-yellow-400\",\n teal: \"checked:bg-teal-500 dark:checked:bg-teal-400\",\n primary: \"checked:bg-primary dark:checked:bg-primary\",\n};\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n className = \"\",\n label,\n error,\n id,\n extra = \"\",\n color = \"primary\",\n ...props\n },\n ref,\n ) => {\n const generatedId = useId();\n const checkboxId = id || `checkbox-${sanitizeId(generatedId)}`;\n\n // Custom CheckIcon SVG (stroke-based design)\n const checkmarkIcon = `url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M5 13l4 4L19 7'/%3e%3c/svg%3e\")`;\n\n // Check if color is a predefined color name or a custom value\n const isPredefinedColor = color in colorClasses;\n const customColorStyle = !isPredefinedColor ? color : undefined;\n\n return (\n <>\n <style>{`\n .checkbox-custom-${checkboxId}:checked {\n background-image: ${checkmarkIcon};\n background-size: 70%;\n background-position: center;\n background-repeat: no-repeat;\n ${customColorStyle ? `background-color: ${customColorStyle} !important;` : \"\"}\n }\n `}</style>\n <div className=\"flex items-center space-x-2\">\n <input\n ref={ref}\n type=\"checkbox\"\n id={checkboxId}\n className={`checkbox-custom-${checkboxId} peer relative flex h-5 min-h-[20px] w-5 min-w-[20px] appearance-none items-center justify-center rounded-md border border-gray-300 transition duration-200 outline-none checked:border-none checked:text-white hover:cursor-pointer dark:border-white/30 ${\n isPredefinedColor\n ? colorClasses[color as keyof typeof colorClasses]\n : \"\"\n } ${error ? \"border-red-500 dark:border-red-400\" : \"\"} ${extra} ${className}`}\n {...props}\n />\n {label && (\n <label\n htmlFor={checkboxId}\n className=\"text-sm font-medium leading-none text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer\"\n >\n {label}\n </label>\n )}\n {error && (\n <p className=\"text-sm font-medium text-destructive mt-1\">{error}</p>\n )}\n </div>\n </>\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":";;;;AAGA,IAAM,cAAc,UAAkB,MAAM,QAAQ,mBAAmB,IAAI;AAE3E,IAAM,eAAoE;CACxE,KAAK;CACL,MAAM;CACN,OAAO;CACP,QAAQ;CACR,MAAM;CACN,SAAS;CACV;AAED,IAAa,YAAA,GAAA,MAAA,aAET,EACE,YAAY,IACZ,OACA,OACA,IACA,QAAQ,IACR,QAAQ,WACR,GAAG,SAEL,QACG;CACH,MAAM,eAAA,GAAA,MAAA,QAAqB;CAC3B,MAAM,aAAa,MAAM,YAAY,WAAW,YAAY;CAG5D,MAAM,gBAAgB;CAGtB,MAAM,oBAAoB,SAAS;CACnC,MAAM,mBAAmB,CAAC,oBAAoB,QAAQ,KAAA;AAEtD,QACE,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAC,SAAD,EAAA,UAAQ;6BACa,WAAW;gCACR,cAAc;;;;cAIhC,mBAAmB,qBAAqB,iBAAiB,gBAAgB,GAAG;;WAExE,CAAA,EACV,iBAAA,GAAA,kBAAA,MAAC,OAAD;EAAK,WAAU;YAAf;GACE,iBAAA,GAAA,kBAAA,KAAC,SAAD;IACO;IACL,MAAK;IACL,IAAI;IACJ,WAAW,mBAAmB,WAAW,4PACvC,oBACI,aAAa,SACb,GACL,GAAG,QAAQ,uCAAuC,GAAG,GAAG,MAAM,GAAG;IAClE,GAAI;IACJ,CAAA;GACD,SACC,iBAAA,GAAA,kBAAA,KAAC,SAAD;IACE,SAAS;IACT,WAAU;cAET;IACK,CAAA;GAET,SACC,iBAAA,GAAA,kBAAA,KAAC,KAAD;IAAG,WAAU;cAA6C;IAAU,CAAA;GAElE;IACL,EAAA,CAAA;EAGR;AAED,SAAS,cAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chip-BH6wzwat.cjs","names":[],"sources":["../../src/components/data-display/chip/Chip.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { CloseIcon } from \"../../icons\";\n\nexport type ChipVariant = \"filled\" | \"outlined\" | \"soft\" | \"glass\";\nexport type ChipColor =\n | \"default\"\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"info\";\nexport type ChipSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface ChipProps {\n /** The content of the chip */\n children: React.ReactNode;\n /** The variant style of the chip */\n variant?: ChipVariant;\n /** The color scheme of the chip */\n color?: ChipColor;\n /** The size of the chip */\n size?: ChipSize;\n /** Icon or element to display at the start */\n startIcon?: React.ReactNode;\n /** Icon or element to display at the end */\n endIcon?: React.ReactNode;\n /** Makes the chip removable with an X button */\n onRemove?: () => void;\n /** Makes the chip clickable */\n onClick?: () => void;\n /** Whether the chip is disabled */\n disabled?: boolean;\n /** Custom className */\n className?: string;\n /** Whether the chip should have a dot indicator */\n dot?: boolean;\n /** Dot color (uses chip color by default) */\n dotColor?: string;\n /** Maximum width for the chip - text will truncate with ellipsis if exceeded */\n maxWidth?: number | string;\n}\n\nconst sizeStyles: Record<ChipSize, string> = {\n sm: \"px-2.5 py-1 text-xs gap-1.5\",\n md: \"px-3 py-1.5 text-sm gap-2\",\n lg: \"px-4 py-2 text-base gap-2.5\",\n};\n\nconst dotSizeStyles: Record<ChipSize, string> = {\n sm: \"w-1.5 h-1.5\",\n md: \"w-2 h-2\",\n lg: \"w-2.5 h-2.5\",\n};\n\nconst iconSizeStyles: Record<ChipSize, string> = {\n sm: \"w-3.5 h-3.5\",\n md: \"w-4 h-4\",\n lg: \"w-5 h-5\",\n};\n\nconst colorStyles: Record<ChipVariant, Record<ChipColor, string>> = {\n filled: {\n default:\n \"bg-gradient-to-br from-neutral-100 to-neutral-200 text-neutral-800 shadow-sm dark:from-neutral-700 dark:to-neutral-800 dark:text-neutral-100 border border-neutral-200 dark:border-neutral-600\",\n primary:\n \"bg-gradient-to-br from-primary-500 to-primary-600 text-white shadow-md shadow-primary-500/30 dark:shadow-primary-500/20\",\n secondary:\n \"bg-gradient-to-br from-purple-500 to-purple-600 text-white shadow-md shadow-purple-500/30 dark:shadow-purple-500/20\",\n success:\n \"bg-gradient-to-br from-green-500 to-green-600 text-white shadow-md shadow-green-500/30 dark:shadow-green-500/20\",\n warning:\n \"bg-gradient-to-br from-amber-500 to-amber-600 text-white shadow-md shadow-amber-500/30 dark:shadow-amber-500/20\",\n error:\n \"bg-gradient-to-br from-red-500 to-red-600 text-white shadow-md shadow-red-500/30 dark:shadow-red-500/20\",\n info: \"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md shadow-blue-500/30 dark:shadow-blue-500/20\",\n },\n outlined: {\n default:\n \"border-2 border-neutral-300 text-neutral-700 bg-transparent dark:border-neutral-600 dark:text-neutral-200 hover:bg-neutral-50 dark:hover:bg-neutral-800/50\",\n primary:\n \"border-2 border-primary-500 text-primary-600 bg-transparent dark:text-primary-400 hover:bg-primary-50 dark:hover:bg-primary-900/20\",\n secondary:\n \"border-2 border-purple-500 text-purple-600 bg-transparent dark:text-purple-400 hover:bg-purple-50 dark:hover:bg-purple-900/20\",\n success:\n \"border-2 border-green-500 text-green-600 bg-transparent dark:text-green-400 hover:bg-green-50 dark:hover:bg-green-900/20\",\n warning:\n \"border-2 border-amber-500 text-amber-600 bg-transparent dark:text-amber-400 hover:bg-amber-50 dark:hover:bg-amber-900/20\",\n error:\n \"border-2 border-red-500 text-red-600 bg-transparent dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20\",\n info: \"border-2 border-blue-500 text-blue-600 bg-transparent dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20\",\n },\n soft: {\n default:\n \"bg-neutral-100 text-neutral-800 dark:bg-neutral-800/60 dark:text-neutral-200 backdrop-blur-sm border border-neutral-200/50 dark:border-neutral-700/50\",\n primary:\n \"bg-primary-100 text-primary-700 dark:bg-primary-900/40 dark:text-primary-300 backdrop-blur-sm border border-primary-200/50 dark:border-primary-800/50\",\n secondary:\n \"bg-purple-100 text-purple-700 dark:bg-purple-900/40 dark:text-purple-300 backdrop-blur-sm border border-purple-200/50 dark:border-purple-800/50\",\n success:\n \"bg-green-100 text-green-700 dark:bg-green-900/40 dark:text-green-300 backdrop-blur-sm border border-green-200/50 dark:border-green-800/50\",\n warning:\n \"bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-300 backdrop-blur-sm border border-amber-200/50 dark:border-amber-800/50\",\n error:\n \"bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-300 backdrop-blur-sm border border-red-200/50 dark:border-red-800/50\",\n info: \"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300 backdrop-blur-sm border border-blue-200/50 dark:border-blue-800/50\",\n },\n glass: {\n default:\n \"bg-white/70 text-neutral-800 dark:bg-neutral-800/70 dark:text-neutral-100 backdrop-blur-xl border border-white/20 dark:border-white/10 shadow-lg\",\n primary:\n \"bg-primary-500/20 text-primary-700 dark:bg-primary-500/30 dark:text-primary-200 backdrop-blur-xl border border-primary-300/30 dark:border-primary-400/20 shadow-lg shadow-primary-500/10\",\n secondary:\n \"bg-purple-500/20 text-purple-700 dark:bg-purple-500/30 dark:text-purple-200 backdrop-blur-xl border border-purple-300/30 dark:border-purple-400/20 shadow-lg shadow-purple-500/10\",\n success:\n \"bg-green-500/20 text-green-700 dark:bg-green-500/30 dark:text-green-200 backdrop-blur-xl border border-green-300/30 dark:border-green-400/20 shadow-lg shadow-green-500/10\",\n warning:\n \"bg-amber-500/20 text-amber-700 dark:bg-amber-500/30 dark:text-amber-200 backdrop-blur-xl border border-amber-300/30 dark:border-amber-400/20 shadow-lg shadow-amber-500/10\",\n error:\n \"bg-red-500/20 text-red-700 dark:bg-red-500/30 dark:text-red-200 backdrop-blur-xl border border-red-300/30 dark:border-red-400/20 shadow-lg shadow-red-500/10\",\n info: \"bg-blue-500/20 text-blue-700 dark:bg-blue-500/30 dark:text-blue-200 backdrop-blur-xl border border-blue-300/30 dark:border-blue-400/20 shadow-lg shadow-blue-500/10\",\n },\n};\n\nconst dotColorStyles: Record<ChipColor, string> = {\n default: \"bg-neutral-500 dark:bg-neutral-400\",\n primary: \"bg-primary-500\",\n secondary: \"bg-purple-500\",\n success: \"bg-green-500\",\n warning: \"bg-amber-500\",\n error: \"bg-red-500\",\n info: \"bg-blue-500\",\n};\n\nconst Chip = forwardRef<HTMLSpanElement, ChipProps>(\n (\n {\n children,\n variant = \"soft\",\n color = \"default\",\n size = \"md\",\n startIcon,\n endIcon,\n onRemove,\n onClick,\n disabled = false,\n className = \"\",\n dot = false,\n dotColor,\n maxWidth,\n },\n ref,\n ) => {\n const isClickable = onClick !== undefined;\n const isRemovable = onRemove !== undefined;\n\n const baseStyles = `\n inline-flex items-center font-medium rounded-full transition-all duration-200\n ${sizeStyles[size]}\n ${colorStyles[variant][color]}\n ${\n isClickable && !disabled\n ? \"cursor-pointer hover:scale-105 hover:shadow-lg active:scale-95\"\n : \"\"\n }\n ${disabled ? \"opacity-50 cursor-not-allowed grayscale\" : \"\"}\n ${maxWidth ? \"max-w-full\" : \"\"}\n ${className}\n `;\n\n const handleClick = () => {\n if (!disabled && onClick) {\n onClick();\n }\n };\n\n const handleRemove = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (!disabled && onRemove) {\n onRemove();\n }\n };\n\n return (\n <span\n ref={ref}\n className={baseStyles}\n onClick={handleClick}\n role={isClickable ? \"button\" : undefined}\n tabIndex={isClickable && !disabled ? 0 : undefined}\n style={\n maxWidth\n ? {\n maxWidth:\n typeof maxWidth === \"number\" ? `${maxWidth}px` : maxWidth,\n }\n : undefined\n }\n onKeyDown={(e) => {\n if (\n isClickable &&\n !disabled &&\n (e.key === \"Enter\" || e.key === \" \")\n ) {\n e.preventDefault();\n onClick?.();\n }\n }}\n >\n {dot && (\n <span\n className={`rounded-full flex-shrink-0 animate-pulse ${\n dotSizeStyles[size]\n } ${dotColor ? \"\" : dotColorStyles[color]}`}\n style={dotColor ? { backgroundColor: dotColor } : undefined}\n />\n )}\n {startIcon && (\n <span className={`flex-shrink-0 ${iconSizeStyles[size]}`}>\n {startIcon}\n </span>\n )}\n <span className=\"truncate font-semibold\">{children}</span>\n {endIcon && !isRemovable && (\n <span className={`flex-shrink-0 ${iconSizeStyles[size]}`}>\n {endIcon}\n </span>\n )}\n {isRemovable && (\n <button\n type=\"button\"\n onClick={handleRemove}\n disabled={disabled}\n className={`\n flex-shrink-0 rounded-full p-0.5 ml-1 transition-all duration-200\n hover:bg-black/20 dark:hover:bg-white/20 hover:scale-110\n focus:outline-none focus:ring-2 focus:ring-current focus:ring-offset-1\n ${disabled ? \"cursor-not-allowed\" : \"cursor-pointer\"}\n `}\n aria-label=\"Remove\"\n >\n <CloseIcon className={iconSizeStyles[size]} aria-hidden=\"true\" />\n </button>\n )}\n </span>\n );\n },\n);\n\nChip.displayName = \"Chip\";\n\nexport default Chip;\nexport { Chip };\n"],"mappings":";;;;;AA4CA,IAAM,aAAuC;CAC3C,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,gBAA0C;CAC9C,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,iBAA2C;CAC/C,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,cAA8D;CAClE,QAAQ;EACN,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACD,UAAU;EACR,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACD,MAAM;EACJ,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACD,OAAO;EACL,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACF;AAED,IAAM,iBAA4C;CAChD,SAAS;CACT,SAAS;CACT,WAAW;CACX,SAAS;CACT,SAAS;CACT,OAAO;CACP,MAAM;CACP;AAED,IAAM,QAAA,GAAA,MAAA,aAEF,EACE,UACA,UAAU,QACV,QAAQ,WACR,OAAO,MACP,WACA,SACA,UACA,SACA,WAAW,OACX,YAAY,IACZ,MAAM,OACN,UACA,YAEF,QACG;CACH,MAAM,cAAc,YAAY,KAAA;CAChC,MAAM,cAAc,aAAa,KAAA;CAEjC,MAAM,aAAa;;QAEf,WAAW,MAAM;QACjB,YAAY,SAAS,OAAO;QAE5B,eAAe,CAAC,WACZ,mEACA,GACL;QACC,WAAW,4CAA4C,GAAG;QAC1D,WAAW,eAAe,GAAG;QAC7B,UAAU;;CAGd,MAAM,oBAAoB;AACxB,MAAI,CAAC,YAAY,QACf,UAAS;;CAIb,MAAM,gBAAgB,MAAwB;AAC5C,IAAE,iBAAiB;AACnB,MAAI,CAAC,YAAY,SACf,WAAU;;AAId,QACE,iBAAA,GAAA,kBAAA,MAAC,QAAD;EACO;EACL,WAAW;EACX,SAAS;EACT,MAAM,cAAc,WAAW,KAAA;EAC/B,UAAU,eAAe,CAAC,WAAW,IAAI,KAAA;EACzC,OACE,WACI,EACE,UACE,OAAO,aAAa,WAAW,GAAG,SAAS,MAAM,UACpD,GACD,KAAA;EAEN,YAAY,MAAM;AAChB,OACE,eACA,CAAC,aACA,EAAE,QAAQ,WAAW,EAAE,QAAQ,MAChC;AACA,MAAE,gBAAgB;AAClB,eAAW;;;YArBjB;GAyBG,OACC,iBAAA,GAAA,kBAAA,KAAC,QAAD;IACE,WAAW,4CACT,cAAc,MACf,GAAG,WAAW,KAAK,eAAe;IACnC,OAAO,WAAW,EAAE,iBAAiB,UAAU,GAAG,KAAA;IAClD,CAAA;GAEH,aACC,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,WAAW,iBAAiB,eAAe;cAC9C;IACI,CAAA;GAET,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,WAAU;IAA0B;IAAgB,CAAA;GACzD,WAAW,CAAC,eACX,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,WAAW,iBAAiB,eAAe;cAC9C;IACI,CAAA;GAER,eACC,iBAAA,GAAA,kBAAA,KAAC,UAAD;IACE,MAAK;IACL,SAAS;IACC;IACV,WAAW;;;;gBAIP,WAAW,uBAAuB,iBAAiB;;IAEvD,cAAW;cAEX,iBAAA,GAAA,kBAAA,KAAC,cAAA,WAAD;KAAW,WAAW,eAAe;KAAO,eAAY;KAAS,CAAA;IAC1D,CAAA;GAEN;;EAGZ;AAED,KAAK,cAAc"}