@usetheo/ui 0.12.0 → 0.13.1

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 (1227) hide show
  1. package/CHANGELOG.md +634 -68
  2. package/DESIGN.md +18 -18
  3. package/NOTICE +2 -2
  4. package/README.md +69 -66
  5. package/dist/chunk-23YEYNDS.js +89 -0
  6. package/dist/chunk-23YEYNDS.js.map +1 -0
  7. package/dist/chunk-25KBUQEQ.js +95 -0
  8. package/dist/chunk-25KBUQEQ.js.map +1 -0
  9. package/dist/chunk-2A3E5Y72.js +165 -0
  10. package/dist/chunk-2A3E5Y72.js.map +1 -0
  11. package/dist/chunk-2EUKYGH5.js +98 -0
  12. package/dist/chunk-2EUKYGH5.js.map +1 -0
  13. package/dist/chunk-2NZYMQKT.js +56 -0
  14. package/dist/chunk-2NZYMQKT.js.map +1 -0
  15. package/dist/chunk-2OVFVPSZ.js +26 -0
  16. package/dist/chunk-2OVFVPSZ.js.map +1 -0
  17. package/dist/chunk-2UP7SECE.js +78 -0
  18. package/dist/chunk-2UP7SECE.js.map +1 -0
  19. package/dist/chunk-33ETHPT7.js +112 -0
  20. package/dist/chunk-33ETHPT7.js.map +1 -0
  21. package/dist/chunk-33IIDFSM.js +43 -0
  22. package/dist/chunk-33IIDFSM.js.map +1 -0
  23. package/dist/chunk-345HYADQ.js +88 -0
  24. package/dist/chunk-345HYADQ.js.map +1 -0
  25. package/dist/chunk-3ZXZGZOX.js +57 -0
  26. package/dist/chunk-3ZXZGZOX.js.map +1 -0
  27. package/dist/chunk-45FWKR23.js +62 -0
  28. package/dist/chunk-45FWKR23.js.map +1 -0
  29. package/dist/chunk-4DTLUBRW.js +122 -0
  30. package/dist/chunk-4DTLUBRW.js.map +1 -0
  31. package/dist/chunk-4EH6F54D.js +69 -0
  32. package/dist/chunk-4EH6F54D.js.map +1 -0
  33. package/dist/chunk-4EKF4EIE.js +140 -0
  34. package/dist/chunk-4EKF4EIE.js.map +1 -0
  35. package/dist/chunk-4SMYNLTA.js +83 -0
  36. package/dist/chunk-4SMYNLTA.js.map +1 -0
  37. package/dist/chunk-4UBFLXS3.js +35 -0
  38. package/dist/chunk-4UBFLXS3.js.map +1 -0
  39. package/dist/chunk-52J7SDYH.js +48 -0
  40. package/dist/chunk-52J7SDYH.js.map +1 -0
  41. package/dist/chunk-5XCTTXC3.js +180 -0
  42. package/dist/chunk-5XCTTXC3.js.map +1 -0
  43. package/dist/chunk-624AATQZ.js +77 -0
  44. package/dist/chunk-624AATQZ.js.map +1 -0
  45. package/dist/chunk-6IODJQWC.js +47 -0
  46. package/dist/chunk-6IODJQWC.js.map +1 -0
  47. package/dist/chunk-75IDWFYX.js +134 -0
  48. package/dist/chunk-75IDWFYX.js.map +1 -0
  49. package/dist/chunk-7BGCWJQR.js +113 -0
  50. package/dist/chunk-7BGCWJQR.js.map +1 -0
  51. package/dist/chunk-7BQXMG2A.js +93 -0
  52. package/dist/chunk-7BQXMG2A.js.map +1 -0
  53. package/dist/chunk-7RFWVNQA.js +47 -0
  54. package/dist/chunk-7RFWVNQA.js.map +1 -0
  55. package/dist/chunk-7T4NK6W6.js +192 -0
  56. package/dist/chunk-7T4NK6W6.js.map +1 -0
  57. package/dist/chunk-A3OU6ICP.js +91 -0
  58. package/dist/chunk-A3OU6ICP.js.map +1 -0
  59. package/dist/chunk-ABBXLAJW.js +74 -0
  60. package/dist/chunk-ABBXLAJW.js.map +1 -0
  61. package/dist/chunk-AENNHS3S.js +83 -0
  62. package/dist/chunk-AENNHS3S.js.map +1 -0
  63. package/dist/chunk-AXNJFBYX.js +136 -0
  64. package/dist/chunk-AXNJFBYX.js.map +1 -0
  65. package/dist/chunk-AXUAQM45.js +154 -0
  66. package/dist/chunk-AXUAQM45.js.map +1 -0
  67. package/dist/chunk-B2FL7KBJ.js +65 -0
  68. package/dist/chunk-B2FL7KBJ.js.map +1 -0
  69. package/dist/chunk-BE232OKN.js +42 -0
  70. package/dist/chunk-BE232OKN.js.map +1 -0
  71. package/dist/chunk-BP4RQSX7.js +200 -0
  72. package/dist/chunk-BP4RQSX7.js.map +1 -0
  73. package/dist/chunk-BPJ3RN3U.js +112 -0
  74. package/dist/chunk-BPJ3RN3U.js.map +1 -0
  75. package/dist/chunk-BSF4Y4UT.js +77 -0
  76. package/dist/chunk-BSF4Y4UT.js.map +1 -0
  77. package/dist/chunk-BWIDDAR7.js +86 -0
  78. package/dist/chunk-BWIDDAR7.js.map +1 -0
  79. package/dist/chunk-BYUWQ6OP.js +45 -0
  80. package/dist/chunk-BYUWQ6OP.js.map +1 -0
  81. package/dist/chunk-C5ULP2P5.js +140 -0
  82. package/dist/chunk-C5ULP2P5.js.map +1 -0
  83. package/dist/chunk-CCG7PXLX.js +24 -0
  84. package/dist/chunk-CCG7PXLX.js.map +1 -0
  85. package/dist/chunk-CED2LKHI.js +117 -0
  86. package/dist/chunk-CED2LKHI.js.map +1 -0
  87. package/dist/chunk-CGWIOIEO.js +27 -0
  88. package/dist/chunk-CGWIOIEO.js.map +1 -0
  89. package/dist/chunk-CSEGVTKO.js +110 -0
  90. package/dist/chunk-CSEGVTKO.js.map +1 -0
  91. package/dist/chunk-CVFSNA4K.js +716 -0
  92. package/dist/chunk-CVFSNA4K.js.map +1 -0
  93. package/dist/chunk-E26M7ATD.js +61 -0
  94. package/dist/chunk-E26M7ATD.js.map +1 -0
  95. package/dist/chunk-E63IRXZZ.js +78 -0
  96. package/dist/chunk-E63IRXZZ.js.map +1 -0
  97. package/dist/chunk-ESJUISWY.js +45 -0
  98. package/dist/chunk-ESJUISWY.js.map +1 -0
  99. package/dist/chunk-ET7A3TQZ.js +158 -0
  100. package/dist/chunk-ET7A3TQZ.js.map +1 -0
  101. package/dist/chunk-ETTL6XGU.js +139 -0
  102. package/dist/chunk-ETTL6XGU.js.map +1 -0
  103. package/dist/chunk-EWDN56AS.js +24 -0
  104. package/dist/chunk-EWDN56AS.js.map +1 -0
  105. package/dist/chunk-FJZKA2LV.js +165 -0
  106. package/dist/chunk-FJZKA2LV.js.map +1 -0
  107. package/dist/chunk-G2WCT6PJ.js +69 -0
  108. package/dist/chunk-G2WCT6PJ.js.map +1 -0
  109. package/dist/chunk-GC52HWIL.js +41 -0
  110. package/dist/chunk-GC52HWIL.js.map +1 -0
  111. package/dist/chunk-GCKFA7X7.js +83 -0
  112. package/dist/chunk-GCKFA7X7.js.map +1 -0
  113. package/dist/chunk-GDMCDW66.js +19 -0
  114. package/dist/chunk-GDMCDW66.js.map +1 -0
  115. package/dist/chunk-GIXHBTHH.js +59 -0
  116. package/dist/chunk-GIXHBTHH.js.map +1 -0
  117. package/dist/chunk-GLEOUWPN.js +108 -0
  118. package/dist/chunk-GLEOUWPN.js.map +1 -0
  119. package/dist/chunk-GLRUM43F.js +121 -0
  120. package/dist/chunk-GLRUM43F.js.map +1 -0
  121. package/dist/chunk-H3L7WZDZ.js +74 -0
  122. package/dist/chunk-H3L7WZDZ.js.map +1 -0
  123. package/dist/chunk-H55WXDME.js +45 -0
  124. package/dist/chunk-H55WXDME.js.map +1 -0
  125. package/dist/chunk-H5QPJNVD.js +98 -0
  126. package/dist/chunk-H5QPJNVD.js.map +1 -0
  127. package/dist/chunk-HB45JHMM.js +43 -0
  128. package/dist/chunk-HB45JHMM.js.map +1 -0
  129. package/dist/chunk-HETHTYEZ.js +80 -0
  130. package/dist/chunk-HETHTYEZ.js.map +1 -0
  131. package/dist/chunk-HHSKNB32.js +55 -0
  132. package/dist/chunk-HHSKNB32.js.map +1 -0
  133. package/dist/chunk-HILOUYES.js +151 -0
  134. package/dist/chunk-HILOUYES.js.map +1 -0
  135. package/dist/chunk-HTJVHFNW.js +178 -0
  136. package/dist/chunk-HTJVHFNW.js.map +1 -0
  137. package/dist/chunk-HZ7Z22VW.js +130 -0
  138. package/dist/chunk-HZ7Z22VW.js.map +1 -0
  139. package/dist/chunk-JFKBFQA5.js +129 -0
  140. package/dist/chunk-JFKBFQA5.js.map +1 -0
  141. package/dist/chunk-JIZKW3WC.js +74 -0
  142. package/dist/chunk-JIZKW3WC.js.map +1 -0
  143. package/dist/chunk-JQTCCKZA.js +154 -0
  144. package/dist/chunk-JQTCCKZA.js.map +1 -0
  145. package/dist/chunk-JR4H3FJ2.js +74 -0
  146. package/dist/chunk-JR4H3FJ2.js.map +1 -0
  147. package/dist/chunk-JRW53TVG.js +53 -0
  148. package/dist/chunk-JRW53TVG.js.map +1 -0
  149. package/dist/chunk-JXOCE27Z.js +82 -0
  150. package/dist/chunk-JXOCE27Z.js.map +1 -0
  151. package/dist/chunk-JYW5YNF7.js +188 -0
  152. package/dist/chunk-JYW5YNF7.js.map +1 -0
  153. package/dist/chunk-K72DJOXR.js +81 -0
  154. package/dist/chunk-K72DJOXR.js.map +1 -0
  155. package/dist/chunk-KDE3NYTI.js +144 -0
  156. package/dist/chunk-KDE3NYTI.js.map +1 -0
  157. package/dist/chunk-KFUFTZLS.js +111 -0
  158. package/dist/chunk-KFUFTZLS.js.map +1 -0
  159. package/dist/chunk-KHBXI6AV.js +149 -0
  160. package/dist/chunk-KHBXI6AV.js.map +1 -0
  161. package/dist/chunk-M74ZYBOK.js +93 -0
  162. package/dist/chunk-M74ZYBOK.js.map +1 -0
  163. package/dist/chunk-ML7WLNIK.js +11 -0
  164. package/dist/chunk-ML7WLNIK.js.map +1 -0
  165. package/dist/chunk-MXB2GVEQ.js +57 -0
  166. package/dist/chunk-MXB2GVEQ.js.map +1 -0
  167. package/dist/chunk-NEMXW2LB.js +102 -0
  168. package/dist/chunk-NEMXW2LB.js.map +1 -0
  169. package/dist/chunk-OJPPSJMF.js +65 -0
  170. package/dist/chunk-OJPPSJMF.js.map +1 -0
  171. package/dist/chunk-OMR6ZGME.js +63 -0
  172. package/dist/chunk-OMR6ZGME.js.map +1 -0
  173. package/dist/chunk-ORVYP73T.js +223 -0
  174. package/dist/chunk-ORVYP73T.js.map +1 -0
  175. package/dist/chunk-OZFUUO2Q.js +50 -0
  176. package/dist/chunk-OZFUUO2Q.js.map +1 -0
  177. package/dist/chunk-P44UAK45.js +115 -0
  178. package/dist/chunk-P44UAK45.js.map +1 -0
  179. package/dist/chunk-PJUP4BJD.js +116 -0
  180. package/dist/chunk-PJUP4BJD.js.map +1 -0
  181. package/dist/chunk-PJWYIOY4.js +3 -0
  182. package/dist/chunk-PJWYIOY4.js.map +1 -0
  183. package/dist/chunk-PVCW4O37.js +147 -0
  184. package/dist/chunk-PVCW4O37.js.map +1 -0
  185. package/dist/chunk-PXT47DRZ.js +59 -0
  186. package/dist/chunk-PXT47DRZ.js.map +1 -0
  187. package/dist/chunk-PZGUZHI7.js +142 -0
  188. package/dist/chunk-PZGUZHI7.js.map +1 -0
  189. package/dist/chunk-Q2BAL2PF.js +965 -0
  190. package/dist/chunk-Q2BAL2PF.js.map +1 -0
  191. package/dist/chunk-QBUTRD2M.js +58 -0
  192. package/dist/chunk-QBUTRD2M.js.map +1 -0
  193. package/dist/chunk-QCQTTOMD.js +236 -0
  194. package/dist/chunk-QCQTTOMD.js.map +1 -0
  195. package/dist/chunk-QNYOIVQ4.js +36 -0
  196. package/dist/chunk-QNYOIVQ4.js.map +1 -0
  197. package/dist/chunk-QPURZJJM.js +88 -0
  198. package/dist/chunk-QPURZJJM.js.map +1 -0
  199. package/dist/chunk-QRXIYPWP.js +121 -0
  200. package/dist/chunk-QRXIYPWP.js.map +1 -0
  201. package/dist/chunk-QV4BQRNH.js +29 -0
  202. package/dist/chunk-QV4BQRNH.js.map +1 -0
  203. package/dist/chunk-REFY5MLN.js +212 -0
  204. package/dist/chunk-REFY5MLN.js.map +1 -0
  205. package/dist/chunk-RJ6RAMKH.js +89 -0
  206. package/dist/chunk-RJ6RAMKH.js.map +1 -0
  207. package/dist/chunk-RJBCTMVW.js +59 -0
  208. package/dist/chunk-RJBCTMVW.js.map +1 -0
  209. package/dist/chunk-RLWULF5B.js +113 -0
  210. package/dist/chunk-RLWULF5B.js.map +1 -0
  211. package/dist/chunk-RPZMFGYI.js +31 -0
  212. package/dist/chunk-RPZMFGYI.js.map +1 -0
  213. package/dist/chunk-RQT5DWGG.js +34 -0
  214. package/dist/chunk-RQT5DWGG.js.map +1 -0
  215. package/dist/chunk-SBKVVVYY.js +89 -0
  216. package/dist/chunk-SBKVVVYY.js.map +1 -0
  217. package/dist/chunk-SOJW47EZ.js +70 -0
  218. package/dist/chunk-SOJW47EZ.js.map +1 -0
  219. package/dist/chunk-SQ66DCXY.js +35 -0
  220. package/dist/chunk-SQ66DCXY.js.map +1 -0
  221. package/dist/chunk-SXKGWHAM.js +179 -0
  222. package/dist/chunk-SXKGWHAM.js.map +1 -0
  223. package/dist/chunk-T2OKGV6M.js +13 -0
  224. package/dist/chunk-T2OKGV6M.js.map +1 -0
  225. package/dist/chunk-TJLULCZW.js +108 -0
  226. package/dist/chunk-TJLULCZW.js.map +1 -0
  227. package/dist/chunk-TY6NTWN5.js +29 -0
  228. package/dist/chunk-TY6NTWN5.js.map +1 -0
  229. package/dist/chunk-U3AEEFVB.js +152 -0
  230. package/dist/chunk-U3AEEFVB.js.map +1 -0
  231. package/dist/chunk-V3HFDVZ3.js +102 -0
  232. package/dist/chunk-V3HFDVZ3.js.map +1 -0
  233. package/dist/chunk-V6H2RUVP.js +77 -0
  234. package/dist/chunk-V6H2RUVP.js.map +1 -0
  235. package/dist/chunk-VB53UMAL.js +106 -0
  236. package/dist/chunk-VB53UMAL.js.map +1 -0
  237. package/dist/chunk-VBEMLZGX.js +86 -0
  238. package/dist/chunk-VBEMLZGX.js.map +1 -0
  239. package/dist/chunk-VBQFE5RV.js +92 -0
  240. package/dist/chunk-VBQFE5RV.js.map +1 -0
  241. package/dist/chunk-VHK2OUCW.js +38 -0
  242. package/dist/chunk-VHK2OUCW.js.map +1 -0
  243. package/dist/chunk-VHTAVROO.js +53 -0
  244. package/dist/chunk-VHTAVROO.js.map +1 -0
  245. package/dist/chunk-VZX4HLBM.js +84 -0
  246. package/dist/chunk-VZX4HLBM.js.map +1 -0
  247. package/dist/chunk-W47V2F3Q.js +115 -0
  248. package/dist/chunk-W47V2F3Q.js.map +1 -0
  249. package/dist/chunk-W7I3ZX66.js +76 -0
  250. package/dist/chunk-W7I3ZX66.js.map +1 -0
  251. package/dist/chunk-WD42UBGR.js +64 -0
  252. package/dist/chunk-WD42UBGR.js.map +1 -0
  253. package/dist/chunk-XC7SYZYR.js +86 -0
  254. package/dist/chunk-XC7SYZYR.js.map +1 -0
  255. package/dist/chunk-XJA4B3F5.js +68 -0
  256. package/dist/chunk-XJA4B3F5.js.map +1 -0
  257. package/dist/chunk-XSENM65D.js +128 -0
  258. package/dist/chunk-XSENM65D.js.map +1 -0
  259. package/dist/chunk-YD2QEVHO.js +68 -0
  260. package/dist/chunk-YD2QEVHO.js.map +1 -0
  261. package/dist/chunk-YDKRUSB5.js +35 -0
  262. package/dist/chunk-YDKRUSB5.js.map +1 -0
  263. package/dist/chunk-YES6SPDT.js +55 -0
  264. package/dist/chunk-YES6SPDT.js.map +1 -0
  265. package/dist/chunk-YNDHYMPI.js +46 -0
  266. package/dist/chunk-YNDHYMPI.js.map +1 -0
  267. package/dist/chunk-YO3WEMOH.js +130 -0
  268. package/dist/chunk-YO3WEMOH.js.map +1 -0
  269. package/dist/chunk-YUFFAWNB.js +90 -0
  270. package/dist/chunk-YUFFAWNB.js.map +1 -0
  271. package/dist/chunk-YVXMWUWD.js +118 -0
  272. package/dist/chunk-YVXMWUWD.js.map +1 -0
  273. package/dist/chunk-Z6HZMGO2.js +106 -0
  274. package/dist/chunk-Z6HZMGO2.js.map +1 -0
  275. package/dist/chunk-ZAMPCRFJ.js +121 -0
  276. package/dist/chunk-ZAMPCRFJ.js.map +1 -0
  277. package/dist/chunk-ZEFOXF2I.js +87 -0
  278. package/dist/chunk-ZEFOXF2I.js.map +1 -0
  279. package/dist/chunk-ZJXOHLQE.js +66 -0
  280. package/dist/chunk-ZJXOHLQE.js.map +1 -0
  281. package/dist/chunk-ZPURFK4C.js +203 -0
  282. package/dist/chunk-ZPURFK4C.js.map +1 -0
  283. package/dist/chunk-ZZZIOTLC.js +89 -0
  284. package/dist/chunk-ZZZIOTLC.js.map +1 -0
  285. package/dist/components/composites/account-menu/account-menu.d.ts +43 -0
  286. package/dist/components/composites/account-menu/index.d.ts +1 -0
  287. package/dist/components/composites/agent-composer/agent-composer.d.ts +41 -0
  288. package/dist/components/composites/agent-composer/index.d.ts +1 -0
  289. package/dist/components/composites/agent-editor/agent-editor.d.ts +31 -0
  290. package/dist/components/composites/agent-editor/index.d.ts +1 -0
  291. package/dist/components/composites/agent-stream/agent-stream.d.ts +72 -0
  292. package/dist/components/composites/agent-stream/index.d.ts +2 -0
  293. package/dist/components/composites/agent-stream/to-agent-stream-items.d.ts +32 -0
  294. package/dist/components/composites/agent-timeline/agent-timeline.d.ts +22 -0
  295. package/dist/components/composites/agent-timeline/index.d.ts +1 -0
  296. package/dist/components/composites/agent-tool-renderer/agent-tool-renderer.d.ts +60 -0
  297. package/dist/components/composites/agent-tool-renderer/index.d.ts +1 -0
  298. package/dist/components/composites/agent-tool-renderer/tool-call-part.d.ts +5 -0
  299. package/dist/components/composites/approval-card/approval-card.d.ts +35 -0
  300. package/dist/components/composites/approval-card/index.d.ts +1 -0
  301. package/dist/components/composites/chat-composer/chat-composer.d.ts +68 -0
  302. package/dist/components/composites/chat-composer/index.d.ts +1 -0
  303. package/dist/components/composites/chat-message/chat-message-actions.d.ts +22 -0
  304. package/dist/components/composites/chat-message/chat-message-branch.d.ts +17 -0
  305. package/dist/components/composites/chat-message/chat-message-response.d.ts +15 -0
  306. package/dist/components/composites/chat-message/chat-message-toolbar.d.ts +7 -0
  307. package/dist/components/composites/chat-message/chat-message.d.ts +94 -0
  308. package/dist/components/composites/chat-message/index.d.ts +23 -0
  309. package/dist/components/composites/chat-message/parts/data-part.d.ts +9 -0
  310. package/dist/components/composites/chat-message/parts/file-part.d.ts +5 -0
  311. package/dist/components/composites/chat-message/parts/reasoning-part.d.ts +7 -0
  312. package/dist/components/composites/chat-message/parts/source-part.d.ts +9 -0
  313. package/dist/components/composites/chat-message/parts/text-part.d.ts +11 -0
  314. package/dist/components/composites/choice-prompt/choice-prompt.d.ts +65 -0
  315. package/dist/components/composites/choice-prompt/index.d.ts +2 -0
  316. package/dist/components/composites/code-block/code-block.d.ts +29 -0
  317. package/dist/components/composites/code-block/index.d.ts +1 -0
  318. package/dist/components/composites/command-palette/command-palette.d.ts +41 -0
  319. package/dist/components/composites/command-palette/index.d.ts +1 -0
  320. package/dist/components/composites/confirm-dialog/confirm-dialog.d.ts +41 -0
  321. package/dist/components/composites/confirm-dialog/index.d.ts +1 -0
  322. package/dist/components/composites/confirm-prompt/confirm-prompt.d.ts +31 -0
  323. package/dist/components/composites/confirm-prompt/index.d.ts +1 -0
  324. package/dist/components/composites/cron-jobs-list/cron-jobs-list.d.ts +15 -0
  325. package/dist/components/composites/cron-jobs-list/index.d.ts +1 -0
  326. package/dist/components/composites/data-table/data-table.d.ts +63 -0
  327. package/dist/components/composites/data-table/index.d.ts +1 -0
  328. package/dist/components/composites/deployment-row/deployment-row.d.ts +28 -0
  329. package/dist/components/composites/deployment-row/index.d.ts +1 -0
  330. package/dist/components/composites/domain-config/domain-config.d.ts +34 -0
  331. package/dist/components/composites/domain-config/index.d.ts +1 -0
  332. package/dist/components/composites/env-var-editor/env-var-editor.d.ts +35 -0
  333. package/dist/components/composites/env-var-editor/index.d.ts +1 -0
  334. package/dist/components/composites/mcp-server-list/index.d.ts +1 -0
  335. package/dist/components/composites/mcp-server-list/mcp-server-list.d.ts +15 -0
  336. package/dist/components/composites/metric-card/index.d.ts +2 -0
  337. package/dist/components/composites/metric-card/metric-card.d.ts +46 -0
  338. package/dist/components/composites/multi-select-prompt/index.d.ts +1 -0
  339. package/dist/components/composites/multi-select-prompt/multi-select-prompt.d.ts +61 -0
  340. package/dist/components/composites/page-shell/index.d.ts +1 -0
  341. package/dist/components/composites/page-shell/page-shell.d.ts +68 -0
  342. package/dist/components/composites/permission-modal/index.d.ts +1 -0
  343. package/dist/components/composites/permission-modal/permission-modal.d.ts +48 -0
  344. package/dist/components/composites/preview-env-card/index.d.ts +1 -0
  345. package/dist/components/composites/preview-env-card/preview-env-card.d.ts +36 -0
  346. package/dist/components/composites/preview-panel/index.d.ts +1 -0
  347. package/dist/components/composites/preview-panel/preview-panel.d.ts +24 -0
  348. package/dist/components/composites/project-card/index.d.ts +1 -0
  349. package/dist/components/composites/project-card/project-card.d.ts +32 -0
  350. package/dist/components/composites/rollback-ui/index.d.ts +1 -0
  351. package/dist/components/composites/rollback-ui/rollback-ui.d.ts +32 -0
  352. package/dist/components/composites/rule-editor/index.d.ts +1 -0
  353. package/dist/components/composites/rule-editor/rule-editor.d.ts +18 -0
  354. package/dist/components/composites/skill-editor/index.d.ts +1 -0
  355. package/dist/components/composites/skill-editor/skill-editor.d.ts +19 -0
  356. package/dist/components/composites/skills-list/index.d.ts +1 -0
  357. package/dist/components/composites/skills-list/skills-list.d.ts +15 -0
  358. package/dist/components/composites/slide-deck/context.d.ts +23 -0
  359. package/dist/components/composites/slide-deck/controls.d.ts +8 -0
  360. package/dist/components/composites/slide-deck/fragments.d.ts +20 -0
  361. package/dist/components/composites/slide-deck/index.d.ts +21 -0
  362. package/dist/components/composites/slide-deck/notes.d.ts +14 -0
  363. package/dist/components/composites/slide-deck/presenter-view.d.ts +15 -0
  364. package/dist/components/composites/slide-deck/print-styles.d.ts +21 -0
  365. package/dist/components/composites/slide-deck/progress-bar.d.ts +8 -0
  366. package/dist/components/composites/slide-deck/schema.d.ts +31 -0
  367. package/dist/components/composites/slide-deck/slide-deck.d.ts +78 -0
  368. package/dist/components/composites/slide-deck/slide-number.d.ts +11 -0
  369. package/dist/components/composites/slide-deck/split-deck.d.ts +2 -0
  370. package/dist/components/composites/slide-deck/thumbnails.d.ts +19 -0
  371. package/dist/components/composites/slide-deck/use-deck-hash-routing.d.ts +23 -0
  372. package/dist/components/composites/slide-deck/use-deck-keyboard.d.ts +25 -0
  373. package/dist/components/composites/slide-deck/use-deck-state.d.ts +57 -0
  374. package/dist/components/composites/slide-deck/use-deck-swipe.d.ts +20 -0
  375. package/dist/components/composites/slide-deck/use-fullscreen.d.ts +18 -0
  376. package/dist/components/composites/stability-bundle-viewer/index.d.ts +1 -0
  377. package/dist/components/composites/stability-bundle-viewer/stability-bundle-viewer.d.ts +28 -0
  378. package/dist/components/composites/status-indicator/index.d.ts +2 -0
  379. package/dist/components/composites/status-indicator/status-indicator.d.ts +31 -0
  380. package/dist/components/composites/task-header/index.d.ts +1 -0
  381. package/dist/components/composites/task-header/task-header.d.ts +20 -0
  382. package/dist/components/composites/text-prompt/index.d.ts +1 -0
  383. package/dist/components/composites/text-prompt/text-prompt.d.ts +48 -0
  384. package/dist/components/composites/usage-meter/index.d.ts +1 -0
  385. package/dist/components/composites/usage-meter/usage-meter.d.ts +56 -0
  386. package/dist/components/primitives/action-bar/action-bar.d.ts +34 -0
  387. package/dist/components/primitives/action-bar/index.d.ts +1 -0
  388. package/dist/components/primitives/agent-error-card/agent-error-card.d.ts +47 -0
  389. package/dist/components/primitives/agent-error-card/index.d.ts +1 -0
  390. package/dist/components/primitives/agent-event/agent-event.d.ts +25 -0
  391. package/dist/components/primitives/agent-event/index.d.ts +1 -0
  392. package/dist/components/primitives/agent-handoff/agent-handoff.d.ts +24 -0
  393. package/dist/components/primitives/agent-handoff/index.d.ts +1 -0
  394. package/dist/components/primitives/agent-profile/agent-profile.d.ts +28 -0
  395. package/dist/components/primitives/agent-profile/index.d.ts +1 -0
  396. package/dist/components/primitives/agent-starting-state/agent-starting-state.d.ts +15 -0
  397. package/dist/components/primitives/agent-starting-state/index.d.ts +1 -0
  398. package/dist/components/primitives/agent-streaming/agent-streaming.d.ts +16 -0
  399. package/dist/components/primitives/agent-streaming/index.d.ts +1 -0
  400. package/dist/components/primitives/alert/alert.d.ts +31 -0
  401. package/dist/components/primitives/alert/index.d.ts +1 -0
  402. package/dist/components/primitives/artifact-preview/artifact-preview.d.ts +25 -0
  403. package/dist/components/primitives/artifact-preview/index.d.ts +1 -0
  404. package/dist/components/primitives/attachment-chip/attachment-chip.d.ts +14 -0
  405. package/dist/components/primitives/attachment-chip/index.d.ts +1 -0
  406. package/dist/components/primitives/audit-log-entry/audit-log-entry.d.ts +29 -0
  407. package/dist/components/primitives/audit-log-entry/index.d.ts +1 -0
  408. package/dist/components/primitives/auto-compact-notice/auto-compact-notice.d.ts +24 -0
  409. package/dist/components/primitives/auto-compact-notice/index.d.ts +1 -0
  410. package/dist/components/primitives/avatar/avatar.d.ts +26 -0
  411. package/dist/components/primitives/avatar/index.d.ts +1 -0
  412. package/dist/components/primitives/badge/badge.d.ts +33 -0
  413. package/dist/components/primitives/badge/index.d.ts +1 -0
  414. package/dist/components/primitives/branch-indicator/branch-indicator.d.ts +13 -0
  415. package/dist/components/primitives/branch-indicator/index.d.ts +1 -0
  416. package/dist/components/primitives/browser-controls/browser-controls.d.ts +19 -0
  417. package/dist/components/primitives/browser-controls/index.d.ts +1 -0
  418. package/dist/components/primitives/build-log-stream/build-log-stream.d.ts +51 -0
  419. package/dist/components/primitives/build-log-stream/index.d.ts +1 -0
  420. package/dist/components/primitives/button/button.d.ts +26 -0
  421. package/dist/components/primitives/button/index.d.ts +1 -0
  422. package/dist/components/primitives/capability-indicator/capability-indicator.d.ts +57 -0
  423. package/dist/components/primitives/capability-indicator/index.d.ts +1 -0
  424. package/dist/components/primitives/card/card.d.ts +40 -0
  425. package/dist/components/primitives/card/index.d.ts +1 -0
  426. package/dist/components/primitives/channel-card/channel-card.d.ts +28 -0
  427. package/dist/components/primitives/channel-card/index.d.ts +1 -0
  428. package/dist/components/primitives/chat-thread/chat-thread.d.ts +12 -0
  429. package/dist/components/primitives/chat-thread/index.d.ts +1 -0
  430. package/dist/components/primitives/checkbox/checkbox.d.ts +20 -0
  431. package/dist/components/primitives/checkbox/index.d.ts +1 -0
  432. package/dist/components/primitives/context-card/context-card.d.ts +18 -0
  433. package/dist/components/primitives/context-card/index.d.ts +1 -0
  434. package/dist/components/primitives/context-window-bar/context-window-bar.d.ts +27 -0
  435. package/dist/components/primitives/context-window-bar/index.d.ts +1 -0
  436. package/dist/components/primitives/copy-button/copy-button.d.ts +17 -0
  437. package/dist/components/primitives/copy-button/index.d.ts +1 -0
  438. package/dist/components/primitives/cost-meter/cost-meter.d.ts +23 -0
  439. package/dist/components/primitives/cost-meter/index.d.ts +1 -0
  440. package/dist/components/primitives/created-files-card/created-files-card.d.ts +30 -0
  441. package/dist/components/primitives/created-files-card/index.d.ts +1 -0
  442. package/dist/components/primitives/cron-job-card/cron-job-card.d.ts +30 -0
  443. package/dist/components/primitives/cron-job-card/index.d.ts +1 -0
  444. package/dist/components/primitives/danger-zone/danger-zone.d.ts +40 -0
  445. package/dist/components/primitives/danger-zone/index.d.ts +1 -0
  446. package/dist/components/primitives/dialog/dialog.d.ts +26 -0
  447. package/dist/components/primitives/dialog/index.d.ts +1 -0
  448. package/dist/components/primitives/diff-viewer/diff-viewer.d.ts +45 -0
  449. package/dist/components/primitives/diff-viewer/index.d.ts +1 -0
  450. package/dist/components/primitives/dropdown-menu/dropdown-menu.d.ts +68 -0
  451. package/dist/components/primitives/dropdown-menu/index.d.ts +1 -0
  452. package/dist/components/primitives/empty-state/empty-state.d.ts +22 -0
  453. package/dist/components/primitives/empty-state/index.d.ts +1 -0
  454. package/dist/components/primitives/export-chat-dialog/export-chat-dialog.d.ts +18 -0
  455. package/dist/components/primitives/export-chat-dialog/index.d.ts +1 -0
  456. package/dist/components/primitives/folder-context-card/folder-context-card.d.ts +40 -0
  457. package/dist/components/primitives/folder-context-card/index.d.ts +1 -0
  458. package/dist/components/primitives/folder-selector/folder-selector.d.ts +18 -0
  459. package/dist/components/primitives/folder-selector/index.d.ts +1 -0
  460. package/dist/components/primitives/form-field/form-field.d.ts +44 -0
  461. package/dist/components/primitives/form-field/index.d.ts +1 -0
  462. package/dist/components/primitives/gateway-status-indicator/gateway-status-indicator.d.ts +19 -0
  463. package/dist/components/primitives/gateway-status-indicator/index.d.ts +1 -0
  464. package/dist/components/primitives/hook-config/hook-config.d.ts +27 -0
  465. package/dist/components/primitives/hook-config/index.d.ts +1 -0
  466. package/dist/components/primitives/hook-event-log/hook-event-log.d.ts +27 -0
  467. package/dist/components/primitives/hook-event-log/index.d.ts +1 -0
  468. package/dist/components/primitives/input/index.d.ts +1 -0
  469. package/dist/components/primitives/input/input.d.ts +24 -0
  470. package/dist/components/primitives/intent-selector/index.d.ts +1 -0
  471. package/dist/components/primitives/intent-selector/intent-selector.d.ts +22 -0
  472. package/dist/components/primitives/label/index.d.ts +1 -0
  473. package/dist/components/primitives/label/label.d.ts +15 -0
  474. package/dist/components/primitives/lane-board/index.d.ts +1 -0
  475. package/dist/components/primitives/lane-board/lane-board.d.ts +26 -0
  476. package/dist/components/primitives/login-split/index.d.ts +1 -0
  477. package/dist/components/primitives/login-split/login-split.d.ts +24 -0
  478. package/dist/components/primitives/mcp-server-card/index.d.ts +1 -0
  479. package/dist/components/primitives/mcp-server-card/mcp-server-card.d.ts +32 -0
  480. package/dist/components/primitives/memory-editor/index.d.ts +1 -0
  481. package/dist/components/primitives/memory-editor/memory-editor.d.ts +29 -0
  482. package/dist/components/primitives/mention-menu/index.d.ts +1 -0
  483. package/dist/components/primitives/mention-menu/mention-menu.d.ts +44 -0
  484. package/dist/components/primitives/metrics-panel/index.d.ts +1 -0
  485. package/dist/components/primitives/metrics-panel/metrics-panel.d.ts +62 -0
  486. package/dist/components/primitives/model-card/index.d.ts +1 -0
  487. package/dist/components/primitives/model-card/model-card.d.ts +72 -0
  488. package/dist/components/primitives/model-selector/index.d.ts +1 -0
  489. package/dist/components/primitives/model-selector/model-selector.d.ts +21 -0
  490. package/dist/components/primitives/pagination/index.d.ts +1 -0
  491. package/dist/components/primitives/pagination/pagination.d.ts +44 -0
  492. package/dist/components/primitives/permission-matrix/index.d.ts +1 -0
  493. package/dist/components/primitives/permission-matrix/permission-matrix.d.ts +43 -0
  494. package/dist/components/primitives/pin-input/index.d.ts +1 -0
  495. package/dist/components/primitives/pin-input/pin-input.d.ts +41 -0
  496. package/dist/components/primitives/plan-badge/index.d.ts +1 -0
  497. package/dist/components/primitives/plan-badge/plan-badge.d.ts +35 -0
  498. package/dist/components/primitives/progress/index.d.ts +1 -0
  499. package/dist/components/primitives/progress/progress.d.ts +44 -0
  500. package/dist/components/primitives/progress-checklist/index.d.ts +1 -0
  501. package/dist/components/primitives/progress-checklist/progress-checklist.d.ts +18 -0
  502. package/dist/components/primitives/project-switcher/index.d.ts +1 -0
  503. package/dist/components/primitives/project-switcher/project-switcher.d.ts +32 -0
  504. package/dist/components/primitives/quick-action-chips/index.d.ts +1 -0
  505. package/dist/components/primitives/quick-action-chips/quick-action-chips.d.ts +22 -0
  506. package/dist/components/primitives/radio-group/index.d.ts +1 -0
  507. package/dist/components/primitives/radio-group/radio-group.d.ts +5 -0
  508. package/dist/components/primitives/recent-folders-list/index.d.ts +1 -0
  509. package/dist/components/primitives/recent-folders-list/recent-folders-list.d.ts +21 -0
  510. package/dist/components/primitives/rule-card/index.d.ts +1 -0
  511. package/dist/components/primitives/rule-card/rule-card.d.ts +15 -0
  512. package/dist/components/primitives/run-stats/index.d.ts +1 -0
  513. package/dist/components/primitives/run-stats/run-stats.d.ts +16 -0
  514. package/dist/components/primitives/run-status-pill/index.d.ts +1 -0
  515. package/dist/components/primitives/run-status-pill/run-status-pill.d.ts +13 -0
  516. package/dist/components/primitives/running-tasks-panel/index.d.ts +1 -0
  517. package/dist/components/primitives/running-tasks-panel/running-tasks-panel.d.ts +20 -0
  518. package/dist/components/primitives/scroll-area/index.d.ts +2 -0
  519. package/dist/components/primitives/scroll-area/scroll-area.d.ts +40 -0
  520. package/dist/components/primitives/scroll-area/use-stick-to-bottom.d.ts +20 -0
  521. package/dist/components/primitives/select/index.d.ts +1 -0
  522. package/dist/components/primitives/select/select.d.ts +50 -0
  523. package/dist/components/primitives/session-list-item/index.d.ts +1 -0
  524. package/dist/components/primitives/session-list-item/session-list-item.d.ts +35 -0
  525. package/dist/components/primitives/session-timeline/index.d.ts +1 -0
  526. package/dist/components/primitives/session-timeline/session-timeline.d.ts +32 -0
  527. package/dist/components/primitives/sheet/index.d.ts +1 -0
  528. package/dist/components/primitives/sheet/sheet.d.ts +57 -0
  529. package/dist/components/primitives/sidebar/index.d.ts +1 -0
  530. package/dist/components/primitives/sidebar/sidebar.d.ts +18 -0
  531. package/dist/components/primitives/skeleton/index.d.ts +1 -0
  532. package/dist/components/primitives/skeleton/skeleton.d.ts +21 -0
  533. package/dist/components/primitives/skill-card/index.d.ts +1 -0
  534. package/dist/components/primitives/skill-card/skill-card.d.ts +28 -0
  535. package/dist/components/primitives/slide/alerts.d.ts +31 -0
  536. package/dist/components/primitives/slide/frontmatter.d.ts +23 -0
  537. package/dist/components/primitives/slide/index.d.ts +16 -0
  538. package/dist/components/primitives/slide/json-schema.d.ts +9 -0
  539. package/dist/components/primitives/slide/marpit-bg.d.ts +36 -0
  540. package/dist/components/primitives/slide/parse.d.ts +59 -0
  541. package/dist/components/primitives/slide/plugin.d.ts +79 -0
  542. package/dist/components/primitives/slide/plugins/emoji/index.d.ts +8 -0
  543. package/dist/components/primitives/slide/plugins/emoji/map.d.ts +15 -0
  544. package/dist/components/primitives/slide/plugins/math/index.d.ts +6 -0
  545. package/dist/components/primitives/slide/plugins/mermaid/index.d.ts +48 -0
  546. package/dist/components/primitives/slide/plugins/shiki/index.d.ts +11 -0
  547. package/dist/components/primitives/slide/sanitize.d.ts +33 -0
  548. package/dist/components/primitives/slide/schema.d.ts +109 -0
  549. package/dist/components/primitives/slide/slide.d.ts +53 -0
  550. package/dist/components/primitives/slide/themes/index.d.ts +9 -0
  551. package/dist/components/primitives/slide/use-slide-fit.d.ts +21 -0
  552. package/dist/components/primitives/slide/validate.d.ts +33 -0
  553. package/dist/components/primitives/social-auth-row/index.d.ts +1 -0
  554. package/dist/components/primitives/social-auth-row/social-auth-row.d.ts +24 -0
  555. package/dist/components/primitives/stat-tile/index.d.ts +1 -0
  556. package/dist/components/primitives/stat-tile/stat-tile.d.ts +28 -0
  557. package/dist/components/primitives/status-dot/index.d.ts +1 -0
  558. package/dist/components/primitives/status-dot/status-dot.d.ts +31 -0
  559. package/dist/components/primitives/steps-rail/index.d.ts +1 -0
  560. package/dist/components/primitives/steps-rail/steps-rail.d.ts +24 -0
  561. package/dist/components/primitives/sub-agent-dispatch/index.d.ts +1 -0
  562. package/dist/components/primitives/sub-agent-dispatch/sub-agent-dispatch.d.ts +30 -0
  563. package/dist/components/primitives/switch/index.d.ts +1 -0
  564. package/dist/components/primitives/switch/switch.d.ts +20 -0
  565. package/dist/components/primitives/system-prompt-editor/index.d.ts +1 -0
  566. package/dist/components/primitives/system-prompt-editor/system-prompt-editor.d.ts +25 -0
  567. package/dist/components/primitives/table/index.d.ts +1 -0
  568. package/dist/components/primitives/table/table.d.ts +61 -0
  569. package/dist/components/primitives/tabs/index.d.ts +1 -0
  570. package/dist/components/primitives/tabs/tabs.d.ts +7 -0
  571. package/dist/components/primitives/task-plan/index.d.ts +1 -0
  572. package/dist/components/primitives/task-plan/task-plan.d.ts +36 -0
  573. package/dist/components/primitives/terminal-panel/index.d.ts +1 -0
  574. package/dist/components/primitives/terminal-panel/terminal-panel.d.ts +32 -0
  575. package/dist/components/primitives/textarea/index.d.ts +1 -0
  576. package/dist/components/primitives/textarea/textarea.d.ts +20 -0
  577. package/dist/components/primitives/thinking-level-selector/index.d.ts +1 -0
  578. package/dist/components/primitives/thinking-level-selector/thinking-level-selector.d.ts +24 -0
  579. package/dist/components/primitives/timestamp/index.d.ts +1 -0
  580. package/dist/components/primitives/timestamp/timestamp.d.ts +34 -0
  581. package/dist/components/primitives/toast/index.d.ts +2 -0
  582. package/dist/components/primitives/toast/toast.d.ts +34 -0
  583. package/dist/components/primitives/toast/toaster.d.ts +38 -0
  584. package/dist/components/primitives/token-usage-chart/index.d.ts +2 -0
  585. package/dist/components/primitives/token-usage-chart/token-usage-chart.d.ts +44 -0
  586. package/dist/components/primitives/token-usage-chart/usage-metrics.d.ts +23 -0
  587. package/dist/components/primitives/tool-call/index.d.ts +1 -0
  588. package/dist/components/primitives/tool-call/tool-call.d.ts +30 -0
  589. package/dist/components/primitives/tool-call-card/index.d.ts +1 -0
  590. package/dist/components/primitives/tool-call-card/tool-call-card.d.ts +30 -0
  591. package/dist/components/primitives/tool-result/index.d.ts +1 -0
  592. package/dist/components/primitives/tool-result/tool-result.d.ts +19 -0
  593. package/dist/components/primitives/tools-list/index.d.ts +1 -0
  594. package/dist/components/primitives/tools-list/tools-list.d.ts +32 -0
  595. package/dist/components/primitives/tooltip/index.d.ts +1 -0
  596. package/dist/components/primitives/tooltip/tooltip.d.ts +33 -0
  597. package/dist/components/primitives/topnav/index.d.ts +1 -0
  598. package/dist/components/primitives/topnav/topnav.d.ts +29 -0
  599. package/dist/components/primitives/update-banner/index.d.ts +1 -0
  600. package/dist/components/primitives/update-banner/update-banner.d.ts +16 -0
  601. package/dist/components/primitives/whiteboard/index.d.ts +2 -0
  602. package/dist/components/primitives/whiteboard/render/freedraw.d.ts +2 -0
  603. package/dist/components/primitives/whiteboard/render/line.d.ts +4 -0
  604. package/dist/components/primitives/whiteboard/render/rough-paths.d.ts +16 -0
  605. package/dist/components/primitives/whiteboard/render/scene.d.ts +3 -0
  606. package/dist/components/primitives/whiteboard/render/shape.d.ts +5 -0
  607. package/dist/components/primitives/whiteboard/render/style.d.ts +24 -0
  608. package/dist/components/primitives/whiteboard/render/text.d.ts +2 -0
  609. package/dist/components/primitives/whiteboard/schema.d.ts +596 -0
  610. package/dist/components/primitives/whiteboard/seed.d.ts +22 -0
  611. package/dist/components/primitives/whiteboard/validate.d.ts +26 -0
  612. package/dist/components/primitives/whiteboard/viewport/use-pointer-pan.d.ts +11 -0
  613. package/dist/components/primitives/whiteboard/viewport/use-viewport.d.ts +33 -0
  614. package/dist/components/primitives/whiteboard/whiteboard.d.ts +21 -0
  615. package/dist/components.css +1 -1
  616. package/dist/composites/account-menu/index.js +4 -4
  617. package/dist/composites/agent-composer/index.js +6 -5
  618. package/dist/composites/agent-editor/index.js +8 -7
  619. package/dist/composites/agent-stream/index.js +21 -9
  620. package/dist/composites/agent-timeline/index.js +3 -3
  621. package/dist/composites/agent-tool-renderer/index.js +17 -0
  622. package/dist/composites/agent-tool-renderer/index.js.map +1 -0
  623. package/dist/composites/approval-card/index.js +3 -3
  624. package/dist/composites/chat-composer/index.js +3 -3
  625. package/dist/composites/chat-message/index.js +18 -4
  626. package/dist/composites/choice-prompt/index.js +11 -0
  627. package/dist/composites/choice-prompt/index.js.map +1 -0
  628. package/dist/composites/code-block/index.js +3 -3
  629. package/dist/composites/command-palette/index.js +4 -3
  630. package/dist/composites/confirm-dialog/index.js +6 -5
  631. package/dist/composites/confirm-prompt/index.js +7 -0
  632. package/dist/composites/confirm-prompt/index.js.map +1 -0
  633. package/dist/composites/cron-jobs-list/index.js +3 -3
  634. package/dist/composites/data-table/index.js +8 -7
  635. package/dist/composites/deployment-row/index.js +3 -3
  636. package/dist/composites/domain-config/index.js +6 -5
  637. package/dist/composites/env-var-editor/index.js +7 -5
  638. package/dist/composites/mcp-server-list/index.js +4 -3
  639. package/dist/composites/metric-card/index.js +5 -0
  640. package/dist/composites/metric-card/index.js.map +1 -0
  641. package/dist/composites/multi-select-prompt/index.js +11 -0
  642. package/dist/composites/multi-select-prompt/index.js.map +1 -0
  643. package/dist/composites/page-shell/index.js +6 -5
  644. package/dist/composites/permission-modal/index.js +5 -4
  645. package/dist/composites/preview-env-card/index.js +4 -4
  646. package/dist/composites/preview-panel/index.js +3 -3
  647. package/dist/composites/project-card/index.js +4 -4
  648. package/dist/composites/rollback-ui/index.js +5 -4
  649. package/dist/composites/rule-editor/index.js +9 -8
  650. package/dist/composites/skill-editor/index.js +9 -8
  651. package/dist/composites/skills-list/index.js +4 -3
  652. package/dist/composites/stability-bundle-viewer/index.js +5 -0
  653. package/dist/composites/stability-bundle-viewer/index.js.map +1 -0
  654. package/dist/composites/status-indicator/index.js +4 -0
  655. package/dist/composites/status-indicator/index.js.map +1 -0
  656. package/dist/composites/task-header/index.js +3 -3
  657. package/dist/composites/text-prompt/index.js +10 -0
  658. package/dist/composites/text-prompt/index.js.map +1 -0
  659. package/dist/composites/usage-meter/index.js +3 -3
  660. package/dist/fonts-cdn.css +4 -4
  661. package/dist/fonts.css +2 -2
  662. package/dist/index.d.ts +144 -4461
  663. package/dist/index.js +999 -731
  664. package/dist/index.js.map +1 -1
  665. package/dist/lib/cn.d.ts +6 -0
  666. package/dist/lib/env.d.ts +55 -0
  667. package/dist/lib/live-region-context.d.ts +2 -0
  668. package/dist/lib/markdown/code-block.d.ts +14 -0
  669. package/dist/lib/markdown/inline-code.d.ts +10 -0
  670. package/dist/lib/markdown/math.d.ts +12 -0
  671. package/dist/lib/markdown/mermaid.d.ts +6 -0
  672. package/dist/lib/markdown/parser.d.ts +47 -0
  673. package/dist/lib/markdown/streaming-preprocess.d.ts +39 -0
  674. package/dist/lib/prompt.d.ts +40 -0
  675. package/dist/lib/safe-href.d.ts +27 -0
  676. package/dist/lib/sdk-tools-adapters/index.d.ts +1 -0
  677. package/dist/lib/sdk-tools-adapters/index.js +3 -0
  678. package/dist/lib/sdk-tools-adapters/index.js.map +1 -0
  679. package/dist/lib/sdk-tools-adapters/sdk-tools-adapters.d.ts +60 -0
  680. package/dist/lib/types.d.ts +10 -0
  681. package/dist/preset-v3-legacy.d.ts +7 -10
  682. package/dist/preset-v3-legacy.js +23 -3
  683. package/dist/preset-v3-legacy.js.map +1 -1
  684. package/dist/preset.css +2 -2
  685. package/dist/primitives/action-bar/index.js +2 -2
  686. package/dist/primitives/agent-error-card/index.js +2 -2
  687. package/dist/primitives/agent-event/index.js +3 -2
  688. package/dist/primitives/agent-handoff/index.js +2 -2
  689. package/dist/primitives/agent-profile/index.js +2 -2
  690. package/dist/primitives/agent-starting-state/index.js +2 -2
  691. package/dist/primitives/agent-streaming/index.js +2 -2
  692. package/dist/primitives/alert/index.js +2 -2
  693. package/dist/primitives/artifact-preview/index.js +2 -2
  694. package/dist/primitives/attachment-chip/index.js +2 -2
  695. package/dist/primitives/audit-log-entry/index.js +2 -2
  696. package/dist/primitives/auto-compact-notice/index.js +2 -2
  697. package/dist/primitives/avatar/index.js +2 -2
  698. package/dist/primitives/badge/index.js +2 -2
  699. package/dist/primitives/branch-indicator/index.js +4 -0
  700. package/dist/primitives/branch-indicator/index.js.map +1 -0
  701. package/dist/primitives/browser-controls/index.js +2 -2
  702. package/dist/primitives/build-log-stream/index.js +4 -2
  703. package/dist/primitives/button/index.js +2 -2
  704. package/dist/primitives/capability-indicator/index.js +2 -2
  705. package/dist/primitives/card/index.js +3 -2
  706. package/dist/primitives/channel-card/index.js +4 -0
  707. package/dist/primitives/channel-card/index.js.map +1 -0
  708. package/dist/primitives/chat-thread/index.js +2 -2
  709. package/dist/primitives/checkbox/index.js +2 -2
  710. package/dist/primitives/context-card/index.js +2 -2
  711. package/dist/primitives/context-window-bar/index.js +2 -2
  712. package/dist/primitives/copy-button/index.js +3 -2
  713. package/dist/primitives/cost-meter/index.js +2 -2
  714. package/dist/primitives/created-files-card/index.js +2 -2
  715. package/dist/primitives/cron-job-card/index.js +2 -2
  716. package/dist/primitives/danger-zone/index.js +2 -2
  717. package/dist/primitives/dialog/index.js +2 -2
  718. package/dist/primitives/diff-viewer/index.js +2 -2
  719. package/dist/primitives/dropdown-menu/index.js +2 -2
  720. package/dist/primitives/empty-state/index.js +2 -2
  721. package/dist/primitives/export-chat-dialog/index.js +5 -0
  722. package/dist/primitives/export-chat-dialog/index.js.map +1 -0
  723. package/dist/primitives/folder-context-card/index.js +2 -2
  724. package/dist/primitives/folder-selector/index.js +2 -2
  725. package/dist/primitives/form-field/index.js +3 -2
  726. package/dist/primitives/gateway-status-indicator/index.js +4 -0
  727. package/dist/primitives/gateway-status-indicator/index.js.map +1 -0
  728. package/dist/primitives/hook-config/index.js +3 -2
  729. package/dist/primitives/hook-event-log/index.js +2 -2
  730. package/dist/primitives/input/index.js +2 -2
  731. package/dist/primitives/intent-selector/index.js +2 -2
  732. package/dist/primitives/label/index.js +2 -2
  733. package/dist/primitives/lane-board/index.js +2 -2
  734. package/dist/primitives/login-split/index.js +2 -2
  735. package/dist/primitives/mcp-server-card/index.js +2 -2
  736. package/dist/primitives/memory-editor/index.js +2 -2
  737. package/dist/primitives/mention-menu/index.js +3 -2
  738. package/dist/primitives/metrics-panel/index.js +2 -2
  739. package/dist/primitives/model-card/index.js +2 -2
  740. package/dist/primitives/model-selector/index.js +2 -2
  741. package/dist/primitives/pagination/index.js +2 -2
  742. package/dist/primitives/permission-matrix/index.js +3 -2
  743. package/dist/primitives/pin-input/index.js +3 -2
  744. package/dist/primitives/plan-badge/index.js +2 -2
  745. package/dist/primitives/progress/index.js +2 -2
  746. package/dist/primitives/progress-checklist/index.js +2 -2
  747. package/dist/primitives/project-switcher/index.js +2 -2
  748. package/dist/primitives/quick-action-chips/index.js +2 -2
  749. package/dist/primitives/radio-group/index.js +2 -2
  750. package/dist/primitives/recent-folders-list/index.js +2 -2
  751. package/dist/primitives/rule-card/index.js +2 -2
  752. package/dist/primitives/run-stats/index.js +2 -2
  753. package/dist/primitives/run-status-pill/index.js +4 -0
  754. package/dist/primitives/run-status-pill/index.js.map +1 -0
  755. package/dist/primitives/running-tasks-panel/index.js +2 -2
  756. package/dist/primitives/scroll-area/index.js +3 -2
  757. package/dist/primitives/select/index.js +2 -2
  758. package/dist/primitives/session-list-item/index.js +2 -2
  759. package/dist/primitives/session-timeline/index.js +2 -2
  760. package/dist/primitives/sheet/index.js +2 -2
  761. package/dist/primitives/sidebar/index.js +2 -2
  762. package/dist/primitives/skeleton/index.js +2 -2
  763. package/dist/primitives/skill-card/index.js +2 -2
  764. package/dist/primitives/social-auth-row/index.js +2 -2
  765. package/dist/primitives/stat-tile/index.js +2 -2
  766. package/dist/primitives/status-dot/index.js +4 -2
  767. package/dist/primitives/steps-rail/index.js +2 -2
  768. package/dist/primitives/sub-agent-dispatch/index.js +2 -2
  769. package/dist/primitives/switch/index.js +2 -2
  770. package/dist/primitives/system-prompt-editor/index.js +3 -2
  771. package/dist/primitives/table/index.js +3 -2
  772. package/dist/primitives/tabs/index.js +2 -2
  773. package/dist/primitives/task-plan/index.js +2 -2
  774. package/dist/primitives/terminal-panel/index.js +2 -2
  775. package/dist/primitives/textarea/index.js +2 -2
  776. package/dist/primitives/thinking-level-selector/index.js +5 -0
  777. package/dist/primitives/thinking-level-selector/index.js.map +1 -0
  778. package/dist/primitives/timestamp/index.js +4 -2
  779. package/dist/primitives/toast/index.js +3 -2
  780. package/dist/primitives/token-usage-chart/index.js +2 -2
  781. package/dist/primitives/tool-call/index.js +3 -2
  782. package/dist/primitives/tool-call-card/index.js +3 -2
  783. package/dist/primitives/tool-result/index.js +2 -2
  784. package/dist/primitives/tools-list/index.js +2 -2
  785. package/dist/primitives/tooltip/index.js +2 -2
  786. package/dist/primitives/topnav/index.js +2 -2
  787. package/dist/primitives/update-banner/index.js +4 -0
  788. package/dist/primitives/update-banner/index.js.map +1 -0
  789. package/dist/screens/theo-code-shell.d.ts +9 -0
  790. package/dist/screens/theo-code-shell.data.d.ts +147 -0
  791. package/dist/slide/index.js +2 -1
  792. package/dist/slide/plugins/mermaid/index.js +1 -1
  793. package/dist/slide/plugins/mermaid/index.js.map +1 -1
  794. package/dist/slide/plugins/shiki/index.js.map +1 -1
  795. package/dist/slide/themes/violet-forge.css +1 -1
  796. package/dist/slide-deck/index.js +13 -2
  797. package/dist/slide-deck/index.js.map +1 -1
  798. package/dist/styles/tailwind-preset.d.ts +29 -0
  799. package/dist/styles.css +3 -3
  800. package/dist/test/a11y.d.ts +13 -0
  801. package/dist/test/setup.d.ts +1 -0
  802. package/dist/themes/anthropic-style.d.ts +11 -0
  803. package/dist/themes/aurora-terminal.d.ts +9 -0
  804. package/dist/themes/classic-paper.d.ts +17 -0
  805. package/dist/themes/color-value-pattern.d.ts +22 -0
  806. package/dist/themes/color.d.ts +62 -0
  807. package/dist/themes/define.d.ts +65 -0
  808. package/dist/themes/density.d.ts +17 -0
  809. package/dist/themes/dracula.d.ts +14 -0
  810. package/dist/themes/github-dark.d.ts +11 -0
  811. package/dist/themes/index.d.ts +26 -0
  812. package/dist/themes/linear-glass.d.ts +11 -0
  813. package/dist/themes/one-dark.d.ts +11 -0
  814. package/dist/themes/openai-style.d.ts +10 -0
  815. package/dist/themes/schema.d.ts +112 -0
  816. package/dist/themes/theme-provider.d.ts +82 -0
  817. package/dist/themes/theme-script.d.ts +48 -0
  818. package/dist/themes/theme-switcher.d.ts +17 -0
  819. package/dist/themes/types.d.ts +88 -0
  820. package/dist/themes/vercel-mono.d.ts +11 -0
  821. package/dist/themes/violet-forge.d.ts +12 -0
  822. package/dist/theo-ui-provider.d.ts +50 -0
  823. package/dist/tokens-v4.css +77 -41
  824. package/dist/tokens.css +159 -74
  825. package/dist/types/agent.d.ts +19 -0
  826. package/dist/types/chat.d.ts +173 -0
  827. package/dist/types/mode.d.ts +16 -0
  828. package/dist/types/permission.d.ts +8 -0
  829. package/dist/types/rule.d.ts +28 -0
  830. package/dist/types/task.d.ts +9 -0
  831. package/dist/vite-plugin.d.ts +7 -11
  832. package/dist/vite-plugin.js +4 -4
  833. package/dist/vite-plugin.js.map +1 -1
  834. package/dist/whiteboard/index.js +3 -0
  835. package/dist/whiteboard/index.js.map +1 -1
  836. package/llms.txt +39 -39
  837. package/package.json +246 -174
  838. package/registry/index.json +58 -4
  839. package/registry/r/account-menu.json +1 -1
  840. package/registry/r/action-bar.json +1 -1
  841. package/registry/r/agent-composer.json +1 -1
  842. package/registry/r/agent-editor.json +1 -1
  843. package/registry/r/agent-error-card.json +1 -1
  844. package/registry/r/agent-event.json +1 -1
  845. package/registry/r/agent-handoff.json +1 -1
  846. package/registry/r/agent-profile.json +1 -1
  847. package/registry/r/agent-starting-state.json +1 -1
  848. package/registry/r/agent-stream.json +1 -1
  849. package/registry/r/agent-streaming.json +1 -1
  850. package/registry/r/agent-timeline.json +1 -1
  851. package/registry/r/agent-tool-renderer.json +40 -0
  852. package/registry/r/alert.json +1 -1
  853. package/registry/r/approval-card.json +1 -1
  854. package/registry/r/artifact-preview.json +1 -1
  855. package/registry/r/attachment-chip.json +1 -1
  856. package/registry/r/audit-log-entry.json +1 -1
  857. package/registry/r/auto-compact-notice.json +1 -1
  858. package/registry/r/avatar.json +1 -1
  859. package/registry/r/badge.json +1 -1
  860. package/registry/r/browser-controls.json +1 -1
  861. package/registry/r/build-log-stream.json +2 -1
  862. package/registry/r/button.json +1 -1
  863. package/registry/r/capability-indicator.json +1 -1
  864. package/registry/r/card.json +1 -1
  865. package/registry/r/chat-composer.json +1 -1
  866. package/registry/r/chat-message.json +11 -16
  867. package/registry/r/chat-thread.json +1 -1
  868. package/registry/r/chat-types.json +1 -1
  869. package/registry/r/checkbox.json +1 -1
  870. package/registry/r/choice-prompt.json +25 -0
  871. package/registry/r/cn.json +1 -1
  872. package/registry/r/code-block.json +1 -1
  873. package/registry/r/command-palette.json +1 -1
  874. package/registry/r/confirm-dialog.json +1 -1
  875. package/registry/r/confirm-prompt.json +21 -0
  876. package/registry/r/context-card.json +1 -1
  877. package/registry/r/context-window-bar.json +1 -1
  878. package/registry/r/copy-button.json +1 -1
  879. package/registry/r/cost-meter.json +1 -1
  880. package/registry/r/created-files-card.json +1 -1
  881. package/registry/r/cron-job-card.json +1 -1
  882. package/registry/r/cron-jobs-list.json +1 -1
  883. package/registry/r/danger-zone.json +1 -1
  884. package/registry/r/data-table.json +1 -1
  885. package/registry/r/deployment-row.json +1 -1
  886. package/registry/r/dialog.json +1 -1
  887. package/registry/r/diff-viewer.json +1 -1
  888. package/registry/r/domain-config.json +1 -1
  889. package/registry/r/dropdown-menu.json +2 -2
  890. package/registry/r/empty-state.json +1 -1
  891. package/registry/r/env-var-editor.json +2 -1
  892. package/registry/r/env.json +15 -0
  893. package/registry/r/folder-context-card.json +1 -1
  894. package/registry/r/folder-selector.json +1 -1
  895. package/registry/r/form-field.json +1 -1
  896. package/registry/r/hook-config.json +1 -1
  897. package/registry/r/hook-event-log.json +1 -1
  898. package/registry/r/input.json +1 -1
  899. package/registry/r/intent-selector.json +1 -1
  900. package/registry/r/label.json +1 -1
  901. package/registry/r/lane-board.json +1 -1
  902. package/registry/r/login-split.json +1 -1
  903. package/registry/r/mcp-server-card.json +1 -1
  904. package/registry/r/mcp-server-list.json +1 -1
  905. package/registry/r/memory-editor.json +1 -1
  906. package/registry/r/mention-menu.json +1 -1
  907. package/registry/r/metric-card.json +23 -0
  908. package/registry/r/metrics-panel.json +1 -1
  909. package/registry/r/model-card.json +1 -1
  910. package/registry/r/model-selector.json +1 -1
  911. package/registry/r/multi-select-prompt.json +25 -0
  912. package/registry/r/page-shell.json +1 -1
  913. package/registry/r/pagination.json +1 -1
  914. package/registry/r/permission-matrix.json +1 -1
  915. package/registry/r/permission-modal.json +1 -1
  916. package/registry/r/pin-input.json +1 -1
  917. package/registry/r/plan-badge.json +1 -1
  918. package/registry/r/preview-env-card.json +1 -1
  919. package/registry/r/preview-panel.json +1 -1
  920. package/registry/r/progress-checklist.json +1 -1
  921. package/registry/r/progress.json +1 -1
  922. package/registry/r/project-card.json +1 -1
  923. package/registry/r/project-switcher.json +1 -1
  924. package/registry/r/prompt.json +15 -0
  925. package/registry/r/quick-action-chips.json +1 -1
  926. package/registry/r/radio-group.json +1 -1
  927. package/registry/r/recent-folders-list.json +1 -1
  928. package/registry/r/rollback-ui.json +1 -1
  929. package/registry/r/rule-card.json +1 -1
  930. package/registry/r/rule-editor.json +1 -1
  931. package/registry/r/run-stats.json +1 -1
  932. package/registry/r/running-tasks-panel.json +1 -1
  933. package/registry/r/safe-href.json +1 -1
  934. package/registry/r/scroll-area.json +1 -1
  935. package/registry/r/select.json +1 -1
  936. package/registry/r/session-list-item.json +1 -1
  937. package/registry/r/session-timeline.json +1 -1
  938. package/registry/r/sheet.json +1 -1
  939. package/registry/r/sidebar.json +1 -1
  940. package/registry/r/skeleton.json +1 -1
  941. package/registry/r/skill-card.json +1 -1
  942. package/registry/r/skill-editor.json +1 -1
  943. package/registry/r/skills-list.json +1 -1
  944. package/registry/r/slide-deck.json +8 -8
  945. package/registry/r/slide-plugin-mermaid.json +1 -1
  946. package/registry/r/slide-plugin-shiki.json +1 -1
  947. package/registry/r/slide.json +6 -6
  948. package/registry/r/social-auth-row.json +1 -1
  949. package/registry/r/stat-tile.json +1 -1
  950. package/registry/r/status-dot.json +2 -1
  951. package/registry/r/status-indicator.json +20 -0
  952. package/registry/r/steps-rail.json +1 -1
  953. package/registry/r/sub-agent-dispatch.json +1 -1
  954. package/registry/r/switch.json +1 -1
  955. package/registry/r/system-prompt-editor.json +1 -1
  956. package/registry/r/table.json +1 -1
  957. package/registry/r/tabs.json +1 -1
  958. package/registry/r/tailwind-preset.json +1 -1
  959. package/registry/r/task-header.json +1 -1
  960. package/registry/r/task-plan.json +1 -1
  961. package/registry/r/terminal-panel.json +1 -1
  962. package/registry/r/text-prompt.json +24 -0
  963. package/registry/r/textarea.json +1 -1
  964. package/registry/r/theme-provider.json +7 -6
  965. package/registry/r/theo-ui-provider.json +1 -1
  966. package/registry/r/timestamp.json +2 -1
  967. package/registry/r/toast.json +2 -2
  968. package/registry/r/token-usage-chart.json +1 -1
  969. package/registry/r/tokens.json +2 -2
  970. package/registry/r/tool-call-card.json +1 -1
  971. package/registry/r/tool-call.json +1 -1
  972. package/registry/r/tool-result.json +1 -1
  973. package/registry/r/tools-list.json +1 -1
  974. package/registry/r/tooltip.json +1 -1
  975. package/registry/r/topnav.json +1 -1
  976. package/registry/r/usage-meter.json +1 -1
  977. package/registry/r/whiteboard.json +3 -3
  978. package/dist/chunk-2UJROWAG.js +0 -106
  979. package/dist/chunk-2UJROWAG.js.map +0 -1
  980. package/dist/chunk-2XPWOUEH.js +0 -68
  981. package/dist/chunk-2XPWOUEH.js.map +0 -1
  982. package/dist/chunk-3GHLNCM3.js +0 -42
  983. package/dist/chunk-3GHLNCM3.js.map +0 -1
  984. package/dist/chunk-3HOXC25T.js +0 -48
  985. package/dist/chunk-3HOXC25T.js.map +0 -1
  986. package/dist/chunk-3QGO5SB3.js +0 -46
  987. package/dist/chunk-3QGO5SB3.js.map +0 -1
  988. package/dist/chunk-47QJVWW2.js +0 -85
  989. package/dist/chunk-47QJVWW2.js.map +0 -1
  990. package/dist/chunk-4L63UW3I.js +0 -35
  991. package/dist/chunk-4L63UW3I.js.map +0 -1
  992. package/dist/chunk-4UUSJJFZ.js +0 -25
  993. package/dist/chunk-4UUSJJFZ.js.map +0 -1
  994. package/dist/chunk-4ZBZBRG5.js +0 -127
  995. package/dist/chunk-4ZBZBRG5.js.map +0 -1
  996. package/dist/chunk-57NXT3OX.js +0 -92
  997. package/dist/chunk-57NXT3OX.js.map +0 -1
  998. package/dist/chunk-5FF5EUZP.js +0 -44
  999. package/dist/chunk-5FF5EUZP.js.map +0 -1
  1000. package/dist/chunk-5UGQXB2P.js +0 -714
  1001. package/dist/chunk-5UGQXB2P.js.map +0 -1
  1002. package/dist/chunk-62FT22CI.js +0 -85
  1003. package/dist/chunk-62FT22CI.js.map +0 -1
  1004. package/dist/chunk-673R3GSK.js +0 -19
  1005. package/dist/chunk-673R3GSK.js.map +0 -1
  1006. package/dist/chunk-6VINZJBV.js +0 -128
  1007. package/dist/chunk-6VINZJBV.js.map +0 -1
  1008. package/dist/chunk-74NZ5U3E.js +0 -145
  1009. package/dist/chunk-74NZ5U3E.js.map +0 -1
  1010. package/dist/chunk-755NWSNW.js +0 -36
  1011. package/dist/chunk-755NWSNW.js.map +0 -1
  1012. package/dist/chunk-7GLBWWMW.js +0 -70
  1013. package/dist/chunk-7GLBWWMW.js.map +0 -1
  1014. package/dist/chunk-7RXYW5VM.js +0 -88
  1015. package/dist/chunk-7RXYW5VM.js.map +0 -1
  1016. package/dist/chunk-AC4MGCXI.js +0 -92
  1017. package/dist/chunk-AC4MGCXI.js.map +0 -1
  1018. package/dist/chunk-AEVSVDT6.js +0 -67
  1019. package/dist/chunk-AEVSVDT6.js.map +0 -1
  1020. package/dist/chunk-AODIMN2N.js +0 -68
  1021. package/dist/chunk-AODIMN2N.js.map +0 -1
  1022. package/dist/chunk-ATHOPBCA.js +0 -61
  1023. package/dist/chunk-ATHOPBCA.js.map +0 -1
  1024. package/dist/chunk-AXKBNRZW.js +0 -173
  1025. package/dist/chunk-AXKBNRZW.js.map +0 -1
  1026. package/dist/chunk-B75MEYNR.js +0 -106
  1027. package/dist/chunk-B75MEYNR.js.map +0 -1
  1028. package/dist/chunk-BGKA6DI6.js +0 -34
  1029. package/dist/chunk-BGKA6DI6.js.map +0 -1
  1030. package/dist/chunk-BNQAJGEN.js +0 -88
  1031. package/dist/chunk-BNQAJGEN.js.map +0 -1
  1032. package/dist/chunk-BP2SETUC.js +0 -101
  1033. package/dist/chunk-BP2SETUC.js.map +0 -1
  1034. package/dist/chunk-BPUQWMBD.js +0 -79
  1035. package/dist/chunk-BPUQWMBD.js.map +0 -1
  1036. package/dist/chunk-BVDASR3Y.js +0 -74
  1037. package/dist/chunk-BVDASR3Y.js.map +0 -1
  1038. package/dist/chunk-BX7A5GUV.js +0 -78
  1039. package/dist/chunk-BX7A5GUV.js.map +0 -1
  1040. package/dist/chunk-CDA6RYOX.js +0 -115
  1041. package/dist/chunk-CDA6RYOX.js.map +0 -1
  1042. package/dist/chunk-CG7O3A42.js +0 -80
  1043. package/dist/chunk-CG7O3A42.js.map +0 -1
  1044. package/dist/chunk-CIYGNPKT.js +0 -76
  1045. package/dist/chunk-CIYGNPKT.js.map +0 -1
  1046. package/dist/chunk-CKXY4FTV.js +0 -59
  1047. package/dist/chunk-CKXY4FTV.js.map +0 -1
  1048. package/dist/chunk-CVOKZITR.js +0 -82
  1049. package/dist/chunk-CVOKZITR.js.map +0 -1
  1050. package/dist/chunk-CWFMFKDI.js +0 -82
  1051. package/dist/chunk-CWFMFKDI.js.map +0 -1
  1052. package/dist/chunk-CWVKSV7S.js +0 -124
  1053. package/dist/chunk-CWVKSV7S.js.map +0 -1
  1054. package/dist/chunk-CYOLRWOX.js +0 -63
  1055. package/dist/chunk-CYOLRWOX.js.map +0 -1
  1056. package/dist/chunk-D23LRJT6.js +0 -116
  1057. package/dist/chunk-D23LRJT6.js.map +0 -1
  1058. package/dist/chunk-DFADMEJK.js +0 -127
  1059. package/dist/chunk-DFADMEJK.js.map +0 -1
  1060. package/dist/chunk-DKQAHZG2.js +0 -83
  1061. package/dist/chunk-DKQAHZG2.js.map +0 -1
  1062. package/dist/chunk-DW247T3Q.js +0 -199
  1063. package/dist/chunk-DW247T3Q.js.map +0 -1
  1064. package/dist/chunk-E5A7HN6H.js +0 -32
  1065. package/dist/chunk-E5A7HN6H.js.map +0 -1
  1066. package/dist/chunk-EI63GTN7.js +0 -57
  1067. package/dist/chunk-EI63GTN7.js.map +0 -1
  1068. package/dist/chunk-EP25QJ4N.js +0 -146
  1069. package/dist/chunk-EP25QJ4N.js.map +0 -1
  1070. package/dist/chunk-ET44426Q.js +0 -80
  1071. package/dist/chunk-ET44426Q.js.map +0 -1
  1072. package/dist/chunk-ETEIDY34.js +0 -67
  1073. package/dist/chunk-ETEIDY34.js.map +0 -1
  1074. package/dist/chunk-EU55O4P7.js +0 -76
  1075. package/dist/chunk-EU55O4P7.js.map +0 -1
  1076. package/dist/chunk-F436537E.js +0 -104
  1077. package/dist/chunk-F436537E.js.map +0 -1
  1078. package/dist/chunk-FLBTGNQI.js +0 -86
  1079. package/dist/chunk-FLBTGNQI.js.map +0 -1
  1080. package/dist/chunk-FUT45NFW.js +0 -46
  1081. package/dist/chunk-FUT45NFW.js.map +0 -1
  1082. package/dist/chunk-G3LWNTVZ.js +0 -51
  1083. package/dist/chunk-G3LWNTVZ.js.map +0 -1
  1084. package/dist/chunk-GBJB5WLT.js +0 -58
  1085. package/dist/chunk-GBJB5WLT.js.map +0 -1
  1086. package/dist/chunk-GIEPEFRX.js +0 -110
  1087. package/dist/chunk-GIEPEFRX.js.map +0 -1
  1088. package/dist/chunk-GSO7MISR.js +0 -58
  1089. package/dist/chunk-GSO7MISR.js.map +0 -1
  1090. package/dist/chunk-GUQFYUIC.js +0 -61
  1091. package/dist/chunk-GUQFYUIC.js.map +0 -1
  1092. package/dist/chunk-H3VJMFJQ.js +0 -35
  1093. package/dist/chunk-H3VJMFJQ.js.map +0 -1
  1094. package/dist/chunk-HG4WEERE.js +0 -26
  1095. package/dist/chunk-HG4WEERE.js.map +0 -1
  1096. package/dist/chunk-HGPBGLNP.js +0 -51
  1097. package/dist/chunk-HGPBGLNP.js.map +0 -1
  1098. package/dist/chunk-HQFTW7SF.js +0 -141
  1099. package/dist/chunk-HQFTW7SF.js.map +0 -1
  1100. package/dist/chunk-I7WYM63C.js +0 -170
  1101. package/dist/chunk-I7WYM63C.js.map +0 -1
  1102. package/dist/chunk-IPEYGWA7.js +0 -186
  1103. package/dist/chunk-IPEYGWA7.js.map +0 -1
  1104. package/dist/chunk-JQXLPVWP.js +0 -74
  1105. package/dist/chunk-JQXLPVWP.js.map +0 -1
  1106. package/dist/chunk-K5ARID4S.js +0 -26
  1107. package/dist/chunk-K5ARID4S.js.map +0 -1
  1108. package/dist/chunk-K6RTLPIJ.js +0 -41
  1109. package/dist/chunk-K6RTLPIJ.js.map +0 -1
  1110. package/dist/chunk-KQNKKV2C.js +0 -56
  1111. package/dist/chunk-KQNKKV2C.js.map +0 -1
  1112. package/dist/chunk-KRN4NE4U.js +0 -155
  1113. package/dist/chunk-KRN4NE4U.js.map +0 -1
  1114. package/dist/chunk-L2BI762I.js +0 -82
  1115. package/dist/chunk-L2BI762I.js.map +0 -1
  1116. package/dist/chunk-LEEH63B2.js +0 -56
  1117. package/dist/chunk-LEEH63B2.js.map +0 -1
  1118. package/dist/chunk-LHRWVM3G.js +0 -42
  1119. package/dist/chunk-LHRWVM3G.js.map +0 -1
  1120. package/dist/chunk-LIGWMGXM.js +0 -117
  1121. package/dist/chunk-LIGWMGXM.js.map +0 -1
  1122. package/dist/chunk-LKYSX3QF.js +0 -104
  1123. package/dist/chunk-LKYSX3QF.js.map +0 -1
  1124. package/dist/chunk-MCIFB6VS.js +0 -54
  1125. package/dist/chunk-MCIFB6VS.js.map +0 -1
  1126. package/dist/chunk-MI5CXMZU.js +0 -171
  1127. package/dist/chunk-MI5CXMZU.js.map +0 -1
  1128. package/dist/chunk-NQZYY4LR.js +0 -84
  1129. package/dist/chunk-NQZYY4LR.js.map +0 -1
  1130. package/dist/chunk-O23LKHUR.js +0 -66
  1131. package/dist/chunk-O23LKHUR.js.map +0 -1
  1132. package/dist/chunk-PASI2U2R.js +0 -23
  1133. package/dist/chunk-PASI2U2R.js.map +0 -1
  1134. package/dist/chunk-PPH5NTHV.js +0 -34
  1135. package/dist/chunk-PPH5NTHV.js.map +0 -1
  1136. package/dist/chunk-PR6OZF6D.js +0 -28
  1137. package/dist/chunk-PR6OZF6D.js.map +0 -1
  1138. package/dist/chunk-PWXOXPFT.js +0 -142
  1139. package/dist/chunk-PWXOXPFT.js.map +0 -1
  1140. package/dist/chunk-QB6BNHO3.js +0 -112
  1141. package/dist/chunk-QB6BNHO3.js.map +0 -1
  1142. package/dist/chunk-QJGGTIUN.js +0 -110
  1143. package/dist/chunk-QJGGTIUN.js.map +0 -1
  1144. package/dist/chunk-QSOIJ6J3.js +0 -91
  1145. package/dist/chunk-QSOIJ6J3.js.map +0 -1
  1146. package/dist/chunk-R2PAGRDP.js +0 -152
  1147. package/dist/chunk-R2PAGRDP.js.map +0 -1
  1148. package/dist/chunk-R63ZKLQM.js +0 -45
  1149. package/dist/chunk-R63ZKLQM.js.map +0 -1
  1150. package/dist/chunk-RTYYJPPE.js +0 -77
  1151. package/dist/chunk-RTYYJPPE.js.map +0 -1
  1152. package/dist/chunk-RVOBP7PO.js +0 -116
  1153. package/dist/chunk-RVOBP7PO.js.map +0 -1
  1154. package/dist/chunk-SF6R5VMQ.js +0 -97
  1155. package/dist/chunk-SF6R5VMQ.js.map +0 -1
  1156. package/dist/chunk-SP4CP5HY.js +0 -57
  1157. package/dist/chunk-SP4CP5HY.js.map +0 -1
  1158. package/dist/chunk-SWJ4EUOI.js +0 -30
  1159. package/dist/chunk-SWJ4EUOI.js.map +0 -1
  1160. package/dist/chunk-TK24HQJJ.js +0 -128
  1161. package/dist/chunk-TK24HQJJ.js.map +0 -1
  1162. package/dist/chunk-TNBJ36XJ.js +0 -156
  1163. package/dist/chunk-TNBJ36XJ.js.map +0 -1
  1164. package/dist/chunk-TO3UAT6O.js +0 -221
  1165. package/dist/chunk-TO3UAT6O.js.map +0 -1
  1166. package/dist/chunk-UAYOOTRR.js +0 -77
  1167. package/dist/chunk-UAYOOTRR.js.map +0 -1
  1168. package/dist/chunk-UDTAMHXW.js +0 -55
  1169. package/dist/chunk-UDTAMHXW.js.map +0 -1
  1170. package/dist/chunk-UOXU7NDY.js +0 -120
  1171. package/dist/chunk-UOXU7NDY.js.map +0 -1
  1172. package/dist/chunk-V7OOTVK3.js +0 -106
  1173. package/dist/chunk-V7OOTVK3.js.map +0 -1
  1174. package/dist/chunk-VI5M7KJ2.js +0 -1022
  1175. package/dist/chunk-VI5M7KJ2.js.map +0 -1
  1176. package/dist/chunk-VMMATOPE.js +0 -64
  1177. package/dist/chunk-VMMATOPE.js.map +0 -1
  1178. package/dist/chunk-W2PVSIW3.js +0 -89
  1179. package/dist/chunk-W2PVSIW3.js.map +0 -1
  1180. package/dist/chunk-W3DUDZDU.js +0 -88
  1181. package/dist/chunk-W3DUDZDU.js.map +0 -1
  1182. package/dist/chunk-WKEUU2FU.js +0 -114
  1183. package/dist/chunk-WKEUU2FU.js.map +0 -1
  1184. package/dist/chunk-WKLW7RC6.js +0 -28
  1185. package/dist/chunk-WKLW7RC6.js.map +0 -1
  1186. package/dist/chunk-WSJGZNUH.js +0 -111
  1187. package/dist/chunk-WSJGZNUH.js.map +0 -1
  1188. package/dist/chunk-WVPDQMC2.js +0 -144
  1189. package/dist/chunk-WVPDQMC2.js.map +0 -1
  1190. package/dist/chunk-WWNH5ENT.js +0 -43
  1191. package/dist/chunk-WWNH5ENT.js.map +0 -1
  1192. package/dist/chunk-X5L62PXY.js +0 -112
  1193. package/dist/chunk-X5L62PXY.js.map +0 -1
  1194. package/dist/chunk-XGCV5E6W.js +0 -133
  1195. package/dist/chunk-XGCV5E6W.js.map +0 -1
  1196. package/dist/chunk-XRKIEL5M.js +0 -72
  1197. package/dist/chunk-XRKIEL5M.js.map +0 -1
  1198. package/dist/chunk-XUJYEADU.js +0 -80
  1199. package/dist/chunk-XUJYEADU.js.map +0 -1
  1200. package/dist/chunk-XVYNSIQC.js +0 -116
  1201. package/dist/chunk-XVYNSIQC.js.map +0 -1
  1202. package/dist/chunk-XWTISHXO.js +0 -54
  1203. package/dist/chunk-XWTISHXO.js.map +0 -1
  1204. package/dist/chunk-YOGHS4UU.js +0 -202
  1205. package/dist/chunk-YOGHS4UU.js.map +0 -1
  1206. package/dist/chunk-YRSKXEOD.js +0 -135
  1207. package/dist/chunk-YRSKXEOD.js.map +0 -1
  1208. package/dist/chunk-ZALLCR7X.js +0 -108
  1209. package/dist/chunk-ZALLCR7X.js.map +0 -1
  1210. package/dist/chunk-ZDAOHMCW.js +0 -46
  1211. package/dist/chunk-ZDAOHMCW.js.map +0 -1
  1212. package/dist/chunk-ZESICCKK.js +0 -37
  1213. package/dist/chunk-ZESICCKK.js.map +0 -1
  1214. package/dist/chunk-ZIKFOD6N.js +0 -87
  1215. package/dist/chunk-ZIKFOD6N.js.map +0 -1
  1216. package/dist/chunk-ZJRWCQEN.js +0 -76
  1217. package/dist/chunk-ZJRWCQEN.js.map +0 -1
  1218. package/dist/chunk-ZSRJCIWF.js +0 -24
  1219. package/dist/chunk-ZSRJCIWF.js.map +0 -1
  1220. package/dist/plugin-Atb0VKtr.d.ts +0 -172
  1221. package/dist/slide/index.d.ts +0 -212
  1222. package/dist/slide/plugins/emoji/index.d.ts +0 -29
  1223. package/dist/slide/plugins/math/index.d.ts +0 -13
  1224. package/dist/slide/plugins/mermaid/index.d.ts +0 -55
  1225. package/dist/slide/plugins/shiki/index.d.ts +0 -18
  1226. package/dist/slide-deck/index.d.ts +0 -377
  1227. package/dist/whiteboard/index.d.ts +0 -258
