@elabs-ai/components-ui 4.2.0 → 5.1.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 (1435) 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-2DFB4YTK.js +55 -0
  9. package/dist/chunk-2DFB4YTK.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-2ZMPAD6C.js +357 -0
  13. package/dist/chunk-2ZMPAD6C.js.map +1 -0
  14. package/dist/chunk-36SY7TID.js +36 -0
  15. package/dist/chunk-36SY7TID.js.map +1 -0
  16. package/dist/chunk-36VULFFV.js +2 -0
  17. package/dist/chunk-36VULFFV.js.map +1 -0
  18. package/dist/chunk-3BZBNDRP.js +123 -0
  19. package/dist/chunk-3BZBNDRP.js.map +1 -0
  20. package/dist/chunk-3DJ4KY3U.js +82 -0
  21. package/dist/chunk-3DJ4KY3U.js.map +1 -0
  22. package/dist/chunk-3EDNWHWD.js +125 -0
  23. package/dist/chunk-3EDNWHWD.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-3OSGTUN2.js +2 -0
  27. package/dist/chunk-3OSGTUN2.js.map +1 -0
  28. package/dist/chunk-3P7SRCDB.js +23 -0
  29. package/dist/chunk-3P7SRCDB.js.map +1 -0
  30. package/dist/chunk-3ZR5PMKB.js +41 -0
  31. package/dist/chunk-3ZR5PMKB.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-47YSHR3H.js +77 -0
  35. package/dist/chunk-47YSHR3H.js.map +1 -0
  36. package/dist/chunk-4ACT7RLU.js +2 -0
  37. package/dist/chunk-4ACT7RLU.js.map +1 -0
  38. package/dist/chunk-4B2E4OCZ.js +44 -0
  39. package/dist/chunk-4B2E4OCZ.js.map +1 -0
  40. package/dist/chunk-4C4D6T5M.js +229 -0
  41. package/dist/chunk-4C4D6T5M.js.map +1 -0
  42. package/dist/chunk-4DWIMWR5.js +726 -0
  43. package/dist/chunk-4DWIMWR5.js.map +1 -0
  44. package/dist/chunk-4DZGAY6R.js +140 -0
  45. package/dist/chunk-4DZGAY6R.js.map +1 -0
  46. package/dist/chunk-4HTVJZVG.js +2 -0
  47. package/dist/chunk-4HTVJZVG.js.map +1 -0
  48. package/dist/chunk-4KDA5MDC.js +2 -0
  49. package/dist/chunk-4KDA5MDC.js.map +1 -0
  50. package/dist/chunk-4NSCLIES.js +126 -0
  51. package/dist/chunk-4NSCLIES.js.map +1 -0
  52. package/dist/chunk-4PXDZR2W.js +2 -0
  53. package/dist/chunk-4PXDZR2W.js.map +1 -0
  54. package/dist/chunk-4UWOADYM.js +2 -0
  55. package/dist/chunk-4UWOADYM.js.map +1 -0
  56. package/dist/chunk-4VCU3GFI.js +23 -0
  57. package/dist/chunk-4VCU3GFI.js.map +1 -0
  58. package/dist/chunk-4W3MVVKN.js +66 -0
  59. package/dist/chunk-4W3MVVKN.js.map +1 -0
  60. package/dist/chunk-4YOFSGHD.js +2 -0
  61. package/dist/chunk-4YOFSGHD.js.map +1 -0
  62. package/dist/chunk-545HI223.js +2 -0
  63. package/dist/chunk-545HI223.js.map +1 -0
  64. package/dist/chunk-55BM2IU2.js +186 -0
  65. package/dist/chunk-55BM2IU2.js.map +1 -0
  66. package/dist/chunk-5C5W52O2.js +27 -0
  67. package/dist/chunk-5C5W52O2.js.map +1 -0
  68. package/dist/chunk-5G2DDMHR.js +2 -0
  69. package/dist/chunk-5G2DDMHR.js.map +1 -0
  70. package/dist/chunk-5LCN5Q2L.js +23 -0
  71. package/dist/chunk-5LCN5Q2L.js.map +1 -0
  72. package/dist/chunk-5MXQ5CP7.js +93 -0
  73. package/dist/chunk-5MXQ5CP7.js.map +1 -0
  74. package/dist/chunk-5P4BSHIG.js +2 -0
  75. package/dist/chunk-5P4BSHIG.js.map +1 -0
  76. package/dist/chunk-5SHHIQVA.js +22 -0
  77. package/dist/chunk-5SHHIQVA.js.map +1 -0
  78. package/dist/chunk-5YZLOAKR.js +2 -0
  79. package/dist/chunk-5YZLOAKR.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-6HTZBBTC.js +35 -0
  85. package/dist/chunk-6HTZBBTC.js.map +1 -0
  86. package/dist/chunk-6ROQKB4U.js +2 -0
  87. package/dist/chunk-6ROQKB4U.js.map +1 -0
  88. package/dist/chunk-6S43VAN7.js +2 -0
  89. package/dist/chunk-6S43VAN7.js.map +1 -0
  90. package/dist/chunk-6TJVJPNU.js +1321 -0
  91. package/dist/chunk-6TJVJPNU.js.map +1 -0
  92. package/dist/chunk-6VLJL7Q4.js +2 -0
  93. package/dist/chunk-6VLJL7Q4.js.map +1 -0
  94. package/dist/chunk-72H7HUTH.js +161 -0
  95. package/dist/chunk-72H7HUTH.js.map +1 -0
  96. package/dist/chunk-7KV7H2TW.js +323 -0
  97. package/dist/chunk-7KV7H2TW.js.map +1 -0
  98. package/dist/chunk-7WIHVGYL.js +2 -0
  99. package/dist/chunk-7WIHVGYL.js.map +1 -0
  100. package/dist/chunk-7Z2RAGOA.js +90 -0
  101. package/dist/chunk-7Z2RAGOA.js.map +1 -0
  102. package/dist/chunk-AA3SPDJU.js +2 -0
  103. package/dist/chunk-AA3SPDJU.js.map +1 -0
  104. package/dist/chunk-AC7X3D2M.js +2 -0
  105. package/dist/chunk-AC7X3D2M.js.map +1 -0
  106. package/dist/chunk-AE6LFFME.js +201 -0
  107. package/dist/chunk-AE6LFFME.js.map +1 -0
  108. package/dist/chunk-AE6UDP36.js +2 -0
  109. package/dist/chunk-AE6UDP36.js.map +1 -0
  110. package/dist/chunk-AFEFAGPW.js +2 -0
  111. package/dist/chunk-AFEFAGPW.js.map +1 -0
  112. package/dist/chunk-AFJCS2WV.js +95 -0
  113. package/dist/chunk-AFJCS2WV.js.map +1 -0
  114. package/dist/chunk-ALNJV4XB.js +218 -0
  115. package/dist/chunk-ALNJV4XB.js.map +1 -0
  116. package/dist/chunk-AQNLEP5F.js +2 -0
  117. package/dist/chunk-AQNLEP5F.js.map +1 -0
  118. package/dist/chunk-AUQVJ7KO.js +2 -0
  119. package/dist/chunk-AUQVJ7KO.js.map +1 -0
  120. package/dist/chunk-AXHMQOIZ.js +116 -0
  121. package/dist/chunk-AXHMQOIZ.js.map +1 -0
  122. package/dist/chunk-AZEABCK4.js +30 -0
  123. package/dist/chunk-AZEABCK4.js.map +1 -0
  124. package/dist/chunk-B23VW24W.js +2 -0
  125. package/dist/chunk-B23VW24W.js.map +1 -0
  126. package/dist/chunk-B2RSOLLO.js +2 -0
  127. package/dist/chunk-B2RSOLLO.js.map +1 -0
  128. package/dist/chunk-B3DANITU.js +85 -0
  129. package/dist/chunk-B3DANITU.js.map +1 -0
  130. package/dist/chunk-B7FAQKHH.js +87 -0
  131. package/dist/chunk-B7FAQKHH.js.map +1 -0
  132. package/dist/chunk-BDOG4YSM.js +989 -0
  133. package/dist/chunk-BDOG4YSM.js.map +1 -0
  134. package/dist/chunk-BRL2HMZJ.js +110 -0
  135. package/dist/chunk-BRL2HMZJ.js.map +1 -0
  136. package/dist/chunk-BTBYNKT4.js +2 -0
  137. package/dist/chunk-BTBYNKT4.js.map +1 -0
  138. package/dist/chunk-BWL7HWEF.js +325 -0
  139. package/dist/chunk-BWL7HWEF.js.map +1 -0
  140. package/dist/chunk-BYFRDLDL.js +246 -0
  141. package/dist/chunk-BYFRDLDL.js.map +1 -0
  142. package/dist/chunk-BZQF5QCN.js +18 -0
  143. package/dist/chunk-BZQF5QCN.js.map +1 -0
  144. package/dist/chunk-C2AQEEFB.js +2 -0
  145. package/dist/chunk-C2AQEEFB.js.map +1 -0
  146. package/dist/chunk-C2ICCCP5.js +400 -0
  147. package/dist/chunk-C2ICCCP5.js.map +1 -0
  148. package/dist/chunk-C5QBV5RE.js +77 -0
  149. package/dist/chunk-C5QBV5RE.js.map +1 -0
  150. package/dist/chunk-C753P3VJ.js +2 -0
  151. package/dist/chunk-C753P3VJ.js.map +1 -0
  152. package/dist/chunk-CDE74W6O.js +2 -0
  153. package/dist/chunk-CDE74W6O.js.map +1 -0
  154. package/dist/chunk-CDMJSXCB.js +62 -0
  155. package/dist/chunk-CDMJSXCB.js.map +1 -0
  156. package/dist/chunk-CEDK5GM2.js +68 -0
  157. package/dist/chunk-CEDK5GM2.js.map +1 -0
  158. package/dist/chunk-CEHCVDYR.js +476 -0
  159. package/dist/chunk-CEHCVDYR.js.map +1 -0
  160. package/dist/chunk-CEQ3YKHR.js +35 -0
  161. package/dist/chunk-CEQ3YKHR.js.map +1 -0
  162. package/dist/chunk-CEQER4CV.js +2 -0
  163. package/dist/chunk-CEQER4CV.js.map +1 -0
  164. package/dist/chunk-CMP4F537.js +190 -0
  165. package/dist/chunk-CMP4F537.js.map +1 -0
  166. package/dist/chunk-CRGGGHAM.js +2 -0
  167. package/dist/chunk-CRGGGHAM.js.map +1 -0
  168. package/dist/chunk-CRVB4SLG.js +2 -0
  169. package/dist/chunk-CRVB4SLG.js.map +1 -0
  170. package/dist/chunk-CT6XJIPY.js +2 -0
  171. package/dist/chunk-CT6XJIPY.js.map +1 -0
  172. package/dist/chunk-CY5ISPFB.js +235 -0
  173. package/dist/chunk-CY5ISPFB.js.map +1 -0
  174. package/dist/chunk-CY624JOL.js +2 -0
  175. package/dist/chunk-CY624JOL.js.map +1 -0
  176. package/dist/chunk-D53EN4Q6.js +2 -0
  177. package/dist/chunk-D53EN4Q6.js.map +1 -0
  178. package/dist/chunk-D5INX2EF.js +50 -0
  179. package/dist/chunk-D5INX2EF.js.map +1 -0
  180. package/dist/chunk-DCHYNTHI.js +11 -0
  181. package/dist/chunk-DCHYNTHI.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-DU6ITAJL.js +2 -0
  187. package/dist/chunk-DU6ITAJL.js.map +1 -0
  188. package/dist/chunk-DXC3DTCV.js +256 -0
  189. package/dist/chunk-DXC3DTCV.js.map +1 -0
  190. package/dist/chunk-DXDLTYTT.js +2 -0
  191. package/dist/chunk-DXDLTYTT.js.map +1 -0
  192. package/dist/chunk-E3GNYOLS.js +26 -0
  193. package/dist/chunk-E3GNYOLS.js.map +1 -0
  194. package/dist/chunk-EAFPUZ46.js +2 -0
  195. package/dist/chunk-EAFPUZ46.js.map +1 -0
  196. package/dist/chunk-EBDOKU5K.js +2 -0
  197. package/dist/chunk-EBDOKU5K.js.map +1 -0
  198. package/dist/chunk-EBNPVPR7.js +266 -0
  199. package/dist/chunk-EBNPVPR7.js.map +1 -0
  200. package/dist/chunk-EDE73Q6Z.js +2 -0
  201. package/dist/chunk-EDE73Q6Z.js.map +1 -0
  202. package/dist/chunk-EJ3XWNY3.js +52 -0
  203. package/dist/chunk-EJ3XWNY3.js.map +1 -0
  204. package/dist/chunk-EJQYE4MY.js +100 -0
  205. package/dist/chunk-EJQYE4MY.js.map +1 -0
  206. package/dist/chunk-ENL3CCZB.js +385 -0
  207. package/dist/chunk-ENL3CCZB.js.map +1 -0
  208. package/dist/chunk-EP3U7OQ3.js +18 -0
  209. package/dist/chunk-EP3U7OQ3.js.map +1 -0
  210. package/dist/chunk-ERTYAID6.js +101 -0
  211. package/dist/chunk-ERTYAID6.js.map +1 -0
  212. package/dist/chunk-FAOX6A5D.js +2 -0
  213. package/dist/chunk-FAOX6A5D.js.map +1 -0
  214. package/dist/chunk-FBJ2JSRA.js +47 -0
  215. package/dist/chunk-FBJ2JSRA.js.map +1 -0
  216. package/dist/chunk-FDJ77DTR.js +2 -0
  217. package/dist/chunk-FDJ77DTR.js.map +1 -0
  218. package/dist/chunk-FG3PDWE3.js +31 -0
  219. package/dist/chunk-FG3PDWE3.js.map +1 -0
  220. package/dist/chunk-FHDJKH2A.js +2 -0
  221. package/dist/chunk-FHDJKH2A.js.map +1 -0
  222. package/dist/chunk-FLCQKC64.js +97 -0
  223. package/dist/chunk-FLCQKC64.js.map +1 -0
  224. package/dist/chunk-FPLZ24MK.js +2 -0
  225. package/dist/chunk-FPLZ24MK.js.map +1 -0
  226. package/dist/chunk-FRFSDZIN.js +2 -0
  227. package/dist/chunk-FRFSDZIN.js.map +1 -0
  228. package/dist/chunk-FXC64HLD.js +137 -0
  229. package/dist/chunk-FXC64HLD.js.map +1 -0
  230. package/dist/chunk-FXWWDMMP.js +55 -0
  231. package/dist/chunk-FXWWDMMP.js.map +1 -0
  232. package/dist/chunk-FZEG2R3E.js +30 -0
  233. package/dist/chunk-FZEG2R3E.js.map +1 -0
  234. package/dist/chunk-G3OTDYCD.js +53 -0
  235. package/dist/chunk-G3OTDYCD.js.map +1 -0
  236. package/dist/chunk-G72UOVKS.js +2 -0
  237. package/dist/chunk-G72UOVKS.js.map +1 -0
  238. package/dist/chunk-GAI4NEPU.js +151 -0
  239. package/dist/chunk-GAI4NEPU.js.map +1 -0
  240. package/dist/chunk-GMXSCEYN.js +24 -0
  241. package/dist/chunk-GMXSCEYN.js.map +1 -0
  242. package/dist/chunk-GTBVTLZJ.js +54 -0
  243. package/dist/chunk-GTBVTLZJ.js.map +1 -0
  244. package/dist/chunk-GTDCC4YX.js +197 -0
  245. package/dist/chunk-GTDCC4YX.js.map +1 -0
  246. package/dist/chunk-GV6GQXKX.js +176 -0
  247. package/dist/chunk-GV6GQXKX.js.map +1 -0
  248. package/dist/chunk-GWHO5ACE.js +637 -0
  249. package/dist/chunk-GWHO5ACE.js.map +1 -0
  250. package/dist/chunk-H5XSI63P.js +2 -0
  251. package/dist/chunk-H5XSI63P.js.map +1 -0
  252. package/dist/chunk-HANBQNW3.js +1498 -0
  253. package/dist/chunk-HANBQNW3.js.map +1 -0
  254. package/dist/chunk-HCU2JHPH.js +169 -0
  255. package/dist/chunk-HCU2JHPH.js.map +1 -0
  256. package/dist/chunk-HDDXP2J7.js +2 -0
  257. package/dist/chunk-HDDXP2J7.js.map +1 -0
  258. package/dist/chunk-HDS64Z5L.js +54 -0
  259. package/dist/chunk-HDS64Z5L.js.map +1 -0
  260. package/dist/chunk-HF6BGFUV.js +78 -0
  261. package/dist/chunk-HF6BGFUV.js.map +1 -0
  262. package/dist/chunk-HHVULJGX.js +2 -0
  263. package/dist/chunk-HHVULJGX.js.map +1 -0
  264. package/dist/chunk-HHZJALGA.js +163 -0
  265. package/dist/chunk-HHZJALGA.js.map +1 -0
  266. package/dist/chunk-HLMFRCFE.js +2 -0
  267. package/dist/chunk-HLMFRCFE.js.map +1 -0
  268. package/dist/chunk-HND6FAMX.js +75 -0
  269. package/dist/chunk-HND6FAMX.js.map +1 -0
  270. package/dist/chunk-HNLYRHAU.js +74 -0
  271. package/dist/chunk-HNLYRHAU.js.map +1 -0
  272. package/dist/chunk-HPUPDT4Q.js +2 -0
  273. package/dist/chunk-HPUPDT4Q.js.map +1 -0
  274. package/dist/chunk-HUIYDDDL.js +189 -0
  275. package/dist/chunk-HUIYDDDL.js.map +1 -0
  276. package/dist/chunk-HWVU636Q.js +787 -0
  277. package/dist/chunk-HWVU636Q.js.map +1 -0
  278. package/dist/chunk-HXQ4MDCH.js +296 -0
  279. package/dist/chunk-HXQ4MDCH.js.map +1 -0
  280. package/dist/chunk-HZPNST7D.js +2 -0
  281. package/dist/chunk-HZPNST7D.js.map +1 -0
  282. package/dist/chunk-I3U52BDH.js +36 -0
  283. package/dist/chunk-I3U52BDH.js.map +1 -0
  284. package/dist/chunk-I6O6ACCH.js +2 -0
  285. package/dist/chunk-I6O6ACCH.js.map +1 -0
  286. package/dist/chunk-IE5GWE72.js +177 -0
  287. package/dist/chunk-IE5GWE72.js.map +1 -0
  288. package/dist/chunk-IIY5JRNW.js +93 -0
  289. package/dist/chunk-IIY5JRNW.js.map +1 -0
  290. package/dist/chunk-IM5VJP6T.js +2 -0
  291. package/dist/chunk-IM5VJP6T.js.map +1 -0
  292. package/dist/chunk-IRUZDWJ3.js +218 -0
  293. package/dist/chunk-IRUZDWJ3.js.map +1 -0
  294. package/dist/chunk-ISWUCXEZ.js +2 -0
  295. package/dist/chunk-ISWUCXEZ.js.map +1 -0
  296. package/dist/chunk-IUQ474IC.js +2 -0
  297. package/dist/chunk-IUQ474IC.js.map +1 -0
  298. package/dist/chunk-IVEDMK5U.js +61 -0
  299. package/dist/chunk-IVEDMK5U.js.map +1 -0
  300. package/dist/chunk-IY23F2Y5.js +2 -0
  301. package/dist/chunk-IY23F2Y5.js.map +1 -0
  302. package/dist/chunk-JCRBDA66.js +2 -0
  303. package/dist/chunk-JCRBDA66.js.map +1 -0
  304. package/dist/chunk-JTY3REOB.js +76 -0
  305. package/dist/chunk-JTY3REOB.js.map +1 -0
  306. package/dist/chunk-JVCIAEFT.js +68 -0
  307. package/dist/chunk-JVCIAEFT.js.map +1 -0
  308. package/dist/chunk-JWWJ2Z5C.js +2 -0
  309. package/dist/chunk-JWWJ2Z5C.js.map +1 -0
  310. package/dist/chunk-K2GLXCTG.js +2 -0
  311. package/dist/chunk-K2GLXCTG.js.map +1 -0
  312. package/dist/chunk-K4V2ELUZ.js +36 -0
  313. package/dist/chunk-K4V2ELUZ.js.map +1 -0
  314. package/dist/chunk-KAAJL2HA.js +327 -0
  315. package/dist/chunk-KAAJL2HA.js.map +1 -0
  316. package/dist/chunk-KBWHHAI3.js +246 -0
  317. package/dist/chunk-KBWHHAI3.js.map +1 -0
  318. package/dist/chunk-KK2TIWTF.js +54 -0
  319. package/dist/chunk-KK2TIWTF.js.map +1 -0
  320. package/dist/chunk-KPZFLTZ2.js +61 -0
  321. package/dist/chunk-KPZFLTZ2.js.map +1 -0
  322. package/dist/chunk-KRVSD4OK.js +2 -0
  323. package/dist/chunk-KRVSD4OK.js.map +1 -0
  324. package/dist/chunk-KXYL3CUS.js +74 -0
  325. package/dist/chunk-KXYL3CUS.js.map +1 -0
  326. package/dist/chunk-L37QZALU.js +17 -0
  327. package/dist/chunk-L37QZALU.js.map +1 -0
  328. package/dist/chunk-L3SHPHLK.js +35 -0
  329. package/dist/chunk-L3SHPHLK.js.map +1 -0
  330. package/dist/chunk-L5O2O67Y.js +164 -0
  331. package/dist/chunk-L5O2O67Y.js.map +1 -0
  332. package/dist/chunk-L66VJIRD.js +2 -0
  333. package/dist/chunk-L66VJIRD.js.map +1 -0
  334. package/dist/chunk-L6A3RXCU.js +140 -0
  335. package/dist/chunk-L6A3RXCU.js.map +1 -0
  336. package/dist/chunk-LDOCY4SU.js +68 -0
  337. package/dist/chunk-LDOCY4SU.js.map +1 -0
  338. package/dist/chunk-LG33MONJ.js +74 -0
  339. package/dist/chunk-LG33MONJ.js.map +1 -0
  340. package/dist/chunk-LJGWA2XL.js +2 -0
  341. package/dist/chunk-LJGWA2XL.js.map +1 -0
  342. package/dist/chunk-LLQWLZ75.js +2 -0
  343. package/dist/chunk-LLQWLZ75.js.map +1 -0
  344. package/dist/chunk-LLYLDZXC.js +54 -0
  345. package/dist/chunk-LLYLDZXC.js.map +1 -0
  346. package/dist/chunk-LMV225AS.js +39 -0
  347. package/dist/chunk-LMV225AS.js.map +1 -0
  348. package/dist/chunk-LSYVAOSH.js +2 -0
  349. package/dist/chunk-LSYVAOSH.js.map +1 -0
  350. package/dist/chunk-LYVBDMDQ.js +2 -0
  351. package/dist/chunk-LYVBDMDQ.js.map +1 -0
  352. package/dist/chunk-M2KNQZUL.js +73 -0
  353. package/dist/chunk-M2KNQZUL.js.map +1 -0
  354. package/dist/chunk-M3WSUFD4.js +2 -0
  355. package/dist/chunk-M3WSUFD4.js.map +1 -0
  356. package/dist/chunk-M5WPZXBA.js +118 -0
  357. package/dist/chunk-M5WPZXBA.js.map +1 -0
  358. package/dist/chunk-MDQYRES4.js +796 -0
  359. package/dist/chunk-MDQYRES4.js.map +1 -0
  360. package/dist/chunk-MIXCXZWT.js +2 -0
  361. package/dist/chunk-MIXCXZWT.js.map +1 -0
  362. package/dist/chunk-MJAIURHO.js +56 -0
  363. package/dist/chunk-MJAIURHO.js.map +1 -0
  364. package/dist/chunk-MLGBLKUH.js +2 -0
  365. package/dist/chunk-MLGBLKUH.js.map +1 -0
  366. package/dist/chunk-MNS2VWHD.js +2 -0
  367. package/dist/chunk-MNS2VWHD.js.map +1 -0
  368. package/dist/chunk-MPMMU3QI.js +2 -0
  369. package/dist/chunk-MPMMU3QI.js.map +1 -0
  370. package/dist/chunk-MRBDJASL.js +97 -0
  371. package/dist/chunk-MRBDJASL.js.map +1 -0
  372. package/dist/chunk-MRWOHWEH.js +2 -0
  373. package/dist/chunk-MRWOHWEH.js.map +1 -0
  374. package/dist/chunk-MY5H6D5Y.js +245 -0
  375. package/dist/chunk-MY5H6D5Y.js.map +1 -0
  376. package/dist/chunk-MZDL7N52.js +2 -0
  377. package/dist/chunk-MZDL7N52.js.map +1 -0
  378. package/dist/chunk-N7PJTMRL.js +2 -0
  379. package/dist/chunk-N7PJTMRL.js.map +1 -0
  380. package/dist/chunk-NMGNXW3J.js +98 -0
  381. package/dist/chunk-NMGNXW3J.js.map +1 -0
  382. package/dist/chunk-NRNIUM75.js +2 -0
  383. package/dist/chunk-NRNIUM75.js.map +1 -0
  384. package/dist/chunk-NRPZ3BH4.js +85 -0
  385. package/dist/chunk-NRPZ3BH4.js.map +1 -0
  386. package/dist/chunk-NXCOVGDU.js +100 -0
  387. package/dist/chunk-NXCOVGDU.js.map +1 -0
  388. package/dist/chunk-NZUKZRT7.js +201 -0
  389. package/dist/chunk-NZUKZRT7.js.map +1 -0
  390. package/dist/chunk-O3JWMB6O.js +20 -0
  391. package/dist/chunk-O3JWMB6O.js.map +1 -0
  392. package/dist/chunk-O6V65J5J.js +81 -0
  393. package/dist/chunk-O6V65J5J.js.map +1 -0
  394. package/dist/chunk-OEPN373X.js +2 -0
  395. package/dist/chunk-OEPN373X.js.map +1 -0
  396. package/dist/chunk-OGTILHKP.js +355 -0
  397. package/dist/chunk-OGTILHKP.js.map +1 -0
  398. package/dist/chunk-OITCRC5D.js +2 -0
  399. package/dist/chunk-OITCRC5D.js.map +1 -0
  400. package/dist/chunk-OKV3N7QK.js +2 -0
  401. package/dist/chunk-OKV3N7QK.js.map +1 -0
  402. package/dist/chunk-OKY7ACZK.js +31 -0
  403. package/dist/chunk-OKY7ACZK.js.map +1 -0
  404. package/dist/chunk-ON2E7XHD.js +51 -0
  405. package/dist/chunk-ON2E7XHD.js.map +1 -0
  406. package/dist/chunk-OPBSVEMX.js +192 -0
  407. package/dist/chunk-OPBSVEMX.js.map +1 -0
  408. package/dist/chunk-OR4NVFPH.js +2 -0
  409. package/dist/chunk-OR4NVFPH.js.map +1 -0
  410. package/dist/chunk-OYKS7YHE.js +2 -0
  411. package/dist/chunk-OYKS7YHE.js.map +1 -0
  412. package/dist/chunk-PGKQZBLZ.js +55 -0
  413. package/dist/chunk-PGKQZBLZ.js.map +1 -0
  414. package/dist/chunk-PHAENHGL.js +19 -0
  415. package/dist/chunk-PHAENHGL.js.map +1 -0
  416. package/dist/chunk-PLCQZBZS.js +63 -0
  417. package/dist/chunk-PLCQZBZS.js.map +1 -0
  418. package/dist/chunk-PQZD5W3E.js +170 -0
  419. package/dist/chunk-PQZD5W3E.js.map +1 -0
  420. package/dist/chunk-PSBNQZB4.js +2 -0
  421. package/dist/chunk-PSBNQZB4.js.map +1 -0
  422. package/dist/chunk-PSXUEWUS.js +87 -0
  423. package/dist/chunk-PSXUEWUS.js.map +1 -0
  424. package/dist/chunk-PT5P4AAU.js +128 -0
  425. package/dist/chunk-PT5P4AAU.js.map +1 -0
  426. package/dist/chunk-PUACHQRH.js +31 -0
  427. package/dist/chunk-PUACHQRH.js.map +1 -0
  428. package/dist/chunk-QDJHUNBQ.js +2 -0
  429. package/dist/chunk-QDJHUNBQ.js.map +1 -0
  430. package/dist/chunk-QF6UWWDY.js +125 -0
  431. package/dist/chunk-QF6UWWDY.js.map +1 -0
  432. package/dist/chunk-QKZX5HDY.js +209 -0
  433. package/dist/chunk-QKZX5HDY.js.map +1 -0
  434. package/dist/chunk-QLM3KTAQ.js +100 -0
  435. package/dist/chunk-QLM3KTAQ.js.map +1 -0
  436. package/dist/chunk-QODOFLHL.js +2 -0
  437. package/dist/chunk-QODOFLHL.js.map +1 -0
  438. package/dist/chunk-QRGYKV4J.js +2 -0
  439. package/dist/chunk-QRGYKV4J.js.map +1 -0
  440. package/dist/chunk-R27VUCWR.js +140 -0
  441. package/dist/chunk-R27VUCWR.js.map +1 -0
  442. package/dist/chunk-R5JYMCEA.js +2 -0
  443. package/dist/chunk-R5JYMCEA.js.map +1 -0
  444. package/dist/chunk-RB5AWLDJ.js +26 -0
  445. package/dist/chunk-RB5AWLDJ.js.map +1 -0
  446. package/dist/chunk-RF7JSNXJ.js +2 -0
  447. package/dist/chunk-RF7JSNXJ.js.map +1 -0
  448. package/dist/chunk-RFTC5UVB.js +126 -0
  449. package/dist/chunk-RFTC5UVB.js.map +1 -0
  450. package/dist/chunk-RHVYRQN4.js +201 -0
  451. package/dist/chunk-RHVYRQN4.js.map +1 -0
  452. package/dist/chunk-RHXVQZOW.js +2 -0
  453. package/dist/chunk-RHXVQZOW.js.map +1 -0
  454. package/dist/chunk-RIYDAMSQ.js +25 -0
  455. package/dist/chunk-RIYDAMSQ.js.map +1 -0
  456. package/dist/chunk-RMSMTLXH.js +2 -0
  457. package/dist/chunk-RMSMTLXH.js.map +1 -0
  458. package/dist/chunk-RRYWMYGI.js +14 -0
  459. package/dist/chunk-RRYWMYGI.js.map +1 -0
  460. package/dist/chunk-RTHCX2TG.js +59 -0
  461. package/dist/chunk-RTHCX2TG.js.map +1 -0
  462. package/dist/chunk-RYPK72YP.js +395 -0
  463. package/dist/chunk-RYPK72YP.js.map +1 -0
  464. package/dist/chunk-SCCBEFVK.js +187 -0
  465. package/dist/chunk-SCCBEFVK.js.map +1 -0
  466. package/dist/chunk-SEGTBIR4.js +110 -0
  467. package/dist/chunk-SEGTBIR4.js.map +1 -0
  468. package/dist/chunk-SGBCLZQF.js +38 -0
  469. package/dist/chunk-SGBCLZQF.js.map +1 -0
  470. package/dist/chunk-SLDJYJEG.js +133 -0
  471. package/dist/chunk-SLDJYJEG.js.map +1 -0
  472. package/dist/chunk-SMTAPQEQ.js +2 -0
  473. package/dist/chunk-SMTAPQEQ.js.map +1 -0
  474. package/dist/chunk-SS6EOZKZ.js +2 -0
  475. package/dist/chunk-SS6EOZKZ.js.map +1 -0
  476. package/dist/chunk-SSQG36MH.js +226 -0
  477. package/dist/chunk-SSQG36MH.js.map +1 -0
  478. package/dist/chunk-SWQCCR6Q.js +140 -0
  479. package/dist/chunk-SWQCCR6Q.js.map +1 -0
  480. package/dist/chunk-T2XEMEN2.js +2 -0
  481. package/dist/chunk-T2XEMEN2.js.map +1 -0
  482. package/dist/chunk-T7JOWG2A.js +10 -0
  483. package/dist/chunk-T7JOWG2A.js.map +1 -0
  484. package/dist/chunk-TAQI4JTE.js +12 -0
  485. package/dist/chunk-TAQI4JTE.js.map +1 -0
  486. package/dist/chunk-TNOANK34.js +4483 -0
  487. package/dist/chunk-TNOANK34.js.map +1 -0
  488. package/dist/chunk-U5BZXNHW.js +80 -0
  489. package/dist/chunk-U5BZXNHW.js.map +1 -0
  490. package/dist/chunk-U756JCDK.js +27 -0
  491. package/dist/chunk-U756JCDK.js.map +1 -0
  492. package/dist/chunk-U7QYCYHC.js +2 -0
  493. package/dist/chunk-U7QYCYHC.js.map +1 -0
  494. package/dist/chunk-UANAVLMS.js +2 -0
  495. package/dist/chunk-UANAVLMS.js.map +1 -0
  496. package/dist/chunk-UCEVPLR5.js +2 -0
  497. package/dist/chunk-UCEVPLR5.js.map +1 -0
  498. package/dist/chunk-UCQDLRHR.js +31 -0
  499. package/dist/chunk-UCQDLRHR.js.map +1 -0
  500. package/dist/chunk-UFF7LLGU.js +2 -0
  501. package/dist/chunk-UFF7LLGU.js.map +1 -0
  502. package/dist/chunk-UG2T7LMX.js +198 -0
  503. package/dist/chunk-UG2T7LMX.js.map +1 -0
  504. package/dist/chunk-UG5TKXTK.js +2 -0
  505. package/dist/chunk-UG5TKXTK.js.map +1 -0
  506. package/dist/chunk-UPGIQXUY.js +24 -0
  507. package/dist/chunk-UPGIQXUY.js.map +1 -0
  508. package/dist/chunk-UQPW7INX.js +91 -0
  509. package/dist/chunk-UQPW7INX.js.map +1 -0
  510. package/dist/chunk-UQRYTMR7.js +2 -0
  511. package/dist/chunk-UQRYTMR7.js.map +1 -0
  512. package/dist/chunk-USI4LB3N.js +2 -0
  513. package/dist/chunk-USI4LB3N.js.map +1 -0
  514. package/dist/chunk-UUSOIPM2.js +69 -0
  515. package/dist/chunk-UUSOIPM2.js.map +1 -0
  516. package/dist/chunk-V2S5DINS.js +2 -0
  517. package/dist/chunk-V2S5DINS.js.map +1 -0
  518. package/dist/chunk-V3EQ6ACC.js +2 -0
  519. package/dist/chunk-V3EQ6ACC.js.map +1 -0
  520. package/dist/chunk-V5QCJHDA.js +173 -0
  521. package/dist/chunk-V5QCJHDA.js.map +1 -0
  522. package/dist/chunk-V6U75PIG.js +147 -0
  523. package/dist/chunk-V6U75PIG.js.map +1 -0
  524. package/dist/chunk-VC4GKLZL.js +111 -0
  525. package/dist/chunk-VC4GKLZL.js.map +1 -0
  526. package/dist/chunk-VFS52GGI.js +2 -0
  527. package/dist/chunk-VFS52GGI.js.map +1 -0
  528. package/dist/chunk-VH7GG77B.js +2 -0
  529. package/dist/chunk-VH7GG77B.js.map +1 -0
  530. package/dist/chunk-VHLPJ4XW.js +2 -0
  531. package/dist/chunk-VHLPJ4XW.js.map +1 -0
  532. package/dist/chunk-VLE5THFD.js +2 -0
  533. package/dist/chunk-VLE5THFD.js.map +1 -0
  534. package/dist/chunk-VORFRWM5.js +2 -0
  535. package/dist/chunk-VORFRWM5.js.map +1 -0
  536. package/dist/chunk-VQ2T3OEC.js +27 -0
  537. package/dist/chunk-VQ2T3OEC.js.map +1 -0
  538. package/dist/chunk-W26KFY35.js +32 -0
  539. package/dist/chunk-W26KFY35.js.map +1 -0
  540. package/dist/chunk-W35X6J5P.js +232 -0
  541. package/dist/chunk-W35X6J5P.js.map +1 -0
  542. package/dist/chunk-W7I2X6VI.js +2 -0
  543. package/dist/chunk-W7I2X6VI.js.map +1 -0
  544. package/dist/chunk-W7OIVERI.js +31 -0
  545. package/dist/chunk-W7OIVERI.js.map +1 -0
  546. package/dist/chunk-WEEVXQIM.js +45 -0
  547. package/dist/chunk-WEEVXQIM.js.map +1 -0
  548. package/dist/chunk-WEM6XJ7Z.js +75 -0
  549. package/dist/chunk-WEM6XJ7Z.js.map +1 -0
  550. package/dist/chunk-WKNOKJA3.js +42 -0
  551. package/dist/chunk-WKNOKJA3.js.map +1 -0
  552. package/dist/chunk-WNIVCHDP.js +2 -0
  553. package/dist/chunk-WNIVCHDP.js.map +1 -0
  554. package/dist/chunk-WOMO5CZ7.js +2 -0
  555. package/dist/chunk-WOMO5CZ7.js.map +1 -0
  556. package/dist/chunk-WYENWW3Y.js +2 -0
  557. package/dist/chunk-WYENWW3Y.js.map +1 -0
  558. package/dist/chunk-X4FE7UKP.js +2 -0
  559. package/dist/chunk-X4FE7UKP.js.map +1 -0
  560. package/dist/chunk-XGX3UFLD.js +2 -0
  561. package/dist/chunk-XGX3UFLD.js.map +1 -0
  562. package/dist/chunk-XGXCMA5M.js +2 -0
  563. package/dist/chunk-XGXCMA5M.js.map +1 -0
  564. package/dist/chunk-XJQADN6S.js +41 -0
  565. package/dist/chunk-XJQADN6S.js.map +1 -0
  566. package/dist/chunk-XYFEQHEM.js +2 -0
  567. package/dist/chunk-XYFEQHEM.js.map +1 -0
  568. package/dist/chunk-Y33ZFTMR.js +163 -0
  569. package/dist/chunk-Y33ZFTMR.js.map +1 -0
  570. package/dist/chunk-YA2QGLUL.js +32 -0
  571. package/dist/chunk-YA2QGLUL.js.map +1 -0
  572. package/dist/chunk-YCFOFNQF.js +28 -0
  573. package/dist/chunk-YCFOFNQF.js.map +1 -0
  574. package/dist/chunk-YFGFNFVW.js +59 -0
  575. package/dist/chunk-YFGFNFVW.js.map +1 -0
  576. package/dist/chunk-YFKKMDJL.js +35 -0
  577. package/dist/chunk-YFKKMDJL.js.map +1 -0
  578. package/dist/chunk-YHVXYOL6.js +80 -0
  579. package/dist/chunk-YHVXYOL6.js.map +1 -0
  580. package/dist/chunk-YIFB24WW.js +37 -0
  581. package/dist/chunk-YIFB24WW.js.map +1 -0
  582. package/dist/chunk-YK4H7VWM.js +2 -0
  583. package/dist/chunk-YK4H7VWM.js.map +1 -0
  584. package/dist/chunk-YMFEBGTU.js +2 -0
  585. package/dist/chunk-YMFEBGTU.js.map +1 -0
  586. package/dist/chunk-YUFDC6RW.js +55 -0
  587. package/dist/chunk-YUFDC6RW.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-ZALGMUSW.js +236 -0
  595. package/dist/chunk-ZALGMUSW.js.map +1 -0
  596. package/dist/chunk-ZE2H4J3P.js +2 -0
  597. package/dist/chunk-ZE2H4J3P.js.map +1 -0
  598. package/dist/chunk-ZEMTALKO.js +2 -0
  599. package/dist/chunk-ZEMTALKO.js.map +1 -0
  600. package/dist/chunk-ZFMM2NLA.js +169 -0
  601. package/dist/chunk-ZFMM2NLA.js.map +1 -0
  602. package/dist/chunk-ZI2OXD6L.js +244 -0
  603. package/dist/chunk-ZI2OXD6L.js.map +1 -0
  604. package/dist/chunk-ZRMF4YAS.js +158 -0
  605. package/dist/chunk-ZRMF4YAS.js.map +1 -0
  606. package/dist/chunk-ZSYT5H6U.js +178 -0
  607. package/dist/chunk-ZSYT5H6U.js.map +1 -0
  608. package/dist/chunk-ZXVPEQM5.js +2 -0
  609. package/dist/chunk-ZXVPEQM5.js.map +1 -0
  610. package/dist/components/accordion/accordion.js +16 -0
  611. package/dist/components/accordion/accordion.js.map +1 -0
  612. package/dist/components/accordion/index.js +17 -0
  613. package/dist/components/accordion/index.js.map +1 -0
  614. package/dist/components/advanced-group/advanced-group.js +18 -0
  615. package/dist/components/advanced-group/advanced-group.js.map +1 -0
  616. package/dist/components/advanced-group/index.js +18 -0
  617. package/dist/components/advanced-group/index.js.map +1 -0
  618. package/dist/components/alert/alert.js +16 -0
  619. package/dist/components/alert/alert.js.map +1 -0
  620. package/dist/components/alert/index.js +17 -0
  621. package/dist/components/alert/index.js.map +1 -0
  622. package/dist/components/alert-dialog/alert-dialog.js +30 -0
  623. package/dist/components/alert-dialog/alert-dialog.js.map +1 -0
  624. package/dist/components/alert-dialog/index.js +31 -0
  625. package/dist/components/alert-dialog/index.js.map +1 -0
  626. package/dist/components/ambient-field/ambient-field.css +59 -0
  627. package/dist/components/ambient-field/ambient-field.css.map +1 -0
  628. package/dist/components/ambient-field/ambient-field.js +15 -0
  629. package/dist/components/ambient-field/ambient-field.js.map +1 -0
  630. package/dist/components/ambient-field/index.css +59 -0
  631. package/dist/components/ambient-field/index.css.map +1 -0
  632. package/dist/components/ambient-field/index.js +16 -0
  633. package/dist/components/ambient-field/index.js.map +1 -0
  634. package/dist/components/app-shell/app-shell.js +14 -0
  635. package/dist/components/app-shell/app-shell.js.map +1 -0
  636. package/dist/components/app-shell/index.js +15 -0
  637. package/dist/components/app-shell/index.js.map +1 -0
  638. package/dist/components/app-sidebar/app-sidebar.js +31 -0
  639. package/dist/components/app-sidebar/app-sidebar.js.map +1 -0
  640. package/dist/components/app-sidebar/index.js +31 -0
  641. package/dist/components/app-sidebar/index.js.map +1 -0
  642. package/dist/components/aspect-ratio/aspect-ratio.js +9 -0
  643. package/dist/components/aspect-ratio/aspect-ratio.js.map +1 -0
  644. package/dist/components/aspect-ratio/index.js +10 -0
  645. package/dist/components/aspect-ratio/index.js.map +1 -0
  646. package/dist/components/attribution-panel/attribution-panel.js +24 -0
  647. package/dist/components/attribution-panel/attribution-panel.js.map +1 -0
  648. package/dist/components/attribution-panel/attribution-types.js +2 -0
  649. package/dist/components/attribution-panel/attribution-types.js.map +1 -0
  650. package/dist/components/attribution-panel/attributions.generated.js +9 -0
  651. package/dist/components/attribution-panel/attributions.generated.js.map +1 -0
  652. package/dist/components/attribution-panel/index.js +24 -0
  653. package/dist/components/attribution-panel/index.js.map +1 -0
  654. package/dist/components/avatar/avatar.js +14 -0
  655. package/dist/components/avatar/avatar.js.map +1 -0
  656. package/dist/components/avatar/index.js +15 -0
  657. package/dist/components/avatar/index.js.map +1 -0
  658. package/dist/components/badge/badge.js +16 -0
  659. package/dist/components/badge/badge.js.map +1 -0
  660. package/dist/components/badge/index.js +13 -0
  661. package/dist/components/badge/index.js.map +1 -0
  662. package/dist/components/bento-grid/bento-grid.js +16 -0
  663. package/dist/components/bento-grid/bento-grid.js.map +1 -0
  664. package/dist/components/bento-grid/index.js +16 -0
  665. package/dist/components/bento-grid/index.js.map +1 -0
  666. package/dist/components/bounded-number/bounded-number.js +24 -0
  667. package/dist/components/bounded-number/bounded-number.js.map +1 -0
  668. package/dist/components/bounded-number/index.js +24 -0
  669. package/dist/components/bounded-number/index.js.map +1 -0
  670. package/dist/components/breadcrumb/breadcrumb.js +28 -0
  671. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  672. package/dist/components/breadcrumb/index.js +26 -0
  673. package/dist/components/breadcrumb/index.js.map +1 -0
  674. package/dist/components/button/button.js +12 -0
  675. package/dist/components/button/button.js.map +1 -0
  676. package/dist/components/button/index.js +13 -0
  677. package/dist/components/button/index.js.map +1 -0
  678. package/dist/components/button-group/button-group.js +18 -0
  679. package/dist/components/button-group/button-group.js.map +1 -0
  680. package/dist/components/button-group/index.js +19 -0
  681. package/dist/components/button-group/index.js.map +1 -0
  682. package/dist/components/calendar/calendar.js +12 -0
  683. package/dist/components/calendar/calendar.js.map +1 -0
  684. package/dist/components/calendar/index.js +13 -0
  685. package/dist/components/calendar/index.js.map +1 -0
  686. package/dist/components/card/card.js +27 -0
  687. package/dist/components/card/card.js.map +1 -0
  688. package/dist/components/card/index.js +27 -0
  689. package/dist/components/card/index.js.map +1 -0
  690. package/dist/components/carousel/carousel.js +24 -0
  691. package/dist/components/carousel/carousel.js.map +1 -0
  692. package/dist/components/carousel/index.js +24 -0
  693. package/dist/components/carousel/index.js.map +1 -0
  694. package/dist/components/change-review/change-review.js +34 -0
  695. package/dist/components/change-review/change-review.js.map +1 -0
  696. package/dist/components/change-review/index.js +34 -0
  697. package/dist/components/change-review/index.js.map +1 -0
  698. package/dist/components/checkbox/checkbox.js +10 -0
  699. package/dist/components/checkbox/checkbox.js.map +1 -0
  700. package/dist/components/checkbox/index.js +11 -0
  701. package/dist/components/checkbox/index.js.map +1 -0
  702. package/dist/components/collapsible/collapsible.js +14 -0
  703. package/dist/components/collapsible/collapsible.js.map +1 -0
  704. package/dist/components/collapsible/index.js +15 -0
  705. package/dist/components/collapsible/index.js.map +1 -0
  706. package/dist/components/collapsible-panel/index.js +11 -0
  707. package/dist/components/collapsible-panel/index.js.map +1 -0
  708. package/dist/components/collapsible-panel/use-collapsible-panel.js +11 -0
  709. package/dist/components/collapsible-panel/use-collapsible-panel.js.map +1 -0
  710. package/dist/components/color-picker/color-picker.js +18 -0
  711. package/dist/components/color-picker/color-picker.js.map +1 -0
  712. package/dist/components/color-picker/index.js +18 -0
  713. package/dist/components/color-picker/index.js.map +1 -0
  714. package/dist/components/combobox/combobox.js +28 -0
  715. package/dist/components/combobox/combobox.js.map +1 -0
  716. package/dist/components/combobox/index.js +28 -0
  717. package/dist/components/combobox/index.js.map +1 -0
  718. package/dist/components/command/command.js +39 -0
  719. package/dist/components/command/command.js.map +1 -0
  720. package/dist/components/command/index.js +39 -0
  721. package/dist/components/command/index.js.map +1 -0
  722. package/dist/components/command-chip/command-chip.js +17 -0
  723. package/dist/components/command-chip/command-chip.js.map +1 -0
  724. package/dist/components/command-chip/index.js +17 -0
  725. package/dist/components/command-chip/index.js.map +1 -0
  726. package/dist/components/command-trigger/command-trigger.js +12 -0
  727. package/dist/components/command-trigger/command-trigger.js.map +1 -0
  728. package/dist/components/command-trigger/index.js +13 -0
  729. package/dist/components/command-trigger/index.js.map +1 -0
  730. package/dist/components/confirm-dialog/confirm-dialog.js +20 -0
  731. package/dist/components/confirm-dialog/confirm-dialog.js.map +1 -0
  732. package/dist/components/confirm-dialog/index.js +20 -0
  733. package/dist/components/confirm-dialog/index.js.map +1 -0
  734. package/dist/components/context-menu/context-menu.js +36 -0
  735. package/dist/components/context-menu/context-menu.js.map +1 -0
  736. package/dist/components/context-menu/index.js +37 -0
  737. package/dist/components/context-menu/index.js.map +1 -0
  738. package/dist/components/context-rail/context-rail.js +35 -0
  739. package/dist/components/context-rail/context-rail.js.map +1 -0
  740. package/dist/components/context-rail/index.js +35 -0
  741. package/dist/components/context-rail/index.js.map +1 -0
  742. package/dist/components/copyable-value/copyable-value.js +19 -0
  743. package/dist/components/copyable-value/copyable-value.js.map +1 -0
  744. package/dist/components/copyable-value/index.js +17 -0
  745. package/dist/components/copyable-value/index.js.map +1 -0
  746. package/dist/components/date-picker/date-picker.js +21 -0
  747. package/dist/components/date-picker/date-picker.js.map +1 -0
  748. package/dist/components/date-picker/index.js +21 -0
  749. package/dist/components/date-picker/index.js.map +1 -0
  750. package/dist/components/date-range-picker/date-range-picker.js +22 -0
  751. package/dist/components/date-range-picker/date-range-picker.js.map +1 -0
  752. package/dist/components/date-range-picker/index.js +22 -0
  753. package/dist/components/date-range-picker/index.js.map +1 -0
  754. package/dist/components/descriptions/descriptions.js +12 -0
  755. package/dist/components/descriptions/descriptions.js.map +1 -0
  756. package/dist/components/descriptions/index.js +13 -0
  757. package/dist/components/descriptions/index.js.map +1 -0
  758. package/dist/components/dialog/dialog.js +41 -0
  759. package/dist/components/dialog/dialog.js.map +1 -0
  760. package/dist/components/dialog/index.js +45 -0
  761. package/dist/components/dialog/index.js.map +1 -0
  762. package/dist/components/dialog/use-dialog-dismiss-guard.js +10 -0
  763. package/dist/components/dialog/use-dialog-dismiss-guard.js.map +1 -0
  764. package/dist/components/drafting-marks/drafting-marks.js +14 -0
  765. package/dist/components/drafting-marks/drafting-marks.js.map +1 -0
  766. package/dist/components/drafting-marks/index.js +15 -0
  767. package/dist/components/drafting-marks/index.js.map +1 -0
  768. package/dist/components/drawer/drawer.js +26 -0
  769. package/dist/components/drawer/drawer.js.map +1 -0
  770. package/dist/components/drawer/index.js +27 -0
  771. package/dist/components/drawer/index.js.map +1 -0
  772. package/dist/components/dropdown-menu/dropdown-menu.js +38 -0
  773. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -0
  774. package/dist/components/dropdown-menu/index.js +39 -0
  775. package/dist/components/dropdown-menu/index.js.map +1 -0
  776. package/dist/components/empty-state/empty-state.js +15 -0
  777. package/dist/components/empty-state/empty-state.js.map +1 -0
  778. package/dist/components/empty-state/index.js +16 -0
  779. package/dist/components/empty-state/index.js.map +1 -0
  780. package/dist/components/error-state/error-state.js +15 -0
  781. package/dist/components/error-state/error-state.js.map +1 -0
  782. package/dist/components/error-state/index.js +16 -0
  783. package/dist/components/error-state/index.js.map +1 -0
  784. package/dist/components/expand-dialog/expand-dialog.js +28 -0
  785. package/dist/components/expand-dialog/expand-dialog.js.map +1 -0
  786. package/dist/components/expand-dialog/index.js +28 -0
  787. package/dist/components/expand-dialog/index.js.map +1 -0
  788. package/dist/components/field/field-context.js +11 -0
  789. package/dist/components/field/field-context.js.map +1 -0
  790. package/dist/components/field/field.js +23 -0
  791. package/dist/components/field/field.js.map +1 -0
  792. package/dist/components/field/index.js +23 -0
  793. package/dist/components/field/index.js.map +1 -0
  794. package/dist/components/field-row/field-row.js +14 -0
  795. package/dist/components/field-row/field-row.js.map +1 -0
  796. package/dist/components/field-row/index.js +14 -0
  797. package/dist/components/field-row/index.js.map +1 -0
  798. package/dist/components/file-upload/file-upload.js +28 -0
  799. package/dist/components/file-upload/file-upload.js.map +1 -0
  800. package/dist/components/file-upload/index.js +26 -0
  801. package/dist/components/file-upload/index.js.map +1 -0
  802. package/dist/components/form/form.js +27 -0
  803. package/dist/components/form/form.js.map +1 -0
  804. package/dist/components/hover-card/hover-card.js +14 -0
  805. package/dist/components/hover-card/hover-card.js.map +1 -0
  806. package/dist/components/hover-card/index.js +15 -0
  807. package/dist/components/hover-card/index.js.map +1 -0
  808. package/dist/components/icon-button/icon-button.js +14 -0
  809. package/dist/components/icon-button/icon-button.js.map +1 -0
  810. package/dist/components/icon-button/index.js +15 -0
  811. package/dist/components/icon-button/index.js.map +1 -0
  812. package/dist/components/input/index.js +11 -0
  813. package/dist/components/input/index.js.map +1 -0
  814. package/dist/components/input/input.js +10 -0
  815. package/dist/components/input/input.js.map +1 -0
  816. package/dist/components/input-group/index.js +31 -0
  817. package/dist/components/input-group/index.js.map +1 -0
  818. package/dist/components/input-group/input-group.js +30 -0
  819. package/dist/components/input-group/input-group.js.map +1 -0
  820. package/dist/components/input-otp/index.js +17 -0
  821. package/dist/components/input-otp/index.js.map +1 -0
  822. package/dist/components/input-otp/input-otp.js +17 -0
  823. package/dist/components/input-otp/input-otp.js.map +1 -0
  824. package/dist/components/install-tabs/index.js +28 -0
  825. package/dist/components/install-tabs/index.js.map +1 -0
  826. package/dist/components/install-tabs/install-tabs.js +28 -0
  827. package/dist/components/install-tabs/install-tabs.js.map +1 -0
  828. package/dist/components/integration-matrix/index.js +26 -0
  829. package/dist/components/integration-matrix/index.js.map +1 -0
  830. package/dist/components/integration-matrix/integration-matrix.js +26 -0
  831. package/dist/components/integration-matrix/integration-matrix.js.map +1 -0
  832. package/dist/components/kbd/index.js +11 -0
  833. package/dist/components/kbd/index.js.map +1 -0
  834. package/dist/components/kbd/kbd.js +10 -0
  835. package/dist/components/kbd/kbd.js.map +1 -0
  836. package/dist/components/key-value-editor/index.js +18 -0
  837. package/dist/components/key-value-editor/index.js.map +1 -0
  838. package/dist/components/key-value-editor/key-value-editor.js +18 -0
  839. package/dist/components/key-value-editor/key-value-editor.js.map +1 -0
  840. package/dist/components/keyboard-shortcuts/index.js +25 -0
  841. package/dist/components/keyboard-shortcuts/index.js.map +1 -0
  842. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.js +25 -0
  843. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.js.map +1 -0
  844. package/dist/components/label/index.js +11 -0
  845. package/dist/components/label/index.js.map +1 -0
  846. package/dist/components/label/label.js +10 -0
  847. package/dist/components/label/label.js.map +1 -0
  848. package/dist/components/link-preview/index.js +14 -0
  849. package/dist/components/link-preview/index.js.map +1 -0
  850. package/dist/components/link-preview/link-preview.js +14 -0
  851. package/dist/components/link-preview/link-preview.js.map +1 -0
  852. package/dist/components/list-editor/index.js +18 -0
  853. package/dist/components/list-editor/index.js.map +1 -0
  854. package/dist/components/list-editor/list-editor.js +18 -0
  855. package/dist/components/list-editor/list-editor.js.map +1 -0
  856. package/dist/components/loading-state/index.js +16 -0
  857. package/dist/components/loading-state/index.js.map +1 -0
  858. package/dist/components/loading-state/loading-state.js +15 -0
  859. package/dist/components/loading-state/loading-state.js.map +1 -0
  860. package/dist/components/locale-provider/index.js +16 -0
  861. package/dist/components/locale-provider/index.js.map +1 -0
  862. package/dist/components/locale-provider/locale-provider.js +13 -0
  863. package/dist/components/locale-provider/locale-provider.js.map +1 -0
  864. package/dist/components/locale-provider/messages.js +10 -0
  865. package/dist/components/locale-provider/messages.js.map +1 -0
  866. package/dist/components/match-highlight/index.js +15 -0
  867. package/dist/components/match-highlight/index.js.map +1 -0
  868. package/dist/components/match-highlight/match-highlight.js +14 -0
  869. package/dist/components/match-highlight/match-highlight.js.map +1 -0
  870. package/dist/components/mention-input/index.js +46 -0
  871. package/dist/components/mention-input/index.js.map +1 -0
  872. package/dist/components/mention-input/mention-input.js +33 -0
  873. package/dist/components/mention-input/mention-input.js.map +1 -0
  874. package/dist/components/mention-input/mention-value.js +20 -0
  875. package/dist/components/mention-input/mention-value.js.map +1 -0
  876. package/dist/components/menubar/index.js +39 -0
  877. package/dist/components/menubar/index.js.map +1 -0
  878. package/dist/components/menubar/menubar.js +38 -0
  879. package/dist/components/menubar/menubar.js.map +1 -0
  880. package/dist/components/meter/index.js +15 -0
  881. package/dist/components/meter/index.js.map +1 -0
  882. package/dist/components/meter/meter.js +15 -0
  883. package/dist/components/meter/meter.js.map +1 -0
  884. package/dist/components/metric-card/index.js +24 -0
  885. package/dist/components/metric-card/index.js.map +1 -0
  886. package/dist/components/metric-card/metric-card.js +24 -0
  887. package/dist/components/metric-card/metric-card.js.map +1 -0
  888. package/dist/components/model-picker/index.js +37 -0
  889. package/dist/components/model-picker/index.js.map +1 -0
  890. package/dist/components/model-picker/model-picker-state.js +13 -0
  891. package/dist/components/model-picker/model-picker-state.js.map +1 -0
  892. package/dist/components/model-picker/model-picker.js +37 -0
  893. package/dist/components/model-picker/model-picker.js.map +1 -0
  894. package/dist/components/nav-main/index.js +33 -0
  895. package/dist/components/nav-main/index.js.map +1 -0
  896. package/dist/components/nav-main/nav-main.js +33 -0
  897. package/dist/components/nav-main/nav-main.js.map +1 -0
  898. package/dist/components/nav-notifications/index.js +20 -0
  899. package/dist/components/nav-notifications/index.js.map +1 -0
  900. package/dist/components/nav-notifications/nav-notifications.js +20 -0
  901. package/dist/components/nav-notifications/nav-notifications.js.map +1 -0
  902. package/dist/components/nav-user/index.js +35 -0
  903. package/dist/components/nav-user/index.js.map +1 -0
  904. package/dist/components/nav-user/nav-user.js +35 -0
  905. package/dist/components/nav-user/nav-user.js.map +1 -0
  906. package/dist/components/navigation-menu/index.js +25 -0
  907. package/dist/components/navigation-menu/index.js.map +1 -0
  908. package/dist/components/navigation-menu/navigation-menu.js +25 -0
  909. package/dist/components/navigation-menu/navigation-menu.js.map +1 -0
  910. package/dist/components/number-input/index.js +22 -0
  911. package/dist/components/number-input/index.js.map +1 -0
  912. package/dist/components/number-input/number-input.js +22 -0
  913. package/dist/components/number-input/number-input.js.map +1 -0
  914. package/dist/components/page-shell/index.js +11 -0
  915. package/dist/components/page-shell/index.js.map +1 -0
  916. package/dist/components/page-shell/page-shell.js +10 -0
  917. package/dist/components/page-shell/page-shell.js.map +1 -0
  918. package/dist/components/pagination/index.js +28 -0
  919. package/dist/components/pagination/index.js.map +1 -0
  920. package/dist/components/pagination/pagination.js +28 -0
  921. package/dist/components/pagination/pagination.js.map +1 -0
  922. package/dist/components/parallax-plane/index.css +17 -0
  923. package/dist/components/parallax-plane/index.css.map +1 -0
  924. package/dist/components/parallax-plane/index.js +18 -0
  925. package/dist/components/parallax-plane/index.js.map +1 -0
  926. package/dist/components/parallax-plane/parallax-plane.css +17 -0
  927. package/dist/components/parallax-plane/parallax-plane.css.map +1 -0
  928. package/dist/components/parallax-plane/parallax-plane.js +18 -0
  929. package/dist/components/parallax-plane/parallax-plane.js.map +1 -0
  930. package/dist/components/popover/index.js +17 -0
  931. package/dist/components/popover/index.js.map +1 -0
  932. package/dist/components/popover/popover.js +16 -0
  933. package/dist/components/popover/popover.js.map +1 -0
  934. package/dist/components/progress/index.js +13 -0
  935. package/dist/components/progress/index.js.map +1 -0
  936. package/dist/components/progress/progress.js +12 -0
  937. package/dist/components/progress/progress.js.map +1 -0
  938. package/dist/components/radio-group/index.js +13 -0
  939. package/dist/components/radio-group/index.js.map +1 -0
  940. package/dist/components/radio-group/radio-group.js +12 -0
  941. package/dist/components/radio-group/radio-group.js.map +1 -0
  942. package/dist/components/rating/index.js +11 -0
  943. package/dist/components/rating/index.js.map +1 -0
  944. package/dist/components/rating/rating.js +11 -0
  945. package/dist/components/rating/rating.js.map +1 -0
  946. package/dist/components/resizable/index.js +15 -0
  947. package/dist/components/resizable/index.js.map +1 -0
  948. package/dist/components/resizable/resizable.js +14 -0
  949. package/dist/components/resizable/resizable.js.map +1 -0
  950. package/dist/components/reveal/index.js +15 -0
  951. package/dist/components/reveal/index.js.map +1 -0
  952. package/dist/components/reveal/reveal.js +14 -0
  953. package/dist/components/reveal/reveal.js.map +1 -0
  954. package/dist/components/reveal-on-enter/index.css +21 -0
  955. package/dist/components/reveal-on-enter/index.css.map +1 -0
  956. package/dist/components/reveal-on-enter/index.js +12 -0
  957. package/dist/components/reveal-on-enter/index.js.map +1 -0
  958. package/dist/components/reveal-on-enter/reveal-on-enter.css +21 -0
  959. package/dist/components/reveal-on-enter/reveal-on-enter.css.map +1 -0
  960. package/dist/components/reveal-on-enter/reveal-on-enter.js +12 -0
  961. package/dist/components/reveal-on-enter/reveal-on-enter.js.map +1 -0
  962. package/dist/components/revision-timeline/index.js +18 -0
  963. package/dist/components/revision-timeline/index.js.map +1 -0
  964. package/dist/components/revision-timeline/revision-timeline.js +18 -0
  965. package/dist/components/revision-timeline/revision-timeline.js.map +1 -0
  966. package/dist/components/schema-form/from-json-schema.js +13 -0
  967. package/dist/components/schema-form/from-json-schema.js.map +1 -0
  968. package/dist/components/schema-form/index.js +140 -0
  969. package/dist/components/schema-form/index.js.map +1 -0
  970. package/dist/components/schema-form/schema-form-spec.js +63 -0
  971. package/dist/components/schema-form/schema-form-spec.js.map +1 -0
  972. package/dist/components/schema-form/schema-form-store.js +21 -0
  973. package/dist/components/schema-form/schema-form-store.js.map +1 -0
  974. package/dist/components/schema-form/schema-form.js +77 -0
  975. package/dist/components/schema-form/schema-form.js.map +1 -0
  976. package/dist/components/scroll-area/index.js +13 -0
  977. package/dist/components/scroll-area/index.js.map +1 -0
  978. package/dist/components/scroll-area/scroll-area.js +12 -0
  979. package/dist/components/scroll-area/scroll-area.js.map +1 -0
  980. package/dist/components/section-header/index.js +11 -0
  981. package/dist/components/section-header/index.js.map +1 -0
  982. package/dist/components/section-header/section-header.js +10 -0
  983. package/dist/components/section-header/section-header.js.map +1 -0
  984. package/dist/components/segmented-field/index.js +17 -0
  985. package/dist/components/segmented-field/index.js.map +1 -0
  986. package/dist/components/segmented-field/segmented-field.js +17 -0
  987. package/dist/components/segmented-field/segmented-field.js.map +1 -0
  988. package/dist/components/select/index.js +26 -0
  989. package/dist/components/select/index.js.map +1 -0
  990. package/dist/components/select/select.js +26 -0
  991. package/dist/components/select/select.js.map +1 -0
  992. package/dist/components/separator/index.js +11 -0
  993. package/dist/components/separator/index.js.map +1 -0
  994. package/dist/components/separator/separator.js +10 -0
  995. package/dist/components/separator/separator.js.map +1 -0
  996. package/dist/components/sheet/index.js +30 -0
  997. package/dist/components/sheet/index.js.map +1 -0
  998. package/dist/components/sheet/sheet.js +30 -0
  999. package/dist/components/sheet/sheet.js.map +1 -0
  1000. package/dist/components/side-dock/index.js +20 -0
  1001. package/dist/components/side-dock/index.js.map +1 -0
  1002. package/dist/components/side-dock/side-dock.js +20 -0
  1003. package/dist/components/side-dock/side-dock.js.map +1 -0
  1004. package/dist/components/sidebar/index.js +77 -0
  1005. package/dist/components/sidebar/index.js.map +1 -0
  1006. package/dist/components/sidebar/sidebar.js +77 -0
  1007. package/dist/components/sidebar/sidebar.js.map +1 -0
  1008. package/dist/components/skeleton/index.js +11 -0
  1009. package/dist/components/skeleton/index.js.map +1 -0
  1010. package/dist/components/skeleton/skeleton.js +10 -0
  1011. package/dist/components/skeleton/skeleton.js.map +1 -0
  1012. package/dist/components/skip-link/index.js +11 -0
  1013. package/dist/components/skip-link/index.js.map +1 -0
  1014. package/dist/components/skip-link/skip-link.js +10 -0
  1015. package/dist/components/skip-link/skip-link.js.map +1 -0
  1016. package/dist/components/slider/index.js +11 -0
  1017. package/dist/components/slider/index.js.map +1 -0
  1018. package/dist/components/slider/slider.js +10 -0
  1019. package/dist/components/slider/slider.js.map +1 -0
  1020. package/dist/components/slider-number/index.js +26 -0
  1021. package/dist/components/slider-number/index.js.map +1 -0
  1022. package/dist/components/slider-number/slider-number.js +26 -0
  1023. package/dist/components/slider-number/slider-number.js.map +1 -0
  1024. package/dist/components/sonner/index.js +13 -0
  1025. package/dist/components/sonner/index.js.map +1 -0
  1026. package/dist/components/sonner/sonner.js +13 -0
  1027. package/dist/components/sonner/sonner.js.map +1 -0
  1028. package/dist/components/spec-playground/index.js +23 -0
  1029. package/dist/components/spec-playground/index.js.map +1 -0
  1030. package/dist/components/spec-playground/locate-json-path.js +17 -0
  1031. package/dist/components/spec-playground/locate-json-path.js.map +1 -0
  1032. package/dist/components/spec-playground/spec-playground.js +23 -0
  1033. package/dist/components/spec-playground/spec-playground.js.map +1 -0
  1034. package/dist/components/spinner/index.js +14 -0
  1035. package/dist/components/spinner/index.js.map +1 -0
  1036. package/dist/components/spinner/spinner.js +14 -0
  1037. package/dist/components/spinner/spinner.js.map +1 -0
  1038. package/dist/components/split-panel/index.js +13 -0
  1039. package/dist/components/split-panel/index.js.map +1 -0
  1040. package/dist/components/split-panel/split-panel.js +12 -0
  1041. package/dist/components/split-panel/split-panel.js.map +1 -0
  1042. package/dist/components/state-panel/index.js +17 -0
  1043. package/dist/components/state-panel/index.js.map +1 -0
  1044. package/dist/components/state-panel/state-panel.js +17 -0
  1045. package/dist/components/state-panel/state-panel.js.map +1 -0
  1046. package/dist/components/status-badge/index.js +30 -0
  1047. package/dist/components/status-badge/index.js.map +1 -0
  1048. package/dist/components/status-badge/status-badge.js +29 -0
  1049. package/dist/components/status-badge/status-badge.js.map +1 -0
  1050. package/dist/components/surface-tour/index.css +21 -0
  1051. package/dist/components/surface-tour/index.css.map +1 -0
  1052. package/dist/components/surface-tour/index.js +36 -0
  1053. package/dist/components/surface-tour/index.js.map +1 -0
  1054. package/dist/components/surface-tour/surface-tour.css +21 -0
  1055. package/dist/components/surface-tour/surface-tour.css.map +1 -0
  1056. package/dist/components/surface-tour/surface-tour.js +36 -0
  1057. package/dist/components/surface-tour/surface-tour.js.map +1 -0
  1058. package/dist/components/switch/index.js +11 -0
  1059. package/dist/components/switch/index.js.map +1 -0
  1060. package/dist/components/switch/switch.js +10 -0
  1061. package/dist/components/switch/switch.js.map +1 -0
  1062. package/dist/components/table/index.js +28 -0
  1063. package/dist/components/table/index.js.map +1 -0
  1064. package/dist/components/table/table.js +28 -0
  1065. package/dist/components/table/table.js.map +1 -0
  1066. package/dist/components/tabs/index.js +22 -0
  1067. package/dist/components/tabs/index.js.map +1 -0
  1068. package/dist/components/tabs/tabs.js +22 -0
  1069. package/dist/components/tabs/tabs.js.map +1 -0
  1070. package/dist/components/tag-input/index.js +21 -0
  1071. package/dist/components/tag-input/index.js.map +1 -0
  1072. package/dist/components/tag-input/tag-input.js +21 -0
  1073. package/dist/components/tag-input/tag-input.js.map +1 -0
  1074. package/dist/components/team-switcher/index.js +33 -0
  1075. package/dist/components/team-switcher/index.js.map +1 -0
  1076. package/dist/components/team-switcher/team-switcher.js +33 -0
  1077. package/dist/components/team-switcher/team-switcher.js.map +1 -0
  1078. package/dist/components/textarea/index.js +11 -0
  1079. package/dist/components/textarea/index.js.map +1 -0
  1080. package/dist/components/textarea/textarea.js +10 -0
  1081. package/dist/components/textarea/textarea.js.map +1 -0
  1082. package/dist/components/theme-family-switch/index.js +19 -0
  1083. package/dist/components/theme-family-switch/index.js.map +1 -0
  1084. package/dist/components/theme-family-switch/theme-family-switch.js +19 -0
  1085. package/dist/components/theme-family-switch/theme-family-switch.js.map +1 -0
  1086. package/dist/components/theme-switcher/index.js +24 -0
  1087. package/dist/components/theme-switcher/index.js.map +1 -0
  1088. package/dist/components/theme-switcher/theme-switcher.js +21 -0
  1089. package/dist/components/theme-switcher/theme-switcher.js.map +1 -0
  1090. package/dist/components/theme-switcher/use-theme-transition.js +10 -0
  1091. package/dist/components/theme-switcher/use-theme-transition.js.map +1 -0
  1092. package/dist/components/timeline/index.js +18 -0
  1093. package/dist/components/timeline/index.js.map +1 -0
  1094. package/dist/components/timeline/timeline.js +19 -0
  1095. package/dist/components/timeline/timeline.js.map +1 -0
  1096. package/dist/components/toggle/index.js +13 -0
  1097. package/dist/components/toggle/index.js.map +1 -0
  1098. package/dist/components/toggle/toggle.js +12 -0
  1099. package/dist/components/toggle/toggle.js.map +1 -0
  1100. package/dist/components/toggle-group/index.js +15 -0
  1101. package/dist/components/toggle-group/index.js.map +1 -0
  1102. package/dist/components/toggle-group/toggle-group.js +15 -0
  1103. package/dist/components/toggle-group/toggle-group.js.map +1 -0
  1104. package/dist/components/token-spotlight/index.css +25 -0
  1105. package/dist/components/token-spotlight/index.css.map +1 -0
  1106. package/dist/components/token-spotlight/index.js +23 -0
  1107. package/dist/components/token-spotlight/index.js.map +1 -0
  1108. package/dist/components/token-spotlight/token-spotlight.css +25 -0
  1109. package/dist/components/token-spotlight/token-spotlight.css.map +1 -0
  1110. package/dist/components/token-spotlight/token-spotlight.js +23 -0
  1111. package/dist/components/token-spotlight/token-spotlight.js.map +1 -0
  1112. package/dist/components/token-spotlight/token-value-format.js +11 -0
  1113. package/dist/components/token-spotlight/token-value-format.js.map +1 -0
  1114. package/dist/components/toolbar/index.js +27 -0
  1115. package/dist/components/toolbar/index.js.map +1 -0
  1116. package/dist/components/toolbar/toolbar.js +27 -0
  1117. package/dist/components/toolbar/toolbar.js.map +1 -0
  1118. package/dist/components/tooltip/index.js +17 -0
  1119. package/dist/components/tooltip/index.js.map +1 -0
  1120. package/dist/components/tooltip/tooltip.js +16 -0
  1121. package/dist/components/tooltip/tooltip.js.map +1 -0
  1122. package/dist/components/top-nav/index.js +11 -0
  1123. package/dist/components/top-nav/index.js.map +1 -0
  1124. package/dist/components/top-nav/top-nav.js +10 -0
  1125. package/dist/components/top-nav/top-nav.js.map +1 -0
  1126. package/dist/components/transfer/index.js +26 -0
  1127. package/dist/components/transfer/index.js.map +1 -0
  1128. package/dist/components/transfer/transfer.js +26 -0
  1129. package/dist/components/transfer/transfer.js.map +1 -0
  1130. package/dist/components/tree/index.js +21 -0
  1131. package/dist/components/tree/index.js.map +1 -0
  1132. package/dist/components/tree/tree.js +18 -0
  1133. package/dist/components/tree/tree.js.map +1 -0
  1134. package/dist/components/tree/use-tree-keyboard.js +14 -0
  1135. package/dist/components/tree/use-tree-keyboard.js.map +1 -0
  1136. package/dist/components/tree-select/index.js +26 -0
  1137. package/dist/components/tree-select/index.js.map +1 -0
  1138. package/dist/components/tree-select/tree-select.js +26 -0
  1139. package/dist/components/tree-select/tree-select.js.map +1 -0
  1140. package/dist/components/typography/index.js +41 -0
  1141. package/dist/components/typography/index.js.map +1 -0
  1142. package/dist/components/typography/prose.js +29 -0
  1143. package/dist/components/typography/prose.js.map +1 -0
  1144. package/dist/components/typography/typography.js +18 -0
  1145. package/dist/components/typography/typography.js.map +1 -0
  1146. package/dist/components/view-toolbar/index.js +27 -0
  1147. package/dist/components/view-toolbar/index.js.map +1 -0
  1148. package/dist/components/view-toolbar/view-toolbar.js +27 -0
  1149. package/dist/components/view-toolbar/view-toolbar.js.map +1 -0
  1150. package/dist/components/virtual-select/index.js +26 -0
  1151. package/dist/components/virtual-select/index.js.map +1 -0
  1152. package/dist/components/virtual-select/use-virtual-listbox.js +10 -0
  1153. package/dist/components/virtual-select/use-virtual-listbox.js.map +1 -0
  1154. package/dist/components/virtual-select/virtual-select.js +23 -0
  1155. package/dist/components/virtual-select/virtual-select.js.map +1 -0
  1156. package/dist/components/wizard/index.js +19 -0
  1157. package/dist/components/wizard/index.js.map +1 -0
  1158. package/dist/components/wizard/wizard.js +19 -0
  1159. package/dist/components/wizard/wizard.js.map +1 -0
  1160. package/dist/components/workspace-picker/index.js +38 -0
  1161. package/dist/components/workspace-picker/index.js.map +1 -0
  1162. package/dist/components/workspace-picker/workspace-picker-state.js +9 -0
  1163. package/dist/components/workspace-picker/workspace-picker-state.js.map +1 -0
  1164. package/dist/components/workspace-picker/workspace-picker.js +35 -0
  1165. package/dist/components/workspace-picker/workspace-picker.js.map +1 -0
  1166. package/dist/form.js +13 -110
  1167. package/dist/form.js.map +1 -1
  1168. package/dist/illustrations/empty-list-illustration.js +11 -0
  1169. package/dist/illustrations/empty-list-illustration.js.map +1 -0
  1170. package/dist/illustrations/error-illustration.js +11 -0
  1171. package/dist/illustrations/error-illustration.js.map +1 -0
  1172. package/dist/illustrations/first-run-illustration.js +11 -0
  1173. package/dist/illustrations/first-run-illustration.js.map +1 -0
  1174. package/dist/illustrations/illustration-base.js +16 -0
  1175. package/dist/illustrations/illustration-base.js.map +1 -0
  1176. package/dist/illustrations/index.js +41 -0
  1177. package/dist/illustrations/index.js.map +1 -0
  1178. package/dist/illustrations/no-access-illustration.js +11 -0
  1179. package/dist/illustrations/no-access-illustration.js.map +1 -0
  1180. package/dist/illustrations/no-results-illustration.js +11 -0
  1181. package/dist/illustrations/no-results-illustration.js.map +1 -0
  1182. package/dist/illustrations/offline-illustration.js +11 -0
  1183. package/dist/illustrations/offline-illustration.js.map +1 -0
  1184. package/dist/illustrations/success-illustration.js +11 -0
  1185. package/dist/illustrations/success-illustration.js.map +1 -0
  1186. package/dist/index.css +122 -0
  1187. package/dist/index.css.map +1 -0
  1188. package/dist/index.d.ts +1312 -119
  1189. package/dist/index.js +1002 -23939
  1190. package/dist/index.js.map +1 -1
  1191. package/dist/lib/agent-event-model.js +9 -0
  1192. package/dist/lib/agent-event-model.js.map +1 -0
  1193. package/dist/lib/approval-option.js +9 -0
  1194. package/dist/lib/approval-option.js.map +1 -0
  1195. package/dist/lib/check-result.js +3 -0
  1196. package/dist/lib/check-result.js.map +1 -0
  1197. package/dist/lib/cn.js +30 -7
  1198. package/dist/lib/cn.js.map +1 -1
  1199. package/dist/lib/color-scale.js +11 -0
  1200. package/dist/lib/color-scale.js.map +1 -0
  1201. package/dist/lib/compact-number.js +21 -0
  1202. package/dist/lib/compact-number.js.map +1 -0
  1203. package/dist/lib/csv.js +11 -0
  1204. package/dist/lib/csv.js.map +1 -0
  1205. package/dist/lib/diff-line.js +11 -0
  1206. package/dist/lib/diff-line.js.map +1 -0
  1207. package/dist/lib/diff-rows.js +12 -0
  1208. package/dist/lib/diff-rows.js.map +1 -0
  1209. package/dist/lib/document-address.js +13 -0
  1210. package/dist/lib/document-address.js.map +1 -0
  1211. package/dist/lib/download.js +11 -0
  1212. package/dist/lib/download.js.map +1 -0
  1213. package/dist/lib/file-icon.js +12 -0
  1214. package/dist/lib/file-icon.js.map +1 -0
  1215. package/dist/lib/file-kind.js +13 -0
  1216. package/dist/lib/file-kind.js.map +1 -0
  1217. package/dist/lib/file-source.js +10 -0
  1218. package/dist/lib/file-source.js.map +1 -0
  1219. package/dist/lib/format-duration.js +9 -0
  1220. package/dist/lib/format-duration.js.map +1 -0
  1221. package/dist/lib/has-renderable-content.js +9 -0
  1222. package/dist/lib/has-renderable-content.js.map +1 -0
  1223. package/dist/lib/merge-refs.js +10 -0
  1224. package/dist/lib/merge-refs.js.map +1 -0
  1225. package/dist/lib/operating-mode.js +9 -0
  1226. package/dist/lib/operating-mode.js.map +1 -0
  1227. package/dist/lib/optional-peer.js +11 -0
  1228. package/dist/lib/optional-peer.js.map +1 -0
  1229. package/dist/lib/session-launch.js +3 -0
  1230. package/dist/lib/session-launch.js.map +1 -0
  1231. package/dist/lib/slash-command.js +11 -0
  1232. package/dist/lib/slash-command.js.map +1 -0
  1233. package/dist/lib/streamdown-translations.js +15 -0
  1234. package/dist/lib/streamdown-translations.js.map +1 -0
  1235. package/dist/lib/trigger-query.js +11 -0
  1236. package/dist/lib/trigger-query.js.map +1 -0
  1237. package/dist/lib/use-controllable-state.js +10 -0
  1238. package/dist/lib/use-controllable-state.js.map +1 -0
  1239. package/dist/lib/use-copy-to-clipboard.js +12 -0
  1240. package/dist/lib/use-copy-to-clipboard.js.map +1 -0
  1241. package/dist/lib/use-mobile.js +10 -0
  1242. package/dist/lib/use-mobile.js.map +1 -0
  1243. package/dist/lib/use-scroll-progress.js +18 -0
  1244. package/dist/lib/use-scroll-progress.js.map +1 -0
  1245. package/package.json +13 -6
  1246. package/src/__contract__/ambient-field.contract.test.tsx +49 -0
  1247. package/src/__contract__/command-chip.contract.test.tsx +49 -0
  1248. package/src/__contract__/install-tabs.contract.test.tsx +49 -0
  1249. package/src/__contract__/integration-matrix.contract.test.tsx +49 -0
  1250. package/src/__contract__/meter.contract.test.tsx +49 -0
  1251. package/src/__contract__/parallax-plane.contract.test.tsx +49 -0
  1252. package/src/__contract__/reveal-on-enter.contract.test.tsx +49 -0
  1253. package/src/__contract__/spec-playground.contract.test.tsx +49 -0
  1254. package/src/__contract__/surface-tour.contract.test.tsx +49 -0
  1255. package/src/__contract__/theme-family-switch.contract.test.tsx +49 -0
  1256. package/src/__contract__/token-spotlight.contract.test.tsx +49 -0
  1257. package/src/blocks-comparison-table.stories.tsx +1 -1
  1258. package/src/components/accordion/accordion.tsx +31 -15
  1259. package/src/components/advanced-group/advanced-group.stories.tsx +2 -0
  1260. package/src/components/alert/alert.tsx +13 -5
  1261. package/src/components/alert-dialog/alert-dialog.tsx +1 -1
  1262. package/src/components/ambient-field/ambient-field.css +98 -0
  1263. package/src/components/ambient-field/ambient-field.stories.tsx +75 -0
  1264. package/src/components/ambient-field/ambient-field.test.tsx +28 -0
  1265. package/src/components/ambient-field/ambient-field.tsx +69 -0
  1266. package/src/components/ambient-field/index.ts +7 -0
  1267. package/src/components/app-shell/app-shell.stories.tsx +344 -1
  1268. package/src/components/app-shell/app-shell.test.tsx +167 -0
  1269. package/src/components/app-shell/app-shell.tsx +119 -5
  1270. package/src/components/app-shell/index.ts +1 -1
  1271. package/src/components/attribution-panel/attributions.generated.ts +77 -4
  1272. package/src/components/badge/badge.stories.tsx +62 -0
  1273. package/src/components/badge/badge.test.tsx +21 -0
  1274. package/src/components/badge/badge.tsx +88 -8
  1275. package/src/components/breadcrumb/breadcrumb.stories.tsx +1 -1
  1276. package/src/components/breadcrumb/breadcrumb.tsx +2 -0
  1277. package/src/components/button/button.stories.tsx +5 -1
  1278. package/src/components/button/button.tsx +19 -8
  1279. package/src/components/calendar/calendar.tsx +6 -1
  1280. package/src/components/card/card.stories.tsx +73 -1
  1281. package/src/components/card/card.test.tsx +29 -2
  1282. package/src/components/card/card.tsx +77 -13
  1283. package/src/components/card/index.ts +2 -0
  1284. package/src/components/change-review/change-review.tsx +1 -1
  1285. package/src/components/collapsible-panel/index.ts +1 -0
  1286. package/src/components/collapsible-panel/use-collapsible-panel.ts +21 -2
  1287. package/src/components/color-picker/color-picker.tsx +3 -3
  1288. package/src/components/command/command.stories.tsx +64 -1
  1289. package/src/components/command/command.test.tsx +73 -0
  1290. package/src/components/command/command.tsx +73 -2
  1291. package/src/components/command-chip/command-chip.stories.tsx +78 -0
  1292. package/src/components/command-chip/command-chip.test.tsx +57 -0
  1293. package/src/components/command-chip/command-chip.tsx +168 -0
  1294. package/src/components/command-chip/index.ts +7 -0
  1295. package/src/components/command-trigger/command-trigger.tsx +1 -1
  1296. package/src/components/confirm-dialog/confirm-dialog.stories.tsx +2 -0
  1297. package/src/components/context-menu/context-menu.stories.tsx +26 -0
  1298. package/src/components/context-menu/context-menu.tsx +6 -6
  1299. package/src/components/context-rail/context-rail.tsx +22 -4
  1300. package/src/components/date-picker/date-picker.tsx +2 -0
  1301. package/src/components/descriptions/descriptions.stories.tsx +6 -0
  1302. package/src/components/descriptions/descriptions.test.tsx +18 -0
  1303. package/src/components/descriptions/descriptions.tsx +33 -5
  1304. package/src/components/descriptions/index.ts +1 -0
  1305. package/src/components/dialog/dialog.stories.tsx +5 -0
  1306. package/src/components/dialog/dialog.tsx +1 -1
  1307. package/src/components/drafting-marks/drafting-marks.stories.tsx +88 -0
  1308. package/src/components/drafting-marks/drafting-marks.test.tsx +55 -0
  1309. package/src/components/drafting-marks/drafting-marks.tsx +120 -0
  1310. package/src/components/drafting-marks/index.ts +7 -0
  1311. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +37 -0
  1312. package/src/components/dropdown-menu/dropdown-menu.tsx +14 -6
  1313. package/src/components/expand-dialog/expand-dialog.test.tsx +47 -0
  1314. package/src/components/expand-dialog/expand-dialog.tsx +20 -5
  1315. package/src/components/hover-card/hover-card.tsx +1 -1
  1316. package/src/components/input/input.stories.tsx +17 -0
  1317. package/src/components/input/input.tsx +1 -1
  1318. package/src/components/input-group/input-group.stories.tsx +43 -6
  1319. package/src/components/input-group/input-group.tsx +5 -2
  1320. package/src/components/input-otp/input-otp.tsx +4 -2
  1321. package/src/components/install-tabs/index.ts +8 -0
  1322. package/src/components/install-tabs/install-tabs.stories.tsx +147 -0
  1323. package/src/components/install-tabs/install-tabs.test.tsx +120 -0
  1324. package/src/components/install-tabs/install-tabs.tsx +238 -0
  1325. package/src/components/integration-matrix/index.ts +10 -0
  1326. package/src/components/integration-matrix/integration-matrix.stories.tsx +171 -0
  1327. package/src/components/integration-matrix/integration-matrix.test.tsx +89 -0
  1328. package/src/components/integration-matrix/integration-matrix.tsx +237 -0
  1329. package/src/components/locale-provider/messages.ts +252 -0
  1330. package/src/components/mention-input/mention-input.tsx +1 -1
  1331. package/src/components/menubar/menubar.stories.tsx +25 -0
  1332. package/src/components/menubar/menubar.tsx +7 -7
  1333. package/src/components/meter/index.ts +1 -0
  1334. package/src/components/meter/meter.stories.tsx +102 -0
  1335. package/src/components/meter/meter.test.tsx +61 -0
  1336. package/src/components/meter/meter.tsx +173 -0
  1337. package/src/components/metric-card/index.ts +6 -1
  1338. package/src/components/metric-card/metric-card.stories.tsx +63 -0
  1339. package/src/components/metric-card/metric-card.test.tsx +83 -0
  1340. package/src/components/metric-card/metric-card.tsx +97 -14
  1341. package/src/components/nav-user/nav-user.test.tsx +23 -1
  1342. package/src/components/nav-user/nav-user.tsx +68 -53
  1343. package/src/components/navigation-menu/navigation-menu.stories.tsx +42 -0
  1344. package/src/components/navigation-menu/navigation-menu.tsx +1 -1
  1345. package/src/components/page-shell/page-shell.stories.tsx +1 -1
  1346. package/src/components/page-shell/page-shell.tsx +3 -2
  1347. package/src/components/pagination/pagination.tsx +2 -0
  1348. package/src/components/parallax-plane/index.ts +8 -0
  1349. package/src/components/parallax-plane/parallax-plane.css +26 -0
  1350. package/src/components/parallax-plane/parallax-plane.stories.tsx +88 -0
  1351. package/src/components/parallax-plane/parallax-plane.test.tsx +57 -0
  1352. package/src/components/parallax-plane/parallax-plane.tsx +80 -0
  1353. package/src/components/popover/popover.tsx +1 -1
  1354. package/src/components/progress/progress.stories.tsx +85 -0
  1355. package/src/components/progress/progress.test.tsx +47 -0
  1356. package/src/components/progress/progress.tsx +57 -3
  1357. package/src/components/reveal-on-enter/index.ts +5 -0
  1358. package/src/components/reveal-on-enter/reveal-on-enter.css +32 -0
  1359. package/src/components/reveal-on-enter/reveal-on-enter.stories.tsx +100 -0
  1360. package/src/components/reveal-on-enter/reveal-on-enter.test.tsx +87 -0
  1361. package/src/components/reveal-on-enter/reveal-on-enter.tsx +75 -0
  1362. package/src/components/revision-timeline/revision-timeline.tsx +1 -3
  1363. package/src/components/schema-form/index.ts +2 -0
  1364. package/src/components/schema-form/schema-form-spec.ts +36 -0
  1365. package/src/components/schema-form/schema-form.stories.tsx +33 -0
  1366. package/src/components/schema-form/schema-form.test.tsx +43 -0
  1367. package/src/components/schema-form/schema-form.tsx +111 -4
  1368. package/src/components/scroll-area/index.ts +1 -1
  1369. package/src/components/scroll-area/scroll-area.tsx +47 -18
  1370. package/src/components/section-header/section-header.stories.tsx +23 -0
  1371. package/src/components/section-header/section-header.tsx +27 -9
  1372. package/src/components/select/select.stories.tsx +17 -0
  1373. package/src/components/select/select.test.tsx +28 -1
  1374. package/src/components/select/select.tsx +3 -3
  1375. package/src/components/sheet/sheet.tsx +1 -1
  1376. package/src/components/side-dock/side-dock.stories.tsx +83 -0
  1377. package/src/components/side-dock/side-dock.tsx +50 -16
  1378. package/src/components/sidebar/sidebar.stories.tsx +3 -3
  1379. package/src/components/sidebar/sidebar.test.tsx +31 -1
  1380. package/src/components/sidebar/sidebar.tsx +40 -8
  1381. package/src/components/skip-link/skip-link.stories.tsx +1 -0
  1382. package/src/components/slider/slider.stories.tsx +13 -77
  1383. package/src/components/spec-playground/index.ts +10 -0
  1384. package/src/components/spec-playground/locate-json-path.ts +144 -0
  1385. package/src/components/spec-playground/spec-playground.stories.tsx +156 -0
  1386. package/src/components/spec-playground/spec-playground.test.tsx +106 -0
  1387. package/src/components/spec-playground/spec-playground.tsx +351 -0
  1388. package/src/components/state-panel/state-panel.stories.tsx +4 -2
  1389. package/src/components/state-panel/state-panel.tsx +1 -1
  1390. package/src/components/status-badge/status-badge.stories.tsx +53 -0
  1391. package/src/components/status-badge/status-badge.test.tsx +37 -0
  1392. package/src/components/status-badge/status-badge.tsx +75 -13
  1393. package/src/components/surface-tour/index.ts +11 -0
  1394. package/src/components/surface-tour/surface-tour.stories.tsx +150 -0
  1395. package/src/components/surface-tour/surface-tour.test.tsx +117 -0
  1396. package/src/components/surface-tour/surface-tour.tsx +456 -0
  1397. package/src/components/table/table.tsx +5 -2
  1398. package/src/components/tabs/tabs.stories.tsx +47 -1
  1399. package/src/components/tabs/tabs.test.tsx +26 -0
  1400. package/src/components/tabs/tabs.tsx +51 -11
  1401. package/src/components/textarea/textarea.tsx +1 -1
  1402. package/src/components/theme-family-switch/index.ts +10 -0
  1403. package/src/components/theme-family-switch/theme-family-switch.stories.tsx +97 -0
  1404. package/src/components/theme-family-switch/theme-family-switch.test.tsx +85 -0
  1405. package/src/components/theme-family-switch/theme-family-switch.tsx +166 -0
  1406. package/src/components/theme-switcher/theme-switcher.tsx +11 -4
  1407. package/src/components/token-spotlight/index.ts +11 -0
  1408. package/src/components/token-spotlight/token-spotlight.css +32 -0
  1409. package/src/components/token-spotlight/token-spotlight.stories.tsx +161 -0
  1410. package/src/components/token-spotlight/token-spotlight.test.tsx +323 -0
  1411. package/src/components/token-spotlight/token-spotlight.tsx +379 -0
  1412. package/src/components/token-spotlight/token-value-format.ts +205 -0
  1413. package/src/components/top-nav/top-nav.test.tsx +59 -0
  1414. package/src/components/top-nav/top-nav.tsx +36 -6
  1415. package/src/components/tree/tree.stories.tsx +1 -1
  1416. package/src/components/tree/tree.test.tsx +4 -4
  1417. package/src/components/tree/tree.tsx +4 -4
  1418. package/src/components/typography/typography.stories.tsx +7 -2
  1419. package/src/components/typography/typography.tsx +8 -0
  1420. package/src/components/view-toolbar/view-toolbar.stories.tsx +2 -1
  1421. package/src/components/view-toolbar/view-toolbar.tsx +2 -2
  1422. package/src/decoration.stories.tsx +243 -2
  1423. package/src/index.ts +47 -0
  1424. package/src/lib/cn.test.ts +49 -0
  1425. package/src/lib/cn.ts +39 -7
  1426. package/src/lib/color-scale.test.ts +386 -0
  1427. package/src/lib/color-scale.ts +628 -0
  1428. package/src/lib/compact-number.ts +118 -28
  1429. package/src/lib/use-scroll-progress.ts +103 -0
  1430. package/src/motion.stories.tsx +1 -0
  1431. package/src/templates-object-detail-hub.stories.tsx +8 -8
  1432. package/src/templates-screen-states.stories.tsx +1 -1
  1433. package/src/templates-settings.stories.tsx +8 -3
  1434. package/dist/chunk-FCH4ZN6G.js +0 -57
  1435. package/dist/chunk-FCH4ZN6G.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/color-scale.ts"],"sourcesContent":["/**\n * color-scale.ts — `colorScaleFor(values, spec)`: the one value → colour\n * decision behind every thematic encoding (RM-124). A choropleth fill\n * (`charts`), a DataTable heatmap cell (`data`) and a map symbol or legend ramp\n * (`maps`) all ask the same question, and those three packages depend on `ui`\n * but never on each other — so the answer lives here, once.\n *\n * Pure: no React, no DOM. It returns data a renderer paints.\n *\n * ## Colours are token REFERENCES\n *\n * Every colour this module hands back is a `var(--chart-…)` reference — the\n * `--chart-seq-*` ramp, the `--chart-div-*` ramp or the `--chart-1…12`\n * categorical set — never a literal. The result re-colours on a theme flip with\n * no re-render, and the on-mark ink seam (`charts`' `on-mark-ink.ts`) can\n * resolve every step it paints.\n *\n * The price: nothing here can MIX two steps, because their values are unknown\n * until the browser resolves the active theme. So:\n *\n * - a **continuous** scale snaps each value to the nearest ramp step (7\n * sequential, 5 diverging). {@link ColorScale.positionOf} gives the exact,\n * unsnapped ramp position (a legend marker) and {@link ColorScale.stops} the\n * value at which each step is exact (a gradient's colour stops);\n * - a **stepped** scale is CLAMPED to its ramp: ask for more classes than the\n * ramp has tokens (7 sequential, 5 diverging) and you get the ramp's length,\n * because two classes painted the same colour are one class. `steps` is a\n * ceiling, never a promise; read `scale.steps.length` for what was painted.\n * (`method: \"custom\"` keeps every break the host named.)\n *\n * ## Step membership\n *\n * A step is `(from, to]`: the upper bound is inclusive and the first step also\n * includes its `from`. Jenks breaks are class UPPER bounds, so a published\n * break list reads straight across. Values outside the domain clamp into the\n * end steps, the way a map never shows a hole for an outlier.\n */\n\n/** A smooth ramp, or countable classes. */\nexport type ColorScaleType = \"continuous\" | \"stepped\";\n\n/**\n * Where a continuous ramp's stops sit. `linear` spreads them evenly from min\n * to max; `median`, `quartiles`, `quintiles` and `deciles` pin them to those\n * quantiles of the data; `natural` pins them to the Jenks breaks.\n */\nexport type ContinuousColorScaleMethod =\n | \"linear\"\n | \"median\"\n | \"quartiles\"\n | \"quintiles\"\n | \"deciles\"\n | \"natural\";\n\n/**\n * How a stepped scale cuts its classes. `equidistant` makes equal widths;\n * `rounded` makes equal widths whose inner breaks round to the step's leading\n * power of ten; `quantile` makes equal counts; `jenks` minimises the variance\n * inside each class; `custom` uses {@link SteppedColorScaleSpec.breaks}.\n */\nexport type SteppedColorScaleMethod = \"equidistant\" | \"rounded\" | \"quantile\" | \"jenks\" | \"custom\";\n\nexport type ColorScaleMethod = ContinuousColorScaleMethod | SteppedColorScaleMethod;\n\n/**\n * Which token set paints the scale. `sequential` answers \"how much\",\n * `diverging` answers \"how far from the centre, and on which side\", and\n * `categorical` gives each distinct value its own colour.\n */\nexport type ColorScalePalette = \"sequential\" | \"diverging\" | \"categorical\";\n\n/** `[min, max]`, or `[min, center, max]` to pin the ramp's middle colour. */\nexport type ColorScaleDomain =\n | readonly [min: number, max: number]\n | readonly [min: number, center: number, max: number];\n\ninterface ColorScaleSpecBase {\n /**\n * Fixed ends instead of the data's own min / max, so two maps share one\n * scale. A middle entry is the CENTRE: the value that paints the ramp's\n * middle colour.\n */\n domain?: ColorScaleDomain;\n /**\n * Default: `\"diverging\"` when `domain` has a centre, else `\"sequential\"`. A\n * diverging scale without a centre centres on 0 when the domain spans 0, and\n * on the domain's midpoint otherwise.\n */\n palette?: ColorScalePalette;\n}\n\nexport interface ContinuousColorScaleSpec extends ColorScaleSpecBase {\n type: \"continuous\";\n /** Default `\"linear\"`. */\n method?: ContinuousColorScaleMethod;\n /** `method: \"natural\"` only: how many Jenks classes place the stops. Default 5. */\n steps?: number;\n}\n\nexport interface SteppedColorScaleSpec extends ColorScaleSpecBase {\n type: \"stepped\";\n /** Default `\"equidistant\"`. */\n method?: SteppedColorScaleMethod;\n /**\n * How many classes. Default 5. Ignored by `custom`. `quantile` and `jenks`\n * can return fewer when the data has fewer distinct values.\n */\n steps?: number;\n /**\n * `method: \"custom\"` only: the inner thresholds, ascending. The scale's ends\n * widen to include them, so the same breaks give the same colours on every\n * dataset.\n */\n breaks?: readonly number[];\n}\n\n/** What to build. The feature / column the values come from is the caller's business. */\nexport type ColorScaleSpec = ContinuousColorScaleSpec | SteppedColorScaleSpec;\n\n/**\n * One input value. Numeric scales read finite numbers only; categorical scales\n * read non-empty strings and finite numbers. Everything else is \"no data\".\n */\nexport type ColorScaleValue = number | string | null | undefined;\n\n/** One class of the scale, low → high. See the module docblock for membership. */\nexport interface ColorScaleStep {\n from: number;\n to: number;\n /** A `var(--chart-…)` reference. */\n color: string;\n}\n\n/** The value at which one ramp token is exact: a gradient's colour stop. */\nexport interface ColorScaleStop {\n value: number;\n /** A `var(--chart-…)` reference. */\n color: string;\n}\n\n/** One category of a categorical scale, in first-seen order. */\nexport interface ColorScaleCategory {\n value: string | number;\n /** A `var(--chart-…)` reference. */\n color: string;\n}\n\n/** The resolved scale. Every colour in it is a `var(--chart-…)` reference. */\nexport interface ColorScale {\n type: ColorScaleType;\n /** The method actually used (a data-driven method with no data falls back to linear / equidistant). */\n method: ColorScaleMethod;\n palette: ColorScalePalette;\n /** The resolved `[lo, hi]`; `null` for a categorical scale or when there is nothing to scale. */\n domain: readonly [number, number] | null;\n /** The value that paints the ramp's middle colour, or `null` when none applies. */\n center: number | null;\n /**\n * The classes a value can land in, low → high. Continuous: one per ramp\n * token (the value band that snaps to it). Categorical: empty.\n */\n steps: readonly ColorScaleStep[];\n /** Continuous only: one per ramp token. Stepped and categorical: empty. */\n stops: readonly ColorScaleStop[];\n /** Categorical only: one per distinct value. Otherwise empty. */\n categories: readonly ColorScaleCategory[];\n /** The colour for a value, or `null` for no data (and for an unseen category). */\n colorOf(value: ColorScaleValue): string | null;\n /** The index into `steps` (or `categories`) a value lands in; `-1` for no data. */\n indexOf(value: ColorScaleValue): number;\n /**\n * Where a value sits on a key whose tokens (continuous) or swatches (stepped)\n * are drawn evenly: `0` = the start of the strip, `1` = the end. `null` for\n * no data and for categorical scales.\n */\n positionOf(value: ColorScaleValue): number | null;\n}\n\n/** `--chart-seq-1` (quietest) … `--chart-seq-7` (boldest), in every theme. */\nconst SEQUENTIAL_RAMP = [\n \"var(--chart-seq-1)\",\n \"var(--chart-seq-2)\",\n \"var(--chart-seq-3)\",\n \"var(--chart-seq-4)\",\n \"var(--chart-seq-5)\",\n \"var(--chart-seq-6)\",\n \"var(--chart-seq-7)\",\n] as const;\n\n/** Far-negative → neutral → far-positive. */\nconst DIVERGING_RAMP = [\n \"var(--chart-div-neg-2)\",\n \"var(--chart-div-neg-1)\",\n \"var(--chart-div-mid)\",\n \"var(--chart-div-pos-1)\",\n \"var(--chart-div-pos-2)\",\n] as const;\n\n/** The twelve series colours. Past twelve categories they repeat. */\nconst CATEGORICAL_SET = Array.from({ length: 12 }, (_, i) => `var(--chart-${i + 1})`);\n\nconst DEFAULT_STEPS = 5;\n\nconst CONTINUOUS_METHODS: ReadonlySet<string> = new Set<ContinuousColorScaleMethod>([\n \"linear\",\n \"median\",\n \"quartiles\",\n \"quintiles\",\n \"deciles\",\n \"natural\",\n]);\n\nconst STEPPED_METHODS: ReadonlySet<string> = new Set<SteppedColorScaleMethod>([\n \"equidistant\",\n \"rounded\",\n \"quantile\",\n \"jenks\",\n \"custom\",\n]);\n\n/** How many equal-count intervals each quantile-based continuous method cuts the data into. */\nconst QUANTILE_STOPS: Partial<Record<ContinuousColorScaleMethod, number>> = {\n median: 2,\n quartiles: 4,\n quintiles: 5,\n deciles: 10,\n};\n\nfunction isFiniteNumber(value: unknown): value is number {\n return typeof value === \"number\" && Number.isFinite(value);\n}\n\nfunction clamp(value: number, lo: number, hi: number): number {\n return Math.min(hi, Math.max(lo, value));\n}\n\nfunction stepCount(steps: number | undefined, fallback: number): number {\n return isFiniteNumber(steps) && steps >= 1 ? Math.floor(steps) : fallback;\n}\n\n/**\n * `n` entries spread evenly across `ramp`, INCLUDING both ends, so two scales\n * with different step counts still start quiet and end bold. `n === 1` is the\n * boldest step: one class means \"the value\", and a lone pale fill reads as no\n * data. Past the ramp's length, entries repeat (see the module docblock).\n */\nfunction spread(ramp: readonly string[], n: number): string[] {\n if (n <= 0) return [];\n const last = ramp.length - 1;\n if (n === 1) return [ramp[last] as string];\n return Array.from({ length: n }, (_, i) => ramp[Math.round((i * last) / (n - 1))] as string);\n}\n\n/** The `p`-quantile of an ascending array, linearly interpolated (R type 7, as d3). */\nfunction quantileSorted(sorted: readonly number[], p: number): number {\n const h = (sorted.length - 1) * p;\n const below = Math.floor(h);\n const lower = sorted[below] as number;\n const upper = sorted[Math.min(sorted.length - 1, below + 1)] as number;\n return lower + (upper - lower) * (h - below);\n}\n\n/**\n * Jenks natural breaks: the partition of `values` into `classes` contiguous\n * classes with the smallest summed squared deviation from each class mean.\n *\n * Returns `[min, upper bound of class 1, …, upper bound of class k − 1, max]`\n * — the format published implementations (jenkspy, geostats) return. Runs on\n * the distinct values weighted by their counts, so equal values never split\n * across two classes; `classes` is capped at the distinct-value count. The\n * dynamic programme uses the divide-and-conquer speed-up that the monotone\n * split points of 1-D least squares allow (Wang & Song, Ckmeans.1d.dp), so a\n * 10 000-row column stays fast.\n */\nexport function jenksBreaks(values: readonly number[], classes: number): number[] {\n const sorted = values.filter(isFiniteNumber).sort((a, b) => a - b);\n if (sorted.length === 0) return [];\n const xs: number[] = [];\n const counts: number[] = [];\n for (const value of sorted) {\n if (xs.length > 0 && xs[xs.length - 1] === value) counts[counts.length - 1]! += 1;\n else {\n xs.push(value);\n counts.push(1);\n }\n }\n const d = xs.length;\n const first = xs[0] as number;\n const last = xs[d - 1] as number;\n const k = Math.min(stepCount(classes, 1), d);\n if (k === 1) return [first, last];\n\n // Prefix sums of weight, value and value², shifted by a middle value so the\n // subtraction below stays well-conditioned for large magnitudes.\n const shift = xs[Math.floor(d / 2)] as number;\n const w = new Float64Array(d + 1);\n const s1 = new Float64Array(d + 1);\n const s2 = new Float64Array(d + 1);\n for (let i = 0; i < d; i++) {\n const x = (xs[i] as number) - shift;\n const c = counts[i] as number;\n w[i + 1] = (w[i] as number) + c;\n s1[i + 1] = (s1[i] as number) + c * x;\n s2[i + 1] = (s2[i] as number) + c * x * x;\n }\n /** Summed squared deviation of distinct values `a..b` (inclusive). */\n const ssd = (a: number, b: number): number => {\n const weight = (w[b + 1] as number) - (w[a] as number);\n const sum = (s1[b + 1] as number) - (s1[a] as number);\n return Math.max(0, (s2[b + 1] as number) - (s2[a] as number) - (sum * sum) / weight);\n };\n\n let previous = Float64Array.from({ length: d }, (_, i) => ssd(0, i));\n const splits: Int32Array[] = [];\n for (let j = 1; j < k; j++) {\n const prior = previous;\n const current = new Float64Array(d).fill(Number.POSITIVE_INFINITY);\n const split = new Int32Array(d);\n // Class `j` covers distinct values `m..i`; the best `m` never moves left\n // as `i` grows, so each half only searches its side of the middle's `m`.\n const solve = (lo: number, hi: number, optLo: number, optHi: number): void => {\n if (lo > hi) return;\n const mid = (lo + hi) >> 1;\n let best = Number.POSITIVE_INFINITY;\n let bestM = Math.max(optLo, j);\n for (let m = Math.max(optLo, j); m <= Math.min(mid, optHi); m++) {\n const cost = (prior[m - 1] as number) + ssd(m, mid);\n if (cost < best) {\n best = cost;\n bestM = m;\n }\n }\n current[mid] = best;\n split[mid] = bestM;\n solve(lo, mid - 1, optLo, bestM);\n solve(mid + 1, hi, bestM, optHi);\n };\n solve(j, d - 1, j, d - 1);\n splits.push(split);\n previous = current;\n }\n\n const uppers: number[] = [];\n let end = d - 1;\n for (let j = k - 1; j >= 1; j--) {\n const start = (splits[j - 1] as Int32Array)[end] as number;\n uppers.push(xs[start - 1] as number);\n end = start - 1;\n }\n return [first, ...uppers.reverse(), last];\n}\n\n/** Linear interpolation through ascending `[x, y]` knots, clamped at both ends. */\nfunction interpolate(knots: readonly (readonly [number, number])[], x: number): number {\n const head = knots[0] as readonly [number, number];\n if (x <= head[0]) return head[1];\n for (let i = 1; i < knots.length; i++) {\n const [x1, y1] = knots[i] as readonly [number, number];\n if (x <= x1) {\n const [x0, y0] = knots[i - 1] as readonly [number, number];\n return x1 === x0 ? y0 : y0 + ((y1 - y0) * (x - x0)) / (x1 - x0);\n }\n }\n return (knots[knots.length - 1] as readonly [number, number])[1];\n}\n\n/** Drop interior breaks that repeat, so no class is empty by construction. */\nfunction uniqueBreaks(breaks: readonly number[]): number[] {\n const out: number[] = [];\n for (const b of breaks) if (out.length === 0 || b > (out[out.length - 1] as number)) out.push(b);\n return out.length === 1 ? [out[0] as number, out[0] as number] : out;\n}\n\nfunction roundedBreaks(lo: number, hi: number, n: number): number[] {\n const width = (hi - lo) / n;\n const exponent = Math.floor(Math.log10(width));\n // Divide by an integer power of ten below 1, so 0.3 stays 0.3 rather than 0.30000000000000004.\n const round = (x: number) =>\n exponent >= 0\n ? Math.round(x / 10 ** exponent) * 10 ** exponent\n : Math.round(x * 10 ** -exponent) / 10 ** -exponent;\n return [lo, ...Array.from({ length: n - 1 }, (_, i) => round(lo + width * (i + 1))), hi];\n}\n\n/**\n * Colours for stepped classes. No centre: spread the whole ramp. A centre:\n * classes wholly at or below it take the ramp's lower arm, classes wholly\n * above it the upper arm (each spread from the centre outwards), and a class\n * that straddles it takes the middle token — so sign never changes hue\n * inside one class.\n */\nfunction stepColors(\n bounds: readonly (readonly [number, number])[],\n ramp: readonly string[],\n center: number | null,\n): string[] {\n if (center === null) return spread(ramp, bounds.length);\n const middle = (ramp.length - 1) / 2;\n const side = bounds.map(([from, to]) =>\n from === to && from === center ? 0 : to <= center ? -1 : from >= center ? 1 : 0,\n );\n const lower = spread(ramp.slice(0, middle).reverse(), side.filter((s) => s < 0).length).reverse();\n const upper = spread(ramp.slice(middle + 1), side.filter((s) => s > 0).length);\n let l = 0;\n let u = 0;\n return side.map((s) =>\n s < 0 ? (lower[l++] as string) : s > 0 ? (upper[u++] as string) : (ramp[middle] as string),\n );\n}\n\n/** Index of the step `value` lands in: the first whose `to` is ≥ the clamped value. */\nfunction stepIndex(steps: readonly ColorScaleStep[], value: number): number {\n for (let i = 0; i < steps.length; i++) if (value <= (steps[i] as ColorScaleStep).to) return i;\n return steps.length - 1;\n}\n\nfunction categoricalScale(\n values: readonly ColorScaleValue[],\n spec: ColorScaleSpec,\n method: ColorScaleMethod,\n): ColorScale {\n const order = new Map<string | number, number>();\n for (const value of values) {\n const usable = (typeof value === \"string\" && value !== \"\") || isFiniteNumber(value);\n if (usable && !order.has(value)) order.set(value, order.size);\n }\n const categories = [...order.keys()].map((value, i) => ({\n value,\n color: CATEGORICAL_SET[i % CATEGORICAL_SET.length] as string,\n }));\n const indexOf = (value: ColorScaleValue) =>\n value === null || value === undefined ? -1 : (order.get(value) ?? -1);\n return {\n type: spec.type,\n method,\n palette: \"categorical\",\n domain: null,\n center: null,\n steps: [],\n stops: [],\n categories,\n colorOf: (value) => categories[indexOf(value)]?.color ?? null,\n indexOf,\n positionOf: () => null,\n };\n}\n\n/**\n * Build a colour scale over `values`.\n *\n * ```ts\n * const scale = colorScaleFor(rows.map((r) => r.share), {\n * type: \"stepped\",\n * method: \"quantile\",\n * steps: 5,\n * });\n * scale.colorOf(0.42); // \"var(--chart-seq-4)\"\n * scale.steps; // five { from, to, color } classes for the legend\n * ```\n */\nexport function colorScaleFor(\n values: readonly ColorScaleValue[],\n spec: ColorScaleSpec,\n): ColorScale {\n const continuous = spec.type === \"continuous\";\n let method: ColorScaleMethod =\n spec.method !== undefined &&\n (continuous ? CONTINUOUS_METHODS : STEPPED_METHODS).has(spec.method)\n ? spec.method\n : continuous\n ? \"linear\"\n : \"equidistant\";\n const domain = spec.domain?.every(isFiniteNumber) ? spec.domain : undefined;\n const palette: ColorScalePalette =\n spec.palette ?? (domain?.length === 3 ? \"diverging\" : \"sequential\");\n if (palette === \"categorical\") return categoricalScale(values, spec, method);\n\n const data = values.filter(isFiniteNumber);\n // A loop, not `Math.min(...data)`: a spread of a 100k-row column overflows the call stack.\n let lo = Number.POSITIVE_INFINITY;\n let hi = Number.NEGATIVE_INFINITY;\n for (const v of domain ? [domain[0], domain[domain.length - 1] as number] : data) {\n if (v < lo) lo = v;\n if (v > hi) hi = v;\n }\n const thresholds =\n !continuous && method === \"custom\"\n ? [...new Set((spec.breaks ?? []).filter(isFiniteNumber))].sort((a, b) => a - b)\n : [];\n if (method === \"custom\" && thresholds.length === 0) method = \"equidistant\";\n if (thresholds.length > 0) {\n lo = Math.min(lo, thresholds[0] as number);\n hi = Math.max(hi, thresholds.at(-1) as number);\n }\n\n const noData = (): ColorScale => ({\n type: spec.type,\n method,\n palette,\n domain: null,\n center: null,\n steps: [],\n stops: [],\n categories: [],\n colorOf: () => null,\n indexOf: () => -1,\n positionOf: () => null,\n });\n if (!Number.isFinite(lo) || !Number.isFinite(hi)) return noData();\n\n const center =\n domain?.length === 3\n ? (domain[1] as number)\n : palette === \"diverging\"\n ? lo < 0 && hi > 0\n ? 0\n : (lo + hi) / 2\n : null;\n const ramp: readonly string[] = palette === \"diverging\" ? DIVERGING_RAMP : SEQUENTIAL_RAMP;\n const sorted = data.map((v) => clamp(v, lo, hi)).sort((a, b) => a - b);\n const needsData =\n method === \"quantile\" || method === \"jenks\" || (continuous && method !== \"linear\");\n if (needsData && sorted.length === 0) method = continuous ? \"linear\" : \"equidistant\";\n\n let steps: ColorScaleStep[];\n let stops: ColorScaleStop[] = [];\n let positionOf: (value: number) => number;\n\n if (lo === hi) {\n // One value (or a zero-width domain): one class, painted as \"the value\".\n const color = stepColors([[lo, hi]], ramp, center)[0] as string;\n steps = [{ from: lo, to: hi, color }];\n if (continuous) stops = [{ value: lo, color }];\n const position = ramp.indexOf(color) / (ramp.length - 1);\n positionOf = () => position;\n } else if (continuous) {\n // Knots map a value to its position on the ramp: the method's stops sit at\n // evenly spaced positions, then a centre bends the map so it lands at 0.5.\n let cuts: number[];\n const quantiles = QUANTILE_STOPS[method as ContinuousColorScaleMethod];\n if (quantiles !== undefined) {\n cuts = Array.from({ length: quantiles + 1 }, (_, i) =>\n i === 0 ? lo : i === quantiles ? hi : quantileSorted(sorted, i / quantiles),\n );\n } else if (method === \"natural\") {\n const breaks = jenksBreaks(sorted, stepCount(spec.steps, DEFAULT_STEPS));\n cuts = breaks.length > 2 ? [lo, ...breaks.slice(1, -1), hi] : [lo, hi];\n } else {\n cuts = [lo, hi];\n }\n let knots: [number, number][] = cuts.map((v, i) => [v, i / (cuts.length - 1)]);\n if (center !== null) {\n const pc = interpolate(knots, clamp(center, lo, hi));\n const bend = (p: number) =>\n pc <= 0\n ? 0.5 + p / 2\n : pc >= 1\n ? p / 2\n : p <= pc\n ? (0.5 * p) / pc\n : 0.5 + (0.5 * (p - pc)) / (1 - pc);\n knots = knots.map(([v, p]) => [v, bend(p)]);\n if (center > lo && center < hi) {\n knots.push([center, 0.5]);\n knots.sort((a, b) => a[0] - b[0] || a[1] - b[1]);\n }\n }\n const inverse = knots.map(([v, p]) => [p, v] as [number, number]);\n const last = ramp.length - 1;\n const valueAt = (position: number) => interpolate(inverse, position);\n steps = ramp.map((color, j) => ({\n from: j === 0 ? lo : valueAt((j - 0.5) / last),\n to: j === last ? hi : valueAt((j + 0.5) / last),\n color,\n }));\n stops = ramp.map((color, j) => ({ value: valueAt(j / last), color }));\n positionOf = (value) => interpolate(knots, value);\n } else {\n // Clamped to the ramp: a class the reader cannot tell from its neighbour is\n // not a class. Nothing here can MIX two tokens (their values are only known\n // once the browser resolves the theme), so the ramp's length IS the largest\n // honest class count — 7 sequential, 5 diverging. `spec.steps` above that\n // used to paint identical pairs and a legend that claimed the difference.\n // `method: \"custom\"` is the one exception: the host named those breaks, so\n // they are kept even when two of them land on one colour.\n const n = Math.min(stepCount(spec.steps, DEFAULT_STEPS), ramp.length);\n let breaks: number[];\n if (method === \"custom\") breaks = [lo, ...thresholds, hi];\n else if (method === \"quantile\")\n breaks = Array.from({ length: n + 1 }, (_, i) =>\n i === 0 ? lo : i === n ? hi : quantileSorted(sorted, i / n),\n );\n else if (method === \"jenks\") {\n const natural = jenksBreaks(sorted, n);\n breaks = [lo, ...natural.slice(1, -1), hi];\n } else if (method === \"rounded\") breaks = roundedBreaks(lo, hi, n);\n else\n breaks = Array.from({ length: n + 1 }, (_, i) => (i === n ? hi : lo + ((hi - lo) * i) / n));\n const unique = uniqueBreaks(breaks);\n const bounds = unique\n .slice(1)\n .map((to, i): readonly [number, number] => [unique[i] as number, to]);\n const colors = stepColors(bounds, ramp, center);\n steps = bounds.map(([from, to], i) => ({ from, to, color: colors[i] as string }));\n positionOf = (value) => {\n const i = stepIndex(steps, value);\n const { from, to } = steps[i] as ColorScaleStep;\n const within = to === from ? 0.5 : (value - from) / (to - from);\n return (i + clamp(within, 0, 1)) / steps.length;\n };\n }\n\n const indexOf = (value: ColorScaleValue) =>\n isFiniteNumber(value) ? stepIndex(steps, clamp(value, lo, hi)) : -1;\n return {\n type: spec.type,\n method,\n palette,\n domain: [lo, hi],\n center,\n steps,\n stops,\n categories: [],\n colorOf: (value) => steps[indexOf(value)]?.color ?? null,\n indexOf,\n positionOf: (value) => (isFiniteNumber(value) ? positionOf(clamp(value, lo, hi)) : null),\n };\n}\n"],"mappings":"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","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-ZSYT5H6U.js";
