@elabs-ai/components-ui 4.2.0 → 5.0.0

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 (1422) hide show
  1. package/README.md +2 -1
  2. package/dist/chunk-22Z735L6.js +18 -0
  3. package/dist/chunk-22Z735L6.js.map +1 -0
  4. package/dist/chunk-23E62DNM.js +2 -0
  5. package/dist/chunk-23E62DNM.js.map +1 -0
  6. package/dist/chunk-2AABRSIN.js +2 -0
  7. package/dist/chunk-2AABRSIN.js.map +1 -0
  8. package/dist/chunk-2HXVFC4B.js +44 -0
  9. package/dist/chunk-2HXVFC4B.js.map +1 -0
  10. package/dist/chunk-2SBYBN45.js +2 -0
  11. package/dist/chunk-2SBYBN45.js.map +1 -0
  12. package/dist/chunk-333EWYWL.js +385 -0
  13. package/dist/chunk-333EWYWL.js.map +1 -0
  14. package/dist/chunk-35DUHYPC.js +59 -0
  15. package/dist/chunk-35DUHYPC.js.map +1 -0
  16. package/dist/chunk-35ZTVB35.js +76 -0
  17. package/dist/chunk-35ZTVB35.js.map +1 -0
  18. package/dist/chunk-36VULFFV.js +2 -0
  19. package/dist/chunk-36VULFFV.js.map +1 -0
  20. package/dist/chunk-3B7W334A.js +229 -0
  21. package/dist/chunk-3B7W334A.js.map +1 -0
  22. package/dist/chunk-3EKVSKGJ.js +256 -0
  23. package/dist/chunk-3EKVSKGJ.js.map +1 -0
  24. package/dist/chunk-3JAEQNCB.js +60 -0
  25. package/dist/chunk-3JAEQNCB.js.map +1 -0
  26. package/dist/chunk-3LWAAK3J.js +140 -0
  27. package/dist/chunk-3LWAAK3J.js.map +1 -0
  28. package/dist/chunk-3OSGTUN2.js +2 -0
  29. package/dist/chunk-3OSGTUN2.js.map +1 -0
  30. package/dist/chunk-3P7SRCDB.js +23 -0
  31. package/dist/chunk-3P7SRCDB.js.map +1 -0
  32. package/dist/chunk-45ICJ3EV.js +2 -0
  33. package/dist/chunk-45ICJ3EV.js.map +1 -0
  34. package/dist/chunk-4ACT7RLU.js +2 -0
  35. package/dist/chunk-4ACT7RLU.js.map +1 -0
  36. package/dist/chunk-4E73UAFA.js +296 -0
  37. package/dist/chunk-4E73UAFA.js.map +1 -0
  38. package/dist/chunk-4GQFIJAE.js +197 -0
  39. package/dist/chunk-4GQFIJAE.js.map +1 -0
  40. package/dist/chunk-4HTVJZVG.js +2 -0
  41. package/dist/chunk-4HTVJZVG.js.map +1 -0
  42. package/dist/chunk-4KDA5MDC.js +2 -0
  43. package/dist/chunk-4KDA5MDC.js.map +1 -0
  44. package/dist/chunk-4PITSMJ3.js +52 -0
  45. package/dist/chunk-4PITSMJ3.js.map +1 -0
  46. package/dist/chunk-4PXDZR2W.js +2 -0
  47. package/dist/chunk-4PXDZR2W.js.map +1 -0
  48. package/dist/chunk-4UWOADYM.js +2 -0
  49. package/dist/chunk-4UWOADYM.js.map +1 -0
  50. package/dist/chunk-4W3MVVKN.js +66 -0
  51. package/dist/chunk-4W3MVVKN.js.map +1 -0
  52. package/dist/chunk-4YOFSGHD.js +2 -0
  53. package/dist/chunk-4YOFSGHD.js.map +1 -0
  54. package/dist/chunk-533R5EKD.js +87 -0
  55. package/dist/chunk-533R5EKD.js.map +1 -0
  56. package/dist/chunk-545HI223.js +2 -0
  57. package/dist/chunk-545HI223.js.map +1 -0
  58. package/dist/chunk-57C25JYV.js +170 -0
  59. package/dist/chunk-57C25JYV.js.map +1 -0
  60. package/dist/chunk-5AWXGBSH.js +82 -0
  61. package/dist/chunk-5AWXGBSH.js.map +1 -0
  62. package/dist/chunk-5G2DDMHR.js +2 -0
  63. package/dist/chunk-5G2DDMHR.js.map +1 -0
  64. package/dist/chunk-5HBMI2DO.js +42 -0
  65. package/dist/chunk-5HBMI2DO.js.map +1 -0
  66. package/dist/chunk-5LCN5Q2L.js +23 -0
  67. package/dist/chunk-5LCN5Q2L.js.map +1 -0
  68. package/dist/chunk-5P4BSHIG.js +2 -0
  69. package/dist/chunk-5P4BSHIG.js.map +1 -0
  70. package/dist/chunk-5RC32MZH.js +161 -0
  71. package/dist/chunk-5RC32MZH.js.map +1 -0
  72. package/dist/chunk-5SHHIQVA.js +22 -0
  73. package/dist/chunk-5SHHIQVA.js.map +1 -0
  74. package/dist/chunk-5V5J7APL.js +27 -0
  75. package/dist/chunk-5V5J7APL.js.map +1 -0
  76. package/dist/chunk-5YZLOAKR.js +2 -0
  77. package/dist/chunk-5YZLOAKR.js.map +1 -0
  78. package/dist/chunk-5Z55AFOW.js +128 -0
  79. package/dist/chunk-5Z55AFOW.js.map +1 -0
  80. package/dist/chunk-653ZIWX6.js +2 -0
  81. package/dist/chunk-653ZIWX6.js.map +1 -0
  82. package/dist/chunk-6DHG7JVP.js +2 -0
  83. package/dist/chunk-6DHG7JVP.js.map +1 -0
  84. package/dist/chunk-6HGS5Z2Z.js +110 -0
  85. package/dist/chunk-6HGS5Z2Z.js.map +1 -0
  86. package/dist/chunk-6NKILKS6.js +35 -0
  87. package/dist/chunk-6NKILKS6.js.map +1 -0
  88. package/dist/chunk-6OFWWIEG.js +50 -0
  89. package/dist/chunk-6OFWWIEG.js.map +1 -0
  90. package/dist/chunk-6OPDRLMU.js +158 -0
  91. package/dist/chunk-6OPDRLMU.js.map +1 -0
  92. package/dist/chunk-6QU7OVFA.js +357 -0
  93. package/dist/chunk-6QU7OVFA.js.map +1 -0
  94. package/dist/chunk-6ROQKB4U.js +2 -0
  95. package/dist/chunk-6ROQKB4U.js.map +1 -0
  96. package/dist/chunk-6S43VAN7.js +2 -0
  97. package/dist/chunk-6S43VAN7.js.map +1 -0
  98. package/dist/chunk-6TJVJPNU.js +1321 -0
  99. package/dist/chunk-6TJVJPNU.js.map +1 -0
  100. package/dist/chunk-6VLJL7Q4.js +2 -0
  101. package/dist/chunk-6VLJL7Q4.js.map +1 -0
  102. package/dist/chunk-7G63B2B7.js +189 -0
  103. package/dist/chunk-7G63B2B7.js.map +1 -0
  104. package/dist/chunk-7P24I5OL.js +23 -0
  105. package/dist/chunk-7P24I5OL.js.map +1 -0
  106. package/dist/chunk-7PS5MKVH.js +97 -0
  107. package/dist/chunk-7PS5MKVH.js.map +1 -0
  108. package/dist/chunk-7WIHVGYL.js +2 -0
  109. package/dist/chunk-7WIHVGYL.js.map +1 -0
  110. package/dist/chunk-7WXDSTNR.js +62 -0
  111. package/dist/chunk-7WXDSTNR.js.map +1 -0
  112. package/dist/chunk-A43B4IT7.js +395 -0
  113. package/dist/chunk-A43B4IT7.js.map +1 -0
  114. package/dist/chunk-A47AZPCL.js +35 -0
  115. package/dist/chunk-A47AZPCL.js.map +1 -0
  116. package/dist/chunk-AA3SPDJU.js +2 -0
  117. package/dist/chunk-AA3SPDJU.js.map +1 -0
  118. package/dist/chunk-AC7X3D2M.js +2 -0
  119. package/dist/chunk-AC7X3D2M.js.map +1 -0
  120. package/dist/chunk-AE6UDP36.js +2 -0
  121. package/dist/chunk-AE6UDP36.js.map +1 -0
  122. package/dist/chunk-AFEFAGPW.js +2 -0
  123. package/dist/chunk-AFEFAGPW.js.map +1 -0
  124. package/dist/chunk-AFJCS2WV.js +95 -0
  125. package/dist/chunk-AFJCS2WV.js.map +1 -0
  126. package/dist/chunk-AQNLEP5F.js +2 -0
  127. package/dist/chunk-AQNLEP5F.js.map +1 -0
  128. package/dist/chunk-AUQVJ7KO.js +2 -0
  129. package/dist/chunk-AUQVJ7KO.js.map +1 -0
  130. package/dist/chunk-AXKZBRZK.js +32 -0
  131. package/dist/chunk-AXKZBRZK.js.map +1 -0
  132. package/dist/chunk-AZEABCK4.js +30 -0
  133. package/dist/chunk-AZEABCK4.js.map +1 -0
  134. package/dist/chunk-B23VW24W.js +2 -0
  135. package/dist/chunk-B23VW24W.js.map +1 -0
  136. package/dist/chunk-B2RSOLLO.js +2 -0
  137. package/dist/chunk-B2RSOLLO.js.map +1 -0
  138. package/dist/chunk-B5QQLMEE.js +31 -0
  139. package/dist/chunk-B5QQLMEE.js.map +1 -0
  140. package/dist/chunk-BLNXHETI.js +163 -0
  141. package/dist/chunk-BLNXHETI.js.map +1 -0
  142. package/dist/chunk-BM6NGS3A.js +201 -0
  143. package/dist/chunk-BM6NGS3A.js.map +1 -0
  144. package/dist/chunk-BN4CKDFU.js +989 -0
  145. package/dist/chunk-BN4CKDFU.js.map +1 -0
  146. package/dist/chunk-BPXLHGWI.js +54 -0
  147. package/dist/chunk-BPXLHGWI.js.map +1 -0
  148. package/dist/chunk-BTBYNKT4.js +2 -0
  149. package/dist/chunk-BTBYNKT4.js.map +1 -0
  150. package/dist/chunk-BWL7HWEF.js +325 -0
  151. package/dist/chunk-BWL7HWEF.js.map +1 -0
  152. package/dist/chunk-BZQF5QCN.js +18 -0
  153. package/dist/chunk-BZQF5QCN.js.map +1 -0
  154. package/dist/chunk-C2AQEEFB.js +2 -0
  155. package/dist/chunk-C2AQEEFB.js.map +1 -0
  156. package/dist/chunk-C753P3VJ.js +2 -0
  157. package/dist/chunk-C753P3VJ.js.map +1 -0
  158. package/dist/chunk-CDE74W6O.js +2 -0
  159. package/dist/chunk-CDE74W6O.js.map +1 -0
  160. package/dist/chunk-CEQER4CV.js +2 -0
  161. package/dist/chunk-CEQER4CV.js.map +1 -0
  162. package/dist/chunk-CQ5CH3SB.js +55 -0
  163. package/dist/chunk-CQ5CH3SB.js.map +1 -0
  164. package/dist/chunk-CRGGGHAM.js +2 -0
  165. package/dist/chunk-CRGGGHAM.js.map +1 -0
  166. package/dist/chunk-CRVB4SLG.js +2 -0
  167. package/dist/chunk-CRVB4SLG.js.map +1 -0
  168. package/dist/chunk-CT6XJIPY.js +2 -0
  169. package/dist/chunk-CT6XJIPY.js.map +1 -0
  170. package/dist/chunk-CY624JOL.js +2 -0
  171. package/dist/chunk-CY624JOL.js.map +1 -0
  172. package/dist/chunk-D3C3VVCX.js +38 -0
  173. package/dist/chunk-D3C3VVCX.js.map +1 -0
  174. package/dist/chunk-D53EN4Q6.js +2 -0
  175. package/dist/chunk-D53EN4Q6.js.map +1 -0
  176. package/dist/chunk-DCHYNTHI.js +11 -0
  177. package/dist/chunk-DCHYNTHI.js.map +1 -0
  178. package/dist/chunk-DCI6IOJX.js +236 -0
  179. package/dist/chunk-DCI6IOJX.js.map +1 -0
  180. package/dist/chunk-DFYPQ52O.js +476 -0
  181. package/dist/chunk-DFYPQ52O.js.map +1 -0
  182. package/dist/chunk-DIQJODQR.js +2 -0
  183. package/dist/chunk-DIQJODQR.js.map +1 -0
  184. package/dist/chunk-DSGTH6JW.js +2 -0
  185. package/dist/chunk-DSGTH6JW.js.map +1 -0
  186. package/dist/chunk-DT6RNLCP.js +32 -0
  187. package/dist/chunk-DT6RNLCP.js.map +1 -0
  188. package/dist/chunk-DU6ITAJL.js +2 -0
  189. package/dist/chunk-DU6ITAJL.js.map +1 -0
  190. package/dist/chunk-DUF2VZON.js +36 -0
  191. package/dist/chunk-DUF2VZON.js.map +1 -0
  192. package/dist/chunk-DXDLTYTT.js +2 -0
  193. package/dist/chunk-DXDLTYTT.js.map +1 -0
  194. package/dist/chunk-E3ES2KR6.js +55 -0
  195. package/dist/chunk-E3ES2KR6.js.map +1 -0
  196. package/dist/chunk-EAFPUZ46.js +2 -0
  197. package/dist/chunk-EAFPUZ46.js.map +1 -0
  198. package/dist/chunk-EBDOKU5K.js +2 -0
  199. package/dist/chunk-EBDOKU5K.js.map +1 -0
  200. package/dist/chunk-ECCNRCC4.js +74 -0
  201. package/dist/chunk-ECCNRCC4.js.map +1 -0
  202. package/dist/chunk-EDE73Q6Z.js +2 -0
  203. package/dist/chunk-EDE73Q6Z.js.map +1 -0
  204. package/dist/chunk-EHGIW7GA.js +190 -0
  205. package/dist/chunk-EHGIW7GA.js.map +1 -0
  206. package/dist/chunk-EJQYE4MY.js +100 -0
  207. package/dist/chunk-EJQYE4MY.js.map +1 -0
  208. package/dist/chunk-EKY3A5LO.js +133 -0
  209. package/dist/chunk-EKY3A5LO.js.map +1 -0
  210. package/dist/chunk-EL3OXVOW.js +31 -0
  211. package/dist/chunk-EL3OXVOW.js.map +1 -0
  212. package/dist/chunk-EP3U7OQ3.js +18 -0
  213. package/dist/chunk-EP3U7OQ3.js.map +1 -0
  214. package/dist/chunk-EY2PGOG3.js +246 -0
  215. package/dist/chunk-EY2PGOG3.js.map +1 -0
  216. package/dist/chunk-FAOX6A5D.js +2 -0
  217. package/dist/chunk-FAOX6A5D.js.map +1 -0
  218. package/dist/chunk-FBJ2JSRA.js +47 -0
  219. package/dist/chunk-FBJ2JSRA.js.map +1 -0
  220. package/dist/chunk-FDJ77DTR.js +2 -0
  221. package/dist/chunk-FDJ77DTR.js.map +1 -0
  222. package/dist/chunk-FDPONOOT.js +93 -0
  223. package/dist/chunk-FDPONOOT.js.map +1 -0
  224. package/dist/chunk-FHDJKH2A.js +2 -0
  225. package/dist/chunk-FHDJKH2A.js.map +1 -0
  226. package/dist/chunk-FINAKMC6.js +796 -0
  227. package/dist/chunk-FINAKMC6.js.map +1 -0
  228. package/dist/chunk-FKUP7QRJ.js +54 -0
  229. package/dist/chunk-FKUP7QRJ.js.map +1 -0
  230. package/dist/chunk-FPLZ24MK.js +2 -0
  231. package/dist/chunk-FPLZ24MK.js.map +1 -0
  232. package/dist/chunk-FRFSDZIN.js +2 -0
  233. package/dist/chunk-FRFSDZIN.js.map +1 -0
  234. package/dist/chunk-FYCCNQXQ.js +173 -0
  235. package/dist/chunk-FYCCNQXQ.js.map +1 -0
  236. package/dist/chunk-G3OTDYCD.js +53 -0
  237. package/dist/chunk-G3OTDYCD.js.map +1 -0
  238. package/dist/chunk-G72UOVKS.js +2 -0
  239. package/dist/chunk-G72UOVKS.js.map +1 -0
  240. package/dist/chunk-GAI4NEPU.js +151 -0
  241. package/dist/chunk-GAI4NEPU.js.map +1 -0
  242. package/dist/chunk-GRWGNWIJ.js +187 -0
  243. package/dist/chunk-GRWGNWIJ.js.map +1 -0
  244. package/dist/chunk-GV6GQXKX.js +176 -0
  245. package/dist/chunk-GV6GQXKX.js.map +1 -0
  246. package/dist/chunk-H5UA5JW4.js +140 -0
  247. package/dist/chunk-H5UA5JW4.js.map +1 -0
  248. package/dist/chunk-H5XSI63P.js +2 -0
  249. package/dist/chunk-H5XSI63P.js.map +1 -0
  250. package/dist/chunk-HANBQNW3.js +1498 -0
  251. package/dist/chunk-HANBQNW3.js.map +1 -0
  252. package/dist/chunk-HCU2JHPH.js +169 -0
  253. package/dist/chunk-HCU2JHPH.js.map +1 -0
  254. package/dist/chunk-HDDXP2J7.js +2 -0
  255. package/dist/chunk-HDDXP2J7.js.map +1 -0
  256. package/dist/chunk-HDS64Z5L.js +54 -0
  257. package/dist/chunk-HDS64Z5L.js.map +1 -0
  258. package/dist/chunk-HHVULJGX.js +2 -0
  259. package/dist/chunk-HHVULJGX.js.map +1 -0
  260. package/dist/chunk-HLMFRCFE.js +2 -0
  261. package/dist/chunk-HLMFRCFE.js.map +1 -0
  262. package/dist/chunk-HPUPDT4Q.js +2 -0
  263. package/dist/chunk-HPUPDT4Q.js.map +1 -0
  264. package/dist/chunk-HRYH7XQP.js +209 -0
  265. package/dist/chunk-HRYH7XQP.js.map +1 -0
  266. package/dist/chunk-HVFYAQLK.js +101 -0
  267. package/dist/chunk-HVFYAQLK.js.map +1 -0
  268. package/dist/chunk-HZPNST7D.js +2 -0
  269. package/dist/chunk-HZPNST7D.js.map +1 -0
  270. package/dist/chunk-I6O6ACCH.js +2 -0
  271. package/dist/chunk-I6O6ACCH.js.map +1 -0
  272. package/dist/chunk-IGP5E4FC.js +201 -0
  273. package/dist/chunk-IGP5E4FC.js.map +1 -0
  274. package/dist/chunk-IHMFEPIT.js +123 -0
  275. package/dist/chunk-IHMFEPIT.js.map +1 -0
  276. package/dist/chunk-IM5VJP6T.js +2 -0
  277. package/dist/chunk-IM5VJP6T.js.map +1 -0
  278. package/dist/chunk-IRUZDWJ3.js +218 -0
  279. package/dist/chunk-IRUZDWJ3.js.map +1 -0
  280. package/dist/chunk-ISWUCXEZ.js +2 -0
  281. package/dist/chunk-ISWUCXEZ.js.map +1 -0
  282. package/dist/chunk-ITFDGFOT.js +31 -0
  283. package/dist/chunk-ITFDGFOT.js.map +1 -0
  284. package/dist/chunk-IUQ474IC.js +2 -0
  285. package/dist/chunk-IUQ474IC.js.map +1 -0
  286. package/dist/chunk-IY23F2Y5.js +2 -0
  287. package/dist/chunk-IY23F2Y5.js.map +1 -0
  288. package/dist/chunk-IZJOZJDL.js +75 -0
  289. package/dist/chunk-IZJOZJDL.js.map +1 -0
  290. package/dist/chunk-J2P4YZLC.js +85 -0
  291. package/dist/chunk-J2P4YZLC.js.map +1 -0
  292. package/dist/chunk-JCRBDA66.js +2 -0
  293. package/dist/chunk-JCRBDA66.js.map +1 -0
  294. package/dist/chunk-JGS2IHER.js +140 -0
  295. package/dist/chunk-JGS2IHER.js.map +1 -0
  296. package/dist/chunk-JNWXHPZG.js +24 -0
  297. package/dist/chunk-JNWXHPZG.js.map +1 -0
  298. package/dist/chunk-JWWJ2Z5C.js +2 -0
  299. package/dist/chunk-JWWJ2Z5C.js.map +1 -0
  300. package/dist/chunk-K2GLXCTG.js +2 -0
  301. package/dist/chunk-K2GLXCTG.js.map +1 -0
  302. package/dist/chunk-K6YRTASS.js +55 -0
  303. package/dist/chunk-K6YRTASS.js.map +1 -0
  304. package/dist/chunk-KAAJL2HA.js +327 -0
  305. package/dist/chunk-KAAJL2HA.js.map +1 -0
  306. package/dist/chunk-KBNWM27Q.js +48 -0
  307. package/dist/chunk-KBNWM27Q.js.map +1 -0
  308. package/dist/chunk-KOVHUAHG.js +164 -0
  309. package/dist/chunk-KOVHUAHG.js.map +1 -0
  310. package/dist/chunk-KRVSD4OK.js +2 -0
  311. package/dist/chunk-KRVSD4OK.js.map +1 -0
  312. package/dist/chunk-KTH3GWAL.js +116 -0
  313. package/dist/chunk-KTH3GWAL.js.map +1 -0
  314. package/dist/chunk-KUAVM54Y.js +30 -0
  315. package/dist/chunk-KUAVM54Y.js.map +1 -0
  316. package/dist/chunk-KWQ6HV5Z.js +97 -0
  317. package/dist/chunk-KWQ6HV5Z.js.map +1 -0
  318. package/dist/chunk-KZWC6JCI.js +177 -0
  319. package/dist/chunk-KZWC6JCI.js.map +1 -0
  320. package/dist/chunk-L37QZALU.js +17 -0
  321. package/dist/chunk-L37QZALU.js.map +1 -0
  322. package/dist/chunk-L3SHPHLK.js +35 -0
  323. package/dist/chunk-L3SHPHLK.js.map +1 -0
  324. package/dist/chunk-L66VJIRD.js +2 -0
  325. package/dist/chunk-L66VJIRD.js.map +1 -0
  326. package/dist/chunk-LDOCY4SU.js +68 -0
  327. package/dist/chunk-LDOCY4SU.js.map +1 -0
  328. package/dist/chunk-LJGWA2XL.js +2 -0
  329. package/dist/chunk-LJGWA2XL.js.map +1 -0
  330. package/dist/chunk-LLQWLZ75.js +2 -0
  331. package/dist/chunk-LLQWLZ75.js.map +1 -0
  332. package/dist/chunk-LMO3QK7Q.js +137 -0
  333. package/dist/chunk-LMO3QK7Q.js.map +1 -0
  334. package/dist/chunk-LOSXINSS.js +100 -0
  335. package/dist/chunk-LOSXINSS.js.map +1 -0
  336. package/dist/chunk-LR2CU7HK.js +41 -0
  337. package/dist/chunk-LR2CU7HK.js.map +1 -0
  338. package/dist/chunk-LSYVAOSH.js +2 -0
  339. package/dist/chunk-LSYVAOSH.js.map +1 -0
  340. package/dist/chunk-LVRULYU4.js +400 -0
  341. package/dist/chunk-LVRULYU4.js.map +1 -0
  342. package/dist/chunk-LXW3GNF7.js +201 -0
  343. package/dist/chunk-LXW3GNF7.js.map +1 -0
  344. package/dist/chunk-LYVBDMDQ.js +2 -0
  345. package/dist/chunk-LYVBDMDQ.js.map +1 -0
  346. package/dist/chunk-M3WSUFD4.js +2 -0
  347. package/dist/chunk-M3WSUFD4.js.map +1 -0
  348. package/dist/chunk-MGAXCPT7.js +87 -0
  349. package/dist/chunk-MGAXCPT7.js.map +1 -0
  350. package/dist/chunk-MIXCXZWT.js +2 -0
  351. package/dist/chunk-MIXCXZWT.js.map +1 -0
  352. package/dist/chunk-MLGBLKUH.js +2 -0
  353. package/dist/chunk-MLGBLKUH.js.map +1 -0
  354. package/dist/chunk-MNS2VWHD.js +2 -0
  355. package/dist/chunk-MNS2VWHD.js.map +1 -0
  356. package/dist/chunk-MPMMU3QI.js +2 -0
  357. package/dist/chunk-MPMMU3QI.js.map +1 -0
  358. package/dist/chunk-MRWOHWEH.js +2 -0
  359. package/dist/chunk-MRWOHWEH.js.map +1 -0
  360. package/dist/chunk-MZDL7N52.js +2 -0
  361. package/dist/chunk-MZDL7N52.js.map +1 -0
  362. package/dist/chunk-N44PNGDS.js +169 -0
  363. package/dist/chunk-N44PNGDS.js.map +1 -0
  364. package/dist/chunk-N7PJTMRL.js +2 -0
  365. package/dist/chunk-N7PJTMRL.js.map +1 -0
  366. package/dist/chunk-NBMF7SIS.js +35 -0
  367. package/dist/chunk-NBMF7SIS.js.map +1 -0
  368. package/dist/chunk-NJAGSGPF.js +245 -0
  369. package/dist/chunk-NJAGSGPF.js.map +1 -0
  370. package/dist/chunk-NMGNXW3J.js +98 -0
  371. package/dist/chunk-NMGNXW3J.js.map +1 -0
  372. package/dist/chunk-NQY3QNLR.js +80 -0
  373. package/dist/chunk-NQY3QNLR.js.map +1 -0
  374. package/dist/chunk-NRNIUM75.js +2 -0
  375. package/dist/chunk-NRNIUM75.js.map +1 -0
  376. package/dist/chunk-NRSSSVWB.js +61 -0
  377. package/dist/chunk-NRSSSVWB.js.map +1 -0
  378. package/dist/chunk-NTTSHOOK.js +78 -0
  379. package/dist/chunk-NTTSHOOK.js.map +1 -0
  380. package/dist/chunk-O3JWMB6O.js +20 -0
  381. package/dist/chunk-O3JWMB6O.js.map +1 -0
  382. package/dist/chunk-OBEJUAN6.js +246 -0
  383. package/dist/chunk-OBEJUAN6.js.map +1 -0
  384. package/dist/chunk-OEPN373X.js +2 -0
  385. package/dist/chunk-OEPN373X.js.map +1 -0
  386. package/dist/chunk-OITCRC5D.js +2 -0
  387. package/dist/chunk-OITCRC5D.js.map +1 -0
  388. package/dist/chunk-OKV3N7QK.js +2 -0
  389. package/dist/chunk-OKV3N7QK.js.map +1 -0
  390. package/dist/chunk-ON2E7XHD.js +51 -0
  391. package/dist/chunk-ON2E7XHD.js.map +1 -0
  392. package/dist/chunk-OPMMD25Z.js +218 -0
  393. package/dist/chunk-OPMMD25Z.js.map +1 -0
  394. package/dist/chunk-OR4NVFPH.js +2 -0
  395. package/dist/chunk-OR4NVFPH.js.map +1 -0
  396. package/dist/chunk-OV4GQOLC.js +73 -0
  397. package/dist/chunk-OV4GQOLC.js.map +1 -0
  398. package/dist/chunk-OYKS7YHE.js +2 -0
  399. package/dist/chunk-OYKS7YHE.js.map +1 -0
  400. package/dist/chunk-OYM3NHSD.js +74 -0
  401. package/dist/chunk-OYM3NHSD.js.map +1 -0
  402. package/dist/chunk-OZTM6PYF.js +30 -0
  403. package/dist/chunk-OZTM6PYF.js.map +1 -0
  404. package/dist/chunk-PHAENHGL.js +19 -0
  405. package/dist/chunk-PHAENHGL.js.map +1 -0
  406. package/dist/chunk-PLCQZBZS.js +63 -0
  407. package/dist/chunk-PLCQZBZS.js.map +1 -0
  408. package/dist/chunk-PP7POY7C.js +110 -0
  409. package/dist/chunk-PP7POY7C.js.map +1 -0
  410. package/dist/chunk-PSBNQZB4.js +2 -0
  411. package/dist/chunk-PSBNQZB4.js.map +1 -0
  412. package/dist/chunk-PYPNGKRD.js +355 -0
  413. package/dist/chunk-PYPNGKRD.js.map +1 -0
  414. package/dist/chunk-QDJHUNBQ.js +2 -0
  415. package/dist/chunk-QDJHUNBQ.js.map +1 -0
  416. package/dist/chunk-QDTGDYMM.js +77 -0
  417. package/dist/chunk-QDTGDYMM.js.map +1 -0
  418. package/dist/chunk-QF6UWWDY.js +125 -0
  419. package/dist/chunk-QF6UWWDY.js.map +1 -0
  420. package/dist/chunk-QGX37P5L.js +24 -0
  421. package/dist/chunk-QGX37P5L.js.map +1 -0
  422. package/dist/chunk-QNEOO22E.js +75 -0
  423. package/dist/chunk-QNEOO22E.js.map +1 -0
  424. package/dist/chunk-QODOFLHL.js +2 -0
  425. package/dist/chunk-QODOFLHL.js.map +1 -0
  426. package/dist/chunk-QRGYKV4J.js +2 -0
  427. package/dist/chunk-QRGYKV4J.js.map +1 -0
  428. package/dist/chunk-QTIKGWU4.js +91 -0
  429. package/dist/chunk-QTIKGWU4.js.map +1 -0
  430. package/dist/chunk-R3SYH7RG.js +782 -0
  431. package/dist/chunk-R3SYH7RG.js.map +1 -0
  432. package/dist/chunk-R5JYMCEA.js +2 -0
  433. package/dist/chunk-R5JYMCEA.js.map +1 -0
  434. package/dist/chunk-R7DDZIE3.js +232 -0
  435. package/dist/chunk-R7DDZIE3.js.map +1 -0
  436. package/dist/chunk-RB5AWLDJ.js +26 -0
  437. package/dist/chunk-RB5AWLDJ.js.map +1 -0
  438. package/dist/chunk-RF7JSNXJ.js +2 -0
  439. package/dist/chunk-RF7JSNXJ.js.map +1 -0
  440. package/dist/chunk-RHXVQZOW.js +2 -0
  441. package/dist/chunk-RHXVQZOW.js.map +1 -0
  442. package/dist/chunk-RM5JIUVW.js +74 -0
  443. package/dist/chunk-RM5JIUVW.js.map +1 -0
  444. package/dist/chunk-RMSMTLXH.js +2 -0
  445. package/dist/chunk-RMSMTLXH.js.map +1 -0
  446. package/dist/chunk-RNC4M6SG.js +85 -0
  447. package/dist/chunk-RNC4M6SG.js.map +1 -0
  448. package/dist/chunk-RRYWMYGI.js +14 -0
  449. package/dist/chunk-RRYWMYGI.js.map +1 -0
  450. package/dist/chunk-RRZUMIYG.js +93 -0
  451. package/dist/chunk-RRZUMIYG.js.map +1 -0
  452. package/dist/chunk-RTHCX2TG.js +59 -0
  453. package/dist/chunk-RTHCX2TG.js.map +1 -0
  454. package/dist/chunk-RWUKMJYA.js +39 -0
  455. package/dist/chunk-RWUKMJYA.js.map +1 -0
  456. package/dist/chunk-SMTAPQEQ.js +2 -0
  457. package/dist/chunk-SMTAPQEQ.js.map +1 -0
  458. package/dist/chunk-SS6EOZKZ.js +2 -0
  459. package/dist/chunk-SS6EOZKZ.js.map +1 -0
  460. package/dist/chunk-T2XEMEN2.js +2 -0
  461. package/dist/chunk-T2XEMEN2.js.map +1 -0
  462. package/dist/chunk-T4JNXV75.js +125 -0
  463. package/dist/chunk-T4JNXV75.js.map +1 -0
  464. package/dist/chunk-T7JOWG2A.js +10 -0
  465. package/dist/chunk-T7JOWG2A.js.map +1 -0
  466. package/dist/chunk-TAQI4JTE.js +12 -0
  467. package/dist/chunk-TAQI4JTE.js.map +1 -0
  468. package/dist/chunk-TEKBTTP2.js +27 -0
  469. package/dist/chunk-TEKBTTP2.js.map +1 -0
  470. package/dist/chunk-TNOANK34.js +4483 -0
  471. package/dist/chunk-TNOANK34.js.map +1 -0
  472. package/dist/chunk-TU24Y4HN.js +178 -0
  473. package/dist/chunk-TU24Y4HN.js.map +1 -0
  474. package/dist/chunk-U26XDHMX.js +726 -0
  475. package/dist/chunk-U26XDHMX.js.map +1 -0
  476. package/dist/chunk-U4LHV5DS.js +36 -0
  477. package/dist/chunk-U4LHV5DS.js.map +1 -0
  478. package/dist/chunk-U7QYCYHC.js +2 -0
  479. package/dist/chunk-U7QYCYHC.js.map +1 -0
  480. package/dist/chunk-UANAVLMS.js +2 -0
  481. package/dist/chunk-UANAVLMS.js.map +1 -0
  482. package/dist/chunk-UCEVPLR5.js +2 -0
  483. package/dist/chunk-UCEVPLR5.js.map +1 -0
  484. package/dist/chunk-UCQDLRHR.js +31 -0
  485. package/dist/chunk-UCQDLRHR.js.map +1 -0
  486. package/dist/chunk-UFF7LLGU.js +2 -0
  487. package/dist/chunk-UFF7LLGU.js.map +1 -0
  488. package/dist/chunk-UG5TKXTK.js +2 -0
  489. package/dist/chunk-UG5TKXTK.js.map +1 -0
  490. package/dist/chunk-ULIDYFM7.js +192 -0
  491. package/dist/chunk-ULIDYFM7.js.map +1 -0
  492. package/dist/chunk-UPEMEBWH.js +186 -0
  493. package/dist/chunk-UPEMEBWH.js.map +1 -0
  494. package/dist/chunk-UQHWOPUY.js +61 -0
  495. package/dist/chunk-UQHWOPUY.js.map +1 -0
  496. package/dist/chunk-UQRYTMR7.js +2 -0
  497. package/dist/chunk-UQRYTMR7.js.map +1 -0
  498. package/dist/chunk-URVAZW44.js +323 -0
  499. package/dist/chunk-URVAZW44.js.map +1 -0
  500. package/dist/chunk-USI4LB3N.js +2 -0
  501. package/dist/chunk-USI4LB3N.js.map +1 -0
  502. package/dist/chunk-UXSV6RVS.js +31 -0
  503. package/dist/chunk-UXSV6RVS.js.map +1 -0
  504. package/dist/chunk-V2S5DINS.js +2 -0
  505. package/dist/chunk-V2S5DINS.js.map +1 -0
  506. package/dist/chunk-V3EQ6ACC.js +2 -0
  507. package/dist/chunk-V3EQ6ACC.js.map +1 -0
  508. package/dist/chunk-V4DDHF7S.js +147 -0
  509. package/dist/chunk-V4DDHF7S.js.map +1 -0
  510. package/dist/chunk-VA2OONPE.js +77 -0
  511. package/dist/chunk-VA2OONPE.js.map +1 -0
  512. package/dist/chunk-VFF3AN4Y.js +90 -0
  513. package/dist/chunk-VFF3AN4Y.js.map +1 -0
  514. package/dist/chunk-VH7GG77B.js +2 -0
  515. package/dist/chunk-VH7GG77B.js.map +1 -0
  516. package/dist/chunk-VHLPJ4XW.js +2 -0
  517. package/dist/chunk-VHLPJ4XW.js.map +1 -0
  518. package/dist/chunk-VLE5THFD.js +2 -0
  519. package/dist/chunk-VLE5THFD.js.map +1 -0
  520. package/dist/chunk-VORFRWM5.js +2 -0
  521. package/dist/chunk-VORFRWM5.js.map +1 -0
  522. package/dist/chunk-VQ2T3OEC.js +27 -0
  523. package/dist/chunk-VQ2T3OEC.js.map +1 -0
  524. package/dist/chunk-VRIAWF3A.js +25 -0
  525. package/dist/chunk-VRIAWF3A.js.map +1 -0
  526. package/dist/chunk-W6HCXQBH.js +198 -0
  527. package/dist/chunk-W6HCXQBH.js.map +1 -0
  528. package/dist/chunk-W7I2X6VI.js +2 -0
  529. package/dist/chunk-W7I2X6VI.js.map +1 -0
  530. package/dist/chunk-WCCCW4KD.js +140 -0
  531. package/dist/chunk-WCCCW4KD.js.map +1 -0
  532. package/dist/chunk-WNIVCHDP.js +2 -0
  533. package/dist/chunk-WNIVCHDP.js.map +1 -0
  534. package/dist/chunk-WOMO5CZ7.js +2 -0
  535. package/dist/chunk-WOMO5CZ7.js.map +1 -0
  536. package/dist/chunk-WTB4DDZP.js +163 -0
  537. package/dist/chunk-WTB4DDZP.js.map +1 -0
  538. package/dist/chunk-WW3CD7AU.js +118 -0
  539. package/dist/chunk-WW3CD7AU.js.map +1 -0
  540. package/dist/chunk-WX3LWMVU.js +81 -0
  541. package/dist/chunk-WX3LWMVU.js.map +1 -0
  542. package/dist/chunk-WYENWW3Y.js +2 -0
  543. package/dist/chunk-WYENWW3Y.js.map +1 -0
  544. package/dist/chunk-WZTFU6FJ.js +69 -0
  545. package/dist/chunk-WZTFU6FJ.js.map +1 -0
  546. package/dist/chunk-X4FE7UKP.js +2 -0
  547. package/dist/chunk-X4FE7UKP.js.map +1 -0
  548. package/dist/chunk-X6J4KKZZ.js +126 -0
  549. package/dist/chunk-X6J4KKZZ.js.map +1 -0
  550. package/dist/chunk-XAFRTZQF.js +56 -0
  551. package/dist/chunk-XAFRTZQF.js.map +1 -0
  552. package/dist/chunk-XGX3UFLD.js +2 -0
  553. package/dist/chunk-XGX3UFLD.js.map +1 -0
  554. package/dist/chunk-XGXCMA5M.js +2 -0
  555. package/dist/chunk-XGXCMA5M.js.map +1 -0
  556. package/dist/chunk-XJQADN6S.js +41 -0
  557. package/dist/chunk-XJQADN6S.js.map +1 -0
  558. package/dist/chunk-XMZ5LXL4.js +68 -0
  559. package/dist/chunk-XMZ5LXL4.js.map +1 -0
  560. package/dist/chunk-XONGYCW3.js +637 -0
  561. package/dist/chunk-XONGYCW3.js.map +1 -0
  562. package/dist/chunk-XYACSO57.js +36 -0
  563. package/dist/chunk-XYACSO57.js.map +1 -0
  564. package/dist/chunk-XYFEQHEM.js +2 -0
  565. package/dist/chunk-XYFEQHEM.js.map +1 -0
  566. package/dist/chunk-XZ23AFOP.js +26 -0
  567. package/dist/chunk-XZ23AFOP.js.map +1 -0
  568. package/dist/chunk-YACASX6X.js +54 -0
  569. package/dist/chunk-YACASX6X.js.map +1 -0
  570. package/dist/chunk-YCFOFNQF.js +28 -0
  571. package/dist/chunk-YCFOFNQF.js.map +1 -0
  572. package/dist/chunk-YIFB24WW.js +37 -0
  573. package/dist/chunk-YIFB24WW.js.map +1 -0
  574. package/dist/chunk-YIVL6HWS.js +68 -0
  575. package/dist/chunk-YIVL6HWS.js.map +1 -0
  576. package/dist/chunk-YK4H7VWM.js +2 -0
  577. package/dist/chunk-YK4H7VWM.js.map +1 -0
  578. package/dist/chunk-YL7VBHPZ.js +100 -0
  579. package/dist/chunk-YL7VBHPZ.js.map +1 -0
  580. package/dist/chunk-YMFEBGTU.js +2 -0
  581. package/dist/chunk-YMFEBGTU.js.map +1 -0
  582. package/dist/chunk-YPLKH5H4.js +226 -0
  583. package/dist/chunk-YPLKH5H4.js.map +1 -0
  584. package/dist/chunk-YWB7HLL7.js +126 -0
  585. package/dist/chunk-YWB7HLL7.js.map +1 -0
  586. package/dist/chunk-YXHHUJOZ.js +235 -0
  587. package/dist/chunk-YXHHUJOZ.js.map +1 -0
  588. package/dist/chunk-YZVXIPBC.js +2 -0
  589. package/dist/chunk-YZVXIPBC.js.map +1 -0
  590. package/dist/chunk-Z44RRTMX.js +2 -0
  591. package/dist/chunk-Z44RRTMX.js.map +1 -0
  592. package/dist/chunk-Z4CYBG3H.js +2 -0
  593. package/dist/chunk-Z4CYBG3H.js.map +1 -0
  594. package/dist/chunk-ZE2H4J3P.js +2 -0
  595. package/dist/chunk-ZE2H4J3P.js.map +1 -0
  596. package/dist/chunk-ZEMTALKO.js +2 -0
  597. package/dist/chunk-ZEMTALKO.js.map +1 -0
  598. package/dist/chunk-ZI2OXD6L.js +244 -0
  599. package/dist/chunk-ZI2OXD6L.js.map +1 -0
  600. package/dist/chunk-ZNFHDBUW.js +266 -0
  601. package/dist/chunk-ZNFHDBUW.js.map +1 -0
  602. package/dist/chunk-ZXBUOHCR.js +111 -0
  603. package/dist/chunk-ZXBUOHCR.js.map +1 -0
  604. package/dist/chunk-ZXVPEQM5.js +2 -0
  605. package/dist/chunk-ZXVPEQM5.js.map +1 -0
  606. package/dist/components/accordion/accordion.js +16 -0
  607. package/dist/components/accordion/accordion.js.map +1 -0
  608. package/dist/components/accordion/index.js +17 -0
  609. package/dist/components/accordion/index.js.map +1 -0
  610. package/dist/components/advanced-group/advanced-group.js +18 -0
  611. package/dist/components/advanced-group/advanced-group.js.map +1 -0
  612. package/dist/components/advanced-group/index.js +18 -0
  613. package/dist/components/advanced-group/index.js.map +1 -0
  614. package/dist/components/alert/alert.js +16 -0
  615. package/dist/components/alert/alert.js.map +1 -0
  616. package/dist/components/alert/index.js +17 -0
  617. package/dist/components/alert/index.js.map +1 -0
  618. package/dist/components/alert-dialog/alert-dialog.js +30 -0
  619. package/dist/components/alert-dialog/alert-dialog.js.map +1 -0
  620. package/dist/components/alert-dialog/index.js +31 -0
  621. package/dist/components/alert-dialog/index.js.map +1 -0
  622. package/dist/components/ambient-field/ambient-field.css +59 -0
  623. package/dist/components/ambient-field/ambient-field.css.map +1 -0
  624. package/dist/components/ambient-field/ambient-field.js +15 -0
  625. package/dist/components/ambient-field/ambient-field.js.map +1 -0
  626. package/dist/components/ambient-field/index.css +59 -0
  627. package/dist/components/ambient-field/index.css.map +1 -0
  628. package/dist/components/ambient-field/index.js +16 -0
  629. package/dist/components/ambient-field/index.js.map +1 -0
  630. package/dist/components/app-shell/app-shell.js +14 -0
  631. package/dist/components/app-shell/app-shell.js.map +1 -0
  632. package/dist/components/app-shell/index.js +15 -0
  633. package/dist/components/app-shell/index.js.map +1 -0
  634. package/dist/components/app-sidebar/app-sidebar.js +31 -0
  635. package/dist/components/app-sidebar/app-sidebar.js.map +1 -0
  636. package/dist/components/app-sidebar/index.js +31 -0
  637. package/dist/components/app-sidebar/index.js.map +1 -0
  638. package/dist/components/aspect-ratio/aspect-ratio.js +9 -0
  639. package/dist/components/aspect-ratio/aspect-ratio.js.map +1 -0
  640. package/dist/components/aspect-ratio/index.js +10 -0
  641. package/dist/components/aspect-ratio/index.js.map +1 -0
  642. package/dist/components/attribution-panel/attribution-panel.js +24 -0
  643. package/dist/components/attribution-panel/attribution-panel.js.map +1 -0
  644. package/dist/components/attribution-panel/attribution-types.js +2 -0
  645. package/dist/components/attribution-panel/attribution-types.js.map +1 -0
  646. package/dist/components/attribution-panel/attributions.generated.js +9 -0
  647. package/dist/components/attribution-panel/attributions.generated.js.map +1 -0
  648. package/dist/components/attribution-panel/index.js +24 -0
  649. package/dist/components/attribution-panel/index.js.map +1 -0
  650. package/dist/components/avatar/avatar.js +14 -0
  651. package/dist/components/avatar/avatar.js.map +1 -0
  652. package/dist/components/avatar/index.js +15 -0
  653. package/dist/components/avatar/index.js.map +1 -0
  654. package/dist/components/badge/badge.js +16 -0
  655. package/dist/components/badge/badge.js.map +1 -0
  656. package/dist/components/badge/index.js +13 -0
  657. package/dist/components/badge/index.js.map +1 -0
  658. package/dist/components/bento-grid/bento-grid.js +16 -0
  659. package/dist/components/bento-grid/bento-grid.js.map +1 -0
  660. package/dist/components/bento-grid/index.js +16 -0
  661. package/dist/components/bento-grid/index.js.map +1 -0
  662. package/dist/components/bounded-number/bounded-number.js +24 -0
  663. package/dist/components/bounded-number/bounded-number.js.map +1 -0
  664. package/dist/components/bounded-number/index.js +24 -0
  665. package/dist/components/bounded-number/index.js.map +1 -0
  666. package/dist/components/breadcrumb/breadcrumb.js +28 -0
  667. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  668. package/dist/components/breadcrumb/index.js +26 -0
  669. package/dist/components/breadcrumb/index.js.map +1 -0
  670. package/dist/components/button/button.js +12 -0
  671. package/dist/components/button/button.js.map +1 -0
  672. package/dist/components/button/index.js +13 -0
  673. package/dist/components/button/index.js.map +1 -0
  674. package/dist/components/button-group/button-group.js +18 -0
  675. package/dist/components/button-group/button-group.js.map +1 -0
  676. package/dist/components/button-group/index.js +19 -0
  677. package/dist/components/button-group/index.js.map +1 -0
  678. package/dist/components/calendar/calendar.js +12 -0
  679. package/dist/components/calendar/calendar.js.map +1 -0
  680. package/dist/components/calendar/index.js +13 -0
  681. package/dist/components/calendar/index.js.map +1 -0
  682. package/dist/components/card/card.js +27 -0
  683. package/dist/components/card/card.js.map +1 -0
  684. package/dist/components/card/index.js +27 -0
  685. package/dist/components/card/index.js.map +1 -0
  686. package/dist/components/carousel/carousel.js +24 -0
  687. package/dist/components/carousel/carousel.js.map +1 -0
  688. package/dist/components/carousel/index.js +24 -0
  689. package/dist/components/carousel/index.js.map +1 -0
  690. package/dist/components/change-review/change-review.js +34 -0
  691. package/dist/components/change-review/change-review.js.map +1 -0
  692. package/dist/components/change-review/index.js +34 -0
  693. package/dist/components/change-review/index.js.map +1 -0
  694. package/dist/components/checkbox/checkbox.js +10 -0
  695. package/dist/components/checkbox/checkbox.js.map +1 -0
  696. package/dist/components/checkbox/index.js +11 -0
  697. package/dist/components/checkbox/index.js.map +1 -0
  698. package/dist/components/collapsible/collapsible.js +14 -0
  699. package/dist/components/collapsible/collapsible.js.map +1 -0
  700. package/dist/components/collapsible/index.js +15 -0
  701. package/dist/components/collapsible/index.js.map +1 -0
  702. package/dist/components/collapsible-panel/index.js +11 -0
  703. package/dist/components/collapsible-panel/index.js.map +1 -0
  704. package/dist/components/collapsible-panel/use-collapsible-panel.js +11 -0
  705. package/dist/components/collapsible-panel/use-collapsible-panel.js.map +1 -0
  706. package/dist/components/color-picker/color-picker.js +18 -0
  707. package/dist/components/color-picker/color-picker.js.map +1 -0
  708. package/dist/components/color-picker/index.js +18 -0
  709. package/dist/components/color-picker/index.js.map +1 -0
  710. package/dist/components/combobox/combobox.js +28 -0
  711. package/dist/components/combobox/combobox.js.map +1 -0
  712. package/dist/components/combobox/index.js +28 -0
  713. package/dist/components/combobox/index.js.map +1 -0
  714. package/dist/components/command/command.js +39 -0
  715. package/dist/components/command/command.js.map +1 -0
  716. package/dist/components/command/index.js +39 -0
  717. package/dist/components/command/index.js.map +1 -0
  718. package/dist/components/command-chip/command-chip.js +17 -0
  719. package/dist/components/command-chip/command-chip.js.map +1 -0
  720. package/dist/components/command-chip/index.js +17 -0
  721. package/dist/components/command-chip/index.js.map +1 -0
  722. package/dist/components/command-trigger/command-trigger.js +12 -0
  723. package/dist/components/command-trigger/command-trigger.js.map +1 -0
  724. package/dist/components/command-trigger/index.js +13 -0
  725. package/dist/components/command-trigger/index.js.map +1 -0
  726. package/dist/components/confirm-dialog/confirm-dialog.js +20 -0
  727. package/dist/components/confirm-dialog/confirm-dialog.js.map +1 -0
  728. package/dist/components/confirm-dialog/index.js +20 -0
  729. package/dist/components/confirm-dialog/index.js.map +1 -0
  730. package/dist/components/context-menu/context-menu.js +36 -0
  731. package/dist/components/context-menu/context-menu.js.map +1 -0
  732. package/dist/components/context-menu/index.js +37 -0
  733. package/dist/components/context-menu/index.js.map +1 -0
  734. package/dist/components/context-rail/context-rail.js +35 -0
  735. package/dist/components/context-rail/context-rail.js.map +1 -0
  736. package/dist/components/context-rail/index.js +35 -0
  737. package/dist/components/context-rail/index.js.map +1 -0
  738. package/dist/components/copyable-value/copyable-value.js +19 -0
  739. package/dist/components/copyable-value/copyable-value.js.map +1 -0
  740. package/dist/components/copyable-value/index.js +17 -0
  741. package/dist/components/copyable-value/index.js.map +1 -0
  742. package/dist/components/date-picker/date-picker.js +21 -0
  743. package/dist/components/date-picker/date-picker.js.map +1 -0
  744. package/dist/components/date-picker/index.js +21 -0
  745. package/dist/components/date-picker/index.js.map +1 -0
  746. package/dist/components/date-range-picker/date-range-picker.js +22 -0
  747. package/dist/components/date-range-picker/date-range-picker.js.map +1 -0
  748. package/dist/components/date-range-picker/index.js +22 -0
  749. package/dist/components/date-range-picker/index.js.map +1 -0
  750. package/dist/components/descriptions/descriptions.js +12 -0
  751. package/dist/components/descriptions/descriptions.js.map +1 -0
  752. package/dist/components/descriptions/index.js +13 -0
  753. package/dist/components/descriptions/index.js.map +1 -0
  754. package/dist/components/dialog/dialog.js +41 -0
  755. package/dist/components/dialog/dialog.js.map +1 -0
  756. package/dist/components/dialog/index.js +45 -0
  757. package/dist/components/dialog/index.js.map +1 -0
  758. package/dist/components/dialog/use-dialog-dismiss-guard.js +10 -0
  759. package/dist/components/dialog/use-dialog-dismiss-guard.js.map +1 -0
  760. package/dist/components/drawer/drawer.js +26 -0
  761. package/dist/components/drawer/drawer.js.map +1 -0
  762. package/dist/components/drawer/index.js +27 -0
  763. package/dist/components/drawer/index.js.map +1 -0
  764. package/dist/components/dropdown-menu/dropdown-menu.js +38 -0
  765. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -0
  766. package/dist/components/dropdown-menu/index.js +39 -0
  767. package/dist/components/dropdown-menu/index.js.map +1 -0
  768. package/dist/components/empty-state/empty-state.js +15 -0
  769. package/dist/components/empty-state/empty-state.js.map +1 -0
  770. package/dist/components/empty-state/index.js +16 -0
  771. package/dist/components/empty-state/index.js.map +1 -0
  772. package/dist/components/error-state/error-state.js +15 -0
  773. package/dist/components/error-state/error-state.js.map +1 -0
  774. package/dist/components/error-state/index.js +16 -0
  775. package/dist/components/error-state/index.js.map +1 -0
  776. package/dist/components/expand-dialog/expand-dialog.js +28 -0
  777. package/dist/components/expand-dialog/expand-dialog.js.map +1 -0
  778. package/dist/components/expand-dialog/index.js +28 -0
  779. package/dist/components/expand-dialog/index.js.map +1 -0
  780. package/dist/components/field/field-context.js +11 -0
  781. package/dist/components/field/field-context.js.map +1 -0
  782. package/dist/components/field/field.js +23 -0
  783. package/dist/components/field/field.js.map +1 -0
  784. package/dist/components/field/index.js +23 -0
  785. package/dist/components/field/index.js.map +1 -0
  786. package/dist/components/field-row/field-row.js +14 -0
  787. package/dist/components/field-row/field-row.js.map +1 -0
  788. package/dist/components/field-row/index.js +14 -0
  789. package/dist/components/field-row/index.js.map +1 -0
  790. package/dist/components/file-upload/file-upload.js +28 -0
  791. package/dist/components/file-upload/file-upload.js.map +1 -0
  792. package/dist/components/file-upload/index.js +26 -0
  793. package/dist/components/file-upload/index.js.map +1 -0
  794. package/dist/components/form/form.js +27 -0
  795. package/dist/components/form/form.js.map +1 -0
  796. package/dist/components/hover-card/hover-card.js +14 -0
  797. package/dist/components/hover-card/hover-card.js.map +1 -0
  798. package/dist/components/hover-card/index.js +15 -0
  799. package/dist/components/hover-card/index.js.map +1 -0
  800. package/dist/components/icon-button/icon-button.js +14 -0
  801. package/dist/components/icon-button/icon-button.js.map +1 -0
  802. package/dist/components/icon-button/index.js +15 -0
  803. package/dist/components/icon-button/index.js.map +1 -0
  804. package/dist/components/input/index.js +11 -0
  805. package/dist/components/input/index.js.map +1 -0
  806. package/dist/components/input/input.js +10 -0
  807. package/dist/components/input/input.js.map +1 -0
  808. package/dist/components/input-group/index.js +31 -0
  809. package/dist/components/input-group/index.js.map +1 -0
  810. package/dist/components/input-group/input-group.js +30 -0
  811. package/dist/components/input-group/input-group.js.map +1 -0
  812. package/dist/components/input-otp/index.js +17 -0
  813. package/dist/components/input-otp/index.js.map +1 -0
  814. package/dist/components/input-otp/input-otp.js +17 -0
  815. package/dist/components/input-otp/input-otp.js.map +1 -0
  816. package/dist/components/install-tabs/index.js +28 -0
  817. package/dist/components/install-tabs/index.js.map +1 -0
  818. package/dist/components/install-tabs/install-tabs.js +28 -0
  819. package/dist/components/install-tabs/install-tabs.js.map +1 -0
  820. package/dist/components/integration-matrix/index.js +26 -0
  821. package/dist/components/integration-matrix/index.js.map +1 -0
  822. package/dist/components/integration-matrix/integration-matrix.js +26 -0
  823. package/dist/components/integration-matrix/integration-matrix.js.map +1 -0
  824. package/dist/components/kbd/index.js +11 -0
  825. package/dist/components/kbd/index.js.map +1 -0
  826. package/dist/components/kbd/kbd.js +10 -0
  827. package/dist/components/kbd/kbd.js.map +1 -0
  828. package/dist/components/key-value-editor/index.js +18 -0
  829. package/dist/components/key-value-editor/index.js.map +1 -0
  830. package/dist/components/key-value-editor/key-value-editor.js +18 -0
  831. package/dist/components/key-value-editor/key-value-editor.js.map +1 -0
  832. package/dist/components/keyboard-shortcuts/index.js +25 -0
  833. package/dist/components/keyboard-shortcuts/index.js.map +1 -0
  834. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.js +25 -0
  835. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.js.map +1 -0
  836. package/dist/components/label/index.js +11 -0
  837. package/dist/components/label/index.js.map +1 -0
  838. package/dist/components/label/label.js +10 -0
  839. package/dist/components/label/label.js.map +1 -0
  840. package/dist/components/link-preview/index.js +14 -0
  841. package/dist/components/link-preview/index.js.map +1 -0
  842. package/dist/components/link-preview/link-preview.js +14 -0
  843. package/dist/components/link-preview/link-preview.js.map +1 -0
  844. package/dist/components/list-editor/index.js +18 -0
  845. package/dist/components/list-editor/index.js.map +1 -0
  846. package/dist/components/list-editor/list-editor.js +18 -0
  847. package/dist/components/list-editor/list-editor.js.map +1 -0
  848. package/dist/components/loading-state/index.js +16 -0
  849. package/dist/components/loading-state/index.js.map +1 -0
  850. package/dist/components/loading-state/loading-state.js +15 -0
  851. package/dist/components/loading-state/loading-state.js.map +1 -0
  852. package/dist/components/locale-provider/index.js +16 -0
  853. package/dist/components/locale-provider/index.js.map +1 -0
  854. package/dist/components/locale-provider/locale-provider.js +13 -0
  855. package/dist/components/locale-provider/locale-provider.js.map +1 -0
  856. package/dist/components/locale-provider/messages.js +10 -0
  857. package/dist/components/locale-provider/messages.js.map +1 -0
  858. package/dist/components/match-highlight/index.js +15 -0
  859. package/dist/components/match-highlight/index.js.map +1 -0
  860. package/dist/components/match-highlight/match-highlight.js +14 -0
  861. package/dist/components/match-highlight/match-highlight.js.map +1 -0
  862. package/dist/components/mention-input/index.js +46 -0
  863. package/dist/components/mention-input/index.js.map +1 -0
  864. package/dist/components/mention-input/mention-input.js +33 -0
  865. package/dist/components/mention-input/mention-input.js.map +1 -0
  866. package/dist/components/mention-input/mention-value.js +20 -0
  867. package/dist/components/mention-input/mention-value.js.map +1 -0
  868. package/dist/components/menubar/index.js +39 -0
  869. package/dist/components/menubar/index.js.map +1 -0
  870. package/dist/components/menubar/menubar.js +38 -0
  871. package/dist/components/menubar/menubar.js.map +1 -0
  872. package/dist/components/meter/index.js +15 -0
  873. package/dist/components/meter/index.js.map +1 -0
  874. package/dist/components/meter/meter.js +15 -0
  875. package/dist/components/meter/meter.js.map +1 -0
  876. package/dist/components/metric-card/index.js +24 -0
  877. package/dist/components/metric-card/index.js.map +1 -0
  878. package/dist/components/metric-card/metric-card.js +24 -0
  879. package/dist/components/metric-card/metric-card.js.map +1 -0
  880. package/dist/components/model-picker/index.js +37 -0
  881. package/dist/components/model-picker/index.js.map +1 -0
  882. package/dist/components/model-picker/model-picker-state.js +13 -0
  883. package/dist/components/model-picker/model-picker-state.js.map +1 -0
  884. package/dist/components/model-picker/model-picker.js +37 -0
  885. package/dist/components/model-picker/model-picker.js.map +1 -0
  886. package/dist/components/nav-main/index.js +33 -0
  887. package/dist/components/nav-main/index.js.map +1 -0
  888. package/dist/components/nav-main/nav-main.js +33 -0
  889. package/dist/components/nav-main/nav-main.js.map +1 -0
  890. package/dist/components/nav-notifications/index.js +20 -0
  891. package/dist/components/nav-notifications/index.js.map +1 -0
  892. package/dist/components/nav-notifications/nav-notifications.js +20 -0
  893. package/dist/components/nav-notifications/nav-notifications.js.map +1 -0
  894. package/dist/components/nav-user/index.js +35 -0
  895. package/dist/components/nav-user/index.js.map +1 -0
  896. package/dist/components/nav-user/nav-user.js +35 -0
  897. package/dist/components/nav-user/nav-user.js.map +1 -0
  898. package/dist/components/navigation-menu/index.js +25 -0
  899. package/dist/components/navigation-menu/index.js.map +1 -0
  900. package/dist/components/navigation-menu/navigation-menu.js +25 -0
  901. package/dist/components/navigation-menu/navigation-menu.js.map +1 -0
  902. package/dist/components/number-input/index.js +22 -0
  903. package/dist/components/number-input/index.js.map +1 -0
  904. package/dist/components/number-input/number-input.js +22 -0
  905. package/dist/components/number-input/number-input.js.map +1 -0
  906. package/dist/components/page-shell/index.js +11 -0
  907. package/dist/components/page-shell/index.js.map +1 -0
  908. package/dist/components/page-shell/page-shell.js +10 -0
  909. package/dist/components/page-shell/page-shell.js.map +1 -0
  910. package/dist/components/pagination/index.js +28 -0
  911. package/dist/components/pagination/index.js.map +1 -0
  912. package/dist/components/pagination/pagination.js +28 -0
  913. package/dist/components/pagination/pagination.js.map +1 -0
  914. package/dist/components/parallax-plane/index.css +17 -0
  915. package/dist/components/parallax-plane/index.css.map +1 -0
  916. package/dist/components/parallax-plane/index.js +18 -0
  917. package/dist/components/parallax-plane/index.js.map +1 -0
  918. package/dist/components/parallax-plane/parallax-plane.css +17 -0
  919. package/dist/components/parallax-plane/parallax-plane.css.map +1 -0
  920. package/dist/components/parallax-plane/parallax-plane.js +18 -0
  921. package/dist/components/parallax-plane/parallax-plane.js.map +1 -0
  922. package/dist/components/popover/index.js +17 -0
  923. package/dist/components/popover/index.js.map +1 -0
  924. package/dist/components/popover/popover.js +16 -0
  925. package/dist/components/popover/popover.js.map +1 -0
  926. package/dist/components/progress/index.js +13 -0
  927. package/dist/components/progress/index.js.map +1 -0
  928. package/dist/components/progress/progress.js +12 -0
  929. package/dist/components/progress/progress.js.map +1 -0
  930. package/dist/components/radio-group/index.js +13 -0
  931. package/dist/components/radio-group/index.js.map +1 -0
  932. package/dist/components/radio-group/radio-group.js +12 -0
  933. package/dist/components/radio-group/radio-group.js.map +1 -0
  934. package/dist/components/rating/index.js +11 -0
  935. package/dist/components/rating/index.js.map +1 -0
  936. package/dist/components/rating/rating.js +11 -0
  937. package/dist/components/rating/rating.js.map +1 -0
  938. package/dist/components/resizable/index.js +15 -0
  939. package/dist/components/resizable/index.js.map +1 -0
  940. package/dist/components/resizable/resizable.js +14 -0
  941. package/dist/components/resizable/resizable.js.map +1 -0
  942. package/dist/components/reveal/index.js +15 -0
  943. package/dist/components/reveal/index.js.map +1 -0
  944. package/dist/components/reveal/reveal.js +14 -0
  945. package/dist/components/reveal/reveal.js.map +1 -0
  946. package/dist/components/reveal-on-enter/index.css +21 -0
  947. package/dist/components/reveal-on-enter/index.css.map +1 -0
  948. package/dist/components/reveal-on-enter/index.js +12 -0
  949. package/dist/components/reveal-on-enter/index.js.map +1 -0
  950. package/dist/components/reveal-on-enter/reveal-on-enter.css +21 -0
  951. package/dist/components/reveal-on-enter/reveal-on-enter.css.map +1 -0
  952. package/dist/components/reveal-on-enter/reveal-on-enter.js +12 -0
  953. package/dist/components/reveal-on-enter/reveal-on-enter.js.map +1 -0
  954. package/dist/components/revision-timeline/index.js +18 -0
  955. package/dist/components/revision-timeline/index.js.map +1 -0
  956. package/dist/components/revision-timeline/revision-timeline.js +18 -0
  957. package/dist/components/revision-timeline/revision-timeline.js.map +1 -0
  958. package/dist/components/schema-form/from-json-schema.js +13 -0
  959. package/dist/components/schema-form/from-json-schema.js.map +1 -0
  960. package/dist/components/schema-form/index.js +140 -0
  961. package/dist/components/schema-form/index.js.map +1 -0
  962. package/dist/components/schema-form/schema-form-spec.js +63 -0
  963. package/dist/components/schema-form/schema-form-spec.js.map +1 -0
  964. package/dist/components/schema-form/schema-form-store.js +21 -0
  965. package/dist/components/schema-form/schema-form-store.js.map +1 -0
  966. package/dist/components/schema-form/schema-form.js +77 -0
  967. package/dist/components/schema-form/schema-form.js.map +1 -0
  968. package/dist/components/scroll-area/index.js +13 -0
  969. package/dist/components/scroll-area/index.js.map +1 -0
  970. package/dist/components/scroll-area/scroll-area.js +12 -0
  971. package/dist/components/scroll-area/scroll-area.js.map +1 -0
  972. package/dist/components/section-header/index.js +11 -0
  973. package/dist/components/section-header/index.js.map +1 -0
  974. package/dist/components/section-header/section-header.js +10 -0
  975. package/dist/components/section-header/section-header.js.map +1 -0
  976. package/dist/components/segmented-field/index.js +17 -0
  977. package/dist/components/segmented-field/index.js.map +1 -0
  978. package/dist/components/segmented-field/segmented-field.js +17 -0
  979. package/dist/components/segmented-field/segmented-field.js.map +1 -0
  980. package/dist/components/select/index.js +26 -0
  981. package/dist/components/select/index.js.map +1 -0
  982. package/dist/components/select/select.js +26 -0
  983. package/dist/components/select/select.js.map +1 -0
  984. package/dist/components/separator/index.js +11 -0
  985. package/dist/components/separator/index.js.map +1 -0
  986. package/dist/components/separator/separator.js +10 -0
  987. package/dist/components/separator/separator.js.map +1 -0
  988. package/dist/components/sheet/index.js +30 -0
  989. package/dist/components/sheet/index.js.map +1 -0
  990. package/dist/components/sheet/sheet.js +30 -0
  991. package/dist/components/sheet/sheet.js.map +1 -0
  992. package/dist/components/side-dock/index.js +20 -0
  993. package/dist/components/side-dock/index.js.map +1 -0
  994. package/dist/components/side-dock/side-dock.js +20 -0
  995. package/dist/components/side-dock/side-dock.js.map +1 -0
  996. package/dist/components/sidebar/index.js +77 -0
  997. package/dist/components/sidebar/index.js.map +1 -0
  998. package/dist/components/sidebar/sidebar.js +77 -0
  999. package/dist/components/sidebar/sidebar.js.map +1 -0
  1000. package/dist/components/skeleton/index.js +11 -0
  1001. package/dist/components/skeleton/index.js.map +1 -0
  1002. package/dist/components/skeleton/skeleton.js +10 -0
  1003. package/dist/components/skeleton/skeleton.js.map +1 -0
  1004. package/dist/components/skip-link/index.js +11 -0
  1005. package/dist/components/skip-link/index.js.map +1 -0
  1006. package/dist/components/skip-link/skip-link.js +10 -0
  1007. package/dist/components/skip-link/skip-link.js.map +1 -0
  1008. package/dist/components/slider/index.js +11 -0
  1009. package/dist/components/slider/index.js.map +1 -0
  1010. package/dist/components/slider/slider.js +10 -0
  1011. package/dist/components/slider/slider.js.map +1 -0
  1012. package/dist/components/slider-number/index.js +26 -0
  1013. package/dist/components/slider-number/index.js.map +1 -0
  1014. package/dist/components/slider-number/slider-number.js +26 -0
  1015. package/dist/components/slider-number/slider-number.js.map +1 -0
  1016. package/dist/components/sonner/index.js +13 -0
  1017. package/dist/components/sonner/index.js.map +1 -0
  1018. package/dist/components/sonner/sonner.js +13 -0
  1019. package/dist/components/sonner/sonner.js.map +1 -0
  1020. package/dist/components/spec-playground/index.js +23 -0
  1021. package/dist/components/spec-playground/index.js.map +1 -0
  1022. package/dist/components/spec-playground/locate-json-path.js +17 -0
  1023. package/dist/components/spec-playground/locate-json-path.js.map +1 -0
  1024. package/dist/components/spec-playground/spec-playground.js +23 -0
  1025. package/dist/components/spec-playground/spec-playground.js.map +1 -0
  1026. package/dist/components/spinner/index.js +14 -0
  1027. package/dist/components/spinner/index.js.map +1 -0
  1028. package/dist/components/spinner/spinner.js +14 -0
  1029. package/dist/components/spinner/spinner.js.map +1 -0
  1030. package/dist/components/split-panel/index.js +13 -0
  1031. package/dist/components/split-panel/index.js.map +1 -0
  1032. package/dist/components/split-panel/split-panel.js +12 -0
  1033. package/dist/components/split-panel/split-panel.js.map +1 -0
  1034. package/dist/components/state-panel/index.js +17 -0
  1035. package/dist/components/state-panel/index.js.map +1 -0
  1036. package/dist/components/state-panel/state-panel.js +17 -0
  1037. package/dist/components/state-panel/state-panel.js.map +1 -0
  1038. package/dist/components/status-badge/index.js +30 -0
  1039. package/dist/components/status-badge/index.js.map +1 -0
  1040. package/dist/components/status-badge/status-badge.js +29 -0
  1041. package/dist/components/status-badge/status-badge.js.map +1 -0
  1042. package/dist/components/surface-tour/index.css +21 -0
  1043. package/dist/components/surface-tour/index.css.map +1 -0
  1044. package/dist/components/surface-tour/index.js +36 -0
  1045. package/dist/components/surface-tour/index.js.map +1 -0
  1046. package/dist/components/surface-tour/surface-tour.css +21 -0
  1047. package/dist/components/surface-tour/surface-tour.css.map +1 -0
  1048. package/dist/components/surface-tour/surface-tour.js +36 -0
  1049. package/dist/components/surface-tour/surface-tour.js.map +1 -0
  1050. package/dist/components/switch/index.js +11 -0
  1051. package/dist/components/switch/index.js.map +1 -0
  1052. package/dist/components/switch/switch.js +10 -0
  1053. package/dist/components/switch/switch.js.map +1 -0
  1054. package/dist/components/table/index.js +28 -0
  1055. package/dist/components/table/index.js.map +1 -0
  1056. package/dist/components/table/table.js +28 -0
  1057. package/dist/components/table/table.js.map +1 -0
  1058. package/dist/components/tabs/index.js +22 -0
  1059. package/dist/components/tabs/index.js.map +1 -0
  1060. package/dist/components/tabs/tabs.js +22 -0
  1061. package/dist/components/tabs/tabs.js.map +1 -0
  1062. package/dist/components/tag-input/index.js +21 -0
  1063. package/dist/components/tag-input/index.js.map +1 -0
  1064. package/dist/components/tag-input/tag-input.js +21 -0
  1065. package/dist/components/tag-input/tag-input.js.map +1 -0
  1066. package/dist/components/team-switcher/index.js +33 -0
  1067. package/dist/components/team-switcher/index.js.map +1 -0
  1068. package/dist/components/team-switcher/team-switcher.js +33 -0
  1069. package/dist/components/team-switcher/team-switcher.js.map +1 -0
  1070. package/dist/components/textarea/index.js +11 -0
  1071. package/dist/components/textarea/index.js.map +1 -0
  1072. package/dist/components/textarea/textarea.js +10 -0
  1073. package/dist/components/textarea/textarea.js.map +1 -0
  1074. package/dist/components/theme-family-switch/index.js +19 -0
  1075. package/dist/components/theme-family-switch/index.js.map +1 -0
  1076. package/dist/components/theme-family-switch/theme-family-switch.js +19 -0
  1077. package/dist/components/theme-family-switch/theme-family-switch.js.map +1 -0
  1078. package/dist/components/theme-switcher/index.js +24 -0
  1079. package/dist/components/theme-switcher/index.js.map +1 -0
  1080. package/dist/components/theme-switcher/theme-switcher.js +21 -0
  1081. package/dist/components/theme-switcher/theme-switcher.js.map +1 -0
  1082. package/dist/components/theme-switcher/use-theme-transition.js +10 -0
  1083. package/dist/components/theme-switcher/use-theme-transition.js.map +1 -0
  1084. package/dist/components/timeline/index.js +18 -0
  1085. package/dist/components/timeline/index.js.map +1 -0
  1086. package/dist/components/timeline/timeline.js +19 -0
  1087. package/dist/components/timeline/timeline.js.map +1 -0
  1088. package/dist/components/toggle/index.js +13 -0
  1089. package/dist/components/toggle/index.js.map +1 -0
  1090. package/dist/components/toggle/toggle.js +12 -0
  1091. package/dist/components/toggle/toggle.js.map +1 -0
  1092. package/dist/components/toggle-group/index.js +15 -0
  1093. package/dist/components/toggle-group/index.js.map +1 -0
  1094. package/dist/components/toggle-group/toggle-group.js +15 -0
  1095. package/dist/components/toggle-group/toggle-group.js.map +1 -0
  1096. package/dist/components/token-spotlight/index.css +25 -0
  1097. package/dist/components/token-spotlight/index.css.map +1 -0
  1098. package/dist/components/token-spotlight/index.js +23 -0
  1099. package/dist/components/token-spotlight/index.js.map +1 -0
  1100. package/dist/components/token-spotlight/token-spotlight.css +25 -0
  1101. package/dist/components/token-spotlight/token-spotlight.css.map +1 -0
  1102. package/dist/components/token-spotlight/token-spotlight.js +23 -0
  1103. package/dist/components/token-spotlight/token-spotlight.js.map +1 -0
  1104. package/dist/components/token-spotlight/token-value-format.js +11 -0
  1105. package/dist/components/token-spotlight/token-value-format.js.map +1 -0
  1106. package/dist/components/toolbar/index.js +27 -0
  1107. package/dist/components/toolbar/index.js.map +1 -0
  1108. package/dist/components/toolbar/toolbar.js +27 -0
  1109. package/dist/components/toolbar/toolbar.js.map +1 -0
  1110. package/dist/components/tooltip/index.js +17 -0
  1111. package/dist/components/tooltip/index.js.map +1 -0
  1112. package/dist/components/tooltip/tooltip.js +16 -0
  1113. package/dist/components/tooltip/tooltip.js.map +1 -0
  1114. package/dist/components/top-nav/index.js +11 -0
  1115. package/dist/components/top-nav/index.js.map +1 -0
  1116. package/dist/components/top-nav/top-nav.js +10 -0
  1117. package/dist/components/top-nav/top-nav.js.map +1 -0
  1118. package/dist/components/transfer/index.js +26 -0
  1119. package/dist/components/transfer/index.js.map +1 -0
  1120. package/dist/components/transfer/transfer.js +26 -0
  1121. package/dist/components/transfer/transfer.js.map +1 -0
  1122. package/dist/components/tree/index.js +21 -0
  1123. package/dist/components/tree/index.js.map +1 -0
  1124. package/dist/components/tree/tree.js +18 -0
  1125. package/dist/components/tree/tree.js.map +1 -0
  1126. package/dist/components/tree/use-tree-keyboard.js +14 -0
  1127. package/dist/components/tree/use-tree-keyboard.js.map +1 -0
  1128. package/dist/components/tree-select/index.js +26 -0
  1129. package/dist/components/tree-select/index.js.map +1 -0
  1130. package/dist/components/tree-select/tree-select.js +26 -0
  1131. package/dist/components/tree-select/tree-select.js.map +1 -0
  1132. package/dist/components/typography/index.js +41 -0
  1133. package/dist/components/typography/index.js.map +1 -0
  1134. package/dist/components/typography/prose.js +29 -0
  1135. package/dist/components/typography/prose.js.map +1 -0
  1136. package/dist/components/typography/typography.js +18 -0
  1137. package/dist/components/typography/typography.js.map +1 -0
  1138. package/dist/components/view-toolbar/index.js +27 -0
  1139. package/dist/components/view-toolbar/index.js.map +1 -0
  1140. package/dist/components/view-toolbar/view-toolbar.js +27 -0
  1141. package/dist/components/view-toolbar/view-toolbar.js.map +1 -0
  1142. package/dist/components/virtual-select/index.js +26 -0
  1143. package/dist/components/virtual-select/index.js.map +1 -0
  1144. package/dist/components/virtual-select/use-virtual-listbox.js +10 -0
  1145. package/dist/components/virtual-select/use-virtual-listbox.js.map +1 -0
  1146. package/dist/components/virtual-select/virtual-select.js +23 -0
  1147. package/dist/components/virtual-select/virtual-select.js.map +1 -0
  1148. package/dist/components/wizard/index.js +19 -0
  1149. package/dist/components/wizard/index.js.map +1 -0
  1150. package/dist/components/wizard/wizard.js +19 -0
  1151. package/dist/components/wizard/wizard.js.map +1 -0
  1152. package/dist/components/workspace-picker/index.js +38 -0
  1153. package/dist/components/workspace-picker/index.js.map +1 -0
  1154. package/dist/components/workspace-picker/workspace-picker-state.js +9 -0
  1155. package/dist/components/workspace-picker/workspace-picker-state.js.map +1 -0
  1156. package/dist/components/workspace-picker/workspace-picker.js +35 -0
  1157. package/dist/components/workspace-picker/workspace-picker.js.map +1 -0
  1158. package/dist/form.js +13 -110
  1159. package/dist/form.js.map +1 -1
  1160. package/dist/illustrations/empty-list-illustration.js +11 -0
  1161. package/dist/illustrations/empty-list-illustration.js.map +1 -0
  1162. package/dist/illustrations/error-illustration.js +11 -0
  1163. package/dist/illustrations/error-illustration.js.map +1 -0
  1164. package/dist/illustrations/first-run-illustration.js +11 -0
  1165. package/dist/illustrations/first-run-illustration.js.map +1 -0
  1166. package/dist/illustrations/illustration-base.js +16 -0
  1167. package/dist/illustrations/illustration-base.js.map +1 -0
  1168. package/dist/illustrations/index.js +41 -0
  1169. package/dist/illustrations/index.js.map +1 -0
  1170. package/dist/illustrations/no-access-illustration.js +11 -0
  1171. package/dist/illustrations/no-access-illustration.js.map +1 -0
  1172. package/dist/illustrations/no-results-illustration.js +11 -0
  1173. package/dist/illustrations/no-results-illustration.js.map +1 -0
  1174. package/dist/illustrations/offline-illustration.js +11 -0
  1175. package/dist/illustrations/offline-illustration.js.map +1 -0
  1176. package/dist/illustrations/success-illustration.js +11 -0
  1177. package/dist/illustrations/success-illustration.js.map +1 -0
  1178. package/dist/index.css +122 -0
  1179. package/dist/index.css.map +1 -0
  1180. package/dist/index.d.ts +1269 -116
  1181. package/dist/index.js +993 -23939
  1182. package/dist/index.js.map +1 -1
  1183. package/dist/lib/agent-event-model.js +9 -0
  1184. package/dist/lib/agent-event-model.js.map +1 -0
  1185. package/dist/lib/approval-option.js +9 -0
  1186. package/dist/lib/approval-option.js.map +1 -0
  1187. package/dist/lib/check-result.js +3 -0
  1188. package/dist/lib/check-result.js.map +1 -0
  1189. package/dist/lib/cn.js +23 -7
  1190. package/dist/lib/cn.js.map +1 -1
  1191. package/dist/lib/color-scale.js +11 -0
  1192. package/dist/lib/color-scale.js.map +1 -0
  1193. package/dist/lib/compact-number.js +21 -0
  1194. package/dist/lib/compact-number.js.map +1 -0
  1195. package/dist/lib/csv.js +11 -0
  1196. package/dist/lib/csv.js.map +1 -0
  1197. package/dist/lib/diff-line.js +11 -0
  1198. package/dist/lib/diff-line.js.map +1 -0
  1199. package/dist/lib/diff-rows.js +12 -0
  1200. package/dist/lib/diff-rows.js.map +1 -0
  1201. package/dist/lib/document-address.js +13 -0
  1202. package/dist/lib/document-address.js.map +1 -0
  1203. package/dist/lib/download.js +11 -0
  1204. package/dist/lib/download.js.map +1 -0
  1205. package/dist/lib/file-icon.js +12 -0
  1206. package/dist/lib/file-icon.js.map +1 -0
  1207. package/dist/lib/file-kind.js +13 -0
  1208. package/dist/lib/file-kind.js.map +1 -0
  1209. package/dist/lib/file-source.js +10 -0
  1210. package/dist/lib/file-source.js.map +1 -0
  1211. package/dist/lib/format-duration.js +9 -0
  1212. package/dist/lib/format-duration.js.map +1 -0
  1213. package/dist/lib/has-renderable-content.js +9 -0
  1214. package/dist/lib/has-renderable-content.js.map +1 -0
  1215. package/dist/lib/merge-refs.js +10 -0
  1216. package/dist/lib/merge-refs.js.map +1 -0
  1217. package/dist/lib/operating-mode.js +9 -0
  1218. package/dist/lib/operating-mode.js.map +1 -0
  1219. package/dist/lib/optional-peer.js +11 -0
  1220. package/dist/lib/optional-peer.js.map +1 -0
  1221. package/dist/lib/session-launch.js +3 -0
  1222. package/dist/lib/session-launch.js.map +1 -0
  1223. package/dist/lib/slash-command.js +11 -0
  1224. package/dist/lib/slash-command.js.map +1 -0
  1225. package/dist/lib/streamdown-translations.js +15 -0
  1226. package/dist/lib/streamdown-translations.js.map +1 -0
  1227. package/dist/lib/trigger-query.js +11 -0
  1228. package/dist/lib/trigger-query.js.map +1 -0
  1229. package/dist/lib/use-controllable-state.js +10 -0
  1230. package/dist/lib/use-controllable-state.js.map +1 -0
  1231. package/dist/lib/use-copy-to-clipboard.js +12 -0
  1232. package/dist/lib/use-copy-to-clipboard.js.map +1 -0
  1233. package/dist/lib/use-mobile.js +10 -0
  1234. package/dist/lib/use-mobile.js.map +1 -0
  1235. package/dist/lib/use-scroll-progress.js +18 -0
  1236. package/dist/lib/use-scroll-progress.js.map +1 -0
  1237. package/package.json +12 -5
  1238. package/src/__contract__/ambient-field.contract.test.tsx +49 -0
  1239. package/src/__contract__/command-chip.contract.test.tsx +49 -0
  1240. package/src/__contract__/install-tabs.contract.test.tsx +49 -0
  1241. package/src/__contract__/integration-matrix.contract.test.tsx +49 -0
  1242. package/src/__contract__/meter.contract.test.tsx +49 -0
  1243. package/src/__contract__/parallax-plane.contract.test.tsx +49 -0
  1244. package/src/__contract__/reveal-on-enter.contract.test.tsx +49 -0
  1245. package/src/__contract__/spec-playground.contract.test.tsx +49 -0
  1246. package/src/__contract__/surface-tour.contract.test.tsx +49 -0
  1247. package/src/__contract__/theme-family-switch.contract.test.tsx +49 -0
  1248. package/src/__contract__/token-spotlight.contract.test.tsx +49 -0
  1249. package/src/blocks-comparison-table.stories.tsx +1 -1
  1250. package/src/components/accordion/accordion.tsx +31 -15
  1251. package/src/components/advanced-group/advanced-group.stories.tsx +2 -0
  1252. package/src/components/alert/alert.tsx +13 -5
  1253. package/src/components/alert-dialog/alert-dialog.tsx +1 -1
  1254. package/src/components/ambient-field/ambient-field.css +98 -0
  1255. package/src/components/ambient-field/ambient-field.stories.tsx +75 -0
  1256. package/src/components/ambient-field/ambient-field.test.tsx +28 -0
  1257. package/src/components/ambient-field/ambient-field.tsx +69 -0
  1258. package/src/components/ambient-field/index.ts +7 -0
  1259. package/src/components/app-shell/app-shell.stories.tsx +344 -1
  1260. package/src/components/app-shell/app-shell.test.tsx +167 -0
  1261. package/src/components/app-shell/app-shell.tsx +119 -5
  1262. package/src/components/app-shell/index.ts +1 -1
  1263. package/src/components/attribution-panel/attributions.generated.ts +77 -4
  1264. package/src/components/badge/badge.stories.tsx +62 -0
  1265. package/src/components/badge/badge.test.tsx +21 -0
  1266. package/src/components/badge/badge.tsx +88 -8
  1267. package/src/components/breadcrumb/breadcrumb.stories.tsx +1 -1
  1268. package/src/components/breadcrumb/breadcrumb.tsx +2 -0
  1269. package/src/components/button/button.stories.tsx +5 -1
  1270. package/src/components/button/button.tsx +19 -8
  1271. package/src/components/calendar/calendar.tsx +6 -1
  1272. package/src/components/card/card.stories.tsx +73 -1
  1273. package/src/components/card/card.test.tsx +29 -2
  1274. package/src/components/card/card.tsx +77 -13
  1275. package/src/components/card/index.ts +2 -0
  1276. package/src/components/change-review/change-review.tsx +1 -1
  1277. package/src/components/collapsible-panel/index.ts +1 -0
  1278. package/src/components/collapsible-panel/use-collapsible-panel.ts +21 -2
  1279. package/src/components/color-picker/color-picker.tsx +3 -3
  1280. package/src/components/command/command.stories.tsx +64 -1
  1281. package/src/components/command/command.test.tsx +73 -0
  1282. package/src/components/command/command.tsx +73 -2
  1283. package/src/components/command-chip/command-chip.stories.tsx +78 -0
  1284. package/src/components/command-chip/command-chip.test.tsx +57 -0
  1285. package/src/components/command-chip/command-chip.tsx +168 -0
  1286. package/src/components/command-chip/index.ts +7 -0
  1287. package/src/components/command-trigger/command-trigger.tsx +1 -1
  1288. package/src/components/confirm-dialog/confirm-dialog.stories.tsx +2 -0
  1289. package/src/components/context-menu/context-menu.stories.tsx +26 -0
  1290. package/src/components/context-menu/context-menu.tsx +6 -6
  1291. package/src/components/context-rail/context-rail.tsx +22 -4
  1292. package/src/components/date-picker/date-picker.tsx +2 -0
  1293. package/src/components/descriptions/descriptions.stories.tsx +6 -0
  1294. package/src/components/descriptions/descriptions.test.tsx +18 -0
  1295. package/src/components/descriptions/descriptions.tsx +33 -5
  1296. package/src/components/descriptions/index.ts +1 -0
  1297. package/src/components/dialog/dialog.stories.tsx +5 -0
  1298. package/src/components/dialog/dialog.tsx +1 -1
  1299. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +37 -0
  1300. package/src/components/dropdown-menu/dropdown-menu.tsx +14 -6
  1301. package/src/components/expand-dialog/expand-dialog.test.tsx +47 -0
  1302. package/src/components/expand-dialog/expand-dialog.tsx +20 -5
  1303. package/src/components/hover-card/hover-card.tsx +1 -1
  1304. package/src/components/input/input.stories.tsx +17 -0
  1305. package/src/components/input/input.tsx +1 -1
  1306. package/src/components/input-group/input-group.stories.tsx +43 -6
  1307. package/src/components/input-group/input-group.tsx +5 -2
  1308. package/src/components/input-otp/input-otp.tsx +4 -2
  1309. package/src/components/install-tabs/index.ts +8 -0
  1310. package/src/components/install-tabs/install-tabs.stories.tsx +147 -0
  1311. package/src/components/install-tabs/install-tabs.test.tsx +120 -0
  1312. package/src/components/install-tabs/install-tabs.tsx +238 -0
  1313. package/src/components/integration-matrix/index.ts +10 -0
  1314. package/src/components/integration-matrix/integration-matrix.stories.tsx +171 -0
  1315. package/src/components/integration-matrix/integration-matrix.test.tsx +89 -0
  1316. package/src/components/integration-matrix/integration-matrix.tsx +237 -0
  1317. package/src/components/locale-provider/messages.ts +252 -0
  1318. package/src/components/mention-input/mention-input.tsx +1 -1
  1319. package/src/components/menubar/menubar.stories.tsx +25 -0
  1320. package/src/components/menubar/menubar.tsx +7 -7
  1321. package/src/components/meter/index.ts +1 -0
  1322. package/src/components/meter/meter.stories.tsx +102 -0
  1323. package/src/components/meter/meter.test.tsx +61 -0
  1324. package/src/components/meter/meter.tsx +173 -0
  1325. package/src/components/metric-card/index.ts +6 -1
  1326. package/src/components/metric-card/metric-card.stories.tsx +63 -0
  1327. package/src/components/metric-card/metric-card.test.tsx +83 -0
  1328. package/src/components/metric-card/metric-card.tsx +97 -14
  1329. package/src/components/nav-user/nav-user.test.tsx +23 -1
  1330. package/src/components/nav-user/nav-user.tsx +68 -53
  1331. package/src/components/navigation-menu/navigation-menu.stories.tsx +42 -0
  1332. package/src/components/navigation-menu/navigation-menu.tsx +1 -1
  1333. package/src/components/page-shell/page-shell.stories.tsx +1 -1
  1334. package/src/components/page-shell/page-shell.tsx +3 -2
  1335. package/src/components/pagination/pagination.tsx +2 -0
  1336. package/src/components/parallax-plane/index.ts +8 -0
  1337. package/src/components/parallax-plane/parallax-plane.css +26 -0
  1338. package/src/components/parallax-plane/parallax-plane.stories.tsx +88 -0
  1339. package/src/components/parallax-plane/parallax-plane.test.tsx +57 -0
  1340. package/src/components/parallax-plane/parallax-plane.tsx +80 -0
  1341. package/src/components/popover/popover.tsx +1 -1
  1342. package/src/components/progress/progress.stories.tsx +85 -0
  1343. package/src/components/progress/progress.test.tsx +47 -0
  1344. package/src/components/progress/progress.tsx +57 -3
  1345. package/src/components/reveal-on-enter/index.ts +5 -0
  1346. package/src/components/reveal-on-enter/reveal-on-enter.css +32 -0
  1347. package/src/components/reveal-on-enter/reveal-on-enter.stories.tsx +100 -0
  1348. package/src/components/reveal-on-enter/reveal-on-enter.test.tsx +87 -0
  1349. package/src/components/reveal-on-enter/reveal-on-enter.tsx +75 -0
  1350. package/src/components/revision-timeline/revision-timeline.tsx +1 -3
  1351. package/src/components/schema-form/index.ts +2 -0
  1352. package/src/components/schema-form/schema-form-spec.ts +36 -0
  1353. package/src/components/schema-form/schema-form.stories.tsx +33 -0
  1354. package/src/components/schema-form/schema-form.test.tsx +43 -0
  1355. package/src/components/schema-form/schema-form.tsx +111 -4
  1356. package/src/components/scroll-area/index.ts +1 -1
  1357. package/src/components/scroll-area/scroll-area.tsx +47 -18
  1358. package/src/components/section-header/section-header.tsx +1 -3
  1359. package/src/components/select/select.stories.tsx +17 -0
  1360. package/src/components/select/select.test.tsx +28 -1
  1361. package/src/components/select/select.tsx +3 -3
  1362. package/src/components/sheet/sheet.tsx +1 -1
  1363. package/src/components/side-dock/side-dock.stories.tsx +83 -0
  1364. package/src/components/side-dock/side-dock.tsx +50 -16
  1365. package/src/components/sidebar/sidebar.stories.tsx +3 -3
  1366. package/src/components/sidebar/sidebar.test.tsx +31 -1
  1367. package/src/components/sidebar/sidebar.tsx +34 -7
  1368. package/src/components/skip-link/skip-link.stories.tsx +1 -0
  1369. package/src/components/slider/slider.stories.tsx +13 -77
  1370. package/src/components/spec-playground/index.ts +10 -0
  1371. package/src/components/spec-playground/locate-json-path.ts +144 -0
  1372. package/src/components/spec-playground/spec-playground.stories.tsx +156 -0
  1373. package/src/components/spec-playground/spec-playground.test.tsx +106 -0
  1374. package/src/components/spec-playground/spec-playground.tsx +351 -0
  1375. package/src/components/state-panel/state-panel.stories.tsx +4 -2
  1376. package/src/components/state-panel/state-panel.tsx +1 -1
  1377. package/src/components/status-badge/status-badge.stories.tsx +53 -0
  1378. package/src/components/status-badge/status-badge.test.tsx +37 -0
  1379. package/src/components/status-badge/status-badge.tsx +75 -13
  1380. package/src/components/surface-tour/index.ts +11 -0
  1381. package/src/components/surface-tour/surface-tour.stories.tsx +150 -0
  1382. package/src/components/surface-tour/surface-tour.test.tsx +117 -0
  1383. package/src/components/surface-tour/surface-tour.tsx +456 -0
  1384. package/src/components/table/table.tsx +5 -2
  1385. package/src/components/tabs/tabs.stories.tsx +47 -1
  1386. package/src/components/tabs/tabs.test.tsx +26 -0
  1387. package/src/components/tabs/tabs.tsx +51 -11
  1388. package/src/components/textarea/textarea.tsx +1 -1
  1389. package/src/components/theme-family-switch/index.ts +10 -0
  1390. package/src/components/theme-family-switch/theme-family-switch.stories.tsx +97 -0
  1391. package/src/components/theme-family-switch/theme-family-switch.test.tsx +85 -0
  1392. package/src/components/theme-family-switch/theme-family-switch.tsx +166 -0
  1393. package/src/components/theme-switcher/theme-switcher.tsx +11 -4
  1394. package/src/components/token-spotlight/index.ts +11 -0
  1395. package/src/components/token-spotlight/token-spotlight.css +32 -0
  1396. package/src/components/token-spotlight/token-spotlight.stories.tsx +161 -0
  1397. package/src/components/token-spotlight/token-spotlight.test.tsx +323 -0
  1398. package/src/components/token-spotlight/token-spotlight.tsx +379 -0
  1399. package/src/components/token-spotlight/token-value-format.ts +205 -0
  1400. package/src/components/top-nav/top-nav.test.tsx +59 -0
  1401. package/src/components/top-nav/top-nav.tsx +36 -6
  1402. package/src/components/tree/tree.stories.tsx +1 -1
  1403. package/src/components/tree/tree.test.tsx +4 -4
  1404. package/src/components/tree/tree.tsx +4 -4
  1405. package/src/components/typography/typography.stories.tsx +7 -2
  1406. package/src/components/typography/typography.tsx +8 -0
  1407. package/src/components/view-toolbar/view-toolbar.stories.tsx +2 -1
  1408. package/src/components/view-toolbar/view-toolbar.tsx +2 -2
  1409. package/src/decoration.stories.tsx +213 -2
  1410. package/src/index.ts +46 -0
  1411. package/src/lib/cn.test.ts +20 -0
  1412. package/src/lib/cn.ts +32 -7
  1413. package/src/lib/color-scale.test.ts +386 -0
  1414. package/src/lib/color-scale.ts +628 -0
  1415. package/src/lib/compact-number.ts +118 -28
  1416. package/src/lib/use-scroll-progress.ts +103 -0
  1417. package/src/motion.stories.tsx +1 -0
  1418. package/src/templates-object-detail-hub.stories.tsx +8 -8
  1419. package/src/templates-screen-states.stories.tsx +1 -1
  1420. package/src/templates-settings.stories.tsx +8 -3
  1421. package/dist/chunk-FCH4ZN6G.js +0 -57
  1422. package/dist/chunk-FCH4ZN6G.js.map +0 -1
