@etus/ui 0.4.0-beta.7 → 0.4.0-beta.9

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 (242) hide show
  1. package/dist/{chunk-KR3IVNQH.js → chunk-2FJJOHHH.js} +16 -10
  2. package/dist/chunk-2FJJOHHH.js.map +1 -0
  3. package/dist/{chunk-2YWWZEPE.js → chunk-2HM5Z2YP.js} +3 -3
  4. package/dist/{chunk-2YWWZEPE.js.map → chunk-2HM5Z2YP.js.map} +1 -1
  5. package/dist/{chunk-W4NC5CU5.js → chunk-2Q4I4VDB.js} +4 -4
  6. package/dist/{chunk-W4NC5CU5.js.map → chunk-2Q4I4VDB.js.map} +1 -1
  7. package/dist/{chunk-SCGKQ5RE.js → chunk-2ROFZG3A.js} +3 -3
  8. package/dist/{chunk-SCGKQ5RE.js.map → chunk-2ROFZG3A.js.map} +1 -1
  9. package/dist/chunk-2Z722V5K.js +231 -0
  10. package/dist/chunk-2Z722V5K.js.map +1 -0
  11. package/dist/chunk-37IIHQP4.js +233 -0
  12. package/dist/chunk-37IIHQP4.js.map +1 -0
  13. package/dist/{chunk-YP2ATSXP.js → chunk-3BBOSSDG.js} +14 -6
  14. package/dist/{chunk-YP2ATSXP.js.map → chunk-3BBOSSDG.js.map} +1 -1
  15. package/dist/{chunk-UFRMZ3M6.js → chunk-3JCV72FO.js} +6 -2
  16. package/dist/chunk-3JCV72FO.js.map +1 -0
  17. package/dist/{chunk-2UGDLAYC.js → chunk-45D4O7RK.js} +10 -3
  18. package/dist/chunk-45D4O7RK.js.map +1 -0
  19. package/dist/{chunk-OTSK2KAI.js → chunk-4EYYCHLD.js} +5 -5
  20. package/dist/{chunk-OTSK2KAI.js.map → chunk-4EYYCHLD.js.map} +1 -1
  21. package/dist/{chunk-QIETN4UU.js → chunk-55RLLBXW.js} +4 -4
  22. package/dist/{chunk-QIETN4UU.js.map → chunk-55RLLBXW.js.map} +1 -1
  23. package/dist/{chunk-FCT6FEEZ.js → chunk-5DMK7CVS.js} +5 -5
  24. package/dist/{chunk-FCT6FEEZ.js.map → chunk-5DMK7CVS.js.map} +1 -1
  25. package/dist/{chunk-J62TFQHR.js → chunk-5I7AXWJU.js} +13 -13
  26. package/dist/chunk-5I7AXWJU.js.map +1 -0
  27. package/dist/{chunk-65YSTUD2.js → chunk-5SUD32RK.js} +44 -14
  28. package/dist/chunk-5SUD32RK.js.map +1 -0
  29. package/dist/{chunk-VPNFYQBL.js → chunk-6DN2UAIR.js} +3 -3
  30. package/dist/chunk-6DN2UAIR.js.map +1 -0
  31. package/dist/{chunk-EGYWK2XX.js → chunk-7CTFBOD4.js} +3 -3
  32. package/dist/{chunk-EGYWK2XX.js.map → chunk-7CTFBOD4.js.map} +1 -1
  33. package/dist/{chunk-AWYOWR5N.js → chunk-C5HSYDJC.js} +3 -3
  34. package/dist/{chunk-AWYOWR5N.js.map → chunk-C5HSYDJC.js.map} +1 -1
  35. package/dist/{chunk-VFALJSXB.js → chunk-DCUFQJYP.js} +3 -3
  36. package/dist/chunk-DCUFQJYP.js.map +1 -0
  37. package/dist/{chunk-LATTRPLQ.js → chunk-E2TI5V67.js} +3 -3
  38. package/dist/{chunk-LATTRPLQ.js.map → chunk-E2TI5V67.js.map} +1 -1
  39. package/dist/{chunk-23BHD62H.js → chunk-EVZ2GZU4.js} +5 -5
  40. package/dist/chunk-EVZ2GZU4.js.map +1 -0
  41. package/dist/{chunk-IRKDMISK.js → chunk-G2MAGZHQ.js} +4 -3
  42. package/dist/chunk-G2MAGZHQ.js.map +1 -0
  43. package/dist/{chunk-4GQN76L7.js → chunk-G7PBPX3K.js} +3 -3
  44. package/dist/{chunk-4GQN76L7.js.map → chunk-G7PBPX3K.js.map} +1 -1
  45. package/dist/{chunk-36XTKR3B.js → chunk-GDSYLR7L.js} +4 -4
  46. package/dist/{chunk-36XTKR3B.js.map → chunk-GDSYLR7L.js.map} +1 -1
  47. package/dist/{chunk-ONQCNOLU.js → chunk-HDOR3SN3.js} +3 -3
  48. package/dist/{chunk-ONQCNOLU.js.map → chunk-HDOR3SN3.js.map} +1 -1
  49. package/dist/{chunk-PLLJNHWU.js → chunk-HI3T55XK.js} +3 -33
  50. package/dist/chunk-HI3T55XK.js.map +1 -0
  51. package/dist/chunk-HJ4E6YPW.js +236 -0
  52. package/dist/chunk-HJ4E6YPW.js.map +1 -0
  53. package/dist/{chunk-LS3WD6IZ.js → chunk-I55QJ4CU.js} +4 -4
  54. package/dist/{chunk-LS3WD6IZ.js.map → chunk-I55QJ4CU.js.map} +1 -1
  55. package/dist/{chunk-HKXQLWGR.js → chunk-IOWHM7ZY.js} +13 -11
  56. package/dist/chunk-IOWHM7ZY.js.map +1 -0
  57. package/dist/{chunk-ILAV2AZ4.js → chunk-IZC5YFGO.js} +3 -3
  58. package/dist/{chunk-ILAV2AZ4.js.map → chunk-IZC5YFGO.js.map} +1 -1
  59. package/dist/{chunk-Y7UFBSAD.js → chunk-KHOCAVQO.js} +3 -3
  60. package/dist/{chunk-Y7UFBSAD.js.map → chunk-KHOCAVQO.js.map} +1 -1
  61. package/dist/{chunk-IBVCSZCH.js → chunk-KVJOKWP4.js} +5 -4
  62. package/dist/chunk-KVJOKWP4.js.map +1 -0
  63. package/dist/{chunk-2Y7PQ6ZL.js → chunk-LNSCL76Q.js} +5 -5
  64. package/dist/{chunk-2Y7PQ6ZL.js.map → chunk-LNSCL76Q.js.map} +1 -1
  65. package/dist/{chunk-OWOVCGUZ.js → chunk-M2C7HBR5.js} +3 -3
  66. package/dist/{chunk-OWOVCGUZ.js.map → chunk-M2C7HBR5.js.map} +1 -1
  67. package/dist/{chunk-33JGPMUW.js → chunk-M7TPROVH.js} +20 -7
  68. package/dist/chunk-M7TPROVH.js.map +1 -0
  69. package/dist/{chunk-AVR3LVOQ.js → chunk-MQMRVBUL.js} +4 -4
  70. package/dist/{chunk-AVR3LVOQ.js.map → chunk-MQMRVBUL.js.map} +1 -1
  71. package/dist/{chunk-JMZ4CO6R.js → chunk-NCT5WXKG.js} +3 -3
  72. package/dist/{chunk-JMZ4CO6R.js.map → chunk-NCT5WXKG.js.map} +1 -1
  73. package/dist/{chunk-KPNNSUXM.js → chunk-O7AUE5GP.js} +5 -3
  74. package/dist/chunk-O7AUE5GP.js.map +1 -0
  75. package/dist/{chunk-6HEURMY3.js → chunk-OCXGG7UP.js} +5 -5
  76. package/dist/{chunk-6HEURMY3.js.map → chunk-OCXGG7UP.js.map} +1 -1
  77. package/dist/{chunk-FSMHI7DW.js → chunk-OXDWUKGP.js} +3 -3
  78. package/dist/chunk-OXDWUKGP.js.map +1 -0
  79. package/dist/{chunk-SJSYKUCL.js → chunk-Q335YODG.js} +3 -3
  80. package/dist/{chunk-SJSYKUCL.js.map → chunk-Q335YODG.js.map} +1 -1
  81. package/dist/{chunk-DDM2I5C6.js → chunk-R5OIL4I4.js} +3 -3
  82. package/dist/{chunk-DDM2I5C6.js.map → chunk-R5OIL4I4.js.map} +1 -1
  83. package/dist/{chunk-KC6CHPT3.js → chunk-RJ2QVURO.js} +4 -4
  84. package/dist/{chunk-KC6CHPT3.js.map → chunk-RJ2QVURO.js.map} +1 -1
  85. package/dist/{chunk-FYJHWYPM.js → chunk-S524YVMO.js} +3 -3
  86. package/dist/{chunk-FYJHWYPM.js.map → chunk-S524YVMO.js.map} +1 -1
  87. package/dist/{chunk-OWIFNJXZ.js → chunk-S7TVRVRU.js} +3 -3
  88. package/dist/chunk-S7TVRVRU.js.map +1 -0
  89. package/dist/{chunk-JKYB5QAP.js → chunk-SLRCXCHM.js} +4 -4
  90. package/dist/{chunk-JKYB5QAP.js.map → chunk-SLRCXCHM.js.map} +1 -1
  91. package/dist/{chunk-JONTKXGK.js → chunk-U2CXFKRK.js} +3 -3
  92. package/dist/{chunk-JONTKXGK.js.map → chunk-U2CXFKRK.js.map} +1 -1
  93. package/dist/{chunk-B4ETIQOO.js → chunk-U2R47SPY.js} +3 -3
  94. package/dist/{chunk-B4ETIQOO.js.map → chunk-U2R47SPY.js.map} +1 -1
  95. package/dist/{chunk-TNROOKX3.js → chunk-UDY3IDCY.js} +10 -2
  96. package/dist/chunk-UDY3IDCY.js.map +1 -0
  97. package/dist/{chunk-3WOGOTOV.js → chunk-UPYT2XM5.js} +7 -7
  98. package/dist/chunk-UPYT2XM5.js.map +1 -0
  99. package/dist/{chunk-V7XHE25E.js → chunk-UST7EAJM.js} +4 -4
  100. package/dist/{chunk-V7XHE25E.js.map → chunk-UST7EAJM.js.map} +1 -1
  101. package/dist/{chunk-YWA63YN3.js → chunk-VAVE4ZJF.js} +2 -2
  102. package/dist/chunk-VAVE4ZJF.js.map +1 -0
  103. package/dist/{chunk-6ELVWWIA.js → chunk-VBJ26PZJ.js} +3 -3
  104. package/dist/{chunk-6ELVWWIA.js.map → chunk-VBJ26PZJ.js.map} +1 -1
  105. package/dist/chunk-WKWLKGNI.js +643 -0
  106. package/dist/chunk-WKWLKGNI.js.map +1 -0
  107. package/dist/{chunk-Z3FL7LEK.js → chunk-X253YD45.js} +71 -6
  108. package/dist/chunk-X253YD45.js.map +1 -0
  109. package/dist/{chunk-6XY7QYVR.js → chunk-X3AXEE3S.js} +3 -3
  110. package/dist/{chunk-6XY7QYVR.js.map → chunk-X3AXEE3S.js.map} +1 -1
  111. package/dist/{chunk-R4UOT76L.js → chunk-XAIUZJOJ.js} +8 -8
  112. package/dist/chunk-XAIUZJOJ.js.map +1 -0
  113. package/dist/{chunk-ZO2EKJZM.js → chunk-XCZMJA2D.js} +7 -7
  114. package/dist/{chunk-ZO2EKJZM.js.map → chunk-XCZMJA2D.js.map} +1 -1
  115. package/dist/{chunk-XRMKL43Y.js → chunk-XOLV7G4S.js} +3 -3
  116. package/dist/{chunk-XRMKL43Y.js.map → chunk-XOLV7G4S.js.map} +1 -1
  117. package/dist/chunk-XYYOV5GW.js +186 -0
  118. package/dist/chunk-XYYOV5GW.js.map +1 -0
  119. package/dist/{chunk-4MQNDQ4O.js → chunk-YACIRNVP.js} +12 -4
  120. package/dist/chunk-YACIRNVP.js.map +1 -0
  121. package/dist/{chunk-5XQIH6WM.js → chunk-YM5YBDRM.js} +4 -4
  122. package/dist/{chunk-5XQIH6WM.js.map → chunk-YM5YBDRM.js.map} +1 -1
  123. package/dist/{chunk-AUCDXPWH.js → chunk-YZ25HHV2.js} +5 -5
  124. package/dist/{chunk-AUCDXPWH.js.map → chunk-YZ25HHV2.js.map} +1 -1
  125. package/dist/{chunk-Y3BOERVB.js → chunk-ZEFK3AXP.js} +3 -3
  126. package/dist/{chunk-Y3BOERVB.js.map → chunk-ZEFK3AXP.js.map} +1 -1
  127. package/dist/{chunk-L3Z5FAJE.js → chunk-ZEYLSDSG.js} +3 -3
  128. package/dist/{chunk-L3Z5FAJE.js.map → chunk-ZEYLSDSG.js.map} +1 -1
  129. package/dist/components/advanced/Calendar/index.js +4 -4
  130. package/dist/components/advanced/Command/index.js +1 -1
  131. package/dist/components/advanced/EventCalendar/index.js +4 -4
  132. package/dist/components/advanced/FileDropzone/index.js +1 -1
  133. package/dist/components/advanced/FilterBuilder/index.js +4 -4
  134. package/dist/components/advanced/MarkdownEditor/index.js +2 -2
  135. package/dist/components/advanced/ReportBuilder/index.js +2 -2
  136. package/dist/components/advanced/RichTextEditor/index.js +2 -2
  137. package/dist/components/advanced/index.js +17 -17
  138. package/dist/components/data-display/AreaChart/index.js +1 -1
  139. package/dist/components/data-display/BarChart/index.js +1 -1
  140. package/dist/components/data-display/Carousel/index.js +4 -4
  141. package/dist/components/data-display/ChartCard/index.js +2 -2
  142. package/dist/components/data-display/DashboardFilterbar/index.js +6 -6
  143. package/dist/components/data-display/DataTable/FilterBuilder/index.js +4 -4
  144. package/dist/components/data-display/DataTable/index.js +7 -7
  145. package/dist/components/data-display/ImageGallery/index.js +7 -7
  146. package/dist/components/data-display/KPICard/index.js +4 -4
  147. package/dist/components/data-display/Lightbox/index.js +1 -1
  148. package/dist/components/data-display/LineChart/index.js +1 -1
  149. package/dist/components/data-display/List/index.js +3 -3
  150. package/dist/components/data-display/Table/index.js +1 -1
  151. package/dist/components/data-display/VirtualTable/index.js +2 -2
  152. package/dist/components/data-display/index.js +34 -34
  153. package/dist/components/feedback/Alert/index.js +1 -1
  154. package/dist/components/feedback/AlertDialog/index.js +4 -4
  155. package/dist/components/feedback/ConfirmModal/index.js +5 -5
  156. package/dist/components/feedback/Modal/index.js +1 -1
  157. package/dist/components/feedback/Notification/index.js +2 -2
  158. package/dist/components/feedback/index.js +10 -10
  159. package/dist/components/forms/ColorPicker/index.js +1 -1
  160. package/dist/components/forms/DatePicker/index.js +5 -5
  161. package/dist/components/forms/DateRangePicker/index.js +5 -5
  162. package/dist/components/forms/Field/index.js +2 -2
  163. package/dist/components/forms/Form/index.js +2 -2
  164. package/dist/components/forms/IftaLabel/index.js +1 -1
  165. package/dist/components/forms/InputGroup/index.js +4 -4
  166. package/dist/components/forms/InputOTPField/index.js +3 -3
  167. package/dist/components/forms/MultiSelect/index.js +2 -1
  168. package/dist/components/forms/RadioButton/index.js +1 -1
  169. package/dist/components/forms/Rating/index.js +1 -1
  170. package/dist/components/forms/TagsInput/index.js +2 -2
  171. package/dist/components/forms/TextareaField/index.js +3 -3
  172. package/dist/components/forms/ToggleGroup/index.js +1 -1
  173. package/dist/components/forms/index.js +31 -31
  174. package/dist/components/index.js +141 -141
  175. package/dist/components/layout/index.js +2 -2
  176. package/dist/components/navigation/AccountSwitch/index.js +4 -4
  177. package/dist/components/navigation/Drawer/index.js +1 -1
  178. package/dist/components/navigation/DropdownMenu/index.js +1 -1
  179. package/dist/components/navigation/Header/index.js +1 -1
  180. package/dist/components/navigation/MobileSidebar/index.js +4 -4
  181. package/dist/components/navigation/Pagination/index.js +4 -4
  182. package/dist/components/navigation/Sidebar/index.js +5 -5
  183. package/dist/components/navigation/UserProfileDropdown/index.js +1 -1
  184. package/dist/components/navigation/WorkspaceDropdown/index.js +1 -1
  185. package/dist/components/navigation/index.js +16 -16
  186. package/dist/components/primitives/AspectRatio/index.js +1 -1
  187. package/dist/components/primitives/Avatar/index.js +1 -1
  188. package/dist/components/primitives/Badge/index.js +1 -1
  189. package/dist/components/primitives/Button/index.js +3 -3
  190. package/dist/components/primitives/ConfirmButton/index.js +5 -5
  191. package/dist/components/primitives/Label/index.js +1 -1
  192. package/dist/components/primitives/ProgressBar/index.js +1 -1
  193. package/dist/components/primitives/SplitButton/index.js +2 -2
  194. package/dist/components/primitives/StatusIndicator/index.js +1 -1
  195. package/dist/components/primitives/Tag/index.js +1 -1
  196. package/dist/components/primitives/Toggle/index.js +1 -1
  197. package/dist/components/primitives/index.js +21 -21
  198. package/dist/components/workflow/ApprovalFlow/index.js +5 -5
  199. package/dist/components/workflow/CommentSystem/index.js +5 -5
  200. package/dist/components/workflow/Dashboard/index.js +4 -4
  201. package/dist/components/workflow/DashboardBuilder/index.js +5 -5
  202. package/dist/components/workflow/KanbanBoard/index.js +5 -5
  203. package/dist/components/workflow/ReportGenerator/index.js +5 -5
  204. package/dist/components/workflow/TaskStatus/index.js +2 -2
  205. package/dist/components/workflow/Wizard/index.js +4 -4
  206. package/dist/components/workflow/index.js +16 -16
  207. package/dist/index.d.ts +162 -56
  208. package/dist/index.js +143 -143
  209. package/dist/styles.css +121 -25
  210. package/package.json +2 -2
  211. package/dist/chunk-23BHD62H.js.map +0 -1
  212. package/dist/chunk-2UGDLAYC.js.map +0 -1
  213. package/dist/chunk-33JGPMUW.js.map +0 -1
  214. package/dist/chunk-3WOGOTOV.js.map +0 -1
  215. package/dist/chunk-4MQNDQ4O.js.map +0 -1
  216. package/dist/chunk-65YSTUD2.js.map +0 -1
  217. package/dist/chunk-FSMHI7DW.js.map +0 -1
  218. package/dist/chunk-GAP3OZR7.js +0 -223
  219. package/dist/chunk-GAP3OZR7.js.map +0 -1
  220. package/dist/chunk-HKXQLWGR.js.map +0 -1
  221. package/dist/chunk-IBVCSZCH.js.map +0 -1
  222. package/dist/chunk-ICAQYWCX.js +0 -153
  223. package/dist/chunk-ICAQYWCX.js.map +0 -1
  224. package/dist/chunk-IRKDMISK.js.map +0 -1
  225. package/dist/chunk-J62TFQHR.js.map +0 -1
  226. package/dist/chunk-KPNNSUXM.js.map +0 -1
  227. package/dist/chunk-KR3IVNQH.js.map +0 -1
  228. package/dist/chunk-OWIFNJXZ.js.map +0 -1
  229. package/dist/chunk-PLLJNHWU.js.map +0 -1
  230. package/dist/chunk-R4UOT76L.js.map +0 -1
  231. package/dist/chunk-SHS6EGWS.js +0 -226
  232. package/dist/chunk-SHS6EGWS.js.map +0 -1
  233. package/dist/chunk-TNROOKX3.js.map +0 -1
  234. package/dist/chunk-UFRMZ3M6.js.map +0 -1
  235. package/dist/chunk-VFALJSXB.js.map +0 -1
  236. package/dist/chunk-VPNFYQBL.js.map +0 -1
  237. package/dist/chunk-XD5LE64P.js +0 -311
  238. package/dist/chunk-XD5LE64P.js.map +0 -1
  239. package/dist/chunk-XV6NXXXP.js +0 -206
  240. package/dist/chunk-XV6NXXXP.js.map +0 -1
  241. package/dist/chunk-YWA63YN3.js.map +0 -1
  242. package/dist/chunk-Z3FL7LEK.js.map +0 -1
