@etus/ui 0.4.0-beta.18 → 0.4.0-beta.19

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 (563) hide show
  1. package/dist/{chunk-U2CXFKRK.js → chunk-2SUZS6GZ.js} +4 -4
  2. package/dist/{chunk-U2CXFKRK.js.map → chunk-2SUZS6GZ.js.map} +1 -1
  3. package/dist/{chunk-UPYT2XM5.js → chunk-2XNMKALT.js} +3 -3
  4. package/dist/{chunk-UPYT2XM5.js.map → chunk-2XNMKALT.js.map} +1 -1
  5. package/dist/{chunk-SM4AZOEP.js → chunk-3MOBFZJM.js} +4 -4
  6. package/dist/{chunk-SM4AZOEP.js.map → chunk-3MOBFZJM.js.map} +1 -1
  7. package/dist/{chunk-TA4HCLP3.js → chunk-3R6MY3YJ.js} +4 -4
  8. package/dist/{chunk-TA4HCLP3.js.map → chunk-3R6MY3YJ.js.map} +1 -1
  9. package/dist/{chunk-EVUHEBWX.js → chunk-447INBQP.js} +3 -3
  10. package/dist/{chunk-EVUHEBWX.js.map → chunk-447INBQP.js.map} +1 -1
  11. package/dist/{chunk-F7XARQUW.js → chunk-4LZ53BAG.js} +3 -3
  12. package/dist/{chunk-F7XARQUW.js.map → chunk-4LZ53BAG.js.map} +1 -1
  13. package/dist/{chunk-CYIFWQ5Y.js → chunk-4OWRNWHW.js} +3 -3
  14. package/dist/{chunk-CYIFWQ5Y.js.map → chunk-4OWRNWHW.js.map} +1 -1
  15. package/dist/{chunk-OQCGQG47.js → chunk-4RNPI3LU.js} +3 -3
  16. package/dist/{chunk-OQCGQG47.js.map → chunk-4RNPI3LU.js.map} +1 -1
  17. package/dist/{chunk-3NHH7VPI.js → chunk-4SFBDK4E.js} +4 -4
  18. package/dist/{chunk-3NHH7VPI.js.map → chunk-4SFBDK4E.js.map} +1 -1
  19. package/dist/{chunk-B7ZLPQSO.js → chunk-4XXAIWQ4.js} +3 -3
  20. package/dist/{chunk-B7ZLPQSO.js.map → chunk-4XXAIWQ4.js.map} +1 -1
  21. package/dist/{chunk-D2V2HKLX.js → chunk-5ETVWWA5.js} +3 -3
  22. package/dist/{chunk-D2V2HKLX.js.map → chunk-5ETVWWA5.js.map} +1 -1
  23. package/dist/{chunk-U4H3XHSI.js → chunk-5GV4LDX7.js} +4 -4
  24. package/dist/{chunk-U4H3XHSI.js.map → chunk-5GV4LDX7.js.map} +1 -1
  25. package/dist/{chunk-BFBGESUI.js → chunk-5MJQ5XSR.js} +4 -4
  26. package/dist/{chunk-BFBGESUI.js.map → chunk-5MJQ5XSR.js.map} +1 -1
  27. package/dist/{chunk-GKMR5SVC.js → chunk-5QDKJMUA.js} +3 -3
  28. package/dist/{chunk-GKMR5SVC.js.map → chunk-5QDKJMUA.js.map} +1 -1
  29. package/dist/{chunk-3NFQXZHO.js → chunk-5T7EKOJ5.js} +3 -3
  30. package/dist/{chunk-3NFQXZHO.js.map → chunk-5T7EKOJ5.js.map} +1 -1
  31. package/dist/{chunk-WBE6VQOO.js → chunk-5W3T767A.js} +3 -3
  32. package/dist/{chunk-WBE6VQOO.js.map → chunk-5W3T767A.js.map} +1 -1
  33. package/dist/{chunk-F5X2BBGU.js → chunk-5YUUE5JJ.js} +3 -3
  34. package/dist/{chunk-F5X2BBGU.js.map → chunk-5YUUE5JJ.js.map} +1 -1
  35. package/dist/{chunk-IQKKPOI7.js → chunk-627ZZ6HO.js} +4 -4
  36. package/dist/{chunk-IQKKPOI7.js.map → chunk-627ZZ6HO.js.map} +1 -1
  37. package/dist/{chunk-WCMRVCIM.js → chunk-6G5QK3SU.js} +3 -3
  38. package/dist/{chunk-WCMRVCIM.js.map → chunk-6G5QK3SU.js.map} +1 -1
  39. package/dist/{chunk-SMVH56FQ.js → chunk-6QVXMYKH.js} +3 -3
  40. package/dist/{chunk-SMVH56FQ.js.map → chunk-6QVXMYKH.js.map} +1 -1
  41. package/dist/{chunk-NWVYQYKK.js → chunk-6VEQLD2P.js} +3 -3
  42. package/dist/{chunk-NWVYQYKK.js.map → chunk-6VEQLD2P.js.map} +1 -1
  43. package/dist/{chunk-S6ORCWM2.js → chunk-73DDLKBG.js} +3 -3
  44. package/dist/{chunk-S6ORCWM2.js.map → chunk-73DDLKBG.js.map} +1 -1
  45. package/dist/{chunk-E27SQ54A.js → chunk-7AR5QRRX.js} +3 -3
  46. package/dist/{chunk-E27SQ54A.js.map → chunk-7AR5QRRX.js.map} +1 -1
  47. package/dist/{chunk-3MJNJKAF.js → chunk-7IKX4AFY.js} +4 -4
  48. package/dist/{chunk-3MJNJKAF.js.map → chunk-7IKX4AFY.js.map} +1 -1
  49. package/dist/{chunk-A7YNTSVU.js → chunk-7PX3WBR3.js} +3 -3
  50. package/dist/{chunk-A7YNTSVU.js.map → chunk-7PX3WBR3.js.map} +1 -1
  51. package/dist/{chunk-LR56MGWT.js → chunk-7QEFKWUR.js} +7 -7
  52. package/dist/{chunk-LR56MGWT.js.map → chunk-7QEFKWUR.js.map} +1 -1
  53. package/dist/{chunk-JRVUEOKT.js → chunk-7TX5X4EP.js} +3 -3
  54. package/dist/{chunk-JRVUEOKT.js.map → chunk-7TX5X4EP.js.map} +1 -1
  55. package/dist/{chunk-BQMQULAC.js → chunk-7XJQYAGY.js} +4 -4
  56. package/dist/{chunk-BQMQULAC.js.map → chunk-7XJQYAGY.js.map} +1 -1
  57. package/dist/{chunk-KA7747GR.js → chunk-7Y325TBV.js} +3 -3
  58. package/dist/{chunk-KA7747GR.js.map → chunk-7Y325TBV.js.map} +1 -1
  59. package/dist/{chunk-6KMRMXR6.js → chunk-7YZ7HNXX.js} +3 -3
  60. package/dist/{chunk-6KMRMXR6.js.map → chunk-7YZ7HNXX.js.map} +1 -1
  61. package/dist/{chunk-YACIRNVP.js → chunk-AD4RW2JV.js} +3 -3
  62. package/dist/{chunk-YACIRNVP.js.map → chunk-AD4RW2JV.js.map} +1 -1
  63. package/dist/{chunk-YMYXWHDU.js → chunk-ADX6C3V7.js} +3 -3
  64. package/dist/{chunk-YMYXWHDU.js.map → chunk-ADX6C3V7.js.map} +1 -1
  65. package/dist/{chunk-WVFQKBDB.js → chunk-AJUOTABG.js} +3 -3
  66. package/dist/{chunk-WVFQKBDB.js.map → chunk-AJUOTABG.js.map} +1 -1
  67. package/dist/{chunk-G5TWK7L3.js → chunk-AP4ZM3DV.js} +3 -3
  68. package/dist/{chunk-G5TWK7L3.js.map → chunk-AP4ZM3DV.js.map} +1 -1
  69. package/dist/{chunk-2X35C55E.js → chunk-ARJAIH7Q.js} +3 -3
  70. package/dist/{chunk-2X35C55E.js.map → chunk-ARJAIH7Q.js.map} +1 -1
  71. package/dist/{chunk-YCZ6M6EF.js → chunk-BBKDABQK.js} +3 -3
  72. package/dist/{chunk-YCZ6M6EF.js.map → chunk-BBKDABQK.js.map} +1 -1
  73. package/dist/{chunk-GPW57XOW.js → chunk-BSTUCHL4.js} +4 -4
  74. package/dist/{chunk-GPW57XOW.js.map → chunk-BSTUCHL4.js.map} +1 -1
  75. package/dist/{chunk-ARYBNQNS.js → chunk-BUCXPZYE.js} +4 -4
  76. package/dist/{chunk-ARYBNQNS.js.map → chunk-BUCXPZYE.js.map} +1 -1
  77. package/dist/{chunk-ESLSPRYA.js → chunk-C2MAX4YK.js} +3 -3
  78. package/dist/{chunk-ESLSPRYA.js.map → chunk-C2MAX4YK.js.map} +1 -1
  79. package/dist/{chunk-2FJJOHHH.js → chunk-C34UNXMN.js} +3 -3
  80. package/dist/{chunk-2FJJOHHH.js.map → chunk-C34UNXMN.js.map} +1 -1
  81. package/dist/{chunk-AEHYYTFW.js → chunk-CV77MF4G.js} +3 -3
  82. package/dist/{chunk-AEHYYTFW.js.map → chunk-CV77MF4G.js.map} +1 -1
  83. package/dist/{chunk-MQ2446N7.js → chunk-DGOW65KM.js} +3 -3
  84. package/dist/{chunk-MQ2446N7.js.map → chunk-DGOW65KM.js.map} +1 -1
  85. package/dist/{chunk-NULX3RRN.js → chunk-DJHDCDU6.js} +4 -4
  86. package/dist/{chunk-NULX3RRN.js.map → chunk-DJHDCDU6.js.map} +1 -1
  87. package/dist/{chunk-USPITOG4.js → chunk-DQGBTZRX.js} +4 -4
  88. package/dist/{chunk-USPITOG4.js.map → chunk-DQGBTZRX.js.map} +1 -1
  89. package/dist/{chunk-2IFYXJ3H.js → chunk-DRIEZH7R.js} +3 -3
  90. package/dist/{chunk-2IFYXJ3H.js.map → chunk-DRIEZH7R.js.map} +1 -1
  91. package/dist/{chunk-VWW3DJKI.js → chunk-E6SAO2CY.js} +3 -3
  92. package/dist/{chunk-VWW3DJKI.js.map → chunk-E6SAO2CY.js.map} +1 -1
  93. package/dist/{chunk-5ACHKT35.js → chunk-EDSIOUUR.js} +4 -4
  94. package/dist/{chunk-5ACHKT35.js.map → chunk-EDSIOUUR.js.map} +1 -1
  95. package/dist/{chunk-G2CMEHW6.js → chunk-ELRIFGMN.js} +4 -4
  96. package/dist/{chunk-G2CMEHW6.js.map → chunk-ELRIFGMN.js.map} +1 -1
  97. package/dist/{chunk-IMUBWKZC.js → chunk-EO4NGM5W.js} +4 -4
  98. package/dist/{chunk-IMUBWKZC.js.map → chunk-EO4NGM5W.js.map} +1 -1
  99. package/dist/{chunk-AFCSDND5.js → chunk-EQ4YAADN.js} +3 -3
  100. package/dist/{chunk-AFCSDND5.js.map → chunk-EQ4YAADN.js.map} +1 -1
  101. package/dist/{chunk-AP3T3KMY.js → chunk-EZYXD2YI.js} +4 -4
  102. package/dist/{chunk-AP3T3KMY.js.map → chunk-EZYXD2YI.js.map} +1 -1
  103. package/dist/{chunk-HJ4E6YPW.js → chunk-F3ETIDS7.js} +4 -4
  104. package/dist/{chunk-HJ4E6YPW.js.map → chunk-F3ETIDS7.js.map} +1 -1
  105. package/dist/{chunk-LNY2EXOV.js → chunk-F3WDMYZ4.js} +3 -3
  106. package/dist/{chunk-LNY2EXOV.js.map → chunk-F3WDMYZ4.js.map} +1 -1
  107. package/dist/{chunk-FPCRGFNY.js → chunk-FRKB4Z2P.js} +3 -3
  108. package/dist/{chunk-FPCRGFNY.js.map → chunk-FRKB4Z2P.js.map} +1 -1
  109. package/dist/{chunk-YGLD22TU.js → chunk-FVRSXJKS.js} +3 -3
  110. package/dist/{chunk-YGLD22TU.js.map → chunk-FVRSXJKS.js.map} +1 -1
  111. package/dist/{chunk-AR7K7Y4L.js → chunk-FXFVFSG5.js} +5 -5
  112. package/dist/{chunk-AR7K7Y4L.js.map → chunk-FXFVFSG5.js.map} +1 -1
  113. package/dist/{chunk-WQI2USN7.js → chunk-GDZECJFS.js} +3 -3
  114. package/dist/{chunk-WQI2USN7.js.map → chunk-GDZECJFS.js.map} +1 -1
  115. package/dist/{chunk-7CMOCWFX.js → chunk-GLHKHYJY.js} +8 -8
  116. package/dist/{chunk-7CMOCWFX.js.map → chunk-GLHKHYJY.js.map} +1 -1
  117. package/dist/{chunk-IA24GUNV.js → chunk-GRODCJS4.js} +8 -8
  118. package/dist/{chunk-IA24GUNV.js.map → chunk-GRODCJS4.js.map} +1 -1
  119. package/dist/{chunk-JDG5A44W.js → chunk-GVNG5ME6.js} +22 -11
  120. package/dist/chunk-GVNG5ME6.js.map +1 -0
  121. package/dist/{chunk-5J5OL4IV.js → chunk-GWSM2XNV.js} +3 -3
  122. package/dist/{chunk-5J5OL4IV.js.map → chunk-GWSM2XNV.js.map} +1 -1
  123. package/dist/{chunk-2NY6DDLO.js → chunk-H32A6UPL.js} +3 -3
  124. package/dist/{chunk-2NY6DDLO.js.map → chunk-H32A6UPL.js.map} +1 -1
  125. package/dist/{chunk-HV2ZZXFN.js → chunk-HHWUROMA.js} +6 -6
  126. package/dist/{chunk-HV2ZZXFN.js.map → chunk-HHWUROMA.js.map} +1 -1
  127. package/dist/{chunk-CNRV2IGH.js → chunk-HM6TEHA6.js} +3 -3
  128. package/dist/{chunk-CNRV2IGH.js.map → chunk-HM6TEHA6.js.map} +1 -1
  129. package/dist/{chunk-6ABGMOE2.js → chunk-HNQX6ZG7.js} +4 -4
  130. package/dist/{chunk-6ABGMOE2.js.map → chunk-HNQX6ZG7.js.map} +1 -1
  131. package/dist/{chunk-HAEZLC7V.js → chunk-I5RDX6O3.js} +3 -3
  132. package/dist/{chunk-HAEZLC7V.js.map → chunk-I5RDX6O3.js.map} +1 -1
  133. package/dist/{chunk-B2OCNHUW.js → chunk-IKLFWGFS.js} +70 -52
  134. package/dist/chunk-IKLFWGFS.js.map +1 -0
  135. package/dist/{chunk-DL7D5F7B.js → chunk-IPCT4YZT.js} +3 -3
  136. package/dist/{chunk-DL7D5F7B.js.map → chunk-IPCT4YZT.js.map} +1 -1
  137. package/dist/{chunk-BIUVOZQG.js → chunk-IPDAFW4F.js} +3 -3
  138. package/dist/{chunk-BIUVOZQG.js.map → chunk-IPDAFW4F.js.map} +1 -1
  139. package/dist/{chunk-G2MAGZHQ.js → chunk-IXZBH33I.js} +3 -3
  140. package/dist/{chunk-G2MAGZHQ.js.map → chunk-IXZBH33I.js.map} +1 -1
  141. package/dist/{chunk-ZHUW6UYD.js → chunk-JDETM3FL.js} +3 -3
  142. package/dist/{chunk-ZHUW6UYD.js.map → chunk-JDETM3FL.js.map} +1 -1
  143. package/dist/{chunk-HZ47LQFJ.js → chunk-JE46MFMN.js} +6 -6
  144. package/dist/{chunk-HZ47LQFJ.js.map → chunk-JE46MFMN.js.map} +1 -1
  145. package/dist/{chunk-3JCV72FO.js → chunk-JFV7CNBP.js} +4 -4
  146. package/dist/{chunk-3JCV72FO.js.map → chunk-JFV7CNBP.js.map} +1 -1
  147. package/dist/{chunk-7RTHGI6E.js → chunk-JPRHMMY6.js} +3 -3
  148. package/dist/{chunk-7RTHGI6E.js.map → chunk-JPRHMMY6.js.map} +1 -1
  149. package/dist/{chunk-G2V7D7VC.js → chunk-JUSPLVWO.js} +5 -5
  150. package/dist/{chunk-G2V7D7VC.js.map → chunk-JUSPLVWO.js.map} +1 -1
  151. package/dist/{chunk-FRDYXDAE.js → chunk-JUZ4JQWH.js} +3 -3
  152. package/dist/{chunk-FRDYXDAE.js.map → chunk-JUZ4JQWH.js.map} +1 -1
  153. package/dist/{chunk-6SHOL6WR.js → chunk-JVTB3NTP.js} +3 -3
  154. package/dist/{chunk-6SHOL6WR.js.map → chunk-JVTB3NTP.js.map} +1 -1
  155. package/dist/{chunk-XETKCF73.js → chunk-JXEIRIU4.js} +3 -3
  156. package/dist/{chunk-XETKCF73.js.map → chunk-JXEIRIU4.js.map} +1 -1
  157. package/dist/{chunk-XKO6G5H2.js → chunk-JYYB6F5O.js} +3 -3
  158. package/dist/{chunk-XKO6G5H2.js.map → chunk-JYYB6F5O.js.map} +1 -1
  159. package/dist/{chunk-V7WEN4SD.js → chunk-JZA45LEV.js} +3 -3
  160. package/dist/{chunk-V7WEN4SD.js.map → chunk-JZA45LEV.js.map} +1 -1
  161. package/dist/{chunk-FCSYPOHF.js → chunk-K44K3EHW.js} +3 -3
  162. package/dist/{chunk-FCSYPOHF.js.map → chunk-K44K3EHW.js.map} +1 -1
  163. package/dist/{chunk-ZMUUEXVD.js → chunk-K4UCALQQ.js} +3 -3
  164. package/dist/{chunk-ZMUUEXVD.js.map → chunk-K4UCALQQ.js.map} +1 -1
  165. package/dist/{chunk-KYURFRCH.js → chunk-KBU4KJKC.js} +7 -7
  166. package/dist/{chunk-KYURFRCH.js.map → chunk-KBU4KJKC.js.map} +1 -1
  167. package/dist/{chunk-JRWQHBJC.js → chunk-KDNTSZF5.js} +4 -4
  168. package/dist/{chunk-JRWQHBJC.js.map → chunk-KDNTSZF5.js.map} +1 -1
  169. package/dist/{chunk-WZ2J4ALB.js → chunk-KHCHATTD.js} +5 -5
  170. package/dist/{chunk-WZ2J4ALB.js.map → chunk-KHCHATTD.js.map} +1 -1
  171. package/dist/{chunk-57KTYE5H.js → chunk-KHJIUHHM.js} +3 -3
  172. package/dist/{chunk-57KTYE5H.js.map → chunk-KHJIUHHM.js.map} +1 -1
  173. package/dist/{chunk-H7JHFBFD.js → chunk-KLFYTLF3.js} +4 -4
  174. package/dist/{chunk-H7JHFBFD.js.map → chunk-KLFYTLF3.js.map} +1 -1
  175. package/dist/{chunk-W3QUVCRK.js → chunk-KXJ3SEW7.js} +3 -3
  176. package/dist/{chunk-W3QUVCRK.js.map → chunk-KXJ3SEW7.js.map} +1 -1
  177. package/dist/{chunk-X5XP5QVO.js → chunk-L4OQ6BJ5.js} +6 -6
  178. package/dist/{chunk-X5XP5QVO.js.map → chunk-L4OQ6BJ5.js.map} +1 -1
  179. package/dist/{chunk-MAM6VUKD.js → chunk-LCBB3N5H.js} +3 -3
  180. package/dist/{chunk-MAM6VUKD.js.map → chunk-LCBB3N5H.js.map} +1 -1
  181. package/dist/{chunk-FLERVSKG.js → chunk-LDK6ADKM.js} +6 -6
  182. package/dist/{chunk-FLERVSKG.js.map → chunk-LDK6ADKM.js.map} +1 -1
  183. package/dist/{chunk-K4MYVFWQ.js → chunk-LP6JYJQN.js} +4 -4
  184. package/dist/{chunk-K4MYVFWQ.js.map → chunk-LP6JYJQN.js.map} +1 -1
  185. package/dist/{chunk-7VGF6ZVE.js → chunk-LRE3LJMW.js} +5 -5
  186. package/dist/{chunk-7VGF6ZVE.js.map → chunk-LRE3LJMW.js.map} +1 -1
  187. package/dist/{chunk-LQVQ7SHG.js → chunk-LSRKDZW4.js} +4 -4
  188. package/dist/{chunk-LQVQ7SHG.js.map → chunk-LSRKDZW4.js.map} +1 -1
  189. package/dist/{chunk-WBERMEN7.js → chunk-MGIGDALC.js} +3 -3
  190. package/dist/{chunk-WBERMEN7.js.map → chunk-MGIGDALC.js.map} +1 -1
  191. package/dist/{chunk-IRFAIJLV.js → chunk-MNYU5MHO.js} +7 -7
  192. package/dist/{chunk-IRFAIJLV.js.map → chunk-MNYU5MHO.js.map} +1 -1
  193. package/dist/{chunk-6GWO7JNP.js → chunk-MXBDOYQL.js} +4 -4
  194. package/dist/{chunk-6GWO7JNP.js.map → chunk-MXBDOYQL.js.map} +1 -1
  195. package/dist/{chunk-37KLBMFQ.js → chunk-N2DAVD4Y.js} +3 -3
  196. package/dist/{chunk-37KLBMFQ.js.map → chunk-N2DAVD4Y.js.map} +1 -1
  197. package/dist/{chunk-EC5YEK3C.js → chunk-N5YGAESZ.js} +5 -5
  198. package/dist/{chunk-EC5YEK3C.js.map → chunk-N5YGAESZ.js.map} +1 -1
  199. package/dist/{chunk-DSCLJ3GK.js → chunk-N7VMQWM3.js} +15 -10
  200. package/dist/chunk-N7VMQWM3.js.map +1 -0
  201. package/dist/{chunk-5KTMPLDK.js → chunk-NAI3TX52.js} +3 -3
  202. package/dist/{chunk-5KTMPLDK.js.map → chunk-NAI3TX52.js.map} +1 -1
  203. package/dist/{chunk-QHKOBGLW.js → chunk-NGX3ITG4.js} +3 -3
  204. package/dist/{chunk-QHKOBGLW.js.map → chunk-NGX3ITG4.js.map} +1 -1
  205. package/dist/{chunk-5SUD32RK.js → chunk-NHUUSXBL.js} +3 -3
  206. package/dist/{chunk-5SUD32RK.js.map → chunk-NHUUSXBL.js.map} +1 -1
  207. package/dist/{chunk-IOWHM7ZY.js → chunk-NIRTZLZL.js} +4 -4
  208. package/dist/{chunk-IOWHM7ZY.js.map → chunk-NIRTZLZL.js.map} +1 -1
  209. package/dist/{chunk-5E44I7PB.js → chunk-NLPVF34P.js} +4 -4
  210. package/dist/{chunk-5E44I7PB.js.map → chunk-NLPVF34P.js.map} +1 -1
  211. package/dist/{chunk-ZPAWUKJI.js → chunk-NNWMBVCB.js} +4 -4
  212. package/dist/{chunk-ZPAWUKJI.js.map → chunk-NNWMBVCB.js.map} +1 -1
  213. package/dist/{chunk-H4ANCFZG.js → chunk-NUA54ABI.js} +4 -4
  214. package/dist/{chunk-H4ANCFZG.js.map → chunk-NUA54ABI.js.map} +1 -1
  215. package/dist/{chunk-ZPCELVWJ.js → chunk-NY2WZ4P2.js} +4 -4
  216. package/dist/{chunk-ZPCELVWJ.js.map → chunk-NY2WZ4P2.js.map} +1 -1
  217. package/dist/{chunk-BECPEVUL.js → chunk-O6LFU3KB.js} +3 -3
  218. package/dist/{chunk-BECPEVUL.js.map → chunk-O6LFU3KB.js.map} +1 -1
  219. package/dist/{chunk-HXHB2CK5.js → chunk-OAES72MK.js} +3 -3
  220. package/dist/{chunk-HXHB2CK5.js.map → chunk-OAES72MK.js.map} +1 -1
  221. package/dist/{chunk-NGR4HFVA.js → chunk-OCH7GGZF.js} +3 -3
  222. package/dist/{chunk-NGR4HFVA.js.map → chunk-OCH7GGZF.js.map} +1 -1
  223. package/dist/{chunk-HA5YVDHW.js → chunk-ONN5XVYC.js} +3 -3
  224. package/dist/{chunk-HA5YVDHW.js.map → chunk-ONN5XVYC.js.map} +1 -1
  225. package/dist/{chunk-OG3M4CMJ.js → chunk-OWZ3MZ5C.js} +3 -3
  226. package/dist/{chunk-OG3M4CMJ.js.map → chunk-OWZ3MZ5C.js.map} +1 -1
  227. package/dist/{chunk-MK6ID2HI.js → chunk-OXO6SKJO.js} +3 -3
  228. package/dist/{chunk-MK6ID2HI.js.map → chunk-OXO6SKJO.js.map} +1 -1
  229. package/dist/{chunk-5K2SOCOX.js → chunk-P4WMDGAQ.js} +4 -4
  230. package/dist/{chunk-5K2SOCOX.js.map → chunk-P4WMDGAQ.js.map} +1 -1
  231. package/dist/{chunk-K43MPWTO.js → chunk-PBZI5XNV.js} +3 -3
  232. package/dist/{chunk-K43MPWTO.js.map → chunk-PBZI5XNV.js.map} +1 -1
  233. package/dist/{chunk-HI3T55XK.js → chunk-PEX7FCZC.js} +3 -3
  234. package/dist/{chunk-HI3T55XK.js.map → chunk-PEX7FCZC.js.map} +1 -1
  235. package/dist/{chunk-WMG2MMJF.js → chunk-PI4WGIPG.js} +3 -3
  236. package/dist/{chunk-WMG2MMJF.js.map → chunk-PI4WGIPG.js.map} +1 -1
  237. package/dist/{chunk-V7O4X3AE.js → chunk-PTXC4KPQ.js} +4 -4
  238. package/dist/{chunk-V7O4X3AE.js.map → chunk-PTXC4KPQ.js.map} +1 -1
  239. package/dist/{chunk-34WNJNPL.js → chunk-PVIIIQJI.js} +6 -6
  240. package/dist/{chunk-34WNJNPL.js.map → chunk-PVIIIQJI.js.map} +1 -1
  241. package/dist/{chunk-A4O3USMA.js → chunk-PXR6CZIL.js} +4 -4
  242. package/dist/{chunk-A4O3USMA.js.map → chunk-PXR6CZIL.js.map} +1 -1
  243. package/dist/{chunk-KDJCZXLB.js → chunk-PZSKZFVO.js} +3 -3
  244. package/dist/{chunk-KDJCZXLB.js.map → chunk-PZSKZFVO.js.map} +1 -1
  245. package/dist/{chunk-DNAGXK2C.js → chunk-Q3JCNSPU.js} +4 -4
  246. package/dist/{chunk-DNAGXK2C.js.map → chunk-Q3JCNSPU.js.map} +1 -1
  247. package/dist/{chunk-JUTPDS4E.js → chunk-QD2ZS5DU.js} +4 -4
  248. package/dist/{chunk-JUTPDS4E.js.map → chunk-QD2ZS5DU.js.map} +1 -1
  249. package/dist/{chunk-DI3AISAZ.js → chunk-QJOWG2D4.js} +5 -5
  250. package/dist/{chunk-DI3AISAZ.js.map → chunk-QJOWG2D4.js.map} +1 -1
  251. package/dist/{chunk-6F5NWXZF.js → chunk-QLYH3GCV.js} +4 -4
  252. package/dist/{chunk-6F5NWXZF.js.map → chunk-QLYH3GCV.js.map} +1 -1
  253. package/dist/{chunk-F4EX3622.js → chunk-QO6TOE45.js} +3 -3
  254. package/dist/{chunk-F4EX3622.js.map → chunk-QO6TOE45.js.map} +1 -1
  255. package/dist/{chunk-46SUPGQV.js → chunk-QWWA4FZP.js} +3 -3
  256. package/dist/{chunk-46SUPGQV.js.map → chunk-QWWA4FZP.js.map} +1 -1
  257. package/dist/{chunk-VTDSGJ4R.js → chunk-QXET2TML.js} +4 -4
  258. package/dist/{chunk-VTDSGJ4R.js.map → chunk-QXET2TML.js.map} +1 -1
  259. package/dist/{chunk-2VHARFMD.js → chunk-QZ7SGO7L.js} +3 -3
  260. package/dist/{chunk-2VHARFMD.js.map → chunk-QZ7SGO7L.js.map} +1 -1
  261. package/dist/{chunk-XORDGKZI.js → chunk-R42LSLJL.js} +6 -6
  262. package/dist/{chunk-XORDGKZI.js.map → chunk-R42LSLJL.js.map} +1 -1
  263. package/dist/{chunk-EVZ2GZU4.js → chunk-RMJVCJ6U.js} +3 -3
  264. package/dist/{chunk-EVZ2GZU4.js.map → chunk-RMJVCJ6U.js.map} +1 -1
  265. package/dist/{chunk-UYPYAOET.js → chunk-ROPW65RD.js} +3 -3
  266. package/dist/{chunk-UYPYAOET.js.map → chunk-ROPW65RD.js.map} +1 -1
  267. package/dist/{chunk-M6VBDPNQ.js → chunk-RQBYBBMP.js} +3 -3
  268. package/dist/{chunk-M6VBDPNQ.js.map → chunk-RQBYBBMP.js.map} +1 -1
  269. package/dist/chunk-RVAYDRMA.js +31 -0
  270. package/dist/chunk-RVAYDRMA.js.map +1 -0
  271. package/dist/{chunk-ARNVOHVW.js → chunk-S4P7JIQ2.js} +3 -3
  272. package/dist/{chunk-ARNVOHVW.js.map → chunk-S4P7JIQ2.js.map} +1 -1
  273. package/dist/{chunk-AKRVZ2YW.js → chunk-S6BREP2G.js} +4 -4
  274. package/dist/{chunk-AKRVZ2YW.js.map → chunk-S6BREP2G.js.map} +1 -1
  275. package/dist/{chunk-Y5GO2F6P.js → chunk-SA3IQI3Y.js} +3 -3
  276. package/dist/{chunk-Y5GO2F6P.js.map → chunk-SA3IQI3Y.js.map} +1 -1
  277. package/dist/{chunk-56TC4CPT.js → chunk-SKI25Q7O.js} +6 -6
  278. package/dist/{chunk-56TC4CPT.js.map → chunk-SKI25Q7O.js.map} +1 -1
  279. package/dist/{chunk-MLSIZ6JU.js → chunk-SSKSWSVO.js} +5 -5
  280. package/dist/{chunk-MLSIZ6JU.js.map → chunk-SSKSWSVO.js.map} +1 -1
  281. package/dist/{chunk-VV6QE3M2.js → chunk-STADVFL2.js} +5 -5
  282. package/dist/{chunk-VV6QE3M2.js.map → chunk-STADVFL2.js.map} +1 -1
  283. package/dist/{chunk-UA3OQAHJ.js → chunk-SX63UD5X.js} +3 -3
  284. package/dist/{chunk-UA3OQAHJ.js.map → chunk-SX63UD5X.js.map} +1 -1
  285. package/dist/{chunk-YZY35OHQ.js → chunk-SXSR2VRG.js} +4 -4
  286. package/dist/{chunk-YZY35OHQ.js.map → chunk-SXSR2VRG.js.map} +1 -1
  287. package/dist/{chunk-AR3OXNPL.js → chunk-TDANAN5A.js} +3 -3
  288. package/dist/{chunk-AR3OXNPL.js.map → chunk-TDANAN5A.js.map} +1 -1
  289. package/dist/{chunk-7ZJ32KRQ.js → chunk-TEVGCTUN.js} +3 -3
  290. package/dist/{chunk-7ZJ32KRQ.js.map → chunk-TEVGCTUN.js.map} +1 -1
  291. package/dist/{chunk-GAMOVEZD.js → chunk-TIPKU427.js} +3 -3
  292. package/dist/{chunk-GAMOVEZD.js.map → chunk-TIPKU427.js.map} +1 -1
  293. package/dist/{chunk-2Q4I4VDB.js → chunk-TK5WS675.js} +3 -3
  294. package/dist/{chunk-2Q4I4VDB.js.map → chunk-TK5WS675.js.map} +1 -1
  295. package/dist/{chunk-EDSDAX56.js → chunk-TNSMTINE.js} +4 -4
  296. package/dist/{chunk-EDSDAX56.js.map → chunk-TNSMTINE.js.map} +1 -1
  297. package/dist/{chunk-5TABQJDW.js → chunk-TRTVYFOF.js} +3 -3
  298. package/dist/{chunk-5TABQJDW.js.map → chunk-TRTVYFOF.js.map} +1 -1
  299. package/dist/{chunk-QBLU7J34.js → chunk-TSE3PKWQ.js} +3 -3
  300. package/dist/{chunk-QBLU7J34.js.map → chunk-TSE3PKWQ.js.map} +1 -1
  301. package/dist/{chunk-3BBOSSDG.js → chunk-U7TPJMGY.js} +4 -4
  302. package/dist/{chunk-3BBOSSDG.js.map → chunk-U7TPJMGY.js.map} +1 -1
  303. package/dist/{chunk-PGRMKSVA.js → chunk-UC5J6GWG.js} +4 -4
  304. package/dist/{chunk-PGRMKSVA.js.map → chunk-UC5J6GWG.js.map} +1 -1
  305. package/dist/{chunk-HP7LEQJR.js → chunk-UNHPLKMR.js} +3 -3
  306. package/dist/{chunk-HP7LEQJR.js.map → chunk-UNHPLKMR.js.map} +1 -1
  307. package/dist/{chunk-I7ZLEC7Y.js → chunk-UZEJ3ZVR.js} +3 -3
  308. package/dist/{chunk-I7ZLEC7Y.js.map → chunk-UZEJ3ZVR.js.map} +1 -1
  309. package/dist/{chunk-J62NPPDO.js → chunk-UZZCEQH4.js} +4 -4
  310. package/dist/{chunk-J62NPPDO.js.map → chunk-UZZCEQH4.js.map} +1 -1
  311. package/dist/{chunk-AEE5GDNA.js → chunk-V4NSLSCA.js} +4 -4
  312. package/dist/{chunk-AEE5GDNA.js.map → chunk-V4NSLSCA.js.map} +1 -1
  313. package/dist/{chunk-IZC5YFGO.js → chunk-V57DERRV.js} +14 -7
  314. package/dist/chunk-V57DERRV.js.map +1 -0
  315. package/dist/{chunk-PM344VOQ.js → chunk-VHJ6ALIE.js} +4 -4
  316. package/dist/{chunk-PM344VOQ.js.map → chunk-VHJ6ALIE.js.map} +1 -1
  317. package/dist/{chunk-N3I6GA4I.js → chunk-WG34IXUV.js} +3 -3
  318. package/dist/{chunk-N3I6GA4I.js.map → chunk-WG34IXUV.js.map} +1 -1
  319. package/dist/{chunk-45YJLE4R.js → chunk-WGKOYZRI.js} +3 -3
  320. package/dist/{chunk-45YJLE4R.js.map → chunk-WGKOYZRI.js.map} +1 -1
  321. package/dist/{chunk-6DN2UAIR.js → chunk-WGSVSZ7V.js} +3 -3
  322. package/dist/{chunk-6DN2UAIR.js.map → chunk-WGSVSZ7V.js.map} +1 -1
  323. package/dist/{chunk-X4YUWX7H.js → chunk-WK324C6D.js} +4 -4
  324. package/dist/{chunk-X4YUWX7H.js.map → chunk-WK324C6D.js.map} +1 -1
  325. package/dist/{chunk-N2WITPE2.js → chunk-WOP5OWLG.js} +3 -3
  326. package/dist/{chunk-N2WITPE2.js.map → chunk-WOP5OWLG.js.map} +1 -1
  327. package/dist/{chunk-MAM5PTRV.js → chunk-WSDWJX4Y.js} +4 -4
  328. package/dist/{chunk-MAM5PTRV.js.map → chunk-WSDWJX4Y.js.map} +1 -1
  329. package/dist/{chunk-2XJWE2XR.js → chunk-WUS45IZW.js} +4 -4
  330. package/dist/{chunk-2XJWE2XR.js.map → chunk-WUS45IZW.js.map} +1 -1
  331. package/dist/{chunk-B3BDIM4H.js → chunk-WVOZYDH3.js} +3 -3
  332. package/dist/{chunk-B3BDIM4H.js.map → chunk-WVOZYDH3.js.map} +1 -1
  333. package/dist/{chunk-HVFACGNK.js → chunk-WWK7UIKK.js} +3 -3
  334. package/dist/{chunk-HVFACGNK.js.map → chunk-WWK7UIKK.js.map} +1 -1
  335. package/dist/{chunk-NCLOPI6U.js → chunk-X2EMALTZ.js} +3 -3
  336. package/dist/{chunk-NCLOPI6U.js.map → chunk-X2EMALTZ.js.map} +1 -1
  337. package/dist/{chunk-PK5O62XD.js → chunk-X4CJFD6D.js} +3 -3
  338. package/dist/{chunk-PK5O62XD.js.map → chunk-X4CJFD6D.js.map} +1 -1
  339. package/dist/{chunk-JWXK4TMX.js → chunk-XEQGATVF.js} +3 -3
  340. package/dist/{chunk-JWXK4TMX.js.map → chunk-XEQGATVF.js.map} +1 -1
  341. package/dist/{chunk-B6KQKQ4S.js → chunk-XMUD3LG7.js} +3 -3
  342. package/dist/{chunk-B6KQKQ4S.js.map → chunk-XMUD3LG7.js.map} +1 -1
  343. package/dist/{chunk-5ZEYTBTU.js → chunk-XWBVIBN4.js} +3 -3
  344. package/dist/{chunk-5ZEYTBTU.js.map → chunk-XWBVIBN4.js.map} +1 -1
  345. package/dist/{chunk-7I6KK6QE.js → chunk-XXWCMY2G.js} +3 -3
  346. package/dist/{chunk-7I6KK6QE.js.map → chunk-XXWCMY2G.js.map} +1 -1
  347. package/dist/{chunk-LFN7UHDT.js → chunk-Y4FEW7SR.js} +3 -3
  348. package/dist/{chunk-LFN7UHDT.js.map → chunk-Y4FEW7SR.js.map} +1 -1
  349. package/dist/{chunk-PFVT27B5.js → chunk-YC5VVIZO.js} +3 -3
  350. package/dist/{chunk-PFVT27B5.js.map → chunk-YC5VVIZO.js.map} +1 -1
  351. package/dist/{chunk-OR3NPCY2.js → chunk-YMCKML6D.js} +7 -7
  352. package/dist/{chunk-OR3NPCY2.js.map → chunk-YMCKML6D.js.map} +1 -1
  353. package/dist/{chunk-TGLALXPU.js → chunk-YMQDTTO7.js} +6 -6
  354. package/dist/{chunk-TGLALXPU.js.map → chunk-YMQDTTO7.js.map} +1 -1
  355. package/dist/{chunk-ZARZYMBM.js → chunk-YNTS4GRT.js} +3 -3
  356. package/dist/{chunk-ZARZYMBM.js.map → chunk-YNTS4GRT.js.map} +1 -1
  357. package/dist/{chunk-6SZRWNPT.js → chunk-ZOHLZ4YL.js} +3 -3
  358. package/dist/{chunk-6SZRWNPT.js.map → chunk-ZOHLZ4YL.js.map} +1 -1
  359. package/dist/{chunk-VUHJTTPV.js → chunk-ZVSMLMMS.js} +3 -3
  360. package/dist/{chunk-VUHJTTPV.js.map → chunk-ZVSMLMMS.js.map} +1 -1
  361. package/dist/{chunk-VKDN66VL.js → chunk-ZXWT4KWJ.js} +3 -3
  362. package/dist/{chunk-VKDN66VL.js.map → chunk-ZXWT4KWJ.js.map} +1 -1
  363. package/dist/components/advanced/AssetManager/index.js +2 -2
  364. package/dist/components/advanced/Calendar/index.js +7 -7
  365. package/dist/components/advanced/Command/index.js +3 -3
  366. package/dist/components/advanced/DragAndDrop/index.js +2 -2
  367. package/dist/components/advanced/ErrorBoundary/index.js +2 -2
  368. package/dist/components/advanced/EventCalendar/index.js +7 -7
  369. package/dist/components/advanced/FileDropzone/index.js +2 -2
  370. package/dist/components/advanced/FilePreview/index.js +2 -2
  371. package/dist/components/advanced/FileUpload/index.js +2 -2
  372. package/dist/components/advanced/FilterBuilder/index.js +9 -9
  373. package/dist/components/advanced/MarkdownEditor/index.js +6 -6
  374. package/dist/components/advanced/ReportBuilder/index.js +7 -7
  375. package/dist/components/advanced/RichTextEditor/index.js +4 -4
  376. package/dist/components/advanced/Search/index.js +2 -2
  377. package/dist/components/advanced/SortableList/index.js +2 -2
  378. package/dist/components/advanced/VersionControl/index.js +2 -2
  379. package/dist/components/advanced/index.js +30 -30
  380. package/dist/components/data-display/Accordion/index.js +2 -2
  381. package/dist/components/data-display/AreaChart/index.js +3 -3
  382. package/dist/components/data-display/Banner/index.js +2 -2
  383. package/dist/components/data-display/BarChart/index.js +3 -3
  384. package/dist/components/data-display/BarList/index.js +2 -2
  385. package/dist/components/data-display/Callout/index.js +2 -2
  386. package/dist/components/data-display/Carousel/index.js +7 -7
  387. package/dist/components/data-display/CategoryBar/index.js +3 -3
  388. package/dist/components/data-display/Chart/index.js +2 -2
  389. package/dist/components/data-display/ChartCard/index.js +5 -5
  390. package/dist/components/data-display/ChartLegend/index.js +2 -2
  391. package/dist/components/data-display/ComboChart/index.js +3 -3
  392. package/dist/components/data-display/DashboardCard/index.js +3 -3
  393. package/dist/components/data-display/DataTable/FilterBuilder/index.js +9 -9
  394. package/dist/components/data-display/DataTable/index.js +16 -16
  395. package/dist/components/data-display/DeltaBar/index.js +3 -3
  396. package/dist/components/data-display/EmptyState/index.js +2 -2
  397. package/dist/components/data-display/FeatureItem/index.js +3 -3
  398. package/dist/components/data-display/Feed/index.js +2 -2
  399. package/dist/components/data-display/FunnelChart/index.js +3 -3
  400. package/dist/components/data-display/GaugeChart/index.js +2 -2
  401. package/dist/components/data-display/Heatmap/index.js +3 -3
  402. package/dist/components/data-display/HoverCard/index.js +2 -2
  403. package/dist/components/data-display/ImageGallery/index.js +9 -9
  404. package/dist/components/data-display/Item/index.js +3 -3
  405. package/dist/components/data-display/KPICard/index.js +8 -8
  406. package/dist/components/data-display/Lightbox/index.js +2 -2
  407. package/dist/components/data-display/LineChart/index.js +3 -3
  408. package/dist/components/data-display/List/index.js +6 -6
  409. package/dist/components/data-display/MarkerBar/index.js +3 -3
  410. package/dist/components/data-display/PieChart/index.js +3 -3
  411. package/dist/components/data-display/RadarChart/index.js +3 -3
  412. package/dist/components/data-display/RadialChart/index.js +3 -3
  413. package/dist/components/data-display/ScatterChart/index.js +3 -3
  414. package/dist/components/data-display/SingleStat/index.js +3 -3
  415. package/dist/components/data-display/Sparkline/index.js +2 -2
  416. package/dist/components/data-display/Table/index.js +2 -2
  417. package/dist/components/data-display/Timeline/index.js +2 -2
  418. package/dist/components/data-display/Tracker/index.js +3 -3
  419. package/dist/components/data-display/VirtualTable/index.js +5 -5
  420. package/dist/components/data-display/index.js +56 -56
  421. package/dist/components/feedback/Alert/index.js +2 -2
  422. package/dist/components/feedback/AlertDialog/index.js +7 -7
  423. package/dist/components/feedback/ConfirmModal/index.js +8 -8
  424. package/dist/components/feedback/Dialog/index.js +2 -2
  425. package/dist/components/feedback/ErrorPage/index.js +2 -2
  426. package/dist/components/feedback/FocusTrap/index.js +2 -2
  427. package/dist/components/feedback/Message/index.js +2 -2
  428. package/dist/components/feedback/Modal/index.js +2 -2
  429. package/dist/components/feedback/Notification/index.js +4 -4
  430. package/dist/components/feedback/Popover/index.js +2 -2
  431. package/dist/components/feedback/Tooltip/index.js +2 -2
  432. package/dist/components/feedback/UpdatesWidget/index.js +2 -2
  433. package/dist/components/feedback/index.js +18 -18
  434. package/dist/components/forms/Autocomplete/index.js +2 -2
  435. package/dist/components/forms/Checkbox/index.js +2 -2
  436. package/dist/components/forms/CheckboxGroup/index.js +3 -3
  437. package/dist/components/forms/ColorPicker/index.js +3 -3
  438. package/dist/components/forms/Combobox/index.js +2 -2
  439. package/dist/components/forms/DatePicker/index.js +10 -10
  440. package/dist/components/forms/DateRangePicker/index.js +10 -10
  441. package/dist/components/forms/EmailInput/index.js +3 -3
  442. package/dist/components/forms/ErrorMessage/index.js +2 -2
  443. package/dist/components/forms/Field/index.js +4 -4
  444. package/dist/components/forms/FloatLabel/index.js +2 -2
  445. package/dist/components/forms/Form/index.js +3 -3
  446. package/dist/components/forms/FormValidation/index.js +2 -2
  447. package/dist/components/forms/HelpText/index.js +2 -2
  448. package/dist/components/forms/IftaLabel/index.js +2 -2
  449. package/dist/components/forms/InputGroup/index.js +9 -9
  450. package/dist/components/forms/InputOTP/index.js +2 -2
  451. package/dist/components/forms/InputOTPField/index.js +6 -6
  452. package/dist/components/forms/MultiSelect/index.js +3 -3
  453. package/dist/components/forms/NativeSelect/index.js +2 -2
  454. package/dist/components/forms/NumberInput/index.js +2 -2
  455. package/dist/components/forms/PasswordInput/index.js +3 -3
  456. package/dist/components/forms/PaymentInput/index.js +2 -2
  457. package/dist/components/forms/PhoneInput/index.js +2 -2
  458. package/dist/components/forms/RadioButton/index.js +2 -2
  459. package/dist/components/forms/RadioCardGroup/index.js +2 -2
  460. package/dist/components/forms/RadioGroup/index.js +2 -2
  461. package/dist/components/forms/Rating/index.js +2 -2
  462. package/dist/components/forms/SearchInput/index.js +3 -3
  463. package/dist/components/forms/Select/index.js +2 -2
  464. package/dist/components/forms/Slider/index.js +2 -2
  465. package/dist/components/forms/SuccessMessage/index.js +2 -2
  466. package/dist/components/forms/Switch/index.js +2 -2
  467. package/dist/components/forms/TagsInput/index.js +4 -4
  468. package/dist/components/forms/TextInput/index.js +2 -2
  469. package/dist/components/forms/Textarea/index.js +2 -2
  470. package/dist/components/forms/TextareaField/index.js +6 -6
  471. package/dist/components/forms/TimePicker/index.js +4 -4
  472. package/dist/components/forms/URLInput/index.js +3 -3
  473. package/dist/components/forms/index.js +50 -50
  474. package/dist/components/index.js +183 -183
  475. package/dist/components/layout/Card/index.js +2 -2
  476. package/dist/components/layout/Collapsible/index.js +2 -2
  477. package/dist/components/layout/Container/index.js +2 -2
  478. package/dist/components/layout/Flex/index.js +2 -2
  479. package/dist/components/layout/Grid/index.js +2 -2
  480. package/dist/components/layout/Panel/index.js +3 -3
  481. package/dist/components/layout/ResizablePanels/index.js +2 -2
  482. package/dist/components/layout/ResponsiveContainer/index.js +2 -2
  483. package/dist/components/layout/ScrollArea/index.js +2 -2
  484. package/dist/components/layout/Section/index.js +2 -2
  485. package/dist/components/layout/Sheet/index.js +2 -2
  486. package/dist/components/layout/Stack/index.js +2 -2
  487. package/dist/components/layout/index.js +13 -13
  488. package/dist/components/navigation/AccountSwitch/index.js +6 -6
  489. package/dist/components/navigation/Breadcrumb/index.js +2 -2
  490. package/dist/components/navigation/ContextMenu/index.js +2 -2
  491. package/dist/components/navigation/Drawer/index.js +2 -2
  492. package/dist/components/navigation/DropdownMenu/index.js +2 -2
  493. package/dist/components/navigation/FileTree/index.js +2 -2
  494. package/dist/components/navigation/Header/index.js +2 -2
  495. package/dist/components/navigation/LogoConta/index.js +2 -2
  496. package/dist/components/navigation/Menu/index.js +3 -3
  497. package/dist/components/navigation/Menubar/index.js +2 -2
  498. package/dist/components/navigation/Navbar/index.js +2 -2
  499. package/dist/components/navigation/NavigationMenu/index.js +2 -2
  500. package/dist/components/navigation/Pagination/index.js +7 -7
  501. package/dist/components/navigation/Sidebar/index.js +11 -11
  502. package/dist/components/navigation/SkipLinks/index.js +2 -2
  503. package/dist/components/navigation/SpeedDial/index.js +3 -3
  504. package/dist/components/navigation/TabNavigation/index.js +2 -2
  505. package/dist/components/navigation/TabPanel/index.js +2 -2
  506. package/dist/components/navigation/Tabs/index.js +2 -2
  507. package/dist/components/navigation/Toolbar/index.js +2 -2
  508. package/dist/components/navigation/Topbar/index.js +2 -2
  509. package/dist/components/navigation/index.js +32 -32
  510. package/dist/components/primitives/ArrowAnimated/index.js +2 -2
  511. package/dist/components/primitives/Avatar/index.js +3 -3
  512. package/dist/components/primitives/Badge/index.js +3 -3
  513. package/dist/components/primitives/Button/index.js +6 -6
  514. package/dist/components/primitives/ButtonGroup/index.js +3 -3
  515. package/dist/components/primitives/ConfirmButton/index.js +8 -8
  516. package/dist/components/primitives/Divider/index.js +2 -2
  517. package/dist/components/primitives/FeaturedIcon/index.js +2 -2
  518. package/dist/components/primitives/FolderStack/index.js +2 -2
  519. package/dist/components/primitives/Heading/index.js +2 -2
  520. package/dist/components/primitives/Icon/index.js +2 -2
  521. package/dist/components/primitives/Image/index.js +2 -2
  522. package/dist/components/primitives/Kbd/index.js +2 -2
  523. package/dist/components/primitives/Label/index.js +2 -2
  524. package/dist/components/primitives/Link/index.js +2 -2
  525. package/dist/components/primitives/Paragraph/index.js +2 -2
  526. package/dist/components/primitives/PaymentMethodIcon/index.js +2 -2
  527. package/dist/components/primitives/ProgressBar/index.js +3 -3
  528. package/dist/components/primitives/ProgressCircle/index.js +3 -3
  529. package/dist/components/primitives/SkeletonLoader/index.js +2 -2
  530. package/dist/components/primitives/Spacer/index.js +2 -2
  531. package/dist/components/primitives/Spinner/index.js +2 -2
  532. package/dist/components/primitives/SplitButton/index.js +3 -3
  533. package/dist/components/primitives/StatusIndicator/index.js +2 -2
  534. package/dist/components/primitives/Tag/index.js +2 -2
  535. package/dist/components/primitives/Text/index.js +2 -2
  536. package/dist/components/primitives/Thumbnail/index.js +3 -3
  537. package/dist/components/primitives/Toggle/index.js +2 -2
  538. package/dist/components/primitives/index.js +32 -32
  539. package/dist/components/workflow/ApprovalFlow/index.js +8 -8
  540. package/dist/components/workflow/ApprovalStatus/index.js +2 -2
  541. package/dist/components/workflow/CommentSystem/index.js +9 -9
  542. package/dist/components/workflow/Dashboard/index.js +7 -7
  543. package/dist/components/workflow/DashboardBuilder/index.js +9 -9
  544. package/dist/components/workflow/KanbanBoard/index.js +9 -9
  545. package/dist/components/workflow/ProgressSteps/index.js +2 -2
  546. package/dist/components/workflow/ReportGenerator/index.js +9 -9
  547. package/dist/components/workflow/Stepper/index.js +2 -2
  548. package/dist/components/workflow/TaskCard/index.js +2 -2
  549. package/dist/components/workflow/TaskList/index.js +2 -2
  550. package/dist/components/workflow/TaskStatus/index.js +3 -3
  551. package/dist/components/workflow/Wizard/index.js +8 -8
  552. package/dist/components/workflow/index.js +26 -26
  553. package/dist/index.d.ts +55 -14
  554. package/dist/index.js +183 -183
  555. package/dist/lib/utils.d.ts +2 -1
  556. package/dist/lib/utils.js +1 -1
  557. package/package.json +1 -1
  558. package/dist/chunk-B2OCNHUW.js.map +0 -1
  559. package/dist/chunk-DSCLJ3GK.js.map +0 -1
  560. package/dist/chunk-HRNDJU7D.js +0 -11
  561. package/dist/chunk-HRNDJU7D.js.map +0 -1
  562. package/dist/chunk-IZC5YFGO.js.map +0 -1
  563. package/dist/chunk-JDG5A44W.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/data-display/Sparkline/Sparkline.tsx"],"names":["values","domainMax","domainMin","ariaLabel","points"],"mappings":"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","file":"chunk-2VHARFMD.js","sourcesContent":["\"use client\"\n\nimport type { SparklineData, SparklineDataPoint, SparklineProps } from \"./Sparkline.types\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\n\n/**\n * Default colors for multi-series\n */\nconst DEFAULT_COLORS = [\n \"var(--chart-1)\",\n \"var(--chart-2)\",\n \"var(--chart-3)\",\n \"var(--chart-4)\",\n \"var(--chart-5)\",\n]\n\n/**\n * Size dimensions mapping\n */\nconst SIZE_DIMENSIONS = {\n lg: { height: 32, width: 120 },\n md: { height: 24, width: 80 },\n sm: { height: 20, width: 60 },\n xs: { height: 16, width: 40 },\n} as const\n\n/**\n * Check if data is multi-series (array of objects)\n */\nfunction isMultiSeriesData(data: SparklineData): data is SparklineDataPoint[] {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Runtime type guard: data[0] could be number or object\n return data.length > 0 && typeof data[0] === \"object\" && data[0] !== null\n}\n\n/**\n * Extract numeric values for a category from multi-series data\n */\nfunction extractCategoryValues(\n data: SparklineDataPoint[],\n category: string,\n connectNulls: boolean\n): (null | number)[] {\n return data.map((point) => {\n const value = point[category]\n if (value === null || value === undefined) {\n return connectNulls ? null : null\n }\n return value\n })\n}\n\n/**\n * Calculate stacked values for multiple categories\n */\nfunction calculateStackedValues(\n data: SparklineDataPoint[],\n categories: string[]\n): Map<string, number[]> {\n const stackedMap = new Map<string, number[]>()\n\n categories.forEach((category, categoryIndex) => {\n const values = data.map((point, _pointIndex) => {\n let stackedValue = 0\n for (let i = 0; i <= categoryIndex; i++) {\n const cat = categories[i]\n if (cat) {\n const val = point[cat]\n if (typeof val === \"number\") {\n stackedValue += val\n }\n }\n }\n return stackedValue\n })\n stackedMap.set(category, values)\n })\n\n return stackedMap\n}\n\n/**\n * Calculate trend based on first and last data points\n */\nfunction getTrend(data: number[]): \"negative\" | \"neutral\" | \"positive\" {\n if (data.length < 2) return \"neutral\"\n const first = data[0] ?? 0\n const last = data[data.length - 1] ?? 0\n if (last > first) return \"positive\"\n if (last < first) return \"negative\"\n return \"neutral\"\n}\n\n/**\n * Get color based on trend or explicit color prop\n */\nfunction getTrendColor(\n trend: \"negative\" | \"neutral\" | \"positive\",\n showTrend: boolean,\n explicitColor?: string\n): string {\n if (explicitColor) return explicitColor\n if (!showTrend) return \"currentColor\"\n\n switch (trend) {\n case \"positive\":\n return \"var(--color-success)\"\n case \"negative\":\n return \"var(--color-destructive)\"\n default:\n return \"var(--color-muted-foreground)\"\n }\n}\n\n/**\n * Calculate domain bounds\n */\nfunction getDomainBounds(\n values: number[],\n autoMinValue: boolean,\n minValue?: number,\n maxValue?: number\n): { max: number; min: number; } {\n const dataMin = Math.min(...values)\n const dataMax = Math.max(...values)\n\n const min = minValue ?? (autoMinValue ? dataMin : 0)\n const max = maxValue ?? dataMax\n\n return { min, max }\n}\n\n/**\n * Get all numeric values from multi-series data (for domain calculation)\n */\nfunction getAllValues(\n data: SparklineDataPoint[],\n categories: string[],\n stack: boolean\n): number[] {\n if (stack) {\n // For stacked, get the max stacked values\n const stackedMap = calculateStackedValues(data, categories)\n const allStackedValues: number[] = []\n stackedMap.forEach((values) => {\n allStackedValues.push(...values)\n })\n return allStackedValues.filter((v) => !Number.isNaN(v))\n }\n\n const values: number[] = []\n data.forEach((point) => {\n categories.forEach((category) => {\n const value = point[category]\n if (typeof value === \"number\" && !Number.isNaN(value)) {\n values.push(value)\n }\n })\n })\n return values\n}\n\n/**\n * Convert data array to SVG path points\n */\nfunction dataToPoints(\n data: (null | number)[],\n width: number,\n height: number,\n padding: number,\n domainMin: number,\n domainMax: number,\n connectNulls: boolean\n): string {\n if (data.length === 0) return \"\"\n\n const range = domainMax - domainMin || 1\n const effectiveHeight = height - padding * 2\n const effectiveWidth = width - padding * 2\n\n const validPoints: { x: number; y: number }[] = []\n\n data.forEach((value, index) => {\n if (value === null) {\n if (!connectNulls) return\n return // Skip null for connectNulls, but polyline handles gaps\n }\n const x = padding + (index / Math.max(data.length - 1, 1)) * effectiveWidth\n const y = padding + effectiveHeight - ((value - domainMin) / range) * effectiveHeight\n validPoints.push({ x, y })\n })\n\n return validPoints.map((p) => `${p.x.toFixed(2)},${p.y.toFixed(2)}`).join(\" \")\n}\n\n/**\n * Generate segments for line with null handling\n */\nfunction dataToSegments(\n data: (null | number)[],\n width: number,\n height: number,\n padding: number,\n domainMin: number,\n domainMax: number\n): string[][] {\n if (data.length === 0) return []\n\n const range = domainMax - domainMin || 1\n const effectiveHeight = height - padding * 2\n const effectiveWidth = width - padding * 2\n\n const segments: string[][] = []\n let currentSegment: string[] = []\n\n data.forEach((value, index) => {\n if (value === null) {\n if (currentSegment.length > 0) {\n segments.push(currentSegment)\n currentSegment = []\n }\n return\n }\n\n const x = padding + (index / Math.max(data.length - 1, 1)) * effectiveWidth\n const y = padding + effectiveHeight - ((value - domainMin) / range) * effectiveHeight\n currentSegment.push(`${x.toFixed(2)},${y.toFixed(2)}`)\n })\n\n if (currentSegment.length > 0) {\n segments.push(currentSegment)\n }\n\n return segments\n}\n\n/**\n * Generate area path (closed polygon for fill)\n */\nfunction dataToAreaPath(\n data: (null | number)[],\n width: number,\n height: number,\n padding: number,\n domainMin: number,\n domainMax: number,\n bottomY?: number\n): string {\n if (data.length === 0) return \"\"\n\n const range = domainMax - domainMin || 1\n const effectiveHeight = height - padding * 2\n const effectiveWidth = width - padding * 2\n const baseY = bottomY ?? height - padding\n\n const points: { x: number; y: number }[] = []\n\n data.forEach((value, index) => {\n const x = padding + (index / Math.max(data.length - 1, 1)) * effectiveWidth\n const y =\n value !== null\n ? padding + effectiveHeight - ((value - domainMin) / range) * effectiveHeight\n : baseY\n points.push({ x, y })\n })\n\n if (points.length === 0) return \"\"\n\n const firstPoint = points[0]\n const lastPoint = points[points.length - 1]\n\n if (!firstPoint || !lastPoint) return \"\"\n\n let path = `M ${firstPoint.x.toFixed(2)},${firstPoint.y.toFixed(2)}`\n for (let i = 1; i < points.length; i++) {\n const point = points[i]\n if (point) {\n path += ` L ${point.x.toFixed(2)},${point.y.toFixed(2)}`\n }\n }\n path += ` L ${lastPoint.x.toFixed(2)},${baseY.toFixed(2)}`\n path += ` L ${firstPoint.x.toFixed(2)},${baseY.toFixed(2)}`\n path += \" Z\"\n\n return path\n}\n\n/**\n * Calculate dot positions\n */\nfunction getDataPoints(\n data: (null | number)[],\n width: number,\n height: number,\n padding: number,\n domainMin: number,\n domainMax: number\n): { x: number; y: number }[] {\n if (data.length === 0) return []\n\n const range = domainMax - domainMin || 1\n const effectiveHeight = height - padding * 2\n const effectiveWidth = width - padding * 2\n\n return data\n .map((value, index) => {\n if (value === null) return null\n return {\n x: padding + (index / Math.max(data.length - 1, 1)) * effectiveWidth,\n y: padding + effectiveHeight - ((value - domainMin) / range) * effectiveHeight,\n }\n })\n .filter((p): p is { x: number; y: number } => p !== null)\n}\n\n/**\n * Sparkline - Minimal inline chart for trends\n *\n * A compact visualization designed to be displayed inline with text\n * or in space-constrained areas. Shows trend shape without axes,\n * labels, or legends.\n *\n * @example\n * ```tsx\n * // Basic single-series usage\n * <Sparkline data={[4, 8, 15, 16, 23, 42]} />\n *\n * // With trend coloring\n * <Sparkline data={[10, 15, 20, 25, 30]} showTrend />\n *\n * // Multi-series usage\n * <Sparkline\n * data={[\n * { Revenue: 100, Expenses: 80 },\n * { Revenue: 120, Expenses: 90 },\n * { Revenue: 140, Expenses: 100 },\n * ]}\n * categories={[\"Revenue\", \"Expenses\"]}\n * />\n *\n * // Stacked multi-series area\n * <Sparkline\n * data={multiSeriesData}\n * categories={[\"A\", \"B\", \"C\"]}\n * variant=\"area\"\n * stack\n * />\n * ```\n */\nexport function Sparkline({\n autoMinValue = true,\n categories,\n className,\n color,\n colors = DEFAULT_COLORS,\n connectNulls = false,\n data,\n fill = \"solid\",\n height: heightProp,\n maxValue,\n minValue,\n showDots = false,\n showEndDot = false,\n showTrend = false,\n size = \"sm\",\n stack = false,\n strokeWidth = 1.5,\n variant = \"line\",\n width: widthProp,\n ...props\n}: SparklineProps) {\n // Generate unique ID for gradients (must be before any early returns)\n const gradientId = React.useId()\n\n // Handle empty data\n if (data.length === 0) {\n return null\n }\n\n // Get dimensions\n const dimensions = SIZE_DIMENSIONS[size]\n const width = widthProp ?? dimensions.width\n const height = heightProp ?? dimensions.height\n\n // Padding for dots to not get clipped\n const padding = showDots || showEndDot ? 3 : 2\n\n // Check if multi-series mode\n const isMultiSeries = categories && categories.length > 0 && isMultiSeriesData(data)\n\n const viewBox = `0 0 ${String(width)} ${String(height)}`\n\n // MULTI-SERIES MODE\n if (isMultiSeries) {\n const multiData = data as SparklineDataPoint[]\n const effectiveCategories = categories\n\n // Calculate domain bounds across all series\n const allValues = getAllValues(multiData, effectiveCategories, stack)\n const { max: domainMax, min: domainMin } = getDomainBounds(\n allValues,\n autoMinValue,\n minValue,\n maxValue\n )\n\n // Get stacked values if stacking\n const stackedValues = stack\n ? calculateStackedValues(multiData, effectiveCategories)\n : null\n\n // Generate aria-label\n const ariaLabel = `Multi-series chart with ${String(effectiveCategories.length)} series: ${effectiveCategories.join(\", \")}`\n\n // Render based on variant\n if (variant === \"bar\") {\n return (\n <svg\n aria-label={ariaLabel}\n className={cn(\"overflow-visible\", className)}\n data-slot=\"sparkline\"\n height={height}\n role=\"img\"\n viewBox={viewBox}\n width={width}\n {...props}\n >\n <MultiSeriesBarSparkline\n categories={effectiveCategories}\n colors={colors}\n data={multiData}\n domainMax={domainMax}\n domainMin={domainMin}\n height={height}\n stack={stack}\n width={width}\n />\n </svg>\n )\n }\n\n // Line or Area variant\n return (\n <svg\n aria-label={ariaLabel}\n className={cn(\"overflow-visible\", className)}\n data-slot=\"sparkline\"\n height={height}\n role=\"img\"\n viewBox={viewBox}\n width={width}\n {...props}\n >\n {/* Gradient definitions */}\n {variant === \"area\" && fill === \"gradient\" && (\n <defs>\n {effectiveCategories.map((category, idx) => (\n <linearGradient\n key={`gradient-${category}`}\n id={`${gradientId}-${category}`}\n x1=\"0\"\n x2=\"0\"\n y1=\"0\"\n y2=\"1\"\n >\n <stop\n offset=\"0%\"\n stopColor={colors[idx % colors.length]}\n stopOpacity={0.4}\n />\n <stop\n offset=\"100%\"\n stopColor={colors[idx % colors.length]}\n stopOpacity={0.05}\n />\n </linearGradient>\n ))}\n </defs>\n )}\n\n {/* Render each category - reverse for proper z-order in stacked mode */}\n {(stack ? [...effectiveCategories].reverse() : effectiveCategories).map(\n (category, reversedIdx) => {\n const idx = stack\n ? effectiveCategories.length - 1 - reversedIdx\n : reversedIdx\n const categoryColor = colors[idx % colors.length] ?? \"currentColor\"\n\n const categoryValues = stack\n ? (stackedValues?.get(category) ?? [])\n : extractCategoryValues(multiData, category, connectNulls)\n\n // For stacked area, we need the previous category's values as bottom\n let bottomValues: number[] | undefined\n if (stack && variant === \"area\" && idx > 0) {\n const prevCategory = effectiveCategories[idx - 1]\n if (prevCategory) {\n bottomValues = stackedValues?.get(prevCategory)\n }\n }\n\n // Generate area path for stacked\n if (variant === \"area\" && fill !== \"none\" && stack) {\n const areaPath = generateStackedAreaPath(\n categoryValues as number[],\n bottomValues,\n width,\n height,\n padding,\n domainMin,\n domainMax\n )\n\n const areaFill =\n fill === \"gradient\"\n ? `url(#${gradientId}-${category})`\n : categoryColor\n\n return (\n <g key={category}>\n <path\n d={areaPath}\n fill={areaFill}\n fillOpacity={fill === \"solid\" ? 0.3 : 1}\n />\n <polyline\n points={dataToPoints(\n categoryValues,\n width,\n height,\n padding,\n domainMin,\n domainMax,\n connectNulls\n )}\n fill=\"none\"\n stroke={categoryColor}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={strokeWidth}\n />\n </g>\n )\n }\n\n // Non-stacked rendering\n const segments = connectNulls\n ? [\n dataToPoints(\n categoryValues,\n width,\n height,\n padding,\n domainMin,\n domainMax,\n true\n ),\n ]\n : dataToSegments(\n categoryValues,\n width,\n height,\n padding,\n domainMin,\n domainMax\n ).map((seg) => seg.join(\" \"))\n\n return (\n <g key={category}>\n {variant === \"area\" && fill !== \"none\" && (\n <path\n d={dataToAreaPath(\n categoryValues,\n width,\n height,\n padding,\n domainMin,\n domainMax\n )}\n fill={\n fill === \"gradient\"\n ? `url(#${gradientId}-${category})`\n : categoryColor\n }\n fillOpacity={fill === \"solid\" ? 0.2 : 1}\n />\n )}\n {segments.map((points, segIdx) => (\n <polyline\n key={`${category}-${String(segIdx)}`}\n fill=\"none\"\n points={points}\n stroke={categoryColor}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={strokeWidth}\n />\n ))}\n {showDots &&\n getDataPoints(\n categoryValues,\n width,\n height,\n padding,\n domainMin,\n domainMax\n ).map((point, dotIdx) => (\n <circle\n key={`dot-${category}-${String(dotIdx)}`}\n cx={point.x}\n cy={point.y}\n fill={categoryColor}\n r={strokeWidth + 0.5}\n />\n ))}\n </g>\n )\n }\n )}\n </svg>\n )\n }\n\n // SINGLE-SERIES MODE (original behavior)\n const singleData = data as number[]\n\n // Calculate domain bounds\n const { max: domainMax, min: domainMin } = getDomainBounds(\n singleData,\n autoMinValue,\n minValue,\n maxValue\n )\n\n // Calculate trend and color\n const trend = getTrend(singleData)\n const fillColor = getTrendColor(trend, showTrend, color)\n\n // Generate aria-label\n const trendText =\n trend === \"positive\" ? \"upward\" : trend === \"negative\" ? \"downward\" : \"stable\"\n const firstValue = String(singleData[0])\n const lastValue = String(singleData[singleData.length - 1])\n const ariaLabel = `Trend chart showing ${trendText} movement from ${firstValue} to ${lastValue}`\n\n // Render based on variant\n if (variant === \"bar\") {\n return (\n <svg\n aria-label={ariaLabel}\n className={cn(\"overflow-visible\", className)}\n data-slot=\"sparkline\"\n height={height}\n role=\"img\"\n viewBox={viewBox}\n width={width}\n {...props}\n >\n <BarSparkline\n color={fillColor}\n data={singleData}\n domainMax={domainMax}\n domainMin={domainMin}\n height={height}\n width={width}\n />\n </svg>\n )\n }\n\n const points = dataToPoints(\n singleData,\n width,\n height,\n padding,\n domainMin,\n domainMax,\n false\n )\n const dataPoints = getDataPoints(\n singleData,\n width,\n height,\n padding,\n domainMin,\n domainMax\n )\n\n // Determine area fill value\n const getAreaFill = () => {\n if (fill === \"none\") return \"none\"\n if (fill === \"gradient\") return `url(#${gradientId})`\n return fillColor // solid\n }\n\n return (\n <svg\n aria-label={ariaLabel}\n className={cn(\"overflow-visible\", className)}\n data-slot=\"sparkline\"\n height={height}\n role=\"img\"\n viewBox={viewBox}\n width={width}\n {...props}\n >\n {/* Gradient definition for area fill */}\n {variant === \"area\" && fill === \"gradient\" && (\n <defs>\n <linearGradient id={gradientId} x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" stopColor={fillColor} stopOpacity={0.4} />\n <stop offset=\"100%\" stopColor={fillColor} stopOpacity={0.05} />\n </linearGradient>\n </defs>\n )}\n\n {variant === \"area\" && fill !== \"none\" && (\n <path\n d={dataToAreaPath(\n singleData,\n width,\n height,\n padding,\n domainMin,\n domainMax\n )}\n fill={getAreaFill()}\n fillOpacity={fill === \"solid\" ? 0.2 : 1}\n />\n )}\n\n <polyline\n fill=\"none\"\n points={points}\n stroke={fillColor}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={strokeWidth}\n />\n\n {showDots &&\n dataPoints.map((point) => (\n <circle\n key={`dot-${String(point.x)}-${String(point.y)}`}\n cx={point.x}\n cy={point.y}\n fill={fillColor}\n r={strokeWidth + 0.5}\n />\n ))}\n\n {showEndDot &&\n !showDots &&\n dataPoints.length > 0 &&\n (() => {\n const lastPoint = dataPoints[dataPoints.length - 1]\n return lastPoint ? (\n <circle\n cx={lastPoint.x}\n cy={lastPoint.y}\n fill={fillColor}\n r={strokeWidth + 1}\n />\n ) : null\n })()}\n </svg>\n )\n}\n\n/**\n * Generate stacked area path between current and previous series\n */\nfunction generateStackedAreaPath(\n topValues: number[],\n bottomValues: number[] | undefined,\n width: number,\n height: number,\n padding: number,\n domainMin: number,\n domainMax: number\n): string {\n if (topValues.length === 0) return \"\"\n\n const range = domainMax - domainMin || 1\n const effectiveHeight = height - padding * 2\n const effectiveWidth = width - padding * 2\n\n const topPoints = topValues.map((value, index) => ({\n x: padding + (index / Math.max(topValues.length - 1, 1)) * effectiveWidth,\n y: padding + effectiveHeight - ((value - domainMin) / range) * effectiveHeight,\n }))\n\n const bottomPoints = bottomValues\n ? bottomValues.map((value, index) => ({\n x: padding + (index / Math.max(bottomValues.length - 1, 1)) * effectiveWidth,\n y: padding + effectiveHeight - ((value - domainMin) / range) * effectiveHeight,\n }))\n : topPoints.map((p) => ({ x: p.x, y: height - padding }))\n\n if (topPoints.length === 0) return \"\"\n\n // Start from first top point\n const firstTopPoint = topPoints[0]\n let path = `M ${firstTopPoint?.x.toFixed(2) ?? \"0\"},${firstTopPoint?.y.toFixed(2) ?? \"0\"}`\n\n // Draw top line\n for (let i = 1; i < topPoints.length; i++) {\n const point = topPoints[i]\n if (point) {\n path += ` L ${point.x.toFixed(2)},${point.y.toFixed(2)}`\n }\n }\n\n // Draw bottom line in reverse\n for (let i = bottomPoints.length - 1; i >= 0; i--) {\n const point = bottomPoints[i]\n if (point) {\n path += ` L ${point.x.toFixed(2)},${point.y.toFixed(2)}`\n }\n }\n\n path += \" Z\"\n return path\n}\n\n/**\n * Bar variant sub-component for single-series\n */\nfunction BarSparkline({\n color,\n data,\n domainMax,\n domainMin,\n height,\n width,\n}: {\n color: string\n data: number[]\n domainMax: number\n domainMin: number\n height: number\n width: number\n}) {\n const range = domainMax - domainMin || 1\n const barWidth = (width - (data.length - 1) * 1) / data.length // 1px gap\n const padding = 1\n\n return (\n <>\n {data.map((value, index) => {\n const barHeight = ((value - domainMin) / range) * (height - padding * 2)\n const x = index * (barWidth + 1)\n const y = height - padding - barHeight\n\n return (\n <rect\n key={`bar-${String(index)}-${String(value)}`}\n fill={color}\n height={Math.max(barHeight, 1)}\n rx={1}\n width={Math.max(barWidth - 1, 1)}\n x={x}\n y={y}\n />\n )\n })}\n </>\n )\n}\n\n/**\n * Bar variant sub-component for multi-series\n */\nfunction MultiSeriesBarSparkline({\n categories,\n colors,\n data,\n domainMax,\n domainMin,\n height,\n stack,\n width,\n}: {\n categories: string[]\n colors: string[]\n data: SparklineDataPoint[]\n domainMax: number\n domainMin: number\n height: number\n stack: boolean\n width: number\n}) {\n const range = domainMax - domainMin || 1\n const padding = 1\n const groupWidth = (width - (data.length - 1) * 2) / data.length // 2px gap between groups\n\n if (stack) {\n // Stacked bars\n return (\n <>\n {data.map((point, pointIndex) => {\n const x = pointIndex * (groupWidth + 2)\n let currentY = height - padding\n\n return (\n <g key={`group-${String(pointIndex)}`}>\n {categories.map((category, catIndex) => {\n const value = point[category]\n if (typeof value !== \"number\") return null\n\n const barHeight = (value / range) * (height - padding * 2)\n const y = currentY - barHeight\n currentY = y\n\n return (\n <rect\n key={`bar-${String(pointIndex)}-${category}`}\n fill={colors[catIndex % colors.length]}\n height={Math.max(barHeight, 1)}\n rx={1}\n width={Math.max(groupWidth - 1, 1)}\n x={x}\n y={y}\n />\n )\n })}\n </g>\n )\n })}\n </>\n )\n }\n\n // Grouped bars\n const barWidth = (groupWidth - (categories.length - 1) * 1) / categories.length\n\n return (\n <>\n {data.map((point, pointIndex) => {\n const groupX = pointIndex * (groupWidth + 2)\n\n return (\n <g key={`group-${String(pointIndex)}`}>\n {categories.map((category, catIndex) => {\n const value = point[category]\n if (typeof value !== \"number\") return null\n\n const barHeight = ((value - domainMin) / range) * (height - padding * 2)\n const x = groupX + catIndex * (barWidth + 1)\n const y = height - padding - barHeight\n\n return (\n <rect\n key={`bar-${String(pointIndex)}-${category}`}\n fill={colors[catIndex % colors.length]}\n height={Math.max(barHeight, 1)}\n rx={1}\n width={Math.max(barWidth - 1, 1)}\n x={x}\n y={y}\n />\n )\n })}\n </g>\n )\n })}\n </>\n )\n}\n\nSparkline.displayName = \"Sparkline\"\n"]}