@@ -1,4 +1,5 @@
1
- export { SystemPromptEditor } from '../../chunk-BNQAJGEN.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ "use client";
2
+ export { SystemPromptEditor } from '../../chunk-H5QPJNVD.js';
3
+ import '../../chunk-EWDN56AS.js';
3
4
  //# sourceMappingURL=index.js.map
4
5
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
- export { Table } from '../../chunk-YRSKXEOD.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ "use client";
2
+ export { Table } from '../../chunk-KHBXI6AV.js';
3
+ import '../../chunk-EWDN56AS.js';
3
4
  //# sourceMappingURL=index.js.map
4
5
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { Tabs } from '../../chunk-GBJB5WLT.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { Tabs } from '../../chunk-E26M7ATD.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { TaskNode, TaskPlan } from '../../chunk-XUJYEADU.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { TaskNode, TaskPlan } from '../../chunk-YUFFAWNB.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- export { TerminalPanel } from '../../chunk-LEEH63B2.js';
1
+ export { TerminalPanel } from '../../chunk-3ZXZGZOX.js';
2
2
  import '../../chunk-UGKI466V.js';
3
- import '../../chunk-ZSRJCIWF.js';
3
+ import '../../chunk-EWDN56AS.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { Textarea } from '../../chunk-WWNH5ENT.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { Textarea } from '../../chunk-ESJUISWY.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,5 @@
1
+ export { ThinkingLevelSelector } from '../../chunk-OZFUUO2Q.js';
2
+ import '../../chunk-ML7WLNIK.js';
3
+ import '../../chunk-EWDN56AS.js';
4
+ //# sourceMappingURL=index.js.map
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -1,4 +1,6 @@
1
- export { Timestamp } from '../../chunk-4ZBZBRG5.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ "use client";
2
+ export { Timestamp } from '../../chunk-ETTL6XGU.js';
3
+ import '../../chunk-ML7WLNIK.js';
4
+ import '../../chunk-EWDN56AS.js';
3
5
  //# sourceMappingURL=index.js.map