@@ -20,7 +20,7 @@ function Label({
20
20
  LabelPrimitive.Root,
21
21
  {
22
22
  className: cn(
23
- "inline-flex items-center gap-[var(--label-root-gap)] text-[length:var(--label-root-font-size)] leading-[var(--label-root-line-height)] font-[number:var(--label-root-font-weight)] select-none cursor-pointer group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:text-[color:var(--disabled-foreground)] peer-disabled:cursor-not-allowed peer-disabled:text-[color:var(--disabled-foreground)]",
23
+ "inline-flex items-center gap-[var(--label-root-gap)] text-[length:var(--label-root-font-size)] leading-[var(--label-root-line-height)] font-[number:var(--label-root-font-weight)] select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:text-[color:var(--disabled-foreground)] peer-disabled:cursor-not-allowed peer-disabled:text-[color:var(--disabled-foreground)]",
24
24
  size && labelSizeClass[size],
25
25
  className
26
26
  ),
@@ -51,5 +51,5 @@ function Label({
51
51
  }
52
52
 
53
53
  export { Label };
54
- //# sourceMappingURL=chunk-SCGKQ5RE.js.map
55
- //# sourceMappingURL=chunk-SCGKQ5RE.js.map
54
+ //# sourceMappingURL=chunk-2ROFZG3A.js.map
55
+ //# sourceMappingURL=chunk-2ROFZG3A.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/primitives/Label/Label.tsx"],"names":[],"mappings":";;;;AAMA,IAAM,cAAA,GAAkE;AAAA,EACtE,EAAA,EAAI,yFAAA;AAAA,EACJ,EAAA,EAAI,yFAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEA,SAAS,KAAA,CAAM;AAAA,EACb,SAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA,GAAW,KAAA;AAAA,EACX,YAAA,GAAe,YAAA;AAAA,EACf,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAe;AACb,EAAA,uBACE,IAAA;AAAA,IAAgB,cAAA,CAAA,IAAA;AAAA,IAAf;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,wZAAA;AAAA,QACA,IAAA,IAAQ,eAAe,IAAI,CAAA;AAAA,QAC3B;AAAA,OACF;AAAA,MACA,WAAA,EAAU,OAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,QAAA,oBACC,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAY,MAAA;AAAA,YACZ,SAAA,EAAU,0CAAA;AAAA,YACV,WAAA,EAAU,gBAAA;AAAA,YACX,QAAA,EAAA;AAAA;AAAA,SAED;AAAA,QAED,QAAA,IAAY,CAAC,QAAA,oBACZ,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,sDAAA;AAAA,YACV,WAAA,EAAU,gBAAA;AAAA,YAET,QAAA,EAAA;AAAA;AAAA;AACH;AAAA;AAAA,GAEJ;AAEJ","file":"chunk-SCGKQ5RE.js","sourcesContent":["import type { LabelProps } from \"./Label.types\"\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\n\nimport { cn } from \"../../../lib/utils\"\n\nconst labelSizeClass: Record<NonNullable<LabelProps[\"size\"]>, string> = {\n sm: \"text-[length:var(--label-size-sm-font-size)] leading-[var(--label-size-sm-line-height)]\",\n md: \"text-[length:var(--label-size-md-font-size)] leading-[var(--label-size-md-line-height)]\",\n lg: \"text-[length:var(--label-size-lg-font-size)] leading-[var(--label-size-lg-line-height)]\",\n}\n\nfunction Label({\n className,\n size,\n required = false,\n optional = false,\n optionalText = \"(optional)\",\n children,\n ...props\n}: LabelProps) {\n return (\n <LabelPrimitive.Root\n className={cn(\n \"inline-flex items-center gap-[var(--label-root-gap)] text-[length:var(--label-root-font-size)] leading-[var(--label-root-line-height)] font-[number:var(--label-root-font-weight)] select-none cursor-pointer group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:text-[color:var(--disabled-foreground)] peer-disabled:cursor-not-allowed peer-disabled:text-[color:var(--disabled-foreground)]\",\n size && labelSizeClass[size],\n className\n )}\n data-slot=\"label\"\n {...props}\n >\n {children}\n {required && (\n <span\n aria-hidden=\"true\"\n className=\"text-[color:var(--label-required-color)]\"\n data-slot=\"label-required\"\n >\n *\n </span>\n )}\n {optional && !required && (\n <span\n className=\"text-[color:var(--label-optional-color)] font-normal\"\n data-slot=\"label-optional\"\n >\n {optionalText}\n </span>\n )}\n </LabelPrimitive.Root>\n )\n}\n\nexport { Label }\n"]}
1
+ {"version":3,"sources":["../src/components/primitives/Label/Label.tsx"],"names":[],"mappings":";;;;AAMA,IAAM,cAAA,GAAkE;AAAA,EACtE,EAAA,EAAI,yFAAA;AAAA,EACJ,EAAA,EAAI,yFAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEA,SAAS,KAAA,CAAM;AAAA,EACb,SAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA,GAAW,KAAA;AAAA,EACX,YAAA,GAAe,YAAA;AAAA,EACf,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAe;AACb,EAAA,uBACE,IAAA;AAAA,IAAgB,cAAA,CAAA,IAAA;AAAA,IAAf;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,yYAAA;AAAA,QACA,IAAA,IAAQ,eAAe,IAAI,CAAA;AAAA,QAC3B;AAAA,OACF;AAAA,MACA,WAAA,EAAU,OAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,QAAA,oBACC,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAY,MAAA;AAAA,YACZ,SAAA,EAAU,0CAAA;AAAA,YACV,WAAA,EAAU,gBAAA;AAAA,YACX,QAAA,EAAA;AAAA;AAAA,SAED;AAAA,QAED,QAAA,IAAY,CAAC,QAAA,oBACZ,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,sDAAA;AAAA,YACV,WAAA,EAAU,gBAAA;AAAA,YAET,QAAA,EAAA;AAAA;AAAA;AACH;AAAA;AAAA,GAEJ;AAEJ","file":"chunk-2ROFZG3A.js","sourcesContent":["import type { LabelProps } from \"./Label.types\"\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\n\nimport { cn } from \"../../../lib/utils\"\n\nconst labelSizeClass: Record<NonNullable<LabelProps[\"size\"]>, string> = {\n sm: \"text-[length:var(--label-size-sm-font-size)] leading-[var(--label-size-sm-line-height)]\",\n md: \"text-[length:var(--label-size-md-font-size)] leading-[var(--label-size-md-line-height)]\",\n lg: \"text-[length:var(--label-size-lg-font-size)] leading-[var(--label-size-lg-line-height)]\",\n}\n\nfunction Label({\n className,\n size,\n required = false,\n optional = false,\n optionalText = \"(optional)\",\n children,\n ...props\n}: LabelProps) {\n return (\n <LabelPrimitive.Root\n className={cn(\n \"inline-flex items-center gap-[var(--label-root-gap)] text-[length:var(--label-root-font-size)] leading-[var(--label-root-line-height)] font-[number:var(--label-root-font-weight)] select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:text-[color:var(--disabled-foreground)] peer-disabled:cursor-not-allowed peer-disabled:text-[color:var(--disabled-foreground)]\",\n size && labelSizeClass[size],\n className\n )}\n data-slot=\"label\"\n {...props}\n >\n {children}\n {required && (\n <span\n aria-hidden=\"true\"\n className=\"text-[color:var(--label-required-color)]\"\n data-slot=\"label-required\"\n >\n *\n </span>\n )}\n {optional && !required && (\n <span\n className=\"text-[color:var(--label-optional-color)] font-normal\"\n data-slot=\"label-optional\"\n >\n {optionalText}\n </span>\n )}\n </LabelPrimitive.Root>\n )\n}\n\nexport { Label }\n"]}
@@ -0,0 +1,231 @@
1
+ import { ChartTooltipContent, ChartContainer, ChartTooltip, ChartLegend, ChartLegendContent } from './chunk-7I6KK6QE.js';
2
+ import { cn } from './chunk-HRNDJU7D.js';
3
+ import * as React from 'react';
4
+ import { LineChart as LineChart$1, CartesianGrid, XAxis, Label, YAxis, Line } from 'recharts';
5
+ import { cva } from 'class-variance-authority';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
7
+
8
+ cva(
9
+ // Base styles (always applied)
10
+ "",
11
+ {
12
+ variants: {
13
+ variant: {
14
+ default: "",
15
+ dashed: "",
16
+ dotted: ""
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ variant: "default"
21
+ }
22
+ }
23
+ );
24
+ var lineStrokeDashArray = {
25
+ default: void 0,
26
+ dashed: "5 5",
27
+ dotted: "2 2"
28
+ };
29
+ function normalizeSeriesConfig(series) {
30
+ return series.map(
31
+ (s) => typeof s === "string" ? { dataKey: s } : s
32
+ );
33
+ }
34
+ function getVariantStrokeDasharray(variant) {
35
+ return lineStrokeDashArray[variant ?? "default"];
36
+ }
37
+ function LineChart({
38
+ activeDot = { r: 6 },
39
+ allowDecimals = true,
40
+ ariaLabel,
41
+ autoMinValue = false,
42
+ className,
43
+ config,
44
+ connectNulls = false,
45
+ customTooltip,
46
+ curveType = "monotone",
47
+ data,
48
+ dot = false,
49
+ enableLegendSlider = false,
50
+ gridDashArray = "3 3",
51
+ intervalType,
52
+ legendPosition = "bottom",
53
+ maxValue,
54
+ minValue,
55
+ onValueChange,
56
+ series,
57
+ showGrid = true,
58
+ showLegend = false,
59
+ showTooltip = true,
60
+ showXAxis = true,
61
+ showYAxis = true,
62
+ startEndOnly = false,
63
+ strokeWidth = 2,
64
+ tickGap,
65
+ tooltipCallback,
66
+ tooltipIndicator = "dot",
67
+ variant = "default",
68
+ xAxisLabel,
69
+ xAxisKey,
70
+ xAxisTickFormatter,
71
+ yAxisLabel,
72
+ yAxisTickFormatter,
73
+ yAxisWidth,
74
+ ...props
75
+ }) {
76
+ const normalizedSeries = normalizeSeriesConfig(series);
77
+ const variantStrokeDasharray = getVariantStrokeDasharray(variant);
78
+ const prevTooltipStateRef = React.useRef(false);
79
+ const handleDotClick = React.useCallback(
80
+ (dataKey) => (data2) => {
81
+ if (!onValueChange) return;
82
+ const payload = data2.payload;
83
+ const value = payload[dataKey];
84
+ onValueChange({
85
+ category: payload[xAxisKey],
86
+ dataKey,
87
+ payload,
88
+ value: typeof value === "number" ? value : 0
89
+ });
90
+ },
91
+ [onValueChange, xAxisKey]
92
+ );
93
+ const TooltipContentWithCallback = React.useCallback(
94
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
95
+ (props2) => {
96
+ const { active = false, label, payload } = props2;
97
+ if (tooltipCallback && active !== prevTooltipStateRef.current) {
98
+ prevTooltipStateRef.current = active;
99
+ tooltipCallback({
100
+ active,
101
+ label,
102
+ payload: payload?.map((p) => ({
103
+ dataKey: String(p.dataKey),
104
+ value: p.value,
105
+ payload: p.payload
106
+ }))
107
+ });
108
+ }
109
+ return /* @__PURE__ */ jsx(ChartTooltipContent, { indicator: tooltipIndicator, ...props2 });
110
+ },
111
+ [tooltipCallback, tooltipIndicator]
112
+ );
113
+ const yDomain = React.useMemo(() => {
114
+ const min = minValue ?? (autoMinValue ? "auto" : 0);
115
+ const max = maxValue ?? "auto";
116
+ return [min, max];
117
+ }, [autoMinValue, maxValue, minValue]);
118
+ const xAxisTicks = React.useMemo(() => {
119
+ if (!startEndOnly || data.length < 2) return;
120
+ const first = data[0];
121
+ const last = data[data.length - 1];
122
+ if (!first || !last) return;
123
+ return [first[xAxisKey], last[xAxisKey]];
124
+ }, [data, startEndOnly, xAxisKey]);
125
+ return /* @__PURE__ */ jsx(
126
+ "div",
127
+ {
128
+ "aria-label": ariaLabel,
129
+ "data-slot": "line-chart",
130
+ role: ariaLabel ? "img" : void 0,
131
+ ...props,
132
+ children: /* @__PURE__ */ jsx(
133
+ ChartContainer,
134
+ {
135
+ className: cn(className),
136
+ config,
137
+ children: /* @__PURE__ */ jsxs(
138
+ LineChart$1,
139
+ {
140
+ accessibilityLayer: true,
141
+ data,
142
+ margin: { left: xAxisLabel ? 20 : 12, right: 12, bottom: yAxisLabel ? 20 : 0 },
143
+ children: [
144
+ showGrid && /* @__PURE__ */ jsx(CartesianGrid, { strokeDasharray: gridDashArray, vertical: false }),
145
+ showXAxis && /* @__PURE__ */ jsx(
146
+ XAxis,
147
+ {
148
+ axisLine: false,
149
+ dataKey: xAxisKey,
150
+ interval: intervalType,
151
+ minTickGap: tickGap,
152
+ tickFormatter: xAxisTickFormatter,
153
+ tickLine: false,
154
+ tickMargin: 8,
155
+ ticks: xAxisTicks,
156
+ children: xAxisLabel && /* @__PURE__ */ jsx(Label, { offset: -5, position: "insideBottom", value: xAxisLabel })
157
+ }
158
+ ),
159
+ showYAxis && /* @__PURE__ */ jsx(
160
+ YAxis,
161
+ {
162
+ allowDecimals,
163
+ axisLine: false,
164
+ domain: yDomain,
165
+ tickFormatter: yAxisTickFormatter,
166
+ tickLine: false,
167
+ tickMargin: 8,
168
+ width: yAxisWidth,
169
+ children: yAxisLabel && /* @__PURE__ */ jsx(Label, { angle: -90, offset: -5, position: "insideLeft", value: yAxisLabel })
170
+ }
171
+ ),
172
+ showTooltip && /* @__PURE__ */ jsx(
173
+ ChartTooltip,
174
+ {
175
+ content: customTooltip ?? (tooltipCallback ? /* @__PURE__ */ jsx(TooltipContentWithCallback, {}) : /* @__PURE__ */ jsx(ChartTooltipContent, { indicator: tooltipIndicator })),
176
+ cursor: false
177
+ }
178
+ ),
179
+ showLegend && /* @__PURE__ */ jsx(
180
+ ChartLegend,
181
+ {
182
+ align: legendPosition === "left" ? "left" : legendPosition === "right" ? "right" : "center",
183
+ content: /* @__PURE__ */ jsx(ChartLegendContent, { enableSlider: enableLegendSlider }),
184
+ layout: legendPosition === "left" || legendPosition === "right" ? "vertical" : "horizontal",
185
+ verticalAlign: legendPosition === "top" ? "top" : legendPosition === "bottom" ? "bottom" : "middle"
186
+ }
187
+ ),
188
+ normalizedSeries.map((seriesConfig) => {
189
+ const {
190
+ activeDot: seriesActiveDot,
191
+ dataKey,
192
+ dot: seriesDot,
193
+ strokeDasharray: seriesStrokeDasharray,
194
+ strokeOpacity,
195
+ strokeWidth: seriesStrokeWidth
196
+ } = seriesConfig;
197
+ const stroke = `var(--color-${dataKey})`;
198
+ const finalStrokeDasharray = seriesStrokeDasharray ?? variantStrokeDasharray;
199
+ const finalDot = seriesDot ?? dot;
200
+ const finalStrokeWidth = seriesStrokeWidth ?? strokeWidth;
201
+ const baseActiveDot = seriesActiveDot ?? activeDot;
202
+ const finalActiveDot = onValueChange ? typeof baseActiveDot === "object" ? { ...baseActiveDot, onClick: handleDotClick(dataKey), style: { cursor: "pointer" } } : !baseActiveDot ? false : { r: 6, onClick: handleDotClick(dataKey), style: { cursor: "pointer" } } : baseActiveDot;
203
+ return /* @__PURE__ */ jsx(
204
+ Line,
205
+ {
206
+ activeDot: finalActiveDot,
207
+ connectNulls,
208
+ dataKey,
209
+ dot: finalDot,
210
+ stroke,
211
+ strokeDasharray: finalStrokeDasharray,
212
+ strokeOpacity,
213
+ strokeWidth: finalStrokeWidth,
214
+ type: curveType
215
+ },
216
+ dataKey
217
+ );
218
+ })
219
+ ]
220
+ }
221
+ )
222
+ }
223
+ )
224
+ }
225
+ );
226
+ }
227
+ LineChart.displayName = "LineChart";
228
+
229
+ export { LineChart };
230
+ //# sourceMappingURL=chunk-2Z722V5K.js.map
231
+ //# sourceMappingURL=chunk-2Z722V5K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/LineChart/LineChart.variants.ts","../src/components/data-display/LineChart/LineChart.tsx"],"names":["data","props","RechartsLineChart"],"mappings":"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","file":"chunk-2Z722V5K.js","sourcesContent":["// LineChart/LineChart.variants.ts\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * LineChart style variants using CVA\n *\n * Controls the line appearance and chart styling.\n *\n * @see https://cva.style/docs\n */\nexport const lineChartVariants = cva(\n // Base styles (always applied)\n \"\",\n {\n variants: {\n variant: {\n default: \"\",\n dashed: \"\",\n dotted: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\n/**\n * Line stroke dash array configuration by variant\n */\nexport const lineStrokeDashArray: Record<string, string | undefined> = {\n default: undefined,\n dashed: \"5 5\",\n dotted: \"2 2\",\n}\n\n/**\n * Line curve type configuration\n */\nexport const curveTypes = {\n linear: \"linear\",\n monotone: \"monotone\",\n step: \"step\",\n stepAfter: \"stepAfter\",\n stepBefore: \"stepBefore\",\n natural: \"natural\",\n} as const\n\nexport type CurveType = keyof typeof curveTypes\n\n// Export variant prop types\nexport type LineChartVariantProps = VariantProps<typeof lineChartVariants>\n","\"use client\"\n\nimport type {\n LineChartProps,\n LineChartSeriesConfig,\n} from \"./LineChart.types\"\n\nimport * as React from \"react\"\nimport {\n CartesianGrid,\n Label,\n Line,\n LineChart as RechartsLineChart,\n XAxis,\n YAxis,\n} from \"recharts\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n} from \"../Chart\"\nimport { lineStrokeDashArray } from \"./LineChart.variants\"\n\n/**\n * Normalize series to LineChartSeriesConfig format\n */\nfunction normalizeSeriesConfig(\n series: (LineChartSeriesConfig | string)[]\n): LineChartSeriesConfig[] {\n return series.map((s) =>\n typeof s === \"string\" ? { dataKey: s } : s\n )\n}\n\n/**\n * Get stroke dash array based on variant\n */\nfunction getVariantStrokeDasharray(variant: LineChartProps[\"variant\"]): string | undefined {\n return lineStrokeDashArray[variant ?? \"default\"]\n}\n\n/**\n * LineChart - Data visualization component for trends and time series\n *\n * Connects data points with lines, ideal for showing trends and changes\n * over a continuous axis (usually time). Supports multiple series for\n * comparison.\n *\n * @example\n * ```tsx\n * const data = [\n * { month: \"Jan\", desktop: 186, mobile: 80 },\n * { month: \"Feb\", desktop: 305, mobile: 200 },\n * ]\n *\n * const config = {\n * desktop: { label: \"Desktop\", color: \"hsl(var(--chart-1))\" },\n * mobile: { label: \"Mobile\", color: \"hsl(var(--chart-2))\" },\n * }\n *\n * <LineChart\n * data={data}\n * config={config}\n * xAxisKey=\"month\"\n * series={[\"desktop\", \"mobile\"]}\n * />\n * ```\n */\nexport function LineChart({\n activeDot = { r: 6 },\n allowDecimals = true,\n ariaLabel,\n autoMinValue = false,\n className,\n config,\n connectNulls = false,\n customTooltip,\n curveType = \"monotone\",\n data,\n dot = false,\n enableLegendSlider = false,\n gridDashArray = \"3 3\",\n intervalType,\n legendPosition = \"bottom\",\n maxValue,\n minValue,\n onValueChange,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n showXAxis = true,\n showYAxis = true,\n startEndOnly = false,\n strokeWidth = 2,\n tickGap,\n tooltipCallback,\n tooltipIndicator = \"dot\",\n variant = \"default\",\n xAxisLabel,\n xAxisKey,\n xAxisTickFormatter,\n yAxisLabel,\n yAxisTickFormatter,\n yAxisWidth,\n ...props\n}: LineChartProps) {\n const normalizedSeries = normalizeSeriesConfig(series)\n const variantStrokeDasharray = getVariantStrokeDasharray(variant)\n const prevTooltipStateRef = React.useRef<boolean>(false)\n\n // Handle dot click for onValueChange\n const handleDotClick = React.useCallback(\n (dataKey: string) => (data: { payload: Record<string, unknown> }) => {\n if (!onValueChange) return\n const payload = data.payload\n const value = payload[dataKey]\n onValueChange({\n category: payload[xAxisKey],\n dataKey,\n payload,\n value: typeof value === \"number\" ? value : 0,\n })\n },\n [onValueChange, xAxisKey]\n )\n\n /* eslint-disable react-hooks/static-components, @eslint-react/no-nested-component-definitions, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access -- Intentional: memoized render function with Recharts any-typed props */\n // Custom tooltip content wrapper for tooltipCallback\n const TooltipContentWithCallback = React.useCallback(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (props: any) => {\n const { active = false, label, payload } = props\n\n // Call tooltipCallback when state changes\n if (tooltipCallback && active !== prevTooltipStateRef.current) {\n prevTooltipStateRef.current = active\n tooltipCallback({\n active,\n label,\n payload: payload?.map((p: { dataKey: number | string; payload: Record<string, unknown>; value: number; }) => ({\n dataKey: String(p.dataKey),\n value: p.value,\n payload: p.payload,\n })),\n })\n }\n\n return <ChartTooltipContent indicator={tooltipIndicator} {...props} />\n },\n [tooltipCallback, tooltipIndicator]\n )\n\n // Calculate Y-axis domain\n const yDomain = React.useMemo(() => {\n const min = minValue ?? (autoMinValue ? \"auto\" : 0)\n const max = maxValue ?? \"auto\"\n return [min, max] as const\n }, [autoMinValue, maxValue, minValue])\n\n // Calculate X-axis ticks for startEndOnly\n const xAxisTicks = React.useMemo(() => {\n if (!startEndOnly || data.length < 2) return\n const first = data[0]\n const last = data[data.length - 1]\n if (!first || !last) return\n return [first[xAxisKey], last[xAxisKey]] as string[]\n }, [data, startEndOnly, xAxisKey])\n\n return (\n <div\n aria-label={ariaLabel}\n data-slot=\"line-chart\"\n role={ariaLabel ? \"img\" : undefined}\n {...props}\n >\n <ChartContainer\n className={cn(className)}\n config={config}\n >\n <RechartsLineChart\n accessibilityLayer\n data={data}\n margin={{ left: xAxisLabel ? 20 : 12, right: 12, bottom: yAxisLabel ? 20 : 0 }}\n >\n {showGrid && (\n <CartesianGrid strokeDasharray={gridDashArray} vertical={false} />\n )}\n\n {showXAxis && (\n <XAxis\n axisLine={false}\n dataKey={xAxisKey}\n interval={intervalType}\n minTickGap={tickGap}\n tickFormatter={xAxisTickFormatter}\n tickLine={false}\n tickMargin={8}\n ticks={xAxisTicks}\n >\n {xAxisLabel && (\n <Label offset={-5} position=\"insideBottom\" value={xAxisLabel} />\n )}\n </XAxis>\n )}\n\n {showYAxis && (\n <YAxis\n allowDecimals={allowDecimals}\n axisLine={false}\n domain={yDomain}\n tickFormatter={yAxisTickFormatter}\n tickLine={false}\n tickMargin={8}\n width={yAxisWidth}\n >\n {yAxisLabel && (\n <Label angle={-90} offset={-5} position=\"insideLeft\" value={yAxisLabel} />\n )}\n </YAxis>\n )}\n\n {showTooltip && (\n <ChartTooltip\n content={\n customTooltip\n ?? (tooltipCallback\n ? <TooltipContentWithCallback />\n : <ChartTooltipContent indicator={tooltipIndicator} />)\n }\n cursor={false}\n />\n )}\n\n {showLegend && (\n <ChartLegend\n align={legendPosition === \"left\" ? \"left\" : legendPosition === \"right\" ? \"right\" : \"center\"}\n content={<ChartLegendContent enableSlider={enableLegendSlider} />}\n layout={legendPosition === \"left\" || legendPosition === \"right\" ? \"vertical\" : \"horizontal\"}\n verticalAlign={legendPosition === \"top\" ? \"top\" : legendPosition === \"bottom\" ? \"bottom\" : \"middle\"}\n />\n )}\n\n {normalizedSeries.map((seriesConfig) => {\n const {\n activeDot: seriesActiveDot,\n dataKey,\n dot: seriesDot,\n strokeDasharray: seriesStrokeDasharray,\n strokeOpacity,\n strokeWidth: seriesStrokeWidth,\n } = seriesConfig\n\n const stroke = `var(--color-${dataKey})`\n const finalStrokeDasharray = seriesStrokeDasharray ?? variantStrokeDasharray\n const finalDot = seriesDot ?? dot\n const finalStrokeWidth = seriesStrokeWidth ?? strokeWidth\n\n // Merge activeDot config with click handler\n const baseActiveDot = seriesActiveDot ?? activeDot\n const finalActiveDot = onValueChange\n ? typeof baseActiveDot === \"object\"\n ? { ...baseActiveDot, onClick: handleDotClick(dataKey), style: { cursor: \"pointer\" } }\n : !baseActiveDot\n ? false\n : { r: 6, onClick: handleDotClick(dataKey), style: { cursor: \"pointer\" } }\n : baseActiveDot\n\n return (\n <Line\n key={dataKey}\n activeDot={finalActiveDot}\n connectNulls={connectNulls}\n dataKey={dataKey}\n dot={finalDot}\n stroke={stroke}\n strokeDasharray={finalStrokeDasharray}\n strokeOpacity={strokeOpacity}\n strokeWidth={finalStrokeWidth}\n type={curveType}\n />\n )\n })}\n </RechartsLineChart>\n </ChartContainer>\n </div>\n )\n}\n\nLineChart.displayName = \"LineChart\"\n"]}
@@ -0,0 +1,233 @@
1
+ import { ChartTooltipContent, ChartContainer, ChartTooltip, ChartLegend, ChartLegendContent } from './chunk-7I6KK6QE.js';
2
+ import { cn } from './chunk-HRNDJU7D.js';
3
+ import * as React from 'react';
4
+ import { BarChart as BarChart$1, CartesianGrid, XAxis, Label, YAxis, Bar } from 'recharts';
5
+ import { jsx, jsxs } from 'react/jsx-runtime';
6
+
7
+ function normalizeSeriesConfig(series) {
8
+ return series.map(
9
+ (s) => typeof s === "string" ? { dataKey: s } : s
10
+ );
11
+ }
12
+ function BarChart({
13
+ allowDecimals = true,
14
+ ariaLabel,
15
+ autoMinValue = false,
16
+ barCategoryGap,
17
+ barGap = 4,
18
+ className,
19
+ config,
20
+ customTooltip,
21
+ data,
22
+ enableLegendSlider = false,
23
+ gridDashArray = "3 3",
24
+ intervalType,
25
+ layout = "vertical",
26
+ legendPosition = "bottom",
27
+ maxValue,
28
+ minValue,
29
+ onValueChange,
30
+ radius = 4,
31
+ series,
32
+ showGrid = true,
33
+ showLegend = false,
34
+ showTooltip = true,
35
+ showXAxis = true,
36
+ showYAxis = true,
37
+ startEndOnly = false,
38
+ tickGap,
39
+ tooltipCallback,
40
+ tooltipIndicator = "dot",
41
+ variant = "default",
42
+ xAxisKey,
43
+ xAxisLabel,
44
+ xAxisTickFormatter,
45
+ yAxisLabel,
46
+ yAxisTickFormatter,
47
+ yAxisWidth,
48
+ ...props
49
+ }) {
50
+ const normalizedSeries = normalizeSeriesConfig(series);
51
+ const isStacked = variant === "stacked" || variant === "stacked100";
52
+ const isHorizontal = layout === "horizontal";
53
+ const prevTooltipStateRef = React.useRef(false);
54
+ const handleBarClick = React.useCallback(
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ (dataKey) => (data2) => {
57
+ if (!onValueChange || !data2?.payload) return;
58
+ const payload = data2.payload;
59
+ const value = payload[dataKey];
60
+ onValueChange({
61
+ category: payload[xAxisKey],
62
+ dataKey,
63
+ payload,
64
+ value: typeof value === "number" ? value : 0
65
+ });
66
+ },
67
+ [onValueChange, xAxisKey]
68
+ );
69
+ const TooltipContentWithCallback = React.useCallback(
70
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
+ (props2) => {
72
+ const { active = false, label, payload } = props2;
73
+ if (tooltipCallback && active !== prevTooltipStateRef.current) {
74
+ prevTooltipStateRef.current = active;
75
+ tooltipCallback({
76
+ active,
77
+ label,
78
+ payload: payload?.map((p) => ({
79
+ dataKey: String(p.dataKey),
80
+ value: p.value,
81
+ payload: p.payload
82
+ }))
83
+ });
84
+ }
85
+ return /* @__PURE__ */ jsx(ChartTooltipContent, { indicator: tooltipIndicator, ...props2 });
86
+ },
87
+ [tooltipCallback, tooltipIndicator]
88
+ );
89
+ const valueDomain = React.useMemo(() => {
90
+ const min = minValue ?? (autoMinValue ? "auto" : 0);
91
+ const max = maxValue ?? "auto";
92
+ return [min, max];
93
+ }, [autoMinValue, maxValue, minValue]);
94
+ const categoryTicks = React.useMemo(() => {
95
+ if (!startEndOnly || data.length < 2) return;
96
+ const first = data[0];
97
+ const last = data[data.length - 1];
98
+ if (!first || !last) return;
99
+ return [first[xAxisKey], last[xAxisKey]];
100
+ }, [data, startEndOnly, xAxisKey]);
101
+ return /* @__PURE__ */ jsx(
102
+ "div",
103
+ {
104
+ "aria-label": ariaLabel,
105
+ "data-slot": "bar-chart",
106
+ role: ariaLabel ? "img" : void 0,
107
+ ...props,
108
+ children: /* @__PURE__ */ jsx(
109
+ ChartContainer,
110
+ {
111
+ className: cn(className),
112
+ config,
113
+ children: /* @__PURE__ */ jsxs(
114
+ BarChart$1,
115
+ {
116
+ accessibilityLayer: true,
117
+ margin: {
118
+ left: yAxisLabel ? 20 : 12,
119
+ right: 12,
120
+ bottom: xAxisLabel ? 20 : 0
121
+ },
122
+ barCategoryGap,
123
+ barGap,
124
+ data,
125
+ layout: isHorizontal ? "vertical" : "horizontal",
126
+ children: [
127
+ showGrid && /* @__PURE__ */ jsx(
128
+ CartesianGrid,
129
+ {
130
+ horizontal: !isHorizontal,
131
+ strokeDasharray: gridDashArray,
132
+ vertical: isHorizontal
133
+ }
134
+ ),
135
+ showXAxis && (isHorizontal ? /* @__PURE__ */ jsx(
136
+ XAxis,
137
+ {
138
+ axisLine: false,
139
+ domain: valueDomain,
140
+ interval: intervalType,
141
+ minTickGap: tickGap,
142
+ tickFormatter: xAxisTickFormatter,
143
+ tickLine: false,
144
+ tickMargin: 8,
145
+ type: "number",
146
+ children: xAxisLabel && /* @__PURE__ */ jsx(Label, { offset: -5, position: "insideBottom", value: xAxisLabel })
147
+ }
148
+ ) : /* @__PURE__ */ jsx(
149
+ XAxis,
150
+ {
151
+ axisLine: false,
152
+ dataKey: xAxisKey,
153
+ interval: intervalType,
154
+ minTickGap: tickGap,
155
+ tickFormatter: xAxisTickFormatter,
156
+ tickLine: false,
157
+ tickMargin: 8,
158
+ ticks: categoryTicks,
159
+ children: xAxisLabel && /* @__PURE__ */ jsx(Label, { offset: -5, position: "insideBottom", value: xAxisLabel })
160
+ }
161
+ )),
162
+ showYAxis && (isHorizontal ? /* @__PURE__ */ jsx(
163
+ YAxis,
164
+ {
165
+ axisLine: false,
166
+ dataKey: xAxisKey,
167
+ tickFormatter: yAxisTickFormatter,
168
+ tickLine: false,
169
+ tickMargin: 8,
170
+ ticks: categoryTicks,
171
+ type: "category",
172
+ width: yAxisWidth,
173
+ children: yAxisLabel && /* @__PURE__ */ jsx(Label, { angle: -90, offset: -5, position: "insideLeft", value: yAxisLabel })
174
+ }
175
+ ) : /* @__PURE__ */ jsx(
176
+ YAxis,
177
+ {
178
+ allowDecimals,
179
+ axisLine: false,
180
+ domain: valueDomain,
181
+ tickFormatter: yAxisTickFormatter,
182
+ tickLine: false,
183
+ tickMargin: 8,
184
+ width: yAxisWidth,
185
+ children: yAxisLabel && /* @__PURE__ */ jsx(Label, { angle: -90, offset: -5, position: "insideLeft", value: yAxisLabel })
186
+ }
187
+ )),
188
+ showTooltip && /* @__PURE__ */ jsx(
189
+ ChartTooltip,
190
+ {
191
+ content: customTooltip ?? (tooltipCallback ? /* @__PURE__ */ jsx(TooltipContentWithCallback, {}) : /* @__PURE__ */ jsx(ChartTooltipContent, { indicator: tooltipIndicator })),
192
+ cursor: false
193
+ }
194
+ ),
195
+ showLegend && /* @__PURE__ */ jsx(
196
+ ChartLegend,
197
+ {
198
+ align: legendPosition === "left" ? "left" : legendPosition === "right" ? "right" : "center",
199
+ content: /* @__PURE__ */ jsx(ChartLegendContent, { enableSlider: enableLegendSlider }),
200
+ layout: legendPosition === "left" || legendPosition === "right" ? "vertical" : "horizontal",
201
+ verticalAlign: legendPosition === "top" ? "top" : legendPosition === "bottom" ? "bottom" : "middle"
202
+ }
203
+ ),
204
+ normalizedSeries.map((seriesConfig) => {
205
+ const { dataKey, radius: seriesRadius, stackId } = seriesConfig;
206
+ const fill = `var(--color-${dataKey})`;
207
+ const barRadius = seriesRadius ?? radius;
208
+ return /* @__PURE__ */ jsx(
209
+ Bar,
210
+ {
211
+ dataKey,
212
+ fill,
213
+ radius: barRadius,
214
+ stackId: isStacked ? "bar-stack" : stackId,
215
+ style: onValueChange ? { cursor: "pointer" } : void 0,
216
+ onClick: onValueChange ? handleBarClick(dataKey) : void 0
217
+ },
218
+ dataKey
219
+ );
220
+ })
221
+ ]
222
+ }
223
+ )
224
+ }
225
+ )
226
+ }
227
+ );
228
+ }
229
+ BarChart.displayName = "BarChart";
230
+
231
+ export { BarChart };
232
+ //# sourceMappingURL=chunk-37IIHQP4.js.map
233
+ //# sourceMappingURL=chunk-37IIHQP4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/BarChart/BarChart.tsx"],"names":["data","props","RechartsBarChart"],"mappings":"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","file":"chunk-37IIHQP4.js","sourcesContent":["\"use client\"\n\nimport type {\n BarChartProps,\n BarChartSeriesConfig,\n} from \"./BarChart.types\"\n\nimport * as React from \"react\"\nimport {\n Bar,\n CartesianGrid,\n Label,\n BarChart as RechartsBarChart,\n XAxis,\n YAxis,\n} from \"recharts\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n} from \"../Chart\"\n\n/**\n * Normalize series to BarChartSeriesConfig format\n */\nfunction normalizeSeriesConfig(\n series: (BarChartSeriesConfig | string)[]\n): BarChartSeriesConfig[] {\n return series.map((s) =>\n typeof s === \"string\" ? { dataKey: s } : s\n )\n}\n\n/**\n * BarChart - Data visualization component for categorical comparisons\n *\n * Displays quantitative values as rectangular bars. The height or width\n * of bars is proportional to the values they represent. Ideal for\n * comparing values between categories.\n *\n * @example\n * ```tsx\n * const data = [\n * { month: \"Jan\", desktop: 186, mobile: 80 },\n * { month: \"Feb\", desktop: 305, mobile: 200 },\n * ]\n *\n * const config = {\n * desktop: { label: \"Desktop\", color: \"hsl(var(--chart-1))\" },\n * mobile: { label: \"Mobile\", color: \"hsl(var(--chart-2))\" },\n * }\n *\n * <BarChart\n * data={data}\n * config={config}\n * xAxisKey=\"month\"\n * series={[\"desktop\", \"mobile\"]}\n * />\n * ```\n */\nexport function BarChart({\n allowDecimals = true,\n ariaLabel,\n autoMinValue = false,\n barCategoryGap,\n barGap = 4,\n className,\n config,\n customTooltip,\n data,\n enableLegendSlider = false,\n gridDashArray = \"3 3\",\n intervalType,\n layout = \"vertical\",\n legendPosition = \"bottom\",\n maxValue,\n minValue,\n onValueChange,\n radius = 4,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n showXAxis = true,\n showYAxis = true,\n startEndOnly = false,\n tickGap,\n tooltipCallback,\n tooltipIndicator = \"dot\",\n variant = \"default\",\n xAxisKey,\n xAxisLabel,\n xAxisTickFormatter,\n yAxisLabel,\n yAxisTickFormatter,\n yAxisWidth,\n ...props\n}: BarChartProps) {\n const normalizedSeries = normalizeSeriesConfig(series)\n const isStacked = variant === \"stacked\" || variant === \"stacked100\"\n const isHorizontal = layout === \"horizontal\"\n const prevTooltipStateRef = React.useRef<boolean>(false)\n\n // Handle bar click for onValueChange\n const handleBarClick = React.useCallback(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (dataKey: string) => (data: any) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (!onValueChange || !data?.payload) return\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const payload = data.payload as Record<string, unknown>\n const value = payload[dataKey]\n onValueChange({\n category: payload[xAxisKey],\n dataKey,\n payload,\n value: typeof value === \"number\" ? value : 0,\n })\n },\n [onValueChange, xAxisKey]\n )\n\n /* eslint-disable react-hooks/static-components, @eslint-react/no-nested-component-definitions, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access -- Intentional: memoized render function with Recharts any-typed props */\n // Custom tooltip content wrapper for tooltipCallback\n const TooltipContentWithCallback = React.useCallback(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (props: any) => {\n const { active = false, label, payload } = props\n\n // Call tooltipCallback when state changes\n if (tooltipCallback && active !== prevTooltipStateRef.current) {\n prevTooltipStateRef.current = active\n tooltipCallback({\n active,\n label,\n payload: payload?.map((p: { dataKey: number | string; payload: Record<string, unknown>; value: number; }) => ({\n dataKey: String(p.dataKey),\n value: p.value,\n payload: p.payload,\n })),\n })\n }\n\n return <ChartTooltipContent indicator={tooltipIndicator} {...props} />\n },\n [tooltipCallback, tooltipIndicator]\n )\n\n // Calculate value axis domain\n const valueDomain = React.useMemo(() => {\n const min = minValue ?? (autoMinValue ? \"auto\" : 0)\n const max = maxValue ?? \"auto\"\n return [min, max] as const\n }, [autoMinValue, maxValue, minValue])\n\n // Calculate category axis ticks for startEndOnly\n const categoryTicks = React.useMemo(() => {\n if (!startEndOnly || data.length < 2) return\n const first = data[0]\n const last = data[data.length - 1]\n if (!first || !last) return\n return [first[xAxisKey], last[xAxisKey]] as string[]\n }, [data, startEndOnly, xAxisKey])\n\n return (\n <div\n aria-label={ariaLabel}\n data-slot=\"bar-chart\"\n role={ariaLabel ? \"img\" : undefined}\n {...props}\n >\n <ChartContainer\n className={cn(className)}\n config={config}\n >\n <RechartsBarChart\n accessibilityLayer\n margin={{\n left: yAxisLabel ? 20 : 12,\n right: 12,\n bottom: xAxisLabel ? 20 : 0,\n }}\n barCategoryGap={barCategoryGap}\n barGap={barGap}\n data={data}\n layout={isHorizontal ? \"vertical\" : \"horizontal\"}\n >\n {showGrid && (\n <CartesianGrid\n horizontal={!isHorizontal}\n strokeDasharray={gridDashArray}\n vertical={isHorizontal}\n />\n )}\n\n {showXAxis && (\n isHorizontal ? (\n <XAxis\n axisLine={false}\n domain={valueDomain}\n interval={intervalType}\n minTickGap={tickGap}\n tickFormatter={xAxisTickFormatter}\n tickLine={false}\n tickMargin={8}\n type=\"number\"\n >\n {xAxisLabel && (\n <Label offset={-5} position=\"insideBottom\" value={xAxisLabel} />\n )}\n </XAxis>\n ) : (\n <XAxis\n axisLine={false}\n dataKey={xAxisKey}\n interval={intervalType}\n minTickGap={tickGap}\n tickFormatter={xAxisTickFormatter}\n tickLine={false}\n tickMargin={8}\n ticks={categoryTicks}\n >\n {xAxisLabel && (\n <Label offset={-5} position=\"insideBottom\" value={xAxisLabel} />\n )}\n </XAxis>\n )\n )}\n\n {showYAxis && (\n isHorizontal ? (\n <YAxis\n axisLine={false}\n dataKey={xAxisKey}\n tickFormatter={yAxisTickFormatter}\n tickLine={false}\n tickMargin={8}\n ticks={categoryTicks}\n type=\"category\"\n width={yAxisWidth}\n >\n {yAxisLabel && (\n <Label angle={-90} offset={-5} position=\"insideLeft\" value={yAxisLabel} />\n )}\n </YAxis>\n ) : (\n <YAxis\n allowDecimals={allowDecimals}\n axisLine={false}\n domain={valueDomain}\n tickFormatter={yAxisTickFormatter}\n tickLine={false}\n tickMargin={8}\n width={yAxisWidth}\n >\n {yAxisLabel && (\n <Label angle={-90} offset={-5} position=\"insideLeft\" value={yAxisLabel} />\n )}\n </YAxis>\n )\n )}\n\n {showTooltip && (\n <ChartTooltip\n content={\n customTooltip\n ?? (tooltipCallback\n ? <TooltipContentWithCallback />\n : <ChartTooltipContent indicator={tooltipIndicator} />)\n }\n cursor={false}\n />\n )}\n\n {showLegend && (\n <ChartLegend\n align={legendPosition === \"left\" ? \"left\" : legendPosition === \"right\" ? \"right\" : \"center\"}\n content={<ChartLegendContent enableSlider={enableLegendSlider} />}\n layout={legendPosition === \"left\" || legendPosition === \"right\" ? \"vertical\" : \"horizontal\"}\n verticalAlign={legendPosition === \"top\" ? \"top\" : legendPosition === \"bottom\" ? \"bottom\" : \"middle\"}\n />\n )}\n\n {normalizedSeries.map((seriesConfig) => {\n const { dataKey, radius: seriesRadius, stackId } = seriesConfig\n\n const fill = `var(--color-${dataKey})`\n const barRadius = seriesRadius ?? radius\n\n return (\n <Bar\n key={dataKey}\n dataKey={dataKey}\n fill={fill}\n radius={barRadius}\n stackId={isStacked ? \"bar-stack\" : stackId}\n style={onValueChange ? { cursor: \"pointer\" } : undefined}\n onClick={onValueChange ? handleBarClick(dataKey) : undefined}\n />\n )\n })}\n </RechartsBarChart>\n </ChartContainer>\n </div>\n )\n}\n\nBarChart.displayName = \"BarChart\"\n"]}
@@ -15,7 +15,9 @@ var avatarVariants = cva(
15
15
  sm: "size-[var(--avatar-size-sm)] text-[length:var(--avatar-text-sm)]",
16
16
  default: "size-[var(--avatar-size-default)] text-[length:var(--avatar-text-default)]",
17
17
  lg: "size-[var(--avatar-size-lg)] text-[length:var(--avatar-text-lg)]",
18
- xl: "size-[var(--avatar-size-xl)] text-[length:var(--avatar-text-xl)]"
18
+ xl: "size-[var(--avatar-size-xl)] text-[length:var(--avatar-text-xl)]",
19
+ "3xl": "size-[var(--avatar-size-3xl)] text-[length:var(--avatar-text-3xl)]",
20
+ "4xl": "size-[var(--avatar-size-4xl)] text-[length:var(--avatar-text-4xl)]"
19
21
  },
20
22
  shape: {
21
23
  circle: "rounded-[var(--avatar-radius-circle)]"
@@ -243,7 +245,9 @@ var avatarGroupVariants = cva("flex", {
243
245
  sm: "-space-x-2",
244
246
  default: "-space-x-3",
245
247
  lg: "-space-x-3",
246
- xl: "-space-x-4"
248
+ xl: "-space-x-4",
249
+ "3xl": "-space-x-5",
250
+ "4xl": "-space-x-6"
247
251
  }
248
252
  },
249
253
  defaultVariants: {
@@ -374,7 +378,9 @@ var avatarAddButtonVariants = cva(
374
378
  sm: "size-[var(--avatar-size-sm)]",
375
379
  default: "size-[var(--avatar-size-default)]",
376
380
  lg: "size-[var(--avatar-size-lg)]",
377
- xl: "size-[var(--avatar-size-xl)]"
381
+ xl: "size-[var(--avatar-size-xl)]",
382
+ "3xl": "size-[var(--avatar-size-3xl)]",
383
+ "4xl": "size-[var(--avatar-size-4xl)]"
378
384
  }
379
385
  },
380
386
  defaultVariants: {
@@ -392,7 +398,9 @@ function AvatarAddButton({
392
398
  sm: "size-3.5",
393
399
  default: "size-4",
394
400
  lg: "size-5",
395
- xl: "size-6"
401
+ xl: "size-6",
402
+ "3xl": "size-7",
403
+ "4xl": "size-8"
396
404
  };
397
405
  return /* @__PURE__ */ jsx(
398
406
  "button",
@@ -448,5 +456,5 @@ function AvatarLabelGroupSkeleton({
448
456
  }
449
457
 
450
458
  export { Avatar, AvatarAddButton, AvatarBadge, AvatarFallback, AvatarGroup, AvatarImage, AvatarLabelGroup, AvatarLabelGroupSkeleton, AvatarSkeleton, AvatarStatus, avatarAddButtonVariants, avatarBadgeVariants, avatarFallbackVariants, avatarGroupVariants, avatarLabelGroupVariants, avatarStatusVariants, avatarVariants, getInitials };
451
- //# sourceMappingURL=chunk-YP2ATSXP.js.map
452
- //# sourceMappingURL=chunk-YP2ATSXP.js.map
459
+ //# sourceMappingURL=chunk-3BBOSSDG.js.map
460
+ //# sourceMappingURL=chunk-3BBOSSDG.js.map