@etus/ui 0.4.0-beta.17 → 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 (589) 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-ZP4HYVDG.js → chunk-3R6MY3YJ.js} +4 -4
  8. package/dist/{chunk-ZP4HYVDG.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-N4UTBJRY.js → chunk-4SFBDK4E.js} +4 -4
  18. package/dist/{chunk-N4UTBJRY.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-XYYOV5GW.js → chunk-5YUUE5JJ.js} +5 -5
  34. package/dist/{chunk-XYYOV5GW.js.map → chunk-5YUUE5JJ.js.map} +1 -1
  35. package/dist/{chunk-D6TH3EGA.js → chunk-627ZZ6HO.js} +6 -6
  36. package/dist/{chunk-D6TH3EGA.js.map → chunk-627ZZ6HO.js.map} +1 -1
  37. package/dist/{chunk-OXDWUKGP.js → chunk-6G5QK3SU.js} +5 -5
  38. package/dist/chunk-6G5QK3SU.js.map +1 -0
  39. package/dist/{chunk-U74PNG4S.js → chunk-6QVXMYKH.js} +4 -4
  40. package/dist/{chunk-U74PNG4S.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-EYSTEGV5.js → chunk-7QEFKWUR.js} +10 -10
  52. package/dist/{chunk-EYSTEGV5.js.map → chunk-7QEFKWUR.js.map} +1 -1
  53. package/dist/{chunk-Z4KW5VW6.js → chunk-7TX5X4EP.js} +6 -6
  54. package/dist/{chunk-Z4KW5VW6.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-2ROFZG3A.js → chunk-7Y325TBV.js} +4 -4
  58. package/dist/{chunk-2ROFZG3A.js.map → chunk-7Y325TBV.js.map} +1 -1
  59. package/dist/{chunk-4RSHPKHB.js → chunk-7YZ7HNXX.js} +4 -4
  60. package/dist/{chunk-4RSHPKHB.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-CKD4UBV6.js → chunk-AJUOTABG.js} +4 -4
  66. package/dist/{chunk-CKD4UBV6.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-U6EOAIPK.js → chunk-ARJAIH7Q.js} +4 -4
  70. package/dist/chunk-ARJAIH7Q.js.map +1 -0
  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-WKWLKGNI.js → chunk-BUCXPZYE.js} +6 -6
  76. package/dist/chunk-BUCXPZYE.js.map +1 -0
  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-U2R47SPY.js → chunk-DJHDCDU6.js} +4 -4
  86. package/dist/{chunk-U2R47SPY.js.map → chunk-DJHDCDU6.js.map} +1 -1
  87. package/dist/{chunk-5GE3BQA7.js → chunk-DQGBTZRX.js} +7 -7
  88. package/dist/chunk-DQGBTZRX.js.map +1 -0
  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-NCT5WXKG.js → chunk-EDSIOUUR.js} +4 -4
  94. package/dist/{chunk-NCT5WXKG.js.map → chunk-EDSIOUUR.js.map} +1 -1
  95. package/dist/{chunk-TAZPML2P.js → chunk-ELRIFGMN.js} +4 -4
  96. package/dist/{chunk-TAZPML2P.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-VBJ26PZJ.js → chunk-EZYXD2YI.js} +4 -4
  102. package/dist/{chunk-VBJ26PZJ.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-VAVE4ZJF.js → chunk-FVRSXJKS.js} +4 -4
  110. package/dist/chunk-FVRSXJKS.js.map +1 -0
  111. package/dist/{chunk-X3AXEE3S.js → chunk-FXFVFSG5.js} +5 -5
  112. package/dist/{chunk-X3AXEE3S.js.map → chunk-FXFVFSG5.js.map} +1 -1
  113. package/dist/{chunk-IFHF4UES.js → chunk-GDZECJFS.js} +12 -12
  114. package/dist/chunk-GDZECJFS.js.map +1 -0
  115. package/dist/{chunk-7J5OM4ZD.js → chunk-GLHKHYJY.js} +8 -8
  116. package/dist/{chunk-7J5OM4ZD.js.map → chunk-GLHKHYJY.js.map} +1 -1
  117. package/dist/{chunk-4KOJTZVU.js → chunk-GRODCJS4.js} +29 -29
  118. package/dist/chunk-GRODCJS4.js.map +1 -0
  119. package/dist/{chunk-TNDW52VZ.js → chunk-GVNG5ME6.js} +36 -18
  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-W7S7GPU5.js → chunk-HHWUROMA.js} +6 -6
  126. package/dist/{chunk-W7S7GPU5.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-4GVOOXYD.js → chunk-HNQX6ZG7.js} +7 -7
  130. package/dist/chunk-HNQX6ZG7.js.map +1 -0
  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-P27ERD6W.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-XOGMDABS.js → chunk-JDETM3FL.js} +9 -9
  142. package/dist/chunk-JDETM3FL.js.map +1 -0
  143. package/dist/{chunk-R3HUGCGR.js → chunk-JE46MFMN.js} +6 -6
  144. package/dist/{chunk-R3HUGCGR.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-7Y2UQMX6.js → chunk-JYYB6F5O.js} +37 -37
  158. package/dist/chunk-JYYB6F5O.js.map +1 -0
  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-PWCMCMDN.js → chunk-K4UCALQQ.js} +4 -4
  164. package/dist/{chunk-PWCMCMDN.js.map → chunk-K4UCALQQ.js.map} +1 -1
  165. package/dist/{chunk-OBRJXVWO.js → chunk-KBU4KJKC.js} +7 -7
  166. package/dist/{chunk-OBRJXVWO.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-3NSIUZGP.js → chunk-KHCHATTD.js} +5 -5
  170. package/dist/{chunk-3NSIUZGP.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-TQBUBD3E.js → chunk-KLFYTLF3.js} +4 -4
  174. package/dist/{chunk-TQBUBD3E.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-7TF5PVEU.js → chunk-L4OQ6BJ5.js} +7 -7
  178. package/dist/chunk-L4OQ6BJ5.js.map +1 -0
  179. package/dist/{chunk-3L5G7VI2.js → chunk-LCBB3N5H.js} +4 -4
  180. package/dist/chunk-LCBB3N5H.js.map +1 -0
  181. package/dist/{chunk-BS5XDYOE.js → chunk-LDK6ADKM.js} +6 -6
  182. package/dist/{chunk-BS5XDYOE.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-G7PBPX3K.js → chunk-LRE3LJMW.js} +5 -5
  186. package/dist/{chunk-G7PBPX3K.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-H5N3VPBG.js → chunk-MGIGDALC.js} +4 -4
  190. package/dist/{chunk-H5N3VPBG.js.map → chunk-MGIGDALC.js.map} +1 -1
  191. package/dist/{chunk-WXBC3D2N.js → chunk-MNYU5MHO.js} +7 -7
  192. package/dist/{chunk-WXBC3D2N.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-3KOLK3OB.js → chunk-N5YGAESZ.js} +5 -5
  198. package/dist/{chunk-3KOLK3OB.js.map → chunk-N5YGAESZ.js.map} +1 -1
  199. package/dist/{chunk-W3JVNX35.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-GGUWEAYD.js → chunk-NLPVF34P.js} +4 -4
  210. package/dist/{chunk-GGUWEAYD.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-Y4RKKQMB.js → chunk-ONN5XVYC.js} +4 -4
  224. package/dist/chunk-ONN5XVYC.js.map +1 -0
  225. package/dist/{chunk-GL56KIFL.js → chunk-OWZ3MZ5C.js} +4 -4
  226. package/dist/{chunk-GL56KIFL.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-T6XRYT6Q.js → chunk-P4WMDGAQ.js} +4 -4
  230. package/dist/{chunk-T6XRYT6Q.js.map → chunk-P4WMDGAQ.js.map} +1 -1
  231. package/dist/{chunk-NXQ25PKF.js → chunk-PBZI5XNV.js} +8 -8
  232. package/dist/chunk-PBZI5XNV.js.map +1 -0
  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-P7D6S6GX.js → chunk-PTXC4KPQ.js} +39 -5
  238. package/dist/chunk-PTXC4KPQ.js.map +1 -0
  239. package/dist/{chunk-UYC7M3FM.js → chunk-PVIIIQJI.js} +6 -6
  240. package/dist/{chunk-UYC7M3FM.js.map → chunk-PVIIIQJI.js.map} +1 -1
  241. package/dist/{chunk-E2TI5V67.js → chunk-PXR6CZIL.js} +4 -4
  242. package/dist/{chunk-E2TI5V67.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-3NLWCX2F.js → chunk-QJOWG2D4.js} +5 -5
  250. package/dist/{chunk-3NLWCX2F.js.map → chunk-QJOWG2D4.js.map} +1 -1
  251. package/dist/{chunk-Q43KJP5A.js → chunk-QLYH3GCV.js} +8 -8
  252. package/dist/{chunk-Q43KJP5A.js.map → chunk-QLYH3GCV.js.map} +1 -1
  253. package/dist/{chunk-IRIIK3BU.js → chunk-QO6TOE45.js} +11 -11
  254. package/dist/chunk-QO6TOE45.js.map +1 -0
  255. package/dist/{chunk-66TBTTZO.js → chunk-QWWA4FZP.js} +15 -15
  256. package/dist/chunk-QWWA4FZP.js.map +1 -0
  257. package/dist/{chunk-2YSZPUQZ.js → chunk-QXET2TML.js} +4 -4
  258. package/dist/{chunk-2YSZPUQZ.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-SUU3HNOX.js → chunk-R42LSLJL.js} +6 -6
  262. package/dist/{chunk-SUU3HNOX.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-XLTSCY22.js → chunk-ROPW65RD.js} +5 -5
  266. package/dist/chunk-ROPW65RD.js.map +1 -0
  267. package/dist/{chunk-6ZAMTPGN.js → chunk-RQBYBBMP.js} +4 -4
  268. package/dist/{chunk-6ZAMTPGN.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-UPK5B2FL.js → chunk-S6BREP2G.js} +7 -7
  274. package/dist/chunk-S6BREP2G.js.map +1 -0
  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-3W7FXRO5.js → chunk-SKI25Q7O.js} +6 -6
  278. package/dist/{chunk-3W7FXRO5.js.map → chunk-SKI25Q7O.js.map} +1 -1
  279. package/dist/{chunk-LLI3JFJL.js → chunk-SSKSWSVO.js} +5 -5
  280. package/dist/{chunk-LLI3JFJL.js.map → chunk-SSKSWSVO.js.map} +1 -1
  281. package/dist/{chunk-VLDAHAG6.js → chunk-STADVFL2.js} +5 -5
  282. package/dist/{chunk-VLDAHAG6.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-DYDXGWH2.js → chunk-T3LWBCVR.js} +4 -4
  288. package/dist/chunk-T3LWBCVR.js.map +1 -0
  289. package/dist/{chunk-AR3OXNPL.js → chunk-TDANAN5A.js} +3 -3
  290. package/dist/{chunk-AR3OXNPL.js.map → chunk-TDANAN5A.js.map} +1 -1
  291. package/dist/{chunk-7ZJ32KRQ.js → chunk-TEVGCTUN.js} +3 -3
  292. package/dist/{chunk-7ZJ32KRQ.js.map → chunk-TEVGCTUN.js.map} +1 -1
  293. package/dist/{chunk-GAMOVEZD.js → chunk-TIPKU427.js} +3 -3
  294. package/dist/{chunk-GAMOVEZD.js.map → chunk-TIPKU427.js.map} +1 -1
  295. package/dist/{chunk-2Q4I4VDB.js → chunk-TK5WS675.js} +3 -3
  296. package/dist/{chunk-2Q4I4VDB.js.map → chunk-TK5WS675.js.map} +1 -1
  297. package/dist/{chunk-YUHPTV2A.js → chunk-TNSMTINE.js} +4 -4
  298. package/dist/{chunk-YUHPTV2A.js.map → chunk-TNSMTINE.js.map} +1 -1
  299. package/dist/{chunk-VT4IMHGE.js → chunk-TRTVYFOF.js} +5 -5
  300. package/dist/chunk-TRTVYFOF.js.map +1 -0
  301. package/dist/{chunk-46ESMCEQ.js → chunk-TSE3PKWQ.js} +6 -6
  302. package/dist/chunk-TSE3PKWQ.js.map +1 -0
  303. package/dist/{chunk-3BBOSSDG.js → chunk-U7TPJMGY.js} +4 -4
  304. package/dist/{chunk-3BBOSSDG.js.map → chunk-U7TPJMGY.js.map} +1 -1
  305. package/dist/{chunk-5I7AXWJU.js → chunk-UC5J6GWG.js} +5 -5
  306. package/dist/{chunk-5I7AXWJU.js.map → chunk-UC5J6GWG.js.map} +1 -1
  307. package/dist/{chunk-ZKK7L7H7.js → chunk-UNHPLKMR.js} +3 -3
  308. package/dist/{chunk-ZKK7L7H7.js.map → chunk-UNHPLKMR.js.map} +1 -1
  309. package/dist/{chunk-I7ZLEC7Y.js → chunk-UZEJ3ZVR.js} +3 -3
  310. package/dist/{chunk-I7ZLEC7Y.js.map → chunk-UZEJ3ZVR.js.map} +1 -1
  311. package/dist/{chunk-SXPBKGLT.js → chunk-UZZCEQH4.js} +4 -4
  312. package/dist/{chunk-SXPBKGLT.js.map → chunk-UZZCEQH4.js.map} +1 -1
  313. package/dist/{chunk-AEE5GDNA.js → chunk-V4NSLSCA.js} +4 -4
  314. package/dist/{chunk-AEE5GDNA.js.map → chunk-V4NSLSCA.js.map} +1 -1
  315. package/dist/{chunk-IZC5YFGO.js → chunk-V57DERRV.js} +14 -7
  316. package/dist/chunk-V57DERRV.js.map +1 -0
  317. package/dist/{chunk-VZZ3HP7G.js → chunk-VHJ6ALIE.js} +4 -4
  318. package/dist/{chunk-VZZ3HP7G.js.map → chunk-VHJ6ALIE.js.map} +1 -1
  319. package/dist/{chunk-N3I6GA4I.js → chunk-WG34IXUV.js} +3 -3
  320. package/dist/{chunk-N3I6GA4I.js.map → chunk-WG34IXUV.js.map} +1 -1
  321. package/dist/{chunk-OEXQ2MOY.js → chunk-WGKOYZRI.js} +4 -4
  322. package/dist/{chunk-OEXQ2MOY.js.map → chunk-WGKOYZRI.js.map} +1 -1
  323. package/dist/{chunk-6DN2UAIR.js → chunk-WGSVSZ7V.js} +3 -3
  324. package/dist/{chunk-6DN2UAIR.js.map → chunk-WGSVSZ7V.js.map} +1 -1
  325. package/dist/{chunk-X4YUWX7H.js → chunk-WK324C6D.js} +4 -4
  326. package/dist/{chunk-X4YUWX7H.js.map → chunk-WK324C6D.js.map} +1 -1
  327. package/dist/{chunk-N2WITPE2.js → chunk-WOP5OWLG.js} +3 -3
  328. package/dist/{chunk-N2WITPE2.js.map → chunk-WOP5OWLG.js.map} +1 -1
  329. package/dist/{chunk-JPA2VQRW.js → chunk-WSDWJX4Y.js} +4 -4
  330. package/dist/{chunk-JPA2VQRW.js.map → chunk-WSDWJX4Y.js.map} +1 -1
  331. package/dist/{chunk-2XJWE2XR.js → chunk-WUS45IZW.js} +4 -4
  332. package/dist/{chunk-2XJWE2XR.js.map → chunk-WUS45IZW.js.map} +1 -1
  333. package/dist/{chunk-B3BDIM4H.js → chunk-WVOZYDH3.js} +3 -3
  334. package/dist/{chunk-B3BDIM4H.js.map → chunk-WVOZYDH3.js.map} +1 -1
  335. package/dist/{chunk-K45MMHLA.js → chunk-WWK7UIKK.js} +5 -5
  336. package/dist/{chunk-K45MMHLA.js.map → chunk-WWK7UIKK.js.map} +1 -1
  337. package/dist/{chunk-NCLOPI6U.js → chunk-X2EMALTZ.js} +3 -3
  338. package/dist/{chunk-NCLOPI6U.js.map → chunk-X2EMALTZ.js.map} +1 -1
  339. package/dist/{chunk-PK5O62XD.js → chunk-X4CJFD6D.js} +3 -3
  340. package/dist/{chunk-PK5O62XD.js.map → chunk-X4CJFD6D.js.map} +1 -1
  341. package/dist/{chunk-JWXK4TMX.js → chunk-XEQGATVF.js} +3 -3
  342. package/dist/{chunk-JWXK4TMX.js.map → chunk-XEQGATVF.js.map} +1 -1
  343. package/dist/{chunk-B6KQKQ4S.js → chunk-XMUD3LG7.js} +3 -3
  344. package/dist/{chunk-B6KQKQ4S.js.map → chunk-XMUD3LG7.js.map} +1 -1
  345. package/dist/{chunk-5ZEYTBTU.js → chunk-XWBVIBN4.js} +3 -3
  346. package/dist/{chunk-5ZEYTBTU.js.map → chunk-XWBVIBN4.js.map} +1 -1
  347. package/dist/{chunk-7I6KK6QE.js → chunk-XXWCMY2G.js} +3 -3
  348. package/dist/{chunk-7I6KK6QE.js.map → chunk-XXWCMY2G.js.map} +1 -1
  349. package/dist/{chunk-LFN7UHDT.js → chunk-Y4FEW7SR.js} +3 -3
  350. package/dist/{chunk-LFN7UHDT.js.map → chunk-Y4FEW7SR.js.map} +1 -1
  351. package/dist/{chunk-PFVT27B5.js → chunk-YC5VVIZO.js} +3 -3
  352. package/dist/{chunk-PFVT27B5.js.map → chunk-YC5VVIZO.js.map} +1 -1
  353. package/dist/{chunk-7EGN7IGY.js → chunk-YMCKML6D.js} +7 -7
  354. package/dist/{chunk-7EGN7IGY.js.map → chunk-YMCKML6D.js.map} +1 -1
  355. package/dist/{chunk-7HT32DZG.js → chunk-YMQDTTO7.js} +6 -6
  356. package/dist/{chunk-7HT32DZG.js.map → chunk-YMQDTTO7.js.map} +1 -1
  357. package/dist/{chunk-ZARZYMBM.js → chunk-YNTS4GRT.js} +3 -3
  358. package/dist/{chunk-ZARZYMBM.js.map → chunk-YNTS4GRT.js.map} +1 -1
  359. package/dist/{chunk-6SZRWNPT.js → chunk-ZOHLZ4YL.js} +3 -3
  360. package/dist/{chunk-6SZRWNPT.js.map → chunk-ZOHLZ4YL.js.map} +1 -1
  361. package/dist/{chunk-4Y72SPNL.js → chunk-ZVSMLMMS.js} +5 -5
  362. package/dist/chunk-ZVSMLMMS.js.map +1 -0
  363. package/dist/{chunk-VKDN66VL.js → chunk-ZXWT4KWJ.js} +3 -3
  364. package/dist/{chunk-VKDN66VL.js.map → chunk-ZXWT4KWJ.js.map} +1 -1
  365. package/dist/components/advanced/AssetManager/index.js +2 -2
  366. package/dist/components/advanced/Calendar/index.js +7 -7
  367. package/dist/components/advanced/Command/index.js +3 -3
  368. package/dist/components/advanced/DragAndDrop/index.js +2 -2
  369. package/dist/components/advanced/ErrorBoundary/index.js +2 -2
  370. package/dist/components/advanced/EventCalendar/index.js +7 -7
  371. package/dist/components/advanced/FileDropzone/index.js +2 -2
  372. package/dist/components/advanced/FilePreview/index.js +2 -2
  373. package/dist/components/advanced/FileUpload/index.js +2 -2
  374. package/dist/components/advanced/FilterBuilder/index.js +10 -10
  375. package/dist/components/advanced/MarkdownEditor/index.js +6 -6
  376. package/dist/components/advanced/ReportBuilder/index.js +8 -8
  377. package/dist/components/advanced/RichTextEditor/index.js +4 -4
  378. package/dist/components/advanced/Search/index.js +2 -2
  379. package/dist/components/advanced/SortableList/index.js +2 -2
  380. package/dist/components/advanced/VersionControl/index.js +2 -2
  381. package/dist/components/advanced/index.js +31 -31
  382. package/dist/components/data-display/Accordion/index.js +2 -2
  383. package/dist/components/data-display/AreaChart/index.js +3 -3
  384. package/dist/components/data-display/Banner/index.js +2 -2
  385. package/dist/components/data-display/BarChart/index.js +3 -3
  386. package/dist/components/data-display/BarList/index.js +2 -2
  387. package/dist/components/data-display/Callout/index.js +2 -2
  388. package/dist/components/data-display/Carousel/index.js +7 -7
  389. package/dist/components/data-display/CategoryBar/index.js +3 -3
  390. package/dist/components/data-display/Chart/index.js +2 -2
  391. package/dist/components/data-display/ChartCard/index.js +5 -5
  392. package/dist/components/data-display/ChartLegend/index.js +2 -2
  393. package/dist/components/data-display/ComboChart/index.js +3 -3
  394. package/dist/components/data-display/DashboardCard/index.js +3 -3
  395. package/dist/components/data-display/DataTable/FilterBuilder/index.js +10 -10
  396. package/dist/components/data-display/DataTable/index.js +17 -17
  397. package/dist/components/data-display/DeltaBar/index.js +3 -3
  398. package/dist/components/data-display/EmptyState/index.js +2 -2
  399. package/dist/components/data-display/FeatureItem/index.js +3 -3
  400. package/dist/components/data-display/Feed/index.js +2 -2
  401. package/dist/components/data-display/FunnelChart/index.js +3 -3
  402. package/dist/components/data-display/GaugeChart/index.js +2 -2
  403. package/dist/components/data-display/Heatmap/index.js +3 -3
  404. package/dist/components/data-display/HoverCard/index.js +2 -2
  405. package/dist/components/data-display/ImageGallery/index.js +9 -9
  406. package/dist/components/data-display/Item/index.js +3 -3
  407. package/dist/components/data-display/KPICard/index.js +8 -8
  408. package/dist/components/data-display/Lightbox/index.js +2 -2
  409. package/dist/components/data-display/LineChart/index.js +3 -3
  410. package/dist/components/data-display/List/index.js +6 -6
  411. package/dist/components/data-display/MarkerBar/index.js +3 -3
  412. package/dist/components/data-display/PieChart/index.js +3 -3
  413. package/dist/components/data-display/RadarChart/index.js +3 -3
  414. package/dist/components/data-display/RadialChart/index.js +3 -3
  415. package/dist/components/data-display/ScatterChart/index.js +3 -3
  416. package/dist/components/data-display/SingleStat/index.js +3 -3
  417. package/dist/components/data-display/Sparkline/index.js +2 -2
  418. package/dist/components/data-display/Table/index.js +2 -2
  419. package/dist/components/data-display/Timeline/index.js +2 -2
  420. package/dist/components/data-display/Tracker/index.js +3 -3
  421. package/dist/components/data-display/VirtualTable/index.js +5 -5
  422. package/dist/components/data-display/index.js +57 -57
  423. package/dist/components/feedback/Alert/index.js +2 -2
  424. package/dist/components/feedback/AlertDialog/index.js +7 -7
  425. package/dist/components/feedback/ConfirmModal/index.js +8 -8
  426. package/dist/components/feedback/Dialog/index.js +2 -2
  427. package/dist/components/feedback/ErrorPage/index.js +2 -2
  428. package/dist/components/feedback/FocusTrap/index.js +2 -2
  429. package/dist/components/feedback/Message/index.js +2 -2
  430. package/dist/components/feedback/Modal/index.js +2 -2
  431. package/dist/components/feedback/Notification/index.js +4 -4
  432. package/dist/components/feedback/Popover/index.js +2 -2
  433. package/dist/components/feedback/Tooltip/index.js +2 -2
  434. package/dist/components/feedback/UpdatesWidget/index.js +2 -2
  435. package/dist/components/feedback/index.js +18 -18
  436. package/dist/components/forms/Autocomplete/index.js +2 -2
  437. package/dist/components/forms/Checkbox/index.js +2 -2
  438. package/dist/components/forms/CheckboxGroup/index.js +3 -3
  439. package/dist/components/forms/ColorPicker/index.js +3 -3
  440. package/dist/components/forms/Combobox/index.js +2 -2
  441. package/dist/components/forms/DatePicker/index.js +10 -10
  442. package/dist/components/forms/DateRangePicker/index.js +10 -10
  443. package/dist/components/forms/EmailInput/index.js +4 -4
  444. package/dist/components/forms/ErrorMessage/index.js +2 -2
  445. package/dist/components/forms/Field/index.js +4 -4
  446. package/dist/components/forms/FloatLabel/index.js +2 -2
  447. package/dist/components/forms/Form/index.js +3 -3
  448. package/dist/components/forms/FormValidation/index.js +2 -2
  449. package/dist/components/forms/HelpText/index.js +2 -2
  450. package/dist/components/forms/IftaLabel/index.js +2 -2
  451. package/dist/components/forms/InputGroup/index.js +10 -10
  452. package/dist/components/forms/InputOTP/index.js +2 -2
  453. package/dist/components/forms/InputOTPField/index.js +6 -6
  454. package/dist/components/forms/MultiSelect/index.js +3 -3
  455. package/dist/components/forms/NativeSelect/index.js +2 -2
  456. package/dist/components/forms/NumberInput/index.js +3 -3
  457. package/dist/components/forms/PasswordInput/index.js +4 -4
  458. package/dist/components/forms/PaymentInput/index.js +2 -2
  459. package/dist/components/forms/PhoneInput/index.js +2 -2
  460. package/dist/components/forms/RadioButton/index.js +2 -2
  461. package/dist/components/forms/RadioCardGroup/index.js +2 -2
  462. package/dist/components/forms/RadioGroup/index.js +2 -2
  463. package/dist/components/forms/Rating/index.js +2 -2
  464. package/dist/components/forms/SearchInput/index.js +4 -4
  465. package/dist/components/forms/Select/index.js +2 -2
  466. package/dist/components/forms/Slider/index.js +2 -2
  467. package/dist/components/forms/SuccessMessage/index.js +2 -2
  468. package/dist/components/forms/Switch/index.js +2 -2
  469. package/dist/components/forms/TagsInput/index.js +4 -4
  470. package/dist/components/forms/TextInput/index.js +3 -3
  471. package/dist/components/forms/Textarea/index.js +2 -2
  472. package/dist/components/forms/TextareaField/index.js +6 -6
  473. package/dist/components/forms/TimePicker/index.js +4 -4
  474. package/dist/components/forms/URLInput/index.js +4 -4
  475. package/dist/components/forms/index.js +51 -51
  476. package/dist/components/index.js +186 -186
  477. package/dist/components/layout/Card/index.js +2 -2
  478. package/dist/components/layout/Collapsible/index.js +2 -2
  479. package/dist/components/layout/Container/index.js +2 -2
  480. package/dist/components/layout/Flex/index.js +2 -2
  481. package/dist/components/layout/Grid/index.js +2 -2
  482. package/dist/components/layout/Panel/index.js +3 -3
  483. package/dist/components/layout/ResizablePanels/index.js +2 -2
  484. package/dist/components/layout/ResponsiveContainer/index.js +2 -2
  485. package/dist/components/layout/ScrollArea/index.js +2 -2
  486. package/dist/components/layout/Section/index.js +2 -2
  487. package/dist/components/layout/Sheet/index.js +2 -2
  488. package/dist/components/layout/Stack/index.js +2 -2
  489. package/dist/components/layout/index.js +13 -13
  490. package/dist/components/navigation/AccountSwitch/index.js +6 -6
  491. package/dist/components/navigation/Breadcrumb/index.js +2 -2
  492. package/dist/components/navigation/ContextMenu/index.js +2 -2
  493. package/dist/components/navigation/Drawer/index.js +2 -2
  494. package/dist/components/navigation/DropdownMenu/index.js +2 -2
  495. package/dist/components/navigation/FileTree/index.js +2 -2
  496. package/dist/components/navigation/Header/index.js +2 -2
  497. package/dist/components/navigation/LogoConta/index.js +2 -2
  498. package/dist/components/navigation/Menu/index.js +3 -3
  499. package/dist/components/navigation/Menubar/index.js +2 -2
  500. package/dist/components/navigation/Navbar/index.js +2 -2
  501. package/dist/components/navigation/NavigationMenu/index.js +2 -2
  502. package/dist/components/navigation/Pagination/index.js +7 -7
  503. package/dist/components/navigation/Sidebar/index.js +12 -12
  504. package/dist/components/navigation/SkipLinks/index.js +2 -2
  505. package/dist/components/navigation/SpeedDial/index.js +3 -3
  506. package/dist/components/navigation/TabNavigation/index.js +2 -2
  507. package/dist/components/navigation/TabPanel/index.js +2 -2
  508. package/dist/components/navigation/Tabs/index.js +2 -2
  509. package/dist/components/navigation/Toolbar/index.js +2 -2
  510. package/dist/components/navigation/Topbar/index.js +2 -2
  511. package/dist/components/navigation/index.js +33 -33
  512. package/dist/components/primitives/ArrowAnimated/index.js +2 -2
  513. package/dist/components/primitives/Avatar/index.js +3 -3
  514. package/dist/components/primitives/Badge/index.js +3 -3
  515. package/dist/components/primitives/Button/index.js +6 -6
  516. package/dist/components/primitives/ButtonGroup/index.js +3 -3
  517. package/dist/components/primitives/ConfirmButton/index.js +8 -8
  518. package/dist/components/primitives/Divider/index.js +2 -2
  519. package/dist/components/primitives/FeaturedIcon/index.js +2 -2
  520. package/dist/components/primitives/FolderStack/index.js +2 -2
  521. package/dist/components/primitives/Heading/index.js +2 -2
  522. package/dist/components/primitives/Icon/index.js +2 -2
  523. package/dist/components/primitives/Image/index.js +2 -2
  524. package/dist/components/primitives/Kbd/index.js +2 -2
  525. package/dist/components/primitives/Label/index.js +2 -2
  526. package/dist/components/primitives/Link/index.js +2 -2
  527. package/dist/components/primitives/Paragraph/index.js +2 -2
  528. package/dist/components/primitives/PaymentMethodIcon/index.js +2 -2
  529. package/dist/components/primitives/ProgressBar/index.js +3 -3
  530. package/dist/components/primitives/ProgressCircle/index.js +3 -3
  531. package/dist/components/primitives/SkeletonLoader/index.js +2 -2
  532. package/dist/components/primitives/Spacer/index.js +2 -2
  533. package/dist/components/primitives/Spinner/index.js +2 -2
  534. package/dist/components/primitives/SplitButton/index.js +3 -3
  535. package/dist/components/primitives/StatusIndicator/index.js +2 -2
  536. package/dist/components/primitives/Tag/index.js +2 -2
  537. package/dist/components/primitives/Text/index.js +2 -2
  538. package/dist/components/primitives/Thumbnail/index.js +3 -3
  539. package/dist/components/primitives/Toggle/index.js +2 -2
  540. package/dist/components/primitives/index.js +32 -32
  541. package/dist/components/workflow/ApprovalFlow/index.js +8 -8
  542. package/dist/components/workflow/ApprovalStatus/index.js +2 -2
  543. package/dist/components/workflow/CommentSystem/index.js +9 -9
  544. package/dist/components/workflow/Dashboard/index.js +7 -7
  545. package/dist/components/workflow/DashboardBuilder/index.js +10 -10
  546. package/dist/components/workflow/KanbanBoard/index.js +9 -9
  547. package/dist/components/workflow/ProgressSteps/index.js +2 -2
  548. package/dist/components/workflow/ReportGenerator/index.js +9 -9
  549. package/dist/components/workflow/Stepper/index.js +2 -2
  550. package/dist/components/workflow/TaskCard/index.js +2 -2
  551. package/dist/components/workflow/TaskList/index.js +2 -2
  552. package/dist/components/workflow/TaskStatus/index.js +3 -3
  553. package/dist/components/workflow/Wizard/index.js +8 -8
  554. package/dist/components/workflow/index.js +27 -27
  555. package/dist/index.d.ts +62 -14
  556. package/dist/index.js +186 -186
  557. package/dist/lib/utils.d.ts +2 -1
  558. package/dist/lib/utils.js +1 -1
  559. package/dist/styles.css +27 -703
  560. package/package.json +2 -2
  561. package/dist/chunk-3L5G7VI2.js.map +0 -1
  562. package/dist/chunk-46ESMCEQ.js.map +0 -1
  563. package/dist/chunk-4GVOOXYD.js.map +0 -1
  564. package/dist/chunk-4KOJTZVU.js.map +0 -1
  565. package/dist/chunk-4Y72SPNL.js.map +0 -1
  566. package/dist/chunk-5GE3BQA7.js.map +0 -1
  567. package/dist/chunk-66TBTTZO.js.map +0 -1
  568. package/dist/chunk-7TF5PVEU.js.map +0 -1
  569. package/dist/chunk-7Y2UQMX6.js.map +0 -1
  570. package/dist/chunk-DYDXGWH2.js.map +0 -1
  571. package/dist/chunk-HRNDJU7D.js +0 -11
  572. package/dist/chunk-HRNDJU7D.js.map +0 -1
  573. package/dist/chunk-IFHF4UES.js.map +0 -1
  574. package/dist/chunk-IRIIK3BU.js.map +0 -1
  575. package/dist/chunk-IZC5YFGO.js.map +0 -1
  576. package/dist/chunk-NXQ25PKF.js.map +0 -1
  577. package/dist/chunk-OXDWUKGP.js.map +0 -1
  578. package/dist/chunk-P27ERD6W.js.map +0 -1
  579. package/dist/chunk-P7D6S6GX.js.map +0 -1
  580. package/dist/chunk-TNDW52VZ.js.map +0 -1
  581. package/dist/chunk-U6EOAIPK.js.map +0 -1
  582. package/dist/chunk-UPK5B2FL.js.map +0 -1
  583. package/dist/chunk-VAVE4ZJF.js.map +0 -1
  584. package/dist/chunk-VT4IMHGE.js.map +0 -1
  585. package/dist/chunk-W3JVNX35.js.map +0 -1
  586. package/dist/chunk-WKWLKGNI.js.map +0 -1
  587. package/dist/chunk-XLTSCY22.js.map +0 -1
  588. package/dist/chunk-XOGMDABS.js.map +0 -1
  589. package/dist/chunk-Y4RKKQMB.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/navigation/Toolbar/Toolbar.variants.ts","../src/components/navigation/Toolbar/Toolbar.tsx"],"names":[],"mappings":"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","file":"chunk-H5N3VPBG.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * Toolbar root variant styles\n */\nexport const toolbarVariants = cva(\n [\n // Base styles\n \"flex items-center gap-[var(--toolbar-root-gap)] data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch\",\n ],\n {\n variants: {\n variant: {\n default: \"rounded-[var(--toolbar-root-radius)] border border-[color:var(--toolbar-root-border)] bg-[color:var(--toolbar-root-background)] p-[var(--toolbar-root-padding)]\",\n floating: \"rounded-[var(--toolbar-root-radius)] border border-[color:var(--toolbar-root-border)] bg-popover p-[var(--toolbar-root-padding)] shadow-lg\",\n sticky: \"border-b border-[color:var(--toolbar-root-border)] bg-[color:var(--toolbar-root-background)] px-[var(--toolbar-root-padding-x)] py-[var(--toolbar-root-padding-y)]\",\n minimal: \"gap-1\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\n/**\n * Toolbar button variant styles\n */\nexport const toolbarButtonVariants = cva([\n // Base styles\n \"inline-flex items-center justify-center rounded-[var(--toolbar-button-radius)] h-[var(--toolbar-button-height)] px-[var(--toolbar-button-padding-x)]\",\n // Colors\n \"text-foreground\",\n \"hover:bg-accent hover:text-accent-foreground\",\n // Focus styles\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n // Disabled\n \"disabled:pointer-events-none disabled:opacity-50\",\n // Transition\n \"transition-colors\",\n // SVG styles\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n])\n\n/**\n * Toolbar group variant styles\n *\n * Generic grouping wrapper that keeps related controls visually tight,\n * mirroring the spacing of the toggle group without its toggle semantics.\n */\nexport const toolbarGroupVariants = cva([\n \"flex items-center gap-0.5\",\n])\n\n/**\n * Toolbar toggle group variant styles\n */\nexport const toolbarToggleGroupVariants = cva([\n \"flex items-center gap-0.5\",\n])\n\n/**\n * Toolbar toggle item variant styles\n */\nexport const toolbarToggleItemVariants = cva([\n // Base styles\n \"inline-flex items-center justify-center rounded-sm p-2\",\n // Colors\n \"text-foreground\",\n \"hover:bg-accent hover:text-accent-foreground\",\n // Active state\n \"data-[state=on]:bg-accent data-[state=on]:text-accent-foreground\",\n // Focus styles\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n // Disabled\n \"disabled:pointer-events-none disabled:opacity-50\",\n // Transition\n \"transition-colors\",\n // SVG styles\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n])\n\n/**\n * Toolbar separator variant styles\n *\n * The vertical divider is a fixed 24px (`h-6`) centered hairline (DES-1237 —\n * era `self-stretch`, que acompanhava a altura do item). The horizontal variant\n * (vertical toolbars) stays a full-width hairline.\n */\nexport const toolbarSeparatorVariants = cva([\n \"mx-2 h-6 w-px self-center bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=horizontal]:mx-0 data-[orientation=horizontal]:my-2\",\n])\n\n/**\n * Toolbar link variant styles\n */\nexport const toolbarLinkVariants = cva([\n // Base styles\n \"inline-flex items-center justify-center rounded-sm p-2\",\n // Colors\n \"text-foreground\",\n \"hover:bg-accent hover:text-accent-foreground\",\n // Focus styles\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n // Transition\n \"transition-colors\",\n // SVG styles\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n])\n","\"use client\"\n\nimport type {\n ToolbarButtonProps,\n ToolbarGroupProps,\n ToolbarLinkProps,\n ToolbarProps,\n ToolbarSeparatorProps,\n ToolbarToggleGroupProps,\n ToolbarToggleItemProps,\n} from \"./Toolbar.types\"\n\nimport * as ToolbarPrimitive from \"@radix-ui/react-toolbar\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n toolbarButtonVariants,\n toolbarGroupVariants,\n toolbarLinkVariants,\n toolbarSeparatorVariants,\n toolbarToggleGroupVariants,\n toolbarToggleItemVariants,\n toolbarVariants,\n} from \"./Toolbar.variants\"\n\n/**\n * Toolbar - Root container for toolbar components.\n *\n * A horizontal bar of actions and controls for the current content.\n * Provides quick access to common functionality like text formatting,\n * zoom, alignment, and other contextual operations.\n *\n * @example\n * <Toolbar>\n * <ToolbarToggleGroup type=\"multiple\">\n * <ToolbarToggleItem value=\"bold\">Bold</ToolbarToggleItem>\n * <ToolbarToggleItem value=\"italic\">Italic</ToolbarToggleItem>\n * </ToolbarToggleGroup>\n * <ToolbarSeparator />\n * <ToolbarButton>Action</ToolbarButton>\n * </Toolbar>\n */\nfunction Toolbar({ className, variant = \"default\", ...props }: ToolbarProps) {\n return (\n <ToolbarPrimitive.Root\n className={cn(toolbarVariants({ variant }), className)}\n data-slot=\"toolbar\"\n {...props}\n />\n )\n}\n\n/**\n * ToolbarButton - Button for toolbar actions.\n *\n * Used for non-toggle actions within the toolbar.\n */\nfunction ToolbarButton({ className, ...props }: ToolbarButtonProps) {\n return (\n <ToolbarPrimitive.Button\n className={cn(toolbarButtonVariants(), className)}\n data-slot=\"toolbar-button\"\n {...props}\n />\n )\n}\n\n/**\n * ToolbarGroup - Generic grouping wrapper for related toolbar items.\n *\n * Use to visually cluster a set of buttons, links, or toggle groups as a\n * single unit. Unlike ToolbarToggleGroup it carries no selection semantics —\n * it is a plain `role=\"group\"` container for composition.\n */\nfunction ToolbarGroup({ className, ...props }: ToolbarGroupProps) {\n return (\n <div\n className={cn(toolbarGroupVariants(), className)}\n data-slot=\"toolbar-group\"\n role=\"group\"\n {...props}\n />\n )\n}\n\n/**\n * ToolbarToggleGroup - Container for toggle items.\n *\n * Groups toggle items for single or multiple selection.\n */\nfunction ToolbarToggleGroup({ className, ...props }: ToolbarToggleGroupProps) {\n return (\n <ToolbarPrimitive.ToggleGroup\n className={cn(toolbarToggleGroupVariants(), className)}\n data-slot=\"toolbar-toggle-group\"\n {...props}\n />\n )\n}\n\n/**\n * ToolbarToggleItem - Individual toggle item within a toggle group.\n *\n * Represents a selectable option that can be toggled on/off.\n */\nfunction ToolbarToggleItem({ className, ...props }: ToolbarToggleItemProps) {\n return (\n <ToolbarPrimitive.ToggleItem\n className={cn(toolbarToggleItemVariants(), className)}\n data-slot=\"toolbar-toggle-item\"\n {...props}\n />\n )\n}\n\n/**\n * ToolbarSeparator - Visual separator between toolbar groups.\n *\n * Provides visual division between groups of related actions.\n */\nfunction ToolbarSeparator({ className, ...props }: ToolbarSeparatorProps) {\n return (\n <ToolbarPrimitive.Separator\n className={cn(toolbarSeparatorVariants(), className)}\n data-slot=\"toolbar-separator\"\n {...props}\n />\n )\n}\n\n/**\n * ToolbarLink - Link element within the toolbar.\n *\n * Renders an accessible link styled to match toolbar items.\n */\nfunction ToolbarLink({ className, ...props }: ToolbarLinkProps) {\n return (\n <ToolbarPrimitive.Link\n className={cn(toolbarLinkVariants(), className)}\n data-slot=\"toolbar-link\"\n {...props}\n />\n )\n}\n\nexport {\n Toolbar,\n ToolbarButton,\n ToolbarGroup,\n ToolbarLink,\n ToolbarSeparator,\n ToolbarToggleGroup,\n ToolbarToggleItem,\n}\n"]}
1
+ {"version":3,"sources":["../src/components/navigation/Toolbar/Toolbar.variants.ts","../src/components/navigation/Toolbar/Toolbar.tsx"],"names":[],"mappings":"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","file":"chunk-MGIGDALC.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * Toolbar root variant styles\n */\nexport const toolbarVariants = cva(\n [\n // Base styles\n \"flex items-center gap-[var(--toolbar-root-gap)] data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch\",\n ],\n {\n variants: {\n variant: {\n default: \"rounded-[var(--toolbar-root-radius)] border border-[color:var(--toolbar-root-border)] bg-[color:var(--toolbar-root-background)] p-[var(--toolbar-root-padding)]\",\n floating: \"rounded-[var(--toolbar-root-radius)] border border-[color:var(--toolbar-root-border)] bg-popover p-[var(--toolbar-root-padding)] shadow-lg\",\n sticky: \"border-b border-[color:var(--toolbar-root-border)] bg-[color:var(--toolbar-root-background)] px-[var(--toolbar-root-padding-x)] py-[var(--toolbar-root-padding-y)]\",\n minimal: \"gap-1\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\n/**\n * Toolbar button variant styles\n */\nexport const toolbarButtonVariants = cva([\n // Base styles\n \"inline-flex items-center justify-center rounded-[var(--toolbar-button-radius)] h-[var(--toolbar-button-height)] px-[var(--toolbar-button-padding-x)]\",\n // Colors\n \"text-foreground\",\n \"hover:bg-accent hover:text-accent-foreground\",\n // Focus styles\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n // Disabled\n \"disabled:pointer-events-none disabled:opacity-50\",\n // Transition\n \"transition-colors\",\n // SVG styles\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n])\n\n/**\n * Toolbar group variant styles\n *\n * Generic grouping wrapper that keeps related controls visually tight,\n * mirroring the spacing of the toggle group without its toggle semantics.\n */\nexport const toolbarGroupVariants = cva([\n \"flex items-center gap-0.5\",\n])\n\n/**\n * Toolbar toggle group variant styles\n */\nexport const toolbarToggleGroupVariants = cva([\n \"flex items-center gap-0.5\",\n])\n\n/**\n * Toolbar toggle item variant styles\n */\nexport const toolbarToggleItemVariants = cva([\n // Base styles\n \"inline-flex items-center justify-center rounded-sm p-2\",\n // Colors\n \"text-foreground\",\n \"hover:bg-accent hover:text-accent-foreground\",\n // Active state\n \"data-[state=on]:bg-accent data-[state=on]:text-accent-foreground\",\n // Focus styles\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n // Disabled\n \"disabled:pointer-events-none disabled:opacity-50\",\n // Transition\n \"transition-colors\",\n // SVG styles\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n])\n\n/**\n * Toolbar separator variant styles\n *\n * The vertical divider is a fixed 24px (`h-6`) centered hairline (DES-1237 —\n * era `self-stretch`, que acompanhava a altura do item). The horizontal variant\n * (vertical toolbars) stays a full-width hairline.\n */\nexport const toolbarSeparatorVariants = cva([\n \"mx-[var(--toolbar-separator-margin-x)] h-6 w-[var(--toolbar-separator-width)] self-center bg-[color:var(--toolbar-separator-color)] data-[orientation=horizontal]:h-[var(--toolbar-separator-width)] data-[orientation=horizontal]:w-full data-[orientation=horizontal]:mx-0 data-[orientation=horizontal]:my-2\",\n])\n\n/**\n * Toolbar link variant styles\n */\nexport const toolbarLinkVariants = cva([\n // Base styles\n \"inline-flex items-center justify-center rounded-sm p-2\",\n // Colors\n \"text-foreground\",\n \"hover:bg-accent hover:text-accent-foreground\",\n // Focus styles\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n // Transition\n \"transition-colors\",\n // SVG styles\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n])\n","\"use client\"\n\nimport type {\n ToolbarButtonProps,\n ToolbarGroupProps,\n ToolbarLinkProps,\n ToolbarProps,\n ToolbarSeparatorProps,\n ToolbarToggleGroupProps,\n ToolbarToggleItemProps,\n} from \"./Toolbar.types\"\n\nimport * as ToolbarPrimitive from \"@radix-ui/react-toolbar\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n toolbarButtonVariants,\n toolbarGroupVariants,\n toolbarLinkVariants,\n toolbarSeparatorVariants,\n toolbarToggleGroupVariants,\n toolbarToggleItemVariants,\n toolbarVariants,\n} from \"./Toolbar.variants\"\n\n/**\n * Toolbar - Root container for toolbar components.\n *\n * A horizontal bar of actions and controls for the current content.\n * Provides quick access to common functionality like text formatting,\n * zoom, alignment, and other contextual operations.\n *\n * @example\n * <Toolbar>\n * <ToolbarToggleGroup type=\"multiple\">\n * <ToolbarToggleItem value=\"bold\">Bold</ToolbarToggleItem>\n * <ToolbarToggleItem value=\"italic\">Italic</ToolbarToggleItem>\n * </ToolbarToggleGroup>\n * <ToolbarSeparator />\n * <ToolbarButton>Action</ToolbarButton>\n * </Toolbar>\n */\nfunction Toolbar({ className, variant = \"default\", ...props }: ToolbarProps) {\n return (\n <ToolbarPrimitive.Root\n className={cn(toolbarVariants({ variant }), className)}\n data-slot=\"toolbar\"\n {...props}\n />\n )\n}\n\n/**\n * ToolbarButton - Button for toolbar actions.\n *\n * Used for non-toggle actions within the toolbar.\n */\nfunction ToolbarButton({ className, ...props }: ToolbarButtonProps) {\n return (\n <ToolbarPrimitive.Button\n className={cn(toolbarButtonVariants(), className)}\n data-slot=\"toolbar-button\"\n {...props}\n />\n )\n}\n\n/**\n * ToolbarGroup - Generic grouping wrapper for related toolbar items.\n *\n * Use to visually cluster a set of buttons, links, or toggle groups as a\n * single unit. Unlike ToolbarToggleGroup it carries no selection semantics —\n * it is a plain `role=\"group\"` container for composition.\n */\nfunction ToolbarGroup({ className, ...props }: ToolbarGroupProps) {\n return (\n <div\n className={cn(toolbarGroupVariants(), className)}\n data-slot=\"toolbar-group\"\n role=\"group\"\n {...props}\n />\n )\n}\n\n/**\n * ToolbarToggleGroup - Container for toggle items.\n *\n * Groups toggle items for single or multiple selection.\n */\nfunction ToolbarToggleGroup({ className, ...props }: ToolbarToggleGroupProps) {\n return (\n <ToolbarPrimitive.ToggleGroup\n className={cn(toolbarToggleGroupVariants(), className)}\n data-slot=\"toolbar-toggle-group\"\n {...props}\n />\n )\n}\n\n/**\n * ToolbarToggleItem - Individual toggle item within a toggle group.\n *\n * Represents a selectable option that can be toggled on/off.\n */\nfunction ToolbarToggleItem({ className, ...props }: ToolbarToggleItemProps) {\n return (\n <ToolbarPrimitive.ToggleItem\n className={cn(toolbarToggleItemVariants(), className)}\n data-slot=\"toolbar-toggle-item\"\n {...props}\n />\n )\n}\n\n/**\n * ToolbarSeparator - Visual separator between toolbar groups.\n *\n * Provides visual division between groups of related actions.\n */\nfunction ToolbarSeparator({ className, ...props }: ToolbarSeparatorProps) {\n return (\n <ToolbarPrimitive.Separator\n className={cn(toolbarSeparatorVariants(), className)}\n data-slot=\"toolbar-separator\"\n {...props}\n />\n )\n}\n\n/**\n * ToolbarLink - Link element within the toolbar.\n *\n * Renders an accessible link styled to match toolbar items.\n */\nfunction ToolbarLink({ className, ...props }: ToolbarLinkProps) {\n return (\n <ToolbarPrimitive.Link\n className={cn(toolbarLinkVariants(), className)}\n data-slot=\"toolbar-link\"\n {...props}\n />\n )\n}\n\nexport {\n Toolbar,\n ToolbarButton,\n ToolbarGroup,\n ToolbarLink,\n ToolbarSeparator,\n ToolbarToggleGroup,\n ToolbarToggleItem,\n}\n"]}
@@ -1,8 +1,8 @@
1
- import { Calendar } from './chunk-YUHPTV2A.js';
2
- import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription } from './chunk-GAMOVEZD.js';
3
- import { Popover, PopoverTrigger, PopoverContent } from './chunk-AFCSDND5.js';
4
- import { Button } from './chunk-7TF5PVEU.js';
5
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { Calendar } from './chunk-TNSMTINE.js';
2
+ import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription } from './chunk-TIPKU427.js';
3
+ import { Popover, PopoverTrigger, PopoverContent } from './chunk-EQ4YAADN.js';
4
+ import { Button } from './chunk-L4OQ6BJ5.js';
5
+ import { cn } from './chunk-RVAYDRMA.js';
6
6
  import { endOfWeek, startOfWeek, endOfDay, startOfDay, endOfMonth, startOfMonth, endOfYear, startOfYear, subDays, subMonths, subYears, isBefore, isAfter, format, parse, isValid } from 'date-fns';