4
6
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
- export { Toast, Toaster, useToast } from '../../chunk-I7WYM63C.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ "use client";
2
+ export { Toast, Toaster, useToast } from '../../chunk-HTJVHFNW.js';
3
+ import '../../chunk-EWDN56AS.js';
3
4
  //# sourceMappingURL=index.js.map
4
5
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { TokenUsageChart } from '../../chunk-AXKBNRZW.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { TokenUsageChart, splitUsagePoints, toUsageMetrics } from '../../chunk-QCQTTOMD.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
- export { ToolCall } from '../../chunk-SP4CP5HY.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ "use client";
2
+ export { ToolCall } from '../../chunk-PXT47DRZ.js';
3
+ import '../../chunk-EWDN56AS.js';
3
4
  //# sourceMappingURL=index.js.map
4
5
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
- export { ToolCallCard } from '../../chunk-CWFMFKDI.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ "use client";
2
+ export { ToolCallCard } from '../../chunk-VZX4HLBM.js';
3
+ import '../../chunk-EWDN56AS.js';
3
4
  //# sourceMappingURL=index.js.map
4
5
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { ToolResult } from '../../chunk-HG4WEERE.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { ToolResult } from '../../chunk-YDKRUSB5.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { ToolsList } from '../../chunk-JQXLPVWP.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { ToolsList } from '../../chunk-4SMYNLTA.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { TooltipWithStatics as Tooltip } from '../../chunk-FUT45NFW.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { TooltipWithStatics as Tooltip } from '../../chunk-7RFWVNQA.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { TopNav } from '../../chunk-74NZ5U3E.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { TopNav } from '../../chunk-FJZKA2LV.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ export { UpdateBanner } from '../../chunk-JXOCE27Z.js';
2
+ import '../../chunk-EWDN56AS.js';
3
+ //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -0,0 +1,9 @@
1
+ import { type Mode } from "../types/mode.js";
2
+ interface TheoCodeShellProps {
3
+ /** Override the outer wrapper className. Default fills the parent box. */
4
+ className?: string;
5
+ /** Initial mode. Default "code". */
6
+ initialMode?: Mode;
7
+ }
8
+ export declare function TheoCodeShell({ className, initialMode }: TheoCodeShellProps): import("react/jsx-runtime").JSX.Element | null;
9
+ export {};
@@ -0,0 +1,147 @@
1
+ /**
2
+ * theo-code-shell.data.ts — extracted mock data for the TheoCodeShell screen.
3
+ *
4
+ * The screen is a non-exported Ladle story (it lives in `src/screens/` but is
5
+ * never re-exported from `src/index.ts`). The split keeps the orchestrating
6
+ * component under a manageable size while leaving the ~900 lines of mock
7
+ * fixtures in one focused module.
8
+ */
9
+ import { type LucideIcon } from "lucide-react";
10
+ import type { AgentDraft } from "../components/composites/agent-editor/agent-editor.js";
11
+ import type { AgentStreamItem } from "../components/composites/agent-stream/agent-stream.js";
12
+ import type { Deployment } from "../components/composites/deployment-row/deployment-row.js";
13
+ import type { Domain } from "../components/composites/domain-config/domain-config.js";
14
+ import type { EnvVar } from "../components/composites/env-var-editor/env-var-editor.js";
15
+ import type { RollbackTarget } from "../components/composites/rollback-ui/rollback-ui.js";
16
+ import type { LogLine } from "../components/primitives/build-log-stream/build-log-stream.js";
17
+ import type { MentionItem } from "../components/primitives/mention-menu/mention-menu.js";
18
+ import type { SessionRunStatus } from "../components/primitives/session-list-item/session-list-item.js";
19
+ import type { Skill } from "../components/primitives/skill-card/skill-card.js";
20
+ import type { AgentEvent } from "../types/agent.js";
21
+ import type { UIMessage } from "../types/chat.js";
22
+ import type { Mode } from "../types/mode.js";
23
+ import type { Rule } from "../types/rule.js";
24
+ export declare const SESSIONS: Array<{
25
+ id: string;
26
+ title: string;
27
+ status: SessionRunStatus;
28
+ mode: Mode;
29
+ timestamp: string;
30
+ unread?: number;
31
+ }>;
32
+ export declare const MESSAGES: UIMessage[];
33
+ export declare const AGENT_EVENTS: AgentEvent[];
34
+ export declare const MODELS: ({
35
+ id: string;
36
+ label: string;
37
+ tag: "smart";
38
+ } | {
39
+ id: string;
40
+ label: string;
41
+ tag: "default";
42
+ } | {
43
+ id: string;
44
+ label: string;
45
+ tag: "fast";
46
+ })[];
47
+ export declare const INTENTS: {
48
+ id: string;
49
+ label: string;
50
+ description: string;
51
+ icon: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
52
+ }[];
53
+ export declare const SLASH_COMMANDS: MentionItem[];
54
+ export declare const FILE_MENTIONS: MentionItem[];
55
+ export declare const MEMORY_MENTIONS: MentionItem[];
56
+ /** Per-mode workspace items rendered in the Sidebar "Workspace" section. */
57
+ export type WorkspaceItemId = "memory" | "conversations" | "observability" | "subagents" | "hooks" | "deployments" | "builds" | "environments" | "domains" | "secrets" | "audit";
58
+ export interface WorkspaceItem {
59
+ id: WorkspaceItemId;
60
+ label: string;
61
+ icon: LucideIcon;
62
+ }
63
+ export declare const WORKSPACE_BY_MODE: Record<Mode, WorkspaceItem[]>;
64
+ export declare const DOMAINS_LIB: Domain[];
65
+ export declare const SECRETS_LIB: EnvVar[];
66
+ export declare const ENVIRONMENTS_LIB: {
67
+ name: string;
68
+ status: string;
69
+ projectCount: number;
70
+ region: string;
71
+ }[];
72
+ export declare const AUDIT_LIB: ({
73
+ id: string;
74
+ actor: {
75
+ kind: "user";
76
+ name: string;
77
+ };
78
+ action: string;
79
+ target: string;
80
+ timestamp: string;
81
+ severity: "warning";
82
+ } | {
83
+ id: string;
84
+ actor: {
85
+ kind: "agent";
86
+ name: string;
87
+ };
88
+ action: string;
89
+ target: string;
90
+ timestamp: string;
91
+ severity?: undefined;
92
+ } | {
93
+ id: string;
94
+ actor: {
95
+ kind: "system";
96
+ name: string;
97
+ };
98
+ action: string;
99
+ target: string;
100
+ timestamp: string;
101
+ severity?: undefined;
102
+ } | {
103
+ id: string;
104
+ actor: {
105
+ kind: "user";
106
+ name: string;
107
+ };
108
+ action: string;
109
+ target: string;
110
+ timestamp: string;
111
+ severity?: undefined;
112
+ })[];
113
+ export declare const INFRA_MESSAGES: UIMessage[];
114
+ export declare const RECENT_DEPLOYS: Deployment[];
115
+ export declare const INFRA_LOGS: LogLine[];
116
+ export declare const ROLLBACK_HISTORY: RollbackTarget[];
117
+ export declare const DEFAULT_SYSTEM_PROMPT = "You are Theo Code, an autonomous coding agent.\n\nOperate inside the active workspace. Use the available tools to read, plan, edit, and verify code changes. Always run typecheck and tests after substantive edits.\n\nWhen uncertain, ask before destructive actions.";
118
+ export declare const SKILLS_LIB: Skill[];
119
+ export declare const AGENTS_LIB: AgentDraft[];
120
+ export declare const RULES_LIB: Rule[];
121
+ export declare const CODE_STREAM: AgentStreamItem[];
122
+ /** Tool the agent used to produce this change. Matches Theo Code / Claude Code tool names. */
123
+ export type AgentTool = "Write" | "Edit" | "MultiEdit" | "NotebookEdit" | "Bash";
124
+ export interface FileChange {
125
+ id: string;
126
+ path: string;
127
+ /** Which agent tool produced this change. */
128
+ tool: AgentTool;
129
+ stats: {
130
+ added: number;
131
+ removed: number;
132
+ };
133
+ hunks: Array<{
134
+ id: string;
135
+ header?: string;
136
+ collapsed?: boolean;
137
+ lines: Array<{
138
+ kind: "added" | "removed" | "unchanged" | "meta";
139
+ oldNumber?: number;
140
+ newNumber?: number;
141
+ content: string;
142
+ }>;
143
+ }>;
144
+ }
145
+ export declare const FILE_CHANGES: FileChange[];
146
+ /** Visual treatment for each tool pill — colour signals intent at a glance. */
147
+ export declare const TOOL_PILL: Record<AgentTool, string>;
@@ -1,3 +1,4 @@
1
- export { MAX_RAW_FRONTMATTER, Slide, collectTagCounts, composePlugins, extractFrontmatter, getSlideSanitizeSchema, hastToReact, isSlideTheme, mdastToHast, parseBody, parseSlide, sanitizeHast, slideFrontmatter, slideFrontmatterJsonSchema, slideInput, slideTheme, slideThemes, useSlideFit, validateSlide } from '../chunk-5UGQXB2P.js';
1
+ "use client";
2
+ export { MAX_RAW_FRONTMATTER, Slide, collectTagCounts, composePlugins, extractFrontmatter, getSlideSanitizeSchema, hastToReact, isSlideTheme, mdastToHast, parseBody, parseSlide, sanitizeHast, slideFrontmatter, slideFrontmatterJsonSchema, slideInput, slideTheme, slideThemes, useSlideFit, validateSlide } from '../chunk-CVFSNA4K.js';
2
3
  //# sourceMappingURL=index.js.map
