@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/primitives/ConfirmButton/ConfirmButton.tsx"],"names":[],"mappings":"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","file":"chunk-LLI3JFJL.js","sourcesContent":["\"use client\"\n\nimport type { ConfirmButtonProps } from \"./ConfirmButton.types\"\n\nimport { LoaderCircle } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogTrigger,\n} from \"../../feedback/AlertDialog\"\nimport { buttonVariants } from \"../Button\"\n\n/**\n * ConfirmButton - A button that requires confirmation before executing an action\n *\n * Combines a Button trigger with an AlertDialog for confirmation.\n * Supports typing validation for critical actions.\n *\n * @example\n * ```tsx\n * <ConfirmButton\n * variant=\"destructive\"\n * confirmTitle=\"Delete item?\"\n * confirmDescription=\"This action cannot be undone.\"\n * onConfirm={() => handleDelete()}\n * >\n * Delete\n * </ConfirmButton>\n * ```\n */\nfunction ConfirmButton({\n // Trigger button props\n className,\n variant,\n size,\n leftIcon,\n rightIcon,\n disabled,\n children,\n\n // Dialog configuration\n confirmTitle = \"Confirm action\",\n confirmDescription,\n confirmLabel = \"Confirm\",\n cancelLabel = \"Cancel\",\n confirmVariant = \"default\",\n\n // Typing validation\n requireTyping,\n typingPlaceholder,\n typingLabel,\n caseSensitive = true,\n\n // States\n loading = false,\n open: controlledOpen,\n onOpenChange: controlledOnOpenChange,\n\n // Callbacks\n onConfirm,\n onCancel,\n\n ...props\n}: ConfirmButtonProps) {\n // Internal open state (uncontrolled mode)\n const [internalOpen, setInternalOpen] = React.useState(false)\n\n // Typing input value\n const [typingValue, setTypingValue] = React.useState(\"\")\n\n // Internal loading state for async onConfirm\n const [isConfirming, setIsConfirming] = React.useState(false)\n\n // Prevent double confirmation\n const confirmingRef = React.useRef(false)\n\n // Determine if controlled or uncontrolled\n const isControlled = controlledOpen !== undefined\n const open = isControlled ? controlledOpen : internalOpen\n const setOpen = React.useCallback(\n (value: boolean) => {\n if (isControlled) {\n controlledOnOpenChange?.(value)\n } else {\n setInternalOpen(value)\n }\n },\n [isControlled, controlledOnOpenChange]\n )\n\n // Track previous open state to reset typing during render (avoids useEffect anti-pattern)\n const prevOpenRef = React.useRef(open)\n if (prevOpenRef.current !== open) {\n prevOpenRef.current = open\n if (!open) {\n setTypingValue(\"\")\n confirmingRef.current = false\n }\n }\n\n // Check if typing matches requirement\n const typingMatches = React.useMemo(() => {\n if (!requireTyping) return true\n\n if (caseSensitive) {\n return typingValue === requireTyping\n }\n return typingValue.toLowerCase() === requireTyping.toLowerCase()\n }, [requireTyping, typingValue, caseSensitive])\n\n // Combined loading state\n const isLoading = loading || isConfirming\n\n // Confirm button should be disabled when loading or typing doesn't match\n const confirmDisabled = isLoading || !typingMatches\n\n // Track if cancel was triggered by button click\n const cancelTriggeredRef = React.useRef(false)\n\n // Handle dialog open change\n const handleOpenChange = React.useCallback(\n (newOpen: boolean) => {\n // Don't allow closing while confirming\n if (isConfirming && !newOpen) return\n\n setOpen(newOpen)\n\n // Only call onCancel if dialog is closing and cancel wasn't already triggered\n if (!newOpen && !cancelTriggeredRef.current) {\n onCancel?.()\n }\n\n // Reset the flag after processing\n cancelTriggeredRef.current = false\n },\n [setOpen, onCancel, isConfirming]\n )\n\n // Handle cancel button click\n const handleCancel = React.useCallback(() => {\n cancelTriggeredRef.current = true\n onCancel?.()\n setOpen(false)\n }, [setOpen, onCancel])\n\n // Handle confirm button click\n const handleConfirm = React.useCallback(\n async (event: React.MouseEvent) => {\n // Prevent default AlertDialog behavior (auto-close)\n event.preventDefault()\n\n // Prevent double confirmation\n if (confirmingRef.current) return\n confirmingRef.current = true\n\n setIsConfirming(true)\n\n try {\n await onConfirm()\n // Close dialog on success\n setOpen(false)\n } catch {\n // Keep dialog open on error, allow retry\n confirmingRef.current = false\n // Error is not rethrown - caller should handle errors in onConfirm\n } finally {\n setIsConfirming(false)\n }\n },\n [onConfirm, setOpen]\n )\n\n // Render trigger button content\n const renderTriggerContent = () => (\n <>\n {leftIcon && (\n <span aria-hidden=\"true\" data-slot=\"left-icon\">\n {leftIcon}\n </span>\n )}\n {children}\n {rightIcon && (\n <span aria-hidden=\"true\" data-slot=\"right-icon\">\n {rightIcon}\n </span>\n )}\n </>\n )\n\n return (\n <AlertDialog open={open} onOpenChange={handleOpenChange}>\n <AlertDialogTrigger asChild>\n <button\n aria-disabled={disabled ?? undefined}\n className={cn(buttonVariants({ variant, size, className }))}\n data-slot=\"confirm-button\"\n disabled={disabled}\n type=\"button\"\n {...props}\n >\n {renderTriggerContent()}\n </button>\n </AlertDialogTrigger>\n\n <AlertDialogContent data-slot=\"confirm-dialog\">\n <AlertDialogHeader data-slot=\"confirm-dialog-header\">\n <AlertDialogTitle data-slot=\"confirm-dialog-title\">\n {confirmTitle}\n </AlertDialogTitle>\n {confirmDescription ? (\n <AlertDialogDescription data-slot=\"confirm-dialog-description\">\n {confirmDescription}\n </AlertDialogDescription>\n ) : (\n <AlertDialogDescription className=\"sr-only\">\n Confirm or cancel this action.\n </AlertDialogDescription>\n )}\n </AlertDialogHeader>\n\n {requireTyping && (\n <div className=\"space-y-2\" data-slot=\"confirm-dialog-content\">\n {typingLabel && (\n <label\n className=\"text-sm font-medium text-foreground\"\n htmlFor=\"confirm-typing-input\"\n >\n {typingLabel}\n </label>\n )}\n <input\n aria-describedby={\n !typingMatches ? \"confirm-typing-error\" : undefined\n }\n autoComplete=\"off\"\n className=\"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\"\n data-slot=\"confirm-dialog-input\"\n id=\"confirm-typing-input\"\n placeholder={typingPlaceholder ?? requireTyping}\n type=\"text\"\n value={typingValue}\n onChange={(e) => { setTypingValue(e.target.value); }}\n />\n {typingValue && !typingMatches && (\n <p\n aria-live=\"polite\"\n className=\"text-sm text-destructive\"\n id=\"confirm-typing-error\"\n >\n The text you entered does not match.\n </p>\n )}\n </div>\n )}\n\n <AlertDialogFooter data-slot=\"confirm-dialog-footer\">\n <AlertDialogCancel\n data-slot=\"confirm-dialog-cancel\"\n disabled={isLoading}\n onClick={handleCancel}\n >\n {cancelLabel}\n </AlertDialogCancel>\n <AlertDialogAction\n className={cn(\n confirmVariant === \"destructive\" &&\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40\"\n )}\n aria-busy={isLoading || undefined}\n aria-disabled={confirmDisabled || undefined}\n data-slot=\"confirm-dialog-confirm\"\n disabled={confirmDisabled}\n onClick={(e) => { void handleConfirm(e); }}\n >\n {isLoading && (\n <LoaderCircle\n aria-hidden=\"true\"\n className=\"size-4 animate-spin\"\n />\n )}\n {confirmLabel}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n )\n}\n\nexport { ConfirmButton }\n"]}
1
+ {"version":3,"sources":["../src/components/primitives/ConfirmButton/ConfirmButton.tsx"],"names":[],"mappings":";;;;;;;AAuCA,SAAS,aAAA,CAAc;AAAA;AAAA,EAErB,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA;AAAA,EAGA,YAAA,GAAe,gBAAA;AAAA,EACf,kBAAA;AAAA,EACA,YAAA,GAAe,SAAA;AAAA,EACf,WAAA,GAAc,QAAA;AAAA,EACd,cAAA,GAAiB,SAAA;AAAA;AAAA,EAGjB,aAAA;AAAA,EACA,iBAAA;AAAA,EACA,WAAA;AAAA,EACA,aAAA,GAAgB,IAAA;AAAA;AAAA,EAGhB,OAAA,GAAU,KAAA;AAAA,EACV,IAAA,EAAM,cAAA;AAAA,EACN,YAAA,EAAc,sBAAA;AAAA;AAAA,EAGd,SAAA;AAAA,EACA,QAAA;AAAA,EAEA,GAAG;AACL,CAAA,EAAuB;AAErB,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAU,eAAS,KAAK,CAAA;AAG5D,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAU,eAAS,EAAE,CAAA;AAGvD,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAU,eAAS,KAAK,CAAA;AAG5D,EAAA,MAAM,aAAA,GAAsB,aAAO,KAAK,CAAA;AAGxC,EAAA,MAAM,eAAe,cAAA,KAAmB,MAAA;AACxC,EAAA,MAAM,IAAA,GAAO,eAAe,cAAA,GAAiB,YAAA;AAC7C,EAAA,MAAM,OAAA,GAAgB,KAAA,CAAA,WAAA;AAAA,IACpB,CAAC,KAAA,KAAmB;AAClB,MAAA,IAAI,YAAA,EAAc;AAChB,QAAA,sBAAA,GAAyB,KAAK,CAAA;AAAA,MAChC,CAAA,MAAO;AACL,QAAA,eAAA,CAAgB,KAAK,CAAA;AAAA,MACvB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,cAAc,sBAAsB;AAAA,GACvC;AAGA,EAAA,MAAM,WAAA,GAAoB,aAAO,IAAI,CAAA;AACrC,EAAA,IAAI,WAAA,CAAY,YAAY,IAAA,EAAM;AAChC,IAAA,WAAA,CAAY,OAAA,GAAU,IAAA;AACtB,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,cAAA,CAAe,EAAE,CAAA;AACjB,MAAA,aAAA,CAAc,OAAA,GAAU,KAAA;AAAA,IAC1B;AAAA,EACF;AAGA,EAAA,MAAM,aAAA,GAAsB,cAAQ,MAAM;AACxC,IAAA,IAAI,CAAC,eAAe,OAAO,IAAA;AAE3B,IAAA,IAAI,aAAA,EAAe;AACjB,MAAA,OAAO,WAAA,KAAgB,aAAA;AAAA,IACzB;AACA,IAAA,OAAO,WAAA,CAAY,WAAA,EAAY,KAAM,aAAA,CAAc,WAAA,EAAY;AAAA,EACjE,CAAA,EAAG,CAAC,aAAA,EAAe,WAAA,EAAa,aAAa,CAAC,CAAA;AAG9C,EAAA,MAAM,YAAY,OAAA,IAAW,YAAA;AAG7B,EAAA,MAAM,eAAA,GAAkB,aAAa,CAAC,aAAA;AAGtC,EAAA,MAAM,kBAAA,GAA2B,aAAO,KAAK,CAAA;AAG7C,EAAA,MAAM,gBAAA,GAAyB,KAAA,CAAA,WAAA;AAAA,IAC7B,CAAC,OAAA,KAAqB;AAEpB,MAAA,IAAI,YAAA,IAAgB,CAAC,OAAA,EAAS;AAE9B,MAAA,OAAA,CAAQ,OAAO,CAAA;AAGf,MAAA,IAAI,CAAC,OAAA,IAAW,CAAC,kBAAA,CAAmB,OAAA,EAAS;AAC3C,QAAA,QAAA,IAAW;AAAA,MACb;AAGA,MAAA,kBAAA,CAAmB,OAAA,GAAU,KAAA;AAAA,IAC/B,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,QAAA,EAAU,YAAY;AAAA,GAClC;AAGA,EAAA,MAAM,YAAA,GAAqB,kBAAY,MAAM;AAC3C,IAAA,kBAAA,CAAmB,OAAA,GAAU,IAAA;AAC7B,IAAA,QAAA,IAAW;AACX,IAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,EACf,CAAA,EAAG,CAAC,OAAA,EAAS,QAAQ,CAAC,CAAA;AAGtB,EAAA,MAAM,aAAA,GAAsB,KAAA,CAAA,WAAA;AAAA,IAC1B,OAAO,KAAA,KAA4B;AAEjC,MAAA,KAAA,CAAM,cAAA,EAAe;AAGrB,MAAA,IAAI,cAAc,OAAA,EAAS;AAC3B,MAAA,aAAA,CAAc,OAAA,GAAU,IAAA;AAExB,MAAA,eAAA,CAAgB,IAAI,CAAA;AAEpB,MAAA,IAAI;AACF,QAAA,MAAM,SAAA,EAAU;AAEhB,QAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,MACf,CAAA,CAAA,MAAQ;AAEN,QAAA,aAAA,CAAc,OAAA,GAAU,KAAA;AAAA,MAE1B,CAAA,SAAE;AACA,QAAA,eAAA,CAAgB,KAAK,CAAA;AAAA,MACvB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,WAAW,OAAO;AAAA,GACrB;AAGA,EAAA,MAAM,oBAAA,GAAuB,sBAC3B,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,QAAA,wBACE,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,WAAA,EAAU,aAChC,QAAA,EAAA,QAAA,EACH,CAAA;AAAA,IAED,QAAA;AAAA,IACA,6BACC,GAAA,CAAC,MAAA,EAAA,EAAK,eAAY,MAAA,EAAO,WAAA,EAAU,cAChC,QAAA,EAAA,SAAA,EACH;AAAA,GAAA,EAEJ,CAAA;AAGF,EAAA,uBACE,IAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAY,YAAA,EAAc,gBAAA,EACrC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,SAAO,IAAA,EACzB,QAAA,kBAAA,GAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,iBAAe,QAAA,IAAY,MAAA;AAAA,QAC3B,SAAA,EAAW,GAAG,cAAA,CAAe,EAAE,SAAS,IAAA,EAAM,SAAA,EAAW,CAAC,CAAA;AAAA,QAC1D,WAAA,EAAU,gBAAA;AAAA,QACV,QAAA;AAAA,QACA,IAAA,EAAK,QAAA;AAAA,QACJ,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA,oBAAA;AAAqB;AAAA,KACxB,EACF,CAAA;AAAA,oBAEA,IAAA,CAAC,kBAAA,EAAA,EAAmB,WAAA,EAAU,gBAAA,EAC5B,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,iBAAA,EAAA,EAAkB,aAAU,uBAAA,EAC3B,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,WAAA,EAAU,sBAAA,EACzB,QAAA,EAAA,YAAA,EACH,CAAA;AAAA,QACC,kBAAA,mBACC,GAAA,CAAC,sBAAA,EAAA,EAAuB,WAAA,EAAU,4BAAA,EAC/B,QAAA,EAAA,kBAAA,EACH,CAAA,mBAEA,GAAA,CAAC,sBAAA,EAAA,EAAuB,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,gCAAA,EAE5C;AAAA,OAAA,EAEJ,CAAA;AAAA,MAEC,iCACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EAAY,aAAU,wBAAA,EAClC,QAAA,EAAA;AAAA,QAAA,WAAA,oBACC,GAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,qCAAA;AAAA,YACV,OAAA,EAAQ,sBAAA;AAAA,YAEP,QAAA,EAAA;AAAA;AAAA,SACH;AAAA,wBAEF,GAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,kBAAA,EACE,CAAC,aAAA,GAAgB,sBAAA,GAAyB,MAAA;AAAA,YAE5C,YAAA,EAAa,KAAA;AAAA,YACb,SAAA,EAAU,uQAAA;AAAA,YACV,WAAA,EAAU,sBAAA;AAAA,YACV,EAAA,EAAG,sBAAA;AAAA,YACH,aAAa,iBAAA,IAAqB,aAAA;AAAA,YAClC,IAAA,EAAK,MAAA;AAAA,YACL,KAAA,EAAO,WAAA;AAAA,YACP,QAAA,EAAU,CAAC,CAAA,KAAM;AAAE,cAAA,cAAA,CAAe,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,YAAG;AAAA;AAAA,SACrD;AAAA,QACC,WAAA,IAAe,CAAC,aAAA,oBACf,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,QAAA;AAAA,YACV,SAAA,EAAU,0BAAA;AAAA,YACV,EAAA,EAAG,sBAAA;AAAA,YACJ,QAAA,EAAA;AAAA;AAAA;AAED,OAAA,EAEJ,CAAA;AAAA,sBAGF,IAAA,CAAC,iBAAA,EAAA,EAAkB,WAAA,EAAU,uBAAA,EAC3B,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,iBAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,uBAAA;AAAA,YACV,QAAA,EAAU,SAAA;AAAA,YACV,OAAA,EAAS,YAAA;AAAA,YAER,QAAA,EAAA;AAAA;AAAA,SACH;AAAA,wBACA,IAAA;AAAA,UAAC,iBAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,EAAA;AAAA,cACT,mBAAmB,aAAA,IACjB;AAAA,aACJ;AAAA,YACA,aAAW,SAAA,IAAa,MAAA;AAAA,YACxB,iBAAe,eAAA,IAAmB,MAAA;AAAA,YAClC,WAAA,EAAU,wBAAA;AAAA,YACV,QAAA,EAAU,eAAA;AAAA,YACV,OAAA,EAAS,CAAC,CAAA,KAAM;AAAE,cAAA,KAAK,cAAc,CAAC,CAAA;AAAA,YAAG,CAAA;AAAA,YAExC,QAAA,EAAA;AAAA,cAAA,SAAA,oBACC,GAAA;AAAA,gBAAC,YAAA;AAAA,gBAAA;AAAA,kBACC,aAAA,EAAY,MAAA;AAAA,kBACZ,SAAA,EAAU;AAAA;AAAA,eACZ;AAAA,cAED;AAAA;AAAA;AAAA;AACH,OAAA,EACF;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ","file":"chunk-SSKSWSVO.js","sourcesContent":["\"use client\"\n\nimport type { ConfirmButtonProps } from \"./ConfirmButton.types\"\n\nimport { LoaderCircle } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogTrigger,\n} from \"../../feedback/AlertDialog\"\nimport { buttonVariants } from \"../Button\"\n\n/**\n * ConfirmButton - A button that requires confirmation before executing an action\n *\n * Combines a Button trigger with an AlertDialog for confirmation.\n * Supports typing validation for critical actions.\n *\n * @example\n * ```tsx\n * <ConfirmButton\n * variant=\"destructive\"\n * confirmTitle=\"Delete item?\"\n * confirmDescription=\"This action cannot be undone.\"\n * onConfirm={() => handleDelete()}\n * >\n * Delete\n * </ConfirmButton>\n * ```\n */\nfunction ConfirmButton({\n // Trigger button props\n className,\n variant,\n size,\n leftIcon,\n rightIcon,\n disabled,\n children,\n\n // Dialog configuration\n confirmTitle = \"Confirm action\",\n confirmDescription,\n confirmLabel = \"Confirm\",\n cancelLabel = \"Cancel\",\n confirmVariant = \"default\",\n\n // Typing validation\n requireTyping,\n typingPlaceholder,\n typingLabel,\n caseSensitive = true,\n\n // States\n loading = false,\n open: controlledOpen,\n onOpenChange: controlledOnOpenChange,\n\n // Callbacks\n onConfirm,\n onCancel,\n\n ...props\n}: ConfirmButtonProps) {\n // Internal open state (uncontrolled mode)\n const [internalOpen, setInternalOpen] = React.useState(false)\n\n // Typing input value\n const [typingValue, setTypingValue] = React.useState(\"\")\n\n // Internal loading state for async onConfirm\n const [isConfirming, setIsConfirming] = React.useState(false)\n\n // Prevent double confirmation\n const confirmingRef = React.useRef(false)\n\n // Determine if controlled or uncontrolled\n const isControlled = controlledOpen !== undefined\n const open = isControlled ? controlledOpen : internalOpen\n const setOpen = React.useCallback(\n (value: boolean) => {\n if (isControlled) {\n controlledOnOpenChange?.(value)\n } else {\n setInternalOpen(value)\n }\n },\n [isControlled, controlledOnOpenChange]\n )\n\n // Track previous open state to reset typing during render (avoids useEffect anti-pattern)\n const prevOpenRef = React.useRef(open)\n if (prevOpenRef.current !== open) {\n prevOpenRef.current = open\n if (!open) {\n setTypingValue(\"\")\n confirmingRef.current = false\n }\n }\n\n // Check if typing matches requirement\n const typingMatches = React.useMemo(() => {\n if (!requireTyping) return true\n\n if (caseSensitive) {\n return typingValue === requireTyping\n }\n return typingValue.toLowerCase() === requireTyping.toLowerCase()\n }, [requireTyping, typingValue, caseSensitive])\n\n // Combined loading state\n const isLoading = loading || isConfirming\n\n // Confirm button should be disabled when loading or typing doesn't match\n const confirmDisabled = isLoading || !typingMatches\n\n // Track if cancel was triggered by button click\n const cancelTriggeredRef = React.useRef(false)\n\n // Handle dialog open change\n const handleOpenChange = React.useCallback(\n (newOpen: boolean) => {\n // Don't allow closing while confirming\n if (isConfirming && !newOpen) return\n\n setOpen(newOpen)\n\n // Only call onCancel if dialog is closing and cancel wasn't already triggered\n if (!newOpen && !cancelTriggeredRef.current) {\n onCancel?.()\n }\n\n // Reset the flag after processing\n cancelTriggeredRef.current = false\n },\n [setOpen, onCancel, isConfirming]\n )\n\n // Handle cancel button click\n const handleCancel = React.useCallback(() => {\n cancelTriggeredRef.current = true\n onCancel?.()\n setOpen(false)\n }, [setOpen, onCancel])\n\n // Handle confirm button click\n const handleConfirm = React.useCallback(\n async (event: React.MouseEvent) => {\n // Prevent default AlertDialog behavior (auto-close)\n event.preventDefault()\n\n // Prevent double confirmation\n if (confirmingRef.current) return\n confirmingRef.current = true\n\n setIsConfirming(true)\n\n try {\n await onConfirm()\n // Close dialog on success\n setOpen(false)\n } catch {\n // Keep dialog open on error, allow retry\n confirmingRef.current = false\n // Error is not rethrown - caller should handle errors in onConfirm\n } finally {\n setIsConfirming(false)\n }\n },\n [onConfirm, setOpen]\n )\n\n // Render trigger button content\n const renderTriggerContent = () => (\n <>\n {leftIcon && (\n <span aria-hidden=\"true\" data-slot=\"left-icon\">\n {leftIcon}\n </span>\n )}\n {children}\n {rightIcon && (\n <span aria-hidden=\"true\" data-slot=\"right-icon\">\n {rightIcon}\n </span>\n )}\n </>\n )\n\n return (\n <AlertDialog open={open} onOpenChange={handleOpenChange}>\n <AlertDialogTrigger asChild>\n <button\n aria-disabled={disabled ?? undefined}\n className={cn(buttonVariants({ variant, size, className }))}\n data-slot=\"confirm-button\"\n disabled={disabled}\n type=\"button\"\n {...props}\n >\n {renderTriggerContent()}\n </button>\n </AlertDialogTrigger>\n\n <AlertDialogContent data-slot=\"confirm-dialog\">\n <AlertDialogHeader data-slot=\"confirm-dialog-header\">\n <AlertDialogTitle data-slot=\"confirm-dialog-title\">\n {confirmTitle}\n </AlertDialogTitle>\n {confirmDescription ? (\n <AlertDialogDescription data-slot=\"confirm-dialog-description\">\n {confirmDescription}\n </AlertDialogDescription>\n ) : (\n <AlertDialogDescription className=\"sr-only\">\n Confirm or cancel this action.\n </AlertDialogDescription>\n )}\n </AlertDialogHeader>\n\n {requireTyping && (\n <div className=\"space-y-2\" data-slot=\"confirm-dialog-content\">\n {typingLabel && (\n <label\n className=\"text-sm font-medium text-foreground\"\n htmlFor=\"confirm-typing-input\"\n >\n {typingLabel}\n </label>\n )}\n <input\n aria-describedby={\n !typingMatches ? \"confirm-typing-error\" : undefined\n }\n autoComplete=\"off\"\n className=\"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\"\n data-slot=\"confirm-dialog-input\"\n id=\"confirm-typing-input\"\n placeholder={typingPlaceholder ?? requireTyping}\n type=\"text\"\n value={typingValue}\n onChange={(e) => { setTypingValue(e.target.value); }}\n />\n {typingValue && !typingMatches && (\n <p\n aria-live=\"polite\"\n className=\"text-sm text-destructive\"\n id=\"confirm-typing-error\"\n >\n The text you entered does not match.\n </p>\n )}\n </div>\n )}\n\n <AlertDialogFooter data-slot=\"confirm-dialog-footer\">\n <AlertDialogCancel\n data-slot=\"confirm-dialog-cancel\"\n disabled={isLoading}\n onClick={handleCancel}\n >\n {cancelLabel}\n </AlertDialogCancel>\n <AlertDialogAction\n className={cn(\n confirmVariant === \"destructive\" &&\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40\"\n )}\n aria-busy={isLoading || undefined}\n aria-disabled={confirmDisabled || undefined}\n data-slot=\"confirm-dialog-confirm\"\n disabled={confirmDisabled}\n onClick={(e) => { void handleConfirm(e); }}\n >\n {isLoading && (\n <LoaderCircle\n aria-hidden=\"true\"\n className=\"size-4 animate-spin\"\n />\n )}\n {confirmLabel}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n )\n}\n\nexport { ConfirmButton }\n"]}
@@ -1,6 +1,6 @@
1
- import { Stepper } from './chunk-IFHF4UES.js';
2
- import { Button } from './chunk-7TF5PVEU.js';
3
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { Stepper } from './chunk-GDZECJFS.js';
2
+ import { Button } from './chunk-L4OQ6BJ5.js';
3
+ import { cn } from './chunk-RVAYDRMA.js';
4
4
  import { useState, useRef, useEffect, useCallback } from 'react';
