@elabs-ai/components-ui 4.1.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 (1547) 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 +1390 -146
  1181. package/dist/index.js +997 -22676
  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 +28 -3
  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__/attribution-panel.contract.test.tsx +49 -0
  1240. package/src/__contract__/badge.contract.test.tsx +49 -0
  1241. package/src/__contract__/bounded-number.contract.test.tsx +49 -0
  1242. package/src/__contract__/button.contract.test.tsx +49 -0
  1243. package/src/__contract__/color-picker.contract.test.tsx +49 -0
  1244. package/src/__contract__/combobox.contract.test.tsx +49 -0
  1245. package/src/__contract__/command-chip.contract.test.tsx +49 -0
  1246. package/src/__contract__/command-trigger.contract.test.tsx +49 -0
  1247. package/src/__contract__/copyable-value.contract.test.tsx +49 -0
  1248. package/src/__contract__/date-picker.contract.test.tsx +49 -0
  1249. package/src/__contract__/date-range-picker.contract.test.tsx +49 -0
  1250. package/src/__contract__/empty-state.contract.test.tsx +49 -0
  1251. package/src/__contract__/error-state.contract.test.tsx +49 -0
  1252. package/src/__contract__/icon-button.contract.test.tsx +49 -0
  1253. package/src/__contract__/input.contract.test.tsx +49 -0
  1254. package/src/__contract__/install-tabs.contract.test.tsx +49 -0
  1255. package/src/__contract__/integration-matrix.contract.test.tsx +49 -0
  1256. package/src/__contract__/key-value-editor.contract.test.tsx +49 -0
  1257. package/src/__contract__/list-editor.contract.test.tsx +49 -0
  1258. package/src/__contract__/loading-state.contract.test.tsx +49 -0
  1259. package/src/__contract__/meter.contract.test.tsx +49 -0
  1260. package/src/__contract__/metric-card.contract.test.tsx +49 -0
  1261. package/src/__contract__/model-picker.contract.test.tsx +49 -0
  1262. package/src/__contract__/nav-notifications.contract.test.tsx +49 -0
  1263. package/src/__contract__/number-input.contract.test.tsx +49 -0
  1264. package/src/__contract__/parallax-plane.contract.test.tsx +49 -0
  1265. package/src/__contract__/rating.contract.test.tsx +49 -0
  1266. package/src/__contract__/reveal-on-enter.contract.test.tsx +49 -0
  1267. package/src/__contract__/schema-form.contract.test.tsx +49 -0
  1268. package/src/__contract__/section-header.contract.test.tsx +49 -0
  1269. package/src/__contract__/segmented-field.contract.test.tsx +49 -0
  1270. package/src/__contract__/slider-number.contract.test.tsx +49 -0
  1271. package/src/__contract__/spec-playground.contract.test.tsx +49 -0
  1272. package/src/__contract__/status-badge.contract.test.tsx +49 -0
  1273. package/src/__contract__/surface-tour.contract.test.tsx +49 -0
  1274. package/src/__contract__/tag-input.contract.test.tsx +49 -0
  1275. package/src/__contract__/text.contract.test.tsx +49 -0
  1276. package/src/__contract__/textarea.contract.test.tsx +49 -0
  1277. package/src/__contract__/theme-family-switch.contract.test.tsx +49 -0
  1278. package/src/__contract__/timeline.contract.test.tsx +49 -0
  1279. package/src/__contract__/toggle.contract.test.tsx +49 -0
  1280. package/src/__contract__/token-spotlight.contract.test.tsx +49 -0
  1281. package/src/__contract__/transfer.contract.test.tsx +49 -0
  1282. package/src/__contract__/tree-select.contract.test.tsx +49 -0
  1283. package/src/__contract__/tree.contract.test.tsx +49 -0
  1284. package/src/__contract__/virtual-select.contract.test.tsx +49 -0
  1285. package/src/__contract__/workspace-picker.contract.test.tsx +49 -0
  1286. package/src/blocks-comparison-table.stories.tsx +1 -1
  1287. package/src/components/accordion/accordion.tsx +41 -16
  1288. package/src/components/advanced-group/advanced-group.stories.tsx +2 -0
  1289. package/src/components/alert/alert.tsx +24 -8
  1290. package/src/components/alert-dialog/alert-dialog.test.tsx +32 -0
  1291. package/src/components/alert-dialog/alert-dialog.tsx +28 -6
  1292. package/src/components/ambient-field/ambient-field.css +98 -0
  1293. package/src/components/ambient-field/ambient-field.stories.tsx +75 -0
  1294. package/src/components/ambient-field/ambient-field.test.tsx +28 -0
  1295. package/src/components/ambient-field/ambient-field.tsx +69 -0
  1296. package/src/components/ambient-field/index.ts +7 -0
  1297. package/src/components/app-shell/app-shell.stories.tsx +344 -1
  1298. package/src/components/app-shell/app-shell.test.tsx +266 -0
  1299. package/src/components/app-shell/app-shell.tsx +147 -14
  1300. package/src/components/app-shell/index.ts +1 -1
  1301. package/src/components/attribution-panel/attribution-panel.tsx +2 -0
  1302. package/src/components/attribution-panel/attributions.generated.ts +79 -6
  1303. package/src/components/avatar/avatar.tsx +4 -1
  1304. package/src/components/badge/badge.stories.tsx +62 -0
  1305. package/src/components/badge/badge.test.tsx +29 -0
  1306. package/src/components/badge/badge.tsx +101 -11
  1307. package/src/components/bento-grid/bento-grid.test.tsx +23 -2
  1308. package/src/components/bento-grid/bento-grid.tsx +10 -0
  1309. package/src/components/bounded-number/bounded-number.test.tsx +1 -1
  1310. package/src/components/bounded-number/bounded-number.tsx +78 -75
  1311. package/src/components/breadcrumb/breadcrumb.stories.tsx +1 -1
  1312. package/src/components/breadcrumb/breadcrumb.tsx +5 -2
  1313. package/src/components/button/button.stories.tsx +5 -1
  1314. package/src/components/button/button.tsx +37 -20
  1315. package/src/components/button-group/button-group.tsx +1 -1
  1316. package/src/components/calendar/calendar.tsx +9 -3
  1317. package/src/components/card/card.stories.tsx +73 -1
  1318. package/src/components/card/card.test.tsx +53 -4
  1319. package/src/components/card/card.tsx +122 -17
  1320. package/src/components/card/index.ts +2 -0
  1321. package/src/components/carousel/carousel.test.tsx +169 -0
  1322. package/src/components/carousel/carousel.tsx +93 -32
  1323. package/src/components/change-review/change-review.tsx +39 -30
  1324. package/src/components/checkbox/checkbox.tsx +1 -0
  1325. package/src/components/collapsible-panel/index.ts +1 -0
  1326. package/src/components/collapsible-panel/use-collapsible-panel.ts +21 -5
  1327. package/src/components/color-picker/color-picker.tsx +20 -14
  1328. package/src/components/combobox/combobox.stories.tsx +10 -0
  1329. package/src/components/combobox/combobox.test.tsx +54 -0
  1330. package/src/components/combobox/combobox.tsx +25 -11
  1331. package/src/components/command/command.stories.tsx +64 -1
  1332. package/src/components/command/command.test.tsx +88 -0
  1333. package/src/components/command/command.tsx +81 -8
  1334. package/src/components/command-chip/command-chip.stories.tsx +78 -0
  1335. package/src/components/command-chip/command-chip.test.tsx +57 -0
  1336. package/src/components/command-chip/command-chip.tsx +168 -0
  1337. package/src/components/command-chip/index.ts +7 -0
  1338. package/src/components/command-trigger/command-trigger.tsx +1 -1
  1339. package/src/components/confirm-dialog/confirm-dialog.stories.tsx +2 -0
  1340. package/src/components/context-menu/context-menu.stories.tsx +26 -0
  1341. package/src/components/context-menu/context-menu.tsx +17 -8
  1342. package/src/components/context-rail/context-rail.tsx +26 -8
  1343. package/src/components/copyable-value/copyable-value.stories.tsx +10 -0
  1344. package/src/components/copyable-value/copyable-value.test.tsx +28 -1
  1345. package/src/components/copyable-value/copyable-value.tsx +12 -1
  1346. package/src/components/date-picker/date-picker.stories.tsx +9 -0
  1347. package/src/components/date-picker/date-picker.test.tsx +52 -0
  1348. package/src/components/date-picker/date-picker.tsx +15 -15
  1349. package/src/components/date-range-picker/date-range-picker.stories.tsx +9 -0
  1350. package/src/components/date-range-picker/date-range-picker.test.tsx +76 -1
  1351. package/src/components/date-range-picker/date-range-picker.tsx +39 -28
  1352. package/src/components/descriptions/descriptions.stories.tsx +6 -0
  1353. package/src/components/descriptions/descriptions.test.tsx +18 -0
  1354. package/src/components/descriptions/descriptions.tsx +34 -6
  1355. package/src/components/descriptions/index.ts +1 -0
  1356. package/src/components/dialog/dialog.stories.tsx +5 -0
  1357. package/src/components/dialog/dialog.test.tsx +8 -3
  1358. package/src/components/dialog/dialog.tsx +13 -5
  1359. package/src/components/drawer/drawer.tsx +23 -6
  1360. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +37 -0
  1361. package/src/components/dropdown-menu/dropdown-menu.tsx +17 -9
  1362. package/src/components/expand-dialog/expand-dialog.test.tsx +47 -0
  1363. package/src/components/expand-dialog/expand-dialog.tsx +20 -5
  1364. package/src/components/field/field.tsx +2 -0
  1365. package/src/components/field-row/field-row.tsx +2 -0
  1366. package/src/components/file-upload/file-upload.test.tsx +83 -10
  1367. package/src/components/file-upload/file-upload.tsx +150 -28
  1368. package/src/components/form/form.tsx +4 -2
  1369. package/src/components/hover-card/hover-card.tsx +2 -1
  1370. package/src/components/icon-button/icon-button.tsx +1 -1
  1371. package/src/components/input/input.stories.tsx +17 -0
  1372. package/src/components/input/input.tsx +8 -4
  1373. package/src/components/input-group/input-group.stories.tsx +43 -6
  1374. package/src/components/input-group/input-group.tsx +10 -7
  1375. package/src/components/input-otp/input-otp.tsx +7 -3
  1376. package/src/components/install-tabs/index.ts +8 -0
  1377. package/src/components/install-tabs/install-tabs.stories.tsx +147 -0
  1378. package/src/components/install-tabs/install-tabs.test.tsx +120 -0
  1379. package/src/components/install-tabs/install-tabs.tsx +238 -0
  1380. package/src/components/integration-matrix/index.ts +10 -0
  1381. package/src/components/integration-matrix/integration-matrix.stories.tsx +171 -0
  1382. package/src/components/integration-matrix/integration-matrix.test.tsx +89 -0
  1383. package/src/components/integration-matrix/integration-matrix.tsx +237 -0
  1384. package/src/components/keyboard-shortcuts/keyboard-shortcuts.tsx +2 -2
  1385. package/src/components/label/label.tsx +1 -1
  1386. package/src/components/list-editor/list-editor.test.tsx +24 -0
  1387. package/src/components/list-editor/list-editor.tsx +126 -52
  1388. package/src/components/locale-provider/locale-keys.test.ts +134 -0
  1389. package/src/components/locale-provider/messages.ts +573 -0
  1390. package/src/components/mention-input/mention-input.stories.tsx +3 -3
  1391. package/src/components/mention-input/mention-input.test.tsx +51 -1
  1392. package/src/components/mention-input/mention-input.tsx +59 -9
  1393. package/src/components/menubar/menubar.stories.tsx +25 -0
  1394. package/src/components/menubar/menubar.tsx +18 -8
  1395. package/src/components/meter/index.ts +1 -0
  1396. package/src/components/meter/meter.stories.tsx +102 -0
  1397. package/src/components/meter/meter.test.tsx +61 -0
  1398. package/src/components/meter/meter.tsx +173 -0
  1399. package/src/components/metric-card/index.ts +6 -1
  1400. package/src/components/metric-card/metric-card.stories.tsx +63 -0
  1401. package/src/components/metric-card/metric-card.test.tsx +83 -0
  1402. package/src/components/metric-card/metric-card.tsx +97 -14
  1403. package/src/components/nav-main/nav-main.tsx +7 -3
  1404. package/src/components/nav-notifications/nav-notifications.test.tsx +11 -0
  1405. package/src/components/nav-notifications/nav-notifications.tsx +11 -5
  1406. package/src/components/nav-user/nav-user.test.tsx +23 -1
  1407. package/src/components/nav-user/nav-user.tsx +68 -53
  1408. package/src/components/navigation-menu/navigation-menu.stories.tsx +42 -0
  1409. package/src/components/navigation-menu/navigation-menu.tsx +16 -4
  1410. package/src/components/number-input/number-input.stories.tsx +7 -3
  1411. package/src/components/number-input/number-input.test.tsx +47 -0
  1412. package/src/components/number-input/number-input.tsx +65 -24
  1413. package/src/components/page-shell/page-shell.stories.tsx +1 -1
  1414. package/src/components/page-shell/page-shell.tsx +3 -2
  1415. package/src/components/pagination/pagination.test.tsx +20 -1
  1416. package/src/components/pagination/pagination.tsx +20 -14
  1417. package/src/components/parallax-plane/index.ts +8 -0
  1418. package/src/components/parallax-plane/parallax-plane.css +26 -0
  1419. package/src/components/parallax-plane/parallax-plane.stories.tsx +88 -0
  1420. package/src/components/parallax-plane/parallax-plane.test.tsx +57 -0
  1421. package/src/components/parallax-plane/parallax-plane.tsx +80 -0
  1422. package/src/components/popover/popover.tsx +2 -1
  1423. package/src/components/progress/progress.stories.tsx +85 -0
  1424. package/src/components/progress/progress.test.tsx +47 -0
  1425. package/src/components/progress/progress.tsx +59 -3
  1426. package/src/components/rating/rating.tsx +2 -0
  1427. package/src/components/resizable/resizable.test.tsx +76 -0
  1428. package/src/components/resizable/resizable.tsx +31 -5
  1429. package/src/components/reveal-on-enter/index.ts +5 -0
  1430. package/src/components/reveal-on-enter/reveal-on-enter.css +32 -0
  1431. package/src/components/reveal-on-enter/reveal-on-enter.stories.tsx +100 -0
  1432. package/src/components/reveal-on-enter/reveal-on-enter.test.tsx +87 -0
  1433. package/src/components/reveal-on-enter/reveal-on-enter.tsx +75 -0
  1434. package/src/components/revision-timeline/revision-timeline.tsx +8 -5
  1435. package/src/components/schema-form/index.ts +2 -0
  1436. package/src/components/schema-form/schema-form-spec.ts +36 -0
  1437. package/src/components/schema-form/schema-form-store.ts +506 -0
  1438. package/src/components/schema-form/schema-form.stories.tsx +33 -0
  1439. package/src/components/schema-form/schema-form.test.tsx +165 -1
  1440. package/src/components/schema-form/schema-form.tsx +271 -328
  1441. package/src/components/scroll-area/index.ts +1 -1
  1442. package/src/components/scroll-area/scroll-area.tsx +47 -18
  1443. package/src/components/section-header/section-header.tsx +2 -4
  1444. package/src/components/select/select.stories.tsx +17 -0
  1445. package/src/components/select/select.test.tsx +28 -1
  1446. package/src/components/select/select.tsx +9 -7
  1447. package/src/components/separator/separator.tsx +1 -0
  1448. package/src/components/sheet/sheet.test.tsx +39 -0
  1449. package/src/components/sheet/sheet.tsx +40 -9
  1450. package/src/components/side-dock/side-dock.stories.tsx +83 -0
  1451. package/src/components/side-dock/side-dock.test.tsx +26 -0
  1452. package/src/components/side-dock/side-dock.tsx +65 -18
  1453. package/src/components/sidebar/sidebar.stories.tsx +3 -3
  1454. package/src/components/sidebar/sidebar.test.tsx +66 -2
  1455. package/src/components/sidebar/sidebar.tsx +54 -13
  1456. package/src/components/skeleton/skeleton.tsx +1 -0
  1457. package/src/components/skip-link/skip-link.stories.tsx +1 -0
  1458. package/src/components/slider/slider.stories.tsx +13 -77
  1459. package/src/components/slider-number/slider-number.stories.tsx +4 -1
  1460. package/src/components/slider-number/slider-number.test.tsx +1 -1
  1461. package/src/components/sonner/sonner.tsx +2 -0
  1462. package/src/components/spec-playground/index.ts +10 -0
  1463. package/src/components/spec-playground/locate-json-path.ts +144 -0
  1464. package/src/components/spec-playground/spec-playground.stories.tsx +156 -0
  1465. package/src/components/spec-playground/spec-playground.test.tsx +106 -0
  1466. package/src/components/spec-playground/spec-playground.tsx +351 -0
  1467. package/src/components/spinner/spinner.test.tsx +18 -0
  1468. package/src/components/spinner/spinner.tsx +14 -4
  1469. package/src/components/state-panel/state-panel.stories.tsx +4 -2
  1470. package/src/components/state-panel/state-panel.test.tsx +3 -3
  1471. package/src/components/state-panel/state-panel.tsx +16 -9
  1472. package/src/components/status-badge/status-badge.stories.tsx +53 -0
  1473. package/src/components/status-badge/status-badge.test.tsx +37 -0
  1474. package/src/components/status-badge/status-badge.tsx +75 -13
  1475. package/src/components/surface-tour/index.ts +11 -0
  1476. package/src/components/surface-tour/surface-tour.stories.tsx +150 -0
  1477. package/src/components/surface-tour/surface-tour.test.tsx +117 -0
  1478. package/src/components/surface-tour/surface-tour.tsx +456 -0
  1479. package/src/components/switch/switch.tsx +2 -0
  1480. package/src/components/table/table.stories.tsx +3 -1
  1481. package/src/components/table/table.test.tsx +9 -2
  1482. package/src/components/table/table.tsx +22 -9
  1483. package/src/components/tabs/index.ts +10 -1
  1484. package/src/components/tabs/tabs.stories.tsx +95 -1
  1485. package/src/components/tabs/tabs.test.tsx +93 -0
  1486. package/src/components/tabs/tabs.tsx +215 -77
  1487. package/src/components/tag-input/tag-input.tsx +4 -2
  1488. package/src/components/team-switcher/team-switcher.tsx +3 -3
  1489. package/src/components/textarea/textarea.tsx +2 -2
  1490. package/src/components/theme-family-switch/index.ts +10 -0
  1491. package/src/components/theme-family-switch/theme-family-switch.stories.tsx +97 -0
  1492. package/src/components/theme-family-switch/theme-family-switch.test.tsx +85 -0
  1493. package/src/components/theme-family-switch/theme-family-switch.tsx +166 -0
  1494. package/src/components/theme-switcher/theme-switcher.stories.tsx +76 -0
  1495. package/src/components/theme-switcher/theme-switcher.test.tsx +182 -0
  1496. package/src/components/theme-switcher/theme-switcher.tsx +144 -13
  1497. package/src/components/timeline/timeline.tsx +0 -3
  1498. package/src/components/toggle/toggle.tsx +7 -2
  1499. package/src/components/toggle-group/toggle-group.tsx +2 -0
  1500. package/src/components/token-spotlight/index.ts +11 -0
  1501. package/src/components/token-spotlight/token-spotlight.css +32 -0
  1502. package/src/components/token-spotlight/token-spotlight.stories.tsx +161 -0
  1503. package/src/components/token-spotlight/token-spotlight.test.tsx +323 -0
  1504. package/src/components/token-spotlight/token-spotlight.tsx +379 -0
  1505. package/src/components/token-spotlight/token-value-format.ts +205 -0
  1506. package/src/components/tooltip/tooltip.tsx +2 -1
  1507. package/src/components/top-nav/top-nav.test.tsx +59 -0
  1508. package/src/components/top-nav/top-nav.tsx +37 -7
  1509. package/src/components/transfer/transfer.tsx +35 -30
  1510. package/src/components/tree/tree.stories.tsx +1 -1
  1511. package/src/components/tree/tree.test.tsx +45 -4
  1512. package/src/components/tree/tree.tsx +81 -26
  1513. package/src/components/tree/use-tree-keyboard.ts +37 -14
  1514. package/src/components/tree-select/tree-select.stories.tsx +9 -0
  1515. package/src/components/tree-select/tree-select.test.tsx +5 -0
  1516. package/src/components/tree-select/tree-select.tsx +11 -14
  1517. package/src/components/typography/prose.test.tsx +3 -2
  1518. package/src/components/typography/prose.tsx +3 -3
  1519. package/src/components/typography/typography.stories.tsx +7 -2
  1520. package/src/components/typography/typography.tsx +8 -0
  1521. package/src/components/view-toolbar/view-toolbar.stories.tsx +2 -1
  1522. package/src/components/view-toolbar/view-toolbar.tsx +2 -2
  1523. package/src/components/virtual-select/virtual-select.stories.tsx +9 -0
  1524. package/src/components/virtual-select/virtual-select.test.tsx +28 -2
  1525. package/src/components/virtual-select/virtual-select.tsx +56 -18
  1526. package/src/components/wizard/wizard.test.tsx +9 -0
  1527. package/src/components/wizard/wizard.tsx +12 -4
  1528. package/src/decoration.stories.tsx +213 -2
  1529. package/src/index.ts +51 -0
  1530. package/src/lib/cn.test.ts +20 -0
  1531. package/src/lib/cn.ts +36 -2
  1532. package/src/lib/color-scale.test.ts +386 -0
  1533. package/src/lib/color-scale.ts +628 -0
  1534. package/src/lib/compact-number.ts +118 -28
  1535. package/src/lib/csv.ts +48 -0
  1536. package/src/lib/diff-rows.ts +2 -0
  1537. package/src/lib/merge-refs.ts +2 -0
  1538. package/src/lib/use-controllable-state.ts +47 -0
  1539. package/src/lib/use-mobile.test.tsx +47 -0
  1540. package/src/lib/use-mobile.ts +26 -10
  1541. package/src/lib/use-scroll-progress.ts +103 -0
  1542. package/src/motion.stories.tsx +1 -0
  1543. package/src/templates-object-detail-hub.stories.tsx +8 -8
  1544. package/src/templates-screen-states.stories.tsx +1 -1
  1545. package/src/templates-settings.stories.tsx +8 -3
  1546. package/dist/chunk-JKPPTL63.js +0 -48
  1547. package/dist/chunk-JKPPTL63.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/app-shell/app-shell.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from \"react\";\nimport { cn } from \"../../lib/cn\";\nimport { SkipLink } from \"../skip-link\";\nimport { TopNav } from \"../top-nav\";\n\n/** `topBar` slots — see `AppShellProps.topBar`. */\nexport interface AppShellTopBarSlots {\n /** Leading content, after the brand (when `brandPlacement=\"topbar\"`). */\n start?: ReactNode;\n /** Centred content (e.g. a global search field) — see `TopNav`'s `center`. */\n center?: ReactNode;\n /** Trailing content (actions, account menu). */\n end?: ReactNode;\n}\n\nexport interface AppShellProps {\n /**\n * Persistent left navigation (often a <Sidebar />). Not rendered when\n * `navigation=\"topbar\"` — put the primary navigation in `topBar`/`topNav`\n * instead.\n */\n sidebar?: ReactNode;\n /**\n * Top bar (often a <TopNav />), a fully-formed node the caller already\n * brought. **Wins over `topBar` when both are passed** — this shell never\n * merges the two, so pass one or the other, never both. Use `topNav` when\n * you want to compose `TopNav` (or any other element) yourself; use\n * `topBar` for the common case where this shell should compose `TopNav`\n * for you from plain slots.\n */\n topNav?: ReactNode;\n /**\n * Slots this shell composes into a `TopNav` for you — the convenience path\n * for the common case (see `topNav` for precedence when both are set).\n * `center` renders through `TopNav`'s own `center` prop: a true 3-column\n * grid, so centred content (e.g. a global search field) stays centred\n * regardless of how wide `start`/`end` are.\n */\n topBar?: AppShellTopBarSlots;\n /**\n * Where the brand mark lives. `\"sidebar\"` (default) is today's behavior:\n * this shell renders no brand of its own — the caller's `sidebar` node\n * (e.g. a `SidebarHeader` / `TeamSwitcher`) owns it. `\"topbar\"` renders\n * `brand` as the leading element of the top bar, before `topBar.start`.\n * Has no effect without a `brand` node, and no effect when `topNav` is\n * passed instead of `topBar` (bring your own top bar, bring your own\n * brand placement inside it).\n * @default \"sidebar\"\n */\n brandPlacement?: \"sidebar\" | \"topbar\";\n /** Brand mark rendered in the top bar when `brandPlacement=\"topbar\"`. */\n brand?: ReactNode;\n /**\n * Where the primary navigation lives. `\"sidebar\"` (default) renders\n * `sidebar` in the left column, unchanged. `\"topbar\"` renders no sidebar\n * column at all — compose the primary navigation into `topBar`/`topNav`\n * instead (e.g. a `NavigationMenu` in `topBar.center`).\n * @default \"sidebar\"\n */\n navigation?: \"sidebar\" | \"topbar\";\n /**\n * A second column beside the sidebar (e.g. a resource/filter panel) —\n * `w-(--shell-secondary-width)` (16rem by default, every theme), hidden\n * below `md` exactly like `sidebar`. Independent of `navigation`/`sidebar`:\n * renders whenever it is passed. Pure layout, like `sidebar` — bring your\n * own chrome (background, border) on the node itself.\n */\n secondaryPanel?: ReactNode;\n children: ReactNode;\n className?: string;\n /** Class for the scrolling main content region. */\n mainClassName?: string;\n /**\n * The `<main>` region's id, and the skip link's target. Override it when a\n * page mounts more than one shell — two elements sharing `main-content`\n * would make the skip link ambiguous. @default \"main-content\"\n */\n mainId?: string;\n}\n\n/**\n * App-first layout: fixed-height viewport with an optional sidebar, a top bar,\n * and a scrollable main region. Pure layout — bring your own nav components.\n *\n * The `sidebar` slot is hidden below `md` with no fallback of its own: this\n * shell does not know whether `sidebar` already manages its own responsive\n * behavior. `<Sidebar>` (`../sidebar`) does — it renders as an offcanvas\n * `Sheet` below the mobile breakpoint entirely on its own, through a Radix\n * portal that is unaffected by this wrapper's `hidden md:flex` (a portal\n * mounts into `document.body`, not into this DOM subtree) — pair it with a\n * `<SidebarTrigger>` inside `topNav` for full mobile navigation. Wrapping an\n * arbitrary `sidebar` node in a SECOND, shell-owned `Sheet` here would look\n * like a fix but silently break that exact pattern: a Radix `Sheet`/`Dialog`\n * only mounts its content while open, so `<Sidebar>` would be unmounted\n * (not just hidden) whenever the shell's own drawer is closed — and with it,\n * the very trigger a caller uses to open ITS mobile view. A bare nav node\n * (no built-in responsive behavior of its own) has no such fallback; give it\n * one explicitly, e.g. by rendering a `<Sheet>` alongside `topNav` in the\n * consuming app.\n *\n * The `SidebarProvider` + `Sidebar` + `SidebarTrigger` composition above is\n * regression-locked in `app-shell.test.tsx` at a mobile viewport width: no\n * AppShell code change is needed to reach navigation below `md`, because\n * `SidebarProvider` is a plain React context and is never blocked by this\n * component's internal wrapper `<div>`.\n *\n * `brandPlacement`, `topBar`, `navigation` and `secondaryPanel` are all\n * optional, off by default: with none of them passed this renders exactly\n * what it always has (a `sidebar` column, `topNav` verbatim, `<main>`). They\n * generalise the shape `Layout/App Shell/Flagship` already hand-builds —\n * brand in the top bar, a centred search field, horizontal primary\n * navigation, a second resource column — into props any consumer can reach\n * for without hand-rolling the layout again.\n */\nexport const AppShell = forwardRef<HTMLDivElement, AppShellProps>(function AppShell(\n {\n sidebar,\n topNav,\n topBar,\n brandPlacement = \"sidebar\",\n brand,\n navigation = \"sidebar\",\n secondaryPanel,\n children,\n className,\n mainClassName,\n mainId = \"main-content\",\n },\n ref,\n) {\n const showSidebar = navigation !== \"topbar\" && !!sidebar;\n const showBrandInTopBar = brandPlacement === \"topbar\" && !!brand;\n\n // `topNav` is a fully-formed node the caller already brought, so it always\n // wins over `topBar` — the shell's own compose-from-slots convenience path.\n // See the `topNav`/`topBar` JSDoc for the full precedence note.\n const composedTopBar =\n topBar || showBrandInTopBar ? (\n <TopNav\n start={\n showBrandInTopBar ? (\n <>\n <div data-slot=\"app-shell-brand\" className=\"flex items-center\">\n {brand}\n </div>\n {topBar?.start}\n </>\n ) : (\n topBar?.start\n )\n }\n center={topBar?.center}\n end={topBar?.end}\n />\n ) : null;\n const resolvedTopBar = topNav ?? composedTopBar;\n\n return (\n <div\n ref={ref}\n className={cn(\"flex h-dvh w-full overflow-hidden bg-background text-foreground\", className)}\n >\n {/* The first focusable element of the shell, so a keyboard user can pass\n the nav rail instead of tabbing through it on every route (WCAG 2.4.1).\n All four registry app-shell blocks ship one; the primitive they sit\n beside must not be the exception, and it is the surface with the widest\n reach — it is imported, not copy-owned. */}\n <SkipLink targetId={mainId} />\n {showSidebar ? <div className=\"hidden md:flex\">{sidebar}</div> : null}\n {secondaryPanel ? (\n <div\n data-slot=\"app-shell-secondary-panel\"\n className=\"hidden w-(--shell-secondary-width) shrink-0 md:flex\"\n >\n {secondaryPanel}\n </div>\n ) : null}\n <div className=\"flex min-w-0 flex-1 flex-col\">\n {resolvedTopBar}\n {/* `<main>` IS the scroll port here (in the blocks the skip target and\n the scroll port are separate elements), so it takes `tabIndex={0}`\n rather than `{-1}`: a region that scrolls has to be keyboard-operable\n even when the content inside it is not focusable (WCAG 2.1.1, axe\n `scrollable-region-focusable`). `focus-ring-inset`, not `focus-ring`\n — the root above carries `overflow-hidden`, which clips both layers\n of the plain rung. */}\n <main\n id={mainId}\n tabIndex={0}\n className={cn(\"min-h-0 flex-1 overflow-y-auto focus-ring-inset\", mainClassName)}\n >\n {children}\n </main>\n </div>\n </div>\n );\n});\n"],"mappings":";;;;;;;;;;;;AAAA,SAAS,kBAAkC;AA6I/B,mBACE,KADF;AA3BL,IAAM,WAAW,WAA0C,SAASA,UACzE;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AACX,GACA,KACA;AACA,QAAM,cAAc,eAAe,YAAY,CAAC,CAAC;AACjD,QAAM,oBAAoB,mBAAmB,YAAY,CAAC,CAAC;AAK3D,QAAM,iBACJ,UAAU,oBACR;AAAA,IAAC;AAAA;AAAA,MACC,OACE,oBACE,iCACE;AAAA,4BAAC,SAAI,aAAU,mBAAkB,WAAU,qBACxC,iBACH;AAAA,QACC,QAAQ;AAAA,SACX,IAEA,QAAQ;AAAA,MAGZ,QAAQ,QAAQ;AAAA,MAChB,KAAK,QAAQ;AAAA;AAAA,EACf,IACE;AACN,QAAM,iBAAiB,UAAU;AAEjC,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,GAAG,mEAAmE,SAAS;AAAA,MAO1F;AAAA,4BAAC,YAAS,UAAU,QAAQ;AAAA,QAC3B,cAAc,oBAAC,SAAI,WAAU,kBAAkB,mBAAQ,IAAS;AAAA,QAChE,iBACC;AAAA,UAAC;AAAA;AAAA,YACC,aAAU;AAAA,YACV,WAAU;AAAA,YAET;AAAA;AAAA,QACH,IACE;AAAA,QACJ,qBAAC,SAAI,WAAU,gCACZ;AAAA;AAAA,UAQD;AAAA,YAAC;AAAA;AAAA,cACC,IAAI;AAAA,cACJ,UAAU;AAAA,cACV,WAAW,GAAG,mDAAmD,aAAa;AAAA,cAE7E;AAAA;AAAA,UACH;AAAA,WACF;AAAA;AAAA;AAAA,EACF;AAEJ,CAAC;","names":["AppShell"]}