3
4
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,6 @@
1
1
  import { useState, useEffect } from 'react';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
 
4
- // src/components/primitives/slide/plugins/mermaid/index.tsx
5
4
  var SVG_TAG_NAMES = [
6
5
  "div",
7
6
  // Custom element used to bridge into our React renderer (mapped via components).
@@ -133,6 +132,7 @@ var MermaidDiagram = ({ source, theme }) => {
133
132
  return /* @__PURE__ */ jsx(
134
133
  "div",
135
134
  {
135
+ "data-slot": "mermaid-diagram",
136
136
  "data-theo-slide-mermaid": true,
137
137
  "data-state": "error",
138
138
  role: "img",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/primitives/slide/plugins/mermaid/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { Element, Root as HastRoot } from \"hast\";\n/**\n * Slide rich-content plugin — Mermaid diagrams.\n *\n * Peer-dep: `mermaid` (optional, ~370 KB raw — lazy + opt-in mandatory).\n * Render is client-only because Mermaid measures DOM nodes during layout;\n * SSR / static render emits a labelled placeholder + source-code fallback.\n *\n * Pipeline contribution (D11 of the rich-content plan):\n * - `hastTransform`: detect `<pre><code class=\"language-mermaid\">…</code></pre>`\n * and replace with `<div class=\"theo-slide-mermaid-host\" data-theo-mermaid-source=\"…\">`.\n * - `components.div`: when div has `data-theo-mermaid-source`, render the\n * `<MermaidDiagram>` React component that lazy-imports `mermaid` and\n * injects the SVG via `dangerouslySetInnerHTML` after `mermaid.render()`.\n *\n * EC-4: complete SVG tag + attribute allow-list (~30 tags) so the rendered SVG\n * survives sanitize. Critical: without these, sanitize strips the SVG entirely.\n *\n * EC-10: SSR placeholder is distinguishable from a render error. Error path\n * surfaces the Mermaid source code in a `<pre>` so consumers can debug + the\n * print path still shows the code (PDF cannot run dynamic Mermaid).\n */\nimport { type FC, useEffect, useState } from \"react\";\nimport type { SlidePlugin } from \"../../plugin.js\";\n\n// EC-4: comprehensive SVG tag list (mermaid 11.x output across diagram types).\nconst SVG_TAG_NAMES = [\n \"div\",\n // Custom element used to bridge into our React renderer (mapped via components).\n \"theo-mermaid\",\n // root + grouping\n \"svg\",\n \"g\",\n \"defs\",\n \"use\",\n \"symbol\",\n \"marker\",\n \"pattern\",\n \"mask\",\n \"clipPath\",\n // shapes\n \"path\",\n \"rect\",\n \"circle\",\n \"ellipse\",\n \"line\",\n \"polyline\",\n \"polygon\",\n // text\n \"text\",\n \"tspan\",\n \"textPath\",\n \"title\",\n \"desc\",\n // gradients + filters (used by some flowchart themes)\n \"linearGradient\",\n \"radialGradient\",\n \"stop\",\n \"filter\",\n \"feGaussianBlur\",\n \"feOffset\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feMerge\",\n \"feMergeNode\",\n \"feFlood\",\n // foreign content (HTML labels)\n \"foreignObject\",\n \"span\",\n \"br\",\n];\n\nconst SVG_ATTRIBUTES: Record<string, string[]> = {\n \"*\": [\n \"id\",\n \"className\",\n \"style\",\n \"transform\",\n \"fill\",\n \"stroke\",\n \"strokeWidth\",\n \"strokeDasharray\",\n \"strokeLinecap\",\n \"strokeLinejoin\",\n \"opacity\",\n \"fillOpacity\",\n \"strokeOpacity\",\n \"ariaLabel\",\n \"ariaHidden\",\n \"role\",\n ],\n svg: [\"xmlns\", \"viewBox\", \"width\", \"height\", \"preserveAspectRatio\", \"xmlnsXlink\", \"version\"],\n path: [\"d\", \"markerEnd\", \"markerStart\", \"markerMid\"],\n rect: [\"x\", \"y\", \"width\", \"height\", \"rx\", \"ry\"],\n circle: [\"cx\", \"cy\", \"r\"],\n ellipse: [\"cx\", \"cy\", \"rx\", \"ry\"],\n line: [\"x1\", \"y1\", \"x2\", \"y2\"],\n polyline: [\"points\"],\n polygon: [\"points\"],\n text: [\n \"x\",\n \"y\",\n \"dx\",\n \"dy\",\n \"textAnchor\",\n \"dominantBaseline\",\n \"fontSize\",\n \"fontFamily\",\n \"fontWeight\",\n ],\n tspan: [\"x\", \"y\", \"dx\", \"dy\"],\n textPath: [\"xlinkHref\", \"href\", \"startOffset\"],\n marker: [\"markerUnits\", \"markerWidth\", \"markerHeight\", \"refX\", \"refY\", \"orient\", \"viewBox\"],\n use: [\"xlinkHref\", \"href\", \"x\", \"y\", \"width\", \"height\"],\n linearGradient: [\"x1\", \"y1\", \"x2\", \"y2\", \"gradientUnits\"],\n radialGradient: [\"cx\", \"cy\", \"r\", \"fx\", \"fy\", \"gradientUnits\"],\n stop: [\"offset\", \"stopColor\", \"stopOpacity\"],\n foreignObject: [\"x\", \"y\", \"width\", \"height\"],\n div: [\"data-state\", \"data-theo-mermaid-source\", \"className\"],\n \"theo-mermaid\": [\"source\"],\n};\n\nexport interface MermaidPluginOptions {\n /** Mermaid theme name. Defaults to `\"default\"`. */\n theme?: \"default\" | \"forest\" | \"dark\" | \"neutral\" | \"base\";\n}\n\n/**\n * React component that renders Mermaid lazily on mount.\n *\n * SSR / pre-load: renders the source as `<pre>` + `role=\"img\"` for a11y.\n * Client: lazy-loads `mermaid`, calls `mermaid.render()`, then injects the\n * resulting SVG via `dangerouslySetInnerHTML` so React owns the DOM\n * subtree (avoids reconciliation crashes when state flips back to the\n * placeholder — `ref.innerHTML` would mutate under React's feet).\n *\n * The Mermaid output is a TRUSTED string from the `mermaid` lib itself (not\n * user-controlled markup) — the user-supplied source is the DSL, not raw HTML.\n * Using dangerouslySetInnerHTML here is a controlled escape hatch.\n *\n * Peer-dep guard: if `import(\"mermaid\")` fails, falls back to the same\n * pre-formatted source view + an `aria-label` hint (EC-10).\n */\nexport const MermaidDiagram: FC<{ source: string; theme?: string }> = ({ source, theme }) => {\n const [svg, setSvg] = useState<string | null>(null);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n // Reset state when source/theme changes so the placeholder shows again\n // while the new diagram renders.\n setSvg(null);\n setError(null);\n (async () => {\n try {\n // biome-ignore lint/suspicious/noExplicitAny: mermaid default export untyped\n const mermaid: any = (await import(\"mermaid\")).default;\n if (cancelled) return;\n mermaid.initialize({ startOnLoad: false, theme: theme ?? \"default\" });\n const id = `theo-mmd-${Math.random().toString(36).slice(2, 10)}`;\n const result = await mermaid.render(id, source);\n if (!cancelled) {\n setSvg(result.svg);\n }\n } catch (e) {\n if (cancelled) return;\n const msg = e instanceof Error ? e.message : String(e);\n // Recognize the various module-resolution failure messages emitted by\n // Node, Vite, Rollup, Webpack, Vitest, and browser dynamic-import.\n const moduleNotFound =\n msg.includes(\"Cannot find module\") ||\n msg.includes(\"Could not resolve\") ||\n msg.includes(\"Failed to fetch\") ||\n msg.includes(\"Failed to resolve module\") ||\n msg.includes(\"ERR_MODULE_NOT_FOUND\");\n if (moduleNotFound) {\n setError(\"Mermaid not installed. Run: pnpm add mermaid\");\n } else {\n setError(`Mermaid render failed: ${msg}`);\n }\n }\n })();\n return () => {\n cancelled = true;\n };\n }, [source, theme]);\n\n if (error) {\n return (\n <div\n data-theo-slide-mermaid\n data-state=\"error\"\n role=\"img\"\n aria-label={error}\n className=\"theo-slide-mermaid-host\"\n >\n <pre style={{ fontSize: \"0.8em\", opacity: 0.7, whiteSpace: \"pre-wrap\" }}>{source}</pre>\n </div>\n );\n }\n if (svg) {\n // SVG is React-owned via dangerouslySetInnerHTML so the next state change\n // (e.g. new `source` prop → back to placeholder) can unmount cleanly.\n return (\n <div\n data-theo-slide-mermaid\n data-state=\"ready\"\n role=\"img\"\n aria-label=\"Mermaid diagram\"\n className=\"theo-slide-mermaid-host\"\n // biome-ignore lint/security/noDangerouslySetInnerHtml: mermaid.render() output is trusted (lib-generated SVG, not user markup)\n dangerouslySetInnerHTML={{ __html: svg }}\n />\n );\n }\n return (\n <div\n data-theo-slide-mermaid\n data-state=\"loading\"\n role=\"img\"\n aria-label=\"Mermaid diagram\"\n className=\"theo-slide-mermaid-host\"\n >\n <pre style={{ fontSize: \"0.7em\", opacity: 0.4, whiteSpace: \"pre-wrap\" }}>{source}</pre>\n </div>\n );\n};\n\nexport function mermaidPlugin(opts: MermaidPluginOptions = {}): SlidePlugin {\n return {\n name: \"mermaid\",\n sanitizeSchemaExtension: {\n tagNames: SVG_TAG_NAMES,\n attributes: SVG_ATTRIBUTES,\n },\n components: {\n // The hastTransform below replaces mermaid <pre> with a `<div>` carrying\n // `data-theo-mermaid-source`. We can't override `div` globally — instead,\n // we use a custom tagName `theo-mermaid` that the React renderer maps.\n \"theo-mermaid\": ((props: { source?: string }) => (\n <MermaidDiagram source={props.source ?? \"\"} theme={opts.theme} />\n )) as FC<unknown>,\n },\n async hastTransform(tree: HastRoot): Promise<HastRoot> {\n // unist-util-visit is a peer-dep of the slide stack — should always be\n // present. Guard anyway per EC-2.\n // biome-ignore lint/suspicious/noExplicitAny: unist-util-visit untyped at runtime\n let visit: any;\n try {\n visit = (await import(\"unist-util-visit\")).visit;\n } catch (e) {\n throw new Error(`[slide/plugins/mermaid] peer-dep 'unist-util-visit' missing: ${e}`);\n }\n visit(\n tree,\n \"element\",\n (\n node: Element,\n _idx: number | undefined,\n parent: { tagName?: string; type?: string; children?: unknown[] } | undefined,\n ) => {\n if (node.tagName !== \"code\") return;\n const className = (node.properties?.className as string[] | undefined) ?? [];\n if (!className.includes(\"language-mermaid\")) return;\n if (!parent || parent.tagName !== \"pre\") return;\n const codeNode = node.children?.[0];\n const source = codeNode && codeNode.type === \"text\" ? codeNode.value : \"\";\n // Replace the entire <pre> with our custom element. hast-util-to-jsx-runtime\n // maps element tagName to a React component if found in `components` map.\n Object.assign(parent, {\n type: \"element\",\n tagName: \"theo-mermaid\",\n // Note: `source` is passed as a non-standard property; the React\n // component picks it up. We avoid `data-*` attributes here so we\n // don't have to whitelist them in sanitize.\n properties: { source },\n children: [],\n });\n },\n );\n return tree;\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/primitives/slide/plugins/mermaid/index.tsx"],"names":[],"mappings":";;;AA4BA,IAAM,aAAA,GAAgB;AAAA,EACpB,KAAA;AAAA;AAAA,EAEA,cAAA;AAAA;AAAA,EAEA,KAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA;AAAA,EAEA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA;AAAA,EAEA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA;AAAA,EAEA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,gBAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AAAA,EACA,qBAAA;AAAA,EACA,aAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA;AAAA,EACA,SAAA;AAAA;AAAA,EAEA,eAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA;AAEA,IAAM,cAAA,GAA2C;AAAA,EAC/C,GAAA,EAAK;AAAA,IACH,IAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,aAAA;AAAA,IACA,iBAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,SAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,GAAA,EAAK,CAAC,OAAA,EAAS,SAAA,EAAW,SAAS,QAAA,EAAU,qBAAA,EAAuB,cAAc,SAAS,CAAA;AAAA,EAC3F,IAAA,EAAM,CAAC,GAAA,EAAK,WAAA,EAAa,eAAe,WAAW,CAAA;AAAA,EACnD,MAAM,CAAC,GAAA,EAAK,KAAK,OAAA,EAAS,QAAA,EAAU,MAAM,IAAI,CAAA;AAAA,EAC9C,MAAA,EAAQ,CAAC,IAAA,EAAM,IAAA,EAAM,GAAG,CAAA;AAAA,EACxB,OAAA,EAAS,CAAC,IAAA,EAAM,IAAA,EAAM,MAAM,IAAI,CAAA;AAAA,EAChC,IAAA,EAAM,CAAC,IAAA,EAAM,IAAA,EAAM,MAAM,IAAI,CAAA;AAAA,EAC7B,QAAA,EAAU,CAAC,QAAQ,CAAA;AAAA,EACnB,OAAA,EAAS,CAAC,QAAQ,CAAA;AAAA,EAClB,IAAA,EAAM;AAAA,IACJ,GAAA;AAAA,IACA,GAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,YAAA;AAAA,IACA,kBAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,KAAA,EAAO,CAAC,GAAA,EAAK,GAAA,EAAK,MAAM,IAAI,CAAA;AAAA,EAC5B,QAAA,EAAU,CAAC,WAAA,EAAa,MAAA,EAAQ,aAAa,CAAA;AAAA,EAC7C,MAAA,EAAQ,CAAC,aAAA,EAAe,aAAA,EAAe,gBAAgB,MAAA,EAAQ,MAAA,EAAQ,UAAU,SAAS,CAAA;AAAA,EAC1F,KAAK,CAAC,WAAA,EAAa,QAAQ,GAAA,EAAK,GAAA,EAAK,SAAS,QAAQ,CAAA;AAAA,EACtD,gBAAgB,CAAC,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,MAAM,eAAe,CAAA;AAAA,EACxD,gBAAgB,CAAC,IAAA,EAAM,MAAM,GAAA,EAAK,IAAA,EAAM,MAAM,eAAe,CAAA;AAAA,EAC7D,IAAA,EAAM,CAAC,QAAA,EAAU,WAAA,EAAa,aAAa,CAAA;AAAA,EAC3C,aAAA,EAAe,CAAC,GAAA,EAAK,GAAA,EAAK,SAAS,QAAQ,CAAA;AAAA,EAC3C,GAAA,EAAK,CAAC,YAAA,EAAc,0BAAA,EAA4B,WAAW,CAAA;AAAA,EAC3D,cAAA,EAAgB,CAAC,QAAQ;AAC3B,CAAA;AAuBO,IAAM,cAAA,GAAyD,CAAC,EAAE,MAAA,EAAQ,OAAM,KAAM;AAC3F,EAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAI,SAAwB,IAAI,CAAA;AAClD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAwB,IAAI,CAAA;AAEtD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,SAAA,GAAY,KAAA;AAGhB,IAAA,MAAA,CAAO,IAAI,CAAA;AACX,IAAA,QAAA,CAAS,IAAI,CAAA;AACb,IAAA,CAAC,YAAY;AACX,MAAA,IAAI;AAEF,QAAA,MAAM,OAAA,GAAA,CAAgB,MAAM,OAAO,SAAS,CAAA,EAAG,OAAA;AAC/C,QAAA,IAAI,SAAA,EAAW;AACf,QAAA,OAAA,CAAQ,WAAW,EAAE,WAAA,EAAa,OAAO,KAAA,EAAO,KAAA,IAAS,WAAW,CAAA;AACpE,QAAA,MAAM,EAAA,GAAK,CAAA,SAAA,EAAY,IAAA,CAAK,MAAA,EAAO,CAAE,QAAA,CAAS,EAAE,CAAA,CAAE,KAAA,CAAM,CAAA,EAAG,EAAE,CAAC,CAAA,CAAA;AAC9D,QAAA,MAAM,MAAA,GAAS,MAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,MAAM,CAAA;AAC9C,QAAA,IAAI,CAAC,SAAA,EAAW;AACd,UAAA,MAAA,CAAO,OAAO,GAAG,CAAA;AAAA,QACnB;AAAA,MACF,SAAS,CAAA,EAAG;AACV,QAAA,IAAI,SAAA,EAAW;AACf,QAAA,MAAM,MAAM,CAAA,YAAa,KAAA,GAAQ,CAAA,CAAE,OAAA,GAAU,OAAO,CAAC,CAAA;AAGrD,QAAA,MAAM,iBACJ,GAAA,CAAI,QAAA,CAAS,oBAAoB,CAAA,IACjC,GAAA,CAAI,SAAS,mBAAmB,CAAA,IAChC,IAAI,QAAA,CAAS,iBAAiB,KAC9B,GAAA,CAAI,QAAA,CAAS,0BAA0B,CAAA,IACvC,GAAA,CAAI,SAAS,sBAAsB,CAAA;AACrC,QAAA,IAAI,cAAA,EAAgB;AAClB,UAAA,QAAA,CAAS,8CAA8C,CAAA;AAAA,QACzD,CAAA,MAAO;AACL,UAAA,QAAA,CAAS,CAAA,uBAAA,EAA0B,GAAG,CAAA,CAAE,CAAA;AAAA,QAC1C;AAAA,MACF;AAAA,IACF,CAAA,GAAG;AACH,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,GAAY,IAAA;AAAA,IACd,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,MAAA,EAAQ,KAAK,CAAC,CAAA;AAElB,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,iBAAA;AAAA,QACV,yBAAA,EAAuB,IAAA;AAAA,QACvB,YAAA,EAAW,OAAA;AAAA,QACX,IAAA,EAAK,KAAA;AAAA,QACL,YAAA,EAAY,KAAA;AAAA,QACZ,SAAA,EAAU,yBAAA;AAAA,QAEV,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,OAAA,EAAS,OAAA,EAAS,GAAA,EAAK,UAAA,EAAY,UAAA,EAAW,EAAI,QAAA,EAAA,MAAA,EAAO;AAAA;AAAA,KACnF;AAAA,EAEJ;AACA,EAAA,IAAI,GAAA,EAAK;AAGP,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,yBAAA,EAAuB,IAAA;AAAA,QACvB,YAAA,EAAW,OAAA;AAAA,QACX,IAAA,EAAK,KAAA;AAAA,QACL,YAAA,EAAW,iBAAA;AAAA,QACX,SAAA,EAAU,yBAAA;AAAA,QAEV,uBAAA,EAAyB,EAAE,MAAA,EAAQ,GAAA;AAAI;AAAA,KACzC;AAAA,EAEJ;AACA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,yBAAA,EAAuB,IAAA;AAAA,MACvB,YAAA,EAAW,SAAA;AAAA,MACX,IAAA,EAAK,KAAA;AAAA,MACL,YAAA,EAAW,iBAAA;AAAA,MACX,SAAA,EAAU,yBAAA;AAAA,MAEV,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,OAAA,EAAS,OAAA,EAAS,GAAA,EAAK,UAAA,EAAY,UAAA,EAAW,EAAI,QAAA,EAAA,MAAA,EAAO;AAAA;AAAA,GACnF;AAEJ;AAEO,SAAS,aAAA,CAAc,IAAA,GAA6B,EAAC,EAAgB;AAC1E,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,SAAA;AAAA,IACN,uBAAA,EAAyB;AAAA,MACvB,QAAA,EAAU,aAAA;AAAA,MACV,UAAA,EAAY;AAAA,KACd;AAAA,IACA,UAAA,EAAY;AAAA;AAAA;AAAA;AAAA,MAIV,cAAA,GAAiB,CAAC,KAAA,qBAChB,GAAA,CAAC,cAAA,EAAA,EAAe,MAAA,EAAQ,KAAA,CAAM,MAAA,IAAU,EAAA,EAAI,KAAA,EAAO,IAAA,CAAK,KAAA,EAAO,CAAA;AAAA,KAEnE;AAAA,IACA,MAAM,cAAc,IAAA,EAAmC;AAIrD,MAAA,IAAI,KAAA;AACJ,MAAA,IAAI;AACF,QAAA,KAAA,GAAA,CAAS,MAAM,OAAO,kBAAkB,CAAA,EAAG,KAAA;AAAA,MAC7C,SAAS,CAAA,EAAG;AACV,QAAA,MAAM,IAAI,KAAA,CAAM,CAAA,6DAAA,EAAgE,CAAC,CAAA,CAAE,CAAA;AAAA,MACrF;AACA,MAAA,KAAA;AAAA,QACE,IAAA;AAAA,QACA,SAAA;AAAA,QACA,CACE,IAAA,EACA,IAAA,EACA,MAAA,KACG;AACH,UAAA,IAAI,IAAA,CAAK,YAAY,MAAA,EAAQ;AAC7B,UAAA,MAAM,SAAA,GAAa,IAAA,CAAK,UAAA,EAAY,SAAA,IAAsC,EAAC;AAC3E,UAAA,IAAI,CAAC,SAAA,CAAU,QAAA,CAAS,kBAAkB,CAAA,EAAG;AAC7C,UAAA,IAAI,CAAC,MAAA,IAAU,MAAA,CAAO,OAAA,KAAY,KAAA,EAAO;AACzC,UAAA,MAAM,QAAA,GAAW,IAAA,CAAK,QAAA,GAAW,CAAC,CAAA;AAClC,UAAA,MAAM,SAAS,QAAA,IAAY,QAAA,CAAS,IAAA,KAAS,MAAA,GAAS,SAAS,KAAA,GAAQ,EAAA;AAGvE,UAAA,MAAA,CAAO,OAAO,MAAA,EAAQ;AAAA,YACpB,IAAA,EAAM,SAAA;AAAA,YACN,OAAA,EAAS,cAAA;AAAA;AAAA;AAAA;AAAA,YAIT,UAAA,EAAY,EAAE,MAAA,EAAO;AAAA,YACrB,UAAU;AAAC,WACZ,CAAA;AAAA,QACH;AAAA,OACF;AACA,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,GACF;AACF","file":"index.js","sourcesContent":["\"use client\";\n\nimport type { Element, Root as HastRoot } from \"hast\";\n/**\n * Slide rich-content plugin — Mermaid diagrams.\n *\n * Peer-dep: `mermaid` (optional, ~370 KB raw — lazy + opt-in mandatory).\n * Render is client-only because Mermaid measures DOM nodes during layout;\n * SSR / static render emits a labelled placeholder + source-code fallback.\n *\n * Pipeline contribution (D11 of the rich-content plan):\n * - `hastTransform`: detect `<pre><code class=\"language-mermaid\">…</code></pre>`\n * and replace with `<div class=\"theo-slide-mermaid-host\" data-theo-mermaid-source=\"…\">`.\n * - `components.div`: when div has `data-theo-mermaid-source`, render the\n * `<MermaidDiagram>` React component that lazy-imports `mermaid` and\n * injects the SVG via `dangerouslySetInnerHTML` after `mermaid.render()`.\n *\n * EC-4: complete SVG tag + attribute allow-list (~30 tags) so the rendered SVG\n * survives sanitize. Critical: without these, sanitize strips the SVG entirely.\n *\n * EC-10: SSR placeholder is distinguishable from a render error. Error path\n * surfaces the Mermaid source code in a `<pre>` so consumers can debug + the\n * print path still shows the code (PDF cannot run dynamic Mermaid).\n */\nimport { type FC, useEffect, useState } from \"react\";\nimport type { SlidePlugin } from \"../../plugin.js\";\n\n// EC-4: comprehensive SVG tag list (mermaid 11.x output across diagram types).\nconst SVG_TAG_NAMES = [\n \"div\",\n // Custom element used to bridge into our React renderer (mapped via components).\n \"theo-mermaid\",\n // root + grouping\n \"svg\",\n \"g\",\n \"defs\",\n \"use\",\n \"symbol\",\n \"marker\",\n \"pattern\",\n \"mask\",\n \"clipPath\",\n // shapes\n \"path\",\n \"rect\",\n \"circle\",\n \"ellipse\",\n \"line\",\n \"polyline\",\n \"polygon\",\n // text\n \"text\",\n \"tspan\",\n \"textPath\",\n \"title\",\n \"desc\",\n // gradients + filters (used by some flowchart themes)\n \"linearGradient\",\n \"radialGradient\",\n \"stop\",\n \"filter\",\n \"feGaussianBlur\",\n \"feOffset\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feMerge\",\n \"feMergeNode\",\n \"feFlood\",\n // foreign content (HTML labels)\n \"foreignObject\",\n \"span\",\n \"br\",\n];\n\nconst SVG_ATTRIBUTES: Record<string, string[]> = {\n \"*\": [\n \"id\",\n \"className\",\n \"style\",\n \"transform\",\n \"fill\",\n \"stroke\",\n \"strokeWidth\",\n \"strokeDasharray\",\n \"strokeLinecap\",\n \"strokeLinejoin\",\n \"opacity\",\n \"fillOpacity\",\n \"strokeOpacity\",\n \"ariaLabel\",\n \"ariaHidden\",\n \"role\",\n ],\n svg: [\"xmlns\", \"viewBox\", \"width\", \"height\", \"preserveAspectRatio\", \"xmlnsXlink\", \"version\"],\n path: [\"d\", \"markerEnd\", \"markerStart\", \"markerMid\"],\n rect: [\"x\", \"y\", \"width\", \"height\", \"rx\", \"ry\"],\n circle: [\"cx\", \"cy\", \"r\"],\n ellipse: [\"cx\", \"cy\", \"rx\", \"ry\"],\n line: [\"x1\", \"y1\", \"x2\", \"y2\"],\n polyline: [\"points\"],\n polygon: [\"points\"],\n text: [\n \"x\",\n \"y\",\n \"dx\",\n \"dy\",\n \"textAnchor\",\n \"dominantBaseline\",\n \"fontSize\",\n \"fontFamily\",\n \"fontWeight\",\n ],\n tspan: [\"x\", \"y\", \"dx\", \"dy\"],\n textPath: [\"xlinkHref\", \"href\", \"startOffset\"],\n marker: [\"markerUnits\", \"markerWidth\", \"markerHeight\", \"refX\", \"refY\", \"orient\", \"viewBox\"],\n use: [\"xlinkHref\", \"href\", \"x\", \"y\", \"width\", \"height\"],\n linearGradient: [\"x1\", \"y1\", \"x2\", \"y2\", \"gradientUnits\"],\n radialGradient: [\"cx\", \"cy\", \"r\", \"fx\", \"fy\", \"gradientUnits\"],\n stop: [\"offset\", \"stopColor\", \"stopOpacity\"],\n foreignObject: [\"x\", \"y\", \"width\", \"height\"],\n div: [\"data-state\", \"data-theo-mermaid-source\", \"className\"],\n \"theo-mermaid\": [\"source\"],\n};\n\nexport interface MermaidPluginOptions {\n /** Mermaid theme name. Defaults to `\"default\"`. */\n theme?: \"default\" | \"forest\" | \"dark\" | \"neutral\" | \"base\";\n}\n\n/**\n * React component that renders Mermaid lazily on mount.\n *\n * SSR / pre-load: renders the source as `<pre>` + `role=\"img\"` for a11y.\n * Client: lazy-loads `mermaid`, calls `mermaid.render()`, then injects the\n * resulting SVG via `dangerouslySetInnerHTML` so React owns the DOM\n * subtree (avoids reconciliation crashes when state flips back to the\n * placeholder — `ref.innerHTML` would mutate under React's feet).\n *\n * The Mermaid output is a TRUSTED string from the `mermaid` lib itself (not\n * user-controlled markup) — the user-supplied source is the DSL, not raw HTML.\n * Using dangerouslySetInnerHTML here is a controlled escape hatch.\n *\n * Peer-dep guard: if `import(\"mermaid\")` fails, falls back to the same\n * pre-formatted source view + an `aria-label` hint (EC-10).\n */\nexport const MermaidDiagram: FC<{ source: string; theme?: string }> = ({ source, theme }) => {\n const [svg, setSvg] = useState<string | null>(null);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n // Reset state when source/theme changes so the placeholder shows again\n // while the new diagram renders.\n setSvg(null);\n setError(null);\n (async () => {\n try {\n // biome-ignore lint/suspicious/noExplicitAny: mermaid default export untyped\n const mermaid: any = (await import(\"mermaid\")).default;\n if (cancelled) return;\n mermaid.initialize({ startOnLoad: false, theme: theme ?? \"default\" });\n const id = `theo-mmd-${Math.random().toString(36).slice(2, 10)}`;\n const result = await mermaid.render(id, source);\n if (!cancelled) {\n setSvg(result.svg);\n }\n } catch (e) {\n if (cancelled) return;\n const msg = e instanceof Error ? e.message : String(e);\n // Recognize the various module-resolution failure messages emitted by\n // Node, Vite, Rollup, Webpack, Vitest, and browser dynamic-import.\n const moduleNotFound =\n msg.includes(\"Cannot find module\") ||\n msg.includes(\"Could not resolve\") ||\n msg.includes(\"Failed to fetch\") ||\n msg.includes(\"Failed to resolve module\") ||\n msg.includes(\"ERR_MODULE_NOT_FOUND\");\n if (moduleNotFound) {\n setError(\"Mermaid not installed. Run: pnpm add mermaid\");\n } else {\n setError(`Mermaid render failed: ${msg}`);\n }\n }\n })();\n return () => {\n cancelled = true;\n };\n }, [source, theme]);\n\n if (error) {\n return (\n <div\n data-slot=\"mermaid-diagram\"\n data-theo-slide-mermaid\n data-state=\"error\"\n role=\"img\"\n aria-label={error}\n className=\"theo-slide-mermaid-host\"\n >\n <pre style={{ fontSize: \"0.8em\", opacity: 0.7, whiteSpace: \"pre-wrap\" }}>{source}</pre>\n </div>\n );\n }\n if (svg) {\n // SVG is React-owned via dangerouslySetInnerHTML so the next state change\n // (e.g. new `source` prop → back to placeholder) can unmount cleanly.\n return (\n <div\n data-theo-slide-mermaid\n data-state=\"ready\"\n role=\"img\"\n aria-label=\"Mermaid diagram\"\n className=\"theo-slide-mermaid-host\"\n // biome-ignore lint/security/noDangerouslySetInnerHtml: mermaid.render() output is trusted (lib-generated SVG, not user markup)\n dangerouslySetInnerHTML={{ __html: svg }}\n />\n );\n }\n return (\n <div\n data-theo-slide-mermaid\n data-state=\"loading\"\n role=\"img\"\n aria-label=\"Mermaid diagram\"\n className=\"theo-slide-mermaid-host\"\n >\n <pre style={{ fontSize: \"0.7em\", opacity: 0.4, whiteSpace: \"pre-wrap\" }}>{source}</pre>\n </div>\n );\n};\n\nexport function mermaidPlugin(opts: MermaidPluginOptions = {}): SlidePlugin {\n return {\n name: \"mermaid\",\n sanitizeSchemaExtension: {\n tagNames: SVG_TAG_NAMES,\n attributes: SVG_ATTRIBUTES,\n },\n components: {\n // The hastTransform below replaces mermaid <pre> with a `<div>` carrying\n // `data-theo-mermaid-source`. We can't override `div` globally — instead,\n // we use a custom tagName `theo-mermaid` that the React renderer maps.\n \"theo-mermaid\": ((props: { source?: string }) => (\n <MermaidDiagram source={props.source ?? \"\"} theme={opts.theme} />\n )) as FC<unknown>,\n },\n async hastTransform(tree: HastRoot): Promise<HastRoot> {\n // unist-util-visit is a peer-dep of the slide stack — should always be\n // present. Guard anyway per EC-2.\n // biome-ignore lint/suspicious/noExplicitAny: unist-util-visit untyped at runtime\n let visit: any;\n try {\n visit = (await import(\"unist-util-visit\")).visit;\n } catch (e) {\n throw new Error(`[slide/plugins/mermaid] peer-dep 'unist-util-visit' missing: ${e}`);\n }\n visit(\n tree,\n \"element\",\n (\n node: Element,\n _idx: number | undefined,\n parent: { tagName?: string; type?: string; children?: unknown[] } | undefined,\n ) => {\n if (node.tagName !== \"code\") return;\n const className = (node.properties?.className as string[] | undefined) ?? [];\n if (!className.includes(\"language-mermaid\")) return;\n if (!parent || parent.tagName !== \"pre\") return;\n const codeNode = node.children?.[0];\n const source = codeNode && codeNode.type === \"text\" ? codeNode.value : \"\";\n // Replace the entire <pre> with our custom element. hast-util-to-jsx-runtime\n // maps element tagName to a React component if found in `components` map.\n Object.assign(parent, {\n type: \"element\",\n tagName: \"theo-mermaid\",\n // Note: `source` is passed as a non-standard property; the React\n // component picks it up. We avoid `data-*` attributes here so we\n // don't have to whitelist them in sanitize.\n properties: { source },\n children: [],\n });\n },\n );\n return tree;\n },\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/primitives/slide/plugins/shiki/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Slide rich-content plugin — Shiki syntax highlighting.\n *\n * Lazy + opt-in (ADR D9, D13 of the rich-content plan). Peer-dep `shiki` is\n * declared optional in `package.json`; the plugin guards every dynamic import\n * so a missing peer-dep is reported (D16) rather than crashing the slide.\n *\n * Pipeline contribution:\n * - `hastTransform`: walks `<pre><code class=\"language-XXX\">` nodes, replaces\n * them with the pre-rendered `<pre><code>` tree emitted by Shiki.\n * - `sanitizeSchemaExtension`: allows `<span>` with `style` and `class`\n * (Shiki emits inline styles for tokens).\n *\n * Performance:\n * - Highlighter is created lazily on first use and cached.\n * - Grammars listed in `langs` are pre-loaded once; unknown langs pass-through\n * as plain `<pre><code>` (defaultSchema allows that).\n *\n * @example\n * import { shikiPlugin } from \"@usetheo/ui/slide/plugins/shiki\";\n * import \"shiki\"; // installed as peer-dep\n * <Slide markdown={md} plugins={[shikiPlugin({ langs: [\"ts\",\"python\"] })]} />\n */\nimport type { Element, Root as HastRoot } from \"hast\";\nimport type { SlidePlugin } from \"../../plugin.js\";\n\nexport interface ShikiPluginOptions {\n /** Dual-theme map — light/dark Shiki theme names. Defaults to `github-light` / `github-dark`. */\n themes?: { light: string; dark: string };\n /** Languages to pre-load. Unknown languages pass-through. Defaults to a tech-stack baseline. */\n langs?: string[];\n}\n\nconst DEFAULT_LANGS = [\n \"ts\",\n \"tsx\",\n \"js\",\n \"jsx\",\n \"python\",\n \"go\",\n \"rust\",\n \"java\",\n \"json\",\n \"yaml\",\n \"bash\",\n \"shell\",\n \"html\",\n \"css\",\n \"sql\",\n \"markdown\",\n];\n\nexport function shikiPlugin(opts: ShikiPluginOptions = {}): SlidePlugin {\n const themes = opts.themes ?? { light: \"github-light\", dark: \"github-dark\" };\n const langs = opts.langs ?? DEFAULT_LANGS;\n // biome-ignore lint/suspicious/noExplicitAny: shiki has no exported type for `Highlighter` at the top level\n let highlighter: any = null;\n let peerDepMissing = false;\n\n // biome-ignore lint/suspicious/noExplicitAny: shiki Highlighter is untyped here\n async function getHighlighter(): Promise<any> {\n if (highlighter) return highlighter;\n if (peerDepMissing) return null;\n try {\n const shiki = await import(\"shiki\");\n highlighter = await shiki.createHighlighter({\n themes: [themes.light, themes.dark],\n langs,\n });\n return highlighter;\n } catch (e) {\n peerDepMissing = true;\n // Surface via D16 path (composePlugins catches → PLUGIN_ERROR).\n throw new Error(\n `[slide/plugins/shiki] peer-dep 'shiki' not installed or failed to load. Run: pnpm add shiki. Original: ${e instanceof Error ? e.message : String(e)}`,\n );\n }\n }\n\n return {\n name: \"shiki\",\n sanitizeSchemaExtension: {\n tagNames: [\"span\", \"pre\", \"code\"],\n // Shiki emits inline `style` and `class` on tokens; \"*\" applies to every tag.\n attributes: {\n \"*\": [\"style\", \"className\"],\n pre: [\"style\", \"className\", \"tabIndex\"],\n code: [\"style\", \"className\"],\n span: [\"style\", \"className\"],\n },\n },\n async hastTransform(tree: HastRoot): Promise<HastRoot> {\n const hl = await getHighlighter();\n if (!hl) return tree; // peer-dep missing AND we've already reported it once\n const { visit } = await import(\"unist-util-visit\");\n const { fromHtml } = await import(\"hast-util-from-html\");\n // Walk: find <code class=\"language-XXX\">, replace its parent <pre> subtree\n // with the highlighted output (which is also a <pre><code>...</code></pre>).\n // biome-ignore lint/suspicious/noExplicitAny: hast unist-util-visit untyped here\n visit(tree, \"element\", (node: Element, _idx: number | undefined, parent: any) => {\n if (node.tagName !== \"code\") return;\n const className = (node.properties?.className as string[] | undefined) ?? [];\n const langClass = className.find((c) => c.startsWith(\"language-\"));\n if (!langClass) return;\n const lang = langClass.replace(\"language-\", \"\");\n if (!langs.includes(lang)) return;\n const first = node.children?.[0];\n const codeText = first && first.type === \"text\" ? first.value : \"\";\n let html: string;\n try {\n html = hl.codeToHtml(codeText, { lang, themes });\n } catch {\n // Shiki failed on this snippet (e.g. malformed input). Leave the plain\n // <pre><code> in place — the consumer still gets readable text.\n return;\n }\n const newTree = fromHtml(html, { fragment: true });\n const top = newTree.children[0];\n if (parent?.tagName === \"pre\" && parent.children?.length === 1 && top) {\n Object.assign(parent, top);\n }\n });\n return tree;\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/primitives/slide/plugins/shiki/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Slide rich-content plugin — Shiki syntax highlighting.\n *\n * Lazy + opt-in (ADR D9, D13 of the rich-content plan). Peer-dep `shiki` is\n * declared optional in `package.json`; the plugin guards every dynamic import\n * so a missing peer-dep is reported (D16) rather than crashing the slide.\n *\n * Pipeline contribution:\n * - `hastTransform`: walks `<pre><code class=\"language-XXX\">` nodes, replaces\n * them with the pre-rendered `<pre><code>` tree emitted by Shiki.\n * - `sanitizeSchemaExtension`: allows `<span>` with `style` and `class`\n * (Shiki emits inline styles for tokens).\n *\n * Performance:\n * - Highlighter is created lazily on first use and cached.\n * - Grammars listed in `langs` are pre-loaded once; unknown langs pass-through\n * as plain `<pre><code>` (defaultSchema allows that).\n *\n * @example\n * import { shikiPlugin } from \"@theokit/ui/slide/plugins/shiki\";\n * import \"shiki\"; // installed as peer-dep\n * <Slide markdown={md} plugins={[shikiPlugin({ langs: [\"ts\",\"python\"] })]} />\n */\nimport type { Element, Root as HastRoot } from \"hast\";\nimport type { SlidePlugin } from \"../../plugin.js\";\n\nexport interface ShikiPluginOptions {\n /** Dual-theme map — light/dark Shiki theme names. Defaults to `github-light` / `github-dark`. */\n themes?: { light: string; dark: string };\n /** Languages to pre-load. Unknown languages pass-through. Defaults to a tech-stack baseline. */\n langs?: string[];\n}\n\nconst DEFAULT_LANGS = [\n \"ts\",\n \"tsx\",\n \"js\",\n \"jsx\",\n \"python\",\n \"go\",\n \"rust\",\n \"java\",\n \"json\",\n \"yaml\",\n \"bash\",\n \"shell\",\n \"html\",\n \"css\",\n \"sql\",\n \"markdown\",\n];\n\nexport function shikiPlugin(opts: ShikiPluginOptions = {}): SlidePlugin {\n const themes = opts.themes ?? { light: \"github-light\", dark: \"github-dark\" };\n const langs = opts.langs ?? DEFAULT_LANGS;\n // biome-ignore lint/suspicious/noExplicitAny: shiki has no exported type for `Highlighter` at the top level\n let highlighter: any = null;\n let peerDepMissing = false;\n\n // biome-ignore lint/suspicious/noExplicitAny: shiki Highlighter is untyped here\n async function getHighlighter(): Promise<any> {\n if (highlighter) return highlighter;\n if (peerDepMissing) return null;\n try {\n const shiki = await import(\"shiki\");\n highlighter = await shiki.createHighlighter({\n themes: [themes.light, themes.dark],\n langs,\n });\n return highlighter;\n } catch (e) {\n peerDepMissing = true;\n // Surface via D16 path (composePlugins catches → PLUGIN_ERROR).\n throw new Error(\n `[slide/plugins/shiki] peer-dep 'shiki' not installed or failed to load. Run: pnpm add shiki. Original: ${e instanceof Error ? e.message : String(e)}`,\n );\n }\n }\n\n return {\n name: \"shiki\",\n sanitizeSchemaExtension: {\n tagNames: [\"span\", \"pre\", \"code\"],\n // Shiki emits inline `style` and `class` on tokens; \"*\" applies to every tag.\n attributes: {\n \"*\": [\"style\", \"className\"],\n pre: [\"style\", \"className\", \"tabIndex\"],\n code: [\"style\", \"className\"],\n span: [\"style\", \"className\"],\n },\n },\n async hastTransform(tree: HastRoot): Promise<HastRoot> {\n const hl = await getHighlighter();\n if (!hl) return tree; // peer-dep missing AND we've already reported it once\n const { visit } = await import(\"unist-util-visit\");\n const { fromHtml } = await import(\"hast-util-from-html\");\n // Walk: find <code class=\"language-XXX\">, replace its parent <pre> subtree\n // with the highlighted output (which is also a <pre><code>...</code></pre>).\n // biome-ignore lint/suspicious/noExplicitAny: hast unist-util-visit untyped here\n visit(tree, \"element\", (node: Element, _idx: number | undefined, parent: any) => {\n if (node.tagName !== \"code\") return;\n const className = (node.properties?.className as string[] | undefined) ?? [];\n const langClass = className.find((c) => c.startsWith(\"language-\"));\n if (!langClass) return;\n const lang = langClass.replace(\"language-\", \"\");\n if (!langs.includes(lang)) return;\n const first = node.children?.[0];\n const codeText = first && first.type === \"text\" ? first.value : \"\";\n let html: string;\n try {\n html = hl.codeToHtml(codeText, { lang, themes });\n } catch {\n // Shiki failed on this snippet (e.g. malformed input). Leave the plain\n // <pre><code> in place — the consumer still gets readable text.\n return;\n }\n const newTree = fromHtml(html, { fragment: true });\n const top = newTree.children[0];\n if (parent?.tagName === \"pre\" && parent.children?.length === 1 && top) {\n Object.assign(parent, top);\n }\n });\n return tree;\n },\n };\n}\n"]}
@@ -26,7 +26,7 @@
26
26
 
27
27
  /* Violet accent — the brand hue. Used for relative mixing so it adapts
28
28
  to light/dark surfaces (mixed with `currentColor`). */
29
- --theo-slide-accent: #7c3aed;
29
+ --theo-slide-accent: #a855f7;
30
30
 
31
31
  /* Derived tints — relative to inherited `currentColor` so they auto-flip
32
32
  when the parent surface flips. */
@@ -1,4 +1,5 @@
1
- import { Slide, extractFrontmatter } from '../chunk-5UGQXB2P.js';
1
+ "use client";
2
+ import { Slide, extractFrontmatter } from '../chunk-CVFSNA4K.js';
2
3
  import { createContext, useContext, useRef, useState, useEffect, useCallback, useMemo, useReducer, useId } from 'react';
3
4
  import { jsxs, jsx } from 'react/jsx-runtime';
4
5
  import { z } from 'zod';
@@ -20,6 +21,7 @@ var Controls = ({ className }) => {
20
21
  return /* @__PURE__ */ jsxs(
21
22
  "div",
22
23
  {
24
+ "data-slot": "controls",
23
25
  className: ["theo-slide-deck-controls", className].filter(Boolean).join(" "),
24
26
  "data-theo-slide-deck-controls": true,
25
27
  style: {
@@ -262,6 +264,7 @@ var ProgressBar = ({ className }) => {
262
264
  return /* @__PURE__ */ jsx(
263
265
  "progress",
264
266
  {
267
+ "data-slot": "progress-bar",
265
268
  className: ["theo-slide-deck-progress", className].filter(Boolean).join(" "),
266
269
  "data-theo-slide-deck-progress": true,
267
270
  value,
@@ -395,6 +398,7 @@ var ThumbnailItem = ({
395
398
  return /* @__PURE__ */ jsx(
396
399
  "button",
397
400
  {
401
+ "data-slot": "thumbnail-item",
398
402
  ref: setRef,
399
403
  type: "button",
400
404
  onClick: () => onSelect(index),
@@ -467,6 +471,7 @@ var Thumbnails = ({ className, scale = 0.18 }) => {
467
471
  return /* @__PURE__ */ jsx(
468
472
  "ul",
469
473
  {
474
+ "data-slot": "thumbnails",
470
475
  className: ["theo-slide-deck-thumbnails", className].filter(Boolean).join(" "),
471
476
  "data-theo-slide-deck-thumbnails": true,
472
477
  "aria-label": "Slide thumbnails",
@@ -883,7 +888,7 @@ var SlideDeckBase = ({
883
888
  }),
884
889
  [state, dispatch, parsedSlides, transition, deckId, plugins, fullscreen.toggle, onPrint]
885
890
  );
886
- return /* @__PURE__ */ jsx(DeckContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs(
891
+ return /* @__PURE__ */ jsx(DeckContext.Provider, { "data-slot": "slide-deck-base", value: contextValue, children: /* @__PURE__ */ jsxs(
887
892
  "div",
888
893
  {
889
894
  ref: rootRef,
@@ -926,6 +931,7 @@ var SlidesView = ({ className }) => {
926
931
  return /* @__PURE__ */ jsx(
927
932
  "div",
928
933
  {
934
+ "data-slot": "slides-view",
929
935
  className: ["theo-slide-deck-slide-frame", className].filter(Boolean).join(" "),
930
936
  "data-theo-slide-deck-transition": transition,
931
937
  "data-theo-slide-deck-direction": state.transitionDirection,
@@ -973,6 +979,7 @@ var PresenterButton = ({ className }) => {
973
979
  return /* @__PURE__ */ jsx(
974
980
  "button",
975
981
  {
982
+ "data-slot": "presenter-button",
976
983
  type: "button",
977
984
  onClick: () => dispatch({ type: "TOGGLE_PRESENTER" }),
978
985
  "aria-pressed": state.presenterMode,
@@ -987,6 +994,7 @@ var FullscreenButton = ({ className }) => {
987
994
  return /* @__PURE__ */ jsx(
988
995
  "button",
989
996
  {
997
+ "data-slot": "fullscreen-button",
990
998
  type: "button",
991
999
  onClick: () => void toggleFullscreen(),
992
1000
  "aria-pressed": state.fullscreen,
@@ -1001,6 +1009,7 @@ var PrintButton = ({ className }) => {
1001
1009
  return /* @__PURE__ */ jsx(
1002
1010
  "button",
1003
1011
  {
1012
+ "data-slot": "print-button",
1004
1013
  type: "button",
1005
1014
  onClick: () => print(),
1006
1015
  "aria-label": "Print or save deck as PDF",
@@ -1016,6 +1025,7 @@ var PrintContainer = ({
1016
1025
  return /* @__PURE__ */ jsx(
1017
1026
  "div",
1018
1027
  {
1028
+ "data-slot": "print-container",
1019
1029
  className: "theo-slide-deck-print-container",
1020
1030
  "aria-hidden": "true",
1021
1031
  style: {
@@ -1047,6 +1057,7 @@ var DefaultDeckLayout = () => {
1047
1057
  return /* @__PURE__ */ jsxs(
1048
1058
  "div",
1049
1059
  {
1060
+ "data-slot": "default-deck-layout",
1050
1061
  className: "theo-slide-deck-default-layout",
1051
1062
  style: {
1052
1063
  display: "grid",