@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/workflow/DashboardBuilder/DashboardBuilder.variants.ts","../src/components/workflow/DashboardBuilder/DashboardBuilder.tsx"],"names":[],"mappings":"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","file":"chunk-BS5XDYOE.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * DashboardBuilder container variants\n */\nexport const dashboardBuilderVariants = cva(\n \"relative flex h-full w-full overflow-hidden rounded-lg border bg-background transition-all duration-300\",\n {\n variants: {\n mode: {\n edit: \"\",\n preview: \"\",\n configure: \"\",\n },\n size: {\n default: \"\",\n compact: \"\",\n full: \"h-screen\",\n },\n },\n defaultVariants: {\n mode: \"edit\",\n size: \"default\",\n },\n }\n)\n\n/**\n * Toolbar variants\n */\nexport const dashboardBuilderToolbarVariants = cva(\n \"flex h-14 shrink-0 items-center justify-between border-b bg-card px-4 transition-all duration-200\",\n {\n variants: {\n position: {\n top: \"\",\n bottom: \"border-b-0 border-t\",\n },\n },\n defaultVariants: {\n position: \"top\",\n },\n }\n)\n\n/**\n * Canvas (main work area) variants\n */\nexport const dashboardBuilderCanvasVariants = cva(\n \"relative flex-1 overflow-auto bg-muted/30 p-4 transition-all duration-200\",\n {\n variants: {\n showGrid: {\n true: [\n \"bg-[linear-gradient(to_right,var(--border)_1px,transparent_1px),linear-gradient(to_bottom,var(--border)_1px,transparent_1px)]\",\n \"bg-[size:var(--grid-size)_var(--grid-size)]\",\n ],\n false: \"\",\n },\n state: {\n idle: \"\",\n dragging: \"cursor-grabbing\",\n resizing: \"cursor-nwse-resize\",\n configuring: \"\",\n saving: \"pointer-events-none opacity-75\",\n },\n },\n defaultVariants: {\n showGrid: true,\n state: \"idle\",\n },\n }\n)\n\n/**\n * Widget library sidebar variants\n */\nexport const dashboardBuilderWidgetLibraryVariants = cva(\n \"flex w-64 shrink-0 flex-col border-r bg-card transition-all duration-200\",\n {\n variants: {\n collapsed: {\n true: \"w-14\",\n false: \"w-64\",\n },\n position: {\n left: \"border-r\",\n right: \"border-l border-r-0\",\n },\n },\n defaultVariants: {\n collapsed: false,\n position: \"left\",\n },\n }\n)\n\n/**\n * Properties panel variants\n */\nexport const dashboardBuilderPropertiesPanelVariants = cva(\n \"flex w-72 shrink-0 flex-col border-l bg-card transition-all duration-200\",\n {\n variants: {\n open: {\n true: \"w-72\",\n false: \"w-0 overflow-hidden border-l-0\",\n },\n },\n defaultVariants: {\n open: false,\n },\n }\n)\n\n/**\n * Widget card in library variants\n */\nexport const dashboardBuilderWidgetCardVariants = cva(\n \"flex cursor-grab items-center gap-3 rounded-md border bg-background p-3 transition-all duration-200 hover:border-primary hover:shadow-sm active:cursor-grabbing\",\n {\n variants: {\n category: {\n default: \"\",\n charts: \"border-l-2 border-l-blue-500\",\n kpi: \"border-l-2 border-l-green-500\",\n tables: \"border-l-2 border-l-purple-500\",\n text: \"border-l-2 border-l-orange-500\",\n },\n dragging: {\n true: \"opacity-50\",\n false: \"\",\n },\n },\n defaultVariants: {\n category: \"default\",\n dragging: false,\n },\n }\n)\n\n/**\n * Widget on canvas variants\n */\nexport const dashboardBuilderWidgetVariants = cva(\n \"group relative rounded-md border-2 bg-card transition-all duration-200\",\n {\n variants: {\n state: {\n idle: \"border-transparent hover:border-muted-foreground/30\",\n selected: \"border-primary ring-2 ring-primary/20\",\n dragging: \"border-primary border-dashed opacity-75\",\n resizing: \"border-primary\",\n preview: \"border-border\",\n },\n },\n defaultVariants: {\n state: \"idle\",\n },\n }\n)\n\n/**\n * Widget resize handle variants\n */\nexport const dashboardBuilderResizeHandleVariants = cva(\n \"absolute opacity-0 transition-opacity group-hover:opacity-100\",\n {\n variants: {\n position: {\n se: \"bottom-0 right-0 cursor-se-resize\",\n sw: \"bottom-0 left-0 cursor-sw-resize\",\n ne: \"right-0 top-0 cursor-ne-resize\",\n nw: \"left-0 top-0 cursor-nw-resize\",\n e: \"right-0 top-1/2 -translate-y-1/2 cursor-e-resize\",\n w: \"left-0 top-1/2 -translate-y-1/2 cursor-w-resize\",\n n: \"left-1/2 top-0 -translate-x-1/2 cursor-n-resize\",\n s: \"bottom-0 left-1/2 -translate-x-1/2 cursor-s-resize\",\n },\n size: {\n sm: \"h-2 w-2\",\n default: \"h-3 w-3\",\n lg: \"h-4 w-4\",\n },\n },\n defaultVariants: {\n position: \"se\",\n size: \"default\",\n },\n }\n)\n\n/**\n * Drop zone indicator variants\n */\nexport const dashboardBuilderDropZoneVariants = cva(\n \"pointer-events-none absolute rounded-md border-2 transition-all duration-200\",\n {\n variants: {\n active: {\n true: \"border-primary bg-primary/10\",\n false: \"border-transparent\",\n },\n valid: {\n true: \"border-primary bg-primary/10\",\n false: \"border-destructive bg-destructive/10\",\n },\n },\n defaultVariants: {\n active: false,\n valid: true,\n },\n }\n)\n\n/**\n * Empty state variants for canvas\n */\nexport const dashboardBuilderEmptyStateVariants = cva(\n \"flex h-full flex-col items-center justify-center gap-4 text-muted-foreground\",\n {\n variants: {\n variant: {\n default: \"\",\n minimal: \"gap-2\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\n// Export variant prop types\nexport type DashboardBuilderVariantProps = VariantProps<\n typeof dashboardBuilderVariants\n>\nexport type DashboardBuilderToolbarVariantProps = VariantProps<\n typeof dashboardBuilderToolbarVariants\n>\nexport type DashboardBuilderCanvasVariantProps = VariantProps<\n typeof dashboardBuilderCanvasVariants\n>\nexport type DashboardBuilderWidgetLibraryVariantProps = VariantProps<\n typeof dashboardBuilderWidgetLibraryVariants\n>\nexport type DashboardBuilderPropertiesPanelVariantProps = VariantProps<\n typeof dashboardBuilderPropertiesPanelVariants\n>\nexport type DashboardBuilderWidgetCardVariantProps = VariantProps<\n typeof dashboardBuilderWidgetCardVariants\n>\nexport type DashboardBuilderWidgetVariantProps = VariantProps<\n typeof dashboardBuilderWidgetVariants\n>\nexport type DashboardBuilderResizeHandleVariantProps = VariantProps<\n typeof dashboardBuilderResizeHandleVariants\n>\nexport type DashboardBuilderDropZoneVariantProps = VariantProps<\n typeof dashboardBuilderDropZoneVariants\n>\nexport type DashboardBuilderEmptyStateVariantProps = VariantProps<\n typeof dashboardBuilderEmptyStateVariants\n>\n","import type {\n BuilderLayoutConfig,\n BuilderMode,\n BuilderPosition,\n BuilderState,\n BuilderWidget,\n BuilderWidgetDefinition,\n DashboardBuilderCanvasProps,\n DashboardBuilderPropertiesPanelProps,\n DashboardBuilderProps,\n DashboardBuilderToolbarProps,\n DashboardBuilderWidgetComponentProps,\n DashboardBuilderWidgetLibraryProps,\n} from \"./DashboardBuilder.types\"\nimport type { DragEvent, KeyboardEvent, ReactNode } from \"react\"\n\nimport {\n BarChart2,\n ChevronLeft,\n ChevronRight,\n Eye,\n GripVertical,\n LayoutGrid,\n PieChart,\n Redo2,\n Save,\n Table,\n Trash2,\n Type,\n Undo2,\n X,\n} from \"lucide-react\"\nimport { useCallback, useId, useMemo, useRef, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { TextInput } from \"../../forms/TextInput\"\nimport { Button } from \"../../primitives/Button\"\nimport { Label } from \"../../primitives/Label\"\nimport {\n dashboardBuilderCanvasVariants,\n dashboardBuilderEmptyStateVariants,\n dashboardBuilderPropertiesPanelVariants,\n dashboardBuilderToolbarVariants,\n dashboardBuilderVariants,\n dashboardBuilderWidgetCardVariants,\n dashboardBuilderWidgetLibraryVariants,\n dashboardBuilderWidgetVariants,\n} from \"./DashboardBuilder.variants\"\n\n// ============================================\n// DEFAULT WIDGET DEFINITIONS\n// ============================================\n\n/**\n * Placeholder widget component for demo purposes\n */\nfunction PlaceholderWidget({ config, title }: { config: Record<string, unknown>; title: string }): ReactNode {\n const value = config[\"value\"]\n const getDisplayValue = (): string => {\n if (value === null || value === undefined) return \"\"\n if (typeof value === \"object\") return JSON.stringify(value)\n return String(value as boolean | number | string)\n }\n return (\n <div className=\"flex h-full flex-col items-center justify-center p-4\">\n <span className=\"text-sm font-medium\">{title}</span>\n {value !== undefined && value !== null && (\n <span className=\"text-2xl font-bold text-primary\">\n {getDisplayValue()}\n </span>\n )}\n </div>\n )\n}\n\n/**\n * Default widgets available in the library\n */\nconst defaultWidgets: BuilderWidgetDefinition[] = [\n {\n type: \"kpi\",\n name: \"KPI Card\",\n description: \"Display a key performance indicator\",\n icon: <LayoutGrid className=\"h-4 w-4\" />,\n category: \"kpi\",\n defaultSize: { w: 3, h: 2 },\n minSize: { w: 2, h: 1 },\n maxSize: { w: 6, h: 4 },\n configSchema: {\n fields: [\n { name: \"title\", type: \"text\", label: \"Title\", defaultValue: \"KPI\" },\n { name: \"value\", type: \"text\", label: \"Value\", defaultValue: \"0\" },\n { name: \"unit\", type: \"text\", label: \"Unit\", defaultValue: \"\" },\n ],\n },\n component: PlaceholderWidget,\n },\n {\n type: \"chart-line\",\n name: \"Line Chart\",\n description: \"Display data as a line chart\",\n icon: <BarChart2 className=\"h-4 w-4\" />,\n category: \"charts\",\n defaultSize: { w: 6, h: 4 },\n minSize: { w: 4, h: 3 },\n configSchema: {\n fields: [\n { name: \"title\", type: \"text\", label: \"Title\", defaultValue: \"Chart\" },\n {\n name: \"showLegend\",\n type: \"boolean\",\n label: \"Show Legend\",\n defaultValue: true,\n },\n ],\n },\n component: PlaceholderWidget,\n },\n {\n type: \"chart-pie\",\n name: \"Pie Chart\",\n description: \"Display data as a pie chart\",\n icon: <PieChart className=\"h-4 w-4\" />,\n category: \"charts\",\n defaultSize: { w: 4, h: 4 },\n minSize: { w: 3, h: 3 },\n configSchema: {\n fields: [\n { name: \"title\", type: \"text\", label: \"Title\", defaultValue: \"Chart\" },\n ],\n },\n component: PlaceholderWidget,\n },\n {\n type: \"table\",\n name: \"Data Table\",\n description: \"Display data in a table format\",\n icon: <Table className=\"h-4 w-4\" />,\n category: \"tables\",\n defaultSize: { w: 6, h: 4 },\n minSize: { w: 4, h: 3 },\n configSchema: {\n fields: [\n { name: \"title\", type: \"text\", label: \"Title\", defaultValue: \"Table\" },\n {\n name: \"pageSize\",\n type: \"number\",\n label: \"Page Size\",\n defaultValue: 10,\n },\n ],\n },\n component: PlaceholderWidget,\n },\n {\n type: \"text\",\n name: \"Text Block\",\n description: \"Display formatted text content\",\n icon: <Type className=\"h-4 w-4\" />,\n category: \"text\",\n defaultSize: { w: 4, h: 2 },\n minSize: { w: 2, h: 1 },\n configSchema: {\n fields: [\n { name: \"content\", type: \"text\", label: \"Content\", defaultValue: \"\" },\n ],\n },\n component: PlaceholderWidget,\n },\n]\n\n// ============================================\n// SUB-COMPONENTS\n// ============================================\n\n/**\n * Toolbar component with save, undo, redo, and preview actions\n */\nfunction DashboardBuilderToolbar({\n canRedo,\n canUndo,\n onRedo,\n onSave,\n onTogglePreview,\n onUndo,\n showPreview,\n showUndo,\n}: DashboardBuilderToolbarProps): ReactNode {\n return (\n <div\n className={dashboardBuilderToolbarVariants()}\n data-slot=\"dashboard-builder-toolbar\"\n >\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm font-medium\">Dashboard Builder</span>\n </div>\n\n <div className=\"flex items-center gap-2\">\n {showUndo && (\n <>\n <Button\n aria-label=\"Undo\"\n disabled={!canUndo}\n size=\"sm\"\n variant=\"ghost\"\n onClick={onUndo}\n >\n <Undo2 className=\"h-4 w-4\" />\n </Button>\n <Button\n aria-label=\"Redo\"\n disabled={!canRedo}\n size=\"sm\"\n variant=\"ghost\"\n onClick={onRedo}\n >\n <Redo2 className=\"h-4 w-4\" />\n </Button>\n <div className=\"mx-2 h-6 w-px bg-border\" />\n </>\n )}\n\n {showPreview && (\n <Button\n aria-label=\"Preview dashboard\"\n size=\"sm\"\n variant=\"outline\"\n onClick={onTogglePreview}\n >\n <Eye className=\"mr-2 h-4 w-4\" />\n Preview\n </Button>\n )}\n\n <Button size=\"sm\" onClick={onSave}>\n <Save className=\"mr-2 h-4 w-4\" />\n Save\n </Button>\n </div>\n </div>\n )\n}\n\n/**\n * Widget library sidebar showing available widgets\n */\nfunction DashboardBuilderWidgetLibrary({\n widgets,\n}: DashboardBuilderWidgetLibraryProps): ReactNode {\n const [collapsed, setCollapsed] = useState(false)\n\n // Group widgets by category\n const groupedWidgets = useMemo(() => {\n return widgets.reduce<Record<string, BuilderWidgetDefinition[]>>((acc, widget) => {\n const category = widget.category || \"default\"\n acc[category] ??= []\n acc[category].push(widget)\n return acc\n }, {})\n }, [widgets])\n\n const handleDragStart = (e: DragEvent<HTMLDivElement>, widget: BuilderWidgetDefinition): void => {\n e.dataTransfer.setData(\"widget-type\", widget.type)\n e.dataTransfer.effectAllowed = \"copy\"\n }\n\n return (\n <div\n className={dashboardBuilderWidgetLibraryVariants({ collapsed })}\n data-slot=\"dashboard-builder-widget-library\"\n >\n <div className=\"flex h-12 items-center justify-between border-b px-4\">\n {!collapsed && (\n <span className=\"text-sm font-medium\">Widgets</span>\n )}\n <Button\n aria-label={collapsed ? \"Expand widget library\" : \"Collapse widget library\"}\n className=\"ml-auto\"\n size=\"icon\"\n variant=\"ghost\"\n onClick={() => { setCollapsed(!collapsed); }}\n >\n {collapsed ? (\n <ChevronRight className=\"h-4 w-4\" />\n ) : (\n <ChevronLeft className=\"h-4 w-4\" />\n )}\n </Button>\n </div>\n\n {!collapsed && (\n <div className=\"flex-1 overflow-y-auto p-4\">\n <div className=\"space-y-4\">\n {Object.entries(groupedWidgets).map(([category, categoryWidgets]) => (\n <div key={category}>\n <span className=\"mb-2 block text-xs font-medium uppercase text-muted-foreground\">\n {category}\n </span>\n <div className=\"space-y-2\">\n {categoryWidgets.map((widget) => (\n <div\n key={widget.type}\n draggable\n className={dashboardBuilderWidgetCardVariants({\n category: category as \"charts\" | \"default\" | \"kpi\" | \"tables\" | \"text\",\n })}\n aria-label={`Drag ${widget.name} widget`}\n role=\"button\"\n tabIndex={0}\n title={widget.description}\n onDragStart={(e: DragEvent<HTMLDivElement>) => { handleDragStart(e, widget); }}\n >\n <span className=\"text-muted-foreground\">{widget.icon}</span>\n <span className=\"text-sm\">{widget.name}</span>\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n\n/**\n * Canvas component - main work area for widgets\n */\nfunction DashboardBuilderCanvas({\n children,\n columns,\n onWidgetDrop,\n rowHeight,\n showGrid,\n widgets,\n}: DashboardBuilderCanvasProps & {\n children?: ReactNode\n onWidgetClick?: (id: string) => void\n onWidgetRemove?: (id: string) => void\n selectedWidgetId?: null | string\n widgetDefinitions: BuilderWidgetDefinition[]\n}): ReactNode {\n const canvasRef = useRef<HTMLDivElement>(null)\n const [isDragOver, setIsDragOver] = useState(false)\n\n const handleDragOver = (e: DragEvent<HTMLDivElement>): void => {\n e.preventDefault()\n e.dataTransfer.dropEffect = \"copy\"\n setIsDragOver(true)\n }\n\n const handleDragLeave = (): void => {\n setIsDragOver(false)\n }\n\n const handleDrop = (e: DragEvent<HTMLDivElement>): void => {\n e.preventDefault()\n setIsDragOver(false)\n\n const widgetType = e.dataTransfer.getData(\"widget-type\")\n if (!widgetType || !canvasRef.current) return\n\n const rect = canvasRef.current.getBoundingClientRect()\n const gridWidth = rect.width / columns\n const x = Math.floor((e.clientX - rect.left) / gridWidth)\n const y = Math.floor((e.clientY - rect.top) / rowHeight)\n\n onWidgetDrop?.(widgetType, { x, y })\n }\n\n const gridSizeStyle = {\n \"--grid-size\": `${String(100 / columns)}%`,\n } as React.CSSProperties\n\n return (\n <div\n ref={canvasRef}\n className={cn(\n dashboardBuilderCanvasVariants({ showGrid }),\n isDragOver && \"ring-2 ring-primary ring-offset-2\"\n )}\n aria-describedby=\"canvas-instructions\"\n aria-label=\"Dashboard canvas\"\n data-slot=\"dashboard-builder-canvas\"\n role=\"region\"\n style={gridSizeStyle}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <span className=\"sr-only\" id=\"canvas-instructions\">\n Drag widgets from the library to add them. Use arrow keys to move selected widgets.\n Press Delete to remove selected widget.\n </span>\n\n {widgets.length === 0 ? (\n <div className={dashboardBuilderEmptyStateVariants()}>\n <LayoutGrid className=\"h-12 w-12 opacity-50\" />\n <div className=\"text-center\">\n <p className=\"text-sm font-medium\">No widgets yet</p>\n <p className=\"text-xs text-muted-foreground\">\n Drag widgets from the library to get started\n </p>\n </div>\n </div>\n ) : (\n <div\n style={{\n display: \"grid\",\n gridTemplateColumns: `repeat(${String(columns)}, 1fr)`,\n gap: \"var(--spacing-4)\",\n minHeight: \"100%\",\n }}\n className=\"relative\"\n >\n {children}\n </div>\n )}\n </div>\n )\n}\n\n/**\n * Properties panel for configuring selected widget\n */\nfunction DashboardBuilderPropertiesPanel({\n onClose,\n onConfigChange,\n widget,\n widgetDefinition,\n}: DashboardBuilderPropertiesPanelProps): ReactNode {\n const panelId = useId()\n\n if (!widget || !widgetDefinition) {\n return (\n <div\n className={dashboardBuilderPropertiesPanelVariants({ open: false })}\n data-slot=\"dashboard-builder-properties-panel\"\n />\n )\n }\n\n const handleFieldChange = (fieldName: string, value: unknown): void => {\n const newConfig = { ...widget.config, [fieldName]: value }\n onConfigChange?.(newConfig)\n }\n\n return (\n <div\n aria-labelledby={`${panelId}-title`}\n className={dashboardBuilderPropertiesPanelVariants({ open: true })}\n data-slot=\"dashboard-builder-properties-panel\"\n role=\"region\"\n >\n <div className=\"flex h-12 items-center justify-between border-b px-4\">\n <span className=\"text-sm font-medium\" id={`${panelId}-title`}>\n Properties\n </span>\n <Button\n aria-label=\"Close properties panel\"\n size=\"icon\"\n variant=\"ghost\"\n onClick={onClose}\n >\n <X className=\"h-4 w-4\" />\n </Button>\n </div>\n\n <div className=\"flex-1 overflow-y-auto p-4\">\n <div className=\"space-y-4\">\n <div>\n <span className=\"text-xs font-medium uppercase text-muted-foreground\">\n Widget: {widgetDefinition.name}\n </span>\n </div>\n\n <div className=\"h-px w-full bg-border\" />\n\n <div className=\"space-y-4\">\n {widgetDefinition.configSchema.fields.map((field) => (\n <div key={field.name} className=\"space-y-2\">\n <Label htmlFor={`${panelId}-${field.name}`}>{field.label}</Label>\n {field.type === \"text\" && (\n <TextInput\n value={(() => {\n const val = widget.config[field.name] ?? field.defaultValue ?? \"\"\n if (typeof val === \"object\") return JSON.stringify(val)\n return String(val as boolean | number | string)\n })()}\n id={`${panelId}-${field.name}`}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => { handleFieldChange(field.name, e.target.value); }}\n />\n )}\n {field.type === \"number\" && (\n <TextInput\n value={(() => {\n const val = widget.config[field.name] ?? field.defaultValue ?? 0\n if (typeof val === \"object\") return \"0\"\n return String(val as boolean | number | string)\n })()}\n id={`${panelId}-${field.name}`}\n type=\"number\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => { handleFieldChange(field.name, Number(e.target.value)); }}\n />\n )}\n {field.type === \"boolean\" && (\n <input\n checked={Boolean(widget.config[field.name] ?? field.defaultValue)}\n className=\"h-4 w-4\"\n id={`${panelId}-${field.name}`}\n type=\"checkbox\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => { handleFieldChange(field.name, e.target.checked); }}\n />\n )}\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\n/**\n * Individual widget component on the canvas\n */\nfunction DashboardBuilderWidgetComponent({\n isDragging,\n isSelected,\n onClick,\n onRemove,\n widget,\n widgetDefinition,\n}: DashboardBuilderWidgetComponentProps): ReactNode {\n const WidgetComponent = widgetDefinition?.component\n\n const state = isSelected ? \"selected\" : isDragging ? \"dragging\" : \"idle\"\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>): void => {\n if (e.key === \"Delete\" || e.key === \"Backspace\") {\n e.preventDefault()\n onRemove?.()\n }\n }\n\n return (\n <div\n style={{\n gridColumn: `span ${String(widget.w)}`,\n gridRow: `span ${String(widget.h)}`,\n minHeight: `${String(widget.h * 100)}px`,\n }}\n aria-label={`Widget: ${widget.title}`}\n aria-selected={isSelected}\n className={dashboardBuilderWidgetVariants({ state })}\n data-slot=\"dashboard-builder-widget\"\n data-widget-id={widget.id}\n role=\"button\"\n tabIndex={0}\n onClick={onClick}\n onKeyDown={handleKeyDown}\n >\n {/* Widget header */}\n <div className=\"flex items-center justify-between border-b bg-muted/50 px-3 py-2\">\n <div className=\"flex items-center gap-2\">\n <GripVertical className=\"h-4 w-4 cursor-grab text-muted-foreground\" />\n <span className=\"text-xs font-medium\">{widget.title}</span>\n </div>\n <Button\n aria-label={`Remove ${widget.title}`}\n className=\"opacity-0 group-hover:opacity-100\"\n size=\"icon\"\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation()\n onRemove?.()\n }}\n >\n <Trash2 className=\"h-3 w-3\" />\n </Button>\n </div>\n\n {/* Widget content */}\n <div className=\"flex-1 overflow-hidden p-2\">\n {WidgetComponent ? (\n <WidgetComponent\n config={widget.config}\n height={widget.h}\n id={widget.id}\n title={widget.title}\n width={widget.w}\n />\n ) : (\n <div className=\"flex h-full items-center justify-center text-muted-foreground\">\n <span className=\"text-xs\">Unknown widget type</span>\n </div>\n )}\n </div>\n </div>\n )\n}\n\n// ============================================\n// MAIN COMPONENT\n// ============================================\n\n/**\n * DashboardBuilder - Visual dashboard construction interface.\n *\n * Allows users to create, edit and customize dashboards through a drag-and-drop\n * interface with a widget library and properties panel.\n *\n * @example\n * ```tsx\n * <DashboardBuilder\n * onSave={({ widgets, layout }) => console.log('Saved:', widgets, layout)}\n * />\n * ```\n *\n * @example\n * ```tsx\n * const initialWidgets = [\n * { id: '1', type: 'kpi', title: 'Sales', x: 0, y: 0, w: 3, h: 2, config: { value: '150k' } }\n * ];\n *\n * <DashboardBuilder\n * initialWidgets={initialWidgets}\n * columns={12}\n * rowHeight={100}\n * />\n * ```\n */\nfunction DashboardBuilder({\n \"aria-label\": ariaLabel = \"Dashboard builder\",\n allowOverlap = false,\n autoSaveInterval = 30000,\n availableWidgets = defaultWidgets,\n className,\n columns = 12,\n enableAutoSave = false,\n initialLayout,\n initialWidgets = [],\n mode,\n onLayoutChange,\n onPreview,\n onRedo,\n onSave,\n onUndo,\n onWidgetAdd,\n onWidgetRemove,\n onWidgetUpdate,\n rowHeight = 100,\n showGrid = true,\n showPreview = true,\n showUndo = true,\n size,\n snapToGrid = true,\n ...props\n}: DashboardBuilderProps): ReactNode {\n const builderId = useId()\n\n // State\n const [widgets, setWidgets] = useState<BuilderWidget[]>(initialWidgets)\n const [selectedWidgetId, setSelectedWidgetId] = useState<null | string>(null)\n const [_builderMode, setBuilderMode] = useState<BuilderMode>(\"edit\")\n const [_builderState, setBuilderState] = useState<BuilderState>(\"idle\")\n const [history, setHistory] = useState<BuilderWidget[][]>([initialWidgets])\n const [historyIndex, setHistoryIndex] = useState(0)\n\n // Suppress unused variable warnings for future implementation\n void snapToGrid\n void allowOverlap\n void enableAutoSave\n void autoSaveInterval\n void initialLayout\n\n // Computed\n const selectedWidget = useMemo(\n () => widgets.find((w) => w.id === selectedWidgetId) ?? null,\n [widgets, selectedWidgetId]\n )\n const selectedWidgetDefinition = useMemo(\n () =>\n selectedWidget\n ? availableWidgets.find((w) => w.type === selectedWidget.type)\n : undefined,\n [selectedWidget, availableWidgets]\n )\n\n const canUndo = historyIndex > 0\n const canRedo = historyIndex < history.length - 1\n\n // Helpers\n const updateHistory = useCallback((newWidgets: BuilderWidget[]) => {\n setHistory((prev) => {\n const newHistory = prev.slice(0, historyIndex + 1)\n newHistory.push(newWidgets)\n return newHistory\n })\n setHistoryIndex((prev) => prev + 1)\n }, [historyIndex])\n\n const generateId = (): string => `widget-${String(Date.now())}-${Math.random().toString(36).slice(2, 9)}`\n\n const getLayoutConfig = useCallback((): BuilderLayoutConfig => {\n return {\n columns,\n rowHeight,\n widgets: widgets.map((w) => ({\n i: w.id,\n x: w.x,\n y: w.y,\n w: w.w,\n h: w.h,\n })),\n }\n }, [columns, rowHeight, widgets])\n\n // Event handlers\n const handleWidgetDrop = useCallback(\n (widgetType: string, position: BuilderPosition) => {\n const definition = availableWidgets.find((w) => w.type === widgetType)\n if (!definition) return\n\n const newWidget: BuilderWidget = {\n id: generateId(),\n type: widgetType,\n title: definition.name,\n x: position.x,\n y: position.y,\n w: definition.defaultSize.w,\n h: definition.defaultSize.h,\n config: definition.configSchema.fields.reduce<Record<string, unknown>>(\n (acc, field) => {\n acc[field.name] = field.defaultValue\n return acc\n },\n {}\n ),\n }\n\n const newWidgets = [...widgets, newWidget]\n setWidgets(newWidgets)\n updateHistory(newWidgets)\n setSelectedWidgetId(newWidget.id)\n\n onWidgetAdd?.({ widget: newWidget, position })\n onLayoutChange?.(getLayoutConfig())\n },\n [availableWidgets, widgets, updateHistory, onWidgetAdd, onLayoutChange, getLayoutConfig]\n )\n\n const handleWidgetRemove = useCallback(\n (widgetId: string) => {\n const newWidgets = widgets.filter((w) => w.id !== widgetId)\n setWidgets(newWidgets)\n updateHistory(newWidgets)\n\n if (selectedWidgetId === widgetId) {\n setSelectedWidgetId(null)\n }\n\n onWidgetRemove?.({ widgetId })\n onLayoutChange?.(getLayoutConfig())\n },\n [widgets, selectedWidgetId, updateHistory, onWidgetRemove, onLayoutChange, getLayoutConfig]\n )\n\n const handleWidgetSelect = useCallback((widgetId: string) => {\n setSelectedWidgetId(widgetId)\n setBuilderState(\"configuring\")\n }, [])\n\n const handleConfigChange = useCallback(\n (newConfig: Record<string, unknown>) => {\n if (!selectedWidgetId) return\n\n const newWidgets = widgets.map((w) =>\n w.id === selectedWidgetId ? { ...w, config: newConfig } : w\n )\n setWidgets(newWidgets)\n updateHistory(newWidgets)\n\n onWidgetUpdate?.({ widgetId: selectedWidgetId, config: newConfig })\n },\n [selectedWidgetId, widgets, updateHistory, onWidgetUpdate]\n )\n\n const handleSave = useCallback(() => {\n setBuilderState(\"saving\")\n onSave?.({ widgets, layout: getLayoutConfig() })\n setBuilderState(\"idle\")\n }, [widgets, getLayoutConfig, onSave])\n\n const handleUndo = useCallback(() => {\n if (!canUndo) return\n const newIndex = historyIndex - 1\n setHistoryIndex(newIndex)\n setWidgets(history[newIndex] ?? [])\n onUndo?.()\n }, [canUndo, historyIndex, history, onUndo])\n\n const handleRedo = useCallback(() => {\n if (!canRedo) return\n const newIndex = historyIndex + 1\n setHistoryIndex(newIndex)\n setWidgets(history[newIndex] ?? [])\n onRedo?.()\n }, [canRedo, historyIndex, history, onRedo])\n\n const handlePreview = useCallback(() => {\n setBuilderMode(\"preview\")\n onPreview?.()\n }, [onPreview])\n\n const handleCloseProperties = useCallback(() => {\n setSelectedWidgetId(null)\n setBuilderState(\"idle\")\n }, [])\n\n // Keyboard shortcuts\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n // Ctrl/Cmd + S: Save\n if ((e.ctrlKey || e.metaKey) && e.key === \"s\") {\n e.preventDefault()\n handleSave()\n }\n // Ctrl/Cmd + Z: Undo\n if ((e.ctrlKey || e.metaKey) && e.key === \"z\" && !e.shiftKey) {\n e.preventDefault()\n handleUndo()\n }\n // Ctrl/Cmd + Shift + Z or Ctrl/Cmd + Y: Redo\n if ((e.ctrlKey || e.metaKey) && (e.key === \"y\" || (e.key === \"z\" && e.shiftKey))) {\n e.preventDefault()\n handleRedo()\n }\n // Delete: Remove selected widget\n if ((e.key === \"Delete\" || e.key === \"Backspace\") && selectedWidgetId) {\n e.preventDefault()\n handleWidgetRemove(selectedWidgetId)\n }\n },\n [handleSave, handleUndo, handleRedo, selectedWidgetId, handleWidgetRemove]\n )\n\n return (\n <div\n aria-label={ariaLabel}\n className={cn(dashboardBuilderVariants({ mode, size }), className)}\n data-slot=\"dashboard-builder\"\n id={builderId}\n role=\"application\"\n tabIndex={-1}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {/* Toolbar */}\n <div className=\"flex flex-col\">\n <DashboardBuilderToolbar\n canRedo={canRedo}\n canUndo={canUndo}\n showPreview={showPreview}\n showUndo={showUndo}\n onRedo={handleRedo}\n onSave={handleSave}\n onTogglePreview={handlePreview}\n onUndo={handleUndo}\n />\n\n {/* Main content area */}\n <div className=\"flex flex-1 overflow-hidden\">\n {/* Widget Library */}\n <DashboardBuilderWidgetLibrary widgets={availableWidgets} />\n\n {/* Canvas */}\n <div className=\"flex flex-1 flex-col\">\n <DashboardBuilderCanvas\n columns={columns}\n rowHeight={rowHeight}\n selectedWidgetId={selectedWidgetId}\n showGrid={showGrid}\n widgetDefinitions={availableWidgets}\n widgets={widgets}\n onWidgetClick={handleWidgetSelect}\n onWidgetDrop={handleWidgetDrop}\n onWidgetRemove={handleWidgetRemove}\n >\n {widgets.map((widget) => {\n const definition = availableWidgets.find(\n (w) => w.type === widget.type\n )\n return (\n <DashboardBuilderWidgetComponent\n key={widget.id}\n isSelected={widget.id === selectedWidgetId}\n widget={widget}\n widgetDefinition={definition}\n onClick={() => { handleWidgetSelect(widget.id); }}\n onRemove={() => { handleWidgetRemove(widget.id); }}\n />\n )\n })}\n </DashboardBuilderCanvas>\n </div>\n\n {/* Properties Panel */}\n <DashboardBuilderPropertiesPanel\n widget={selectedWidget}\n widgetDefinition={selectedWidgetDefinition}\n onClose={handleCloseProperties}\n onConfigChange={handleConfigChange}\n />\n </div>\n </div>\n </div>\n )\n}\n\nDashboardBuilder.displayName = \"DashboardBuilder\"\n\n// ============================================\n// EXPORTS\n// ============================================\n\nexport {\n DashboardBuilder,\n DashboardBuilderCanvas,\n DashboardBuilderPropertiesPanel,\n DashboardBuilderToolbar,\n DashboardBuilderWidgetComponent,\n DashboardBuilderWidgetLibrary,\n defaultWidgets,\n}\nexport type {\n DashboardBuilderCanvasProps,\n DashboardBuilderPropertiesPanelProps,\n DashboardBuilderProps,\n DashboardBuilderToolbarProps,\n DashboardBuilderWidgetComponentProps,\n DashboardBuilderWidgetLibraryProps,\n}\n"]}
1
+ {"version":3,"sources":["../src/components/workflow/DashboardBuilder/DashboardBuilder.variants.ts","../src/components/workflow/DashboardBuilder/DashboardBuilder.tsx"],"names":[],"mappings":"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","file":"chunk-LDK6ADKM.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * DashboardBuilder container variants\n */\nexport const dashboardBuilderVariants = cva(\n \"relative flex h-full w-full overflow-hidden rounded-lg border bg-background transition-all duration-300\",\n {\n variants: {\n mode: {\n edit: \"\",\n preview: \"\",\n configure: \"\",\n },\n size: {\n default: \"\",\n compact: \"\",\n full: \"h-screen\",\n },\n },\n defaultVariants: {\n mode: \"edit\",\n size: \"default\",\n },\n }\n)\n\n/**\n * Toolbar variants\n */\nexport const dashboardBuilderToolbarVariants = cva(\n \"flex h-14 shrink-0 items-center justify-between border-b bg-card px-4 transition-all duration-200\",\n {\n variants: {\n position: {\n top: \"\",\n bottom: \"border-b-0 border-t\",\n },\n },\n defaultVariants: {\n position: \"top\",\n },\n }\n)\n\n/**\n * Canvas (main work area) variants\n */\nexport const dashboardBuilderCanvasVariants = cva(\n \"relative flex-1 overflow-auto bg-muted/30 p-4 transition-all duration-200\",\n {\n variants: {\n showGrid: {\n true: [\n \"bg-[linear-gradient(to_right,var(--border)_1px,transparent_1px),linear-gradient(to_bottom,var(--border)_1px,transparent_1px)]\",\n \"bg-[size:var(--grid-size)_var(--grid-size)]\",\n ],\n false: \"\",\n },\n state: {\n idle: \"\",\n dragging: \"cursor-grabbing\",\n resizing: \"cursor-nwse-resize\",\n configuring: \"\",\n saving: \"pointer-events-none opacity-75\",\n },\n },\n defaultVariants: {\n showGrid: true,\n state: \"idle\",\n },\n }\n)\n\n/**\n * Widget library sidebar variants\n */\nexport const dashboardBuilderWidgetLibraryVariants = cva(\n \"flex w-64 shrink-0 flex-col border-r bg-card transition-all duration-200\",\n {\n variants: {\n collapsed: {\n true: \"w-14\",\n false: \"w-64\",\n },\n position: {\n left: \"border-r\",\n right: \"border-l border-r-0\",\n },\n },\n defaultVariants: {\n collapsed: false,\n position: \"left\",\n },\n }\n)\n\n/**\n * Properties panel variants\n */\nexport const dashboardBuilderPropertiesPanelVariants = cva(\n \"flex w-72 shrink-0 flex-col border-l bg-card transition-all duration-200\",\n {\n variants: {\n open: {\n true: \"w-72\",\n false: \"w-0 overflow-hidden border-l-0\",\n },\n },\n defaultVariants: {\n open: false,\n },\n }\n)\n\n/**\n * Widget card in library variants\n */\nexport const dashboardBuilderWidgetCardVariants = cva(\n \"flex cursor-grab items-center gap-3 rounded-md border bg-background p-3 transition-all duration-200 hover:border-primary hover:shadow-sm active:cursor-grabbing\",\n {\n variants: {\n category: {\n default: \"\",\n charts: \"border-l-2 border-l-blue-500\",\n kpi: \"border-l-2 border-l-green-500\",\n tables: \"border-l-2 border-l-purple-500\",\n text: \"border-l-2 border-l-orange-500\",\n },\n dragging: {\n true: \"opacity-50\",\n false: \"\",\n },\n },\n defaultVariants: {\n category: \"default\",\n dragging: false,\n },\n }\n)\n\n/**\n * Widget on canvas variants\n */\nexport const dashboardBuilderWidgetVariants = cva(\n \"group relative rounded-md border-2 bg-card transition-all duration-200\",\n {\n variants: {\n state: {\n idle: \"border-transparent hover:border-muted-foreground/30\",\n selected: \"border-primary ring-2 ring-primary/20\",\n dragging: \"border-primary border-dashed opacity-75\",\n resizing: \"border-primary\",\n preview: \"border-border\",\n },\n },\n defaultVariants: {\n state: \"idle\",\n },\n }\n)\n\n/**\n * Widget resize handle variants\n */\nexport const dashboardBuilderResizeHandleVariants = cva(\n \"absolute opacity-0 transition-opacity group-hover:opacity-100\",\n {\n variants: {\n position: {\n se: \"bottom-0 right-0 cursor-se-resize\",\n sw: \"bottom-0 left-0 cursor-sw-resize\",\n ne: \"right-0 top-0 cursor-ne-resize\",\n nw: \"left-0 top-0 cursor-nw-resize\",\n e: \"right-0 top-1/2 -translate-y-1/2 cursor-e-resize\",\n w: \"left-0 top-1/2 -translate-y-1/2 cursor-w-resize\",\n n: \"left-1/2 top-0 -translate-x-1/2 cursor-n-resize\",\n s: \"bottom-0 left-1/2 -translate-x-1/2 cursor-s-resize\",\n },\n size: {\n sm: \"h-2 w-2\",\n default: \"h-3 w-3\",\n lg: \"h-4 w-4\",\n },\n },\n defaultVariants: {\n position: \"se\",\n size: \"default\",\n },\n }\n)\n\n/**\n * Drop zone indicator variants\n */\nexport const dashboardBuilderDropZoneVariants = cva(\n \"pointer-events-none absolute rounded-md border-2 transition-all duration-200\",\n {\n variants: {\n active: {\n true: \"border-primary bg-primary/10\",\n false: \"border-transparent\",\n },\n valid: {\n true: \"border-primary bg-primary/10\",\n false: \"border-destructive bg-destructive/10\",\n },\n },\n defaultVariants: {\n active: false,\n valid: true,\n },\n }\n)\n\n/**\n * Empty state variants for canvas\n */\nexport const dashboardBuilderEmptyStateVariants = cva(\n \"flex h-full flex-col items-center justify-center gap-4 text-muted-foreground\",\n {\n variants: {\n variant: {\n default: \"\",\n minimal: \"gap-2\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\n// Export variant prop types\nexport type DashboardBuilderVariantProps = VariantProps<\n typeof dashboardBuilderVariants\n>\nexport type DashboardBuilderToolbarVariantProps = VariantProps<\n typeof dashboardBuilderToolbarVariants\n>\nexport type DashboardBuilderCanvasVariantProps = VariantProps<\n typeof dashboardBuilderCanvasVariants\n>\nexport type DashboardBuilderWidgetLibraryVariantProps = VariantProps<\n typeof dashboardBuilderWidgetLibraryVariants\n>\nexport type DashboardBuilderPropertiesPanelVariantProps = VariantProps<\n typeof dashboardBuilderPropertiesPanelVariants\n>\nexport type DashboardBuilderWidgetCardVariantProps = VariantProps<\n typeof dashboardBuilderWidgetCardVariants\n>\nexport type DashboardBuilderWidgetVariantProps = VariantProps<\n typeof dashboardBuilderWidgetVariants\n>\nexport type DashboardBuilderResizeHandleVariantProps = VariantProps<\n typeof dashboardBuilderResizeHandleVariants\n>\nexport type DashboardBuilderDropZoneVariantProps = VariantProps<\n typeof dashboardBuilderDropZoneVariants\n>\nexport type DashboardBuilderEmptyStateVariantProps = VariantProps<\n typeof dashboardBuilderEmptyStateVariants\n>\n","import type {\n BuilderLayoutConfig,\n BuilderMode,\n BuilderPosition,\n BuilderState,\n BuilderWidget,\n BuilderWidgetDefinition,\n DashboardBuilderCanvasProps,\n DashboardBuilderPropertiesPanelProps,\n DashboardBuilderProps,\n DashboardBuilderToolbarProps,\n DashboardBuilderWidgetComponentProps,\n DashboardBuilderWidgetLibraryProps,\n} from \"./DashboardBuilder.types\"\nimport type { DragEvent, KeyboardEvent, ReactNode } from \"react\"\n\nimport {\n BarChart2,\n ChevronLeft,\n ChevronRight,\n Eye,\n GripVertical,\n LayoutGrid,\n PieChart,\n Redo2,\n Save,\n Table,\n Trash2,\n Type,\n Undo2,\n X,\n} from \"lucide-react\"\nimport { useCallback, useId, useMemo, useRef, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { TextInput } from \"../../forms/TextInput\"\nimport { Button } from \"../../primitives/Button\"\nimport { Label } from \"../../primitives/Label\"\nimport {\n dashboardBuilderCanvasVariants,\n dashboardBuilderEmptyStateVariants,\n dashboardBuilderPropertiesPanelVariants,\n dashboardBuilderToolbarVariants,\n dashboardBuilderVariants,\n dashboardBuilderWidgetCardVariants,\n dashboardBuilderWidgetLibraryVariants,\n dashboardBuilderWidgetVariants,\n} from \"./DashboardBuilder.variants\"\n\n// ============================================\n// DEFAULT WIDGET DEFINITIONS\n// ============================================\n\n/**\n * Placeholder widget component for demo purposes\n */\nfunction PlaceholderWidget({ config, title }: { config: Record<string, unknown>; title: string }): ReactNode {\n const value = config[\"value\"]\n const getDisplayValue = (): string => {\n if (value === null || value === undefined) return \"\"\n if (typeof value === \"object\") return JSON.stringify(value)\n return String(value as boolean | number | string)\n }\n return (\n <div className=\"flex h-full flex-col items-center justify-center p-4\">\n <span className=\"text-sm font-medium\">{title}</span>\n {value !== undefined && value !== null && (\n <span className=\"text-2xl font-bold text-primary\">\n {getDisplayValue()}\n </span>\n )}\n </div>\n )\n}\n\n/**\n * Default widgets available in the library\n */\nconst defaultWidgets: BuilderWidgetDefinition[] = [\n {\n type: \"kpi\",\n name: \"KPI Card\",\n description: \"Display a key performance indicator\",\n icon: <LayoutGrid className=\"h-4 w-4\" />,\n category: \"kpi\",\n defaultSize: { w: 3, h: 2 },\n minSize: { w: 2, h: 1 },\n maxSize: { w: 6, h: 4 },\n configSchema: {\n fields: [\n { name: \"title\", type: \"text\", label: \"Title\", defaultValue: \"KPI\" },\n { name: \"value\", type: \"text\", label: \"Value\", defaultValue: \"0\" },\n { name: \"unit\", type: \"text\", label: \"Unit\", defaultValue: \"\" },\n ],\n },\n component: PlaceholderWidget,\n },\n {\n type: \"chart-line\",\n name: \"Line Chart\",\n description: \"Display data as a line chart\",\n icon: <BarChart2 className=\"h-4 w-4\" />,\n category: \"charts\",\n defaultSize: { w: 6, h: 4 },\n minSize: { w: 4, h: 3 },\n configSchema: {\n fields: [\n { name: \"title\", type: \"text\", label: \"Title\", defaultValue: \"Chart\" },\n {\n name: \"showLegend\",\n type: \"boolean\",\n label: \"Show Legend\",\n defaultValue: true,\n },\n ],\n },\n component: PlaceholderWidget,\n },\n {\n type: \"chart-pie\",\n name: \"Pie Chart\",\n description: \"Display data as a pie chart\",\n icon: <PieChart className=\"h-4 w-4\" />,\n category: \"charts\",\n defaultSize: { w: 4, h: 4 },\n minSize: { w: 3, h: 3 },\n configSchema: {\n fields: [\n { name: \"title\", type: \"text\", label: \"Title\", defaultValue: \"Chart\" },\n ],\n },\n component: PlaceholderWidget,\n },\n {\n type: \"table\",\n name: \"Data Table\",\n description: \"Display data in a table format\",\n icon: <Table className=\"h-4 w-4\" />,\n category: \"tables\",\n defaultSize: { w: 6, h: 4 },\n minSize: { w: 4, h: 3 },\n configSchema: {\n fields: [\n { name: \"title\", type: \"text\", label: \"Title\", defaultValue: \"Table\" },\n {\n name: \"pageSize\",\n type: \"number\",\n label: \"Page Size\",\n defaultValue: 10,\n },\n ],\n },\n component: PlaceholderWidget,\n },\n {\n type: \"text\",\n name: \"Text Block\",\n description: \"Display formatted text content\",\n icon: <Type className=\"h-4 w-4\" />,\n category: \"text\",\n defaultSize: { w: 4, h: 2 },\n minSize: { w: 2, h: 1 },\n configSchema: {\n fields: [\n { name: \"content\", type: \"text\", label: \"Content\", defaultValue: \"\" },\n ],\n },\n component: PlaceholderWidget,\n },\n]\n\n// ============================================\n// SUB-COMPONENTS\n// ============================================\n\n/**\n * Toolbar component with save, undo, redo, and preview actions\n */\nfunction DashboardBuilderToolbar({\n canRedo,\n canUndo,\n onRedo,\n onSave,\n onTogglePreview,\n onUndo,\n showPreview,\n showUndo,\n}: DashboardBuilderToolbarProps): ReactNode {\n return (\n <div\n className={dashboardBuilderToolbarVariants()}\n data-slot=\"dashboard-builder-toolbar\"\n >\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm font-medium\">Dashboard Builder</span>\n </div>\n\n <div className=\"flex items-center gap-2\">\n {showUndo && (\n <>\n <Button\n aria-label=\"Undo\"\n disabled={!canUndo}\n size=\"sm\"\n variant=\"ghost\"\n onClick={onUndo}\n >\n <Undo2 className=\"h-4 w-4\" />\n </Button>\n <Button\n aria-label=\"Redo\"\n disabled={!canRedo}\n size=\"sm\"\n variant=\"ghost\"\n onClick={onRedo}\n >\n <Redo2 className=\"h-4 w-4\" />\n </Button>\n <div className=\"mx-2 h-6 w-px bg-border\" />\n </>\n )}\n\n {showPreview && (\n <Button\n aria-label=\"Preview dashboard\"\n size=\"sm\"\n variant=\"outline\"\n onClick={onTogglePreview}\n >\n <Eye className=\"mr-2 h-4 w-4\" />\n Preview\n </Button>\n )}\n\n <Button size=\"sm\" onClick={onSave}>\n <Save className=\"mr-2 h-4 w-4\" />\n Save\n </Button>\n </div>\n </div>\n )\n}\n\n/**\n * Widget library sidebar showing available widgets\n */\nfunction DashboardBuilderWidgetLibrary({\n widgets,\n}: DashboardBuilderWidgetLibraryProps): ReactNode {\n const [collapsed, setCollapsed] = useState(false)\n\n // Group widgets by category\n const groupedWidgets = useMemo(() => {\n return widgets.reduce<Record<string, BuilderWidgetDefinition[]>>((acc, widget) => {\n const category = widget.category || \"default\"\n acc[category] ??= []\n acc[category].push(widget)\n return acc\n }, {})\n }, [widgets])\n\n const handleDragStart = (e: DragEvent<HTMLDivElement>, widget: BuilderWidgetDefinition): void => {\n e.dataTransfer.setData(\"widget-type\", widget.type)\n e.dataTransfer.effectAllowed = \"copy\"\n }\n\n return (\n <div\n className={dashboardBuilderWidgetLibraryVariants({ collapsed })}\n data-slot=\"dashboard-builder-widget-library\"\n >\n <div className=\"flex h-12 items-center justify-between border-b px-4\">\n {!collapsed && (\n <span className=\"text-sm font-medium\">Widgets</span>\n )}\n <Button\n aria-label={collapsed ? \"Expand widget library\" : \"Collapse widget library\"}\n className=\"ml-auto\"\n size=\"icon\"\n variant=\"ghost\"\n onClick={() => { setCollapsed(!collapsed); }}\n >\n {collapsed ? (\n <ChevronRight className=\"h-4 w-4\" />\n ) : (\n <ChevronLeft className=\"h-4 w-4\" />\n )}\n </Button>\n </div>\n\n {!collapsed && (\n <div className=\"flex-1 overflow-y-auto p-4\">\n <div className=\"space-y-4\">\n {Object.entries(groupedWidgets).map(([category, categoryWidgets]) => (\n <div key={category}>\n <span className=\"mb-2 block text-xs font-medium uppercase text-muted-foreground\">\n {category}\n </span>\n <div className=\"space-y-2\">\n {categoryWidgets.map((widget) => (\n <div\n key={widget.type}\n draggable\n className={dashboardBuilderWidgetCardVariants({\n category: category as \"charts\" | \"default\" | \"kpi\" | \"tables\" | \"text\",\n })}\n aria-label={`Drag ${widget.name} widget`}\n role=\"button\"\n tabIndex={0}\n title={widget.description}\n onDragStart={(e: DragEvent<HTMLDivElement>) => { handleDragStart(e, widget); }}\n >\n <span className=\"text-muted-foreground\">{widget.icon}</span>\n <span className=\"text-sm\">{widget.name}</span>\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n\n/**\n * Canvas component - main work area for widgets\n */\nfunction DashboardBuilderCanvas({\n children,\n columns,\n onWidgetDrop,\n rowHeight,\n showGrid,\n widgets,\n}: DashboardBuilderCanvasProps & {\n children?: ReactNode\n onWidgetClick?: (id: string) => void\n onWidgetRemove?: (id: string) => void\n selectedWidgetId?: null | string\n widgetDefinitions: BuilderWidgetDefinition[]\n}): ReactNode {\n const canvasRef = useRef<HTMLDivElement>(null)\n const [isDragOver, setIsDragOver] = useState(false)\n\n const handleDragOver = (e: DragEvent<HTMLDivElement>): void => {\n e.preventDefault()\n e.dataTransfer.dropEffect = \"copy\"\n setIsDragOver(true)\n }\n\n const handleDragLeave = (): void => {\n setIsDragOver(false)\n }\n\n const handleDrop = (e: DragEvent<HTMLDivElement>): void => {\n e.preventDefault()\n setIsDragOver(false)\n\n const widgetType = e.dataTransfer.getData(\"widget-type\")\n if (!widgetType || !canvasRef.current) return\n\n const rect = canvasRef.current.getBoundingClientRect()\n const gridWidth = rect.width / columns\n const x = Math.floor((e.clientX - rect.left) / gridWidth)\n const y = Math.floor((e.clientY - rect.top) / rowHeight)\n\n onWidgetDrop?.(widgetType, { x, y })\n }\n\n const gridSizeStyle = {\n \"--grid-size\": `${String(100 / columns)}%`,\n } as React.CSSProperties\n\n return (\n <div\n ref={canvasRef}\n className={cn(\n dashboardBuilderCanvasVariants({ showGrid }),\n isDragOver && \"ring-2 ring-primary ring-offset-2\"\n )}\n aria-describedby=\"canvas-instructions\"\n aria-label=\"Dashboard canvas\"\n data-slot=\"dashboard-builder-canvas\"\n role=\"region\"\n style={gridSizeStyle}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <span className=\"sr-only\" id=\"canvas-instructions\">\n Drag widgets from the library to add them. Use arrow keys to move selected widgets.\n Press Delete to remove selected widget.\n </span>\n\n {widgets.length === 0 ? (\n <div className={dashboardBuilderEmptyStateVariants()}>\n <LayoutGrid className=\"h-12 w-12 opacity-50\" />\n <div className=\"text-center\">\n <p className=\"text-sm font-medium\">No widgets yet</p>\n <p className=\"text-xs text-muted-foreground\">\n Drag widgets from the library to get started\n </p>\n </div>\n </div>\n ) : (\n <div\n style={{\n display: \"grid\",\n gridTemplateColumns: `repeat(${String(columns)}, 1fr)`,\n gap: \"var(--spacing-4)\",\n minHeight: \"100%\",\n }}\n className=\"relative\"\n >\n {children}\n </div>\n )}\n </div>\n )\n}\n\n/**\n * Properties panel for configuring selected widget\n */\nfunction DashboardBuilderPropertiesPanel({\n onClose,\n onConfigChange,\n widget,\n widgetDefinition,\n}: DashboardBuilderPropertiesPanelProps): ReactNode {\n const panelId = useId()\n\n if (!widget || !widgetDefinition) {\n return (\n <div\n className={dashboardBuilderPropertiesPanelVariants({ open: false })}\n data-slot=\"dashboard-builder-properties-panel\"\n />\n )\n }\n\n const handleFieldChange = (fieldName: string, value: unknown): void => {\n const newConfig = { ...widget.config, [fieldName]: value }\n onConfigChange?.(newConfig)\n }\n\n return (\n <div\n aria-labelledby={`${panelId}-title`}\n className={dashboardBuilderPropertiesPanelVariants({ open: true })}\n data-slot=\"dashboard-builder-properties-panel\"\n role=\"region\"\n >\n <div className=\"flex h-12 items-center justify-between border-b px-4\">\n <span className=\"text-sm font-medium\" id={`${panelId}-title`}>\n Properties\n </span>\n <Button\n aria-label=\"Close properties panel\"\n size=\"icon\"\n variant=\"ghost\"\n onClick={onClose}\n >\n <X className=\"h-4 w-4\" />\n </Button>\n </div>\n\n <div className=\"flex-1 overflow-y-auto p-4\">\n <div className=\"space-y-4\">\n <div>\n <span className=\"text-xs font-medium uppercase text-muted-foreground\">\n Widget: {widgetDefinition.name}\n </span>\n </div>\n\n <div className=\"h-px w-full bg-border\" />\n\n <div className=\"space-y-4\">\n {widgetDefinition.configSchema.fields.map((field) => (\n <div key={field.name} className=\"space-y-2\">\n <Label htmlFor={`${panelId}-${field.name}`}>{field.label}</Label>\n {field.type === \"text\" && (\n <TextInput\n value={(() => {\n const val = widget.config[field.name] ?? field.defaultValue ?? \"\"\n if (typeof val === \"object\") return JSON.stringify(val)\n return String(val as boolean | number | string)\n })()}\n id={`${panelId}-${field.name}`}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => { handleFieldChange(field.name, e.target.value); }}\n />\n )}\n {field.type === \"number\" && (\n <TextInput\n value={(() => {\n const val = widget.config[field.name] ?? field.defaultValue ?? 0\n if (typeof val === \"object\") return \"0\"\n return String(val as boolean | number | string)\n })()}\n id={`${panelId}-${field.name}`}\n type=\"number\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => { handleFieldChange(field.name, Number(e.target.value)); }}\n />\n )}\n {field.type === \"boolean\" && (\n <input\n checked={Boolean(widget.config[field.name] ?? field.defaultValue)}\n className=\"h-4 w-4\"\n id={`${panelId}-${field.name}`}\n type=\"checkbox\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => { handleFieldChange(field.name, e.target.checked); }}\n />\n )}\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\n/**\n * Individual widget component on the canvas\n */\nfunction DashboardBuilderWidgetComponent({\n isDragging,\n isSelected,\n onClick,\n onRemove,\n widget,\n widgetDefinition,\n}: DashboardBuilderWidgetComponentProps): ReactNode {\n const WidgetComponent = widgetDefinition?.component\n\n const state = isSelected ? \"selected\" : isDragging ? \"dragging\" : \"idle\"\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>): void => {\n if (e.key === \"Delete\" || e.key === \"Backspace\") {\n e.preventDefault()\n onRemove?.()\n }\n }\n\n return (\n <div\n style={{\n gridColumn: `span ${String(widget.w)}`,\n gridRow: `span ${String(widget.h)}`,\n minHeight: `${String(widget.h * 100)}px`,\n }}\n aria-label={`Widget: ${widget.title}`}\n aria-selected={isSelected}\n className={dashboardBuilderWidgetVariants({ state })}\n data-slot=\"dashboard-builder-widget\"\n data-widget-id={widget.id}\n role=\"button\"\n tabIndex={0}\n onClick={onClick}\n onKeyDown={handleKeyDown}\n >\n {/* Widget header */}\n <div className=\"flex items-center justify-between border-b bg-muted/50 px-3 py-2\">\n <div className=\"flex items-center gap-2\">\n <GripVertical className=\"h-4 w-4 cursor-grab text-muted-foreground\" />\n <span className=\"text-xs font-medium\">{widget.title}</span>\n </div>\n <Button\n aria-label={`Remove ${widget.title}`}\n className=\"opacity-0 group-hover:opacity-100\"\n size=\"icon\"\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation()\n onRemove?.()\n }}\n >\n <Trash2 className=\"h-3 w-3\" />\n </Button>\n </div>\n\n {/* Widget content */}\n <div className=\"flex-1 overflow-hidden p-2\">\n {WidgetComponent ? (\n <WidgetComponent\n config={widget.config}\n height={widget.h}\n id={widget.id}\n title={widget.title}\n width={widget.w}\n />\n ) : (\n <div className=\"flex h-full items-center justify-center text-muted-foreground\">\n <span className=\"text-xs\">Unknown widget type</span>\n </div>\n )}\n </div>\n </div>\n )\n}\n\n// ============================================\n// MAIN COMPONENT\n// ============================================\n\n/**\n * DashboardBuilder - Visual dashboard construction interface.\n *\n * Allows users to create, edit and customize dashboards through a drag-and-drop\n * interface with a widget library and properties panel.\n *\n * @example\n * ```tsx\n * <DashboardBuilder\n * onSave={({ widgets, layout }) => console.log('Saved:', widgets, layout)}\n * />\n * ```\n *\n * @example\n * ```tsx\n * const initialWidgets = [\n * { id: '1', type: 'kpi', title: 'Sales', x: 0, y: 0, w: 3, h: 2, config: { value: '150k' } }\n * ];\n *\n * <DashboardBuilder\n * initialWidgets={initialWidgets}\n * columns={12}\n * rowHeight={100}\n * />\n * ```\n */\nfunction DashboardBuilder({\n \"aria-label\": ariaLabel = \"Dashboard builder\",\n allowOverlap = false,\n autoSaveInterval = 30000,\n availableWidgets = defaultWidgets,\n className,\n columns = 12,\n enableAutoSave = false,\n initialLayout,\n initialWidgets = [],\n mode,\n onLayoutChange,\n onPreview,\n onRedo,\n onSave,\n onUndo,\n onWidgetAdd,\n onWidgetRemove,\n onWidgetUpdate,\n rowHeight = 100,\n showGrid = true,\n showPreview = true,\n showUndo = true,\n size,\n snapToGrid = true,\n ...props\n}: DashboardBuilderProps): ReactNode {\n const builderId = useId()\n\n // State\n const [widgets, setWidgets] = useState<BuilderWidget[]>(initialWidgets)\n const [selectedWidgetId, setSelectedWidgetId] = useState<null | string>(null)\n const [_builderMode, setBuilderMode] = useState<BuilderMode>(\"edit\")\n const [_builderState, setBuilderState] = useState<BuilderState>(\"idle\")\n const [history, setHistory] = useState<BuilderWidget[][]>([initialWidgets])\n const [historyIndex, setHistoryIndex] = useState(0)\n\n // Suppress unused variable warnings for future implementation\n void snapToGrid\n void allowOverlap\n void enableAutoSave\n void autoSaveInterval\n void initialLayout\n\n // Computed\n const selectedWidget = useMemo(\n () => widgets.find((w) => w.id === selectedWidgetId) ?? null,\n [widgets, selectedWidgetId]\n )\n const selectedWidgetDefinition = useMemo(\n () =>\n selectedWidget\n ? availableWidgets.find((w) => w.type === selectedWidget.type)\n : undefined,\n [selectedWidget, availableWidgets]\n )\n\n const canUndo = historyIndex > 0\n const canRedo = historyIndex < history.length - 1\n\n // Helpers\n const updateHistory = useCallback((newWidgets: BuilderWidget[]) => {\n setHistory((prev) => {\n const newHistory = prev.slice(0, historyIndex + 1)\n newHistory.push(newWidgets)\n return newHistory\n })\n setHistoryIndex((prev) => prev + 1)\n }, [historyIndex])\n\n const generateId = (): string => `widget-${String(Date.now())}-${Math.random().toString(36).slice(2, 9)}`\n\n const getLayoutConfig = useCallback((): BuilderLayoutConfig => {\n return {\n columns,\n rowHeight,\n widgets: widgets.map((w) => ({\n i: w.id,\n x: w.x,\n y: w.y,\n w: w.w,\n h: w.h,\n })),\n }\n }, [columns, rowHeight, widgets])\n\n // Event handlers\n const handleWidgetDrop = useCallback(\n (widgetType: string, position: BuilderPosition) => {\n const definition = availableWidgets.find((w) => w.type === widgetType)\n if (!definition) return\n\n const newWidget: BuilderWidget = {\n id: generateId(),\n type: widgetType,\n title: definition.name,\n x: position.x,\n y: position.y,\n w: definition.defaultSize.w,\n h: definition.defaultSize.h,\n config: definition.configSchema.fields.reduce<Record<string, unknown>>(\n (acc, field) => {\n acc[field.name] = field.defaultValue\n return acc\n },\n {}\n ),\n }\n\n const newWidgets = [...widgets, newWidget]\n setWidgets(newWidgets)\n updateHistory(newWidgets)\n setSelectedWidgetId(newWidget.id)\n\n onWidgetAdd?.({ widget: newWidget, position })\n onLayoutChange?.(getLayoutConfig())\n },\n [availableWidgets, widgets, updateHistory, onWidgetAdd, onLayoutChange, getLayoutConfig]\n )\n\n const handleWidgetRemove = useCallback(\n (widgetId: string) => {\n const newWidgets = widgets.filter((w) => w.id !== widgetId)\n setWidgets(newWidgets)\n updateHistory(newWidgets)\n\n if (selectedWidgetId === widgetId) {\n setSelectedWidgetId(null)\n }\n\n onWidgetRemove?.({ widgetId })\n onLayoutChange?.(getLayoutConfig())\n },\n [widgets, selectedWidgetId, updateHistory, onWidgetRemove, onLayoutChange, getLayoutConfig]\n )\n\n const handleWidgetSelect = useCallback((widgetId: string) => {\n setSelectedWidgetId(widgetId)\n setBuilderState(\"configuring\")\n }, [])\n\n const handleConfigChange = useCallback(\n (newConfig: Record<string, unknown>) => {\n if (!selectedWidgetId) return\n\n const newWidgets = widgets.map((w) =>\n w.id === selectedWidgetId ? { ...w, config: newConfig } : w\n )\n setWidgets(newWidgets)\n updateHistory(newWidgets)\n\n onWidgetUpdate?.({ widgetId: selectedWidgetId, config: newConfig })\n },\n [selectedWidgetId, widgets, updateHistory, onWidgetUpdate]\n )\n\n const handleSave = useCallback(() => {\n setBuilderState(\"saving\")\n onSave?.({ widgets, layout: getLayoutConfig() })\n setBuilderState(\"idle\")\n }, [widgets, getLayoutConfig, onSave])\n\n const handleUndo = useCallback(() => {\n if (!canUndo) return\n const newIndex = historyIndex - 1\n setHistoryIndex(newIndex)\n setWidgets(history[newIndex] ?? [])\n onUndo?.()\n }, [canUndo, historyIndex, history, onUndo])\n\n const handleRedo = useCallback(() => {\n if (!canRedo) return\n const newIndex = historyIndex + 1\n setHistoryIndex(newIndex)\n setWidgets(history[newIndex] ?? [])\n onRedo?.()\n }, [canRedo, historyIndex, history, onRedo])\n\n const handlePreview = useCallback(() => {\n setBuilderMode(\"preview\")\n onPreview?.()\n }, [onPreview])\n\n const handleCloseProperties = useCallback(() => {\n setSelectedWidgetId(null)\n setBuilderState(\"idle\")\n }, [])\n\n // Keyboard shortcuts\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n // Ctrl/Cmd + S: Save\n if ((e.ctrlKey || e.metaKey) && e.key === \"s\") {\n e.preventDefault()\n handleSave()\n }\n // Ctrl/Cmd + Z: Undo\n if ((e.ctrlKey || e.metaKey) && e.key === \"z\" && !e.shiftKey) {\n e.preventDefault()\n handleUndo()\n }\n // Ctrl/Cmd + Shift + Z or Ctrl/Cmd + Y: Redo\n if ((e.ctrlKey || e.metaKey) && (e.key === \"y\" || (e.key === \"z\" && e.shiftKey))) {\n e.preventDefault()\n handleRedo()\n }\n // Delete: Remove selected widget\n if ((e.key === \"Delete\" || e.key === \"Backspace\") && selectedWidgetId) {\n e.preventDefault()\n handleWidgetRemove(selectedWidgetId)\n }\n },\n [handleSave, handleUndo, handleRedo, selectedWidgetId, handleWidgetRemove]\n )\n\n return (\n <div\n aria-label={ariaLabel}\n className={cn(dashboardBuilderVariants({ mode, size }), className)}\n data-slot=\"dashboard-builder\"\n id={builderId}\n role=\"application\"\n tabIndex={-1}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {/* Toolbar */}\n <div className=\"flex flex-col\">\n <DashboardBuilderToolbar\n canRedo={canRedo}\n canUndo={canUndo}\n showPreview={showPreview}\n showUndo={showUndo}\n onRedo={handleRedo}\n onSave={handleSave}\n onTogglePreview={handlePreview}\n onUndo={handleUndo}\n />\n\n {/* Main content area */}\n <div className=\"flex flex-1 overflow-hidden\">\n {/* Widget Library */}\n <DashboardBuilderWidgetLibrary widgets={availableWidgets} />\n\n {/* Canvas */}\n <div className=\"flex flex-1 flex-col\">\n <DashboardBuilderCanvas\n columns={columns}\n rowHeight={rowHeight}\n selectedWidgetId={selectedWidgetId}\n showGrid={showGrid}\n widgetDefinitions={availableWidgets}\n widgets={widgets}\n onWidgetClick={handleWidgetSelect}\n onWidgetDrop={handleWidgetDrop}\n onWidgetRemove={handleWidgetRemove}\n >\n {widgets.map((widget) => {\n const definition = availableWidgets.find(\n (w) => w.type === widget.type\n )\n return (\n <DashboardBuilderWidgetComponent\n key={widget.id}\n isSelected={widget.id === selectedWidgetId}\n widget={widget}\n widgetDefinition={definition}\n onClick={() => { handleWidgetSelect(widget.id); }}\n onRemove={() => { handleWidgetRemove(widget.id); }}\n />\n )\n })}\n </DashboardBuilderCanvas>\n </div>\n\n {/* Properties Panel */}\n <DashboardBuilderPropertiesPanel\n widget={selectedWidget}\n widgetDefinition={selectedWidgetDefinition}\n onClose={handleCloseProperties}\n onConfigChange={handleConfigChange}\n />\n </div>\n </div>\n </div>\n )\n}\n\nDashboardBuilder.displayName = \"DashboardBuilder\"\n\n// ============================================\n// EXPORTS\n// ============================================\n\nexport {\n DashboardBuilder,\n DashboardBuilderCanvas,\n DashboardBuilderPropertiesPanel,\n DashboardBuilderToolbar,\n DashboardBuilderWidgetComponent,\n DashboardBuilderWidgetLibrary,\n defaultWidgets,\n}\nexport type {\n DashboardBuilderCanvasProps,\n DashboardBuilderPropertiesPanelProps,\n DashboardBuilderProps,\n DashboardBuilderToolbarProps,\n DashboardBuilderWidgetComponentProps,\n DashboardBuilderWidgetLibraryProps,\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { FeaturedIcon } from './chunk-PK5O62XD.js';
2
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { FeaturedIcon } from './chunk-X4CJFD6D.js';
2
+ import { cn } from './chunk-RVAYDRMA.js';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
5
5
 
@@ -105,5 +105,5 @@ function FeatureItem({
105
105
  }
106
106
 
107
107
  export { FeatureItem, featureItemVariants };
108
- //# sourceMappingURL=chunk-K4MYVFWQ.js.map
109
- //# sourceMappingURL=chunk-K4MYVFWQ.js.map
108
+ //# sourceMappingURL=chunk-LP6JYJQN.js.map
109
+ //# sourceMappingURL=chunk-LP6JYJQN.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/data-display/FeatureItem/FeatureItem.variants.ts","../src/components/data-display/FeatureItem/FeatureItem.tsx"],"names":[],"mappings":";;;;;AAQO,IAAM,mBAAA,GAAsB,IAAI,qCAAA,EAAuC;AAAA,EAC5E,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,KAAA,EAAO,oCAAA;AAAA,MACP,cAAA,EAAgB,oCAAA;AAAA,MAChB,IAAA,EAAM;AAAA;AACR,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAC;ACHD,SAAS,WAAA,CAAY;AAAA,EACnB,KAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA,GAAW,SAAA;AAAA,EACX,KAAA;AAAA,EACA,OAAA,GAAU,cAAA;AAAA,EACV,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,MAAM,gBAAgB,OAAA,KAAY,MAAA;AAElC,EAAA,MAAM,SAAA,mBACJ,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO;AAAA,QACL,UAAA,EAAY,uCAAA;AAAA,QACZ,UAAA,EAAY;AAAA,OACd;AAAA,MACA,SAAA,EAAU,gGAAA;AAAA,MACV,WAAA,EAAU,oBAAA;AAAA,MAET,QAAA,EAAA;AAAA;AAAA,GACH;AAGF,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAW,EAAA,CAAG,mBAAA,CAAoB,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MACzD,WAAA,EAAU,cAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACb,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,OAAA,KAAY,kBAAkB,IAAA,mBAC7B,GAAA,CAAC,gBAAa,IAAA,EAAM,QAAA,EAAW,gBAAK,CAAA,GAClC,IAAA;AAAA,QAEH,OAAA,KAAY,WAAW,KAAA,mBACtB,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAO;AAAA,cACL,UAAA,EAAY,uCAAA;AAAA,cACZ,UAAA,EAAY;AAAA,aACd;AAAA,YACA,SAAA,EAAU,wVAAA;AAAA,YACV,WAAA,EAAU,oBAAA;AAAA,YAET,QAAA,EAAA;AAAA;AAAA,SACH,GACE,IAAA;AAAA,wBAEJ,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,8DAAA;AAAA,YACV,WAAA,EAAU,mBAAA;AAAA,YAET,QAAA,EAAA;AAAA,cAAA,aAAA,mBACC,IAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,sDAAA;AAAA,kBACV,WAAA,EAAU,wBAAA;AAAA,kBAET,QAAA,EAAA;AAAA,oBAAA,IAAA,mBACC,GAAA;AAAA,sBAAC,MAAA;AAAA,sBAAA;AAAA,wBACC,aAAA,EAAY,MAAA;AAAA,wBACZ,SAAA,EAAU,4IAAA;AAAA,wBACV,WAAA,EAAU,mBAAA;AAAA,wBAET,QAAA,EAAA;AAAA;AAAA,qBACH,GACE,IAAA;AAAA,oBACH;AAAA;AAAA;AAAA,eACH,GAEA,SAAA;AAAA,cAGD,WAAA,mBACC,GAAA;AAAA,gBAAC,GAAA;AAAA,gBAAA;AAAA,kBACC,KAAA,EAAO;AAAA,oBACL,UAAA,EAAY,6CAAA;AAAA,oBACZ,UAAA,EAAY;AAAA,mBACd;AAAA,kBACA,SAAA,EAAU,4GAAA;AAAA,kBACV,WAAA,EAAU,0BAAA;AAAA,kBAET,QAAA,EAAA;AAAA;AAAA,eACH,GACE;AAAA;AAAA;AAAA;AACN;AAAA;AAAA,GACF;AAEJ","file":"chunk-K4MYVFWQ.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * FeatureItem root layout. The leading visual (FeaturedIcon / Badge) is stacked\n * above the text body for the `feature-icon` and `badge` styles, separated by\n * `--feature-item-root-gap`. The `icon` style has no stacked leading element, so\n * its single body uses the tighter `--feature-item-body-gap`.\n */\nexport const featureItemVariants = cva(\"flex flex-col items-start text-left\", {\n variants: {\n variant: {\n badge: \"gap-[var(--feature-item-root-gap)]\",\n \"feature-icon\": \"gap-[var(--feature-item-root-gap)]\",\n icon: \"gap-[var(--feature-item-body-gap)]\",\n },\n },\n defaultVariants: {\n variant: \"feature-icon\",\n },\n})\n","import type { FeatureItemProps } from \"./FeatureItem.types\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { FeaturedIcon } from \"../../primitives/FeaturedIcon\"\nimport { featureItemVariants } from \"./FeatureItem.variants\"\n\n/**\n * FeatureItem is a promotional card pairing a leading visual with a title and\n * description. The leading visual is selected via `variant`:\n *\n * - `feature-icon` — an icon inside a FeaturedIcon plate, stacked above the text\n * - `badge` — a status badge, stacked above the text\n * - `icon` — a small icon rendered inline, to the left of the title\n *\n * All spacing, color and type come from `--feature-item-*` design tokens.\n */\nfunction FeatureItem({\n badge,\n className,\n description,\n icon,\n iconTone = \"default\",\n title,\n variant = \"feature-icon\",\n ...props\n}: FeatureItemProps) {\n const isIconVariant = variant === \"icon\"\n\n const titleNode = (\n <p\n style={{\n fontWeight: \"var(--feature-item-title-font-weight)\",\n lineHeight: \"var(--feature-item-title-line-height)\",\n }}\n className=\"text-[length:var(--feature-item-title-font-size)] text-[color:var(--feature-item-title-color)]\"\n data-slot=\"feature-item-title\"\n >\n {title}\n </p>\n )\n\n return (\n <div\n className={cn(featureItemVariants({ variant }), className)}\n data-slot=\"feature-item\"\n data-variant={variant}\n {...props}\n >\n {variant === \"feature-icon\" && icon ? (\n <FeaturedIcon tone={iconTone}>{icon}</FeaturedIcon>\n ) : null}\n\n {variant === \"badge\" && badge ? (\n <span\n style={{\n fontWeight: \"var(--feature-item-badge-font-weight)\",\n lineHeight: \"var(--feature-item-badge-line-height)\",\n }}\n className=\"inline-flex w-fit items-center rounded-[var(--feature-item-badge-radius)] border border-[color:var(--feature-item-badge-border)] bg-[color:var(--feature-item-badge-bg)] px-[var(--feature-item-badge-padding-x)] py-[var(--feature-item-badge-padding-y)] text-[length:var(--feature-item-badge-font-size)] text-[color:var(--feature-item-badge-fg)]\"\n data-slot=\"feature-item-badge\"\n >\n {badge}\n </span>\n ) : null}\n\n <div\n className=\"flex flex-col items-start gap-[var(--feature-item-body-gap)]\"\n data-slot=\"feature-item-body\"\n >\n {isIconVariant ? (\n <div\n className=\"flex items-center gap-[var(--feature-item-body-gap)]\"\n data-slot=\"feature-item-title-row\"\n >\n {icon ? (\n <span\n aria-hidden=\"true\"\n className=\"inline-flex shrink-0 items-center justify-center text-[color:var(--feature-item-title-color)] [&_svg]:size-[var(--feature-item-icon-size)]\"\n data-slot=\"feature-item-icon\"\n >\n {icon}\n </span>\n ) : null}\n {titleNode}\n </div>\n ) : (\n titleNode\n )}\n\n {description ? (\n <p\n style={{\n fontWeight: \"var(--feature-item-description-font-weight)\",\n lineHeight: \"var(--feature-item-description-line-height)\",\n }}\n className=\"text-[length:var(--feature-item-description-font-size)] text-[color:var(--feature-item-description-color)]\"\n data-slot=\"feature-item-description\"\n >\n {description}\n </p>\n ) : null}\n </div>\n </div>\n )\n}\n\nexport { FeatureItem, featureItemVariants }\n"]}
1
+ {"version":3,"sources":["../src/components/data-display/FeatureItem/FeatureItem.variants.ts","../src/components/data-display/FeatureItem/FeatureItem.tsx"],"names":[],"mappings":";;;;;AAQO,IAAM,mBAAA,GAAsB,IAAI,qCAAA,EAAuC;AAAA,EAC5E,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,KAAA,EAAO,oCAAA;AAAA,MACP,cAAA,EAAgB,oCAAA;AAAA,MAChB,IAAA,EAAM;AAAA;AACR,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAC;ACHD,SAAS,WAAA,CAAY;AAAA,EACnB,KAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA,GAAW,SAAA;AAAA,EACX,KAAA;AAAA,EACA,OAAA,GAAU,cAAA;AAAA,EACV,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,MAAM,gBAAgB,OAAA,KAAY,MAAA;AAElC,EAAA,MAAM,SAAA,mBACJ,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO;AAAA,QACL,UAAA,EAAY,uCAAA;AAAA,QACZ,UAAA,EAAY;AAAA,OACd;AAAA,MACA,SAAA,EAAU,gGAAA;AAAA,MACV,WAAA,EAAU,oBAAA;AAAA,MAET,QAAA,EAAA;AAAA;AAAA,GACH;AAGF,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAW,EAAA,CAAG,mBAAA,CAAoB,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MACzD,WAAA,EAAU,cAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACb,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,OAAA,KAAY,kBAAkB,IAAA,mBAC7B,GAAA,CAAC,gBAAa,IAAA,EAAM,QAAA,EAAW,gBAAK,CAAA,GAClC,IAAA;AAAA,QAEH,OAAA,KAAY,WAAW,KAAA,mBACtB,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAO;AAAA,cACL,UAAA,EAAY,uCAAA;AAAA,cACZ,UAAA,EAAY;AAAA,aACd;AAAA,YACA,SAAA,EAAU,wVAAA;AAAA,YACV,WAAA,EAAU,oBAAA;AAAA,YAET,QAAA,EAAA;AAAA;AAAA,SACH,GACE,IAAA;AAAA,wBAEJ,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,8DAAA;AAAA,YACV,WAAA,EAAU,mBAAA;AAAA,YAET,QAAA,EAAA;AAAA,cAAA,aAAA,mBACC,IAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,sDAAA;AAAA,kBACV,WAAA,EAAU,wBAAA;AAAA,kBAET,QAAA,EAAA;AAAA,oBAAA,IAAA,mBACC,GAAA;AAAA,sBAAC,MAAA;AAAA,sBAAA;AAAA,wBACC,aAAA,EAAY,MAAA;AAAA,wBACZ,SAAA,EAAU,4IAAA;AAAA,wBACV,WAAA,EAAU,mBAAA;AAAA,wBAET,QAAA,EAAA;AAAA;AAAA,qBACH,GACE,IAAA;AAAA,oBACH;AAAA;AAAA;AAAA,eACH,GAEA,SAAA;AAAA,cAGD,WAAA,mBACC,GAAA;AAAA,gBAAC,GAAA;AAAA,gBAAA;AAAA,kBACC,KAAA,EAAO;AAAA,oBACL,UAAA,EAAY,6CAAA;AAAA,oBACZ,UAAA,EAAY;AAAA,mBACd;AAAA,kBACA,SAAA,EAAU,4GAAA;AAAA,kBACV,WAAA,EAAU,0BAAA;AAAA,kBAET,QAAA,EAAA;AAAA;AAAA,eACH,GACE;AAAA;AAAA;AAAA;AACN;AAAA;AAAA,GACF;AAEJ","file":"chunk-LP6JYJQN.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * FeatureItem root layout. The leading visual (FeaturedIcon / Badge) is stacked\n * above the text body for the `feature-icon` and `badge` styles, separated by\n * `--feature-item-root-gap`. The `icon` style has no stacked leading element, so\n * its single body uses the tighter `--feature-item-body-gap`.\n */\nexport const featureItemVariants = cva(\"flex flex-col items-start text-left\", {\n variants: {\n variant: {\n badge: \"gap-[var(--feature-item-root-gap)]\",\n \"feature-icon\": \"gap-[var(--feature-item-root-gap)]\",\n icon: \"gap-[var(--feature-item-body-gap)]\",\n },\n },\n defaultVariants: {\n variant: \"feature-icon\",\n },\n})\n","import type { FeatureItemProps } from \"./FeatureItem.types\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { FeaturedIcon } from \"../../primitives/FeaturedIcon\"\nimport { featureItemVariants } from \"./FeatureItem.variants\"\n\n/**\n * FeatureItem is a promotional card pairing a leading visual with a title and\n * description. The leading visual is selected via `variant`:\n *\n * - `feature-icon` — an icon inside a FeaturedIcon plate, stacked above the text\n * - `badge` — a status badge, stacked above the text\n * - `icon` — a small icon rendered inline, to the left of the title\n *\n * All spacing, color and type come from `--feature-item-*` design tokens.\n */\nfunction FeatureItem({\n badge,\n className,\n description,\n icon,\n iconTone = \"default\",\n title,\n variant = \"feature-icon\",\n ...props\n}: FeatureItemProps) {\n const isIconVariant = variant === \"icon\"\n\n const titleNode = (\n <p\n style={{\n fontWeight: \"var(--feature-item-title-font-weight)\",\n lineHeight: \"var(--feature-item-title-line-height)\",\n }}\n className=\"text-[length:var(--feature-item-title-font-size)] text-[color:var(--feature-item-title-color)]\"\n data-slot=\"feature-item-title\"\n >\n {title}\n </p>\n )\n\n return (\n <div\n className={cn(featureItemVariants({ variant }), className)}\n data-slot=\"feature-item\"\n data-variant={variant}\n {...props}\n >\n {variant === \"feature-icon\" && icon ? (\n <FeaturedIcon tone={iconTone}>{icon}</FeaturedIcon>\n ) : null}\n\n {variant === \"badge\" && badge ? (\n <span\n style={{\n fontWeight: \"var(--feature-item-badge-font-weight)\",\n lineHeight: \"var(--feature-item-badge-line-height)\",\n }}\n className=\"inline-flex w-fit items-center rounded-[var(--feature-item-badge-radius)] border border-[color:var(--feature-item-badge-border)] bg-[color:var(--feature-item-badge-bg)] px-[var(--feature-item-badge-padding-x)] py-[var(--feature-item-badge-padding-y)] text-[length:var(--feature-item-badge-font-size)] text-[color:var(--feature-item-badge-fg)]\"\n data-slot=\"feature-item-badge\"\n >\n {badge}\n </span>\n ) : null}\n\n <div\n className=\"flex flex-col items-start gap-[var(--feature-item-body-gap)]\"\n data-slot=\"feature-item-body\"\n >\n {isIconVariant ? (\n <div\n className=\"flex items-center gap-[var(--feature-item-body-gap)]\"\n data-slot=\"feature-item-title-row\"\n >\n {icon ? (\n <span\n aria-hidden=\"true\"\n className=\"inline-flex shrink-0 items-center justify-center text-[color:var(--feature-item-title-color)] [&_svg]:size-[var(--feature-item-icon-size)]\"\n data-slot=\"feature-item-icon\"\n >\n {icon}\n </span>\n ) : null}\n {titleNode}\n </div>\n ) : (\n titleNode\n )}\n\n {description ? (\n <p\n style={{\n fontWeight: \"var(--feature-item-description-font-weight)\",\n lineHeight: \"var(--feature-item-description-line-height)\",\n }}\n className=\"text-[length:var(--feature-item-description-font-size)] text-[color:var(--feature-item-description-color)]\"\n data-slot=\"feature-item-description\"\n >\n {description}\n </p>\n ) : null}\n </div>\n </div>\n )\n}\n\nexport { FeatureItem, featureItemVariants }\n"]}
@@ -1,6 +1,6 @@
1
- import { Label } from './chunk-2ROFZG3A.js';
2
- import { Divider } from './chunk-3L5G7VI2.js';
3
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { Label } from './chunk-7Y325TBV.js';
2
+ import { Divider } from './chunk-LCBB3N5H.js';
3
+ import { cn } from './chunk-RVAYDRMA.js';
4
4
  import { useId, useMemo } from 'react';
5
5
  import { cva } from 'class-variance-authority';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -224,5 +224,5 @@ function FieldError({ className, children, errors, id, ...props }) {
224
224
  }
225
225
 
226
226
  export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, fieldContentVariants, fieldDescriptionVariants, fieldErrorVariants, fieldGroupVariants, fieldLabelVariants, fieldLegendVariants, fieldSeparatorVariants, fieldSetVariants, fieldTitleVariants, fieldVariants };