@@ -0,0 +1,20 @@
1
+ "use client";
2
+
3
+ // src/lib/optional-peer.ts
4
+ var MODULE_NOT_FOUND_PATTERN = /cannot find module|failed to resolve|dynamically imported module|module not found/i;
5
+ function isModuleNotFoundMessage(message) {
6
+ return MODULE_NOT_FOUND_PATTERN.test(message);
7
+ }
8
+ function isOptionalPeerMissing(value) {
9
+ if (!(value instanceof Error)) return false;
10
+ if ("code" in value && value.code === "ERR_MODULE_NOT_FOUND") {
11
+ return true;
12
+ }
13
+ return isModuleNotFoundMessage(value.message);
14
+ }
15
+
16
+ export {
17
+ isModuleNotFoundMessage,
18
+ isOptionalPeerMissing
19
+ };
20
+ //# sourceMappingURL=chunk-O3JWMB6O.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/optional-peer.ts"],"sourcesContent":["/**\n * Detect a dynamic `import()` of an OPTIONAL peer that is not installed\n * (issue #33 — mermaid / xterm / Rive / media-chrome are optional peers of\n * `@elabs-ai/components-ai`, reached only through its lazy boundaries:\n * `_lazy-mermaid.ts`, `_interactive-terminal-xterm.ts`, `_persona-rive.tsx` and\n * `_audio-player-media-chrome.tsx`).\n *\n * Bundlers and runtimes report this differently (`ERR_MODULE_NOT_FOUND`,\n * `Cannot find module`, `Failed to resolve module specifier`, Vite/browser's\n * `Failed to fetch dynamically imported module`), so match on the SHAPES\n * rather than one runtime's wording. A false positive here is cheap — the\n * developer is told to install a package instead of seeing a raw\n * module-resolution stack trace — and a false negative is the failure mode\n * this exists to avoid.\n *\n * **Canonical home (promoted here per\n * `docs/decisions/2026-09-01-brainless-adoption-architecture.md` § 2).** `ui` is\n * upstream of every layer-2 package (`ai`, `terminal`, …) in the one-way\n * package graph (`tokens` → `ui`/`icons` →\n * `data`/`ai`/`flow`/`maps`/`charts`/`marketing`/`editor`/`viewer`), so this is\n * an ordinary downward import for all of them — unlike the sibling-to-sibling\n * case (e.g. `ai` ↔ `viewer`), which the graph forbids and which is why a\n * safety-critical predicate like this one must never be copy-pasted sideways\n * again. `packages/ai/src/_optional-peer.ts` still exists as a private,\n * underived-prefixed module for one merge window (issue #116 deletes it and\n * rewires its three importers onto this one); nothing imports this copy yet.\n *\n * It does NOT mirror `@elabs-ai/components-viewer`'s PRIMARY mechanism: the\n * viewer's adapters throw a typed `ViewerError` carrying `code`/`packages`\n * fields, and only fall back to string-matching for an error that didn't\n * originate as one. This module has no typed-error primary path — every lazy\n * boundary that uses it classifies purely by matching the caught error's\n * message shape. That difference is why a shape mismatch (a resolved module\n * with the wrong exports, rather than a rejected import) can slip past this\n * detector silently instead of being caught by construction — see\n * `_lazy-mermaid.ts`'s `loadEngine()` guard, added for exactly that gap\n * (issue #33 review).\n */\nconst MODULE_NOT_FOUND_PATTERN =\n /cannot find module|failed to resolve|dynamically imported module|module not found/i;\n\n/** True when a raw error MESSAGE names a module the runtime could not load. */\nexport function isModuleNotFoundMessage(message: string): boolean {\n return MODULE_NOT_FOUND_PATTERN.test(message);\n}\n\n/**\n * True when `value` is (or looks like) a failed dynamic `import()` of a\n * missing optional peer. Accepts anything a `.catch()` or an error boundary\n * might see: an `Error` instance (checked by `code` first, then message), or\n * `undefined`/other for anything that clearly is not one.\n */\nexport function isOptionalPeerMissing(value: unknown): boolean {\n if (!(value instanceof Error)) return false;\n if (\"code\" in value && (value as { code?: unknown }).code === \"ERR_MODULE_NOT_FOUND\") {\n return true;\n }\n return isModuleNotFoundMessage(value.message);\n}\n"],"mappings":";;;AAsCA,IAAM,2BACJ;AAGK,SAAS,wBAAwB,SAA0B;AAChE,SAAO,yBAAyB,KAAK,OAAO;AAC9C;AAQO,SAAS,sBAAsB,OAAyB;AAC7D,MAAI,EAAE,iBAAiB,OAAQ,QAAO;AACtC,MAAI,UAAU,SAAU,MAA6B,SAAS,wBAAwB;AACpF,WAAO;AAAA,EACT;AACA,SAAO,wBAAwB,MAAM,OAAO;AAC9C;","names":[]}
@@ -0,0 +1,246 @@
1
+ "use client";
2
+ import {
3
+ useThemeTransition
4
+ } from "./chunk-YIFB24WW.js";
5
+ import {
6
+ DropdownMenu,
7
+ DropdownMenuContent,
8
+ DropdownMenuItem,
9
+ DropdownMenuLabel,
10
+ DropdownMenuRadioGroup,
11
+ DropdownMenuRadioItem,
12
+ DropdownMenuSeparator,
13
+ DropdownMenuTrigger
14
+ } from "./chunk-TU24Y4HN.js";
15
+ import {
16
+ Tooltip,
17
+ TooltipContent,
18
+ TooltipProvider,
19
+ TooltipTrigger
20
+ } from "./chunk-U4LHV5DS.js";
21
+ import {
22
+ useLocale
23
+ } from "./chunk-EJQYE4MY.js";
24
+ import {
25
+ Button
26
+ } from "./chunk-VA2OONPE.js";
27
+
28
+ // src/components/theme-switcher/theme-switcher.tsx
29
+ import { forwardRef, useCallback, useEffect, useRef, useState } from "react";
30
+ import { Check, Monitor, Moon, Sun } from "lucide-react";
31
+ import {
32
+ groupThemeFamilies,
33
+ resolveThemeVariant,
34
+ themeFamilyIdOf,
35
+ themeSchemeOf,
36
+ useTheme
37
+ } from "@elabs-ai/components-tokens";
38
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
39
+ var SYSTEM_STORAGE_KEY = "brand-ui-theme-system";
40
+ var DARK_QUERY = "(prefers-color-scheme: dark)";
41
+ var ICON_SIZE = {
42
+ sm: "icon-sm",
43
+ default: "icon",
44
+ lg: "icon-lg"
45
+ };
46
+ function prefersDark() {
47
+ return typeof window !== "undefined" && window.matchMedia(DARK_QUERY).matches;
48
+ }
49
+ function pickByDarkness(list, dark) {
50
+ return (list.find((t) => t.dark === dark) ?? list[0])?.value;
51
+ }
52
+ var ThemeSwitcher = forwardRef(
53
+ function ThemeSwitcher2({
54
+ themes,
55
+ mode = "auto",
56
+ showSystem = true,
57
+ effect = "polygon",
58
+ size = "default",
59
+ variant,
60
+ preference,
61
+ onPreferenceChange,
62
+ className,
63
+ ...props
64
+ }, ref) {
65
+ const { theme, themeDefinitions, setTheme } = useTheme();
66
+ const { t } = useLocale();
67
+ const switchTheme = useThemeTransition(effect);
68
+ const isControlled = preference !== void 0;
69
+ const [uncontrolledIsSystem, setUncontrolledIsSystem] = useState(false);
70
+ const isSystem = isControlled ? preference === "system" : uncontrolledIsSystem;
71
+ const narrowed = themes ? themes.map((name) => themeDefinitions.find((d) => d.value === name)).filter((d) => d !== void 0) : themeDefinitions;
72
+ const offered = narrowed.length > 0 ? narrowed : themeDefinitions;
73
+ const safeThemes = offered.map((d) => d.value);
74
+ const labelOf = (name) => offered.find((d) => d.value === name)?.label ?? name;
75
+ const isDark = (name) => offered.find((d) => d.value === name)?.dark ?? false;
76
+ const resolvedTheme = isControlled && preference !== void 0 && preference !== "system" ? preference : theme;
77
+ const families = groupThemeFamilies(offered);
78
+ const useFamilies = mode === "auto" && families.filter((f) => f.declared).length >= 2;
79
+ const activeDefinition = offered.find((d) => d.value === resolvedTheme);
80
+ const activeFamily = useFamilies ? (activeDefinition && families.find((f) => f.id === themeFamilyIdOf(activeDefinition))) ?? families[0] : void 0;
81
+ const scope = activeFamily ? [activeFamily.light, activeFamily.dark].filter((d) => d !== void 0) : offered;
82
+ const lightTheme = pickByDarkness(scope, false) ?? theme;
83
+ const darkTheme = pickByDarkness(scope, true) ?? theme;
84
+ const intendedSchemeRef = useRef(
85
+ void 0
86
+ );
87
+ useEffect(() => {
88
+ if (isControlled) return;
89
+ if (typeof window === "undefined") return;
90
+ const active = window.localStorage.getItem(SYSTEM_STORAGE_KEY) === "1";
91
+ setUncontrolledIsSystem(active);
92
+ if (active) setTheme(prefersDark() ? darkTheme : lightTheme);
93
+ }, []);
94
+ useEffect(() => {
95
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function") return;
96
+ const mql = window.matchMedia(DARK_QUERY);
97
+ const onChange = () => {
98
+ const active = isControlled ? preference === "system" : window.localStorage.getItem(SYSTEM_STORAGE_KEY) === "1";
99
+ if (active) setTheme(prefersDark() ? darkTheme : lightTheme);
100
+ };
101
+ mql.addEventListener("change", onChange);
102
+ return () => mql.removeEventListener("change", onChange);
103
+ }, [isControlled, preference, darkTheme, lightTheme, setTheme]);
104
+ const pickTheme = useCallback(
105
+ (next2) => {
106
+ if (isControlled) {
107
+ onPreferenceChange?.(next2);
108
+ } else {
109
+ setUncontrolledIsSystem(false);
110
+ if (typeof window !== "undefined") window.localStorage.setItem(SYSTEM_STORAGE_KEY, "0");
111
+ }
112
+ switchTheme(next2);
113
+ },
114
+ [switchTheme, isControlled, onPreferenceChange]
115
+ );
116
+ const pickSystem = useCallback(() => {
117
+ if (isControlled) {
118
+ onPreferenceChange?.("system");
119
+ } else {
120
+ setUncontrolledIsSystem(true);
121
+ if (typeof window !== "undefined") window.localStorage.setItem(SYSTEM_STORAGE_KEY, "1");
122
+ }
123
+ switchTheme(prefersDark() ? darkTheme : lightTheme);
124
+ }, [switchTheme, darkTheme, lightTheme, isControlled, onPreferenceChange]);
125
+ const TriggerIcon = isSystem ? Monitor : isDark(resolvedTheme) ? Moon : Sun;
126
+ if (activeFamily) {
127
+ const activeScheme = activeDefinition;
128
+ const remembered = intendedSchemeRef.current;
129
+ const intended = remembered && remembered.theme === resolvedTheme ? remembered.scheme : activeScheme ? themeSchemeOf(activeScheme) : "light";
130
+ const pickFamily = (familyId) => {
131
+ const scheme = isSystem ? prefersDark() ? "dark" : "light" : intended;
132
+ const next2 = resolveThemeVariant(families, familyId, scheme);
133
+ if (next2 === void 0) return;
134
+ intendedSchemeRef.current = { scheme: intended, theme: next2 };
135
+ if (isSystem) switchTheme(next2);
136
+ else pickTheme(next2);
137
+ };
138
+ const pickScheme = (value) => {
139
+ if (value === "system") {
140
+ pickSystem();
141
+ return;
142
+ }
143
+ const scheme = value;
144
+ const next2 = activeFamily[scheme]?.value;
145
+ if (next2 === void 0) return;
146
+ intendedSchemeRef.current = { scheme, theme: next2 };
147
+ pickTheme(next2);
148
+ };
149
+ const schemeValue = isSystem ? "system" : activeScheme ? themeSchemeOf(activeScheme) : "";
150
+ return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
151
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
152
+ Button,
153
+ {
154
+ ref,
155
+ variant: variant ?? "outline",
156
+ size: ICON_SIZE[size],
157
+ "aria-label": t("ui.themeSwitcher.theme"),
158
+ className,
159
+ ...props,
160
+ children: /* @__PURE__ */ jsx(TriggerIcon, {})
161
+ }
162
+ ) }),
163
+ /* @__PURE__ */ jsxs(DropdownMenuContent, { align: "end", children: [
164
+ /* @__PURE__ */ jsx(DropdownMenuLabel, { children: t("ui.themeSwitcher.theme") }),
165
+ /* @__PURE__ */ jsx(DropdownMenuRadioGroup, { value: activeFamily.id, onValueChange: pickFamily, children: families.map((f) => /* @__PURE__ */ jsx(DropdownMenuRadioItem, { value: f.id, children: f.label }, f.id)) }),
166
+ activeFamily.schemes.length === 2 ? /* @__PURE__ */ jsxs(Fragment, { children: [
167
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
168
+ /* @__PURE__ */ jsx(DropdownMenuLabel, { children: t("ui.themeSwitcher.mode") }),
169
+ /* @__PURE__ */ jsxs(DropdownMenuRadioGroup, { value: schemeValue, onValueChange: pickScheme, children: [
170
+ /* @__PURE__ */ jsxs(DropdownMenuRadioItem, { value: "light", children: [
171
+ /* @__PURE__ */ jsx(Sun, { "aria-hidden": "true" }),
172
+ t("ui.themeSwitcher.light")
173
+ ] }),
174
+ /* @__PURE__ */ jsxs(DropdownMenuRadioItem, { value: "dark", children: [
175
+ /* @__PURE__ */ jsx(Moon, { "aria-hidden": "true" }),
176
+ t("ui.themeSwitcher.dark")
177
+ ] }),
178
+ showSystem ? /* @__PURE__ */ jsxs(DropdownMenuRadioItem, { value: "system", children: [
179
+ /* @__PURE__ */ jsx(Monitor, { "aria-hidden": "true" }),
180
+ t("ui.themeSwitcher.system")
181
+ ] }) : null
182
+ ] })
183
+ ] }) : null
184
+ ] })
185
+ ] });
186
+ }
187
+ const useDropdown = mode === "dropdown" || mode === "auto" && safeThemes.length > 2;
188
+ if (useDropdown) {
189
+ return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
190
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
191
+ Button,
192
+ {
193
+ ref,
194
+ variant: variant ?? "outline",
195
+ size: ICON_SIZE[size],
196
+ "aria-label": t("ui.themeSwitcher.theme"),
197
+ className,
198
+ ...props,
199
+ children: /* @__PURE__ */ jsx(TriggerIcon, {})
200
+ }
201
+ ) }),
202
+ /* @__PURE__ */ jsxs(DropdownMenuContent, { align: "end", children: [
203
+ showSystem ? /* @__PURE__ */ jsxs(DropdownMenuItem, { onSelect: () => pickSystem(), children: [
204
+ /* @__PURE__ */ jsx(Monitor, {}),
205
+ /* @__PURE__ */ jsx("span", { children: t("ui.themeSwitcher.system") }),
206
+ isSystem ? /* @__PURE__ */ jsx(Check, { className: "ms-auto" }) : null
207
+ ] }) : null,
208
+ offered.map((d) => /* @__PURE__ */ jsxs(DropdownMenuItem, { onSelect: () => pickTheme(d.value), children: [
209
+ d.dark ? /* @__PURE__ */ jsx(Moon, {}) : /* @__PURE__ */ jsx(Sun, {}),
210
+ /* @__PURE__ */ jsx("span", { children: d.label }),
211
+ !isSystem && resolvedTheme === d.value ? /* @__PURE__ */ jsx(Check, { className: "ms-auto" }) : null
212
+ ] }, d.value))
213
+ ] })
214
+ ] });
215
+ }
216
+ const order = showSystem ? ["light", "dark", "system"] : ["light", "dark"];
217
+ const current = isSystem ? "system" : resolvedTheme === darkTheme ? "dark" : "light";
218
+ const next = order[(order.indexOf(current) + 1) % order.length];
219
+ const apply = () => {
220
+ if (next === "system") pickSystem();
221
+ else pickTheme(next === "dark" ? darkTheme : lightTheme);
222
+ };
223
+ const roleLabel = (role) => role === "system" ? t("ui.themeSwitcher.system") : labelOf(role === "dark" ? darkTheme : lightTheme);
224
+ return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsxs(Tooltip, { children: [
225
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
226
+ Button,
227
+ {
228
+ ref,
229
+ variant: variant ?? "ghost",
230
+ size: ICON_SIZE[size],
231
+ "aria-label": `Theme: ${roleLabel(current)}. Activate to switch to ${roleLabel(next)}.`,
232
+ onClick: apply,
233
+ className,
234
+ ...props,
235
+ children: /* @__PURE__ */ jsx(TriggerIcon, {})
236
+ }
237
+ ) }),
238
+ /* @__PURE__ */ jsx(TooltipContent, { children: roleLabel(current) })
239
+ ] }) });
240
+ }
241
+ );
242
+
243
+ export {
244
+ ThemeSwitcher
245
+ };
246
+ //# sourceMappingURL=chunk-OBEJUAN6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/theme-switcher/theme-switcher.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, useCallback, useEffect, useRef, useState, type HTMLAttributes } from \"react\";\nimport { Check, Monitor, Moon, Sun } from \"lucide-react\";\nimport {\n groupThemeFamilies,\n resolveThemeVariant,\n themeFamilyIdOf,\n themeSchemeOf,\n useTheme,\n type ThemeDefinition,\n type ThemeName,\n type ThemeScheme,\n} from \"@elabs-ai/components-tokens\";\n\nimport { Button, type ButtonProps } from \"../button\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"../dropdown-menu\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"../tooltip\";\nimport { useLocale } from \"../locale-provider\";\nimport { useThemeTransition, type ThemeTransitionEffect } from \"./use-theme-transition\";\n\nconst SYSTEM_STORAGE_KEY = \"brand-ui-theme-system\";\nconst DARK_QUERY = \"(prefers-color-scheme: dark)\";\n\ntype ButtonSize = \"sm\" | \"default\" | \"lg\";\nconst ICON_SIZE: Record<ButtonSize, \"icon-sm\" | \"icon\" | \"icon-lg\"> = {\n sm: \"icon-sm\",\n default: \"icon\",\n lg: \"icon-lg\",\n};\n\n/** A theme choice, or \"system\" to follow the OS color scheme. */\nexport type ThemePreference = ThemeName | \"system\";\n\nexport interface ThemeSwitcherProps extends Omit<HTMLAttributes<HTMLButtonElement>, \"onChange\"> {\n /**\n * Themes to offer, as names. ≤2 → toggle; >2 → dropdown.\n *\n * Defaults to the PROVIDER's registry (ADR 0029) — so an app that registers\n * its own themes gets a working switcher with no prop at all. Pass this only\n * to offer a subset, or to fix the order; names the provider doesn't know are\n * dropped.\n */\n themes?: ThemeName[];\n /** Force presentation; \"auto\" (default) picks toggle vs dropdown by theme count. */\n mode?: \"auto\" | \"toggle\" | \"dropdown\";\n /** Offer a \"System\" option that follows the OS color scheme. Default true. */\n showSystem?: boolean;\n /** Whole-screen reveal effect for the animated switch. Default \"polygon\". */\n effect?: ThemeTransitionEffect;\n /** Control size. Default \"default\". */\n size?: ButtonSize;\n /**\n * The trigger button's variant. Default: `\"outline\"` for the dropdown forms and `\"ghost\"` for\n * the two-theme toggle (today's behaviour). Pass `\"ghost\"` when the switcher sits in a row of\n * borderless icon buttons — an app top bar — so it reads as one of them.\n */\n variant?: ButtonProps[\"variant\"];\n /**\n * Controlled preference (#366). When set, the switcher derives its \"current\"\n * state — including \"system\" — from this prop instead of its own internal,\n * `localStorage`-backed state, and reports every user pick via\n * `onPreferenceChange` instead of writing its own storage key. Pass this pair\n * when your app's actual source of truth is a different persisted preference\n * (a settings API, a different storage key, a server-synced setting). Omit\n * both for the default, uncontrolled behavior (unchanged).\n */\n preference?: ThemePreference;\n /** Called with the new preference on every user pick, when `preference` is controlled. */\n onPreferenceChange?: (preference: ThemePreference) => void;\n}\n\nfunction prefersDark(): boolean {\n return typeof window !== \"undefined\" && window.matchMedia(DARK_QUERY).matches;\n}\n\n/** First theme in `list` matching `dark`, or the list's own first entry as a last resort. */\nfunction pickByDarkness(list: readonly ThemeDefinition[], dark: boolean): ThemeName | undefined {\n return (list.find((t) => t.dark === dark) ?? list[0])?.value;\n}\n\n/**\n * Adaptive theme control. With ≤2 themes it renders a light/dark/system toggle\n * (a single icon button that cycles); with >2 it auto-upgrades to a dropdown\n * over the offered themes. Every switch animates the whole screen via\n * `useThemeTransition` (respecting reduced motion). Icons follow each theme's\n * `dark` flag, so it works for any theme — including one you authored.\n *\n * Uncontrolled by default (tracks its own \"system\" choice via `localStorage`).\n * Pass `preference`/`onPreferenceChange` to drive it from an external store\n * instead (#366) — see the `Controlled` story.\n *\n * **It renders the PROVIDER's registry** (ADR 0029). Register your themes on\n * `<ThemeProvider themes={…}>` and this switcher offers them with no prop —\n * which is also why `allowedThemes` (#355) is honoured for free: the provider\n * has already narrowed what it exposes. The `themes` prop is now purely an\n * additional, optional narrowing on top; a name the provider does not offer is\n * dropped rather than rendered, so a disallowed or unregistered theme is never\n * reachable via a menu item, the toggle, \"System\", or the OS\n * `prefers-color-scheme` listener.\n *\n * The pre-ADR-0029 hard-coded `[\"light\",\"dark\"]` default is gone. Behaviour for\n * an app on the default provider is unchanged — that registry IS light + dark.\n */\nexport const ThemeSwitcher = forwardRef<HTMLButtonElement, ThemeSwitcherProps>(\n function ThemeSwitcher(\n {\n themes,\n mode = \"auto\",\n showSystem = true,\n effect = \"polygon\",\n size = \"default\",\n variant,\n preference,\n onPreferenceChange,\n className,\n ...props\n },\n ref,\n ) {\n const { theme, themeDefinitions, setTheme } = useTheme();\n const { t } = useLocale();\n const switchTheme = useThemeTransition(effect);\n const isControlled = preference !== undefined;\n const [uncontrolledIsSystem, setUncontrolledIsSystem] = useState(false);\n const isSystem = isControlled ? preference === \"system\" : uncontrolledIsSystem;\n\n // The provider's registry is the universe; the prop only narrows it, in the\n // prop's own order. A name the provider doesn't offer is DROPPED (it has no\n // CSS block here and no label to render), and an empty intersection falls\n // back to the whole registry rather than to a hard-coded pair — falling back\n // to literals is what could resurrect a theme the provider disallowed.\n const narrowed = themes\n ? themes\n .map((name) => themeDefinitions.find((d) => d.value === name))\n .filter((d): d is ThemeDefinition => d !== undefined)\n : themeDefinitions;\n const offered: readonly ThemeDefinition[] = narrowed.length > 0 ? narrowed : themeDefinitions;\n const safeThemes: ThemeName[] = offered.map((d) => d.value);\n const labelOf = (name: ThemeName) => offered.find((d) => d.value === name)?.label ?? name;\n const isDark = (name: ThemeName) => offered.find((d) => d.value === name)?.dark ?? false;\n\n // The concrete theme to DISPLAY as current: the controlled preference when\n // it names one, otherwise the theme actually applied via the provider.\n const resolvedTheme: ThemeName =\n isControlled && preference !== undefined && preference !== \"system\" ? preference : theme;\n\n // ADR 0036 — the family layout is OPT-IN: only when the offered list (not the\n // provider's `families`, so the `themes` prop still narrows) holds two or\n // more DECLARED families. An undeclared `[daylight, midnight]` pair keeps\n // today's toggle byte-for-byte.\n const families = groupThemeFamilies(offered);\n const useFamilies = mode === \"auto\" && families.filter((f) => f.declared).length >= 2;\n // Match by the active definition's declared family, not the retained\n // light/dark slots: a second same-scheme variant is still reachable via\n // `setTheme` but is not in either slot.\n const activeDefinition = offered.find((d) => d.value === resolvedTheme);\n const activeFamily = useFamilies\n ? ((activeDefinition && families.find((f) => f.id === themeFamilyIdOf(activeDefinition))) ??\n families[0])\n : undefined;\n // \"System\" is scoped to the active family in the family layout.\n const scope: readonly ThemeDefinition[] = activeFamily\n ? [activeFamily.light, activeFamily.dark].filter((d): d is ThemeDefinition => d !== undefined)\n : offered;\n\n // `?? theme` (the active theme), never a \"light\"/\"dark\" literal: with an open\n // registry those names may not exist at all in this app.\n const lightTheme: ThemeName = pickByDarkness(scope, false) ?? theme;\n const darkTheme: ThemeName = pickByDarkness(scope, true) ?? theme;\n\n // The scheme the user last chose, so dark → a light-only family → a\n // two-scheme family lands on dark again (mirrors the provider's `setFamily`).\n // Remembered together with the theme it produced: once something else changes\n // the theme (another control calling `setTheme`), the memory no longer applies.\n const intendedSchemeRef = useRef<{ scheme: ThemeScheme; theme: ThemeName } | undefined>(\n undefined,\n );\n\n // Hydrate the \"system\" choice from localStorage and apply it on mount —\n // uncontrolled mode only. Controlled mode's \"system\" state comes from the\n // `preference` prop and never touches this component's own storage key.\n useEffect(() => {\n if (isControlled) return;\n if (typeof window === \"undefined\") return;\n const active = window.localStorage.getItem(SYSTEM_STORAGE_KEY) === \"1\";\n setUncontrolledIsSystem(active);\n if (active) setTheme(prefersDark() ? darkTheme : lightTheme);\n // Mount-once hydration by design (mirrors the pre-#366 behavior); a\n // component must not flip controlled/uncontrolled mid-lifecycle\n // (.claude/rules/component-api.md), so `isControlled` cannot change here.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Keep the applied theme tracking the OS scheme while \"system\" is active —\n // controlled or not. Depends on every value it reads (unlike the effect\n // above) so it never captures a stale `lightTheme`/`darkTheme` once those\n // become provider-derived (the staleness risk #384 flags).\n useEffect(() => {\n if (typeof window === \"undefined\" || typeof window.matchMedia !== \"function\") return;\n const mql = window.matchMedia(DARK_QUERY);\n const onChange = () => {\n const active = isControlled\n ? preference === \"system\"\n : window.localStorage.getItem(SYSTEM_STORAGE_KEY) === \"1\";\n if (active) setTheme(prefersDark() ? darkTheme : lightTheme);\n };\n mql.addEventListener(\"change\", onChange);\n return () => mql.removeEventListener(\"change\", onChange);\n }, [isControlled, preference, darkTheme, lightTheme, setTheme]);\n\n const pickTheme = useCallback(\n (next: ThemeName) => {\n if (isControlled) {\n onPreferenceChange?.(next);\n } else {\n setUncontrolledIsSystem(false);\n if (typeof window !== \"undefined\") window.localStorage.setItem(SYSTEM_STORAGE_KEY, \"0\");\n }\n switchTheme(next);\n },\n [switchTheme, isControlled, onPreferenceChange],\n );\n\n const pickSystem = useCallback(() => {\n if (isControlled) {\n onPreferenceChange?.(\"system\");\n } else {\n setUncontrolledIsSystem(true);\n if (typeof window !== \"undefined\") window.localStorage.setItem(SYSTEM_STORAGE_KEY, \"1\");\n }\n switchTheme(prefersDark() ? darkTheme : lightTheme);\n }, [switchTheme, darkTheme, lightTheme, isControlled, onPreferenceChange]);\n\n const TriggerIcon = isSystem ? Monitor : isDark(resolvedTheme) ? Moon : Sun;\n\n // ---- Family layout (≥2 declared families): family group + scheme group ----\n if (activeFamily) {\n const activeScheme = activeDefinition;\n const remembered = intendedSchemeRef.current;\n const intended =\n remembered && remembered.theme === resolvedTheme\n ? remembered.scheme\n : activeScheme\n ? themeSchemeOf(activeScheme)\n : \"light\";\n const pickFamily = (familyId: string) => {\n // System re-resolves against the OS immediately on a family change\n // instead of waiting for the next `change` event.\n const scheme: ThemeScheme = isSystem ? (prefersDark() ? \"dark\" : \"light\") : intended;\n const next = resolveThemeVariant(families, familyId, scheme);\n if (next === undefined) return;\n intendedSchemeRef.current = { scheme: intended, theme: next };\n if (isSystem) switchTheme(next);\n else pickTheme(next);\n };\n const pickScheme = (value: string) => {\n if (value === \"system\") {\n pickSystem();\n return;\n }\n const scheme = value as ThemeScheme;\n const next = activeFamily[scheme]?.value;\n if (next === undefined) return;\n intendedSchemeRef.current = { scheme, theme: next };\n pickTheme(next);\n };\n const schemeValue = isSystem ? \"system\" : activeScheme ? themeSchemeOf(activeScheme) : \"\";\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n ref={ref}\n variant={variant ?? \"outline\"}\n size={ICON_SIZE[size]}\n aria-label={t(\"ui.themeSwitcher.theme\")}\n className={className}\n {...props}\n >\n <TriggerIcon />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuLabel>{t(\"ui.themeSwitcher.theme\")}</DropdownMenuLabel>\n <DropdownMenuRadioGroup value={activeFamily.id} onValueChange={pickFamily}>\n {families.map((f) => (\n <DropdownMenuRadioItem key={f.id} value={f.id}>\n {f.label}\n </DropdownMenuRadioItem>\n ))}\n </DropdownMenuRadioGroup>\n {activeFamily.schemes.length === 2 ? (\n <>\n <DropdownMenuSeparator />\n <DropdownMenuLabel>{t(\"ui.themeSwitcher.mode\")}</DropdownMenuLabel>\n <DropdownMenuRadioGroup value={schemeValue} onValueChange={pickScheme}>\n <DropdownMenuRadioItem value=\"light\">\n <Sun aria-hidden=\"true\" />\n {t(\"ui.themeSwitcher.light\")}\n </DropdownMenuRadioItem>\n <DropdownMenuRadioItem value=\"dark\">\n <Moon aria-hidden=\"true\" />\n {t(\"ui.themeSwitcher.dark\")}\n </DropdownMenuRadioItem>\n {showSystem ? (\n <DropdownMenuRadioItem value=\"system\">\n <Monitor aria-hidden=\"true\" />\n {t(\"ui.themeSwitcher.system\")}\n </DropdownMenuRadioItem>\n ) : null}\n </DropdownMenuRadioGroup>\n </>\n ) : null}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n }\n\n const useDropdown = mode === \"dropdown\" || (mode === \"auto\" && safeThemes.length > 2);\n\n // ---- Dropdown mode (>2 themes) ----\n if (useDropdown) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n ref={ref}\n variant={variant ?? \"outline\"}\n size={ICON_SIZE[size]}\n aria-label={t(\"ui.themeSwitcher.theme\")}\n className={className}\n {...props}\n >\n <TriggerIcon />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n {showSystem ? (\n <DropdownMenuItem onSelect={() => pickSystem()}>\n <Monitor />\n <span>{t(\"ui.themeSwitcher.system\")}</span>\n {isSystem ? <Check className=\"ms-auto\" /> : null}\n </DropdownMenuItem>\n ) : null}\n {offered.map((d) => (\n <DropdownMenuItem key={d.value} onSelect={() => pickTheme(d.value)}>\n {d.dark ? <Moon /> : <Sun />}\n <span>{d.label}</span>\n {!isSystem && resolvedTheme === d.value ? <Check className=\"ms-auto\" /> : null}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n }\n\n // ---- Toggle mode (≤2 themes): cycle light → dark → (system) ----\n // These three are ROLES in the cycle, not theme names — `lightTheme` and\n // `darkTheme` resolve each role to whatever this app actually registered.\n const order: Array<\"light\" | \"dark\" | \"system\"> = showSystem\n ? [\"light\", \"dark\", \"system\"]\n : [\"light\", \"dark\"];\n const current: \"light\" | \"dark\" | \"system\" = isSystem\n ? \"system\"\n : resolvedTheme === darkTheme\n ? \"dark\"\n : \"light\";\n const next = order[(order.indexOf(current) + 1) % order.length];\n const apply = () => {\n if (next === \"system\") pickSystem();\n else pickTheme(next === \"dark\" ? darkTheme : lightTheme);\n };\n\n // Announce the THEME'S OWN label, not the role: an app whose themes are\n // \"Daylight\"/\"Midnight\" would otherwise announce \"Theme: light\" — naming a\n // theme that does not exist in that app.\n // `role` is optional only because `order[i]` is an indexed read under\n // `noUncheckedIndexedAccess`; the modulo above makes it always present.\n const roleLabel = (role: \"light\" | \"dark\" | \"system\" | undefined) =>\n role === \"system\"\n ? t(\"ui.themeSwitcher.system\")\n : labelOf(role === \"dark\" ? darkTheme : lightTheme);\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n ref={ref}\n variant={variant ?? \"ghost\"}\n size={ICON_SIZE[size]}\n aria-label={`Theme: ${roleLabel(current)}. Activate to switch to ${roleLabel(next)}.`}\n onClick={apply}\n className={className}\n {...props}\n >\n <TriggerIcon />\n </Button>\n </TooltipTrigger>\n <TooltipContent>{roleLabel(current)}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,YAAY,aAAa,WAAW,QAAQ,gBAAqC;AAC1F,SAAS,OAAO,SAAS,MAAM,WAAW;AAC1C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIK;AAoRO,SAaA,UAbA,KAiBI,YAjBJ;AAnQd,IAAM,qBAAqB;AAC3B,IAAM,aAAa;AAGnB,IAAM,YAAgE;AAAA,EACpE,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,IAAI;AACN;AA2CA,SAAS,cAAuB;AAC9B,SAAO,OAAO,WAAW,eAAe,OAAO,WAAW,UAAU,EAAE;AACxE;AAGA,SAAS,eAAe,MAAkC,MAAsC;AAC9F,UAAQ,KAAK,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,KAAK,KAAK,CAAC,IAAI;AACzD;AAyBO,IAAM,gBAAgB;AAAA,EAC3B,SAASA,eACP;AAAA,IACE;AAAA,IACA,OAAO;AAAA,IACP,aAAa;AAAA,IACb,SAAS;AAAA,IACT,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,KACA;AACA,UAAM,EAAE,OAAO,kBAAkB,SAAS,IAAI,SAAS;AACvD,UAAM,EAAE,EAAE,IAAI,UAAU;AACxB,UAAM,cAAc,mBAAmB,MAAM;AAC7C,UAAM,eAAe,eAAe;AACpC,UAAM,CAAC,sBAAsB,uBAAuB,IAAI,SAAS,KAAK;AACtE,UAAM,WAAW,eAAe,eAAe,WAAW;AAO1D,UAAM,WAAW,SACb,OACG,IAAI,CAAC,SAAS,iBAAiB,KAAK,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,EAC5D,OAAO,CAAC,MAA4B,MAAM,MAAS,IACtD;AACJ,UAAM,UAAsC,SAAS,SAAS,IAAI,WAAW;AAC7E,UAAM,aAA0B,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK;AAC1D,UAAM,UAAU,CAAC,SAAoB,QAAQ,KAAK,CAAC,MAAM,EAAE,UAAU,IAAI,GAAG,SAAS;AACrF,UAAM,SAAS,CAAC,SAAoB,QAAQ,KAAK,CAAC,MAAM,EAAE,UAAU,IAAI,GAAG,QAAQ;AAInF,UAAM,gBACJ,gBAAgB,eAAe,UAAa,eAAe,WAAW,aAAa;AAMrF,UAAM,WAAW,mBAAmB,OAAO;AAC3C,UAAM,cAAc,SAAS,UAAU,SAAS,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU;AAIpF,UAAM,mBAAmB,QAAQ,KAAK,CAAC,MAAM,EAAE,UAAU,aAAa;AACtE,UAAM,eAAe,eACf,oBAAoB,SAAS,KAAK,CAAC,MAAM,EAAE,OAAO,gBAAgB,gBAAgB,CAAC,MACrF,SAAS,CAAC,IACV;AAEJ,UAAM,QAAoC,eACtC,CAAC,aAAa,OAAO,aAAa,IAAI,EAAE,OAAO,CAAC,MAA4B,MAAM,MAAS,IAC3F;AAIJ,UAAM,aAAwB,eAAe,OAAO,KAAK,KAAK;AAC9D,UAAM,YAAuB,eAAe,OAAO,IAAI,KAAK;AAM5D,UAAM,oBAAoB;AAAA,MACxB;AAAA,IACF;AAKA,cAAU,MAAM;AACd,UAAI,aAAc;AAClB,UAAI,OAAO,WAAW,YAAa;AACnC,YAAM,SAAS,OAAO,aAAa,QAAQ,kBAAkB,MAAM;AACnE,8BAAwB,MAAM;AAC9B,UAAI,OAAQ,UAAS,YAAY,IAAI,YAAY,UAAU;AAAA,IAK7D,GAAG,CAAC,CAAC;AAML,cAAU,MAAM;AACd,UAAI,OAAO,WAAW,eAAe,OAAO,OAAO,eAAe,WAAY;AAC9E,YAAM,MAAM,OAAO,WAAW,UAAU;AACxC,YAAM,WAAW,MAAM;AACrB,cAAM,SAAS,eACX,eAAe,WACf,OAAO,aAAa,QAAQ,kBAAkB,MAAM;AACxD,YAAI,OAAQ,UAAS,YAAY,IAAI,YAAY,UAAU;AAAA,MAC7D;AACA,UAAI,iBAAiB,UAAU,QAAQ;AACvC,aAAO,MAAM,IAAI,oBAAoB,UAAU,QAAQ;AAAA,IACzD,GAAG,CAAC,cAAc,YAAY,WAAW,YAAY,QAAQ,CAAC;AAE9D,UAAM,YAAY;AAAA,MAChB,CAACC,UAAoB;AACnB,YAAI,cAAc;AAChB,+BAAqBA,KAAI;AAAA,QAC3B,OAAO;AACL,kCAAwB,KAAK;AAC7B,cAAI,OAAO,WAAW,YAAa,QAAO,aAAa,QAAQ,oBAAoB,GAAG;AAAA,QACxF;AACA,oBAAYA,KAAI;AAAA,MAClB;AAAA,MACA,CAAC,aAAa,cAAc,kBAAkB;AAAA,IAChD;AAEA,UAAM,aAAa,YAAY,MAAM;AACnC,UAAI,cAAc;AAChB,6BAAqB,QAAQ;AAAA,MAC/B,OAAO;AACL,gCAAwB,IAAI;AAC5B,YAAI,OAAO,WAAW,YAAa,QAAO,aAAa,QAAQ,oBAAoB,GAAG;AAAA,MACxF;AACA,kBAAY,YAAY,IAAI,YAAY,UAAU;AAAA,IACpD,GAAG,CAAC,aAAa,WAAW,YAAY,cAAc,kBAAkB,CAAC;AAEzE,UAAM,cAAc,WAAW,UAAU,OAAO,aAAa,IAAI,OAAO;AAGxE,QAAI,cAAc;AAChB,YAAM,eAAe;AACrB,YAAM,aAAa,kBAAkB;AACrC,YAAM,WACJ,cAAc,WAAW,UAAU,gBAC/B,WAAW,SACX,eACE,cAAc,YAAY,IAC1B;AACR,YAAM,aAAa,CAAC,aAAqB;AAGvC,cAAM,SAAsB,WAAY,YAAY,IAAI,SAAS,UAAW;AAC5E,cAAMA,QAAO,oBAAoB,UAAU,UAAU,MAAM;AAC3D,YAAIA,UAAS,OAAW;AACxB,0BAAkB,UAAU,EAAE,QAAQ,UAAU,OAAOA,MAAK;AAC5D,YAAI,SAAU,aAAYA,KAAI;AAAA,YACzB,WAAUA,KAAI;AAAA,MACrB;AACA,YAAM,aAAa,CAAC,UAAkB;AACpC,YAAI,UAAU,UAAU;AACtB,qBAAW;AACX;AAAA,QACF;AACA,cAAM,SAAS;AACf,cAAMA,QAAO,aAAa,MAAM,GAAG;AACnC,YAAIA,UAAS,OAAW;AACxB,0BAAkB,UAAU,EAAE,QAAQ,OAAOA,MAAK;AAClD,kBAAUA,KAAI;AAAA,MAChB;AACA,YAAM,cAAc,WAAW,WAAW,eAAe,cAAc,YAAY,IAAI;AAEvF,aACE,qBAAC,gBACC;AAAA,4BAAC,uBAAoB,SAAO,MAC1B;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,SAAS,WAAW;AAAA,YACpB,MAAM,UAAU,IAAI;AAAA,YACpB,cAAY,EAAE,wBAAwB;AAAA,YACtC;AAAA,YACC,GAAG;AAAA,YAEJ,8BAAC,eAAY;AAAA;AAAA,QACf,GACF;AAAA,QACA,qBAAC,uBAAoB,OAAM,OACzB;AAAA,8BAAC,qBAAmB,YAAE,wBAAwB,GAAE;AAAA,UAChD,oBAAC,0BAAuB,OAAO,aAAa,IAAI,eAAe,YAC5D,mBAAS,IAAI,CAAC,MACb,oBAAC,yBAAiC,OAAO,EAAE,IACxC,YAAE,SADuB,EAAE,EAE9B,CACD,GACH;AAAA,UACC,aAAa,QAAQ,WAAW,IAC/B,iCACE;AAAA,gCAAC,yBAAsB;AAAA,YACvB,oBAAC,qBAAmB,YAAE,uBAAuB,GAAE;AAAA,YAC/C,qBAAC,0BAAuB,OAAO,aAAa,eAAe,YACzD;AAAA,mCAAC,yBAAsB,OAAM,SAC3B;AAAA,oCAAC,OAAI,eAAY,QAAO;AAAA,gBACvB,EAAE,wBAAwB;AAAA,iBAC7B;AAAA,cACA,qBAAC,yBAAsB,OAAM,QAC3B;AAAA,oCAAC,QAAK,eAAY,QAAO;AAAA,gBACxB,EAAE,uBAAuB;AAAA,iBAC5B;AAAA,cACC,aACC,qBAAC,yBAAsB,OAAM,UAC3B;AAAA,oCAAC,WAAQ,eAAY,QAAO;AAAA,gBAC3B,EAAE,yBAAyB;AAAA,iBAC9B,IACE;AAAA,eACN;AAAA,aACF,IACE;AAAA,WACN;AAAA,SACF;AAAA,IAEJ;AAEA,UAAM,cAAc,SAAS,cAAe,SAAS,UAAU,WAAW,SAAS;AAGnF,QAAI,aAAa;AACf,aACE,qBAAC,gBACC;AAAA,4BAAC,uBAAoB,SAAO,MAC1B;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,SAAS,WAAW;AAAA,YACpB,MAAM,UAAU,IAAI;AAAA,YACpB,cAAY,EAAE,wBAAwB;AAAA,YACtC;AAAA,YACC,GAAG;AAAA,YAEJ,8BAAC,eAAY;AAAA;AAAA,QACf,GACF;AAAA,QACA,qBAAC,uBAAoB,OAAM,OACxB;AAAA,uBACC,qBAAC,oBAAiB,UAAU,MAAM,WAAW,GAC3C;AAAA,gCAAC,WAAQ;AAAA,YACT,oBAAC,UAAM,YAAE,yBAAyB,GAAE;AAAA,YACnC,WAAW,oBAAC,SAAM,WAAU,WAAU,IAAK;AAAA,aAC9C,IACE;AAAA,UACH,QAAQ,IAAI,CAAC,MACZ,qBAAC,oBAA+B,UAAU,MAAM,UAAU,EAAE,KAAK,GAC9D;AAAA,cAAE,OAAO,oBAAC,QAAK,IAAK,oBAAC,OAAI;AAAA,YAC1B,oBAAC,UAAM,YAAE,OAAM;AAAA,YACd,CAAC,YAAY,kBAAkB,EAAE,QAAQ,oBAAC,SAAM,WAAU,WAAU,IAAK;AAAA,eAHrD,EAAE,KAIzB,CACD;AAAA,WACH;AAAA,SACF;AAAA,IAEJ;AAKA,UAAM,QAA4C,aAC9C,CAAC,SAAS,QAAQ,QAAQ,IAC1B,CAAC,SAAS,MAAM;AACpB,UAAM,UAAuC,WACzC,WACA,kBAAkB,YAChB,SACA;AACN,UAAM,OAAO,OAAO,MAAM,QAAQ,OAAO,IAAI,KAAK,MAAM,MAAM;AAC9D,UAAM,QAAQ,MAAM;AAClB,UAAI,SAAS,SAAU,YAAW;AAAA,UAC7B,WAAU,SAAS,SAAS,YAAY,UAAU;AAAA,IACzD;AAOA,UAAM,YAAY,CAAC,SACjB,SAAS,WACL,EAAE,yBAAyB,IAC3B,QAAQ,SAAS,SAAS,YAAY,UAAU;AAEtD,WACE,oBAAC,mBACC,+BAAC,WACC;AAAA,0BAAC,kBAAe,SAAO,MACrB;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,SAAS,WAAW;AAAA,UACpB,MAAM,UAAU,IAAI;AAAA,UACpB,cAAY,UAAU,UAAU,OAAO,CAAC,2BAA2B,UAAU,IAAI,CAAC;AAAA,UAClF,SAAS;AAAA,UACT;AAAA,UACC,GAAG;AAAA,UAEJ,8BAAC,eAAY;AAAA;AAAA,MACf,GACF;AAAA,MACA,oBAAC,kBAAgB,oBAAU,OAAO,GAAE;AAAA,OACtC,GACF;AAAA,EAEJ;AACF;","names":["ThemeSwitcher","next"]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-OEPN373X.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-OITCRC5D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-OKV3N7QK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,51 @@
1
+ "use client";
2
+
3
+ // src/lib/diff-rows.ts
4
+ import { useCallback, useMemo, useState } from "react";
5
+ function collapseDiffRows(lines, contextLines, expanded = /* @__PURE__ */ new Set()) {
6
+ if (!contextLines || contextLines <= 0) {
7
+ return lines.map((line, index) => ({ kind: "line", line, index }));
8
+ }
9
+ const out = [];
10
+ let i = 0;
11
+ while (i < lines.length) {
12
+ if (lines[i]?.type !== "context") {
13
+ out.push({ kind: "line", line: lines[i], index: i });
14
+ i++;
15
+ continue;
16
+ }
17
+ const runStart = i;
18
+ let j = i;
19
+ while (j < lines.length && lines[j]?.type === "context") j++;
20
+ const runLength = j - runStart;
21
+ if (runLength <= contextLines || expanded.has(runStart)) {
22
+ for (let k = runStart; k < j; k++) out.push({ kind: "line", line: lines[k], index: k });
23
+ } else {
24
+ const top = Math.ceil(contextLines / 2);
25
+ const bottom = Math.floor(contextLines / 2);
26
+ for (let k = runStart; k < runStart + top; k++)
27
+ out.push({ kind: "line", line: lines[k], index: k });
28
+ out.push({ kind: "collapsed", runStart, hiddenCount: runLength - top - bottom });
29
+ for (let k = j - bottom; k < j; k++) out.push({ kind: "line", line: lines[k], index: k });
30
+ }
31
+ i = j;
32
+ }
33
+ return out;
34
+ }
35
+ function useDiffRows(lines, contextLines) {
36
+ const [expanded, setExpanded] = useState(/* @__PURE__ */ new Set());
37
+ const rows = useMemo(
38
+ () => collapseDiffRows(lines, contextLines, expanded),
39
+ [lines, contextLines, expanded]
40
+ );
41
+ const expand = useCallback((runStart) => {
42
+ setExpanded((prev) => new Set(prev).add(runStart));
43
+ }, []);
44
+ return { rows, expand };
45
+ }
46
+
47
+ export {
48
+ collapseDiffRows,
49
+ useDiffRows
50
+ };
51
+ //# sourceMappingURL=chunk-ON2E7XHD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/diff-rows.ts"],"sourcesContent":["\"use client\";\n\n/**\n * The context-run-collapsing hunk-windowing algorithm behind `DiffView`\n * (`@elabs-ai/components-ai`, #102, where it shipped as the private\n * `useVisibleRows`) and the terminal CLI look-alike family's own diff hunk\n * (issue #117).\n *\n * Promoted here (not duplicated) because `@elabs-ai/components-ai` and\n * `@elabs-ai/components-terminal` are layer-2 DAG SIBLINGS and may not import\n * each other — `ui` is upstream of both\n * (docs/decisions/2026-09-01-brainless-adoption-architecture.md § 4). The\n * windowing algorithm is shiki-free and DOM-free; `ui` already hosts hooks\n * (`use-mobile`, `use-copy-to-clipboard`), so a hook alongside a pure\n * function is an ordinary shape here, not a new category.\n */\nimport { useCallback, useMemo, useState } from \"react\";\nimport type { DiffLine } from \"./diff-line\";\n\n/**\n * One rendered row: either a real diff line, or a collapsed run of\n * consecutive `context` lines longer than the caller's `contextLines`.\n */\nexport type DiffRow =\n | { kind: \"line\"; line: DiffLine; index: number }\n | { kind: \"collapsed\"; runStart: number; hiddenCount: number };\n\n/**\n * Collapse long runs of consecutive `context` lines behind a single\n * `\"collapsed\"` row, keeping `Math.ceil(contextLines / 2)` lines of context\n * at the top of the run and `Math.floor(contextLines / 2)` at the bottom —\n * so a reader always sees context on both sides of a hidden gap. A run\n * already in `expanded` (by its start index) renders in full instead.\n *\n * Pure: no state, no effect. `useDiffRows` below is the stateful wrapper\n * that owns the `expanded` set for a component.\n */\nexport function collapseDiffRows(\n lines: DiffLine[],\n contextLines: number | undefined,\n expanded: ReadonlySet<number> = new Set(),\n): DiffRow[] {\n if (!contextLines || contextLines <= 0) {\n return lines.map((line, index) => ({ kind: \"line\", line, index }));\n }\n const out: DiffRow[] = [];\n let i = 0;\n while (i < lines.length) {\n if (lines[i]?.type !== \"context\") {\n out.push({ kind: \"line\", line: lines[i]!, index: i });\n i++;\n continue;\n }\n const runStart = i;\n let j = i;\n while (j < lines.length && lines[j]?.type === \"context\") j++;\n const runLength = j - runStart;\n if (runLength <= contextLines || expanded.has(runStart)) {\n for (let k = runStart; k < j; k++) out.push({ kind: \"line\", line: lines[k]!, index: k });\n } else {\n const top = Math.ceil(contextLines / 2);\n const bottom = Math.floor(contextLines / 2);\n for (let k = runStart; k < runStart + top; k++)\n out.push({ kind: \"line\", line: lines[k]!, index: k });\n out.push({ kind: \"collapsed\", runStart, hiddenCount: runLength - top - bottom });\n for (let k = j - bottom; k < j; k++) out.push({ kind: \"line\", line: lines[k]!, index: k });\n }\n i = j;\n }\n return out;\n}\n\n/**\n * Stateful wrapper around `collapseDiffRows`: owns the set of run-start\n * indices a caller has expanded via the \"show more\" control, and returns the\n * current row list alongside an `expand` action.\n */\nexport function useDiffRows(\n lines: DiffLine[],\n contextLines: number | undefined,\n): { rows: DiffRow[]; expand: (runStart: number) => void } {\n const [expanded, setExpanded] = useState<ReadonlySet<number>>(new Set());\n\n const rows = useMemo(\n () => collapseDiffRows(lines, contextLines, expanded),\n [lines, contextLines, expanded],\n );\n\n const expand = useCallback((runStart: number) => {\n setExpanded((prev) => new Set(prev).add(runStart));\n }, []);\n\n return { rows, expand };\n}\n"],"mappings":";;;AAgBA,SAAS,aAAa,SAAS,gBAAgB;AAqBxC,SAAS,iBACd,OACA,cACA,WAAgC,oBAAI,IAAI,GAC7B;AACX,MAAI,CAAC,gBAAgB,gBAAgB,GAAG;AACtC,WAAO,MAAM,IAAI,CAAC,MAAM,WAAW,EAAE,MAAM,QAAQ,MAAM,MAAM,EAAE;AAAA,EACnE;AACA,QAAM,MAAiB,CAAC;AACxB,MAAI,IAAI;AACR,SAAO,IAAI,MAAM,QAAQ;AACvB,QAAI,MAAM,CAAC,GAAG,SAAS,WAAW;AAChC,UAAI,KAAK,EAAE,MAAM,QAAQ,MAAM,MAAM,CAAC,GAAI,OAAO,EAAE,CAAC;AACpD;AACA;AAAA,IACF;AACA,UAAM,WAAW;AACjB,QAAI,IAAI;AACR,WAAO,IAAI,MAAM,UAAU,MAAM,CAAC,GAAG,SAAS,UAAW;AACzD,UAAM,YAAY,IAAI;AACtB,QAAI,aAAa,gBAAgB,SAAS,IAAI,QAAQ,GAAG;AACvD,eAAS,IAAI,UAAU,IAAI,GAAG,IAAK,KAAI,KAAK,EAAE,MAAM,QAAQ,MAAM,MAAM,CAAC,GAAI,OAAO,EAAE,CAAC;AAAA,IACzF,OAAO;AACL,YAAM,MAAM,KAAK,KAAK,eAAe,CAAC;AACtC,YAAM,SAAS,KAAK,MAAM,eAAe,CAAC;AAC1C,eAAS,IAAI,UAAU,IAAI,WAAW,KAAK;AACzC,YAAI,KAAK,EAAE,MAAM,QAAQ,MAAM,MAAM,CAAC,GAAI,OAAO,EAAE,CAAC;AACtD,UAAI,KAAK,EAAE,MAAM,aAAa,UAAU,aAAa,YAAY,MAAM,OAAO,CAAC;AAC/E,eAAS,IAAI,IAAI,QAAQ,IAAI,GAAG,IAAK,KAAI,KAAK,EAAE,MAAM,QAAQ,MAAM,MAAM,CAAC,GAAI,OAAO,EAAE,CAAC;AAAA,IAC3F;AACA,QAAI;AAAA,EACN;AACA,SAAO;AACT;AAOO,SAAS,YACd,OACA,cACyD;AACzD,QAAM,CAAC,UAAU,WAAW,IAAI,SAA8B,oBAAI,IAAI,CAAC;AAEvE,QAAM,OAAO;AAAA,IACX,MAAM,iBAAiB,OAAO,cAAc,QAAQ;AAAA,IACpD,CAAC,OAAO,cAAc,QAAQ;AAAA,EAChC;AAEA,QAAM,SAAS,YAAY,CAAC,aAAqB;AAC/C,gBAAY,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,IAAI,QAAQ,CAAC;AAAA,EACnD,GAAG,CAAC,CAAC;AAEL,SAAO,EAAE,MAAM,OAAO;AACxB;","names":[]}