@theokit/ui 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (715) hide show
  1. package/CHANGELOG.md +1325 -0
  2. package/DESIGN.md +456 -0
  3. package/LICENSE +201 -0
  4. package/NOTICE +38 -0
  5. package/README.md +467 -0
  6. package/dist/chunk-27ENTTY7.js +146 -0
  7. package/dist/chunk-27ENTTY7.js.map +1 -0
  8. package/dist/chunk-2H6TQELG.js +33 -0
  9. package/dist/chunk-2H6TQELG.js.map +1 -0
  10. package/dist/chunk-2L6MRJD4.js +120 -0
  11. package/dist/chunk-2L6MRJD4.js.map +1 -0
  12. package/dist/chunk-2Y5V2PAL.js +80 -0
  13. package/dist/chunk-2Y5V2PAL.js.map +1 -0
  14. package/dist/chunk-34NAFDVL.js +46 -0
  15. package/dist/chunk-34NAFDVL.js.map +1 -0
  16. package/dist/chunk-36KJGXEK.js +112 -0
  17. package/dist/chunk-36KJGXEK.js.map +1 -0
  18. package/dist/chunk-3BMYYNN6.js +124 -0
  19. package/dist/chunk-3BMYYNN6.js.map +1 -0
  20. package/dist/chunk-3OHV7EEI.js +34 -0
  21. package/dist/chunk-3OHV7EEI.js.map +1 -0
  22. package/dist/chunk-3QKTS6F5.js +88 -0
  23. package/dist/chunk-3QKTS6F5.js.map +1 -0
  24. package/dist/chunk-3TBXLYNM.js +42 -0
  25. package/dist/chunk-3TBXLYNM.js.map +1 -0
  26. package/dist/chunk-4AM2HSXU.js +67 -0
  27. package/dist/chunk-4AM2HSXU.js.map +1 -0
  28. package/dist/chunk-4BCGKM65.js +44 -0
  29. package/dist/chunk-4BCGKM65.js.map +1 -0
  30. package/dist/chunk-4D3JILQX.js +145 -0
  31. package/dist/chunk-4D3JILQX.js.map +1 -0
  32. package/dist/chunk-4EJU2GBG.js +48 -0
  33. package/dist/chunk-4EJU2GBG.js.map +1 -0
  34. package/dist/chunk-4WKO3G5C.js +110 -0
  35. package/dist/chunk-4WKO3G5C.js.map +1 -0
  36. package/dist/chunk-53XPKI7Q.js +97 -0
  37. package/dist/chunk-53XPKI7Q.js.map +1 -0
  38. package/dist/chunk-55TDVDPG.js +58 -0
  39. package/dist/chunk-55TDVDPG.js.map +1 -0
  40. package/dist/chunk-56BJLFW7.js +26 -0
  41. package/dist/chunk-56BJLFW7.js.map +1 -0
  42. package/dist/chunk-5HOQLE6Y.js +35 -0
  43. package/dist/chunk-5HOQLE6Y.js.map +1 -0
  44. package/dist/chunk-5TY3NYF5.js +144 -0
  45. package/dist/chunk-5TY3NYF5.js.map +1 -0
  46. package/dist/chunk-5VOSCJKQ.js +92 -0
  47. package/dist/chunk-5VOSCJKQ.js.map +1 -0
  48. package/dist/chunk-65NVO6TK.js +171 -0
  49. package/dist/chunk-65NVO6TK.js.map +1 -0
  50. package/dist/chunk-6A5TPCKP.js +64 -0
  51. package/dist/chunk-6A5TPCKP.js.map +1 -0
  52. package/dist/chunk-6CO4LEXZ.js +41 -0
  53. package/dist/chunk-6CO4LEXZ.js.map +1 -0
  54. package/dist/chunk-6FVUPNPG.js +56 -0
  55. package/dist/chunk-6FVUPNPG.js.map +1 -0
  56. package/dist/chunk-76YWTIWK.js +106 -0
  57. package/dist/chunk-76YWTIWK.js.map +1 -0
  58. package/dist/chunk-7EI7424P.js +78 -0
  59. package/dist/chunk-7EI7424P.js.map +1 -0
  60. package/dist/chunk-AHTVYOPQ.js +26 -0
  61. package/dist/chunk-AHTVYOPQ.js.map +1 -0
  62. package/dist/chunk-AJTJNHKK.js +85 -0
  63. package/dist/chunk-AJTJNHKK.js.map +1 -0
  64. package/dist/chunk-AMT3CPMC.js +155 -0
  65. package/dist/chunk-AMT3CPMC.js.map +1 -0
  66. package/dist/chunk-AX5EH73R.js +59 -0
  67. package/dist/chunk-AX5EH73R.js.map +1 -0
  68. package/dist/chunk-B3VAJSZ2.js +35 -0
  69. package/dist/chunk-B3VAJSZ2.js.map +1 -0
  70. package/dist/chunk-B4CQMQ64.js +25 -0
  71. package/dist/chunk-B4CQMQ64.js.map +1 -0
  72. package/dist/chunk-BMRZXT5T.js +115 -0
  73. package/dist/chunk-BMRZXT5T.js.map +1 -0
  74. package/dist/chunk-BYZ6OFH4.js +73 -0
  75. package/dist/chunk-BYZ6OFH4.js.map +1 -0
  76. package/dist/chunk-C55VUQ7N.js +156 -0
  77. package/dist/chunk-C55VUQ7N.js.map +1 -0
  78. package/dist/chunk-D4GEAV4C.js +91 -0
  79. package/dist/chunk-D4GEAV4C.js.map +1 -0
  80. package/dist/chunk-DC43CHAM.js +152 -0
  81. package/dist/chunk-DC43CHAM.js.map +1 -0
  82. package/dist/chunk-DKCRLN35.js +92 -0
  83. package/dist/chunk-DKCRLN35.js.map +1 -0
  84. package/dist/chunk-DN5BUDBI.js +86 -0
  85. package/dist/chunk-DN5BUDBI.js.map +1 -0
  86. package/dist/chunk-DOLKDYMS.js +88 -0
  87. package/dist/chunk-DOLKDYMS.js.map +1 -0
  88. package/dist/chunk-DW34WXCG.js +28 -0
  89. package/dist/chunk-DW34WXCG.js.map +1 -0
  90. package/dist/chunk-DZAAKHGZ.js +135 -0
  91. package/dist/chunk-DZAAKHGZ.js.map +1 -0
  92. package/dist/chunk-E4IRSSHO.js +116 -0
  93. package/dist/chunk-E4IRSSHO.js.map +1 -0
  94. package/dist/chunk-E67WQXBV.js +104 -0
  95. package/dist/chunk-E67WQXBV.js.map +1 -0
  96. package/dist/chunk-EG6IHP3H.js +128 -0
  97. package/dist/chunk-EG6IHP3H.js.map +1 -0
  98. package/dist/chunk-EO7LOXG2.js +82 -0
  99. package/dist/chunk-EO7LOXG2.js.map +1 -0
  100. package/dist/chunk-EWDN56AS.js +24 -0
  101. package/dist/chunk-EWDN56AS.js.map +1 -0
  102. package/dist/chunk-F5P5P2SC.js +141 -0
  103. package/dist/chunk-F5P5P2SC.js.map +1 -0
  104. package/dist/chunk-FAWPRZTM.js +79 -0
  105. package/dist/chunk-FAWPRZTM.js.map +1 -0
  106. package/dist/chunk-FGYJ2WPX.js +36 -0
  107. package/dist/chunk-FGYJ2WPX.js.map +1 -0
  108. package/dist/chunk-GBG3I5I5.js +46 -0
  109. package/dist/chunk-GBG3I5I5.js.map +1 -0
  110. package/dist/chunk-GDMCDW66.js +19 -0
  111. package/dist/chunk-GDMCDW66.js.map +1 -0
  112. package/dist/chunk-H6HSQCOW.js +80 -0
  113. package/dist/chunk-H6HSQCOW.js.map +1 -0
  114. package/dist/chunk-HDM4RCIF.js +111 -0
  115. package/dist/chunk-HDM4RCIF.js.map +1 -0
  116. package/dist/chunk-HNTOGGVD.js +77 -0
  117. package/dist/chunk-HNTOGGVD.js.map +1 -0
  118. package/dist/chunk-HQW2ABO4.js +28 -0
  119. package/dist/chunk-HQW2ABO4.js.map +1 -0
  120. package/dist/chunk-HRDRGZ2Y.js +76 -0
  121. package/dist/chunk-HRDRGZ2Y.js.map +1 -0
  122. package/dist/chunk-HUOVA7SF.js +83 -0
  123. package/dist/chunk-HUOVA7SF.js.map +1 -0
  124. package/dist/chunk-ITA3SNOR.js +133 -0
  125. package/dist/chunk-ITA3SNOR.js.map +1 -0
  126. package/dist/chunk-IYNUPG2G.js +61 -0
  127. package/dist/chunk-IYNUPG2G.js.map +1 -0
  128. package/dist/chunk-JJ65ZI4P.js +199 -0
  129. package/dist/chunk-JJ65ZI4P.js.map +1 -0
  130. package/dist/chunk-JRBGZ6NI.js +106 -0
  131. package/dist/chunk-JRBGZ6NI.js.map +1 -0
  132. package/dist/chunk-K45OO62F.js +108 -0
  133. package/dist/chunk-K45OO62F.js.map +1 -0
  134. package/dist/chunk-KDTKA667.js +67 -0
  135. package/dist/chunk-KDTKA667.js.map +1 -0
  136. package/dist/chunk-KI7KZBSN.js +142 -0
  137. package/dist/chunk-KI7KZBSN.js.map +1 -0
  138. package/dist/chunk-KOJ7XOPZ.js +87 -0
  139. package/dist/chunk-KOJ7XOPZ.js.map +1 -0
  140. package/dist/chunk-KQTHJ22B.js +82 -0
  141. package/dist/chunk-KQTHJ22B.js.map +1 -0
  142. package/dist/chunk-KRC43RZR.js +77 -0
  143. package/dist/chunk-KRC43RZR.js.map +1 -0
  144. package/dist/chunk-LJQOEGQ2.js +116 -0
  145. package/dist/chunk-LJQOEGQ2.js.map +1 -0
  146. package/dist/chunk-LKRNUSKZ.js +149 -0
  147. package/dist/chunk-LKRNUSKZ.js.map +1 -0
  148. package/dist/chunk-LLL7QQ52.js +76 -0
  149. package/dist/chunk-LLL7QQ52.js.map +1 -0
  150. package/dist/chunk-LQ4B5X4Y.js +56 -0
  151. package/dist/chunk-LQ4B5X4Y.js.map +1 -0
  152. package/dist/chunk-M3FSLEHQ.js +76 -0
  153. package/dist/chunk-M3FSLEHQ.js.map +1 -0
  154. package/dist/chunk-M5G3O6H6.js +57 -0
  155. package/dist/chunk-M5G3O6H6.js.map +1 -0
  156. package/dist/chunk-M6JIC5PU.js +81 -0
  157. package/dist/chunk-M6JIC5PU.js.map +1 -0
  158. package/dist/chunk-N2HJ3SLS.js +186 -0
  159. package/dist/chunk-N2HJ3SLS.js.map +1 -0
  160. package/dist/chunk-NGZWBFTP.js +45 -0
  161. package/dist/chunk-NGZWBFTP.js.map +1 -0
  162. package/dist/chunk-OAKCXT35.js +34 -0
  163. package/dist/chunk-OAKCXT35.js.map +1 -0
  164. package/dist/chunk-OSD3U3HT.js +54 -0
  165. package/dist/chunk-OSD3U3HT.js.map +1 -0
  166. package/dist/chunk-OUXESQ2R.js +42 -0
  167. package/dist/chunk-OUXESQ2R.js.map +1 -0
  168. package/dist/chunk-OY2LJHMJ.js +43 -0
  169. package/dist/chunk-OY2LJHMJ.js.map +1 -0
  170. package/dist/chunk-OYEZR4CN.js +221 -0
  171. package/dist/chunk-OYEZR4CN.js.map +1 -0
  172. package/dist/chunk-P57HUMAE.js +66 -0
  173. package/dist/chunk-P57HUMAE.js.map +1 -0
  174. package/dist/chunk-P6Y2PI6L.js +82 -0
  175. package/dist/chunk-P6Y2PI6L.js.map +1 -0
  176. package/dist/chunk-PA7TDXUQ.js +51 -0
  177. package/dist/chunk-PA7TDXUQ.js.map +1 -0
  178. package/dist/chunk-PPBGGNPV.js +112 -0
  179. package/dist/chunk-PPBGGNPV.js.map +1 -0
  180. package/dist/chunk-PRH4HKND.js +48 -0
  181. package/dist/chunk-PRH4HKND.js.map +1 -0
  182. package/dist/chunk-PSPAZJUQ.js +32 -0
  183. package/dist/chunk-PSPAZJUQ.js.map +1 -0
  184. package/dist/chunk-Q5G5CGZ2.js +170 -0
  185. package/dist/chunk-Q5G5CGZ2.js.map +1 -0
  186. package/dist/chunk-QDAF3LP7.js +89 -0
  187. package/dist/chunk-QDAF3LP7.js.map +1 -0
  188. package/dist/chunk-QGVIGNJ3.js +37 -0
  189. package/dist/chunk-QGVIGNJ3.js.map +1 -0
  190. package/dist/chunk-QNUITYSY.js +68 -0
  191. package/dist/chunk-QNUITYSY.js.map +1 -0
  192. package/dist/chunk-QSWVN3RT.js +116 -0
  193. package/dist/chunk-QSWVN3RT.js.map +1 -0
  194. package/dist/chunk-QTLQZ7OJ.js +110 -0
  195. package/dist/chunk-QTLQZ7OJ.js.map +1 -0
  196. package/dist/chunk-QYAMLIG2.js +84 -0
  197. package/dist/chunk-QYAMLIG2.js.map +1 -0
  198. package/dist/chunk-REILH4XF.js +128 -0
  199. package/dist/chunk-REILH4XF.js.map +1 -0
  200. package/dist/chunk-S6SSK6QX.js +80 -0
  201. package/dist/chunk-S6SSK6QX.js.map +1 -0
  202. package/dist/chunk-SA7ED3PN.js +68 -0
  203. package/dist/chunk-SA7ED3PN.js.map +1 -0
  204. package/dist/chunk-SIJOEM4N.js +55 -0
  205. package/dist/chunk-SIJOEM4N.js.map +1 -0
  206. package/dist/chunk-SLOKAAH2.js +70 -0
  207. package/dist/chunk-SLOKAAH2.js.map +1 -0
  208. package/dist/chunk-TR6NPSMX.js +85 -0
  209. package/dist/chunk-TR6NPSMX.js.map +1 -0
  210. package/dist/chunk-TSZ5DEAT.js +106 -0
  211. package/dist/chunk-TSZ5DEAT.js.map +1 -0
  212. package/dist/chunk-TUNVF45W.js +127 -0
  213. package/dist/chunk-TUNVF45W.js.map +1 -0
  214. package/dist/chunk-TXOBNSQ5.js +63 -0
  215. package/dist/chunk-TXOBNSQ5.js.map +1 -0
  216. package/dist/chunk-U44DRLMM.js +88 -0
  217. package/dist/chunk-U44DRLMM.js.map +1 -0
  218. package/dist/chunk-U4THNRV5.js +114 -0
  219. package/dist/chunk-U4THNRV5.js.map +1 -0
  220. package/dist/chunk-UAZOFC4W.js +72 -0
  221. package/dist/chunk-UAZOFC4W.js.map +1 -0
  222. package/dist/chunk-UGKI466V.js +12 -0
  223. package/dist/chunk-UGKI466V.js.map +1 -0
  224. package/dist/chunk-VM4RMQQN.js +11 -0
  225. package/dist/chunk-VM4RMQQN.js.map +1 -0
  226. package/dist/chunk-VQ37VLAS.js +54 -0
  227. package/dist/chunk-VQ37VLAS.js.map +1 -0
  228. package/dist/chunk-VT7VSYH5.js +73 -0
  229. package/dist/chunk-VT7VSYH5.js.map +1 -0
  230. package/dist/chunk-VTIRUCLZ.js +57 -0
  231. package/dist/chunk-VTIRUCLZ.js.map +1 -0
  232. package/dist/chunk-VVBAEYKI.js +202 -0
  233. package/dist/chunk-VVBAEYKI.js.map +1 -0
  234. package/dist/chunk-WHFIQUCC.js +120 -0
  235. package/dist/chunk-WHFIQUCC.js.map +1 -0
  236. package/dist/chunk-WPSESV5Z.js +74 -0
  237. package/dist/chunk-WPSESV5Z.js.map +1 -0
  238. package/dist/chunk-WXEXCHEN.js +51 -0
  239. package/dist/chunk-WXEXCHEN.js.map +1 -0
  240. package/dist/chunk-X2DDPD3D.js +113 -0
  241. package/dist/chunk-X2DDPD3D.js.map +1 -0
  242. package/dist/chunk-X7VIMKLD.js +127 -0
  243. package/dist/chunk-X7VIMKLD.js.map +1 -0
  244. package/dist/chunk-XJ3EG6XY.js +30 -0
  245. package/dist/chunk-XJ3EG6XY.js.map +1 -0
  246. package/dist/chunk-XOT5HWSF.js +23 -0
  247. package/dist/chunk-XOT5HWSF.js.map +1 -0
  248. package/dist/chunk-Y72IP43U.js +117 -0
  249. package/dist/chunk-Y72IP43U.js.map +1 -0
  250. package/dist/chunk-YD6FLXBV.js +61 -0
  251. package/dist/chunk-YD6FLXBV.js.map +1 -0
  252. package/dist/chunk-YEQQGYYO.js +1022 -0
  253. package/dist/chunk-YEQQGYYO.js.map +1 -0
  254. package/dist/chunk-YYW6AEIT.js +46 -0
  255. package/dist/chunk-YYW6AEIT.js.map +1 -0
  256. package/dist/chunk-ZEVGXKRU.js +104 -0
  257. package/dist/chunk-ZEVGXKRU.js.map +1 -0
  258. package/dist/chunk-ZKSMMLDP.js +74 -0
  259. package/dist/chunk-ZKSMMLDP.js.map +1 -0
  260. package/dist/chunk-ZU6IM6PK.js +101 -0
  261. package/dist/chunk-ZU6IM6PK.js.map +1 -0
  262. package/dist/chunk-ZUS5KZGO.js +714 -0
  263. package/dist/chunk-ZUS5KZGO.js.map +1 -0
  264. package/dist/chunk-ZVS2GOT2.js +58 -0
  265. package/dist/chunk-ZVS2GOT2.js.map +1 -0
  266. package/dist/chunk-ZXPDS6DH.js +3 -0
  267. package/dist/chunk-ZXPDS6DH.js.map +1 -0
  268. package/dist/chunk-ZZQQJX5Z.js +173 -0
  269. package/dist/chunk-ZZQQJX5Z.js.map +1 -0
  270. package/dist/components.css +2 -0
  271. package/dist/composites/account-menu/index.js +6 -0
  272. package/dist/composites/account-menu/index.js.map +1 -0
  273. package/dist/composites/agent-composer/index.js +7 -0
  274. package/dist/composites/agent-composer/index.js.map +1 -0
  275. package/dist/composites/agent-editor/index.js +10 -0
  276. package/dist/composites/agent-editor/index.js.map +1 -0
  277. package/dist/composites/agent-stream/index.js +12 -0
  278. package/dist/composites/agent-stream/index.js.map +1 -0
  279. package/dist/composites/agent-timeline/index.js +5 -0
  280. package/dist/composites/agent-timeline/index.js.map +1 -0
  281. package/dist/composites/approval-card/index.js +5 -0
  282. package/dist/composites/approval-card/index.js.map +1 -0
  283. package/dist/composites/chat-composer/index.js +6 -0
  284. package/dist/composites/chat-composer/index.js.map +1 -0
  285. package/dist/composites/chat-message/index.js +6 -0
  286. package/dist/composites/chat-message/index.js.map +1 -0
  287. package/dist/composites/code-block/index.js +5 -0
  288. package/dist/composites/code-block/index.js.map +1 -0
  289. package/dist/composites/command-palette/index.js +5 -0
  290. package/dist/composites/command-palette/index.js.map +1 -0
  291. package/dist/composites/confirm-dialog/index.js +7 -0
  292. package/dist/composites/confirm-dialog/index.js.map +1 -0
  293. package/dist/composites/cron-jobs-list/index.js +5 -0
  294. package/dist/composites/cron-jobs-list/index.js.map +1 -0
  295. package/dist/composites/data-table/index.js +10 -0
  296. package/dist/composites/data-table/index.js.map +1 -0
  297. package/dist/composites/deployment-row/index.js +5 -0
  298. package/dist/composites/deployment-row/index.js.map +1 -0
  299. package/dist/composites/domain-config/index.js +7 -0
  300. package/dist/composites/domain-config/index.js.map +1 -0
  301. package/dist/composites/env-var-editor/index.js +7 -0
  302. package/dist/composites/env-var-editor/index.js.map +1 -0
  303. package/dist/composites/mcp-server-list/index.js +5 -0
  304. package/dist/composites/mcp-server-list/index.js.map +1 -0
  305. package/dist/composites/page-shell/index.js +7 -0
  306. package/dist/composites/page-shell/index.js.map +1 -0
  307. package/dist/composites/permission-modal/index.js +6 -0
  308. package/dist/composites/permission-modal/index.js.map +1 -0
  309. package/dist/composites/preview-env-card/index.js +6 -0
  310. package/dist/composites/preview-env-card/index.js.map +1 -0
  311. package/dist/composites/preview-panel/index.js +5 -0
  312. package/dist/composites/preview-panel/index.js.map +1 -0
  313. package/dist/composites/project-card/index.js +6 -0
  314. package/dist/composites/project-card/index.js.map +1 -0
  315. package/dist/composites/rollback-ui/index.js +6 -0
  316. package/dist/composites/rollback-ui/index.js.map +1 -0
  317. package/dist/composites/rule-editor/index.js +11 -0
  318. package/dist/composites/rule-editor/index.js.map +1 -0
  319. package/dist/composites/skill-editor/index.js +11 -0
  320. package/dist/composites/skill-editor/index.js.map +1 -0
  321. package/dist/composites/skills-list/index.js +5 -0
  322. package/dist/composites/skills-list/index.js.map +1 -0
  323. package/dist/composites/stability-bundle-viewer/index.js +4 -0
  324. package/dist/composites/stability-bundle-viewer/index.js.map +1 -0
  325. package/dist/composites/task-header/index.js +5 -0
  326. package/dist/composites/task-header/index.js.map +1 -0
  327. package/dist/composites/usage-meter/index.js +5 -0
  328. package/dist/composites/usage-meter/index.js.map +1 -0
  329. package/dist/fonts/LICENSE-GEIST.txt +92 -0
  330. package/dist/fonts/geist-400.woff2 +0 -0
  331. package/dist/fonts/geist-500.woff2 +0 -0
  332. package/dist/fonts/geist-600.woff2 +0 -0
  333. package/dist/fonts/geist-mono-400.woff2 +0 -0
  334. package/dist/fonts/geist-mono-500.woff2 +0 -0
  335. package/dist/fonts/geist-mono-600.woff2 +0 -0
  336. package/dist/fonts-cdn.css +28 -0
  337. package/dist/fonts.css +75 -0
  338. package/dist/index.d.ts +4621 -0
  339. package/dist/index.js +1338 -0
  340. package/dist/index.js.map +1 -0
  341. package/dist/plugin-D5xmXqYb.d.ts +172 -0
  342. package/dist/preset-v3-legacy.d.ts +35 -0
  343. package/dist/preset-v3-legacy.js +159 -0
  344. package/dist/preset-v3-legacy.js.map +1 -0
  345. package/dist/preset.css +27 -0
  346. package/dist/primitives/action-bar/index.js +4 -0
  347. package/dist/primitives/action-bar/index.js.map +1 -0
  348. package/dist/primitives/agent-error-card/index.js +5 -0
  349. package/dist/primitives/agent-error-card/index.js.map +1 -0
  350. package/dist/primitives/agent-event/index.js +4 -0
  351. package/dist/primitives/agent-event/index.js.map +1 -0
  352. package/dist/primitives/agent-handoff/index.js +4 -0
  353. package/dist/primitives/agent-handoff/index.js.map +1 -0
  354. package/dist/primitives/agent-profile/index.js +4 -0
  355. package/dist/primitives/agent-profile/index.js.map +1 -0
  356. package/dist/primitives/agent-starting-state/index.js +5 -0
  357. package/dist/primitives/agent-starting-state/index.js.map +1 -0
  358. package/dist/primitives/agent-streaming/index.js +5 -0
  359. package/dist/primitives/agent-streaming/index.js.map +1 -0
  360. package/dist/primitives/alert/index.js +4 -0
  361. package/dist/primitives/alert/index.js.map +1 -0
  362. package/dist/primitives/artifact-preview/index.js +4 -0
  363. package/dist/primitives/artifact-preview/index.js.map +1 -0
  364. package/dist/primitives/attachment-chip/index.js +4 -0
  365. package/dist/primitives/attachment-chip/index.js.map +1 -0
  366. package/dist/primitives/audit-log-entry/index.js +4 -0
  367. package/dist/primitives/audit-log-entry/index.js.map +1 -0
  368. package/dist/primitives/auto-compact-notice/index.js +5 -0
  369. package/dist/primitives/auto-compact-notice/index.js.map +1 -0
  370. package/dist/primitives/avatar/index.js +4 -0
  371. package/dist/primitives/avatar/index.js.map +1 -0
  372. package/dist/primitives/badge/index.js +4 -0
  373. package/dist/primitives/badge/index.js.map +1 -0
  374. package/dist/primitives/branch-indicator/index.js +4 -0
  375. package/dist/primitives/branch-indicator/index.js.map +1 -0
  376. package/dist/primitives/browser-controls/index.js +4 -0
  377. package/dist/primitives/browser-controls/index.js.map +1 -0
  378. package/dist/primitives/build-log-stream/index.js +5 -0
  379. package/dist/primitives/build-log-stream/index.js.map +1 -0
  380. package/dist/primitives/button/index.js +4 -0
  381. package/dist/primitives/button/index.js.map +1 -0
  382. package/dist/primitives/capability-indicator/index.js +4 -0
  383. package/dist/primitives/capability-indicator/index.js.map +1 -0
  384. package/dist/primitives/card/index.js +4 -0
  385. package/dist/primitives/card/index.js.map +1 -0
  386. package/dist/primitives/channel-card/index.js +4 -0
  387. package/dist/primitives/channel-card/index.js.map +1 -0
  388. package/dist/primitives/chat-thread/index.js +5 -0
  389. package/dist/primitives/chat-thread/index.js.map +1 -0
  390. package/dist/primitives/checkbox/index.js +4 -0
  391. package/dist/primitives/checkbox/index.js.map +1 -0
  392. package/dist/primitives/context-card/index.js +4 -0
  393. package/dist/primitives/context-card/index.js.map +1 -0
  394. package/dist/primitives/context-window-bar/index.js +4 -0
  395. package/dist/primitives/context-window-bar/index.js.map +1 -0
  396. package/dist/primitives/copy-button/index.js +4 -0
  397. package/dist/primitives/copy-button/index.js.map +1 -0
  398. package/dist/primitives/cost-meter/index.js +4 -0
  399. package/dist/primitives/cost-meter/index.js.map +1 -0
  400. package/dist/primitives/created-files-card/index.js +4 -0
  401. package/dist/primitives/created-files-card/index.js.map +1 -0
  402. package/dist/primitives/cron-job-card/index.js +4 -0
  403. package/dist/primitives/cron-job-card/index.js.map +1 -0
  404. package/dist/primitives/danger-zone/index.js +4 -0
  405. package/dist/primitives/danger-zone/index.js.map +1 -0
  406. package/dist/primitives/dialog/index.js +4 -0
  407. package/dist/primitives/dialog/index.js.map +1 -0
  408. package/dist/primitives/diff-viewer/index.js +4 -0
  409. package/dist/primitives/diff-viewer/index.js.map +1 -0
  410. package/dist/primitives/dropdown-menu/index.js +4 -0
  411. package/dist/primitives/dropdown-menu/index.js.map +1 -0
  412. package/dist/primitives/empty-state/index.js +4 -0
  413. package/dist/primitives/empty-state/index.js.map +1 -0
  414. package/dist/primitives/export-chat-dialog/index.js +4 -0
  415. package/dist/primitives/export-chat-dialog/index.js.map +1 -0
  416. package/dist/primitives/folder-context-card/index.js +4 -0
  417. package/dist/primitives/folder-context-card/index.js.map +1 -0
  418. package/dist/primitives/folder-selector/index.js +4 -0
  419. package/dist/primitives/folder-selector/index.js.map +1 -0
  420. package/dist/primitives/form-field/index.js +4 -0
  421. package/dist/primitives/form-field/index.js.map +1 -0
  422. package/dist/primitives/gateway-status-indicator/index.js +4 -0
  423. package/dist/primitives/gateway-status-indicator/index.js.map +1 -0
  424. package/dist/primitives/hook-config/index.js +4 -0
  425. package/dist/primitives/hook-config/index.js.map +1 -0
  426. package/dist/primitives/hook-event-log/index.js +4 -0
  427. package/dist/primitives/hook-event-log/index.js.map +1 -0
  428. package/dist/primitives/input/index.js +4 -0
  429. package/dist/primitives/input/index.js.map +1 -0
  430. package/dist/primitives/intent-selector/index.js +4 -0
  431. package/dist/primitives/intent-selector/index.js.map +1 -0
  432. package/dist/primitives/label/index.js +4 -0
  433. package/dist/primitives/label/index.js.map +1 -0
  434. package/dist/primitives/lane-board/index.js +4 -0
  435. package/dist/primitives/lane-board/index.js.map +1 -0
  436. package/dist/primitives/login-split/index.js +4 -0
  437. package/dist/primitives/login-split/index.js.map +1 -0
  438. package/dist/primitives/mcp-server-card/index.js +4 -0
  439. package/dist/primitives/mcp-server-card/index.js.map +1 -0
  440. package/dist/primitives/memory-editor/index.js +4 -0
  441. package/dist/primitives/memory-editor/index.js.map +1 -0
  442. package/dist/primitives/mention-menu/index.js +4 -0
  443. package/dist/primitives/mention-menu/index.js.map +1 -0
  444. package/dist/primitives/metrics-panel/index.js +4 -0
  445. package/dist/primitives/metrics-panel/index.js.map +1 -0
  446. package/dist/primitives/model-card/index.js +4 -0
  447. package/dist/primitives/model-card/index.js.map +1 -0
  448. package/dist/primitives/model-selector/index.js +4 -0
  449. package/dist/primitives/model-selector/index.js.map +1 -0
  450. package/dist/primitives/pagination/index.js +4 -0
  451. package/dist/primitives/pagination/index.js.map +1 -0
  452. package/dist/primitives/permission-matrix/index.js +4 -0
  453. package/dist/primitives/permission-matrix/index.js.map +1 -0
  454. package/dist/primitives/pin-input/index.js +4 -0
  455. package/dist/primitives/pin-input/index.js.map +1 -0
  456. package/dist/primitives/plan-badge/index.js +4 -0
  457. package/dist/primitives/plan-badge/index.js.map +1 -0
  458. package/dist/primitives/progress/index.js +4 -0
  459. package/dist/primitives/progress/index.js.map +1 -0
  460. package/dist/primitives/progress-checklist/index.js +4 -0
  461. package/dist/primitives/progress-checklist/index.js.map +1 -0
  462. package/dist/primitives/project-switcher/index.js +4 -0
  463. package/dist/primitives/project-switcher/index.js.map +1 -0
  464. package/dist/primitives/quick-action-chips/index.js +4 -0
  465. package/dist/primitives/quick-action-chips/index.js.map +1 -0
  466. package/dist/primitives/radio-group/index.js +4 -0
  467. package/dist/primitives/radio-group/index.js.map +1 -0
  468. package/dist/primitives/recent-folders-list/index.js +4 -0
  469. package/dist/primitives/recent-folders-list/index.js.map +1 -0
  470. package/dist/primitives/rule-card/index.js +4 -0
  471. package/dist/primitives/rule-card/index.js.map +1 -0
  472. package/dist/primitives/run-stats/index.js +4 -0
  473. package/dist/primitives/run-stats/index.js.map +1 -0
  474. package/dist/primitives/run-status-pill/index.js +4 -0
  475. package/dist/primitives/run-status-pill/index.js.map +1 -0
  476. package/dist/primitives/running-tasks-panel/index.js +4 -0
  477. package/dist/primitives/running-tasks-panel/index.js.map +1 -0
  478. package/dist/primitives/scroll-area/index.js +4 -0
  479. package/dist/primitives/scroll-area/index.js.map +1 -0
  480. package/dist/primitives/select/index.js +4 -0
  481. package/dist/primitives/select/index.js.map +1 -0
  482. package/dist/primitives/session-list-item/index.js +4 -0
  483. package/dist/primitives/session-list-item/index.js.map +1 -0
  484. package/dist/primitives/session-timeline/index.js +4 -0
  485. package/dist/primitives/session-timeline/index.js.map +1 -0
  486. package/dist/primitives/sheet/index.js +4 -0
  487. package/dist/primitives/sheet/index.js.map +1 -0
  488. package/dist/primitives/sidebar/index.js +4 -0
  489. package/dist/primitives/sidebar/index.js.map +1 -0
  490. package/dist/primitives/skeleton/index.js +5 -0
  491. package/dist/primitives/skeleton/index.js.map +1 -0
  492. package/dist/primitives/skill-card/index.js +4 -0
  493. package/dist/primitives/skill-card/index.js.map +1 -0
  494. package/dist/primitives/social-auth-row/index.js +4 -0
  495. package/dist/primitives/social-auth-row/index.js.map +1 -0
  496. package/dist/primitives/stat-tile/index.js +4 -0
  497. package/dist/primitives/stat-tile/index.js.map +1 -0
  498. package/dist/primitives/status-dot/index.js +4 -0
  499. package/dist/primitives/status-dot/index.js.map +1 -0
  500. package/dist/primitives/steps-rail/index.js +4 -0
  501. package/dist/primitives/steps-rail/index.js.map +1 -0
  502. package/dist/primitives/sub-agent-dispatch/index.js +4 -0
  503. package/dist/primitives/sub-agent-dispatch/index.js.map +1 -0
  504. package/dist/primitives/switch/index.js +4 -0
  505. package/dist/primitives/switch/index.js.map +1 -0
  506. package/dist/primitives/system-prompt-editor/index.js +4 -0
  507. package/dist/primitives/system-prompt-editor/index.js.map +1 -0
  508. package/dist/primitives/table/index.js +4 -0
  509. package/dist/primitives/table/index.js.map +1 -0
  510. package/dist/primitives/tabs/index.js +4 -0
  511. package/dist/primitives/tabs/index.js.map +1 -0
  512. package/dist/primitives/task-plan/index.js +4 -0
  513. package/dist/primitives/task-plan/index.js.map +1 -0
  514. package/dist/primitives/terminal-panel/index.js +5 -0
  515. package/dist/primitives/terminal-panel/index.js.map +1 -0
  516. package/dist/primitives/textarea/index.js +4 -0
  517. package/dist/primitives/textarea/index.js.map +1 -0
  518. package/dist/primitives/thinking-level-selector/index.js +4 -0
  519. package/dist/primitives/thinking-level-selector/index.js.map +1 -0
  520. package/dist/primitives/timestamp/index.js +4 -0
  521. package/dist/primitives/timestamp/index.js.map +1 -0
  522. package/dist/primitives/toast/index.js +4 -0
  523. package/dist/primitives/toast/index.js.map +1 -0
  524. package/dist/primitives/token-usage-chart/index.js +4 -0
  525. package/dist/primitives/token-usage-chart/index.js.map +1 -0
  526. package/dist/primitives/tool-call/index.js +4 -0
  527. package/dist/primitives/tool-call/index.js.map +1 -0
  528. package/dist/primitives/tool-call-card/index.js +4 -0
  529. package/dist/primitives/tool-call-card/index.js.map +1 -0
  530. package/dist/primitives/tool-result/index.js +4 -0
  531. package/dist/primitives/tool-result/index.js.map +1 -0
  532. package/dist/primitives/tools-list/index.js +4 -0
  533. package/dist/primitives/tools-list/index.js.map +1 -0
  534. package/dist/primitives/tooltip/index.js +4 -0
  535. package/dist/primitives/tooltip/index.js.map +1 -0
  536. package/dist/primitives/topnav/index.js +4 -0
  537. package/dist/primitives/topnav/index.js.map +1 -0
  538. package/dist/primitives/update-banner/index.js +4 -0
  539. package/dist/primitives/update-banner/index.js.map +1 -0
  540. package/dist/slide/index.d.ts +212 -0
  541. package/dist/slide/index.js +3 -0
  542. package/dist/slide/index.js.map +1 -0
  543. package/dist/slide/plugins/emoji/index.d.ts +29 -0
  544. package/dist/slide/plugins/emoji/index.js +157 -0
  545. package/dist/slide/plugins/emoji/index.js.map +1 -0
  546. package/dist/slide/plugins/math/index.d.ts +13 -0
  547. package/dist/slide/plugins/math/index.js +145 -0
  548. package/dist/slide/plugins/math/index.js.map +1 -0
  549. package/dist/slide/plugins/mermaid/index.d.ts +55 -0
  550. package/dist/slide/plugins/mermaid/index.js +218 -0
  551. package/dist/slide/plugins/mermaid/index.js.map +1 -0
  552. package/dist/slide/plugins/shiki/index.d.ts +18 -0
  553. package/dist/slide/plugins/shiki/index.js +87 -0
  554. package/dist/slide/plugins/shiki/index.js.map +1 -0
  555. package/dist/slide/themes/default.css +256 -0
  556. package/dist/slide/themes/layouts.css +143 -0
  557. package/dist/slide/themes/violet-forge.css +256 -0
  558. package/dist/slide-deck/index.css +52 -0
  559. package/dist/slide-deck/index.css.map +1 -0
  560. package/dist/slide-deck/index.d.ts +377 -0
  561. package/dist/slide-deck/index.js +1111 -0
  562. package/dist/slide-deck/index.js.map +1 -0
  563. package/dist/styles-v3-legacy.css +88 -0
  564. package/dist/styles.css +137 -0
  565. package/dist/tokens-v4.css +187 -0
  566. package/dist/tokens.css +230 -0
  567. package/dist/vite-plugin.d.ts +29 -0
  568. package/dist/vite-plugin.js +76 -0
  569. package/dist/vite-plugin.js.map +1 -0
  570. package/dist/whiteboard/index.d.ts +258 -0
  571. package/dist/whiteboard/index.js +738 -0
  572. package/dist/whiteboard/index.js.map +1 -0
  573. package/llms.txt +273 -0
  574. package/package.json +800 -0
  575. package/registry/index.json +856 -0
  576. package/registry/r/account-menu.json +24 -0
  577. package/registry/r/action-bar.json +22 -0
  578. package/registry/r/agent-composer.json +22 -0
  579. package/registry/r/agent-editor.json +27 -0
  580. package/registry/r/agent-error-card.json +22 -0
  581. package/registry/r/agent-event.json +24 -0
  582. package/registry/r/agent-handoff.json +22 -0
  583. package/registry/r/agent-profile.json +23 -0
  584. package/registry/r/agent-starting-state.json +22 -0
  585. package/registry/r/agent-stream.json +27 -0
  586. package/registry/r/agent-streaming.json +22 -0
  587. package/registry/r/agent-timeline.json +22 -0
  588. package/registry/r/agent-types.json +15 -0
  589. package/registry/r/alert.json +22 -0
  590. package/registry/r/approval-card.json +25 -0
  591. package/registry/r/artifact-preview.json +22 -0
  592. package/registry/r/attachment-chip.json +24 -0
  593. package/registry/r/audit-log-entry.json +23 -0
  594. package/registry/r/auto-compact-notice.json +22 -0
  595. package/registry/r/avatar.json +23 -0
  596. package/registry/r/badge.json +22 -0
  597. package/registry/r/browser-controls.json +22 -0
  598. package/registry/r/build-log-stream.json +19 -0
  599. package/registry/r/button.json +23 -0
  600. package/registry/r/capability-indicator.json +23 -0
  601. package/registry/r/card.json +22 -0
  602. package/registry/r/chat-composer.json +23 -0
  603. package/registry/r/chat-message.json +129 -0
  604. package/registry/r/chat-thread.json +20 -0
  605. package/registry/r/chat-types.json +15 -0
  606. package/registry/r/checkbox.json +24 -0
  607. package/registry/r/cn.json +19 -0
  608. package/registry/r/code-block.json +21 -0
  609. package/registry/r/command-palette.json +25 -0
  610. package/registry/r/confirm-dialog.json +25 -0
  611. package/registry/r/context-card.json +23 -0
  612. package/registry/r/context-window-bar.json +20 -0
  613. package/registry/r/copy-button.json +22 -0
  614. package/registry/r/cost-meter.json +22 -0
  615. package/registry/r/created-files-card.json +23 -0
  616. package/registry/r/cron-job-card.json +22 -0
  617. package/registry/r/cron-jobs-list.json +23 -0
  618. package/registry/r/danger-zone.json +20 -0
  619. package/registry/r/data-table.json +27 -0
  620. package/registry/r/deployment-row.json +23 -0
  621. package/registry/r/dialog.json +23 -0
  622. package/registry/r/diff-viewer.json +20 -0
  623. package/registry/r/domain-config.json +25 -0
  624. package/registry/r/dropdown-menu.json +23 -0
  625. package/registry/r/empty-state.json +20 -0
  626. package/registry/r/env-var-editor.json +25 -0
  627. package/registry/r/folder-context-card.json +23 -0
  628. package/registry/r/folder-selector.json +22 -0
  629. package/registry/r/form-field.json +23 -0
  630. package/registry/r/hook-config.json +22 -0
  631. package/registry/r/hook-event-log.json +22 -0
  632. package/registry/r/input.json +22 -0
  633. package/registry/r/intent-selector.json +24 -0
  634. package/registry/r/label.json +22 -0
  635. package/registry/r/lane-board.json +20 -0
  636. package/registry/r/live-region-context.json +16 -0
  637. package/registry/r/login-split.json +20 -0
  638. package/registry/r/mcp-server-card.json +22 -0
  639. package/registry/r/mcp-server-list.json +23 -0
  640. package/registry/r/memory-editor.json +23 -0
  641. package/registry/r/mention-menu.json +23 -0
  642. package/registry/r/metrics-panel.json +22 -0
  643. package/registry/r/mode-types.json +15 -0
  644. package/registry/r/model-card.json +23 -0
  645. package/registry/r/model-selector.json +23 -0
  646. package/registry/r/page-shell.json +25 -0
  647. package/registry/r/pagination.json +22 -0
  648. package/registry/r/permission-matrix.json +22 -0
  649. package/registry/r/permission-modal.json +24 -0
  650. package/registry/r/permission-types.json +15 -0
  651. package/registry/r/pin-input.json +20 -0
  652. package/registry/r/plan-badge.json +20 -0
  653. package/registry/r/preview-env-card.json +25 -0
  654. package/registry/r/preview-panel.json +21 -0
  655. package/registry/r/progress-checklist.json +23 -0
  656. package/registry/r/progress.json +20 -0
  657. package/registry/r/project-card.json +25 -0
  658. package/registry/r/project-switcher.json +22 -0
  659. package/registry/r/quick-action-chips.json +21 -0
  660. package/registry/r/radio-group.json +23 -0
  661. package/registry/r/recent-folders-list.json +22 -0
  662. package/registry/r/rollback-ui.json +24 -0
  663. package/registry/r/rule-card.json +23 -0
  664. package/registry/r/rule-editor.json +28 -0
  665. package/registry/r/rule-types.json +18 -0
  666. package/registry/r/run-stats.json +22 -0
  667. package/registry/r/running-tasks-panel.json +22 -0
  668. package/registry/r/safe-href.json +16 -0
  669. package/registry/r/scroll-area.json +22 -0
  670. package/registry/r/select.json +24 -0
  671. package/registry/r/session-list-item.json +20 -0
  672. package/registry/r/session-timeline.json +22 -0
  673. package/registry/r/sheet.json +24 -0
  674. package/registry/r/sidebar.json +19 -0
  675. package/registry/r/skeleton.json +19 -0
  676. package/registry/r/skill-card.json +24 -0
  677. package/registry/r/skill-editor.json +28 -0
  678. package/registry/r/skills-list.json +23 -0
  679. package/registry/r/slide-deck.json +130 -0
  680. package/registry/r/slide-plugin-emoji.json +28 -0
  681. package/registry/r/slide-plugin-math.json +24 -0
  682. package/registry/r/slide-plugin-mermaid.json +23 -0
  683. package/registry/r/slide-plugin-shiki.json +23 -0
  684. package/registry/r/slide.json +123 -0
  685. package/registry/r/social-auth-row.json +21 -0
  686. package/registry/r/stat-tile.json +22 -0
  687. package/registry/r/status-dot.json +20 -0
  688. package/registry/r/steps-rail.json +20 -0
  689. package/registry/r/sub-agent-dispatch.json +22 -0
  690. package/registry/r/switch.json +23 -0
  691. package/registry/r/system-prompt-editor.json +22 -0
  692. package/registry/r/table.json +22 -0
  693. package/registry/r/tabs.json +22 -0
  694. package/registry/r/tailwind-preset.json +19 -0
  695. package/registry/r/task-header.json +24 -0
  696. package/registry/r/task-plan.json +22 -0
  697. package/registry/r/task-types.json +15 -0
  698. package/registry/r/terminal-panel.json +22 -0
  699. package/registry/r/textarea.json +22 -0
  700. package/registry/r/theme-provider.json +59 -0
  701. package/registry/r/theme-script.json +18 -0
  702. package/registry/r/theo-ui-provider.json +20 -0
  703. package/registry/r/timestamp.json +20 -0
  704. package/registry/r/toast.json +30 -0
  705. package/registry/r/token-usage-chart.json +20 -0
  706. package/registry/r/tokens.json +21 -0
  707. package/registry/r/tool-call-card.json +23 -0
  708. package/registry/r/tool-call.json +22 -0
  709. package/registry/r/tool-result.json +20 -0
  710. package/registry/r/tools-list.json +23 -0
  711. package/registry/r/tooltip.json +22 -0
  712. package/registry/r/topnav.json +22 -0
  713. package/registry/r/types.json +15 -0
  714. package/registry/r/usage-meter.json +21 -0
  715. package/registry/r/whiteboard.json +101 -0
