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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/dist/{chunk-U2CXFKRK.js → chunk-2SUZS6GZ.js} +4 -4
  2. package/dist/{chunk-U2CXFKRK.js.map → chunk-2SUZS6GZ.js.map} +1 -1
  3. package/dist/{chunk-UPYT2XM5.js → chunk-2XNMKALT.js} +3 -3
  4. package/dist/{chunk-UPYT2XM5.js.map → chunk-2XNMKALT.js.map} +1 -1
  5. package/dist/{chunk-SM4AZOEP.js → chunk-3MOBFZJM.js} +4 -4
  6. package/dist/{chunk-SM4AZOEP.js.map → chunk-3MOBFZJM.js.map} +1 -1
  7. package/dist/{chunk-TA4HCLP3.js → chunk-3R6MY3YJ.js} +4 -4
  8. package/dist/{chunk-TA4HCLP3.js.map → chunk-3R6MY3YJ.js.map} +1 -1
  9. package/dist/{chunk-EVUHEBWX.js → chunk-447INBQP.js} +3 -3
  10. package/dist/{chunk-EVUHEBWX.js.map → chunk-447INBQP.js.map} +1 -1
  11. package/dist/{chunk-F7XARQUW.js → chunk-4LZ53BAG.js} +3 -3
  12. package/dist/{chunk-F7XARQUW.js.map → chunk-4LZ53BAG.js.map} +1 -1
  13. package/dist/{chunk-CYIFWQ5Y.js → chunk-4OWRNWHW.js} +3 -3
  14. package/dist/{chunk-CYIFWQ5Y.js.map → chunk-4OWRNWHW.js.map} +1 -1
  15. package/dist/{chunk-OQCGQG47.js → chunk-4RNPI3LU.js} +3 -3
  16. package/dist/{chunk-OQCGQG47.js.map → chunk-4RNPI3LU.js.map} +1 -1
  17. package/dist/{chunk-3NHH7VPI.js → chunk-4SFBDK4E.js} +4 -4
  18. package/dist/{chunk-3NHH7VPI.js.map → chunk-4SFBDK4E.js.map} +1 -1
  19. package/dist/{chunk-B7ZLPQSO.js → chunk-4XXAIWQ4.js} +3 -3
  20. package/dist/{chunk-B7ZLPQSO.js.map → chunk-4XXAIWQ4.js.map} +1 -1
  21. package/dist/{chunk-D2V2HKLX.js → chunk-5ETVWWA5.js} +3 -3
  22. package/dist/{chunk-D2V2HKLX.js.map → chunk-5ETVWWA5.js.map} +1 -1
  23. package/dist/{chunk-U4H3XHSI.js → chunk-5GV4LDX7.js} +4 -4
  24. package/dist/{chunk-U4H3XHSI.js.map → chunk-5GV4LDX7.js.map} +1 -1
  25. package/dist/{chunk-BFBGESUI.js → chunk-5MJQ5XSR.js} +4 -4
  26. package/dist/{chunk-BFBGESUI.js.map → chunk-5MJQ5XSR.js.map} +1 -1
  27. package/dist/{chunk-GKMR5SVC.js → chunk-5QDKJMUA.js} +3 -3
  28. package/dist/{chunk-GKMR5SVC.js.map → chunk-5QDKJMUA.js.map} +1 -1
  29. package/dist/{chunk-3NFQXZHO.js → chunk-5T7EKOJ5.js} +3 -3
  30. package/dist/{chunk-3NFQXZHO.js.map → chunk-5T7EKOJ5.js.map} +1 -1
  31. package/dist/{chunk-WBE6VQOO.js → chunk-5W3T767A.js} +3 -3
  32. package/dist/{chunk-WBE6VQOO.js.map → chunk-5W3T767A.js.map} +1 -1
  33. package/dist/{chunk-F5X2BBGU.js → chunk-5YUUE5JJ.js} +3 -3
  34. package/dist/{chunk-F5X2BBGU.js.map → chunk-5YUUE5JJ.js.map} +1 -1
  35. package/dist/{chunk-IQKKPOI7.js → chunk-627ZZ6HO.js} +4 -4
  36. package/dist/{chunk-IQKKPOI7.js.map → chunk-627ZZ6HO.js.map} +1 -1
  37. package/dist/{chunk-WCMRVCIM.js → chunk-6G5QK3SU.js} +3 -3
  38. package/dist/{chunk-WCMRVCIM.js.map → chunk-6G5QK3SU.js.map} +1 -1
  39. package/dist/{chunk-SMVH56FQ.js → chunk-6QVXMYKH.js} +3 -3
  40. package/dist/{chunk-SMVH56FQ.js.map → chunk-6QVXMYKH.js.map} +1 -1
  41. package/dist/{chunk-NWVYQYKK.js → chunk-6VEQLD2P.js} +3 -3
  42. package/dist/{chunk-NWVYQYKK.js.map → chunk-6VEQLD2P.js.map} +1 -1
  43. package/dist/{chunk-S6ORCWM2.js → chunk-73DDLKBG.js} +3 -3
  44. package/dist/{chunk-S6ORCWM2.js.map → chunk-73DDLKBG.js.map} +1 -1
  45. package/dist/{chunk-E27SQ54A.js → chunk-7AR5QRRX.js} +3 -3
  46. package/dist/{chunk-E27SQ54A.js.map → chunk-7AR5QRRX.js.map} +1 -1
  47. package/dist/{chunk-3MJNJKAF.js → chunk-7IKX4AFY.js} +4 -4
  48. package/dist/{chunk-3MJNJKAF.js.map → chunk-7IKX4AFY.js.map} +1 -1
  49. package/dist/{chunk-A7YNTSVU.js → chunk-7PX3WBR3.js} +3 -3
  50. package/dist/{chunk-A7YNTSVU.js.map → chunk-7PX3WBR3.js.map} +1 -1
  51. package/dist/{chunk-LR56MGWT.js → chunk-7QEFKWUR.js} +7 -7
  52. package/dist/{chunk-LR56MGWT.js.map → chunk-7QEFKWUR.js.map} +1 -1
  53. package/dist/{chunk-JRVUEOKT.js → chunk-7TX5X4EP.js} +3 -3
  54. package/dist/{chunk-JRVUEOKT.js.map → chunk-7TX5X4EP.js.map} +1 -1
  55. package/dist/{chunk-BQMQULAC.js → chunk-7XJQYAGY.js} +4 -4
  56. package/dist/{chunk-BQMQULAC.js.map → chunk-7XJQYAGY.js.map} +1 -1
  57. package/dist/{chunk-KA7747GR.js → chunk-7Y325TBV.js} +3 -3
  58. package/dist/{chunk-KA7747GR.js.map → chunk-7Y325TBV.js.map} +1 -1
  59. package/dist/{chunk-6KMRMXR6.js → chunk-7YZ7HNXX.js} +3 -3
  60. package/dist/{chunk-6KMRMXR6.js.map → chunk-7YZ7HNXX.js.map} +1 -1
  61. package/dist/{chunk-YACIRNVP.js → chunk-AD4RW2JV.js} +3 -3
  62. package/dist/{chunk-YACIRNVP.js.map → chunk-AD4RW2JV.js.map} +1 -1
  63. package/dist/{chunk-YMYXWHDU.js → chunk-ADX6C3V7.js} +3 -3
  64. package/dist/{chunk-YMYXWHDU.js.map → chunk-ADX6C3V7.js.map} +1 -1
  65. package/dist/{chunk-WVFQKBDB.js → chunk-AJUOTABG.js} +3 -3
  66. package/dist/{chunk-WVFQKBDB.js.map → chunk-AJUOTABG.js.map} +1 -1
  67. package/dist/{chunk-G5TWK7L3.js → chunk-AP4ZM3DV.js} +3 -3
  68. package/dist/{chunk-G5TWK7L3.js.map → chunk-AP4ZM3DV.js.map} +1 -1
  69. package/dist/{chunk-2X35C55E.js → chunk-ARJAIH7Q.js} +3 -3
  70. package/dist/{chunk-2X35C55E.js.map → chunk-ARJAIH7Q.js.map} +1 -1
  71. package/dist/{chunk-YCZ6M6EF.js → chunk-BBKDABQK.js} +3 -3
  72. package/dist/{chunk-YCZ6M6EF.js.map → chunk-BBKDABQK.js.map} +1 -1
  73. package/dist/{chunk-GPW57XOW.js → chunk-BSTUCHL4.js} +4 -4
  74. package/dist/{chunk-GPW57XOW.js.map → chunk-BSTUCHL4.js.map} +1 -1
  75. package/dist/{chunk-ARYBNQNS.js → chunk-BUCXPZYE.js} +4 -4
  76. package/dist/{chunk-ARYBNQNS.js.map → chunk-BUCXPZYE.js.map} +1 -1
  77. package/dist/{chunk-ESLSPRYA.js → chunk-C2MAX4YK.js} +3 -3
  78. package/dist/{chunk-ESLSPRYA.js.map → chunk-C2MAX4YK.js.map} +1 -1
  79. package/dist/{chunk-2FJJOHHH.js → chunk-C34UNXMN.js} +3 -3
  80. package/dist/{chunk-2FJJOHHH.js.map → chunk-C34UNXMN.js.map} +1 -1
  81. package/dist/{chunk-AEHYYTFW.js → chunk-CV77MF4G.js} +3 -3
  82. package/dist/{chunk-AEHYYTFW.js.map → chunk-CV77MF4G.js.map} +1 -1
  83. package/dist/{chunk-MQ2446N7.js → chunk-DGOW65KM.js} +3 -3
  84. package/dist/{chunk-MQ2446N7.js.map → chunk-DGOW65KM.js.map} +1 -1
  85. package/dist/{chunk-NULX3RRN.js → chunk-DJHDCDU6.js} +4 -4
  86. package/dist/{chunk-NULX3RRN.js.map → chunk-DJHDCDU6.js.map} +1 -1
  87. package/dist/{chunk-USPITOG4.js → chunk-DQGBTZRX.js} +4 -4
  88. package/dist/{chunk-USPITOG4.js.map → chunk-DQGBTZRX.js.map} +1 -1
  89. package/dist/{chunk-2IFYXJ3H.js → chunk-DRIEZH7R.js} +3 -3
  90. package/dist/{chunk-2IFYXJ3H.js.map → chunk-DRIEZH7R.js.map} +1 -1
  91. package/dist/{chunk-VWW3DJKI.js → chunk-E6SAO2CY.js} +3 -3
  92. package/dist/{chunk-VWW3DJKI.js.map → chunk-E6SAO2CY.js.map} +1 -1
  93. package/dist/{chunk-5ACHKT35.js → chunk-EDSIOUUR.js} +4 -4
  94. package/dist/{chunk-5ACHKT35.js.map → chunk-EDSIOUUR.js.map} +1 -1
  95. package/dist/{chunk-G2CMEHW6.js → chunk-ELRIFGMN.js} +4 -4
  96. package/dist/{chunk-G2CMEHW6.js.map → chunk-ELRIFGMN.js.map} +1 -1
  97. package/dist/{chunk-IMUBWKZC.js → chunk-EO4NGM5W.js} +4 -4
  98. package/dist/{chunk-IMUBWKZC.js.map → chunk-EO4NGM5W.js.map} +1 -1
  99. package/dist/{chunk-AFCSDND5.js → chunk-EQ4YAADN.js} +3 -3
  100. package/dist/{chunk-AFCSDND5.js.map → chunk-EQ4YAADN.js.map} +1 -1
  101. package/dist/{chunk-AP3T3KMY.js → chunk-EZYXD2YI.js} +4 -4
  102. package/dist/{chunk-AP3T3KMY.js.map → chunk-EZYXD2YI.js.map} +1 -1
  103. package/dist/{chunk-HJ4E6YPW.js → chunk-F3ETIDS7.js} +4 -4
  104. package/dist/{chunk-HJ4E6YPW.js.map → chunk-F3ETIDS7.js.map} +1 -1
  105. package/dist/{chunk-LNY2EXOV.js → chunk-F3WDMYZ4.js} +3 -3
  106. package/dist/{chunk-LNY2EXOV.js.map → chunk-F3WDMYZ4.js.map} +1 -1
  107. package/dist/{chunk-FPCRGFNY.js → chunk-FRKB4Z2P.js} +3 -3
  108. package/dist/{chunk-FPCRGFNY.js.map → chunk-FRKB4Z2P.js.map} +1 -1
  109. package/dist/{chunk-YGLD22TU.js → chunk-FVRSXJKS.js} +3 -3
  110. package/dist/{chunk-YGLD22TU.js.map → chunk-FVRSXJKS.js.map} +1 -1
  111. package/dist/{chunk-AR7K7Y4L.js → chunk-FXFVFSG5.js} +5 -5
  112. package/dist/{chunk-AR7K7Y4L.js.map → chunk-FXFVFSG5.js.map} +1 -1
  113. package/dist/{chunk-WQI2USN7.js → chunk-GDZECJFS.js} +3 -3
  114. package/dist/{chunk-WQI2USN7.js.map → chunk-GDZECJFS.js.map} +1 -1
  115. package/dist/{chunk-7CMOCWFX.js → chunk-GLHKHYJY.js} +8 -8
  116. package/dist/{chunk-7CMOCWFX.js.map → chunk-GLHKHYJY.js.map} +1 -1
  117. package/dist/{chunk-IA24GUNV.js → chunk-GRODCJS4.js} +8 -8
  118. package/dist/{chunk-IA24GUNV.js.map → chunk-GRODCJS4.js.map} +1 -1
  119. package/dist/{chunk-JDG5A44W.js → chunk-GVNG5ME6.js} +22 -11
  120. package/dist/chunk-GVNG5ME6.js.map +1 -0
  121. package/dist/{chunk-5J5OL4IV.js → chunk-GWSM2XNV.js} +3 -3
  122. package/dist/{chunk-5J5OL4IV.js.map → chunk-GWSM2XNV.js.map} +1 -1
  123. package/dist/{chunk-2NY6DDLO.js → chunk-H32A6UPL.js} +3 -3
  124. package/dist/{chunk-2NY6DDLO.js.map → chunk-H32A6UPL.js.map} +1 -1
  125. package/dist/{chunk-HV2ZZXFN.js → chunk-HHWUROMA.js} +6 -6
  126. package/dist/{chunk-HV2ZZXFN.js.map → chunk-HHWUROMA.js.map} +1 -1
  127. package/dist/{chunk-CNRV2IGH.js → chunk-HM6TEHA6.js} +3 -3
  128. package/dist/{chunk-CNRV2IGH.js.map → chunk-HM6TEHA6.js.map} +1 -1
  129. package/dist/{chunk-6ABGMOE2.js → chunk-HNQX6ZG7.js} +4 -4
  130. package/dist/{chunk-6ABGMOE2.js.map → chunk-HNQX6ZG7.js.map} +1 -1
  131. package/dist/{chunk-HAEZLC7V.js → chunk-I5RDX6O3.js} +3 -3
  132. package/dist/{chunk-HAEZLC7V.js.map → chunk-I5RDX6O3.js.map} +1 -1
  133. package/dist/{chunk-B2OCNHUW.js → chunk-IKLFWGFS.js} +70 -52
  134. package/dist/chunk-IKLFWGFS.js.map +1 -0
  135. package/dist/{chunk-DL7D5F7B.js → chunk-IPCT4YZT.js} +3 -3
  136. package/dist/{chunk-DL7D5F7B.js.map → chunk-IPCT4YZT.js.map} +1 -1
  137. package/dist/{chunk-BIUVOZQG.js → chunk-IPDAFW4F.js} +3 -3
  138. package/dist/{chunk-BIUVOZQG.js.map → chunk-IPDAFW4F.js.map} +1 -1
  139. package/dist/{chunk-G2MAGZHQ.js → chunk-IXZBH33I.js} +3 -3
  140. package/dist/{chunk-G2MAGZHQ.js.map → chunk-IXZBH33I.js.map} +1 -1
  141. package/dist/{chunk-ZHUW6UYD.js → chunk-JDETM3FL.js} +3 -3
  142. package/dist/{chunk-ZHUW6UYD.js.map → chunk-JDETM3FL.js.map} +1 -1
  143. package/dist/{chunk-HZ47LQFJ.js → chunk-JE46MFMN.js} +6 -6
  144. package/dist/{chunk-HZ47LQFJ.js.map → chunk-JE46MFMN.js.map} +1 -1
  145. package/dist/{chunk-3JCV72FO.js → chunk-JFV7CNBP.js} +4 -4
  146. package/dist/{chunk-3JCV72FO.js.map → chunk-JFV7CNBP.js.map} +1 -1
  147. package/dist/{chunk-7RTHGI6E.js → chunk-JPRHMMY6.js} +3 -3
  148. package/dist/{chunk-7RTHGI6E.js.map → chunk-JPRHMMY6.js.map} +1 -1
  149. package/dist/{chunk-G2V7D7VC.js → chunk-JUSPLVWO.js} +5 -5
  150. package/dist/{chunk-G2V7D7VC.js.map → chunk-JUSPLVWO.js.map} +1 -1
  151. package/dist/{chunk-FRDYXDAE.js → chunk-JUZ4JQWH.js} +3 -3
  152. package/dist/{chunk-FRDYXDAE.js.map → chunk-JUZ4JQWH.js.map} +1 -1
  153. package/dist/{chunk-6SHOL6WR.js → chunk-JVTB3NTP.js} +3 -3
  154. package/dist/{chunk-6SHOL6WR.js.map → chunk-JVTB3NTP.js.map} +1 -1
  155. package/dist/{chunk-XETKCF73.js → chunk-JXEIRIU4.js} +3 -3
  156. package/dist/{chunk-XETKCF73.js.map → chunk-JXEIRIU4.js.map} +1 -1
  157. package/dist/{chunk-XKO6G5H2.js → chunk-JYYB6F5O.js} +3 -3
  158. package/dist/{chunk-XKO6G5H2.js.map → chunk-JYYB6F5O.js.map} +1 -1
  159. package/dist/{chunk-V7WEN4SD.js → chunk-JZA45LEV.js} +3 -3
  160. package/dist/{chunk-V7WEN4SD.js.map → chunk-JZA45LEV.js.map} +1 -1
  161. package/dist/{chunk-FCSYPOHF.js → chunk-K44K3EHW.js} +3 -3
  162. package/dist/{chunk-FCSYPOHF.js.map → chunk-K44K3EHW.js.map} +1 -1
  163. package/dist/{chunk-ZMUUEXVD.js → chunk-K4UCALQQ.js} +3 -3
  164. package/dist/{chunk-ZMUUEXVD.js.map → chunk-K4UCALQQ.js.map} +1 -1
  165. package/dist/{chunk-KYURFRCH.js → chunk-KBU4KJKC.js} +7 -7
  166. package/dist/{chunk-KYURFRCH.js.map → chunk-KBU4KJKC.js.map} +1 -1
  167. package/dist/{chunk-JRWQHBJC.js → chunk-KDNTSZF5.js} +4 -4
  168. package/dist/{chunk-JRWQHBJC.js.map → chunk-KDNTSZF5.js.map} +1 -1
  169. package/dist/{chunk-WZ2J4ALB.js → chunk-KHCHATTD.js} +5 -5
  170. package/dist/{chunk-WZ2J4ALB.js.map → chunk-KHCHATTD.js.map} +1 -1
  171. package/dist/{chunk-57KTYE5H.js → chunk-KHJIUHHM.js} +3 -3
  172. package/dist/{chunk-57KTYE5H.js.map → chunk-KHJIUHHM.js.map} +1 -1
  173. package/dist/{chunk-H7JHFBFD.js → chunk-KLFYTLF3.js} +4 -4
  174. package/dist/{chunk-H7JHFBFD.js.map → chunk-KLFYTLF3.js.map} +1 -1
  175. package/dist/{chunk-W3QUVCRK.js → chunk-KXJ3SEW7.js} +3 -3
  176. package/dist/{chunk-W3QUVCRK.js.map → chunk-KXJ3SEW7.js.map} +1 -1
  177. package/dist/{chunk-X5XP5QVO.js → chunk-L4OQ6BJ5.js} +6 -6
  178. package/dist/{chunk-X5XP5QVO.js.map → chunk-L4OQ6BJ5.js.map} +1 -1
  179. package/dist/{chunk-MAM6VUKD.js → chunk-LCBB3N5H.js} +3 -3
  180. package/dist/{chunk-MAM6VUKD.js.map → chunk-LCBB3N5H.js.map} +1 -1
  181. package/dist/{chunk-FLERVSKG.js → chunk-LDK6ADKM.js} +6 -6
  182. package/dist/{chunk-FLERVSKG.js.map → chunk-LDK6ADKM.js.map} +1 -1
  183. package/dist/{chunk-K4MYVFWQ.js → chunk-LP6JYJQN.js} +4 -4
  184. package/dist/{chunk-K4MYVFWQ.js.map → chunk-LP6JYJQN.js.map} +1 -1
  185. package/dist/{chunk-7VGF6ZVE.js → chunk-LRE3LJMW.js} +5 -5
  186. package/dist/{chunk-7VGF6ZVE.js.map → chunk-LRE3LJMW.js.map} +1 -1
  187. package/dist/{chunk-LQVQ7SHG.js → chunk-LSRKDZW4.js} +4 -4
  188. package/dist/{chunk-LQVQ7SHG.js.map → chunk-LSRKDZW4.js.map} +1 -1
  189. package/dist/{chunk-WBERMEN7.js → chunk-MGIGDALC.js} +3 -3
  190. package/dist/{chunk-WBERMEN7.js.map → chunk-MGIGDALC.js.map} +1 -1
  191. package/dist/{chunk-IRFAIJLV.js → chunk-MNYU5MHO.js} +7 -7
  192. package/dist/{chunk-IRFAIJLV.js.map → chunk-MNYU5MHO.js.map} +1 -1
  193. package/dist/{chunk-6GWO7JNP.js → chunk-MXBDOYQL.js} +4 -4
  194. package/dist/{chunk-6GWO7JNP.js.map → chunk-MXBDOYQL.js.map} +1 -1
  195. package/dist/{chunk-37KLBMFQ.js → chunk-N2DAVD4Y.js} +3 -3
  196. package/dist/{chunk-37KLBMFQ.js.map → chunk-N2DAVD4Y.js.map} +1 -1
  197. package/dist/{chunk-EC5YEK3C.js → chunk-N5YGAESZ.js} +5 -5
  198. package/dist/{chunk-EC5YEK3C.js.map → chunk-N5YGAESZ.js.map} +1 -1
  199. package/dist/{chunk-DSCLJ3GK.js → chunk-N7VMQWM3.js} +15 -10
  200. package/dist/chunk-N7VMQWM3.js.map +1 -0
  201. package/dist/{chunk-5KTMPLDK.js → chunk-NAI3TX52.js} +3 -3
  202. package/dist/{chunk-5KTMPLDK.js.map → chunk-NAI3TX52.js.map} +1 -1
  203. package/dist/{chunk-QHKOBGLW.js → chunk-NGX3ITG4.js} +3 -3
  204. package/dist/{chunk-QHKOBGLW.js.map → chunk-NGX3ITG4.js.map} +1 -1
  205. package/dist/{chunk-5SUD32RK.js → chunk-NHUUSXBL.js} +3 -3
  206. package/dist/{chunk-5SUD32RK.js.map → chunk-NHUUSXBL.js.map} +1 -1
  207. package/dist/{chunk-IOWHM7ZY.js → chunk-NIRTZLZL.js} +4 -4
  208. package/dist/{chunk-IOWHM7ZY.js.map → chunk-NIRTZLZL.js.map} +1 -1
  209. package/dist/{chunk-5E44I7PB.js → chunk-NLPVF34P.js} +4 -4
  210. package/dist/{chunk-5E44I7PB.js.map → chunk-NLPVF34P.js.map} +1 -1
  211. package/dist/{chunk-ZPAWUKJI.js → chunk-NNWMBVCB.js} +4 -4
  212. package/dist/{chunk-ZPAWUKJI.js.map → chunk-NNWMBVCB.js.map} +1 -1
  213. package/dist/{chunk-H4ANCFZG.js → chunk-NUA54ABI.js} +4 -4
  214. package/dist/{chunk-H4ANCFZG.js.map → chunk-NUA54ABI.js.map} +1 -1
  215. package/dist/{chunk-ZPCELVWJ.js → chunk-NY2WZ4P2.js} +4 -4
  216. package/dist/{chunk-ZPCELVWJ.js.map → chunk-NY2WZ4P2.js.map} +1 -1
  217. package/dist/{chunk-BECPEVUL.js → chunk-O6LFU3KB.js} +3 -3
  218. package/dist/{chunk-BECPEVUL.js.map → chunk-O6LFU3KB.js.map} +1 -1
  219. package/dist/{chunk-HXHB2CK5.js → chunk-OAES72MK.js} +3 -3
  220. package/dist/{chunk-HXHB2CK5.js.map → chunk-OAES72MK.js.map} +1 -1
  221. package/dist/{chunk-NGR4HFVA.js → chunk-OCH7GGZF.js} +3 -3
  222. package/dist/{chunk-NGR4HFVA.js.map → chunk-OCH7GGZF.js.map} +1 -1
  223. package/dist/{chunk-HA5YVDHW.js → chunk-ONN5XVYC.js} +3 -3
  224. package/dist/{chunk-HA5YVDHW.js.map → chunk-ONN5XVYC.js.map} +1 -1
  225. package/dist/{chunk-OG3M4CMJ.js → chunk-OWZ3MZ5C.js} +3 -3
  226. package/dist/{chunk-OG3M4CMJ.js.map → chunk-OWZ3MZ5C.js.map} +1 -1
  227. package/dist/{chunk-MK6ID2HI.js → chunk-OXO6SKJO.js} +3 -3
  228. package/dist/{chunk-MK6ID2HI.js.map → chunk-OXO6SKJO.js.map} +1 -1
  229. package/dist/{chunk-5K2SOCOX.js → chunk-P4WMDGAQ.js} +4 -4
  230. package/dist/{chunk-5K2SOCOX.js.map → chunk-P4WMDGAQ.js.map} +1 -1
  231. package/dist/{chunk-K43MPWTO.js → chunk-PBZI5XNV.js} +3 -3
  232. package/dist/{chunk-K43MPWTO.js.map → chunk-PBZI5XNV.js.map} +1 -1
  233. package/dist/{chunk-HI3T55XK.js → chunk-PEX7FCZC.js} +3 -3
  234. package/dist/{chunk-HI3T55XK.js.map → chunk-PEX7FCZC.js.map} +1 -1
  235. package/dist/{chunk-WMG2MMJF.js → chunk-PI4WGIPG.js} +3 -3
  236. package/dist/{chunk-WMG2MMJF.js.map → chunk-PI4WGIPG.js.map} +1 -1
  237. package/dist/{chunk-V7O4X3AE.js → chunk-PTXC4KPQ.js} +4 -4
  238. package/dist/{chunk-V7O4X3AE.js.map → chunk-PTXC4KPQ.js.map} +1 -1
  239. package/dist/{chunk-34WNJNPL.js → chunk-PVIIIQJI.js} +6 -6
  240. package/dist/{chunk-34WNJNPL.js.map → chunk-PVIIIQJI.js.map} +1 -1
  241. package/dist/{chunk-A4O3USMA.js → chunk-PXR6CZIL.js} +4 -4
  242. package/dist/{chunk-A4O3USMA.js.map → chunk-PXR6CZIL.js.map} +1 -1
  243. package/dist/{chunk-KDJCZXLB.js → chunk-PZSKZFVO.js} +3 -3
  244. package/dist/{chunk-KDJCZXLB.js.map → chunk-PZSKZFVO.js.map} +1 -1
  245. package/dist/{chunk-DNAGXK2C.js → chunk-Q3JCNSPU.js} +4 -4
  246. package/dist/{chunk-DNAGXK2C.js.map → chunk-Q3JCNSPU.js.map} +1 -1
  247. package/dist/{chunk-JUTPDS4E.js → chunk-QD2ZS5DU.js} +4 -4
  248. package/dist/{chunk-JUTPDS4E.js.map → chunk-QD2ZS5DU.js.map} +1 -1
  249. package/dist/{chunk-DI3AISAZ.js → chunk-QJOWG2D4.js} +5 -5
  250. package/dist/{chunk-DI3AISAZ.js.map → chunk-QJOWG2D4.js.map} +1 -1
  251. package/dist/{chunk-6F5NWXZF.js → chunk-QLYH3GCV.js} +4 -4
  252. package/dist/{chunk-6F5NWXZF.js.map → chunk-QLYH3GCV.js.map} +1 -1
  253. package/dist/{chunk-F4EX3622.js → chunk-QO6TOE45.js} +3 -3
  254. package/dist/{chunk-F4EX3622.js.map → chunk-QO6TOE45.js.map} +1 -1
  255. package/dist/{chunk-46SUPGQV.js → chunk-QWWA4FZP.js} +3 -3
  256. package/dist/{chunk-46SUPGQV.js.map → chunk-QWWA4FZP.js.map} +1 -1
  257. package/dist/{chunk-VTDSGJ4R.js → chunk-QXET2TML.js} +4 -4
  258. package/dist/{chunk-VTDSGJ4R.js.map → chunk-QXET2TML.js.map} +1 -1
  259. package/dist/{chunk-2VHARFMD.js → chunk-QZ7SGO7L.js} +3 -3
  260. package/dist/{chunk-2VHARFMD.js.map → chunk-QZ7SGO7L.js.map} +1 -1
  261. package/dist/{chunk-XORDGKZI.js → chunk-R42LSLJL.js} +6 -6
  262. package/dist/{chunk-XORDGKZI.js.map → chunk-R42LSLJL.js.map} +1 -1
  263. package/dist/{chunk-EVZ2GZU4.js → chunk-RMJVCJ6U.js} +3 -3
  264. package/dist/{chunk-EVZ2GZU4.js.map → chunk-RMJVCJ6U.js.map} +1 -1
  265. package/dist/{chunk-UYPYAOET.js → chunk-ROPW65RD.js} +3 -3
  266. package/dist/{chunk-UYPYAOET.js.map → chunk-ROPW65RD.js.map} +1 -1
  267. package/dist/{chunk-M6VBDPNQ.js → chunk-RQBYBBMP.js} +3 -3
  268. package/dist/{chunk-M6VBDPNQ.js.map → chunk-RQBYBBMP.js.map} +1 -1
  269. package/dist/chunk-RVAYDRMA.js +31 -0
  270. package/dist/chunk-RVAYDRMA.js.map +1 -0
  271. package/dist/{chunk-ARNVOHVW.js → chunk-S4P7JIQ2.js} +3 -3
  272. package/dist/{chunk-ARNVOHVW.js.map → chunk-S4P7JIQ2.js.map} +1 -1
  273. package/dist/{chunk-AKRVZ2YW.js → chunk-S6BREP2G.js} +4 -4
  274. package/dist/{chunk-AKRVZ2YW.js.map → chunk-S6BREP2G.js.map} +1 -1
  275. package/dist/{chunk-Y5GO2F6P.js → chunk-SA3IQI3Y.js} +3 -3
  276. package/dist/{chunk-Y5GO2F6P.js.map → chunk-SA3IQI3Y.js.map} +1 -1
  277. package/dist/{chunk-56TC4CPT.js → chunk-SKI25Q7O.js} +6 -6
  278. package/dist/{chunk-56TC4CPT.js.map → chunk-SKI25Q7O.js.map} +1 -1
  279. package/dist/{chunk-MLSIZ6JU.js → chunk-SSKSWSVO.js} +5 -5
  280. package/dist/{chunk-MLSIZ6JU.js.map → chunk-SSKSWSVO.js.map} +1 -1
  281. package/dist/{chunk-VV6QE3M2.js → chunk-STADVFL2.js} +5 -5
  282. package/dist/{chunk-VV6QE3M2.js.map → chunk-STADVFL2.js.map} +1 -1
  283. package/dist/{chunk-UA3OQAHJ.js → chunk-SX63UD5X.js} +3 -3
  284. package/dist/{chunk-UA3OQAHJ.js.map → chunk-SX63UD5X.js.map} +1 -1
  285. package/dist/{chunk-YZY35OHQ.js → chunk-SXSR2VRG.js} +4 -4
  286. package/dist/{chunk-YZY35OHQ.js.map → chunk-SXSR2VRG.js.map} +1 -1
  287. package/dist/{chunk-AR3OXNPL.js → chunk-TDANAN5A.js} +3 -3
  288. package/dist/{chunk-AR3OXNPL.js.map → chunk-TDANAN5A.js.map} +1 -1
  289. package/dist/{chunk-7ZJ32KRQ.js → chunk-TEVGCTUN.js} +3 -3
  290. package/dist/{chunk-7ZJ32KRQ.js.map → chunk-TEVGCTUN.js.map} +1 -1
  291. package/dist/{chunk-GAMOVEZD.js → chunk-TIPKU427.js} +3 -3
  292. package/dist/{chunk-GAMOVEZD.js.map → chunk-TIPKU427.js.map} +1 -1
  293. package/dist/{chunk-2Q4I4VDB.js → chunk-TK5WS675.js} +3 -3
  294. package/dist/{chunk-2Q4I4VDB.js.map → chunk-TK5WS675.js.map} +1 -1
  295. package/dist/{chunk-EDSDAX56.js → chunk-TNSMTINE.js} +4 -4
  296. package/dist/{chunk-EDSDAX56.js.map → chunk-TNSMTINE.js.map} +1 -1
  297. package/dist/{chunk-5TABQJDW.js → chunk-TRTVYFOF.js} +3 -3
  298. package/dist/{chunk-5TABQJDW.js.map → chunk-TRTVYFOF.js.map} +1 -1
  299. package/dist/{chunk-QBLU7J34.js → chunk-TSE3PKWQ.js} +3 -3
  300. package/dist/{chunk-QBLU7J34.js.map → chunk-TSE3PKWQ.js.map} +1 -1
  301. package/dist/{chunk-3BBOSSDG.js → chunk-U7TPJMGY.js} +4 -4
  302. package/dist/{chunk-3BBOSSDG.js.map → chunk-U7TPJMGY.js.map} +1 -1
  303. package/dist/{chunk-PGRMKSVA.js → chunk-UC5J6GWG.js} +4 -4
  304. package/dist/{chunk-PGRMKSVA.js.map → chunk-UC5J6GWG.js.map} +1 -1
  305. package/dist/{chunk-HP7LEQJR.js → chunk-UNHPLKMR.js} +3 -3
  306. package/dist/{chunk-HP7LEQJR.js.map → chunk-UNHPLKMR.js.map} +1 -1
  307. package/dist/{chunk-I7ZLEC7Y.js → chunk-UZEJ3ZVR.js} +3 -3
  308. package/dist/{chunk-I7ZLEC7Y.js.map → chunk-UZEJ3ZVR.js.map} +1 -1
  309. package/dist/{chunk-J62NPPDO.js → chunk-UZZCEQH4.js} +4 -4
  310. package/dist/{chunk-J62NPPDO.js.map → chunk-UZZCEQH4.js.map} +1 -1
  311. package/dist/{chunk-AEE5GDNA.js → chunk-V4NSLSCA.js} +4 -4
  312. package/dist/{chunk-AEE5GDNA.js.map → chunk-V4NSLSCA.js.map} +1 -1
  313. package/dist/{chunk-IZC5YFGO.js → chunk-V57DERRV.js} +14 -7
  314. package/dist/chunk-V57DERRV.js.map +1 -0
  315. package/dist/{chunk-PM344VOQ.js → chunk-VHJ6ALIE.js} +4 -4
  316. package/dist/{chunk-PM344VOQ.js.map → chunk-VHJ6ALIE.js.map} +1 -1
  317. package/dist/{chunk-N3I6GA4I.js → chunk-WG34IXUV.js} +3 -3
  318. package/dist/{chunk-N3I6GA4I.js.map → chunk-WG34IXUV.js.map} +1 -1
  319. package/dist/{chunk-45YJLE4R.js → chunk-WGKOYZRI.js} +3 -3
  320. package/dist/{chunk-45YJLE4R.js.map → chunk-WGKOYZRI.js.map} +1 -1
  321. package/dist/{chunk-6DN2UAIR.js → chunk-WGSVSZ7V.js} +3 -3
  322. package/dist/{chunk-6DN2UAIR.js.map → chunk-WGSVSZ7V.js.map} +1 -1
  323. package/dist/{chunk-X4YUWX7H.js → chunk-WK324C6D.js} +4 -4
  324. package/dist/{chunk-X4YUWX7H.js.map → chunk-WK324C6D.js.map} +1 -1
  325. package/dist/{chunk-N2WITPE2.js → chunk-WOP5OWLG.js} +3 -3
  326. package/dist/{chunk-N2WITPE2.js.map → chunk-WOP5OWLG.js.map} +1 -1
  327. package/dist/{chunk-MAM5PTRV.js → chunk-WSDWJX4Y.js} +4 -4
  328. package/dist/{chunk-MAM5PTRV.js.map → chunk-WSDWJX4Y.js.map} +1 -1
  329. package/dist/{chunk-2XJWE2XR.js → chunk-WUS45IZW.js} +4 -4
  330. package/dist/{chunk-2XJWE2XR.js.map → chunk-WUS45IZW.js.map} +1 -1
  331. package/dist/{chunk-B3BDIM4H.js → chunk-WVOZYDH3.js} +3 -3
  332. package/dist/{chunk-B3BDIM4H.js.map → chunk-WVOZYDH3.js.map} +1 -1
  333. package/dist/{chunk-HVFACGNK.js → chunk-WWK7UIKK.js} +3 -3
  334. package/dist/{chunk-HVFACGNK.js.map → chunk-WWK7UIKK.js.map} +1 -1
  335. package/dist/{chunk-NCLOPI6U.js → chunk-X2EMALTZ.js} +3 -3
  336. package/dist/{chunk-NCLOPI6U.js.map → chunk-X2EMALTZ.js.map} +1 -1
  337. package/dist/{chunk-PK5O62XD.js → chunk-X4CJFD6D.js} +3 -3
  338. package/dist/{chunk-PK5O62XD.js.map → chunk-X4CJFD6D.js.map} +1 -1
  339. package/dist/{chunk-JWXK4TMX.js → chunk-XEQGATVF.js} +3 -3
  340. package/dist/{chunk-JWXK4TMX.js.map → chunk-XEQGATVF.js.map} +1 -1
  341. package/dist/{chunk-B6KQKQ4S.js → chunk-XMUD3LG7.js} +3 -3
  342. package/dist/{chunk-B6KQKQ4S.js.map → chunk-XMUD3LG7.js.map} +1 -1
  343. package/dist/{chunk-5ZEYTBTU.js → chunk-XWBVIBN4.js} +3 -3
  344. package/dist/{chunk-5ZEYTBTU.js.map → chunk-XWBVIBN4.js.map} +1 -1
  345. package/dist/{chunk-7I6KK6QE.js → chunk-XXWCMY2G.js} +3 -3
  346. package/dist/{chunk-7I6KK6QE.js.map → chunk-XXWCMY2G.js.map} +1 -1
  347. package/dist/{chunk-LFN7UHDT.js → chunk-Y4FEW7SR.js} +3 -3
  348. package/dist/{chunk-LFN7UHDT.js.map → chunk-Y4FEW7SR.js.map} +1 -1
  349. package/dist/{chunk-PFVT27B5.js → chunk-YC5VVIZO.js} +3 -3
  350. package/dist/{chunk-PFVT27B5.js.map → chunk-YC5VVIZO.js.map} +1 -1
  351. package/dist/{chunk-OR3NPCY2.js → chunk-YMCKML6D.js} +7 -7
  352. package/dist/{chunk-OR3NPCY2.js.map → chunk-YMCKML6D.js.map} +1 -1
  353. package/dist/{chunk-TGLALXPU.js → chunk-YMQDTTO7.js} +6 -6
  354. package/dist/{chunk-TGLALXPU.js.map → chunk-YMQDTTO7.js.map} +1 -1
  355. package/dist/{chunk-ZARZYMBM.js → chunk-YNTS4GRT.js} +3 -3
  356. package/dist/{chunk-ZARZYMBM.js.map → chunk-YNTS4GRT.js.map} +1 -1
  357. package/dist/{chunk-6SZRWNPT.js → chunk-ZOHLZ4YL.js} +3 -3
  358. package/dist/{chunk-6SZRWNPT.js.map → chunk-ZOHLZ4YL.js.map} +1 -1
  359. package/dist/{chunk-VUHJTTPV.js → chunk-ZVSMLMMS.js} +3 -3
  360. package/dist/{chunk-VUHJTTPV.js.map → chunk-ZVSMLMMS.js.map} +1 -1
  361. package/dist/{chunk-VKDN66VL.js → chunk-ZXWT4KWJ.js} +3 -3
  362. package/dist/{chunk-VKDN66VL.js.map → chunk-ZXWT4KWJ.js.map} +1 -1
  363. package/dist/components/advanced/AssetManager/index.js +2 -2
  364. package/dist/components/advanced/Calendar/index.js +7 -7
  365. package/dist/components/advanced/Command/index.js +3 -3
  366. package/dist/components/advanced/DragAndDrop/index.js +2 -2
  367. package/dist/components/advanced/ErrorBoundary/index.js +2 -2
  368. package/dist/components/advanced/EventCalendar/index.js +7 -7
  369. package/dist/components/advanced/FileDropzone/index.js +2 -2
  370. package/dist/components/advanced/FilePreview/index.js +2 -2
  371. package/dist/components/advanced/FileUpload/index.js +2 -2
  372. package/dist/components/advanced/FilterBuilder/index.js +9 -9
  373. package/dist/components/advanced/MarkdownEditor/index.js +6 -6
  374. package/dist/components/advanced/ReportBuilder/index.js +7 -7
  375. package/dist/components/advanced/RichTextEditor/index.js +4 -4
  376. package/dist/components/advanced/Search/index.js +2 -2
  377. package/dist/components/advanced/SortableList/index.js +2 -2
  378. package/dist/components/advanced/VersionControl/index.js +2 -2
  379. package/dist/components/advanced/index.js +30 -30
  380. package/dist/components/data-display/Accordion/index.js +2 -2
  381. package/dist/components/data-display/AreaChart/index.js +3 -3
  382. package/dist/components/data-display/Banner/index.js +2 -2
  383. package/dist/components/data-display/BarChart/index.js +3 -3
  384. package/dist/components/data-display/BarList/index.js +2 -2
  385. package/dist/components/data-display/Callout/index.js +2 -2
  386. package/dist/components/data-display/Carousel/index.js +7 -7
  387. package/dist/components/data-display/CategoryBar/index.js +3 -3
  388. package/dist/components/data-display/Chart/index.js +2 -2
  389. package/dist/components/data-display/ChartCard/index.js +5 -5
  390. package/dist/components/data-display/ChartLegend/index.js +2 -2
  391. package/dist/components/data-display/ComboChart/index.js +3 -3
  392. package/dist/components/data-display/DashboardCard/index.js +3 -3
  393. package/dist/components/data-display/DataTable/FilterBuilder/index.js +9 -9
  394. package/dist/components/data-display/DataTable/index.js +16 -16
  395. package/dist/components/data-display/DeltaBar/index.js +3 -3
  396. package/dist/components/data-display/EmptyState/index.js +2 -2
  397. package/dist/components/data-display/FeatureItem/index.js +3 -3
  398. package/dist/components/data-display/Feed/index.js +2 -2
  399. package/dist/components/data-display/FunnelChart/index.js +3 -3
  400. package/dist/components/data-display/GaugeChart/index.js +2 -2
  401. package/dist/components/data-display/Heatmap/index.js +3 -3
  402. package/dist/components/data-display/HoverCard/index.js +2 -2
  403. package/dist/components/data-display/ImageGallery/index.js +9 -9
  404. package/dist/components/data-display/Item/index.js +3 -3
  405. package/dist/components/data-display/KPICard/index.js +8 -8
  406. package/dist/components/data-display/Lightbox/index.js +2 -2
  407. package/dist/components/data-display/LineChart/index.js +3 -3
  408. package/dist/components/data-display/List/index.js +6 -6
  409. package/dist/components/data-display/MarkerBar/index.js +3 -3
  410. package/dist/components/data-display/PieChart/index.js +3 -3
  411. package/dist/components/data-display/RadarChart/index.js +3 -3
  412. package/dist/components/data-display/RadialChart/index.js +3 -3
  413. package/dist/components/data-display/ScatterChart/index.js +3 -3
  414. package/dist/components/data-display/SingleStat/index.js +3 -3
  415. package/dist/components/data-display/Sparkline/index.js +2 -2
  416. package/dist/components/data-display/Table/index.js +2 -2
  417. package/dist/components/data-display/Timeline/index.js +2 -2
  418. package/dist/components/data-display/Tracker/index.js +3 -3
  419. package/dist/components/data-display/VirtualTable/index.js +5 -5
  420. package/dist/components/data-display/index.js +56 -56
  421. package/dist/components/feedback/Alert/index.js +2 -2
  422. package/dist/components/feedback/AlertDialog/index.js +7 -7
  423. package/dist/components/feedback/ConfirmModal/index.js +8 -8
  424. package/dist/components/feedback/Dialog/index.js +2 -2
  425. package/dist/components/feedback/ErrorPage/index.js +2 -2
  426. package/dist/components/feedback/FocusTrap/index.js +2 -2
  427. package/dist/components/feedback/Message/index.js +2 -2
  428. package/dist/components/feedback/Modal/index.js +2 -2
  429. package/dist/components/feedback/Notification/index.js +4 -4
  430. package/dist/components/feedback/Popover/index.js +2 -2
  431. package/dist/components/feedback/Tooltip/index.js +2 -2
  432. package/dist/components/feedback/UpdatesWidget/index.js +2 -2
  433. package/dist/components/feedback/index.js +18 -18
  434. package/dist/components/forms/Autocomplete/index.js +2 -2
  435. package/dist/components/forms/Checkbox/index.js +2 -2
  436. package/dist/components/forms/CheckboxGroup/index.js +3 -3
  437. package/dist/components/forms/ColorPicker/index.js +3 -3
  438. package/dist/components/forms/Combobox/index.js +2 -2
  439. package/dist/components/forms/DatePicker/index.js +10 -10
  440. package/dist/components/forms/DateRangePicker/index.js +10 -10
  441. package/dist/components/forms/EmailInput/index.js +3 -3
  442. package/dist/components/forms/ErrorMessage/index.js +2 -2
  443. package/dist/components/forms/Field/index.js +4 -4
  444. package/dist/components/forms/FloatLabel/index.js +2 -2
  445. package/dist/components/forms/Form/index.js +3 -3
  446. package/dist/components/forms/FormValidation/index.js +2 -2
  447. package/dist/components/forms/HelpText/index.js +2 -2
  448. package/dist/components/forms/IftaLabel/index.js +2 -2
  449. package/dist/components/forms/InputGroup/index.js +9 -9
  450. package/dist/components/forms/InputOTP/index.js +2 -2
  451. package/dist/components/forms/InputOTPField/index.js +6 -6
  452. package/dist/components/forms/MultiSelect/index.js +3 -3
  453. package/dist/components/forms/NativeSelect/index.js +2 -2
  454. package/dist/components/forms/NumberInput/index.js +2 -2
  455. package/dist/components/forms/PasswordInput/index.js +3 -3
  456. package/dist/components/forms/PaymentInput/index.js +2 -2
  457. package/dist/components/forms/PhoneInput/index.js +2 -2
  458. package/dist/components/forms/RadioButton/index.js +2 -2
  459. package/dist/components/forms/RadioCardGroup/index.js +2 -2
  460. package/dist/components/forms/RadioGroup/index.js +2 -2
  461. package/dist/components/forms/Rating/index.js +2 -2
  462. package/dist/components/forms/SearchInput/index.js +3 -3
  463. package/dist/components/forms/Select/index.js +2 -2
  464. package/dist/components/forms/Slider/index.js +2 -2
  465. package/dist/components/forms/SuccessMessage/index.js +2 -2
  466. package/dist/components/forms/Switch/index.js +2 -2
  467. package/dist/components/forms/TagsInput/index.js +4 -4
  468. package/dist/components/forms/TextInput/index.js +2 -2
  469. package/dist/components/forms/Textarea/index.js +2 -2
  470. package/dist/components/forms/TextareaField/index.js +6 -6
  471. package/dist/components/forms/TimePicker/index.js +4 -4
  472. package/dist/components/forms/URLInput/index.js +3 -3
  473. package/dist/components/forms/index.js +50 -50
  474. package/dist/components/index.js +183 -183
  475. package/dist/components/layout/Card/index.js +2 -2
  476. package/dist/components/layout/Collapsible/index.js +2 -2
  477. package/dist/components/layout/Container/index.js +2 -2
  478. package/dist/components/layout/Flex/index.js +2 -2
  479. package/dist/components/layout/Grid/index.js +2 -2
  480. package/dist/components/layout/Panel/index.js +3 -3
  481. package/dist/components/layout/ResizablePanels/index.js +2 -2
  482. package/dist/components/layout/ResponsiveContainer/index.js +2 -2
  483. package/dist/components/layout/ScrollArea/index.js +2 -2
  484. package/dist/components/layout/Section/index.js +2 -2
  485. package/dist/components/layout/Sheet/index.js +2 -2
  486. package/dist/components/layout/Stack/index.js +2 -2
  487. package/dist/components/layout/index.js +13 -13
  488. package/dist/components/navigation/AccountSwitch/index.js +6 -6
  489. package/dist/components/navigation/Breadcrumb/index.js +2 -2
  490. package/dist/components/navigation/ContextMenu/index.js +2 -2
  491. package/dist/components/navigation/Drawer/index.js +2 -2
  492. package/dist/components/navigation/DropdownMenu/index.js +2 -2
  493. package/dist/components/navigation/FileTree/index.js +2 -2
  494. package/dist/components/navigation/Header/index.js +2 -2
  495. package/dist/components/navigation/LogoConta/index.js +2 -2
  496. package/dist/components/navigation/Menu/index.js +3 -3
  497. package/dist/components/navigation/Menubar/index.js +2 -2
  498. package/dist/components/navigation/Navbar/index.js +2 -2
  499. package/dist/components/navigation/NavigationMenu/index.js +2 -2
  500. package/dist/components/navigation/Pagination/index.js +7 -7
  501. package/dist/components/navigation/Sidebar/index.js +11 -11
  502. package/dist/components/navigation/SkipLinks/index.js +2 -2
  503. package/dist/components/navigation/SpeedDial/index.js +3 -3
  504. package/dist/components/navigation/TabNavigation/index.js +2 -2
  505. package/dist/components/navigation/TabPanel/index.js +2 -2
  506. package/dist/components/navigation/Tabs/index.js +2 -2
  507. package/dist/components/navigation/Toolbar/index.js +2 -2
  508. package/dist/components/navigation/Topbar/index.js +2 -2
  509. package/dist/components/navigation/index.js +32 -32
  510. package/dist/components/primitives/ArrowAnimated/index.js +2 -2
  511. package/dist/components/primitives/Avatar/index.js +3 -3
  512. package/dist/components/primitives/Badge/index.js +3 -3
  513. package/dist/components/primitives/Button/index.js +6 -6
  514. package/dist/components/primitives/ButtonGroup/index.js +3 -3
  515. package/dist/components/primitives/ConfirmButton/index.js +8 -8
  516. package/dist/components/primitives/Divider/index.js +2 -2
  517. package/dist/components/primitives/FeaturedIcon/index.js +2 -2
  518. package/dist/components/primitives/FolderStack/index.js +2 -2
  519. package/dist/components/primitives/Heading/index.js +2 -2
  520. package/dist/components/primitives/Icon/index.js +2 -2
  521. package/dist/components/primitives/Image/index.js +2 -2
  522. package/dist/components/primitives/Kbd/index.js +2 -2
  523. package/dist/components/primitives/Label/index.js +2 -2
  524. package/dist/components/primitives/Link/index.js +2 -2
  525. package/dist/components/primitives/Paragraph/index.js +2 -2
  526. package/dist/components/primitives/PaymentMethodIcon/index.js +2 -2
  527. package/dist/components/primitives/ProgressBar/index.js +3 -3
  528. package/dist/components/primitives/ProgressCircle/index.js +3 -3
  529. package/dist/components/primitives/SkeletonLoader/index.js +2 -2
  530. package/dist/components/primitives/Spacer/index.js +2 -2
  531. package/dist/components/primitives/Spinner/index.js +2 -2
  532. package/dist/components/primitives/SplitButton/index.js +3 -3
  533. package/dist/components/primitives/StatusIndicator/index.js +2 -2
  534. package/dist/components/primitives/Tag/index.js +2 -2
  535. package/dist/components/primitives/Text/index.js +2 -2
  536. package/dist/components/primitives/Thumbnail/index.js +3 -3
  537. package/dist/components/primitives/Toggle/index.js +2 -2
  538. package/dist/components/primitives/index.js +32 -32
  539. package/dist/components/workflow/ApprovalFlow/index.js +8 -8
  540. package/dist/components/workflow/ApprovalStatus/index.js +2 -2
  541. package/dist/components/workflow/CommentSystem/index.js +9 -9
  542. package/dist/components/workflow/Dashboard/index.js +7 -7
  543. package/dist/components/workflow/DashboardBuilder/index.js +9 -9
  544. package/dist/components/workflow/KanbanBoard/index.js +9 -9
  545. package/dist/components/workflow/ProgressSteps/index.js +2 -2
  546. package/dist/components/workflow/ReportGenerator/index.js +9 -9
  547. package/dist/components/workflow/Stepper/index.js +2 -2
  548. package/dist/components/workflow/TaskCard/index.js +2 -2
  549. package/dist/components/workflow/TaskList/index.js +2 -2
  550. package/dist/components/workflow/TaskStatus/index.js +3 -3
  551. package/dist/components/workflow/Wizard/index.js +8 -8
  552. package/dist/components/workflow/index.js +26 -26
  553. package/dist/index.d.ts +55 -14
  554. package/dist/index.js +183 -183
  555. package/dist/lib/utils.d.ts +2 -1
  556. package/dist/lib/utils.js +1 -1
  557. package/package.json +1 -1
  558. package/dist/chunk-B2OCNHUW.js.map +0 -1
  559. package/dist/chunk-DSCLJ3GK.js.map +0 -1
  560. package/dist/chunk-HRNDJU7D.js +0 -11
  561. package/dist/chunk-HRNDJU7D.js.map +0 -1
  562. package/dist/chunk-IZC5YFGO.js.map +0 -1
  563. package/dist/chunk-JDG5A44W.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/forms/TimePicker/TimePicker.variants.ts","../src/components/forms/TimePicker/TimePicker.tsx"],"names":[],"mappings":"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","file":"chunk-G2V7D7VC.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * TimePicker trigger variant styles using CVA\n */\nexport const timePickerTriggerVariants = cva(\n // Base styles\n [\n \"inline-flex w-full items-center justify-between gap-2 rounded-[var(--time-picker-trigger-radius)] border bg-transparent font-normal transition-[color,box-shadow] outline-none\",\n \"text-left\",\n \"placeholder:text-muted-foreground\",\n \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n \"focus-visible:border-ring focus-visible:ring-[color:var(--time-picker-focus-ring-primary)]/50 focus-visible:ring-[length:var(--time-picker-focus-ring-width)]\",\n \"aria-invalid:ring-[color:var(--time-picker-focus-ring-destructive)]/20 dark:aria-invalid:ring-[color:var(--time-picker-focus-ring-destructive)]/40 aria-invalid:border-[color:var(--time-picker-focus-ring-destructive)]\",\n ],\n {\n variants: {\n size: {\n sm: \"h-[var(--time-picker-trigger-height-sm)] px-2.5 py-1 text-sm\",\n md: \"h-[var(--time-picker-trigger-height-md)] px-3 py-1 text-base md:text-sm\",\n lg: \"h-[var(--time-picker-trigger-height-lg)] px-3.5 py-1.5 text-base\",\n },\n variant: {\n default: \"border-input shadow-xs dark:bg-input/30\",\n filled: \"border-transparent bg-muted\",\n flushed: \"rounded-none border-x-0 border-t-0 border-b-input px-0\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n }\n)\n\n/**\n * Time scroll list styles\n */\nexport const timeScrollListVariants = cva(\n [\n \"flex flex-col overflow-y-auto\",\n \"max-h-60 min-w-12\",\n ],\n {\n variants: {\n type: {\n hour: \"\",\n minute: \"\",\n period: \"min-w-14\",\n },\n },\n defaultVariants: {\n type: \"hour\",\n },\n }\n)\n\n/**\n * Time item button styles\n */\nexport const timeItemVariants = cva(\n [\n \"flex items-center justify-center px-2 py-1.5 text-sm cursor-pointer rounded-sm transition-colors\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"focus-visible:outline-none focus-visible:bg-accent focus-visible:text-accent-foreground\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n ],\n {\n variants: {\n selected: {\n true: \"bg-primary text-primary-foreground hover:bg-primary/90 hover:text-primary-foreground\",\n false: \"\",\n },\n },\n defaultVariants: {\n selected: false,\n },\n }\n)\n\nexport type TimePickerTriggerVariantProps = VariantProps<typeof timePickerTriggerVariants>\nexport type TimeScrollListVariantProps = VariantProps<typeof timeScrollListVariants>\nexport type TimeItemVariantProps = VariantProps<typeof timeItemVariants>\n","import type { TimePickerProps } from \"./TimePicker.types\"\n\nimport { ClockIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"../../feedback/Popover\"\nimport { ScrollArea } from \"../../layout/ScrollArea\"\nimport {\n timeItemVariants,\n timePickerTriggerVariants,\n timeScrollListVariants,\n} from \"./TimePicker.variants\"\n\n/**\n * Parse a time string in HH:mm format to hours and minutes\n */\nfunction parseTime(time: string | undefined): null | { hours: number; minutes: number } {\n if (!time) return null\n const match = /^(\\d{1,2}):(\\d{2})$/.exec(time)\n if (!match?.[1] || !match[2]) return null\n const hours = Number.parseInt(match[1], 10)\n const minutes = Number.parseInt(match[2], 10)\n if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) return null\n return { hours, minutes }\n}\n\n/**\n * Format hours and minutes to HH:mm string\n */\nfunction formatTime(hours: number, minutes: number): string {\n return `${hours.toString().padStart(2, \"0\")}:${minutes.toString().padStart(2, \"0\")}`\n}\n\n/**\n * Convert 24h hours to 12h format with period\n */\nfunction to12Hour(hours: number): { hour12: number; period: \"AM\" | \"PM\" } {\n const period = hours >= 12 ? \"PM\" : \"AM\"\n let hour12 = hours % 12\n if (hour12 === 0) hour12 = 12\n return { hour12, period }\n}\n\n/**\n * Convert 12h format to 24h hours\n */\nfunction to24Hour(hour12: number, period: \"AM\" | \"PM\"): number {\n if (period === \"AM\") {\n return hour12 === 12 ? 0 : hour12\n }\n return hour12 === 12 ? 12 : hour12 + 12\n}\n\n/**\n * Format time for display\n */\nfunction formatDisplayTime(\n hours: number,\n minutes: number,\n use12Hour: boolean\n): string {\n if (use12Hour) {\n const { hour12, period } = to12Hour(hours)\n return `${String(hour12)}:${minutes.toString().padStart(2, \"0\")} ${period}`\n }\n return formatTime(hours, minutes)\n}\n\n/**\n * Generate array of hour options\n */\nfunction getHourOptions(use12Hour: boolean): number[] {\n if (use12Hour) {\n return [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n }\n return Array.from({ length: 24 }, (_, i) => i)\n}\n\n/**\n * Generate array of minute options based on step\n */\nfunction getMinuteOptions(step: number): number[] {\n const options: number[] = []\n for (let i = 0; i < 60; i += step) {\n options.push(i)\n }\n return options\n}\n\nfunction TimePicker({\n className,\n value,\n defaultValue,\n placeholder = \"Select time\",\n disabled = false,\n use12Hour = false,\n minuteStep = 1,\n onChange,\n onOpenChange,\n size = \"md\",\n variant = \"default\",\n required = false,\n invalid = false,\n id,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n ...props\n}: TimePickerProps) {\n const [open, setOpen] = React.useState(false)\n\n // Parse default value\n const parsedDefault = parseTime(defaultValue)\n const [internalHours, setInternalHours] = React.useState<number | undefined>(\n parsedDefault?.hours\n )\n const [internalMinutes, setInternalMinutes] = React.useState<number | undefined>(\n parsedDefault?.minutes\n )\n const [internalPeriod, setInternalPeriod] = React.useState<\"AM\" | \"PM\">(() =>\n parsedDefault ? to12Hour(parsedDefault.hours).period : \"AM\"\n )\n\n // Parse controlled value\n const parsedValue = parseTime(value)\n const isControlled = value !== undefined\n\n // Get current hours/minutes based on controlled vs uncontrolled\n const currentHours = isControlled ? parsedValue?.hours : internalHours\n const currentMinutes = isControlled ? parsedValue?.minutes : internalMinutes\n const currentPeriod = isControlled\n ? parsedValue\n ? to12Hour(parsedValue.hours).period\n : \"AM\"\n : internalPeriod\n\n // Scroll refs for auto-scrolling to selected values\n const hourListRef = React.useRef<HTMLDivElement>(null)\n const minuteListRef = React.useRef<HTMLDivElement>(null)\n const periodListRef = React.useRef<HTMLDivElement>(null)\n\n // Scroll to selected items when popover opens\n React.useEffect(() => {\n if (!open) return\n\n // Use setTimeout to ensure DOM is ready\n const timeoutId = setTimeout(() => {\n if (currentHours !== undefined) {\n const selectedHour = hourListRef.current?.querySelector('[data-selected=\"true\"]')\n selectedHour?.scrollIntoView({ block: \"center\", behavior: \"instant\" })\n }\n if (currentMinutes !== undefined) {\n const selectedMinute = minuteListRef.current?.querySelector('[data-selected=\"true\"]')\n selectedMinute?.scrollIntoView({ block: \"center\", behavior: \"instant\" })\n }\n }, 0)\n\n return () => { clearTimeout(timeoutId) }\n }, [open, currentHours, currentMinutes])\n\n const handleHourSelect = (hour: number) => {\n let newHours = hour\n if (use12Hour) {\n newHours = to24Hour(hour, currentPeriod)\n }\n\n if (!isControlled) {\n setInternalHours(newHours)\n }\n\n // Only call onChange if we have both hours and minutes\n const mins = currentMinutes ?? 0\n if (!isControlled) {\n setInternalMinutes(mins)\n }\n onChange?.(formatTime(newHours, mins))\n }\n\n const handleMinuteSelect = (minute: number) => {\n if (!isControlled) {\n setInternalMinutes(minute)\n }\n\n // Only call onChange if we have hours\n const hrs = currentHours ?? 0\n if (!isControlled && currentHours === undefined) {\n setInternalHours(hrs)\n }\n onChange?.(formatTime(currentHours ?? 0, minute))\n }\n\n const handlePeriodSelect = (period: \"AM\" | \"PM\") => {\n if (!isControlled) {\n setInternalPeriod(period)\n }\n\n if (currentHours !== undefined) {\n const hour12 = use12Hour\n ? currentHours % 12 || 12\n : to12Hour(currentHours).hour12\n const newHours = to24Hour(hour12, period)\n if (!isControlled) {\n setInternalHours(newHours)\n }\n onChange?.(formatTime(newHours, currentMinutes ?? 0))\n }\n }\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen)\n onOpenChange?.(isOpen)\n }\n\n const hasValue = currentHours !== undefined && currentMinutes !== undefined\n const displayValue = hasValue\n ? formatDisplayTime(currentHours, currentMinutes, use12Hour)\n : null\n\n const hourOptions = getHourOptions(use12Hour)\n const minuteOptions = getMinuteOptions(minuteStep)\n\n // Calculate display hour for matching in 12h mode\n const displayHour = currentHours !== undefined\n ? use12Hour\n ? to12Hour(currentHours).hour12\n : currentHours\n : undefined\n\n return (\n <div className={cn(\"relative\", className)} data-slot=\"time-picker\" {...props}>\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger asChild>\n <button\n className={cn(\n timePickerTriggerVariants({ size, variant }),\n !displayValue && \"text-muted-foreground\"\n )}\n aria-expanded={open}\n aria-haspopup=\"dialog\"\n aria-invalid={invalid}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-required={required}\n data-size={size}\n data-slot=\"time-picker-trigger\"\n data-state={open ? \"open\" : \"closed\"}\n data-variant={variant}\n disabled={disabled}\n id={id}\n role=\"combobox\"\n type=\"button\"\n >\n <span className=\"flex-1 truncate\">\n {displayValue ?? placeholder}\n </span>\n <ClockIcon className=\"size-4 shrink-0 opacity-50\" />\n </button>\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"w-auto p-0\"\n data-slot=\"time-picker-content\"\n >\n <div\n aria-label=\"Time selection\"\n className=\"flex divide-x\"\n role=\"listbox\"\n >\n {/* Hours Column */}\n <div className=\"flex flex-col\">\n <div className=\"px-2 py-1.5 text-xs font-medium text-muted-foreground text-center border-b\">\n {use12Hour ? \"Hour\" : \"Hours\"}\n </div>\n <ScrollArea className=\"h-60\">\n <div\n ref={hourListRef}\n aria-label=\"Hours\"\n className={cn(timeScrollListVariants({ type: \"hour\" }))}\n role=\"group\"\n >\n {hourOptions.map((hour) => {\n const isSelected = displayHour === hour\n return (\n <button\n key={hour}\n aria-selected={isSelected}\n className={cn(timeItemVariants({ selected: isSelected }))}\n data-selected={isSelected}\n role=\"option\"\n type=\"button\"\n onClick={() => { handleHourSelect(hour); }}\n >\n {use12Hour ? hour : hour.toString().padStart(2, \"0\")}\n </button>\n )\n })}\n </div>\n </ScrollArea>\n </div>\n\n {/* Minutes Column */}\n <div className=\"flex flex-col\">\n <div className=\"px-2 py-1.5 text-xs font-medium text-muted-foreground text-center border-b\">\n Min\n </div>\n <ScrollArea className=\"h-60\">\n <div\n ref={minuteListRef}\n aria-label=\"Minutes\"\n className={cn(timeScrollListVariants({ type: \"minute\" }))}\n role=\"group\"\n >\n {minuteOptions.map((minute) => {\n const isSelected = currentMinutes === minute\n return (\n <button\n key={minute}\n aria-selected={isSelected}\n className={cn(timeItemVariants({ selected: isSelected }))}\n data-selected={isSelected}\n role=\"option\"\n type=\"button\"\n onClick={() => { handleMinuteSelect(minute); }}\n >\n {minute.toString().padStart(2, \"0\")}\n </button>\n )\n })}\n </div>\n </ScrollArea>\n </div>\n\n {/* AM/PM Column (12-hour mode only) */}\n {use12Hour && (\n <div className=\"flex flex-col\">\n <div className=\"px-2 py-1.5 text-xs font-medium text-muted-foreground text-center border-b\">\n &nbsp;\n </div>\n <div\n ref={periodListRef}\n aria-label=\"Period\"\n className={cn(timeScrollListVariants({ type: \"period\" }), \"h-auto\")}\n role=\"group\"\n >\n {([\"AM\", \"PM\"] as const).map((period) => {\n const isSelected = currentPeriod === period\n return (\n <button\n key={period}\n aria-selected={isSelected}\n className={cn(timeItemVariants({ selected: isSelected }))}\n data-selected={isSelected}\n role=\"option\"\n type=\"button\"\n onClick={() => { handlePeriodSelect(period); }}\n >\n {period}\n </button>\n )\n })}\n </div>\n </div>\n )}\n </div>\n </PopoverContent>\n </Popover>\n {name && (\n <input\n name={name}\n type=\"hidden\"\n value={hasValue ? formatTime(currentHours, currentMinutes) : \"\"}\n />\n )}\n </div>\n )\n}\n\nexport { TimePicker }\n"]}
1
+ {"version":3,"sources":["../src/components/forms/TimePicker/TimePicker.variants.ts","../src/components/forms/TimePicker/TimePicker.tsx"],"names":[],"mappings":"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","file":"chunk-JUSPLVWO.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * TimePicker trigger variant styles using CVA\n */\nexport const timePickerTriggerVariants = cva(\n // Base styles\n [\n \"inline-flex w-full items-center justify-between gap-2 rounded-[var(--time-picker-trigger-radius)] border bg-transparent font-normal transition-[color,box-shadow] outline-none\",\n \"text-left\",\n \"placeholder:text-muted-foreground\",\n \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n \"focus-visible:border-ring focus-visible:ring-[color:var(--time-picker-focus-ring-primary)]/50 focus-visible:ring-[length:var(--time-picker-focus-ring-width)]\",\n \"aria-invalid:ring-[color:var(--time-picker-focus-ring-destructive)]/20 dark:aria-invalid:ring-[color:var(--time-picker-focus-ring-destructive)]/40 aria-invalid:border-[color:var(--time-picker-focus-ring-destructive)]\",\n ],\n {\n variants: {\n size: {\n sm: \"h-[var(--time-picker-trigger-height-sm)] px-2.5 py-1 text-sm\",\n md: \"h-[var(--time-picker-trigger-height-md)] px-3 py-1 text-base md:text-sm\",\n lg: \"h-[var(--time-picker-trigger-height-lg)] px-3.5 py-1.5 text-base\",\n },\n variant: {\n default: \"border-input shadow-xs dark:bg-input/30\",\n filled: \"border-transparent bg-muted\",\n flushed: \"rounded-none border-x-0 border-t-0 border-b-input px-0\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n }\n)\n\n/**\n * Time scroll list styles\n */\nexport const timeScrollListVariants = cva(\n [\n \"flex flex-col overflow-y-auto\",\n \"max-h-60 min-w-12\",\n ],\n {\n variants: {\n type: {\n hour: \"\",\n minute: \"\",\n period: \"min-w-14\",\n },\n },\n defaultVariants: {\n type: \"hour\",\n },\n }\n)\n\n/**\n * Time item button styles\n */\nexport const timeItemVariants = cva(\n [\n \"flex items-center justify-center px-2 py-1.5 text-sm cursor-pointer rounded-sm transition-colors\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"focus-visible:outline-none focus-visible:bg-accent focus-visible:text-accent-foreground\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n ],\n {\n variants: {\n selected: {\n true: \"bg-primary text-primary-foreground hover:bg-primary/90 hover:text-primary-foreground\",\n false: \"\",\n },\n },\n defaultVariants: {\n selected: false,\n },\n }\n)\n\nexport type TimePickerTriggerVariantProps = VariantProps<typeof timePickerTriggerVariants>\nexport type TimeScrollListVariantProps = VariantProps<typeof timeScrollListVariants>\nexport type TimeItemVariantProps = VariantProps<typeof timeItemVariants>\n","import type { TimePickerProps } from \"./TimePicker.types\"\n\nimport { ClockIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"../../feedback/Popover\"\nimport { ScrollArea } from \"../../layout/ScrollArea\"\nimport {\n timeItemVariants,\n timePickerTriggerVariants,\n timeScrollListVariants,\n} from \"./TimePicker.variants\"\n\n/**\n * Parse a time string in HH:mm format to hours and minutes\n */\nfunction parseTime(time: string | undefined): null | { hours: number; minutes: number } {\n if (!time) return null\n const match = /^(\\d{1,2}):(\\d{2})$/.exec(time)\n if (!match?.[1] || !match[2]) return null\n const hours = Number.parseInt(match[1], 10)\n const minutes = Number.parseInt(match[2], 10)\n if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) return null\n return { hours, minutes }\n}\n\n/**\n * Format hours and minutes to HH:mm string\n */\nfunction formatTime(hours: number, minutes: number): string {\n return `${hours.toString().padStart(2, \"0\")}:${minutes.toString().padStart(2, \"0\")}`\n}\n\n/**\n * Convert 24h hours to 12h format with period\n */\nfunction to12Hour(hours: number): { hour12: number; period: \"AM\" | \"PM\" } {\n const period = hours >= 12 ? \"PM\" : \"AM\"\n let hour12 = hours % 12\n if (hour12 === 0) hour12 = 12\n return { hour12, period }\n}\n\n/**\n * Convert 12h format to 24h hours\n */\nfunction to24Hour(hour12: number, period: \"AM\" | \"PM\"): number {\n if (period === \"AM\") {\n return hour12 === 12 ? 0 : hour12\n }\n return hour12 === 12 ? 12 : hour12 + 12\n}\n\n/**\n * Format time for display\n */\nfunction formatDisplayTime(\n hours: number,\n minutes: number,\n use12Hour: boolean\n): string {\n if (use12Hour) {\n const { hour12, period } = to12Hour(hours)\n return `${String(hour12)}:${minutes.toString().padStart(2, \"0\")} ${period}`\n }\n return formatTime(hours, minutes)\n}\n\n/**\n * Generate array of hour options\n */\nfunction getHourOptions(use12Hour: boolean): number[] {\n if (use12Hour) {\n return [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n }\n return Array.from({ length: 24 }, (_, i) => i)\n}\n\n/**\n * Generate array of minute options based on step\n */\nfunction getMinuteOptions(step: number): number[] {\n const options: number[] = []\n for (let i = 0; i < 60; i += step) {\n options.push(i)\n }\n return options\n}\n\nfunction TimePicker({\n className,\n value,\n defaultValue,\n placeholder = \"Select time\",\n disabled = false,\n use12Hour = false,\n minuteStep = 1,\n onChange,\n onOpenChange,\n size = \"md\",\n variant = \"default\",\n required = false,\n invalid = false,\n id,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n ...props\n}: TimePickerProps) {\n const [open, setOpen] = React.useState(false)\n\n // Parse default value\n const parsedDefault = parseTime(defaultValue)\n const [internalHours, setInternalHours] = React.useState<number | undefined>(\n parsedDefault?.hours\n )\n const [internalMinutes, setInternalMinutes] = React.useState<number | undefined>(\n parsedDefault?.minutes\n )\n const [internalPeriod, setInternalPeriod] = React.useState<\"AM\" | \"PM\">(() =>\n parsedDefault ? to12Hour(parsedDefault.hours).period : \"AM\"\n )\n\n // Parse controlled value\n const parsedValue = parseTime(value)\n const isControlled = value !== undefined\n\n // Get current hours/minutes based on controlled vs uncontrolled\n const currentHours = isControlled ? parsedValue?.hours : internalHours\n const currentMinutes = isControlled ? parsedValue?.minutes : internalMinutes\n const currentPeriod = isControlled\n ? parsedValue\n ? to12Hour(parsedValue.hours).period\n : \"AM\"\n : internalPeriod\n\n // Scroll refs for auto-scrolling to selected values\n const hourListRef = React.useRef<HTMLDivElement>(null)\n const minuteListRef = React.useRef<HTMLDivElement>(null)\n const periodListRef = React.useRef<HTMLDivElement>(null)\n\n // Scroll to selected items when popover opens\n React.useEffect(() => {\n if (!open) return\n\n // Use setTimeout to ensure DOM is ready\n const timeoutId = setTimeout(() => {\n if (currentHours !== undefined) {\n const selectedHour = hourListRef.current?.querySelector('[data-selected=\"true\"]')\n selectedHour?.scrollIntoView({ block: \"center\", behavior: \"instant\" })\n }\n if (currentMinutes !== undefined) {\n const selectedMinute = minuteListRef.current?.querySelector('[data-selected=\"true\"]')\n selectedMinute?.scrollIntoView({ block: \"center\", behavior: \"instant\" })\n }\n }, 0)\n\n return () => { clearTimeout(timeoutId) }\n }, [open, currentHours, currentMinutes])\n\n const handleHourSelect = (hour: number) => {\n let newHours = hour\n if (use12Hour) {\n newHours = to24Hour(hour, currentPeriod)\n }\n\n if (!isControlled) {\n setInternalHours(newHours)\n }\n\n // Only call onChange if we have both hours and minutes\n const mins = currentMinutes ?? 0\n if (!isControlled) {\n setInternalMinutes(mins)\n }\n onChange?.(formatTime(newHours, mins))\n }\n\n const handleMinuteSelect = (minute: number) => {\n if (!isControlled) {\n setInternalMinutes(minute)\n }\n\n // Only call onChange if we have hours\n const hrs = currentHours ?? 0\n if (!isControlled && currentHours === undefined) {\n setInternalHours(hrs)\n }\n onChange?.(formatTime(currentHours ?? 0, minute))\n }\n\n const handlePeriodSelect = (period: \"AM\" | \"PM\") => {\n if (!isControlled) {\n setInternalPeriod(period)\n }\n\n if (currentHours !== undefined) {\n const hour12 = use12Hour\n ? currentHours % 12 || 12\n : to12Hour(currentHours).hour12\n const newHours = to24Hour(hour12, period)\n if (!isControlled) {\n setInternalHours(newHours)\n }\n onChange?.(formatTime(newHours, currentMinutes ?? 0))\n }\n }\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen)\n onOpenChange?.(isOpen)\n }\n\n const hasValue = currentHours !== undefined && currentMinutes !== undefined\n const displayValue = hasValue\n ? formatDisplayTime(currentHours, currentMinutes, use12Hour)\n : null\n\n const hourOptions = getHourOptions(use12Hour)\n const minuteOptions = getMinuteOptions(minuteStep)\n\n // Calculate display hour for matching in 12h mode\n const displayHour = currentHours !== undefined\n ? use12Hour\n ? to12Hour(currentHours).hour12\n : currentHours\n : undefined\n\n return (\n <div className={cn(\"relative\", className)} data-slot=\"time-picker\" {...props}>\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger asChild>\n <button\n className={cn(\n timePickerTriggerVariants({ size, variant }),\n !displayValue && \"text-muted-foreground\"\n )}\n aria-expanded={open}\n aria-haspopup=\"dialog\"\n aria-invalid={invalid}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-required={required}\n data-size={size}\n data-slot=\"time-picker-trigger\"\n data-state={open ? \"open\" : \"closed\"}\n data-variant={variant}\n disabled={disabled}\n id={id}\n role=\"combobox\"\n type=\"button\"\n >\n <span className=\"flex-1 truncate\">\n {displayValue ?? placeholder}\n </span>\n <ClockIcon className=\"size-4 shrink-0 opacity-50\" />\n </button>\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"w-auto p-0\"\n data-slot=\"time-picker-content\"\n >\n <div\n aria-label=\"Time selection\"\n className=\"flex divide-x\"\n role=\"listbox\"\n >\n {/* Hours Column */}\n <div className=\"flex flex-col\">\n <div className=\"px-2 py-1.5 text-xs font-medium text-muted-foreground text-center border-b\">\n {use12Hour ? \"Hour\" : \"Hours\"}\n </div>\n <ScrollArea className=\"h-60\">\n <div\n ref={hourListRef}\n aria-label=\"Hours\"\n className={cn(timeScrollListVariants({ type: \"hour\" }))}\n role=\"group\"\n >\n {hourOptions.map((hour) => {\n const isSelected = displayHour === hour\n return (\n <button\n key={hour}\n aria-selected={isSelected}\n className={cn(timeItemVariants({ selected: isSelected }))}\n data-selected={isSelected}\n role=\"option\"\n type=\"button\"\n onClick={() => { handleHourSelect(hour); }}\n >\n {use12Hour ? hour : hour.toString().padStart(2, \"0\")}\n </button>\n )\n })}\n </div>\n </ScrollArea>\n </div>\n\n {/* Minutes Column */}\n <div className=\"flex flex-col\">\n <div className=\"px-2 py-1.5 text-xs font-medium text-muted-foreground text-center border-b\">\n Min\n </div>\n <ScrollArea className=\"h-60\">\n <div\n ref={minuteListRef}\n aria-label=\"Minutes\"\n className={cn(timeScrollListVariants({ type: \"minute\" }))}\n role=\"group\"\n >\n {minuteOptions.map((minute) => {\n const isSelected = currentMinutes === minute\n return (\n <button\n key={minute}\n aria-selected={isSelected}\n className={cn(timeItemVariants({ selected: isSelected }))}\n data-selected={isSelected}\n role=\"option\"\n type=\"button\"\n onClick={() => { handleMinuteSelect(minute); }}\n >\n {minute.toString().padStart(2, \"0\")}\n </button>\n )\n })}\n </div>\n </ScrollArea>\n </div>\n\n {/* AM/PM Column (12-hour mode only) */}\n {use12Hour && (\n <div className=\"flex flex-col\">\n <div className=\"px-2 py-1.5 text-xs font-medium text-muted-foreground text-center border-b\">\n &nbsp;\n </div>\n <div\n ref={periodListRef}\n aria-label=\"Period\"\n className={cn(timeScrollListVariants({ type: \"period\" }), \"h-auto\")}\n role=\"group\"\n >\n {([\"AM\", \"PM\"] as const).map((period) => {\n const isSelected = currentPeriod === period\n return (\n <button\n key={period}\n aria-selected={isSelected}\n className={cn(timeItemVariants({ selected: isSelected }))}\n data-selected={isSelected}\n role=\"option\"\n type=\"button\"\n onClick={() => { handlePeriodSelect(period); }}\n >\n {period}\n </button>\n )\n })}\n </div>\n </div>\n )}\n </div>\n </PopoverContent>\n </Popover>\n {name && (\n <input\n name={name}\n type=\"hidden\"\n value={hasValue ? formatTime(currentHours, currentMinutes) : \"\"}\n />\n )}\n </div>\n )\n}\n\nexport { TimePicker }\n"]}
@@ -1,5 +1,5 @@
1
1
  import { radioGroupVariants, radioGroupIndicatorVariants, radioGroupItemVariants } from './chunk-ONTUN5XH.js';
2
- import { cn } from './chunk-HRNDJU7D.js';
2
+ import { cn } from './chunk-RVAYDRMA.js';
3
3
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
4
4
  import * as React from 'react';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -65,5 +65,5 @@ function RadioGroupItem({
65
65
  }
66
66
 
67
67
  export { RadioGroup, RadioGroupItem };
68
- //# sourceMappingURL=chunk-FRDYXDAE.js.map
69
- //# sourceMappingURL=chunk-FRDYXDAE.js.map
68
+ //# sourceMappingURL=chunk-JUZ4JQWH.js.map
69
+ //# sourceMappingURL=chunk-JUZ4JQWH.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/forms/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":";;;;;;AAcA,SAAS,UAAA,CAAW;AAAA,EAClB,SAAA;AAAA,EACA,WAAA,GAAc,UAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAoB;AAClB,EAAA,uBACE,GAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,WAAW,EAAA,CAAG,kBAAA,CAAmB,EAAE,WAAA,EAAa,GAAG,SAAS,CAAA;AAAA,MAC5D,WAAA,EAAU,aAAA;AAAA,MACV,WAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,KAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,MAAM,cAAoB,KAAA,CAAA,KAAA,EAAM;AAChC,EAAA,MAAM,SAAS,EAAA,IAAM,WAAA;AAErB,EAAA,MAAM,IAAA,mBACJ,GAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,WAAW,EAAA,CAAG,sBAAA,CAAuB,EAAE,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MACzD,WAAA,EAAU,kBAAA;AAAA,MACV,EAAA,EAAI,MAAA;AAAA,MACH,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAqB,mBAAA,CAAA,SAAA;AAAA,QAApB;AAAA,UACC,SAAA,EAAW,2BAAA,CAA4B,EAAE,IAAA,EAAM,CAAA;AAAA,UAC/C,WAAA,EAAU;AAAA;AAAA;AACZ;AAAA,GACF;AAGF,EAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AAEnB,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EAA0B,aAAU,0BAAA,EAChD,QAAA,EAAA;AAAA,IAAA,IAAA;AAAA,oBACD,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA;AAAA,UACT,6DAAA;AAAA,UACA,2DAAA;AAAA,UACA,SAAS,IAAA,IAAQ,WAAA;AAAA,UACjB,SAAS,IAAA,IAAQ;AAAA,SACnB;AAAA,QACA,WAAA,EAAU,wBAAA;AAAA,QACV,OAAA,EAAS,MAAA;AAAA,QAER,QAAA,EAAA;AAAA;AAAA;AACH,GAAA,EACF,CAAA;AAEJ","file":"chunk-FRDYXDAE.js","sourcesContent":["\"use client\"\n\nimport type { RadioGroupItemProps, RadioGroupProps } from \"./RadioGroup.types\"\n\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n radioGroupIndicatorVariants,\n radioGroupItemVariants,\n radioGroupVariants,\n} from \"./RadioGroup.variants\"\n\nfunction RadioGroup({\n className,\n orientation = \"vertical\",\n ...props\n}: RadioGroupProps) {\n return (\n <RadioGroupPrimitive.Root\n className={cn(radioGroupVariants({ orientation }), className)}\n data-slot=\"radio-group\"\n orientation={orientation}\n {...props}\n />\n )\n}\n\nfunction RadioGroupItem({\n className,\n size = \"md\",\n label,\n id,\n ...props\n}: RadioGroupItemProps) {\n const generatedId = React.useId()\n const itemId = id ?? generatedId\n\n const item = (\n <RadioGroupPrimitive.Item\n className={cn(radioGroupItemVariants({ size }), className)}\n data-slot=\"radio-group-item\"\n id={itemId}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n className={radioGroupIndicatorVariants({ size })}\n data-slot=\"radio-group-indicator\"\n />\n </RadioGroupPrimitive.Item>\n )\n\n if (!label) return item\n\n return (\n <div className=\"flex items-center gap-2\" data-slot=\"radio-group-item-wrapper\">\n {item}\n <label\n className={cn(\n \"text-sm font-medium leading-none cursor-pointer select-none\",\n \"peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n size === \"lg\" && \"text-base\",\n size === \"sm\" && \"text-xs\"\n )}\n data-slot=\"radio-group-item-label\"\n htmlFor={itemId}\n >\n {label}\n </label>\n </div>\n )\n}\n\nexport { RadioGroup, RadioGroupItem }\n"]}
1
+ {"version":3,"sources":["../src/components/forms/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":";;;;;;AAcA,SAAS,UAAA,CAAW;AAAA,EAClB,SAAA;AAAA,EACA,WAAA,GAAc,UAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAoB;AAClB,EAAA,uBACE,GAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,WAAW,EAAA,CAAG,kBAAA,CAAmB,EAAE,WAAA,EAAa,GAAG,SAAS,CAAA;AAAA,MAC5D,WAAA,EAAU,aAAA;AAAA,MACV,WAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,KAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,MAAM,cAAoB,KAAA,CAAA,KAAA,EAAM;AAChC,EAAA,MAAM,SAAS,EAAA,IAAM,WAAA;AAErB,EAAA,MAAM,IAAA,mBACJ,GAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,WAAW,EAAA,CAAG,sBAAA,CAAuB,EAAE,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MACzD,WAAA,EAAU,kBAAA;AAAA,MACV,EAAA,EAAI,MAAA;AAAA,MACH,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAqB,mBAAA,CAAA,SAAA;AAAA,QAApB;AAAA,UACC,SAAA,EAAW,2BAAA,CAA4B,EAAE,IAAA,EAAM,CAAA;AAAA,UAC/C,WAAA,EAAU;AAAA;AAAA;AACZ;AAAA,GACF;AAGF,EAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AAEnB,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EAA0B,aAAU,0BAAA,EAChD,QAAA,EAAA;AAAA,IAAA,IAAA;AAAA,oBACD,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA;AAAA,UACT,6DAAA;AAAA,UACA,2DAAA;AAAA,UACA,SAAS,IAAA,IAAQ,WAAA;AAAA,UACjB,SAAS,IAAA,IAAQ;AAAA,SACnB;AAAA,QACA,WAAA,EAAU,wBAAA;AAAA,QACV,OAAA,EAAS,MAAA;AAAA,QAER,QAAA,EAAA;AAAA;AAAA;AACH,GAAA,EACF,CAAA;AAEJ","file":"chunk-JUZ4JQWH.js","sourcesContent":["\"use client\"\n\nimport type { RadioGroupItemProps, RadioGroupProps } from \"./RadioGroup.types\"\n\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n radioGroupIndicatorVariants,\n radioGroupItemVariants,\n radioGroupVariants,\n} from \"./RadioGroup.variants\"\n\nfunction RadioGroup({\n className,\n orientation = \"vertical\",\n ...props\n}: RadioGroupProps) {\n return (\n <RadioGroupPrimitive.Root\n className={cn(radioGroupVariants({ orientation }), className)}\n data-slot=\"radio-group\"\n orientation={orientation}\n {...props}\n />\n )\n}\n\nfunction RadioGroupItem({\n className,\n size = \"md\",\n label,\n id,\n ...props\n}: RadioGroupItemProps) {\n const generatedId = React.useId()\n const itemId = id ?? generatedId\n\n const item = (\n <RadioGroupPrimitive.Item\n className={cn(radioGroupItemVariants({ size }), className)}\n data-slot=\"radio-group-item\"\n id={itemId}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n className={radioGroupIndicatorVariants({ size })}\n data-slot=\"radio-group-indicator\"\n />\n </RadioGroupPrimitive.Item>\n )\n\n if (!label) return item\n\n return (\n <div className=\"flex items-center gap-2\" data-slot=\"radio-group-item-wrapper\">\n {item}\n <label\n className={cn(\n \"text-sm font-medium leading-none cursor-pointer select-none\",\n \"peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n size === \"lg\" && \"text-base\",\n size === \"sm\" && \"text-xs\"\n )}\n data-slot=\"radio-group-item-label\"\n htmlFor={itemId}\n >\n {label}\n </label>\n </div>\n )\n}\n\nexport { RadioGroup, RadioGroupItem }\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
3
  import { ChevronDown } from 'lucide-react';
4
4
  import * as React from 'react';
@@ -159,5 +159,5 @@ function AccordionContent({
159
159
  AccordionContent.displayName = "AccordionContent";
160
160
 
161
161
  export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, accordionContentInnerVariants, accordionContentVariants, accordionItemVariants, accordionTriggerVariants };
162
- //# sourceMappingURL=chunk-6SHOL6WR.js.map
163
- //# sourceMappingURL=chunk-6SHOL6WR.js.map
162
+ //# sourceMappingURL=chunk-JVTB3NTP.js.map
163
+ //# sourceMappingURL=chunk-JVTB3NTP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/data-display/Accordion/Accordion.variants.ts","../src/components/data-display/Accordion/Accordion.tsx"],"names":[],"mappings":"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","file":"chunk-6SHOL6WR.js","sourcesContent":["// Accordion/Accordion.variants.ts\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * AccordionItem style variants using CVA\n *\n * @see https://cva.style/docs\n */\nexport const accordionItemVariants = cva(\n // Base styles (always applied)\n [\"last:border-b-0\"],\n {\n variants: {\n variant: {\n default: \"border-b-[var(--accordion-item-border-width)]\",\n flush: \"\",\n separated: \"border-[var(--accordion-item-border-width)] rounded-[var(--accordion-item-radius)] mb-[var(--accordion-root-gap)] last:mb-0 px-[var(--accordion-item-padding-x)]\",\n contained: \"border-x-[var(--accordion-item-border-width)] first:border-t-[var(--accordion-item-border-width)] first:rounded-t-[var(--accordion-item-radius)] last:border-b-[var(--accordion-item-border-width)] last:rounded-b-[var(--accordion-item-radius)] px-[var(--accordion-item-padding-x)]\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\n/**\n * AccordionTrigger style variants using CVA\n *\n * @see https://cva.style/docs\n */\nexport const accordionTriggerVariants = cva(\n // Base styles (always applied)\n [\n \"flex flex-1 items-start justify-between gap-[var(--accordion-trigger-gap)]\",\n \"rounded-[var(--accordion-trigger-radius)] text-left font-medium\",\n \"transition-all outline-none\",\n \"hover:underline\",\n \"focus-visible:border-ring focus-visible:ring-[color:var(--accordion-trigger-ring-primary)]/50 focus-visible:ring-[length:var(--accordion-trigger-ring-width)]\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"[&[data-state=open]>svg]:rotate-180\",\n \"[&>svg]:size-[var(--accordion-icon-size)]\",\n \"[&>svg]:transition-transform [&>svg]:duration-[var(--accordion-icon-transition-duration)]\",\n ],\n {\n variants: {\n size: {\n sm: \"py-[var(--accordion-trigger-padding-y-sm)] text-[length:var(--accordion-trigger-text-size-sm)]\",\n default: \"py-[var(--accordion-trigger-padding-y-md)] text-[length:var(--accordion-trigger-text-size-md)]\",\n lg: \"py-[var(--accordion-trigger-padding-y-lg)] text-[length:var(--accordion-trigger-text-size-lg)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * AccordionContent style variants using CVA\n *\n * @see https://cva.style/docs\n */\nexport const accordionContentVariants = cva(\n // Base styles (always applied)\n [\n \"overflow-hidden text-sm\",\n \"data-[state=closed]:animate-accordion-up\",\n \"data-[state=open]:animate-accordion-down\",\n ],\n {\n variants: {\n size: {\n sm: \"\",\n default: \"\",\n lg: \"\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * AccordionContent inner wrapper style variants using CVA\n */\nexport const accordionContentInnerVariants = cva([\"pt-0\"], {\n variants: {\n size: {\n sm: \"pb-[var(--accordion-content-padding-bottom-sm)]\",\n default: \"pb-[var(--accordion-content-padding-bottom-md)]\",\n lg: \"pb-[var(--accordion-content-padding-bottom-lg)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n})\n\n// Export variant prop types\nexport type AccordionItemVariantProps = VariantProps<typeof accordionItemVariants>\nexport type AccordionTriggerVariantProps = VariantProps<typeof accordionTriggerVariants>\nexport type AccordionContentVariantProps = VariantProps<typeof accordionContentVariants>\n\n// Combined variant props for the compound component\nexport interface AccordionVariantProps {\n /** Size of the accordion items */\n size?: AccordionTriggerVariantProps[\"size\"]\n /** Visual style variant */\n variant?: AccordionItemVariantProps[\"variant\"]\n}\n","// Accordion/Accordion.tsx\n\"use client\"\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { ChevronDown } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n accordionContentInnerVariants,\n accordionContentVariants,\n accordionItemVariants,\n accordionTriggerVariants,\n type AccordionVariantProps,\n} from \"./Accordion.variants\"\n\n// ============================================\n// CONTEXT FOR VARIANT PROPAGATION\n// ============================================\n\ntype AccordionContextValue = AccordionVariantProps\n\nconst AccordionContext = React.createContext<AccordionContextValue>({\n variant: \"default\",\n size: \"default\",\n})\n\nfunction useAccordionContext() {\n return React.use(AccordionContext)\n}\n\n// ============================================\n// ACCORDION ROOT\n// ============================================\n\ntype AccordionProps = React.ComponentProps<typeof AccordionPrimitive.Root> &\n AccordionVariantProps\n\n/**\n * Accordion - Collapsible content sections\n *\n * @example\n * ```tsx\n * <Accordion type=\"single\" collapsible variant=\"default\" size=\"default\">\n * <AccordionItem value=\"item-1\">\n * <AccordionTrigger>Section 1</AccordionTrigger>\n * <AccordionContent>Content for section 1</AccordionContent>\n * </AccordionItem>\n * </Accordion>\n * ```\n */\nfunction Accordion({\n variant = \"default\",\n size = \"default\",\n className,\n ...props\n}: AccordionProps) {\n return (\n <AccordionContext value={{ variant, size }}>\n <AccordionPrimitive.Root\n className={cn(\n variant === \"separated\" && \"space-y-[var(--accordion-root-gap)]\",\n className\n )}\n data-slot=\"accordion\"\n {...props}\n />\n </AccordionContext>\n )\n}\n\nAccordion.displayName = \"Accordion\"\n\n// ============================================\n// ACCORDION ITEM\n// ============================================\n\ntype AccordionItemProps = React.ComponentProps<typeof AccordionPrimitive.Item>\n\nfunction AccordionItem({ className, ...props }: AccordionItemProps) {\n const { variant } = useAccordionContext()\n\n return (\n <AccordionPrimitive.Item\n className={cn(accordionItemVariants({ variant }), className)}\n data-slot=\"accordion-item\"\n {...props}\n />\n )\n}\n\nAccordionItem.displayName = \"AccordionItem\"\n\n// ============================================\n// ACCORDION TRIGGER\n// ============================================\n\ntype AccordionTriggerProps = React.ComponentProps<typeof AccordionPrimitive.Trigger> & {\n /**\n * Custom icon to render in place of the default chevron.\n * When provided, the icon receives the same transition + transform\n * animations as the default chevron (rotates on expand).\n *\n * @example\n * <AccordionTrigger chevron={<PlusIcon />}>Section 1</AccordionTrigger>\n */\n chevron?: React.ReactNode\n}\n\nfunction AccordionTrigger({\n className,\n children,\n chevron,\n ...props\n}: AccordionTriggerProps) {\n const { size } = useAccordionContext()\n\n const iconClasses = \"text-muted-foreground pointer-events-none size-[var(--accordion-icon-size)] shrink-0 translate-y-0.5 transition-transform duration-[var(--accordion-icon-transition-duration)]\"\n\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n className={cn(accordionTriggerVariants({ size }), className)}\n data-slot=\"accordion-trigger\"\n {...props}\n >\n {children}\n {chevron ? (\n <span className={iconClasses} data-slot=\"accordion-icon\">\n {chevron}\n </span>\n ) : (\n <ChevronDown className={iconClasses} data-slot=\"accordion-icon\" />\n )}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nAccordionTrigger.displayName = \"AccordionTrigger\"\n\n// ============================================\n// ACCORDION CONTENT\n// ============================================\n\ntype AccordionContentProps = React.ComponentProps<typeof AccordionPrimitive.Content>\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: AccordionContentProps) {\n const { size } = useAccordionContext()\n\n return (\n <AccordionPrimitive.Content\n className={cn(accordionContentVariants({ size }))}\n data-slot=\"accordion-content\"\n {...props}\n >\n <div className={cn(accordionContentInnerVariants({ size }), className)}>\n {children}\n </div>\n </AccordionPrimitive.Content>\n )\n}\n\nAccordionContent.displayName = \"AccordionContent\"\n\n// ============================================\n// EXPORTS\n// ============================================\n\nexport {\n Accordion,\n AccordionContent,\n type AccordionContentProps,\n AccordionItem,\n type AccordionItemProps,\n type AccordionProps,\n AccordionTrigger,\n type AccordionTriggerProps,\n}\n"]}
1
+ {"version":3,"sources":["../src/components/data-display/Accordion/Accordion.variants.ts","../src/components/data-display/Accordion/Accordion.tsx"],"names":[],"mappings":"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","file":"chunk-JVTB3NTP.js","sourcesContent":["// Accordion/Accordion.variants.ts\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * AccordionItem style variants using CVA\n *\n * @see https://cva.style/docs\n */\nexport const accordionItemVariants = cva(\n // Base styles (always applied)\n [\"last:border-b-0\"],\n {\n variants: {\n variant: {\n default: \"border-b-[var(--accordion-item-border-width)]\",\n flush: \"\",\n separated: \"border-[var(--accordion-item-border-width)] rounded-[var(--accordion-item-radius)] mb-[var(--accordion-root-gap)] last:mb-0 px-[var(--accordion-item-padding-x)]\",\n contained: \"border-x-[var(--accordion-item-border-width)] first:border-t-[var(--accordion-item-border-width)] first:rounded-t-[var(--accordion-item-radius)] last:border-b-[var(--accordion-item-border-width)] last:rounded-b-[var(--accordion-item-radius)] px-[var(--accordion-item-padding-x)]\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\n/**\n * AccordionTrigger style variants using CVA\n *\n * @see https://cva.style/docs\n */\nexport const accordionTriggerVariants = cva(\n // Base styles (always applied)\n [\n \"flex flex-1 items-start justify-between gap-[var(--accordion-trigger-gap)]\",\n \"rounded-[var(--accordion-trigger-radius)] text-left font-medium\",\n \"transition-all outline-none\",\n \"hover:underline\",\n \"focus-visible:border-ring focus-visible:ring-[color:var(--accordion-trigger-ring-primary)]/50 focus-visible:ring-[length:var(--accordion-trigger-ring-width)]\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"[&[data-state=open]>svg]:rotate-180\",\n \"[&>svg]:size-[var(--accordion-icon-size)]\",\n \"[&>svg]:transition-transform [&>svg]:duration-[var(--accordion-icon-transition-duration)]\",\n ],\n {\n variants: {\n size: {\n sm: \"py-[var(--accordion-trigger-padding-y-sm)] text-[length:var(--accordion-trigger-text-size-sm)]\",\n default: \"py-[var(--accordion-trigger-padding-y-md)] text-[length:var(--accordion-trigger-text-size-md)]\",\n lg: \"py-[var(--accordion-trigger-padding-y-lg)] text-[length:var(--accordion-trigger-text-size-lg)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * AccordionContent style variants using CVA\n *\n * @see https://cva.style/docs\n */\nexport const accordionContentVariants = cva(\n // Base styles (always applied)\n [\n \"overflow-hidden text-sm\",\n \"data-[state=closed]:animate-accordion-up\",\n \"data-[state=open]:animate-accordion-down\",\n ],\n {\n variants: {\n size: {\n sm: \"\",\n default: \"\",\n lg: \"\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * AccordionContent inner wrapper style variants using CVA\n */\nexport const accordionContentInnerVariants = cva([\"pt-0\"], {\n variants: {\n size: {\n sm: \"pb-[var(--accordion-content-padding-bottom-sm)]\",\n default: \"pb-[var(--accordion-content-padding-bottom-md)]\",\n lg: \"pb-[var(--accordion-content-padding-bottom-lg)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n})\n\n// Export variant prop types\nexport type AccordionItemVariantProps = VariantProps<typeof accordionItemVariants>\nexport type AccordionTriggerVariantProps = VariantProps<typeof accordionTriggerVariants>\nexport type AccordionContentVariantProps = VariantProps<typeof accordionContentVariants>\n\n// Combined variant props for the compound component\nexport interface AccordionVariantProps {\n /** Size of the accordion items */\n size?: AccordionTriggerVariantProps[\"size\"]\n /** Visual style variant */\n variant?: AccordionItemVariantProps[\"variant\"]\n}\n","// Accordion/Accordion.tsx\n\"use client\"\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { ChevronDown } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n accordionContentInnerVariants,\n accordionContentVariants,\n accordionItemVariants,\n accordionTriggerVariants,\n type AccordionVariantProps,\n} from \"./Accordion.variants\"\n\n// ============================================\n// CONTEXT FOR VARIANT PROPAGATION\n// ============================================\n\ntype AccordionContextValue = AccordionVariantProps\n\nconst AccordionContext = React.createContext<AccordionContextValue>({\n variant: \"default\",\n size: \"default\",\n})\n\nfunction useAccordionContext() {\n return React.use(AccordionContext)\n}\n\n// ============================================\n// ACCORDION ROOT\n// ============================================\n\ntype AccordionProps = React.ComponentProps<typeof AccordionPrimitive.Root> &\n AccordionVariantProps\n\n/**\n * Accordion - Collapsible content sections\n *\n * @example\n * ```tsx\n * <Accordion type=\"single\" collapsible variant=\"default\" size=\"default\">\n * <AccordionItem value=\"item-1\">\n * <AccordionTrigger>Section 1</AccordionTrigger>\n * <AccordionContent>Content for section 1</AccordionContent>\n * </AccordionItem>\n * </Accordion>\n * ```\n */\nfunction Accordion({\n variant = \"default\",\n size = \"default\",\n className,\n ...props\n}: AccordionProps) {\n return (\n <AccordionContext value={{ variant, size }}>\n <AccordionPrimitive.Root\n className={cn(\n variant === \"separated\" && \"space-y-[var(--accordion-root-gap)]\",\n className\n )}\n data-slot=\"accordion\"\n {...props}\n />\n </AccordionContext>\n )\n}\n\nAccordion.displayName = \"Accordion\"\n\n// ============================================\n// ACCORDION ITEM\n// ============================================\n\ntype AccordionItemProps = React.ComponentProps<typeof AccordionPrimitive.Item>\n\nfunction AccordionItem({ className, ...props }: AccordionItemProps) {\n const { variant } = useAccordionContext()\n\n return (\n <AccordionPrimitive.Item\n className={cn(accordionItemVariants({ variant }), className)}\n data-slot=\"accordion-item\"\n {...props}\n />\n )\n}\n\nAccordionItem.displayName = \"AccordionItem\"\n\n// ============================================\n// ACCORDION TRIGGER\n// ============================================\n\ntype AccordionTriggerProps = React.ComponentProps<typeof AccordionPrimitive.Trigger> & {\n /**\n * Custom icon to render in place of the default chevron.\n * When provided, the icon receives the same transition + transform\n * animations as the default chevron (rotates on expand).\n *\n * @example\n * <AccordionTrigger chevron={<PlusIcon />}>Section 1</AccordionTrigger>\n */\n chevron?: React.ReactNode\n}\n\nfunction AccordionTrigger({\n className,\n children,\n chevron,\n ...props\n}: AccordionTriggerProps) {\n const { size } = useAccordionContext()\n\n const iconClasses = \"text-muted-foreground pointer-events-none size-[var(--accordion-icon-size)] shrink-0 translate-y-0.5 transition-transform duration-[var(--accordion-icon-transition-duration)]\"\n\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n className={cn(accordionTriggerVariants({ size }), className)}\n data-slot=\"accordion-trigger\"\n {...props}\n >\n {children}\n {chevron ? (\n <span className={iconClasses} data-slot=\"accordion-icon\">\n {chevron}\n </span>\n ) : (\n <ChevronDown className={iconClasses} data-slot=\"accordion-icon\" />\n )}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nAccordionTrigger.displayName = \"AccordionTrigger\"\n\n// ============================================\n// ACCORDION CONTENT\n// ============================================\n\ntype AccordionContentProps = React.ComponentProps<typeof AccordionPrimitive.Content>\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: AccordionContentProps) {\n const { size } = useAccordionContext()\n\n return (\n <AccordionPrimitive.Content\n className={cn(accordionContentVariants({ size }))}\n data-slot=\"accordion-content\"\n {...props}\n >\n <div className={cn(accordionContentInnerVariants({ size }), className)}>\n {children}\n </div>\n </AccordionPrimitive.Content>\n )\n}\n\nAccordionContent.displayName = \"AccordionContent\"\n\n// ============================================\n// EXPORTS\n// ============================================\n\nexport {\n Accordion,\n AccordionContent,\n type AccordionContentProps,\n AccordionItem,\n type AccordionItemProps,\n type AccordionProps,\n AccordionTrigger,\n type AccordionTriggerProps,\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
3
3
  import { MinusIcon, CheckIcon } from 'lucide-react';
4
4
  import 'react';
@@ -70,5 +70,5 @@ function Checkbox({
70
70
  }
71
71
 
72
72
  export { Checkbox, checkboxIconVariants, checkboxVariants };
73
- //# sourceMappingURL=chunk-XETKCF73.js.map
74
- //# sourceMappingURL=chunk-XETKCF73.js.map
73
+ //# sourceMappingURL=chunk-JXEIRIU4.js.map
74
+ //# sourceMappingURL=chunk-JXEIRIU4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/forms/Checkbox/Checkbox.variants.ts","../src/components/forms/Checkbox/Checkbox.tsx"],"names":[],"mappings":";;;;;;;AAEO,IAAM,gBAAA,GAAmB,GAAA;AAAA,EAC9B;AAAA,IACE,8CAAA;AAAA,IACA,4EAAA;AAAA,IACA,oHAAA;AAAA,IACA,mIAAA;AAAA,IACA,8IAAA;AAAA,IACA,+IAAA;AAAA,IACA,0JAAA;AAAA,IACA,yJAAA;AAAA,IACA,wGAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,gCAAA;AAAA,QACJ,EAAA,EAAI,gCAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AAEO,IAAM,oBAAA,GAAuB,GAAA;AAAA,EAClC,wDAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AClCA,SAAS,QAAA,CAAS;AAAA,EAChB,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,GAAG;AACL,CAAA,EAAkB;AAChB,EAAA,uBACE,GAAA;AAAA,IAAmB,iBAAA,CAAA,IAAA;AAAA,IAAlB;AAAA,MACC,WAAW,EAAA,CAAG,gBAAA,CAAiB,EAAE,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MACnD,WAAA,EAAU,UAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAmB,iBAAA,CAAA,SAAA;AAAA,QAAlB;AAAA,UACC,SAAA,EAAW,oBAAA,CAAqB,EAAE,IAAA,EAAM,CAAA;AAAA,UACxC,WAAA,EAAU,oBAAA;AAAA,UAET,gBAAM,OAAA,KAAY,eAAA,uBAChB,SAAA,EAAA,EAAU,CAAA,uBAEV,SAAA,EAAA,EAAU;AAAA;AAAA;AAEf;AAAA,GACF;AAEJ","file":"chunk-XETKCF73.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\nexport const checkboxVariants = cva(\n [\n \"peer shrink-0 outline-none transition-shadow\",\n \"rounded-[var(--checkbox-root-radius)] shadow-[var(--checkbox-root-shadow)]\",\n \"border border-[color:var(--checkbox-root-border-default)] bg-[color:var(--checkbox-root-bg-default)] dark:bg-input\",\n \"data-[state=checked]:bg-[color:var(--checkbox-root-bg-checked)] data-[state=checked]:text-[color:var(--checkbox-indicator-color)]\",\n \"data-[state=checked]:border-[color:var(--checkbox-root-border-checked)] dark:data-[state=checked]:bg-[color:var(--checkbox-root-bg-checked)]\",\n \"data-[state=indeterminate]:bg-[color:var(--checkbox-root-bg-checked)] data-[state=indeterminate]:text-[color:var(--checkbox-indicator-color)]\",\n \"data-[state=indeterminate]:border-[color:var(--checkbox-root-border-checked)] dark:data-[state=indeterminate]:bg-[color:var(--checkbox-root-bg-checked)]\",\n \"focus-visible:border-[color:var(--checkbox-root-border-focus)] focus-visible:ring-[color:var(--checkbox-root-border-focus)]/50 focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n \"disabled:cursor-not-allowed disabled:bg-[color:var(--checkbox-root-bg-disabled)] disabled:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"size-[var(--checkbox-size-sm)]\",\n md: \"size-[var(--checkbox-size-md)]\",\n lg: \"size-[var(--checkbox-size-lg)]\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport const checkboxIconVariants = cva(\n \"grid place-content-center text-current transition-none\",\n {\n variants: {\n size: {\n sm: \"[&>svg]:size-2.5\",\n md: \"[&>svg]:size-3.5\",\n lg: \"[&>svg]:size-4\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport type CheckboxVariantProps = VariantProps<typeof checkboxVariants>\n","import type { CheckboxProps } from \"./Checkbox.types\"\n\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { CheckIcon, MinusIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { checkboxIconVariants, checkboxVariants } from \"./Checkbox.variants\"\n\nfunction Checkbox({\n className,\n size = \"md\",\n ...props\n}: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root\n className={cn(checkboxVariants({ size }), className)}\n data-slot=\"checkbox\"\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={checkboxIconVariants({ size })}\n data-slot=\"checkbox-indicator\"\n >\n {props.checked === \"indeterminate\" ? (\n <MinusIcon />\n ) : (\n <CheckIcon />\n )}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n"]}
1
+ {"version":3,"sources":["../src/components/forms/Checkbox/Checkbox.variants.ts","../src/components/forms/Checkbox/Checkbox.tsx"],"names":[],"mappings":";;;;;;;AAEO,IAAM,gBAAA,GAAmB,GAAA;AAAA,EAC9B;AAAA,IACE,8CAAA;AAAA,IACA,4EAAA;AAAA,IACA,oHAAA;AAAA,IACA,mIAAA;AAAA,IACA,8IAAA;AAAA,IACA,+IAAA;AAAA,IACA,0JAAA;AAAA,IACA,yJAAA;AAAA,IACA,wGAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,gCAAA;AAAA,QACJ,EAAA,EAAI,gCAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AAEO,IAAM,oBAAA,GAAuB,GAAA;AAAA,EAClC,wDAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AClCA,SAAS,QAAA,CAAS;AAAA,EAChB,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,GAAG;AACL,CAAA,EAAkB;AAChB,EAAA,uBACE,GAAA;AAAA,IAAmB,iBAAA,CAAA,IAAA;AAAA,IAAlB;AAAA,MACC,WAAW,EAAA,CAAG,gBAAA,CAAiB,EAAE,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MACnD,WAAA,EAAU,UAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAmB,iBAAA,CAAA,SAAA;AAAA,QAAlB;AAAA,UACC,SAAA,EAAW,oBAAA,CAAqB,EAAE,IAAA,EAAM,CAAA;AAAA,UACxC,WAAA,EAAU,oBAAA;AAAA,UAET,gBAAM,OAAA,KAAY,eAAA,uBAChB,SAAA,EAAA,EAAU,CAAA,uBAEV,SAAA,EAAA,EAAU;AAAA;AAAA;AAEf;AAAA,GACF;AAEJ","file":"chunk-JXEIRIU4.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\nexport const checkboxVariants = cva(\n [\n \"peer shrink-0 outline-none transition-shadow\",\n \"rounded-[var(--checkbox-root-radius)] shadow-[var(--checkbox-root-shadow)]\",\n \"border border-[color:var(--checkbox-root-border-default)] bg-[color:var(--checkbox-root-bg-default)] dark:bg-input\",\n \"data-[state=checked]:bg-[color:var(--checkbox-root-bg-checked)] data-[state=checked]:text-[color:var(--checkbox-indicator-color)]\",\n \"data-[state=checked]:border-[color:var(--checkbox-root-border-checked)] dark:data-[state=checked]:bg-[color:var(--checkbox-root-bg-checked)]\",\n \"data-[state=indeterminate]:bg-[color:var(--checkbox-root-bg-checked)] data-[state=indeterminate]:text-[color:var(--checkbox-indicator-color)]\",\n \"data-[state=indeterminate]:border-[color:var(--checkbox-root-border-checked)] dark:data-[state=indeterminate]:bg-[color:var(--checkbox-root-bg-checked)]\",\n \"focus-visible:border-[color:var(--checkbox-root-border-focus)] focus-visible:ring-[color:var(--checkbox-root-border-focus)]/50 focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n \"disabled:cursor-not-allowed disabled:bg-[color:var(--checkbox-root-bg-disabled)] disabled:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"size-[var(--checkbox-size-sm)]\",\n md: \"size-[var(--checkbox-size-md)]\",\n lg: \"size-[var(--checkbox-size-lg)]\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport const checkboxIconVariants = cva(\n \"grid place-content-center text-current transition-none\",\n {\n variants: {\n size: {\n sm: \"[&>svg]:size-2.5\",\n md: \"[&>svg]:size-3.5\",\n lg: \"[&>svg]:size-4\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport type CheckboxVariantProps = VariantProps<typeof checkboxVariants>\n","import type { CheckboxProps } from \"./Checkbox.types\"\n\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { CheckIcon, MinusIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { checkboxIconVariants, checkboxVariants } from \"./Checkbox.variants\"\n\nfunction Checkbox({\n className,\n size = \"md\",\n ...props\n}: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root\n className={cn(checkboxVariants({ size }), className)}\n data-slot=\"checkbox\"\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={checkboxIconVariants({ size })}\n data-slot=\"checkbox-indicator\"\n >\n {props.checked === \"indeterminate\" ? (\n <MinusIcon />\n ) : (\n <CheckIcon />\n )}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import { SearchIcon, GitBranchIcon, FolderOpenIcon, FolderIcon, FileIcon, ChevronRight } from 'lucide-react';
3
3
  import * as React from 'react';
4
4
  import { cva } from 'class-variance-authority';
@@ -520,5 +520,5 @@ FileTree.Body = FileTreeBody;
520
520
  FileTree.Footer = FileTreeFooter;
521
521
 
522
522
  export { FileTree, FileTreeAction, FileTreeBody, FileTreeFooter, FileTreeHeader, FileTreeProjectBadge, FileTreeProjectMeta, FileTreeSearch, FileTreeToolbar, fileTreeRowVariants, fileTreeShellVariants };
523
- //# sourceMappingURL=chunk-XKO6G5H2.js.map
524
- //# sourceMappingURL=chunk-XKO6G5H2.js.map
523
+ //# sourceMappingURL=chunk-JYYB6F5O.js.map
524
+ //# sourceMappingURL=chunk-JYYB6F5O.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/navigation/FileTree/FileTree.variants.ts","../src/components/navigation/FileTree/FileTree.tsx"],"names":[],"mappings":"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","file":"chunk-XKO6G5H2.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\nexport const fileTreeShellVariants = cva(\n [\n \"flex flex-col h-full select-none\",\n \"bg-[color:var(--filetree-shell-bg,var(--sidebar))]\",\n \"text-[color:var(--filetree-shell-fg,var(--sidebar-foreground))]\",\n \"border-r border-[color:var(--filetree-shell-border,var(--sidebar-border))]\",\n ],\n {\n variants: {\n variant: {\n ide: \"font-mono\",\n notion: \"font-sans\",\n outline: \"font-sans\",\n },\n size: {\n sm: \"w-[var(--filetree-shell-width-sm,240px)]\",\n default: \"w-[var(--filetree-shell-width-default,296px)]\",\n lg: \"w-[var(--filetree-shell-width-lg,320px)]\",\n },\n },\n defaultVariants: {\n variant: \"ide\",\n size: \"default\",\n },\n },\n)\n\nexport const fileTreeRowVariants = cva(\n [\n \"relative flex items-center cursor-pointer\",\n \"transition-colors duration-100\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--ring)]\",\n \"data-[active=true]:bg-[color:var(--filetree-row-active-bg,var(--brand-primary-100,var(--accent)))] data-[active=true]:text-[color:var(--filetree-row-active-fg,var(--brand-primary-900,var(--accent-foreground)))]\",\n \"hover:bg-[color:var(--filetree-row-hover-bg,var(--muted))]\",\n ],\n {\n variants: {\n variant: {\n ide: \"h-[var(--filetree-variant-ide-row-h,24px)] rounded-[var(--filetree-row-radius,4px)] pr-[var(--filetree-row-padding-x,8px)] text-[length:var(--filetree-variant-ide-text,12.5px)]\",\n notion: \"h-[var(--filetree-variant-notion-row-h,30px)] rounded-md pr-1.5 pl-1 text-[length:var(--filetree-variant-notion-text,13.5px)]\",\n outline: \"h-[var(--filetree-variant-outline-row-h,28px)] rounded-[var(--filetree-row-radius,4px)] px-2.5 text-[length:var(--filetree-variant-outline-text,13px)]\",\n },\n },\n defaultVariants: {\n variant: \"ide\",\n },\n },\n)\n","\"use client\"\n\nimport type {\n FileTreeNode,\n FileTreeProps,\n FileTreeRowContext,\n} from \"./FileTree.types\"\n\nimport { ChevronRight, FileIcon, FolderIcon, FolderOpenIcon, GitBranchIcon, SearchIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n fileTreeRowVariants,\n fileTreeShellVariants,\n} from \"./FileTree.variants\"\n\n/* ─────────────────────────────────────────────────────────────\n * Context — shares variant/state/handlers with sub-components.\n * ─────────────────────────────────────────────────────────────*/\n\ninterface FileTreeContextValue {\n data: FileTreeNode\n expanded: Record<string, boolean>\n focusedPath: string | undefined\n getNodeProps?: FileTreeProps[\"getNodeProps\"]\n keyboardNav: boolean\n renderLeading?: FileTreeProps[\"renderLeading\"]\n renderRow?: FileTreeProps[\"renderRow\"]\n renderTrailing?: FileTreeProps[\"renderTrailing\"]\n searchOnChange?: (value: string) => void\n searchPlaceholder?: string\n searchValue: string\n select: (path: string, node: FileTreeNode) => void\n selectedPath: string | undefined\n setFocused: (path: string | undefined) => void\n size: \"default\" | \"lg\" | \"sm\"\n toggle: (path: string) => void\n variant: \"ide\" | \"notion\" | \"outline\"\n}\n\nconst FileTreeContext = React.createContext<FileTreeContextValue | null>(null)\n\nfunction useFileTree(): FileTreeContextValue {\n const ctx = React.use(FileTreeContext)\n if (!ctx) throw new Error(\"FileTree sub-components must be used inside <FileTree>.\")\n return ctx\n}\n\n/* ─────────────────────────────────────────────────────────────\n * Utilities\n * ─────────────────────────────────────────────────────────────*/\n\nfunction collectInitialExpanded(node: FileTreeNode, acc: Record<string, boolean> = {}): Record<string, boolean> {\n if (node.kind === \"folder\" && node.open) acc[node.path] = true\n node.children?.forEach((c) => collectInitialExpanded(c, acc))\n return acc\n}\n\nfunction collectInitialActive(node: FileTreeNode): string | undefined {\n if (node.active) return node.path\n if (node.children) {\n for (const c of node.children) {\n const r = collectInitialActive(c)\n if (r) return r\n }\n }\n return undefined\n}\n\n/** Flat list of currently-visible nodes (respects expanded state). Used for keyboard nav. */\nfunction visibleNodes(root: FileTreeNode, expanded: Record<string, boolean>): { depth: number; node: FileTreeNode; }[] {\n const out: { depth: number; node: FileTreeNode; }[] = []\n function walk(n: FileTreeNode, depth: number) {\n if (n !== root) out.push({ node: n, depth })\n if (n.kind === \"folder\" && (n === root || expanded[n.path])) {\n n.children?.forEach((c) => { walk(c, n === root ? 0 : depth + 1); })\n }\n }\n walk(root, -1)\n return out\n}\n\n/* ─────────────────────────────────────────────────────────────\n * Sub-components (Header, Toolbar, Body, Footer)\n * ─────────────────────────────────────────────────────────────*/\n\nfunction FileTreeHeader({ className, children, ...props }: React.ComponentProps<\"div\">) {\n if (!children) return null\n return (\n <div\n className={cn(\n \"flex items-center gap-[var(--filetree-project-gap)] px-[var(--filetree-project-padding-x)] pt-[var(--filetree-project-padding-top)] pb-[var(--filetree-project-padding-bottom)] border-b border-[color:var(--filetree-shell-border,var(--sidebar-border))]\",\n className,\n )}\n data-slot=\"filetree-header\"\n {...props}\n >\n {children}\n </div>\n )\n}\n\nfunction FileTreeProjectBadge({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"grid place-items-center shrink-0 size-[var(--filetree-project-badge-size)] rounded-[var(--filetree-project-badge-radius)]\",\n \"bg-[color:var(--filetree-project-badge-bg)] text-[color:var(--filetree-project-badge-fg)]\",\n \"text-[length:var(--filetree-project-badge-text)] font-[number:var(--filetree-project-badge-weight)] tracking-[-0.02em]\",\n className,\n )}\n data-slot=\"filetree-project-badge\"\n {...props}\n />\n )\n}\n\nfunction FileTreeProjectMeta({ name, sub }: { name: string; sub?: string }) {\n return (\n <div className=\"flex flex-col min-w-0 flex-1 leading-tight\" data-slot=\"filetree-project-meta\">\n <span className=\"text-[length:var(--filetree-project-name-text)] font-[number:var(--filetree-project-name-weight)] truncate\" data-slot=\"filetree-project-name\">\n {name}\n </span>\n {sub && (\n <span className=\"text-[length:var(--filetree-project-sub-text)] text-[color:var(--filetree-project-sub-fg)] truncate\" data-slot=\"filetree-project-sub\">\n {sub}\n </span>\n )}\n </div>\n )\n}\n\nfunction FileTreeToolbar({ className, children, ...props }: React.ComponentProps<\"div\">) {\n if (!children) return null\n return (\n <div\n className={cn(\"flex items-center gap-[var(--filetree-toolbar-gap)] px-[var(--filetree-toolbar-padding-x)] py-[var(--filetree-toolbar-padding-y)]\", className)}\n data-slot=\"filetree-toolbar\"\n {...props}\n >\n {children}\n </div>\n )\n}\n\nfunction FileTreeSearch({\n shortcut,\n placeholder,\n value,\n onChange,\n}: {\n onChange?: (value: string) => void\n placeholder?: string\n shortcut?: string\n value?: string\n}) {\n const ctx = React.use(FileTreeContext)\n // Use context's search props as fallback when this Search component doesn't get explicit ones.\n const ph = placeholder ?? ctx?.searchPlaceholder ?? \"Buscar arquivo…\"\n const val = value ?? ctx?.searchValue ?? \"\"\n const handle = onChange ?? ctx?.searchOnChange\n return (\n <label\n className={cn(\n \"flex items-center gap-1.5 flex-1 min-w-0 h-[var(--filetree-toolbar-search-h)] px-[var(--filetree-toolbar-search-px)] rounded-[var(--filetree-toolbar-search-radius)]\",\n \"bg-[color:var(--filetree-toolbar-search-bg)] border border-transparent text-[color:var(--muted-foreground)] text-[length:var(--filetree-toolbar-search-text)]\",\n \"transition-[border-color,background-color] duration-100\",\n \"focus-within:border-[color:var(--ring)] focus-within:bg-[color:var(--background)]\",\n )}\n data-slot=\"filetree-search\"\n >\n <SearchIcon size={14} />\n <input\n className=\"flex-1 min-w-0 bg-transparent border-0 outline-none text-[color:var(--foreground)] placeholder:text-[color:var(--muted-foreground)]\"\n placeholder={ph}\n type=\"text\"\n value={val}\n onChange={(e) => handle?.(e.target.value)}\n />\n {shortcut && (\n <kbd className=\"font-mono text-[length:var(--filetree-toolbar-search-kbd-text)] bg-[color:var(--neutral-200,var(--muted))] text-[color:var(--muted-foreground)] px-1.5 py-px rounded-xs\">\n {shortcut}\n </kbd>\n )}\n </label>\n )\n}\n\nfunction FileTreeAction({\n icon,\n className,\n children,\n ...props\n}: React.ComponentProps<\"button\"> & { icon?: React.ReactNode }) {\n return (\n <button\n className={cn(\n \"grid place-items-center shrink-0 size-[var(--filetree-toolbar-action-size)] rounded-[var(--filetree-toolbar-action-radius)]\",\n \"bg-transparent text-[color:var(--muted-foreground)] cursor-pointer\",\n \"transition-colors hover:bg-[color:var(--muted)] hover:text-[color:var(--foreground)]\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--ring)]\",\n className,\n )}\n data-slot=\"filetree-action\"\n type=\"button\"\n {...props}\n >\n {icon ?? children}\n </button>\n )\n}\n\nfunction FileTreeBody({ className, ...props }: React.ComponentProps<\"div\">) {\n const ctx = useFileTree()\n return (\n <div\n aria-label=\"File tree\"\n className={cn(\"flex-1 min-h-0 overflow-y-auto px-1.5 pt-1 pb-3\", className)}\n data-slot=\"filetree-body\"\n data-variant={ctx.variant}\n role=\"tree\"\n {...props}\n >\n {ctx.data.children?.map((child) => (\n <FileTreeNodeRenderer key={child.path} depth={0} node={child} />\n ))}\n </div>\n )\n}\n\nfunction FileTreeFooter({\n branch,\n indicator = \"dot\",\n children,\n}: {\n branch?: string\n children?: React.ReactNode\n indicator?: \"dot\" | \"none\"\n}) {\n if (!branch && !children) return null\n return (\n <div\n className={cn(\n \"flex items-center gap-[var(--filetree-footer-gap)] px-[var(--filetree-footer-padding-x)] py-[var(--filetree-footer-padding-y)] border-t border-[color:var(--filetree-shell-border,var(--sidebar-border))]\",\n \"text-[length:var(--filetree-footer-text)] text-[color:var(--muted-foreground)]\",\n )}\n data-slot=\"filetree-footer\"\n >\n {branch && (\n <span className=\"inline-flex items-center gap-1.5 text-[color:var(--foreground)] font-[number:var(--filetree-footer-branch-weight)] font-mono text-[length:var(--filetree-footer-branch-text)]\">\n <GitBranchIcon size={12} />\n {branch}\n </span>\n )}\n {children}\n {indicator === \"dot\" && (\n <span\n className={cn(\n \"ml-auto size-[var(--filetree-footer-dot-size)] rounded-full\",\n \"bg-[color:var(--filetree-footer-dot-color)]\",\n \"shadow-[var(--filetree-footer-dot-ring)]\",\n )}\n data-slot=\"filetree-footer-indicator\"\n />\n )}\n </div>\n )\n}\n\n/* ─────────────────────────────────────────────────────────────\n * Row renderer — recursive\n * ─────────────────────────────────────────────────────────────*/\n\n// eslint-disable-next-line sonarjs/cognitive-complexity -- tree node renderer composes 3 variants (ide/notion/outline) + keyboard handler; splitting hurts readability more than it helps\nfunction FileTreeNodeRenderer({ node, depth }: { depth: number; node: FileTreeNode; }) {\n const ctx = useFileTree()\n const isFolder = node.kind === \"folder\"\n const isExpanded = !!ctx.expanded[node.path]\n const isActive = ctx.selectedPath === node.path\n const isFocused = ctx.focusedPath === node.path\n\n const rowContext: FileTreeRowContext = {\n depth,\n isExpanded,\n isActive,\n isFolder,\n isFocused,\n toggle: () => { ctx.toggle(node.path); },\n select: () => { ctx.select(node.path, node); },\n }\n\n // Indent rendering depends on variant. IDE/Notion use guide-lines; outline is pure indent.\n const indentVar = ctx.variant === \"notion\" ? \"--filetree-variant-notion-indent\" : ctx.variant === \"outline\" ? \"--filetree-variant-outline-indent\" : \"--filetree-variant-ide-indent\"\n\n const handleClick = () => {\n ctx.select(node.path, node)\n if (isFolder) ctx.toggle(node.path)\n }\n\n // eslint-disable-next-line sonarjs/cognitive-complexity -- WAI-ARIA tree keyboard pattern requires 9 distinct key branches; refactoring obscures the spec mapping\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!ctx.keyboardNav) return\n const flat = visibleNodes(ctx.data, ctx.expanded)\n const idx = flat.findIndex((f) => f.node.path === node.path)\n if (e.key === \"ArrowDown\") {\n e.preventDefault()\n const next = flat[idx + 1]\n if (next) ctx.setFocused(next.node.path)\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault()\n const prev = flat[idx - 1]\n if (prev) ctx.setFocused(prev.node.path)\n } else if (e.key === \"ArrowRight\" && isFolder) {\n e.preventDefault()\n if (!isExpanded) ctx.toggle(node.path)\n else {\n const next = flat[idx + 1]\n if (next && next.depth > depth) ctx.setFocused(next.node.path)\n }\n } else if (e.key === \"ArrowLeft\") {\n e.preventDefault()\n if (isFolder && isExpanded) {\n ctx.toggle(node.path)\n } else {\n // move to parent (find previous shallower)\n for (let i = idx - 1; i >= 0; i--) {\n const f = flat[i]\n if (f && f.depth < depth) { ctx.setFocused(f.node.path); break }\n }\n }\n } else if (e.key === \"Home\") {\n e.preventDefault()\n if (flat[0]) ctx.setFocused(flat[0].node.path)\n } else if (e.key === \"End\") {\n e.preventDefault()\n const last = flat.at(-1)\n if (last) ctx.setFocused(last.node.path)\n } else if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n ctx.select(node.path, node)\n if (isFolder) ctx.toggle(node.path)\n }\n }\n\n // Compute leading + trailing via render-props OR defaults\n const leading = ctx.renderLeading\n ? ctx.renderLeading(node, rowContext)\n : isFolder\n ? <span className=\"grid place-items-center shrink-0 w-[var(--filetree-variant-ide-folder-icon-w)] text-[color:var(--filetree-variant-ide-folder-icon-color)]\">\n {isExpanded ? <FolderOpenIcon size={14} /> : <FolderIcon size={14} />}\n </span>\n : <span className=\"grid place-items-center shrink-0 w-[var(--filetree-variant-ide-folder-icon-w)] text-[color:var(--muted-foreground)]\">\n <FileIcon size={14} />\n </span>\n\n const trailing = ctx.renderTrailing?.(node, rowContext)\n\n // ── Variant: outline (no chevron, no folder icon, marker only)\n if (ctx.variant === \"outline\") {\n const isL0 = isFolder && depth === 0\n const rowEl = ctx.renderRow ? (\n ctx.renderRow(node, rowContext)\n ) : (\n <>\n {isFolder && !isL0 && (\n <span className={cn(\"inline-block w-[var(--filetree-variant-outline-marker-w)] shrink-0 text-[color:var(--muted-foreground)] font-mono text-[length:var(--filetree-variant-outline-marker-text)] transition-transform\", isExpanded && \"rotate-90\")}>\n ›\n </span>\n )}\n <span className={cn(\n \"flex-1 overflow-hidden text-ellipsis whitespace-nowrap\",\n isL0 && \"text-[length:var(--filetree-variant-outline-l0-text)] font-[number:var(--filetree-variant-outline-l0-weight)] uppercase tracking-[var(--filetree-variant-outline-l0-tracking)] text-[color:var(--muted-foreground)]\",\n !isL0 && isFolder && \"font-semibold tracking-[-0.005em] text-[color:var(--foreground)]\",\n )}>\n {node.name}\n </span>\n {!isFolder && (\n <span className={cn(\"size-[var(--filetree-variant-outline-status-size)] rounded-full shrink-0\", node.modified ? \"bg-[color:var(--filetree-row-modified-color)]\" : \"bg-[color:var(--muted)]\")} />\n )}\n {trailing}\n </>\n )\n return (\n <>\n <div\n className={cn(\n fileTreeRowVariants({ variant: \"outline\" }),\n isL0 && \"h-[var(--filetree-variant-outline-l0-h)] mt-[var(--filetree-variant-outline-l0-margin-top)] first:mt-0\",\n node.disabled && \"opacity-50 pointer-events-none\",\n )}\n aria-disabled={node.disabled ?? undefined}\n aria-expanded={isFolder ? isExpanded : undefined}\n aria-level={depth + 1}\n aria-selected={isActive || undefined}\n data-active={isActive || undefined}\n data-expanded={isFolder ? isExpanded : undefined}\n data-folder={isFolder || undefined}\n data-l0={isL0 || undefined}\n data-slot=\"filetree-row\"\n role=\"treeitem\"\n style={{ paddingLeft: `calc(10px + ${String(depth)} * var(${indentVar}))` }}\n tabIndex={isFocused ? 0 : -1}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...ctx.getNodeProps?.(node)}\n >\n {rowEl}\n </div>\n {isFolder && isExpanded && node.children?.map((c) => (\n <FileTreeNodeRenderer key={c.path} depth={depth + 1} node={c} />\n ))}\n </>\n )\n }\n\n // ── Variant: ide / notion (chevron + icon + name + trailing)\n const chevron = isFolder ? (\n <span\n className={cn(\n \"grid place-items-center shrink-0 w-[var(--filetree-variant-ide-chev-w)] text-[color:var(--muted-foreground)] transition-transform\",\n ctx.variant === \"notion\" && \"w-[var(--filetree-variant-notion-chev-w)] h-[var(--filetree-variant-notion-chev-h)] rounded-sm opacity-0 group-hover/ftrow:opacity-100\",\n isExpanded && \"rotate-90\",\n )}\n >\n <ChevronRight size={12} />\n </span>\n ) : (\n <span aria-hidden=\"true\" className={cn(\"inline-block shrink-0 w-[var(--filetree-variant-ide-chev-w)] h-[var(--filetree-variant-ide-chev-h)]\", ctx.variant === \"notion\" && \"w-[var(--filetree-variant-notion-chev-w)] h-[var(--filetree-variant-notion-chev-h)]\")} />\n )\n\n const indentEls = ctx.variant === \"ide\"\n ? Array.from({ length: depth }, (_, i) => (\n <span\n key={i}\n aria-hidden=\"true\"\n className=\"relative shrink-0 w-[var(--filetree-variant-ide-indent)] self-stretch\"\n >\n <span className=\"absolute left-2 top-0 bottom-0 w-px bg-[color:var(--filetree-variant-ide-indent-guide-color)]\" />\n </span>\n ))\n : null\n\n const row = ctx.renderRow ? (\n ctx.renderRow(node, rowContext)\n ) : (\n <>\n {indentEls}\n {chevron}\n {leading}\n <span className=\"pl-1.5 overflow-hidden text-ellipsis whitespace-nowrap flex-1\">\n {node.name}\n </span>\n {trailing}\n {node.modified && !isFolder && (\n <span className=\"ml-1 text-[color:var(--filetree-row-modified-color)] font-bold\">●</span>\n )}\n </>\n )\n\n return (\n <>\n <div\n className={cn(\n \"group/ftrow\",\n fileTreeRowVariants({ variant: ctx.variant }),\n node.disabled && \"opacity-50 pointer-events-none\",\n )}\n aria-disabled={node.disabled ?? undefined}\n aria-expanded={isFolder ? isExpanded : undefined}\n aria-level={depth + 1}\n aria-selected={isActive || undefined}\n data-active={isActive || undefined}\n data-expanded={isFolder ? isExpanded : undefined}\n data-folder={isFolder || undefined}\n data-slot=\"filetree-row\"\n role=\"treeitem\"\n style={ctx.variant === \"notion\" ? { paddingLeft: `calc(4px + ${String(depth)} * var(${indentVar}))` } : undefined}\n tabIndex={isFocused ? 0 : -1}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...ctx.getNodeProps?.(node)}\n >\n {row}\n </div>\n {isFolder && isExpanded && node.children?.map((c) => (\n <FileTreeNodeRenderer key={c.path} depth={depth + 1} node={c} />\n ))}\n </>\n )\n}\n\n/* ─────────────────────────────────────────────────────────────\n * Root — FileTree\n * ─────────────────────────────────────────────────────────────*/\n\nfunction FileTree({\n data,\n variant = \"ide\",\n size = \"default\",\n expanded: expandedProp,\n defaultExpanded,\n selectedPath: selectedPathProp,\n defaultSelectedPath,\n onToggle,\n onSelect,\n renderRow,\n renderLeading,\n renderTrailing,\n getNodeProps,\n searchValue: searchValueProp,\n onSearchChange,\n searchPlaceholder,\n keyboardNav = true,\n className,\n children,\n ...props\n}: FileTreeProps) {\n const isExpandedControlled = expandedProp !== undefined\n const isSelectedControlled = selectedPathProp !== undefined\n const isSearchControlled = searchValueProp !== undefined\n\n const [internalExpanded, setInternalExpanded] = React.useState<Record<string, boolean>>(\n () => defaultExpanded ?? collectInitialExpanded(data),\n )\n const [internalSelected, setInternalSelected] = React.useState<string | undefined>(\n () => defaultSelectedPath ?? collectInitialActive(data),\n )\n const [internalSearch, setInternalSearch] = React.useState<string>(\"\")\n // Initial focus: prefer selectedPath (controlled or default), else first visible node.\n // Computed at mount via useState initializer to avoid the \"initialize state in effect\" anti-pattern.\n const [focusedPath, setFocusedPath] = React.useState<string | undefined>(() => {\n const initial = defaultSelectedPath ?? selectedPathProp ?? collectInitialActive(data)\n if (initial) return initial\n const initialExpanded = defaultExpanded ?? collectInitialExpanded(data)\n return visibleNodes(data, initialExpanded)[0]?.node.path\n })\n\n const expanded = isExpandedControlled ? expandedProp : internalExpanded\n const selectedPath = isSelectedControlled ? selectedPathProp : internalSelected\n const searchValue = isSearchControlled ? searchValueProp : internalSearch\n\n const toggle = React.useCallback(\n (path: string) => {\n const next = !expanded[path]\n if (!isExpandedControlled) {\n setInternalExpanded((prev) => ({ ...prev, [path]: next }))\n }\n onToggle?.(path, next, { path, next, timestamp: Date.now() })\n },\n [expanded, isExpandedControlled, onToggle],\n )\n\n const select = React.useCallback(\n (path: string, node: FileTreeNode) => {\n if (!isSelectedControlled) setInternalSelected(path)\n setFocusedPath(path)\n onSelect?.(path, { path, node, timestamp: Date.now() })\n },\n [isSelectedControlled, onSelect],\n )\n\n const searchOnChange = React.useCallback(\n (v: string) => {\n if (!isSearchControlled) setInternalSearch(v)\n onSearchChange?.(v)\n },\n [isSearchControlled, onSearchChange],\n )\n\n const ctxValue: FileTreeContextValue = {\n variant,\n size,\n expanded,\n selectedPath,\n focusedPath,\n toggle,\n select,\n setFocused: setFocusedPath,\n data,\n renderRow,\n renderLeading,\n renderTrailing,\n getNodeProps,\n keyboardNav,\n searchValue,\n searchOnChange,\n searchPlaceholder,\n }\n\n return (\n <FileTreeContext value={ctxValue}>\n <div\n className={cn(fileTreeShellVariants({ variant, size }), className)}\n data-size={size}\n data-slot=\"filetree\"\n data-variant={variant}\n {...props}\n >\n {children ?? (\n <>\n <FileTreeBody />\n </>\n )}\n </div>\n </FileTreeContext>\n )\n}\n\n// Attach sub-components\nFileTree.Header = FileTreeHeader\nFileTree.ProjectBadge = FileTreeProjectBadge\nFileTree.ProjectMeta = FileTreeProjectMeta\nFileTree.Toolbar = FileTreeToolbar\nFileTree.Search = FileTreeSearch\nFileTree.Action = FileTreeAction\nFileTree.Body = FileTreeBody\nFileTree.Footer = FileTreeFooter\n\nexport {\n FileTree,\n FileTreeAction,\n FileTreeBody,\n FileTreeFooter,\n FileTreeHeader,\n FileTreeProjectBadge,\n FileTreeProjectMeta,\n fileTreeRowVariants,\n FileTreeSearch,\n fileTreeShellVariants,\n FileTreeToolbar,\n}\n"]}
1
+ {"version":3,"sources":["../src/components/navigation/FileTree/FileTree.variants.ts","../src/components/navigation/FileTree/FileTree.tsx"],"names":[],"mappings":"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","file":"chunk-JYYB6F5O.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\nexport const fileTreeShellVariants = cva(\n [\n \"flex flex-col h-full select-none\",\n \"bg-[color:var(--filetree-shell-bg,var(--sidebar))]\",\n \"text-[color:var(--filetree-shell-fg,var(--sidebar-foreground))]\",\n \"border-r border-[color:var(--filetree-shell-border,var(--sidebar-border))]\",\n ],\n {\n variants: {\n variant: {\n ide: \"font-mono\",\n notion: \"font-sans\",\n outline: \"font-sans\",\n },\n size: {\n sm: \"w-[var(--filetree-shell-width-sm,240px)]\",\n default: \"w-[var(--filetree-shell-width-default,296px)]\",\n lg: \"w-[var(--filetree-shell-width-lg,320px)]\",\n },\n },\n defaultVariants: {\n variant: \"ide\",\n size: \"default\",\n },\n },\n)\n\nexport const fileTreeRowVariants = cva(\n [\n \"relative flex items-center cursor-pointer\",\n \"transition-colors duration-100\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--ring)]\",\n \"data-[active=true]:bg-[color:var(--filetree-row-active-bg,var(--brand-primary-100,var(--accent)))] data-[active=true]:text-[color:var(--filetree-row-active-fg,var(--brand-primary-900,var(--accent-foreground)))]\",\n \"hover:bg-[color:var(--filetree-row-hover-bg,var(--muted))]\",\n ],\n {\n variants: {\n variant: {\n ide: \"h-[var(--filetree-variant-ide-row-h,24px)] rounded-[var(--filetree-row-radius,4px)] pr-[var(--filetree-row-padding-x,8px)] text-[length:var(--filetree-variant-ide-text,12.5px)]\",\n notion: \"h-[var(--filetree-variant-notion-row-h,30px)] rounded-md pr-1.5 pl-1 text-[length:var(--filetree-variant-notion-text,13.5px)]\",\n outline: \"h-[var(--filetree-variant-outline-row-h,28px)] rounded-[var(--filetree-row-radius,4px)] px-2.5 text-[length:var(--filetree-variant-outline-text,13px)]\",\n },\n },\n defaultVariants: {\n variant: \"ide\",\n },\n },\n)\n","\"use client\"\n\nimport type {\n FileTreeNode,\n FileTreeProps,\n FileTreeRowContext,\n} from \"./FileTree.types\"\n\nimport { ChevronRight, FileIcon, FolderIcon, FolderOpenIcon, GitBranchIcon, SearchIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n fileTreeRowVariants,\n fileTreeShellVariants,\n} from \"./FileTree.variants\"\n\n/* ─────────────────────────────────────────────────────────────\n * Context — shares variant/state/handlers with sub-components.\n * ─────────────────────────────────────────────────────────────*/\n\ninterface FileTreeContextValue {\n data: FileTreeNode\n expanded: Record<string, boolean>\n focusedPath: string | undefined\n getNodeProps?: FileTreeProps[\"getNodeProps\"]\n keyboardNav: boolean\n renderLeading?: FileTreeProps[\"renderLeading\"]\n renderRow?: FileTreeProps[\"renderRow\"]\n renderTrailing?: FileTreeProps[\"renderTrailing\"]\n searchOnChange?: (value: string) => void\n searchPlaceholder?: string\n searchValue: string\n select: (path: string, node: FileTreeNode) => void\n selectedPath: string | undefined\n setFocused: (path: string | undefined) => void\n size: \"default\" | \"lg\" | \"sm\"\n toggle: (path: string) => void\n variant: \"ide\" | \"notion\" | \"outline\"\n}\n\nconst FileTreeContext = React.createContext<FileTreeContextValue | null>(null)\n\nfunction useFileTree(): FileTreeContextValue {\n const ctx = React.use(FileTreeContext)\n if (!ctx) throw new Error(\"FileTree sub-components must be used inside <FileTree>.\")\n return ctx\n}\n\n/* ─────────────────────────────────────────────────────────────\n * Utilities\n * ─────────────────────────────────────────────────────────────*/\n\nfunction collectInitialExpanded(node: FileTreeNode, acc: Record<string, boolean> = {}): Record<string, boolean> {\n if (node.kind === \"folder\" && node.open) acc[node.path] = true\n node.children?.forEach((c) => collectInitialExpanded(c, acc))\n return acc\n}\n\nfunction collectInitialActive(node: FileTreeNode): string | undefined {\n if (node.active) return node.path\n if (node.children) {\n for (const c of node.children) {\n const r = collectInitialActive(c)\n if (r) return r\n }\n }\n return undefined\n}\n\n/** Flat list of currently-visible nodes (respects expanded state). Used for keyboard nav. */\nfunction visibleNodes(root: FileTreeNode, expanded: Record<string, boolean>): { depth: number; node: FileTreeNode; }[] {\n const out: { depth: number; node: FileTreeNode; }[] = []\n function walk(n: FileTreeNode, depth: number) {\n if (n !== root) out.push({ node: n, depth })\n if (n.kind === \"folder\" && (n === root || expanded[n.path])) {\n n.children?.forEach((c) => { walk(c, n === root ? 0 : depth + 1); })\n }\n }\n walk(root, -1)\n return out\n}\n\n/* ─────────────────────────────────────────────────────────────\n * Sub-components (Header, Toolbar, Body, Footer)\n * ─────────────────────────────────────────────────────────────*/\n\nfunction FileTreeHeader({ className, children, ...props }: React.ComponentProps<\"div\">) {\n if (!children) return null\n return (\n <div\n className={cn(\n \"flex items-center gap-[var(--filetree-project-gap)] px-[var(--filetree-project-padding-x)] pt-[var(--filetree-project-padding-top)] pb-[var(--filetree-project-padding-bottom)] border-b border-[color:var(--filetree-shell-border,var(--sidebar-border))]\",\n className,\n )}\n data-slot=\"filetree-header\"\n {...props}\n >\n {children}\n </div>\n )\n}\n\nfunction FileTreeProjectBadge({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"grid place-items-center shrink-0 size-[var(--filetree-project-badge-size)] rounded-[var(--filetree-project-badge-radius)]\",\n \"bg-[color:var(--filetree-project-badge-bg)] text-[color:var(--filetree-project-badge-fg)]\",\n \"text-[length:var(--filetree-project-badge-text)] font-[number:var(--filetree-project-badge-weight)] tracking-[-0.02em]\",\n className,\n )}\n data-slot=\"filetree-project-badge\"\n {...props}\n />\n )\n}\n\nfunction FileTreeProjectMeta({ name, sub }: { name: string; sub?: string }) {\n return (\n <div className=\"flex flex-col min-w-0 flex-1 leading-tight\" data-slot=\"filetree-project-meta\">\n <span className=\"text-[length:var(--filetree-project-name-text)] font-[number:var(--filetree-project-name-weight)] truncate\" data-slot=\"filetree-project-name\">\n {name}\n </span>\n {sub && (\n <span className=\"text-[length:var(--filetree-project-sub-text)] text-[color:var(--filetree-project-sub-fg)] truncate\" data-slot=\"filetree-project-sub\">\n {sub}\n </span>\n )}\n </div>\n )\n}\n\nfunction FileTreeToolbar({ className, children, ...props }: React.ComponentProps<\"div\">) {\n if (!children) return null\n return (\n <div\n className={cn(\"flex items-center gap-[var(--filetree-toolbar-gap)] px-[var(--filetree-toolbar-padding-x)] py-[var(--filetree-toolbar-padding-y)]\", className)}\n data-slot=\"filetree-toolbar\"\n {...props}\n >\n {children}\n </div>\n )\n}\n\nfunction FileTreeSearch({\n shortcut,\n placeholder,\n value,\n onChange,\n}: {\n onChange?: (value: string) => void\n placeholder?: string\n shortcut?: string\n value?: string\n}) {\n const ctx = React.use(FileTreeContext)\n // Use context's search props as fallback when this Search component doesn't get explicit ones.\n const ph = placeholder ?? ctx?.searchPlaceholder ?? \"Buscar arquivo…\"\n const val = value ?? ctx?.searchValue ?? \"\"\n const handle = onChange ?? ctx?.searchOnChange\n return (\n <label\n className={cn(\n \"flex items-center gap-1.5 flex-1 min-w-0 h-[var(--filetree-toolbar-search-h)] px-[var(--filetree-toolbar-search-px)] rounded-[var(--filetree-toolbar-search-radius)]\",\n \"bg-[color:var(--filetree-toolbar-search-bg)] border border-transparent text-[color:var(--muted-foreground)] text-[length:var(--filetree-toolbar-search-text)]\",\n \"transition-[border-color,background-color] duration-100\",\n \"focus-within:border-[color:var(--ring)] focus-within:bg-[color:var(--background)]\",\n )}\n data-slot=\"filetree-search\"\n >\n <SearchIcon size={14} />\n <input\n className=\"flex-1 min-w-0 bg-transparent border-0 outline-none text-[color:var(--foreground)] placeholder:text-[color:var(--muted-foreground)]\"\n placeholder={ph}\n type=\"text\"\n value={val}\n onChange={(e) => handle?.(e.target.value)}\n />\n {shortcut && (\n <kbd className=\"font-mono text-[length:var(--filetree-toolbar-search-kbd-text)] bg-[color:var(--neutral-200,var(--muted))] text-[color:var(--muted-foreground)] px-1.5 py-px rounded-xs\">\n {shortcut}\n </kbd>\n )}\n </label>\n )\n}\n\nfunction FileTreeAction({\n icon,\n className,\n children,\n ...props\n}: React.ComponentProps<\"button\"> & { icon?: React.ReactNode }) {\n return (\n <button\n className={cn(\n \"grid place-items-center shrink-0 size-[var(--filetree-toolbar-action-size)] rounded-[var(--filetree-toolbar-action-radius)]\",\n \"bg-transparent text-[color:var(--muted-foreground)] cursor-pointer\",\n \"transition-colors hover:bg-[color:var(--muted)] hover:text-[color:var(--foreground)]\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--ring)]\",\n className,\n )}\n data-slot=\"filetree-action\"\n type=\"button\"\n {...props}\n >\n {icon ?? children}\n </button>\n )\n}\n\nfunction FileTreeBody({ className, ...props }: React.ComponentProps<\"div\">) {\n const ctx = useFileTree()\n return (\n <div\n aria-label=\"File tree\"\n className={cn(\"flex-1 min-h-0 overflow-y-auto px-1.5 pt-1 pb-3\", className)}\n data-slot=\"filetree-body\"\n data-variant={ctx.variant}\n role=\"tree\"\n {...props}\n >\n {ctx.data.children?.map((child) => (\n <FileTreeNodeRenderer key={child.path} depth={0} node={child} />\n ))}\n </div>\n )\n}\n\nfunction FileTreeFooter({\n branch,\n indicator = \"dot\",\n children,\n}: {\n branch?: string\n children?: React.ReactNode\n indicator?: \"dot\" | \"none\"\n}) {\n if (!branch && !children) return null\n return (\n <div\n className={cn(\n \"flex items-center gap-[var(--filetree-footer-gap)] px-[var(--filetree-footer-padding-x)] py-[var(--filetree-footer-padding-y)] border-t border-[color:var(--filetree-shell-border,var(--sidebar-border))]\",\n \"text-[length:var(--filetree-footer-text)] text-[color:var(--muted-foreground)]\",\n )}\n data-slot=\"filetree-footer\"\n >\n {branch && (\n <span className=\"inline-flex items-center gap-1.5 text-[color:var(--foreground)] font-[number:var(--filetree-footer-branch-weight)] font-mono text-[length:var(--filetree-footer-branch-text)]\">\n <GitBranchIcon size={12} />\n {branch}\n </span>\n )}\n {children}\n {indicator === \"dot\" && (\n <span\n className={cn(\n \"ml-auto size-[var(--filetree-footer-dot-size)] rounded-full\",\n \"bg-[color:var(--filetree-footer-dot-color)]\",\n \"shadow-[var(--filetree-footer-dot-ring)]\",\n )}\n data-slot=\"filetree-footer-indicator\"\n />\n )}\n </div>\n )\n}\n\n/* ─────────────────────────────────────────────────────────────\n * Row renderer — recursive\n * ─────────────────────────────────────────────────────────────*/\n\n// eslint-disable-next-line sonarjs/cognitive-complexity -- tree node renderer composes 3 variants (ide/notion/outline) + keyboard handler; splitting hurts readability more than it helps\nfunction FileTreeNodeRenderer({ node, depth }: { depth: number; node: FileTreeNode; }) {\n const ctx = useFileTree()\n const isFolder = node.kind === \"folder\"\n const isExpanded = !!ctx.expanded[node.path]\n const isActive = ctx.selectedPath === node.path\n const isFocused = ctx.focusedPath === node.path\n\n const rowContext: FileTreeRowContext = {\n depth,\n isExpanded,\n isActive,\n isFolder,\n isFocused,\n toggle: () => { ctx.toggle(node.path); },\n select: () => { ctx.select(node.path, node); },\n }\n\n // Indent rendering depends on variant. IDE/Notion use guide-lines; outline is pure indent.\n const indentVar = ctx.variant === \"notion\" ? \"--filetree-variant-notion-indent\" : ctx.variant === \"outline\" ? \"--filetree-variant-outline-indent\" : \"--filetree-variant-ide-indent\"\n\n const handleClick = () => {\n ctx.select(node.path, node)\n if (isFolder) ctx.toggle(node.path)\n }\n\n // eslint-disable-next-line sonarjs/cognitive-complexity -- WAI-ARIA tree keyboard pattern requires 9 distinct key branches; refactoring obscures the spec mapping\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!ctx.keyboardNav) return\n const flat = visibleNodes(ctx.data, ctx.expanded)\n const idx = flat.findIndex((f) => f.node.path === node.path)\n if (e.key === \"ArrowDown\") {\n e.preventDefault()\n const next = flat[idx + 1]\n if (next) ctx.setFocused(next.node.path)\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault()\n const prev = flat[idx - 1]\n if (prev) ctx.setFocused(prev.node.path)\n } else if (e.key === \"ArrowRight\" && isFolder) {\n e.preventDefault()\n if (!isExpanded) ctx.toggle(node.path)\n else {\n const next = flat[idx + 1]\n if (next && next.depth > depth) ctx.setFocused(next.node.path)\n }\n } else if (e.key === \"ArrowLeft\") {\n e.preventDefault()\n if (isFolder && isExpanded) {\n ctx.toggle(node.path)\n } else {\n // move to parent (find previous shallower)\n for (let i = idx - 1; i >= 0; i--) {\n const f = flat[i]\n if (f && f.depth < depth) { ctx.setFocused(f.node.path); break }\n }\n }\n } else if (e.key === \"Home\") {\n e.preventDefault()\n if (flat[0]) ctx.setFocused(flat[0].node.path)\n } else if (e.key === \"End\") {\n e.preventDefault()\n const last = flat.at(-1)\n if (last) ctx.setFocused(last.node.path)\n } else if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n ctx.select(node.path, node)\n if (isFolder) ctx.toggle(node.path)\n }\n }\n\n // Compute leading + trailing via render-props OR defaults\n const leading = ctx.renderLeading\n ? ctx.renderLeading(node, rowContext)\n : isFolder\n ? <span className=\"grid place-items-center shrink-0 w-[var(--filetree-variant-ide-folder-icon-w)] text-[color:var(--filetree-variant-ide-folder-icon-color)]\">\n {isExpanded ? <FolderOpenIcon size={14} /> : <FolderIcon size={14} />}\n </span>\n : <span className=\"grid place-items-center shrink-0 w-[var(--filetree-variant-ide-folder-icon-w)] text-[color:var(--muted-foreground)]\">\n <FileIcon size={14} />\n </span>\n\n const trailing = ctx.renderTrailing?.(node, rowContext)\n\n // ── Variant: outline (no chevron, no folder icon, marker only)\n if (ctx.variant === \"outline\") {\n const isL0 = isFolder && depth === 0\n const rowEl = ctx.renderRow ? (\n ctx.renderRow(node, rowContext)\n ) : (\n <>\n {isFolder && !isL0 && (\n <span className={cn(\"inline-block w-[var(--filetree-variant-outline-marker-w)] shrink-0 text-[color:var(--muted-foreground)] font-mono text-[length:var(--filetree-variant-outline-marker-text)] transition-transform\", isExpanded && \"rotate-90\")}>\n ›\n </span>\n )}\n <span className={cn(\n \"flex-1 overflow-hidden text-ellipsis whitespace-nowrap\",\n isL0 && \"text-[length:var(--filetree-variant-outline-l0-text)] font-[number:var(--filetree-variant-outline-l0-weight)] uppercase tracking-[var(--filetree-variant-outline-l0-tracking)] text-[color:var(--muted-foreground)]\",\n !isL0 && isFolder && \"font-semibold tracking-[-0.005em] text-[color:var(--foreground)]\",\n )}>\n {node.name}\n </span>\n {!isFolder && (\n <span className={cn(\"size-[var(--filetree-variant-outline-status-size)] rounded-full shrink-0\", node.modified ? \"bg-[color:var(--filetree-row-modified-color)]\" : \"bg-[color:var(--muted)]\")} />\n )}\n {trailing}\n </>\n )\n return (\n <>\n <div\n className={cn(\n fileTreeRowVariants({ variant: \"outline\" }),\n isL0 && \"h-[var(--filetree-variant-outline-l0-h)] mt-[var(--filetree-variant-outline-l0-margin-top)] first:mt-0\",\n node.disabled && \"opacity-50 pointer-events-none\",\n )}\n aria-disabled={node.disabled ?? undefined}\n aria-expanded={isFolder ? isExpanded : undefined}\n aria-level={depth + 1}\n aria-selected={isActive || undefined}\n data-active={isActive || undefined}\n data-expanded={isFolder ? isExpanded : undefined}\n data-folder={isFolder || undefined}\n data-l0={isL0 || undefined}\n data-slot=\"filetree-row\"\n role=\"treeitem\"\n style={{ paddingLeft: `calc(10px + ${String(depth)} * var(${indentVar}))` }}\n tabIndex={isFocused ? 0 : -1}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...ctx.getNodeProps?.(node)}\n >\n {rowEl}\n </div>\n {isFolder && isExpanded && node.children?.map((c) => (\n <FileTreeNodeRenderer key={c.path} depth={depth + 1} node={c} />\n ))}\n </>\n )\n }\n\n // ── Variant: ide / notion (chevron + icon + name + trailing)\n const chevron = isFolder ? (\n <span\n className={cn(\n \"grid place-items-center shrink-0 w-[var(--filetree-variant-ide-chev-w)] text-[color:var(--muted-foreground)] transition-transform\",\n ctx.variant === \"notion\" && \"w-[var(--filetree-variant-notion-chev-w)] h-[var(--filetree-variant-notion-chev-h)] rounded-sm opacity-0 group-hover/ftrow:opacity-100\",\n isExpanded && \"rotate-90\",\n )}\n >\n <ChevronRight size={12} />\n </span>\n ) : (\n <span aria-hidden=\"true\" className={cn(\"inline-block shrink-0 w-[var(--filetree-variant-ide-chev-w)] h-[var(--filetree-variant-ide-chev-h)]\", ctx.variant === \"notion\" && \"w-[var(--filetree-variant-notion-chev-w)] h-[var(--filetree-variant-notion-chev-h)]\")} />\n )\n\n const indentEls = ctx.variant === \"ide\"\n ? Array.from({ length: depth }, (_, i) => (\n <span\n key={i}\n aria-hidden=\"true\"\n className=\"relative shrink-0 w-[var(--filetree-variant-ide-indent)] self-stretch\"\n >\n <span className=\"absolute left-2 top-0 bottom-0 w-px bg-[color:var(--filetree-variant-ide-indent-guide-color)]\" />\n </span>\n ))\n : null\n\n const row = ctx.renderRow ? (\n ctx.renderRow(node, rowContext)\n ) : (\n <>\n {indentEls}\n {chevron}\n {leading}\n <span className=\"pl-1.5 overflow-hidden text-ellipsis whitespace-nowrap flex-1\">\n {node.name}\n </span>\n {trailing}\n {node.modified && !isFolder && (\n <span className=\"ml-1 text-[color:var(--filetree-row-modified-color)] font-bold\">●</span>\n )}\n </>\n )\n\n return (\n <>\n <div\n className={cn(\n \"group/ftrow\",\n fileTreeRowVariants({ variant: ctx.variant }),\n node.disabled && \"opacity-50 pointer-events-none\",\n )}\n aria-disabled={node.disabled ?? undefined}\n aria-expanded={isFolder ? isExpanded : undefined}\n aria-level={depth + 1}\n aria-selected={isActive || undefined}\n data-active={isActive || undefined}\n data-expanded={isFolder ? isExpanded : undefined}\n data-folder={isFolder || undefined}\n data-slot=\"filetree-row\"\n role=\"treeitem\"\n style={ctx.variant === \"notion\" ? { paddingLeft: `calc(4px + ${String(depth)} * var(${indentVar}))` } : undefined}\n tabIndex={isFocused ? 0 : -1}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...ctx.getNodeProps?.(node)}\n >\n {row}\n </div>\n {isFolder && isExpanded && node.children?.map((c) => (\n <FileTreeNodeRenderer key={c.path} depth={depth + 1} node={c} />\n ))}\n </>\n )\n}\n\n/* ─────────────────────────────────────────────────────────────\n * Root — FileTree\n * ─────────────────────────────────────────────────────────────*/\n\nfunction FileTree({\n data,\n variant = \"ide\",\n size = \"default\",\n expanded: expandedProp,\n defaultExpanded,\n selectedPath: selectedPathProp,\n defaultSelectedPath,\n onToggle,\n onSelect,\n renderRow,\n renderLeading,\n renderTrailing,\n getNodeProps,\n searchValue: searchValueProp,\n onSearchChange,\n searchPlaceholder,\n keyboardNav = true,\n className,\n children,\n ...props\n}: FileTreeProps) {\n const isExpandedControlled = expandedProp !== undefined\n const isSelectedControlled = selectedPathProp !== undefined\n const isSearchControlled = searchValueProp !== undefined\n\n const [internalExpanded, setInternalExpanded] = React.useState<Record<string, boolean>>(\n () => defaultExpanded ?? collectInitialExpanded(data),\n )\n const [internalSelected, setInternalSelected] = React.useState<string | undefined>(\n () => defaultSelectedPath ?? collectInitialActive(data),\n )\n const [internalSearch, setInternalSearch] = React.useState<string>(\"\")\n // Initial focus: prefer selectedPath (controlled or default), else first visible node.\n // Computed at mount via useState initializer to avoid the \"initialize state in effect\" anti-pattern.\n const [focusedPath, setFocusedPath] = React.useState<string | undefined>(() => {\n const initial = defaultSelectedPath ?? selectedPathProp ?? collectInitialActive(data)\n if (initial) return initial\n const initialExpanded = defaultExpanded ?? collectInitialExpanded(data)\n return visibleNodes(data, initialExpanded)[0]?.node.path\n })\n\n const expanded = isExpandedControlled ? expandedProp : internalExpanded\n const selectedPath = isSelectedControlled ? selectedPathProp : internalSelected\n const searchValue = isSearchControlled ? searchValueProp : internalSearch\n\n const toggle = React.useCallback(\n (path: string) => {\n const next = !expanded[path]\n if (!isExpandedControlled) {\n setInternalExpanded((prev) => ({ ...prev, [path]: next }))\n }\n onToggle?.(path, next, { path, next, timestamp: Date.now() })\n },\n [expanded, isExpandedControlled, onToggle],\n )\n\n const select = React.useCallback(\n (path: string, node: FileTreeNode) => {\n if (!isSelectedControlled) setInternalSelected(path)\n setFocusedPath(path)\n onSelect?.(path, { path, node, timestamp: Date.now() })\n },\n [isSelectedControlled, onSelect],\n )\n\n const searchOnChange = React.useCallback(\n (v: string) => {\n if (!isSearchControlled) setInternalSearch(v)\n onSearchChange?.(v)\n },\n [isSearchControlled, onSearchChange],\n )\n\n const ctxValue: FileTreeContextValue = {\n variant,\n size,\n expanded,\n selectedPath,\n focusedPath,\n toggle,\n select,\n setFocused: setFocusedPath,\n data,\n renderRow,\n renderLeading,\n renderTrailing,\n getNodeProps,\n keyboardNav,\n searchValue,\n searchOnChange,\n searchPlaceholder,\n }\n\n return (\n <FileTreeContext value={ctxValue}>\n <div\n className={cn(fileTreeShellVariants({ variant, size }), className)}\n data-size={size}\n data-slot=\"filetree\"\n data-variant={variant}\n {...props}\n >\n {children ?? (\n <>\n <FileTreeBody />\n </>\n )}\n </div>\n </FileTreeContext>\n )\n}\n\n// Attach sub-components\nFileTree.Header = FileTreeHeader\nFileTree.ProjectBadge = FileTreeProjectBadge\nFileTree.ProjectMeta = FileTreeProjectMeta\nFileTree.Toolbar = FileTreeToolbar\nFileTree.Search = FileTreeSearch\nFileTree.Action = FileTreeAction\nFileTree.Body = FileTreeBody\nFileTree.Footer = FileTreeFooter\n\nexport {\n FileTree,\n FileTreeAction,\n FileTreeBody,\n FileTreeFooter,\n FileTreeHeader,\n FileTreeProjectBadge,\n FileTreeProjectMeta,\n fileTreeRowVariants,\n FileTreeSearch,\n fileTreeShellVariants,\n FileTreeToolbar,\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import { Loader2Icon, DownloadIcon, XIcon, FileIcon, CodeIcon, ArchiveIcon, FileSpreadsheetIcon, FileTextIcon, AudioLinesIcon, FileVideoIcon, ImageIcon } from 'lucide-react';
3
3
  import * as React from 'react';
4
4
  import { cva } from 'class-variance-authority';
@@ -440,5 +440,5 @@ function FilePreview({
440
440
  FilePreview.displayName = "FilePreview";
441
441
 
442
442
  export { FilePreview, filePreviewActionButtonVariants, filePreviewActionsVariants, filePreviewContentVariants, filePreviewFallbackVariants, filePreviewInfoVariants, filePreviewVariants };
443
- //# sourceMappingURL=chunk-V7WEN4SD.js.map
444
- //# sourceMappingURL=chunk-V7WEN4SD.js.map
443
+ //# sourceMappingURL=chunk-JZA45LEV.js.map
444
+ //# sourceMappingURL=chunk-JZA45LEV.js.map