7
7
  import { XIcon, CalendarIcon, ArrowRightIcon } from 'lucide-react';
8
8
  import * as React from 'react';
@@ -696,5 +696,5 @@ function DateRangeInput({
696
696
  }
697
697
 
698
698
  export { DateRangeInput, DateRangePicker, DateRangePresets, dateRangeInputContainerVariants, dateRangeInputFieldVariants, dateRangePickerFooterVariants, dateRangePickerTriggerVariants, dateRangePresetVariants, dateRangePresetsContainerVariants, defaultPresets };
699
- //# sourceMappingURL=chunk-WXBC3D2N.js.map
700
- //# sourceMappingURL=chunk-WXBC3D2N.js.map
699
+ //# sourceMappingURL=chunk-MNYU5MHO.js.map
700
+ //# sourceMappingURL=chunk-MNYU5MHO.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/forms/DateRangePicker/DateRangePicker.variants.ts","../src/components/forms/DateRangePicker/DateRangePresets.tsx","../src/components/forms/DateRangePicker/presets.ts","../src/components/forms/DateRangePicker/DateRangePicker.tsx","../src/components/forms/DateRangePicker/DateRangeInput.tsx"],"names":["format","startOfMonth","formatDate","startOfDay","jsx","React2","jsxs"],"mappings":"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","file":"chunk-WXBC3D2N.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * DateRangePicker trigger variant styles using CVA\n */\nexport const dateRangePickerTriggerVariants = cva(\n // Base styles\n [\n \"inline-flex w-full items-center justify-between gap-2 rounded-[var(--date-picker-trigger-radius)] border bg-transparent font-normal transition-[color,box-shadow] outline-none\",\n \"text-left\",\n \"placeholder:text-muted-foreground\",\n \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n \"data-[state=open]:border-ring data-[state=open]:ring-ring/50 data-[state=open]:ring-[3px]\",\n \"min-w-[var(--date-range-picker-trigger-width)]\",\n ],\n {\n variants: {\n size: {\n sm: \"h-[var(--date-picker-trigger-height-sm)] px-[var(--date-picker-trigger-padding-x-sm)] py-[var(--date-picker-trigger-padding-y-sm)] text-[length:var(--date-picker-trigger-text-sm)]\",\n md: \"h-[var(--date-picker-trigger-height-md)] px-[var(--date-picker-trigger-padding-x-md)] py-[var(--date-picker-trigger-padding-y-md)] text-[length:var(--date-picker-trigger-text-md)]\",\n lg: \"h-[var(--date-picker-trigger-height-lg)] px-[var(--date-picker-trigger-padding-x-lg)] py-[var(--date-picker-trigger-padding-y-lg)] text-[length:var(--date-picker-trigger-text-lg)]\",\n },\n variant: {\n default: \"border-input shadow-xs dark:bg-input/30\",\n outline: \"border-input bg-transparent\",\n ghost: \"border-transparent hover:bg-accent\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n }\n)\n\nexport type DateRangePickerTriggerVariantProps = VariantProps<typeof dateRangePickerTriggerVariants>\n\n/**\n * Preset item styles - horizontal scrollable tabs on mobile, vertical list on desktop\n */\nexport const dateRangePresetVariants = cva(\n [\n // Base - works for both orientations\n \"text-sm rounded-md transition-colors whitespace-nowrap\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n \"data-[selected=true]:bg-primary/10 data-[selected=true]:text-primary data-[selected=true]:font-medium\",\n // Mobile: pill-like compact tabs\n \"px-3 py-1.5 flex-shrink-0\",\n // Desktop (sm+): full-width list items\n \"sm:w-full sm:text-left sm:py-2\",\n ],\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\nexport type DateRangePresetVariantProps = VariantProps<typeof dateRangePresetVariants>\n\n/**\n * Presets container styles - horizontal scrollable on mobile, vertical sidebar on desktop\n */\nexport const dateRangePresetsContainerVariants = cva(\n [\n // Mobile: horizontal scrollable tabs\n \"flex flex-row gap-1 p-2 overflow-x-auto\",\n \"border-b border-border\",\n \"-webkit-overflow-scrolling-touch scrollbar-hide\",\n // Desktop (sm+): vertical sidebar\n \"sm:flex-col sm:overflow-x-visible sm:border-b-0 sm:border-r\",\n \"sm:min-w-[var(--date-picker-preset-min-width)]\",\n ],\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\n/**\n * Footer container styles (for Apply/Cancel buttons)\n */\nexport const dateRangePickerFooterVariants = cva(\n [\n \"flex items-center justify-end gap-2 border-t border-border\",\n \"p-[var(--date-picker-footer-padding)]\",\n ],\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\n/**\n * Range input container styles\n */\nexport const dateRangeInputContainerVariants = cva(\n [\n \"flex items-center gap-2\",\n ],\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\n/**\n * Range input field styles\n */\nexport const dateRangeInputFieldVariants = cva(\n [\n \"flex-1 min-w-0 rounded-md border border-input bg-transparent px-2 py-1 text-sm\",\n \"placeholder:text-muted-foreground\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-ring\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"h-7 text-xs\",\n md: \"h-8 text-sm\",\n lg: \"h-9 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport type DateRangeInputFieldVariantProps = VariantProps<typeof dateRangeInputFieldVariants>\n","import type { DateRangePresetsProps } from \"./DateRangePicker.types\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n dateRangePresetsContainerVariants,\n dateRangePresetVariants,\n} from \"./DateRangePicker.variants\"\n\n/**\n * DateRangePresets component displays a list of quick-select preset date ranges\n */\nfunction DateRangePresets({\n presets,\n selectedPreset,\n onSelect,\n}: DateRangePresetsProps) {\n return (\n <div\n aria-label=\"Date range presets\"\n className={cn(dateRangePresetsContainerVariants())}\n data-slot=\"date-range-presets\"\n role=\"listbox\"\n >\n {presets.map((preset) => {\n const isSelected = selectedPreset === preset.label\n return (\n <button\n key={preset.label}\n aria-selected={isSelected}\n className={cn(dateRangePresetVariants())}\n data-selected={isSelected || undefined}\n role=\"option\"\n type=\"button\"\n onClick={() => { onSelect(preset.getValue(), preset.label); }}\n >\n {preset.label}\n </button>\n )\n })}\n </div>\n )\n}\n\nexport { DateRangePresets }\n","import type { DateRangePreset } from \"./DateRangePicker.types\"\n\nimport {\n endOfDay,\n endOfMonth,\n endOfWeek,\n endOfYear,\n startOfDay,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subDays,\n subMonths,\n subYears,\n} from \"date-fns\"\n\n/**\n * Default preset options for quick date range selection.\n *\n * Each preset carries a canonical `key`; the visible label is resolved per locale via\n * {@link resolvePresetLabel} (DES-1263 — locale-driven, not hardcoded). The English `label`\n * here is the fallback. `custom` (pt: \"Fixo\") clears the range for manual selection.\n */\nexport const defaultPresets: DateRangePreset[] = [\n {\n key: \"today\",\n label: \"Today\",\n getValue: () => {\n const today = startOfDay(new Date())\n return { from: today, to: endOfDay(today) }\n },\n },\n {\n key: \"yesterday\",\n label: \"Yesterday\",\n getValue: () => {\n const yesterday = subDays(new Date(), 1)\n return { from: startOfDay(yesterday), to: endOfDay(yesterday) }\n },\n },\n {\n key: \"thisWeek\",\n label: \"This week\",\n getValue: () => ({\n from: startOfWeek(new Date(), { weekStartsOn: 0 }),\n to: endOfWeek(new Date(), { weekStartsOn: 0 }),\n }),\n },\n {\n key: \"last7Days\",\n label: \"Last 7 days\",\n getValue: () => ({\n from: startOfDay(subDays(new Date(), 6)),\n to: endOfDay(new Date()),\n }),\n },\n {\n key: \"last14Days\",\n label: \"Last 14 days\",\n getValue: () => ({\n from: startOfDay(subDays(new Date(), 13)),\n to: endOfDay(new Date()),\n }),\n },\n {\n key: \"last30Days\",\n label: \"Last 30 days\",\n getValue: () => ({\n from: startOfDay(subDays(new Date(), 29)),\n to: endOfDay(new Date()),\n }),\n },\n {\n key: \"thisMonth\",\n label: \"This month\",\n getValue: () => ({\n from: startOfMonth(new Date()),\n to: endOfMonth(new Date()),\n }),\n },\n {\n key: \"lastMonth\",\n label: \"Last month\",\n getValue: () => {\n const lastMonth = subMonths(new Date(), 1)\n return {\n from: startOfMonth(lastMonth),\n to: endOfMonth(lastMonth),\n }\n },\n },\n {\n key: \"thisYear\",\n label: \"This year\",\n getValue: () => ({\n from: startOfYear(new Date()),\n to: endOfYear(new Date()),\n }),\n },\n {\n key: \"lastYear\",\n label: \"Last year\",\n getValue: () => {\n const lastYear = subYears(new Date(), 1)\n return {\n from: startOfYear(lastYear),\n to: endOfYear(lastYear),\n }\n },\n },\n {\n key: \"allTime\",\n label: \"All time\",\n getValue: () => ({\n from: undefined,\n to: undefined,\n }),\n },\n {\n key: \"custom\",\n label: \"Custom\",\n getValue: () => ({\n from: undefined,\n to: undefined,\n }),\n },\n]\n\n/**\n * Preset label translations (DES-1263). Keyed by language code (locale.code split on \"-\").\n * English labels live on the presets themselves and act as the fallback.\n */\nconst presetLabels: Record<string, Record<string, string>> = {\n pt: {\n today: \"Hoje\",\n yesterday: \"Ontem\",\n thisWeek: \"Esta semana\",\n last7Days: \"Últimos 7 dias\",\n last14Days: \"Últimos 14 dias\",\n last30Days: \"Últimos 30 dias\",\n thisMonth: \"Este mês\",\n lastMonth: \"Mês passado\",\n thisYear: \"Este ano\",\n lastYear: \"Ano passado\",\n allTime: \"Todo o período\",\n custom: \"Fixo\",\n },\n}\n\n/**\n * Resolves a preset's display label for the given locale code (e.g. \"pt-BR\").\n * Falls back to the preset's own English `label` when no translation exists.\n */\nexport function resolvePresetLabel(preset: DateRangePreset, localeCode?: string): string {\n const lang = localeCode?.split(\"-\")[0]\n const translated = lang && preset.key ? presetLabels[lang]?.[preset.key] : undefined\n return translated ?? preset.label\n}\n","import type { DateRange } from \"../../advanced/Calendar\"\nimport type { DateRangePickerProps } from \"./DateRangePicker.types\"\n\nimport { format as formatDate, isAfter, isBefore, startOfDay, startOfMonth } from \"date-fns\"\nimport { CalendarIcon, XIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Calendar } from \"../../advanced/Calendar\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"../../feedback/Dialog\"\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"../../feedback/Popover\"\nimport { Button } from \"../../primitives/Button\"\nimport {\n dateRangePickerFooterVariants,\n dateRangePickerTriggerVariants,\n} from \"./DateRangePicker.variants\"\nimport { DateRangePresets } from \"./DateRangePresets\"\nimport { defaultPresets, resolvePresetLabel } from \"./presets\"\n\n/**\n * DateRangePicker component for selecting a date range with optional presets\n */\nfunction DateRangePicker({\n ref,\n className,\n value,\n defaultValue,\n placeholder = \"Select date range\",\n disabled = false,\n disabledDates,\n readOnly = false,\n minDate,\n maxDate,\n format = \"PP\",\n locale,\n onChange,\n onOpenChange,\n onClear,\n size = \"md\",\n variant = \"default\",\n displayMode = \"popover\",\n modalTitle = \"Select Date Range\",\n required = false,\n invalid = false,\n clearable = false,\n numberOfMonths = 2,\n presets = defaultPresets,\n showPresets = true,\n requireConfirmation = false,\n showTodayButton = true,\n activeDates,\n calendarProps,\n id,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n \"aria-describedby\": ariaDescribedby,\n ...props\n}: DateRangePickerProps) {\n const [open, setOpen] = React.useState(false)\n const [internalRange, setInternalRange] = React.useState<DateRange | undefined>(defaultValue)\n const [pendingRange, setPendingRange] = React.useState<DateRange | undefined>()\n const [selectedPreset, setSelectedPreset] = React.useState<string>()\n const [month, setMonth] = React.useState<Date | undefined>()\n\n // Use controlled value if provided, otherwise use internal state\n const selectedRange = value ?? internalRange\n\n // For confirmation mode, show pending changes until applied\n const displayRange = requireConfirmation && open ? (pendingRange ?? selectedRange) : selectedRange\n\n // Initialize pending range when opening in confirmation mode\n /* eslint-disable @eslint-react/hooks-extra/no-direct-set-state-in-use-effect, react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-event-handler */\n React.useEffect(() => {\n if (open && requireConfirmation) {\n setPendingRange(selectedRange)\n }\n }, [open, requireConfirmation, selectedRange])\n /* eslint-enable @eslint-react/hooks-extra/no-direct-set-state-in-use-effect, react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-event-handler */\n\n const handleRangeSelect = (range: DateRange | undefined) => {\n // Clear preset selection when manually selecting\n setSelectedPreset(undefined)\n\n if (requireConfirmation) {\n setPendingRange(range)\n } else {\n if (value === undefined) {\n setInternalRange(range)\n }\n onChange?.(range)\n }\n }\n\n const handlePresetSelect = (range: DateRange, label: string) => {\n setSelectedPreset(label)\n\n if (requireConfirmation) {\n setPendingRange(range)\n } else {\n if (value === undefined) {\n setInternalRange(range)\n }\n onChange?.(range)\n setOpen(false)\n }\n }\n\n const handleApply = () => {\n if (pendingRange) {\n if (value === undefined) {\n setInternalRange(pendingRange)\n }\n onChange?.(pendingRange)\n }\n setPendingRange(undefined)\n setOpen(false)\n }\n\n const handleCancel = () => {\n setPendingRange(undefined)\n setSelectedPreset(undefined)\n setOpen(false)\n }\n\n const handleOpenChange = (isOpen: boolean) => {\n // Don't open if readOnly\n if (readOnly && isOpen) return\n\n if (!isOpen && requireConfirmation) {\n // Cancel pending changes when closing without applying\n setPendingRange(undefined)\n setSelectedPreset(undefined)\n }\n\n setOpen(isOpen)\n onOpenChange?.(isOpen)\n }\n\n const handleClear = (event: React.MouseEvent) => {\n event.stopPropagation()\n if (value === undefined) {\n setInternalRange(undefined)\n }\n onChange?.()\n setSelectedPreset(undefined)\n onClear?.()\n }\n\n const handleTodayClick = () => {\n setMonth(startOfMonth(new Date()))\n }\n\n // Format display value\n const formatRange = (range: DateRange | undefined): null | string => {\n if (!range?.from) return null\n\n const formatOptions = locale ? { locale } : undefined\n const formattedFrom = formatDate(range.from, format, formatOptions)\n\n if (!range.to) {\n return formattedFrom\n }\n\n const formattedTo = formatDate(range.to, format, formatOptions)\n return `${formattedFrom} - ${formattedTo}`\n }\n\n const displayValue = formatRange(selectedRange)\n const showClearButton = clearable && selectedRange?.from && !disabled && !readOnly\n\n // Combined date disabled check\n const isDateDisabled = React.useCallback(\n (date: Date): boolean => {\n const normalizedDate = startOfDay(date)\n if (minDate && isBefore(normalizedDate, startOfDay(minDate))) return true\n if (maxDate && isAfter(normalizedDate, startOfDay(maxDate))) return true\n if (disabledDates?.(date)) return true\n return false\n },\n [minDate, maxDate, disabledDates]\n )\n\n // Compute displayed month for calendar (controlled or derived from selection)\n const calendarMonth = month ?? displayRange?.from ?? minDate\n\n // Resolve preset labels for the active locale (DES-1263 — locale-driven, not hardcoded)\n const localizedPresets = presets.map((preset) => ({\n ...preset,\n label: resolvePresetLabel(preset, locale?.code),\n }))\n\n // Shared calendar content for both popover and modal modes\n const calendarContent = (\n <div className=\"flex flex-col sm:flex-row\">\n {showPresets && presets.length > 0 && (\n <DateRangePresets\n presets={localizedPresets}\n selectedPreset={selectedPreset}\n onSelect={handlePresetSelect}\n />\n )}\n <div className=\"flex flex-col\">\n {showTodayButton && (\n <div className=\"flex justify-end border-b px-3 py-2\" data-slot=\"date-range-picker-header\">\n <Button\n className=\"h-[var(--date-range-picker-today-button-height)] text-[length:var(--date-range-picker-today-button-text-size)]\"\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleTodayClick}\n >\n Today\n </Button>\n </div>\n )}\n <Calendar\n autoFocus\n activeDates={activeDates}\n className=\"gap-[var(--date-range-picker-calendar-gap)]\"\n disabled={isDateDisabled}\n locale={locale}\n mode=\"range\"\n month={calendarMonth}\n numberOfMonths={numberOfMonths}\n selected={displayRange}\n onMonthChange={setMonth}\n onSelect={handleRangeSelect as (range: DateRange | undefined) => void}\n {...calendarProps}\n />\n {requireConfirmation && (\n <div className={cn(dateRangePickerFooterVariants())} data-slot=\"date-range-picker-footer\">\n <Button\n size=\"sm\"\n variant=\"outline\"\n onClick={handleCancel}\n >\n Cancel\n </Button>\n <Button\n disabled={!pendingRange?.from}\n size=\"sm\"\n variant=\"primary\"\n onClick={handleApply}\n >\n Apply\n </Button>\n </div>\n )}\n </div>\n </div>\n )\n\n // Trigger button shared between modes\n const triggerButton = (\n <button\n ref={ref}\n className={cn(\n dateRangePickerTriggerVariants({ size, variant }),\n !displayValue && \"text-muted-foreground\"\n )}\n aria-describedby={ariaDescribedby}\n aria-expanded={open}\n aria-haspopup=\"dialog\"\n aria-invalid={invalid}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-readonly={readOnly}\n aria-required={required}\n data-readonly={readOnly || undefined}\n data-size={size}\n data-slot=\"date-range-picker-trigger\"\n data-state={open ? \"open\" : \"closed\"}\n data-variant={variant}\n disabled={disabled}\n id={id}\n role=\"combobox\"\n type=\"button\"\n onClick={displayMode === \"modal\" ? () => { handleOpenChange(true); } : undefined}\n >\n <span className=\"flex-1 truncate\">\n {displayValue ?? placeholder}\n </span>\n <span className=\"flex shrink-0 items-center gap-1\">\n {showClearButton && (\n <span\n aria-label=\"Clear date range\"\n className=\"rounded-sm opacity-50 hover:opacity-100 focus:outline-none\"\n data-slot=\"date-range-picker-clear\"\n role=\"button\"\n tabIndex={0}\n onClick={handleClear}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n handleClear(e as unknown as React.MouseEvent)\n }\n }}\n >\n <XIcon className=\"size-4\" />\n </span>\n )}\n <CalendarIcon className=\"size-4 opacity-50\" />\n </span>\n </button>\n )\n\n // Hidden inputs for form submission\n const hiddenInputs = (\n <>\n {name && (\n <input\n name={`${name}-from`}\n type=\"hidden\"\n value={selectedRange?.from?.toISOString() ?? \"\"}\n />\n )}\n {name && (\n <input\n name={`${name}-to`}\n type=\"hidden\"\n value={selectedRange?.to?.toISOString() ?? \"\"}\n />\n )}\n </>\n )\n\n // Modal mode\n if (displayMode === \"modal\") {\n return (\n <div className={cn(\"relative\", className)} data-mode=\"modal\" data-slot=\"date-range-picker\" {...props}>\n {triggerButton}\n <Dialog open={open} onOpenChange={handleOpenChange}>\n <DialogContent\n className=\"max-w-fit p-0\"\n data-slot=\"date-range-picker-content\"\n >\n <DialogHeader className=\"border-b px-4 py-3\">\n <DialogTitle>{modalTitle}</DialogTitle>\n <DialogDescription className=\"sr-only\">\n Use the calendar to select a start and end date for your range\n </DialogDescription>\n </DialogHeader>\n <div className=\"p-0\">\n {calendarContent}\n </div>\n </DialogContent>\n </Dialog>\n {hiddenInputs}\n </div>\n )\n }\n\n // Popover mode (default)\n return (\n <div className={cn(\"relative\", className)} data-mode=\"popover\" data-slot=\"date-range-picker\" {...props}>\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger asChild>\n {triggerButton}\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"w-auto p-0\"\n data-slot=\"date-range-picker-content\"\n >\n {calendarContent}\n </PopoverContent>\n </Popover>\n {hiddenInputs}\n </div>\n )\n}\n\nexport { DateRangePicker }\n","import type { DateRangeInputProps } from \"./DateRangePicker.types\"\n\nimport { format as formatDate, isValid, parse } from \"date-fns\"\nimport { ArrowRightIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n dateRangeInputContainerVariants,\n dateRangeInputFieldVariants,\n} from \"./DateRangePicker.variants\"\n\n/**\n * DateRangeInput component provides editable text inputs for date range entry\n */\nfunction DateRangeInput({\n value,\n format,\n locale,\n onChange,\n disabled = false,\n readOnly = false,\n startPlaceholder = \"Start date\",\n endPlaceholder = \"End date\",\n}: DateRangeInputProps) {\n const [startInput, setStartInput] = React.useState(\"\")\n const [endInput, setEndInput] = React.useState(\"\")\n\n // Sync input values with prop value\n /* eslint-disable react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -- Intentional: controlled input sync requires useEffect to maintain input state separate from date state for partial input handling */\n React.useEffect(() => {\n if (value?.from) {\n setStartInput(formatDate(value.from, format, locale ? { locale } : undefined))\n } else {\n setStartInput(\"\")\n }\n if (value?.to) {\n setEndInput(formatDate(value.to, format, locale ? { locale } : undefined))\n } else {\n setEndInput(\"\")\n }\n }, [value, format, locale])\n /* eslint-enable react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect */\n\n const parseDate = (input: string): Date | undefined => {\n if (!input.trim()) return undefined\n try {\n const parsed = parse(input, format, new Date(), locale ? { locale } : undefined)\n return isValid(parsed) ? parsed : undefined\n } catch {\n return undefined\n }\n }\n\n const handleStartBlur = () => {\n const parsedStart = parseDate(startInput)\n const currentEnd = value?.to\n\n if (parsedStart || !startInput.trim()) {\n onChange({\n from: parsedStart,\n to: currentEnd,\n })\n } else {\n // Reset to previous value if invalid\n if (value?.from) {\n setStartInput(formatDate(value.from, format, locale ? { locale } : undefined))\n } else {\n setStartInput(\"\")\n }\n }\n }\n\n const handleEndBlur = () => {\n const parsedEnd = parseDate(endInput)\n const currentStart = value?.from\n\n if (parsedEnd || !endInput.trim()) {\n onChange({\n from: currentStart,\n to: parsedEnd,\n })\n } else {\n // Reset to previous value if invalid\n if (value?.to) {\n setEndInput(formatDate(value.to, format, locale ? { locale } : undefined))\n } else {\n setEndInput(\"\")\n }\n }\n }\n\n const handleStartKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n handleStartBlur()\n }\n }\n\n const handleEndKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n handleEndBlur()\n }\n }\n\n return (\n <div\n className={cn(dateRangeInputContainerVariants())}\n data-slot=\"date-range-input\"\n >\n <input\n aria-label=\"Start date\"\n className={cn(dateRangeInputFieldVariants())}\n data-slot=\"date-range-input-start\"\n disabled={disabled}\n placeholder={startPlaceholder}\n readOnly={readOnly}\n type=\"text\"\n value={startInput}\n onBlur={handleStartBlur}\n onChange={(e) => { setStartInput(e.target.value); }}\n onKeyDown={handleStartKeyDown}\n />\n <ArrowRightIcon aria-hidden=\"true\" className=\"size-4 text-muted-foreground shrink-0\" />\n <input\n aria-label=\"End date\"\n className={cn(dateRangeInputFieldVariants())}\n data-slot=\"date-range-input-end\"\n disabled={disabled}\n placeholder={endPlaceholder}\n readOnly={readOnly}\n type=\"text\"\n value={endInput}\n onBlur={handleEndBlur}\n onChange={(e) => { setEndInput(e.target.value); }}\n onKeyDown={handleEndKeyDown}\n />\n </div>\n )\n}\n\nexport { DateRangeInput }\n"]}
1
+ {"version":3,"sources":["../src/components/forms/DateRangePicker/DateRangePicker.variants.ts","../src/components/forms/DateRangePicker/DateRangePresets.tsx","../src/components/forms/DateRangePicker/presets.ts","../src/components/forms/DateRangePicker/DateRangePicker.tsx","../src/components/forms/DateRangePicker/DateRangeInput.tsx"],"names":["format","startOfMonth","formatDate","startOfDay","jsx","React2","jsxs"],"mappings":"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","file":"chunk-MNYU5MHO.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * DateRangePicker trigger variant styles using CVA\n */\nexport const dateRangePickerTriggerVariants = cva(\n // Base styles\n [\n \"inline-flex w-full items-center justify-between gap-2 rounded-[var(--date-picker-trigger-radius)] border bg-transparent font-normal transition-[color,box-shadow] outline-none\",\n \"text-left\",\n \"placeholder:text-muted-foreground\",\n \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n \"data-[state=open]:border-ring data-[state=open]:ring-ring/50 data-[state=open]:ring-[3px]\",\n \"min-w-[var(--date-range-picker-trigger-width)]\",\n ],\n {\n variants: {\n size: {\n sm: \"h-[var(--date-picker-trigger-height-sm)] px-[var(--date-picker-trigger-padding-x-sm)] py-[var(--date-picker-trigger-padding-y-sm)] text-[length:var(--date-picker-trigger-text-sm)]\",\n md: \"h-[var(--date-picker-trigger-height-md)] px-[var(--date-picker-trigger-padding-x-md)] py-[var(--date-picker-trigger-padding-y-md)] text-[length:var(--date-picker-trigger-text-md)]\",\n lg: \"h-[var(--date-picker-trigger-height-lg)] px-[var(--date-picker-trigger-padding-x-lg)] py-[var(--date-picker-trigger-padding-y-lg)] text-[length:var(--date-picker-trigger-text-lg)]\",\n },\n variant: {\n default: \"border-input shadow-xs dark:bg-input/30\",\n outline: \"border-input bg-transparent\",\n ghost: \"border-transparent hover:bg-accent\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n }\n)\n\nexport type DateRangePickerTriggerVariantProps = VariantProps<typeof dateRangePickerTriggerVariants>\n\n/**\n * Preset item styles - horizontal scrollable tabs on mobile, vertical list on desktop\n */\nexport const dateRangePresetVariants = cva(\n [\n // Base - works for both orientations\n \"text-sm rounded-md transition-colors whitespace-nowrap\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n \"data-[selected=true]:bg-primary/10 data-[selected=true]:text-primary data-[selected=true]:font-medium\",\n // Mobile: pill-like compact tabs\n \"px-3 py-1.5 flex-shrink-0\",\n // Desktop (sm+): full-width list items\n \"sm:w-full sm:text-left sm:py-2\",\n ],\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\nexport type DateRangePresetVariantProps = VariantProps<typeof dateRangePresetVariants>\n\n/**\n * Presets container styles - horizontal scrollable on mobile, vertical sidebar on desktop\n */\nexport const dateRangePresetsContainerVariants = cva(\n [\n // Mobile: horizontal scrollable tabs\n \"flex flex-row gap-1 p-2 overflow-x-auto\",\n \"border-b border-border\",\n \"-webkit-overflow-scrolling-touch scrollbar-hide\",\n // Desktop (sm+): vertical sidebar\n \"sm:flex-col sm:overflow-x-visible sm:border-b-0 sm:border-r\",\n \"sm:min-w-[var(--date-picker-preset-min-width)]\",\n ],\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\n/**\n * Footer container styles (for Apply/Cancel buttons)\n */\nexport const dateRangePickerFooterVariants = cva(\n [\n \"flex items-center justify-end gap-2 border-t border-border\",\n \"p-[var(--date-picker-footer-padding)]\",\n ],\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\n/**\n * Range input container styles\n */\nexport const dateRangeInputContainerVariants = cva(\n [\n \"flex items-center gap-2\",\n ],\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\n/**\n * Range input field styles\n */\nexport const dateRangeInputFieldVariants = cva(\n [\n \"flex-1 min-w-0 rounded-md border border-input bg-transparent px-2 py-1 text-sm\",\n \"placeholder:text-muted-foreground\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-ring\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"h-7 text-xs\",\n md: \"h-8 text-sm\",\n lg: \"h-9 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport type DateRangeInputFieldVariantProps = VariantProps<typeof dateRangeInputFieldVariants>\n","import type { DateRangePresetsProps } from \"./DateRangePicker.types\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n dateRangePresetsContainerVariants,\n dateRangePresetVariants,\n} from \"./DateRangePicker.variants\"\n\n/**\n * DateRangePresets component displays a list of quick-select preset date ranges\n */\nfunction DateRangePresets({\n presets,\n selectedPreset,\n onSelect,\n}: DateRangePresetsProps) {\n return (\n <div\n aria-label=\"Date range presets\"\n className={cn(dateRangePresetsContainerVariants())}\n data-slot=\"date-range-presets\"\n role=\"listbox\"\n >\n {presets.map((preset) => {\n const isSelected = selectedPreset === preset.label\n return (\n <button\n key={preset.label}\n aria-selected={isSelected}\n className={cn(dateRangePresetVariants())}\n data-selected={isSelected || undefined}\n role=\"option\"\n type=\"button\"\n onClick={() => { onSelect(preset.getValue(), preset.label); }}\n >\n {preset.label}\n </button>\n )\n })}\n </div>\n )\n}\n\nexport { DateRangePresets }\n","import type { DateRangePreset } from \"./DateRangePicker.types\"\n\nimport {\n endOfDay,\n endOfMonth,\n endOfWeek,\n endOfYear,\n startOfDay,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subDays,\n subMonths,\n subYears,\n} from \"date-fns\"\n\n/**\n * Default preset options for quick date range selection.\n *\n * Each preset carries a canonical `key`; the visible label is resolved per locale via\n * {@link resolvePresetLabel} (DES-1263 — locale-driven, not hardcoded). The English `label`\n * here is the fallback. `custom` (pt: \"Fixo\") clears the range for manual selection.\n */\nexport const defaultPresets: DateRangePreset[] = [\n {\n key: \"today\",\n label: \"Today\",\n getValue: () => {\n const today = startOfDay(new Date())\n return { from: today, to: endOfDay(today) }\n },\n },\n {\n key: \"yesterday\",\n label: \"Yesterday\",\n getValue: () => {\n const yesterday = subDays(new Date(), 1)\n return { from: startOfDay(yesterday), to: endOfDay(yesterday) }\n },\n },\n {\n key: \"thisWeek\",\n label: \"This week\",\n getValue: () => ({\n from: startOfWeek(new Date(), { weekStartsOn: 0 }),\n to: endOfWeek(new Date(), { weekStartsOn: 0 }),\n }),\n },\n {\n key: \"last7Days\",\n label: \"Last 7 days\",\n getValue: () => ({\n from: startOfDay(subDays(new Date(), 6)),\n to: endOfDay(new Date()),\n }),\n },\n {\n key: \"last14Days\",\n label: \"Last 14 days\",\n getValue: () => ({\n from: startOfDay(subDays(new Date(), 13)),\n to: endOfDay(new Date()),\n }),\n },\n {\n key: \"last30Days\",\n label: \"Last 30 days\",\n getValue: () => ({\n from: startOfDay(subDays(new Date(), 29)),\n to: endOfDay(new Date()),\n }),\n },\n {\n key: \"thisMonth\",\n label: \"This month\",\n getValue: () => ({\n from: startOfMonth(new Date()),\n to: endOfMonth(new Date()),\n }),\n },\n {\n key: \"lastMonth\",\n label: \"Last month\",\n getValue: () => {\n const lastMonth = subMonths(new Date(), 1)\n return {\n from: startOfMonth(lastMonth),\n to: endOfMonth(lastMonth),\n }\n },\n },\n {\n key: \"thisYear\",\n label: \"This year\",\n getValue: () => ({\n from: startOfYear(new Date()),\n to: endOfYear(new Date()),\n }),\n },\n {\n key: \"lastYear\",\n label: \"Last year\",\n getValue: () => {\n const lastYear = subYears(new Date(), 1)\n return {\n from: startOfYear(lastYear),\n to: endOfYear(lastYear),\n }\n },\n },\n {\n key: \"allTime\",\n label: \"All time\",\n getValue: () => ({\n from: undefined,\n to: undefined,\n }),\n },\n {\n key: \"custom\",\n label: \"Custom\",\n getValue: () => ({\n from: undefined,\n to: undefined,\n }),\n },\n]\n\n/**\n * Preset label translations (DES-1263). Keyed by language code (locale.code split on \"-\").\n * English labels live on the presets themselves and act as the fallback.\n */\nconst presetLabels: Record<string, Record<string, string>> = {\n pt: {\n today: \"Hoje\",\n yesterday: \"Ontem\",\n thisWeek: \"Esta semana\",\n last7Days: \"Últimos 7 dias\",\n last14Days: \"Últimos 14 dias\",\n last30Days: \"Últimos 30 dias\",\n thisMonth: \"Este mês\",\n lastMonth: \"Mês passado\",\n thisYear: \"Este ano\",\n lastYear: \"Ano passado\",\n allTime: \"Todo o período\",\n custom: \"Fixo\",\n },\n}\n\n/**\n * Resolves a preset's display label for the given locale code (e.g. \"pt-BR\").\n * Falls back to the preset's own English `label` when no translation exists.\n */\nexport function resolvePresetLabel(preset: DateRangePreset, localeCode?: string): string {\n const lang = localeCode?.split(\"-\")[0]\n const translated = lang && preset.key ? presetLabels[lang]?.[preset.key] : undefined\n return translated ?? preset.label\n}\n","import type { DateRange } from \"../../advanced/Calendar\"\nimport type { DateRangePickerProps } from \"./DateRangePicker.types\"\n\nimport { format as formatDate, isAfter, isBefore, startOfDay, startOfMonth } from \"date-fns\"\nimport { CalendarIcon, XIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Calendar } from \"../../advanced/Calendar\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"../../feedback/Dialog\"\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"../../feedback/Popover\"\nimport { Button } from \"../../primitives/Button\"\nimport {\n dateRangePickerFooterVariants,\n dateRangePickerTriggerVariants,\n} from \"./DateRangePicker.variants\"\nimport { DateRangePresets } from \"./DateRangePresets\"\nimport { defaultPresets, resolvePresetLabel } from \"./presets\"\n\n/**\n * DateRangePicker component for selecting a date range with optional presets\n */\nfunction DateRangePicker({\n ref,\n className,\n value,\n defaultValue,\n placeholder = \"Select date range\",\n disabled = false,\n disabledDates,\n readOnly = false,\n minDate,\n maxDate,\n format = \"PP\",\n locale,\n onChange,\n onOpenChange,\n onClear,\n size = \"md\",\n variant = \"default\",\n displayMode = \"popover\",\n modalTitle = \"Select Date Range\",\n required = false,\n invalid = false,\n clearable = false,\n numberOfMonths = 2,\n presets = defaultPresets,\n showPresets = true,\n requireConfirmation = false,\n showTodayButton = true,\n activeDates,\n calendarProps,\n id,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n \"aria-describedby\": ariaDescribedby,\n ...props\n}: DateRangePickerProps) {\n const [open, setOpen] = React.useState(false)\n const [internalRange, setInternalRange] = React.useState<DateRange | undefined>(defaultValue)\n const [pendingRange, setPendingRange] = React.useState<DateRange | undefined>()\n const [selectedPreset, setSelectedPreset] = React.useState<string>()\n const [month, setMonth] = React.useState<Date | undefined>()\n\n // Use controlled value if provided, otherwise use internal state\n const selectedRange = value ?? internalRange\n\n // For confirmation mode, show pending changes until applied\n const displayRange = requireConfirmation && open ? (pendingRange ?? selectedRange) : selectedRange\n\n // Initialize pending range when opening in confirmation mode\n /* eslint-disable @eslint-react/hooks-extra/no-direct-set-state-in-use-effect, react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-event-handler */\n React.useEffect(() => {\n if (open && requireConfirmation) {\n setPendingRange(selectedRange)\n }\n }, [open, requireConfirmation, selectedRange])\n /* eslint-enable @eslint-react/hooks-extra/no-direct-set-state-in-use-effect, react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-event-handler */\n\n const handleRangeSelect = (range: DateRange | undefined) => {\n // Clear preset selection when manually selecting\n setSelectedPreset(undefined)\n\n if (requireConfirmation) {\n setPendingRange(range)\n } else {\n if (value === undefined) {\n setInternalRange(range)\n }\n onChange?.(range)\n }\n }\n\n const handlePresetSelect = (range: DateRange, label: string) => {\n setSelectedPreset(label)\n\n if (requireConfirmation) {\n setPendingRange(range)\n } else {\n if (value === undefined) {\n setInternalRange(range)\n }\n onChange?.(range)\n setOpen(false)\n }\n }\n\n const handleApply = () => {\n if (pendingRange) {\n if (value === undefined) {\n setInternalRange(pendingRange)\n }\n onChange?.(pendingRange)\n }\n setPendingRange(undefined)\n setOpen(false)\n }\n\n const handleCancel = () => {\n setPendingRange(undefined)\n setSelectedPreset(undefined)\n setOpen(false)\n }\n\n const handleOpenChange = (isOpen: boolean) => {\n // Don't open if readOnly\n if (readOnly && isOpen) return\n\n if (!isOpen && requireConfirmation) {\n // Cancel pending changes when closing without applying\n setPendingRange(undefined)\n setSelectedPreset(undefined)\n }\n\n setOpen(isOpen)\n onOpenChange?.(isOpen)\n }\n\n const handleClear = (event: React.MouseEvent) => {\n event.stopPropagation()\n if (value === undefined) {\n setInternalRange(undefined)\n }\n onChange?.()\n setSelectedPreset(undefined)\n onClear?.()\n }\n\n const handleTodayClick = () => {\n setMonth(startOfMonth(new Date()))\n }\n\n // Format display value\n const formatRange = (range: DateRange | undefined): null | string => {\n if (!range?.from) return null\n\n const formatOptions = locale ? { locale } : undefined\n const formattedFrom = formatDate(range.from, format, formatOptions)\n\n if (!range.to) {\n return formattedFrom\n }\n\n const formattedTo = formatDate(range.to, format, formatOptions)\n return `${formattedFrom} - ${formattedTo}`\n }\n\n const displayValue = formatRange(selectedRange)\n const showClearButton = clearable && selectedRange?.from && !disabled && !readOnly\n\n // Combined date disabled check\n const isDateDisabled = React.useCallback(\n (date: Date): boolean => {\n const normalizedDate = startOfDay(date)\n if (minDate && isBefore(normalizedDate, startOfDay(minDate))) return true\n if (maxDate && isAfter(normalizedDate, startOfDay(maxDate))) return true\n if (disabledDates?.(date)) return true\n return false\n },\n [minDate, maxDate, disabledDates]\n )\n\n // Compute displayed month for calendar (controlled or derived from selection)\n const calendarMonth = month ?? displayRange?.from ?? minDate\n\n // Resolve preset labels for the active locale (DES-1263 — locale-driven, not hardcoded)\n const localizedPresets = presets.map((preset) => ({\n ...preset,\n label: resolvePresetLabel(preset, locale?.code),\n }))\n\n // Shared calendar content for both popover and modal modes\n const calendarContent = (\n <div className=\"flex flex-col sm:flex-row\">\n {showPresets && presets.length > 0 && (\n <DateRangePresets\n presets={localizedPresets}\n selectedPreset={selectedPreset}\n onSelect={handlePresetSelect}\n />\n )}\n <div className=\"flex flex-col\">\n {showTodayButton && (\n <div className=\"flex justify-end border-b px-3 py-2\" data-slot=\"date-range-picker-header\">\n <Button\n className=\"h-[var(--date-range-picker-today-button-height)] text-[length:var(--date-range-picker-today-button-text-size)]\"\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleTodayClick}\n >\n Today\n </Button>\n </div>\n )}\n <Calendar\n autoFocus\n activeDates={activeDates}\n className=\"gap-[var(--date-range-picker-calendar-gap)]\"\n disabled={isDateDisabled}\n locale={locale}\n mode=\"range\"\n month={calendarMonth}\n numberOfMonths={numberOfMonths}\n selected={displayRange}\n onMonthChange={setMonth}\n onSelect={handleRangeSelect as (range: DateRange | undefined) => void}\n {...calendarProps}\n />\n {requireConfirmation && (\n <div className={cn(dateRangePickerFooterVariants())} data-slot=\"date-range-picker-footer\">\n <Button\n size=\"sm\"\n variant=\"outline\"\n onClick={handleCancel}\n >\n Cancel\n </Button>\n <Button\n disabled={!pendingRange?.from}\n size=\"sm\"\n variant=\"primary\"\n onClick={handleApply}\n >\n Apply\n </Button>\n </div>\n )}\n </div>\n </div>\n )\n\n // Trigger button shared between modes\n const triggerButton = (\n <button\n ref={ref}\n className={cn(\n dateRangePickerTriggerVariants({ size, variant }),\n !displayValue && \"text-muted-foreground\"\n )}\n aria-describedby={ariaDescribedby}\n aria-expanded={open}\n aria-haspopup=\"dialog\"\n aria-invalid={invalid}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-readonly={readOnly}\n aria-required={required}\n data-readonly={readOnly || undefined}\n data-size={size}\n data-slot=\"date-range-picker-trigger\"\n data-state={open ? \"open\" : \"closed\"}\n data-variant={variant}\n disabled={disabled}\n id={id}\n role=\"combobox\"\n type=\"button\"\n onClick={displayMode === \"modal\" ? () => { handleOpenChange(true); } : undefined}\n >\n <span className=\"flex-1 truncate\">\n {displayValue ?? placeholder}\n </span>\n <span className=\"flex shrink-0 items-center gap-1\">\n {showClearButton && (\n <span\n aria-label=\"Clear date range\"\n className=\"rounded-sm opacity-50 hover:opacity-100 focus:outline-none\"\n data-slot=\"date-range-picker-clear\"\n role=\"button\"\n tabIndex={0}\n onClick={handleClear}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n handleClear(e as unknown as React.MouseEvent)\n }\n }}\n >\n <XIcon className=\"size-4\" />\n </span>\n )}\n <CalendarIcon className=\"size-4 opacity-50\" />\n </span>\n </button>\n )\n\n // Hidden inputs for form submission\n const hiddenInputs = (\n <>\n {name && (\n <input\n name={`${name}-from`}\n type=\"hidden\"\n value={selectedRange?.from?.toISOString() ?? \"\"}\n />\n )}\n {name && (\n <input\n name={`${name}-to`}\n type=\"hidden\"\n value={selectedRange?.to?.toISOString() ?? \"\"}\n />\n )}\n </>\n )\n\n // Modal mode\n if (displayMode === \"modal\") {\n return (\n <div className={cn(\"relative\", className)} data-mode=\"modal\" data-slot=\"date-range-picker\" {...props}>\n {triggerButton}\n <Dialog open={open} onOpenChange={handleOpenChange}>\n <DialogContent\n className=\"max-w-fit p-0\"\n data-slot=\"date-range-picker-content\"\n >\n <DialogHeader className=\"border-b px-4 py-3\">\n <DialogTitle>{modalTitle}</DialogTitle>\n <DialogDescription className=\"sr-only\">\n Use the calendar to select a start and end date for your range\n </DialogDescription>\n </DialogHeader>\n <div className=\"p-0\">\n {calendarContent}\n </div>\n </DialogContent>\n </Dialog>\n {hiddenInputs}\n </div>\n )\n }\n\n // Popover mode (default)\n return (\n <div className={cn(\"relative\", className)} data-mode=\"popover\" data-slot=\"date-range-picker\" {...props}>\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger asChild>\n {triggerButton}\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"w-auto p-0\"\n data-slot=\"date-range-picker-content\"\n >\n {calendarContent}\n </PopoverContent>\n </Popover>\n {hiddenInputs}\n </div>\n )\n}\n\nexport { DateRangePicker }\n","import type { DateRangeInputProps } from \"./DateRangePicker.types\"\n\nimport { format as formatDate, isValid, parse } from \"date-fns\"\nimport { ArrowRightIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n dateRangeInputContainerVariants,\n dateRangeInputFieldVariants,\n} from \"./DateRangePicker.variants\"\n\n/**\n * DateRangeInput component provides editable text inputs for date range entry\n */\nfunction DateRangeInput({\n value,\n format,\n locale,\n onChange,\n disabled = false,\n readOnly = false,\n startPlaceholder = \"Start date\",\n endPlaceholder = \"End date\",\n}: DateRangeInputProps) {\n const [startInput, setStartInput] = React.useState(\"\")\n const [endInput, setEndInput] = React.useState(\"\")\n\n // Sync input values with prop value\n /* eslint-disable react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -- Intentional: controlled input sync requires useEffect to maintain input state separate from date state for partial input handling */\n React.useEffect(() => {\n if (value?.from) {\n setStartInput(formatDate(value.from, format, locale ? { locale } : undefined))\n } else {\n setStartInput(\"\")\n }\n if (value?.to) {\n setEndInput(formatDate(value.to, format, locale ? { locale } : undefined))\n } else {\n setEndInput(\"\")\n }\n }, [value, format, locale])\n /* eslint-enable react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect */\n\n const parseDate = (input: string): Date | undefined => {\n if (!input.trim()) return undefined\n try {\n const parsed = parse(input, format, new Date(), locale ? { locale } : undefined)\n return isValid(parsed) ? parsed : undefined\n } catch {\n return undefined\n }\n }\n\n const handleStartBlur = () => {\n const parsedStart = parseDate(startInput)\n const currentEnd = value?.to\n\n if (parsedStart || !startInput.trim()) {\n onChange({\n from: parsedStart,\n to: currentEnd,\n })\n } else {\n // Reset to previous value if invalid\n if (value?.from) {\n setStartInput(formatDate(value.from, format, locale ? { locale } : undefined))\n } else {\n setStartInput(\"\")\n }\n }\n }\n\n const handleEndBlur = () => {\n const parsedEnd = parseDate(endInput)\n const currentStart = value?.from\n\n if (parsedEnd || !endInput.trim()) {\n onChange({\n from: currentStart,\n to: parsedEnd,\n })\n } else {\n // Reset to previous value if invalid\n if (value?.to) {\n setEndInput(formatDate(value.to, format, locale ? { locale } : undefined))\n } else {\n setEndInput(\"\")\n }\n }\n }\n\n const handleStartKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n handleStartBlur()\n }\n }\n\n const handleEndKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n handleEndBlur()\n }\n }\n\n return (\n <div\n className={cn(dateRangeInputContainerVariants())}\n data-slot=\"date-range-input\"\n >\n <input\n aria-label=\"Start date\"\n className={cn(dateRangeInputFieldVariants())}\n data-slot=\"date-range-input-start\"\n disabled={disabled}\n placeholder={startPlaceholder}\n readOnly={readOnly}\n type=\"text\"\n value={startInput}\n onBlur={handleStartBlur}\n onChange={(e) => { setStartInput(e.target.value); }}\n onKeyDown={handleStartKeyDown}\n />\n <ArrowRightIcon aria-hidden=\"true\" className=\"size-4 text-muted-foreground shrink-0\" />\n <input\n aria-label=\"End date\"\n className={cn(dateRangeInputFieldVariants())}\n data-slot=\"date-range-input-end\"\n disabled={disabled}\n placeholder={endPlaceholder}\n readOnly={readOnly}\n type=\"text\"\n value={endInput}\n onBlur={handleEndBlur}\n onChange={(e) => { setEndInput(e.target.value); }}\n onKeyDown={handleEndKeyDown}\n />\n </div>\n )\n}\n\nexport { DateRangeInput }\n"]}
@@ -1,5 +1,5 @@
1
- import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-7ZJ32KRQ.js';
2
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-TEVGCTUN.js';
2
+ import { cn } from './chunk-RVAYDRMA.js';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import * as React from 'react';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -434,5 +434,5 @@ function Heatmap({
434
434
  }
435
435
 
436
436
  export { Heatmap, HeatmapCell, HeatmapLegend, heatmapVariants };
437
- //# sourceMappingURL=chunk-6GWO7JNP.js.map
438
- //# sourceMappingURL=chunk-6GWO7JNP.js.map
437
+ //# sourceMappingURL=chunk-MXBDOYQL.js.map
438
+ //# sourceMappingURL=chunk-MXBDOYQL.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/data-display/Heatmap/Heatmap.tsx"],"names":["ratio"],"mappings":"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","file":"chunk-6GWO7JNP.js","sourcesContent":["\"use client\"\n\nimport type {\n HeatmapCellEventPayload,\n HeatmapCellProps,\n HeatmapData,\n HeatmapProps,\n} from \"./Heatmap.types\"\n\nimport { cva } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../../feedback/Tooltip\"\n\n// ============================================================================\n// Constants for CSS Variables\n// ============================================================================\n\nconst CSS_VAR_MUTED = \"var(--muted)\"\nconst CSS_VAR_PRIMARY = \"var(--primary)\"\n\n// ============================================================================\n// Variants\n// ============================================================================\n\nconst heatmapVariants = cva(\"inline-flex flex-col gap-2\", {\n variants: {\n variant: {\n calendar: \"\",\n grid: \"\",\n triangular: \"\",\n },\n },\n defaultVariants: {\n variant: \"grid\",\n },\n})\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\n/**\n * Interpolate between two colors based on a ratio (0-1)\n */\nfunction interpolateColor(\n color1: string,\n color2: string,\n ratio: number\n): string {\n // Handle CSS variable format\n if (color1.startsWith(\"var(\") || color2.startsWith(\"var(\")) {\n // Use color-mix for CSS variables\n return `color-mix(in srgb, ${color2} ${String(Math.round(ratio * 100))}%, ${color1})`\n }\n\n // Handle HSL format\n if (color1.startsWith(\"hsl\") || color2.startsWith(\"hsl\")) {\n // Use opacity-based interpolation for HSL\n const opacity = Math.max(0.1, Math.min(1, ratio))\n return color2.replace(\")\", ` / ${String(opacity)})`)\n }\n\n // Handle hex colors\n const hexToRgb = (hex: string): [number, number, number] | null => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n if (!result?.[1] || !result[2] || !result[3]) return null\n return [\n Number.parseInt(result[1], 16),\n Number.parseInt(result[2], 16),\n Number.parseInt(result[3], 16),\n ]\n }\n\n const rgb1 = hexToRgb(color1)\n const rgb2 = hexToRgb(color2)\n\n if (!rgb1 || !rgb2) {\n // Fallback to color-mix for any other format\n return `color-mix(in srgb, ${color2} ${String(Math.round(ratio * 100))}%, ${color1})`\n }\n\n const r = Math.round(rgb1[0] + (rgb2[0] - rgb1[0]) * ratio)\n const g = Math.round(rgb1[1] + (rgb2[1] - rgb1[1]) * ratio)\n const b = Math.round(rgb1[2] + (rgb2[2] - rgb1[2]) * ratio)\n\n return `rgb(${String(r)}, ${String(g)}, ${String(b)})`\n}\n\n/**\n * Get color for a value based on scale type\n */\nfunction getColorForValue(\n value: number,\n min: number,\n max: number,\n colorScale: \"diverging\" | \"sequential\",\n minColor: string,\n maxColor: string,\n midColor?: string\n): string {\n if (max === min) return maxColor\n\n if (colorScale === \"diverging\") {\n const mid = (max + min) / 2\n const midColorActual = midColor ?? CSS_VAR_MUTED\n\n if (value < mid) {\n const ratio = (value - min) / (mid - min)\n return interpolateColor(minColor, midColorActual, ratio)\n } else {\n const ratio = (value - mid) / (max - mid)\n return interpolateColor(midColorActual, maxColor, ratio)\n }\n }\n\n // Sequential\n const ratio = (value - min) / (max - min)\n return interpolateColor(minColor, maxColor, ratio)\n}\n\n// ============================================================================\n// HeatmapCell Component\n// ============================================================================\n\nfunction HeatmapCell({\n color,\n data,\n isHighlighted,\n isSelected,\n onClick,\n renderTooltip,\n showTooltip,\n size,\n}: HeatmapCellProps) {\n const cellContent = (\n <div\n className={cn(\n \"rounded-sm cursor-pointer transition-all\",\n \"hover:ring-2 hover:ring-ring hover:ring-offset-1\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n isSelected && \"ring-2 ring-primary ring-offset-2\",\n isHighlighted && \"ring-1 ring-muted-foreground/50\"\n )}\n style={{\n backgroundColor: color,\n height: size,\n width: size,\n }}\n aria-label={`${data.label ?? `${String(data.x)}, ${String(data.y)}`}: ${String(data.value)}`}\n data-highlighted={isHighlighted ? true : undefined}\n data-selected={isSelected ? true : undefined}\n data-slot=\"heatmap-cell\"\n data-value={data.value}\n role=\"gridcell\"\n tabIndex={0}\n onClick={onClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n onClick?.(e as unknown as React.MouseEvent)\n }\n }}\n />\n )\n\n if (!showTooltip) {\n return cellContent\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{cellContent}</TooltipTrigger>\n <TooltipContent>\n {renderTooltip ? (\n renderTooltip(data)\n ) : (\n <div className=\"space-y-1\">\n {data.label && <p className=\"font-medium\">{data.label}</p>}\n <p className=\"text-sm\">\n <span className=\"text-muted-foreground\">Value: </span>\n <span className=\"font-mono\">{data.value}</span>\n </p>\n <p className=\"text-xs text-muted-foreground\">\n {String(data.x)}, {String(data.y)}\n </p>\n </div>\n )}\n </TooltipContent>\n </Tooltip>\n )\n}\n\n// ============================================================================\n// HeatmapLegend Component\n// ============================================================================\n\ninterface HeatmapLegendProps {\n colorScale: \"diverging\" | \"sequential\"\n max: number\n maxColor: string\n midColor?: string\n min: number\n minColor: string\n position: \"bottom\" | \"left\" | \"right\" | \"top\"\n}\n\nfunction HeatmapLegend({\n colorScale,\n max,\n maxColor,\n midColor,\n min,\n minColor,\n position,\n}: HeatmapLegendProps) {\n const isHorizontal = position === \"top\" || position === \"bottom\"\n const gradientStyle =\n colorScale === \"diverging\"\n ? {\n background: `linear-gradient(${isHorizontal ? \"to right\" : \"to top\"}, ${minColor}, ${midColor ?? CSS_VAR_MUTED}, ${maxColor})`,\n }\n : {\n background: `linear-gradient(${isHorizontal ? \"to right\" : \"to top\"}, ${minColor}, ${maxColor})`,\n }\n\n return (\n <div\n className={cn(\n \"flex items-center gap-2 text-xs text-muted-foreground\",\n isHorizontal ? \"flex-row\" : \"flex-col\"\n )}\n data-slot=\"heatmap-legend\"\n >\n <span className=\"font-mono\">{min}</span>\n <div\n className={cn(\n \"rounded\",\n isHorizontal ? \"w-24 h-3\" : \"w-3 h-24\"\n )}\n style={gradientStyle}\n />\n <span className=\"font-mono\">{max}</span>\n </div>\n )\n}\n\n// ============================================================================\n// Main Heatmap Component\n// ============================================================================\n\nfunction Heatmap({\n ariaLabel,\n cellGap = 2,\n cellSize = 20,\n className,\n colorScale = \"sequential\",\n data,\n highlightedRow,\n legendPosition = \"bottom\",\n maxColor = CSS_VAR_PRIMARY,\n midColor,\n minColor = CSS_VAR_MUTED,\n onCellClick,\n onRowHover,\n renderTooltip,\n selectedCell,\n showLegend = true,\n showTooltip = true,\n valueKey,\n variant = \"grid\",\n xKey,\n xLabels,\n yKey,\n yLabels,\n ...props\n}: HeatmapProps) {\n // Derive labels from data if not provided\n const derivedXLabels = React.useMemo(() => {\n if (xLabels) return xLabels\n const uniqueX = [...new Set(data.map((d) => String(d[xKey as keyof HeatmapData])))]\n return uniqueX\n }, [data, xKey, xLabels])\n\n const derivedYLabels = React.useMemo(() => {\n if (yLabels) return yLabels\n const uniqueY = [...new Set(data.map((d) => String(d[yKey as keyof HeatmapData])))]\n return uniqueY\n }, [data, yKey, yLabels])\n\n // Calculate min/max values\n const { maxValue, minValue } = React.useMemo(() => {\n const values = data.map((d) => d[valueKey as keyof HeatmapData] as number)\n return {\n maxValue: Math.max(...values),\n minValue: Math.min(...values),\n }\n }, [data, valueKey])\n\n // Build data lookup map\n const dataMap = React.useMemo(() => {\n const map = new Map<string, HeatmapData>()\n data.forEach((d) => {\n const key = `${String(d[xKey as keyof HeatmapData])}-${String(d[yKey as keyof HeatmapData])}`\n map.set(key, d)\n })\n return map\n }, [data, xKey, yKey])\n\n // Handle cell click\n const handleCellClick = React.useCallback(\n (cellData: HeatmapData) => (event: React.MouseEvent) => {\n if (!onCellClick) return\n\n const payload: HeatmapCellEventPayload = {\n label: cellData.label,\n timestamp: Date.now(),\n value: cellData.value,\n x: cellData.x,\n y: cellData.y,\n }\n onCellClick(event, payload)\n },\n [onCellClick]\n )\n\n // Determine which cells to render based on variant\n const shouldRenderCell = React.useCallback(\n (xIndex: number, yIndex: number): boolean => {\n if (variant === \"triangular\") {\n // Only render lower triangle (including diagonal)\n return yIndex >= xIndex\n }\n return true\n },\n [variant]\n )\n\n // Get cell data for coordinates\n const getCellData = React.useCallback(\n (xLabel: string, yLabel: string): HeatmapData | null => {\n const key = `${xLabel}-${yLabel}`\n const found = dataMap.get(key)\n if (found) return found\n\n // Also try with the actual data keys\n const matchingData = data.find(\n (d) =>\n String(d[xKey as keyof HeatmapData]) === xLabel &&\n String(d[yKey as keyof HeatmapData]) === yLabel\n )\n return matchingData ?? null\n },\n [data, dataMap, xKey, yKey]\n )\n\n const renderLegend = showLegend && (\n <HeatmapLegend\n colorScale={colorScale}\n max={maxValue}\n maxColor={maxColor}\n midColor={midColor}\n min={minValue}\n minColor={minColor}\n position={legendPosition}\n />\n )\n\n return (\n <div\n aria-label={ariaLabel ?? \"Heatmap visualization\"}\n className={cn(heatmapVariants({ variant }), className)}\n data-slot=\"heatmap\"\n role=\"region\"\n {...props}\n >\n {/* Screen reader accessible table */}\n <table className=\"sr-only\">\n <caption>{ariaLabel ?? \"Heatmap data\"}</caption>\n <thead>\n <tr>\n <th scope=\"col\">Row / Column</th>\n {derivedXLabels.map((label) => (\n <th key={label} scope=\"col\">\n {label}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {derivedYLabels.map((yLabel, yIndex) => (\n <tr key={yLabel}>\n <th scope=\"row\">{yLabel}</th>\n {derivedXLabels.map((xLabel, xIndex) => {\n if (!shouldRenderCell(xIndex, yIndex)) {\n return <td key={xLabel}>-</td>\n }\n const cellData = getCellData(xLabel, yLabel)\n return (\n <td key={xLabel}>{cellData?.value ?? \"-\"}</td>\n )\n })}\n </tr>\n ))}\n </tbody>\n </table>\n\n {/* Legend at top/left */}\n {showLegend && (legendPosition === \"top\" || legendPosition === \"left\") && (\n <div\n className={cn(\n legendPosition === \"left\" && \"self-center\"\n )}\n >\n {renderLegend}\n </div>\n )}\n\n {/* Visual heatmap */}\n <div\n className={cn(\n \"flex\",\n legendPosition === \"left\" || legendPosition === \"right\"\n ? \"flex-row gap-4\"\n : \"flex-col\"\n )}\n >\n {/* Y-axis labels */}\n <div className=\"flex gap-0.5\" data-slot=\"heatmap-container\">\n <div className=\"flex flex-col\" style={{ gap: cellGap }}>\n {derivedYLabels.map((yLabel) => (\n <div\n key={yLabel}\n className=\"flex items-center justify-end pr-2 text-xs text-muted-foreground\"\n style={{ height: cellSize }}\n >\n {yLabel}\n </div>\n ))}\n </div>\n\n {/* Grid */}\n <div\n aria-hidden=\"true\"\n className=\"flex flex-col\"\n data-slot=\"heatmap-grid\"\n role=\"grid\"\n style={{ gap: cellGap }}\n >\n {derivedYLabels.map((yLabel, yIndex) => (\n <div\n key={yLabel}\n className=\"flex\"\n data-slot=\"heatmap-row\"\n role=\"row\"\n style={{ gap: cellGap }}\n onMouseEnter={() => onRowHover?.(yLabel)}\n onMouseLeave={() => onRowHover?.(null)}\n >\n {derivedXLabels.map((xLabel, xIndex) => {\n if (!shouldRenderCell(xIndex, yIndex)) {\n // Render empty placeholder for triangular layout\n return (\n <div\n key={xLabel}\n style={{ height: cellSize, width: cellSize }}\n />\n )\n }\n\n const cellData = getCellData(xLabel, yLabel)\n\n if (!cellData) {\n // Empty cell\n return (\n <div\n key={xLabel}\n className=\"rounded-sm bg-muted\"\n data-empty=\"true\"\n data-slot=\"heatmap-cell\"\n role=\"gridcell\"\n style={{ height: cellSize, width: cellSize }}\n />\n )\n }\n\n const color = getColorForValue(\n cellData.value,\n minValue,\n maxValue,\n colorScale,\n minColor,\n maxColor,\n midColor\n )\n\n const isSelected =\n selectedCell?.x === cellData.x &&\n selectedCell.y === cellData.y\n\n const isHighlighted = highlightedRow === yLabel\n\n return (\n <HeatmapCell\n key={xLabel}\n data={{\n label: cellData.label,\n value: cellData.value,\n x: cellData.x,\n y: cellData.y,\n }}\n color={color}\n isHighlighted={isHighlighted}\n isSelected={isSelected}\n renderTooltip={renderTooltip}\n showTooltip={showTooltip}\n size={cellSize}\n onClick={handleCellClick(cellData)}\n />\n )\n })}\n </div>\n ))}\n\n {/* X-axis labels */}\n {variant !== \"calendar\" && (\n <div\n className=\"flex pt-1\"\n data-slot=\"heatmap-x-labels\"\n style={{ gap: cellGap }}\n >\n {derivedXLabels.map((xLabel) => (\n <div\n key={xLabel}\n className=\"flex items-start justify-center text-xs text-muted-foreground\"\n style={{ width: cellSize }}\n >\n <span\n className={cn(\n derivedXLabels.length > 10 && \"rotate-45 origin-top-left text-xs\"\n )}\n >\n {xLabel}\n </span>\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Legend at bottom/right */}\n {showLegend && (legendPosition === \"bottom\" || legendPosition === \"right\") && (\n <div\n className={cn(\n \"flex justify-end\",\n legendPosition === \"right\" && \"self-center\"\n )}\n >\n {renderLegend}\n </div>\n )}\n </div>\n )\n}\n\nexport { Heatmap, HeatmapCell, HeatmapLegend, heatmapVariants }\n"]}
1
+ {"version":3,"sources":["../src/components/data-display/Heatmap/Heatmap.tsx"],"names":["ratio"],"mappings":"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","file":"chunk-MXBDOYQL.js","sourcesContent":["\"use client\"\n\nimport type {\n HeatmapCellEventPayload,\n HeatmapCellProps,\n HeatmapData,\n HeatmapProps,\n} from \"./Heatmap.types\"\n\nimport { cva } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../../feedback/Tooltip\"\n\n// ============================================================================\n// Constants for CSS Variables\n// ============================================================================\n\nconst CSS_VAR_MUTED = \"var(--muted)\"\nconst CSS_VAR_PRIMARY = \"var(--primary)\"\n\n// ============================================================================\n// Variants\n// ============================================================================\n\nconst heatmapVariants = cva(\"inline-flex flex-col gap-2\", {\n variants: {\n variant: {\n calendar: \"\",\n grid: \"\",\n triangular: \"\",\n },\n },\n defaultVariants: {\n variant: \"grid\",\n },\n})\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\n/**\n * Interpolate between two colors based on a ratio (0-1)\n */\nfunction interpolateColor(\n color1: string,\n color2: string,\n ratio: number\n): string {\n // Handle CSS variable format\n if (color1.startsWith(\"var(\") || color2.startsWith(\"var(\")) {\n // Use color-mix for CSS variables\n return `color-mix(in srgb, ${color2} ${String(Math.round(ratio * 100))}%, ${color1})`\n }\n\n // Handle HSL format\n if (color1.startsWith(\"hsl\") || color2.startsWith(\"hsl\")) {\n // Use opacity-based interpolation for HSL\n const opacity = Math.max(0.1, Math.min(1, ratio))\n return color2.replace(\")\", ` / ${String(opacity)})`)\n }\n\n // Handle hex colors\n const hexToRgb = (hex: string): [number, number, number] | null => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n if (!result?.[1] || !result[2] || !result[3]) return null\n return [\n Number.parseInt(result[1], 16),\n Number.parseInt(result[2], 16),\n Number.parseInt(result[3], 16),\n ]\n }\n\n const rgb1 = hexToRgb(color1)\n const rgb2 = hexToRgb(color2)\n\n if (!rgb1 || !rgb2) {\n // Fallback to color-mix for any other format\n return `color-mix(in srgb, ${color2} ${String(Math.round(ratio * 100))}%, ${color1})`\n }\n\n const r = Math.round(rgb1[0] + (rgb2[0] - rgb1[0]) * ratio)\n const g = Math.round(rgb1[1] + (rgb2[1] - rgb1[1]) * ratio)\n const b = Math.round(rgb1[2] + (rgb2[2] - rgb1[2]) * ratio)\n\n return `rgb(${String(r)}, ${String(g)}, ${String(b)})`\n}\n\n/**\n * Get color for a value based on scale type\n */\nfunction getColorForValue(\n value: number,\n min: number,\n max: number,\n colorScale: \"diverging\" | \"sequential\",\n minColor: string,\n maxColor: string,\n midColor?: string\n): string {\n if (max === min) return maxColor\n\n if (colorScale === \"diverging\") {\n const mid = (max + min) / 2\n const midColorActual = midColor ?? CSS_VAR_MUTED\n\n if (value < mid) {\n const ratio = (value - min) / (mid - min)\n return interpolateColor(minColor, midColorActual, ratio)\n } else {\n const ratio = (value - mid) / (max - mid)\n return interpolateColor(midColorActual, maxColor, ratio)\n }\n }\n\n // Sequential\n const ratio = (value - min) / (max - min)\n return interpolateColor(minColor, maxColor, ratio)\n}\n\n// ============================================================================\n// HeatmapCell Component\n// ============================================================================\n\nfunction HeatmapCell({\n color,\n data,\n isHighlighted,\n isSelected,\n onClick,\n renderTooltip,\n showTooltip,\n size,\n}: HeatmapCellProps) {\n const cellContent = (\n <div\n className={cn(\n \"rounded-sm cursor-pointer transition-all\",\n \"hover:ring-2 hover:ring-ring hover:ring-offset-1\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n isSelected && \"ring-2 ring-primary ring-offset-2\",\n isHighlighted && \"ring-1 ring-muted-foreground/50\"\n )}\n style={{\n backgroundColor: color,\n height: size,\n width: size,\n }}\n aria-label={`${data.label ?? `${String(data.x)}, ${String(data.y)}`}: ${String(data.value)}`}\n data-highlighted={isHighlighted ? true : undefined}\n data-selected={isSelected ? true : undefined}\n data-slot=\"heatmap-cell\"\n data-value={data.value}\n role=\"gridcell\"\n tabIndex={0}\n onClick={onClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n onClick?.(e as unknown as React.MouseEvent)\n }\n }}\n />\n )\n\n if (!showTooltip) {\n return cellContent\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{cellContent}</TooltipTrigger>\n <TooltipContent>\n {renderTooltip ? (\n renderTooltip(data)\n ) : (\n <div className=\"space-y-1\">\n {data.label && <p className=\"font-medium\">{data.label}</p>}\n <p className=\"text-sm\">\n <span className=\"text-muted-foreground\">Value: </span>\n <span className=\"font-mono\">{data.value}</span>\n </p>\n <p className=\"text-xs text-muted-foreground\">\n {String(data.x)}, {String(data.y)}\n </p>\n </div>\n )}\n </TooltipContent>\n </Tooltip>\n )\n}\n\n// ============================================================================\n// HeatmapLegend Component\n// ============================================================================\n\ninterface HeatmapLegendProps {\n colorScale: \"diverging\" | \"sequential\"\n max: number\n maxColor: string\n midColor?: string\n min: number\n minColor: string\n position: \"bottom\" | \"left\" | \"right\" | \"top\"\n}\n\nfunction HeatmapLegend({\n colorScale,\n max,\n maxColor,\n midColor,\n min,\n minColor,\n position,\n}: HeatmapLegendProps) {\n const isHorizontal = position === \"top\" || position === \"bottom\"\n const gradientStyle =\n colorScale === \"diverging\"\n ? {\n background: `linear-gradient(${isHorizontal ? \"to right\" : \"to top\"}, ${minColor}, ${midColor ?? CSS_VAR_MUTED}, ${maxColor})`,\n }\n : {\n background: `linear-gradient(${isHorizontal ? \"to right\" : \"to top\"}, ${minColor}, ${maxColor})`,\n }\n\n return (\n <div\n className={cn(\n \"flex items-center gap-2 text-xs text-muted-foreground\",\n isHorizontal ? \"flex-row\" : \"flex-col\"\n )}\n data-slot=\"heatmap-legend\"\n >\n <span className=\"font-mono\">{min}</span>\n <div\n className={cn(\n \"rounded\",\n isHorizontal ? \"w-24 h-3\" : \"w-3 h-24\"\n )}\n style={gradientStyle}\n />\n <span className=\"font-mono\">{max}</span>\n </div>\n )\n}\n\n// ============================================================================\n// Main Heatmap Component\n// ============================================================================\n\nfunction Heatmap({\n ariaLabel,\n cellGap = 2,\n cellSize = 20,\n className,\n colorScale = \"sequential\",\n data,\n highlightedRow,\n legendPosition = \"bottom\",\n maxColor = CSS_VAR_PRIMARY,\n midColor,\n minColor = CSS_VAR_MUTED,\n onCellClick,\n onRowHover,\n renderTooltip,\n selectedCell,\n showLegend = true,\n showTooltip = true,\n valueKey,\n variant = \"grid\",\n xKey,\n xLabels,\n yKey,\n yLabels,\n ...props\n}: HeatmapProps) {\n // Derive labels from data if not provided\n const derivedXLabels = React.useMemo(() => {\n if (xLabels) return xLabels\n const uniqueX = [...new Set(data.map((d) => String(d[xKey as keyof HeatmapData])))]\n return uniqueX\n }, [data, xKey, xLabels])\n\n const derivedYLabels = React.useMemo(() => {\n if (yLabels) return yLabels\n const uniqueY = [...new Set(data.map((d) => String(d[yKey as keyof HeatmapData])))]\n return uniqueY\n }, [data, yKey, yLabels])\n\n // Calculate min/max values\n const { maxValue, minValue } = React.useMemo(() => {\n const values = data.map((d) => d[valueKey as keyof HeatmapData] as number)\n return {\n maxValue: Math.max(...values),\n minValue: Math.min(...values),\n }\n }, [data, valueKey])\n\n // Build data lookup map\n const dataMap = React.useMemo(() => {\n const map = new Map<string, HeatmapData>()\n data.forEach((d) => {\n const key = `${String(d[xKey as keyof HeatmapData])}-${String(d[yKey as keyof HeatmapData])}`\n map.set(key, d)\n })\n return map\n }, [data, xKey, yKey])\n\n // Handle cell click\n const handleCellClick = React.useCallback(\n (cellData: HeatmapData) => (event: React.MouseEvent) => {\n if (!onCellClick) return\n\n const payload: HeatmapCellEventPayload = {\n label: cellData.label,\n timestamp: Date.now(),\n value: cellData.value,\n x: cellData.x,\n y: cellData.y,\n }\n onCellClick(event, payload)\n },\n [onCellClick]\n )\n\n // Determine which cells to render based on variant\n const shouldRenderCell = React.useCallback(\n (xIndex: number, yIndex: number): boolean => {\n if (variant === \"triangular\") {\n // Only render lower triangle (including diagonal)\n return yIndex >= xIndex\n }\n return true\n },\n [variant]\n )\n\n // Get cell data for coordinates\n const getCellData = React.useCallback(\n (xLabel: string, yLabel: string): HeatmapData | null => {\n const key = `${xLabel}-${yLabel}`\n const found = dataMap.get(key)\n if (found) return found\n\n // Also try with the actual data keys\n const matchingData = data.find(\n (d) =>\n String(d[xKey as keyof HeatmapData]) === xLabel &&\n String(d[yKey as keyof HeatmapData]) === yLabel\n )\n return matchingData ?? null\n },\n [data, dataMap, xKey, yKey]\n )\n\n const renderLegend = showLegend && (\n <HeatmapLegend\n colorScale={colorScale}\n max={maxValue}\n maxColor={maxColor}\n midColor={midColor}\n min={minValue}\n minColor={minColor}\n position={legendPosition}\n />\n )\n\n return (\n <div\n aria-label={ariaLabel ?? \"Heatmap visualization\"}\n className={cn(heatmapVariants({ variant }), className)}\n data-slot=\"heatmap\"\n role=\"region\"\n {...props}\n >\n {/* Screen reader accessible table */}\n <table className=\"sr-only\">\n <caption>{ariaLabel ?? \"Heatmap data\"}</caption>\n <thead>\n <tr>\n <th scope=\"col\">Row / Column</th>\n {derivedXLabels.map((label) => (\n <th key={label} scope=\"col\">\n {label}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {derivedYLabels.map((yLabel, yIndex) => (\n <tr key={yLabel}>\n <th scope=\"row\">{yLabel}</th>\n {derivedXLabels.map((xLabel, xIndex) => {\n if (!shouldRenderCell(xIndex, yIndex)) {\n return <td key={xLabel}>-</td>\n }\n const cellData = getCellData(xLabel, yLabel)\n return (\n <td key={xLabel}>{cellData?.value ?? \"-\"}</td>\n )\n })}\n </tr>\n ))}\n </tbody>\n </table>\n\n {/* Legend at top/left */}\n {showLegend && (legendPosition === \"top\" || legendPosition === \"left\") && (\n <div\n className={cn(\n legendPosition === \"left\" && \"self-center\"\n )}\n >\n {renderLegend}\n </div>\n )}\n\n {/* Visual heatmap */}\n <div\n className={cn(\n \"flex\",\n legendPosition === \"left\" || legendPosition === \"right\"\n ? \"flex-row gap-4\"\n : \"flex-col\"\n )}\n >\n {/* Y-axis labels */}\n <div className=\"flex gap-0.5\" data-slot=\"heatmap-container\">\n <div className=\"flex flex-col\" style={{ gap: cellGap }}>\n {derivedYLabels.map((yLabel) => (\n <div\n key={yLabel}\n className=\"flex items-center justify-end pr-2 text-xs text-muted-foreground\"\n style={{ height: cellSize }}\n >\n {yLabel}\n </div>\n ))}\n </div>\n\n {/* Grid */}\n <div\n aria-hidden=\"true\"\n className=\"flex flex-col\"\n data-slot=\"heatmap-grid\"\n role=\"grid\"\n style={{ gap: cellGap }}\n >\n {derivedYLabels.map((yLabel, yIndex) => (\n <div\n key={yLabel}\n className=\"flex\"\n data-slot=\"heatmap-row\"\n role=\"row\"\n style={{ gap: cellGap }}\n onMouseEnter={() => onRowHover?.(yLabel)}\n onMouseLeave={() => onRowHover?.(null)}\n >\n {derivedXLabels.map((xLabel, xIndex) => {\n if (!shouldRenderCell(xIndex, yIndex)) {\n // Render empty placeholder for triangular layout\n return (\n <div\n key={xLabel}\n style={{ height: cellSize, width: cellSize }}\n />\n )\n }\n\n const cellData = getCellData(xLabel, yLabel)\n\n if (!cellData) {\n // Empty cell\n return (\n <div\n key={xLabel}\n className=\"rounded-sm bg-muted\"\n data-empty=\"true\"\n data-slot=\"heatmap-cell\"\n role=\"gridcell\"\n style={{ height: cellSize, width: cellSize }}\n />\n )\n }\n\n const color = getColorForValue(\n cellData.value,\n minValue,\n maxValue,\n colorScale,\n minColor,\n maxColor,\n midColor\n )\n\n const isSelected =\n selectedCell?.x === cellData.x &&\n selectedCell.y === cellData.y\n\n const isHighlighted = highlightedRow === yLabel\n\n return (\n <HeatmapCell\n key={xLabel}\n data={{\n label: cellData.label,\n value: cellData.value,\n x: cellData.x,\n y: cellData.y,\n }}\n color={color}\n isHighlighted={isHighlighted}\n isSelected={isSelected}\n renderTooltip={renderTooltip}\n showTooltip={showTooltip}\n size={cellSize}\n onClick={handleCellClick(cellData)}\n />\n )\n })}\n </div>\n ))}\n\n {/* X-axis labels */}\n {variant !== \"calendar\" && (\n <div\n className=\"flex pt-1\"\n data-slot=\"heatmap-x-labels\"\n style={{ gap: cellGap }}\n >\n {derivedXLabels.map((xLabel) => (\n <div\n key={xLabel}\n className=\"flex items-start justify-center text-xs text-muted-foreground\"\n style={{ width: cellSize }}\n >\n <span\n className={cn(\n derivedXLabels.length > 10 && \"rotate-45 origin-top-left text-xs\"\n )}\n >\n {xLabel}\n </span>\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Legend at bottom/right */}\n {showLegend && (legendPosition === \"bottom\" || legendPosition === \"right\") && (\n <div\n className={cn(\n \"flex justify-end\",\n legendPosition === \"right\" && \"self-center\"\n )}\n >\n {renderLegend}\n </div>\n )}\n </div>\n )\n}\n\nexport { Heatmap, HeatmapCell, HeatmapLegend, heatmapVariants }\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import { cva } from 'class-variance-authority';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
@@ -42,5 +42,5 @@ function LogoConta({
42
42
  }
43
43
 
44
44
  export { LogoConta, logoContaVariants };
45
- //# sourceMappingURL=chunk-37KLBMFQ.js.map
46
- //# sourceMappingURL=chunk-37KLBMFQ.js.map
45
+ //# sourceMappingURL=chunk-N2DAVD4Y.js.map
46
+ //# sourceMappingURL=chunk-N2DAVD4Y.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/navigation/LogoConta/LogoConta.variants.ts","../src/components/navigation/LogoConta/LogoConta.tsx"],"names":[],"mappings":";;;;AAqBO,IAAM,iBAAA,GAAoB,GAAA;AAAA,EAC/B,kHAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,kEAAA;AAAA,QACN,IAAA,EAAM,qFAAA;AAAA,QACN,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;ACZA,SAAS,SAAA,CAAU;AAAA,EACjB,SAAA;AAAA,EACA,IAAA,GAAO,MAAA;AAAA,EACP,GAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAmB;AAIjB,EAAA,MAAM,UAAA,GAAa,CAAC,GAAA,IAAO,GAAA,CAAI,MAAK,KAAM,EAAA;AAE1C,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAa,aAAa,IAAA,GAAO,MAAA;AAAA,MACjC,YAAA,EAAY,aAAa,MAAA,GAAY,GAAA;AAAA,MACrC,WAAW,EAAA,CAAG,iBAAA,CAAkB,EAAE,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MACpD,WAAA,EAAU,YAAA;AAAA,MACV,WAAA,EAAW,IAAA;AAAA,MACX,IAAA,EAAM,aAAa,MAAA,GAAY,KAAA;AAAA,MAC9B,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA,GAAA,uBAAO,KAAA,EAAA,EAAI,GAAA,EAAI,IAAG,SAAA,EAAU,0BAAA,EAA2B,KAAU,CAAA,GAAK;AAAA;AAAA,GACzE;AAEJ","file":"chunk-37KLBMFQ.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * LogoConta root styles.\n *\n * Figma: `Core Components — Seven > Logo-Conta` (node 1138:2959). A\n * rounded-square (radius-sm) colour-filled badge that frames a brand\n * logo/symbol — used in the app shell (sidebar header / account switcher,\n * Sidebar set 1091:9106).\n *\n * The badge size comes from `--logo-conta-size` (24px in Figma). Each\n * `tone` reuses an existing global token pair, mirroring the three example\n * accounts in Figma — no new colour tokens are introduced:\n * - `mint` → Plusdin → `--primary` (Figma default/green/500)\n * - `blue` → Brius → `--status-info-background` (Figma status/info)\n * - `lime` → Got All Cards → `--secondary`\n *\n * Tone backgrounds are tokenised presets for the documented example accounts;\n * for an account whose brand colour is none of the three, override the\n * background via `className`/`style`.\n */\nexport const logoContaVariants = cva(\n \"inline-grid size-[var(--logo-conta-size)] shrink-0 place-items-center overflow-hidden rounded-[var(--radius-sm)]\",\n {\n variants: {\n tone: {\n mint: \"bg-[color:var(--primary)] text-[color:var(--primary-foreground)]\",\n blue: \"bg-[color:var(--status-info-background)] text-[color:var(--status-info-foreground)]\",\n lime: \"bg-[color:var(--secondary)] text-[color:var(--secondary-foreground)]\",\n },\n },\n defaultVariants: {\n tone: \"mint\",\n },\n },\n)\n","import type { LogoContaProps } from \"./LogoConta.types\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { logoContaVariants } from \"./LogoConta.variants\"\n\n/**\n * LogoConta — rounded-square, colour-filled badge that frames an account's\n * brand logo/symbol. Part of the app shell (sidebar header / account switcher).\n *\n * Pass the mark via `children` (recommended — compose any SVG/letter over the\n * `tone` background) or via `src` (image URL). Provide `alt` with the account\n * name to expose `role=\"img\"`; omit it for a decorative badge (`aria-hidden`).\n *\n * @example\n * // Symbol composed over the tone background\n * <LogoConta alt=\"Plusdin\" tone=\"mint\">\n * <span className=\"text-xs font-bold\">p</span>\n * </LogoConta>\n *\n * @example\n * // Image logo\n * <LogoConta alt=\"Brius\" src=\"/logos/brius.svg\" tone=\"blue\" />\n */\nfunction LogoConta({\n className,\n tone = \"mint\",\n src,\n alt,\n children,\n ...props\n}: LogoContaProps) {\n // Labelled XOR decorative: a non-empty `alt` makes the badge an informative\n // image; otherwise it is hidden from assistive tech. The inner <img> is kept\n // decorative so the name is announced exactly once (via the wrapper).\n const decorative = !alt || alt.trim() === \"\"\n\n return (\n <span\n aria-hidden={decorative ? true : undefined}\n aria-label={decorative ? undefined : alt}\n className={cn(logoContaVariants({ tone }), className)}\n data-slot=\"logo-conta\"\n data-tone={tone}\n role={decorative ? undefined : \"img\"}\n {...props}\n >\n {src ? <img alt=\"\" className=\"size-full object-contain\" src={src} /> : children}\n </span>\n )\n}\n\nexport { LogoConta, logoContaVariants }\n"]}
1
+ {"version":3,"sources":["../src/components/navigation/LogoConta/LogoConta.variants.ts","../src/components/navigation/LogoConta/LogoConta.tsx"],"names":[],"mappings":";;;;AAqBO,IAAM,iBAAA,GAAoB,GAAA;AAAA,EAC/B,kHAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,kEAAA;AAAA,QACN,IAAA,EAAM,qFAAA;AAAA,QACN,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;ACZA,SAAS,SAAA,CAAU;AAAA,EACjB,SAAA;AAAA,EACA,IAAA,GAAO,MAAA;AAAA,EACP,GAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAmB;AAIjB,EAAA,MAAM,UAAA,GAAa,CAAC,GAAA,IAAO,GAAA,CAAI,MAAK,KAAM,EAAA;AAE1C,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAa,aAAa,IAAA,GAAO,MAAA;AAAA,MACjC,YAAA,EAAY,aAAa,MAAA,GAAY,GAAA;AAAA,MACrC,WAAW,EAAA,CAAG,iBAAA,CAAkB,EAAE,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MACpD,WAAA,EAAU,YAAA;AAAA,MACV,WAAA,EAAW,IAAA;AAAA,MACX,IAAA,EAAM,aAAa,MAAA,GAAY,KAAA;AAAA,MAC9B,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA,GAAA,uBAAO,KAAA,EAAA,EAAI,GAAA,EAAI,IAAG,SAAA,EAAU,0BAAA,EAA2B,KAAU,CAAA,GAAK;AAAA;AAAA,GACzE;AAEJ","file":"chunk-N2DAVD4Y.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * LogoConta root styles.\n *\n * Figma: `Core Components — Seven > Logo-Conta` (node 1138:2959). A\n * rounded-square (radius-sm) colour-filled badge that frames a brand\n * logo/symbol — used in the app shell (sidebar header / account switcher,\n * Sidebar set 1091:9106).\n *\n * The badge size comes from `--logo-conta-size` (24px in Figma). Each\n * `tone` reuses an existing global token pair, mirroring the three example\n * accounts in Figma — no new colour tokens are introduced:\n * - `mint` → Plusdin → `--primary` (Figma default/green/500)\n * - `blue` → Brius → `--status-info-background` (Figma status/info)\n * - `lime` → Got All Cards → `--secondary`\n *\n * Tone backgrounds are tokenised presets for the documented example accounts;\n * for an account whose brand colour is none of the three, override the\n * background via `className`/`style`.\n */\nexport const logoContaVariants = cva(\n \"inline-grid size-[var(--logo-conta-size)] shrink-0 place-items-center overflow-hidden rounded-[var(--radius-sm)]\",\n {\n variants: {\n tone: {\n mint: \"bg-[color:var(--primary)] text-[color:var(--primary-foreground)]\",\n blue: \"bg-[color:var(--status-info-background)] text-[color:var(--status-info-foreground)]\",\n lime: \"bg-[color:var(--secondary)] text-[color:var(--secondary-foreground)]\",\n },\n },\n defaultVariants: {\n tone: \"mint\",\n },\n },\n)\n","import type { LogoContaProps } from \"./LogoConta.types\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { logoContaVariants } from \"./LogoConta.variants\"\n\n/**\n * LogoConta — rounded-square, colour-filled badge that frames an account's\n * brand logo/symbol. Part of the app shell (sidebar header / account switcher).\n *\n * Pass the mark via `children` (recommended — compose any SVG/letter over the\n * `tone` background) or via `src` (image URL). Provide `alt` with the account\n * name to expose `role=\"img\"`; omit it for a decorative badge (`aria-hidden`).\n *\n * @example\n * // Symbol composed over the tone background\n * <LogoConta alt=\"Plusdin\" tone=\"mint\">\n * <span className=\"text-xs font-bold\">p</span>\n * </LogoConta>\n *\n * @example\n * // Image logo\n * <LogoConta alt=\"Brius\" src=\"/logos/brius.svg\" tone=\"blue\" />\n */\nfunction LogoConta({\n className,\n tone = \"mint\",\n src,\n alt,\n children,\n ...props\n}: LogoContaProps) {\n // Labelled XOR decorative: a non-empty `alt` makes the badge an informative\n // image; otherwise it is hidden from assistive tech. The inner <img> is kept\n // decorative so the name is announced exactly once (via the wrapper).\n const decorative = !alt || alt.trim() === \"\"\n\n return (\n <span\n aria-hidden={decorative ? true : undefined}\n aria-label={decorative ? undefined : alt}\n className={cn(logoContaVariants({ tone }), className)}\n data-slot=\"logo-conta\"\n data-tone={tone}\n role={decorative ? undefined : \"img\"}\n {...props}\n >\n {src ? <img alt=\"\" className=\"size-full object-contain\" src={src} /> : children}\n </span>\n )\n}\n\nexport { LogoConta, logoContaVariants }\n"]}
@@ -1,6 +1,6 @@
1
- import { SkeletonLoader } from './chunk-QHKOBGLW.js';
2
- import { Badge } from './chunk-4GVOOXYD.js';
3
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { SkeletonLoader } from './chunk-NGX3ITG4.js';
2
+ import { Badge } from './chunk-HNQX6ZG7.js';
3
+ import { cn } from './chunk-RVAYDRMA.js';
4
4
  import * as React from 'react';
5
5
  import { cva } from 'class-variance-authority';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -194,5 +194,5 @@ function ChartCard({
194
194
  ChartCard.displayName = "ChartCard";
195
195
 
196
196
  export { ChartCard, chartCardChartVariants, chartCardHeaderVariants, chartCardPreviousValueVariants, chartCardTitleVariants, chartCardValueContainerVariants, chartCardValueVariants, chartCardVariants };
197
- //# sourceMappingURL=chunk-3KOLK3OB.js.map
198
- //# sourceMappingURL=chunk-3KOLK3OB.js.map
197
+ //# sourceMappingURL=chunk-N5YGAESZ.js.map
198
+ //# sourceMappingURL=chunk-N5YGAESZ.js.map