1
+ {"version":3,"sources":["../src/components/data-display/Sparkline/Sparkline.tsx"],"names":["values","domainMax","domainMin","ariaLabel","points"],"mappings":"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","file":"chunk-QZ7SGO7L.js","sourcesContent":["\"use client\"\n\nimport type { SparklineData, SparklineDataPoint, SparklineProps } from \"./Sparkline.types\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\n\n/**\n * Default colors for multi-series\n */\nconst DEFAULT_COLORS = [\n \"var(--chart-1)\",\n \"var(--chart-2)\",\n \"var(--chart-3)\",\n \"var(--chart-4)\",\n \"var(--chart-5)\",\n]\n\n/**\n * Size dimensions mapping\n */\nconst SIZE_DIMENSIONS = {\n lg: { height: 32, width: 120 },\n md: { height: 24, width: 80 },\n sm: { height: 20, width: 60 },\n xs: { height: 16, width: 40 },\n} as const\n\n/**\n * Check if data is multi-series (array of objects)\n */\nfunction isMultiSeriesData(data: SparklineData): data is SparklineDataPoint[] {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Runtime type guard: data[0] could be number or object\n return data.length > 0 && typeof data[0] === \"object\" && data[0] !== null\n}\n\n/**\n * Extract numeric values for a category from multi-series data\n */\nfunction extractCategoryValues(\n data: SparklineDataPoint[],\n category: string,\n connectNulls: boolean\n): (null | number)[] {\n return data.map((point) => {\n const value = point[category]\n if (value === null || value === undefined) {\n return connectNulls ? null : null\n }\n return value\n })\n}\n\n/**\n * Calculate stacked values for multiple categories\n */\nfunction calculateStackedValues(\n data: SparklineDataPoint[],\n categories: string[]\n): Map<string, number[]> {\n const stackedMap = new Map<string, number[]>()\n\n categories.forEach((category, categoryIndex) => {\n const values = data.map((point, _pointIndex) => {\n let stackedValue = 0\n for (let i = 0; i <= categoryIndex; i++) {\n const cat = categories[i]\n if (cat) {\n const val = point[cat]\n if (typeof val === \"number\") {\n stackedValue += val\n }\n }\n }\n return stackedValue\n })\n stackedMap.set(category, values)\n })\n\n return stackedMap\n}\n\n/**\n * Calculate trend based on first and last data points\n */\nfunction getTrend(data: number[]): \"negative\" | \"neutral\" | \"positive\" {\n if (data.length < 2) return \"neutral\"\n const first = data[0] ?? 0\n const last = data[data.length - 1] ?? 0\n if (last > first) return \"positive\"\n if (last < first) return \"negative\"\n return \"neutral\"\n}\n\n/**\n * Get color based on trend or explicit color prop\n */\nfunction getTrendColor(\n trend: \"negative\" | \"neutral\" | \"positive\",\n showTrend: boolean,\n explicitColor?: string\n): string {\n if (explicitColor) return explicitColor\n if (!showTrend) return \"currentColor\"\n\n switch (trend) {\n case \"positive\":\n return \"var(--color-success)\"\n case \"negative\":\n return \"var(--color-destructive)\"\n default:\n return \"var(--color-muted-foreground)\"\n }\n}\n\n/**\n * Calculate domain bounds\n */\nfunction getDomainBounds(\n values: number[],\n autoMinValue: boolean,\n minValue?: number,\n maxValue?: number\n): { max: number; min: number; } {\n const dataMin = Math.min(...values)\n const dataMax = Math.max(...values)\n\n const min = minValue ?? (autoMinValue ? dataMin : 0)\n const max = maxValue ?? dataMax\n\n return { min, max }\n}\n\n/**\n * Get all numeric values from multi-series data (for domain calculation)\n */\nfunction getAllValues(\n data: SparklineDataPoint[],\n categories: string[],\n stack: boolean\n): number[] {\n if (stack) {\n // For stacked, get the max stacked values\n const stackedMap = calculateStackedValues(data, categories)\n const allStackedValues: number[] = []\n stackedMap.forEach((values) => {\n allStackedValues.push(...values)\n })\n return allStackedValues.filter((v) => !Number.isNaN(v))\n }\n\n const values: number[] = []\n data.forEach((point) => {\n categories.forEach((category) => {\n const value = point[category]\n if (typeof value === \"number\" && !Number.isNaN(value)) {\n values.push(value)\n }\n })\n })\n return values\n}\n\n/**\n * Convert data array to SVG path points\n */\nfunction dataToPoints(\n data: (null | number)[],\n width: number,\n height: number,\n padding: number,\n domainMin: number,\n domainMax: number,\n connectNulls: boolean\n): string {\n if (data.length === 0) return \"\"\n\n const range = domainMax - domainMin || 1\n const effectiveHeight = height - padding * 2\n const effectiveWidth = width - padding * 2\n\n const validPoints: { x: number; y: number }[] = []\n\n data.forEach((value, index) => {\n if (value === null) {\n if (!connectNulls) return\n return // Skip null for connectNulls, but polyline handles gaps\n }\n const x = padding + (index / Math.max(data.length - 1, 1)) * effectiveWidth\n const y = padding + effectiveHeight - ((value - domainMin) / range) * effectiveHeight\n validPoints.push({ x, y })\n })\n\n return validPoints.map((p) => `${p.x.toFixed(2)},${p.y.toFixed(2)}`).join(\" \")\n}\n\n/**\n * Generate segments for line with null handling\n */\nfunction dataToSegments(\n data: (null | number)[],\n width: number,\n height: number,\n padding: number,\n domainMin: number,\n domainMax: number\n): string[][] {\n if (data.length === 0) return []\n\n const range = domainMax - domainMin || 1\n const effectiveHeight = height - padding * 2\n const effectiveWidth = width - padding * 2\n\n const segments: string[][] = []\n let currentSegment: string[] = []\n\n data.forEach((value, index) => {\n if (value === null) {\n if (currentSegment.length > 0) {\n segments.push(currentSegment)\n currentSegment = []\n }\n return\n }\n\n const x = padding + (index / Math.max(data.length - 1, 1)) * effectiveWidth\n const y = padding + effectiveHeight - ((value - domainMin) / range) * effectiveHeight\n currentSegment.push(`${x.toFixed(2)},${y.toFixed(2)}`)\n })\n\n if (currentSegment.length > 0) {\n segments.push(currentSegment)\n }\n\n return segments\n}\n\n/**\n * Generate area path (closed polygon for fill)\n */\nfunction dataToAreaPath(\n data: (null | number)[],\n width: number,\n height: number,\n padding: number,\n domainMin: number,\n domainMax: number,\n bottomY?: number\n): string {\n if (data.length === 0) return \"\"\n\n const range = domainMax - domainMin || 1\n const effectiveHeight = height - padding * 2\n const effectiveWidth = width - padding * 2\n const baseY = bottomY ?? height - padding\n\n const points: { x: number; y: number }[] = []\n\n data.forEach((value, index) => {\n const x = padding + (index / Math.max(data.length - 1, 1)) * effectiveWidth\n const y =\n value !== null\n ? padding + effectiveHeight - ((value - domainMin) / range) * effectiveHeight\n : baseY\n points.push({ x, y })\n })\n\n if (points.length === 0) return \"\"\n\n const firstPoint = points[0]\n const lastPoint = points[points.length - 1]\n\n if (!firstPoint || !lastPoint) return \"\"\n\n let path = `M ${firstPoint.x.toFixed(2)},${firstPoint.y.toFixed(2)}`\n for (let i = 1; i < points.length; i++) {\n const point = points[i]\n if (point) {\n path += ` L ${point.x.toFixed(2)},${point.y.toFixed(2)}`\n }\n }\n path += ` L ${lastPoint.x.toFixed(2)},${baseY.toFixed(2)}`\n path += ` L ${firstPoint.x.toFixed(2)},${baseY.toFixed(2)}`\n path += \" Z\"\n\n return path\n}\n\n/**\n * Calculate dot positions\n */\nfunction getDataPoints(\n data: (null | number)[],\n width: number,\n height: number,\n padding: number,\n domainMin: number,\n domainMax: number\n): { x: number; y: number }[] {\n if (data.length === 0) return []\n\n const range = domainMax - domainMin || 1\n const effectiveHeight = height - padding * 2\n const effectiveWidth = width - padding * 2\n\n return data\n .map((value, index) => {\n if (value === null) return null\n return {\n x: padding + (index / Math.max(data.length - 1, 1)) * effectiveWidth,\n y: padding + effectiveHeight - ((value - domainMin) / range) * effectiveHeight,\n }\n })\n .filter((p): p is { x: number; y: number } => p !== null)\n}\n\n/**\n * Sparkline - Minimal inline chart for trends\n *\n * A compact visualization designed to be displayed inline with text\n * or in space-constrained areas. Shows trend shape without axes,\n * labels, or legends.\n *\n * @example\n * ```tsx\n * // Basic single-series usage\n * <Sparkline data={[4, 8, 15, 16, 23, 42]} />\n *\n * // With trend coloring\n * <Sparkline data={[10, 15, 20, 25, 30]} showTrend />\n *\n * // Multi-series usage\n * <Sparkline\n * data={[\n * { Revenue: 100, Expenses: 80 },\n * { Revenue: 120, Expenses: 90 },\n * { Revenue: 140, Expenses: 100 },\n * ]}\n * categories={[\"Revenue\", \"Expenses\"]}\n * />\n *\n * // Stacked multi-series area\n * <Sparkline\n * data={multiSeriesData}\n * categories={[\"A\", \"B\", \"C\"]}\n * variant=\"area\"\n * stack\n * />\n * ```\n */\nexport function Sparkline({\n autoMinValue = true,\n categories,\n className,\n color,\n colors = DEFAULT_COLORS,\n connectNulls = false,\n data,\n fill = \"solid\",\n height: heightProp,\n maxValue,\n minValue,\n showDots = false,\n showEndDot = false,\n showTrend = false,\n size = \"sm\",\n stack = false,\n strokeWidth = 1.5,\n variant = \"line\",\n width: widthProp,\n ...props\n}: SparklineProps) {\n // Generate unique ID for gradients (must be before any early returns)\n const gradientId = React.useId()\n\n // Handle empty data\n if (data.length === 0) {\n return null\n }\n\n // Get dimensions\n const dimensions = SIZE_DIMENSIONS[size]\n const width = widthProp ?? dimensions.width\n const height = heightProp ?? dimensions.height\n\n // Padding for dots to not get clipped\n const padding = showDots || showEndDot ? 3 : 2\n\n // Check if multi-series mode\n const isMultiSeries = categories && categories.length > 0 && isMultiSeriesData(data)\n\n const viewBox = `0 0 ${String(width)} ${String(height)}`\n\n // MULTI-SERIES MODE\n if (isMultiSeries) {\n const multiData = data as SparklineDataPoint[]\n const effectiveCategories = categories\n\n // Calculate domain bounds across all series\n const allValues = getAllValues(multiData, effectiveCategories, stack)\n const { max: domainMax, min: domainMin } = getDomainBounds(\n allValues,\n autoMinValue,\n minValue,\n maxValue\n )\n\n // Get stacked values if stacking\n const stackedValues = stack\n ? calculateStackedValues(multiData, effectiveCategories)\n : null\n\n // Generate aria-label\n const ariaLabel = `Multi-series chart with ${String(effectiveCategories.length)} series: ${effectiveCategories.join(\", \")}`\n\n // Render based on variant\n if (variant === \"bar\") {\n return (\n <svg\n aria-label={ariaLabel}\n className={cn(\"overflow-visible\", className)}\n data-slot=\"sparkline\"\n height={height}\n role=\"img\"\n viewBox={viewBox}\n width={width}\n {...props}\n >\n <MultiSeriesBarSparkline\n categories={effectiveCategories}\n colors={colors}\n data={multiData}\n domainMax={domainMax}\n domainMin={domainMin}\n height={height}\n stack={stack}\n width={width}\n />\n </svg>\n )\n }\n\n // Line or Area variant\n return (\n <svg\n aria-label={ariaLabel}\n className={cn(\"overflow-visible\", className)}\n data-slot=\"sparkline\"\n height={height}\n role=\"img\"\n viewBox={viewBox}\n width={width}\n {...props}\n >\n {/* Gradient definitions */}\n {variant === \"area\" && fill === \"gradient\" && (\n <defs>\n {effectiveCategories.map((category, idx) => (\n <linearGradient\n key={`gradient-${category}`}\n id={`${gradientId}-${category}`}\n x1=\"0\"\n x2=\"0\"\n y1=\"0\"\n y2=\"1\"\n >\n <stop\n offset=\"0%\"\n stopColor={colors[idx % colors.length]}\n stopOpacity={0.4}\n />\n <stop\n offset=\"100%\"\n stopColor={colors[idx % colors.length]}\n stopOpacity={0.05}\n />\n </linearGradient>\n ))}\n </defs>\n )}\n\n {/* Render each category - reverse for proper z-order in stacked mode */}\n {(stack ? [...effectiveCategories].reverse() : effectiveCategories).map(\n (category, reversedIdx) => {\n const idx = stack\n ? effectiveCategories.length - 1 - reversedIdx\n : reversedIdx\n const categoryColor = colors[idx % colors.length] ?? \"currentColor\"\n\n const categoryValues = stack\n ? (stackedValues?.get(category) ?? [])\n : extractCategoryValues(multiData, category, connectNulls)\n\n // For stacked area, we need the previous category's values as bottom\n let bottomValues: number[] | undefined\n if (stack && variant === \"area\" && idx > 0) {\n const prevCategory = effectiveCategories[idx - 1]\n if (prevCategory) {\n bottomValues = stackedValues?.get(prevCategory)\n }\n }\n\n // Generate area path for stacked\n if (variant === \"area\" && fill !== \"none\" && stack) {\n const areaPath = generateStackedAreaPath(\n categoryValues as number[],\n bottomValues,\n width,\n height,\n padding,\n domainMin,\n domainMax\n )\n\n const areaFill =\n fill === \"gradient\"\n ? `url(#${gradientId}-${category})`\n : categoryColor\n\n return (\n <g key={category}>\n <path\n d={areaPath}\n fill={areaFill}\n fillOpacity={fill === \"solid\" ? 0.3 : 1}\n />\n <polyline\n points={dataToPoints(\n categoryValues,\n width,\n height,\n padding,\n domainMin,\n domainMax,\n connectNulls\n )}\n fill=\"none\"\n stroke={categoryColor}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={strokeWidth}\n />\n </g>\n )\n }\n\n // Non-stacked rendering\n const segments = connectNulls\n ? [\n dataToPoints(\n categoryValues,\n width,\n height,\n padding,\n domainMin,\n domainMax,\n true\n ),\n ]\n : dataToSegments(\n categoryValues,\n width,\n height,\n padding,\n domainMin,\n domainMax\n ).map((seg) => seg.join(\" \"))\n\n return (\n <g key={category}>\n {variant === \"area\" && fill !== \"none\" && (\n <path\n d={dataToAreaPath(\n categoryValues,\n width,\n height,\n padding,\n domainMin,\n domainMax\n )}\n fill={\n fill === \"gradient\"\n ? `url(#${gradientId}-${category})`\n : categoryColor\n }\n fillOpacity={fill === \"solid\" ? 0.2 : 1}\n />\n )}\n {segments.map((points, segIdx) => (\n <polyline\n key={`${category}-${String(segIdx)}`}\n fill=\"none\"\n points={points}\n stroke={categoryColor}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={strokeWidth}\n />\n ))}\n {showDots &&\n getDataPoints(\n categoryValues,\n width,\n height,\n padding,\n domainMin,\n domainMax\n ).map((point, dotIdx) => (\n <circle\n key={`dot-${category}-${String(dotIdx)}`}\n cx={point.x}\n cy={point.y}\n fill={categoryColor}\n r={strokeWidth + 0.5}\n />\n ))}\n </g>\n )\n }\n )}\n </svg>\n )\n }\n\n // SINGLE-SERIES MODE (original behavior)\n const singleData = data as number[]\n\n // Calculate domain bounds\n const { max: domainMax, min: domainMin } = getDomainBounds(\n singleData,\n autoMinValue,\n minValue,\n maxValue\n )\n\n // Calculate trend and color\n const trend = getTrend(singleData)\n const fillColor = getTrendColor(trend, showTrend, color)\n\n // Generate aria-label\n const trendText =\n trend === \"positive\" ? \"upward\" : trend === \"negative\" ? \"downward\" : \"stable\"\n const firstValue = String(singleData[0])\n const lastValue = String(singleData[singleData.length - 1])\n const ariaLabel = `Trend chart showing ${trendText} movement from ${firstValue} to ${lastValue}`\n\n // Render based on variant\n if (variant === \"bar\") {\n return (\n <svg\n aria-label={ariaLabel}\n className={cn(\"overflow-visible\", className)}\n data-slot=\"sparkline\"\n height={height}\n role=\"img\"\n viewBox={viewBox}\n width={width}\n {...props}\n >\n <BarSparkline\n color={fillColor}\n data={singleData}\n domainMax={domainMax}\n domainMin={domainMin}\n height={height}\n width={width}\n />\n </svg>\n )\n }\n\n const points = dataToPoints(\n singleData,\n width,\n height,\n padding,\n domainMin,\n domainMax,\n false\n )\n const dataPoints = getDataPoints(\n singleData,\n width,\n height,\n padding,\n domainMin,\n domainMax\n )\n\n // Determine area fill value\n const getAreaFill = () => {\n if (fill === \"none\") return \"none\"\n if (fill === \"gradient\") return `url(#${gradientId})`\n return fillColor // solid\n }\n\n return (\n <svg\n aria-label={ariaLabel}\n className={cn(\"overflow-visible\", className)}\n data-slot=\"sparkline\"\n height={height}\n role=\"img\"\n viewBox={viewBox}\n width={width}\n {...props}\n >\n {/* Gradient definition for area fill */}\n {variant === \"area\" && fill === \"gradient\" && (\n <defs>\n <linearGradient id={gradientId} x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" stopColor={fillColor} stopOpacity={0.4} />\n <stop offset=\"100%\" stopColor={fillColor} stopOpacity={0.05} />\n </linearGradient>\n </defs>\n )}\n\n {variant === \"area\" && fill !== \"none\" && (\n <path\n d={dataToAreaPath(\n singleData,\n width,\n height,\n padding,\n domainMin,\n domainMax\n )}\n fill={getAreaFill()}\n fillOpacity={fill === \"solid\" ? 0.2 : 1}\n />\n )}\n\n <polyline\n fill=\"none\"\n points={points}\n stroke={fillColor}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={strokeWidth}\n />\n\n {showDots &&\n dataPoints.map((point) => (\n <circle\n key={`dot-${String(point.x)}-${String(point.y)}`}\n cx={point.x}\n cy={point.y}\n fill={fillColor}\n r={strokeWidth + 0.5}\n />\n ))}\n\n {showEndDot &&\n !showDots &&\n dataPoints.length > 0 &&\n (() => {\n const lastPoint = dataPoints[dataPoints.length - 1]\n return lastPoint ? (\n <circle\n cx={lastPoint.x}\n cy={lastPoint.y}\n fill={fillColor}\n r={strokeWidth + 1}\n />\n ) : null\n })()}\n </svg>\n )\n}\n\n/**\n * Generate stacked area path between current and previous series\n */\nfunction generateStackedAreaPath(\n topValues: number[],\n bottomValues: number[] | undefined,\n width: number,\n height: number,\n padding: number,\n domainMin: number,\n domainMax: number\n): string {\n if (topValues.length === 0) return \"\"\n\n const range = domainMax - domainMin || 1\n const effectiveHeight = height - padding * 2\n const effectiveWidth = width - padding * 2\n\n const topPoints = topValues.map((value, index) => ({\n x: padding + (index / Math.max(topValues.length - 1, 1)) * effectiveWidth,\n y: padding + effectiveHeight - ((value - domainMin) / range) * effectiveHeight,\n }))\n\n const bottomPoints = bottomValues\n ? bottomValues.map((value, index) => ({\n x: padding + (index / Math.max(bottomValues.length - 1, 1)) * effectiveWidth,\n y: padding + effectiveHeight - ((value - domainMin) / range) * effectiveHeight,\n }))\n : topPoints.map((p) => ({ x: p.x, y: height - padding }))\n\n if (topPoints.length === 0) return \"\"\n\n // Start from first top point\n const firstTopPoint = topPoints[0]\n let path = `M ${firstTopPoint?.x.toFixed(2) ?? \"0\"},${firstTopPoint?.y.toFixed(2) ?? \"0\"}`\n\n // Draw top line\n for (let i = 1; i < topPoints.length; i++) {\n const point = topPoints[i]\n if (point) {\n path += ` L ${point.x.toFixed(2)},${point.y.toFixed(2)}`\n }\n }\n\n // Draw bottom line in reverse\n for (let i = bottomPoints.length - 1; i >= 0; i--) {\n const point = bottomPoints[i]\n if (point) {\n path += ` L ${point.x.toFixed(2)},${point.y.toFixed(2)}`\n }\n }\n\n path += \" Z\"\n return path\n}\n\n/**\n * Bar variant sub-component for single-series\n */\nfunction BarSparkline({\n color,\n data,\n domainMax,\n domainMin,\n height,\n width,\n}: {\n color: string\n data: number[]\n domainMax: number\n domainMin: number\n height: number\n width: number\n}) {\n const range = domainMax - domainMin || 1\n const barWidth = (width - (data.length - 1) * 1) / data.length // 1px gap\n const padding = 1\n\n return (\n <>\n {data.map((value, index) => {\n const barHeight = ((value - domainMin) / range) * (height - padding * 2)\n const x = index * (barWidth + 1)\n const y = height - padding - barHeight\n\n return (\n <rect\n key={`bar-${String(index)}-${String(value)}`}\n fill={color}\n height={Math.max(barHeight, 1)}\n rx={1}\n width={Math.max(barWidth - 1, 1)}\n x={x}\n y={y}\n />\n )\n })}\n </>\n )\n}\n\n/**\n * Bar variant sub-component for multi-series\n */\nfunction MultiSeriesBarSparkline({\n categories,\n colors,\n data,\n domainMax,\n domainMin,\n height,\n stack,\n width,\n}: {\n categories: string[]\n colors: string[]\n data: SparklineDataPoint[]\n domainMax: number\n domainMin: number\n height: number\n stack: boolean\n width: number\n}) {\n const range = domainMax - domainMin || 1\n const padding = 1\n const groupWidth = (width - (data.length - 1) * 2) / data.length // 2px gap between groups\n\n if (stack) {\n // Stacked bars\n return (\n <>\n {data.map((point, pointIndex) => {\n const x = pointIndex * (groupWidth + 2)\n let currentY = height - padding\n\n return (\n <g key={`group-${String(pointIndex)}`}>\n {categories.map((category, catIndex) => {\n const value = point[category]\n if (typeof value !== \"number\") return null\n\n const barHeight = (value / range) * (height - padding * 2)\n const y = currentY - barHeight\n currentY = y\n\n return (\n <rect\n key={`bar-${String(pointIndex)}-${category}`}\n fill={colors[catIndex % colors.length]}\n height={Math.max(barHeight, 1)}\n rx={1}\n width={Math.max(groupWidth - 1, 1)}\n x={x}\n y={y}\n />\n )\n })}\n </g>\n )\n })}\n </>\n )\n }\n\n // Grouped bars\n const barWidth = (groupWidth - (categories.length - 1) * 1) / categories.length\n\n return (\n <>\n {data.map((point, pointIndex) => {\n const groupX = pointIndex * (groupWidth + 2)\n\n return (\n <g key={`group-${String(pointIndex)}`}>\n {categories.map((category, catIndex) => {\n const value = point[category]\n if (typeof value !== \"number\") return null\n\n const barHeight = ((value - domainMin) / range) * (height - padding * 2)\n const x = groupX + catIndex * (barWidth + 1)\n const y = height - padding - barHeight\n\n return (\n <rect\n key={`bar-${String(pointIndex)}-${category}`}\n fill={colors[catIndex % colors.length]}\n height={Math.max(barHeight, 1)}\n rx={1}\n width={Math.max(barWidth - 1, 1)}\n x={x}\n y={y}\n />\n )\n })}\n </g>\n )\n })}\n </>\n )\n}\n\nSparkline.displayName = \"Sparkline\"\n"]}
@@ -1,7 +1,7 @@
1
- import { Label } from './chunk-KA7747GR.js';
2
- import { Checkbox } from './chunk-XETKCF73.js';
3
- import { Button } from './chunk-X5XP5QVO.js';
4
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { Label } from './chunk-7Y325TBV.js';
2
+ import { Checkbox } from './chunk-JXEIRIU4.js';
3
+ import { Button } from './chunk-L4OQ6BJ5.js';
4
+ import { cn } from './chunk-RVAYDRMA.js';
5
5
  import { cva } from 'class-variance-authority';