15
+ import {
16
+ Tooltip,
17
+ TooltipContent,
18
+ TooltipProvider,
19
+ TooltipTrigger
20
+ } from "./chunk-36SY7TID.js";
21
+ import {
22
+ useLocale
23
+ } from "./chunk-EJQYE4MY.js";
24
+ import {
25
+ Button
26
+ } from "./chunk-C5QBV5RE.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-KBWHHAI3.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":"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","names":["ThemeSwitcher","next"]}
@@ -0,0 +1,54 @@
1
+ "use client";
2
+ import {
3
+ illustrationAccent,
4
+ illustrationSvgProps
5
+ } from "./chunk-CEQ3YKHR.js";
6
+
7
+ // src/illustrations/no-access-illustration.tsx
8
+ import { forwardRef } from "react";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ var NoAccessIllustration = forwardRef(
11
+ function NoAccessIllustration2({ size, className, ...props }, ref) {
12
+ return /* @__PURE__ */ jsxs(
13
+ "svg",
14
+ {
15
+ ref,
16
+ ...illustrationSvgProps(size, className),
17
+ "data-slot": "no-access-illustration",
18
+ ...props,
19
+ children: [
20
+ /* @__PURE__ */ jsx("path", { d: "M50,72 V52 A30,20 0 0 1 110,52 V72" }),
21
+ /* @__PURE__ */ jsx("rect", { x: "36", y: "72", width: "88", height: "48", rx: "10" }),
22
+ /* @__PURE__ */ jsx(
23
+ "circle",
24
+ {
25
+ cx: "80",
26
+ cy: "92",
27
+ r: "6",
28
+ style: { stroke: illustrationAccent("var(--primary-text)") },
29
+ strokeWidth: 3
30
+ }
31
+ ),
32
+ /* @__PURE__ */ jsx(
33
+ "rect",
34
+ {
35
+ x: "77",
36
+ y: "98",
37
+ width: "6",
38
+ height: "12",
39
+ rx: "2",
40
+ style: { stroke: illustrationAccent("var(--primary-text)") },
41
+ strokeWidth: 3
42
+ }
43
+ )
44
+ ]
45
+ }
46
+ );
47
+ }
48
+ );
49
+ NoAccessIllustration.displayName = "NoAccessIllustration";
50
+
51
+ export {
52
+ NoAccessIllustration
53
+ };
54
+ //# sourceMappingURL=chunk-KK2TIWTF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/illustrations/no-access-illustration.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n illustrationSvgProps,\n illustrationAccent,\n type IllustrationProps,\n} from \"./illustration-base\";\n\n/**\n * Permission / access-denied state. A line-art padlock with a `--primary-text`\n * keyhole — reads as \"restricted\", not \"broken\". The keyhole is meaning-bearing\n * (per the accent-semantics convention in `illustration-base.tsx`, #48\n * finding 1) — it's what distinguishes a padlock from a generic rounded box.\n */\nexport const NoAccessIllustration = forwardRef<SVGSVGElement, IllustrationProps>(\n function NoAccessIllustration({ size, className, ...props }, ref) {\n return (\n <svg\n ref={ref}\n {...illustrationSvgProps(size, className)}\n data-slot=\"no-access-illustration\"\n {...props}\n >\n <path d=\"M50,72 V52 A30,20 0 0 1 110,52 V72\" />\n <rect x=\"36\" y=\"72\" width=\"88\" height=\"48\" rx=\"10\" />\n <circle\n cx=\"80\"\n cy=\"92\"\n r=\"6\"\n style={{ stroke: illustrationAccent(\"var(--primary-text)\") }}\n strokeWidth={3}\n />\n <rect\n x=\"77\"\n y=\"98\"\n width=\"6\"\n height=\"12\"\n rx=\"2\"\n style={{ stroke: illustrationAccent(\"var(--primary-text)\") }}\n strokeWidth={3}\n />\n </svg>\n );\n },\n);\nNoAccessIllustration.displayName = \"NoAccessIllustration\";\n"],"mappings":";;;;;;;AAAA,SAAS,kBAAkB;AAgBrB,SAME,KANF;AAHC,IAAM,uBAAuB;AAAA,EAClC,SAASA,sBAAqB,EAAE,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK;AAChE,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACC,GAAG,qBAAqB,MAAM,SAAS;AAAA,QACxC,aAAU;AAAA,QACT,GAAG;AAAA,QAEJ;AAAA,8BAAC,UAAK,GAAE,sCAAqC;AAAA,UAC7C,oBAAC,UAAK,GAAE,MAAK,GAAE,MAAK,OAAM,MAAK,QAAO,MAAK,IAAG,MAAK;AAAA,UACnD;AAAA,YAAC;AAAA;AAAA,cACC,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACF,OAAO,EAAE,QAAQ,mBAAmB,qBAAqB,EAAE;AAAA,cAC3D,aAAa;AAAA;AAAA,UACf;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,GAAE;AAAA,cACF,GAAE;AAAA,cACF,OAAM;AAAA,cACN,QAAO;AAAA,cACP,IAAG;AAAA,cACH,OAAO,EAAE,QAAQ,mBAAmB,qBAAqB,EAAE;AAAA,cAC3D,aAAa;AAAA;AAAA,UACf;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AACA,qBAAqB,cAAc;","names":["NoAccessIllustration"]}
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "./chunk-FXWWDMMP.js";
5
+
6
+ // src/components/accordion/accordion.tsx
7
+ import { forwardRef } from "react";
8
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
9
+ import { ChevronDown } from "lucide-react";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ var Accordion = AccordionPrimitive.Root;
12
+ var AccordionItem = forwardRef(function AccordionItem2({ className, ...props }, ref) {
13
+ return /* @__PURE__ */ jsx(
14
+ AccordionPrimitive.Item,
15
+ {
16
+ ref,
17
+ "data-slot": "accordion-item",
18
+ className: cn("border-b", className),
19
+ ...props
20
+ }
21
+ );
22
+ });
23
+ var AccordionTrigger = forwardRef(function AccordionTrigger2({ className, children, headingLevel = 3, ...props }, ref) {
24
+ const Heading = `h${headingLevel}`;
25
+ return /* @__PURE__ */ jsx(AccordionPrimitive.Header, { asChild: true, children: /* @__PURE__ */ jsx(Heading, { className: "flex", "data-slot": "accordion-header", children: /* @__PURE__ */ jsxs(
26
+ AccordionPrimitive.Trigger,
27
+ {
28
+ ref,
29
+ "data-slot": "accordion-trigger",
30
+ className: cn(
31
+ "flex flex-1 items-center justify-between py-4 text-body font-medium transition-all hover:underline focus-ring [&[data-state=open]>svg]:rotate-180",
32
+ className
33
+ ),
34
+ ...props,
35
+ children: [
36
+ children,
37
+ /* @__PURE__ */ jsx(ChevronDown, { className: "size-4 shrink-0 text-muted-foreground transition-transform duration-base ease-standard" })
38
+ ]
39
+ }
40
+ ) }) });
41
+ });
42
+ var AccordionContent = forwardRef(function AccordionContent2({ className, children, ...props }, ref) {
43
+ return /* @__PURE__ */ jsx(
44
+ AccordionPrimitive.Content,
45
+ {
46
+ ref,
47
+ "data-slot": "accordion-content",
48
+ className: "overflow-hidden text-body data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
49
+ ...props,
50
+ children: /* @__PURE__ */ jsx("div", { className: cn("pb-4 pt-0 text-muted-foreground", className), children })
51
+ }
52
+ );
53
+ });
54
+
55
+ export {
56
+ Accordion,
57
+ AccordionItem,
58
+ AccordionTrigger,
59
+ AccordionContent
60
+ };
61
+ //# sourceMappingURL=chunk-KPZFLTZ2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/accordion/accordion.tsx"],"sourcesContent":["import { forwardRef, type ComponentPropsWithoutRef, type ElementRef } from \"react\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDown } from \"lucide-react\";\nimport { cn } from \"../../lib/cn\";\n\nexport const Accordion = AccordionPrimitive.Root;\n\nexport const AccordionItem = forwardRef<\n ElementRef<typeof AccordionPrimitive.Item>,\n ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(function AccordionItem({ className, ...props }, ref) {\n return (\n <AccordionPrimitive.Item\n ref={ref}\n data-slot=\"accordion-item\"\n className={cn(\"border-b\", className)}\n {...props}\n />\n );\n});\n\nexport interface AccordionTriggerProps extends ComponentPropsWithoutRef<\n typeof AccordionPrimitive.Trigger\n> {\n /**\n * The heading level Radix's `Accordion.Header` renders. Radix hardcodes `h3`,\n * which skips a level whenever the accordion sits directly under the page\n * `h1` — so the level is the caller's to set. Visually identical at every\n * level: the type comes from the trigger, not the heading.\n * @default 3\n */\n headingLevel?: 2 | 3 | 4 | 5 | 6;\n}\n\nexport const AccordionTrigger = forwardRef<\n ElementRef<typeof AccordionPrimitive.Trigger>,\n AccordionTriggerProps\n>(function AccordionTrigger({ className, children, headingLevel = 3, ...props }, ref) {\n const Heading = `h${headingLevel}` as const;\n return (\n <AccordionPrimitive.Header asChild>\n <Heading className=\"flex\" data-slot=\"accordion-header\">\n <AccordionPrimitive.Trigger\n ref={ref}\n data-slot=\"accordion-trigger\"\n className={cn(\n \"flex flex-1 items-center justify-between py-4 text-body font-medium transition-all hover:underline focus-ring [&[data-state=open]>svg]:rotate-180\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDown className=\"size-4 shrink-0 text-muted-foreground transition-transform duration-base ease-standard\" />\n </AccordionPrimitive.Trigger>\n </Heading>\n </AccordionPrimitive.Header>\n );\n});\n\nexport const AccordionContent = forwardRef<\n ElementRef<typeof AccordionPrimitive.Content>,\n ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(function AccordionContent({ className, children, ...props }, ref) {\n return (\n <AccordionPrimitive.Content\n ref={ref}\n data-slot=\"accordion-content\"\n className=\"overflow-hidden text-body data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-0 text-muted-foreground\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n});\n"],"mappings":";;;;;;AAAA,SAAS,kBAAkE;AAC3E,YAAY,wBAAwB;AACpC,SAAS,mBAAmB;AAUxB,cA8BI,YA9BJ;AAPG,IAAM,YAA+B;AAErC,IAAM,gBAAgB,WAG3B,SAASA,eAAc,EAAE,WAAW,GAAG,MAAM,GAAG,KAAK;AACrD,SACE;AAAA,IAAoB;AAAA,IAAnB;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW,GAAG,YAAY,SAAS;AAAA,MAClC,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AAeM,IAAM,mBAAmB,WAG9B,SAASC,kBAAiB,EAAE,WAAW,UAAU,eAAe,GAAG,GAAG,MAAM,GAAG,KAAK;AACpF,QAAM,UAAU,IAAI,YAAY;AAChC,SACE,oBAAoB,2BAAnB,EAA0B,SAAO,MAChC,8BAAC,WAAQ,WAAU,QAAO,aAAU,oBAClC;AAAA,IAAoB;AAAA,IAAnB;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,QACD,oBAAC,eAAY,WAAU,0FAAyF;AAAA;AAAA;AAAA,EAClH,GACF,GACF;AAEJ,CAAC;AAEM,IAAM,mBAAmB,WAG9B,SAASC,kBAAiB,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,KAAK;AAClE,SACE;AAAA,IAAoB;AAAA,IAAnB;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAU;AAAA,MACT,GAAG;AAAA,MAEJ,8BAAC,SAAI,WAAW,GAAG,mCAAmC,SAAS,GAAI,UAAS;AAAA;AAAA,EAC9E;AAEJ,CAAC;","names":["AccordionItem","AccordionTrigger","AccordionContent"]}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-KRVSD4OK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,74 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "./chunk-FXWWDMMP.js";
5
+
6
+ // src/components/split-panel/split-panel.tsx
7
+ import "react";
8
+ import { cva } from "class-variance-authority";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ var splitPaneVariants = cva("min-h-0 min-w-0 overflow-auto", {
11
+ variants: {
12
+ tone: {
13
+ plain: "",
14
+ muted: "bg-surface-muted",
15
+ card: "bg-card shadow-sm"
16
+ }
17
+ },
18
+ defaultVariants: { tone: "plain" }
19
+ });
20
+ function SplitPanel({
21
+ start,
22
+ end,
23
+ direction = "horizontal",
24
+ startSize = "1fr",
25
+ divider = true,
26
+ startTone = "plain",
27
+ endTone = "plain",
28
+ className,
29
+ startClassName,
30
+ endClassName
31
+ }) {
32
+ const isHorizontal = direction === "horizontal";
33
+ const style = isHorizontal ? { gridTemplateColumns: `${startSize} minmax(0, 1fr)` } : { gridTemplateRows: `${startSize} minmax(0, 1fr)` };
34
+ return /* @__PURE__ */ jsxs(
35
+ "div",
36
+ {
37
+ className: cn(
38
+ "grid h-full w-full",
39
+ isHorizontal ? "grid-flow-col" : "grid-flow-row",
40
+ className
41
+ ),
42
+ style,
43
+ children: [
44
+ /* @__PURE__ */ jsx("div", { className: cn(splitPaneVariants({ tone: startTone }), startClassName), children: start }),
45
+ /* @__PURE__ */ jsx(
46
+ "div",
47
+ {
48
+ className: cn(
49
+ splitPaneVariants({ tone: endTone }),
50
+ divider && (isHorizontal ? "border-s" : "border-t") + // #163 — with both panes "plain" there is no fill/elevation
51
+ // difference between them, so the hairline is the ONLY cue and
52
+ // must clear the 3:1 non-text bar (WCAG 1.4.11):
53
+ // `border-border-strong` (`border-strong ≥ 3:1 on --card/
54
+ // --background` is proven for every theme in
55
+ // @elabs-ai/components-tokens's themes-contrast.test.ts).
56
+ // With either tone "muted"/"card" the fill change already
57
+ // carries the boundary, so the subtle default rung stays —
58
+ // the redundant-cue exemption in styling-and-tokens.md.
59
+ (startTone === "plain" && endTone === "plain" ? " border-border-strong" : ""),
60
+ endClassName
61
+ ),
62
+ children: end
63
+ }
64
+ )
65
+ ]
66
+ }
67
+ );
68
+ }
69
+
70
+ export {
71
+ splitPaneVariants,
72
+ SplitPanel
73
+ };
74
+ //# sourceMappingURL=chunk-KXYL3CUS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/split-panel/split-panel.tsx"],"sourcesContent":["import { type ReactNode } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/cn\";\n\n/**\n * Per-pane surface tone — the ground-offset tiering axis (research 08 §H, #193).\n * `plain` keeps the ambient ground (default; non-breaking). `card` RAISES the pane as\n * a white `bg-card` + `shadow-sm` and is robust across every theme — a card is\n * lighter than the page ground in BOTH light and dark, so it always reads as raised.\n * `muted` (`bg-surface-muted`) reads as a recessed well ONLY in light themes; in dark\n * themes `--surface-muted` is lighter than `--card`, so a `muted` pane reads as a faint\n * raised tint, not a recess (dark-mode layering only goes UP — there is no surface below\n * the page ground). For a guaranteed cross-theme raise/recess contrast, raise the focus\n * pane with `card` and leave the other `plain`.\n *\n * Exported so the same tone system reaches a `Layout/Resizable` pane — a draggable\n * `ResizablePanel` composes `splitPaneVariants({ tone })` for the identical ground-offset\n * tiering `SplitPanel` gives its `startTone`/`endTone`, instead of a hand-rolled second\n * copy of these three classes. See `Layout/Resizable`'s `Tiered` story.\n */\nexport const splitPaneVariants = cva(\"min-h-0 min-w-0 overflow-auto\", {\n variants: {\n tone: {\n plain: \"\",\n muted: \"bg-surface-muted\",\n card: \"bg-card shadow-sm\",\n },\n },\n defaultVariants: { tone: \"plain\" },\n});\n\nexport type SplitPanelTone = NonNullable<VariantProps<typeof splitPaneVariants>[\"tone\"]>;\n\nexport interface SplitPanelProps {\n start: ReactNode;\n end: ReactNode;\n /** Layout axis. Defaults to \"horizontal\" (side-by-side). */\n direction?: \"horizontal\" | \"vertical\";\n /**\n * Size of the START pane as a CSS grid track (e.g. \"320px\", \"40%\", \"1fr\").\n * The END pane fills the remainder. Defaults to \"1fr\" (equal split).\n */\n startSize?: string;\n /** Show a thin divider between panes. Defaults to true. */\n divider?: boolean;\n /** Surface tone of the START pane (ground-offset tiering). Defaults to \"plain\". */\n startTone?: SplitPanelTone;\n /** Surface tone of the END pane (ground-offset tiering). Defaults to \"plain\". */\n endTone?: SplitPanelTone;\n className?: string;\n startClassName?: string;\n endClassName?: string;\n}\n\n/**\n * Two-pane layout for master/detail, editor/preview and inspector workflows.\n * Static sizing by design (predictable in tests/SSR) — `startSize` is a CSS grid\n * track (`\"320px\"`, `\"40%\"`, `\"1fr\"`), not a percentage. For panes the user can\n * drag to resize, reach for `Layout/Resizable`'s `ResizablePanelGroup`/\n * `ResizablePanel`/`ResizableHandle` instead and apply `splitPaneVariants({ tone })`\n * to a panel for the same ground-offset tiering. See\n * [Choosing between similar components](?path=/docs/docs-choosing-between-similar-components--docs).\n *\n * For a master/detail surface where the detail should read as a raised card on a\n * recessed list, use `startTone=\"muted\" endTone=\"card\"` (ground-offset tiering).\n */\nexport function SplitPanel({\n start,\n end,\n direction = \"horizontal\",\n startSize = \"1fr\",\n divider = true,\n startTone = \"plain\",\n endTone = \"plain\",\n className,\n startClassName,\n endClassName,\n}: SplitPanelProps) {\n const isHorizontal = direction === \"horizontal\";\n const style = isHorizontal\n ? { gridTemplateColumns: `${startSize} minmax(0, 1fr)` }\n : { gridTemplateRows: `${startSize} minmax(0, 1fr)` };\n return (\n <div\n className={cn(\n \"grid h-full w-full\",\n isHorizontal ? \"grid-flow-col\" : \"grid-flow-row\",\n className,\n )}\n style={style}\n >\n <div className={cn(splitPaneVariants({ tone: startTone }), startClassName)}>{start}</div>\n <div\n className={cn(\n splitPaneVariants({ tone: endTone }),\n divider &&\n (isHorizontal ? \"border-s\" : \"border-t\") +\n // #163 — with both panes \"plain\" there is no fill/elevation\n // difference between them, so the hairline is the ONLY cue and\n // must clear the 3:1 non-text bar (WCAG 1.4.11):\n // `border-border-strong` (`border-strong ≥ 3:1 on --card/\n // --background` is proven for every theme in\n // @elabs-ai/components-tokens's themes-contrast.test.ts).\n // With either tone \"muted\"/\"card\" the fill change already\n // carries the boundary, so the subtle default rung stays —\n // the redundant-cue exemption in styling-and-tokens.md.\n (startTone === \"plain\" && endTone === \"plain\" ? \" border-border-strong\" : \"\"),\n endClassName,\n )}\n >\n {end}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;AAAA,OAA+B;AAC/B,SAAS,WAA8B;AAkFnC,SAQE,KARF;AA/DG,IAAM,oBAAoB,IAAI,iCAAiC;AAAA,EACpE,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB,EAAE,MAAM,QAAQ;AACnC,CAAC;AAqCM,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AACF,GAAoB;AAClB,QAAM,eAAe,cAAc;AACnC,QAAM,QAAQ,eACV,EAAE,qBAAqB,GAAG,SAAS,kBAAkB,IACrD,EAAE,kBAAkB,GAAG,SAAS,kBAAkB;AACtD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA,eAAe,kBAAkB;AAAA,QACjC;AAAA,MACF;AAAA,MACA;AAAA,MAEA;AAAA,4BAAC,SAAI,WAAW,GAAG,kBAAkB,EAAE,MAAM,UAAU,CAAC,GAAG,cAAc,GAAI,iBAAM;AAAA,QACnF;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAAA,cACnC,YACG,eAAe,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAU1B,cAAc,WAAW,YAAY,UAAU,0BAA0B;AAAA,cAC9E;AAAA,YACF;AAAA,YAEC;AAAA;AAAA,QACH;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -0,0 +1,17 @@
1
+ "use client";
2
+
3
+ // src/lib/merge-refs.ts
4
+ function mergeRefs(...refs) {
5
+ return (node) => {
6
+ for (const ref of refs) {
7
+ if (!ref) continue;
8
+ if (typeof ref === "function") ref(node);
9
+ else ref.current = node;
10
+ }
11
+ };
12
+ }
13
+
14
+ export {
15
+ mergeRefs
16
+ };
17
+ //# sourceMappingURL=chunk-L37QZALU.js.map