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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (589) hide show
  1. package/dist/{chunk-U2CXFKRK.js → chunk-2SUZS6GZ.js} +4 -4
  2. package/dist/{chunk-U2CXFKRK.js.map → chunk-2SUZS6GZ.js.map} +1 -1
  3. package/dist/{chunk-UPYT2XM5.js → chunk-2XNMKALT.js} +3 -3
  4. package/dist/{chunk-UPYT2XM5.js.map → chunk-2XNMKALT.js.map} +1 -1
  5. package/dist/{chunk-SM4AZOEP.js → chunk-3MOBFZJM.js} +4 -4
  6. package/dist/{chunk-SM4AZOEP.js.map → chunk-3MOBFZJM.js.map} +1 -1
  7. package/dist/{chunk-ZP4HYVDG.js → chunk-3R6MY3YJ.js} +4 -4
  8. package/dist/{chunk-ZP4HYVDG.js.map → chunk-3R6MY3YJ.js.map} +1 -1
  9. package/dist/{chunk-EVUHEBWX.js → chunk-447INBQP.js} +3 -3
  10. package/dist/{chunk-EVUHEBWX.js.map → chunk-447INBQP.js.map} +1 -1
  11. package/dist/{chunk-F7XARQUW.js → chunk-4LZ53BAG.js} +3 -3
  12. package/dist/{chunk-F7XARQUW.js.map → chunk-4LZ53BAG.js.map} +1 -1
  13. package/dist/{chunk-CYIFWQ5Y.js → chunk-4OWRNWHW.js} +3 -3
  14. package/dist/{chunk-CYIFWQ5Y.js.map → chunk-4OWRNWHW.js.map} +1 -1
  15. package/dist/{chunk-OQCGQG47.js → chunk-4RNPI3LU.js} +3 -3
  16. package/dist/{chunk-OQCGQG47.js.map → chunk-4RNPI3LU.js.map} +1 -1
  17. package/dist/{chunk-N4UTBJRY.js → chunk-4SFBDK4E.js} +4 -4
  18. package/dist/{chunk-N4UTBJRY.js.map → chunk-4SFBDK4E.js.map} +1 -1
  19. package/dist/{chunk-B7ZLPQSO.js → chunk-4XXAIWQ4.js} +3 -3
  20. package/dist/{chunk-B7ZLPQSO.js.map → chunk-4XXAIWQ4.js.map} +1 -1
  21. package/dist/{chunk-D2V2HKLX.js → chunk-5ETVWWA5.js} +3 -3
  22. package/dist/{chunk-D2V2HKLX.js.map → chunk-5ETVWWA5.js.map} +1 -1
  23. package/dist/{chunk-U4H3XHSI.js → chunk-5GV4LDX7.js} +4 -4
  24. package/dist/{chunk-U4H3XHSI.js.map → chunk-5GV4LDX7.js.map} +1 -1
  25. package/dist/{chunk-BFBGESUI.js → chunk-5MJQ5XSR.js} +4 -4
  26. package/dist/{chunk-BFBGESUI.js.map → chunk-5MJQ5XSR.js.map} +1 -1
  27. package/dist/{chunk-GKMR5SVC.js → chunk-5QDKJMUA.js} +3 -3
  28. package/dist/{chunk-GKMR5SVC.js.map → chunk-5QDKJMUA.js.map} +1 -1
  29. package/dist/{chunk-3NFQXZHO.js → chunk-5T7EKOJ5.js} +3 -3
  30. package/dist/{chunk-3NFQXZHO.js.map → chunk-5T7EKOJ5.js.map} +1 -1
  31. package/dist/{chunk-WBE6VQOO.js → chunk-5W3T767A.js} +3 -3
  32. package/dist/{chunk-WBE6VQOO.js.map → chunk-5W3T767A.js.map} +1 -1
  33. package/dist/{chunk-XYYOV5GW.js → chunk-5YUUE5JJ.js} +5 -5
  34. package/dist/{chunk-XYYOV5GW.js.map → chunk-5YUUE5JJ.js.map} +1 -1
  35. package/dist/{chunk-D6TH3EGA.js → chunk-627ZZ6HO.js} +6 -6
  36. package/dist/{chunk-D6TH3EGA.js.map → chunk-627ZZ6HO.js.map} +1 -1
  37. package/dist/{chunk-OXDWUKGP.js → chunk-6G5QK3SU.js} +5 -5
  38. package/dist/chunk-6G5QK3SU.js.map +1 -0
  39. package/dist/{chunk-U74PNG4S.js → chunk-6QVXMYKH.js} +4 -4
  40. package/dist/{chunk-U74PNG4S.js.map → chunk-6QVXMYKH.js.map} +1 -1
  41. package/dist/{chunk-NWVYQYKK.js → chunk-6VEQLD2P.js} +3 -3
  42. package/dist/{chunk-NWVYQYKK.js.map → chunk-6VEQLD2P.js.map} +1 -1
  43. package/dist/{chunk-S6ORCWM2.js → chunk-73DDLKBG.js} +3 -3
  44. package/dist/{chunk-S6ORCWM2.js.map → chunk-73DDLKBG.js.map} +1 -1
  45. package/dist/{chunk-E27SQ54A.js → chunk-7AR5QRRX.js} +3 -3
  46. package/dist/{chunk-E27SQ54A.js.map → chunk-7AR5QRRX.js.map} +1 -1
  47. package/dist/{chunk-3MJNJKAF.js → chunk-7IKX4AFY.js} +4 -4
  48. package/dist/{chunk-3MJNJKAF.js.map → chunk-7IKX4AFY.js.map} +1 -1
  49. package/dist/{chunk-A7YNTSVU.js → chunk-7PX3WBR3.js} +3 -3
  50. package/dist/{chunk-A7YNTSVU.js.map → chunk-7PX3WBR3.js.map} +1 -1
  51. package/dist/{chunk-EYSTEGV5.js → chunk-7QEFKWUR.js} +10 -10
  52. package/dist/{chunk-EYSTEGV5.js.map → chunk-7QEFKWUR.js.map} +1 -1
  53. package/dist/{chunk-Z4KW5VW6.js → chunk-7TX5X4EP.js} +6 -6
  54. package/dist/{chunk-Z4KW5VW6.js.map → chunk-7TX5X4EP.js.map} +1 -1
  55. package/dist/{chunk-BQMQULAC.js → chunk-7XJQYAGY.js} +4 -4
  56. package/dist/{chunk-BQMQULAC.js.map → chunk-7XJQYAGY.js.map} +1 -1
  57. package/dist/{chunk-2ROFZG3A.js → chunk-7Y325TBV.js} +4 -4
  58. package/dist/{chunk-2ROFZG3A.js.map → chunk-7Y325TBV.js.map} +1 -1
  59. package/dist/{chunk-4RSHPKHB.js → chunk-7YZ7HNXX.js} +4 -4
  60. package/dist/{chunk-4RSHPKHB.js.map → chunk-7YZ7HNXX.js.map} +1 -1
  61. package/dist/{chunk-YACIRNVP.js → chunk-AD4RW2JV.js} +3 -3
  62. package/dist/{chunk-YACIRNVP.js.map → chunk-AD4RW2JV.js.map} +1 -1
  63. package/dist/{chunk-YMYXWHDU.js → chunk-ADX6C3V7.js} +3 -3
  64. package/dist/{chunk-YMYXWHDU.js.map → chunk-ADX6C3V7.js.map} +1 -1
  65. package/dist/{chunk-CKD4UBV6.js → chunk-AJUOTABG.js} +4 -4
  66. package/dist/{chunk-CKD4UBV6.js.map → chunk-AJUOTABG.js.map} +1 -1
  67. package/dist/{chunk-G5TWK7L3.js → chunk-AP4ZM3DV.js} +3 -3
  68. package/dist/{chunk-G5TWK7L3.js.map → chunk-AP4ZM3DV.js.map} +1 -1
  69. package/dist/{chunk-U6EOAIPK.js → chunk-ARJAIH7Q.js} +4 -4
  70. package/dist/chunk-ARJAIH7Q.js.map +1 -0
  71. package/dist/{chunk-YCZ6M6EF.js → chunk-BBKDABQK.js} +3 -3
  72. package/dist/{chunk-YCZ6M6EF.js.map → chunk-BBKDABQK.js.map} +1 -1
  73. package/dist/{chunk-GPW57XOW.js → chunk-BSTUCHL4.js} +4 -4
  74. package/dist/{chunk-GPW57XOW.js.map → chunk-BSTUCHL4.js.map} +1 -1
  75. package/dist/{chunk-WKWLKGNI.js → chunk-BUCXPZYE.js} +6 -6
  76. package/dist/chunk-BUCXPZYE.js.map +1 -0
  77. package/dist/{chunk-ESLSPRYA.js → chunk-C2MAX4YK.js} +3 -3
  78. package/dist/{chunk-ESLSPRYA.js.map → chunk-C2MAX4YK.js.map} +1 -1
  79. package/dist/{chunk-2FJJOHHH.js → chunk-C34UNXMN.js} +3 -3
  80. package/dist/{chunk-2FJJOHHH.js.map → chunk-C34UNXMN.js.map} +1 -1
  81. package/dist/{chunk-AEHYYTFW.js → chunk-CV77MF4G.js} +3 -3
  82. package/dist/{chunk-AEHYYTFW.js.map → chunk-CV77MF4G.js.map} +1 -1
  83. package/dist/{chunk-MQ2446N7.js → chunk-DGOW65KM.js} +3 -3
  84. package/dist/{chunk-MQ2446N7.js.map → chunk-DGOW65KM.js.map} +1 -1
  85. package/dist/{chunk-U2R47SPY.js → chunk-DJHDCDU6.js} +4 -4
  86. package/dist/{chunk-U2R47SPY.js.map → chunk-DJHDCDU6.js.map} +1 -1
  87. package/dist/{chunk-5GE3BQA7.js → chunk-DQGBTZRX.js} +7 -7
  88. package/dist/chunk-DQGBTZRX.js.map +1 -0
  89. package/dist/{chunk-2IFYXJ3H.js → chunk-DRIEZH7R.js} +3 -3
  90. package/dist/{chunk-2IFYXJ3H.js.map → chunk-DRIEZH7R.js.map} +1 -1
  91. package/dist/{chunk-VWW3DJKI.js → chunk-E6SAO2CY.js} +3 -3
  92. package/dist/{chunk-VWW3DJKI.js.map → chunk-E6SAO2CY.js.map} +1 -1
  93. package/dist/{chunk-NCT5WXKG.js → chunk-EDSIOUUR.js} +4 -4
  94. package/dist/{chunk-NCT5WXKG.js.map → chunk-EDSIOUUR.js.map} +1 -1
  95. package/dist/{chunk-TAZPML2P.js → chunk-ELRIFGMN.js} +4 -4
  96. package/dist/{chunk-TAZPML2P.js.map → chunk-ELRIFGMN.js.map} +1 -1
  97. package/dist/{chunk-IMUBWKZC.js → chunk-EO4NGM5W.js} +4 -4
  98. package/dist/{chunk-IMUBWKZC.js.map → chunk-EO4NGM5W.js.map} +1 -1
  99. package/dist/{chunk-AFCSDND5.js → chunk-EQ4YAADN.js} +3 -3
  100. package/dist/{chunk-AFCSDND5.js.map → chunk-EQ4YAADN.js.map} +1 -1
  101. package/dist/{chunk-VBJ26PZJ.js → chunk-EZYXD2YI.js} +4 -4
  102. package/dist/{chunk-VBJ26PZJ.js.map → chunk-EZYXD2YI.js.map} +1 -1
  103. package/dist/{chunk-HJ4E6YPW.js → chunk-F3ETIDS7.js} +4 -4
  104. package/dist/{chunk-HJ4E6YPW.js.map → chunk-F3ETIDS7.js.map} +1 -1
  105. package/dist/{chunk-LNY2EXOV.js → chunk-F3WDMYZ4.js} +3 -3
  106. package/dist/{chunk-LNY2EXOV.js.map → chunk-F3WDMYZ4.js.map} +1 -1
  107. package/dist/{chunk-FPCRGFNY.js → chunk-FRKB4Z2P.js} +3 -3
  108. package/dist/{chunk-FPCRGFNY.js.map → chunk-FRKB4Z2P.js.map} +1 -1
  109. package/dist/{chunk-VAVE4ZJF.js → chunk-FVRSXJKS.js} +4 -4
  110. package/dist/chunk-FVRSXJKS.js.map +1 -0
  111. package/dist/{chunk-X3AXEE3S.js → chunk-FXFVFSG5.js} +5 -5
  112. package/dist/{chunk-X3AXEE3S.js.map → chunk-FXFVFSG5.js.map} +1 -1
  113. package/dist/{chunk-IFHF4UES.js → chunk-GDZECJFS.js} +12 -12
  114. package/dist/chunk-GDZECJFS.js.map +1 -0
  115. package/dist/{chunk-7J5OM4ZD.js → chunk-GLHKHYJY.js} +8 -8
  116. package/dist/{chunk-7J5OM4ZD.js.map → chunk-GLHKHYJY.js.map} +1 -1
  117. package/dist/{chunk-4KOJTZVU.js → chunk-GRODCJS4.js} +29 -29
  118. package/dist/chunk-GRODCJS4.js.map +1 -0
  119. package/dist/{chunk-TNDW52VZ.js → chunk-GVNG5ME6.js} +36 -18
  120. package/dist/chunk-GVNG5ME6.js.map +1 -0
  121. package/dist/{chunk-5J5OL4IV.js → chunk-GWSM2XNV.js} +3 -3
  122. package/dist/{chunk-5J5OL4IV.js.map → chunk-GWSM2XNV.js.map} +1 -1
  123. package/dist/{chunk-2NY6DDLO.js → chunk-H32A6UPL.js} +3 -3
  124. package/dist/{chunk-2NY6DDLO.js.map → chunk-H32A6UPL.js.map} +1 -1
  125. package/dist/{chunk-W7S7GPU5.js → chunk-HHWUROMA.js} +6 -6
  126. package/dist/{chunk-W7S7GPU5.js.map → chunk-HHWUROMA.js.map} +1 -1
  127. package/dist/{chunk-CNRV2IGH.js → chunk-HM6TEHA6.js} +3 -3
  128. package/dist/{chunk-CNRV2IGH.js.map → chunk-HM6TEHA6.js.map} +1 -1
  129. package/dist/{chunk-4GVOOXYD.js → chunk-HNQX6ZG7.js} +7 -7
  130. package/dist/chunk-HNQX6ZG7.js.map +1 -0
  131. package/dist/{chunk-HAEZLC7V.js → chunk-I5RDX6O3.js} +3 -3
  132. package/dist/{chunk-HAEZLC7V.js.map → chunk-I5RDX6O3.js.map} +1 -1
  133. package/dist/{chunk-P27ERD6W.js → chunk-IKLFWGFS.js} +70 -52
  134. package/dist/chunk-IKLFWGFS.js.map +1 -0
  135. package/dist/{chunk-DL7D5F7B.js → chunk-IPCT4YZT.js} +3 -3
  136. package/dist/{chunk-DL7D5F7B.js.map → chunk-IPCT4YZT.js.map} +1 -1
  137. package/dist/{chunk-BIUVOZQG.js → chunk-IPDAFW4F.js} +3 -3
  138. package/dist/{chunk-BIUVOZQG.js.map → chunk-IPDAFW4F.js.map} +1 -1
  139. package/dist/{chunk-G2MAGZHQ.js → chunk-IXZBH33I.js} +3 -3
  140. package/dist/{chunk-G2MAGZHQ.js.map → chunk-IXZBH33I.js.map} +1 -1
  141. package/dist/{chunk-XOGMDABS.js → chunk-JDETM3FL.js} +9 -9
  142. package/dist/chunk-JDETM3FL.js.map +1 -0
  143. package/dist/{chunk-R3HUGCGR.js → chunk-JE46MFMN.js} +6 -6
  144. package/dist/{chunk-R3HUGCGR.js.map → chunk-JE46MFMN.js.map} +1 -1
  145. package/dist/{chunk-3JCV72FO.js → chunk-JFV7CNBP.js} +4 -4
  146. package/dist/{chunk-3JCV72FO.js.map → chunk-JFV7CNBP.js.map} +1 -1
  147. package/dist/{chunk-7RTHGI6E.js → chunk-JPRHMMY6.js} +3 -3
  148. package/dist/{chunk-7RTHGI6E.js.map → chunk-JPRHMMY6.js.map} +1 -1
  149. package/dist/{chunk-G2V7D7VC.js → chunk-JUSPLVWO.js} +5 -5
  150. package/dist/{chunk-G2V7D7VC.js.map → chunk-JUSPLVWO.js.map} +1 -1
  151. package/dist/{chunk-FRDYXDAE.js → chunk-JUZ4JQWH.js} +3 -3
  152. package/dist/{chunk-FRDYXDAE.js.map → chunk-JUZ4JQWH.js.map} +1 -1
  153. package/dist/{chunk-6SHOL6WR.js → chunk-JVTB3NTP.js} +3 -3
  154. package/dist/{chunk-6SHOL6WR.js.map → chunk-JVTB3NTP.js.map} +1 -1
  155. package/dist/{chunk-XETKCF73.js → chunk-JXEIRIU4.js} +3 -3
  156. package/dist/{chunk-XETKCF73.js.map → chunk-JXEIRIU4.js.map} +1 -1
  157. package/dist/{chunk-7Y2UQMX6.js → chunk-JYYB6F5O.js} +37 -37
  158. package/dist/chunk-JYYB6F5O.js.map +1 -0
  159. package/dist/{chunk-V7WEN4SD.js → chunk-JZA45LEV.js} +3 -3
  160. package/dist/{chunk-V7WEN4SD.js.map → chunk-JZA45LEV.js.map} +1 -1
  161. package/dist/{chunk-FCSYPOHF.js → chunk-K44K3EHW.js} +3 -3
  162. package/dist/{chunk-FCSYPOHF.js.map → chunk-K44K3EHW.js.map} +1 -1
  163. package/dist/{chunk-PWCMCMDN.js → chunk-K4UCALQQ.js} +4 -4
  164. package/dist/{chunk-PWCMCMDN.js.map → chunk-K4UCALQQ.js.map} +1 -1
  165. package/dist/{chunk-OBRJXVWO.js → chunk-KBU4KJKC.js} +7 -7
  166. package/dist/{chunk-OBRJXVWO.js.map → chunk-KBU4KJKC.js.map} +1 -1
  167. package/dist/{chunk-JRWQHBJC.js → chunk-KDNTSZF5.js} +4 -4
  168. package/dist/{chunk-JRWQHBJC.js.map → chunk-KDNTSZF5.js.map} +1 -1
  169. package/dist/{chunk-3NSIUZGP.js → chunk-KHCHATTD.js} +5 -5
  170. package/dist/{chunk-3NSIUZGP.js.map → chunk-KHCHATTD.js.map} +1 -1
  171. package/dist/{chunk-57KTYE5H.js → chunk-KHJIUHHM.js} +3 -3
  172. package/dist/{chunk-57KTYE5H.js.map → chunk-KHJIUHHM.js.map} +1 -1
  173. package/dist/{chunk-TQBUBD3E.js → chunk-KLFYTLF3.js} +4 -4
  174. package/dist/{chunk-TQBUBD3E.js.map → chunk-KLFYTLF3.js.map} +1 -1
  175. package/dist/{chunk-W3QUVCRK.js → chunk-KXJ3SEW7.js} +3 -3
  176. package/dist/{chunk-W3QUVCRK.js.map → chunk-KXJ3SEW7.js.map} +1 -1
  177. package/dist/{chunk-7TF5PVEU.js → chunk-L4OQ6BJ5.js} +7 -7
  178. package/dist/chunk-L4OQ6BJ5.js.map +1 -0
  179. package/dist/{chunk-3L5G7VI2.js → chunk-LCBB3N5H.js} +4 -4
  180. package/dist/chunk-LCBB3N5H.js.map +1 -0
  181. package/dist/{chunk-BS5XDYOE.js → chunk-LDK6ADKM.js} +6 -6
  182. package/dist/{chunk-BS5XDYOE.js.map → chunk-LDK6ADKM.js.map} +1 -1
  183. package/dist/{chunk-K4MYVFWQ.js → chunk-LP6JYJQN.js} +4 -4
  184. package/dist/{chunk-K4MYVFWQ.js.map → chunk-LP6JYJQN.js.map} +1 -1
  185. package/dist/{chunk-G7PBPX3K.js → chunk-LRE3LJMW.js} +5 -5
  186. package/dist/{chunk-G7PBPX3K.js.map → chunk-LRE3LJMW.js.map} +1 -1
  187. package/dist/{chunk-LQVQ7SHG.js → chunk-LSRKDZW4.js} +4 -4
  188. package/dist/{chunk-LQVQ7SHG.js.map → chunk-LSRKDZW4.js.map} +1 -1
  189. package/dist/{chunk-H5N3VPBG.js → chunk-MGIGDALC.js} +4 -4
  190. package/dist/{chunk-H5N3VPBG.js.map → chunk-MGIGDALC.js.map} +1 -1
  191. package/dist/{chunk-WXBC3D2N.js → chunk-MNYU5MHO.js} +7 -7
  192. package/dist/{chunk-WXBC3D2N.js.map → chunk-MNYU5MHO.js.map} +1 -1
  193. package/dist/{chunk-6GWO7JNP.js → chunk-MXBDOYQL.js} +4 -4
  194. package/dist/{chunk-6GWO7JNP.js.map → chunk-MXBDOYQL.js.map} +1 -1
  195. package/dist/{chunk-37KLBMFQ.js → chunk-N2DAVD4Y.js} +3 -3
  196. package/dist/{chunk-37KLBMFQ.js.map → chunk-N2DAVD4Y.js.map} +1 -1
  197. package/dist/{chunk-3KOLK3OB.js → chunk-N5YGAESZ.js} +5 -5
  198. package/dist/{chunk-3KOLK3OB.js.map → chunk-N5YGAESZ.js.map} +1 -1
  199. package/dist/{chunk-W3JVNX35.js → chunk-N7VMQWM3.js} +15 -10
  200. package/dist/chunk-N7VMQWM3.js.map +1 -0
  201. package/dist/{chunk-5KTMPLDK.js → chunk-NAI3TX52.js} +3 -3
  202. package/dist/{chunk-5KTMPLDK.js.map → chunk-NAI3TX52.js.map} +1 -1
  203. package/dist/{chunk-QHKOBGLW.js → chunk-NGX3ITG4.js} +3 -3
  204. package/dist/{chunk-QHKOBGLW.js.map → chunk-NGX3ITG4.js.map} +1 -1
  205. package/dist/{chunk-5SUD32RK.js → chunk-NHUUSXBL.js} +3 -3
  206. package/dist/{chunk-5SUD32RK.js.map → chunk-NHUUSXBL.js.map} +1 -1
  207. package/dist/{chunk-IOWHM7ZY.js → chunk-NIRTZLZL.js} +4 -4
  208. package/dist/{chunk-IOWHM7ZY.js.map → chunk-NIRTZLZL.js.map} +1 -1
  209. package/dist/{chunk-GGUWEAYD.js → chunk-NLPVF34P.js} +4 -4
  210. package/dist/{chunk-GGUWEAYD.js.map → chunk-NLPVF34P.js.map} +1 -1
  211. package/dist/{chunk-ZPAWUKJI.js → chunk-NNWMBVCB.js} +4 -4
  212. package/dist/{chunk-ZPAWUKJI.js.map → chunk-NNWMBVCB.js.map} +1 -1
  213. package/dist/{chunk-H4ANCFZG.js → chunk-NUA54ABI.js} +4 -4
  214. package/dist/{chunk-H4ANCFZG.js.map → chunk-NUA54ABI.js.map} +1 -1
  215. package/dist/{chunk-ZPCELVWJ.js → chunk-NY2WZ4P2.js} +4 -4
  216. package/dist/{chunk-ZPCELVWJ.js.map → chunk-NY2WZ4P2.js.map} +1 -1
  217. package/dist/{chunk-BECPEVUL.js → chunk-O6LFU3KB.js} +3 -3
  218. package/dist/{chunk-BECPEVUL.js.map → chunk-O6LFU3KB.js.map} +1 -1
  219. package/dist/{chunk-HXHB2CK5.js → chunk-OAES72MK.js} +3 -3
  220. package/dist/{chunk-HXHB2CK5.js.map → chunk-OAES72MK.js.map} +1 -1
  221. package/dist/{chunk-NGR4HFVA.js → chunk-OCH7GGZF.js} +3 -3
  222. package/dist/{chunk-NGR4HFVA.js.map → chunk-OCH7GGZF.js.map} +1 -1
  223. package/dist/{chunk-Y4RKKQMB.js → chunk-ONN5XVYC.js} +4 -4
  224. package/dist/chunk-ONN5XVYC.js.map +1 -0
  225. package/dist/{chunk-GL56KIFL.js → chunk-OWZ3MZ5C.js} +4 -4
  226. package/dist/{chunk-GL56KIFL.js.map → chunk-OWZ3MZ5C.js.map} +1 -1
  227. package/dist/{chunk-MK6ID2HI.js → chunk-OXO6SKJO.js} +3 -3
  228. package/dist/{chunk-MK6ID2HI.js.map → chunk-OXO6SKJO.js.map} +1 -1
  229. package/dist/{chunk-T6XRYT6Q.js → chunk-P4WMDGAQ.js} +4 -4
  230. package/dist/{chunk-T6XRYT6Q.js.map → chunk-P4WMDGAQ.js.map} +1 -1
  231. package/dist/{chunk-NXQ25PKF.js → chunk-PBZI5XNV.js} +8 -8
  232. package/dist/chunk-PBZI5XNV.js.map +1 -0
  233. package/dist/{chunk-HI3T55XK.js → chunk-PEX7FCZC.js} +3 -3
  234. package/dist/{chunk-HI3T55XK.js.map → chunk-PEX7FCZC.js.map} +1 -1
  235. package/dist/{chunk-WMG2MMJF.js → chunk-PI4WGIPG.js} +3 -3
  236. package/dist/{chunk-WMG2MMJF.js.map → chunk-PI4WGIPG.js.map} +1 -1
  237. package/dist/{chunk-P7D6S6GX.js → chunk-PTXC4KPQ.js} +39 -5
  238. package/dist/chunk-PTXC4KPQ.js.map +1 -0
  239. package/dist/{chunk-UYC7M3FM.js → chunk-PVIIIQJI.js} +6 -6
  240. package/dist/{chunk-UYC7M3FM.js.map → chunk-PVIIIQJI.js.map} +1 -1
  241. package/dist/{chunk-E2TI5V67.js → chunk-PXR6CZIL.js} +4 -4
  242. package/dist/{chunk-E2TI5V67.js.map → chunk-PXR6CZIL.js.map} +1 -1
  243. package/dist/{chunk-KDJCZXLB.js → chunk-PZSKZFVO.js} +3 -3
  244. package/dist/{chunk-KDJCZXLB.js.map → chunk-PZSKZFVO.js.map} +1 -1
  245. package/dist/{chunk-DNAGXK2C.js → chunk-Q3JCNSPU.js} +4 -4
  246. package/dist/{chunk-DNAGXK2C.js.map → chunk-Q3JCNSPU.js.map} +1 -1
  247. package/dist/{chunk-JUTPDS4E.js → chunk-QD2ZS5DU.js} +4 -4
  248. package/dist/{chunk-JUTPDS4E.js.map → chunk-QD2ZS5DU.js.map} +1 -1
  249. package/dist/{chunk-3NLWCX2F.js → chunk-QJOWG2D4.js} +5 -5
  250. package/dist/{chunk-3NLWCX2F.js.map → chunk-QJOWG2D4.js.map} +1 -1
  251. package/dist/{chunk-Q43KJP5A.js → chunk-QLYH3GCV.js} +8 -8
  252. package/dist/{chunk-Q43KJP5A.js.map → chunk-QLYH3GCV.js.map} +1 -1
  253. package/dist/{chunk-IRIIK3BU.js → chunk-QO6TOE45.js} +11 -11
  254. package/dist/chunk-QO6TOE45.js.map +1 -0
  255. package/dist/{chunk-66TBTTZO.js → chunk-QWWA4FZP.js} +15 -15
  256. package/dist/chunk-QWWA4FZP.js.map +1 -0
  257. package/dist/{chunk-2YSZPUQZ.js → chunk-QXET2TML.js} +4 -4
  258. package/dist/{chunk-2YSZPUQZ.js.map → chunk-QXET2TML.js.map} +1 -1
  259. package/dist/{chunk-2VHARFMD.js → chunk-QZ7SGO7L.js} +3 -3
  260. package/dist/{chunk-2VHARFMD.js.map → chunk-QZ7SGO7L.js.map} +1 -1
  261. package/dist/{chunk-SUU3HNOX.js → chunk-R42LSLJL.js} +6 -6
  262. package/dist/{chunk-SUU3HNOX.js.map → chunk-R42LSLJL.js.map} +1 -1
  263. package/dist/{chunk-EVZ2GZU4.js → chunk-RMJVCJ6U.js} +3 -3
  264. package/dist/{chunk-EVZ2GZU4.js.map → chunk-RMJVCJ6U.js.map} +1 -1
  265. package/dist/{chunk-XLTSCY22.js → chunk-ROPW65RD.js} +5 -5
  266. package/dist/chunk-ROPW65RD.js.map +1 -0
  267. package/dist/{chunk-6ZAMTPGN.js → chunk-RQBYBBMP.js} +4 -4
  268. package/dist/{chunk-6ZAMTPGN.js.map → chunk-RQBYBBMP.js.map} +1 -1
  269. package/dist/chunk-RVAYDRMA.js +31 -0
  270. package/dist/chunk-RVAYDRMA.js.map +1 -0
  271. package/dist/{chunk-ARNVOHVW.js → chunk-S4P7JIQ2.js} +3 -3
  272. package/dist/{chunk-ARNVOHVW.js.map → chunk-S4P7JIQ2.js.map} +1 -1
  273. package/dist/{chunk-UPK5B2FL.js → chunk-S6BREP2G.js} +7 -7
  274. package/dist/chunk-S6BREP2G.js.map +1 -0
  275. package/dist/{chunk-Y5GO2F6P.js → chunk-SA3IQI3Y.js} +3 -3
  276. package/dist/{chunk-Y5GO2F6P.js.map → chunk-SA3IQI3Y.js.map} +1 -1
  277. package/dist/{chunk-3W7FXRO5.js → chunk-SKI25Q7O.js} +6 -6
  278. package/dist/{chunk-3W7FXRO5.js.map → chunk-SKI25Q7O.js.map} +1 -1
  279. package/dist/{chunk-LLI3JFJL.js → chunk-SSKSWSVO.js} +5 -5
  280. package/dist/{chunk-LLI3JFJL.js.map → chunk-SSKSWSVO.js.map} +1 -1
  281. package/dist/{chunk-VLDAHAG6.js → chunk-STADVFL2.js} +5 -5
  282. package/dist/{chunk-VLDAHAG6.js.map → chunk-STADVFL2.js.map} +1 -1
  283. package/dist/{chunk-UA3OQAHJ.js → chunk-SX63UD5X.js} +3 -3
  284. package/dist/{chunk-UA3OQAHJ.js.map → chunk-SX63UD5X.js.map} +1 -1
  285. package/dist/{chunk-YZY35OHQ.js → chunk-SXSR2VRG.js} +4 -4
  286. package/dist/{chunk-YZY35OHQ.js.map → chunk-SXSR2VRG.js.map} +1 -1
  287. package/dist/{chunk-DYDXGWH2.js → chunk-T3LWBCVR.js} +4 -4
  288. package/dist/chunk-T3LWBCVR.js.map +1 -0
  289. package/dist/{chunk-AR3OXNPL.js → chunk-TDANAN5A.js} +3 -3
  290. package/dist/{chunk-AR3OXNPL.js.map → chunk-TDANAN5A.js.map} +1 -1
  291. package/dist/{chunk-7ZJ32KRQ.js → chunk-TEVGCTUN.js} +3 -3
  292. package/dist/{chunk-7ZJ32KRQ.js.map → chunk-TEVGCTUN.js.map} +1 -1
  293. package/dist/{chunk-GAMOVEZD.js → chunk-TIPKU427.js} +3 -3
  294. package/dist/{chunk-GAMOVEZD.js.map → chunk-TIPKU427.js.map} +1 -1
  295. package/dist/{chunk-2Q4I4VDB.js → chunk-TK5WS675.js} +3 -3
  296. package/dist/{chunk-2Q4I4VDB.js.map → chunk-TK5WS675.js.map} +1 -1
  297. package/dist/{chunk-YUHPTV2A.js → chunk-TNSMTINE.js} +4 -4
  298. package/dist/{chunk-YUHPTV2A.js.map → chunk-TNSMTINE.js.map} +1 -1
  299. package/dist/{chunk-VT4IMHGE.js → chunk-TRTVYFOF.js} +5 -5
  300. package/dist/chunk-TRTVYFOF.js.map +1 -0
  301. package/dist/{chunk-46ESMCEQ.js → chunk-TSE3PKWQ.js} +6 -6
  302. package/dist/chunk-TSE3PKWQ.js.map +1 -0
  303. package/dist/{chunk-3BBOSSDG.js → chunk-U7TPJMGY.js} +4 -4
  304. package/dist/{chunk-3BBOSSDG.js.map → chunk-U7TPJMGY.js.map} +1 -1
  305. package/dist/{chunk-5I7AXWJU.js → chunk-UC5J6GWG.js} +5 -5
  306. package/dist/{chunk-5I7AXWJU.js.map → chunk-UC5J6GWG.js.map} +1 -1
  307. package/dist/{chunk-ZKK7L7H7.js → chunk-UNHPLKMR.js} +3 -3
  308. package/dist/{chunk-ZKK7L7H7.js.map → chunk-UNHPLKMR.js.map} +1 -1
  309. package/dist/{chunk-I7ZLEC7Y.js → chunk-UZEJ3ZVR.js} +3 -3
  310. package/dist/{chunk-I7ZLEC7Y.js.map → chunk-UZEJ3ZVR.js.map} +1 -1
  311. package/dist/{chunk-SXPBKGLT.js → chunk-UZZCEQH4.js} +4 -4
  312. package/dist/{chunk-SXPBKGLT.js.map → chunk-UZZCEQH4.js.map} +1 -1
  313. package/dist/{chunk-AEE5GDNA.js → chunk-V4NSLSCA.js} +4 -4
  314. package/dist/{chunk-AEE5GDNA.js.map → chunk-V4NSLSCA.js.map} +1 -1
  315. package/dist/{chunk-IZC5YFGO.js → chunk-V57DERRV.js} +14 -7
  316. package/dist/chunk-V57DERRV.js.map +1 -0
  317. package/dist/{chunk-VZZ3HP7G.js → chunk-VHJ6ALIE.js} +4 -4
  318. package/dist/{chunk-VZZ3HP7G.js.map → chunk-VHJ6ALIE.js.map} +1 -1
  319. package/dist/{chunk-N3I6GA4I.js → chunk-WG34IXUV.js} +3 -3
  320. package/dist/{chunk-N3I6GA4I.js.map → chunk-WG34IXUV.js.map} +1 -1
  321. package/dist/{chunk-OEXQ2MOY.js → chunk-WGKOYZRI.js} +4 -4
  322. package/dist/{chunk-OEXQ2MOY.js.map → chunk-WGKOYZRI.js.map} +1 -1
  323. package/dist/{chunk-6DN2UAIR.js → chunk-WGSVSZ7V.js} +3 -3
  324. package/dist/{chunk-6DN2UAIR.js.map → chunk-WGSVSZ7V.js.map} +1 -1
  325. package/dist/{chunk-X4YUWX7H.js → chunk-WK324C6D.js} +4 -4
  326. package/dist/{chunk-X4YUWX7H.js.map → chunk-WK324C6D.js.map} +1 -1
  327. package/dist/{chunk-N2WITPE2.js → chunk-WOP5OWLG.js} +3 -3
  328. package/dist/{chunk-N2WITPE2.js.map → chunk-WOP5OWLG.js.map} +1 -1
  329. package/dist/{chunk-JPA2VQRW.js → chunk-WSDWJX4Y.js} +4 -4
  330. package/dist/{chunk-JPA2VQRW.js.map → chunk-WSDWJX4Y.js.map} +1 -1
  331. package/dist/{chunk-2XJWE2XR.js → chunk-WUS45IZW.js} +4 -4
  332. package/dist/{chunk-2XJWE2XR.js.map → chunk-WUS45IZW.js.map} +1 -1
  333. package/dist/{chunk-B3BDIM4H.js → chunk-WVOZYDH3.js} +3 -3
  334. package/dist/{chunk-B3BDIM4H.js.map → chunk-WVOZYDH3.js.map} +1 -1
  335. package/dist/{chunk-K45MMHLA.js → chunk-WWK7UIKK.js} +5 -5
  336. package/dist/{chunk-K45MMHLA.js.map → chunk-WWK7UIKK.js.map} +1 -1
  337. package/dist/{chunk-NCLOPI6U.js → chunk-X2EMALTZ.js} +3 -3
  338. package/dist/{chunk-NCLOPI6U.js.map → chunk-X2EMALTZ.js.map} +1 -1
  339. package/dist/{chunk-PK5O62XD.js → chunk-X4CJFD6D.js} +3 -3
  340. package/dist/{chunk-PK5O62XD.js.map → chunk-X4CJFD6D.js.map} +1 -1
  341. package/dist/{chunk-JWXK4TMX.js → chunk-XEQGATVF.js} +3 -3
  342. package/dist/{chunk-JWXK4TMX.js.map → chunk-XEQGATVF.js.map} +1 -1
  343. package/dist/{chunk-B6KQKQ4S.js → chunk-XMUD3LG7.js} +3 -3
  344. package/dist/{chunk-B6KQKQ4S.js.map → chunk-XMUD3LG7.js.map} +1 -1
  345. package/dist/{chunk-5ZEYTBTU.js → chunk-XWBVIBN4.js} +3 -3
  346. package/dist/{chunk-5ZEYTBTU.js.map → chunk-XWBVIBN4.js.map} +1 -1
  347. package/dist/{chunk-7I6KK6QE.js → chunk-XXWCMY2G.js} +3 -3
  348. package/dist/{chunk-7I6KK6QE.js.map → chunk-XXWCMY2G.js.map} +1 -1
  349. package/dist/{chunk-LFN7UHDT.js → chunk-Y4FEW7SR.js} +3 -3
  350. package/dist/{chunk-LFN7UHDT.js.map → chunk-Y4FEW7SR.js.map} +1 -1
  351. package/dist/{chunk-PFVT27B5.js → chunk-YC5VVIZO.js} +3 -3
  352. package/dist/{chunk-PFVT27B5.js.map → chunk-YC5VVIZO.js.map} +1 -1
  353. package/dist/{chunk-7EGN7IGY.js → chunk-YMCKML6D.js} +7 -7
  354. package/dist/{chunk-7EGN7IGY.js.map → chunk-YMCKML6D.js.map} +1 -1
  355. package/dist/{chunk-7HT32DZG.js → chunk-YMQDTTO7.js} +6 -6
  356. package/dist/{chunk-7HT32DZG.js.map → chunk-YMQDTTO7.js.map} +1 -1
  357. package/dist/{chunk-ZARZYMBM.js → chunk-YNTS4GRT.js} +3 -3
  358. package/dist/{chunk-ZARZYMBM.js.map → chunk-YNTS4GRT.js.map} +1 -1
  359. package/dist/{chunk-6SZRWNPT.js → chunk-ZOHLZ4YL.js} +3 -3
  360. package/dist/{chunk-6SZRWNPT.js.map → chunk-ZOHLZ4YL.js.map} +1 -1
  361. package/dist/{chunk-4Y72SPNL.js → chunk-ZVSMLMMS.js} +5 -5
  362. package/dist/chunk-ZVSMLMMS.js.map +1 -0
  363. package/dist/{chunk-VKDN66VL.js → chunk-ZXWT4KWJ.js} +3 -3
  364. package/dist/{chunk-VKDN66VL.js.map → chunk-ZXWT4KWJ.js.map} +1 -1
  365. package/dist/components/advanced/AssetManager/index.js +2 -2
  366. package/dist/components/advanced/Calendar/index.js +7 -7
  367. package/dist/components/advanced/Command/index.js +3 -3
  368. package/dist/components/advanced/DragAndDrop/index.js +2 -2
  369. package/dist/components/advanced/ErrorBoundary/index.js +2 -2
  370. package/dist/components/advanced/EventCalendar/index.js +7 -7
  371. package/dist/components/advanced/FileDropzone/index.js +2 -2
  372. package/dist/components/advanced/FilePreview/index.js +2 -2
  373. package/dist/components/advanced/FileUpload/index.js +2 -2
  374. package/dist/components/advanced/FilterBuilder/index.js +10 -10
  375. package/dist/components/advanced/MarkdownEditor/index.js +6 -6
  376. package/dist/components/advanced/ReportBuilder/index.js +8 -8
  377. package/dist/components/advanced/RichTextEditor/index.js +4 -4
  378. package/dist/components/advanced/Search/index.js +2 -2
  379. package/dist/components/advanced/SortableList/index.js +2 -2
  380. package/dist/components/advanced/VersionControl/index.js +2 -2
  381. package/dist/components/advanced/index.js +31 -31
  382. package/dist/components/data-display/Accordion/index.js +2 -2
  383. package/dist/components/data-display/AreaChart/index.js +3 -3
  384. package/dist/components/data-display/Banner/index.js +2 -2
  385. package/dist/components/data-display/BarChart/index.js +3 -3
  386. package/dist/components/data-display/BarList/index.js +2 -2
  387. package/dist/components/data-display/Callout/index.js +2 -2
  388. package/dist/components/data-display/Carousel/index.js +7 -7
  389. package/dist/components/data-display/CategoryBar/index.js +3 -3
  390. package/dist/components/data-display/Chart/index.js +2 -2
  391. package/dist/components/data-display/ChartCard/index.js +5 -5
  392. package/dist/components/data-display/ChartLegend/index.js +2 -2
  393. package/dist/components/data-display/ComboChart/index.js +3 -3
  394. package/dist/components/data-display/DashboardCard/index.js +3 -3
  395. package/dist/components/data-display/DataTable/FilterBuilder/index.js +10 -10
  396. package/dist/components/data-display/DataTable/index.js +17 -17
  397. package/dist/components/data-display/DeltaBar/index.js +3 -3
  398. package/dist/components/data-display/EmptyState/index.js +2 -2
  399. package/dist/components/data-display/FeatureItem/index.js +3 -3
  400. package/dist/components/data-display/Feed/index.js +2 -2
  401. package/dist/components/data-display/FunnelChart/index.js +3 -3
  402. package/dist/components/data-display/GaugeChart/index.js +2 -2
  403. package/dist/components/data-display/Heatmap/index.js +3 -3
  404. package/dist/components/data-display/HoverCard/index.js +2 -2
  405. package/dist/components/data-display/ImageGallery/index.js +9 -9
  406. package/dist/components/data-display/Item/index.js +3 -3
  407. package/dist/components/data-display/KPICard/index.js +8 -8
  408. package/dist/components/data-display/Lightbox/index.js +2 -2
  409. package/dist/components/data-display/LineChart/index.js +3 -3
  410. package/dist/components/data-display/List/index.js +6 -6
  411. package/dist/components/data-display/MarkerBar/index.js +3 -3
  412. package/dist/components/data-display/PieChart/index.js +3 -3
  413. package/dist/components/data-display/RadarChart/index.js +3 -3
  414. package/dist/components/data-display/RadialChart/index.js +3 -3
  415. package/dist/components/data-display/ScatterChart/index.js +3 -3
  416. package/dist/components/data-display/SingleStat/index.js +3 -3
  417. package/dist/components/data-display/Sparkline/index.js +2 -2
  418. package/dist/components/data-display/Table/index.js +2 -2
  419. package/dist/components/data-display/Timeline/index.js +2 -2
  420. package/dist/components/data-display/Tracker/index.js +3 -3
  421. package/dist/components/data-display/VirtualTable/index.js +5 -5
  422. package/dist/components/data-display/index.js +57 -57
  423. package/dist/components/feedback/Alert/index.js +2 -2
  424. package/dist/components/feedback/AlertDialog/index.js +7 -7
  425. package/dist/components/feedback/ConfirmModal/index.js +8 -8
  426. package/dist/components/feedback/Dialog/index.js +2 -2
  427. package/dist/components/feedback/ErrorPage/index.js +2 -2
  428. package/dist/components/feedback/FocusTrap/index.js +2 -2
  429. package/dist/components/feedback/Message/index.js +2 -2
  430. package/dist/components/feedback/Modal/index.js +2 -2
  431. package/dist/components/feedback/Notification/index.js +4 -4
  432. package/dist/components/feedback/Popover/index.js +2 -2
  433. package/dist/components/feedback/Tooltip/index.js +2 -2
  434. package/dist/components/feedback/UpdatesWidget/index.js +2 -2
  435. package/dist/components/feedback/index.js +18 -18
  436. package/dist/components/forms/Autocomplete/index.js +2 -2
  437. package/dist/components/forms/Checkbox/index.js +2 -2
  438. package/dist/components/forms/CheckboxGroup/index.js +3 -3
  439. package/dist/components/forms/ColorPicker/index.js +3 -3
  440. package/dist/components/forms/Combobox/index.js +2 -2
  441. package/dist/components/forms/DatePicker/index.js +10 -10
  442. package/dist/components/forms/DateRangePicker/index.js +10 -10
  443. package/dist/components/forms/EmailInput/index.js +4 -4
  444. package/dist/components/forms/ErrorMessage/index.js +2 -2
  445. package/dist/components/forms/Field/index.js +4 -4
  446. package/dist/components/forms/FloatLabel/index.js +2 -2
  447. package/dist/components/forms/Form/index.js +3 -3
  448. package/dist/components/forms/FormValidation/index.js +2 -2
  449. package/dist/components/forms/HelpText/index.js +2 -2
  450. package/dist/components/forms/IftaLabel/index.js +2 -2
  451. package/dist/components/forms/InputGroup/index.js +10 -10
  452. package/dist/components/forms/InputOTP/index.js +2 -2
  453. package/dist/components/forms/InputOTPField/index.js +6 -6
  454. package/dist/components/forms/MultiSelect/index.js +3 -3
  455. package/dist/components/forms/NativeSelect/index.js +2 -2
  456. package/dist/components/forms/NumberInput/index.js +3 -3
  457. package/dist/components/forms/PasswordInput/index.js +4 -4
  458. package/dist/components/forms/PaymentInput/index.js +2 -2
  459. package/dist/components/forms/PhoneInput/index.js +2 -2
  460. package/dist/components/forms/RadioButton/index.js +2 -2
  461. package/dist/components/forms/RadioCardGroup/index.js +2 -2
  462. package/dist/components/forms/RadioGroup/index.js +2 -2
  463. package/dist/components/forms/Rating/index.js +2 -2
  464. package/dist/components/forms/SearchInput/index.js +4 -4
  465. package/dist/components/forms/Select/index.js +2 -2
  466. package/dist/components/forms/Slider/index.js +2 -2
  467. package/dist/components/forms/SuccessMessage/index.js +2 -2
  468. package/dist/components/forms/Switch/index.js +2 -2
  469. package/dist/components/forms/TagsInput/index.js +4 -4
  470. package/dist/components/forms/TextInput/index.js +3 -3
  471. package/dist/components/forms/Textarea/index.js +2 -2
  472. package/dist/components/forms/TextareaField/index.js +6 -6
  473. package/dist/components/forms/TimePicker/index.js +4 -4
  474. package/dist/components/forms/URLInput/index.js +4 -4
  475. package/dist/components/forms/index.js +51 -51
  476. package/dist/components/index.js +186 -186
  477. package/dist/components/layout/Card/index.js +2 -2
  478. package/dist/components/layout/Collapsible/index.js +2 -2
  479. package/dist/components/layout/Container/index.js +2 -2
  480. package/dist/components/layout/Flex/index.js +2 -2
  481. package/dist/components/layout/Grid/index.js +2 -2
  482. package/dist/components/layout/Panel/index.js +3 -3
  483. package/dist/components/layout/ResizablePanels/index.js +2 -2
  484. package/dist/components/layout/ResponsiveContainer/index.js +2 -2
  485. package/dist/components/layout/ScrollArea/index.js +2 -2
  486. package/dist/components/layout/Section/index.js +2 -2
  487. package/dist/components/layout/Sheet/index.js +2 -2
  488. package/dist/components/layout/Stack/index.js +2 -2
  489. package/dist/components/layout/index.js +13 -13
  490. package/dist/components/navigation/AccountSwitch/index.js +6 -6
  491. package/dist/components/navigation/Breadcrumb/index.js +2 -2
  492. package/dist/components/navigation/ContextMenu/index.js +2 -2
  493. package/dist/components/navigation/Drawer/index.js +2 -2
  494. package/dist/components/navigation/DropdownMenu/index.js +2 -2
  495. package/dist/components/navigation/FileTree/index.js +2 -2
  496. package/dist/components/navigation/Header/index.js +2 -2
  497. package/dist/components/navigation/LogoConta/index.js +2 -2
  498. package/dist/components/navigation/Menu/index.js +3 -3
  499. package/dist/components/navigation/Menubar/index.js +2 -2
  500. package/dist/components/navigation/Navbar/index.js +2 -2
  501. package/dist/components/navigation/NavigationMenu/index.js +2 -2
  502. package/dist/components/navigation/Pagination/index.js +7 -7
  503. package/dist/components/navigation/Sidebar/index.js +12 -12
  504. package/dist/components/navigation/SkipLinks/index.js +2 -2
  505. package/dist/components/navigation/SpeedDial/index.js +3 -3
  506. package/dist/components/navigation/TabNavigation/index.js +2 -2
  507. package/dist/components/navigation/TabPanel/index.js +2 -2
  508. package/dist/components/navigation/Tabs/index.js +2 -2
  509. package/dist/components/navigation/Toolbar/index.js +2 -2
  510. package/dist/components/navigation/Topbar/index.js +2 -2
  511. package/dist/components/navigation/index.js +33 -33
  512. package/dist/components/primitives/ArrowAnimated/index.js +2 -2
  513. package/dist/components/primitives/Avatar/index.js +3 -3
  514. package/dist/components/primitives/Badge/index.js +3 -3
  515. package/dist/components/primitives/Button/index.js +6 -6
  516. package/dist/components/primitives/ButtonGroup/index.js +3 -3
  517. package/dist/components/primitives/ConfirmButton/index.js +8 -8
  518. package/dist/components/primitives/Divider/index.js +2 -2
  519. package/dist/components/primitives/FeaturedIcon/index.js +2 -2
  520. package/dist/components/primitives/FolderStack/index.js +2 -2
  521. package/dist/components/primitives/Heading/index.js +2 -2
  522. package/dist/components/primitives/Icon/index.js +2 -2
  523. package/dist/components/primitives/Image/index.js +2 -2
  524. package/dist/components/primitives/Kbd/index.js +2 -2
  525. package/dist/components/primitives/Label/index.js +2 -2
  526. package/dist/components/primitives/Link/index.js +2 -2
  527. package/dist/components/primitives/Paragraph/index.js +2 -2
  528. package/dist/components/primitives/PaymentMethodIcon/index.js +2 -2
  529. package/dist/components/primitives/ProgressBar/index.js +3 -3
  530. package/dist/components/primitives/ProgressCircle/index.js +3 -3
  531. package/dist/components/primitives/SkeletonLoader/index.js +2 -2
  532. package/dist/components/primitives/Spacer/index.js +2 -2
  533. package/dist/components/primitives/Spinner/index.js +2 -2
  534. package/dist/components/primitives/SplitButton/index.js +3 -3
  535. package/dist/components/primitives/StatusIndicator/index.js +2 -2
  536. package/dist/components/primitives/Tag/index.js +2 -2
  537. package/dist/components/primitives/Text/index.js +2 -2
  538. package/dist/components/primitives/Thumbnail/index.js +3 -3
  539. package/dist/components/primitives/Toggle/index.js +2 -2
  540. package/dist/components/primitives/index.js +32 -32
  541. package/dist/components/workflow/ApprovalFlow/index.js +8 -8
  542. package/dist/components/workflow/ApprovalStatus/index.js +2 -2
  543. package/dist/components/workflow/CommentSystem/index.js +9 -9
  544. package/dist/components/workflow/Dashboard/index.js +7 -7
  545. package/dist/components/workflow/DashboardBuilder/index.js +10 -10
  546. package/dist/components/workflow/KanbanBoard/index.js +9 -9
  547. package/dist/components/workflow/ProgressSteps/index.js +2 -2
  548. package/dist/components/workflow/ReportGenerator/index.js +9 -9
  549. package/dist/components/workflow/Stepper/index.js +2 -2
  550. package/dist/components/workflow/TaskCard/index.js +2 -2
  551. package/dist/components/workflow/TaskList/index.js +2 -2
  552. package/dist/components/workflow/TaskStatus/index.js +3 -3
  553. package/dist/components/workflow/Wizard/index.js +8 -8
  554. package/dist/components/workflow/index.js +27 -27
  555. package/dist/index.d.ts +62 -14
  556. package/dist/index.js +186 -186
  557. package/dist/lib/utils.d.ts +2 -1
  558. package/dist/lib/utils.js +1 -1
  559. package/dist/styles.css +27 -703
  560. package/package.json +2 -2
  561. package/dist/chunk-3L5G7VI2.js.map +0 -1
  562. package/dist/chunk-46ESMCEQ.js.map +0 -1
  563. package/dist/chunk-4GVOOXYD.js.map +0 -1
  564. package/dist/chunk-4KOJTZVU.js.map +0 -1
  565. package/dist/chunk-4Y72SPNL.js.map +0 -1
  566. package/dist/chunk-5GE3BQA7.js.map +0 -1
  567. package/dist/chunk-66TBTTZO.js.map +0 -1
  568. package/dist/chunk-7TF5PVEU.js.map +0 -1
  569. package/dist/chunk-7Y2UQMX6.js.map +0 -1
  570. package/dist/chunk-DYDXGWH2.js.map +0 -1
  571. package/dist/chunk-HRNDJU7D.js +0 -11
  572. package/dist/chunk-HRNDJU7D.js.map +0 -1
  573. package/dist/chunk-IFHF4UES.js.map +0 -1
  574. package/dist/chunk-IRIIK3BU.js.map +0 -1
  575. package/dist/chunk-IZC5YFGO.js.map +0 -1
  576. package/dist/chunk-NXQ25PKF.js.map +0 -1
  577. package/dist/chunk-OXDWUKGP.js.map +0 -1
  578. package/dist/chunk-P27ERD6W.js.map +0 -1
  579. package/dist/chunk-P7D6S6GX.js.map +0 -1
  580. package/dist/chunk-TNDW52VZ.js.map +0 -1
  581. package/dist/chunk-U6EOAIPK.js.map +0 -1
  582. package/dist/chunk-UPK5B2FL.js.map +0 -1
  583. package/dist/chunk-VAVE4ZJF.js.map +0 -1
  584. package/dist/chunk-VT4IMHGE.js.map +0 -1
  585. package/dist/chunk-W3JVNX35.js.map +0 -1
  586. package/dist/chunk-WKWLKGNI.js.map +0 -1
  587. package/dist/chunk-XLTSCY22.js.map +0 -1
  588. package/dist/chunk-XOGMDABS.js.map +0 -1
  589. package/dist/chunk-Y4RKKQMB.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/advanced/Search/Search.variants.ts","../src/components/advanced/Search/Search.tsx"],"names":["Fragment"],"mappings":"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","file":"chunk-ESLSPRYA.js","sourcesContent":["// Search/Search.variants.ts\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Search root container variants\n */\nexport const searchVariants = cva(\n // Base styles\n [\"relative flex flex-col\"],\n {\n variants: {\n variant: {\n inline: [\"w-full\"],\n fullscreen: [\n \"fixed inset-0 z-50\",\n \"bg-background/80 backdrop-blur-sm\",\n \"flex items-start justify-center pt-[20vh]\",\n ],\n command: [\n \"bg-popover text-popover-foreground\",\n \"rounded-lg border shadow-lg\",\n \"overflow-hidden\",\n ],\n },\n size: {\n sm: \"\",\n default: \"\",\n lg: \"\",\n },\n },\n defaultVariants: {\n variant: \"inline\",\n size: \"default\",\n },\n }\n)\n\n/**\n * Search input wrapper variants\n */\nexport const searchInputWrapperVariants = cva(\n // Base styles\n [\n \"relative flex items-center\",\n \"bg-muted rounded-md border\",\n \"focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2\",\n \"transition-colors\",\n ],\n {\n variants: {\n size: {\n sm: \"h-8\",\n default: \"h-10\",\n lg: \"h-12\",\n },\n variant: {\n inline: \"\",\n fullscreen: \"max-w-2xl w-full mx-4\",\n command: \"border-0 border-b rounded-none\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"inline\",\n },\n }\n)\n\n/**\n * Search input field variants\n */\nexport const searchInputVariants = cva(\n // Base styles\n [\n \"flex-1 bg-transparent\",\n \"placeholder:text-muted-foreground\",\n \"focus:outline-none\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"h-8 px-2 py-1 text-xs\",\n default: \"h-10 px-3 py-2 text-sm\",\n lg: \"h-12 px-4 py-3 text-base\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search icon variants\n */\nexport const searchIconVariants = cva(\n // Base styles\n [\"shrink-0 text-muted-foreground\"],\n {\n variants: {\n size: {\n sm: \"size-3.5 ml-2\",\n default: \"size-4 ml-3\",\n lg: \"size-5 ml-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search results container variants\n */\nexport const searchResultsVariants = cva(\n // Base styles\n [\n \"bg-popover text-popover-foreground\",\n \"overflow-y-auto overflow-x-hidden\",\n \"scroll-py-1\",\n ],\n {\n variants: {\n size: {\n sm: \"max-h-52\",\n default: \"max-h-72\",\n lg: \"max-h-96\",\n },\n variant: {\n inline: [\n \"absolute left-0 right-0 top-full mt-1\",\n \"z-50 rounded-md border shadow-md\",\n ],\n fullscreen: [\n \"max-w-2xl w-full mx-4 mt-2\",\n \"rounded-md border shadow-md\",\n ],\n command: [\"border-0\"],\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"inline\",\n },\n }\n)\n\n/**\n * Search result item variants\n */\nexport const searchResultItemVariants = cva(\n // Base styles\n [\n \"relative flex cursor-pointer items-center gap-2\",\n \"rounded-sm outline-none select-none\",\n \"transition-colors\",\n \"data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"px-2 py-1.5 text-xs\",\n default: \"px-3 py-2 text-sm\",\n lg: \"px-4 py-3 text-base\",\n },\n selected: {\n true: \"bg-accent text-accent-foreground\",\n false: \"hover:bg-accent/50\",\n },\n },\n defaultVariants: {\n size: \"default\",\n selected: false,\n },\n }\n)\n\n/**\n * Search result icon variants\n */\nexport const searchResultIconVariants = cva(\n // Base styles\n [\"shrink-0 text-muted-foreground\"],\n {\n variants: {\n size: {\n sm: \"size-3.5\",\n default: \"size-4\",\n lg: \"size-5\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search result group heading variants\n */\nexport const searchGroupHeadingVariants = cva(\n // Base styles\n [\"font-medium text-muted-foreground\"],\n {\n variants: {\n size: {\n sm: \"px-2 py-1 text-xs\",\n default: \"px-3 py-1.5 text-xs\",\n lg: \"px-4 py-2 text-sm\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search empty state variants\n */\nexport const searchEmptyVariants = cva(\n // Base styles\n [\"flex items-center justify-center text-muted-foreground\"],\n {\n variants: {\n size: {\n sm: \"py-4 text-xs\",\n default: \"py-6 text-sm\",\n lg: \"py-8 text-base\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search loading variants\n */\nexport const searchLoadingVariants = cva(\n // Base styles\n [\"flex items-center justify-center gap-2 text-muted-foreground\"],\n {\n variants: {\n size: {\n sm: \"py-4 text-xs\",\n default: \"py-6 text-sm\",\n lg: \"py-8 text-base\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search filter button variants\n */\nexport const searchFilterVariants = cva(\n // Base styles\n [\n \"inline-flex items-center gap-1\",\n \"rounded-full border\",\n \"transition-colors\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n ],\n {\n variants: {\n size: {\n sm: \"px-2 py-0.5 text-xs\",\n default: \"px-2.5 py-1 text-xs\",\n lg: \"px-3 py-1.5 text-sm\",\n },\n active: {\n true: \"bg-primary text-primary-foreground border-primary\",\n false: \"bg-muted hover:bg-accent\",\n },\n },\n defaultVariants: {\n size: \"default\",\n active: false,\n },\n }\n)\n\n/**\n * Search filters container variants\n */\nexport const searchFiltersContainerVariants = cva(\n // Base styles\n [\"flex flex-wrap gap-1\"],\n {\n variants: {\n size: {\n sm: \"py-1 px-2\",\n default: \"py-2 px-3\",\n lg: \"py-3 px-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search history header variants\n */\nexport const searchHistoryHeaderVariants = cva(\n // Base styles\n [\"flex items-center justify-between text-muted-foreground\"],\n {\n variants: {\n size: {\n sm: \"px-2 py-1 text-xs\",\n default: \"px-3 py-1.5 text-xs\",\n lg: \"px-4 py-2 text-sm\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search highlight match variants\n */\nexport const searchHighlightVariants = cva(\n // Base styles for highlighted text\n [\"text-primary font-semibold bg-primary/10 rounded-sm px-0.5\"]\n)\n\n// Export variant prop types\nexport type SearchVariantProps = VariantProps<typeof searchVariants>\nexport type SearchInputWrapperVariantProps = VariantProps<\n typeof searchInputWrapperVariants\n>\nexport type SearchInputVariantProps = VariantProps<typeof searchInputVariants>\nexport type SearchIconVariantProps = VariantProps<typeof searchIconVariants>\nexport type SearchResultsVariantProps = VariantProps<\n typeof searchResultsVariants\n>\nexport type SearchResultItemVariantProps = VariantProps<\n typeof searchResultItemVariants\n>\nexport type SearchGroupHeadingVariantProps = VariantProps<\n typeof searchGroupHeadingVariants\n>\nexport type SearchEmptyVariantProps = VariantProps<typeof searchEmptyVariants>\nexport type SearchLoadingVariantProps = VariantProps<\n typeof searchLoadingVariants\n>\nexport type SearchFilterVariantProps = VariantProps<typeof searchFilterVariants>\n","// Search/Search.tsx\n\"use client\"\n\nimport type {\n SearchEmptyProps,\n SearchFiltersProps,\n SearchHighlightProps,\n SearchHistoryProps,\n SearchInputProps,\n SearchLoadingProps,\n SearchProps,\n SearchResult,\n SearchResultGroupProps,\n SearchResultItemProps,\n SearchResultsProps,\n SearchSize,\n SearchVariant,\n} from \"./Search.types\"\n\nimport { ClockIcon, Loader2Icon, SearchIcon, XIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n searchEmptyVariants,\n searchFiltersContainerVariants,\n searchFilterVariants,\n searchGroupHeadingVariants,\n searchHighlightVariants,\n searchHistoryHeaderVariants,\n searchIconVariants,\n searchInputVariants,\n searchInputWrapperVariants,\n searchLoadingVariants,\n searchResultIconVariants,\n searchResultItemVariants,\n searchResultsVariants,\n searchVariants,\n} from \"./Search.variants\"\n\n// ============================================\n// CONTEXT FOR VARIANT PROPAGATION\n// ============================================\n\ninterface SearchContextValue {\n flatResults: SearchResult[]\n onSelect: (result: SearchResult) => void\n query: string\n selectedIndex: number\n setSelectedIndex: (index: number) => void\n size: SearchSize\n variant: SearchVariant\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function -- Default context requires noop functions\nconst noop = () => {}\n\nconst SearchContext = React.createContext<SearchContextValue>({\n flatResults: [],\n onSelect: noop,\n query: \"\",\n selectedIndex: -1,\n setSelectedIndex: noop,\n size: \"default\",\n variant: \"inline\",\n})\n\nfunction useSearchContext() {\n return React.use(SearchContext)\n}\n\n// ============================================\n// SEARCH ROOT\n// ============================================\n\n/**\n * Search - Advanced search component with autocomplete, filters, and history\n *\n * @example Basic usage\n * ```tsx\n * <Search\n * placeholder=\"Search...\"\n * onSearch={handleSearch}\n * results={results}\n * onSelect={(result) => navigate(result.href)}\n * />\n * ```\n *\n * @example With filters\n * ```tsx\n * <Search\n * filters={[{ id: \"all\", label: \"All\" }, { id: \"users\", label: \"Users\" }]}\n * activeFilters={activeFilters}\n * onFilterChange={setActiveFilters}\n * onSearch={(query) => search(query, activeFilters)}\n * />\n * ```\n */\nfunction Search({\n value,\n defaultValue = \"\",\n onChange,\n onSearch,\n results = [],\n loading = false,\n error = false,\n errorMessage = \"An error occurred\",\n placeholder = \"Search...\",\n filters,\n activeFilters = [],\n onFilterChange,\n onSelect,\n showHistory = false,\n history = [],\n onClearHistory,\n debounce = 300,\n minChars = 1,\n className,\n variant = \"inline\",\n size = \"default\",\n open: openProp,\n onOpenChange,\n disabled = false,\n autoFocus = false,\n}: SearchProps) {\n // Controlled vs uncontrolled value\n const [internalValue, setInternalValue] = React.useState(defaultValue)\n const isControlled = value !== undefined\n const currentValue = isControlled ? value : internalValue\n\n // Open state for results dropdown\n const [internalOpen, setInternalOpen] = React.useState(false)\n const isOpenControlled = openProp !== undefined\n const isOpen = isOpenControlled ? openProp : internalOpen\n\n // Keyboard navigation\n const [selectedIndex, setSelectedIndex] = React.useState(-1)\n\n // Debounce timer ref\n const debounceTimerRef = React.useRef<null | ReturnType<typeof setTimeout>>(\n null\n )\n\n // Blur timer ref (delays close so result clicks register)\n const blurTimerRef = React.useRef<null | ReturnType<typeof setTimeout>>(null)\n\n // Input ref for focus management\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n // Flatten results for keyboard navigation\n const flatResults = React.useMemo(() => {\n return results\n }, [results])\n\n // Group results by group property\n const groupedResults = React.useMemo(() => {\n const groups = new Map<string, SearchResult[]>()\n const ungrouped: SearchResult[] = []\n\n for (const result of results) {\n if (result.group) {\n const existing = groups.get(result.group) ?? []\n groups.set(result.group, [...existing, result])\n } else {\n ungrouped.push(result)\n }\n }\n\n return { groups, ungrouped }\n }, [results])\n\n // Handle value change with debounced search\n const handleValueChange = React.useCallback(\n (newValue: string) => {\n if (!isControlled) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n\n // Clear existing timer\n if (debounceTimerRef.current) {\n clearTimeout(debounceTimerRef.current)\n }\n\n // Trigger search after debounce if minimum chars met\n if (newValue.length >= minChars) {\n debounceTimerRef.current = setTimeout(() => {\n void onSearch?.(newValue)\n }, debounce)\n }\n },\n [isControlled, onChange, onSearch, debounce, minChars]\n )\n\n // Handle input change\n const handleInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n handleValueChange(e.target.value)\n if (!isOpenControlled) {\n setInternalOpen(true)\n }\n onOpenChange?.(true)\n },\n [handleValueChange, isOpenControlled, onOpenChange]\n )\n\n // Handle result selection\n const handleSelect = React.useCallback(\n (result: SearchResult) => {\n onSelect?.(result)\n result.action?.()\n if (!isOpenControlled) {\n setInternalOpen(false)\n }\n onOpenChange?.(false)\n },\n [onSelect, isOpenControlled, onOpenChange]\n )\n\n // Handle clear\n const handleClear = React.useCallback(() => {\n handleValueChange(\"\")\n inputRef.current?.focus()\n }, [handleValueChange])\n\n // Keyboard navigation\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n switch (e.key) {\n case \"ArrowDown\":\n e.preventDefault()\n setSelectedIndex((prev) =>\n prev < flatResults.length - 1 ? prev + 1 : 0\n )\n break\n case \"ArrowUp\":\n e.preventDefault()\n setSelectedIndex((prev) =>\n prev > 0 ? prev - 1 : flatResults.length - 1\n )\n break\n case \"Enter\": {\n e.preventDefault()\n const result = flatResults[selectedIndex]\n if (selectedIndex >= 0 && selectedIndex < flatResults.length && result) {\n handleSelect(result)\n }\n break\n }\n case \"Escape\":\n e.preventDefault()\n if (!isOpenControlled) {\n setInternalOpen(false)\n }\n onOpenChange?.(false)\n inputRef.current?.blur()\n break\n }\n },\n [\n flatResults,\n selectedIndex,\n handleSelect,\n isOpenControlled,\n onOpenChange,\n ]\n )\n\n // Handle focus\n const handleFocus = React.useCallback(() => {\n if (!isOpenControlled) {\n setInternalOpen(true)\n }\n onOpenChange?.(true)\n }, [isOpenControlled, onOpenChange])\n\n // Handle blur (with delay to allow click on results)\n const handleBlur = React.useCallback(() => {\n blurTimerRef.current = setTimeout(() => {\n if (!isOpenControlled) {\n setInternalOpen(false)\n }\n onOpenChange?.(false)\n }, 150)\n }, [isOpenControlled, onOpenChange])\n\n // Reset selected index when results change\n React.useEffect(() => {\n // eslint-disable-next-line react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -- intentional: reset selection when search results update\n setSelectedIndex(-1)\n }, [results])\n\n // Cleanup debounce timer\n React.useEffect(() => {\n return () => {\n if (debounceTimerRef.current) {\n clearTimeout(debounceTimerRef.current)\n }\n if (blurTimerRef.current) {\n clearTimeout(blurTimerRef.current)\n }\n }\n }, [])\n\n // Determine what to show\n const hasValue = currentValue.length > 0\n const showResults =\n isOpen && hasValue && currentValue.length >= minChars && !loading && !error\n const showEmpty =\n isOpen &&\n hasValue &&\n currentValue.length >= minChars &&\n !loading &&\n !error &&\n results.length === 0\n const showLoading = isOpen && loading\n const showError = isOpen && error\n const showHistorySection =\n isOpen &&\n showHistory &&\n !hasValue &&\n history.length > 0 &&\n !loading &&\n !error\n\n // Compute aria attributes\n const inputId = React.useId()\n const listboxId = React.useId()\n\n return (\n <SearchContext\n value={{\n size,\n variant,\n query: currentValue,\n selectedIndex,\n setSelectedIndex,\n onSelect: handleSelect,\n flatResults,\n }}\n >\n <div\n className={cn(searchVariants({ variant, size }), className)}\n data-slot=\"search\"\n data-state={loading ? \"loading\" : error ? \"error\" : \"idle\"}\n >\n {/* Filters */}\n {filters && filters.length > 0 && (\n <SearchFilters\n activeFilters={activeFilters}\n filters={filters}\n size={size}\n onFilterChange={onFilterChange ?? noop}\n />\n )}\n\n {/* Input wrapper */}\n <div\n className={cn(searchInputWrapperVariants({ size, variant }))}\n data-slot=\"search-input-wrapper\"\n >\n <SearchIcon\n aria-hidden=\"true\"\n className={cn(searchIconVariants({ size }))}\n />\n <input\n ref={inputRef}\n aria-activedescendant={\n selectedIndex >= 0 ? `search-result-${String(selectedIndex)}` : undefined\n }\n aria-autocomplete=\"list\"\n aria-controls={listboxId}\n aria-expanded={isOpen}\n autoComplete=\"off\"\n autoFocus={autoFocus}\n className={cn(searchInputVariants({ size }))}\n data-slot=\"search-input\"\n disabled={disabled}\n id={inputId}\n placeholder={placeholder}\n role=\"combobox\"\n type=\"search\"\n value={currentValue}\n onBlur={handleBlur}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n />\n {hasValue && (\n <button\n className={cn(\n \"shrink-0 p-1 rounded-sm\",\n \"text-muted-foreground hover:text-foreground\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n )}\n aria-label=\"Clear search\"\n data-slot=\"search-clear\"\n disabled={disabled}\n tabIndex={-1}\n type=\"button\"\n onClick={handleClear}\n >\n <XIcon className={cn(searchResultIconVariants({ size }))} />\n </button>\n )}\n </div>\n\n {/* Results dropdown */}\n {(showResults || showEmpty || showLoading || showError || showHistorySection) && (\n <div\n aria-label=\"Search results\"\n className={cn(searchResultsVariants({ size, variant }))}\n data-slot=\"search-results\"\n id={listboxId}\n role=\"listbox\"\n >\n {showLoading && <SearchLoading size={size} />}\n {showError && (\n <SearchEmpty message={errorMessage} size={size} />\n )}\n {showEmpty && (\n <SearchEmpty\n message={`No results found for \"${currentValue}\"`}\n size={size}\n />\n )}\n {showHistorySection && (\n <SearchHistory\n items={history}\n size={size}\n onClear={onClearHistory}\n onSelect={handleSelect}\n />\n )}\n {showResults && (\n <>\n {/* Ungrouped results */}\n {groupedResults.ungrouped.length > 0 && (\n <>\n {groupedResults.ungrouped.map((result) => (\n <SearchResultItem\n key={result.id}\n selected={\n selectedIndex ===\n flatResults.findIndex((r) => r.id === result.id)\n }\n query={currentValue}\n result={result}\n size={size}\n onSelect={handleSelect}\n />\n ))}\n </>\n )}\n {/* Grouped results */}\n {[...groupedResults.groups.entries()].map(\n ([groupLabel, groupResults]) => (\n <SearchResultGroup\n key={groupLabel}\n label={groupLabel}\n size={size}\n >\n {groupResults.map((result) => (\n <SearchResultItem\n key={result.id}\n selected={\n selectedIndex ===\n flatResults.findIndex((r) => r.id === result.id)\n }\n query={currentValue}\n result={result}\n size={size}\n onSelect={handleSelect}\n />\n ))}\n </SearchResultGroup>\n )\n )}\n </>\n )}\n </div>\n )}\n </div>\n </SearchContext>\n )\n}\n\n// ============================================\n// SEARCH INPUT (standalone)\n// ============================================\n\n/**\n * AdvancedSearchInput - Standalone search input component for the advanced Search\n */\nfunction AdvancedSearchInput({\n className,\n size = \"default\",\n ...props\n}: SearchInputProps) {\n return (\n <input\n className={cn(searchInputVariants({ size }), className)}\n data-slot=\"search-input\"\n type=\"search\"\n {...props}\n />\n )\n}\n\n// ============================================\n// SEARCH RESULTS\n// ============================================\n\n/**\n * SearchResults - Container for search results\n */\nfunction SearchResults({ children, className, size }: SearchResultsProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n\n return (\n <div\n className={cn(\n searchResultsVariants({ size: effectiveSize }),\n className\n )}\n data-slot=\"search-results\"\n role=\"listbox\"\n >\n {children}\n </div>\n )\n}\n\n// ============================================\n// SEARCH RESULT ITEM\n// ============================================\n\n/**\n * SearchResultItem - Individual search result\n */\nfunction SearchResultItem({\n result,\n query = \"\",\n selected = false,\n onSelect,\n className,\n size,\n}: SearchResultItemProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n const effectiveOnSelect = onSelect ?? context.onSelect\n const resultIndex = context.flatResults.findIndex((r) => r.id === result.id)\n\n return (\n <div\n aria-selected={selected}\n className={cn(searchResultItemVariants({ size: effectiveSize, selected }), className)}\n data-selected={selected}\n data-slot=\"search-result-item\"\n id={`search-result-${String(resultIndex)}`}\n role=\"option\"\n onClick={() => { effectiveOnSelect(result); }}\n onMouseEnter={() => { context.setSelectedIndex(resultIndex); }}\n >\n {result.icon && (\n <span className={cn(searchResultIconVariants({ size: effectiveSize }))}>\n {result.icon}\n </span>\n )}\n <div className=\"flex-1 min-w-0\">\n <div className=\"truncate\">\n <SearchHighlight query={query} text={result.title} />\n </div>\n {result.description && (\n <div className=\"text-muted-foreground truncate text-xs\">\n <SearchHighlight query={query} text={result.description} />\n </div>\n )}\n </div>\n </div>\n )\n}\n\n// ============================================\n// SEARCH RESULT GROUP\n// ============================================\n\n/**\n * SearchResultGroup - Group of related results\n */\nfunction SearchResultGroup({\n label,\n children,\n className,\n size,\n}: SearchResultGroupProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n\n return (\n <div className={className} data-slot=\"search-result-group\">\n <div\n className={cn(searchGroupHeadingVariants({ size: effectiveSize }))}\n data-slot=\"search-group-heading\"\n >\n {label}\n </div>\n {children}\n </div>\n )\n}\n\n// ============================================\n// SEARCH FILTERS\n// ============================================\n\n/**\n * SearchFilters - Filter buttons for search\n */\nfunction SearchFilters({\n filters,\n activeFilters,\n onFilterChange,\n className,\n size,\n}: SearchFiltersProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n\n const toggleFilter = (filterId: string) => {\n if (activeFilters.includes(filterId)) {\n onFilterChange(activeFilters.filter((id) => id !== filterId))\n } else {\n onFilterChange([...activeFilters, filterId])\n }\n }\n\n return (\n <div\n className={cn(\n searchFiltersContainerVariants({ size: effectiveSize }),\n className\n )}\n data-slot=\"search-filters\"\n >\n {filters.map((filter) => {\n const isActive = activeFilters.includes(filter.id)\n return (\n <button\n key={filter.id}\n className={cn(\n searchFilterVariants({ size: effectiveSize, active: isActive })\n )}\n aria-pressed={isActive}\n data-slot=\"search-filter\"\n type=\"button\"\n onClick={() => { toggleFilter(filter.id); }}\n >\n {filter.icon}\n {filter.label}\n </button>\n )\n })}\n </div>\n )\n}\n\n// ============================================\n// SEARCH HISTORY\n// ============================================\n\n/**\n * SearchHistory - Recent search history\n */\nfunction SearchHistory({\n items,\n onSelect,\n onClear,\n className,\n size,\n}: SearchHistoryProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n const effectiveOnSelect = onSelect ?? context.onSelect\n\n return (\n <div className={className} data-slot=\"search-history\">\n <div\n className={cn(searchHistoryHeaderVariants({ size: effectiveSize }))}\n data-slot=\"search-history-header\"\n >\n <span className=\"font-medium\">Recent</span>\n {onClear && (\n <button\n className=\"hover:underline focus-visible:underline\"\n data-slot=\"search-history-clear\"\n type=\"button\"\n onClick={onClear}\n >\n Clear\n </button>\n )}\n </div>\n {items.map((item) => (\n <div\n key={item.id}\n className={cn(\n searchResultItemVariants({ size: effectiveSize, selected: false })\n )}\n data-slot=\"search-history-item\"\n role=\"option\"\n onClick={() => { effectiveOnSelect(item); }}\n >\n <ClockIcon\n className={cn(searchResultIconVariants({ size: effectiveSize }))}\n />\n <span className=\"truncate\">{item.title}</span>\n </div>\n ))}\n </div>\n )\n}\n\n// ============================================\n// SEARCH EMPTY\n// ============================================\n\n/**\n * SearchEmpty - Empty state for no results\n */\nfunction SearchEmpty({ message, children, className, size }: SearchEmptyProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n\n return (\n <div\n className={cn(searchEmptyVariants({ size: effectiveSize }), className)}\n data-slot=\"search-empty\"\n >\n {children ?? message ?? \"No results found\"}\n </div>\n )\n}\n\n// ============================================\n// SEARCH LOADING\n// ============================================\n\n/**\n * SearchLoading - Loading state for search\n */\nfunction SearchLoading({ message, className, size }: SearchLoadingProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n\n return (\n <div\n aria-busy=\"true\"\n aria-live=\"polite\"\n className={cn(searchLoadingVariants({ size: effectiveSize }), className)}\n data-slot=\"search-loading\"\n >\n <Loader2Icon className=\"animate-spin size-4\" />\n {message ?? \"Searching...\"}\n </div>\n )\n}\n\n// ============================================\n// SEARCH HIGHLIGHT\n// ============================================\n\n/**\n * SearchHighlight - Highlight matching text in search results\n */\nfunction SearchHighlight({ text, query, className }: SearchHighlightProps) {\n if (!query || query.length === 0) {\n return <>{text}</>\n }\n\n const regex = new RegExp(`(${escapeRegex(query)})`, \"gi\")\n const parts = text.split(regex)\n\n return (\n <>\n {parts.map((part, index) =>\n regex.test(part) ? (\n <mark\n // eslint-disable-next-line @eslint-react/no-array-index-key -- parts from split have no unique IDs\n key={index}\n className={cn(searchHighlightVariants(), className)}\n >\n {part}\n </mark>\n ) : (\n // eslint-disable-next-line @eslint-react/no-array-index-key -- parts from split have no unique IDs\n <React.Fragment key={index}>{part}</React.Fragment>\n )\n )}\n </>\n )\n}\n\n// Utility to escape regex special characters\nfunction escapeRegex(string: string): string {\n return string.replaceAll(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n}\n\n// ============================================\n// EXPORTS\n// ============================================\n\nexport {\n AdvancedSearchInput,\n Search,\n SearchEmpty,\n type SearchEmptyProps,\n SearchFilters,\n type SearchFiltersProps,\n SearchHighlight,\n type SearchHighlightProps,\n SearchHistory,\n type SearchHistoryProps,\n type SearchInputProps,\n SearchLoading,\n type SearchLoadingProps,\n type SearchProps,\n SearchResultGroup,\n type SearchResultGroupProps,\n SearchResultItem,\n type SearchResultItemProps,\n SearchResults,\n type SearchResultsProps,\n}\n"]}