6
6
  import { Loader2, AlertCircle, ArrowLeft, ArrowRight, Check, Settings2, Table2, Filter, Eye, Clock, Download, Printer, FileJson, FileSpreadsheet, FileText, Calendar } from 'lucide-react';
7
7
  import { useId, useState, useMemo, useCallback } from 'react';
@@ -991,5 +991,5 @@ function ReportGenerator({
991
991
  }
992
992
 
993
993
  export { ReportGenerator, configSectionVariants, errorStateVariants, exportButtonGroupVariants, formActionsVariants, loadingStateVariants, previewContainerVariants, previewContentVariants, previewHeaderVariants, reportGeneratorVariants, stepBadgeVariants, stepIndicatorVariants, stepItemVariants, templateCardVariants, templateGridVariants };
994
- //# sourceMappingURL=chunk-XORDGKZI.js.map
995
- //# sourceMappingURL=chunk-XORDGKZI.js.map
994
+ //# sourceMappingURL=chunk-R42LSLJL.js.map
995
+ //# sourceMappingURL=chunk-R42LSLJL.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/workflow/ReportGenerator/ReportGenerator.variants.ts","../src/components/workflow/ReportGenerator/ReportGenerator.tsx"],"names":["FilterIcon"],"mappings":"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","file":"chunk-XORDGKZI.js","sourcesContent":["/* eslint-disable sonarjs/no-duplicate-string -- Tailwind classes are intentionally duplicated across variants */\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * ReportGenerator container variants\n */\nexport const reportGeneratorVariants = cva(\n [\n \"relative\",\n \"rounded-lg\",\n \"border\",\n \"border-border\",\n \"bg-card\",\n \"text-card-foreground\",\n ],\n {\n variants: {\n size: {\n default: \"p-6\",\n sm: \"p-4\",\n lg: \"p-8\",\n },\n layout: {\n default: \"\",\n compact: \"max-w-2xl\",\n full: \"w-full\",\n },\n },\n defaultVariants: {\n size: \"default\",\n layout: \"default\",\n },\n }\n)\n\n/**\n * Step indicator variants\n */\nexport const stepIndicatorVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"mb-6\",\n \"pb-6\",\n \"border-b\",\n \"border-border\",\n ],\n {\n variants: {\n size: {\n default: \"gap-4\",\n sm: \"gap-3\",\n lg: \"gap-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Step item variants\n */\nexport const stepItemVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"gap-2\",\n \"transition-colors\",\n \"duration-200\",\n ],\n {\n variants: {\n state: {\n pending: \"text-muted-foreground\",\n active: \"text-primary\",\n complete: \"text-success\",\n },\n clickable: {\n true: \"cursor-pointer hover:text-primary\",\n false: \"\",\n },\n },\n defaultVariants: {\n state: \"pending\",\n clickable: false,\n },\n }\n)\n\n/**\n * Step badge variants\n */\nexport const stepBadgeVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-center\",\n \"rounded-full\",\n \"font-medium\",\n \"transition-colors\",\n \"duration-200\",\n ],\n {\n variants: {\n state: {\n pending: \"bg-muted text-muted-foreground\",\n active: \"bg-primary text-primary-foreground\",\n complete: \"bg-success text-success-foreground\",\n },\n size: {\n default: \"h-8 w-8 text-sm\",\n sm: \"h-6 w-6 text-xs\",\n lg: \"h-10 w-10 text-base\",\n },\n },\n defaultVariants: {\n state: \"pending\",\n size: \"default\",\n },\n }\n)\n\n/**\n * Template grid variants\n */\nexport const templateGridVariants = cva(\n [\n \"grid\",\n \"gap-4\",\n ],\n {\n variants: {\n columns: {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-1 sm:grid-cols-2\",\n 3: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3\",\n 4: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4\",\n },\n },\n defaultVariants: {\n columns: 3,\n },\n }\n)\n\n/**\n * Template card variants\n */\nexport const templateCardVariants = cva(\n [\n \"rounded-lg\",\n \"border\",\n \"border-border\",\n \"bg-background\",\n \"p-4\",\n \"cursor-pointer\",\n \"transition-all\",\n \"duration-200\",\n ],\n {\n variants: {\n state: {\n default: \"hover:border-primary/50 hover:shadow-sm\",\n selected: \"border-primary ring-2 ring-primary/20\",\n },\n },\n defaultVariants: {\n state: \"default\",\n },\n }\n)\n\n/**\n * Configuration section variants\n */\nexport const configSectionVariants = cva(\n [\n \"space-y-4\",\n ],\n {\n variants: {\n size: {\n default: \"mb-6\",\n sm: \"mb-4\",\n lg: \"mb-8\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Preview container variants\n */\nexport const previewContainerVariants = cva(\n [\n \"rounded-lg\",\n \"border\",\n \"border-border\",\n \"bg-muted/30\",\n \"overflow-hidden\",\n ],\n {\n variants: {\n size: {\n default: \"min-h-96\",\n sm: \"min-h-72\",\n lg: \"min-h-[var(--report-generator-root-min-height-lg)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Preview header variants\n */\nexport const previewHeaderVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-between\",\n \"border-b\",\n \"border-border\",\n \"bg-card\",\n ],\n {\n variants: {\n size: {\n default: \"px-4 py-3\",\n sm: \"px-3 py-2\",\n lg: \"px-6 py-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Preview content variants\n */\nexport const previewContentVariants = cva(\n [\n \"overflow-auto\",\n ],\n {\n variants: {\n size: {\n default: \"p-4 max-h-96\",\n sm: \"p-3 max-h-72\",\n lg: \"p-6 max-h-[var(--report-generator-output-max-height-lg)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Export button group variants\n */\nexport const exportButtonGroupVariants = cva(\n [\n \"flex\",\n \"flex-wrap\",\n \"gap-2\",\n ],\n {\n variants: {\n align: {\n start: \"justify-start\",\n center: \"justify-center\",\n end: \"justify-end\",\n },\n },\n defaultVariants: {\n align: \"end\",\n },\n }\n)\n\n/**\n * Form actions variants\n */\nexport const formActionsVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"gap-3\",\n \"pt-6\",\n \"border-t\",\n \"border-border\",\n ],\n {\n variants: {\n align: {\n start: \"justify-start\",\n between: \"justify-between\",\n end: \"justify-end\",\n },\n },\n defaultVariants: {\n align: \"between\",\n },\n }\n)\n\n/**\n * Loading state variants\n */\nexport const loadingStateVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"items-center\",\n \"justify-center\",\n \"text-center\",\n ],\n {\n variants: {\n size: {\n default: \"py-16 gap-4\",\n sm: \"py-12 gap-3\",\n lg: \"py-20 gap-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Error state variants\n */\nexport const errorStateVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"items-center\",\n \"justify-center\",\n \"text-center\",\n \"text-destructive\",\n ],\n {\n variants: {\n size: {\n default: \"py-16 gap-4\",\n sm: \"py-12 gap-3\",\n lg: \"py-20 gap-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nexport type ReportGeneratorVariantProps = VariantProps<\n typeof reportGeneratorVariants\n>\nexport type StepIndicatorVariantProps = VariantProps<\n typeof stepIndicatorVariants\n>\nexport type StepBadgeVariantProps = VariantProps<typeof stepBadgeVariants>\nexport type TemplateCardVariantProps = VariantProps<typeof templateCardVariants>\nexport type PreviewContainerVariantProps = VariantProps<\n typeof previewContainerVariants\n>\n","import type {\n ColumnDefinition,\n ExportFormat,\n ReportConfig,\n ReportGeneratorProps,\n ReportGeneratorState,\n ReportTemplate,\n ScheduleConfig,\n} from \"./ReportGenerator.types\"\nimport type { KeyboardEvent } from \"react\"\n\nimport {\n AlertCircle,\n ArrowLeft,\n ArrowRight,\n Calendar,\n Check,\n Clock,\n Download,\n Eye,\n FileJson,\n FileSpreadsheet,\n FileText,\n Filter as FilterIcon,\n Loader2,\n Printer,\n Settings2,\n Table2,\n} from \"lucide-react\"\nimport { useCallback, useId, useMemo, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Checkbox } from \"../../forms/Checkbox\"\nimport { Button } from \"../../primitives/Button\"\nimport { Label } from \"../../primitives/Label\"\nimport {\n configSectionVariants,\n errorStateVariants,\n exportButtonGroupVariants,\n formActionsVariants,\n loadingStateVariants,\n previewContainerVariants,\n previewContentVariants,\n previewHeaderVariants,\n reportGeneratorVariants,\n stepBadgeVariants,\n stepIndicatorVariants,\n stepItemVariants,\n templateCardVariants,\n templateGridVariants,\n} from \"./ReportGenerator.variants\"\n\n/**\n * Step definitions\n */\nconst STEPS = [\n { label: \"Selecionar Template\", description: \"Escolha o tipo de relatório\" },\n { label: \"Configurar\", description: \"Defina filtros e colunas\" },\n { label: \"Visualizar\", description: \"Prévia do relatório\" },\n { label: \"Exportar\", description: \"Baixe o relatório\" },\n] as const\n\n/**\n * Export format labels and icons\n */\nconst EXPORT_FORMAT_INFO: Record<\n ExportFormat,\n { icon: React.ComponentType<{ className?: string }>; label: string; }\n> = {\n pdf: { label: \"PDF\", icon: FileText },\n xlsx: { label: \"Excel\", icon: FileSpreadsheet },\n csv: { label: \"CSV\", icon: Table2 },\n json: { label: \"JSON\", icon: FileJson },\n print: { label: \"Imprimir\", icon: Printer },\n}\n\n/**\n * StepIndicator displays the current progress through the wizard\n */\nfunction StepIndicator({\n currentStep,\n completedSteps,\n onStepClick,\n}: {\n completedSteps: number[]\n currentStep: number\n onStepClick?: (step: number) => void\n}) {\n return (\n <div\n aria-label=\"Etapas do gerador de relatórios\"\n className={stepIndicatorVariants()}\n role=\"navigation\"\n >\n {STEPS.map((step, index) => {\n const isComplete = completedSteps.includes(index)\n const isActive = index === currentStep\n const isClickable = onStepClick && (isComplete || index < currentStep)\n\n const handleClick = () => {\n if (isClickable) {\n onStepClick(index)\n }\n }\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (isClickable && (e.key === \"Enter\" || e.key === \" \")) {\n e.preventDefault()\n onStepClick(index)\n }\n }\n\n return (\n <div\n key={step.label}\n className={cn(\n stepItemVariants({\n state: isComplete ? \"complete\" : isActive ? \"active\" : \"pending\",\n clickable: isClickable,\n }),\n index > 0 && \"flex-1\"\n )}\n aria-current={isActive ? \"step\" : undefined}\n role={isClickable ? \"button\" : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {index > 0 && (\n <div\n className={cn(\n \"h-px flex-1 mr-2\",\n isComplete || isActive ? \"bg-primary\" : \"bg-border\"\n )}\n />\n )}\n <div\n className={stepBadgeVariants({\n state: isComplete ? \"complete\" : isActive ? \"active\" : \"pending\",\n })}\n >\n {isComplete ? <Check className=\"h-4 w-4\" /> : index + 1}\n </div>\n <div className=\"hidden sm:block\">\n <div className=\"text-sm font-medium\">{step.label}</div>\n <div className=\"text-xs text-muted-foreground\">\n {step.description}\n </div>\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n\n/**\n * TemplateSelector displays available templates for selection\n */\nfunction TemplateSelector({\n templates,\n selectedTemplate,\n onSelect,\n}: {\n onSelect: (templateId: string) => void\n selectedTemplate?: string\n templates: ReportTemplate[]\n}) {\n const groupedTemplates = useMemo(() => {\n const groups: Record<string, ReportTemplate[]> = {}\n for (const template of templates) {\n const category = template.category\n groups[category] ??= []\n groups[category].push(template)\n }\n return groups\n }, [templates])\n\n const handleTemplateClick = (templateId: string) => {\n onSelect(templateId)\n }\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>, templateId: string) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n onSelect(templateId)\n }\n }\n\n return (\n <div aria-label=\"Templates disponíveis\" className=\"space-y-6\" role=\"listbox\">\n {Object.entries(groupedTemplates).map(([category, categoryTemplates]) => (\n <div key={category} className=\"space-y-3\">\n <h3 className=\"text-sm font-medium text-muted-foreground\">\n {category}\n </h3>\n <div className={templateGridVariants()}>\n {categoryTemplates.map((template) => {\n const isSelected = selectedTemplate === template.id\n return (\n <div\n key={template.id}\n className={templateCardVariants({\n state: isSelected ? \"selected\" : \"default\",\n })}\n aria-selected={isSelected}\n role=\"option\"\n tabIndex={0}\n onClick={() => { handleTemplateClick(template.id); }}\n onKeyDown={(e) => { handleKeyDown(e, template.id); }}\n >\n <div className=\"flex items-start gap-3\">\n {template.icon && (\n <div className=\"shrink-0 text-primary\">{template.icon}</div>\n )}\n <div className=\"flex-1 min-w-0\">\n <div className=\"font-medium\">{template.name}</div>\n <div className=\"text-sm text-muted-foreground line-clamp-2\">\n {template.description}\n </div>\n <div className=\"mt-2 text-xs text-muted-foreground\">\n {template.columns.length} colunas\n </div>\n </div>\n {isSelected && (\n <Check className=\"h-5 w-5 text-primary shrink-0\" />\n )}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n ))}\n </div>\n )\n}\n\n/**\n * ConfigurationForm allows configuring the report\n */\nfunction ConfigurationForm({\n template,\n config,\n onChange,\n showSchedule,\n}: {\n config: Partial<ReportConfig>\n onChange: (config: Partial<ReportConfig>) => void\n showSchedule?: boolean\n template: ReportTemplate\n}) {\n const formId = useId()\n\n const handleColumnToggle = (columnId: string, checked: boolean) => {\n const currentColumns = config.columns ?? template.columns.map((c) => c.id)\n const newColumns = checked\n ? [...currentColumns, columnId]\n : currentColumns.filter((id) => id !== columnId)\n onChange({ ...config, columns: newColumns })\n }\n\n const handleTitleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange({ ...config, title: e.target.value })\n }\n\n const handleIncludeChartsChange = (checked: boolean) => {\n onChange({ ...config, includeCharts: checked })\n }\n\n const handleIncludeSummaryChange = (checked: boolean) => {\n onChange({ ...config, includeSummary: checked })\n }\n\n const selectedColumns = config.columns ?? template.columns.map((c) => c.id)\n\n return (\n <div aria-describedby={`${formId}-desc`} className=\"space-y-6\" role=\"form\">\n <p className=\"sr-only\" id={`${formId}-desc`}>\n Configure o relatório selecionando colunas e opções\n </p>\n\n {/* Report Title */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Settings2 className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Configurações Gerais</h3>\n </div>\n <div className=\"space-y-4\">\n <div>\n <Label htmlFor={`${formId}-title`}>Título do Relatório</Label>\n <input\n className=\"mt-1.5 w-full px-3 py-2 rounded-md border border-input bg-background text-sm focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\"\n id={`${formId}-title`}\n placeholder={template.name}\n type=\"text\"\n value={config.title ?? \"\"}\n onChange={handleTitleChange}\n />\n </div>\n </div>\n </div>\n\n {/* Column Selection */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Table2 className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Colunas</h3>\n </div>\n <div className=\"grid grid-cols-2 sm:grid-cols-3 gap-3\">\n {template.columns.map((column) => (\n <div key={column.id} className=\"flex items-center gap-2\">\n <Checkbox\n checked={selectedColumns.includes(column.id)}\n id={`${formId}-col-${column.id}`}\n onCheckedChange={(checked) =>\n { handleColumnToggle(column.id, checked === true); }\n }\n />\n <Label\n className=\"text-sm font-normal cursor-pointer\"\n htmlFor={`${formId}-col-${column.id}`}\n >\n {column.label}\n </Label>\n </div>\n ))}\n </div>\n </div>\n\n {/* Filters Section */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <FilterIcon className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Filtros</h3>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n {template.defaultFilters && template.defaultFilters.length > 0\n ? `${String(template.defaultFilters.length)} filtro(s) configurado(s)`\n : \"Nenhum filtro configurado\"}\n </p>\n </div>\n\n {/* Options */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Eye className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Opções</h3>\n </div>\n <div className=\"space-y-3\">\n {template.charts && template.charts.length > 0 && (\n <div className=\"flex items-center gap-2\">\n <Checkbox\n checked={config.includeCharts ?? true}\n id={`${formId}-charts`}\n onCheckedChange={handleIncludeChartsChange}\n />\n <Label\n className=\"text-sm font-normal cursor-pointer\"\n htmlFor={`${formId}-charts`}\n >\n Incluir gráficos\n </Label>\n </div>\n )}\n <div className=\"flex items-center gap-2\">\n <Checkbox\n checked={config.includeSummary ?? true}\n id={`${formId}-summary`}\n onCheckedChange={handleIncludeSummaryChange}\n />\n <Label\n className=\"text-sm font-normal cursor-pointer\"\n htmlFor={`${formId}-summary`}\n >\n Incluir resumo estatístico\n </Label>\n </div>\n </div>\n </div>\n\n {/* Schedule Option */}\n {showSchedule && (\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Clock className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Agendamento</h3>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n Configure o agendamento após gerar o relatório\n </p>\n </div>\n )}\n </div>\n )\n}\n\n/**\n * PreviewPanel displays the report preview\n */\nfunction PreviewPanel({\n data,\n columns,\n config,\n branding,\n}: {\n branding?: ReportGeneratorProps[\"branding\"]\n columns: ColumnDefinition[]\n config: ReportConfig\n data: unknown[]\n}) {\n const selectedColumns = columns.filter((c) => config.columns.includes(c.id))\n\n const formatValue = (value: unknown, column: ColumnDefinition): string => {\n if (value === null || value === undefined) return \"-\"\n\n switch (column.type) {\n case \"currency\":\n return new Intl.NumberFormat(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n }).format(Number(value))\n case \"date\":\n return new Intl.DateTimeFormat(\"pt-BR\").format(\n new Date(typeof value === \"string\" || typeof value === \"number\" ? value : 0)\n )\n case \"number\":\n return new Intl.NumberFormat(\"pt-BR\").format(Number(value))\n case \"boolean\":\n return value === true ? \"Sim\" : \"Não\"\n default:\n return typeof value === \"object\" ? JSON.stringify(value) : String(value as boolean | number | string)\n }\n }\n\n return (\n <div className={previewContainerVariants()}>\n <div className={previewHeaderVariants()}>\n <div className=\"flex items-center gap-3\">\n {branding?.logo && (\n <img\n alt={branding.companyName ?? \"Logo\"}\n className=\"h-8 w-auto\"\n src={branding.logo}\n />\n )}\n <div>\n <div className=\"font-semibold\">{config.title || \"Relatório\"}</div>\n {config.description && (\n <div className=\"text-xs text-muted-foreground\">\n {config.description}\n </div>\n )}\n </div>\n </div>\n <div className=\"text-xs text-muted-foreground\">\n {data.length} registro(s)\n </div>\n </div>\n <div className={previewContentVariants()}>\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b border-border\">\n {selectedColumns.map((column) => (\n <th\n key={column.id}\n className=\"px-3 py-2 text-left font-medium text-muted-foreground\"\n >\n {column.label}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {data.slice(0, 10).map((row, rowIndex) => {\n // Generate stable key from row data since preview data has no IDs\n const rowKey = `row-${String(rowIndex)}-${JSON.stringify(Object.values(row as Record<string, unknown>).slice(0, 2))}`\n return (\n <tr key={rowKey} className=\"border-b border-border/50\">\n {selectedColumns.map((column) => (\n <td key={column.id} className=\"px-3 py-2\">\n {formatValue(\n (row as Record<string, unknown>)[column.field],\n column\n )}\n </td>\n ))}\n </tr>\n )\n })}\n </tbody>\n </table>\n {data.length > 10 && (\n <div className=\"mt-4 text-center text-sm text-muted-foreground\">\n Mostrando 10 de {data.length} registros\n </div>\n )}\n </div>\n </div>\n )\n}\n\n/**\n * ExportPanel displays export options\n */\nfunction ExportPanel({\n exportFormats,\n onExport,\n isExporting,\n showSchedule,\n onSchedule,\n}: {\n exportFormats: ExportFormat[]\n isExporting: boolean\n onExport: (format: ExportFormat) => void\n onSchedule?: () => void\n showSchedule?: boolean\n}) {\n return (\n <div className=\"space-y-6\">\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Download className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Formato de Exportação</h3>\n </div>\n <div className={exportButtonGroupVariants({ align: \"start\" })}>\n {exportFormats.map((format) => {\n const info = EXPORT_FORMAT_INFO[format]\n const Icon = info.icon\n return (\n <Button\n key={format}\n disabled={isExporting}\n size=\"lg\"\n variant=\"outline\"\n onClick={() => { onExport(format); }}\n >\n <Icon className=\"h-4 w-4 mr-2\" />\n {info.label}\n </Button>\n )\n })}\n </div>\n </div>\n\n {showSchedule && onSchedule && (\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Calendar className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Agendar Relatório</h3>\n </div>\n <Button variant=\"outline\" onClick={onSchedule}>\n <Clock className=\"h-4 w-4 mr-2\" />\n Configurar Agendamento\n </Button>\n </div>\n )}\n </div>\n )\n}\n\n/**\n * ReportGenerator is a wizard-style component for creating and exporting reports\n */\nfunction ReportGenerator({\n templates,\n dataSource,\n defaultTemplate,\n exportFormats = [\"pdf\", \"xlsx\", \"csv\"],\n showPreview = true,\n showSchedule = false,\n maxRows = 10000,\n branding,\n className,\n onGenerate,\n onReportExport,\n onSchedule,\n onReportError,\n onConfigChange,\n size,\n layout,\n}: ReportGeneratorProps) {\n const componentId = useId()\n\n // State\n const [currentStep, setCurrentStep] = useState(0)\n const [completedSteps, setCompletedSteps] = useState<number[]>([])\n const [generatorState, setGeneratorState] =\n useState<ReportGeneratorState>(\"idle\")\n const [selectedTemplateId, setSelectedTemplateId] = useState<string | undefined>(\n defaultTemplate\n )\n const [config, setConfig] = useState<Partial<ReportConfig>>({})\n const [previewData, setPreviewData] = useState<unknown[]>([])\n const [error, setError] = useState<Error | null>(null)\n\n // Computed values\n const selectedTemplate = useMemo(\n () => templates.find((t) => t.id === selectedTemplateId),\n [templates, selectedTemplateId]\n )\n\n const effectiveSteps = useMemo(() => {\n if (!showPreview) {\n return STEPS.filter((_, index) => index !== 2)\n }\n return STEPS\n }, [showPreview])\n\n const isGenerating = generatorState === \"generating\"\n const isExporting = generatorState === \"exporting\"\n\n // Handlers\n const handleTemplateSelect = useCallback(\n (templateId: string) => {\n setSelectedTemplateId(templateId)\n const template = templates.find((t) => t.id === templateId)\n if (template) {\n const initialConfig: Partial<ReportConfig> = {\n templateId,\n title: template.name,\n columns: template.columns.map((c) => c.id),\n filters: template.defaultFilters ?? [],\n includeCharts: true,\n includeSummary: true,\n }\n setConfig(initialConfig)\n onConfigChange?.({ config: initialConfig as ReportConfig })\n }\n },\n [templates, onConfigChange]\n )\n\n const handleConfigChange = useCallback(\n (newConfig: Partial<ReportConfig>) => {\n setConfig(newConfig)\n onConfigChange?.({ config: newConfig as ReportConfig })\n },\n [onConfigChange]\n )\n\n const handleNext = useCallback(() => {\n // Mark current step as complete\n if (!completedSteps.includes(currentStep)) {\n setCompletedSteps((prev) => [...prev, currentStep])\n }\n\n // Moving from template selection to configuration\n if (currentStep === 0 && !selectedTemplateId) {\n return\n }\n\n // Moving to preview step - generate report\n if (currentStep === 1 && showPreview) {\n setGeneratorState(\"generating\")\n try {\n onGenerate?.({ config: config as ReportConfig })\n\n // Simulate data fetching based on data source\n let data: unknown[] = []\n if (dataSource.type === \"static\" && dataSource.data) {\n data = dataSource.data.slice(0, maxRows)\n } else {\n // For API/query, we'd fetch data here\n // For now, use empty array as placeholder\n data = []\n }\n\n setPreviewData(data)\n setGeneratorState(\"preview\")\n } catch (err) {\n const errorObj = err instanceof Error ? err : new Error(String(err))\n setError(errorObj)\n setGeneratorState(\"error\")\n onReportError?.({ error: errorObj })\n return\n }\n }\n\n setCurrentStep((prev) => Math.min(prev + 1, effectiveSteps.length - 1))\n }, [\n currentStep,\n completedSteps,\n selectedTemplateId,\n showPreview,\n config,\n dataSource,\n maxRows,\n effectiveSteps.length,\n onGenerate,\n onReportError,\n ])\n\n const handleBack = useCallback(() => {\n setCurrentStep((prev) => Math.max(prev - 1, 0))\n if (generatorState === \"error\") {\n setGeneratorState(\"idle\")\n setError(null)\n }\n }, [generatorState])\n\n const handleStepClick = useCallback(\n (step: number) => {\n if (step < currentStep || completedSteps.includes(step)) {\n setCurrentStep(step)\n }\n },\n [currentStep, completedSteps]\n )\n\n const handleExport = useCallback(\n (format: ExportFormat) => {\n setGeneratorState(\"exporting\")\n try {\n // Create export blob based on format\n const content = JSON.stringify({\n config,\n data: previewData,\n format,\n generatedAt: new Date().toISOString(),\n })\n const blob = new Blob([content], { type: \"application/json\" })\n\n onReportExport?.({ format, data: blob })\n setGeneratorState(\"idle\")\n } catch (err) {\n const errorObj = err instanceof Error ? err : new Error(String(err))\n setError(errorObj)\n setGeneratorState(\"error\")\n onReportError?.({ error: errorObj })\n }\n },\n [config, previewData, onReportExport, onReportError]\n )\n\n const handleSchedule = useCallback(() => {\n const schedule: ScheduleConfig = {\n frequency: \"weekly\",\n time: \"09:00\",\n recipients: [],\n format: \"pdf\",\n }\n onSchedule?.({ schedule })\n }, [onSchedule])\n\n // Determine if we can proceed to next step\n const canProceed = useMemo(() => {\n switch (currentStep) {\n case 0:\n return !!selectedTemplateId\n case 1:\n return (\n config.columns && config.columns.length > 0 && !!config.title?.trim()\n )\n default:\n return true\n }\n }, [currentStep, selectedTemplateId, config])\n\n // Render loading state for generation only\n if (isGenerating) {\n return (\n <div\n aria-busy=\"true\"\n aria-describedby={`${componentId}-loading`}\n className={cn(reportGeneratorVariants({ size, layout }), className)}\n role=\"status\"\n >\n <div className={loadingStateVariants()}>\n <Loader2 className=\"h-8 w-8 animate-spin text-primary\" />\n <div id={`${componentId}-loading`}>\n <p className=\"font-medium\">Gerando relatório...</p>\n <p className=\"text-sm text-muted-foreground\">\n Por favor, aguarde\n </p>\n </div>\n </div>\n </div>\n )\n }\n\n // Render error state\n if (generatorState === \"error\" && error) {\n return (\n <div\n aria-describedby={`${componentId}-error`}\n className={cn(reportGeneratorVariants({ size, layout }), className)}\n role=\"alert\"\n >\n <div className={errorStateVariants()}>\n <AlertCircle className=\"h-8 w-8\" />\n <div id={`${componentId}-error`}>\n <p className=\"font-medium\">Erro ao gerar relatório</p>\n <p className=\"text-sm\">{error.message}</p>\n </div>\n <Button variant=\"outline\" onClick={handleBack}>\n <ArrowLeft className=\"h-4 w-4 mr-2\" />\n Voltar\n </Button>\n </div>\n </div>\n )\n }\n\n return (\n <div\n aria-describedby={`${componentId}-desc`}\n aria-label=\"Gerador de Relatórios\"\n className={cn(reportGeneratorVariants({ size, layout }), className)}\n data-slot=\"report-generator\"\n role=\"form\"\n >\n <p className=\"sr-only\" id={`${componentId}-desc`}>\n Use este assistente para criar e exportar relatórios personalizados\n </p>\n\n {/* Step Indicator */}\n <StepIndicator\n completedSteps={completedSteps}\n currentStep={currentStep}\n onStepClick={handleStepClick}\n />\n\n {/* Step Content */}\n <div aria-live=\"polite\" className=\"min-h-72\">\n {/* Step 0: Template Selection */}\n {currentStep === 0 && (\n <TemplateSelector\n selectedTemplate={selectedTemplateId}\n templates={templates}\n onSelect={handleTemplateSelect}\n />\n )}\n\n {/* Step 1: Configuration */}\n {currentStep === 1 && selectedTemplate && (\n <ConfigurationForm\n config={config}\n showSchedule={showSchedule}\n template={selectedTemplate}\n onChange={handleConfigChange}\n />\n )}\n\n {/* Step 2: Preview (if enabled) */}\n {currentStep === 2 && showPreview && selectedTemplate && (\n <PreviewPanel\n branding={branding}\n columns={selectedTemplate.columns}\n config={config as ReportConfig}\n data={previewData}\n />\n )}\n\n {/* Step 3/2: Export */}\n {((currentStep === 3 && showPreview) ||\n (currentStep === 2 && !showPreview)) && (\n <ExportPanel\n exportFormats={exportFormats}\n isExporting={isExporting}\n showSchedule={showSchedule}\n onExport={handleExport}\n onSchedule={showSchedule ? handleSchedule : undefined}\n />\n )}\n </div>\n\n {/* Navigation Actions */}\n <div className={formActionsVariants()}>\n <Button\n disabled={currentStep === 0}\n variant=\"outline\"\n onClick={handleBack}\n >\n <ArrowLeft className=\"h-4 w-4 mr-2\" />\n Voltar\n </Button>\n {currentStep < effectiveSteps.length - 1 ? (\n <Button disabled={!canProceed} onClick={handleNext}>\n Próximo\n <ArrowRight className=\"h-4 w-4 ml-2\" />\n </Button>\n ) : null}\n </div>\n </div>\n )\n}\n\nexport { ReportGenerator }\n"]}
1
+ {"version":3,"sources":["../src/components/workflow/ReportGenerator/ReportGenerator.variants.ts","../src/components/workflow/ReportGenerator/ReportGenerator.tsx"],"names":["FilterIcon"],"mappings":"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","file":"chunk-R42LSLJL.js","sourcesContent":["/* eslint-disable sonarjs/no-duplicate-string -- Tailwind classes are intentionally duplicated across variants */\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * ReportGenerator container variants\n */\nexport const reportGeneratorVariants = cva(\n [\n \"relative\",\n \"rounded-lg\",\n \"border\",\n \"border-border\",\n \"bg-card\",\n \"text-card-foreground\",\n ],\n {\n variants: {\n size: {\n default: \"p-6\",\n sm: \"p-4\",\n lg: \"p-8\",\n },\n layout: {\n default: \"\",\n compact: \"max-w-2xl\",\n full: \"w-full\",\n },\n },\n defaultVariants: {\n size: \"default\",\n layout: \"default\",\n },\n }\n)\n\n/**\n * Step indicator variants\n */\nexport const stepIndicatorVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"mb-6\",\n \"pb-6\",\n \"border-b\",\n \"border-border\",\n ],\n {\n variants: {\n size: {\n default: \"gap-4\",\n sm: \"gap-3\",\n lg: \"gap-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Step item variants\n */\nexport const stepItemVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"gap-2\",\n \"transition-colors\",\n \"duration-200\",\n ],\n {\n variants: {\n state: {\n pending: \"text-muted-foreground\",\n active: \"text-primary\",\n complete: \"text-success\",\n },\n clickable: {\n true: \"cursor-pointer hover:text-primary\",\n false: \"\",\n },\n },\n defaultVariants: {\n state: \"pending\",\n clickable: false,\n },\n }\n)\n\n/**\n * Step badge variants\n */\nexport const stepBadgeVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-center\",\n \"rounded-full\",\n \"font-medium\",\n \"transition-colors\",\n \"duration-200\",\n ],\n {\n variants: {\n state: {\n pending: \"bg-muted text-muted-foreground\",\n active: \"bg-primary text-primary-foreground\",\n complete: \"bg-success text-success-foreground\",\n },\n size: {\n default: \"h-8 w-8 text-sm\",\n sm: \"h-6 w-6 text-xs\",\n lg: \"h-10 w-10 text-base\",\n },\n },\n defaultVariants: {\n state: \"pending\",\n size: \"default\",\n },\n }\n)\n\n/**\n * Template grid variants\n */\nexport const templateGridVariants = cva(\n [\n \"grid\",\n \"gap-4\",\n ],\n {\n variants: {\n columns: {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-1 sm:grid-cols-2\",\n 3: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3\",\n 4: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4\",\n },\n },\n defaultVariants: {\n columns: 3,\n },\n }\n)\n\n/**\n * Template card variants\n */\nexport const templateCardVariants = cva(\n [\n \"rounded-lg\",\n \"border\",\n \"border-border\",\n \"bg-background\",\n \"p-4\",\n \"cursor-pointer\",\n \"transition-all\",\n \"duration-200\",\n ],\n {\n variants: {\n state: {\n default: \"hover:border-primary/50 hover:shadow-sm\",\n selected: \"border-primary ring-2 ring-primary/20\",\n },\n },\n defaultVariants: {\n state: \"default\",\n },\n }\n)\n\n/**\n * Configuration section variants\n */\nexport const configSectionVariants = cva(\n [\n \"space-y-4\",\n ],\n {\n variants: {\n size: {\n default: \"mb-6\",\n sm: \"mb-4\",\n lg: \"mb-8\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Preview container variants\n */\nexport const previewContainerVariants = cva(\n [\n \"rounded-lg\",\n \"border\",\n \"border-border\",\n \"bg-muted/30\",\n \"overflow-hidden\",\n ],\n {\n variants: {\n size: {\n default: \"min-h-96\",\n sm: \"min-h-72\",\n lg: \"min-h-[var(--report-generator-root-min-height-lg)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Preview header variants\n */\nexport const previewHeaderVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-between\",\n \"border-b\",\n \"border-border\",\n \"bg-card\",\n ],\n {\n variants: {\n size: {\n default: \"px-4 py-3\",\n sm: \"px-3 py-2\",\n lg: \"px-6 py-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Preview content variants\n */\nexport const previewContentVariants = cva(\n [\n \"overflow-auto\",\n ],\n {\n variants: {\n size: {\n default: \"p-4 max-h-96\",\n sm: \"p-3 max-h-72\",\n lg: \"p-6 max-h-[var(--report-generator-output-max-height-lg)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Export button group variants\n */\nexport const exportButtonGroupVariants = cva(\n [\n \"flex\",\n \"flex-wrap\",\n \"gap-2\",\n ],\n {\n variants: {\n align: {\n start: \"justify-start\",\n center: \"justify-center\",\n end: \"justify-end\",\n },\n },\n defaultVariants: {\n align: \"end\",\n },\n }\n)\n\n/**\n * Form actions variants\n */\nexport const formActionsVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"gap-3\",\n \"pt-6\",\n \"border-t\",\n \"border-border\",\n ],\n {\n variants: {\n align: {\n start: \"justify-start\",\n between: \"justify-between\",\n end: \"justify-end\",\n },\n },\n defaultVariants: {\n align: \"between\",\n },\n }\n)\n\n/**\n * Loading state variants\n */\nexport const loadingStateVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"items-center\",\n \"justify-center\",\n \"text-center\",\n ],\n {\n variants: {\n size: {\n default: \"py-16 gap-4\",\n sm: \"py-12 gap-3\",\n lg: \"py-20 gap-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Error state variants\n */\nexport const errorStateVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"items-center\",\n \"justify-center\",\n \"text-center\",\n \"text-destructive\",\n ],\n {\n variants: {\n size: {\n default: \"py-16 gap-4\",\n sm: \"py-12 gap-3\",\n lg: \"py-20 gap-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nexport type ReportGeneratorVariantProps = VariantProps<\n typeof reportGeneratorVariants\n>\nexport type StepIndicatorVariantProps = VariantProps<\n typeof stepIndicatorVariants\n>\nexport type StepBadgeVariantProps = VariantProps<typeof stepBadgeVariants>\nexport type TemplateCardVariantProps = VariantProps<typeof templateCardVariants>\nexport type PreviewContainerVariantProps = VariantProps<\n typeof previewContainerVariants\n>\n","import type {\n ColumnDefinition,\n ExportFormat,\n ReportConfig,\n ReportGeneratorProps,\n ReportGeneratorState,\n ReportTemplate,\n ScheduleConfig,\n} from \"./ReportGenerator.types\"\nimport type { KeyboardEvent } from \"react\"\n\nimport {\n AlertCircle,\n ArrowLeft,\n ArrowRight,\n Calendar,\n Check,\n Clock,\n Download,\n Eye,\n FileJson,\n FileSpreadsheet,\n FileText,\n Filter as FilterIcon,\n Loader2,\n Printer,\n Settings2,\n Table2,\n} from \"lucide-react\"\nimport { useCallback, useId, useMemo, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Checkbox } from \"../../forms/Checkbox\"\nimport { Button } from \"../../primitives/Button\"\nimport { Label } from \"../../primitives/Label\"\nimport {\n configSectionVariants,\n errorStateVariants,\n exportButtonGroupVariants,\n formActionsVariants,\n loadingStateVariants,\n previewContainerVariants,\n previewContentVariants,\n previewHeaderVariants,\n reportGeneratorVariants,\n stepBadgeVariants,\n stepIndicatorVariants,\n stepItemVariants,\n templateCardVariants,\n templateGridVariants,\n} from \"./ReportGenerator.variants\"\n\n/**\n * Step definitions\n */\nconst STEPS = [\n { label: \"Selecionar Template\", description: \"Escolha o tipo de relatório\" },\n { label: \"Configurar\", description: \"Defina filtros e colunas\" },\n { label: \"Visualizar\", description: \"Prévia do relatório\" },\n { label: \"Exportar\", description: \"Baixe o relatório\" },\n] as const\n\n/**\n * Export format labels and icons\n */\nconst EXPORT_FORMAT_INFO: Record<\n ExportFormat,\n { icon: React.ComponentType<{ className?: string }>; label: string; }\n> = {\n pdf: { label: \"PDF\", icon: FileText },\n xlsx: { label: \"Excel\", icon: FileSpreadsheet },\n csv: { label: \"CSV\", icon: Table2 },\n json: { label: \"JSON\", icon: FileJson },\n print: { label: \"Imprimir\", icon: Printer },\n}\n\n/**\n * StepIndicator displays the current progress through the wizard\n */\nfunction StepIndicator({\n currentStep,\n completedSteps,\n onStepClick,\n}: {\n completedSteps: number[]\n currentStep: number\n onStepClick?: (step: number) => void\n}) {\n return (\n <div\n aria-label=\"Etapas do gerador de relatórios\"\n className={stepIndicatorVariants()}\n role=\"navigation\"\n >\n {STEPS.map((step, index) => {\n const isComplete = completedSteps.includes(index)\n const isActive = index === currentStep\n const isClickable = onStepClick && (isComplete || index < currentStep)\n\n const handleClick = () => {\n if (isClickable) {\n onStepClick(index)\n }\n }\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (isClickable && (e.key === \"Enter\" || e.key === \" \")) {\n e.preventDefault()\n onStepClick(index)\n }\n }\n\n return (\n <div\n key={step.label}\n className={cn(\n stepItemVariants({\n state: isComplete ? \"complete\" : isActive ? \"active\" : \"pending\",\n clickable: isClickable,\n }),\n index > 0 && \"flex-1\"\n )}\n aria-current={isActive ? \"step\" : undefined}\n role={isClickable ? \"button\" : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {index > 0 && (\n <div\n className={cn(\n \"h-px flex-1 mr-2\",\n isComplete || isActive ? \"bg-primary\" : \"bg-border\"\n )}\n />\n )}\n <div\n className={stepBadgeVariants({\n state: isComplete ? \"complete\" : isActive ? \"active\" : \"pending\",\n })}\n >\n {isComplete ? <Check className=\"h-4 w-4\" /> : index + 1}\n </div>\n <div className=\"hidden sm:block\">\n <div className=\"text-sm font-medium\">{step.label}</div>\n <div className=\"text-xs text-muted-foreground\">\n {step.description}\n </div>\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n\n/**\n * TemplateSelector displays available templates for selection\n */\nfunction TemplateSelector({\n templates,\n selectedTemplate,\n onSelect,\n}: {\n onSelect: (templateId: string) => void\n selectedTemplate?: string\n templates: ReportTemplate[]\n}) {\n const groupedTemplates = useMemo(() => {\n const groups: Record<string, ReportTemplate[]> = {}\n for (const template of templates) {\n const category = template.category\n groups[category] ??= []\n groups[category].push(template)\n }\n return groups\n }, [templates])\n\n const handleTemplateClick = (templateId: string) => {\n onSelect(templateId)\n }\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>, templateId: string) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n onSelect(templateId)\n }\n }\n\n return (\n <div aria-label=\"Templates disponíveis\" className=\"space-y-6\" role=\"listbox\">\n {Object.entries(groupedTemplates).map(([category, categoryTemplates]) => (\n <div key={category} className=\"space-y-3\">\n <h3 className=\"text-sm font-medium text-muted-foreground\">\n {category}\n </h3>\n <div className={templateGridVariants()}>\n {categoryTemplates.map((template) => {\n const isSelected = selectedTemplate === template.id\n return (\n <div\n key={template.id}\n className={templateCardVariants({\n state: isSelected ? \"selected\" : \"default\",\n })}\n aria-selected={isSelected}\n role=\"option\"\n tabIndex={0}\n onClick={() => { handleTemplateClick(template.id); }}\n onKeyDown={(e) => { handleKeyDown(e, template.id); }}\n >\n <div className=\"flex items-start gap-3\">\n {template.icon && (\n <div className=\"shrink-0 text-primary\">{template.icon}</div>\n )}\n <div className=\"flex-1 min-w-0\">\n <div className=\"font-medium\">{template.name}</div>\n <div className=\"text-sm text-muted-foreground line-clamp-2\">\n {template.description}\n </div>\n <div className=\"mt-2 text-xs text-muted-foreground\">\n {template.columns.length} colunas\n </div>\n </div>\n {isSelected && (\n <Check className=\"h-5 w-5 text-primary shrink-0\" />\n )}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n ))}\n </div>\n )\n}\n\n/**\n * ConfigurationForm allows configuring the report\n */\nfunction ConfigurationForm({\n template,\n config,\n onChange,\n showSchedule,\n}: {\n config: Partial<ReportConfig>\n onChange: (config: Partial<ReportConfig>) => void\n showSchedule?: boolean\n template: ReportTemplate\n}) {\n const formId = useId()\n\n const handleColumnToggle = (columnId: string, checked: boolean) => {\n const currentColumns = config.columns ?? template.columns.map((c) => c.id)\n const newColumns = checked\n ? [...currentColumns, columnId]\n : currentColumns.filter((id) => id !== columnId)\n onChange({ ...config, columns: newColumns })\n }\n\n const handleTitleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange({ ...config, title: e.target.value })\n }\n\n const handleIncludeChartsChange = (checked: boolean) => {\n onChange({ ...config, includeCharts: checked })\n }\n\n const handleIncludeSummaryChange = (checked: boolean) => {\n onChange({ ...config, includeSummary: checked })\n }\n\n const selectedColumns = config.columns ?? template.columns.map((c) => c.id)\n\n return (\n <div aria-describedby={`${formId}-desc`} className=\"space-y-6\" role=\"form\">\n <p className=\"sr-only\" id={`${formId}-desc`}>\n Configure o relatório selecionando colunas e opções\n </p>\n\n {/* Report Title */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Settings2 className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Configurações Gerais</h3>\n </div>\n <div className=\"space-y-4\">\n <div>\n <Label htmlFor={`${formId}-title`}>Título do Relatório</Label>\n <input\n className=\"mt-1.5 w-full px-3 py-2 rounded-md border border-input bg-background text-sm focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\"\n id={`${formId}-title`}\n placeholder={template.name}\n type=\"text\"\n value={config.title ?? \"\"}\n onChange={handleTitleChange}\n />\n </div>\n </div>\n </div>\n\n {/* Column Selection */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Table2 className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Colunas</h3>\n </div>\n <div className=\"grid grid-cols-2 sm:grid-cols-3 gap-3\">\n {template.columns.map((column) => (\n <div key={column.id} className=\"flex items-center gap-2\">\n <Checkbox\n checked={selectedColumns.includes(column.id)}\n id={`${formId}-col-${column.id}`}\n onCheckedChange={(checked) =>\n { handleColumnToggle(column.id, checked === true); }\n }\n />\n <Label\n className=\"text-sm font-normal cursor-pointer\"\n htmlFor={`${formId}-col-${column.id}`}\n >\n {column.label}\n </Label>\n </div>\n ))}\n </div>\n </div>\n\n {/* Filters Section */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <FilterIcon className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Filtros</h3>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n {template.defaultFilters && template.defaultFilters.length > 0\n ? `${String(template.defaultFilters.length)} filtro(s) configurado(s)`\n : \"Nenhum filtro configurado\"}\n </p>\n </div>\n\n {/* Options */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Eye className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Opções</h3>\n </div>\n <div className=\"space-y-3\">\n {template.charts && template.charts.length > 0 && (\n <div className=\"flex items-center gap-2\">\n <Checkbox\n checked={config.includeCharts ?? true}\n id={`${formId}-charts`}\n onCheckedChange={handleIncludeChartsChange}\n />\n <Label\n className=\"text-sm font-normal cursor-pointer\"\n htmlFor={`${formId}-charts`}\n >\n Incluir gráficos\n </Label>\n </div>\n )}\n <div className=\"flex items-center gap-2\">\n <Checkbox\n checked={config.includeSummary ?? true}\n id={`${formId}-summary`}\n onCheckedChange={handleIncludeSummaryChange}\n />\n <Label\n className=\"text-sm font-normal cursor-pointer\"\n htmlFor={`${formId}-summary`}\n >\n Incluir resumo estatístico\n </Label>\n </div>\n </div>\n </div>\n\n {/* Schedule Option */}\n {showSchedule && (\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Clock className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Agendamento</h3>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n Configure o agendamento após gerar o relatório\n </p>\n </div>\n )}\n </div>\n )\n}\n\n/**\n * PreviewPanel displays the report preview\n */\nfunction PreviewPanel({\n data,\n columns,\n config,\n branding,\n}: {\n branding?: ReportGeneratorProps[\"branding\"]\n columns: ColumnDefinition[]\n config: ReportConfig\n data: unknown[]\n}) {\n const selectedColumns = columns.filter((c) => config.columns.includes(c.id))\n\n const formatValue = (value: unknown, column: ColumnDefinition): string => {\n if (value === null || value === undefined) return \"-\"\n\n switch (column.type) {\n case \"currency\":\n return new Intl.NumberFormat(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n }).format(Number(value))\n case \"date\":\n return new Intl.DateTimeFormat(\"pt-BR\").format(\n new Date(typeof value === \"string\" || typeof value === \"number\" ? value : 0)\n )\n case \"number\":\n return new Intl.NumberFormat(\"pt-BR\").format(Number(value))\n case \"boolean\":\n return value === true ? \"Sim\" : \"Não\"\n default:\n return typeof value === \"object\" ? JSON.stringify(value) : String(value as boolean | number | string)\n }\n }\n\n return (\n <div className={previewContainerVariants()}>\n <div className={previewHeaderVariants()}>\n <div className=\"flex items-center gap-3\">\n {branding?.logo && (\n <img\n alt={branding.companyName ?? \"Logo\"}\n className=\"h-8 w-auto\"\n src={branding.logo}\n />\n )}\n <div>\n <div className=\"font-semibold\">{config.title || \"Relatório\"}</div>\n {config.description && (\n <div className=\"text-xs text-muted-foreground\">\n {config.description}\n </div>\n )}\n </div>\n </div>\n <div className=\"text-xs text-muted-foreground\">\n {data.length} registro(s)\n </div>\n </div>\n <div className={previewContentVariants()}>\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b border-border\">\n {selectedColumns.map((column) => (\n <th\n key={column.id}\n className=\"px-3 py-2 text-left font-medium text-muted-foreground\"\n >\n {column.label}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {data.slice(0, 10).map((row, rowIndex) => {\n // Generate stable key from row data since preview data has no IDs\n const rowKey = `row-${String(rowIndex)}-${JSON.stringify(Object.values(row as Record<string, unknown>).slice(0, 2))}`\n return (\n <tr key={rowKey} className=\"border-b border-border/50\">\n {selectedColumns.map((column) => (\n <td key={column.id} className=\"px-3 py-2\">\n {formatValue(\n (row as Record<string, unknown>)[column.field],\n column\n )}\n </td>\n ))}\n </tr>\n )\n })}\n </tbody>\n </table>\n {data.length > 10 && (\n <div className=\"mt-4 text-center text-sm text-muted-foreground\">\n Mostrando 10 de {data.length} registros\n </div>\n )}\n </div>\n </div>\n )\n}\n\n/**\n * ExportPanel displays export options\n */\nfunction ExportPanel({\n exportFormats,\n onExport,\n isExporting,\n showSchedule,\n onSchedule,\n}: {\n exportFormats: ExportFormat[]\n isExporting: boolean\n onExport: (format: ExportFormat) => void\n onSchedule?: () => void\n showSchedule?: boolean\n}) {\n return (\n <div className=\"space-y-6\">\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Download className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Formato de Exportação</h3>\n </div>\n <div className={exportButtonGroupVariants({ align: \"start\" })}>\n {exportFormats.map((format) => {\n const info = EXPORT_FORMAT_INFO[format]\n const Icon = info.icon\n return (\n <Button\n key={format}\n disabled={isExporting}\n size=\"lg\"\n variant=\"outline\"\n onClick={() => { onExport(format); }}\n >\n <Icon className=\"h-4 w-4 mr-2\" />\n {info.label}\n </Button>\n )\n })}\n </div>\n </div>\n\n {showSchedule && onSchedule && (\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Calendar className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Agendar Relatório</h3>\n </div>\n <Button variant=\"outline\" onClick={onSchedule}>\n <Clock className=\"h-4 w-4 mr-2\" />\n Configurar Agendamento\n </Button>\n </div>\n )}\n </div>\n )\n}\n\n/**\n * ReportGenerator is a wizard-style component for creating and exporting reports\n */\nfunction ReportGenerator({\n templates,\n dataSource,\n defaultTemplate,\n exportFormats = [\"pdf\", \"xlsx\", \"csv\"],\n showPreview = true,\n showSchedule = false,\n maxRows = 10000,\n branding,\n className,\n onGenerate,\n onReportExport,\n onSchedule,\n onReportError,\n onConfigChange,\n size,\n layout,\n}: ReportGeneratorProps) {\n const componentId = useId()\n\n // State\n const [currentStep, setCurrentStep] = useState(0)\n const [completedSteps, setCompletedSteps] = useState<number[]>([])\n const [generatorState, setGeneratorState] =\n useState<ReportGeneratorState>(\"idle\")\n const [selectedTemplateId, setSelectedTemplateId] = useState<string | undefined>(\n defaultTemplate\n )\n const [config, setConfig] = useState<Partial<ReportConfig>>({})\n const [previewData, setPreviewData] = useState<unknown[]>([])\n const [error, setError] = useState<Error | null>(null)\n\n // Computed values\n const selectedTemplate = useMemo(\n () => templates.find((t) => t.id === selectedTemplateId),\n [templates, selectedTemplateId]\n )\n\n const effectiveSteps = useMemo(() => {\n if (!showPreview) {\n return STEPS.filter((_, index) => index !== 2)\n }\n return STEPS\n }, [showPreview])\n\n const isGenerating = generatorState === \"generating\"\n const isExporting = generatorState === \"exporting\"\n\n // Handlers\n const handleTemplateSelect = useCallback(\n (templateId: string) => {\n setSelectedTemplateId(templateId)\n const template = templates.find((t) => t.id === templateId)\n if (template) {\n const initialConfig: Partial<ReportConfig> = {\n templateId,\n title: template.name,\n columns: template.columns.map((c) => c.id),\n filters: template.defaultFilters ?? [],\n includeCharts: true,\n includeSummary: true,\n }\n setConfig(initialConfig)\n onConfigChange?.({ config: initialConfig as ReportConfig })\n }\n },\n [templates, onConfigChange]\n )\n\n const handleConfigChange = useCallback(\n (newConfig: Partial<ReportConfig>) => {\n setConfig(newConfig)\n onConfigChange?.({ config: newConfig as ReportConfig })\n },\n [onConfigChange]\n )\n\n const handleNext = useCallback(() => {\n // Mark current step as complete\n if (!completedSteps.includes(currentStep)) {\n setCompletedSteps((prev) => [...prev, currentStep])\n }\n\n // Moving from template selection to configuration\n if (currentStep === 0 && !selectedTemplateId) {\n return\n }\n\n // Moving to preview step - generate report\n if (currentStep === 1 && showPreview) {\n setGeneratorState(\"generating\")\n try {\n onGenerate?.({ config: config as ReportConfig })\n\n // Simulate data fetching based on data source\n let data: unknown[] = []\n if (dataSource.type === \"static\" && dataSource.data) {\n data = dataSource.data.slice(0, maxRows)\n } else {\n // For API/query, we'd fetch data here\n // For now, use empty array as placeholder\n data = []\n }\n\n setPreviewData(data)\n setGeneratorState(\"preview\")\n } catch (err) {\n const errorObj = err instanceof Error ? err : new Error(String(err))\n setError(errorObj)\n setGeneratorState(\"error\")\n onReportError?.({ error: errorObj })\n return\n }\n }\n\n setCurrentStep((prev) => Math.min(prev + 1, effectiveSteps.length - 1))\n }, [\n currentStep,\n completedSteps,\n selectedTemplateId,\n showPreview,\n config,\n dataSource,\n maxRows,\n effectiveSteps.length,\n onGenerate,\n onReportError,\n ])\n\n const handleBack = useCallback(() => {\n setCurrentStep((prev) => Math.max(prev - 1, 0))\n if (generatorState === \"error\") {\n setGeneratorState(\"idle\")\n setError(null)\n }\n }, [generatorState])\n\n const handleStepClick = useCallback(\n (step: number) => {\n if (step < currentStep || completedSteps.includes(step)) {\n setCurrentStep(step)\n }\n },\n [currentStep, completedSteps]\n )\n\n const handleExport = useCallback(\n (format: ExportFormat) => {\n setGeneratorState(\"exporting\")\n try {\n // Create export blob based on format\n const content = JSON.stringify({\n config,\n data: previewData,\n format,\n generatedAt: new Date().toISOString(),\n })\n const blob = new Blob([content], { type: \"application/json\" })\n\n onReportExport?.({ format, data: blob })\n setGeneratorState(\"idle\")\n } catch (err) {\n const errorObj = err instanceof Error ? err : new Error(String(err))\n setError(errorObj)\n setGeneratorState(\"error\")\n onReportError?.({ error: errorObj })\n }\n },\n [config, previewData, onReportExport, onReportError]\n )\n\n const handleSchedule = useCallback(() => {\n const schedule: ScheduleConfig = {\n frequency: \"weekly\",\n time: \"09:00\",\n recipients: [],\n format: \"pdf\",\n }\n onSchedule?.({ schedule })\n }, [onSchedule])\n\n // Determine if we can proceed to next step\n const canProceed = useMemo(() => {\n switch (currentStep) {\n case 0:\n return !!selectedTemplateId\n case 1:\n return (\n config.columns && config.columns.length > 0 && !!config.title?.trim()\n )\n default:\n return true\n }\n }, [currentStep, selectedTemplateId, config])\n\n // Render loading state for generation only\n if (isGenerating) {\n return (\n <div\n aria-busy=\"true\"\n aria-describedby={`${componentId}-loading`}\n className={cn(reportGeneratorVariants({ size, layout }), className)}\n role=\"status\"\n >\n <div className={loadingStateVariants()}>\n <Loader2 className=\"h-8 w-8 animate-spin text-primary\" />\n <div id={`${componentId}-loading`}>\n <p className=\"font-medium\">Gerando relatório...</p>\n <p className=\"text-sm text-muted-foreground\">\n Por favor, aguarde\n </p>\n </div>\n </div>\n </div>\n )\n }\n\n // Render error state\n if (generatorState === \"error\" && error) {\n return (\n <div\n aria-describedby={`${componentId}-error`}\n className={cn(reportGeneratorVariants({ size, layout }), className)}\n role=\"alert\"\n >\n <div className={errorStateVariants()}>\n <AlertCircle className=\"h-8 w-8\" />\n <div id={`${componentId}-error`}>\n <p className=\"font-medium\">Erro ao gerar relatório</p>\n <p className=\"text-sm\">{error.message}</p>\n </div>\n <Button variant=\"outline\" onClick={handleBack}>\n <ArrowLeft className=\"h-4 w-4 mr-2\" />\n Voltar\n </Button>\n </div>\n </div>\n )\n }\n\n return (\n <div\n aria-describedby={`${componentId}-desc`}\n aria-label=\"Gerador de Relatórios\"\n className={cn(reportGeneratorVariants({ size, layout }), className)}\n data-slot=\"report-generator\"\n role=\"form\"\n >\n <p className=\"sr-only\" id={`${componentId}-desc`}>\n Use este assistente para criar e exportar relatórios personalizados\n </p>\n\n {/* Step Indicator */}\n <StepIndicator\n completedSteps={completedSteps}\n currentStep={currentStep}\n onStepClick={handleStepClick}\n />\n\n {/* Step Content */}\n <div aria-live=\"polite\" className=\"min-h-72\">\n {/* Step 0: Template Selection */}\n {currentStep === 0 && (\n <TemplateSelector\n selectedTemplate={selectedTemplateId}\n templates={templates}\n onSelect={handleTemplateSelect}\n />\n )}\n\n {/* Step 1: Configuration */}\n {currentStep === 1 && selectedTemplate && (\n <ConfigurationForm\n config={config}\n showSchedule={showSchedule}\n template={selectedTemplate}\n onChange={handleConfigChange}\n />\n )}\n\n {/* Step 2: Preview (if enabled) */}\n {currentStep === 2 && showPreview && selectedTemplate && (\n <PreviewPanel\n branding={branding}\n columns={selectedTemplate.columns}\n config={config as ReportConfig}\n data={previewData}\n />\n )}\n\n {/* Step 3/2: Export */}\n {((currentStep === 3 && showPreview) ||\n (currentStep === 2 && !showPreview)) && (\n <ExportPanel\n exportFormats={exportFormats}\n isExporting={isExporting}\n showSchedule={showSchedule}\n onExport={handleExport}\n onSchedule={showSchedule ? handleSchedule : undefined}\n />\n )}\n </div>\n\n {/* Navigation Actions */}\n <div className={formActionsVariants()}>\n <Button\n disabled={currentStep === 0}\n variant=\"outline\"\n onClick={handleBack}\n >\n <ArrowLeft className=\"h-4 w-4 mr-2\" />\n Voltar\n </Button>\n {currentStep < effectiveSteps.length - 1 ? (\n <Button disabled={!canProceed} onClick={handleNext}>\n Próximo\n <ArrowRight className=\"h-4 w-4 ml-2\" />\n </Button>\n ) : null}\n </div>\n </div>\n )\n}\n\nexport { ReportGenerator }\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import { Star, StarHalf } from 'lucide-react';
3
3
  import * as React from 'react';
4
4
  import { cva } from 'class-variance-authority';
@@ -284,5 +284,5 @@ function Rating({
284
284
  }
285
285
 
286
286
  export { Rating, ratingItemVariants, ratingVariants };
287
- //# sourceMappingURL=chunk-EVZ2GZU4.js.map
288
- //# sourceMappingURL=chunk-EVZ2GZU4.js.map
287
+ //# sourceMappingURL=chunk-RMJVCJ6U.js.map
288
+ //# sourceMappingURL=chunk-RMJVCJ6U.js.map