@@ -0,0 +1,856 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry.json",
3
+ "name": "theo-ui",
4
+ "homepage": "https://usetheo.dev",
5
+ "metadata": {
6
+ "requires": {
7
+ "tsconfigPathAlias": {
8
+ "@/*": [
9
+ "./src/*"
10
+ ]
11
+ }
12
+ }
13
+ },
14
+ "items": [
15
+ {
16
+ "name": "account-menu",
17
+ "type": "registry:ui",
18
+ "title": "AccountMenu",
19
+ "description": "Sidebar header for PaaS surfaces. Avatar + name + (optional) PlanBadge + (optional) secondary line, with dual mode: with onClick renders as a `button` with trailing chevron (account picker affordance); without, renders as a static `div`. PaaS-shape sibling of ProjectSwitcher."
20
+ },
21
+ {
22
+ "name": "action-bar",
23
+ "type": "registry:ui",
24
+ "title": "ActionBar",
25
+ "description": "Page-top action strip primitive. Three optional slots: search input (flex-1, grows to fill), filter icon button, and primary action button (right-aligned). Returns null when no slots are provided. Used standalone or composed inside <PageShell>. Primary action supports loading state with spinner."
26
+ },
27
+ {
28
+ "name": "agent-composer",
29
+ "type": "registry:ui",
30
+ "title": "AgentComposer",
31
+ "description": "ChatComposer + slash-command / @file / #memory triggers."
32
+ },
33
+ {
34
+ "name": "agent-editor",
35
+ "type": "registry:block",
36
+ "title": "AgentEditor",
37
+ "description": "Form for creating or editing an Agent persona."
38
+ },
39
+ {
40
+ "name": "agent-error-card",
41
+ "type": "registry:ui",
42
+ "title": "AgentErrorCard",
43
+ "description": "Inline error / blocked-state card for an agent stream."
44
+ },
45
+ {
46
+ "name": "agent-event",
47
+ "type": "registry:ui",
48
+ "title": "AgentEvent",
49
+ "description": "Single event row in the agent timeline."
50
+ },
51
+ {
52
+ "name": "agent-handoff",
53
+ "type": "registry:ui",
54
+ "title": "AgentHandoff",
55
+ "description": "Visual marker of one agent delegating to another."
56
+ },
57
+ {
58
+ "name": "agent-profile",
59
+ "type": "registry:ui",
60
+ "title": "AgentProfile",
61
+ "description": "Switcher between multiple agent profiles (coder, planner,"
62
+ },
63
+ {
64
+ "name": "agent-starting-state",
65
+ "type": "registry:ui",
66
+ "title": "AgentStartingState",
67
+ "description": "Full-width skeleton shown while the agent boots."
68
+ },
69
+ {
70
+ "name": "agent-stream",
71
+ "type": "registry:ui",
72
+ "title": "AgentStream",
73
+ "description": "The canonical conversation surface for a code agent."
74
+ },
75
+ {
76
+ "name": "agent-streaming",
77
+ "type": "registry:ui",
78
+ "title": "AgentStreaming",
79
+ "description": "Inline \"agent is thinking / typing\" indicator."
80
+ },
81
+ {
82
+ "name": "agent-timeline",
83
+ "type": "registry:ui",
84
+ "title": "AgentTimeline",
85
+ "description": "Vertical list of agent events."
86
+ },
87
+ {
88
+ "name": "agent-types",
89
+ "type": "registry:lib",
90
+ "title": "Theo UI agent types",
91
+ "description": "Shared TypeScript types for the agent timeline, events, and statuses."
92
+ },
93
+ {
94
+ "name": "alert",
95
+ "type": "registry:ui",
96
+ "title": "Alert",
97
+ "description": "Persistent inline notice primitive. Four intents (info / success / warning / destructive) with mapped lucide icons (Info / CheckCircle2 / TriangleAlert / AlertCircle) and design tokens. Optional title, description, action slot, and onDismiss handler. destructive intent renders role=alert (assertive); other intents render role=status (polite). Distinct from Toast (transient, auto-dismiss) and EmptyState (centered card)."
98
+ },
99
+ {
100
+ "name": "approval-card",
101
+ "type": "registry:block",
102
+ "title": "ApprovalCard",
103
+ "description": "Inline pause-and-ask card for an agent stream."
104
+ },
105
+ {
106
+ "name": "artifact-preview",
107
+ "type": "registry:ui",
108
+ "title": "ArtifactPreview",
109
+ "description": "Shell for previewing a generated artifact (XLSX, PDF, image…)."
110
+ },
111
+ {
112
+ "name": "attachment-chip",
113
+ "type": "registry:ui",
114
+ "title": "AttachmentChip",
115
+ "description": "File pill shown in chat composer or message attachments row."
116
+ },
117
+ {
118
+ "name": "audit-log-entry",
119
+ "type": "registry:ui",
120
+ "title": "AuditLogEntry",
121
+ "description": "One row in the agent audit log."
122
+ },
123
+ {
124
+ "name": "auto-compact-notice",
125
+ "type": "registry:ui",
126
+ "title": "AutoCompactNotice",
127
+ "description": "Inline banner warning the user that the agent is"
128
+ },
129
+ {
130
+ "name": "avatar",
131
+ "type": "registry:ui",
132
+ "title": "Avatar",
133
+ "description": "User/team avatar with safe fallback to initials."
134
+ },
135
+ {
136
+ "name": "badge",
137
+ "type": "registry:ui",
138
+ "title": "Badge",
139
+ "description": "Small status / tag indicator with semantic variants (default, primary, success, warning, destructive, info)."
140
+ },
141
+ {
142
+ "name": "browser-controls",
143
+ "type": "registry:ui",
144
+ "title": "BrowserControls",
145
+ "description": "Back/forward/reload + URL bar."
146
+ },
147
+ {
148
+ "name": "build-log-stream",
149
+ "type": "registry:block",
150
+ "title": "BuildLogStream",
151
+ "description": "Terminal-like log viewer with timestamps + level coloring."
152
+ },
153
+ {
154
+ "name": "button",
155
+ "type": "registry:ui",
156
+ "title": "Button",
157
+ "description": "Primitive action element in the Violet Forge design system."
158
+ },
159
+ {
160
+ "name": "capability-indicator",
161
+ "type": "registry:ui",
162
+ "title": "CapabilityIndicator",
163
+ "description": "Row of chips showing what the agent can currently do."
164
+ },
165
+ {
166
+ "name": "card",
167
+ "type": "registry:ui",
168
+ "title": "Card",
169
+ "description": "Surface container for grouping related content."
170
+ },
171
+ {
172
+ "name": "chat-composer",
173
+ "type": "registry:ui",
174
+ "title": "ChatComposer",
175
+ "description": "Message input area, shared by Chat / Code / Infra modes."
176
+ },
177
+ {
178
+ "name": "chat-message",
179
+ "type": "registry:ui",
180
+ "title": "ChatMessage",
181
+ "description": "Composable chat-turn surface with Vercel AI SDK UIMessage parts API — markdown, code blocks, math, tool calls, reasoning, file attachments, source citations, branching navigation."
182
+ },
183
+ {
184
+ "name": "chat-thread",
185
+ "type": "registry:ui",
186
+ "title": "ChatThread",
187
+ "description": "Simple vertical container that applies spacing + scroll."
188
+ },
189
+ {
190
+ "name": "chat-types",
191
+ "type": "registry:lib",
192
+ "title": "Theo UI chat types",
193
+ "description": "Shared TypeScript types for chat messages, roles, and attachments."
194
+ },
195
+ {
196
+ "name": "checkbox",
197
+ "type": "registry:ui",
198
+ "title": "Checkbox",
199
+ "description": "Built on Radix Checkbox — accessible binary control with focus ring and indeterminate state support."
200
+ },
201
+ {
202
+ "name": "cn",
203
+ "type": "registry:lib",
204
+ "title": "cn (Tailwind class merger)",
205
+ "description": "Merge Tailwind classes with conflict resolution."
206
+ },
207
+ {
208
+ "name": "code-block",
209
+ "type": "registry:ui",
210
+ "title": "CodeBlock",
211
+ "description": "Terminal / code-snippet surface. Renders code inside a <pre> with optional 'terminal' prefix per line ('$ '), optional caption (file name), and optional inline CopyButton in top-right. Copy uses the raw code (without the visual prefix). language prop is forward-compat for future syntax highlighting."
212
+ },
213
+ {
214
+ "name": "command-palette",
215
+ "type": "registry:ui",
216
+ "title": "CommandPalette",
217
+ "description": "Cmd+K-style global launcher with arrow-key navigation, fuzzy ranking, and Enter/Escape behavior — built on cmdk + Theo Dialog."
218
+ },
219
+ {
220
+ "name": "confirm-dialog",
221
+ "type": "registry:ui",
222
+ "title": "ConfirmDialog",
223
+ "description": "Controlled confirmation modal built on Dialog. Auto-focuses Cancel on open (deliberate — NOT the destructive button). Optional intent=destructive switches the confirm button to destructive variant. Optional confirmationPhrase enables typed-confirmation guard (case-sensitive, empty string = no phrase). Async onConfirm shows Loader2 spinner; resolve closes the dialog; reject keeps it open so consumers can surface their own error. Enter in the phrase input triggers confirm when matched."
224
+ },
225
+ {
226
+ "name": "context-card",
227
+ "type": "registry:ui",
228
+ "title": "ContextCard",
229
+ "description": "Generic \"informational\" card for the right inspector."
230
+ },
231
+ {
232
+ "name": "context-window-bar",
233
+ "type": "registry:ui",
234
+ "title": "ContextWindowBar",
235
+ "description": "Shows how much of the model's context window has been"
236
+ },
237
+ {
238
+ "name": "copy-button",
239
+ "type": "registry:ui",
240
+ "title": "CopyButton",
241
+ "description": "Click-to-copy button primitive. Wraps navigator.clipboard.writeText with icon swap (Copy → Check on success, Copy → X on failure), aria-live announcement for screen readers, optional label, ghost/outline variants, and SSR-safe rendering. Auto-cleans the revert timer on unmount and debounces double-clicks."
242
+ },
243
+ {
244
+ "name": "cost-meter",
245
+ "type": "registry:ui",
246
+ "title": "CostMeter",
247
+ "description": "Gauge for token spend that visualizes used vs. budget with color-coded states."
248
+ },
249
+ {
250
+ "name": "created-files-card",
251
+ "type": "registry:ui",
252
+ "title": "CreatedFilesCard",
253
+ "description": "Surfaces files produced by a completed task."
254
+ },
255
+ {
256
+ "name": "cron-job-card",
257
+ "type": "registry:ui",
258
+ "title": "CronJobCard",
259
+ "description": "One scheduled agent job — shows schedule, next run, last status, and toggle / edit actions."
260
+ },
261
+ {
262
+ "name": "cron-jobs-list",
263
+ "type": "registry:block",
264
+ "title": "CronJobsList",
265
+ "description": "Grid of CronJobCards with a sticky \"new job\" action."
266
+ },
267
+ {
268
+ "name": "danger-zone",
269
+ "type": "registry:ui",
270
+ "title": "DangerZone",
271
+ "description": "Destructive-actions section primitive with sub-component DangerZone.Action. Red-bordered container with title bar (default 'Danger Zone') and action rows. Each row carries title + description + consumer-provided action slot (typically a destructive Button). Rows separated by hairline dividers; last row drops the bottom border via last:border-b-0."
272
+ },
273
+ {
274
+ "name": "data-table",
275
+ "type": "registry:ui",
276
+ "title": "DataTable",
277
+ "description": "Generic, sortable, expandable composite over <Table>. Operator-grade entity-list patterns: sortable headers (controlled OR uncontrolled), sticky header, expandable rows (multi default + expandMode='single' opt-in), row action menus via DropdownMenu, client-side pagination, loading skeleton, empty state. Generic over T (e.g. DataTable<Domain>)."
278
+ },
279
+ {
280
+ "name": "deployment-row",
281
+ "type": "registry:block",
282
+ "title": "DeploymentRow",
283
+ "description": "One row in a deployment list (table-ish layout)."
284
+ },
285
+ {
286
+ "name": "dialog",
287
+ "type": "registry:ui",
288
+ "title": "Dialog",
289
+ "description": "Modal overlay built on Radix Dialog."
290
+ },
291
+ {
292
+ "name": "diff-viewer",
293
+ "type": "registry:ui",
294
+ "title": "DiffViewer",
295
+ "description": "Unified diff rendering, no external dep."
296
+ },
297
+ {
298
+ "name": "domain-config",
299
+ "type": "registry:block",
300
+ "title": "DomainConfig",
301
+ "description": "Manage custom domains for a project."
302
+ },
303
+ {
304
+ "name": "dropdown-menu",
305
+ "type": "registry:ui",
306
+ "title": "DropdownMenu",
307
+ "description": "Accessible dropdown menu primitive built on @radix-ui/react-dropdown-menu. Sub-components attached via Object.assign (Trigger, Content, Item, CheckboxItem, RadioItem, Label, Separator, Shortcut, Group, Sub, SubTrigger, SubContent, RadioGroup). Styled with @theokit/ui design tokens. Consolidates the 5 prior direct-Radix usages under a single wrapper."
308
+ },
309
+ {
310
+ "name": "empty-state",
311
+ "type": "registry:ui",
312
+ "title": "EmptyState",
313
+ "description": "Visual placeholder for empty lists / first-run screens."
314
+ },
315
+ {
316
+ "name": "env-var-editor",
317
+ "type": "registry:block",
318
+ "title": "EnvVarEditor",
319
+ "description": "Table-like editor for environment variables."
320
+ },
321
+ {
322
+ "name": "folder-context-card",
323
+ "type": "registry:ui",
324
+ "title": "FolderContextCard",
325
+ "description": "File/folder tree fragment for the right inspector."
326
+ },
327
+ {
328
+ "name": "folder-selector",
329
+ "type": "registry:ui",
330
+ "title": "FolderSelector",
331
+ "description": "Chip showing the active working directory."
332
+ },
333
+ {
334
+ "name": "form-field",
335
+ "type": "registry:ui",
336
+ "title": "FormField",
337
+ "description": "Composition wrapper for accessible form rows."
338
+ },
339
+ {
340
+ "name": "hook-config",
341
+ "type": "registry:ui",
342
+ "title": "HookConfig",
343
+ "description": "Editor for lifecycle hooks (PreToolUse, PostToolUse, Stop…)."
344
+ },
345
+ {
346
+ "name": "hook-event-log",
347
+ "type": "registry:ui",
348
+ "title": "HookEventLog",
349
+ "description": "Chronological list of hook firings, with result tone, the"
350
+ },
351
+ {
352
+ "name": "input",
353
+ "type": "registry:ui",
354
+ "title": "Input",
355
+ "description": "Text input primitive with focus ring, error state, and form-field composition support."
356
+ },
357
+ {
358
+ "name": "intent-selector",
359
+ "type": "registry:ui",
360
+ "title": "IntentSelector",
361
+ "description": "Chip dropdown for picking the agent's intent for the next"
362
+ },
363
+ {
364
+ "name": "label",
365
+ "type": "registry:ui",
366
+ "title": "Label",
367
+ "description": "Form field label built on Radix Label."
368
+ },
369
+ {
370
+ "name": "lane-board",
371
+ "type": "registry:ui",
372
+ "title": "LaneBoard",
373
+ "description": "Kanban-style task board with 4 lanes matching the claw-code"
374
+ },
375
+ {
376
+ "name": "live-region-context",
377
+ "type": "registry:lib",
378
+ "title": "LiveRegionContext",
379
+ "description": "React context that coordinates aria-live declarations across nested components to prevent screen-reader double-announcement (T4.1)."
380
+ },
381
+ {
382
+ "name": "login-split",
383
+ "type": "registry:ui",
384
+ "title": "LoginSplit",
385
+ "description": "50/50 split shell for authentication screens — form pane on the left, illustration on the right."
386
+ },
387
+ {
388
+ "name": "mcp-server-card",
389
+ "type": "registry:ui",
390
+ "title": "McpServerCard",
391
+ "description": "One MCP server entry showing connection status, the tools"
392
+ },
393
+ {
394
+ "name": "mcp-server-list",
395
+ "type": "registry:block",
396
+ "title": "McpServerList",
397
+ "description": "Grouped MCP server inventory with status filter chips."
398
+ },
399
+ {
400
+ "name": "memory-editor",
401
+ "type": "registry:ui",
402
+ "title": "MemoryEditor",
403
+ "description": "Three-layer Markdown memory editor (global / project /"
404
+ },
405
+ {
406
+ "name": "mention-menu",
407
+ "type": "registry:ui",
408
+ "title": "MentionMenu",
409
+ "description": "Keyboard-navigable popover for slash-command / @file / #memory"
410
+ },
411
+ {
412
+ "name": "metrics-panel",
413
+ "type": "registry:block",
414
+ "title": "MetricsPanel",
415
+ "description": "Grid of metric tiles for observability dashboards."
416
+ },
417
+ {
418
+ "name": "mode-types",
419
+ "type": "registry:lib",
420
+ "title": "Theo UI mode types",
421
+ "description": "Shared Mode type — \"chat\" | \"code\" | \"infra\" — controlling app shell density and surfaces."
422
+ },
423
+ {
424
+ "name": "model-card",
425
+ "type": "registry:ui",
426
+ "title": "ModelCard",
427
+ "description": "Full info on a model: vendor, context, output cap, pricing,"
428
+ },
429
+ {
430
+ "name": "model-selector",
431
+ "type": "registry:ui",
432
+ "title": "ModelSelector",
433
+ "description": "Chip dropdown for picking the active LLM."
434
+ },
435
+ {
436
+ "name": "page-shell",
437
+ "type": "registry:ui",
438
+ "title": "PageShell",
439
+ "description": "Page-level scaffold composite. Renders title + optional description + optional ActionBar (when search/primaryAction/onFilterClick provided), then one of four mutually-exclusive content states (loading > error > empty > children). Loading defaults to a centered spinner Card; loadingNode escape hatch lets consumers pass custom skeleton. Error state renders Card with message + optional retry button + optional docsHref. Empty state delegates to <EmptyState>. PageShell does NOT manage document.title — pass onTitleChange callback to wire your own hook."
440
+ },
441
+ {
442
+ "name": "pagination",
443
+ "type": "registry:ui",
444
+ "title": "Pagination",
445
+ "description": "Accessible page-number navigation primitive. Renders <nav aria-label=Pagination> with first/prev/numbers/next/last buttons and visual ellipses when totalPages exceeds the visible range. Active page carries aria-current=page. Keyboard nav: ArrowLeft / ArrowRight / Home / End. Configurable siblingCount + optional jump buttons. Returns null when totalPages <= 1. Exports a pure computePageRange helper for unit testing the range logic in isolation."
446
+ },
447
+ {
448
+ "name": "permission-matrix",
449
+ "type": "registry:ui",
450
+ "title": "PermissionMatrix",
451
+ "description": "Tool × path × decision grid for fine-grained access"
452
+ },
453
+ {
454
+ "name": "permission-modal",
455
+ "type": "registry:ui",
456
+ "title": "PermissionModal",
457
+ "description": "Local-files access prompt built on Dialog."
458
+ },
459
+ {
460
+ "name": "permission-types",
461
+ "type": "registry:lib",
462
+ "title": "Theo UI permission types",
463
+ "description": "Shared TypeScript types for permission requests, scopes, and decisions."
464
+ },
465
+ {
466
+ "name": "pin-input",
467
+ "type": "registry:ui",
468
+ "title": "PinInput",
469
+ "description": "Multi-slot OTP / code input primitive. N separate boxes (default 6) that auto-advance focus on input. Paste fills all slots from clipboard with whitespace stripped. Arrow keys navigate; backspace clears current slot then moves focus back when empty. numeric / alphanumeric inputMode (default numeric, triggers mobile numeric keyboard via pattern=[0-9]*). Optional mask renders bullets. Optional error state applies destructive border. onComplete fires once when value reaches length — NOT on mount with pre-filled value."
470
+ },
471
+ {
472
+ "name": "plan-badge",
473
+ "type": "registry:ui",
474
+ "title": "PlanBadge",
475
+ "description": "Semantic pricing-tier badge. Five canonical tiers (free, hobby, pro, team, enterprise) with distinct color tokens. Consumers self-document intent (plan=\"hobby\") instead of mapping generic Badge variants per app — future rebrand / dark-mode tweaks propagate automatically."
476
+ },
477
+ {
478
+ "name": "preview-env-card",
479
+ "type": "registry:block",
480
+ "title": "PreviewEnvCard",
481
+ "description": "Preview environment card surfacing all services from one PR."
482
+ },
483
+ {
484
+ "name": "preview-panel",
485
+ "type": "registry:ui",
486
+ "title": "PreviewPanel",
487
+ "description": "Browser preview with controls + integrated logs slot."
488
+ },
489
+ {
490
+ "name": "progress-checklist",
491
+ "type": "registry:ui",
492
+ "title": "ProgressChecklist",
493
+ "description": "Right-inspector checklist tracking subtask completion with success / running / pending tones."
494
+ },
495
+ {
496
+ "name": "progress",
497
+ "type": "registry:ui",
498
+ "title": "Progress",
499
+ "description": "Accessible progress bar primitive with intent variants (default, success, warning, destructive), 4 heights (h-1 / h-1.5 / h-2 / h-3), and an indeterminate animated state. Built on role=\"progressbar\" + ARIA semantics."
500
+ },
501
+ {
502
+ "name": "project-card",
503
+ "type": "registry:block",
504
+ "title": "ProjectCard",
505
+ "description": "Surface for a project in a project listing."
506
+ },
507
+ {
508
+ "name": "project-switcher",
509
+ "type": "registry:ui",
510
+ "title": "ProjectSwitcher",
511
+ "description": "Sidebar header for a code agent app."
512
+ },
513
+ {
514
+ "name": "quick-action-chips",
515
+ "type": "registry:ui",
516
+ "title": "QuickActionChips",
517
+ "description": "Row of intent chips below a hero composer."
518
+ },
519
+ {
520
+ "name": "radio-group",
521
+ "type": "registry:ui",
522
+ "title": "RadioGroup",
523
+ "description": "Built on Radix RadioGroup — accessible radio group with roving focus and orientation control."
524
+ },
525
+ {
526
+ "name": "recent-folders-list",
527
+ "type": "registry:ui",
528
+ "title": "RecentFoldersList",
529
+ "description": "Recently-used folders for the Files picker."
530
+ },
531
+ {
532
+ "name": "rollback-ui",
533
+ "type": "registry:block",
534
+ "title": "RollbackUI",
535
+ "description": "Instant rollback selector showing recent versions."
536
+ },
537
+ {
538
+ "name": "rule-card",
539
+ "type": "registry:ui",
540
+ "title": "RuleCard",
541
+ "description": "Single Rule row in the Rules list."
542
+ },
543
+ {
544
+ "name": "rule-editor",
545
+ "type": "registry:block",
546
+ "title": "RuleEditor",
547
+ "description": "Form for creating or editing a Rule (behavior instruction"
548
+ },
549
+ {
550
+ "name": "rule-types",
551
+ "type": "registry:lib",
552
+ "title": "Theo UI rule types",
553
+ "description": "Shared TypeScript types for Rules — user-authored behavior instructions injected into the system prompt."
554
+ },
555
+ {
556
+ "name": "run-stats",
557
+ "type": "registry:ui",
558
+ "title": "RunStats",
559
+ "description": "Inline metric row shown after an agent run."
560
+ },
561
+ {
562
+ "name": "running-tasks-panel",
563
+ "type": "registry:ui",
564
+ "title": "RunningTasksPanel",
565
+ "description": "Split list of Running vs Completed tasks."
566
+ },
567
+ {
568
+ "name": "safe-href",
569
+ "type": "registry:lib",
570
+ "title": "safeHref (XSS-safe URL guard)",
571
+ "description": "Defang javascript:/vbscript:/data:text/html URIs before rendering as <a href>. Returns undefined for dangerous protocols so the caller can render a non-link fallback."
572
+ },
573
+ {
574
+ "name": "scroll-area",
575
+ "type": "registry:ui",
576
+ "title": "ScrollArea",
577
+ "description": "Custom scroller with Violet Forge styling."
578
+ },
579
+ {
580
+ "name": "select",
581
+ "type": "registry:ui",
582
+ "title": "Select",
583
+ "description": "Styled wrapper around Radix Select."
584
+ },
585
+ {
586
+ "name": "session-list-item",
587
+ "type": "registry:ui",
588
+ "title": "SessionListItem",
589
+ "description": "Single row in the sidebar's Sessions list for a code agent"
590
+ },
591
+ {
592
+ "name": "session-timeline",
593
+ "type": "registry:ui",
594
+ "title": "SessionTimeline",
595
+ "description": "Historical view of past agent sessions with per-row"
596
+ },
597
+ {
598
+ "name": "sheet",
599
+ "type": "registry:ui",
600
+ "title": "Sheet",
601
+ "description": "Slide-in side panel built on Radix Dialog."
602
+ },
603
+ {
604
+ "name": "sidebar",
605
+ "type": "registry:ui",
606
+ "title": "Sidebar",
607
+ "description": "Vertical navigation shell with header, sections, items (active / count), and footer slots."
608
+ },
609
+ {
610
+ "name": "skeleton",
611
+ "type": "registry:ui",
612
+ "title": "Skeleton",
613
+ "description": "Placeholder block shown while content is loading."
614
+ },
615
+ {
616
+ "name": "skill-card",
617
+ "type": "registry:ui",
618
+ "title": "SkillCard",
619
+ "description": "Single skill entry showing what it does, where it came from,"
620
+ },
621
+ {
622
+ "name": "skill-editor",
623
+ "type": "registry:block",
624
+ "title": "SkillEditor",
625
+ "description": "Form for creating or editing a Skill."
626
+ },
627
+ {
628
+ "name": "skills-list",
629
+ "type": "registry:block",
630
+ "title": "SkillsList",
631
+ "description": "Grid of SkillCards with optional search + source filter chips."
632
+ },
633
+ {
634
+ "name": "slide-deck",
635
+ "type": "registry:block",
636
+ "title": "SlideDeck",
637
+ "description": "Composite engine that orchestrates N <Slide> primitives. Keyboard / touch / hash routing, thumbnails, presenter view, fullscreen, CSS transitions, Marpit-style fragments, PDF export. Subpath-isolated bundle in @theokit/ui."
638
+ },
639
+ {
640
+ "name": "slide-plugin-emoji",
641
+ "type": "registry:ui",
642
+ "title": "Slide plugin · Emoji",
643
+ "description": "Tier 2 Slide plugin that replaces :shortcode: with Unicode emoji. Ancestor-aware: skips replacement inside <code> / <pre> to preserve type hints and YAML keys. Zero peer-deps."
644
+ },
645
+ {
646
+ "name": "slide-plugin-math",
647
+ "type": "registry:ui",
648
+ "title": "Slide plugin · Math",
649
+ "description": "Tier 2 Slide plugin that renders $inline$ and $$block$$ math via KaTeX. Peer-deps katex + hast-util-from-html are opt-in."
650
+ },
651
+ {
652
+ "name": "slide-plugin-mermaid",
653
+ "type": "registry:ui",
654
+ "title": "Slide plugin · Mermaid",
655
+ "description": "Tier 2 Slide plugin that converts <code class=\"language-mermaid\"> blocks into Mermaid SVG diagrams (lazy-loaded). Peer-dep mermaid is opt-in."
656
+ },
657
+ {
658
+ "name": "slide-plugin-shiki",
659
+ "type": "registry:ui",
660
+ "title": "Slide plugin · Shiki",
661
+ "description": "Tier 2 Slide plugin that pre-renders fenced code blocks with Shiki's dual-theme highlighter. Peer-dep shiki is opt-in."
662
+ },
663
+ {
664
+ "name": "slide",
665
+ "type": "registry:ui",
666
+ "title": "Slide",
667
+ "description": "View-only primitive that renders Markdown + YAML frontmatter as a themed slide surface (Marp-inspired). Sanitized hast pipeline, two built-in themes, opt-in plugin system. Subpath-isolated bundle in @theokit/ui."
668
+ },
669
+ {
670
+ "name": "social-auth-row",
671
+ "type": "registry:ui",
672
+ "title": "SocialAuthRow",
673
+ "description": "Row of OAuth provider buttons."
674
+ },
675
+ {
676
+ "name": "stat-tile",
677
+ "type": "registry:ui",
678
+ "title": "StatTile",
679
+ "description": "Big-number stat tile primitive for dashboard summaries. Renders value + label + optional icon + optional delta (trend up/down/flat with TrendingUp/TrendingDown/Minus icons and success/destructive/muted color). Dual mode: with onClick renders as button with hover state + trailing ArrowUpRight chevron; without, renders as static div. Value uses font-display tabular-nums whitespace-nowrap."
680
+ },
681
+ {
682
+ "name": "status-dot",
683
+ "type": "registry:ui",
684
+ "title": "StatusDot",
685
+ "description": "Semantic status indicator (small colored circle + optional label). Five status kinds: live (success), building (warning, auto-pulses), failed (destructive), idle (muted), warning (warning, static). Three sizes (xs 6px / sm 8px default / md 10px). When neither label nor aria-label is provided, auto-applies aria-label=status and emits a dev warning."
686
+ },
687
+ {
688
+ "name": "steps-rail",
689
+ "type": "registry:ui",
690
+ "title": "StepsRail",
691
+ "description": "Vertical numbered rail with connecting line."
692
+ },
693
+ {
694
+ "name": "sub-agent-dispatch",
695
+ "type": "registry:ui",
696
+ "title": "SubAgentDispatch",
697
+ "description": "Visualization for a Task() / sub-agent invocation."
698
+ },
699
+ {
700
+ "name": "switch",
701
+ "type": "registry:ui",
702
+ "title": "Switch",
703
+ "description": "Built on Radix Switch — accessible binary toggle with on / off states and disabled support."
704
+ },
705
+ {
706
+ "name": "system-prompt-editor",
707
+ "type": "registry:ui",
708
+ "title": "SystemPromptEditor",
709
+ "description": "Surface the agent's system prompt with a clear"
710
+ },
711
+ {
712
+ "name": "table",
713
+ "type": "registry:ui",
714
+ "title": "Table",
715
+ "description": "Semantic data-table primitive with sub-components (Table.Header, Table.Body, Table.Row, Table.Cell, Table.HeaderCell). Supports density (default | compact via Context), per-cell align (left | center | right), numeric cells (font-mono tabular-nums), and sortable header cells (onSort + sortDirection with ChevronUp/ChevronDown affordance + aria-sort)."
716
+ },
717
+ {
718
+ "name": "tabs",
719
+ "type": "registry:ui",
720
+ "title": "Tabs",
721
+ "description": "Built on Radix Tabs with active-underline styling and focus-visible ring."
722
+ },
723
+ {
724
+ "name": "tailwind-preset",
725
+ "type": "registry:lib",
726
+ "title": "Theo UI Tailwind preset",
727
+ "description": "Type scale, fontFamily, colors and motion tokens consumed by every Theo UI component. Add to tailwind.config.ts#presets before installing any other component."
728
+ },
729
+ {
730
+ "name": "task-header",
731
+ "type": "registry:ui",
732
+ "title": "TaskHeader",
733
+ "description": "Title bar for a task pane — composite combining heading, status badge, and chevron menu."
734
+ },
735
+ {
736
+ "name": "task-plan",
737
+ "type": "registry:ui",
738
+ "title": "TaskPlan",
739
+ "description": "Hierarchical task plan, à la Claude \"plan mode\"."
740
+ },
741
+ {
742
+ "name": "task-types",
743
+ "type": "registry:lib",
744
+ "title": "Theo UI task types",
745
+ "description": "Shared TypeScript types for task plans, steps, and progress state."
746
+ },
747
+ {
748
+ "name": "terminal-panel",
749
+ "type": "registry:ui",
750
+ "title": "TerminalPanel",
751
+ "description": "Minimal terminal output viewer."
752
+ },
753
+ {
754
+ "name": "textarea",
755
+ "type": "registry:ui",
756
+ "title": "Textarea",
757
+ "description": "Multi-line input mirror of Input."
758
+ },
759
+ {
760
+ "name": "theme-provider",
761
+ "type": "registry:lib",
762
+ "title": "ThemeProvider",
763
+ "description": "Theme + dark mode provider with built-in Violet Forge, Classic Paper, and Aurora Terminal themes."
764
+ },
765
+ {
766
+ "name": "theme-script",
767
+ "type": "registry:lib",
768
+ "title": "ThemeScript",
769
+ "description": "Inline script for SSR-safe theme initialization in Next.js / Astro / Remix. Place in <head> to read persisted theme + mode from localStorage BEFORE React hydrates, eliminating FOUC and hydration mismatch."
770
+ },
771
+ {
772
+ "name": "theo-ui-provider",
773
+ "type": "registry:lib",
774
+ "title": "TheoUIProvider",
775
+ "description": "Primary entry-point provider — composes ThemeProvider + Toaster with sensible defaults. Use as the single root wrapper in consumer apps."
776
+ },
777
+ {
778
+ "name": "timestamp",
779
+ "type": "registry:ui",
780
+ "title": "Timestamp",
781
+ "description": "Accessible <time> primitive with relative/absolute/both formats, auto-refresh interval (default 60s, 0 disables), native title tooltip with absolute time, and aria-label that always carries the full date. Built on Intl.RelativeTimeFormat (zero deps). value accepts ISO string, Date, or Unix ms (NOT seconds). Invalid date renders empty element; invalid locale falls back to default with dev warning."
782
+ },
783
+ {
784
+ "name": "toast",
785
+ "type": "registry:ui",
786
+ "title": "Toast",
787
+ "description": "Transient notification built on Radix Toast."
788
+ },
789
+ {
790
+ "name": "token-usage-chart",
791
+ "type": "registry:ui",
792
+ "title": "TokenUsageChart",
793
+ "description": "Stacked-bar chart of input vs output tokens over time."
794
+ },
795
+ {
796
+ "name": "tokens",
797
+ "type": "registry:lib",
798
+ "title": "Violet Forge tokens",
799
+ "description": "Design system CSS variables (light + dark) for the Theo UI 'Violet Forge' theme. Mirrors src/styles/tokens.css verbatim — the embedded files content is the single source of truth."
800
+ },
801
+ {
802
+ "name": "tool-call-card",
803
+ "type": "registry:ui",
804
+ "title": "ToolCallCard",
805
+ "description": "Single agent tool invocation rendered inside the stream."
806
+ },
807
+ {
808
+ "name": "tool-call",
809
+ "type": "registry:ui",
810
+ "title": "ToolCall",
811
+ "description": "Collapsible row representing an agent tool invocation."
812
+ },
813
+ {
814
+ "name": "tool-result",
815
+ "type": "registry:ui",
816
+ "title": "ToolResult",
817
+ "description": "Formatted output of a tool invocation."
818
+ },
819
+ {
820
+ "name": "tools-list",
821
+ "type": "registry:ui",
822
+ "title": "ToolsList",
823
+ "description": "Surface every tool the agent could call, with its enablement"
824
+ },
825
+ {
826
+ "name": "tooltip",
827
+ "type": "registry:ui",
828
+ "title": "Tooltip",
829
+ "description": "Built on Radix Tooltip — accessible hover / focus tooltip with delay and side / align controls."
830
+ },
831
+ {
832
+ "name": "topnav",
833
+ "type": "registry:ui",
834
+ "title": "TopNav",
835
+ "description": "Horizontal app bar (64px) with breadcrumbs, mode switcher (radiogroup), and action slots."
836
+ },
837
+ {
838
+ "name": "types",
839
+ "type": "registry:lib",
840
+ "title": "Theo UI shared types",
841
+ "description": "Shared TypeScript helper types (IconComponent, etc.) used across Theo UI."
842
+ },
843
+ {
844
+ "name": "usage-meter",
845
+ "type": "registry:ui",
846
+ "title": "UsageMeter",
847
+ "description": "Multi-metric stacked usage card for PaaS dashboards. Renders N metrics (data transfer, requests, build minutes, seats, …) each with label + value/max + Progress bar. Supports custom per-metric formatter, over-quota warning, and a compact bars-only mode. PaaS-shape sibling of CostMeter."
848
+ },
849
+ {
850
+ "name": "whiteboard",
851
+ "type": "registry:ui",
852
+ "title": "Whiteboard",
853
+ "description": "View-only primitive that renders a declarative JSON scene as SVG with a hand-drawn aesthetic. Pan + zoom built-in; no editor surface. Subpath-isolated bundle in @theokit/ui."
854
+ }
855
+ ]
856
+ }