5
5
  import { cva } from 'class-variance-authority';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -312,5 +312,5 @@ function Wizard({
312
312
  }
313
313
 
314
314
  export { Wizard, wizardActionsVariants, wizardContentVariants, wizardStepContentVariants, wizardStepperVariants, wizardVariants };
315
- //# sourceMappingURL=chunk-VLDAHAG6.js.map
316
- //# sourceMappingURL=chunk-VLDAHAG6.js.map
315
+ //# sourceMappingURL=chunk-STADVFL2.js.map
316
+ //# sourceMappingURL=chunk-STADVFL2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/workflow/Wizard/Wizard.variants.ts","../src/components/workflow/Wizard/Wizard.tsx"],"names":[],"mappings":"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","file":"chunk-VLDAHAG6.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * Main wizard container variants\n */\nexport const wizardVariants = cva(\"flex gap-6\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"flex-col rounded-lg border border-border bg-card\",\n default: \"flex-col\",\n vertical: \"flex-row\",\n },\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n\n/**\n * Wizard content area variants\n */\nexport const wizardContentVariants = cva(\"flex-1\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"border-t border-border\",\n default: \"\",\n vertical: \"border-l border-border\",\n },\n size: {\n default: \"p-6\",\n lg: \"p-8\",\n sm: \"p-4\",\n },\n },\n})\n\n/**\n * Wizard stepper area variants\n */\nexport const wizardStepperVariants = cva(\"\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"p-6 pb-0\",\n default: \"\",\n vertical: \"min-w-48\",\n },\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n\n/**\n * Wizard actions area variants\n */\nexport const wizardActionsVariants = cva(\"flex items-center gap-3\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"justify-between border-t border-border p-6\",\n default: \"justify-between\",\n vertical: \"justify-end border-t border-border pt-4\",\n },\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n\n/**\n * Wizard step content wrapper variants\n */\nexport const wizardStepContentVariants = cva(\"\", {\n defaultVariants: {\n size: \"default\",\n },\n variants: {\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n","import type { StepItem } from \"../Stepper\"\nimport type { WizardProps, WizardStep } from \"./Wizard.types\"\n\nimport { useCallback, useEffect, useRef, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Button } from \"../../primitives/Button\"\nimport { Stepper } from \"../Stepper\"\nimport {\n wizardActionsVariants,\n wizardContentVariants,\n wizardStepperVariants,\n wizardVariants,\n} from \"./Wizard.variants\"\n\n/**\n * Convert WizardStep to StepItem for the Stepper component\n */\nfunction convertToStepItem(step: WizardStep, index: number, currentStep: number): StepItem {\n return {\n description: step.description,\n icon: step.icon,\n id: step.id,\n label: step.title,\n status: index < currentStep ? \"complete\" : index === currentStep ? \"active\" : \"pending\",\n }\n}\n\n/**\n * Wizard component guides users through a multi-step process.\n *\n * @example\n * ```tsx\n * const steps = [\n * { id: \"1\", title: \"Dados Pessoais\", content: <PersonalForm /> },\n * { id: \"2\", title: \"Endereço\", content: <AddressForm /> },\n * { id: \"3\", title: \"Conclusão\", content: <Summary /> },\n * ]\n *\n * <Wizard\n * steps={steps}\n * currentStep={0}\n * onStepChange={setStep}\n * onComplete={handleComplete}\n * />\n * ```\n */\nfunction Wizard({\n backLabel = \"Voltar\",\n canGoBack = true,\n canSkip = false,\n className,\n completeLabel = \"Completar\",\n currentStep = 0,\n isLoading = false,\n nextLabel = \"Próximo\",\n onComplete,\n onStepChange,\n onValidate,\n ref,\n showActions = true,\n showSteps = true,\n size = \"default\",\n skipLabel = \"Pular\",\n steps,\n variant = \"default\",\n ...props\n}: WizardProps) {\n const [isValidating, setIsValidating] = useState(false)\n const contentRef = useRef<HTMLDivElement>(null)\n const isLastStep = currentStep >= steps.length - 1\n const isFirstStep = currentStep === 0\n const currentStepData = steps[currentStep]\n\n // Convert steps for the Stepper component\n const stepperSteps: StepItem[] = steps.map((step, index) =>\n convertToStepItem(step, index, currentStep)\n )\n\n // Focus management - move focus to content when step changes\n useEffect(() => {\n if (contentRef.current) {\n contentRef.current.focus()\n }\n }, [currentStep])\n\n // Handle next step\n const handleNext = useCallback(async () => {\n if (isLoading || isValidating) return\n\n // Run step validation if provided\n if (currentStepData?.validate) {\n setIsValidating(true)\n try {\n const isValid = await currentStepData.validate()\n if (!isValid) {\n setIsValidating(false)\n return\n }\n } catch {\n setIsValidating(false)\n return\n }\n setIsValidating(false)\n }\n\n // Run onValidate callback if provided\n if (onValidate) {\n setIsValidating(true)\n try {\n const isValid = await Promise.resolve(onValidate(currentStep))\n if (!isValid) {\n setIsValidating(false)\n return\n }\n } catch {\n setIsValidating(false)\n return\n }\n setIsValidating(false)\n }\n\n if (isLastStep) {\n onComplete?.()\n } else {\n onStepChange?.(currentStep + 1)\n }\n }, [currentStep, currentStepData, isLastStep, isLoading, isValidating, onComplete, onStepChange, onValidate])\n\n // Handle back step\n const handleBack = useCallback(() => {\n if (isLoading || isValidating || !canGoBack || isFirstStep) return\n onStepChange?.(currentStep - 1)\n }, [canGoBack, currentStep, isFirstStep, isLoading, isValidating, onStepChange])\n\n // Handle skip step\n const handleSkip = useCallback(() => {\n if (isLoading || isValidating || !canSkip || isLastStep) return\n if (currentStepData?.optional) {\n onStepChange?.(currentStep + 1)\n }\n }, [canSkip, currentStep, currentStepData?.optional, isLastStep, isLoading, isValidating, onStepChange])\n\n // Handle step click from stepper\n const handleStepClick = useCallback(\n (stepIndex: number) => {\n if (isLoading || isValidating) return\n // Only allow clicking on completed steps or the next step\n if (stepIndex <= currentStep) {\n onStepChange?.(stepIndex)\n }\n },\n [currentStep, isLoading, isValidating, onStepChange]\n )\n\n // Handle keyboard navigation\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \"Enter\" && !event.shiftKey) {\n event.preventDefault()\n void handleNext()\n } else if (event.key === \"Escape\") {\n // Could implement cancel confirmation here\n }\n },\n [handleNext]\n )\n\n const isVertical = variant === \"vertical\"\n\n return (\n <div\n ref={ref}\n className={cn(\n wizardVariants({ size, variant }),\n isLoading && \"pointer-events-none opacity-50\",\n className\n )}\n aria-label={`Wizard: Step ${String(currentStep + 1)} of ${String(steps.length)}`}\n data-slot=\"wizard\"\n role=\"region\"\n onKeyDown={handleKeyDown}\n {...props}\n >\n {/* Stepper */}\n {showSteps && (\n <div\n className={wizardStepperVariants({ size, variant })}\n data-slot=\"wizard-stepper\"\n >\n <Stepper\n clickable\n currentStep={currentStep}\n size={size === \"lg\" ? \"lg\" : size === \"sm\" ? \"sm\" : \"default\"}\n steps={stepperSteps}\n variant={isVertical ? \"vertical\" : \"default\"}\n onStepClick={handleStepClick}\n />\n </div>\n )}\n\n {/* Content */}\n <div\n ref={contentRef}\n className={wizardContentVariants({ size, variant })}\n data-slot=\"wizard-content\"\n tabIndex={-1}\n >\n {/* Step content */}\n <div\n aria-label={currentStepData?.title}\n data-slot=\"wizard-step\"\n data-step={currentStep + 1}\n >\n {currentStepData?.title && (\n <h2\n className=\"mb-4 text-lg font-semibold\"\n data-slot=\"wizard-step-title\"\n >\n {currentStepData.title}\n </h2>\n )}\n <div data-slot=\"wizard-step-form\">{currentStepData?.content}</div>\n </div>\n\n {/* Actions */}\n {showActions && (\n <div\n className={cn(wizardActionsVariants({ size, variant }), \"mt-6\")}\n data-slot=\"wizard-actions\"\n >\n <div className=\"flex gap-3\">\n {/* Back button */}\n {canGoBack && !isFirstStep && (\n <Button\n aria-disabled={isLoading || isValidating}\n data-slot=\"wizard-back\"\n disabled={isLoading || isValidating}\n type=\"button\"\n variant=\"outline\"\n onClick={handleBack}\n >\n {backLabel}\n </Button>\n )}\n\n {/* Skip button */}\n {canSkip && currentStepData?.optional && !isLastStep && (\n <Button\n aria-disabled={isLoading || isValidating}\n data-slot=\"wizard-skip\"\n disabled={isLoading || isValidating}\n type=\"button\"\n variant=\"ghost\"\n onClick={handleSkip}\n >\n {skipLabel}\n </Button>\n )}\n </div>\n\n {/* Next/Complete button */}\n <Button\n aria-disabled={isLoading || isValidating}\n data-slot=\"wizard-next\"\n disabled={isLoading || isValidating}\n type=\"button\"\n onClick={() => void handleNext()}\n >\n {isLoading || isValidating ? \"Carregando...\" : isLastStep ? completeLabel : nextLabel}\n </Button>\n </div>\n )}\n </div>\n </div>\n )\n}\n\nexport { Wizard }\n"]}
1
+ {"version":3,"sources":["../src/components/workflow/Wizard/Wizard.variants.ts","../src/components/workflow/Wizard/Wizard.tsx"],"names":[],"mappings":"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","file":"chunk-STADVFL2.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * Main wizard container variants\n */\nexport const wizardVariants = cva(\"flex gap-6\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"flex-col rounded-lg border border-border bg-card\",\n default: \"flex-col\",\n vertical: \"flex-row\",\n },\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n\n/**\n * Wizard content area variants\n */\nexport const wizardContentVariants = cva(\"flex-1\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"border-t border-border\",\n default: \"\",\n vertical: \"border-l border-border\",\n },\n size: {\n default: \"p-6\",\n lg: \"p-8\",\n sm: \"p-4\",\n },\n },\n})\n\n/**\n * Wizard stepper area variants\n */\nexport const wizardStepperVariants = cva(\"\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"p-6 pb-0\",\n default: \"\",\n vertical: \"min-w-48\",\n },\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n\n/**\n * Wizard actions area variants\n */\nexport const wizardActionsVariants = cva(\"flex items-center gap-3\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"justify-between border-t border-border p-6\",\n default: \"justify-between\",\n vertical: \"justify-end border-t border-border pt-4\",\n },\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n\n/**\n * Wizard step content wrapper variants\n */\nexport const wizardStepContentVariants = cva(\"\", {\n defaultVariants: {\n size: \"default\",\n },\n variants: {\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n","import type { StepItem } from \"../Stepper\"\nimport type { WizardProps, WizardStep } from \"./Wizard.types\"\n\nimport { useCallback, useEffect, useRef, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Button } from \"../../primitives/Button\"\nimport { Stepper } from \"../Stepper\"\nimport {\n wizardActionsVariants,\n wizardContentVariants,\n wizardStepperVariants,\n wizardVariants,\n} from \"./Wizard.variants\"\n\n/**\n * Convert WizardStep to StepItem for the Stepper component\n */\nfunction convertToStepItem(step: WizardStep, index: number, currentStep: number): StepItem {\n return {\n description: step.description,\n icon: step.icon,\n id: step.id,\n label: step.title,\n status: index < currentStep ? \"complete\" : index === currentStep ? \"active\" : \"pending\",\n }\n}\n\n/**\n * Wizard component guides users through a multi-step process.\n *\n * @example\n * ```tsx\n * const steps = [\n * { id: \"1\", title: \"Dados Pessoais\", content: <PersonalForm /> },\n * { id: \"2\", title: \"Endereço\", content: <AddressForm /> },\n * { id: \"3\", title: \"Conclusão\", content: <Summary /> },\n * ]\n *\n * <Wizard\n * steps={steps}\n * currentStep={0}\n * onStepChange={setStep}\n * onComplete={handleComplete}\n * />\n * ```\n */\nfunction Wizard({\n backLabel = \"Voltar\",\n canGoBack = true,\n canSkip = false,\n className,\n completeLabel = \"Completar\",\n currentStep = 0,\n isLoading = false,\n nextLabel = \"Próximo\",\n onComplete,\n onStepChange,\n onValidate,\n ref,\n showActions = true,\n showSteps = true,\n size = \"default\",\n skipLabel = \"Pular\",\n steps,\n variant = \"default\",\n ...props\n}: WizardProps) {\n const [isValidating, setIsValidating] = useState(false)\n const contentRef = useRef<HTMLDivElement>(null)\n const isLastStep = currentStep >= steps.length - 1\n const isFirstStep = currentStep === 0\n const currentStepData = steps[currentStep]\n\n // Convert steps for the Stepper component\n const stepperSteps: StepItem[] = steps.map((step, index) =>\n convertToStepItem(step, index, currentStep)\n )\n\n // Focus management - move focus to content when step changes\n useEffect(() => {\n if (contentRef.current) {\n contentRef.current.focus()\n }\n }, [currentStep])\n\n // Handle next step\n const handleNext = useCallback(async () => {\n if (isLoading || isValidating) return\n\n // Run step validation if provided\n if (currentStepData?.validate) {\n setIsValidating(true)\n try {\n const isValid = await currentStepData.validate()\n if (!isValid) {\n setIsValidating(false)\n return\n }\n } catch {\n setIsValidating(false)\n return\n }\n setIsValidating(false)\n }\n\n // Run onValidate callback if provided\n if (onValidate) {\n setIsValidating(true)\n try {\n const isValid = await Promise.resolve(onValidate(currentStep))\n if (!isValid) {\n setIsValidating(false)\n return\n }\n } catch {\n setIsValidating(false)\n return\n }\n setIsValidating(false)\n }\n\n if (isLastStep) {\n onComplete?.()\n } else {\n onStepChange?.(currentStep + 1)\n }\n }, [currentStep, currentStepData, isLastStep, isLoading, isValidating, onComplete, onStepChange, onValidate])\n\n // Handle back step\n const handleBack = useCallback(() => {\n if (isLoading || isValidating || !canGoBack || isFirstStep) return\n onStepChange?.(currentStep - 1)\n }, [canGoBack, currentStep, isFirstStep, isLoading, isValidating, onStepChange])\n\n // Handle skip step\n const handleSkip = useCallback(() => {\n if (isLoading || isValidating || !canSkip || isLastStep) return\n if (currentStepData?.optional) {\n onStepChange?.(currentStep + 1)\n }\n }, [canSkip, currentStep, currentStepData?.optional, isLastStep, isLoading, isValidating, onStepChange])\n\n // Handle step click from stepper\n const handleStepClick = useCallback(\n (stepIndex: number) => {\n if (isLoading || isValidating) return\n // Only allow clicking on completed steps or the next step\n if (stepIndex <= currentStep) {\n onStepChange?.(stepIndex)\n }\n },\n [currentStep, isLoading, isValidating, onStepChange]\n )\n\n // Handle keyboard navigation\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \"Enter\" && !event.shiftKey) {\n event.preventDefault()\n void handleNext()\n } else if (event.key === \"Escape\") {\n // Could implement cancel confirmation here\n }\n },\n [handleNext]\n )\n\n const isVertical = variant === \"vertical\"\n\n return (\n <div\n ref={ref}\n className={cn(\n wizardVariants({ size, variant }),\n isLoading && \"pointer-events-none opacity-50\",\n className\n )}\n aria-label={`Wizard: Step ${String(currentStep + 1)} of ${String(steps.length)}`}\n data-slot=\"wizard\"\n role=\"region\"\n onKeyDown={handleKeyDown}\n {...props}\n >\n {/* Stepper */}\n {showSteps && (\n <div\n className={wizardStepperVariants({ size, variant })}\n data-slot=\"wizard-stepper\"\n >\n <Stepper\n clickable\n currentStep={currentStep}\n size={size === \"lg\" ? \"lg\" : size === \"sm\" ? \"sm\" : \"default\"}\n steps={stepperSteps}\n variant={isVertical ? \"vertical\" : \"default\"}\n onStepClick={handleStepClick}\n />\n </div>\n )}\n\n {/* Content */}\n <div\n ref={contentRef}\n className={wizardContentVariants({ size, variant })}\n data-slot=\"wizard-content\"\n tabIndex={-1}\n >\n {/* Step content */}\n <div\n aria-label={currentStepData?.title}\n data-slot=\"wizard-step\"\n data-step={currentStep + 1}\n >\n {currentStepData?.title && (\n <h2\n className=\"mb-4 text-lg font-semibold\"\n data-slot=\"wizard-step-title\"\n >\n {currentStepData.title}\n </h2>\n )}\n <div data-slot=\"wizard-step-form\">{currentStepData?.content}</div>\n </div>\n\n {/* Actions */}\n {showActions && (\n <div\n className={cn(wizardActionsVariants({ size, variant }), \"mt-6\")}\n data-slot=\"wizard-actions\"\n >\n <div className=\"flex gap-3\">\n {/* Back button */}\n {canGoBack && !isFirstStep && (\n <Button\n aria-disabled={isLoading || isValidating}\n data-slot=\"wizard-back\"\n disabled={isLoading || isValidating}\n type=\"button\"\n variant=\"outline\"\n onClick={handleBack}\n >\n {backLabel}\n </Button>\n )}\n\n {/* Skip button */}\n {canSkip && currentStepData?.optional && !isLastStep && (\n <Button\n aria-disabled={isLoading || isValidating}\n data-slot=\"wizard-skip\"\n disabled={isLoading || isValidating}\n type=\"button\"\n variant=\"ghost\"\n onClick={handleSkip}\n >\n {skipLabel}\n </Button>\n )}\n </div>\n\n {/* Next/Complete button */}\n <Button\n aria-disabled={isLoading || isValidating}\n data-slot=\"wizard-next\"\n disabled={isLoading || isValidating}\n type=\"button\"\n onClick={() => void handleNext()}\n >\n {isLoading || isValidating ? \"Carregando...\" : isLastStep ? completeLabel : nextLabel}\n </Button>\n </div>\n )}\n </div>\n </div>\n )\n}\n\nexport { Wizard }\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import { AlertCircleIcon } from 'lucide-react';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -136,5 +136,5 @@ function ErrorMessage({
136
136
  }
137
137
 
138
138
  export { ErrorMessage, errorMessageIconVariants, errorMessageListVariants, errorMessageVariants };
139
- //# sourceMappingURL=chunk-UA3OQAHJ.js.map
140
- //# sourceMappingURL=chunk-UA3OQAHJ.js.map
139
+ //# sourceMappingURL=chunk-SX63UD5X.js.map
140
+ //# sourceMappingURL=chunk-SX63UD5X.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/forms/ErrorMessage/ErrorMessage.variants.ts","../src/components/forms/ErrorMessage/ErrorMessage.tsx"],"names":[],"mappings":"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","file":"chunk-UA3OQAHJ.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * ErrorMessage variant styles using CVA\n */\nexport const errorMessageVariants = cva(\n [\n \"text-destructive font-normal\",\n \"flex items-center gap-1.5\",\n ],\n {\n variants: {\n variant: {\n default: \"\",\n inline: \"inline-flex\",\n bordered: [\n \"flex items-start gap-2\",\n \"bg-destructive/10 border border-destructive/30\",\n \"rounded-md p-3\",\n ],\n critical: [\n \"bg-destructive text-destructive-foreground\",\n \"font-medium rounded-md p-3\",\n ],\n },\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n animated: {\n true: \"animate-shake\",\n false: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n animated: false,\n },\n }\n)\n\n/**\n * ErrorMessage icon variant styles using CVA\n */\nexport const errorMessageIconVariants = cva(\"shrink-0\", {\n variants: {\n size: {\n sm: \"size-3\",\n md: \"size-4\",\n lg: \"size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n})\n\n/**\n * ErrorMessage list variant styles for errors array\n */\nexport const errorMessageListVariants = cva(\"flex flex-col gap-1\", {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n})\n\n// Export variant prop types\nexport type ErrorMessageVariantProps = VariantProps<typeof errorMessageVariants>\nexport type ErrorMessageIconVariantProps = VariantProps<typeof errorMessageIconVariants>\n","import type { ErrorMessageProps } from \"./ErrorMessage.types\"\n\nimport { AlertCircleIcon } from \"lucide-react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n errorMessageIconVariants,\n errorMessageListVariants,\n type ErrorMessageVariantProps,\n errorMessageVariants,\n} from \"./ErrorMessage.variants\"\n\n/**\n * Determines if icon should be shown based on variant\n */\nfunction shouldShowIcon(\n showIcon: boolean | undefined,\n variant: string | undefined\n): boolean {\n if (showIcon !== undefined) return showIcon\n // Default: show icon for inline, bordered, critical variants\n return variant === \"inline\" || variant === \"bordered\" || variant === \"critical\"\n}\n\n/**\n * ErrorMessage displays form validation errors with an icon and accessible alert role.\n *\n * @example\n * ```tsx\n * <ErrorMessage>This field is required</ErrorMessage>\n * ```\n *\n * @example\n * ```tsx\n * // With errors array (react-hook-form compatible)\n * <ErrorMessage errors={[{ message: 'Error 1' }, { message: 'Error 2' }]} />\n * ```\n *\n * @example\n * ```tsx\n * // With animation\n * <ErrorMessage animated>Attention required!</ErrorMessage>\n * ```\n *\n * @example\n * ```tsx\n * // Bordered variant\n * <ErrorMessage variant=\"bordered\">Please fix this error</ErrorMessage>\n * ```\n */\nfunction ErrorMessage({\n className,\n variant = \"default\",\n size,\n icon,\n showIcon,\n animated = false,\n errors,\n children,\n ref,\n ...props\n}: ErrorMessageProps & ErrorMessageVariantProps) {\n // Filter out undefined errors and extract messages\n const errorMessages = errors?.filter((e): e is { message?: string } => !!e?.message)\n\n // If no children and no error messages, don't render\n if (!children && (!errorMessages || errorMessages.length === 0)) {\n return null\n }\n\n const displayIcon = shouldShowIcon(showIcon, variant)\n\n // Render errors array as list\n if (errorMessages && errorMessages.length > 0) {\n return (\n <div\n ref={ref as React.Ref<HTMLDivElement>}\n className={cn(errorMessageListVariants({ size }), className)}\n data-slot=\"error-message\"\n role=\"alert\"\n {...(props as React.ComponentProps<\"div\">)}\n >\n {errorMessages.map((error) => (\n <span\n key={error.message}\n className={cn(errorMessageVariants({ variant, size, animated }))}\n data-slot=\"error-message-item\"\n >\n {displayIcon && icon !== null && (\n <span aria-hidden=\"true\" data-slot=\"error-message-icon\">\n {icon ?? (\n <AlertCircleIcon\n className={cn(errorMessageIconVariants({ size }))}\n />\n )}\n </span>\n )}\n {error.message}\n </span>\n ))}\n </div>\n )\n }\n\n // Render single error message\n return (\n <span\n ref={ref}\n className={cn(errorMessageVariants({ variant, size, animated }), className)}\n data-slot=\"error-message\"\n role=\"alert\"\n {...props}\n >\n {displayIcon && icon !== null && (\n <span aria-hidden=\"true\" data-slot=\"error-message-icon\">\n {icon ?? (\n <AlertCircleIcon\n className={cn(errorMessageIconVariants({ size }))}\n />\n )}\n </span>\n )}\n {children}\n </span>\n )\n}\n\nexport { ErrorMessage }\n"]}
1
+ {"version":3,"sources":["../src/components/forms/ErrorMessage/ErrorMessage.variants.ts","../src/components/forms/ErrorMessage/ErrorMessage.tsx"],"names":[],"mappings":"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","file":"chunk-SX63UD5X.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * ErrorMessage variant styles using CVA\n */\nexport const errorMessageVariants = cva(\n [\n \"text-destructive font-normal\",\n \"flex items-center gap-1.5\",\n ],\n {\n variants: {\n variant: {\n default: \"\",\n inline: \"inline-flex\",\n bordered: [\n \"flex items-start gap-2\",\n \"bg-destructive/10 border border-destructive/30\",\n \"rounded-md p-3\",\n ],\n critical: [\n \"bg-destructive text-destructive-foreground\",\n \"font-medium rounded-md p-3\",\n ],\n },\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n animated: {\n true: \"animate-shake\",\n false: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n animated: false,\n },\n }\n)\n\n/**\n * ErrorMessage icon variant styles using CVA\n */\nexport const errorMessageIconVariants = cva(\"shrink-0\", {\n variants: {\n size: {\n sm: \"size-3\",\n md: \"size-4\",\n lg: \"size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n})\n\n/**\n * ErrorMessage list variant styles for errors array\n */\nexport const errorMessageListVariants = cva(\"flex flex-col gap-1\", {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n})\n\n// Export variant prop types\nexport type ErrorMessageVariantProps = VariantProps<typeof errorMessageVariants>\nexport type ErrorMessageIconVariantProps = VariantProps<typeof errorMessageIconVariants>\n","import type { ErrorMessageProps } from \"./ErrorMessage.types\"\n\nimport { AlertCircleIcon } from \"lucide-react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n errorMessageIconVariants,\n errorMessageListVariants,\n type ErrorMessageVariantProps,\n errorMessageVariants,\n} from \"./ErrorMessage.variants\"\n\n/**\n * Determines if icon should be shown based on variant\n */\nfunction shouldShowIcon(\n showIcon: boolean | undefined,\n variant: string | undefined\n): boolean {\n if (showIcon !== undefined) return showIcon\n // Default: show icon for inline, bordered, critical variants\n return variant === \"inline\" || variant === \"bordered\" || variant === \"critical\"\n}\n\n/**\n * ErrorMessage displays form validation errors with an icon and accessible alert role.\n *\n * @example\n * ```tsx\n * <ErrorMessage>This field is required</ErrorMessage>\n * ```\n *\n * @example\n * ```tsx\n * // With errors array (react-hook-form compatible)\n * <ErrorMessage errors={[{ message: 'Error 1' }, { message: 'Error 2' }]} />\n * ```\n *\n * @example\n * ```tsx\n * // With animation\n * <ErrorMessage animated>Attention required!</ErrorMessage>\n * ```\n *\n * @example\n * ```tsx\n * // Bordered variant\n * <ErrorMessage variant=\"bordered\">Please fix this error</ErrorMessage>\n * ```\n */\nfunction ErrorMessage({\n className,\n variant = \"default\",\n size,\n icon,\n showIcon,\n animated = false,\n errors,\n children,\n ref,\n ...props\n}: ErrorMessageProps & ErrorMessageVariantProps) {\n // Filter out undefined errors and extract messages\n const errorMessages = errors?.filter((e): e is { message?: string } => !!e?.message)\n\n // If no children and no error messages, don't render\n if (!children && (!errorMessages || errorMessages.length === 0)) {\n return null\n }\n\n const displayIcon = shouldShowIcon(showIcon, variant)\n\n // Render errors array as list\n if (errorMessages && errorMessages.length > 0) {\n return (\n <div\n ref={ref as React.Ref<HTMLDivElement>}\n className={cn(errorMessageListVariants({ size }), className)}\n data-slot=\"error-message\"\n role=\"alert\"\n {...(props as React.ComponentProps<\"div\">)}\n >\n {errorMessages.map((error) => (\n <span\n key={error.message}\n className={cn(errorMessageVariants({ variant, size, animated }))}\n data-slot=\"error-message-item\"\n >\n {displayIcon && icon !== null && (\n <span aria-hidden=\"true\" data-slot=\"error-message-icon\">\n {icon ?? (\n <AlertCircleIcon\n className={cn(errorMessageIconVariants({ size }))}\n />\n )}\n </span>\n )}\n {error.message}\n </span>\n ))}\n </div>\n )\n }\n\n // Render single error message\n return (\n <span\n ref={ref}\n className={cn(errorMessageVariants({ variant, size, animated }), className)}\n data-slot=\"error-message\"\n role=\"alert\"\n {...props}\n >\n {displayIcon && icon !== null && (\n <span aria-hidden=\"true\" data-slot=\"error-message-icon\">\n {icon ?? (\n <AlertCircleIcon\n className={cn(errorMessageIconVariants({ size }))}\n />\n )}\n </span>\n )}\n {children}\n </span>\n )\n}\n\nexport { ErrorMessage }\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 { Plus } from 'lucide-react';
4
4
  import * as React from 'react';
5
5
  import { cva } from 'class-variance-authority';
@@ -275,5 +275,5 @@ function SpeedDial({
275
275
  }
276
276
 
277
277
  export { SpeedDial };
278
- //# sourceMappingURL=chunk-YZY35OHQ.js.map
279
- //# sourceMappingURL=chunk-YZY35OHQ.js.map
278
+ //# sourceMappingURL=chunk-SXSR2VRG.js.map
279
+ //# sourceMappingURL=chunk-SXSR2VRG.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/navigation/SpeedDial/SpeedDial.variants.ts","../src/components/navigation/SpeedDial/SpeedDial.tsx"],"names":[],"mappings":"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","file":"chunk-YZY35OHQ.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * SpeedDial container variants\n */\nexport const speedDialContainerVariants = cva(\"relative inline-flex\", {\n variants: {\n direction: {\n up: \"flex-col-reverse items-center\",\n down: \"flex-col items-center\",\n left: \"flex-row-reverse items-center\",\n right: \"flex-row items-center\",\n \"up-left\": \"flex-col-reverse items-end\",\n \"up-right\": \"flex-col-reverse items-start\",\n \"down-left\": \"flex-col items-end\",\n \"down-right\": \"flex-col items-start\",\n },\n },\n defaultVariants: {\n direction: \"up\",\n },\n})\n\n/**\n * SpeedDial main FAB button variants\n */\nexport const speedDialFabVariants = cva(\n \"inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg transition-all duration-200 hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 z-10\",\n {\n variants: {\n size: {\n sm: \"size-12 [&_svg]:size-5\",\n default: \"size-14 [&_svg]:size-6\",\n lg: \"size-16 [&_svg]:size-7\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * SpeedDial action button variants\n */\nexport const speedDialActionVariants = cva(\n \"inline-flex items-center justify-center rounded-full bg-background text-foreground shadow-md border border-border transition-all duration-200 hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n size: {\n sm: \"size-10 [&_svg]:size-4\",\n default: \"size-11 [&_svg]:size-5\",\n lg: \"size-12 [&_svg]:size-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * SpeedDial actions container variants\n */\nexport const speedDialActionsVariants = cva(\n \"flex transition-all duration-200\",\n {\n variants: {\n direction: {\n up: \"flex-col-reverse gap-2 pb-2\",\n down: \"flex-col gap-2 pt-2\",\n left: \"flex-row-reverse gap-2 pr-2\",\n right: \"flex-row gap-2 pl-2\",\n \"up-left\": \"flex-col-reverse gap-2 pb-2\",\n \"up-right\": \"flex-col-reverse gap-2 pb-2\",\n \"down-left\": \"flex-col gap-2 pt-2\",\n \"down-right\": \"flex-col gap-2 pt-2\",\n },\n open: {\n true: \"opacity-100 visible\",\n false: \"opacity-0 invisible pointer-events-none\",\n },\n },\n defaultVariants: {\n direction: \"up\",\n open: false,\n },\n }\n)\n\n/**\n * SpeedDial action item wrapper (for label positioning)\n */\nexport const speedDialActionItemVariants = cva(\n \"flex items-center gap-2 transition-all duration-200\",\n {\n variants: {\n direction: {\n up: \"flex-row\",\n down: \"flex-row\",\n left: \"flex-col\",\n right: \"flex-col\",\n \"up-left\": \"flex-row-reverse\",\n \"up-right\": \"flex-row\",\n \"down-left\": \"flex-row-reverse\",\n \"down-right\": \"flex-row\",\n },\n index: {\n 0: \"transition-delay-[0ms]\",\n 1: \"transition-delay-[25ms]\",\n 2: \"transition-delay-[50ms]\",\n 3: \"transition-delay-[75ms]\",\n 4: \"transition-delay-[100ms]\",\n 5: \"transition-delay-[125ms]\",\n },\n },\n defaultVariants: {\n direction: \"up\",\n },\n }\n)\n","\"use client\"\n\nimport type { SpeedDialProps } from \"./SpeedDial.types\"\n\nimport { Plus } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../../feedback/Tooltip\"\nimport {\n speedDialActionItemVariants,\n speedDialActionsVariants,\n speedDialActionVariants,\n speedDialContainerVariants,\n speedDialFabVariants,\n} from \"./SpeedDial.variants\"\n\n/**\n * SpeedDial - A floating action button that expands to reveal multiple actions\n *\n * Inspired by PrimeVue's SpeedDial component. Provides quick access to\n * multiple related actions from a single FAB button.\n *\n * @example\n * ```tsx\n * <SpeedDial\n * actions={[\n * { id: \"edit\", icon: <Edit />, label: \"Edit\", onClick: handleEdit },\n * { id: \"delete\", icon: <Trash />, label: \"Delete\", onClick: handleDelete },\n * { id: \"share\", icon: <Share />, label: \"Share\", onClick: handleShare },\n * ]}\n * direction=\"up\"\n * />\n * ```\n */\nfunction SpeedDial({\n actions,\n direction = \"up\",\n icon,\n openIcon,\n open: controlledOpen,\n onOpenChange,\n disabled = false,\n size = \"default\",\n tooltip,\n showLabels = false,\n mask = false,\n className,\n \"aria-label\": ariaLabel = \"Open actions menu\",\n ...props\n}: SpeedDialProps) {\n // Uncontrolled state\n const [internalOpen, setInternalOpen] = React.useState(false)\n\n // Use controlled or uncontrolled\n const isOpen = controlledOpen ?? internalOpen\n\n const handleToggle = React.useCallback(() => {\n if (disabled) return\n const newOpen = !isOpen\n setInternalOpen(newOpen)\n onOpenChange?.(newOpen)\n }, [disabled, isOpen, onOpenChange])\n\n const handleClose = React.useCallback(() => {\n setInternalOpen(false)\n onOpenChange?.(false)\n }, [onOpenChange])\n\n const handleActionClick = React.useCallback(\n (action: SpeedDialProps[\"actions\"][number]) => {\n if (action.disabled) return\n action.onClick?.()\n handleClose()\n },\n [handleClose]\n )\n\n // Handle escape key to close\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && isOpen) {\n handleClose()\n }\n }\n\n document.addEventListener(\"keydown\", handleKeyDown)\n return () => { document.removeEventListener(\"keydown\", handleKeyDown) }\n }, [isOpen, handleClose])\n\n // Default icon with rotation when open\n const fabIcon = isOpen\n ? (openIcon ?? <Plus className=\"transition-transform duration-200 rotate-45\" />)\n : (icon ?? <Plus className=\"transition-transform duration-200\" />)\n\n // Wrap action button with tooltip if not showing labels\n const renderActionButton = (\n action: SpeedDialProps[\"actions\"][number],\n index: number\n ) => {\n const button = (\n <button\n className={cn(\n speedDialActionVariants({ size }),\n action.className\n )}\n aria-label={action.label}\n data-slot=\"speed-dial-action\"\n disabled={action.disabled}\n type=\"button\"\n onClick={() => { handleActionClick(action) }}\n >\n {action.icon}\n </button>\n )\n\n if (showLabels) {\n return (\n <div\n key={action.id}\n className={cn(\n speedDialActionItemVariants({\n direction,\n index: Math.min(index, 5) as 0 | 1 | 2 | 3 | 4 | 5,\n }),\n !isOpen && \"translate-y-2 opacity-0\",\n isOpen && \"translate-y-0 opacity-100\"\n )}\n >\n {button}\n <span\n className=\"text-sm font-medium text-foreground whitespace-nowrap bg-background px-2 py-1 rounded shadow-sm border border-border\"\n data-slot=\"speed-dial-action-label\"\n >\n {action.label}\n </span>\n </div>\n )\n }\n\n return (\n <div\n key={action.id}\n className={cn(\n speedDialActionItemVariants({\n direction,\n index: Math.min(index, 5) as 0 | 1 | 2 | 3 | 4 | 5,\n }),\n !isOpen && \"translate-y-2 opacity-0\",\n isOpen && \"translate-y-0 opacity-100\"\n )}\n >\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side={direction.includes(\"left\") ? \"left\" : \"right\"}>\n {action.label}\n </TooltipContent>\n </Tooltip>\n </div>\n )\n }\n\n const fabButton = (\n <button\n aria-expanded={isOpen}\n aria-haspopup=\"menu\"\n aria-label={ariaLabel}\n className={cn(speedDialFabVariants({ size }))}\n data-open={isOpen || undefined}\n data-slot=\"speed-dial-fab\"\n disabled={disabled}\n type=\"button\"\n onClick={handleToggle}\n >\n {fabIcon}\n </button>\n )\n\n return (\n <>\n {/* Mask overlay */}\n {mask && isOpen && (\n <div\n aria-hidden=\"true\"\n className=\"fixed inset-0 bg-black/20 z-40 transition-opacity duration-200\"\n data-slot=\"speed-dial-mask\"\n onClick={handleClose}\n />\n )}\n\n <div\n className={cn(\n speedDialContainerVariants({ direction }),\n mask && isOpen && \"z-50\",\n className\n )}\n data-direction={direction}\n data-open={isOpen || undefined}\n data-slot=\"speed-dial\"\n {...props}\n >\n {/* Actions */}\n <div\n className={cn(speedDialActionsVariants({ direction, open: isOpen }))}\n data-slot=\"speed-dial-actions\"\n role=\"menu\"\n >\n {actions.map((action, index) => renderActionButton(action, index))}\n </div>\n\n {/* Main FAB */}\n {tooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>{fabButton}</TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n ) : (\n fabButton\n )}\n </div>\n </>\n )\n}\n\nexport { SpeedDial }\n"]}
1
+ {"version":3,"sources":["../src/components/navigation/SpeedDial/SpeedDial.variants.ts","../src/components/navigation/SpeedDial/SpeedDial.tsx"],"names":[],"mappings":"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","file":"chunk-SXSR2VRG.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * SpeedDial container variants\n */\nexport const speedDialContainerVariants = cva(\"relative inline-flex\", {\n variants: {\n direction: {\n up: \"flex-col-reverse items-center\",\n down: \"flex-col items-center\",\n left: \"flex-row-reverse items-center\",\n right: \"flex-row items-center\",\n \"up-left\": \"flex-col-reverse items-end\",\n \"up-right\": \"flex-col-reverse items-start\",\n \"down-left\": \"flex-col items-end\",\n \"down-right\": \"flex-col items-start\",\n },\n },\n defaultVariants: {\n direction: \"up\",\n },\n})\n\n/**\n * SpeedDial main FAB button variants\n */\nexport const speedDialFabVariants = cva(\n \"inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg transition-all duration-200 hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 z-10\",\n {\n variants: {\n size: {\n sm: \"size-12 [&_svg]:size-5\",\n default: \"size-14 [&_svg]:size-6\",\n lg: \"size-16 [&_svg]:size-7\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * SpeedDial action button variants\n */\nexport const speedDialActionVariants = cva(\n \"inline-flex items-center justify-center rounded-full bg-background text-foreground shadow-md border border-border transition-all duration-200 hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n size: {\n sm: \"size-10 [&_svg]:size-4\",\n default: \"size-11 [&_svg]:size-5\",\n lg: \"size-12 [&_svg]:size-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * SpeedDial actions container variants\n */\nexport const speedDialActionsVariants = cva(\n \"flex transition-all duration-200\",\n {\n variants: {\n direction: {\n up: \"flex-col-reverse gap-2 pb-2\",\n down: \"flex-col gap-2 pt-2\",\n left: \"flex-row-reverse gap-2 pr-2\",\n right: \"flex-row gap-2 pl-2\",\n \"up-left\": \"flex-col-reverse gap-2 pb-2\",\n \"up-right\": \"flex-col-reverse gap-2 pb-2\",\n \"down-left\": \"flex-col gap-2 pt-2\",\n \"down-right\": \"flex-col gap-2 pt-2\",\n },\n open: {\n true: \"opacity-100 visible\",\n false: \"opacity-0 invisible pointer-events-none\",\n },\n },\n defaultVariants: {\n direction: \"up\",\n open: false,\n },\n }\n)\n\n/**\n * SpeedDial action item wrapper (for label positioning)\n */\nexport const speedDialActionItemVariants = cva(\n \"flex items-center gap-2 transition-all duration-200\",\n {\n variants: {\n direction: {\n up: \"flex-row\",\n down: \"flex-row\",\n left: \"flex-col\",\n right: \"flex-col\",\n \"up-left\": \"flex-row-reverse\",\n \"up-right\": \"flex-row\",\n \"down-left\": \"flex-row-reverse\",\n \"down-right\": \"flex-row\",\n },\n index: {\n 0: \"transition-delay-[0ms]\",\n 1: \"transition-delay-[25ms]\",\n 2: \"transition-delay-[50ms]\",\n 3: \"transition-delay-[75ms]\",\n 4: \"transition-delay-[100ms]\",\n 5: \"transition-delay-[125ms]\",\n },\n },\n defaultVariants: {\n direction: \"up\",\n },\n }\n)\n","\"use client\"\n\nimport type { SpeedDialProps } from \"./SpeedDial.types\"\n\nimport { Plus } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../../feedback/Tooltip\"\nimport {\n speedDialActionItemVariants,\n speedDialActionsVariants,\n speedDialActionVariants,\n speedDialContainerVariants,\n speedDialFabVariants,\n} from \"./SpeedDial.variants\"\n\n/**\n * SpeedDial - A floating action button that expands to reveal multiple actions\n *\n * Inspired by PrimeVue's SpeedDial component. Provides quick access to\n * multiple related actions from a single FAB button.\n *\n * @example\n * ```tsx\n * <SpeedDial\n * actions={[\n * { id: \"edit\", icon: <Edit />, label: \"Edit\", onClick: handleEdit },\n * { id: \"delete\", icon: <Trash />, label: \"Delete\", onClick: handleDelete },\n * { id: \"share\", icon: <Share />, label: \"Share\", onClick: handleShare },\n * ]}\n * direction=\"up\"\n * />\n * ```\n */\nfunction SpeedDial({\n actions,\n direction = \"up\",\n icon,\n openIcon,\n open: controlledOpen,\n onOpenChange,\n disabled = false,\n size = \"default\",\n tooltip,\n showLabels = false,\n mask = false,\n className,\n \"aria-label\": ariaLabel = \"Open actions menu\",\n ...props\n}: SpeedDialProps) {\n // Uncontrolled state\n const [internalOpen, setInternalOpen] = React.useState(false)\n\n // Use controlled or uncontrolled\n const isOpen = controlledOpen ?? internalOpen\n\n const handleToggle = React.useCallback(() => {\n if (disabled) return\n const newOpen = !isOpen\n setInternalOpen(newOpen)\n onOpenChange?.(newOpen)\n }, [disabled, isOpen, onOpenChange])\n\n const handleClose = React.useCallback(() => {\n setInternalOpen(false)\n onOpenChange?.(false)\n }, [onOpenChange])\n\n const handleActionClick = React.useCallback(\n (action: SpeedDialProps[\"actions\"][number]) => {\n if (action.disabled) return\n action.onClick?.()\n handleClose()\n },\n [handleClose]\n )\n\n // Handle escape key to close\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && isOpen) {\n handleClose()\n }\n }\n\n document.addEventListener(\"keydown\", handleKeyDown)\n return () => { document.removeEventListener(\"keydown\", handleKeyDown) }\n }, [isOpen, handleClose])\n\n // Default icon with rotation when open\n const fabIcon = isOpen\n ? (openIcon ?? <Plus className=\"transition-transform duration-200 rotate-45\" />)\n : (icon ?? <Plus className=\"transition-transform duration-200\" />)\n\n // Wrap action button with tooltip if not showing labels\n const renderActionButton = (\n action: SpeedDialProps[\"actions\"][number],\n index: number\n ) => {\n const button = (\n <button\n className={cn(\n speedDialActionVariants({ size }),\n action.className\n )}\n aria-label={action.label}\n data-slot=\"speed-dial-action\"\n disabled={action.disabled}\n type=\"button\"\n onClick={() => { handleActionClick(action) }}\n >\n {action.icon}\n </button>\n )\n\n if (showLabels) {\n return (\n <div\n key={action.id}\n className={cn(\n speedDialActionItemVariants({\n direction,\n index: Math.min(index, 5) as 0 | 1 | 2 | 3 | 4 | 5,\n }),\n !isOpen && \"translate-y-2 opacity-0\",\n isOpen && \"translate-y-0 opacity-100\"\n )}\n >\n {button}\n <span\n className=\"text-sm font-medium text-foreground whitespace-nowrap bg-background px-2 py-1 rounded shadow-sm border border-border\"\n data-slot=\"speed-dial-action-label\"\n >\n {action.label}\n </span>\n </div>\n )\n }\n\n return (\n <div\n key={action.id}\n className={cn(\n speedDialActionItemVariants({\n direction,\n index: Math.min(index, 5) as 0 | 1 | 2 | 3 | 4 | 5,\n }),\n !isOpen && \"translate-y-2 opacity-0\",\n isOpen && \"translate-y-0 opacity-100\"\n )}\n >\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side={direction.includes(\"left\") ? \"left\" : \"right\"}>\n {action.label}\n </TooltipContent>\n </Tooltip>\n </div>\n )\n }\n\n const fabButton = (\n <button\n aria-expanded={isOpen}\n aria-haspopup=\"menu\"\n aria-label={ariaLabel}\n className={cn(speedDialFabVariants({ size }))}\n data-open={isOpen || undefined}\n data-slot=\"speed-dial-fab\"\n disabled={disabled}\n type=\"button\"\n onClick={handleToggle}\n >\n {fabIcon}\n </button>\n )\n\n return (\n <>\n {/* Mask overlay */}\n {mask && isOpen && (\n <div\n aria-hidden=\"true\"\n className=\"fixed inset-0 bg-black/20 z-40 transition-opacity duration-200\"\n data-slot=\"speed-dial-mask\"\n onClick={handleClose}\n />\n )}\n\n <div\n className={cn(\n speedDialContainerVariants({ direction }),\n mask && isOpen && \"z-50\",\n className\n )}\n data-direction={direction}\n data-open={isOpen || undefined}\n data-slot=\"speed-dial\"\n {...props}\n >\n {/* Actions */}\n <div\n className={cn(speedDialActionsVariants({ direction, open: isOpen }))}\n data-slot=\"speed-dial-actions\"\n role=\"menu\"\n >\n {actions.map((action, index) => renderActionButton(action, index))}\n </div>\n\n {/* Main FAB */}\n {tooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>{fabButton}</TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n ) : (\n fabButton\n )}\n </div>\n </>\n )\n}\n\nexport { SpeedDial }\n"]}
@@ -4,7 +4,7 @@ import { cva } from 'class-variance-authority';
4
4
  var inputVariants = cva(
5
5
  // Base styles
6
6
  [
7
- "w-full min-w-0 rounded-md border transition-[color,box-shadow] outline-none",
7
+ "w-full min-w-0 rounded-[var(--input-radius)] border transition-[color,box-shadow] outline-none",
8
8
  "bg-[color:var(--input-bg-default)] text-[color:var(--input-fg-default)] border-[color:var(--input-border-default)]",
9
9
  "file:text-[color:var(--input-fg-default)] placeholder:text-[color:var(--input-fg-placeholder)]",
10
10
  "selection:bg-primary selection:text-primary-foreground",
@@ -64,7 +64,7 @@ var inputVariants = cva(
64
64
  );
65
65
  var inputWrapperVariants = cva("relative w-full");
66
66
  var inputIconVariants = cva(
67
- "absolute top-1/2 -translate-y-1/2 flex items-center justify-center text-muted-foreground",
67
+ "absolute top-1/2 -translate-y-1/2 flex items-center justify-center text-[color:var(--input-fg-icon)]",
68
68
  {
69
69
  variants: {
70
70
  position: {
@@ -105,5 +105,5 @@ var inputIconVariants = cva(
105
105
  );
106
106
 
107
107
  export { inputIconVariants, inputVariants, inputWrapperVariants };
108
- //# sourceMappingURL=chunk-DYDXGWH2.js.map
109
- //# sourceMappingURL=chunk-DYDXGWH2.js.map
108
+ //# sourceMappingURL=chunk-T3LWBCVR.js.map
109
+ //# sourceMappingURL=chunk-T3LWBCVR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/forms/TextInput/TextInput.variants.ts"],"names":[],"mappings":"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","file":"chunk-T3LWBCVR.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Input variant styles using CVA\n */\nexport const inputVariants = cva(\n // Base styles\n [\n \"w-full min-w-0 rounded-[var(--input-radius)] border transition-[color,box-shadow] outline-none\",\n \"bg-[color:var(--input-bg-default)] text-[color:var(--input-fg-default)] border-[color:var(--input-border-default)]\",\n \"file:text-[color:var(--input-fg-default)] placeholder:text-[color:var(--input-fg-placeholder)]\",\n \"selection:bg-primary selection:text-primary-foreground\",\n \"dark:bg-input\",\n \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-[color:var(--input-bg-disabled)] disabled:text-[color:var(--input-fg-disabled)]\",\n \"hover:border-[color:var(--border-semantic-strong)]\",\n \"focus-visible:border-[color:var(--input-border-focus)] focus-visible:ring-[color:var(--input-border-focus)]/20 focus-visible:ring-4\",\n \"aria-invalid:ring-[color:var(--input-border-error)]/20 dark:aria-invalid:ring-[color:var(--input-border-error)]/40 aria-invalid:border-[color:var(--input-border-error)]\",\n ],\n {\n variants: {\n size: {\n xs: \"h-[var(--input-size-xs-h)] px-[var(--input-size-xs-px)] py-[var(--input-size-xs-py)] text-[length:var(--input-size-xs-text)]\",\n sm: \"h-[var(--input-size-sm-h)] px-[var(--input-size-sm-px)] py-[var(--input-size-sm-py)] text-[length:var(--input-size-sm-text)]\",\n md: \"h-[var(--input-size-md-h)] px-[var(--input-size-md-px)] py-[var(--input-size-md-py)] text-[length:var(--input-size-md-text)]\",\n lg: \"h-[var(--input-size-lg-h)] px-[var(--input-size-lg-px)] py-[var(--input-size-lg-py)] text-[length:var(--input-size-lg-text)]\",\n xl: \"h-[var(--input-size-xl-h)] px-[var(--input-size-xl-px)] py-[var(--input-size-xl-py)] text-[length:var(--input-size-xl-text)]\",\n },\n variant: {\n default: \"shadow-xs\",\n filled: \"border-transparent bg-muted\",\n flushed: \"rounded-none border-x-0 border-t-0 border-b-[color:var(--input-border-default)] px-0\",\n unstyled: \"border-0 bg-transparent shadow-none focus-visible:ring-0\",\n },\n hasLeadingIcon: {\n true: \"\",\n false: \"\",\n },\n hasTrailingIcon: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n // Unstyled without icons should have no padding\n { variant: \"unstyled\", hasLeadingIcon: false, hasTrailingIcon: false, className: \"p-0\" },\n // Leading icon padding adjustments\n { size: \"xs\", hasLeadingIcon: true, className: \"pl-[var(--input-icon-padding-xs)]\" },\n { size: \"sm\", hasLeadingIcon: true, className: \"pl-[var(--input-icon-padding-sm)]\" },\n { size: \"md\", hasLeadingIcon: true, className: \"pl-[var(--input-icon-padding-md)]\" },\n { size: \"lg\", hasLeadingIcon: true, className: \"pl-[var(--input-icon-padding-lg)]\" },\n { size: \"xl\", hasLeadingIcon: true, className: \"pl-[var(--input-icon-padding-xl)]\" },\n // Trailing icon padding adjustments\n { size: \"xs\", hasTrailingIcon: true, className: \"pr-[var(--input-icon-padding-xs)]\" },\n { size: \"sm\", hasTrailingIcon: true, className: \"pr-[var(--input-icon-padding-sm)]\" },\n { size: \"md\", hasTrailingIcon: true, className: \"pr-[var(--input-icon-padding-md)]\" },\n { size: \"lg\", hasTrailingIcon: true, className: \"pr-[var(--input-icon-padding-lg)]\" },\n { size: \"xl\", hasTrailingIcon: true, className: \"pr-[var(--input-icon-padding-xl)]\" },\n ],\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n hasLeadingIcon: false,\n hasTrailingIcon: false,\n },\n }\n)\n\n/**\n * Input wrapper styles for when icons are present\n */\nexport const inputWrapperVariants = cva(\"relative w-full\")\n\n/**\n * Input icon styles using CVA\n */\nexport const inputIconVariants = cva(\n \"absolute top-1/2 -translate-y-1/2 flex items-center justify-center text-[color:var(--input-fg-icon)]\",\n {\n variants: {\n position: {\n leading: \"left-0\",\n trailing: \"right-0\",\n },\n size: {\n xs: \"size-[var(--input-icon-size-xs)]\",\n sm: \"size-[var(--input-icon-size-sm)]\",\n md: \"size-[var(--input-icon-size-md)]\",\n lg: \"size-[var(--input-icon-size-lg)]\",\n xl: \"size-[var(--input-icon-size-xl)]\",\n },\n interactive: {\n true: \"pointer-events-auto\",\n false: \"pointer-events-none\",\n },\n },\n compoundVariants: [\n // Leading icon position adjustments\n { position: \"leading\", size: \"xs\", className: \"left-[var(--input-icon-position-xs)]\" },\n { position: \"leading\", size: \"sm\", className: \"left-[var(--input-icon-position-sm)]\" },\n { position: \"leading\", size: \"md\", className: \"left-[var(--input-icon-position-md)]\" },\n { position: \"leading\", size: \"lg\", className: \"left-[var(--input-icon-position-lg)]\" },\n { position: \"leading\", size: \"xl\", className: \"left-[var(--input-icon-position-xl)]\" },\n // Trailing icon position adjustments\n { position: \"trailing\", size: \"xs\", className: \"right-[var(--input-icon-position-xs)]\" },\n { position: \"trailing\", size: \"sm\", className: \"right-[var(--input-icon-position-sm)]\" },\n { position: \"trailing\", size: \"md\", className: \"right-[var(--input-icon-position-md)]\" },\n { position: \"trailing\", size: \"lg\", className: \"right-[var(--input-icon-position-lg)]\" },\n { position: \"trailing\", size: \"xl\", className: \"right-[var(--input-icon-position-xl)]\" },\n ],\n defaultVariants: {\n position: \"leading\",\n size: \"md\",\n },\n }\n)\n\nexport type InputVariantProps = VariantProps<typeof inputVariants>\nexport type InputIconVariantProps = VariantProps<typeof inputIconVariants>\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
 
@@ -66,5 +66,5 @@ function Icon({
66
66
  }
67
67
 
68
68
  export { Icon, iconVariants };
69
- //# sourceMappingURL=chunk-AR3OXNPL.js.map
70
- //# sourceMappingURL=chunk-AR3OXNPL.js.map
69
+ //# sourceMappingURL=chunk-TDANAN5A.js.map
70
+ //# sourceMappingURL=chunk-TDANAN5A.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/primitives/Icon/Icon.tsx"],"names":[],"mappings":";;;;AAMA,IAAM,YAAA,GAAe,GAAA;AAAA,EACnB,uDAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,wCAAA;AAAA,QACT,KAAA,EAAO,sCAAA;AAAA,QACP,OAAA,EAAS,wCAAA;AAAA,QACT,WAAA,EAAa,4CAAA;AAAA,QACb,OAAA,EAAS,wCAAA;AAAA,QACT,OAAA,EAAS;AAAA,OACX;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,4BAAA;AAAA,QACJ,EAAA,EAAI,4BAAA;AAAA,QACJ,EAAA,EAAI,4BAAA;AAAA,QACJ,EAAA,EAAI,4BAAA;AAAA,QACJ,EAAA,EAAI,4BAAA;AAAA,QACJ,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAEA,SAAS,IAAA,CAAK;AAAA,EACZ,IAAA,EAAM,aAAA;AAAA,EACN,OAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA,GAAO,KAAA;AAAA,EACP,KAAA,GAAQ,KAAA;AAAA,EACR,UAAA,GAAa,IAAA;AAAA,EACb,SAAA;AAAA,EACA,YAAA,EAAc,SAAA;AAAA,EACd,aAAA,EAAe,UAAA;AAAA,EACf,IAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAc;AAIZ,EAAA,MAAM,kBAAA,GAAqB,UAAA,KAAe,UAAA,GAAa,IAAA,GAAO,MAAA,CAAA;AAC9D,EAAA,MAAM,YAAA,GAAe,IAAA,KAAS,CAAC,UAAA,IAAc,YAAY,KAAA,GAAQ,MAAA,CAAA;AAEjE,EAAA,uBACE,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,YAAA,CAAa,EAAE,OAAA,EAAS,IAAA,EAAM,CAAA;AAAA,QAC9B,IAAA,IAAQ,cAAA;AAAA,QACR,KAAA,IAAS,eAAA;AAAA,QACT;AAAA,OACF;AAAA,MACA,aAAA,EAAa,kBAAA;AAAA,MACb,YAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAU,MAAA;AAAA,MACV,SAAA,EAAU,OAAA;AAAA,MACV,IAAA,EAAM,YAAA;AAAA,MACL,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-AR3OXNPL.js","sourcesContent":["import type { IconProps } from \"./Icon.types\"\n\nimport { cva } from \"class-variance-authority\"\n\nimport { cn } from \"../../../lib/utils\"\n\nconst iconVariants = cva(\n \"shrink-0 transition-colors motion-reduce:animate-none\",\n {\n variants: {\n variant: {\n default: \"text-[color:var(--icon-color-default)]\",\n muted: \"text-[color:var(--icon-color-muted)]\",\n primary: \"text-[color:var(--icon-color-primary)]\",\n destructive: \"text-[color:var(--icon-color-destructive)]\",\n success: \"text-[color:var(--icon-color-success)]\",\n warning: \"text-[color:var(--icon-color-warning)]\",\n },\n size: {\n xs: \"size-[var(--icon-size-xs)]\",\n sm: \"size-[var(--icon-size-sm)]\",\n md: \"size-[var(--icon-size-md)]\",\n lg: \"size-[var(--icon-size-lg)]\",\n xl: \"size-[var(--icon-size-xl)]\",\n \"2xl\": \"size-[var(--icon-size-2xl)]\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n }\n)\n\nfunction Icon({\n name: IconComponent,\n variant,\n size,\n spin = false,\n pulse = false,\n decorative = true,\n className,\n \"aria-label\": ariaLabel,\n \"aria-hidden\": ariaHidden,\n role,\n ref,\n ...props\n}: IconProps) {\n // Determine accessibility attributes\n // If decorative is explicitly true, always hide from screen readers\n // If decorative is false and has aria-label, make it accessible\n const computedAriaHidden = ariaHidden ?? (decorative ? true : undefined)\n const computedRole = role ?? (!decorative && ariaLabel ? \"img\" : undefined)\n\n return (\n <IconComponent\n ref={ref}\n className={cn(\n iconVariants({ variant, size }),\n spin && \"animate-spin\",\n pulse && \"animate-pulse\",\n className\n )}\n aria-hidden={computedAriaHidden}\n aria-label={ariaLabel}\n data-slot=\"icon\"\n focusable=\"false\"\n role={computedRole}\n {...props}\n />\n )\n}\n\nexport { Icon, iconVariants }\n"]}
1
+ {"version":3,"sources":["../src/components/primitives/Icon/Icon.tsx"],"names":[],"mappings":";;;;AAMA,IAAM,YAAA,GAAe,GAAA;AAAA,EACnB,uDAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,wCAAA;AAAA,QACT,KAAA,EAAO,sCAAA;AAAA,QACP,OAAA,EAAS,wCAAA;AAAA,QACT,WAAA,EAAa,4CAAA;AAAA,QACb,OAAA,EAAS,wCAAA;AAAA,QACT,OAAA,EAAS;AAAA,OACX;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,4BAAA;AAAA,QACJ,EAAA,EAAI,4BAAA;AAAA,QACJ,EAAA,EAAI,4BAAA;AAAA,QACJ,EAAA,EAAI,4BAAA;AAAA,QACJ,EAAA,EAAI,4BAAA;AAAA,QACJ,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAEA,SAAS,IAAA,CAAK;AAAA,EACZ,IAAA,EAAM,aAAA;AAAA,EACN,OAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA,GAAO,KAAA;AAAA,EACP,KAAA,GAAQ,KAAA;AAAA,EACR,UAAA,GAAa,IAAA;AAAA,EACb,SAAA;AAAA,EACA,YAAA,EAAc,SAAA;AAAA,EACd,aAAA,EAAe,UAAA;AAAA,EACf,IAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAc;AAIZ,EAAA,MAAM,kBAAA,GAAqB,UAAA,KAAe,UAAA,GAAa,IAAA,GAAO,MAAA,CAAA;AAC9D,EAAA,MAAM,YAAA,GAAe,IAAA,KAAS,CAAC,UAAA,IAAc,YAAY,KAAA,GAAQ,MAAA,CAAA;AAEjE,EAAA,uBACE,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,YAAA,CAAa,EAAE,OAAA,EAAS,IAAA,EAAM,CAAA;AAAA,QAC9B,IAAA,IAAQ,cAAA;AAAA,QACR,KAAA,IAAS,eAAA;AAAA,QACT;AAAA,OACF;AAAA,MACA,aAAA,EAAa,kBAAA;AAAA,MACb,YAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAU,MAAA;AAAA,MACV,SAAA,EAAU,OAAA;AAAA,MACV,IAAA,EAAM,YAAA;AAAA,MACL,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-TDANAN5A.js","sourcesContent":["import type { IconProps } from \"./Icon.types\"\n\nimport { cva } from \"class-variance-authority\"\n\nimport { cn } from \"../../../lib/utils\"\n\nconst iconVariants = cva(\n \"shrink-0 transition-colors motion-reduce:animate-none\",\n {\n variants: {\n variant: {\n default: \"text-[color:var(--icon-color-default)]\",\n muted: \"text-[color:var(--icon-color-muted)]\",\n primary: \"text-[color:var(--icon-color-primary)]\",\n destructive: \"text-[color:var(--icon-color-destructive)]\",\n success: \"text-[color:var(--icon-color-success)]\",\n warning: \"text-[color:var(--icon-color-warning)]\",\n },\n size: {\n xs: \"size-[var(--icon-size-xs)]\",\n sm: \"size-[var(--icon-size-sm)]\",\n md: \"size-[var(--icon-size-md)]\",\n lg: \"size-[var(--icon-size-lg)]\",\n xl: \"size-[var(--icon-size-xl)]\",\n \"2xl\": \"size-[var(--icon-size-2xl)]\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n }\n)\n\nfunction Icon({\n name: IconComponent,\n variant,\n size,\n spin = false,\n pulse = false,\n decorative = true,\n className,\n \"aria-label\": ariaLabel,\n \"aria-hidden\": ariaHidden,\n role,\n ref,\n ...props\n}: IconProps) {\n // Determine accessibility attributes\n // If decorative is explicitly true, always hide from screen readers\n // If decorative is false and has aria-label, make it accessible\n const computedAriaHidden = ariaHidden ?? (decorative ? true : undefined)\n const computedRole = role ?? (!decorative && ariaLabel ? \"img\" : undefined)\n\n return (\n <IconComponent\n ref={ref}\n className={cn(\n iconVariants({ variant, size }),\n spin && \"animate-spin\",\n pulse && \"animate-pulse\",\n className\n )}\n aria-hidden={computedAriaHidden}\n aria-label={ariaLabel}\n data-slot=\"icon\"\n focusable=\"false\"\n role={computedRole}\n {...props}\n />\n )\n}\n\nexport { Icon, iconVariants }\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -96,5 +96,5 @@ function TooltipContent({
96
96
  }
97
97
 
98
98
  export { Tooltip, TooltipArrow, TooltipContent, TooltipProvider, TooltipTrigger, tooltipArrowVariants, tooltipContentVariants };
99
- //# sourceMappingURL=chunk-7ZJ32KRQ.js.map
100
- //# sourceMappingURL=chunk-7ZJ32KRQ.js.map
99
+ //# sourceMappingURL=chunk-TEVGCTUN.js.map
100
+ //# sourceMappingURL=chunk-TEVGCTUN.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/feedback/Tooltip/Tooltip.variants.ts","../src/components/feedback/Tooltip/Tooltip.tsx"],"names":[],"mappings":";;;;;AAQO,IAAM,sBAAA,GAAyB,GAAA;AAAA,EACpC;AAAA;AAAA,IAEE,mFAAA;AAAA;AAAA,IAEA,6FAAA;AAAA;AAAA,IAEA,6DAAA;AAAA;AAAA,IAEA,6EAAA;AAAA;AAAA,IAEA,yCAAA;AAAA;AAAA,IAEA,mDAAA;AAAA;AAAA,IAEA,iCAAA;AAAA;AAAA,IAEA,gGAAA;AAAA;AAAA,IAEA,wCAAA;AAAA,IACA,wCAAA;AAAA,IACA,wCAAA;AAAA,IACA;AAAA,GACF,CAAE,KAAK,GAAG;AACZ;AAQO,IAAM,oBAAA,GAAuB,GAAA;AAAA,EAClC;AAAA;AAAA,IAEE,6FAAA;AAAA;AAAA,IAEA,oCAAA;AAAA;AAAA,IAEA,kCAAA;AAAA;AAAA,IAEA,0CAAA;AAAA;AAAA,IAEA;AAAA,GACF,CAAE,KAAK,GAAG;AACZ;AC/BA,SAAS,eAAA,CAAgB;AAAA,EACvB,aAAA,GAAgB,CAAA;AAAA,EAChB,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAyB;AACvB,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,QAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,aAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;AAMA,SAAS,OAAA,CAAQ,EAAE,QAAA,EAAU,GAAG,OAAM,EAAiB;AACrD,EAAA,uBACE,GAAA,CAAC,eAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAkB,gBAAA,CAAA,IAAA,EAAjB,EAAsB,aAAU,SAAA,EAAW,GAAG,KAAA,EAC5C,QAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAMA,SAAS,cAAA,CAAe,EAAE,QAAA,EAAU,GAAG,OAAM,EAAwB;AACnE,EAAA,2BACoB,gBAAA,CAAA,OAAA,EAAjB,EAAyB,aAAU,iBAAA,EAAmB,GAAG,OACvD,QAAA,EACH,CAAA;AAEJ;AAKA,SAAS,YAAA,CAAa,EAAE,SAAA,EAAW,GAAG,OAAM,EAAsB;AAChE,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,KAAA;AAAA,IAAjB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,oBAAA,EAAqB,EAAG,SAAS,CAAA;AAAA,MAC/C,WAAA,EAAU,eAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAMA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,UAAA,GAAa,CAAA;AAAA,EACb,SAAA,GAAY,IAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,uBACE,GAAA,CAAkB,yBAAjB,EACC,QAAA,kBAAA,IAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,sBAAA,EAAuB,EAAG,SAAS,CAAA;AAAA,MACjD,WAAA,EAAU,iBAAA;AAAA,MACV,UAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,SAAA,wBAAc,YAAA,EAAA,EAAa;AAAA;AAAA;AAAA,GAC9B,EACF,CAAA;AAEJ","file":"chunk-7ZJ32KRQ.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * Tooltip content variant styles using CVA\n *\n * Handles base styling and animations for the tooltip content.\n * Side-specific slide animations are handled via data-[side=*] attributes.\n */\nexport const tooltipContentVariants = cva(\n [\n // Base positioning and z-index\n \"z-[var(--tooltip-content-z-index)] w-fit max-w-[var(--tooltip-content-max-width)]\",\n // Colors and background\n \"bg-[color:var(--tooltip-content-background)] text-[color:var(--tooltip-content-foreground)]\",\n // Typography\n \"text-[length:var(--tooltip-content-text-size)] text-balance\",\n // Spacing\n \"px-[var(--tooltip-content-padding-x)] py-[var(--tooltip-content-padding-y)]\",\n // Border radius\n \"rounded-[var(--tooltip-content-radius)]\",\n // Transform origin for animations\n \"origin-(--radix-tooltip-content-transform-origin)\",\n // Enter animations\n \"animate-in fade-in-0 zoom-in-95\",\n // Exit animations\n \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n // Side-specific slide animations\n \"data-[side=top]:slide-in-from-bottom-2\",\n \"data-[side=bottom]:slide-in-from-top-2\",\n \"data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-2\",\n ].join(\" \")\n)\n\n/**\n * Tooltip arrow styles\n *\n * Custom arrow styling with rotation and translation\n * to create a proper arrow appearance.\n */\nexport const tooltipArrowVariants = cva(\n [\n // Colors\n \"bg-[color:var(--tooltip-content-background)] fill-[color:var(--tooltip-content-background)]\",\n // Z-index\n \"z-[var(--tooltip-content-z-index)]\",\n // Size\n \"size-[var(--tooltip-arrow-size)]\",\n // Transform to position arrow correctly\n \"translate-y-[calc(-50%_-_2px)] rotate-45\",\n // Border radius for rounded corners\n \"rounded-[var(--tooltip-arrow-radius)]\",\n ].join(\" \")\n)\n","\"use client\"\n\nimport type {\n TooltipArrowProps,\n TooltipContentProps,\n TooltipProps,\n TooltipProviderProps,\n TooltipTriggerProps,\n} from \"./Tooltip.types\"\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n tooltipArrowVariants,\n tooltipContentVariants,\n} from \"./Tooltip.variants\"\n\n/**\n * TooltipProvider wraps your app to enable tooltips.\n * Provides shared configuration for delay and behavior.\n */\nfunction TooltipProvider({\n delayDuration = 0,\n children,\n ...props\n}: TooltipProviderProps) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n >\n {children}\n </TooltipPrimitive.Provider>\n )\n}\n\n/**\n * Tooltip displays contextual information on hover or focus.\n * Wraps content in its own TooltipProvider for convenience.\n */\nfunction Tooltip({ children, ...props }: TooltipProps) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props}>\n {children}\n </TooltipPrimitive.Root>\n </TooltipProvider>\n )\n}\n\n/**\n * TooltipTrigger is the element that triggers the tooltip.\n * Use asChild to wrap your own element instead of adding a wrapper.\n */\nfunction TooltipTrigger({ children, ...props }: TooltipTriggerProps) {\n return (\n <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props}>\n {children}\n </TooltipPrimitive.Trigger>\n )\n}\n\n/**\n * TooltipArrow renders the arrow pointing to the trigger.\n */\nfunction TooltipArrow({ className, ...props }: TooltipArrowProps) {\n return (\n <TooltipPrimitive.Arrow\n className={cn(tooltipArrowVariants(), className)}\n data-slot=\"tooltip-arrow\"\n {...props}\n />\n )\n}\n\n/**\n * TooltipContent contains the tooltip message.\n * Automatically positioned and animated based on available space.\n */\nfunction TooltipContent({\n className,\n sideOffset = 0,\n showArrow = true,\n children,\n ...props\n}: TooltipContentProps) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n className={cn(tooltipContentVariants(), className)}\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n {...props}\n >\n {children}\n {showArrow && <TooltipArrow />}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport {\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n}\n"]}
1
+ {"version":3,"sources":["../src/components/feedback/Tooltip/Tooltip.variants.ts","../src/components/feedback/Tooltip/Tooltip.tsx"],"names":[],"mappings":";;;;;AAQO,IAAM,sBAAA,GAAyB,GAAA;AAAA,EACpC;AAAA;AAAA,IAEE,mFAAA;AAAA;AAAA,IAEA,6FAAA;AAAA;AAAA,IAEA,6DAAA;AAAA;AAAA,IAEA,6EAAA;AAAA;AAAA,IAEA,yCAAA;AAAA;AAAA,IAEA,mDAAA;AAAA;AAAA,IAEA,iCAAA;AAAA;AAAA,IAEA,gGAAA;AAAA;AAAA,IAEA,wCAAA;AAAA,IACA,wCAAA;AAAA,IACA,wCAAA;AAAA,IACA;AAAA,GACF,CAAE,KAAK,GAAG;AACZ;AAQO,IAAM,oBAAA,GAAuB,GAAA;AAAA,EAClC;AAAA;AAAA,IAEE,6FAAA;AAAA;AAAA,IAEA,oCAAA;AAAA;AAAA,IAEA,kCAAA;AAAA;AAAA,IAEA,0CAAA;AAAA;AAAA,IAEA;AAAA,GACF,CAAE,KAAK,GAAG;AACZ;AC/BA,SAAS,eAAA,CAAgB;AAAA,EACvB,aAAA,GAAgB,CAAA;AAAA,EAChB,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAyB;AACvB,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,QAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,aAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;AAMA,SAAS,OAAA,CAAQ,EAAE,QAAA,EAAU,GAAG,OAAM,EAAiB;AACrD,EAAA,uBACE,GAAA,CAAC,eAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAkB,gBAAA,CAAA,IAAA,EAAjB,EAAsB,aAAU,SAAA,EAAW,GAAG,KAAA,EAC5C,QAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAMA,SAAS,cAAA,CAAe,EAAE,QAAA,EAAU,GAAG,OAAM,EAAwB;AACnE,EAAA,2BACoB,gBAAA,CAAA,OAAA,EAAjB,EAAyB,aAAU,iBAAA,EAAmB,GAAG,OACvD,QAAA,EACH,CAAA;AAEJ;AAKA,SAAS,YAAA,CAAa,EAAE,SAAA,EAAW,GAAG,OAAM,EAAsB;AAChE,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,KAAA;AAAA,IAAjB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,oBAAA,EAAqB,EAAG,SAAS,CAAA;AAAA,MAC/C,WAAA,EAAU,eAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAMA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,UAAA,GAAa,CAAA;AAAA,EACb,SAAA,GAAY,IAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,uBACE,GAAA,CAAkB,yBAAjB,EACC,QAAA,kBAAA,IAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,sBAAA,EAAuB,EAAG,SAAS,CAAA;AAAA,MACjD,WAAA,EAAU,iBAAA;AAAA,MACV,UAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,SAAA,wBAAc,YAAA,EAAA,EAAa;AAAA;AAAA;AAAA,GAC9B,EACF,CAAA;AAEJ","file":"chunk-TEVGCTUN.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * Tooltip content variant styles using CVA\n *\n * Handles base styling and animations for the tooltip content.\n * Side-specific slide animations are handled via data-[side=*] attributes.\n */\nexport const tooltipContentVariants = cva(\n [\n // Base positioning and z-index\n \"z-[var(--tooltip-content-z-index)] w-fit max-w-[var(--tooltip-content-max-width)]\",\n // Colors and background\n \"bg-[color:var(--tooltip-content-background)] text-[color:var(--tooltip-content-foreground)]\",\n // Typography\n \"text-[length:var(--tooltip-content-text-size)] text-balance\",\n // Spacing\n \"px-[var(--tooltip-content-padding-x)] py-[var(--tooltip-content-padding-y)]\",\n // Border radius\n \"rounded-[var(--tooltip-content-radius)]\",\n // Transform origin for animations\n \"origin-(--radix-tooltip-content-transform-origin)\",\n // Enter animations\n \"animate-in fade-in-0 zoom-in-95\",\n // Exit animations\n \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n // Side-specific slide animations\n \"data-[side=top]:slide-in-from-bottom-2\",\n \"data-[side=bottom]:slide-in-from-top-2\",\n \"data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-2\",\n ].join(\" \")\n)\n\n/**\n * Tooltip arrow styles\n *\n * Custom arrow styling with rotation and translation\n * to create a proper arrow appearance.\n */\nexport const tooltipArrowVariants = cva(\n [\n // Colors\n \"bg-[color:var(--tooltip-content-background)] fill-[color:var(--tooltip-content-background)]\",\n // Z-index\n \"z-[var(--tooltip-content-z-index)]\",\n // Size\n \"size-[var(--tooltip-arrow-size)]\",\n // Transform to position arrow correctly\n \"translate-y-[calc(-50%_-_2px)] rotate-45\",\n // Border radius for rounded corners\n \"rounded-[var(--tooltip-arrow-radius)]\",\n ].join(\" \")\n)\n","\"use client\"\n\nimport type {\n TooltipArrowProps,\n TooltipContentProps,\n TooltipProps,\n TooltipProviderProps,\n TooltipTriggerProps,\n} from \"./Tooltip.types\"\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n tooltipArrowVariants,\n tooltipContentVariants,\n} from \"./Tooltip.variants\"\n\n/**\n * TooltipProvider wraps your app to enable tooltips.\n * Provides shared configuration for delay and behavior.\n */\nfunction TooltipProvider({\n delayDuration = 0,\n children,\n ...props\n}: TooltipProviderProps) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n >\n {children}\n </TooltipPrimitive.Provider>\n )\n}\n\n/**\n * Tooltip displays contextual information on hover or focus.\n * Wraps content in its own TooltipProvider for convenience.\n */\nfunction Tooltip({ children, ...props }: TooltipProps) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props}>\n {children}\n </TooltipPrimitive.Root>\n </TooltipProvider>\n )\n}\n\n/**\n * TooltipTrigger is the element that triggers the tooltip.\n * Use asChild to wrap your own element instead of adding a wrapper.\n */\nfunction TooltipTrigger({ children, ...props }: TooltipTriggerProps) {\n return (\n <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props}>\n {children}\n </TooltipPrimitive.Trigger>\n )\n}\n\n/**\n * TooltipArrow renders the arrow pointing to the trigger.\n */\nfunction TooltipArrow({ className, ...props }: TooltipArrowProps) {\n return (\n <TooltipPrimitive.Arrow\n className={cn(tooltipArrowVariants(), className)}\n data-slot=\"tooltip-arrow\"\n {...props}\n />\n )\n}\n\n/**\n * TooltipContent contains the tooltip message.\n * Automatically positioned and animated based on available space.\n */\nfunction TooltipContent({\n className,\n sideOffset = 0,\n showArrow = true,\n children,\n ...props\n}: TooltipContentProps) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n className={cn(tooltipContentVariants(), className)}\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n {...props}\n >\n {children}\n {showArrow && <TooltipArrow />}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport {\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import * as DialogPrimitive from '@radix-ui/react-dialog';
3
3
  import { X } from 'lucide-react';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -109,5 +109,5 @@ function DialogDescription({ className, ...props }) {
109
109
  }
110
110
 
111
111
  export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
112
- //# sourceMappingURL=chunk-GAMOVEZD.js.map
113
- //# sourceMappingURL=chunk-GAMOVEZD.js.map
112
+ //# sourceMappingURL=chunk-TIPKU427.js.map
113
+ //# sourceMappingURL=chunk-TIPKU427.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/feedback/Dialog/Dialog.tsx"],"names":[],"mappings":"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","file":"chunk-GAMOVEZD.js","sourcesContent":["\"use client\"\n\nimport type {\n DialogCloseProps,\n DialogContentProps,\n DialogDescriptionProps,\n DialogFooterProps,\n DialogHeaderProps,\n DialogOverlayProps,\n DialogPortalProps,\n DialogProps,\n DialogTitleProps,\n DialogTriggerProps,\n} from \"./Dialog.types\"\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"../../../lib/utils\"\n\nfunction Dialog({ ...props }: DialogProps) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({ ...props }: DialogTriggerProps) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({ ...props }: DialogPortalProps) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({ ...props }: DialogCloseProps) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({ className, ...props }: DialogOverlayProps) {\n return (\n <DialogPrimitive.Overlay\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-[color:var(--dialog-overlay-bg)]\",\n className\n )}\n data-slot=\"dialog-overlay\"\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: DialogContentProps) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n className={cn(\n \"bg-[color:var(--dialog-content-bg)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full translate-x-[-50%] translate-y-[-50%] duration-200\",\n \"gap-[var(--dialog-content-gap)] p-[var(--dialog-content-padding)] max-w-[var(--dialog-content-max-width)] rounded-[var(--dialog-content-radius)] border-[color:var(--dialog-content-border)] shadow-[var(--dialog-content-shadow)]\",\n className\n )}\n data-slot=\"dialog-content\"\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n data-slot=\"dialog-close\"\n >\n <X />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: DialogHeaderProps) {\n return (\n <div\n className={cn(\"flex flex-col gap-[var(--dialog-header-gap)] text-center sm:text-left\", className)}\n data-slot=\"dialog-header\"\n {...props}\n />\n )\n}\n\nfunction DialogFooter({ className, ...props }: DialogFooterProps) {\n return (\n <div\n className={cn(\n \"flex flex-col-reverse gap-[var(--dialog-footer-gap)] sm:flex-row sm:justify-end\",\n className\n )}\n data-slot=\"dialog-footer\"\n {...props}\n />\n )\n}\n\nfunction DialogTitle({ className, ...props }: DialogTitleProps) {\n return (\n <DialogPrimitive.Title\n className={cn(\"text-lg leading-tight font-semibold\", className)}\n data-slot=\"dialog-title\"\n {...props}\n />\n )\n}\n\nfunction DialogDescription({ className, ...props }: DialogDescriptionProps) {\n return (\n <DialogPrimitive.Description\n className={cn(\"text-muted-foreground text-sm\", className)}\n data-slot=\"dialog-description\"\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n"]}
1
+ {"version":3,"sources":["../src/components/feedback/Dialog/Dialog.tsx"],"names":[],"mappings":"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","file":"chunk-TIPKU427.js","sourcesContent":["\"use client\"\n\nimport type {\n DialogCloseProps,\n DialogContentProps,\n DialogDescriptionProps,\n DialogFooterProps,\n DialogHeaderProps,\n DialogOverlayProps,\n DialogPortalProps,\n DialogProps,\n DialogTitleProps,\n DialogTriggerProps,\n} from \"./Dialog.types\"\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"../../../lib/utils\"\n\nfunction Dialog({ ...props }: DialogProps) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({ ...props }: DialogTriggerProps) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({ ...props }: DialogPortalProps) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({ ...props }: DialogCloseProps) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({ className, ...props }: DialogOverlayProps) {\n return (\n <DialogPrimitive.Overlay\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-[color:var(--dialog-overlay-bg)]\",\n className\n )}\n data-slot=\"dialog-overlay\"\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: DialogContentProps) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n className={cn(\n \"bg-[color:var(--dialog-content-bg)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full translate-x-[-50%] translate-y-[-50%] duration-200\",\n \"gap-[var(--dialog-content-gap)] p-[var(--dialog-content-padding)] max-w-[var(--dialog-content-max-width)] rounded-[var(--dialog-content-radius)] border-[color:var(--dialog-content-border)] shadow-[var(--dialog-content-shadow)]\",\n className\n )}\n data-slot=\"dialog-content\"\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n data-slot=\"dialog-close\"\n >\n <X />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: DialogHeaderProps) {\n return (\n <div\n className={cn(\"flex flex-col gap-[var(--dialog-header-gap)] text-center sm:text-left\", className)}\n data-slot=\"dialog-header\"\n {...props}\n />\n )\n}\n\nfunction DialogFooter({ className, ...props }: DialogFooterProps) {\n return (\n <div\n className={cn(\n \"flex flex-col-reverse gap-[var(--dialog-footer-gap)] sm:flex-row sm:justify-end\",\n className\n )}\n data-slot=\"dialog-footer\"\n {...props}\n />\n )\n}\n\nfunction DialogTitle({ className, ...props }: DialogTitleProps) {\n return (\n <DialogPrimitive.Title\n className={cn(\"text-lg leading-tight font-semibold\", className)}\n data-slot=\"dialog-title\"\n {...props}\n />\n )\n}\n\nfunction DialogDescription({ className, ...props }: DialogDescriptionProps) {\n return (\n <DialogPrimitive.Description\n className={cn(\"text-muted-foreground text-sm\", className)}\n data-slot=\"dialog-description\"\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import { UploadCloudIcon } from 'lucide-react';
3
3
  import * as React from 'react';
4
4
  import { useDropzone } from 'react-dropzone';
@@ -171,5 +171,5 @@ function formatBytes(bytes) {
171
171
  FileDropzone.displayName = "FileDropzone";
172
172
 
173
173
  export { FileDropzone, fileDropzoneVariants };
174
- //# sourceMappingURL=chunk-2Q4I4VDB.js.map
175
- //# sourceMappingURL=chunk-2Q4I4VDB.js.map
174
+ //# sourceMappingURL=chunk-TK5WS675.js.map
175
+ //# sourceMappingURL=chunk-TK5WS675.js.map