1
+ {"version":3,"sources":["../src/components/advanced/Search/Search.variants.ts","../src/components/advanced/Search/Search.tsx"],"names":["Fragment"],"mappings":"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","file":"chunk-C2MAX4YK.js","sourcesContent":["// Search/Search.variants.ts\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Search root container variants\n */\nexport const searchVariants = cva(\n // Base styles\n [\"relative flex flex-col\"],\n {\n variants: {\n variant: {\n inline: [\"w-full\"],\n fullscreen: [\n \"fixed inset-0 z-50\",\n \"bg-background/80 backdrop-blur-sm\",\n \"flex items-start justify-center pt-[20vh]\",\n ],\n command: [\n \"bg-popover text-popover-foreground\",\n \"rounded-lg border shadow-lg\",\n \"overflow-hidden\",\n ],\n },\n size: {\n sm: \"\",\n default: \"\",\n lg: \"\",\n },\n },\n defaultVariants: {\n variant: \"inline\",\n size: \"default\",\n },\n }\n)\n\n/**\n * Search input wrapper variants\n */\nexport const searchInputWrapperVariants = cva(\n // Base styles\n [\n \"relative flex items-center\",\n \"bg-muted rounded-md border\",\n \"focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2\",\n \"transition-colors\",\n ],\n {\n variants: {\n size: {\n sm: \"h-8\",\n default: \"h-10\",\n lg: \"h-12\",\n },\n variant: {\n inline: \"\",\n fullscreen: \"max-w-2xl w-full mx-4\",\n command: \"border-0 border-b rounded-none\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"inline\",\n },\n }\n)\n\n/**\n * Search input field variants\n */\nexport const searchInputVariants = cva(\n // Base styles\n [\n \"flex-1 bg-transparent\",\n \"placeholder:text-muted-foreground\",\n \"focus:outline-none\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"h-8 px-2 py-1 text-xs\",\n default: \"h-10 px-3 py-2 text-sm\",\n lg: \"h-12 px-4 py-3 text-base\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search icon variants\n */\nexport const searchIconVariants = cva(\n // Base styles\n [\"shrink-0 text-muted-foreground\"],\n {\n variants: {\n size: {\n sm: \"size-3.5 ml-2\",\n default: \"size-4 ml-3\",\n lg: \"size-5 ml-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search results container variants\n */\nexport const searchResultsVariants = cva(\n // Base styles\n [\n \"bg-popover text-popover-foreground\",\n \"overflow-y-auto overflow-x-hidden\",\n \"scroll-py-1\",\n ],\n {\n variants: {\n size: {\n sm: \"max-h-52\",\n default: \"max-h-72\",\n lg: \"max-h-96\",\n },\n variant: {\n inline: [\n \"absolute left-0 right-0 top-full mt-1\",\n \"z-50 rounded-md border shadow-md\",\n ],\n fullscreen: [\n \"max-w-2xl w-full mx-4 mt-2\",\n \"rounded-md border shadow-md\",\n ],\n command: [\"border-0\"],\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"inline\",\n },\n }\n)\n\n/**\n * Search result item variants\n */\nexport const searchResultItemVariants = cva(\n // Base styles\n [\n \"relative flex cursor-pointer items-center gap-2\",\n \"rounded-sm outline-none select-none\",\n \"transition-colors\",\n \"data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"px-2 py-1.5 text-xs\",\n default: \"px-3 py-2 text-sm\",\n lg: \"px-4 py-3 text-base\",\n },\n selected: {\n true: \"bg-accent text-accent-foreground\",\n false: \"hover:bg-accent/50\",\n },\n },\n defaultVariants: {\n size: \"default\",\n selected: false,\n },\n }\n)\n\n/**\n * Search result icon variants\n */\nexport const searchResultIconVariants = cva(\n // Base styles\n [\"shrink-0 text-muted-foreground\"],\n {\n variants: {\n size: {\n sm: \"size-3.5\",\n default: \"size-4\",\n lg: \"size-5\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search result group heading variants\n */\nexport const searchGroupHeadingVariants = cva(\n // Base styles\n [\"font-medium text-muted-foreground\"],\n {\n variants: {\n size: {\n sm: \"px-2 py-1 text-xs\",\n default: \"px-3 py-1.5 text-xs\",\n lg: \"px-4 py-2 text-sm\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search empty state variants\n */\nexport const searchEmptyVariants = cva(\n // Base styles\n [\"flex items-center justify-center text-muted-foreground\"],\n {\n variants: {\n size: {\n sm: \"py-4 text-xs\",\n default: \"py-6 text-sm\",\n lg: \"py-8 text-base\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search loading variants\n */\nexport const searchLoadingVariants = cva(\n // Base styles\n [\"flex items-center justify-center gap-2 text-muted-foreground\"],\n {\n variants: {\n size: {\n sm: \"py-4 text-xs\",\n default: \"py-6 text-sm\",\n lg: \"py-8 text-base\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search filter button variants\n */\nexport const searchFilterVariants = cva(\n // Base styles\n [\n \"inline-flex items-center gap-1\",\n \"rounded-full border\",\n \"transition-colors\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n ],\n {\n variants: {\n size: {\n sm: \"px-2 py-0.5 text-xs\",\n default: \"px-2.5 py-1 text-xs\",\n lg: \"px-3 py-1.5 text-sm\",\n },\n active: {\n true: \"bg-primary text-primary-foreground border-primary\",\n false: \"bg-muted hover:bg-accent\",\n },\n },\n defaultVariants: {\n size: \"default\",\n active: false,\n },\n }\n)\n\n/**\n * Search filters container variants\n */\nexport const searchFiltersContainerVariants = cva(\n // Base styles\n [\"flex flex-wrap gap-1\"],\n {\n variants: {\n size: {\n sm: \"py-1 px-2\",\n default: \"py-2 px-3\",\n lg: \"py-3 px-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search history header variants\n */\nexport const searchHistoryHeaderVariants = cva(\n // Base styles\n [\"flex items-center justify-between text-muted-foreground\"],\n {\n variants: {\n size: {\n sm: \"px-2 py-1 text-xs\",\n default: \"px-3 py-1.5 text-xs\",\n lg: \"px-4 py-2 text-sm\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Search highlight match variants\n */\nexport const searchHighlightVariants = cva(\n // Base styles for highlighted text\n [\"text-primary font-semibold bg-primary/10 rounded-sm px-0.5\"]\n)\n\n// Export variant prop types\nexport type SearchVariantProps = VariantProps<typeof searchVariants>\nexport type SearchInputWrapperVariantProps = VariantProps<\n typeof searchInputWrapperVariants\n>\nexport type SearchInputVariantProps = VariantProps<typeof searchInputVariants>\nexport type SearchIconVariantProps = VariantProps<typeof searchIconVariants>\nexport type SearchResultsVariantProps = VariantProps<\n typeof searchResultsVariants\n>\nexport type SearchResultItemVariantProps = VariantProps<\n typeof searchResultItemVariants\n>\nexport type SearchGroupHeadingVariantProps = VariantProps<\n typeof searchGroupHeadingVariants\n>\nexport type SearchEmptyVariantProps = VariantProps<typeof searchEmptyVariants>\nexport type SearchLoadingVariantProps = VariantProps<\n typeof searchLoadingVariants\n>\nexport type SearchFilterVariantProps = VariantProps<typeof searchFilterVariants>\n","// Search/Search.tsx\n\"use client\"\n\nimport type {\n SearchEmptyProps,\n SearchFiltersProps,\n SearchHighlightProps,\n SearchHistoryProps,\n SearchInputProps,\n SearchLoadingProps,\n SearchProps,\n SearchResult,\n SearchResultGroupProps,\n SearchResultItemProps,\n SearchResultsProps,\n SearchSize,\n SearchVariant,\n} from \"./Search.types\"\n\nimport { ClockIcon, Loader2Icon, SearchIcon, XIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n searchEmptyVariants,\n searchFiltersContainerVariants,\n searchFilterVariants,\n searchGroupHeadingVariants,\n searchHighlightVariants,\n searchHistoryHeaderVariants,\n searchIconVariants,\n searchInputVariants,\n searchInputWrapperVariants,\n searchLoadingVariants,\n searchResultIconVariants,\n searchResultItemVariants,\n searchResultsVariants,\n searchVariants,\n} from \"./Search.variants\"\n\n// ============================================\n// CONTEXT FOR VARIANT PROPAGATION\n// ============================================\n\ninterface SearchContextValue {\n flatResults: SearchResult[]\n onSelect: (result: SearchResult) => void\n query: string\n selectedIndex: number\n setSelectedIndex: (index: number) => void\n size: SearchSize\n variant: SearchVariant\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function -- Default context requires noop functions\nconst noop = () => {}\n\nconst SearchContext = React.createContext<SearchContextValue>({\n flatResults: [],\n onSelect: noop,\n query: \"\",\n selectedIndex: -1,\n setSelectedIndex: noop,\n size: \"default\",\n variant: \"inline\",\n})\n\nfunction useSearchContext() {\n return React.use(SearchContext)\n}\n\n// ============================================\n// SEARCH ROOT\n// ============================================\n\n/**\n * Search - Advanced search component with autocomplete, filters, and history\n *\n * @example Basic usage\n * ```tsx\n * <Search\n * placeholder=\"Search...\"\n * onSearch={handleSearch}\n * results={results}\n * onSelect={(result) => navigate(result.href)}\n * />\n * ```\n *\n * @example With filters\n * ```tsx\n * <Search\n * filters={[{ id: \"all\", label: \"All\" }, { id: \"users\", label: \"Users\" }]}\n * activeFilters={activeFilters}\n * onFilterChange={setActiveFilters}\n * onSearch={(query) => search(query, activeFilters)}\n * />\n * ```\n */\nfunction Search({\n value,\n defaultValue = \"\",\n onChange,\n onSearch,\n results = [],\n loading = false,\n error = false,\n errorMessage = \"An error occurred\",\n placeholder = \"Search...\",\n filters,\n activeFilters = [],\n onFilterChange,\n onSelect,\n showHistory = false,\n history = [],\n onClearHistory,\n debounce = 300,\n minChars = 1,\n className,\n variant = \"inline\",\n size = \"default\",\n open: openProp,\n onOpenChange,\n disabled = false,\n autoFocus = false,\n}: SearchProps) {\n // Controlled vs uncontrolled value\n const [internalValue, setInternalValue] = React.useState(defaultValue)\n const isControlled = value !== undefined\n const currentValue = isControlled ? value : internalValue\n\n // Open state for results dropdown\n const [internalOpen, setInternalOpen] = React.useState(false)\n const isOpenControlled = openProp !== undefined\n const isOpen = isOpenControlled ? openProp : internalOpen\n\n // Keyboard navigation\n const [selectedIndex, setSelectedIndex] = React.useState(-1)\n\n // Debounce timer ref\n const debounceTimerRef = React.useRef<null | ReturnType<typeof setTimeout>>(\n null\n )\n\n // Blur timer ref (delays close so result clicks register)\n const blurTimerRef = React.useRef<null | ReturnType<typeof setTimeout>>(null)\n\n // Input ref for focus management\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n // Flatten results for keyboard navigation\n const flatResults = React.useMemo(() => {\n return results\n }, [results])\n\n // Group results by group property\n const groupedResults = React.useMemo(() => {\n const groups = new Map<string, SearchResult[]>()\n const ungrouped: SearchResult[] = []\n\n for (const result of results) {\n if (result.group) {\n const existing = groups.get(result.group) ?? []\n groups.set(result.group, [...existing, result])\n } else {\n ungrouped.push(result)\n }\n }\n\n return { groups, ungrouped }\n }, [results])\n\n // Handle value change with debounced search\n const handleValueChange = React.useCallback(\n (newValue: string) => {\n if (!isControlled) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n\n // Clear existing timer\n if (debounceTimerRef.current) {\n clearTimeout(debounceTimerRef.current)\n }\n\n // Trigger search after debounce if minimum chars met\n if (newValue.length >= minChars) {\n debounceTimerRef.current = setTimeout(() => {\n void onSearch?.(newValue)\n }, debounce)\n }\n },\n [isControlled, onChange, onSearch, debounce, minChars]\n )\n\n // Handle input change\n const handleInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n handleValueChange(e.target.value)\n if (!isOpenControlled) {\n setInternalOpen(true)\n }\n onOpenChange?.(true)\n },\n [handleValueChange, isOpenControlled, onOpenChange]\n )\n\n // Handle result selection\n const handleSelect = React.useCallback(\n (result: SearchResult) => {\n onSelect?.(result)\n result.action?.()\n if (!isOpenControlled) {\n setInternalOpen(false)\n }\n onOpenChange?.(false)\n },\n [onSelect, isOpenControlled, onOpenChange]\n )\n\n // Handle clear\n const handleClear = React.useCallback(() => {\n handleValueChange(\"\")\n inputRef.current?.focus()\n }, [handleValueChange])\n\n // Keyboard navigation\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n switch (e.key) {\n case \"ArrowDown\":\n e.preventDefault()\n setSelectedIndex((prev) =>\n prev < flatResults.length - 1 ? prev + 1 : 0\n )\n break\n case \"ArrowUp\":\n e.preventDefault()\n setSelectedIndex((prev) =>\n prev > 0 ? prev - 1 : flatResults.length - 1\n )\n break\n case \"Enter\": {\n e.preventDefault()\n const result = flatResults[selectedIndex]\n if (selectedIndex >= 0 && selectedIndex < flatResults.length && result) {\n handleSelect(result)\n }\n break\n }\n case \"Escape\":\n e.preventDefault()\n if (!isOpenControlled) {\n setInternalOpen(false)\n }\n onOpenChange?.(false)\n inputRef.current?.blur()\n break\n }\n },\n [\n flatResults,\n selectedIndex,\n handleSelect,\n isOpenControlled,\n onOpenChange,\n ]\n )\n\n // Handle focus\n const handleFocus = React.useCallback(() => {\n if (!isOpenControlled) {\n setInternalOpen(true)\n }\n onOpenChange?.(true)\n }, [isOpenControlled, onOpenChange])\n\n // Handle blur (with delay to allow click on results)\n const handleBlur = React.useCallback(() => {\n blurTimerRef.current = setTimeout(() => {\n if (!isOpenControlled) {\n setInternalOpen(false)\n }\n onOpenChange?.(false)\n }, 150)\n }, [isOpenControlled, onOpenChange])\n\n // Reset selected index when results change\n React.useEffect(() => {\n // eslint-disable-next-line react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -- intentional: reset selection when search results update\n setSelectedIndex(-1)\n }, [results])\n\n // Cleanup debounce timer\n React.useEffect(() => {\n return () => {\n if (debounceTimerRef.current) {\n clearTimeout(debounceTimerRef.current)\n }\n if (blurTimerRef.current) {\n clearTimeout(blurTimerRef.current)\n }\n }\n }, [])\n\n // Determine what to show\n const hasValue = currentValue.length > 0\n const showResults =\n isOpen && hasValue && currentValue.length >= minChars && !loading && !error\n const showEmpty =\n isOpen &&\n hasValue &&\n currentValue.length >= minChars &&\n !loading &&\n !error &&\n results.length === 0\n const showLoading = isOpen && loading\n const showError = isOpen && error\n const showHistorySection =\n isOpen &&\n showHistory &&\n !hasValue &&\n history.length > 0 &&\n !loading &&\n !error\n\n // Compute aria attributes\n const inputId = React.useId()\n const listboxId = React.useId()\n\n return (\n <SearchContext\n value={{\n size,\n variant,\n query: currentValue,\n selectedIndex,\n setSelectedIndex,\n onSelect: handleSelect,\n flatResults,\n }}\n >\n <div\n className={cn(searchVariants({ variant, size }), className)}\n data-slot=\"search\"\n data-state={loading ? \"loading\" : error ? \"error\" : \"idle\"}\n >\n {/* Filters */}\n {filters && filters.length > 0 && (\n <SearchFilters\n activeFilters={activeFilters}\n filters={filters}\n size={size}\n onFilterChange={onFilterChange ?? noop}\n />\n )}\n\n {/* Input wrapper */}\n <div\n className={cn(searchInputWrapperVariants({ size, variant }))}\n data-slot=\"search-input-wrapper\"\n >\n <SearchIcon\n aria-hidden=\"true\"\n className={cn(searchIconVariants({ size }))}\n />\n <input\n ref={inputRef}\n aria-activedescendant={\n selectedIndex >= 0 ? `search-result-${String(selectedIndex)}` : undefined\n }\n aria-autocomplete=\"list\"\n aria-controls={listboxId}\n aria-expanded={isOpen}\n autoComplete=\"off\"\n autoFocus={autoFocus}\n className={cn(searchInputVariants({ size }))}\n data-slot=\"search-input\"\n disabled={disabled}\n id={inputId}\n placeholder={placeholder}\n role=\"combobox\"\n type=\"search\"\n value={currentValue}\n onBlur={handleBlur}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n />\n {hasValue && (\n <button\n className={cn(\n \"shrink-0 p-1 rounded-sm\",\n \"text-muted-foreground hover:text-foreground\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n )}\n aria-label=\"Clear search\"\n data-slot=\"search-clear\"\n disabled={disabled}\n tabIndex={-1}\n type=\"button\"\n onClick={handleClear}\n >\n <XIcon className={cn(searchResultIconVariants({ size }))} />\n </button>\n )}\n </div>\n\n {/* Results dropdown */}\n {(showResults || showEmpty || showLoading || showError || showHistorySection) && (\n <div\n aria-label=\"Search results\"\n className={cn(searchResultsVariants({ size, variant }))}\n data-slot=\"search-results\"\n id={listboxId}\n role=\"listbox\"\n >\n {showLoading && <SearchLoading size={size} />}\n {showError && (\n <SearchEmpty message={errorMessage} size={size} />\n )}\n {showEmpty && (\n <SearchEmpty\n message={`No results found for \"${currentValue}\"`}\n size={size}\n />\n )}\n {showHistorySection && (\n <SearchHistory\n items={history}\n size={size}\n onClear={onClearHistory}\n onSelect={handleSelect}\n />\n )}\n {showResults && (\n <>\n {/* Ungrouped results */}\n {groupedResults.ungrouped.length > 0 && (\n <>\n {groupedResults.ungrouped.map((result) => (\n <SearchResultItem\n key={result.id}\n selected={\n selectedIndex ===\n flatResults.findIndex((r) => r.id === result.id)\n }\n query={currentValue}\n result={result}\n size={size}\n onSelect={handleSelect}\n />\n ))}\n </>\n )}\n {/* Grouped results */}\n {[...groupedResults.groups.entries()].map(\n ([groupLabel, groupResults]) => (\n <SearchResultGroup\n key={groupLabel}\n label={groupLabel}\n size={size}\n >\n {groupResults.map((result) => (\n <SearchResultItem\n key={result.id}\n selected={\n selectedIndex ===\n flatResults.findIndex((r) => r.id === result.id)\n }\n query={currentValue}\n result={result}\n size={size}\n onSelect={handleSelect}\n />\n ))}\n </SearchResultGroup>\n )\n )}\n </>\n )}\n </div>\n )}\n </div>\n </SearchContext>\n )\n}\n\n// ============================================\n// SEARCH INPUT (standalone)\n// ============================================\n\n/**\n * AdvancedSearchInput - Standalone search input component for the advanced Search\n */\nfunction AdvancedSearchInput({\n className,\n size = \"default\",\n ...props\n}: SearchInputProps) {\n return (\n <input\n className={cn(searchInputVariants({ size }), className)}\n data-slot=\"search-input\"\n type=\"search\"\n {...props}\n />\n )\n}\n\n// ============================================\n// SEARCH RESULTS\n// ============================================\n\n/**\n * SearchResults - Container for search results\n */\nfunction SearchResults({ children, className, size }: SearchResultsProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n\n return (\n <div\n className={cn(\n searchResultsVariants({ size: effectiveSize }),\n className\n )}\n data-slot=\"search-results\"\n role=\"listbox\"\n >\n {children}\n </div>\n )\n}\n\n// ============================================\n// SEARCH RESULT ITEM\n// ============================================\n\n/**\n * SearchResultItem - Individual search result\n */\nfunction SearchResultItem({\n result,\n query = \"\",\n selected = false,\n onSelect,\n className,\n size,\n}: SearchResultItemProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n const effectiveOnSelect = onSelect ?? context.onSelect\n const resultIndex = context.flatResults.findIndex((r) => r.id === result.id)\n\n return (\n <div\n aria-selected={selected}\n className={cn(searchResultItemVariants({ size: effectiveSize, selected }), className)}\n data-selected={selected}\n data-slot=\"search-result-item\"\n id={`search-result-${String(resultIndex)}`}\n role=\"option\"\n onClick={() => { effectiveOnSelect(result); }}\n onMouseEnter={() => { context.setSelectedIndex(resultIndex); }}\n >\n {result.icon && (\n <span className={cn(searchResultIconVariants({ size: effectiveSize }))}>\n {result.icon}\n </span>\n )}\n <div className=\"flex-1 min-w-0\">\n <div className=\"truncate\">\n <SearchHighlight query={query} text={result.title} />\n </div>\n {result.description && (\n <div className=\"text-muted-foreground truncate text-xs\">\n <SearchHighlight query={query} text={result.description} />\n </div>\n )}\n </div>\n </div>\n )\n}\n\n// ============================================\n// SEARCH RESULT GROUP\n// ============================================\n\n/**\n * SearchResultGroup - Group of related results\n */\nfunction SearchResultGroup({\n label,\n children,\n className,\n size,\n}: SearchResultGroupProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n\n return (\n <div className={className} data-slot=\"search-result-group\">\n <div\n className={cn(searchGroupHeadingVariants({ size: effectiveSize }))}\n data-slot=\"search-group-heading\"\n >\n {label}\n </div>\n {children}\n </div>\n )\n}\n\n// ============================================\n// SEARCH FILTERS\n// ============================================\n\n/**\n * SearchFilters - Filter buttons for search\n */\nfunction SearchFilters({\n filters,\n activeFilters,\n onFilterChange,\n className,\n size,\n}: SearchFiltersProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n\n const toggleFilter = (filterId: string) => {\n if (activeFilters.includes(filterId)) {\n onFilterChange(activeFilters.filter((id) => id !== filterId))\n } else {\n onFilterChange([...activeFilters, filterId])\n }\n }\n\n return (\n <div\n className={cn(\n searchFiltersContainerVariants({ size: effectiveSize }),\n className\n )}\n data-slot=\"search-filters\"\n >\n {filters.map((filter) => {\n const isActive = activeFilters.includes(filter.id)\n return (\n <button\n key={filter.id}\n className={cn(\n searchFilterVariants({ size: effectiveSize, active: isActive })\n )}\n aria-pressed={isActive}\n data-slot=\"search-filter\"\n type=\"button\"\n onClick={() => { toggleFilter(filter.id); }}\n >\n {filter.icon}\n {filter.label}\n </button>\n )\n })}\n </div>\n )\n}\n\n// ============================================\n// SEARCH HISTORY\n// ============================================\n\n/**\n * SearchHistory - Recent search history\n */\nfunction SearchHistory({\n items,\n onSelect,\n onClear,\n className,\n size,\n}: SearchHistoryProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n const effectiveOnSelect = onSelect ?? context.onSelect\n\n return (\n <div className={className} data-slot=\"search-history\">\n <div\n className={cn(searchHistoryHeaderVariants({ size: effectiveSize }))}\n data-slot=\"search-history-header\"\n >\n <span className=\"font-medium\">Recent</span>\n {onClear && (\n <button\n className=\"hover:underline focus-visible:underline\"\n data-slot=\"search-history-clear\"\n type=\"button\"\n onClick={onClear}\n >\n Clear\n </button>\n )}\n </div>\n {items.map((item) => (\n <div\n key={item.id}\n className={cn(\n searchResultItemVariants({ size: effectiveSize, selected: false })\n )}\n data-slot=\"search-history-item\"\n role=\"option\"\n onClick={() => { effectiveOnSelect(item); }}\n >\n <ClockIcon\n className={cn(searchResultIconVariants({ size: effectiveSize }))}\n />\n <span className=\"truncate\">{item.title}</span>\n </div>\n ))}\n </div>\n )\n}\n\n// ============================================\n// SEARCH EMPTY\n// ============================================\n\n/**\n * SearchEmpty - Empty state for no results\n */\nfunction SearchEmpty({ message, children, className, size }: SearchEmptyProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n\n return (\n <div\n className={cn(searchEmptyVariants({ size: effectiveSize }), className)}\n data-slot=\"search-empty\"\n >\n {children ?? message ?? \"No results found\"}\n </div>\n )\n}\n\n// ============================================\n// SEARCH LOADING\n// ============================================\n\n/**\n * SearchLoading - Loading state for search\n */\nfunction SearchLoading({ message, className, size }: SearchLoadingProps) {\n const context = useSearchContext()\n const effectiveSize = size ?? context.size\n\n return (\n <div\n aria-busy=\"true\"\n aria-live=\"polite\"\n className={cn(searchLoadingVariants({ size: effectiveSize }), className)}\n data-slot=\"search-loading\"\n >\n <Loader2Icon className=\"animate-spin size-4\" />\n {message ?? \"Searching...\"}\n </div>\n )\n}\n\n// ============================================\n// SEARCH HIGHLIGHT\n// ============================================\n\n/**\n * SearchHighlight - Highlight matching text in search results\n */\nfunction SearchHighlight({ text, query, className }: SearchHighlightProps) {\n if (!query || query.length === 0) {\n return <>{text}</>\n }\n\n const regex = new RegExp(`(${escapeRegex(query)})`, \"gi\")\n const parts = text.split(regex)\n\n return (\n <>\n {parts.map((part, index) =>\n regex.test(part) ? (\n <mark\n // eslint-disable-next-line @eslint-react/no-array-index-key -- parts from split have no unique IDs\n key={index}\n className={cn(searchHighlightVariants(), className)}\n >\n {part}\n </mark>\n ) : (\n // eslint-disable-next-line @eslint-react/no-array-index-key -- parts from split have no unique IDs\n <React.Fragment key={index}>{part}</React.Fragment>\n )\n )}\n </>\n )\n}\n\n// Utility to escape regex special characters\nfunction escapeRegex(string: string): string {\n return string.replaceAll(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n}\n\n// ============================================\n// EXPORTS\n// ============================================\n\nexport {\n AdvancedSearchInput,\n Search,\n SearchEmpty,\n type SearchEmptyProps,\n SearchFilters,\n type SearchFiltersProps,\n SearchHighlight,\n type SearchHighlightProps,\n SearchHistory,\n type SearchHistoryProps,\n type SearchInputProps,\n SearchLoading,\n type SearchLoadingProps,\n type SearchProps,\n SearchResultGroup,\n type SearchResultGroupProps,\n SearchResultItem,\n type SearchResultItemProps,\n SearchResults,\n type SearchResultsProps,\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import * as DialogPrimitive from '@radix-ui/react-dialog';
3
3
  import { Download, X, ChevronLeft, ChevronRight, ZoomOut, ZoomIn } from 'lucide-react';
4
4
  import * as React from 'react';
@@ -404,5 +404,5 @@ function Lightbox({
404
404
  }
405
405
 
406
406
  export { Lightbox };
407
- //# sourceMappingURL=chunk-2FJJOHHH.js.map
408
- //# sourceMappingURL=chunk-2FJJOHHH.js.map
407
+ //# sourceMappingURL=chunk-C34UNXMN.js.map
408
+ //# sourceMappingURL=chunk-C34UNXMN.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/data-display/Lightbox/Lightbox.tsx"],"names":[],"mappings":"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","file":"chunk-2FJJOHHH.js","sourcesContent":["\"use client\"\n\nimport type { LightboxImage, LightboxProps } from \"./Lightbox.types\"\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport {\n ChevronLeft,\n ChevronRight,\n Download,\n X,\n ZoomIn,\n ZoomOut,\n} from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\n\n// Shared button styles\nconst controlButtonBase = cn(\n \"flex items-center justify-center rounded-[var(--lightbox-button-radius)]\",\n \"bg-white/10 text-white transition-colors hover:bg-white/20\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/50\"\n)\n\nconst controlButtonSmall = cn(\n controlButtonBase,\n \"size-[var(--lightbox-button-size-sm)]\"\n)\nconst controlButtonLarge = cn(\n controlButtonBase,\n \"size-[var(--lightbox-button-size-lg)]\"\n)\nconst controlButtonDisabled = \"disabled:cursor-not-allowed disabled:opacity-30\"\n\n/**\n * Lightbox - A full-screen media viewer with navigation, zoom, and captions\n *\n * @example\n * ```tsx\n * const [open, setOpen] = useState(false)\n * const images = [\n * { id: '1', src: '/img1.jpg', alt: 'Image 1', caption: 'First image' },\n * { id: '2', src: '/img2.jpg', alt: 'Image 2', caption: 'Second image' },\n * ]\n *\n * <Lightbox\n * images={images}\n * open={open}\n * onOpenChange={setOpen}\n * showCaption\n * enableZoom\n * />\n * ```\n */\nfunction Lightbox({\n className,\n enableDownload = false,\n enableZoom = true,\n images,\n initialIndex = 0,\n loop = true,\n onClose,\n onIndexChange,\n onOpenChange,\n open,\n showCaption = true,\n showCounter = true,\n showThumbnails = false,\n}: LightboxProps) {\n // Use a key to reset state when dialog opens at a specific index\n const [stateKey, setStateKey] = React.useState(0)\n const [currentIndex, setCurrentIndex] = React.useState(initialIndex)\n const [zoom, setZoom] = React.useState(1)\n const [imageLoading, setImageLoading] = React.useState(true)\n const [imageError, setImageError] = React.useState(false)\n\n // Track previous open state to detect when dialog opens\n const prevOpenRef = React.useRef(open)\n\n // Reset state when dialog opens (not on every render)\n /* eslint-disable react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -- Intentional state reset on open */\n React.useEffect(() => {\n if (open && !prevOpenRef.current) {\n // Dialog just opened - reset to initialIndex\n setCurrentIndex(initialIndex)\n setZoom(1)\n setImageLoading(true)\n setImageError(false)\n setStateKey((k) => k + 1)\n }\n prevOpenRef.current = open\n }, [open, initialIndex])\n /* eslint-enable react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect */\n\n // Reset loading state when the image changes\n /* eslint-disable react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, react-you-might-not-need-an-effect/no-chain-state-updates, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -- Image loading state sync */\n React.useEffect(() => {\n setImageLoading(true)\n setImageError(false)\n }, [currentIndex])\n /* eslint-enable react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, react-you-might-not-need-an-effect/no-chain-state-updates, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect */\n\n const currentImage: LightboxImage | undefined = images[currentIndex]\n const hasMultipleImages = images.length > 1\n\n const canGoNext = loop || currentIndex < images.length - 1\n const canGoPrev = loop || currentIndex > 0\n\n const goNext = React.useCallback(() => {\n if (!canGoNext) return\n setZoom(1)\n const nextIndex =\n currentIndex < images.length - 1\n ? currentIndex + 1\n : loop\n ? 0\n : currentIndex\n setCurrentIndex(nextIndex)\n onIndexChange?.(nextIndex)\n }, [currentIndex, images.length, loop, canGoNext, onIndexChange])\n\n const goPrev = React.useCallback(() => {\n if (!canGoPrev) return\n setZoom(1)\n const prevIndex =\n currentIndex > 0\n ? currentIndex - 1\n : loop\n ? images.length - 1\n : currentIndex\n setCurrentIndex(prevIndex)\n onIndexChange?.(prevIndex)\n }, [currentIndex, images.length, loop, canGoPrev, onIndexChange])\n\n const goToIndex = React.useCallback(\n (index: number) => {\n if (index >= 0 && index < images.length) {\n setZoom(1)\n setCurrentIndex(index)\n onIndexChange?.(index)\n }\n },\n [images.length, onIndexChange]\n )\n\n const handleClose = React.useCallback(() => {\n onOpenChange?.(false)\n onClose?.()\n }, [onOpenChange, onClose])\n\n const handleZoomIn = React.useCallback(() => {\n setZoom((prev) => Math.min(3, prev + 0.25))\n }, [])\n\n const handleZoomOut = React.useCallback(() => {\n setZoom((prev) => Math.max(0.5, prev - 0.25))\n }, [])\n\n const handleDownload = React.useCallback(() => {\n if (!currentImage) return\n\n const link = document.createElement(\"a\")\n link.href = currentImage.src\n link.download = currentImage.alt || `image-${currentImage.id}`\n link.target = \"_blank\"\n link.rel = \"noopener noreferrer\"\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n }, [currentImage])\n\n const handleImageLoad = React.useCallback(() => {\n setImageLoading(false)\n setImageError(false)\n }, [])\n\n const handleImageError = React.useCallback(() => {\n setImageLoading(false)\n setImageError(true)\n }, [])\n\n // Keyboard navigation\n React.useEffect(() => {\n if (!open) return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case \"ArrowLeft\":\n event.preventDefault()\n goPrev()\n break\n case \"ArrowRight\":\n event.preventDefault()\n goNext()\n break\n case \"Escape\":\n event.preventDefault()\n handleClose()\n break\n case \"+\":\n case \"=\":\n if (enableZoom) {\n event.preventDefault()\n handleZoomIn()\n }\n break\n case \"-\":\n if (enableZoom) {\n event.preventDefault()\n handleZoomOut()\n }\n break\n }\n }\n\n window.addEventListener(\"keydown\", handleKeyDown)\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown)\n }\n }, [open, goNext, goPrev, handleClose, enableZoom, handleZoomIn, handleZoomOut])\n\n if (!currentImage) return null\n\n return (\n <DialogPrimitive.Root open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-black/90\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\"\n )}\n data-slot=\"lightbox-overlay\"\n />\n <DialogPrimitive.Content\n key={stateKey}\n className={cn(\n \"fixed inset-0 z-50 flex flex-col\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n \"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n \"duration-200\",\n className\n )}\n aria-describedby={currentImage.caption ? \"lightbox-caption\" : undefined}\n aria-label={`Lightbox: ${currentImage.alt}`}\n data-slot=\"lightbox\"\n >\n {/* Hide dialog title for screen readers but provide accessible label */}\n <DialogPrimitive.Title className=\"sr-only\">\n Image Viewer\n </DialogPrimitive.Title>\n <DialogPrimitive.Description className=\"sr-only\">\n {`Viewing image ${String(currentIndex + 1)} of ${String(images.length)}`}\n </DialogPrimitive.Description>\n\n {/* Top controls bar */}\n <div\n className=\"absolute top-0 left-0 right-0 z-10 flex items-center justify-between p-[var(--lightbox-header-padding)]\"\n data-slot=\"lightbox-header\"\n >\n {/* Counter */}\n {showCounter && hasMultipleImages ? (\n <div\n aria-live=\"polite\"\n className=\"text-sm text-white/70\"\n data-slot=\"lightbox-counter\"\n >\n {currentIndex + 1} / {images.length}\n </div>\n ) : (\n <div />\n )}\n\n {/* Action buttons */}\n <div className=\"flex items-center gap-2\">\n {enableDownload && (\n <button\n aria-label=\"Download image\"\n className={controlButtonSmall}\n data-slot=\"lightbox-download\"\n type=\"button\"\n onClick={handleDownload}\n >\n <Download className=\"size-5\" />\n </button>\n )}\n <DialogPrimitive.Close asChild>\n <button\n aria-label=\"Close lightbox\"\n className={controlButtonSmall}\n data-slot=\"lightbox-close\"\n type=\"button\"\n >\n <X className=\"size-6\" />\n </button>\n </DialogPrimitive.Close>\n </div>\n </div>\n\n {/* Navigation arrows */}\n {hasMultipleImages && (\n <>\n <button\n className={cn(\n \"absolute left-4 top-1/2 z-10 -translate-y-1/2\",\n controlButtonLarge,\n controlButtonDisabled\n )}\n aria-label=\"Previous image\"\n data-slot=\"lightbox-prev\"\n disabled={!canGoPrev}\n type=\"button\"\n onClick={goPrev}\n >\n <ChevronLeft className=\"size-8\" />\n </button>\n <button\n className={cn(\n \"absolute right-4 top-1/2 z-10 -translate-y-1/2\",\n controlButtonLarge,\n controlButtonDisabled\n )}\n aria-label=\"Next image\"\n data-slot=\"lightbox-next\"\n disabled={!canGoNext}\n type=\"button\"\n onClick={goNext}\n >\n <ChevronRight className=\"size-8\" />\n </button>\n </>\n )}\n\n {/* Main image area */}\n <div\n className={cn(\n \"flex flex-1 items-center justify-center\",\n showThumbnails ? \"pb-24\" : \"pb-20\",\n \"pt-16 px-16\"\n )}\n data-slot=\"lightbox-image-container\"\n >\n {imageLoading && (\n <div\n className=\"absolute inset-0 flex items-center justify-center\"\n data-loading=\"true\"\n >\n <div className=\"size-12 animate-spin rounded-full border-4 border-white/20 border-t-white\" />\n </div>\n )}\n {imageError ? (\n <div\n className=\"flex flex-col items-center justify-center gap-4 text-white/70\"\n data-error=\"true\"\n >\n <X className=\"size-16 text-white/40\" />\n <span>Failed to load image</span>\n </div>\n ) : (\n <img\n className={cn(\n \"max-h-full max-w-full object-contain transition-all duration-200\",\n imageLoading ? \"opacity-0\" : \"opacity-100\"\n )}\n alt={currentImage.alt}\n data-slot=\"lightbox-image\"\n src={currentImage.src}\n style={{ transform: `scale(${String(zoom)})` }}\n onError={handleImageError}\n onLoad={handleImageLoad}\n />\n )}\n </div>\n\n {/* Bottom controls bar */}\n <div\n className={cn(\n \"absolute bottom-0 left-0 right-0 z-10 flex flex-col items-center gap-[var(--lightbox-footer-gap)] p-[var(--lightbox-footer-padding)]\",\n showThumbnails ? \"pb-4\" : \"pb-6\"\n )}\n data-slot=\"lightbox-footer\"\n >\n {/* Zoom controls */}\n {enableZoom && (\n <div\n className=\"flex items-center gap-2\"\n data-slot=\"lightbox-zoom-controls\"\n >\n <button\n aria-label=\"Zoom out\"\n className={cn(controlButtonSmall, controlButtonDisabled)}\n data-slot=\"lightbox-zoom-out\"\n disabled={zoom <= 0.5}\n type=\"button\"\n onClick={handleZoomOut}\n >\n <ZoomOut className=\"size-5\" />\n </button>\n <span className=\"min-w-[4ch] text-center text-sm text-white/70\">\n {Math.round(zoom * 100)}%\n </span>\n <button\n aria-label=\"Zoom in\"\n className={cn(controlButtonSmall, controlButtonDisabled)}\n data-slot=\"lightbox-zoom-in\"\n disabled={zoom >= 3}\n type=\"button\"\n onClick={handleZoomIn}\n >\n <ZoomIn className=\"size-5\" />\n </button>\n </div>\n )}\n\n {/* Caption */}\n {showCaption && currentImage.caption && (\n <p\n className=\"text-center text-sm text-white/90\"\n data-slot=\"lightbox-caption\"\n id=\"lightbox-caption\"\n >\n {currentImage.caption}\n </p>\n )}\n\n {/* Thumbnails strip */}\n {showThumbnails && hasMultipleImages && (\n <div\n aria-label=\"Image thumbnails\"\n className=\"flex max-w-full gap-[var(--lightbox-thumbnail-gap)] overflow-x-auto px-4 py-2\"\n data-slot=\"lightbox-thumbnails\"\n role=\"tablist\"\n >\n {images.map((image, index) => (\n <button\n key={image.id}\n className={cn(\n \"relative size-[var(--lightbox-thumbnail-size)] shrink-0 overflow-hidden rounded-md transition-all\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/50\",\n index === currentIndex\n ? \"ring-2 ring-white ring-offset-2 ring-offset-black/90\"\n : \"opacity-[var(--lightbox-thumbnail-opacity-inactive)] hover:opacity-100\"\n )}\n aria-label={`View ${image.alt}`}\n aria-selected={index === currentIndex}\n data-slot=\"lightbox-thumbnail\"\n role=\"tab\"\n type=\"button\"\n onClick={() => {\n goToIndex(index)\n }}\n >\n <img\n alt={image.alt}\n className=\"size-full object-cover\"\n loading=\"lazy\"\n src={image.thumbnail ?? image.src}\n />\n </button>\n ))}\n </div>\n )}\n </div>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n )\n}\n\nexport { Lightbox }\nexport type { LightboxImage, LightboxProps }\n"]}
1
+ {"version":3,"sources":["../src/components/data-display/Lightbox/Lightbox.tsx"],"names":[],"mappings":";;;;;;AAkBA,IAAM,iBAAA,GAAoB,EAAA;AAAA,EACxB,0EAAA;AAAA,EACA,4DAAA;AAAA,EACA;AACF,CAAA;AAEA,IAAM,kBAAA,GAAqB,EAAA;AAAA,EACzB,iBAAA;AAAA,EACA;AACF,CAAA;AACA,IAAM,kBAAA,GAAqB,EAAA;AAAA,EACzB,iBAAA;AAAA,EACA;AACF,CAAA;AACA,IAAM,qBAAA,GAAwB,iDAAA;AAsB9B,SAAS,QAAA,CAAS;AAAA,EAChB,SAAA;AAAA,EACA,cAAA,GAAiB,KAAA;AAAA,EACjB,UAAA,GAAa,IAAA;AAAA,EACb,MAAA;AAAA,EACA,YAAA,GAAe,CAAA;AAAA,EACf,IAAA,GAAO,IAAA;AAAA,EACP,OAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA,GAAc,IAAA;AAAA,EACd,WAAA,GAAc,IAAA;AAAA,EACd,cAAA,GAAiB;AACnB,CAAA,EAAkB;AAEhB,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAU,eAAS,CAAC,CAAA;AAChD,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAU,eAAS,YAAY,CAAA;AACnE,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAU,eAAS,CAAC,CAAA;AACxC,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAU,eAAS,IAAI,CAAA;AAC3D,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAU,eAAS,KAAK,CAAA;AAGxD,EAAA,MAAM,WAAA,GAAoB,aAAO,IAAI,CAAA;AAIrC,EAAM,gBAAU,MAAM;AACpB,IAAA,IAAI,IAAA,IAAQ,CAAC,WAAA,CAAY,OAAA,EAAS;AAEhC,MAAA,eAAA,CAAgB,YAAY,CAAA;AAC5B,MAAA,OAAA,CAAQ,CAAC,CAAA;AACT,MAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,MAAA,aAAA,CAAc,KAAK,CAAA;AACnB,MAAA,WAAA,CAAY,CAAC,CAAA,KAAM,CAAA,GAAI,CAAC,CAAA;AAAA,IAC1B;AACA,IAAA,WAAA,CAAY,OAAA,GAAU,IAAA;AAAA,EACxB,CAAA,EAAG,CAAC,IAAA,EAAM,YAAY,CAAC,CAAA;AAKvB,EAAM,gBAAU,MAAM;AACpB,IAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,IAAA,aAAA,CAAc,KAAK,CAAA;AAAA,EACrB,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAGjB,EAAA,MAAM,YAAA,GAA0C,OAAO,YAAY,CAAA;AACnE,EAAA,MAAM,iBAAA,GAAoB,OAAO,MAAA,GAAS,CAAA;AAE1C,EAAA,MAAM,SAAA,GAAY,IAAA,IAAQ,YAAA,GAAe,MAAA,CAAO,MAAA,GAAS,CAAA;AACzD,EAAA,MAAM,SAAA,GAAY,QAAQ,YAAA,GAAe,CAAA;AAEzC,EAAA,MAAM,MAAA,GAAe,kBAAY,MAAM;AACrC,IAAA,IAAI,CAAC,SAAA,EAAW;AAChB,IAAA,OAAA,CAAQ,CAAC,CAAA;AACT,IAAA,MAAM,SAAA,GACJ,eAAe,MAAA,CAAO,MAAA,GAAS,IAC3B,YAAA,GAAe,CAAA,GACf,OACE,CAAA,GACA,YAAA;AACR,IAAA,eAAA,CAAgB,SAAS,CAAA;AACzB,IAAA,aAAA,GAAgB,SAAS,CAAA;AAAA,EAC3B,CAAA,EAAG,CAAC,YAAA,EAAc,MAAA,CAAO,QAAQ,IAAA,EAAM,SAAA,EAAW,aAAa,CAAC,CAAA;AAEhE,EAAA,MAAM,MAAA,GAAe,kBAAY,MAAM;AACrC,IAAA,IAAI,CAAC,SAAA,EAAW;AAChB,IAAA,OAAA,CAAQ,CAAC,CAAA;AACT,IAAA,MAAM,SAAA,GACJ,eAAe,CAAA,GACX,YAAA,GAAe,IACf,IAAA,GACE,MAAA,CAAO,SAAS,CAAA,GAChB,YAAA;AACR,IAAA,eAAA,CAAgB,SAAS,CAAA;AACzB,IAAA,aAAA,GAAgB,SAAS,CAAA;AAAA,EAC3B,CAAA,EAAG,CAAC,YAAA,EAAc,MAAA,CAAO,QAAQ,IAAA,EAAM,SAAA,EAAW,aAAa,CAAC,CAAA;AAEhE,EAAA,MAAM,SAAA,GAAkB,KAAA,CAAA,WAAA;AAAA,IACtB,CAAC,KAAA,KAAkB;AACjB,MAAA,IAAI,KAAA,IAAS,CAAA,IAAK,KAAA,GAAQ,MAAA,CAAO,MAAA,EAAQ;AACvC,QAAA,OAAA,CAAQ,CAAC,CAAA;AACT,QAAA,eAAA,CAAgB,KAAK,CAAA;AACrB,QAAA,aAAA,GAAgB,KAAK,CAAA;AAAA,MACvB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,MAAA,CAAO,MAAA,EAAQ,aAAa;AAAA,GAC/B;AAEA,EAAA,MAAM,WAAA,GAAoB,kBAAY,MAAM;AAC1C,IAAA,YAAA,GAAe,KAAK,CAAA;AACpB,IAAA,OAAA,IAAU;AAAA,EACZ,CAAA,EAAG,CAAC,YAAA,EAAc,OAAO,CAAC,CAAA;AAE1B,EAAA,MAAM,YAAA,GAAqB,kBAAY,MAAM;AAC3C,IAAA,OAAA,CAAQ,CAAC,IAAA,KAAS,IAAA,CAAK,IAAI,CAAA,EAAG,IAAA,GAAO,IAAI,CAAC,CAAA;AAAA,EAC5C,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,aAAA,GAAsB,kBAAY,MAAM;AAC5C,IAAA,OAAA,CAAQ,CAAC,IAAA,KAAS,IAAA,CAAK,IAAI,GAAA,EAAK,IAAA,GAAO,IAAI,CAAC,CAAA;AAAA,EAC9C,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,cAAA,GAAuB,kBAAY,MAAM;AAC7C,IAAA,IAAI,CAAC,YAAA,EAAc;AAEnB,IAAA,MAAM,IAAA,GAAO,QAAA,CAAS,aAAA,CAAc,GAAG,CAAA;AACvC,IAAA,IAAA,CAAK,OAAO,YAAA,CAAa,GAAA;AACzB,IAAA,IAAA,CAAK,QAAA,GAAW,YAAA,CAAa,GAAA,IAAO,CAAA,MAAA,EAAS,aAAa,EAAE,CAAA,CAAA;AAC5D,IAAA,IAAA,CAAK,MAAA,GAAS,QAAA;AACd,IAAA,IAAA,CAAK,GAAA,GAAM,qBAAA;AACX,IAAA,QAAA,CAAS,IAAA,CAAK,YAAY,IAAI,CAAA;AAC9B,IAAA,IAAA,CAAK,KAAA,EAAM;AACX,IAAA,QAAA,CAAS,IAAA,CAAK,YAAY,IAAI,CAAA;AAAA,EAChC,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAA,MAAM,eAAA,GAAwB,kBAAY,MAAM;AAC9C,IAAA,eAAA,CAAgB,KAAK,CAAA;AACrB,IAAA,aAAA,CAAc,KAAK,CAAA;AAAA,EACrB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,gBAAA,GAAyB,kBAAY,MAAM;AAC/C,IAAA,eAAA,CAAgB,KAAK,CAAA;AACrB,IAAA,aAAA,CAAc,IAAI,CAAA;AAAA,EACpB,CAAA,EAAG,EAAE,CAAA;AAGL,EAAM,gBAAU,MAAM;AACpB,IAAA,IAAI,CAAC,IAAA,EAAM;AAEX,IAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAyB;AAC9C,MAAA,QAAQ,MAAM,GAAA;AAAK,QACjB,KAAK,WAAA;AACH,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,MAAA,EAAO;AACP,UAAA;AAAA,QACF,KAAK,YAAA;AACH,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,MAAA,EAAO;AACP,UAAA;AAAA,QACF,KAAK,QAAA;AACH,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,WAAA,EAAY;AACZ,UAAA;AAAA,QACF,KAAK,GAAA;AAAA,QACL,KAAK,GAAA;AACH,UAAA,IAAI,UAAA,EAAY;AACd,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,YAAA,EAAa;AAAA,UACf;AACA,UAAA;AAAA,QACF,KAAK,GAAA;AACH,UAAA,IAAI,UAAA,EAAY;AACd,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,aAAA,EAAc;AAAA,UAChB;AACA,UAAA;AAAA;AACJ,IACF,CAAA;AAEA,IAAA,MAAA,CAAO,gBAAA,CAAiB,WAAW,aAAa,CAAA;AAChD,IAAA,OAAO,MAAM;AACX,MAAA,MAAA,CAAO,mBAAA,CAAoB,WAAW,aAAa,CAAA;AAAA,IACrD,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,IAAA,EAAM,MAAA,EAAQ,QAAQ,WAAA,EAAa,UAAA,EAAY,YAAA,EAAc,aAAa,CAAC,CAAA;AAE/E,EAAA,IAAI,CAAC,cAAc,OAAO,IAAA;AAE1B,EAAA,2BACmB,eAAA,CAAA,IAAA,EAAhB,EAAqB,MAAY,YAAA,EAChC,QAAA,kBAAA,IAAA,CAAiB,wBAAhB,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAiB,eAAA,CAAA,OAAA;AAAA,MAAhB;AAAA,QACC,SAAA,EAAW,EAAA;AAAA,UACT,gCAAA;AAAA,UACA,8DAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,WAAA,EAAU;AAAA;AAAA,KACZ;AAAA,oBACA,IAAA;AAAA,MAAiB,eAAA,CAAA,OAAA;AAAA,MAAhB;AAAA,QAEC,SAAA,EAAW,EAAA;AAAA,UACT,kCAAA;AAAA,UACA,8DAAA;AAAA,UACA,4DAAA;AAAA,UACA,8DAAA;AAAA,UACA,cAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,kBAAA,EAAkB,YAAA,CAAa,OAAA,GAAU,kBAAA,GAAqB,MAAA;AAAA,QAC9D,YAAA,EAAY,CAAA,UAAA,EAAa,YAAA,CAAa,GAAG,CAAA,CAAA;AAAA,QACzC,WAAA,EAAU,UAAA;AAAA,QAGV,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAiB,eAAA,CAAA,KAAA,EAAhB,EAAsB,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,cAAA,EAE3C,CAAA;AAAA,0BACA,GAAA,CAAiB,eAAA,CAAA,WAAA,EAAhB,EAA4B,SAAA,EAAU,WACpC,QAAA,EAAA,CAAA,cAAA,EAAiB,MAAA,CAAO,YAAA,GAAe,CAAC,CAAC,CAAA,IAAA,EAAO,MAAA,CAAO,MAAA,CAAO,MAAM,CAAC,CAAA,CAAA,EACxE,CAAA;AAAA,0BAGA,IAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAU,yGAAA;AAAA,cACV,WAAA,EAAU,iBAAA;AAAA,cAGT,QAAA,EAAA;AAAA,gBAAA,WAAA,IAAe,iBAAA,mBACd,IAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,WAAA,EAAU,QAAA;AAAA,oBACV,SAAA,EAAU,uBAAA;AAAA,oBACV,WAAA,EAAU,kBAAA;AAAA,oBAET,QAAA,EAAA;AAAA,sBAAA,YAAA,GAAe,CAAA;AAAA,sBAAE,KAAA;AAAA,sBAAI,MAAA,CAAO;AAAA;AAAA;AAAA,iBAC/B,uBAEC,KAAA,EAAA,EAAI,CAAA;AAAA,gCAIP,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACZ,QAAA,EAAA;AAAA,kBAAA,cAAA,oBACC,GAAA;AAAA,oBAAC,QAAA;AAAA,oBAAA;AAAA,sBACC,YAAA,EAAW,gBAAA;AAAA,sBACX,SAAA,EAAW,kBAAA;AAAA,sBACX,WAAA,EAAU,mBAAA;AAAA,sBACV,IAAA,EAAK,QAAA;AAAA,sBACL,OAAA,EAAS,cAAA;AAAA,sBAET,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA,mBAC/B;AAAA,kCAEF,GAAA,CAAiB,eAAA,CAAA,KAAA,EAAhB,EAAsB,OAAA,EAAO,IAAA,EAC5B,QAAA,kBAAA,GAAA;AAAA,oBAAC,QAAA;AAAA,oBAAA;AAAA,sBACC,YAAA,EAAW,gBAAA;AAAA,sBACX,SAAA,EAAW,kBAAA;AAAA,sBACX,WAAA,EAAU,gBAAA;AAAA,sBACV,IAAA,EAAK,QAAA;AAAA,sBAEL,QAAA,kBAAA,GAAA,CAAC,CAAA,EAAA,EAAE,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA,mBACxB,EACF;AAAA,iBAAA,EACF;AAAA;AAAA;AAAA,WACF;AAAA,UAGC,qCACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAW,EAAA;AAAA,kBACT,+CAAA;AAAA,kBACA,kBAAA;AAAA,kBACA;AAAA,iBACF;AAAA,gBACA,YAAA,EAAW,gBAAA;AAAA,gBACX,WAAA,EAAU,eAAA;AAAA,gBACV,UAAU,CAAC,SAAA;AAAA,gBACX,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAS,MAAA;AAAA,gBAET,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA,aAClC;AAAA,4BACA,GAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAW,EAAA;AAAA,kBACT,gDAAA;AAAA,kBACA,kBAAA;AAAA,kBACA;AAAA,iBACF;AAAA,gBACA,YAAA,EAAW,YAAA;AAAA,gBACX,WAAA,EAAU,eAAA;AAAA,gBACV,UAAU,CAAC,SAAA;AAAA,gBACX,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAS,MAAA;AAAA,gBAET,QAAA,kBAAA,GAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA;AACnC,WAAA,EACF,CAAA;AAAA,0BAIF,IAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,EAAA;AAAA,gBACT,yCAAA;AAAA,gBACA,iBAAiB,OAAA,GAAU,OAAA;AAAA,gBAC3B;AAAA,eACF;AAAA,cACA,WAAA,EAAU,0BAAA;AAAA,cAET,QAAA,EAAA;AAAA,gBAAA,YAAA,oBACC,GAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAU,mDAAA;AAAA,oBACV,cAAA,EAAa,MAAA;AAAA,oBAEb,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2EAAA,EAA4E;AAAA;AAAA,iBAC7F;AAAA,gBAED,UAAA,mBACC,IAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAU,+DAAA;AAAA,oBACV,YAAA,EAAW,MAAA;AAAA,oBAEX,QAAA,EAAA;AAAA,sCAAA,GAAA,CAAC,CAAA,EAAA,EAAE,WAAU,uBAAA,EAAwB,CAAA;AAAA,sCACrC,GAAA,CAAC,UAAK,QAAA,EAAA,sBAAA,EAAoB;AAAA;AAAA;AAAA,iBAC5B,mBAEA,GAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAW,EAAA;AAAA,sBACT,kEAAA;AAAA,sBACA,eAAe,WAAA,GAAc;AAAA,qBAC/B;AAAA,oBACA,KAAK,YAAA,CAAa,GAAA;AAAA,oBAClB,WAAA,EAAU,gBAAA;AAAA,oBACV,KAAK,YAAA,CAAa,GAAA;AAAA,oBAClB,OAAO,EAAE,SAAA,EAAW,SAAS,MAAA,CAAO,IAAI,CAAC,CAAA,CAAA,CAAA,EAAI;AAAA,oBAC7C,OAAA,EAAS,gBAAA;AAAA,oBACT,MAAA,EAAQ;AAAA;AAAA;AACV;AAAA;AAAA,WAEJ;AAAA,0BAGA,IAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,EAAA;AAAA,gBACT,sIAAA;AAAA,gBACA,iBAAiB,MAAA,GAAS;AAAA,eAC5B;AAAA,cACA,WAAA,EAAU,iBAAA;AAAA,cAGT,QAAA,EAAA;AAAA,gBAAA,UAAA,oBACC,IAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAU,yBAAA;AAAA,oBACV,WAAA,EAAU,wBAAA;AAAA,oBAEV,QAAA,EAAA;AAAA,sCAAA,GAAA;AAAA,wBAAC,QAAA;AAAA,wBAAA;AAAA,0BACC,YAAA,EAAW,UAAA;AAAA,0BACX,SAAA,EAAW,EAAA,CAAG,kBAAA,EAAoB,qBAAqB,CAAA;AAAA,0BACvD,WAAA,EAAU,mBAAA;AAAA,0BACV,UAAU,IAAA,IAAQ,GAAA;AAAA,0BAClB,IAAA,EAAK,QAAA;AAAA,0BACL,OAAA,EAAS,aAAA;AAAA,0BAET,QAAA,kBAAA,GAAA,CAAC,OAAA,EAAA,EAAQ,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA,uBAC9B;AAAA,sCACA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,+CAAA,EACb,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAK,KAAA,CAAM,OAAO,GAAG,CAAA;AAAA,wBAAE;AAAA,uBAAA,EAC1B,CAAA;AAAA,sCACA,GAAA;AAAA,wBAAC,QAAA;AAAA,wBAAA;AAAA,0BACC,YAAA,EAAW,SAAA;AAAA,0BACX,SAAA,EAAW,EAAA,CAAG,kBAAA,EAAoB,qBAAqB,CAAA;AAAA,0BACvD,WAAA,EAAU,kBAAA;AAAA,0BACV,UAAU,IAAA,IAAQ,CAAA;AAAA,0BAClB,IAAA,EAAK,QAAA;AAAA,0BACL,OAAA,EAAS,YAAA;AAAA,0BAET,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA;AAC7B;AAAA;AAAA,iBACF;AAAA,gBAID,WAAA,IAAe,aAAa,OAAA,oBAC3B,GAAA;AAAA,kBAAC,GAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAU,mCAAA;AAAA,oBACV,WAAA,EAAU,kBAAA;AAAA,oBACV,EAAA,EAAG,kBAAA;AAAA,oBAEF,QAAA,EAAA,YAAA,CAAa;AAAA;AAAA,iBAChB;AAAA,gBAID,kBAAkB,iBAAA,oBACjB,GAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,YAAA,EAAW,kBAAA;AAAA,oBACX,SAAA,EAAU,+EAAA;AAAA,oBACV,WAAA,EAAU,qBAAA;AAAA,oBACV,IAAA,EAAK,SAAA;AAAA,oBAEJ,QAAA,EAAA,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,EAAO,KAAA,qBAClB,GAAA;AAAA,sBAAC,QAAA;AAAA,sBAAA;AAAA,wBAEC,SAAA,EAAW,EAAA;AAAA,0BACT,mGAAA;AAAA,0BACA,6EAAA;AAAA,0BACA,KAAA,KAAU,eACN,sDAAA,GACA;AAAA,yBACN;AAAA,wBACA,YAAA,EAAY,CAAA,KAAA,EAAQ,KAAA,CAAM,GAAG,CAAA,CAAA;AAAA,wBAC7B,iBAAe,KAAA,KAAU,YAAA;AAAA,wBACzB,WAAA,EAAU,oBAAA;AAAA,wBACV,IAAA,EAAK,KAAA;AAAA,wBACL,IAAA,EAAK,QAAA;AAAA,wBACL,SAAS,MAAM;AACb,0BAAA,SAAA,CAAU,KAAK,CAAA;AAAA,wBACjB,CAAA;AAAA,wBAEA,QAAA,kBAAA,GAAA;AAAA,0BAAC,KAAA;AAAA,0BAAA;AAAA,4BACC,KAAK,KAAA,CAAM,GAAA;AAAA,4BACX,SAAA,EAAU,wBAAA;AAAA,4BACV,OAAA,EAAQ,MAAA;AAAA,4BACR,GAAA,EAAK,KAAA,CAAM,SAAA,IAAa,KAAA,CAAM;AAAA;AAAA;AAChC,uBAAA;AAAA,sBAtBK,KAAA,CAAM;AAAA,qBAwBd;AAAA;AAAA;AACH;AAAA;AAAA;AAEJ;AAAA,OAAA;AAAA,MApOK;AAAA;AAqOP,GAAA,EACF,CAAA,EACF,CAAA;AAEJ","file":"chunk-C34UNXMN.js","sourcesContent":["\"use client\"\n\nimport type { LightboxImage, LightboxProps } from \"./Lightbox.types\"\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport {\n ChevronLeft,\n ChevronRight,\n Download,\n X,\n ZoomIn,\n ZoomOut,\n} from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\n\n// Shared button styles\nconst controlButtonBase = cn(\n \"flex items-center justify-center rounded-[var(--lightbox-button-radius)]\",\n \"bg-white/10 text-white transition-colors hover:bg-white/20\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/50\"\n)\n\nconst controlButtonSmall = cn(\n controlButtonBase,\n \"size-[var(--lightbox-button-size-sm)]\"\n)\nconst controlButtonLarge = cn(\n controlButtonBase,\n \"size-[var(--lightbox-button-size-lg)]\"\n)\nconst controlButtonDisabled = \"disabled:cursor-not-allowed disabled:opacity-30\"\n\n/**\n * Lightbox - A full-screen media viewer with navigation, zoom, and captions\n *\n * @example\n * ```tsx\n * const [open, setOpen] = useState(false)\n * const images = [\n * { id: '1', src: '/img1.jpg', alt: 'Image 1', caption: 'First image' },\n * { id: '2', src: '/img2.jpg', alt: 'Image 2', caption: 'Second image' },\n * ]\n *\n * <Lightbox\n * images={images}\n * open={open}\n * onOpenChange={setOpen}\n * showCaption\n * enableZoom\n * />\n * ```\n */\nfunction Lightbox({\n className,\n enableDownload = false,\n enableZoom = true,\n images,\n initialIndex = 0,\n loop = true,\n onClose,\n onIndexChange,\n onOpenChange,\n open,\n showCaption = true,\n showCounter = true,\n showThumbnails = false,\n}: LightboxProps) {\n // Use a key to reset state when dialog opens at a specific index\n const [stateKey, setStateKey] = React.useState(0)\n const [currentIndex, setCurrentIndex] = React.useState(initialIndex)\n const [zoom, setZoom] = React.useState(1)\n const [imageLoading, setImageLoading] = React.useState(true)\n const [imageError, setImageError] = React.useState(false)\n\n // Track previous open state to detect when dialog opens\n const prevOpenRef = React.useRef(open)\n\n // Reset state when dialog opens (not on every render)\n /* eslint-disable react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -- Intentional state reset on open */\n React.useEffect(() => {\n if (open && !prevOpenRef.current) {\n // Dialog just opened - reset to initialIndex\n setCurrentIndex(initialIndex)\n setZoom(1)\n setImageLoading(true)\n setImageError(false)\n setStateKey((k) => k + 1)\n }\n prevOpenRef.current = open\n }, [open, initialIndex])\n /* eslint-enable react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect */\n\n // Reset loading state when the image changes\n /* eslint-disable react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, react-you-might-not-need-an-effect/no-chain-state-updates, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -- Image loading state sync */\n React.useEffect(() => {\n setImageLoading(true)\n setImageError(false)\n }, [currentIndex])\n /* eslint-enable react-you-might-not-need-an-effect/no-adjust-state-on-prop-change, react-you-might-not-need-an-effect/no-chain-state-updates, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect */\n\n const currentImage: LightboxImage | undefined = images[currentIndex]\n const hasMultipleImages = images.length > 1\n\n const canGoNext = loop || currentIndex < images.length - 1\n const canGoPrev = loop || currentIndex > 0\n\n const goNext = React.useCallback(() => {\n if (!canGoNext) return\n setZoom(1)\n const nextIndex =\n currentIndex < images.length - 1\n ? currentIndex + 1\n : loop\n ? 0\n : currentIndex\n setCurrentIndex(nextIndex)\n onIndexChange?.(nextIndex)\n }, [currentIndex, images.length, loop, canGoNext, onIndexChange])\n\n const goPrev = React.useCallback(() => {\n if (!canGoPrev) return\n setZoom(1)\n const prevIndex =\n currentIndex > 0\n ? currentIndex - 1\n : loop\n ? images.length - 1\n : currentIndex\n setCurrentIndex(prevIndex)\n onIndexChange?.(prevIndex)\n }, [currentIndex, images.length, loop, canGoPrev, onIndexChange])\n\n const goToIndex = React.useCallback(\n (index: number) => {\n if (index >= 0 && index < images.length) {\n setZoom(1)\n setCurrentIndex(index)\n onIndexChange?.(index)\n }\n },\n [images.length, onIndexChange]\n )\n\n const handleClose = React.useCallback(() => {\n onOpenChange?.(false)\n onClose?.()\n }, [onOpenChange, onClose])\n\n const handleZoomIn = React.useCallback(() => {\n setZoom((prev) => Math.min(3, prev + 0.25))\n }, [])\n\n const handleZoomOut = React.useCallback(() => {\n setZoom((prev) => Math.max(0.5, prev - 0.25))\n }, [])\n\n const handleDownload = React.useCallback(() => {\n if (!currentImage) return\n\n const link = document.createElement(\"a\")\n link.href = currentImage.src\n link.download = currentImage.alt || `image-${currentImage.id}`\n link.target = \"_blank\"\n link.rel = \"noopener noreferrer\"\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n }, [currentImage])\n\n const handleImageLoad = React.useCallback(() => {\n setImageLoading(false)\n setImageError(false)\n }, [])\n\n const handleImageError = React.useCallback(() => {\n setImageLoading(false)\n setImageError(true)\n }, [])\n\n // Keyboard navigation\n React.useEffect(() => {\n if (!open) return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case \"ArrowLeft\":\n event.preventDefault()\n goPrev()\n break\n case \"ArrowRight\":\n event.preventDefault()\n goNext()\n break\n case \"Escape\":\n event.preventDefault()\n handleClose()\n break\n case \"+\":\n case \"=\":\n if (enableZoom) {\n event.preventDefault()\n handleZoomIn()\n }\n break\n case \"-\":\n if (enableZoom) {\n event.preventDefault()\n handleZoomOut()\n }\n break\n }\n }\n\n window.addEventListener(\"keydown\", handleKeyDown)\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown)\n }\n }, [open, goNext, goPrev, handleClose, enableZoom, handleZoomIn, handleZoomOut])\n\n if (!currentImage) return null\n\n return (\n <DialogPrimitive.Root open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-black/90\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\"\n )}\n data-slot=\"lightbox-overlay\"\n />\n <DialogPrimitive.Content\n key={stateKey}\n className={cn(\n \"fixed inset-0 z-50 flex flex-col\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n \"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n \"duration-200\",\n className\n )}\n aria-describedby={currentImage.caption ? \"lightbox-caption\" : undefined}\n aria-label={`Lightbox: ${currentImage.alt}`}\n data-slot=\"lightbox\"\n >\n {/* Hide dialog title for screen readers but provide accessible label */}\n <DialogPrimitive.Title className=\"sr-only\">\n Image Viewer\n </DialogPrimitive.Title>\n <DialogPrimitive.Description className=\"sr-only\">\n {`Viewing image ${String(currentIndex + 1)} of ${String(images.length)}`}\n </DialogPrimitive.Description>\n\n {/* Top controls bar */}\n <div\n className=\"absolute top-0 left-0 right-0 z-10 flex items-center justify-between p-[var(--lightbox-header-padding)]\"\n data-slot=\"lightbox-header\"\n >\n {/* Counter */}\n {showCounter && hasMultipleImages ? (\n <div\n aria-live=\"polite\"\n className=\"text-sm text-white/70\"\n data-slot=\"lightbox-counter\"\n >\n {currentIndex + 1} / {images.length}\n </div>\n ) : (\n <div />\n )}\n\n {/* Action buttons */}\n <div className=\"flex items-center gap-2\">\n {enableDownload && (\n <button\n aria-label=\"Download image\"\n className={controlButtonSmall}\n data-slot=\"lightbox-download\"\n type=\"button\"\n onClick={handleDownload}\n >\n <Download className=\"size-5\" />\n </button>\n )}\n <DialogPrimitive.Close asChild>\n <button\n aria-label=\"Close lightbox\"\n className={controlButtonSmall}\n data-slot=\"lightbox-close\"\n type=\"button\"\n >\n <X className=\"size-6\" />\n </button>\n </DialogPrimitive.Close>\n </div>\n </div>\n\n {/* Navigation arrows */}\n {hasMultipleImages && (\n <>\n <button\n className={cn(\n \"absolute left-4 top-1/2 z-10 -translate-y-1/2\",\n controlButtonLarge,\n controlButtonDisabled\n )}\n aria-label=\"Previous image\"\n data-slot=\"lightbox-prev\"\n disabled={!canGoPrev}\n type=\"button\"\n onClick={goPrev}\n >\n <ChevronLeft className=\"size-8\" />\n </button>\n <button\n className={cn(\n \"absolute right-4 top-1/2 z-10 -translate-y-1/2\",\n controlButtonLarge,\n controlButtonDisabled\n )}\n aria-label=\"Next image\"\n data-slot=\"lightbox-next\"\n disabled={!canGoNext}\n type=\"button\"\n onClick={goNext}\n >\n <ChevronRight className=\"size-8\" />\n </button>\n </>\n )}\n\n {/* Main image area */}\n <div\n className={cn(\n \"flex flex-1 items-center justify-center\",\n showThumbnails ? \"pb-24\" : \"pb-20\",\n \"pt-16 px-16\"\n )}\n data-slot=\"lightbox-image-container\"\n >\n {imageLoading && (\n <div\n className=\"absolute inset-0 flex items-center justify-center\"\n data-loading=\"true\"\n >\n <div className=\"size-12 animate-spin rounded-full border-4 border-white/20 border-t-white\" />\n </div>\n )}\n {imageError ? (\n <div\n className=\"flex flex-col items-center justify-center gap-4 text-white/70\"\n data-error=\"true\"\n >\n <X className=\"size-16 text-white/40\" />\n <span>Failed to load image</span>\n </div>\n ) : (\n <img\n className={cn(\n \"max-h-full max-w-full object-contain transition-all duration-200\",\n imageLoading ? \"opacity-0\" : \"opacity-100\"\n )}\n alt={currentImage.alt}\n data-slot=\"lightbox-image\"\n src={currentImage.src}\n style={{ transform: `scale(${String(zoom)})` }}\n onError={handleImageError}\n onLoad={handleImageLoad}\n />\n )}\n </div>\n\n {/* Bottom controls bar */}\n <div\n className={cn(\n \"absolute bottom-0 left-0 right-0 z-10 flex flex-col items-center gap-[var(--lightbox-footer-gap)] p-[var(--lightbox-footer-padding)]\",\n showThumbnails ? \"pb-4\" : \"pb-6\"\n )}\n data-slot=\"lightbox-footer\"\n >\n {/* Zoom controls */}\n {enableZoom && (\n <div\n className=\"flex items-center gap-2\"\n data-slot=\"lightbox-zoom-controls\"\n >\n <button\n aria-label=\"Zoom out\"\n className={cn(controlButtonSmall, controlButtonDisabled)}\n data-slot=\"lightbox-zoom-out\"\n disabled={zoom <= 0.5}\n type=\"button\"\n onClick={handleZoomOut}\n >\n <ZoomOut className=\"size-5\" />\n </button>\n <span className=\"min-w-[4ch] text-center text-sm text-white/70\">\n {Math.round(zoom * 100)}%\n </span>\n <button\n aria-label=\"Zoom in\"\n className={cn(controlButtonSmall, controlButtonDisabled)}\n data-slot=\"lightbox-zoom-in\"\n disabled={zoom >= 3}\n type=\"button\"\n onClick={handleZoomIn}\n >\n <ZoomIn className=\"size-5\" />\n </button>\n </div>\n )}\n\n {/* Caption */}\n {showCaption && currentImage.caption && (\n <p\n className=\"text-center text-sm text-white/90\"\n data-slot=\"lightbox-caption\"\n id=\"lightbox-caption\"\n >\n {currentImage.caption}\n </p>\n )}\n\n {/* Thumbnails strip */}\n {showThumbnails && hasMultipleImages && (\n <div\n aria-label=\"Image thumbnails\"\n className=\"flex max-w-full gap-[var(--lightbox-thumbnail-gap)] overflow-x-auto px-4 py-2\"\n data-slot=\"lightbox-thumbnails\"\n role=\"tablist\"\n >\n {images.map((image, index) => (\n <button\n key={image.id}\n className={cn(\n \"relative size-[var(--lightbox-thumbnail-size)] shrink-0 overflow-hidden rounded-md transition-all\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/50\",\n index === currentIndex\n ? \"ring-2 ring-white ring-offset-2 ring-offset-black/90\"\n : \"opacity-[var(--lightbox-thumbnail-opacity-inactive)] hover:opacity-100\"\n )}\n aria-label={`View ${image.alt}`}\n aria-selected={index === currentIndex}\n data-slot=\"lightbox-thumbnail\"\n role=\"tab\"\n type=\"button\"\n onClick={() => {\n goToIndex(index)\n }}\n >\n <img\n alt={image.alt}\n className=\"size-full object-cover\"\n loading=\"lazy\"\n src={image.thumbnail ?? image.src}\n />\n </button>\n ))}\n </div>\n )}\n </div>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n )\n}\n\nexport { Lightbox }\nexport type { LightboxImage, LightboxProps }\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import { cva } from 'class-variance-authority';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
@@ -66,5 +66,5 @@ function FormValidation({
66
66
  }
67
67
 
68
68
  export { FormValidation, formValidationVariants };
69
- //# sourceMappingURL=chunk-AEHYYTFW.js.map
70
- //# sourceMappingURL=chunk-AEHYYTFW.js.map
69
+ //# sourceMappingURL=chunk-CV77MF4G.js.map
70
+ //# sourceMappingURL=chunk-CV77MF4G.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/forms/FormValidation/FormValidation.variants.ts","../src/components/forms/FormValidation/FormValidation.tsx"],"names":[],"mappings":";;;;AAKO,IAAM,sBAAA,GAAyB,GAAA;AAAA,EACpC,gBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,uBAAA;AAAA,QACN,KAAA,EAAO,kBAAA;AAAA,QACP,OAAA,EAAS,cAAA;AAAA,QACT,OAAA,EAAS;AAAA;AACX,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,KAAA,EAAO;AAAA;AACT;AAEJ;ACRA,SAAS,aAAa,KAAA,EAAiD;AACrE,EAAA,IAAI,KAAA,CAAM,OAAO,OAAO,OAAA;AACxB,EAAA,IAAI,KAAA,CAAM,SAAS,OAAO,SAAA;AAC1B,EAAA,IAAI,KAAA,CAAM,SAAS,OAAO,SAAA;AAC1B,EAAA,OAAO,MAAA;AACT;AAKA,SAAS,UAAA,CAAW,OAA4B,KAAA,EAA4B;AAC1E,EAAA,QAAQ,KAAA;AAAO,IACb,KAAK,OAAA;AACH,MAAA,OAAO,KAAA,CAAM,KAAA;AAAA,IACf,KAAK,SAAA;AACH,MAAA,OAAO,KAAA,CAAM,OAAA;AAAA,IACf,KAAK,SAAA;AACH,MAAA,OAAO,KAAA,CAAM,OAAA;AAAA,IACf,KAAK,MAAA;AAAA,IACL;AACE,MAAA,OAAO,KAAA,CAAM,IAAA;AAAA;AAEnB;AA8BA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqD;AAEnD,EAAA,MAAM,aAAA,GAAgB,SAAS,YAAA,CAAa,EAAE,OAAO,OAAA,EAAS,OAAc,CAAC,CAAA;AAC7E,EAAA,MAAM,OAAA,GAAU,WAAW,aAAA,EAAe,EAAE,OAAO,OAAA,EAAS,OAAA,EAAS,MAAM,CAAA;AAG3E,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAO,IAAA;AAAA,EACT;AAGA,EAAA,MAAM,OAAO,aAAA,KAAkB,OAAA,GAAU,OAAA,GAAU,aAAA,KAAkB,YAAY,QAAA,GAAW,MAAA;AAE5F,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,GAAG,sBAAA,CAAuB,EAAE,OAAO,aAAA,EAAe,GAAG,SAAS,CAAA;AAAA,MACzE,WAAA,EAAU,iBAAA;AAAA,MACV,YAAA,EAAY,aAAA;AAAA,MACZ,IAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ","file":"chunk-AEHYYTFW.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * FormValidation variant styles using CVA\n */\nexport const formValidationVariants = cva(\n \"text-sm mt-1.5\",\n {\n variants: {\n state: {\n idle: \"text-muted-foreground\",\n error: \"text-destructive\",\n success: \"text-success\",\n warning: \"text-warning\",\n },\n },\n defaultVariants: {\n state: \"idle\",\n },\n }\n)\n\n// Export variant prop types\nexport type FormValidationVariantProps = VariantProps<typeof formValidationVariants>\n","import type { FormValidationProps, FormValidationState } from \"./FormValidation.types\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n type FormValidationVariantProps,\n formValidationVariants,\n} from \"./FormValidation.variants\"\n\n/**\n * Determines the validation state based on which message prop is provided.\n * Priority order: error > warning > success > help (idle)\n */\nfunction getAutoState(props: FormValidationProps): FormValidationState {\n if (props.error) return \"error\"\n if (props.warning) return \"warning\"\n if (props.success) return \"success\"\n return \"idle\"\n}\n\n/**\n * Gets the message content based on the validation state.\n */\nfunction getMessage(state: FormValidationState, props: FormValidationProps) {\n switch (state) {\n case \"error\":\n return props.error\n case \"warning\":\n return props.warning\n case \"success\":\n return props.success\n case \"idle\":\n default:\n return props.help\n }\n}\n\n/**\n * FormValidation displays form validation feedback with appropriate styling.\n *\n * @example\n * ```tsx\n * // Auto-detect state from message prop\n * <FormValidation error=\"This field is required\" />\n * <FormValidation success=\"Email is available\" />\n * <FormValidation warning=\"Password is weak\" />\n * <FormValidation help=\"Enter your email address\" />\n * ```\n *\n * @example\n * ```tsx\n * // Explicit state control\n * <FormValidation state=\"error\" error=\"Invalid format\" />\n * ```\n *\n * @example\n * ```tsx\n * // With conditional rendering\n * <FormValidation\n * error={errors.email?.message}\n * success={isValid ? \"Looks good!\" : undefined}\n * help=\"We'll never share your email\"\n * />\n * ```\n */\nfunction FormValidation({\n className,\n state,\n error,\n success,\n warning,\n help,\n ...props\n}: FormValidationProps & FormValidationVariantProps) {\n // Auto-detect state if not explicitly provided\n const resolvedState = state ?? getAutoState({ error, success, warning, help })\n const message = getMessage(resolvedState, { error, success, warning, help })\n\n // Don't render if no message to display\n if (!message) {\n return null\n }\n\n // Determine appropriate role for accessibility\n const role = resolvedState === \"error\" ? \"alert\" : resolvedState === \"success\" ? \"status\" : undefined\n\n return (\n <div\n className={cn(formValidationVariants({ state: resolvedState }), className)}\n data-slot=\"form-validation\"\n data-state={resolvedState}\n role={role}\n {...props}\n >\n {message}\n </div>\n )\n}\n\nexport { FormValidation }\n"]}
1
+ {"version":3,"sources":["../src/components/forms/FormValidation/FormValidation.variants.ts","../src/components/forms/FormValidation/FormValidation.tsx"],"names":[],"mappings":";;;;AAKO,IAAM,sBAAA,GAAyB,GAAA;AAAA,EACpC,gBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,uBAAA;AAAA,QACN,KAAA,EAAO,kBAAA;AAAA,QACP,OAAA,EAAS,cAAA;AAAA,QACT,OAAA,EAAS;AAAA;AACX,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,KAAA,EAAO;AAAA;AACT;AAEJ;ACRA,SAAS,aAAa,KAAA,EAAiD;AACrE,EAAA,IAAI,KAAA,CAAM,OAAO,OAAO,OAAA;AACxB,EAAA,IAAI,KAAA,CAAM,SAAS,OAAO,SAAA;AAC1B,EAAA,IAAI,KAAA,CAAM,SAAS,OAAO,SAAA;AAC1B,EAAA,OAAO,MAAA;AACT;AAKA,SAAS,UAAA,CAAW,OAA4B,KAAA,EAA4B;AAC1E,EAAA,QAAQ,KAAA;AAAO,IACb,KAAK,OAAA;AACH,MAAA,OAAO,KAAA,CAAM,KAAA;AAAA,IACf,KAAK,SAAA;AACH,MAAA,OAAO,KAAA,CAAM,OAAA;AAAA,IACf,KAAK,SAAA;AACH,MAAA,OAAO,KAAA,CAAM,OAAA;AAAA,IACf,KAAK,MAAA;AAAA,IACL;AACE,MAAA,OAAO,KAAA,CAAM,IAAA;AAAA;AAEnB;AA8BA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqD;AAEnD,EAAA,MAAM,aAAA,GAAgB,SAAS,YAAA,CAAa,EAAE,OAAO,OAAA,EAAS,OAAc,CAAC,CAAA;AAC7E,EAAA,MAAM,OAAA,GAAU,WAAW,aAAA,EAAe,EAAE,OAAO,OAAA,EAAS,OAAA,EAAS,MAAM,CAAA;AAG3E,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAO,IAAA;AAAA,EACT;AAGA,EAAA,MAAM,OAAO,aAAA,KAAkB,OAAA,GAAU,OAAA,GAAU,aAAA,KAAkB,YAAY,QAAA,GAAW,MAAA;AAE5F,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,GAAG,sBAAA,CAAuB,EAAE,OAAO,aAAA,EAAe,GAAG,SAAS,CAAA;AAAA,MACzE,WAAA,EAAU,iBAAA;AAAA,MACV,YAAA,EAAY,aAAA;AAAA,MACZ,IAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ","file":"chunk-CV77MF4G.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * FormValidation variant styles using CVA\n */\nexport const formValidationVariants = cva(\n \"text-sm mt-1.5\",\n {\n variants: {\n state: {\n idle: \"text-muted-foreground\",\n error: \"text-destructive\",\n success: \"text-success\",\n warning: \"text-warning\",\n },\n },\n defaultVariants: {\n state: \"idle\",\n },\n }\n)\n\n// Export variant prop types\nexport type FormValidationVariantProps = VariantProps<typeof formValidationVariants>\n","import type { FormValidationProps, FormValidationState } from \"./FormValidation.types\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n type FormValidationVariantProps,\n formValidationVariants,\n} from \"./FormValidation.variants\"\n\n/**\n * Determines the validation state based on which message prop is provided.\n * Priority order: error > warning > success > help (idle)\n */\nfunction getAutoState(props: FormValidationProps): FormValidationState {\n if (props.error) return \"error\"\n if (props.warning) return \"warning\"\n if (props.success) return \"success\"\n return \"idle\"\n}\n\n/**\n * Gets the message content based on the validation state.\n */\nfunction getMessage(state: FormValidationState, props: FormValidationProps) {\n switch (state) {\n case \"error\":\n return props.error\n case \"warning\":\n return props.warning\n case \"success\":\n return props.success\n case \"idle\":\n default:\n return props.help\n }\n}\n\n/**\n * FormValidation displays form validation feedback with appropriate styling.\n *\n * @example\n * ```tsx\n * // Auto-detect state from message prop\n * <FormValidation error=\"This field is required\" />\n * <FormValidation success=\"Email is available\" />\n * <FormValidation warning=\"Password is weak\" />\n * <FormValidation help=\"Enter your email address\" />\n * ```\n *\n * @example\n * ```tsx\n * // Explicit state control\n * <FormValidation state=\"error\" error=\"Invalid format\" />\n * ```\n *\n * @example\n * ```tsx\n * // With conditional rendering\n * <FormValidation\n * error={errors.email?.message}\n * success={isValid ? \"Looks good!\" : undefined}\n * help=\"We'll never share your email\"\n * />\n * ```\n */\nfunction FormValidation({\n className,\n state,\n error,\n success,\n warning,\n help,\n ...props\n}: FormValidationProps & FormValidationVariantProps) {\n // Auto-detect state if not explicitly provided\n const resolvedState = state ?? getAutoState({ error, success, warning, help })\n const message = getMessage(resolvedState, { error, success, warning, help })\n\n // Don't render if no message to display\n if (!message) {\n return null\n }\n\n // Determine appropriate role for accessibility\n const role = resolvedState === \"error\" ? \"alert\" : resolvedState === \"success\" ? \"status\" : undefined\n\n return (\n <div\n className={cn(formValidationVariants({ state: resolvedState }), className)}\n data-slot=\"form-validation\"\n data-state={resolvedState}\n role={role}\n {...props}\n >\n {message}\n </div>\n )\n}\n\nexport { FormValidation }\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
3
3
  import { ChevronDownIcon } from 'lucide-react';
4
4
  import { cva } from 'class-variance-authority';
@@ -212,5 +212,5 @@ function NavigationMenuIndicator({
212
212
  }
213
213
 
214
214
  export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuContentVariants, navigationMenuIndicatorArrowVariants, navigationMenuIndicatorVariants, navigationMenuItemVariants, navigationMenuLinkVariants, navigationMenuListVariants, navigationMenuTriggerStyle, navigationMenuVariants, navigationMenuViewportVariants, navigationMenuViewportWrapperVariants };
215
- //# sourceMappingURL=chunk-MQ2446N7.js.map
216
- //# sourceMappingURL=chunk-MQ2446N7.js.map
215
+ //# sourceMappingURL=chunk-DGOW65KM.js.map
216
+ //# sourceMappingURL=chunk-DGOW65KM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/navigation/NavigationMenu/NavigationMenu.variants.ts","../src/components/navigation/NavigationMenu/NavigationMenu.tsx"],"names":[],"mappings":";;;;;;AAKO,IAAM,yBAAyB,GAAA,CAAI;AAAA,EACxC;AACF,CAAC;AAKM,IAAM,6BAA6B,GAAA,CAAI;AAAA,EAC5C;AACF,CAAC;AAKM,IAAM,0BAAA,GAA6B,GAAA,CAAI,CAAC,UAAU,CAAC;AAMnD,IAAM,6BAA6B,GAAA,CAAI;AAAA,EAC5C,yDAAA;AAAA,EACA,uFAAA;AAAA,EACA,uHAAA;AAAA,EACA,uHAAA;AAAA,EACA,kDAAA;AAAA,EACA,qJAAA;AAAA,EACA,oJAAA;AAAA,EACA,yCAAA;AAAA,EACA,+BAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,gCAAgC,GAAA,CAAI;AAAA;AAAA,EAE/C,gEAAA;AAAA,EACA,0DAAA;AAAA,EACA,+CAAA;AAAA,EACA,gDAAA;AAAA,EACA,4CAAA;AAAA,EACA,6CAAA;AAAA;AAAA,EAEA,gCAAA;AAAA,EACA,uBAAA;AAAA;AAAA,EAEA,0FAAA;AAAA,EACA,8FAAA;AAAA,EACA,0EAAA;AAAA,EACA,6EAAA;AAAA,EACA,6EAAA;AAAA,EACA,0EAAA;AAAA,EACA,yEAAA;AAAA,EACA,4EAAA;AAAA,EACA,sDAAA;AAAA,EACA,oDAAA;AAAA,EACA,6DAAA;AAAA,EACA,wDAAA;AAAA,EACA,oDAAA;AAAA,EACA,oDAAA;AAAA,EACA,0DAAA;AAAA;AAAA,EAEA,kDAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,wCAAwC,GAAA,CAAI;AAAA,EACvD;AACF,CAAC;AAKM,IAAM,iCAAiC,GAAA,CAAI;AAAA,EAChD,mHAAA;AAAA,EACA,8DAAA;AAAA,EACA,8DAAA;AAAA,EACA,kEAAA;AAAA,EACA,iDAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,6BAA6B,GAAA,CAAI;AAAA,EAC5C,yJAAA;AAAA,EACA,oJAAA;AAAA,EACA,uHAAA;AAAA,EACA,uHAAA;AAAA,EACA,4BAAA;AAAA,EACA,qDAAA;AAAA,EACA,wEAAA;AAAA,EACA,kDAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,kCAAkC,GAAA,CAAI;AAAA,EACjD,iEAAA;AAAA,EACA,2DAAA;AAAA;AAAA;AAAA,EAGA;AACF,CAAC;AAKM,IAAM,uCAAuC,GAAA,CAAI;AAAA,EACtD;AACF,CAAC;AC3ED,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,IAAA;AAAA,EACX,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,uBACE,IAAA;AAAA,IAAyB,uBAAA,CAAA,IAAA;AAAA,IAAxB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,sBAAA,EAAuB,EAAG,SAAS,CAAA;AAAA,MACjD,WAAA,EAAU,iBAAA;AAAA,MACV,eAAA,EAAe,QAAA;AAAA,MACd,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,QAAA,wBAAa,sBAAA,EAAA,EAAuB;AAAA;AAAA;AAAA,GACvC;AAEJ;AAKA,SAAS,kBAAA,CAAmB;AAAA,EAC1B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA4B;AAC1B,EAAA,uBACE,GAAA;AAAA,IAAyB,uBAAA,CAAA,IAAA;AAAA,IAAxB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,0BAAA,EAA2B,EAAG,SAAS,CAAA;AAAA,MACrD,WAAA,EAAU,sBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAKA,SAAS,kBAAA,CAAmB;AAAA,EAC1B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA4B;AAC1B,EAAA,uBACE,GAAA;AAAA,IAAyB,uBAAA,CAAA,IAAA;AAAA,IAAxB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,0BAAA,EAA2B,EAAG,SAAS,CAAA;AAAA,MACrD,WAAA,EAAU,sBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAOA,SAAS,qBAAA,CAAsB;AAAA,EAC7B,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA+B;AAC7B,EAAA,uBACE,IAAA;AAAA,IAAyB,uBAAA,CAAA,OAAA;AAAA,IAAxB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,0BAAA,EAA2B,EAAG,SAAS,SAAS,CAAA;AAAA,MAC9D,WAAA,EAAU,yBAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QAAU,GAAA;AAAA,wBACX,GAAA;AAAA,UAAC,eAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAY,MAAA;AAAA,YACZ,SAAA,EAAU;AAAA;AAAA;AACZ;AAAA;AAAA,GACF;AAEJ;AAOA,SAAS,qBAAA,CAAsB;AAAA,EAC7B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA+B;AAC7B,EAAA,uBACE,GAAA;AAAA,IAAyB,uBAAA,CAAA,OAAA;AAAA,IAAxB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,6BAAA,EAA8B,EAAG,SAAS,CAAA;AAAA,MACxD,WAAA,EAAU,yBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAOA,SAAS,sBAAA,CAAuB;AAAA,EAC9B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAgC;AAC9B,EAAA,2BACG,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,qCAAA,EAAuC,CAAA,EACxD,QAAA,kBAAA,GAAA;AAAA,IAAyB,uBAAA,CAAA,QAAA;AAAA,IAAxB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,8BAAA,EAA+B,EAAG,SAAS,CAAA;AAAA,MACzD,WAAA,EAAU,0BAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN,EACF,CAAA;AAEJ;AAOA,SAAS,kBAAA,CAAmB;AAAA,EAC1B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA4B;AAC1B,EAAA,uBACE,GAAA;AAAA,IAAyB,uBAAA,CAAA,IAAA;AAAA,IAAxB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,0BAAA,EAA2B,EAAG,SAAS,CAAA;AAAA,MACrD,WAAA,EAAU,sBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAOA,SAAS,uBAAA,CAAwB;AAAA,EAC/B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAiC;AAC/B,EAAA,uBACE,GAAA;AAAA,IAAyB,uBAAA,CAAA,SAAA;AAAA,IAAxB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,+BAAA,EAAgC,EAAG,SAAS,CAAA;AAAA,MAC1D,WAAA,EAAU,2BAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,8BAAC,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,oCAAA,EAAsC,CAAA,EAAG;AAAA;AAAA,GAC9D;AAEJ","file":"chunk-MQ2446N7.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * NavigationMenu root variant styles\n */\nexport const navigationMenuVariants = cva([\n \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\n])\n\n/**\n * NavigationMenuList variant styles\n */\nexport const navigationMenuListVariants = cva([\n \"group flex flex-1 list-none items-center justify-center gap-1\",\n])\n\n/**\n * NavigationMenuItem variant styles\n */\nexport const navigationMenuItemVariants = cva([\"relative\"])\n\n/**\n * NavigationMenuTrigger variant styles\n * Used for both trigger buttons and standalone links\n */\nexport const navigationMenuTriggerStyle = cva([\n \"group inline-flex h-9 w-max items-center justify-center\",\n \"rounded-md bg-[color:var(--navigation-menu-trigger-bg)] px-4 py-2 text-sm font-medium\",\n \"hover:bg-[color:var(--navigation-menu-trigger-hover-bg)] hover:text-[color:var(--navigation-menu-trigger-hover-text)]\",\n \"focus:bg-[color:var(--navigation-menu-trigger-hover-bg)] focus:text-[color:var(--navigation-menu-trigger-hover-text)]\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"data-[state=open]:hover:bg-[color:var(--navigation-menu-trigger-hover-bg)] data-[state=open]:text-[color:var(--navigation-menu-trigger-hover-text)]\",\n \"data-[state=open]:focus:bg-[color:var(--navigation-menu-trigger-hover-bg)] data-[state=open]:bg-[color:var(--navigation-menu-trigger-hover-bg)]/50\",\n \"focus-visible:ring-ring/50 outline-none\",\n \"transition-[color,box-shadow]\",\n \"focus-visible:ring-[3px] focus-visible:outline-1\",\n])\n\n/**\n * NavigationMenuContent variant styles\n */\nexport const navigationMenuContentVariants = cva([\n // Motion animations\n \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out\",\n \"data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out\",\n \"data-[motion=from-end]:slide-in-from-right-52\",\n \"data-[motion=from-start]:slide-in-from-left-52\",\n \"data-[motion=to-end]:slide-out-to-right-52\",\n \"data-[motion=to-start]:slide-out-to-left-52\",\n // Positioning\n \"top-0 left-0 w-full p-2 pr-2.5\",\n \"md:absolute md:w-auto\",\n // No viewport mode styles\n \"group-data-[viewport=false]/navigation-menu:bg-[color:var(--navigation-menu-content-bg)]\",\n \"group-data-[viewport=false]/navigation-menu:text-[color:var(--navigation-menu-content-text)]\",\n \"group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in\",\n \"group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out\",\n \"group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95\",\n \"group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95\",\n \"group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0\",\n \"group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0\",\n \"group-data-[viewport=false]/navigation-menu:top-full\",\n \"group-data-[viewport=false]/navigation-menu:mt-1.5\",\n \"group-data-[viewport=false]/navigation-menu:overflow-hidden\",\n \"group-data-[viewport=false]/navigation-menu:rounded-md\",\n \"group-data-[viewport=false]/navigation-menu:border\",\n \"group-data-[viewport=false]/navigation-menu:shadow\",\n \"group-data-[viewport=false]/navigation-menu:duration-200\",\n // Link focus reset\n \"**:data-[slot=navigation-menu-link]:focus:ring-0\",\n \"**:data-[slot=navigation-menu-link]:focus:outline-none\",\n])\n\n/**\n * NavigationMenuViewport wrapper variant styles\n */\nexport const navigationMenuViewportWrapperVariants = cva([\n \"absolute top-full left-0 isolate z-50 flex justify-center\",\n])\n\n/**\n * NavigationMenuViewport variant styles\n */\nexport const navigationMenuViewportVariants = cva([\n \"origin-top-center bg-[color:var(--navigation-menu-viewport-bg)] text-[color:var(--navigation-menu-viewport-text)]\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n \"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90\",\n \"relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)]\",\n \"w-full overflow-hidden rounded-md border shadow\",\n \"md:w-[var(--radix-navigation-menu-viewport-width)]\",\n])\n\n/**\n * NavigationMenuLink variant styles\n */\nexport const navigationMenuLinkVariants = cva([\n \"data-[active=true]:focus:bg-[color:var(--navigation-menu-trigger-hover-bg)] data-[active=true]:hover:bg-[color:var(--navigation-menu-trigger-hover-bg)]\",\n \"data-[active=true]:bg-[color:var(--navigation-menu-trigger-hover-bg)]/50 data-[active=true]:text-[color:var(--navigation-menu-trigger-hover-text)]\",\n \"hover:bg-[color:var(--navigation-menu-trigger-hover-bg)] hover:text-[color:var(--navigation-menu-trigger-hover-text)]\",\n \"focus:bg-[color:var(--navigation-menu-trigger-hover-bg)] focus:text-[color:var(--navigation-menu-trigger-hover-text)]\",\n \"focus-visible:ring-ring/50\",\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n \"flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none\",\n \"focus-visible:ring-[3px] focus-visible:outline-1\",\n \"[&_svg:not([class*='size-'])]:size-4\",\n])\n\n/**\n * NavigationMenuIndicator variant styles\n */\nexport const navigationMenuIndicatorVariants = cva([\n \"data-[state=visible]:animate-in data-[state=hidden]:animate-out\",\n \"data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n // z-[1]: intentionally a decorative local lift — keeps the arrow above its\n // immediate sibling content without participating in the global z-index scale.\n \"top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden\",\n])\n\n/**\n * NavigationMenuIndicator arrow variant styles\n */\nexport const navigationMenuIndicatorArrowVariants = cva([\n \"bg-[color:var(--navigation-menu-indicator-bg)] relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md\",\n])\n","\"use client\"\n\nimport type {\n NavigationMenuContentProps,\n NavigationMenuIndicatorProps,\n NavigationMenuItemProps,\n NavigationMenuLinkProps,\n NavigationMenuListProps,\n NavigationMenuProps,\n NavigationMenuTriggerProps,\n NavigationMenuViewportProps,\n} from \"./NavigationMenu.types\"\n\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\"\nimport { ChevronDownIcon } from \"lucide-react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n navigationMenuContentVariants,\n navigationMenuIndicatorArrowVariants,\n navigationMenuIndicatorVariants,\n navigationMenuItemVariants,\n navigationMenuLinkVariants,\n navigationMenuListVariants,\n navigationMenuTriggerStyle,\n navigationMenuVariants,\n navigationMenuViewportVariants,\n navigationMenuViewportWrapperVariants,\n} from \"./NavigationMenu.variants\"\n\n/**\n * NavigationMenu - A collection of navigation links.\n *\n * Built on top of Radix UI NavigationMenu primitive with additional styling.\n * Provides accessible navigation with keyboard support and animations.\n *\n * @example\n * <NavigationMenu>\n * <NavigationMenuList>\n * <NavigationMenuItem>\n * <NavigationMenuTrigger>Item One</NavigationMenuTrigger>\n * <NavigationMenuContent>\n * <NavigationMenuLink href=\"/link\">Link</NavigationMenuLink>\n * </NavigationMenuContent>\n * </NavigationMenuItem>\n * </NavigationMenuList>\n * </NavigationMenu>\n */\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: NavigationMenuProps) {\n return (\n <NavigationMenuPrimitive.Root\n className={cn(navigationMenuVariants(), className)}\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n )\n}\n\n/**\n * NavigationMenuList - Container for navigation menu items.\n */\nfunction NavigationMenuList({\n className,\n ...props\n}: NavigationMenuListProps) {\n return (\n <NavigationMenuPrimitive.List\n className={cn(navigationMenuListVariants(), className)}\n data-slot=\"navigation-menu-list\"\n {...props}\n />\n )\n}\n\n/**\n * NavigationMenuItem - An individual navigation item.\n */\nfunction NavigationMenuItem({\n className,\n ...props\n}: NavigationMenuItemProps) {\n return (\n <NavigationMenuPrimitive.Item\n className={cn(navigationMenuItemVariants(), className)}\n data-slot=\"navigation-menu-item\"\n {...props}\n />\n )\n}\n\n/**\n * NavigationMenuTrigger - Button that opens a navigation menu content panel.\n *\n * Includes a chevron icon that rotates when open.\n */\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: NavigationMenuTriggerProps) {\n return (\n <NavigationMenuPrimitive.Trigger\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n data-slot=\"navigation-menu-trigger\"\n {...props}\n >\n {children}{\" \"}\n <ChevronDownIcon\n aria-hidden=\"true\"\n className=\"relative top-px ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n />\n </NavigationMenuPrimitive.Trigger>\n )\n}\n\n/**\n * NavigationMenuContent - Content panel for navigation menu items.\n *\n * Supports animated transitions for entering and leaving states.\n */\nfunction NavigationMenuContent({\n className,\n ...props\n}: NavigationMenuContentProps) {\n return (\n <NavigationMenuPrimitive.Content\n className={cn(navigationMenuContentVariants(), className)}\n data-slot=\"navigation-menu-content\"\n {...props}\n />\n )\n}\n\n/**\n * NavigationMenuViewport - Viewport container for navigation menu content.\n *\n * Positioned below the navigation menu with proper sizing.\n */\nfunction NavigationMenuViewport({\n className,\n ...props\n}: NavigationMenuViewportProps) {\n return (\n <div className={cn(navigationMenuViewportWrapperVariants())}>\n <NavigationMenuPrimitive.Viewport\n className={cn(navigationMenuViewportVariants(), className)}\n data-slot=\"navigation-menu-viewport\"\n {...props}\n />\n </div>\n )\n}\n\n/**\n * NavigationMenuLink - A navigation link within the menu.\n *\n * Use for both internal and external navigation links.\n */\nfunction NavigationMenuLink({\n className,\n ...props\n}: NavigationMenuLinkProps) {\n return (\n <NavigationMenuPrimitive.Link\n className={cn(navigationMenuLinkVariants(), className)}\n data-slot=\"navigation-menu-link\"\n {...props}\n />\n )\n}\n\n/**\n * NavigationMenuIndicator - Visual indicator showing the active menu item.\n *\n * Animates between items as the user navigates.\n */\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: NavigationMenuIndicatorProps) {\n return (\n <NavigationMenuPrimitive.Indicator\n className={cn(navigationMenuIndicatorVariants(), className)}\n data-slot=\"navigation-menu-indicator\"\n {...props}\n >\n <div className={cn(navigationMenuIndicatorArrowVariants())} />\n </NavigationMenuPrimitive.Indicator>\n )\n}\n\nexport {\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuIndicator,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuTrigger,\n navigationMenuTriggerStyle,\n NavigationMenuViewport,\n}\n"]}
1
+ {"version":3,"sources":["../src/components/navigation/NavigationMenu/NavigationMenu.variants.ts","../src/components/navigation/NavigationMenu/NavigationMenu.tsx"],"names":[],"mappings":"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","file":"chunk-DGOW65KM.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * NavigationMenu root variant styles\n */\nexport const navigationMenuVariants = cva([\n \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\n])\n\n/**\n * NavigationMenuList variant styles\n */\nexport const navigationMenuListVariants = cva([\n \"group flex flex-1 list-none items-center justify-center gap-1\",\n])\n\n/**\n * NavigationMenuItem variant styles\n */\nexport const navigationMenuItemVariants = cva([\"relative\"])\n\n/**\n * NavigationMenuTrigger variant styles\n * Used for both trigger buttons and standalone links\n */\nexport const navigationMenuTriggerStyle = cva([\n \"group inline-flex h-9 w-max items-center justify-center\",\n \"rounded-md bg-[color:var(--navigation-menu-trigger-bg)] px-4 py-2 text-sm font-medium\",\n \"hover:bg-[color:var(--navigation-menu-trigger-hover-bg)] hover:text-[color:var(--navigation-menu-trigger-hover-text)]\",\n \"focus:bg-[color:var(--navigation-menu-trigger-hover-bg)] focus:text-[color:var(--navigation-menu-trigger-hover-text)]\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"data-[state=open]:hover:bg-[color:var(--navigation-menu-trigger-hover-bg)] data-[state=open]:text-[color:var(--navigation-menu-trigger-hover-text)]\",\n \"data-[state=open]:focus:bg-[color:var(--navigation-menu-trigger-hover-bg)] data-[state=open]:bg-[color:var(--navigation-menu-trigger-hover-bg)]/50\",\n \"focus-visible:ring-ring/50 outline-none\",\n \"transition-[color,box-shadow]\",\n \"focus-visible:ring-[3px] focus-visible:outline-1\",\n])\n\n/**\n * NavigationMenuContent variant styles\n */\nexport const navigationMenuContentVariants = cva([\n // Motion animations\n \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out\",\n \"data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out\",\n \"data-[motion=from-end]:slide-in-from-right-52\",\n \"data-[motion=from-start]:slide-in-from-left-52\",\n \"data-[motion=to-end]:slide-out-to-right-52\",\n \"data-[motion=to-start]:slide-out-to-left-52\",\n // Positioning\n \"top-0 left-0 w-full p-2 pr-2.5\",\n \"md:absolute md:w-auto\",\n // No viewport mode styles\n \"group-data-[viewport=false]/navigation-menu:bg-[color:var(--navigation-menu-content-bg)]\",\n \"group-data-[viewport=false]/navigation-menu:text-[color:var(--navigation-menu-content-text)]\",\n \"group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in\",\n \"group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out\",\n \"group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95\",\n \"group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95\",\n \"group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0\",\n \"group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0\",\n \"group-data-[viewport=false]/navigation-menu:top-full\",\n \"group-data-[viewport=false]/navigation-menu:mt-1.5\",\n \"group-data-[viewport=false]/navigation-menu:overflow-hidden\",\n \"group-data-[viewport=false]/navigation-menu:rounded-md\",\n \"group-data-[viewport=false]/navigation-menu:border\",\n \"group-data-[viewport=false]/navigation-menu:shadow\",\n \"group-data-[viewport=false]/navigation-menu:duration-200\",\n // Link focus reset\n \"**:data-[slot=navigation-menu-link]:focus:ring-0\",\n \"**:data-[slot=navigation-menu-link]:focus:outline-none\",\n])\n\n/**\n * NavigationMenuViewport wrapper variant styles\n */\nexport const navigationMenuViewportWrapperVariants = cva([\n \"absolute top-full left-0 isolate z-50 flex justify-center\",\n])\n\n/**\n * NavigationMenuViewport variant styles\n */\nexport const navigationMenuViewportVariants = cva([\n \"origin-top-center bg-[color:var(--navigation-menu-viewport-bg)] text-[color:var(--navigation-menu-viewport-text)]\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n \"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90\",\n \"relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)]\",\n \"w-full overflow-hidden rounded-md border shadow\",\n \"md:w-[var(--radix-navigation-menu-viewport-width)]\",\n])\n\n/**\n * NavigationMenuLink variant styles\n */\nexport const navigationMenuLinkVariants = cva([\n \"data-[active=true]:focus:bg-[color:var(--navigation-menu-trigger-hover-bg)] data-[active=true]:hover:bg-[color:var(--navigation-menu-trigger-hover-bg)]\",\n \"data-[active=true]:bg-[color:var(--navigation-menu-trigger-hover-bg)]/50 data-[active=true]:text-[color:var(--navigation-menu-trigger-hover-text)]\",\n \"hover:bg-[color:var(--navigation-menu-trigger-hover-bg)] hover:text-[color:var(--navigation-menu-trigger-hover-text)]\",\n \"focus:bg-[color:var(--navigation-menu-trigger-hover-bg)] focus:text-[color:var(--navigation-menu-trigger-hover-text)]\",\n \"focus-visible:ring-ring/50\",\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n \"flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none\",\n \"focus-visible:ring-[3px] focus-visible:outline-1\",\n \"[&_svg:not([class*='size-'])]:size-4\",\n])\n\n/**\n * NavigationMenuIndicator variant styles\n */\nexport const navigationMenuIndicatorVariants = cva([\n \"data-[state=visible]:animate-in data-[state=hidden]:animate-out\",\n \"data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n // z-[1]: intentionally a decorative local lift — keeps the arrow above its\n // immediate sibling content without participating in the global z-index scale.\n \"top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden\",\n])\n\n/**\n * NavigationMenuIndicator arrow variant styles\n */\nexport const navigationMenuIndicatorArrowVariants = cva([\n \"bg-[color:var(--navigation-menu-indicator-bg)] relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md\",\n])\n","\"use client\"\n\nimport type {\n NavigationMenuContentProps,\n NavigationMenuIndicatorProps,\n NavigationMenuItemProps,\n NavigationMenuLinkProps,\n NavigationMenuListProps,\n NavigationMenuProps,\n NavigationMenuTriggerProps,\n NavigationMenuViewportProps,\n} from \"./NavigationMenu.types\"\n\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\"\nimport { ChevronDownIcon } from \"lucide-react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n navigationMenuContentVariants,\n navigationMenuIndicatorArrowVariants,\n navigationMenuIndicatorVariants,\n navigationMenuItemVariants,\n navigationMenuLinkVariants,\n navigationMenuListVariants,\n navigationMenuTriggerStyle,\n navigationMenuVariants,\n navigationMenuViewportVariants,\n navigationMenuViewportWrapperVariants,\n} from \"./NavigationMenu.variants\"\n\n/**\n * NavigationMenu - A collection of navigation links.\n *\n * Built on top of Radix UI NavigationMenu primitive with additional styling.\n * Provides accessible navigation with keyboard support and animations.\n *\n * @example\n * <NavigationMenu>\n * <NavigationMenuList>\n * <NavigationMenuItem>\n * <NavigationMenuTrigger>Item One</NavigationMenuTrigger>\n * <NavigationMenuContent>\n * <NavigationMenuLink href=\"/link\">Link</NavigationMenuLink>\n * </NavigationMenuContent>\n * </NavigationMenuItem>\n * </NavigationMenuList>\n * </NavigationMenu>\n */\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: NavigationMenuProps) {\n return (\n <NavigationMenuPrimitive.Root\n className={cn(navigationMenuVariants(), className)}\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n )\n}\n\n/**\n * NavigationMenuList - Container for navigation menu items.\n */\nfunction NavigationMenuList({\n className,\n ...props\n}: NavigationMenuListProps) {\n return (\n <NavigationMenuPrimitive.List\n className={cn(navigationMenuListVariants(), className)}\n data-slot=\"navigation-menu-list\"\n {...props}\n />\n )\n}\n\n/**\n * NavigationMenuItem - An individual navigation item.\n */\nfunction NavigationMenuItem({\n className,\n ...props\n}: NavigationMenuItemProps) {\n return (\n <NavigationMenuPrimitive.Item\n className={cn(navigationMenuItemVariants(), className)}\n data-slot=\"navigation-menu-item\"\n {...props}\n />\n )\n}\n\n/**\n * NavigationMenuTrigger - Button that opens a navigation menu content panel.\n *\n * Includes a chevron icon that rotates when open.\n */\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: NavigationMenuTriggerProps) {\n return (\n <NavigationMenuPrimitive.Trigger\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n data-slot=\"navigation-menu-trigger\"\n {...props}\n >\n {children}{\" \"}\n <ChevronDownIcon\n aria-hidden=\"true\"\n className=\"relative top-px ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n />\n </NavigationMenuPrimitive.Trigger>\n )\n}\n\n/**\n * NavigationMenuContent - Content panel for navigation menu items.\n *\n * Supports animated transitions for entering and leaving states.\n */\nfunction NavigationMenuContent({\n className,\n ...props\n}: NavigationMenuContentProps) {\n return (\n <NavigationMenuPrimitive.Content\n className={cn(navigationMenuContentVariants(), className)}\n data-slot=\"navigation-menu-content\"\n {...props}\n />\n )\n}\n\n/**\n * NavigationMenuViewport - Viewport container for navigation menu content.\n *\n * Positioned below the navigation menu with proper sizing.\n */\nfunction NavigationMenuViewport({\n className,\n ...props\n}: NavigationMenuViewportProps) {\n return (\n <div className={cn(navigationMenuViewportWrapperVariants())}>\n <NavigationMenuPrimitive.Viewport\n className={cn(navigationMenuViewportVariants(), className)}\n data-slot=\"navigation-menu-viewport\"\n {...props}\n />\n </div>\n )\n}\n\n/**\n * NavigationMenuLink - A navigation link within the menu.\n *\n * Use for both internal and external navigation links.\n */\nfunction NavigationMenuLink({\n className,\n ...props\n}: NavigationMenuLinkProps) {\n return (\n <NavigationMenuPrimitive.Link\n className={cn(navigationMenuLinkVariants(), className)}\n data-slot=\"navigation-menu-link\"\n {...props}\n />\n )\n}\n\n/**\n * NavigationMenuIndicator - Visual indicator showing the active menu item.\n *\n * Animates between items as the user navigates.\n */\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: NavigationMenuIndicatorProps) {\n return (\n <NavigationMenuPrimitive.Indicator\n className={cn(navigationMenuIndicatorVariants(), className)}\n data-slot=\"navigation-menu-indicator\"\n {...props}\n >\n <div className={cn(navigationMenuIndicatorArrowVariants())} />\n </NavigationMenuPrimitive.Indicator>\n )\n}\n\nexport {\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuIndicator,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuTrigger,\n navigationMenuTriggerStyle,\n NavigationMenuViewport,\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { Field, FieldLabel, FieldError, FieldDescription } from './chunk-G7PBPX3K.js';
2
- import { Textarea } from './chunk-U6EOAIPK.js';
1
+ import { Field, FieldLabel, FieldError, FieldDescription } from './chunk-LRE3LJMW.js';
2
+ import { Textarea } from './chunk-ARJAIH7Q.js';
3
3
  import { useId } from 'react';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
5
5
  import { cva } from 'class-variance-authority';
@@ -97,5 +97,5 @@ var textareaFieldErrorVariants = cva(
97
97
  );
98
98
 
99
99
  export { TextareaField, textareaFieldDescriptionVariants, textareaFieldErrorVariants, textareaFieldLabelVariants, textareaFieldVariants };
100
- //# sourceMappingURL=chunk-U2R47SPY.js.map
101
- //# sourceMappingURL=chunk-U2R47SPY.js.map
100
+ //# sourceMappingURL=chunk-DJHDCDU6.js.map
101
+ //# sourceMappingURL=chunk-DJHDCDU6.js.map