@@ -0,0 +1,97 @@
1
+ "use client";
2
+ import {
3
+ DropdownMenu,
4
+ DropdownMenuContent,
5
+ DropdownMenuGroup,
6
+ DropdownMenuItem,
7
+ DropdownMenuLabel,
8
+ DropdownMenuSeparator,
9
+ DropdownMenuTrigger
10
+ } from "./chunk-TU24Y4HN.js";
11
+ import {
12
+ Avatar,
13
+ AvatarFallback,
14
+ AvatarImage
15
+ } from "./chunk-K6YRTASS.js";
16
+ import {
17
+ SidebarMenu,
18
+ SidebarMenuButton,
19
+ SidebarMenuItem,
20
+ useSidebar
21
+ } from "./chunk-R3SYH7RG.js";
22
+ import {
23
+ useLocale
24
+ } from "./chunk-EJQYE4MY.js";
25
+
26
+ // src/components/nav-user/nav-user.tsx
27
+ import { ChevronsUpDown, LogOut, Settings } from "lucide-react";
28
+ import { jsx, jsxs } from "react/jsx-runtime";
29
+ function initialsOf(name) {
30
+ return name.split(" ").map((part) => part[0]).join("").slice(0, 2).toUpperCase();
31
+ }
32
+ function NavUser({ user, onSettings, settingsHref, onSignOut, children }) {
33
+ const { isMobile } = useSidebar();
34
+ const { t } = useLocale();
35
+ const initials = initialsOf(user.name);
36
+ return /* @__PURE__ */ jsx(SidebarMenu, { children: /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxs(DropdownMenu, { children: [
37
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
38
+ SidebarMenuButton,
39
+ {
40
+ size: "lg",
41
+ tooltip: user.name,
42
+ "aria-label": `${user.name} ${user.email}`,
43
+ className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
44
+ children: [
45
+ /* @__PURE__ */ jsxs(Avatar, { className: "size-8 rounded-lg", children: [
46
+ user.avatar && /* @__PURE__ */ jsx(AvatarImage, { src: user.avatar, alt: "" }),
47
+ /* @__PURE__ */ jsx(AvatarFallback, { className: "rounded-lg", children: initials })
48
+ ] }),
49
+ /* @__PURE__ */ jsxs("div", { className: "grid flex-1 text-start text-body leading-tight group-data-[collapsible=icon]:hidden", children: [
50
+ /* @__PURE__ */ jsx("span", { className: "truncate font-medium", children: user.name }),
51
+ /* @__PURE__ */ jsx("span", { className: "truncate text-meta text-sidebar-muted-foreground", children: user.email })
52
+ ] }),
53
+ /* @__PURE__ */ jsx(
54
+ ChevronsUpDown,
55
+ {
56
+ "aria-hidden": "true",
57
+ className: "ms-auto size-4 group-data-[collapsible=icon]:hidden"
58
+ }
59
+ )
60
+ ]
61
+ }
62
+ ) }),
63
+ /* @__PURE__ */ jsxs(
64
+ DropdownMenuContent,
65
+ {
66
+ "data-slot": "nav-user-menu",
67
+ className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg",
68
+ side: isMobile ? "bottom" : "right",
69
+ align: "end",
70
+ sideOffset: 4,
71
+ children: [
72
+ /* @__PURE__ */ jsx(DropdownMenuLabel, { className: "text-meta text-muted-foreground", children: t("ui.navUser.label") }),
73
+ /* @__PURE__ */ jsxs(DropdownMenuGroup, { children: [
74
+ children,
75
+ settingsHref ? /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs("a", { href: settingsHref, children: [
76
+ /* @__PURE__ */ jsx(Settings, { "aria-hidden": "true" }),
77
+ t("ui.navUser.settings")
78
+ ] }) }) : /* @__PURE__ */ jsxs(DropdownMenuItem, { onSelect: onSettings, children: [
79
+ /* @__PURE__ */ jsx(Settings, { "aria-hidden": "true" }),
80
+ t("ui.navUser.settings")
81
+ ] })
82
+ ] }),
83
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
84
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { onSelect: onSignOut, children: [
85
+ /* @__PURE__ */ jsx(LogOut, { "aria-hidden": "true" }),
86
+ t("ui.navUser.signOut")
87
+ ] })
88
+ ]
89
+ }
90
+ )
91
+ ] }) }) });
92
+ }
93
+
94
+ export {
95
+ NavUser
96
+ };
97
+ //# sourceMappingURL=chunk-7PS5MKVH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/nav-user/nav-user.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactNode } from \"react\";\nimport { ChevronsUpDown, LogOut, Settings } from \"lucide-react\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../avatar\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"../dropdown-menu\";\nimport { useLocale } from \"../locale-provider\";\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from \"../sidebar\";\n\nexport interface NavUserUser {\n name: string;\n email: string;\n /** URL for the user's avatar image. */\n avatar?: string;\n}\n\nexport interface NavUserProps {\n user: NavUserUser;\n /** Fires when \"Settings\" is chosen. Ignored when `settingsHref` is set. */\n onSettings?: () => void;\n /** Route of the settings screen — \"Settings\" renders as a link to it. */\n settingsHref?: string;\n /** Fires when \"Sign out\" is chosen. */\n onSignOut?: () => void;\n /**\n * Extra `DropdownMenuItem`s, placed above \"Settings\" (e.g. Profile, Billing).\n * Settings and Sign out are always present — they are the standard pair.\n */\n children?: ReactNode;\n}\n\nfunction initialsOf(name: string): string {\n return name\n .split(\" \")\n .map((part) => part[0])\n .join(\"\")\n .slice(0, 2)\n .toUpperCase();\n}\n\n/**\n * The standard sidebar footer: the signed-in user (avatar, name, email) as one\n * row that opens the account menu — Settings, then Sign out. EVERY app shell's\n * nav rail ends with this; settings never sits in the footer as a loose nav\n * row, and the footer carries no environment/meta line.\n *\n * Collapsed to the 48px icon rail the row is the avatar alone, and its\n * accessible name is written out because the visible label is gone.\n */\nexport function NavUser({ user, onSettings, settingsHref, onSignOut, children }: NavUserProps) {\n const { isMobile } = useSidebar();\n const { t } = useLocale();\n const initials = initialsOf(user.name);\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n tooltip={user.name}\n // Written out: collapsed, the trigger is only an avatar, so its\n // contents cannot name it. Same string as the visible label, in\n // reading order (WCAG 2.5.3).\n aria-label={`${user.name} ${user.email}`}\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <Avatar className=\"size-8 rounded-lg\">\n {user.avatar && <AvatarImage src={user.avatar} alt=\"\" />}\n <AvatarFallback className=\"rounded-lg\">{initials}</AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-start text-body leading-tight group-data-[collapsible=icon]:hidden\">\n <span className=\"truncate font-medium\">{user.name}</span>\n <span className=\"truncate text-meta text-sidebar-muted-foreground\">\n {user.email}\n </span>\n </div>\n <ChevronsUpDown\n aria-hidden=\"true\"\n className=\"ms-auto size-4 group-data-[collapsible=icon]:hidden\"\n />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n data-slot=\"nav-user-menu\"\n className=\"w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg\"\n side={isMobile ? \"bottom\" : \"right\"}\n align=\"end\"\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"text-meta text-muted-foreground\">\n {t(\"ui.navUser.label\")}\n </DropdownMenuLabel>\n <DropdownMenuGroup>\n {children}\n {settingsHref ? (\n <DropdownMenuItem asChild>\n <a href={settingsHref}>\n <Settings aria-hidden=\"true\" />\n {t(\"ui.navUser.settings\")}\n </a>\n </DropdownMenuItem>\n ) : (\n <DropdownMenuItem onSelect={onSettings}>\n <Settings aria-hidden=\"true\" />\n {t(\"ui.navUser.settings\")}\n </DropdownMenuItem>\n )}\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuItem onSelect={onSignOut}>\n <LogOut aria-hidden=\"true\" />\n {t(\"ui.navUser.signOut\")}\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,SAAS,gBAAgB,QAAQ,gBAAgB;AAyEnC,SACkB,KADlB;AArCd,SAAS,WAAW,MAAsB;AACxC,SAAO,KACJ,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,EACrB,KAAK,EAAE,EACP,MAAM,GAAG,CAAC,EACV,YAAY;AACjB;AAWO,SAAS,QAAQ,EAAE,MAAM,YAAY,cAAc,WAAW,SAAS,GAAiB;AAC7F,QAAM,EAAE,SAAS,IAAI,WAAW;AAChC,QAAM,EAAE,EAAE,IAAI,UAAU;AACxB,QAAM,WAAW,WAAW,KAAK,IAAI;AAErC,SACE,oBAAC,eACC,8BAAC,mBACC,+BAAC,gBACC;AAAA,wBAAC,uBAAoB,SAAO,MAC1B;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS,KAAK;AAAA,QAId,cAAY,GAAG,KAAK,IAAI,IAAI,KAAK,KAAK;AAAA,QACtC,WAAU;AAAA,QAEV;AAAA,+BAAC,UAAO,WAAU,qBACf;AAAA,iBAAK,UAAU,oBAAC,eAAY,KAAK,KAAK,QAAQ,KAAI,IAAG;AAAA,YACtD,oBAAC,kBAAe,WAAU,cAAc,oBAAS;AAAA,aACnD;AAAA,UACA,qBAAC,SAAI,WAAU,uFACb;AAAA,gCAAC,UAAK,WAAU,wBAAwB,eAAK,MAAK;AAAA,YAClD,oBAAC,UAAK,WAAU,oDACb,eAAK,OACR;AAAA,aACF;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,eAAY;AAAA,cACZ,WAAU;AAAA;AAAA,UACZ;AAAA;AAAA;AAAA,IACF,GACF;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,aAAU;AAAA,QACV,WAAU;AAAA,QACV,MAAM,WAAW,WAAW;AAAA,QAC5B,OAAM;AAAA,QACN,YAAY;AAAA,QAEZ;AAAA,8BAAC,qBAAkB,WAAU,mCAC1B,YAAE,kBAAkB,GACvB;AAAA,UACA,qBAAC,qBACE;AAAA;AAAA,YACA,eACC,oBAAC,oBAAiB,SAAO,MACvB,+BAAC,OAAE,MAAM,cACP;AAAA,kCAAC,YAAS,eAAY,QAAO;AAAA,cAC5B,EAAE,qBAAqB;AAAA,eAC1B,GACF,IAEA,qBAAC,oBAAiB,UAAU,YAC1B;AAAA,kCAAC,YAAS,eAAY,QAAO;AAAA,cAC5B,EAAE,qBAAqB;AAAA,eAC1B;AAAA,aAEJ;AAAA,UACA,oBAAC,yBAAsB;AAAA,UACvB,qBAAC,oBAAiB,UAAU,WAC1B;AAAA,gCAAC,UAAO,eAAY,QAAO;AAAA,YAC1B,EAAE,oBAAoB;AAAA,aACzB;AAAA;AAAA;AAAA,IACF;AAAA,KACF,GACF,GACF;AAEJ;","names":[]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-7WIHVGYL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,62 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "./chunk-KBNWM27Q.js";
5
+
6
+ // src/components/reveal/reveal.tsx
7
+ import {
8
+ Children,
9
+ cloneElement,
10
+ forwardRef,
11
+ isValidElement
12
+ } from "react";
13
+ import { cva } from "class-variance-authority";
14
+ import { jsx } from "react/jsx-runtime";
15
+ var revealVariants = cva("animate-in fill-mode-both", {
16
+ variants: {
17
+ appear: {
18
+ // Travel ~24px (slide-*-6): below ~16px a slide reads as a flicker/pop, not
19
+ // trackable motion — distance, not duration, is what makes it feel smooth.
20
+ fade: "fade-in",
21
+ up: "fade-in slide-in-from-bottom-6",
22
+ down: "fade-in slide-in-from-top-6",
23
+ left: "fade-in slide-in-from-right-6",
24
+ right: "fade-in slide-in-from-left-6",
25
+ zoom: "fade-in zoom-in-95"
26
+ },
27
+ speed: {
28
+ fast: "duration-fast ease-entrance",
29
+ base: "duration-base ease-entrance",
30
+ slow: "duration-slow ease-entrance"
31
+ }
32
+ },
33
+ defaultVariants: { appear: "up", speed: "slow" }
34
+ });
35
+ var Reveal = forwardRef(function Reveal2({ className, appear, speed, delayMs, style, ...props }, ref) {
36
+ return /* @__PURE__ */ jsx(
37
+ "div",
38
+ {
39
+ ref,
40
+ className: cn(revealVariants({ appear, speed }), className),
41
+ style: delayMs ? { animationDelay: `${delayMs}ms`, ...style } : style,
42
+ ...props
43
+ }
44
+ );
45
+ });
46
+ var RevealGroup = forwardRef(function RevealGroup2({ children, className, appear, speed, staggerMs = 60, ...props }, ref) {
47
+ return /* @__PURE__ */ jsx("div", { ref, className, ...props, children: Children.map(children, (child, index) => {
48
+ if (!isValidElement(child)) return child;
49
+ const el = child;
50
+ return cloneElement(el, {
51
+ className: cn(revealVariants({ appear, speed }), el.props.className),
52
+ style: { animationDelay: `${index * staggerMs}ms`, ...el.props.style }
53
+ });
54
+ }) });
55
+ });
56
+
57
+ export {
58
+ revealVariants,
59
+ Reveal,
60
+ RevealGroup
61
+ };
62
+ //# sourceMappingURL=chunk-7WXDSTNR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/reveal/reveal.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n type CSSProperties,\n type HTMLAttributes,\n type ReactElement,\n} from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/cn\";\n\n/**\n * Entrance-animation classes (tw-animate-css), gated by the motion system: the\n * `duration-*` utility feeds `--tw-duration` (= the gated `--t-*`), so the\n * reveal slows to ~0 when motion is reduced/off. `fill-mode-both` holds the\n * start state through any stagger delay so items don't flash in early.\n */\nexport const revealVariants = cva(\"animate-in fill-mode-both\", {\n variants: {\n appear: {\n // Travel ~24px (slide-*-6): below ~16px a slide reads as a flicker/pop, not\n // trackable motion — distance, not duration, is what makes it feel smooth.\n fade: \"fade-in\",\n up: \"fade-in slide-in-from-bottom-6\",\n down: \"fade-in slide-in-from-top-6\",\n left: \"fade-in slide-in-from-right-6\",\n right: \"fade-in slide-in-from-left-6\",\n zoom: \"fade-in zoom-in-95\",\n },\n speed: {\n fast: \"duration-fast ease-entrance\",\n base: \"duration-base ease-entrance\",\n slow: \"duration-slow ease-entrance\",\n },\n },\n defaultVariants: { appear: \"up\", speed: \"slow\" },\n});\n\nexport interface RevealProps\n extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof revealVariants> {\n /** Animation delay in ms (RevealGroup sets this per child to stagger). */\n delayMs?: number;\n}\n\n/**\n * Animates its content in on mount (fade + directional slide/zoom). Gated by the\n * motion system — no animation when motion is reduced/off. For a list/grid, use\n * {@link RevealGroup} to stagger children.\n */\nexport const Reveal = forwardRef<HTMLDivElement, RevealProps>(function Reveal(\n { className, appear, speed, delayMs, style, ...props },\n ref,\n) {\n return (\n <div\n ref={ref}\n className={cn(revealVariants({ appear, speed }), className)}\n style={delayMs ? { animationDelay: `${delayMs}ms`, ...style } : style}\n {...props}\n />\n );\n});\n\nexport interface RevealGroupProps\n extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof revealVariants> {\n /** Delay added per successive child, in ms. */\n staggerMs?: number;\n}\n\ntype RevealableChild = ReactElement<{ className?: string; style?: CSSProperties }>;\n\n/**\n * Staggers an entrance across direct children. Clones each child to add the\n * reveal classes + an incremental `animation-delay` — no wrapper elements, so it\n * is safe inside flex/grid layouts. Remount it (e.g. via a changing `key`) to\n * replay. Gated by the motion system.\n */\nexport const RevealGroup = forwardRef<HTMLDivElement, RevealGroupProps>(function RevealGroup(\n { children, className, appear, speed, staggerMs = 60, ...props },\n ref,\n) {\n return (\n <div ref={ref} className={className} {...props}>\n {Children.map(children, (child, index) => {\n if (!isValidElement(child)) return child;\n const el = child as RevealableChild;\n return cloneElement(el, {\n className: cn(revealVariants({ appear, speed }), el.props.className),\n style: { animationDelay: `${index * staggerMs}ms`, ...el.props.style },\n });\n })}\n </div>\n );\n});\n"],"mappings":";;;;;;AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIK;AACP,SAAS,WAA8B;AA8CnC;AArCG,IAAM,iBAAiB,IAAI,6BAA6B;AAAA,EAC7D,UAAU;AAAA,IACR,QAAQ;AAAA;AAAA;AAAA,MAGN,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB,EAAE,QAAQ,MAAM,OAAO,OAAO;AACjD,CAAC;AAaM,IAAM,SAAS,WAAwC,SAASA,QACrE,EAAE,WAAW,QAAQ,OAAO,SAAS,OAAO,GAAG,MAAM,GACrD,KACA;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,GAAG,eAAe,EAAE,QAAQ,MAAM,CAAC,GAAG,SAAS;AAAA,MAC1D,OAAO,UAAU,EAAE,gBAAgB,GAAG,OAAO,MAAM,GAAG,MAAM,IAAI;AAAA,MAC/D,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AAgBM,IAAM,cAAc,WAA6C,SAASC,aAC/E,EAAE,UAAU,WAAW,QAAQ,OAAO,YAAY,IAAI,GAAG,MAAM,GAC/D,KACA;AACA,SACE,oBAAC,SAAI,KAAU,WAAuB,GAAG,OACtC,mBAAS,IAAI,UAAU,CAAC,OAAO,UAAU;AACxC,QAAI,CAAC,eAAe,KAAK,EAAG,QAAO;AACnC,UAAM,KAAK;AACX,WAAO,aAAa,IAAI;AAAA,MACtB,WAAW,GAAG,eAAe,EAAE,QAAQ,MAAM,CAAC,GAAG,GAAG,MAAM,SAAS;AAAA,MACnE,OAAO,EAAE,gBAAgB,GAAG,QAAQ,SAAS,MAAM,GAAG,GAAG,MAAM,MAAM;AAAA,IACvE,CAAC;AAAA,EACH,CAAC,GACH;AAEJ,CAAC;","names":["Reveal","RevealGroup"]}
@@ -0,0 +1,395 @@
1
+ "use client";
2
+ import {
3
+ Progress
4
+ } from "./chunk-QNEOO22E.js";
5
+ import {
6
+ useLocale
7
+ } from "./chunk-EJQYE4MY.js";
8
+ import {
9
+ Button
10
+ } from "./chunk-VA2OONPE.js";
11
+ import {
12
+ cn
13
+ } from "./chunk-KBNWM27Q.js";
14
+
15
+ // src/components/file-upload/file-upload.tsx
16
+ import {
17
+ createContext,
18
+ forwardRef,
19
+ use,
20
+ useCallback,
21
+ useId,
22
+ useMemo,
23
+ useRef,
24
+ useState
25
+ } from "react";
26
+ import { X, Upload, FileIcon, CheckCircle2, AlertCircle } from "lucide-react";
27
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
28
+ function fileMatchesAccept(file, accept) {
29
+ if (!accept) return true;
30
+ const patterns = accept.split(",").map((p) => p.trim().toLowerCase()).filter(Boolean);
31
+ if (patterns.length === 0) return true;
32
+ const name = file.name.toLowerCase();
33
+ const type = file.type.toLowerCase();
34
+ return patterns.some((pattern) => {
35
+ if (pattern.startsWith(".")) return name.endsWith(pattern);
36
+ if (pattern.endsWith("/*")) return type.startsWith(pattern.slice(0, -1));
37
+ return type === pattern;
38
+ });
39
+ }
40
+ function makeUploadFileId(file) {
41
+ return `${file.name}-${Date.now()}-${Math.random()}`;
42
+ }
43
+ function describeFileRejection(rejection) {
44
+ switch (rejection.reason) {
45
+ case "accept":
46
+ return `${rejection.file.name} is not an accepted file type.`;
47
+ case "maxSize":
48
+ return `${rejection.file.name} is too large.`;
49
+ case "maxFiles":
50
+ return `${rejection.file.name} was not added \u2014 the file limit was reached.`;
51
+ case "multiple":
52
+ return `${rejection.file.name} was not added \u2014 only one file is allowed.`;
53
+ default:
54
+ return `${rejection.file.name} was not added.`;
55
+ }
56
+ }
57
+ var FileUploadContext = createContext(null);
58
+ function useFileUpload() {
59
+ const ctx = use(FileUploadContext);
60
+ if (!ctx) throw new Error("FileUpload subcomponents must be used inside <FileUpload>.");
61
+ return ctx;
62
+ }
63
+ var FileUpload = forwardRef(function FileUpload2({
64
+ files: filesProp,
65
+ onFilesChange,
66
+ onFilesRejected,
67
+ accept,
68
+ multiple = false,
69
+ maxSize,
70
+ maxFiles,
71
+ disabled = false,
72
+ className,
73
+ children,
74
+ ...props
75
+ }, ref) {
76
+ const isControlled = filesProp !== void 0;
77
+ const [internalFiles, setInternalFiles] = useState([]);
78
+ const [isDragging, setIsDragging] = useState(false);
79
+ const inputRef = useRef(null);
80
+ const inputId = useId();
81
+ const files = useMemo(
82
+ () => isControlled ? filesProp ?? [] : internalFiles,
83
+ [isControlled, filesProp, internalFiles]
84
+ );
85
+ const commit = useCallback(
86
+ (next) => {
87
+ if (!isControlled) setInternalFiles(next);
88
+ onFilesChange?.(next);
89
+ },
90
+ [isControlled, onFilesChange]
91
+ );
92
+ const addFiles = useCallback(
93
+ (incoming) => {
94
+ const rejections = [];
95
+ let candidates = incoming;
96
+ if (!multiple && candidates.length > 1) {
97
+ rejections.push(
98
+ ...candidates.slice(1).map((file) => ({ file, reason: "multiple" }))
99
+ );
100
+ candidates = candidates.slice(0, 1);
101
+ }
102
+ const toAdd = [];
103
+ for (const f of candidates) {
104
+ if (!fileMatchesAccept(f, accept)) {
105
+ rejections.push({ file: f, reason: "accept" });
106
+ continue;
107
+ }
108
+ if (maxSize && f.size > maxSize) {
109
+ rejections.push({ file: f, reason: "maxSize" });
110
+ continue;
111
+ }
112
+ toAdd.push(f);
113
+ }
114
+ const next = [...files];
115
+ for (const f of toAdd) {
116
+ if (maxFiles && next.length >= maxFiles) {
117
+ rejections.push({ file: f, reason: "maxFiles" });
118
+ continue;
119
+ }
120
+ next.push({ id: makeUploadFileId(f), file: f });
121
+ }
122
+ commit(next);
123
+ if (rejections.length > 0) onFilesRejected?.(rejections);
124
+ },
125
+ [files, accept, multiple, maxSize, maxFiles, commit, onFilesRejected]
126
+ );
127
+ const removeFile = useCallback(
128
+ (id) => {
129
+ commit(files.filter((f) => f.id !== id));
130
+ },
131
+ [files, commit]
132
+ );
133
+ const openPicker = useCallback(() => {
134
+ inputRef.current?.click();
135
+ }, []);
136
+ const handleInputChange = useCallback(
137
+ (e) => {
138
+ if (e.target.files) {
139
+ addFiles(Array.from(e.target.files));
140
+ e.target.value = "";
141
+ }
142
+ },
143
+ [addFiles]
144
+ );
145
+ const ctx = useMemo(
146
+ () => ({
147
+ files,
148
+ addFiles,
149
+ removeFile,
150
+ isDragging,
151
+ openPicker,
152
+ accept,
153
+ multiple,
154
+ maxSize,
155
+ maxFiles,
156
+ disabled,
157
+ inputId
158
+ }),
159
+ [
160
+ files,
161
+ addFiles,
162
+ removeFile,
163
+ isDragging,
164
+ openPicker,
165
+ accept,
166
+ multiple,
167
+ maxSize,
168
+ maxFiles,
169
+ disabled,
170
+ inputId
171
+ ]
172
+ );
173
+ return /* @__PURE__ */ jsx(FileUploadContext, { value: ctx, children: /* @__PURE__ */ jsxs(
174
+ "div",
175
+ {
176
+ ref,
177
+ "data-slot": "file-upload",
178
+ "data-disabled": disabled || void 0,
179
+ className: cn("flex flex-col gap-3", className),
180
+ ...props,
181
+ children: [
182
+ /* @__PURE__ */ jsx(
183
+ "input",
184
+ {
185
+ ref: inputRef,
186
+ id: inputId,
187
+ type: "file",
188
+ accept,
189
+ multiple,
190
+ disabled,
191
+ "aria-hidden": "true",
192
+ tabIndex: -1,
193
+ className: "sr-only",
194
+ onChange: handleInputChange
195
+ }
196
+ ),
197
+ /* @__PURE__ */ jsx(
198
+ "div",
199
+ {
200
+ onDragEnter: () => {
201
+ if (!disabled) setIsDragging(true);
202
+ },
203
+ onDragLeave: (e) => {
204
+ if (!e.currentTarget.contains(e.relatedTarget)) {
205
+ setIsDragging(false);
206
+ }
207
+ },
208
+ onDragOver: (e) => {
209
+ e.preventDefault();
210
+ },
211
+ onDrop: (e) => {
212
+ e.preventDefault();
213
+ setIsDragging(false);
214
+ if (!disabled && e.dataTransfer.files.length > 0) {
215
+ addFiles(Array.from(e.dataTransfer.files));
216
+ }
217
+ },
218
+ className: "contents",
219
+ children
220
+ }
221
+ )
222
+ ]
223
+ }
224
+ ) });
225
+ });
226
+ var FileUploadDropzone = forwardRef(
227
+ function FileUploadDropzone2({ className, children, browseLabel, onClick, onKeyDown, ...props }, ref) {
228
+ const { isDragging, disabled, openPicker } = useFileUpload();
229
+ const { t } = useLocale();
230
+ const resolvedBrowseLabel = browseLabel ?? t("ui.fileUpload.browseFiles");
231
+ const isSelfControl = children != null;
232
+ return /* @__PURE__ */ jsx(
233
+ "div",
234
+ {
235
+ ref,
236
+ role: isSelfControl ? "button" : void 0,
237
+ tabIndex: isSelfControl && !disabled ? 0 : void 0,
238
+ "aria-disabled": disabled || void 0,
239
+ onClick: (e) => {
240
+ onClick?.(e);
241
+ if (disabled || e.defaultPrevented) return;
242
+ openPicker();
243
+ },
244
+ onKeyDown: (e) => {
245
+ onKeyDown?.(e);
246
+ if (!isSelfControl || disabled || e.defaultPrevented) return;
247
+ if (e.target !== e.currentTarget) return;
248
+ if (e.key === "Enter" || e.key === " ") {
249
+ e.preventDefault();
250
+ openPicker();
251
+ }
252
+ },
253
+ "data-slot": "file-upload-dropzone",
254
+ "data-dragging": isDragging || void 0,
255
+ "data-disabled": disabled || void 0,
256
+ className: cn(
257
+ "flex flex-col items-center justify-center gap-3 rounded-lg border-2 border-dashed border-border-strong bg-surface-muted px-6 py-10",
258
+ "cursor-pointer transition-colors duration-fast",
259
+ "hover:border-ring hover:bg-accent/50",
260
+ "data-[dragging]:border-primary data-[dragging]:bg-primary/5",
261
+ "data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
262
+ "focus-ring-within focus-within:ring-offset-2 focus-within:ring-offset-background",
263
+ className
264
+ ),
265
+ ...props,
266
+ children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
267
+ /* @__PURE__ */ jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-full bg-muted", children: /* @__PURE__ */ jsx(Upload, { className: "size-5 text-muted-foreground", "aria-hidden": "true" }) }),
268
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-1 text-center", children: [
269
+ /* @__PURE__ */ jsx("p", { className: "text-body font-medium text-foreground", children: t("ui.fileUpload.dragDropHere") }),
270
+ /* @__PURE__ */ jsxs("p", { className: "text-meta text-muted-foreground", children: [
271
+ "or",
272
+ " ",
273
+ /* @__PURE__ */ jsx(
274
+ "button",
275
+ {
276
+ type: "button",
277
+ disabled,
278
+ onClick: (e) => {
279
+ e.stopPropagation();
280
+ openPicker();
281
+ },
282
+ className: cn(
283
+ // #399 — inline text trigger inside a sentence → `-text` rung.
284
+ "text-primary-text underline-offset-2 hover:underline focus-ring rounded-sm",
285
+ // #322 — the dropzone's `focus-ring-within` (above) is the
286
+ // one compound indicator for this composite control; this
287
+ // button delegates rather than painting a second one.
288
+ "focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0",
289
+ "disabled:pointer-events-none disabled:opacity-50"
290
+ ),
291
+ children: resolvedBrowseLabel
292
+ }
293
+ )
294
+ ] })
295
+ ] })
296
+ ] })
297
+ }
298
+ );
299
+ }
300
+ );
301
+ var FileUploadList = forwardRef(
302
+ function FileUploadList2({ className, children, ...props }, ref) {
303
+ const { files } = useFileUpload();
304
+ const { t } = useLocale();
305
+ if (files.length === 0 && !children) return null;
306
+ return (
307
+ // `aria-live="polite"` alone is enough to announce additions/removals —
308
+ // it does NOT require `role="status"`. Adding that role here used to
309
+ // override the `<ul>`'s implicit `list` role, which strips the
310
+ // `listitem` role from every `<FileUploadItem>` (`<li>`) inside it and
311
+ // fails axe's `listitem` rule the moment the list is non-empty.
312
+ /* @__PURE__ */ jsx(
313
+ "ul",
314
+ {
315
+ ref,
316
+ "aria-live": "polite",
317
+ "aria-label": t("ui.fileUpload.selectedFiles"),
318
+ "data-slot": "file-upload-list",
319
+ className: cn("flex flex-col gap-2", className),
320
+ ...props,
321
+ children
322
+ }
323
+ )
324
+ );
325
+ }
326
+ );
327
+ var statusIcon = {
328
+ pending: /* @__PURE__ */ jsx(FileIcon, { className: "size-4 text-muted-foreground", "aria-hidden": "true" }),
329
+ uploading: /* @__PURE__ */ jsx(FileIcon, { className: "size-4 text-primary", "aria-hidden": "true" }),
330
+ success: /* @__PURE__ */ jsx(CheckCircle2, { className: "size-4 text-success", "aria-hidden": "true" }),
331
+ error: /* @__PURE__ */ jsx(AlertCircle, { className: "size-4 text-destructive", "aria-hidden": "true" })
332
+ };
333
+ var FileUploadItem = forwardRef(
334
+ function FileUploadItem2({ uploadFile, progress, status = "pending", errorMessage, className, ...props }, ref) {
335
+ const { removeFile, disabled } = useFileUpload();
336
+ const resolvedProgress = progress ?? uploadFile.progress;
337
+ const resolvedStatus = status ?? uploadFile.status ?? "pending";
338
+ const resolvedError = errorMessage ?? uploadFile.errorMessage;
339
+ const isUploading = resolvedStatus === "uploading";
340
+ const isError = resolvedStatus === "error";
341
+ return /* @__PURE__ */ jsxs(
342
+ "li",
343
+ {
344
+ ref,
345
+ "data-slot": "file-upload-item",
346
+ "data-status": resolvedStatus,
347
+ className: cn(
348
+ "flex flex-col gap-1 rounded-md border border-border bg-card px-3 py-2",
349
+ className
350
+ ),
351
+ ...props,
352
+ children: [
353
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
354
+ statusIcon[resolvedStatus],
355
+ /* @__PURE__ */ jsx("span", { className: "flex-1 min-w-0 truncate text-body text-foreground", children: uploadFile.file.name }),
356
+ /* @__PURE__ */ jsx("span", { className: "shrink-0 text-meta tabular-nums text-muted-foreground", children: formatFileSize(uploadFile.file.size) }),
357
+ /* @__PURE__ */ jsx(
358
+ Button,
359
+ {
360
+ type: "button",
361
+ variant: "ghost",
362
+ size: "icon-sm",
363
+ "aria-label": `Remove ${uploadFile.file.name}`,
364
+ disabled,
365
+ onClick: () => removeFile(uploadFile.id),
366
+ className: "shrink-0",
367
+ children: /* @__PURE__ */ jsx(X, { className: "size-4", "aria-hidden": "true" })
368
+ }
369
+ )
370
+ ] }),
371
+ isUploading && resolvedProgress !== void 0 && /* @__PURE__ */ jsx(Progress, { value: resolvedProgress, className: "h-1" }),
372
+ isError && resolvedError && // #124: this is running text (the rejection reason), so it takes the
373
+ // >=4.5:1 ink rung `text-destructive-text` — not the 3:1 mark rung the
374
+ // `statusIcon.error` glyph above correctly keeps.
375
+ /* @__PURE__ */ jsx("p", { role: "alert", className: "text-meta text-destructive-text", children: resolvedError })
376
+ ]
377
+ }
378
+ );
379
+ }
380
+ );
381
+ function formatFileSize(bytes) {
382
+ if (bytes < 1024) return `${bytes}\xA0B`;
383
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)}\xA0KB`;
384
+ return `${(bytes / (1024 * 1024)).toFixed(1)}\xA0MB`;
385
+ }
386
+
387
+ export {
388
+ describeFileRejection,
389
+ useFileUpload,
390
+ FileUpload,
391
+ FileUploadDropzone,
392
+ FileUploadList,
393
+ FileUploadItem
394
+ };
395
+ //# sourceMappingURL=chunk-A43B4IT7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/file-upload/file-upload.tsx"],"sourcesContent":["\"use client\";\n// a2ui.exposed: no\n\nimport {\n createContext,\n forwardRef,\n use,\n useCallback,\n useId,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n type DragEvent,\n type HTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport { X, Upload, FileIcon, CheckCircle2, AlertCircle } from \"lucide-react\";\nimport { cn } from \"../../lib/cn\";\nimport { Button } from \"../button\";\nimport { useLocale } from \"../locale-provider\";\nimport { Progress } from \"../progress\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport type FileUploadStatus = \"pending\" | \"uploading\" | \"success\" | \"error\";\n\nexport interface UploadFile {\n /** Unique identifier for this file in the list. */\n id: string;\n /** The underlying File object. */\n file: File;\n /** Upload progress 0–100. */\n progress?: number;\n /** Upload lifecycle status. */\n status?: FileUploadStatus;\n /** Error message shown when status is \"error\". */\n errorMessage?: string;\n}\n\n/** Why `addFiles` (picker OR drag-and-drop) declined a file. */\nexport type FileRejectionReason = \"accept\" | \"maxSize\" | \"maxFiles\" | \"multiple\";\n\nexport interface FileRejection {\n file: File;\n reason: FileRejectionReason;\n}\n\n/**\n * Match a file against an `<input accept>`-style pattern list (comma-separated\n * extensions like `.png`, exact MIME types like `image/png`, or wildcards like\n * `image/*`). Drag-and-drop delivers files straight from `DataTransfer` — the\n * browser only enforces `accept` for the native picker dialog, never for a\n * drop — so this has to be re-applied by hand for the drop path to actually\n * \"respect `accept`\".\n */\nfunction fileMatchesAccept(file: File, accept: string | undefined): boolean {\n if (!accept) return true;\n const patterns = accept\n .split(\",\")\n .map((p) => p.trim().toLowerCase())\n .filter(Boolean);\n if (patterns.length === 0) return true;\n const name = file.name.toLowerCase();\n const type = file.type.toLowerCase();\n return patterns.some((pattern) => {\n if (pattern.startsWith(\".\")) return name.endsWith(pattern);\n if (pattern.endsWith(\"/*\")) return type.startsWith(pattern.slice(0, -1));\n return type === pattern;\n });\n}\n\nfunction makeUploadFileId(file: File): string {\n return `${file.name}-${Date.now()}-${Math.random()}`;\n}\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ninterface FileUploadContextValue {\n files: UploadFile[];\n addFiles: (incoming: File[]) => void;\n removeFile: (id: string) => void;\n isDragging: boolean;\n /** Programmatically open the native file picker. */\n openPicker: () => void;\n accept?: string;\n multiple?: boolean;\n maxSize?: number;\n maxFiles?: number;\n disabled?: boolean;\n inputId: string;\n}\n\n/** Read `accept`/`multiple`/`maxSize`/`maxFiles` off a rejection for a default message. */\nexport function describeFileRejection(rejection: FileRejection): string {\n switch (rejection.reason) {\n case \"accept\":\n return `${rejection.file.name} is not an accepted file type.`;\n case \"maxSize\":\n return `${rejection.file.name} is too large.`;\n case \"maxFiles\":\n return `${rejection.file.name} was not added — the file limit was reached.`;\n case \"multiple\":\n return `${rejection.file.name} was not added — only one file is allowed.`;\n default:\n return `${rejection.file.name} was not added.`;\n }\n}\n\nconst FileUploadContext = createContext<FileUploadContextValue | null>(null);\n\nfunction useFileUpload(): FileUploadContextValue {\n const ctx = use(FileUploadContext);\n if (!ctx) throw new Error(\"FileUpload subcomponents must be used inside <FileUpload>.\");\n return ctx;\n}\n\n// ---------------------------------------------------------------------------\n// Provider (FileUpload root)\n// ---------------------------------------------------------------------------\n\nexport interface FileUploadProps extends HTMLAttributes<HTMLDivElement> {\n /** Controlled file list. */\n files?: UploadFile[];\n /** Called when files are added or removed. */\n onFilesChange?: (files: UploadFile[]) => void;\n /**\n * Called with the files a picker selection OR a drag-and-drop declined —\n * wrong type (`accept`), over `maxSize`, over `maxFiles`, or extra files\n * dropped when `multiple` is false — each with its {@link FileRejectionReason}.\n */\n onFilesRejected?: (rejections: FileRejection[]) => void;\n /** Accepted MIME types / extensions (forwarded to <input accept>). */\n accept?: string;\n /** Allow multiple files at once. */\n multiple?: boolean;\n /** Maximum individual file size in bytes. */\n maxSize?: number;\n /** Maximum number of files in the list at once. */\n maxFiles?: number;\n /** Disable all interactions. */\n disabled?: boolean;\n children?: ReactNode;\n}\n\n/**\n * FileUpload — compound-component root (Provider).\n *\n * Holds the selected-file list + drag state and exposes\n * `{ files, addFiles, removeFile, isDragging }` via context.\n * **Presentational** — the app drives per-item `progress` + `status` on\n * `<FileUploadItem>`. No upload/network logic lives here.\n *\n * Controlled via `files`/`onFilesChange`; uncontrolled by default.\n */\nexport const FileUpload = forwardRef<HTMLDivElement, FileUploadProps>(function FileUpload(\n {\n files: filesProp,\n onFilesChange,\n onFilesRejected,\n accept,\n multiple = false,\n maxSize,\n maxFiles,\n disabled = false,\n className,\n children,\n ...props\n },\n ref,\n) {\n const isControlled = filesProp !== undefined;\n const [internalFiles, setInternalFiles] = useState<UploadFile[]>([]);\n const [isDragging, setIsDragging] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputId = useId();\n\n const files = useMemo(\n () => (isControlled ? (filesProp ?? []) : internalFiles),\n [isControlled, filesProp, internalFiles],\n );\n\n const commit = useCallback(\n (next: UploadFile[]) => {\n if (!isControlled) setInternalFiles(next);\n onFilesChange?.(next);\n },\n [isControlled, onFilesChange],\n );\n\n const addFiles = useCallback(\n (incoming: File[]) => {\n const rejections: FileRejection[] = [];\n\n // A drop can deliver more files than the native picker ever would —\n // `multiple` is only enforced by the browser for the `<input>` dialog,\n // never for `DataTransfer`, so re-apply it here for the drop path too.\n let candidates = incoming;\n if (!multiple && candidates.length > 1) {\n rejections.push(\n ...candidates.slice(1).map((file) => ({ file, reason: \"multiple\" as const })),\n );\n candidates = candidates.slice(0, 1);\n }\n\n const toAdd: File[] = [];\n for (const f of candidates) {\n if (!fileMatchesAccept(f, accept)) {\n rejections.push({ file: f, reason: \"accept\" });\n continue;\n }\n if (maxSize && f.size > maxSize) {\n rejections.push({ file: f, reason: \"maxSize\" });\n continue;\n }\n toAdd.push(f);\n }\n\n const next = [...files];\n for (const f of toAdd) {\n if (maxFiles && next.length >= maxFiles) {\n rejections.push({ file: f, reason: \"maxFiles\" });\n continue;\n }\n next.push({ id: makeUploadFileId(f), file: f });\n }\n\n commit(next);\n if (rejections.length > 0) onFilesRejected?.(rejections);\n },\n [files, accept, multiple, maxSize, maxFiles, commit, onFilesRejected],\n );\n\n const removeFile = useCallback(\n (id: string) => {\n commit(files.filter((f) => f.id !== id));\n },\n [files, commit],\n );\n\n const openPicker = useCallback(() => {\n inputRef.current?.click();\n }, []);\n\n const handleInputChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (e.target.files) {\n addFiles(Array.from(e.target.files));\n // Reset so the same file can be re-selected\n e.target.value = \"\";\n }\n },\n [addFiles],\n );\n\n const ctx = useMemo<FileUploadContextValue>(\n () => ({\n files,\n addFiles,\n removeFile,\n isDragging,\n openPicker,\n accept,\n multiple,\n maxSize,\n maxFiles,\n disabled,\n inputId,\n }),\n [\n files,\n addFiles,\n removeFile,\n isDragging,\n openPicker,\n accept,\n multiple,\n maxSize,\n maxFiles,\n disabled,\n inputId,\n ],\n );\n\n return (\n <FileUploadContext value={ctx}>\n <div\n ref={ref}\n data-slot=\"file-upload\"\n data-disabled={disabled || undefined}\n className={cn(\"flex flex-col gap-3\", className)}\n {...props}\n >\n {/* Visually hidden real file input — always present for keyboard users */}\n <input\n ref={inputRef}\n id={inputId}\n type=\"file\"\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n aria-hidden=\"true\"\n tabIndex={-1}\n className=\"sr-only\"\n onChange={handleInputChange}\n />\n {/* Drag state setter lives here so any child drag interaction is captured */}\n <div\n onDragEnter={() => {\n if (!disabled) setIsDragging(true);\n }}\n onDragLeave={(e) => {\n // Only clear dragging when leaving the root container\n if (!e.currentTarget.contains(e.relatedTarget as Node | null)) {\n setIsDragging(false);\n }\n }}\n onDragOver={(e: DragEvent) => {\n e.preventDefault();\n }}\n onDrop={(e: DragEvent) => {\n e.preventDefault();\n setIsDragging(false);\n if (!disabled && e.dataTransfer.files.length > 0) {\n addFiles(Array.from(e.dataTransfer.files));\n }\n }}\n className=\"contents\"\n >\n {children}\n </div>\n </div>\n </FileUploadContext>\n );\n});\n\n// ---------------------------------------------------------------------------\n// FileUploadDropzone\n// ---------------------------------------------------------------------------\n\nexport interface FileUploadDropzoneProps extends HTMLAttributes<HTMLDivElement> {\n /** Label for the default \"Browse files\" button. */\n browseLabel?: string;\n}\n\n/**\n * FileUploadDropzone — the drag-and-drop target.\n *\n * A plain `<div>` drop surface with exactly ONE keyboard-reachable control:\n *\n * - Default content: a real `<button>` (\"Browse files\") is the tab stop; the\n * zone itself carries no role and no tab stop, so nothing interactive is\n * nested inside another interactive element.\n * - Custom `children`: there is no inner button, so the zone itself becomes\n * the control (`role=\"button\"`, a tab stop, Enter/Space). Custom children\n * must then be non-interactive content.\n *\n * A pointer click anywhere on the zone also opens the picker — a mouse\n * convenience on top of the keyboard path above, never the only path.\n */\nexport const FileUploadDropzone = forwardRef<HTMLDivElement, FileUploadDropzoneProps>(\n function FileUploadDropzone(\n { className, children, browseLabel, onClick, onKeyDown, ...props },\n ref,\n ) {\n const { isDragging, disabled, openPicker } = useFileUpload();\n const { t } = useLocale();\n const resolvedBrowseLabel = browseLabel ?? t(\"ui.fileUpload.browseFiles\");\n // With custom children there is no inner button, so the zone owns the\n // one keyboard path itself.\n const isSelfControl = children != null;\n\n return (\n <div\n ref={ref}\n role={isSelfControl ? \"button\" : undefined}\n tabIndex={isSelfControl && !disabled ? 0 : undefined}\n // Also on the default (role-less) zone: it marks the dimmed copy as\n // inactive UI, which WCAG 1.4.3 exempts from contrast — the same\n // exemption a `<label>` of a disabled control gets.\n aria-disabled={disabled || undefined}\n onClick={(e) => {\n onClick?.(e);\n if (disabled || e.defaultPrevented) return;\n openPicker();\n }}\n onKeyDown={(e) => {\n onKeyDown?.(e);\n if (!isSelfControl || disabled || e.defaultPrevented) return;\n if (e.target !== e.currentTarget) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n openPicker();\n }\n }}\n data-slot=\"file-upload-dropzone\"\n data-dragging={isDragging || undefined}\n data-disabled={disabled || undefined}\n className={cn(\n \"flex flex-col items-center justify-center gap-3 rounded-lg border-2 border-dashed border-border-strong bg-surface-muted px-6 py-10\",\n \"cursor-pointer transition-colors duration-fast\",\n \"hover:border-ring hover:bg-accent/50\",\n \"data-[dragging]:border-primary data-[dragging]:bg-primary/5\",\n \"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n \"focus-ring-within focus-within:ring-offset-2 focus-within:ring-offset-background\",\n className,\n )}\n {...props}\n >\n {children ?? (\n <>\n <div className=\"flex h-12 w-12 items-center justify-center rounded-full bg-muted\">\n <Upload className=\"size-5 text-muted-foreground\" aria-hidden=\"true\" />\n </div>\n <div className=\"flex flex-col items-center gap-1 text-center\">\n <p className=\"text-body font-medium text-foreground\">\n {t(\"ui.fileUpload.dragDropHere\")}\n </p>\n <p className=\"text-meta text-muted-foreground\">\n or{\" \"}\n <button\n type=\"button\"\n disabled={disabled}\n onClick={(e) => {\n // The zone's own click handler opens the picker; stop the\n // bubble so one activation opens it exactly once.\n e.stopPropagation();\n openPicker();\n }}\n className={cn(\n // #399 — inline text trigger inside a sentence → `-text` rung.\n \"text-primary-text underline-offset-2 hover:underline focus-ring rounded-sm\",\n // #322 — the dropzone's `focus-ring-within` (above) is the\n // one compound indicator for this composite control; this\n // button delegates rather than painting a second one.\n \"focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n )}\n >\n {resolvedBrowseLabel}\n </button>\n </p>\n </div>\n </>\n )}\n </div>\n );\n },\n);\n\n// ---------------------------------------------------------------------------\n// FileUploadList\n// ---------------------------------------------------------------------------\n\nexport type FileUploadListProps = HTMLAttributes<HTMLUListElement>;\n\n/**\n * FileUploadList — the `role=\"status\"` region that lists accepted files.\n * Reads from context; children are `<FileUploadItem>` elements.\n */\nexport const FileUploadList = forwardRef<HTMLUListElement, FileUploadListProps>(\n function FileUploadList({ className, children, ...props }, ref) {\n const { files } = useFileUpload();\n const { t } = useLocale();\n if (files.length === 0 && !children) return null;\n\n return (\n // `aria-live=\"polite\"` alone is enough to announce additions/removals —\n // it does NOT require `role=\"status\"`. Adding that role here used to\n // override the `<ul>`'s implicit `list` role, which strips the\n // `listitem` role from every `<FileUploadItem>` (`<li>`) inside it and\n // fails axe's `listitem` rule the moment the list is non-empty.\n <ul\n ref={ref}\n aria-live=\"polite\"\n aria-label={t(\"ui.fileUpload.selectedFiles\")}\n data-slot=\"file-upload-list\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n >\n {children}\n </ul>\n );\n },\n);\n\n// ---------------------------------------------------------------------------\n// FileUploadItem\n// ---------------------------------------------------------------------------\n\nexport interface FileUploadItemProps extends HTMLAttributes<HTMLLIElement> {\n /** The UploadFile entry to display. */\n uploadFile: UploadFile;\n /** Upload progress 0–100. Shown only during \"uploading\" status. */\n progress?: number;\n /** Current status of the upload. */\n status?: FileUploadStatus;\n /** Error message (displayed when status=\"error\"). */\n errorMessage?: string;\n}\n\nconst statusIcon: Record<FileUploadStatus, ReactNode> = {\n pending: <FileIcon className=\"size-4 text-muted-foreground\" aria-hidden=\"true\" />,\n uploading: <FileIcon className=\"size-4 text-primary\" aria-hidden=\"true\" />,\n success: <CheckCircle2 className=\"size-4 text-success\" aria-hidden=\"true\" />,\n error: <AlertCircle className=\"size-4 text-destructive\" aria-hidden=\"true\" />,\n};\n\n/**\n * FileUploadItem — a single row in the file list.\n *\n * The app controls `progress` and `status` to drive the upload lifecycle.\n * Per-file errors use `role=\"alert\"`.\n */\nexport const FileUploadItem = forwardRef<HTMLLIElement, FileUploadItemProps>(\n function FileUploadItem(\n { uploadFile, progress, status = \"pending\", errorMessage, className, ...props },\n ref,\n ) {\n const { removeFile, disabled } = useFileUpload();\n const resolvedProgress = progress ?? uploadFile.progress;\n const resolvedStatus = status ?? uploadFile.status ?? \"pending\";\n const resolvedError = errorMessage ?? uploadFile.errorMessage;\n\n const isUploading = resolvedStatus === \"uploading\";\n const isError = resolvedStatus === \"error\";\n\n return (\n <li\n ref={ref}\n data-slot=\"file-upload-item\"\n data-status={resolvedStatus}\n className={cn(\n \"flex flex-col gap-1 rounded-md border border-border bg-card px-3 py-2\",\n className,\n )}\n {...props}\n >\n <div className=\"flex items-center gap-2\">\n {statusIcon[resolvedStatus]}\n <span className=\"flex-1 min-w-0 truncate text-body text-foreground\">\n {uploadFile.file.name}\n </span>\n <span className=\"shrink-0 text-meta tabular-nums text-muted-foreground\">\n {formatFileSize(uploadFile.file.size)}\n </span>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={`Remove ${uploadFile.file.name}`}\n disabled={disabled}\n onClick={() => removeFile(uploadFile.id)}\n className=\"shrink-0\"\n >\n <X className=\"size-4\" aria-hidden=\"true\" />\n </Button>\n </div>\n {isUploading && resolvedProgress !== undefined && (\n <Progress value={resolvedProgress} className=\"h-1\" />\n )}\n {isError && resolvedError && (\n // #124: this is running text (the rejection reason), so it takes the\n // >=4.5:1 ink rung `text-destructive-text` — not the 3:1 mark rung the\n // `statusIcon.error` glyph above correctly keeps.\n <p role=\"alert\" className=\"text-meta text-destructive-text\">\n {resolvedError}\n </p>\n )}\n </li>\n );\n },\n);\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction formatFileSize(bytes: number): string {\n if (bytes < 1024) return `${bytes}\\u00A0B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)}\\u00A0KB`;\n return `${(bytes / (1024 * 1024)).toFixed(1)}\\u00A0MB`;\n}\n\n// ---------------------------------------------------------------------------\n// useFileUpload export (for advanced consumers outside a subpart)\n// ---------------------------------------------------------------------------\nexport { useFileUpload };\n"],"mappings":"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","names":["FileUpload","FileUploadDropzone","FileUploadList","FileUploadItem"]}