@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,1321 @@
1
+ "use client";
2
+
3
+ // src/components/locale-provider/messages.ts
4
+ var DEFAULT_MESSAGES = {
5
+ // ── Generic (shared across packages — reuse these before minting a new key) ──
6
+ close: "Close",
7
+ copy: "Copy",
8
+ clear: "Clear",
9
+ previous: "Previous",
10
+ next: "Next",
11
+ previousSlide: "Previous slide",
12
+ nextSlide: "Next slide",
13
+ noResults: "No results.",
14
+ noRows: "No rows.",
15
+ loading: "Loading\u2026",
16
+ more: "More",
17
+ selectAll: "Select all",
18
+ // Cardinal-plural example (#19) — a shared "N item(s) selected" microcopy
19
+ // any multi-select surface can reuse via `t("itemsSelected", { count })`.
20
+ // Demonstrates the plural-form shape: pick the primitive over inventing a
21
+ // near-duplicate flat string per component.
22
+ itemsSelected: { one: "{count} item selected", other: "{count} items selected" },
23
+ // ── @elabs-ai/components-ui ───────────────────────────────────────────────────────────────
24
+ "ui.metricCard.loading": "Loading metric\u2026",
25
+ // CopyableValue. `hint` is APPENDED to the visible (compact) value, so the
26
+ // accessible name contains what the reader sees — WCAG 2.5.3, Label in Name.
27
+ "ui.copyableValue.hint": "Copy exact value",
28
+ "ui.copyableValue.copied": "Copied",
29
+ // ExpandDialog. Names the context pane beside the enlarged content, so a
30
+ // screen-reader user can tell the two scrollable regions apart.
31
+ "ui.expandDialog.detail": "Details",
32
+ // AttributionPanel. `required` labels a notice a licence obliges us to show —
33
+ // it is the WORD, not a colour, so the distinction survives greyscale (1.4.1).
34
+ "ui.attributionPanel.label": "Third-party attributions",
35
+ "ui.attributionPanel.required": "Required",
36
+ "ui.attributionPanel.empty": "No attributions match this filter.",
37
+ // ModelPicker. `refreshFailed` sits ABOVE a list that still works; `loadFailed`
38
+ // replaces the list. The distinction is load-bearing — see modelPickerBody.
39
+ "ui.modelPicker.label": "Choose a target",
40
+ "ui.modelPicker.searchPlaceholder": "Search\u2026",
41
+ "ui.modelPicker.refreshFailed": "Couldn't refresh the list",
42
+ "ui.modelPicker.loadFailed": "Couldn't load the list",
43
+ "ui.modelPicker.nothingYet": "Nothing to show yet",
44
+ "ui.modelPicker.retry": "Retry",
45
+ // KeyboardShortcuts (#113). `emptyFiltered` keeps the user's own query in the
46
+ // sentence so the empty state says WHY it is empty, not merely that it is.
47
+ "ui.keyboardShortcuts.searchPlaceholder": "Search shortcuts\u2026",
48
+ "ui.keyboardShortcuts.emptyTitle": "No shortcuts found",
49
+ "ui.keyboardShortcuts.emptyFiltered": "No shortcuts match \u201C{query}\u201D.",
50
+ "ui.keyboardShortcuts.empty": "No shortcuts to show.",
51
+ // WorkspacePicker (#111). It composes ModelPicker, so it carries its OWN
52
+ // label/search strings rather than inheriting the generic "Choose a target".
53
+ // `current` is appended into the row's meta so the in-force workspace reaches
54
+ // the option's accessible name as a WORD, not only a check glyph (1.4.1).
55
+ "ui.workspacePicker.label": "Choose a workspace",
56
+ "ui.workspacePicker.placeholder": "No workspace selected",
57
+ "ui.workspacePicker.recent": "Recent workspaces",
58
+ "ui.workspacePicker.searchPlaceholder": "Search workspaces\u2026",
59
+ "ui.workspacePicker.current": "Current",
60
+ "ui.workspacePicker.pathLabel": "Workspace path",
61
+ "ui.workspacePicker.pathPlaceholder": "/path/to/project\u2026",
62
+ "ui.workspacePicker.openPath": "Open",
63
+ // ViewToolbar (#331). `removeFilter` deliberately WRAPS the visible chip text
64
+ // so the accessible name contains it (WCAG 2.5.3 Label in Name).
65
+ "ui.viewToolbar.about": "About this view",
66
+ "ui.viewToolbar.activeFilters": "Active filters",
67
+ "ui.viewToolbar.clearAll": "Clear all",
68
+ "ui.viewToolbar.countOfTotal": "{count} of {total}",
69
+ "ui.viewToolbar.removeFilter": "Remove filter: {label}",
70
+ // Combobox `allowCustomValue` mode (#359) — `{value}` interpolates the
71
+ // currently typed, non-matching search text.
72
+ "ui.combobox.useCustomValue": 'Use "{value}"',
73
+ "ui.combobox.emptyAllowCustom": "No matches. Type to add a custom value.",
74
+ // Form kit (#370–#374).
75
+ "ui.boundedNumber.emptyLabel": "No limit",
76
+ "ui.keyValueEditor.addRow": "Add row",
77
+ "ui.keyValueEditor.keyLabel": "Key {n}",
78
+ "ui.keyValueEditor.valueLabel": "Value {n}",
79
+ "ui.keyValueEditor.removeRow": "Remove row {n}",
80
+ "ui.keyValueEditor.reveal": "Reveal value {n}",
81
+ "ui.keyValueEditor.hide": "Hide value {n}",
82
+ "ui.keyValueEditor.empty": "No entries yet.",
83
+ "ui.listEditor.addItem": "Add item",
84
+ "ui.listEditor.itemLabel": "Item {n}",
85
+ "ui.listEditor.removeItem": "Remove item {n}",
86
+ "ui.listEditor.moveUp": "Move item {n} up",
87
+ "ui.listEditor.moveDown": "Move item {n} down",
88
+ "ui.listEditor.empty": "No items yet.",
89
+ "ui.sliderNumber.reset": "Reset",
90
+ // MentionInput (#368). The listbox lives in a portal with no visible label of
91
+ // its own, so this IS its accessible name. The empty state deliberately
92
+ // reuses the generic `noResults` key rather than minting a near-duplicate.
93
+ "ui.mentionInput.listLabel": "Mention suggestions",
94
+ // ConfirmDialog's fallback action labels. A real confirmation replaces
95
+ // `confirmLabel` with the CONSEQUENCE ("Delete skill"); this generic default
96
+ // exists so the component is never unlabelled.
97
+ "ui.confirmDialog.confirm": "Confirm",
98
+ "ui.confirmDialog.cancel": "Cancel",
99
+ "ui.advancedGroup.title": "Advanced",
100
+ "ui.advancedGroup.changed": "{count} changed",
101
+ // SchemaForm — the spec-driven config-form renderer (issue #22).
102
+ "ui.schemaForm.selectPlaceholder": "Select\u2026",
103
+ "ui.schemaForm.label": "Form",
104
+ "ui.schemaForm.submit": "Submit",
105
+ "ui.schemaForm.submitting": "Submitting\u2026",
106
+ "ui.schemaForm.submitted": "Submitted",
107
+ // SchemaFormTestAction — a form/group-level "Test connection" affordance
108
+ // (issue #22 maintainer ruling, 2026-09-01), independent of field validity
109
+ // and never gating submit.
110
+ "ui.schemaForm.testAction.label": "Test connection",
111
+ "ui.schemaForm.testAction.pending": "Testing\u2026",
112
+ "ui.schemaForm.testAction.success": "Connected",
113
+ "ui.schemaForm.testAction.failure": "Test failed",
114
+ // Pagination's ellipsis (sr-only — the visible glyph is decorative).
115
+ "ui.breadcrumb.label": "breadcrumb",
116
+ "ui.pagination.label": "pagination",
117
+ "ui.pagination.morePages": "More pages",
118
+ // Pagination's prev/next links — the ACCESSIBLE NAME (`aria-label`), distinct
119
+ // from the visible `previous`/`next` text below it: an `aria-label` overrides
120
+ // visible text content as the accessible name, so leaving these hardcoded in
121
+ // English meant a non-English `LocaleProvider` translated the visible label
122
+ // but a screen-reader user still heard English (#12/#53 review, P2).
123
+ "ui.pagination.previous": "Go to previous page",
124
+ "ui.pagination.next": "Go to next page",
125
+ // Sidebar's mobile Sheet title (sr-only header — the sheet itself has no
126
+ // visible chrome, so this is only ever read by assistive tech).
127
+ "ui.sidebar.title": "Sidebar",
128
+ // ContextRail's switcher count phrase (composed into the accessible name,
129
+ // e.g. "Sources 3 items") and its default empty-state copy.
130
+ "ui.contextRail.sectionCount": { one: "{count} item", other: "{count} items" },
131
+ "ui.contextRail.empty": "No sections",
132
+ // SideDock's resize handle — its sr-only label and its live width readout.
133
+ "ui.sideDock.resize": "Resize",
134
+ "ui.sideDock.widthValue": { one: "{size} pixel", other: "{size} pixels" },
135
+ // Tree's error row — shared by the virtualized and non-virtualized branches.
136
+ "ui.tree.failedToLoad": "Failed to load",
137
+ // ThemeSwitcher's "follow the OS" option, in both dropdown and toggle modes.
138
+ "ui.themeSwitcher.system": "System",
139
+ // Group labels + scheme names in the family layout (ADR 0036).
140
+ "ui.themeSwitcher.theme": "Theme",
141
+ "ui.themeSwitcher.mode": "Mode",
142
+ "ui.themeSwitcher.light": "Light",
143
+ "ui.themeSwitcher.dark": "Dark",
144
+ "ui.navNotifications.label": "Notifications",
145
+ // NavUser — the standard sidebar footer: account menu group label and its
146
+ // two default actions.
147
+ "ui.navUser.label": "Account",
148
+ "ui.navUser.settings": "Settings",
149
+ "ui.navUser.signOut": "Sign out",
150
+ "ui.teamSwitcher.label": "Teams",
151
+ "ui.teamSwitcher.addTeam": "Add team",
152
+ // Table's own scroll wrapper (#366). Rendered ONLY when the wrapper actually
153
+ // overflows, so it is never announced for a table that fits — see
154
+ // `packages/ui/src/components/table/table.tsx`. Deliberately a `ui.*`
155
+ // sibling of `data.table.scrollRegion` rather than a shared cross-package
156
+ // key: `Table` is a `@elabs-ai/components-ui` component and each package
157
+ // keeps its own namespace even where the English string coincides (compare
158
+ // `viewer.content` vs this), so a translator can phrase either
159
+ // independently and neither package depends on a string owned by another.
160
+ "ui.table.scrollRegion": "Table contents, scrollable",
161
+ // NumberInput's step buttons (#4 i18n sweep).
162
+ "ui.numberInput.decrease": "Decrease",
163
+ "ui.numberInput.increase": "Increase",
164
+ // Combobox/VirtualSelect/TreeSelect each keep their own placeholder pair
165
+ // (English text coincides, but a translator may phrase a search box
166
+ // differently per surface — same rationale as `ui.table.scrollRegion`).
167
+ "ui.combobox.placeholder": "Select\u2026",
168
+ "ui.combobox.searchPlaceholder": "Search\u2026",
169
+ "ui.virtualSelect.placeholder": "Select\u2026",
170
+ "ui.virtualSelect.searchPlaceholder": "Search\u2026",
171
+ "ui.treeSelect.placeholder": "Select\u2026",
172
+ "ui.treeSelect.moreSelected": "and {count} more selected",
173
+ "ui.fileUpload.selectedFiles": "Selected files",
174
+ "ui.fileUpload.dragDropHere": "Drag & drop files here",
175
+ "ui.fileUpload.browseFiles": "Browse files",
176
+ // Sidebar's mobile Sheet description (sr-only) and the collapse/expand
177
+ // trigger's shared name (SidebarTrigger's sr-only text + SidebarRail's
178
+ // aria-label/title).
179
+ "ui.sidebar.mobileDescription": "Displays the mobile sidebar.",
180
+ "ui.sidebar.toggle": "Toggle Sidebar",
181
+ "ui.revisionTimeline.label": "Revisions",
182
+ "ui.tree.retry": "Retry",
183
+ "ui.tree.retryLoadingChildren": "Retry loading children",
184
+ // Spinner's bare default label — kept WITHOUT an ellipsis (unlike the
185
+ // generic `loading` key) to stay byte-identical to its pre-i18n default.
186
+ "ui.spinner.label": "Loading",
187
+ "ui.statePanel.errorTitle": "Something went wrong",
188
+ "ui.statePanel.errorDescription": "An unexpected error occurred. Please try again.",
189
+ "ui.statePanel.errorEyebrow": "Error",
190
+ "ui.carousel.label": "Carousel",
191
+ // Transfer (#4 i18n sweep). `panelFallback`/`itemsFallback` back the two
192
+ // spots where the panel title isn't a plain string (a ReactNode) and the
193
+ // sr-only text falls back to a generic word instead.
194
+ "ui.transfer.selectAllIn": "Select all in {title}",
195
+ "ui.transfer.panelFallback": "panel",
196
+ "ui.transfer.searchIn": "Search {title}",
197
+ "ui.transfer.itemsFallback": "items",
198
+ "ui.transfer.searchPlaceholder": "Search\u2026",
199
+ "ui.transfer.empty": "No items",
200
+ "ui.transfer.defaultSourceTitle": "Source",
201
+ "ui.transfer.defaultTargetTitle": "Target",
202
+ "ui.transfer.movedToTarget": {
203
+ one: "{count} item moved to the target list.",
204
+ other: "{count} items moved to the target list."
205
+ },
206
+ "ui.transfer.movedToSource": {
207
+ one: "{count} item moved to the source list.",
208
+ other: "{count} items moved to the source list."
209
+ },
210
+ "ui.transfer.moveControls": "Move controls",
211
+ "ui.transfer.moveSelectedRight": "Move selected right",
212
+ "ui.transfer.moveAllRight": "Move all right",
213
+ "ui.transfer.moveSelectedLeft": "Move selected left",
214
+ "ui.transfer.moveAllLeft": "Move all left",
215
+ // ChangeReview (#4 i18n sweep).
216
+ "ui.changeReview.heading": "Review changes",
217
+ "ui.changeReview.approvedCount": "{approved} of {total} approved",
218
+ "ui.changeReview.rejectAll": "Reject all",
219
+ "ui.changeReview.rejectAllLabel": "Reject all changes",
220
+ "ui.changeReview.approveAll": "Approve all",
221
+ "ui.changeReview.approveAllLabel": "Approve all changes",
222
+ "ui.changeReview.provenanceLabel": "Change provenance",
223
+ "ui.changeReview.emptyTitle": "No changes to review",
224
+ "ui.changeReview.emptyDescription": "When an agent proposes edits, they'll appear here for your approval.",
225
+ "ui.changeReview.statusAdded": "added",
226
+ "ui.changeReview.statusRemoved": "removed",
227
+ "ui.changeReview.statusModified": "modified",
228
+ "ui.changeReview.phaseBefore": "Before",
229
+ "ui.changeReview.phaseAfter": "After",
230
+ "ui.changeReview.checkPassed": "Passed",
231
+ "ui.changeReview.checkFailed": "Failed",
232
+ "ui.changeReview.showDetail": "Show detail",
233
+ "ui.changeReview.hideDetail": "Hide detail",
234
+ "ui.changeReview.rejectHunk": "Reject hunk: {title}",
235
+ "ui.changeReview.approveHunk": "Approve hunk: {title}",
236
+ "ui.changeReview.changeType": "Change type: {status}",
237
+ "ui.changeReview.beforePrefix": "Before: ",
238
+ "ui.changeReview.afterPrefix": "After: ",
239
+ "ui.changeReview.approvedBadge": "Approved",
240
+ "ui.navNotifications.trigger": "Open notifications",
241
+ "ui.colorPicker.pickColor": "Pick color",
242
+ "ui.colorPicker.none": "None",
243
+ "ui.colorPicker.swatches": "Color swatches",
244
+ "ui.colorPicker.customHexLabel": "Custom hex",
245
+ "ui.colorPicker.notThemeAware": "(not theme-aware)",
246
+ "ui.colorPicker.customHex": "Custom hex color",
247
+ // ── @elabs-ai/components-data ─────────────────────────────────────────────────────────────
248
+ // The scroll region's accessible name is rendered ONLY when the table actually
249
+ // overflows its container, so it is never announced for a table that fits.
250
+ "data.table.scrollRegion": "Table contents, scrollable",
251
+ "data.table.loading": "Loading table data\u2026",
252
+ // Fallback name for a row's activation control when the row's first cell holds
253
+ // no primitive value to name it after (see `rowActionLabel`).
254
+ "data.table.rowAction": "Activate row",
255
+ // createSelectionColumn (#11) — the header select-all checkbox and each row's
256
+ // own checkbox. Kept table-scoped (not the generic `selectAll` key) so a
257
+ // translator can phrase "rows" distinctly from other bulk-select surfaces.
258
+ "data.table.selectAllRows": "Select all rows",
259
+ // `selectRowNamed` names each row's checkbox from its own first data column
260
+ // (#11 I4) so screen-reader users hear "Select Alpha", not `selectRow`'s
261
+ // identical generic label repeated on every row; `selectRow` stays the
262
+ // fallback when no data column value is derivable.
263
+ "data.table.selectRowNamed": "Select {name}",
264
+ "data.table.selectRow": "Select row",
265
+ // Column resizing (#12) — the accessible name for the WAI-ARIA
266
+ // separator-as-slider resize handle at the end of a resizable header cell.
267
+ "data.table.resizeColumn": "Resize column, {name}",
268
+ // #51 — the handle's accessible VALUE, paired with aria-valuenow (which
269
+ // stays a plain number for AT/TanStack). A bare number reads as a
270
+ // dimensionless ordinal; the unit makes it a size. A `PluralMessage` (PR
271
+ // #81 review, "Format the announced resize value for the active locale") —
272
+ // the call site passes both `count` (the raw number, so a locale whose
273
+ // plural rules select something other than "other" for a given size is
274
+ // reachable) and `size` (pre-formatted via `formatNumber`, so a locale
275
+ // override renders locale-appropriate digits/grouping instead of a raw
276
+ // Latin-digit JS number).
277
+ "data.table.resizeColumnValue": { one: "{size} pixel", other: "{size} pixels" },
278
+ // `showRanks` (RM-123). The printed number is the row's position in the DATA
279
+ // AS SUPPLIED, not its position on screen: it travels with its row through
280
+ // sorting, filtering and paging, so beside a sorted column it legitimately
281
+ // reads 2, 1, 6, 4. That rule is invisible in a column headed by a bare "#",
282
+ // which reads as a broken ranking — so it is said twice: `rankHeader` is the
283
+ // column's accessible NAME (the "#" glyph is decorative beside it), and
284
+ // `rankKey` is the one-line key printed above the table for everyone else.
285
+ "data.table.rankHeader": "Position in the data as supplied",
286
+ "data.table.rankKey": "# is each row\u2019s position in the data as supplied, not its position in this view \u2014 sorting never renumbers it.",
287
+ // Row drag-reorder (#13). `reorderHandle`/`reorderColumnHeader` name the
288
+ // grip control and its column; the four `reorder*` announcement keys back
289
+ // the aria-live region dnd-kit's `accessibility.announcements` renders on
290
+ // pickup/move/drop/cancel (WCAG 4.1.3) — `position`/`total` are 1-based so
291
+ // the announcement reads like "3 of 8", not a 0-based index.
292
+ "data.table.reorderColumnHeader": "Reorder",
293
+ "data.table.reorderHandle": "Reorder {name}",
294
+ "data.table.reorderPickedUp": "Picked up {name}.",
295
+ "data.table.reorderMoved": "{name} moved to position {position} of {total}.",
296
+ "data.table.reorderDropped": "{name} dropped at position {position} of {total}.",
297
+ "data.table.reorderCancelled": "Reordering cancelled. {name} returned to position {position} of {total}.",
298
+ // #98: `@dnd-kit` renders two more AT-visible strings for this same
299
+ // feature that this repo's source never writes — the hidden keyboard
300
+ // usage instructions (wired to the grip via `aria-describedby`) and the
301
+ // activator's `aria-roledescription`. Both ship a hardcoded English
302
+ // default deep inside the library; localizing them means overriding them
303
+ // explicitly with these two keys. The English DEFAULT below is dnd-kit's
304
+ // own default text verbatim (`defaultScreenReaderInstructions.draggable`
305
+ // in `@dnd-kit/core`, and `useSortable`'s `roleDescription: 'sortable'` in
306
+ // `@dnd-kit/sortable`) — not a rewrite — so an English consumer with no
307
+ // `LocaleProvider` override sees byte-identical output to before this
308
+ // fix; only a `messages` override changes it.
309
+ "data.table.reorderInstructions": "\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n ",
310
+ "data.table.reorderRoleDescription": "sortable",
311
+ "data.facetFilter.clearFilters": "Clear filters",
312
+ "data.columnPicker.toggleColumns": "Toggle columns",
313
+ "data.columnPicker.label": "Columns",
314
+ "data.searchInput.label": "Search",
315
+ "data.searchInput.placeholder": "Search\u2026",
316
+ "data.searchInput.clear": "Clear search",
317
+ // ── @elabs-ai/components-charts ───────────────────────────────────────────────────────────
318
+ // Shared caption for any bare chart surface's layout-shaped skeleton
319
+ // (ChartFrame, ChartCard, AutoChart all show the same "a chart is loading"
320
+ // concept — one key, reused, rather than three near-duplicate strings).
321
+ "charts.chart.loading": "Loading chart\u2026",
322
+ // ChartFallback's default copy per `kind` (#304). Written for the reader of
323
+ // the page, not the developer: the unsupported chart type name goes to a
324
+ // dev-only console warning, never into this string.
325
+ "charts.chart.empty": "No data to display",
326
+ "charts.chart.unsupported": "This chart can\u2019t be displayed.",
327
+ "charts.metricGrid.loading": "Loading metrics\u2026",
328
+ // Chart drill-down (#349). The chart SVG is aria-hidden, so these names are
329
+ // the ONLY thing AT reads for an interactive datapoint — there is no
330
+ // consumer-side workaround if they stay English.
331
+ "charts.datapointLayer.label": "Chart data points",
332
+ "charts.datapoint.label": "{series}, {category}: {value}",
333
+ "charts.datapoint.labelNoSeries": "{category}: {value}",
334
+ // A target with no value (a tree node, a parallel-coordinates line, an empty
335
+ // heatmap cell) drops the separator rather than announcing a dangling ":".
336
+ "charts.datapoint.labelNoValue": "{series}, {category}",
337
+ "charts.datapoint.labelNoSeriesNoValue": "{category}",
338
+ // Stands in for {category} when a target has none, so the name is never a
339
+ // bare value or an empty string. {position} is 1-based.
340
+ "charts.datapoint.position": "Data point {position}",
341
+ // DumbbellChart: a target spans two values, so both ends are announced.
342
+ "charts.datapoint.labelRange": "{category}: {start} to {end}",
343
+ // Announced when `copyValueOnActivate` puts a datapoint's exact value on the
344
+ // clipboard — the recovery path for a compact axis label.
345
+ "charts.datapoint.copied": "Exact value copied",
346
+ // chart selection — RM-073
347
+ // Appended to a datapoint's name when a host's `selectionStates` resolves it,
348
+ // so the selection tri-state never rides on colour/opacity alone (WCAG 1.4.1).
349
+ // `associated` is the resting state and adds nothing.
350
+ "charts.datapoint.selected": "{label}, selected",
351
+ "charts.datapoint.excluded": "{label}, excluded",
352
+ // ChartFrame's SVG/PNG export actions (RM-025). Each string is used twice —
353
+ // as the icon button's `aria-label` (its ONLY accessible name) and as the
354
+ // tooltip a sighted user reads — so one key serves both and they cannot
355
+ // drift apart in translation.
356
+ "charts.chartFrame.exportSvg": "Export as SVG",
357
+ "charts.chartFrame.exportPng": "Export as PNG",
358
+ "charts.chartFrame.flipToTable": "Flip to table view",
359
+ "charts.chartFrame.showChart": "Show chart",
360
+ "charts.chartFrame.showAsTable": "Show as table",
361
+ "charts.chartFrame.downloadCsv": "Download CSV",
362
+ "charts.chartFrame.expandChart": "Expand chart",
363
+ "charts.chartFrame.expand": "Expand",
364
+ "charts.chartFrame.summary": "Summary",
365
+ "charts.chartFrame.noDataToSummarize": "No data to summarize.",
366
+ "charts.chartFrame.defaultTitle": "Chart",
367
+ "charts.chartFrame.summaryDetailLabel": "Chart summary",
368
+ // ChartFrame's scrollable body (#432 round 3, WCAG 2.1.1): only set as
369
+ // `aria-label`/`tabIndex` while the body actually overflows its box.
370
+ "charts.chartFrame.scrollableRegion": "Scrollable chart: {title}",
371
+ "charts.legend.label": "Chart legend",
372
+ "charts.gantt.timeline": "Timeline",
373
+ "charts.gantt.dragToResizeColumn": "Drag to resize column",
374
+ "charts.gantt.viewControls": "Gantt view controls",
375
+ "charts.gantt.viewMode": "View mode",
376
+ "charts.gantt.viewModeLabel": "View mode:",
377
+ "charts.gantt.taskList": "Task list",
378
+ "charts.gantt.taskListLabel": "Tasks",
379
+ "charts.gantt.noTasksToDisplay": "No tasks to display",
380
+ "charts.gantt.unitDay": "Day",
381
+ "charts.gantt.unitWeek": "Week",
382
+ "charts.gantt.unitMonth": "Month",
383
+ "charts.gantt.unitQuarter": "Quarter",
384
+ "charts.gantt.unitHour": "Hour",
385
+ "charts.gantt.unitMinute": "Minute",
386
+ "charts.gantt.unitSecond": "Second",
387
+ "charts.gantt.unitMillisecond": "Millisecond",
388
+ // BulletChart (Few's bullet graph, RM-061). The SVG is aria-hidden, so this
389
+ // sentence — built from these fragments — is the ONLY thing AT reads: it
390
+ // states the value, its relationship to the target, and which qualitative
391
+ // band it falls in. {value}/{target} already carry a caller-supplied name
392
+ // via `labels` when one was given (composed before interpolation), so the
393
+ // template itself stays name-agnostic.
394
+ "charts.bulletChart.noData": "No data",
395
+ "charts.bulletChart.valueOfTarget": "{value} of {target} target",
396
+ "charts.bulletChart.gapAbove": "{amount} above target",
397
+ "charts.bulletChart.gapBelow": "{amount} below target",
398
+ "charts.bulletChart.onTarget": "on target",
399
+ "charts.bulletChart.band": "in band {band}",
400
+ "charts.bulletChart.comparative": "compared to {value}",
401
+ // RM-075 follow-up: `container` dashboard tile's default tablist name when the tile
402
+ // has no `title`.
403
+ "charts.dashboard.containerTabs": "Container tabs",
404
+ // dashboard edit — RM-078: edit-layer handles, size badge and screen-reader announcements.
405
+ // Columns and rows are announced 1-based; the badge shows the same numbers.
406
+ "charts.dashboard.edit.instructions": "To pick up a tile, press Enter. Use the arrow keys to move it one cell, or four cells with Shift. Press Enter to drop it, or Escape to cancel. On a resize handle, the arrow keys resize directly.",
407
+ "charts.dashboard.edit.moveTile": "Move {title}",
408
+ "charts.dashboard.edit.resizeTile": "Resize {title} from {edge}",
409
+ "charts.dashboard.edit.edgeTop": "top",
410
+ "charts.dashboard.edit.edgeTopRight": "top-right",
411
+ "charts.dashboard.edit.edgeRight": "right",
412
+ "charts.dashboard.edit.edgeBottomRight": "bottom-right",
413
+ "charts.dashboard.edit.edgeBottom": "bottom",
414
+ "charts.dashboard.edit.edgeBottomLeft": "bottom-left",
415
+ "charts.dashboard.edit.edgeLeft": "left",
416
+ "charts.dashboard.edit.edgeTopLeft": "top-left",
417
+ "charts.dashboard.edit.sizeBadge": "({x},{y}) \u2922 {w} \xD7 {h}",
418
+ "charts.dashboard.edit.pickedUp": "Picked up {title} at column {x}, row {y}",
419
+ "charts.dashboard.edit.moved": "Moved to column {x}, row {y}",
420
+ "charts.dashboard.edit.dropped": "Dropped {title} at column {x}, row {y}, size {w} by {h}",
421
+ "charts.dashboard.edit.rejected": "Cannot place here \u2014 not enough room",
422
+ "charts.dashboard.edit.resizing": "Resizing {title}: {w} by {h}",
423
+ "charts.dashboard.edit.resized": "Resized {title} to {w} by {h}",
424
+ // dashboard edit — RM-078 (follow-up 5): a clamped keyboard step (grid edge or a tile's own
425
+ // min/max size) now announces once per key press instead of staying silent once the layout
426
+ // stops changing; cancel (Escape, or tabbing off a resize handle mid-gesture) says which
427
+ // gesture was cancelled and where it was restored to.
428
+ "charts.dashboard.edit.clampedEdge": "At the {edge} edge. ({x},{y}) {w} \xD7 {h}",
429
+ "charts.dashboard.edit.moveCancelled": "Move cancelled. Restored to column {x}, row {y}",
430
+ "charts.dashboard.edit.resizeCancelled": "Resize cancelled. Restored to column {x}, row {y}, size {w} by {h}",
431
+ // dashboard toolbar — RM-079: mode switch, undo/redo, grid settings, save/discard, shortcuts.
432
+ "charts.dashboard.toolbar.ariaLabel": "Dashboard toolbar",
433
+ "charts.dashboard.toolbar.viewMode": "View",
434
+ "charts.dashboard.toolbar.editMode": "Edit",
435
+ "charts.dashboard.toolbar.editDisabledNarrow": "Editing needs a wider screen",
436
+ "charts.dashboard.toolbar.undo": "Undo",
437
+ "charts.dashboard.toolbar.redo": "Redo",
438
+ "charts.dashboard.toolbar.add": "Add",
439
+ "charts.dashboard.toolbar.grid": "Grid",
440
+ "charts.dashboard.toolbar.gridSettings": "Grid settings",
441
+ "charts.dashboard.toolbar.save": "Save",
442
+ "charts.dashboard.toolbar.discard": "Discard",
443
+ "charts.dashboard.toolbar.unsavedChanges": "Unsaved changes",
444
+ "charts.dashboard.toolbar.discardTitle": "Discard changes?",
445
+ "charts.dashboard.toolbar.discardDescription": "Your edits since the last save will be lost. This cannot be undone.",
446
+ "charts.dashboard.toolbar.discardConfirm": "Discard changes",
447
+ "charts.dashboard.toolbar.shortcuts": "Keyboard shortcuts",
448
+ "charts.dashboard.toolbar.shortcutsDescription": "Every shortcut available while this sheet is focused.",
449
+ "charts.dashboard.toolbar.shortcutsGroup": "Dashboard",
450
+ "charts.dashboard.toolbar.shortcutUndo": "Undo",
451
+ "charts.dashboard.toolbar.shortcutRedo": "Redo",
452
+ "charts.dashboard.toolbar.shortcutToggleEdit": "Toggle edit mode",
453
+ "charts.dashboard.toolbar.shortcutDelete": "Delete focused tiles",
454
+ "charts.dashboard.toolbar.shortcutDuplicate": "Duplicate focused tiles",
455
+ "charts.dashboard.toolbar.shortcutClearFocus": "Clear focus",
456
+ "charts.dashboard.toolbar.shortcutSave": "Save",
457
+ // tile operations — RM-081 follow-up 1: labels for the 5 shortcuts RM-081 added
458
+ // (dashboardShortcutDescriptors); the shortcuts sheet fell back to the raw action key
459
+ // without these.
460
+ "charts.dashboard.toolbar.shortcutCopy": "Copy focused tiles",
461
+ "charts.dashboard.toolbar.shortcutCut": "Cut focused tiles",
462
+ "charts.dashboard.toolbar.shortcutPaste": "Paste tiles",
463
+ "charts.dashboard.toolbar.shortcutSelectAll": "Select all tiles",
464
+ "charts.dashboard.toolbar.shortcutContextMenu": "Open the focused tile\u2019s context menu",
465
+ // dashboard toolbar export — RM-084: the "Export sheet…" menu (SVG, PNG).
466
+ "charts.dashboard.toolbar.export": "Export sheet\u2026",
467
+ "charts.dashboard.toolbar.exportSvg": "Export as SVG",
468
+ "charts.dashboard.toolbar.exportPng": "Export as PNG",
469
+ "charts.dashboard.grid.mode": "Layout mode",
470
+ "charts.dashboard.grid.modeFit": "Fit to screen",
471
+ "charts.dashboard.grid.modeFlow": "Flow",
472
+ "charts.dashboard.grid.density": "Density",
473
+ "charts.dashboard.grid.densityWide": "Wide",
474
+ "charts.dashboard.grid.densityMedium": "Medium",
475
+ "charts.dashboard.grid.densityNarrow": "Narrow",
476
+ "charts.dashboard.grid.densityCustom": "Custom",
477
+ "charts.dashboard.grid.columns": "Columns",
478
+ "charts.dashboard.grid.rows": "Rows",
479
+ "charts.dashboard.grid.rowHeight": "Row height",
480
+ "charts.dashboard.grid.gap": "Gap",
481
+ "charts.dashboard.grid.extendable": "Extend sheet",
482
+ "charts.dashboard.grid.extendableDescription": "Adds 50 % more rows so it never runs out of room.",
483
+ // dashboard tile ops — RM-081: the tile context menu (right-click, header kebab, Shift+F10)
484
+ // and its "Replace with…" submenu, plus the toast on a destructive multi-tile delete.
485
+ "charts.dashboard.tileOps.menuLabel": "Tile actions",
486
+ "charts.dashboard.tileOps.duplicate": "Duplicate",
487
+ "charts.dashboard.tileOps.replaceWith": "Replace with\u2026",
488
+ "charts.dashboard.tileOps.addToLibrary": "Add to library",
489
+ "charts.dashboard.tileOps.copy": "Copy",
490
+ "charts.dashboard.tileOps.cut": "Cut",
491
+ "charts.dashboard.tileOps.paste": "Paste",
492
+ "charts.dashboard.tileOps.pasteAndReplace": "Paste and replace",
493
+ "charts.dashboard.tileOps.bringForward": "Bring forward",
494
+ "charts.dashboard.tileOps.sendBackward": "Send backward",
495
+ "charts.dashboard.tileOps.delete": "Delete",
496
+ "charts.dashboard.tileOps.deletedOne": "Tile deleted",
497
+ "charts.dashboard.tileOps.deletedMany": "{count} tiles deleted",
498
+ "charts.dashboard.tileOps.undo": "Undo",
499
+ // tile operations — RM-081 follow-up 1: the header-kebab entry that opens the same context
500
+ // menu, and the floating align/distribute toolbar over a multi-selection.
501
+ "charts.dashboard.tileOps.openTileMenu": "Tile actions\u2026",
502
+ "charts.dashboard.tileOps.selectionToolbarLabel": "Align selection",
503
+ "charts.dashboard.tileOps.alignLeft": "Align left edges",
504
+ "charts.dashboard.tileOps.alignCenterH": "Align horizontal centers",
505
+ "charts.dashboard.tileOps.alignRight": "Align right edges",
506
+ "charts.dashboard.tileOps.alignTop": "Align top edges",
507
+ "charts.dashboard.tileOps.alignCenterV": "Align vertical centers",
508
+ "charts.dashboard.tileOps.alignBottom": "Align bottom edges",
509
+ "charts.dashboard.tileOps.distributeHorizontal": "Distribute horizontally",
510
+ "charts.dashboard.tileOps.distributeVertical": "Distribute vertically",
511
+ // Dual-axis — RM-121
512
+ "charts.axis.leftScale": "Left scale",
513
+ "charts.axis.rightScale": "Right scale",
514
+ // ── @elabs-ai/components-maps ─────────────────────────────────────────────────────────────
515
+ "maps.popup.close": "Close popup",
516
+ "maps.marker.drag": "Draggable marker. Arrow keys move it, Shift for a larger step.",
517
+ "maps.canvas.unavailableTitle": "Map unavailable",
518
+ "maps.canvas.unavailableDescription": "This browser can\u2019t render WebGL maps.",
519
+ "maps.canvas.loading": "Loading map",
520
+ "maps.controls.zoomIn": "Zoom in",
521
+ "maps.controls.zoomOut": "Zoom out",
522
+ "maps.controls.resetBearing": "Reset bearing to north",
523
+ "maps.controls.locate": "Find my location",
524
+ "maps.controls.locating": "Locating",
525
+ "maps.controls.fullscreen": "Toggle fullscreen",
526
+ "maps.controls.fit": "Fit the whole plan",
527
+ // ── @elabs-ai/components-flow ─────────────────────────────────────────────────────────────
528
+ "flow.inspectorPanel.close": "Close inspector",
529
+ "flow.inspectorPanel.title": "Inspector",
530
+ "flow.inspectorPanel.emptyMessage": "Select a node to see its details.",
531
+ // ── @elabs-ai/components-ai ───────────────────────────────────────────────────────────────
532
+ // Namespaced `ai.<area>.<key>` so package microcopy can't collide with the
533
+ // generic keys above, or with a future package's. See ADR 0017.
534
+ //
535
+ // The three attachment errors are the only @elabs-ai/components-ai strings a user reads as a
536
+ // SYSTEM MESSAGE rather than a control label — they are the reason this bundle
537
+ // grew beyond the generic set.
538
+ "ai.promptInput.errorAccept": "No files match the accepted types.",
539
+ "ai.promptInput.errorMaxFileSize": "All files exceed the maximum size.",
540
+ "ai.promptInput.errorMaxFiles": "Too many files. Some were not added.",
541
+ "ai.promptInput.placeholder": "What would you like to know?",
542
+ "ai.promptInput.uploadFiles": "Upload files",
543
+ "ai.promptInput.submit": "Submit",
544
+ "ai.promptInput.stop": "Stop",
545
+ "ai.agent.instructions": "Instructions",
546
+ "ai.agent.tools": "Tools",
547
+ "ai.agent.outputSchema": "Output Schema",
548
+ "ai.codeBlock.generating": "Generating\u2026",
549
+ "ai.composer.placeholder": "Ask me anything\u2026",
550
+ "ai.tokenUsage.usage": "Model context usage",
551
+ "ai.tokenUsage.totalCost": "Total cost",
552
+ "ai.tokenUsage.input": "Input",
553
+ "ai.tokenUsage.output": "Output",
554
+ "ai.tokenUsage.reasoning": "Reasoning",
555
+ "ai.tokenUsage.cache": "Cache",
556
+ "ai.contextPanel.back": "Back to context",
557
+ "ai.contextPanel.toggle": "Toggle context panel",
558
+ // The mobile Sheet's sr-only title (#18) — distinct from `contextPanel.toggle`,
559
+ // which labels the button that opens/closes it.
560
+ "ai.contextPanel.title": "Context panel",
561
+ "ai.contextPanel.description": "Displays the chat context panel.",
562
+ "ai.environmentVariables.toggleVisibility": "Toggle value visibility",
563
+ "ai.gallery.label": "Image gallery",
564
+ "ai.gallery.expandImage": "Expand image",
565
+ "ai.gallery.downloadImage": "Download image",
566
+ "ai.gallery.noImages": "No images",
567
+ "ai.gallery.noDetails": "No details",
568
+ // Shared by Tool's technical view and SchemaDisplay's request panel.
569
+ "ai.schemaDisplay.parameters": "Parameters",
570
+ "ai.schemaDisplay.response": "Response",
571
+ "ai.schemaDisplay.requestBody": "Request Body",
572
+ // ReasoningTrigger's default not-yet-timed message (before `duration` is known).
573
+ "ai.reasoning.thoughtDefault": "Thought for a few seconds",
574
+ "ai.reasoning.thinking": "Thinking\u2026",
575
+ "ai.reasoning.thoughtForDuration": "Thought for {duration} seconds",
576
+ "ai.stackTrace.empty": "No stack frames",
577
+ "ai.webPreview.noConsoleOutput": "No console output",
578
+ // PlanTrigger's icon-only collapse/expand control (sr-only).
579
+ "ai.plan.togglePlan": "Toggle plan",
580
+ "ai.message.actions": "Message actions",
581
+ "ai.message.editMessage": "Edit message",
582
+ "ai.message.feedback": "Message feedback",
583
+ "ai.message.previousBranch": "Previous branch",
584
+ "ai.message.nextBranch": "Next branch",
585
+ "ai.messageCompare.error": "Error",
586
+ "ai.messageCompare.tabs": "Compare responses",
587
+ "ai.persona.idle": "Assistant idle",
588
+ "ai.persona.listening": "Assistant listening",
589
+ "ai.persona.thinking": "Assistant thinking\u2026",
590
+ "ai.persona.speaking": "Assistant speaking",
591
+ "ai.persona.asleep": "Assistant asleep",
592
+ // Optional-peer lazy engines (issue #33) — one shared pair every lazy
593
+ // boundary's missing-dependency panel resolves through, plus one
594
+ // `feature`-name key per boundary that renders it (mermaid, the terminal).
595
+ "ai.error.engineMissing": "{feature} unavailable",
596
+ "ai.error.engineMissingBody": "{feature} needs {packages} to be installed.",
597
+ "ai.error.retry": "Try again",
598
+ "ai.mermaid.feature": "Mermaid diagrams",
599
+ "ai.mermaid.renderError": "Diagram couldn't be drawn",
600
+ "ai.terminal.feature": "Interactive terminal",
601
+ "ai.terminal.renderError": "Terminal couldn't start",
602
+ "ai.audioPlayer.feature": "Audio player",
603
+ "ai.audioPlayer.renderError": "Audio player couldn't load",
604
+ // AudioVisualizer. Announced through a throttled `role="status"` region —
605
+ // the canvas itself is decorative (see .claude/rules/loading-states.md and
606
+ // issue #21's accessibility guidance).
607
+ "ai.audioVisualizer.idle": "Microphone not connected",
608
+ "ai.audioVisualizer.silent": "No input detected",
609
+ "ai.audioVisualizer.active": "Microphone active",
610
+ "ai.selectionToolbar.label": "Selection actions",
611
+ "ai.webPreview.urlPlaceholder": "Enter URL...",
612
+ "ai.micSelector.searchPlaceholder": "Search microphones...",
613
+ "ai.messageForm.selectPlaceholder": "Select\u2026",
614
+ "ai.messageForm.label": "Form",
615
+ "ai.messageTable.label": "Data table",
616
+ "ai.voiceSelector.playPreview": "Play preview",
617
+ "ai.voiceSelector.pausePreview": "Pause preview",
618
+ // TurnStatus / SessionStatusBar (#105). `label` itself is caller-supplied
619
+ // ("Working…", "Editing files…") and rendered verbatim, so it needs no key
620
+ // here — only the component-owned completed-turn sentence and controls do.
621
+ "ai.turnStatus.completedIn": "Turn completed in {elapsed}",
622
+ "ai.turnStatus.completed": "Turn completed",
623
+ "ai.turnStatus.scrollToBottom": "Scroll to bottom",
624
+ "ai.sessionStatusBar.connections": "{connected} of {total} connections",
625
+ "ai.sessionStatusBar.connecting": "Connecting\u2026",
626
+ // SessionHeader (#110). The section headings and the quick-action group name
627
+ // are component-owned chrome; the capability/what's-new item text itself is
628
+ // caller-supplied and rendered verbatim.
629
+ "ai.sessionHeader.capabilities": "Capabilities",
630
+ "ai.sessionHeader.whatsNew": "What\u2019s new",
631
+ "ai.sessionHeader.quickActions": "Quick actions",
632
+ // PermissionModeSelect (#104). The in-force marker is a WORD inside the mode
633
+ // label, so the current mode survives greyscale and reaches the accessible name.
634
+ "ai.permissionModeSelect.current": "Current",
635
+ // AgentEvent (#109). The pass/fail WORD is the non-colour channel — the tone
636
+ // is redundant with it, so a check outcome survives greyscale (WCAG 1.4.1).
637
+ "ai.agentEvent.checkPassed": "Passed",
638
+ "ai.agentEvent.checkFailed": "Failed",
639
+ "ai.agentEvent.checksSummary": "{passed}/{ran} checks passed",
640
+ "ai.agentEvent.phaseBefore": "Before",
641
+ "ai.agentEvent.phaseAfter": "After",
642
+ "ai.agentEvent.phaseLifecycle": "Lifecycle",
643
+ // DiffView (#102). `addedLine` / `removedLine` are the sr-only polarity
644
+ // prefixes — the +/− glyph is aria-hidden, so these WORDS are the channel a
645
+ // greyscale or screen-reader user recovers the polarity from (WCAG 1.4.1).
646
+ // They intentionally end in a space so they read as a prefix to the code line.
647
+ "ai.diffView.addedLine": "Added: ",
648
+ "ai.diffView.removedLine": "Removed: ",
649
+ "ai.diffView.statsSummary": "{additions} additions, {deletions} deletions",
650
+ "ai.diffView.showMore": { one: "Show {count} more line", other: "Show {count} more lines" },
651
+ "ai.diffView.pagerLegend": "Arrow keys scroll, Page Up/Down page, Home/End jump",
652
+ "ai.diffView.regionLabel": "Code diff",
653
+ "ai.diffView.loading": "Loading diff\u2026",
654
+ // ApprovalCard (#103). The SCOPE sentence is what makes an N-option
655
+ // permission prompt safe to answer: "Yes" and "Yes, and don't ask again" look
656
+ // alike and mean very different things. Each option links its scope sentence
657
+ // through aria-describedby, so the blast radius of a choice reaches assistive
658
+ // tech as words — never as a colour or a data-* attribute.
659
+ "ai.approvalCard.scopeOnceDescription": "Applies to this action only.",
660
+ "ai.approvalCard.scopeSessionDescription": "Applies to actions like this for the rest of this session.",
661
+ "ai.approvalCard.scopeAlwaysDescription": "Applies to actions like this from now on.",
662
+ "ai.approvalCard.scopeDenyDescription": "Rejects this action.",
663
+ "ai.approvalCard.reasonLabel": "Reason",
664
+ "ai.approvalCard.reasonPlaceholder": "Add a reason (optional)\u2026",
665
+ // PromptInputSlash (#106). `listLabel` goes to cmdk's own `label` prop, not
666
+ // `aria-label` — cmdk overwrites a consumer `aria-label` on CommandList and
667
+ // reads its accessible name off `label` instead.
668
+ "ai.promptInputSlash.listLabel": "Commands",
669
+ "ai.promptInputSlash.empty": "No matching commands.",
670
+ // ── Streamdown chrome (third-party rendering surface) ──────────────────────
671
+ // `streamdown` renders its OWN controls inside every streamed-markdown block
672
+ // (code header, table menus, Mermaid toolbar, external-link interstitial) and
673
+ // exposes them through a `translations` prop. Those strings live in the
674
+ // dependency, not in our source, so `pnpm microcopy:check` structurally cannot
675
+ // see them — without this block a `<LocaleProvider>` stops at the boundary and
676
+ // the chrome stays English (#310).
677
+ //
678
+ // Values are BYTE-IDENTICAL to streamdown@2.5.0's `defaultTranslations`, so
679
+ // wiring them through `t()` is a no-op for anyone who overrides nothing
680
+ // (ADR 0017's defaults-unchanged property). Keep them that way on upgrade.
681
+ //
682
+ // Deliberately NOT aliased onto the generic `close` / `ai.gallery.downloadImage`
683
+ // keys: a locale may want different wording inside markdown chrome than in the
684
+ // surrounding app, and a translator needs the Streamdown surface addressable as
685
+ // one block.
686
+ "ai.streamdown.copyCode": "Copy Code",
687
+ "ai.streamdown.downloadFile": "Download file",
688
+ "ai.streamdown.downloadDiagram": "Download diagram",
689
+ "ai.streamdown.downloadDiagramAsSvg": "Download diagram as SVG",
690
+ "ai.streamdown.downloadDiagramAsPng": "Download diagram as PNG",
691
+ "ai.streamdown.downloadDiagramAsMmd": "Download diagram as MMD",
692
+ "ai.streamdown.viewFullscreen": "View fullscreen",
693
+ "ai.streamdown.exitFullscreen": "Exit fullscreen",
694
+ "ai.streamdown.mermaidFormatSvg": "SVG",
695
+ "ai.streamdown.mermaidFormatPng": "PNG",
696
+ "ai.streamdown.mermaidFormatMmd": "MMD",
697
+ "ai.streamdown.copyTable": "Copy table",
698
+ "ai.streamdown.copyTableAsMarkdown": "Copy table as Markdown",
699
+ "ai.streamdown.copyTableAsCsv": "Copy table as CSV",
700
+ "ai.streamdown.copyTableAsTsv": "Copy table as TSV",
701
+ "ai.streamdown.downloadTable": "Download table",
702
+ "ai.streamdown.downloadTableAsCsv": "Download table as CSV",
703
+ "ai.streamdown.downloadTableAsMarkdown": "Download table as Markdown",
704
+ "ai.streamdown.tableFormatMarkdown": "Markdown",
705
+ "ai.streamdown.tableFormatCsv": "CSV",
706
+ "ai.streamdown.tableFormatTsv": "TSV",
707
+ "ai.streamdown.imageNotAvailable": "Image not available",
708
+ "ai.streamdown.downloadImage": "Download image",
709
+ "ai.streamdown.openExternalLink": "Open external link?",
710
+ // Straight apostrophe on purpose — must stay byte-identical to streamdown's
711
+ // default, so the micro-typography curly-quote preference does not apply here.
712
+ "ai.streamdown.externalLinkWarning": "You're about to visit an external website.",
713
+ "ai.streamdown.close": "Close",
714
+ "ai.streamdown.copyLink": "Copy link",
715
+ "ai.streamdown.copied": "Copied",
716
+ "ai.streamdown.openLink": "Open link",
717
+ // Tool (#4 i18n sweep).
718
+ "ai.tool.showTechnicalDetails": "Show technical details",
719
+ "ai.tool.error": "Error",
720
+ "ai.tool.result": "Result",
721
+ // PackageInfo.
722
+ "ai.packageInfo.dependencies": "Dependencies",
723
+ // AssetPreview.
724
+ "ai.assetPreview.rowCount": { one: "{count} row", other: "{count} rows" },
725
+ "ai.assetPreview.noPreview": "No preview available\u2026",
726
+ "ai.assetPreview.preview": "Preview",
727
+ "ai.assetPreview.raw": "Raw",
728
+ // WebPreview's sandboxed iframe accessible name.
729
+ "ai.webPreview.previewTitle": "Preview",
730
+ // A2UI surface (D2 — an agent-designed screen rendered from data)
731
+ "ai.a2ui.loading": "Loading surface\u2026",
732
+ "ai.a2ui.invalid": "This surface can\u2019t be shown \u2014 it doesn\u2019t match the catalog.",
733
+ "ai.a2ui.moreErrors": { one: "\u2026and {count} more problem", other: "\u2026and {count} more problems" },
734
+ // FileTree's expand/collapse chevron control.
735
+ "ai.fileTree.expandFolder": "Expand {name}",
736
+ "ai.fileTree.collapseFolder": "Collapse {name}",
737
+ "ai.fileTree.noAssetsProduced": "No assets produced yet.",
738
+ "ai.conversation.download": "Download conversation",
739
+ // OpenInChat. `provider` is a brand name (ChatGPT, Claude, …) — kept
740
+ // untranslated data, interpolated into the translated "Open in …" phrase.
741
+ "ai.openInChat.trigger": "Open in chat",
742
+ "ai.openInChat.openInProvider": "Open in {provider}",
743
+ // TestResults.
744
+ "ai.testResults.passedCount": { one: "{count} passed", other: "{count} passed" },
745
+ "ai.testResults.failedCount": { one: "{count} failed", other: "{count} failed" },
746
+ "ai.testResults.skippedCount": { one: "{count} skipped", other: "{count} skipped" },
747
+ "ai.testResults.testsPassed": "{passed}/{total} tests passed",
748
+ // ── @elabs-ai/components-editor ───────────────────────────────────────────
749
+ // DecisionCard (ai-objects). Status vocabulary + the card's own accessible name
750
+ // and the "Alternatives considered" section (shared by its heading and its list's
751
+ // aria-label).
752
+ "editor.decisionCard.statusAccepted": "Accepted",
753
+ "editor.decisionCard.statusRejected": "Rejected",
754
+ "editor.decisionCard.statusProposed": "Proposed",
755
+ "editor.decisionCard.statusSuperseded": "Superseded",
756
+ "editor.decisionCard.label": "Decision: {label}",
757
+ "editor.decisionCard.alternativesConsidered": "Alternatives considered",
758
+ // KnowledgeCard (ai-objects).
759
+ "editor.knowledgeCard.label": "Knowledge fact",
760
+ "editor.knowledgeCard.heading": "Knowledge",
761
+ "editor.knowledgeCard.sources": "Sources",
762
+ "editor.knowledgeCard.source": "Source: {name}",
763
+ "editor.knowledgeCard.sourceUnresolved": "Source (unresolved): {name}",
764
+ // CalcBlock. `equals` is the sr-only prefix read before a computed value —
765
+ // intentionally ends in a space so it reads as a prefix (mirrors `ai.diffView.addedLine`).
766
+ "editor.calcBlock.error": "Error: {message}",
767
+ "editor.calcBlock.equals": "equals ",
768
+ "editor.calcBlock.total": "Total",
769
+ "editor.calcBlock.emptyBlock": "Empty calc block.",
770
+ // CopyButton. The "Copy" state reuses the shared generic `copy` key.
771
+ "editor.copyButton.copied": "Copied",
772
+ // EditorToolbar.
773
+ "editor.editorToolbar.language": "Language",
774
+ // Citations (markdown-academic).
775
+ "editor.citations.citationLabel": "Citation: {name}",
776
+ "editor.citations.unresolvedCitation": "Unresolved citation",
777
+ "editor.citations.unresolvedKey": "Unresolved: @{key}",
778
+ "editor.citations.references": "References",
779
+ // Math (markdown-academic).
780
+ "editor.math.renderError": "Could not render math",
781
+ "editor.math.renderErrorLabel": "Math (could not render): {tex}",
782
+ // CompletionMenu (markdown-editor).
783
+ "editor.completions.suggestions": "Suggestions",
784
+ "editor.completions.noSuggestions": "No suggestions",
785
+ // SlashMenu (markdown-editor).
786
+ "editor.slashMenu.insertBlock": "Insert block",
787
+ "editor.slashMenu.noMatchingBlocks": "No matching blocks",
788
+ // TableControlsView (markdown-editor/table-view — the WYSIWYG GFM table toolbar).
789
+ "editor.tableView.tableControls": "Table controls",
790
+ "editor.tableView.row": "Row",
791
+ "editor.tableView.col": "Col",
792
+ "editor.tableView.addRowAbove": "Add row above",
793
+ "editor.tableView.addRowBelow": "Add row below",
794
+ "editor.tableView.deleteRow": "Delete row",
795
+ "editor.tableView.addColumnLeft": "Add column left",
796
+ "editor.tableView.addColumnRight": "Add column right",
797
+ "editor.tableView.deleteColumn": "Delete column",
798
+ // Directive node-views (markdown-editor/directive-views — Milkdown WYSIWYG).
799
+ "editor.directiveViews.cardTitle": "Card title",
800
+ "editor.directiveViews.calloutTitle": "Callout title",
801
+ "editor.directiveViews.unknownBlock": "Unknown block: {name}",
802
+ "editor.directiveViews.unknownInlineBlock": "Unknown inline block:",
803
+ "editor.directiveViews.metricLabel": "Metric label",
804
+ "editor.directiveViews.metricLabelPlaceholder": "Label",
805
+ "editor.directiveViews.metricValue": "Metric value",
806
+ "editor.directiveViews.metricValuePlaceholder": "0",
807
+ "editor.directiveViews.editIteration": "Edit iteration\u2026",
808
+ "editor.directiveViews.changeLayout": "Change layout",
809
+ "editor.directiveViews.transpose": "Transpose",
810
+ "editor.directiveViews.convertToStatic": "Convert to static",
811
+ "editor.directiveViews.needsEmbeddedValues": "\u2014 needs embedded values",
812
+ "editor.directiveViews.pivot": "Pivot",
813
+ "editor.directiveViews.iterate": "Iterate",
814
+ "editor.directiveViews.perItem": "\xB7 per {as}",
815
+ "editor.directiveViews.templateSuffix": "\u2014 template",
816
+ "editor.directiveViews.iterationActions": "Iteration actions",
817
+ "editor.directiveViews.iterationActionsTitle": "Iteration actions\u2026",
818
+ // IterationBuilderDialog (markdown-iteration) — the guided iterate/pivot authoring modal.
819
+ "editor.iterationBuilder.pivotNoun": "pivot",
820
+ "editor.iterationBuilder.iterationNoun": "iteration",
821
+ "editor.iterationBuilder.editTitle": "Edit {noun}",
822
+ "editor.iterationBuilder.insertTitle": "Insert {noun}",
823
+ "editor.iterationBuilder.pivotDescription": "Pick the row and column values, then write the per-cell template. The matrix below fills in live.",
824
+ "editor.iterationBuilder.iterationDescription": "Add the list values, then write the per-row template. The result below fills in live.",
825
+ "editor.iterationBuilder.bindName": "Bind name",
826
+ "editor.iterationBuilder.bindNamePlaceholder": "item",
827
+ "editor.iterationBuilder.bindNameHintPrefix": "Use ",
828
+ "editor.iterationBuilder.bindNameHintSuffix": " in the template.",
829
+ "editor.iterationBuilder.rowValues": "Row values",
830
+ "editor.iterationBuilder.values": "Values",
831
+ "editor.iterationBuilder.valuePlaceholder": "Type a value, press Enter\u2026",
832
+ "editor.iterationBuilder.columnValues": "Column values",
833
+ "editor.iterationBuilder.layout": "Layout",
834
+ "editor.iterationBuilder.perCellTemplate": "Per-cell template",
835
+ "editor.iterationBuilder.perRowTemplate": "Per-row template",
836
+ "editor.iterationBuilder.livePreview": "Live preview",
837
+ "editor.iterationBuilder.cancel": "Cancel",
838
+ "editor.iterationBuilder.save": "Save",
839
+ "editor.iterationBuilder.insert": "Insert",
840
+ // IterationTemplateDialog (markdown-iteration) — the lighter template-only modal.
841
+ "editor.templateDialog.editPivotTitle": "Edit pivot template",
842
+ "editor.templateDialog.editIterationTitle": "Edit iteration template",
843
+ "editor.templateDialog.descriptionPrefix": "The per-{unit} template. Use ",
844
+ "editor.templateDialog.descriptionMiddle": " placeholders (e.g. ",
845
+ "editor.templateDialog.descriptionSuffix": ") \u2014 each is filled per {unit} when the block renders.",
846
+ "editor.templateDialog.editorLabel": "Iteration template editor",
847
+ "editor.templateDialog.cancel": "Cancel",
848
+ "editor.templateDialog.saveTemplate": "Save template",
849
+ // DocumentOutline (markdown-outline).
850
+ "editor.documentOutline.label": "Document outline",
851
+ "editor.documentOutline.empty": "No headings yet.",
852
+ // MarkdownToolbar (the source-pane formatting bar). Directive snippet labels
853
+ // are the Insert menu's fallback item text (`DIRECTIVE_SNIPPETS`); the snippet
854
+ // MARKDOWN they insert is example document content, not UI chrome, and stays
855
+ // English (see the `i18n-exempt` comments at each snippet).
856
+ "editor.markdownToolbar.label": "Markdown formatting",
857
+ "editor.markdownToolbar.bold": "Bold",
858
+ "editor.markdownToolbar.italic": "Italic",
859
+ "editor.markdownToolbar.inlineCode": "Inline code",
860
+ "editor.markdownToolbar.link": "Link",
861
+ "editor.markdownToolbar.headingLevel": "Heading level",
862
+ "editor.markdownToolbar.heading": "Heading",
863
+ "editor.markdownToolbar.headingLevelItem": "Heading {level}",
864
+ "editor.markdownToolbar.quote": "Quote",
865
+ "editor.markdownToolbar.bulletList": "Bullet list",
866
+ "editor.markdownToolbar.numberedList": "Numbered list",
867
+ "editor.markdownToolbar.divider": "Divider",
868
+ "editor.markdownToolbar.insertBlock": "Insert block",
869
+ "editor.markdownToolbar.insert": "Insert",
870
+ "editor.markdownToolbar.insertBrandBlock": "Insert brand block",
871
+ "editor.markdownToolbar.directiveCard": "Card",
872
+ "editor.markdownToolbar.directiveCallout": "Callout",
873
+ "editor.markdownToolbar.directiveMetric": "Metric",
874
+ "editor.markdownToolbar.directiveTimeline": "Timeline",
875
+ // MarkdownWorkspace's focus-writing toggle.
876
+ "editor.markdownWorkspace.focusWriting": "Focus writing",
877
+ "editor.markdownWorkspace.focus": "Focus",
878
+ "editor.markdownWorkspace.focusWritingHint": "Typewriter scrolling \xB7 inactive paragraphs dim",
879
+ // MermaidDiagram (the inline renderer).
880
+ "editor.mermaidDiagram.label": "Diagram",
881
+ "editor.mermaidDiagram.expand": "Expand diagram",
882
+ "editor.mermaidDiagram.downloadSvg": "Download diagram as SVG",
883
+ "editor.mermaidDiagram.copySource": "Copy diagram source",
884
+ "editor.mermaidDiagram.renderFailed": "Diagram failed to render",
885
+ "editor.mermaidDiagram.rendering": "Rendering diagram\u2026",
886
+ // MermaidViewer (the expanded zoom/pan/search surface). `nodeCountHint` mirrors
887
+ // the ORIGINAL (pre-i18n) copy exactly, including its always-plural "nodes" —
888
+ // it is a static hint ("N nodes · type to filter"), not a real plural form, so
889
+ // it stays a plain interpolated string rather than a `PluralMessage`.
890
+ "editor.mermaidViewer.findPlaceholder": "Find in diagram\u2026",
891
+ "editor.mermaidViewer.findLabel": "Find in diagram",
892
+ "editor.mermaidViewer.matchCount": { one: "{count} node", other: "{count} nodes" },
893
+ "editor.mermaidViewer.nodeCountHint": "{count} nodes \xB7 type to filter",
894
+ "editor.mermaidViewer.zoomOut": "Zoom out",
895
+ "editor.mermaidViewer.zoomIn": "Zoom in",
896
+ "editor.mermaidViewer.resetZoom": "Reset zoom to 100%",
897
+ "editor.mermaidViewer.fitDiagram": "Fit diagram",
898
+ // ── @elabs-ai/components-viewer (ADR 0024) ─────────────────────────
899
+ // FileViewer chrome. Every control here is icon-only, so these ARE the
900
+ // accessible names — a non-English screen-reader user has no workaround.
901
+ "viewer.label": "File viewer",
902
+ // The scrolling content region's accessible name. It is a focusable tab stop
903
+ // (WCAG 2.1.1: a pane that scrolls but holds nothing focusable is unreachable
904
+ // from a keyboard), so it needs a name as well as a role.
905
+ "viewer.content": "File content",
906
+ "viewer.download": "Download {name}",
907
+ "viewer.raw": "Show source",
908
+ "viewer.rendered": "Show rendered",
909
+ // States. `loading` announces the region once (role="status"); the skeleton
910
+ // itself is aria-hidden, so this is the only thing AT hears.
911
+ "viewer.loading": "Loading {name}\u2026",
912
+ "viewer.empty": "No file selected",
913
+ "viewer.emptyBody": "Choose a file to preview it here.",
914
+ // Failures. Each maps to one ViewerErrorCode, so the code is the contract and
915
+ // the wording can change per locale without touching component logic.
916
+ "viewer.error.unsupportedFormat": "Can't preview this file type",
917
+ "viewer.error.unsupportedFormatBody": "{name} can be downloaded, but there's no preview for it here.",
918
+ "viewer.error.parserMissing": "Preview unavailable",
919
+ "viewer.error.parserMissingBody": "Previewing {name} needs {packages} to be installed.",
920
+ "viewer.error.readFailed": "Couldn't open this file",
921
+ "viewer.error.readFailedBody": "{name} couldn't be read. It may have moved, or you may not have access.",
922
+ "viewer.error.parseFailed": "Couldn't read this file",
923
+ "viewer.error.parseFailedBody": "{name} isn't a valid {format} file, or it's damaged.",
924
+ "viewer.error.imageFailedTitle": "Couldn't show this image",
925
+ "viewer.error.imageFailed": "{name} could not be displayed.",
926
+ "viewer.retry": "Try again",
927
+ // Table view (CSV/TSV). The count is a summary for the whole grid.
928
+ "viewer.table.caption": "{rows} rows, {columns} columns",
929
+ "viewer.table.truncated": "Showing the first {count} rows.",
930
+ "viewer.table.emptyCell": "Empty",
931
+ // Text and JSON views.
932
+ "viewer.text.truncated": "Showing the first {shown} of {total} characters.",
933
+ "viewer.json.tree": "JSON structure",
934
+ // Page, scale and rotation chrome (ADR 0026). Format-agnostic: one pager
935
+ // serves PDF pages and PowerPoint slides, so the words are about "pages" and
936
+ // the slide-specific wording lives on the slide itself.
937
+ "viewer.pager.controls": "Pages",
938
+ "viewer.pager.previous": "Previous page",
939
+ "viewer.pager.next": "Next page",
940
+ // The field's own accessible name. The visible "of {total}" beside it is not
941
+ // a label — a screen reader would read the two as one run without this.
942
+ "viewer.pager.pageNumber": "Page number",
943
+ "viewer.pager.of": "of {total}",
944
+ // Live region: a repainted canvas and a changed input value both announce
945
+ // nothing, so this sentence is the only confirmation a page turned.
946
+ "viewer.pager.status": "Page {page} of {total}",
947
+ "viewer.zoom.controls": "Zoom",
948
+ "viewer.zoom.in": "Zoom in",
949
+ "viewer.zoom.out": "Zoom out",
950
+ "viewer.zoom.level": "Zoom level",
951
+ "viewer.zoom.fitWidth": "Fit width",
952
+ "viewer.zoom.fitPage": "Fit page",
953
+ "viewer.zoom.status": "Zoom {level}",
954
+ "viewer.rotate": "Rotate clockwise",
955
+ // PDF view.
956
+ "viewer.pdf.page": "Page {page}",
957
+ "viewer.pdf.pages": "Document pages",
958
+ "viewer.pdf.pageFailed": "Page {page} couldn't be drawn.",
959
+ // Media view (video / audio).
960
+ "viewer.media.label": "{name} player",
961
+ "viewer.media.unsupportedTitle": "Can't play this file",
962
+ "viewer.media.unsupported": "This browser can't play {name}.",
963
+ // Office views. A preview shows a document's STRUCTURE, not Word's or
964
+ // PowerPoint's page layout — the copy never promises a faithful reproduction.
965
+ "viewer.docx.empty": "This document has no text",
966
+ "viewer.sheet.tabs": "Sheets",
967
+ "viewer.pptx.slide": "Slide {slide}",
968
+ "viewer.pptx.untitled": "Untitled slide",
969
+ "viewer.pptx.notes": "Speaker notes",
970
+ "viewer.pptx.empty": "This slide has no text",
971
+ // Code and markdown views. `file.empty` is shared: "the file opened and there
972
+ // is nothing in it" is one message whatever the format.
973
+ "viewer.file.empty": "This file is empty",
974
+ // Find-in-document (ADR 0025). The count is a live region read on every step,
975
+ // so it stays short; `findNone` replaces it rather than sitting beside it, so
976
+ // a fruitless search never reads as "0 of 0".
977
+ "viewer.find.open": "Find in document",
978
+ "viewer.find.label": "Find in document",
979
+ "viewer.find.placeholder": "Find\u2026",
980
+ "viewer.find.close": "Close find",
981
+ "viewer.find.previous": "Previous match",
982
+ "viewer.find.next": "Next match",
983
+ "viewer.find.caseSensitive": "Match case",
984
+ "viewer.find.count": "{index} of {total}",
985
+ "viewer.find.none": "No matches",
986
+ "viewer.find.capped": "Showing the first {limit} matches of {total}.",
987
+ // Citations / passages the app points the viewer at. A miss is a STATE, not a
988
+ // silent no-op — the reader is told the passage could not be located, and
989
+ // "past the part we previewed" is different news from "not in this document".
990
+ "viewer.highlight.notFound": "Couldn't find that passage in this document.",
991
+ "viewer.highlight.notFoundTruncated": "That passage may be beyond the part of this document we could preview.",
992
+ "viewer.highlight.unsupported": "This build can't point at part of a {format} file.",
993
+ "viewer.highlight.previous": "Previous passage",
994
+ "viewer.highlight.next": "Next passage",
995
+ "viewer.highlight.count": "Passage {index} of {total}",
996
+ // ── @elabs-ai/components-terminal ─────────────────────────────────────────
997
+ // Terminal (the read-only ANSI log): the ONE live-region announcement for
998
+ // its `isStreaming` rung. The blinking cursor block is the only other
999
+ // streaming signal and it is purely visual, so without this a screen-reader
1000
+ // user attached to a running build or deploy log gets no indication that
1001
+ // anything is still arriving.
1002
+ "terminal.output.streaming": "Streaming output\u2026",
1003
+ // TerminalTranscriptRow (#117 T2): the gutter's meaning as words, so the
1004
+ // "who spoke / what it printed / did it fail" grammar survives greyscale
1005
+ // and reaches assistive tech, not only the glyph + colour.
1006
+ "terminal.transcriptRow.user": "Prompt",
1007
+ "terminal.transcriptRow.agent": "Agent",
1008
+ "terminal.transcriptRow.output": "Output",
1009
+ "terminal.transcriptRow.error": "Error",
1010
+ "terminal.transcriptRow.exitCode": "Exit {code}",
1011
+ // TerminalTodoList (#117 T5): the three-state checklist's announced word
1012
+ // per row — the second, non-colour channel beside the ✔ / ◼ / ◻ glyph and
1013
+ // the strikethrough/bold treatment. Wording verified 2026-09-01 against
1014
+ // Claude Code v2.1.207's own upstream state words, parentheses included.
1015
+ "terminal.todoList.done": "(completed)",
1016
+ "terminal.todoList.active": "(in progress)",
1017
+ "terminal.todoList.pending": "(pending)",
1018
+ // TerminalEventLine (#117 T6): the lifecycle/hook event line. `outcome*` is
1019
+ // the sr-only word beside the (always aria-hidden) StatusIcon glyph —
1020
+ // never omitted for the default "ok" case, so "succeeded" is exactly as
1021
+ // recoverable as "failed". `hooksTotal`/`hooksResult` are the terminal's
1022
+ // own literal `[hooks: …]` bracket vocabulary, verified live 2026-09-01
1023
+ // against Grok CLI v0.2.93; `hooksFailed` is the sr-only, count-aware
1024
+ // "N hooks failed" that makes a partial hook failure (e.g. `3/1`) read as
1025
+ // bad without relying on colour.
1026
+ "terminal.eventLine.outcomeOk": "Succeeded",
1027
+ "terminal.eventLine.outcomeBlocked": "Blocked",
1028
+ "terminal.eventLine.outcomeFailed": "Failed",
1029
+ "terminal.eventLine.phaseBefore": "Before",
1030
+ "terminal.eventLine.phaseAfter": "After",
1031
+ "terminal.eventLine.phaseLifecycle": "Lifecycle",
1032
+ "terminal.eventLine.hooksTotal": "[hooks: {total}]",
1033
+ "terminal.eventLine.hooksResult": "[hooks: {ran}/{passed}]",
1034
+ "terminal.eventLine.hooksFailed": {
1035
+ one: "{count} hook failed",
1036
+ other: "{count} hooks failed"
1037
+ },
1038
+ // TerminalWorking (#117 T3): the in-turn footer's default label and its two
1039
+ // icon-only controls' accessible names. No generic "stop"/"scroll to
1040
+ // bottom" key exists yet (only the ai-namespaced `ai.promptInput.stop` /
1041
+ // `ai.turnStatus.scrollToBottom`), so these are minted under the package's
1042
+ // own namespace rather than borrowed cross-package.
1043
+ "terminal.working.label": "Waiting for response\u2026",
1044
+ "terminal.working.stop": "Stop",
1045
+ "terminal.working.scrollToBottom": "Scroll to bottom",
1046
+ // TerminalStatusBar (#117 T4): the ambient chrome row's accessible name and
1047
+ // the sr-only words beside its aria-hidden numerals/glyphs. Mirrors
1048
+ // `ai.sessionStatusBar.connections`' wording under this package's own
1049
+ // namespace (cannot import the `ai` key — sibling packages never import
1050
+ // each other, `.claude/rules/terminal-components.md` § Reuse means
1051
+ // promotion). `disconnected` and `stepsComplete` ("steps complete") are
1052
+ // verified live 2026-09-01 against Grok CLI v0.2.93.
1053
+ "terminal.statusBar.label": "Session status",
1054
+ "terminal.statusBar.connecting": "Connecting\u2026",
1055
+ "terminal.statusBar.connections": "{connected} of {total} connections",
1056
+ "terminal.statusBar.disconnected": "Disconnected",
1057
+ "terminal.statusBar.context": "{used} of {limit} context used",
1058
+ "terminal.statusBar.stepsComplete": "{current} of {total} steps complete",
1059
+ // TerminalBanner (#117 T7): the launch card above an empty transcript.
1060
+ // Mirrors `ai.sessionHeader.*`'s wording under this package's own
1061
+ // namespace — sibling packages never import each other's locale keys
1062
+ // (`.claude/rules/terminal-components.md` § Reuse means promotion).
1063
+ "terminal.banner.capabilities": "Capabilities",
1064
+ "terminal.banner.whatsNew": "What\u2019s new",
1065
+ "terminal.banner.quickActions": "Quick actions",
1066
+ // TerminalToolCall (#117 T8): the tool-call row's status word (announced
1067
+ // beside the glyph via TerminalRow's gutterLabel — never colour alone),
1068
+ // the result row's swapped heading (mirrors ToolOutput's own "Result"/
1069
+ // "Error" heading swap, `@elabs-ai/components-ai`), and the expand
1070
+ // trigger's accessible name. Unlike upstream's inert `"(ctrl+o to
1071
+ // expand)"` hint text, this IS a real focusable control's label — no CLI
1072
+ // chord required.
1073
+ "terminal.toolCall.succeeded": "Succeeded",
1074
+ "terminal.toolCall.failed": "Failed",
1075
+ "terminal.toolCall.running": "Running",
1076
+ "terminal.toolCall.result": "Result",
1077
+ "terminal.toolCall.error": "Error",
1078
+ "terminal.toolCall.expandHint": "Show details",
1079
+ // TerminalDiffHunk (#117 T9): the header's fixed "Update ({file})" phrase,
1080
+ // and the collapsed-context-run disclosure's count-aware label. Mirrors
1081
+ // `ai.diffView.showMore`'s wording under this package's own namespace —
1082
+ // sibling packages never import each other's locale keys
1083
+ // (`.claude/rules/terminal-components.md` § Reuse means promotion). The
1084
+ // per-line `add`/`del` polarity words are NOT duplicated here: they ride
1085
+ // the shared `diffLineAccessibleLabel()` keys (`ai.diffView.addedLine` /
1086
+ // `ai.diffView.removedLine`) above, the actual promoted channel.
1087
+ "terminal.diffHunk.header": "Update ({file})",
1088
+ "terminal.diffHunk.showMore": {
1089
+ one: "Show {count} more line",
1090
+ other: "Show {count} more lines"
1091
+ },
1092
+ // TerminalPermission (#117 T10): the per-call scoped approval prompt's
1093
+ // default title/question and its three scoped option labels, verified
1094
+ // live 2026-09-01 against Claude Code v2.1.207. The third option is the
1095
+ // vendor-free `deny` scope: upstream names its own product in this label,
1096
+ // ours reads "the agent" instead (#117 acceptance criterion). The reason
1097
+ // field reuses `ai.approvalCard.reasonLabel`/`reasonPlaceholder` and the
1098
+ // option descriptions reuse `APPROVAL_SCOPE_DESCRIPTION_KEYS` — both
1099
+ // already generic, so nothing new is minted for either.
1100
+ "terminal.permission.title": "Bash command",
1101
+ "terminal.permission.question": "Do you want to proceed?",
1102
+ "terminal.permission.optionOnce": "Yes",
1103
+ "terminal.permission.optionSession": "Yes, and don\u2019t ask again this session",
1104
+ "terminal.permission.optionDeny": "No, and tell the agent what to do differently",
1105
+ // TerminalComposer (#117 T11): the prompt composer's placeholder, its
1106
+ // merged submit/stop affordance's accessible name (mirrors
1107
+ // `ai.promptInput.submit`/`stop` under this package's own namespace —
1108
+ // sibling packages never import each other's locale keys,
1109
+ // `.claude/rules/terminal-components.md` § Reuse means promotion), the
1110
+ // effort scale's default accessible name, and the shortcut-hint row's
1111
+ // three default words.
1112
+ "terminal.composer.placeholder": "Type your next instruction\u2026",
1113
+ "terminal.composer.submit": "Send",
1114
+ "terminal.composer.stop": "Stop",
1115
+ "terminal.composer.effort": "Effort",
1116
+ "terminal.composer.shortcutSend": "send",
1117
+ "terminal.composer.shortcutNewline": "newline",
1118
+ "terminal.composer.shortcutCancel": "cancel",
1119
+ // TerminalSlashMenu (#117 T12): the `/`-command palette's listbox
1120
+ // accessible name (mirrors `ai.promptInputSlash.listLabel`'s wording under
1121
+ // this package's own namespace — sibling packages never import each
1122
+ // other's locale keys, `.claude/rules/terminal-components.md` § Reuse
1123
+ // means promotion). The empty state reuses the generic `noResults` key
1124
+ // rather than minting a second one.
1125
+ "terminal.slashMenu.listLabel": "Commands",
1126
+ // ── @elabs-ai/components-process ──────────────────────────────────────────────────────────
1127
+ // ProcessMap (RM-051). Namespaced `process.<area>.<key>` like every other
1128
+ // package; a sibling package's keys are never reused across the boundary.
1129
+ // The table twin's column headers are here because that table IS the
1130
+ // accessible reading of the canvas — an untranslated header would leave a
1131
+ // screen-reader user with numbers and no measure name.
1132
+ "process.map.loading": "Discovering the process\u2026",
1133
+ "process.map.empty": "No activities to map",
1134
+ "process.map.emptyBody": "This log has no events, or the abstraction hid every activity. Widen the abstraction or load a different log.",
1135
+ "process.map.label": "Process map",
1136
+ "process.map.filter": "Filter\u2026",
1137
+ "process.map.activityCaption": "Activities \u2014 {metric} per activity",
1138
+ "process.map.transitionCaption": "Transitions \u2014 {metric} per directly-follows pair",
1139
+ "process.map.columnActivity": "Activity",
1140
+ "process.map.columnRole": "Role",
1141
+ "process.map.columnRework": "Rework",
1142
+ "process.map.columnFrom": "From",
1143
+ "process.map.columnTo": "To",
1144
+ "process.map.columnShape": "Shape",
1145
+ // State column (#373) — the table twin's own channel for the selection/filter state the
1146
+ // canvas already says through real text in its accessible names; the twin used to carry
1147
+ // it only as a `data-*` attribute, which reaches no user.
1148
+ "process.map.columnState": "State",
1149
+ // The State column's own CELL values (#413 review, PRRT_kwDOT6D7ts6gJX2C). #373 localized
1150
+ // the column HEADER but left every cell printing the literal English word — since that cell
1151
+ // is also the row's screen-reader channel for its selection/filter state
1152
+ // (`selectionStateLabel` below is the un-localized canonical word `process-map.tsx` maps
1153
+ // through these keys at the render site), a non-English `LocaleProvider` left both the
1154
+ // visible AND the accessible content untranslated. `"associated"` (the ordinary case) has
1155
+ // no key: it prints nothing, by design.
1156
+ "process.map.stateSelected": "Selected",
1157
+ "process.map.stateExcluded": "Excluded",
1158
+ // Filter-intent menu item ACCESSIBLE names (#346). A transition's menu offers the same
1159
+ // four intents once per endpoint (eight items total); the visible text
1160
+ // (`PROCESS_FILTER_INTENT_LABELS` in map-model.ts) stays unsuffixed and compact, so these
1161
+ // compose the activity into the item's real accessible name instead — the channel a
1162
+ // screen-reader user actually hears, and the one the visible-only text left ambiguous.
1163
+ "process.map.filterIntentWith": "Keep cases containing {activity}",
1164
+ "process.map.filterIntentWithout": "Keep cases without {activity}",
1165
+ "process.map.filterIntentStartsWith": "Keep cases starting with {activity}",
1166
+ "process.map.filterIntentEndsWith": "Keep cases ending with {activity}",
1167
+ // The map's own live-region summary (#375) — one polite `role="status"` announces what
1168
+ // the active selection/filter just changed, mirroring `AbstractionControls`' hidden-count
1169
+ // summary below: two independently-pluralized fragments, composed at the call site
1170
+ // (`process-map.tsx`) rather than merged into one message, for the same reason.
1171
+ "process.map.excludedActivities": {
1172
+ one: "{count} of {total} activity excluded",
1173
+ other: "{count} of {total} activities excluded"
1174
+ },
1175
+ "process.map.excludedTransitions": {
1176
+ one: "{count} of {total} transition excluded",
1177
+ other: "{count} of {total} transitions excluded"
1178
+ },
1179
+ // The live region's AFFECTED-SET fragments (#413 review, PRRT_kwDOT6D7ts6gJX2I). Counts
1180
+ // alone are not enough: two selections/filters that exclude DIFFERENT elements but land on
1181
+ // the SAME counts produce byte-for-byte identical text, so the polite region — which
1182
+ // announces content CHANGES, not model changes — stays silent even though the map
1183
+ // re-inked. Naming which elements are excluded makes the string track the actual set, not
1184
+ // only its size. Composed at the call site alongside the two counts above, and omitted
1185
+ // entirely when nothing of that kind is excluded (so the common case stays as short as
1186
+ // before this fix).
1187
+ "process.map.excludedActivityNames": "excluding {names}",
1188
+ "process.map.excludedTransitionNames": "excluding {names}",
1189
+ // AbstractionControls (RM-052, issue #227). The two sliders' own labels,
1190
+ // the invert switch, the "Auto" heuristic button, and the hidden-count
1191
+ // status line. `hiddenActivities`/`hiddenPaths` are separate `PluralMessage`s
1192
+ // (not one combined key) because `t()` selects its plural category from a
1193
+ // SINGLE `count` var — see `resolveMessage` in `locale-provider.tsx` — so
1194
+ // the two independently-pluralizable counts are composed as two `t()` calls
1195
+ // joined at the call site (`abstraction-controls.tsx`), not one key with two
1196
+ // numbers.
1197
+ "process.abstractionControls.label": "Abstraction",
1198
+ "process.abstractionControls.activities": "Activities",
1199
+ "process.abstractionControls.paths": "Paths",
1200
+ "process.abstractionControls.invert": "Invert",
1201
+ "process.abstractionControls.auto": "Auto",
1202
+ "process.abstractionControls.hiddenActivities": {
1203
+ one: "{count} activity hidden",
1204
+ other: "{count} activities hidden"
1205
+ },
1206
+ "process.abstractionControls.hiddenPaths": {
1207
+ one: "{count} path hidden",
1208
+ other: "{count} paths hidden"
1209
+ },
1210
+ // MetricLayerSwitch (RM-052, issue #227). The Frequency/Performance/Rework
1211
+ // toggle group, the node/edge metric selects' field labels, and the lock
1212
+ // toggle's two accessible-name states. The per-VALUE metric labels
1213
+ // ("Occurrences", "Share of transitions", …) are deliberately NOT
1214
+ // duplicated here — they are read straight from `nodeMetricLabel`/
1215
+ // `edgeMetricLabel` (`process-map/map-model.ts`), which already resolve
1216
+ // each `ProcessMetric` to its correct, audience-specific text; see
1217
+ // `metric-layer-switch.tsx`'s module docblock.
1218
+ "process.metricLayerSwitch.label": "Metric",
1219
+ "process.metricLayerSwitch.layer": "Metric layer",
1220
+ "process.metricLayerSwitch.frequency": "Frequency",
1221
+ "process.metricLayerSwitch.performance": "Performance",
1222
+ "process.metricLayerSwitch.rework": "Rework",
1223
+ "process.metricLayerSwitch.node": "Activity",
1224
+ "process.metricLayerSwitch.edge": "Transition",
1225
+ "process.metricLayerSwitch.lockOn": "Unlock activity and transition metrics",
1226
+ "process.metricLayerSwitch.lockOff": "Lock activity and transition metrics together",
1227
+ // ProcessKpiStrip (RM-052, issue #227). Six tiles' labels, plus the
1228
+ // conformance tile's genuine "not available" state (no conformance model
1229
+ // has run yet) — a real state, not a fabricated 0%.
1230
+ "process.kpiStrip.cases": "Cases",
1231
+ "process.kpiStrip.events": "Events",
1232
+ "process.kpiStrip.variants": "Variants",
1233
+ "process.kpiStrip.medianThroughput": "Median throughput",
1234
+ "process.kpiStrip.reworkRate": "Rework rate",
1235
+ "process.kpiStrip.conformance": "Conformance",
1236
+ "process.kpiStrip.conformanceUnavailable": "Not available",
1237
+ "process.kpiStrip.conformanceUnavailableHint": "Run conformance checking to see this metric.",
1238
+ // Sparkline text alternative (#359). `Sparkline`'s own default alt text is more
1239
+ // informative than the tile's own label — passing the label straight through
1240
+ // overrode it and left a screen-reader user hearing the tile's name twice with no
1241
+ // sense of the trend. `direction` is itself a resolved `t()` value (trendRising/
1242
+ // Falling/Steady), composed into this template the same way `hiddenSummary`
1243
+ // (abstraction-controls.tsx) composes two already-localized fragments.
1244
+ "process.kpiStrip.trendAlt": "{subject}, {periods}-period trend, {direction} from {first} to {last}",
1245
+ "process.kpiStrip.trendRising": "rising",
1246
+ "process.kpiStrip.trendFalling": "falling",
1247
+ "process.kpiStrip.trendSteady": "steady",
1248
+ // ProcessFilterBar (RM-056, #205). Filter-chain breadcrumb chip labels — label-in-value
1249
+ // text, one key per `FilterIntent["kind"]` — the "Clear all" action, the chip's own
1250
+ // "excluded" count label, and the summary line's two independently-omittable clauses
1251
+ // (see `process-filter-bar.tsx`'s module docblock for why they are composed, not merged).
1252
+ "process.filterBar.label": "Active filters",
1253
+ "process.filterBar.with": "Contains {activity}",
1254
+ "process.filterBar.without": "Excludes {activity}",
1255
+ "process.filterBar.startsWith": "Starts with {activity}",
1256
+ "process.filterBar.endsWith": "Ends with {activity}",
1257
+ "process.filterBar.variant": {
1258
+ one: "{count} variant selected",
1259
+ other: "{count} variants selected"
1260
+ },
1261
+ "process.filterBar.cases": {
1262
+ one: "{count} case selected",
1263
+ other: "{count} cases selected"
1264
+ },
1265
+ "process.filterBar.filter": "Filter",
1266
+ "process.filterBar.excludedLabel": "excluded",
1267
+ "process.filterBar.clearAll": "Clear all",
1268
+ "process.filterBar.showingAll": {
1269
+ one: "Showing all {total} case",
1270
+ other: "Showing all {total} cases"
1271
+ },
1272
+ "process.filterBar.showing": "Showing {filtered} of {total} cases",
1273
+ "process.filterBar.hiddenByAbstraction": {
1274
+ one: "{count} activity hidden by abstraction",
1275
+ other: "{count} activities hidden by abstraction"
1276
+ },
1277
+ // CaseTable (RM-055, issue #204). A column configuration over `data`'s
1278
+ // DataTable — see `.claude/rules/data.md`'s "primitives go down, compositions
1279
+ // go up". `conformance*` labels the three-state badge; `conformance` itself
1280
+ // is host-supplied (never fabricated here — same rule as `ProcessKpiStrip`'s
1281
+ // own conformance tile).
1282
+ "process.caseTable.columnCaseId": "Case",
1283
+ "process.caseTable.columnStart": "Start",
1284
+ "process.caseTable.columnEnd": "End",
1285
+ "process.caseTable.columnDuration": "Duration",
1286
+ "process.caseTable.columnEventCount": "Events",
1287
+ "process.caseTable.columnVariant": "Variant",
1288
+ "process.caseTable.columnConformance": "Conformance",
1289
+ "process.caseTable.conformanceConforming": "Conforming",
1290
+ "process.caseTable.conformanceNonConforming": "Non-conforming",
1291
+ "process.caseTable.conformanceUnknown": "Unknown",
1292
+ "process.caseTable.exportCsv": "Export CSV",
1293
+ "process.caseTable.empty": "No cases to display.",
1294
+ "process.caseTable.tableLabel": "Cases",
1295
+ // CaseTimeline (RM-055, issue #204). A thin `charts/Gantt` wrapper — one row
1296
+ // per activity instance, waiting time as gap bands, overlapping instances
1297
+ // flagged parallel. `parallelLabel` is the non-colour channel WCAG 1.4.1
1298
+ // requires alongside the `info` tone the bar itself carries.
1299
+ "process.caseTimeline.label": "Case timeline",
1300
+ "process.caseTimeline.parallelLabel": "Parallel",
1301
+ "process.caseTimeline.parallelSuffix": "parallel with another activity",
1302
+ "process.caseTimeline.gapLabel": "Waiting, {duration}",
1303
+ // ProcessCompare (RM-064, issue #211). `{label}` is the HOST-supplied side name
1304
+ // ("Before"/"After", a log's own file name, …), not a fixed "A"/"B" — see
1305
+ // `process-compare.tsx`'s module docblock for why the diff-state words name the
1306
+ // owning side instead of a generic letter.
1307
+ "process.compare.label": "Process comparison",
1308
+ "process.compare.tableView": "Table view",
1309
+ "process.compare.mapLabel": "Process map \u2014 {label}",
1310
+ "process.compare.superimposedMapLabel": "Process map \u2014 {aLabel} vs {bLabel}",
1311
+ "process.compare.legendTitle": "Comparison",
1312
+ "process.compare.diffSuffixCommon": "common",
1313
+ "process.compare.diffSuffixOnly": "{label} only",
1314
+ "process.compare.cases": "{label} \u2014 cases",
1315
+ "process.compare.medianThroughput": "{label} \u2014 median throughput"
1316
+ };
1317
+
1318
+ export {
1319
+ DEFAULT_MESSAGES
1320
+ };
1321
+ //# sourceMappingURL=chunk-6TJVJPNU.js.map