227
- //# sourceMappingURL=chunk-G7PBPX3K.js.map
228
- //# sourceMappingURL=chunk-G7PBPX3K.js.map
227
+ //# sourceMappingURL=chunk-LRE3LJMW.js.map
228
+ //# sourceMappingURL=chunk-LRE3LJMW.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/forms/Field/Field.variants.ts","../src/components/forms/Field/Field.tsx"],"names":[],"mappings":";;;;;;;AAKO,IAAM,mBAAmB,GAAA,CAAI;AAAA,EAClC,qBAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,mBAAA,GAAsB,IAAI,kBAAA,EAAoB;AAAA,EACzD,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,MAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAO;AAAA;AACT,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAC;AAKM,IAAM,qBAAqB,GAAA,CAAI;AAAA,EACpC,qEAAA;AAAA,EACA,kCAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,aAAA,GAAgB,GAAA;AAAA,EAC3B,oEAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,WAAA,EAAa;AAAA,QACX,QAAA,EAAU,CAAC,2CAA2C,CAAA;AAAA,QACtD,UAAA,EAAY;AAAA,UACV,uBAAA;AAAA,UACA,uCAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,UAAA,EAAY;AAAA,UACV,8HAAA;AAAA,UACA,uDAAA;AAAA,UACA;AAAA;AACF;AACF,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,WAAA,EAAa;AAAA;AACf;AAEJ;AAKO,IAAM,uBAAuB,GAAA,CAAI;AAAA,EACtC;AACF,CAAC;AAKM,IAAM,qBAAqB,GAAA,CAAI;AAAA,EACpC,kEAAA;AAAA,EACA,6CAAA;AAAA,EACA,uIAAA;AAAA,EACA,6BAAA;AAAA,EACA,+EAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,qBAAqB,GAAA,CAAI;AAAA,EACpC,gEAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,2BAA2B,GAAA,CAAI;AAAA,EAC1C,qGAAA;AAAA,EACA,8DAAA;AAAA,EACA,8DAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,yBAAyB,GAAA,CAAI;AAAA,EACxC,4BAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,kBAAA,GAAqB,GAAA;AAAA,EAChC;AACF;AChFA,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkB;AACxD,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,gBAAA,EAAiB,EAAG,SAAS,CAAA;AAAA,MAC3C,WAAA,EAAU,WAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,OAAA,GAAU,QAAA;AAAA,EACV,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,WAAW,EAAA,CAAG,mBAAA,CAAoB,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MACzD,WAAA,EAAU,cAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACb,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,UAAA,CAAW,EAAE,SAAA,EAAW,GAAG,OAAM,EAAoB;AAC5D,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,kBAAA,EAAmB,EAAG,SAAS,CAAA;AAAA,MAC7C,WAAA,EAAU,aAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,MAAM,EAAE,SAAA,EAAW,cAAc,UAAA,EAAY,GAAG,OAAM,EAAe;AAC5E,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAW,EAAA,CAAG,aAAA,CAAc,EAAE,WAAA,EAAa,GAAG,SAAS,CAAA;AAAA,MACvD,kBAAA,EAAkB,WAAA;AAAA,MAClB,WAAA,EAAU,OAAA;AAAA,MACV,IAAA,EAAK,OAAA;AAAA,MACJ,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,YAAA,CAAa,EAAE,SAAA,EAAW,GAAG,OAAM,EAAsB;AAChE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,oBAAA,EAAqB,EAAG,SAAS,CAAA;AAAA,MAC/C,WAAA,EAAU,eAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,UAAA,CAAW,EAAE,SAAA,EAAW,GAAG,OAAM,EAAoB;AAC5D,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,kBAAA,EAAmB,EAAG,SAAS,CAAA;AAAA,MAC7C,WAAA,EAAU,aAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,UAAA,CAAW,EAAE,SAAA,EAAW,GAAG,OAAM,EAAoB;AAC5D,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,kBAAA,EAAmB,EAAG,SAAS,CAAA;AAAA,MAC7C,WAAA,EAAU,aAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,iBAAiB,EAAE,SAAA,EAAW,EAAA,EAAI,GAAG,OAAM,EAA0B;AAC5E,EAAA,MAAM,cAAc,KAAA,EAAM;AAC1B,EAAA,uBACE,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,wBAAA,EAAyB,EAAG,SAAS,CAAA;AAAA,MACnD,WAAA,EAAU,mBAAA;AAAA,MACV,IAAI,EAAA,IAAM,WAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,eAAe,EAAE,QAAA,EAAU,SAAA,EAAW,GAAG,OAAM,EAAwB;AAC9E,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,sBAAA,EAAuB,EAAG,SAAS,CAAA;AAAA,MACjD,cAAA,EAAc,CAAC,CAAC,QAAA;AAAA,MAChB,WAAA,EAAU,iBAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,OAAA,EAAA,EAAQ,WAAU,0BAAA,EAA2B,CAAA;AAAA,QAC7C,QAAA,oBACC,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,uEAAA;AAAA,YACV,WAAA,EAAU,yBAAA;AAAA,YAET;AAAA;AAAA;AACH;AAAA;AAAA,GAEJ;AAEJ;AAEA,SAAS,UAAA,CAAW,EAAE,SAAA,EAAW,QAAA,EAAU,QAAQ,EAAA,EAAI,GAAG,OAAM,EAAoB;AAClF,EAAA,MAAM,cAAc,KAAA,EAAM;AAC1B,EAAA,MAAM,OAAA,GAAU,QAAQ,MAAM;AAC5B,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,OAAO,QAAA;AAAA,IACT;AAEA,IAAA,IAAI,CAAC,QAAQ,MAAA,EAAQ;AACnB,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,MAAM,YAAA,GAAe;AAAA,MACnB,GAAG,IAAI,GAAA,CAAI,MAAA,CAAO,IAAI,CAAC,KAAA,KAAU,CAAC,KAAA,EAAO,OAAA,EAAS,KAAK,CAAC,CAAC,EAAE,MAAA;AAAO,KACpE;AAEA,IAAA,IAAI,YAAA,CAAa,UAAU,CAAA,EAAG;AAC5B,MAAA,OAAO,YAAA,CAAa,CAAC,CAAA,EAAG,OAAA;AAAA,IAC1B;AAEA,IAAA,uBACE,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,oCAAA,EACX,QAAA,EAAA,YAAA,CAAa,GAAA;AAAA,MACZ,CAAC,UACC,KAAA,EAAO,OAAA,wBAAY,IAAA,EAAA,EAAwB,QAAA,EAAA,KAAA,CAAM,OAAA,EAAA,EAAtB,KAAA,CAAM,OAAwB;AAAA,KAC7D,EACF,CAAA;AAAA,EAEJ,CAAA,EAAG,CAAC,QAAA,EAAU,MAAM,CAAC,CAAA;AAErB,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,kBAAA,EAAmB,EAAG,SAAS,CAAA;AAAA,MAC7C,WAAA,EAAU,aAAA;AAAA,MACV,IAAI,EAAA,IAAM,WAAA;AAAA,MACV,IAAA,EAAK,OAAA;AAAA,MACJ,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ","file":"chunk-G7PBPX3K.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * FieldSet variant styles using CVA\n */\nexport const fieldSetVariants = cva([\n \"flex flex-col gap-6\",\n \"has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3\",\n])\n\n/**\n * FieldLegend variant styles using CVA\n */\nexport const fieldLegendVariants = cva(\"mb-3 font-medium\", {\n variants: {\n variant: {\n legend: \"text-base\",\n label: \"text-sm\",\n },\n },\n defaultVariants: {\n variant: \"legend\",\n },\n})\n\n/**\n * FieldGroup variant styles using CVA\n */\nexport const fieldGroupVariants = cva([\n \"group/field-group @container/field-group flex w-full flex-col gap-7\",\n \"data-[slot=checkbox-group]:gap-3\",\n \"[&>[data-slot=field-group]]:gap-4\",\n])\n\n/**\n * Field container variant styles using CVA\n */\nexport const fieldVariants = cva(\n \"group/field flex w-full gap-3 data-[invalid=true]:text-destructive\",\n {\n variants: {\n orientation: {\n vertical: [\"flex-col [&>*]:w-full [&>.sr-only]:w-auto\"],\n horizontal: [\n \"flex-row items-center\",\n \"[&>[data-slot=field-label]]:flex-auto\",\n \"has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n ],\n responsive: [\n \"flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto\",\n \"@md/field-group:[&>[data-slot=field-label]]:flex-auto\",\n \"@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n ],\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n }\n)\n\n/**\n * FieldContent variant styles using CVA\n */\nexport const fieldContentVariants = cva([\n \"group/field-content flex flex-1 flex-col gap-1.5 leading-snug\",\n])\n\n/**\n * FieldLabel variant styles using CVA\n */\nexport const fieldLabelVariants = cva([\n \"group/field-label peer/field-label flex w-fit gap-2 leading-snug\",\n \"group-data-[disabled=true]/field:opacity-50\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border\",\n \"[&>*]:data-[slot=field]:p-4\",\n \"has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary\",\n \"dark:has-data-[state=checked]:bg-primary/10\",\n])\n\n/**\n * FieldTitle variant styles using CVA\n */\nexport const fieldTitleVariants = cva([\n \"flex w-fit items-center gap-2 text-sm leading-snug font-medium\",\n \"group-data-[disabled=true]/field:opacity-50\",\n])\n\n/**\n * FieldDescription variant styles using CVA\n */\nexport const fieldDescriptionVariants = cva([\n \"text-[color:var(--form-helper-fg)] text-[length:var(--form-helper-size)] leading-normal font-normal\",\n \"group-has-[[data-orientation=horizontal]]/field:text-balance\",\n \"last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n])\n\n/**\n * FieldSeparator variant styles using CVA\n */\nexport const fieldSeparatorVariants = cva([\n \"relative -my-2 h-5 text-sm\",\n \"group-data-[variant=outline]/field-group:-mb-2\",\n])\n\n/**\n * FieldError variant styles using CVA\n */\nexport const fieldErrorVariants = cva(\n \"text-[color:var(--form-error-fg)] text-[length:var(--form-error-size)] font-[var(--form-error-weight)]\"\n)\n\n// Export variant prop types\nexport type FieldVariantProps = VariantProps<typeof fieldVariants>\nexport type FieldLegendVariantProps = VariantProps<typeof fieldLegendVariants>\n","import type {\n FieldContentProps,\n FieldDescriptionProps,\n FieldErrorProps,\n FieldGroupProps,\n FieldLabelProps,\n FieldLegendProps,\n FieldProps,\n FieldSeparatorProps,\n FieldSetProps,\n FieldTitleProps,\n} from \"./Field.types\"\n\nimport { useId, useMemo } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Divider } from \"../../primitives/Divider\"\nimport { Label } from \"../../primitives/Label\"\nimport {\n fieldContentVariants,\n fieldDescriptionVariants,\n fieldErrorVariants,\n fieldGroupVariants,\n fieldLabelVariants,\n fieldLegendVariants,\n fieldSeparatorVariants,\n fieldSetVariants,\n fieldTitleVariants,\n fieldVariants,\n} from \"./Field.variants\"\n\nfunction FieldSet({ className, ...props }: FieldSetProps) {\n return (\n <fieldset\n className={cn(fieldSetVariants(), className)}\n data-slot=\"field-set\"\n {...props}\n />\n )\n}\n\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: FieldLegendProps) {\n return (\n <legend\n className={cn(fieldLegendVariants({ variant }), className)}\n data-slot=\"field-legend\"\n data-variant={variant}\n {...props}\n />\n )\n}\n\nfunction FieldGroup({ className, ...props }: FieldGroupProps) {\n return (\n <div\n className={cn(fieldGroupVariants(), className)}\n data-slot=\"field-group\"\n {...props}\n />\n )\n}\n\nfunction Field({ className, orientation = \"vertical\", ...props }: FieldProps) {\n return (\n <div\n className={cn(fieldVariants({ orientation }), className)}\n data-orientation={orientation}\n data-slot=\"field\"\n role=\"group\"\n {...props}\n />\n )\n}\n\nfunction FieldContent({ className, ...props }: FieldContentProps) {\n return (\n <div\n className={cn(fieldContentVariants(), className)}\n data-slot=\"field-content\"\n {...props}\n />\n )\n}\n\nfunction FieldLabel({ className, ...props }: FieldLabelProps) {\n return (\n <Label\n className={cn(fieldLabelVariants(), className)}\n data-slot=\"field-label\"\n {...props}\n />\n )\n}\n\nfunction FieldTitle({ className, ...props }: FieldTitleProps) {\n return (\n <div\n className={cn(fieldTitleVariants(), className)}\n data-slot=\"field-label\"\n {...props}\n />\n )\n}\n\nfunction FieldDescription({ className, id, ...props }: FieldDescriptionProps) {\n const generatedId = useId()\n return (\n <p\n className={cn(fieldDescriptionVariants(), className)}\n data-slot=\"field-description\"\n id={id ?? generatedId}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({ children, className, ...props }: FieldSeparatorProps) {\n return (\n <div\n className={cn(fieldSeparatorVariants(), className)}\n data-content={!!children}\n data-slot=\"field-separator\"\n {...props}\n >\n <Divider className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"bg-background text-muted-foreground relative mx-auto block w-fit px-2\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({ className, children, errors, id, ...props }: FieldErrorProps) {\n const generatedId = useId()\n const content = useMemo(() => {\n if (children) {\n return children\n }\n\n if (!errors?.length) {\n return null\n }\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ]\n\n if (uniqueErrors.length == 1) {\n return uniqueErrors[0]?.message\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map(\n (error) =>\n error?.message && <li key={error.message}>{error.message}</li>\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) {\n return null\n }\n\n return (\n <div\n aria-live=\"polite\"\n className={cn(fieldErrorVariants(), className)}\n data-slot=\"field-error\"\n id={id ?? generatedId}\n role=\"alert\"\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldContent,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLabel,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldTitle,\n}\n"]}
1
+ {"version":3,"sources":["../src/components/forms/Field/Field.variants.ts","../src/components/forms/Field/Field.tsx"],"names":[],"mappings":"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","file":"chunk-LRE3LJMW.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * FieldSet variant styles using CVA\n */\nexport const fieldSetVariants = cva([\n \"flex flex-col gap-6\",\n \"has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3\",\n])\n\n/**\n * FieldLegend variant styles using CVA\n */\nexport const fieldLegendVariants = cva(\"mb-3 font-medium\", {\n variants: {\n variant: {\n legend: \"text-base\",\n label: \"text-sm\",\n },\n },\n defaultVariants: {\n variant: \"legend\",\n },\n})\n\n/**\n * FieldGroup variant styles using CVA\n */\nexport const fieldGroupVariants = cva([\n \"group/field-group @container/field-group flex w-full flex-col gap-7\",\n \"data-[slot=checkbox-group]:gap-3\",\n \"[&>[data-slot=field-group]]:gap-4\",\n])\n\n/**\n * Field container variant styles using CVA\n */\nexport const fieldVariants = cva(\n \"group/field flex w-full gap-3 data-[invalid=true]:text-destructive\",\n {\n variants: {\n orientation: {\n vertical: [\"flex-col [&>*]:w-full [&>.sr-only]:w-auto\"],\n horizontal: [\n \"flex-row items-center\",\n \"[&>[data-slot=field-label]]:flex-auto\",\n \"has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n ],\n responsive: [\n \"flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto\",\n \"@md/field-group:[&>[data-slot=field-label]]:flex-auto\",\n \"@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n ],\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n }\n)\n\n/**\n * FieldContent variant styles using CVA\n */\nexport const fieldContentVariants = cva([\n \"group/field-content flex flex-1 flex-col gap-1.5 leading-snug\",\n])\n\n/**\n * FieldLabel variant styles using CVA\n */\nexport const fieldLabelVariants = cva([\n \"group/field-label peer/field-label flex w-fit gap-2 leading-snug\",\n \"group-data-[disabled=true]/field:opacity-50\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border\",\n \"[&>*]:data-[slot=field]:p-4\",\n \"has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary\",\n \"dark:has-data-[state=checked]:bg-primary/10\",\n])\n\n/**\n * FieldTitle variant styles using CVA\n */\nexport const fieldTitleVariants = cva([\n \"flex w-fit items-center gap-2 text-sm leading-snug font-medium\",\n \"group-data-[disabled=true]/field:opacity-50\",\n])\n\n/**\n * FieldDescription variant styles using CVA\n */\nexport const fieldDescriptionVariants = cva([\n \"text-[color:var(--form-helper-fg)] text-[length:var(--form-helper-size)] leading-normal font-normal\",\n \"group-has-[[data-orientation=horizontal]]/field:text-balance\",\n \"last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n])\n\n/**\n * FieldSeparator variant styles using CVA\n */\nexport const fieldSeparatorVariants = cva([\n \"relative -my-2 h-5 text-sm\",\n \"group-data-[variant=outline]/field-group:-mb-2\",\n])\n\n/**\n * FieldError variant styles using CVA\n */\nexport const fieldErrorVariants = cva(\n \"text-[color:var(--form-error-fg)] text-[length:var(--form-error-size)] font-[var(--form-error-weight)]\"\n)\n\n// Export variant prop types\nexport type FieldVariantProps = VariantProps<typeof fieldVariants>\nexport type FieldLegendVariantProps = VariantProps<typeof fieldLegendVariants>\n","import type {\n FieldContentProps,\n FieldDescriptionProps,\n FieldErrorProps,\n FieldGroupProps,\n FieldLabelProps,\n FieldLegendProps,\n FieldProps,\n FieldSeparatorProps,\n FieldSetProps,\n FieldTitleProps,\n} from \"./Field.types\"\n\nimport { useId, useMemo } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Divider } from \"../../primitives/Divider\"\nimport { Label } from \"../../primitives/Label\"\nimport {\n fieldContentVariants,\n fieldDescriptionVariants,\n fieldErrorVariants,\n fieldGroupVariants,\n fieldLabelVariants,\n fieldLegendVariants,\n fieldSeparatorVariants,\n fieldSetVariants,\n fieldTitleVariants,\n fieldVariants,\n} from \"./Field.variants\"\n\nfunction FieldSet({ className, ...props }: FieldSetProps) {\n return (\n <fieldset\n className={cn(fieldSetVariants(), className)}\n data-slot=\"field-set\"\n {...props}\n />\n )\n}\n\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: FieldLegendProps) {\n return (\n <legend\n className={cn(fieldLegendVariants({ variant }), className)}\n data-slot=\"field-legend\"\n data-variant={variant}\n {...props}\n />\n )\n}\n\nfunction FieldGroup({ className, ...props }: FieldGroupProps) {\n return (\n <div\n className={cn(fieldGroupVariants(), className)}\n data-slot=\"field-group\"\n {...props}\n />\n )\n}\n\nfunction Field({ className, orientation = \"vertical\", ...props }: FieldProps) {\n return (\n <div\n className={cn(fieldVariants({ orientation }), className)}\n data-orientation={orientation}\n data-slot=\"field\"\n role=\"group\"\n {...props}\n />\n )\n}\n\nfunction FieldContent({ className, ...props }: FieldContentProps) {\n return (\n <div\n className={cn(fieldContentVariants(), className)}\n data-slot=\"field-content\"\n {...props}\n />\n )\n}\n\nfunction FieldLabel({ className, ...props }: FieldLabelProps) {\n return (\n <Label\n className={cn(fieldLabelVariants(), className)}\n data-slot=\"field-label\"\n {...props}\n />\n )\n}\n\nfunction FieldTitle({ className, ...props }: FieldTitleProps) {\n return (\n <div\n className={cn(fieldTitleVariants(), className)}\n data-slot=\"field-label\"\n {...props}\n />\n )\n}\n\nfunction FieldDescription({ className, id, ...props }: FieldDescriptionProps) {\n const generatedId = useId()\n return (\n <p\n className={cn(fieldDescriptionVariants(), className)}\n data-slot=\"field-description\"\n id={id ?? generatedId}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({ children, className, ...props }: FieldSeparatorProps) {\n return (\n <div\n className={cn(fieldSeparatorVariants(), className)}\n data-content={!!children}\n data-slot=\"field-separator\"\n {...props}\n >\n <Divider className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"bg-background text-muted-foreground relative mx-auto block w-fit px-2\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({ className, children, errors, id, ...props }: FieldErrorProps) {\n const generatedId = useId()\n const content = useMemo(() => {\n if (children) {\n return children\n }\n\n if (!errors?.length) {\n return null\n }\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ]\n\n if (uniqueErrors.length == 1) {\n return uniqueErrors[0]?.message\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map(\n (error) =>\n error?.message && <li key={error.message}>{error.message}</li>\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) {\n return null\n }\n\n return (\n <div\n aria-live=\"polite\"\n className={cn(fieldErrorVariants(), className)}\n data-slot=\"field-error\"\n id={id ?? generatedId}\n role=\"alert\"\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldContent,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLabel,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldTitle,\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { Checkbox } from './chunk-XETKCF73.js';
2
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { Checkbox } from './chunk-JXEIRIU4.js';
2
+ import { cn } from './chunk-RVAYDRMA.js';
3
3
  import { useId, useState, useCallback } from 'react';
4
4
  import { cva } from 'class-variance-authority';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -222,5 +222,5 @@ function CheckboxGroup({
222
222
  }
223
223
 
224
224
  export { CheckboxGroup, CheckboxGroupItem, checkboxGroupDescriptionVariants, checkboxGroupHeaderVariants, checkboxGroupItemWrapperVariants, checkboxGroupLabelVariants, checkboxGroupVariants };
225
- //# sourceMappingURL=chunk-LQVQ7SHG.js.map
226
- //# sourceMappingURL=chunk-LQVQ7SHG.js.map
225
+ //# sourceMappingURL=chunk-LSRKDZW4.js.map
226
+ //# sourceMappingURL=chunk-LSRKDZW4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/forms/CheckboxGroup/CheckboxGroup.variants.ts","../src/components/forms/CheckboxGroup/CheckboxGroup.tsx"],"names":[],"mappings":"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","file":"chunk-LQVQ7SHG.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\nexport const checkboxGroupVariants = cva(\"grid gap-3\", {\n variants: {\n orientation: {\n vertical: \"grid-flow-row\",\n horizontal: \"grid-flow-col auto-cols-max\",\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n})\n\nexport const checkboxGroupItemWrapperVariants = cva(\n \"flex gap-2\",\n {\n variants: {\n hasDescription: {\n true: \"items-start\",\n false: \"items-center\",\n },\n },\n defaultVariants: {\n hasDescription: false,\n },\n }\n)\n\nexport const checkboxGroupLabelVariants = cva(\n [\n \"font-medium leading-tight cursor-pointer select-none\",\n \"peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport const checkboxGroupDescriptionVariants = cva(\n \"text-muted-foreground\",\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-xs\",\n lg: \"text-sm\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport const checkboxGroupHeaderVariants = cva(\n \"font-medium text-foreground mb-2\",\n {\n variants: {\n size: {\n sm: \"text-sm\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport type CheckboxGroupVariantProps = VariantProps<typeof checkboxGroupVariants>\nexport type CheckboxGroupItemWrapperVariantProps = VariantProps<typeof checkboxGroupItemWrapperVariants>\nexport type CheckboxGroupLabelVariantProps = VariantProps<typeof checkboxGroupLabelVariants>\nexport type CheckboxGroupDescriptionVariantProps = VariantProps<typeof checkboxGroupDescriptionVariants>\nexport type CheckboxGroupHeaderVariantProps = VariantProps<typeof checkboxGroupHeaderVariants>\n","\"use client\"\n\nimport type {\n CheckboxGroupItemProps,\n CheckboxGroupProps,\n} from \"./CheckboxGroup.types\"\n\nimport * as React from \"react\"\nimport { useCallback, useId, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Checkbox } from \"../Checkbox\"\nimport {\n checkboxGroupDescriptionVariants,\n checkboxGroupHeaderVariants,\n checkboxGroupItemWrapperVariants,\n checkboxGroupLabelVariants,\n checkboxGroupVariants,\n} from \"./CheckboxGroup.variants\"\n\n/**\n * CheckboxGroupItem - Individual checkbox with optional label and description\n *\n * @example\n * ```tsx\n * <CheckboxGroupItem\n * value=\"option1\"\n * label=\"Option 1\"\n * description=\"Description for option 1\"\n * checked={selected.includes(\"option1\")}\n * onCheckedChange={(checked) => handleChange(\"option1\", checked)}\n * />\n * ```\n */\nfunction CheckboxGroupItem({\n className,\n size = \"md\",\n label,\n description,\n id,\n value,\n checked,\n onCheckedChange,\n disabled,\n name,\n}: CheckboxGroupItemProps) {\n const generatedId = useId()\n const itemId = id ?? generatedId\n const hasDescription = !!description\n\n const checkbox = (\n <Checkbox\n checked={checked}\n className=\"mt-0.5\"\n disabled={disabled}\n id={itemId}\n name={name}\n size={size}\n value={value}\n onCheckedChange={(state) => {\n if (typeof state === \"boolean\") {\n onCheckedChange?.(state)\n }\n }}\n />\n )\n\n if (!label) return checkbox\n\n return (\n <div\n className={cn(\n checkboxGroupItemWrapperVariants({ hasDescription }),\n className\n )}\n data-disabled={disabled ?? undefined}\n data-slot=\"checkbox-group-item\"\n >\n {checkbox}\n <div className=\"grid gap-0.5\">\n <label\n className={checkboxGroupLabelVariants({ size })}\n data-slot=\"checkbox-group-item-label\"\n htmlFor={itemId}\n >\n {label}\n </label>\n {description && (\n <p\n className={checkboxGroupDescriptionVariants({ size })}\n data-slot=\"checkbox-group-item-description\"\n >\n {description}\n </p>\n )}\n </div>\n </div>\n )\n}\n\n/**\n * CheckboxGroup - A group of related checkboxes with shared state management\n *\n * @example\n * ```tsx\n * // Uncontrolled\n * <CheckboxGroup\n * label=\"Select features\"\n * options={[\n * { value: \"feature1\", label: \"Feature 1\" },\n * { value: \"feature2\", label: \"Feature 2\" },\n * { value: \"feature3\", label: \"Feature 3\", disabled: true },\n * ]}\n * defaultValue={[\"feature1\"]}\n * />\n *\n * // Controlled\n * const [selected, setSelected] = useState([\"feature1\"])\n * <CheckboxGroup\n * label=\"Select features\"\n * options={[\n * { value: \"feature1\", label: \"Feature 1\" },\n * { value: \"feature2\", label: \"Feature 2\" },\n * ]}\n * value={selected}\n * onChange={setSelected}\n * />\n * ```\n */\nfunction CheckboxGroup({\n className,\n label,\n options,\n value: controlledValue,\n defaultValue = [],\n onChange,\n orientation = \"vertical\",\n size = \"md\",\n disabled,\n name,\n required,\n}: CheckboxGroupProps) {\n const groupId = useId()\n\n // Internal state for uncontrolled mode\n const [internalValue, setInternalValue] = useState<string[]>(defaultValue)\n\n // Determine if controlled\n const isControlled = controlledValue !== undefined\n const selectedValues = isControlled ? controlledValue : internalValue\n\n const handleCheckedChange = useCallback(\n (optionValue: string, checked: boolean) => {\n const newValues = checked\n ? [...selectedValues, optionValue]\n : selectedValues.filter((v) => v !== optionValue)\n\n if (!isControlled) {\n setInternalValue(newValues)\n }\n\n onChange?.(newValues)\n },\n [selectedValues, isControlled, onChange]\n )\n\n return (\n <div\n aria-labelledby={label ? `${groupId}-label` : undefined}\n aria-required={required}\n className={cn(\"flex flex-col\", className)}\n data-orientation={orientation}\n data-slot=\"checkbox-group\"\n role=\"group\"\n >\n {label && (\n <span\n className={checkboxGroupHeaderVariants({ size })}\n data-slot=\"checkbox-group-label\"\n id={`${groupId}-label`}\n >\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive ml-1\">\n *\n </span>\n )}\n </span>\n )}\n <div\n className={checkboxGroupVariants({ orientation })}\n data-slot=\"checkbox-group-items\"\n >\n {options.map((option) => (\n <CheckboxGroupItem\n key={option.value}\n checked={selectedValues.includes(option.value)}\n description={option.description}\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- Intentional: checking truthiness\n disabled={disabled || option.disabled}\n label={option.label}\n name={name}\n size={size}\n value={option.value}\n onCheckedChange={(checked) => {\n handleCheckedChange(option.value, checked)\n }}\n />\n ))}\n </div>\n </div>\n )\n}\n\nexport { CheckboxGroup, CheckboxGroupItem }\n"]}
1
+ {"version":3,"sources":["../src/components/forms/CheckboxGroup/CheckboxGroup.variants.ts","../src/components/forms/CheckboxGroup/CheckboxGroup.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,qBAAA,GAAwB,IAAI,YAAA,EAAc;AAAA,EACrD,QAAA,EAAU;AAAA,IACR,WAAA,EAAa;AAAA,MACX,QAAA,EAAU,eAAA;AAAA,MACV,UAAA,EAAY;AAAA;AACd,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAC;AAEM,IAAM,gCAAA,GAAmC,GAAA;AAAA,EAC9C,YAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,cAAA,EAAgB;AAAA,QACd,IAAA,EAAM,aAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,cAAA,EAAgB;AAAA;AAClB;AAEJ;AAEO,IAAM,0BAAA,GAA6B,GAAA;AAAA,EACxC;AAAA,IACE,sDAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AAEO,IAAM,gCAAA,GAAmC,GAAA;AAAA,EAC9C,uBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AAEO,IAAM,2BAAA,GAA8B,GAAA;AAAA,EACzC,kCAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AC5CA,SAAS,iBAAA,CAAkB;AAAA,EACzB,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,KAAA;AAAA,EACA,WAAA;AAAA,EACA,EAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,eAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAA2B;AACzB,EAAA,MAAM,cAAc,KAAA,EAAM;AAC1B,EAAA,MAAM,SAAS,EAAA,IAAM,WAAA;AACrB,EAAA,MAAM,cAAA,GAAiB,CAAC,CAAC,WAAA;AAEzB,EAAA,MAAM,QAAA,mBACJ,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,OAAA;AAAA,MACA,SAAA,EAAU,QAAA;AAAA,MACV,QAAA;AAAA,MACA,EAAA,EAAI,MAAA;AAAA,MACJ,IAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACA,eAAA,EAAiB,CAAC,KAAA,KAAU;AAC1B,QAAA,IAAI,OAAO,UAAU,SAAA,EAAW;AAC9B,UAAA,eAAA,GAAkB,KAAK,CAAA;AAAA,QACzB;AAAA,MACF;AAAA;AAAA,GACF;AAGF,EAAA,IAAI,CAAC,OAAO,OAAO,QAAA;AAEnB,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,gCAAA,CAAiC,EAAE,cAAA,EAAgB,CAAA;AAAA,QACnD;AAAA,OACF;AAAA,MACA,iBAAe,QAAA,IAAY,MAAA;AAAA,MAC3B,WAAA,EAAU,qBAAA;AAAA,MAET,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,cAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,OAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,0BAAA,CAA2B,EAAE,IAAA,EAAM,CAAA;AAAA,cAC9C,WAAA,EAAU,2BAAA;AAAA,cACV,OAAA,EAAS,MAAA;AAAA,cAER,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,UACC,WAAA,oBACC,GAAA;AAAA,YAAC,GAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,gCAAA,CAAiC,EAAE,IAAA,EAAM,CAAA;AAAA,cACpD,WAAA,EAAU,iCAAA;AAAA,cAET,QAAA,EAAA;AAAA;AAAA;AACH,SAAA,EAEJ;AAAA;AAAA;AAAA,GACF;AAEJ;AA+BA,SAAS,aAAA,CAAc;AAAA,EACrB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA,EAAO,eAAA;AAAA,EACP,eAAe,EAAC;AAAA,EAChB,QAAA;AAAA,EACA,WAAA,GAAc,UAAA;AAAA,EACd,IAAA,GAAO,IAAA;AAAA,EACP,QAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAAuB;AACrB,EAAA,MAAM,UAAU,KAAA,EAAM;AAGtB,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,SAAmB,YAAY,CAAA;AAGzE,EAAA,MAAM,eAAe,eAAA,KAAoB,MAAA;AACzC,EAAA,MAAM,cAAA,GAAiB,eAAe,eAAA,GAAkB,aAAA;AAExD,EAAA,MAAM,mBAAA,GAAsB,WAAA;AAAA,IAC1B,CAAC,aAAqB,OAAA,KAAqB;AACzC,MAAA,MAAM,SAAA,GAAY,OAAA,GACd,CAAC,GAAG,cAAA,EAAgB,WAAW,CAAA,GAC/B,cAAA,CAAe,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,KAAM,WAAW,CAAA;AAElD,MAAA,IAAI,CAAC,YAAA,EAAc;AACjB,QAAA,gBAAA,CAAiB,SAAS,CAAA;AAAA,MAC5B;AAEA,MAAA,QAAA,GAAW,SAAS,CAAA;AAAA,IACtB,CAAA;AAAA,IACA,CAAC,cAAA,EAAgB,YAAA,EAAc,QAAQ;AAAA,GACzC;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,iBAAA,EAAiB,KAAA,GAAQ,CAAA,EAAG,OAAO,CAAA,MAAA,CAAA,GAAW,MAAA;AAAA,MAC9C,eAAA,EAAe,QAAA;AAAA,MACf,SAAA,EAAW,EAAA,CAAG,eAAA,EAAiB,SAAS,CAAA;AAAA,MACxC,kBAAA,EAAkB,WAAA;AAAA,MAClB,WAAA,EAAU,gBAAA;AAAA,MACV,IAAA,EAAK,OAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,QAAA,KAAA,oBACC,IAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,2BAAA,CAA4B,EAAE,IAAA,EAAM,CAAA;AAAA,YAC/C,WAAA,EAAU,sBAAA;AAAA,YACV,EAAA,EAAI,GAAG,OAAO,CAAA,MAAA,CAAA;AAAA,YAEb,QAAA,EAAA;AAAA,cAAA,KAAA;AAAA,cACA,4BACC,GAAA,CAAC,MAAA,EAAA,EAAK,eAAY,MAAA,EAAO,SAAA,EAAU,yBAAwB,QAAA,EAAA,GAAA,EAE3D;AAAA;AAAA;AAAA,SAEJ;AAAA,wBAEF,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,qBAAA,CAAsB,EAAE,WAAA,EAAa,CAAA;AAAA,YAChD,WAAA,EAAU,sBAAA;AAAA,YAET,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,qBACZ,GAAA;AAAA,cAAC,iBAAA;AAAA,cAAA;AAAA,gBAEC,OAAA,EAAS,cAAA,CAAe,QAAA,CAAS,MAAA,CAAO,KAAK,CAAA;AAAA,gBAC7C,aAAa,MAAA,CAAO,WAAA;AAAA,gBAEpB,QAAA,EAAU,YAAY,MAAA,CAAO,QAAA;AAAA,gBAC7B,OAAO,MAAA,CAAO,KAAA;AAAA,gBACd,IAAA;AAAA,gBACA,IAAA;AAAA,gBACA,OAAO,MAAA,CAAO,KAAA;AAAA,gBACd,eAAA,EAAiB,CAAC,OAAA,KAAY;AAC5B,kBAAA,mBAAA,CAAoB,MAAA,CAAO,OAAO,OAAO,CAAA;AAAA,gBAC3C;AAAA,eAAA;AAAA,cAXK,MAAA,CAAO;AAAA,aAaf;AAAA;AAAA;AACH;AAAA;AAAA,GACF;AAEJ","file":"chunk-LSRKDZW4.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\nexport const checkboxGroupVariants = cva(\"grid gap-3\", {\n variants: {\n orientation: {\n vertical: \"grid-flow-row\",\n horizontal: \"grid-flow-col auto-cols-max\",\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n})\n\nexport const checkboxGroupItemWrapperVariants = cva(\n \"flex gap-2\",\n {\n variants: {\n hasDescription: {\n true: \"items-start\",\n false: \"items-center\",\n },\n },\n defaultVariants: {\n hasDescription: false,\n },\n }\n)\n\nexport const checkboxGroupLabelVariants = cva(\n [\n \"font-medium leading-tight cursor-pointer select-none\",\n \"peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport const checkboxGroupDescriptionVariants = cva(\n \"text-muted-foreground\",\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-xs\",\n lg: \"text-sm\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport const checkboxGroupHeaderVariants = cva(\n \"font-medium text-foreground mb-2\",\n {\n variants: {\n size: {\n sm: \"text-sm\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport type CheckboxGroupVariantProps = VariantProps<typeof checkboxGroupVariants>\nexport type CheckboxGroupItemWrapperVariantProps = VariantProps<typeof checkboxGroupItemWrapperVariants>\nexport type CheckboxGroupLabelVariantProps = VariantProps<typeof checkboxGroupLabelVariants>\nexport type CheckboxGroupDescriptionVariantProps = VariantProps<typeof checkboxGroupDescriptionVariants>\nexport type CheckboxGroupHeaderVariantProps = VariantProps<typeof checkboxGroupHeaderVariants>\n","\"use client\"\n\nimport type {\n CheckboxGroupItemProps,\n CheckboxGroupProps,\n} from \"./CheckboxGroup.types\"\n\nimport * as React from \"react\"\nimport { useCallback, useId, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Checkbox } from \"../Checkbox\"\nimport {\n checkboxGroupDescriptionVariants,\n checkboxGroupHeaderVariants,\n checkboxGroupItemWrapperVariants,\n checkboxGroupLabelVariants,\n checkboxGroupVariants,\n} from \"./CheckboxGroup.variants\"\n\n/**\n * CheckboxGroupItem - Individual checkbox with optional label and description\n *\n * @example\n * ```tsx\n * <CheckboxGroupItem\n * value=\"option1\"\n * label=\"Option 1\"\n * description=\"Description for option 1\"\n * checked={selected.includes(\"option1\")}\n * onCheckedChange={(checked) => handleChange(\"option1\", checked)}\n * />\n * ```\n */\nfunction CheckboxGroupItem({\n className,\n size = \"md\",\n label,\n description,\n id,\n value,\n checked,\n onCheckedChange,\n disabled,\n name,\n}: CheckboxGroupItemProps) {\n const generatedId = useId()\n const itemId = id ?? generatedId\n const hasDescription = !!description\n\n const checkbox = (\n <Checkbox\n checked={checked}\n className=\"mt-0.5\"\n disabled={disabled}\n id={itemId}\n name={name}\n size={size}\n value={value}\n onCheckedChange={(state) => {\n if (typeof state === \"boolean\") {\n onCheckedChange?.(state)\n }\n }}\n />\n )\n\n if (!label) return checkbox\n\n return (\n <div\n className={cn(\n checkboxGroupItemWrapperVariants({ hasDescription }),\n className\n )}\n data-disabled={disabled ?? undefined}\n data-slot=\"checkbox-group-item\"\n >\n {checkbox}\n <div className=\"grid gap-0.5\">\n <label\n className={checkboxGroupLabelVariants({ size })}\n data-slot=\"checkbox-group-item-label\"\n htmlFor={itemId}\n >\n {label}\n </label>\n {description && (\n <p\n className={checkboxGroupDescriptionVariants({ size })}\n data-slot=\"checkbox-group-item-description\"\n >\n {description}\n </p>\n )}\n </div>\n </div>\n )\n}\n\n/**\n * CheckboxGroup - A group of related checkboxes with shared state management\n *\n * @example\n * ```tsx\n * // Uncontrolled\n * <CheckboxGroup\n * label=\"Select features\"\n * options={[\n * { value: \"feature1\", label: \"Feature 1\" },\n * { value: \"feature2\", label: \"Feature 2\" },\n * { value: \"feature3\", label: \"Feature 3\", disabled: true },\n * ]}\n * defaultValue={[\"feature1\"]}\n * />\n *\n * // Controlled\n * const [selected, setSelected] = useState([\"feature1\"])\n * <CheckboxGroup\n * label=\"Select features\"\n * options={[\n * { value: \"feature1\", label: \"Feature 1\" },\n * { value: \"feature2\", label: \"Feature 2\" },\n * ]}\n * value={selected}\n * onChange={setSelected}\n * />\n * ```\n */\nfunction CheckboxGroup({\n className,\n label,\n options,\n value: controlledValue,\n defaultValue = [],\n onChange,\n orientation = \"vertical\",\n size = \"md\",\n disabled,\n name,\n required,\n}: CheckboxGroupProps) {\n const groupId = useId()\n\n // Internal state for uncontrolled mode\n const [internalValue, setInternalValue] = useState<string[]>(defaultValue)\n\n // Determine if controlled\n const isControlled = controlledValue !== undefined\n const selectedValues = isControlled ? controlledValue : internalValue\n\n const handleCheckedChange = useCallback(\n (optionValue: string, checked: boolean) => {\n const newValues = checked\n ? [...selectedValues, optionValue]\n : selectedValues.filter((v) => v !== optionValue)\n\n if (!isControlled) {\n setInternalValue(newValues)\n }\n\n onChange?.(newValues)\n },\n [selectedValues, isControlled, onChange]\n )\n\n return (\n <div\n aria-labelledby={label ? `${groupId}-label` : undefined}\n aria-required={required}\n className={cn(\"flex flex-col\", className)}\n data-orientation={orientation}\n data-slot=\"checkbox-group\"\n role=\"group\"\n >\n {label && (\n <span\n className={checkboxGroupHeaderVariants({ size })}\n data-slot=\"checkbox-group-label\"\n id={`${groupId}-label`}\n >\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive ml-1\">\n *\n </span>\n )}\n </span>\n )}\n <div\n className={checkboxGroupVariants({ orientation })}\n data-slot=\"checkbox-group-items\"\n >\n {options.map((option) => (\n <CheckboxGroupItem\n key={option.value}\n checked={selectedValues.includes(option.value)}\n description={option.description}\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- Intentional: checking truthiness\n disabled={disabled || option.disabled}\n label={option.label}\n name={name}\n size={size}\n value={option.value}\n onCheckedChange={(checked) => {\n handleCheckedChange(option.value, checked)\n }}\n />\n ))}\n </div>\n </div>\n )\n}\n\nexport { CheckboxGroup, CheckboxGroupItem }\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HRNDJU7D.js';
1
+ import { cn } from './chunk-RVAYDRMA.js';
2
2
  import * as ToolbarPrimitive from '@radix-ui/react-toolbar';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -61,7 +61,7 @@ var toolbarToggleItemVariants = cva([
61
61
  "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
62
62
  ]);
63
63
  var toolbarSeparatorVariants = cva([
64
- "mx-2 h-6 w-px self-center bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=horizontal]:mx-0 data-[orientation=horizontal]:my-2"
64
+ "mx-[var(--toolbar-separator-margin-x)] h-6 w-[var(--toolbar-separator-width)] self-center bg-[color:var(--toolbar-separator-color)] data-[orientation=horizontal]:h-[var(--toolbar-separator-width)] data-[orientation=horizontal]:w-full data-[orientation=horizontal]:mx-0 data-[orientation=horizontal]:my-2"
65
65
  ]);
66
66
  var toolbarLinkVariants = cva([
67
67
  // Base styles
@@ -149,5 +149,5 @@ function ToolbarLink({ className, ...props }) {
149
149
  }
150
150
 
151
151
  export { Toolbar, ToolbarButton, ToolbarGroup, ToolbarLink, ToolbarSeparator, ToolbarToggleGroup, ToolbarToggleItem, toolbarButtonVariants, toolbarGroupVariants, toolbarLinkVariants, toolbarSeparatorVariants, toolbarToggleGroupVariants, toolbarToggleItemVariants, toolbarVariants };
152
- //# sourceMappingURL=chunk-H5N3VPBG.js.map
153
- //# sourceMappingURL=chunk-H5N3VPBG.js.map
152
+ //# sourceMappingURL=chunk-MGIGDALC.js.map
153
+ //# sourceMappingURL=chunk-MGIGDALC.js.map