@usetheo/ui 0.13.2 → 0.14.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 (1019) hide show
  1. package/README.md +4 -466
  2. package/dist/components/composites/command-palette/command-palette.d.ts +1 -1
  3. package/dist/components/primitives/badge/badge.d.ts +1 -1
  4. package/dist/components/primitives/button/button.d.ts +1 -1
  5. package/dist/components/primitives/danger-zone/danger-zone.d.ts +1 -1
  6. package/dist/components/primitives/dialog/dialog.d.ts +3 -3
  7. package/dist/components/primitives/dropdown-menu/dropdown-menu.d.ts +1 -1
  8. package/dist/components/primitives/sheet/sheet.d.ts +3 -3
  9. package/dist/components/primitives/toast/toast.d.ts +1 -1
  10. package/dist/index.d.ts +0 -89
  11. package/dist/index.js +4657 -1545
  12. package/dist/lib/cn.d.ts +1 -1
  13. package/dist/{preset-v3-legacy.js → tailwind-preset.js} +1 -16
  14. package/package.json +28 -788
  15. package/CHANGELOG.md +0 -1797
  16. package/DESIGN.md +0 -456
  17. package/NOTICE +0 -38
  18. package/dist/chunk-23YEYNDS.js +0 -89
  19. package/dist/chunk-23YEYNDS.js.map +0 -1
  20. package/dist/chunk-25KBUQEQ.js +0 -95
  21. package/dist/chunk-25KBUQEQ.js.map +0 -1
  22. package/dist/chunk-2NTEJRPA.js +0 -212
  23. package/dist/chunk-2NTEJRPA.js.map +0 -1
  24. package/dist/chunk-2NZYMQKT.js +0 -56
  25. package/dist/chunk-2NZYMQKT.js.map +0 -1
  26. package/dist/chunk-2OVFVPSZ.js +0 -26
  27. package/dist/chunk-2OVFVPSZ.js.map +0 -1
  28. package/dist/chunk-2UP7SECE.js +0 -78
  29. package/dist/chunk-2UP7SECE.js.map +0 -1
  30. package/dist/chunk-33ETHPT7.js +0 -112
  31. package/dist/chunk-33ETHPT7.js.map +0 -1
  32. package/dist/chunk-33IIDFSM.js +0 -43
  33. package/dist/chunk-33IIDFSM.js.map +0 -1
  34. package/dist/chunk-345HYADQ.js +0 -88
  35. package/dist/chunk-345HYADQ.js.map +0 -1
  36. package/dist/chunk-357XIC2N.js +0 -98
  37. package/dist/chunk-357XIC2N.js.map +0 -1
  38. package/dist/chunk-3YOPTHZH.js +0 -31
  39. package/dist/chunk-3YOPTHZH.js.map +0 -1
  40. package/dist/chunk-44ZNZZUS.js +0 -111
  41. package/dist/chunk-44ZNZZUS.js.map +0 -1
  42. package/dist/chunk-45FWKR23.js +0 -62
  43. package/dist/chunk-45FWKR23.js.map +0 -1
  44. package/dist/chunk-47IPOYLQ.js +0 -116
  45. package/dist/chunk-47IPOYLQ.js.map +0 -1
  46. package/dist/chunk-4EH6F54D.js +0 -69
  47. package/dist/chunk-4EH6F54D.js.map +0 -1
  48. package/dist/chunk-4EKF4EIE.js +0 -140
  49. package/dist/chunk-4EKF4EIE.js.map +0 -1
  50. package/dist/chunk-4XYFJIRC.js +0 -65
  51. package/dist/chunk-4XYFJIRC.js.map +0 -1
  52. package/dist/chunk-52J7SDYH.js +0 -48
  53. package/dist/chunk-52J7SDYH.js.map +0 -1
  54. package/dist/chunk-5YX76GH6.js +0 -70
  55. package/dist/chunk-5YX76GH6.js.map +0 -1
  56. package/dist/chunk-624AATQZ.js +0 -77
  57. package/dist/chunk-624AATQZ.js.map +0 -1
  58. package/dist/chunk-65YSFZAN.js +0 -192
  59. package/dist/chunk-65YSFZAN.js.map +0 -1
  60. package/dist/chunk-6IODJQWC.js +0 -47
  61. package/dist/chunk-6IODJQWC.js.map +0 -1
  62. package/dist/chunk-6ORS6XOE.js +0 -57
  63. package/dist/chunk-6ORS6XOE.js.map +0 -1
  64. package/dist/chunk-6V2LQEPT.js +0 -165
  65. package/dist/chunk-6V2LQEPT.js.map +0 -1
  66. package/dist/chunk-75IDWFYX.js +0 -134
  67. package/dist/chunk-75IDWFYX.js.map +0 -1
  68. package/dist/chunk-7BQXMG2A.js +0 -93
  69. package/dist/chunk-7BQXMG2A.js.map +0 -1
  70. package/dist/chunk-7RFWVNQA.js +0 -47
  71. package/dist/chunk-7RFWVNQA.js.map +0 -1
  72. package/dist/chunk-ABBXLAJW.js +0 -74
  73. package/dist/chunk-ABBXLAJW.js.map +0 -1
  74. package/dist/chunk-ACZNFEOZ.js +0 -180
  75. package/dist/chunk-ACZNFEOZ.js.map +0 -1
  76. package/dist/chunk-AJ2LNQUQ.js +0 -108
  77. package/dist/chunk-AJ2LNQUQ.js.map +0 -1
  78. package/dist/chunk-AX6P3SDS.js +0 -89
  79. package/dist/chunk-AX6P3SDS.js.map +0 -1
  80. package/dist/chunk-AXUAQM45.js +0 -154
  81. package/dist/chunk-AXUAQM45.js.map +0 -1
  82. package/dist/chunk-B2FL7KBJ.js +0 -65
  83. package/dist/chunk-B2FL7KBJ.js.map +0 -1
  84. package/dist/chunk-B42EOFRD.js +0 -106
  85. package/dist/chunk-B42EOFRD.js.map +0 -1
  86. package/dist/chunk-BE232OKN.js +0 -42
  87. package/dist/chunk-BE232OKN.js.map +0 -1
  88. package/dist/chunk-BSF4Y4UT.js +0 -77
  89. package/dist/chunk-BSF4Y4UT.js.map +0 -1
  90. package/dist/chunk-BYUWQ6OP.js +0 -45
  91. package/dist/chunk-BYUWQ6OP.js.map +0 -1
  92. package/dist/chunk-C5ULP2P5.js +0 -140
  93. package/dist/chunk-C5ULP2P5.js.map +0 -1
  94. package/dist/chunk-CCG7PXLX.js +0 -24
  95. package/dist/chunk-CCG7PXLX.js.map +0 -1
  96. package/dist/chunk-CFVSXYVT.js +0 -59
  97. package/dist/chunk-CFVSXYVT.js.map +0 -1
  98. package/dist/chunk-CGWIOIEO.js +0 -27
  99. package/dist/chunk-CGWIOIEO.js.map +0 -1
  100. package/dist/chunk-CVFSNA4K.js +0 -716
  101. package/dist/chunk-CVFSNA4K.js.map +0 -1
  102. package/dist/chunk-CX54TUTT.js +0 -144
  103. package/dist/chunk-CX54TUTT.js.map +0 -1
  104. package/dist/chunk-DJK6H3FD.js +0 -200
  105. package/dist/chunk-DJK6H3FD.js.map +0 -1
  106. package/dist/chunk-E26M7ATD.js +0 -61
  107. package/dist/chunk-E26M7ATD.js.map +0 -1
  108. package/dist/chunk-E63IRXZZ.js +0 -78
  109. package/dist/chunk-E63IRXZZ.js.map +0 -1
  110. package/dist/chunk-EOTSD2GL.js +0 -83
  111. package/dist/chunk-EOTSD2GL.js.map +0 -1
  112. package/dist/chunk-ESJUISWY.js +0 -45
  113. package/dist/chunk-ESJUISWY.js.map +0 -1
  114. package/dist/chunk-ET7A3TQZ.js +0 -158
  115. package/dist/chunk-ET7A3TQZ.js.map +0 -1
  116. package/dist/chunk-ETTL6XGU.js +0 -139
  117. package/dist/chunk-ETTL6XGU.js.map +0 -1
  118. package/dist/chunk-EWDN56AS.js +0 -24
  119. package/dist/chunk-EWDN56AS.js.map +0 -1
  120. package/dist/chunk-FELH4AAQ.js +0 -90
  121. package/dist/chunk-FELH4AAQ.js.map +0 -1
  122. package/dist/chunk-FJZKA2LV.js +0 -165
  123. package/dist/chunk-FJZKA2LV.js.map +0 -1
  124. package/dist/chunk-FM72LBCJ.js +0 -102
  125. package/dist/chunk-FM72LBCJ.js.map +0 -1
  126. package/dist/chunk-FNQASFTK.js +0 -53
  127. package/dist/chunk-FNQASFTK.js.map +0 -1
  128. package/dist/chunk-FOE3XXBJ.js +0 -965
  129. package/dist/chunk-FOE3XXBJ.js.map +0 -1
  130. package/dist/chunk-GC52HWIL.js +0 -41
  131. package/dist/chunk-GC52HWIL.js.map +0 -1
  132. package/dist/chunk-GCKFA7X7.js +0 -83
  133. package/dist/chunk-GCKFA7X7.js.map +0 -1
  134. package/dist/chunk-GDMCDW66.js +0 -19
  135. package/dist/chunk-GDMCDW66.js.map +0 -1
  136. package/dist/chunk-GLRUM43F.js +0 -121
  137. package/dist/chunk-GLRUM43F.js.map +0 -1
  138. package/dist/chunk-H3L7WZDZ.js +0 -74
  139. package/dist/chunk-H3L7WZDZ.js.map +0 -1
  140. package/dist/chunk-H55WXDME.js +0 -45
  141. package/dist/chunk-H55WXDME.js.map +0 -1
  142. package/dist/chunk-HB45JHMM.js +0 -43
  143. package/dist/chunk-HB45JHMM.js.map +0 -1
  144. package/dist/chunk-HETHTYEZ.js +0 -80
  145. package/dist/chunk-HETHTYEZ.js.map +0 -1
  146. package/dist/chunk-HHSKNB32.js +0 -55
  147. package/dist/chunk-HHSKNB32.js.map +0 -1
  148. package/dist/chunk-HILOUYES.js +0 -151
  149. package/dist/chunk-HILOUYES.js.map +0 -1
  150. package/dist/chunk-HKVOCYTN.js +0 -113
  151. package/dist/chunk-HKVOCYTN.js.map +0 -1
  152. package/dist/chunk-HNRFBJ25.js +0 -129
  153. package/dist/chunk-HNRFBJ25.js.map +0 -1
  154. package/dist/chunk-HTJVHFNW.js +0 -178
  155. package/dist/chunk-HTJVHFNW.js.map +0 -1
  156. package/dist/chunk-HZ7Z22VW.js +0 -130
  157. package/dist/chunk-HZ7Z22VW.js.map +0 -1
  158. package/dist/chunk-II5Q5RIO.js +0 -236
  159. package/dist/chunk-II5Q5RIO.js.map +0 -1
  160. package/dist/chunk-ITEIRMSH.js +0 -121
  161. package/dist/chunk-ITEIRMSH.js.map +0 -1
  162. package/dist/chunk-JIZKW3WC.js +0 -74
  163. package/dist/chunk-JIZKW3WC.js.map +0 -1
  164. package/dist/chunk-JP3SHERK.js +0 -154
  165. package/dist/chunk-JP3SHERK.js.map +0 -1
  166. package/dist/chunk-JR4H3FJ2.js +0 -74
  167. package/dist/chunk-JR4H3FJ2.js.map +0 -1
  168. package/dist/chunk-JRW53TVG.js +0 -53
  169. package/dist/chunk-JRW53TVG.js.map +0 -1
  170. package/dist/chunk-JS5T2CRO.js +0 -86
  171. package/dist/chunk-JS5T2CRO.js.map +0 -1
  172. package/dist/chunk-JXOCE27Z.js +0 -82
  173. package/dist/chunk-JXOCE27Z.js.map +0 -1
  174. package/dist/chunk-JYW5YNF7.js +0 -188
  175. package/dist/chunk-JYW5YNF7.js.map +0 -1
  176. package/dist/chunk-KHBXI6AV.js +0 -149
  177. package/dist/chunk-KHBXI6AV.js.map +0 -1
  178. package/dist/chunk-KXZH7BTX.js +0 -92
  179. package/dist/chunk-KXZH7BTX.js.map +0 -1
  180. package/dist/chunk-LB4PMLCX.js +0 -57
  181. package/dist/chunk-LB4PMLCX.js.map +0 -1
  182. package/dist/chunk-LMGE2QEO.js +0 -117
  183. package/dist/chunk-LMGE2QEO.js.map +0 -1
  184. package/dist/chunk-M74ZYBOK.js +0 -93
  185. package/dist/chunk-M74ZYBOK.js.map +0 -1
  186. package/dist/chunk-ML7WLNIK.js +0 -11
  187. package/dist/chunk-ML7WLNIK.js.map +0 -1
  188. package/dist/chunk-MLEPCMTF.js +0 -147
  189. package/dist/chunk-MLEPCMTF.js.map +0 -1
  190. package/dist/chunk-NSZEZTDO.js +0 -98
  191. package/dist/chunk-NSZEZTDO.js.map +0 -1
  192. package/dist/chunk-OMR6ZGME.js +0 -63
  193. package/dist/chunk-OMR6ZGME.js.map +0 -1
  194. package/dist/chunk-ORVYP73T.js +0 -223
  195. package/dist/chunk-ORVYP73T.js.map +0 -1
  196. package/dist/chunk-OZFUUO2Q.js +0 -50
  197. package/dist/chunk-OZFUUO2Q.js.map +0 -1
  198. package/dist/chunk-PJWYIOY4.js +0 -3
  199. package/dist/chunk-PJWYIOY4.js.map +0 -1
  200. package/dist/chunk-PXT47DRZ.js +0 -59
  201. package/dist/chunk-PXT47DRZ.js.map +0 -1
  202. package/dist/chunk-QBSJM4XI.js +0 -83
  203. package/dist/chunk-QBSJM4XI.js.map +0 -1
  204. package/dist/chunk-QBUTRD2M.js +0 -58
  205. package/dist/chunk-QBUTRD2M.js.map +0 -1
  206. package/dist/chunk-QCSMJTA6.js +0 -68
  207. package/dist/chunk-QCSMJTA6.js.map +0 -1
  208. package/dist/chunk-QNYOIVQ4.js +0 -36
  209. package/dist/chunk-QNYOIVQ4.js.map +0 -1
  210. package/dist/chunk-QPURZJJM.js +0 -88
  211. package/dist/chunk-QPURZJJM.js.map +0 -1
  212. package/dist/chunk-QTG266XU.js +0 -69
  213. package/dist/chunk-QTG266XU.js.map +0 -1
  214. package/dist/chunk-QV4BQRNH.js +0 -29
  215. package/dist/chunk-QV4BQRNH.js.map +0 -1
  216. package/dist/chunk-RJ6RAMKH.js +0 -89
  217. package/dist/chunk-RJ6RAMKH.js.map +0 -1
  218. package/dist/chunk-RJBCTMVW.js +0 -59
  219. package/dist/chunk-RJBCTMVW.js.map +0 -1
  220. package/dist/chunk-RMJYXHBX.js +0 -113
  221. package/dist/chunk-RMJYXHBX.js.map +0 -1
  222. package/dist/chunk-RQT5DWGG.js +0 -34
  223. package/dist/chunk-RQT5DWGG.js.map +0 -1
  224. package/dist/chunk-SPGNNN4R.js +0 -115
  225. package/dist/chunk-SPGNNN4R.js.map +0 -1
  226. package/dist/chunk-SQ66DCXY.js +0 -35
  227. package/dist/chunk-SQ66DCXY.js.map +0 -1
  228. package/dist/chunk-SXKGWHAM.js +0 -179
  229. package/dist/chunk-SXKGWHAM.js.map +0 -1
  230. package/dist/chunk-T2OKGV6M.js +0 -13
  231. package/dist/chunk-T2OKGV6M.js.map +0 -1
  232. package/dist/chunk-T4Z7HBZR.js +0 -110
  233. package/dist/chunk-T4Z7HBZR.js.map +0 -1
  234. package/dist/chunk-TW5I37AE.js +0 -142
  235. package/dist/chunk-TW5I37AE.js.map +0 -1
  236. package/dist/chunk-TY6NTWN5.js +0 -29
  237. package/dist/chunk-TY6NTWN5.js.map +0 -1
  238. package/dist/chunk-UGKI466V.js +0 -12
  239. package/dist/chunk-UGKI466V.js.map +0 -1
  240. package/dist/chunk-UJAWV6LM.js +0 -136
  241. package/dist/chunk-UJAWV6LM.js.map +0 -1
  242. package/dist/chunk-V2WCZBVE.js +0 -122
  243. package/dist/chunk-V2WCZBVE.js.map +0 -1
  244. package/dist/chunk-V4LRBYOD.js +0 -55
  245. package/dist/chunk-V4LRBYOD.js.map +0 -1
  246. package/dist/chunk-V6H2RUVP.js +0 -77
  247. package/dist/chunk-V6H2RUVP.js.map +0 -1
  248. package/dist/chunk-VFRFUU7A.js +0 -35
  249. package/dist/chunk-VFRFUU7A.js.map +0 -1
  250. package/dist/chunk-VHK2OUCW.js +0 -38
  251. package/dist/chunk-VHK2OUCW.js.map +0 -1
  252. package/dist/chunk-VLNFUEOR.js +0 -86
  253. package/dist/chunk-VLNFUEOR.js.map +0 -1
  254. package/dist/chunk-VM4RMQQN.js +0 -11
  255. package/dist/chunk-VM4RMQQN.js.map +0 -1
  256. package/dist/chunk-VU7XKD4G.js +0 -66
  257. package/dist/chunk-VU7XKD4G.js.map +0 -1
  258. package/dist/chunk-VZX4HLBM.js +0 -84
  259. package/dist/chunk-VZX4HLBM.js.map +0 -1
  260. package/dist/chunk-W24RR5OD.js +0 -102
  261. package/dist/chunk-W24RR5OD.js.map +0 -1
  262. package/dist/chunk-W47V2F3Q.js +0 -115
  263. package/dist/chunk-W47V2F3Q.js.map +0 -1
  264. package/dist/chunk-W743ORLA.js +0 -91
  265. package/dist/chunk-W743ORLA.js.map +0 -1
  266. package/dist/chunk-W7I3ZX66.js +0 -76
  267. package/dist/chunk-W7I3ZX66.js.map +0 -1
  268. package/dist/chunk-WD42UBGR.js +0 -64
  269. package/dist/chunk-WD42UBGR.js.map +0 -1
  270. package/dist/chunk-WQVEJJV7.js +0 -108
  271. package/dist/chunk-WQVEJJV7.js.map +0 -1
  272. package/dist/chunk-WX4Q4DTX.js +0 -121
  273. package/dist/chunk-WX4Q4DTX.js.map +0 -1
  274. package/dist/chunk-XC7SYZYR.js +0 -86
  275. package/dist/chunk-XC7SYZYR.js.map +0 -1
  276. package/dist/chunk-XSENM65D.js +0 -128
  277. package/dist/chunk-XSENM65D.js.map +0 -1
  278. package/dist/chunk-Y7JTBQUQ.js +0 -152
  279. package/dist/chunk-Y7JTBQUQ.js.map +0 -1
  280. package/dist/chunk-YD2QEVHO.js +0 -68
  281. package/dist/chunk-YD2QEVHO.js.map +0 -1
  282. package/dist/chunk-YDKRUSB5.js +0 -35
  283. package/dist/chunk-YDKRUSB5.js.map +0 -1
  284. package/dist/chunk-YNDHYMPI.js +0 -46
  285. package/dist/chunk-YNDHYMPI.js.map +0 -1
  286. package/dist/chunk-YO3WEMOH.js +0 -130
  287. package/dist/chunk-YO3WEMOH.js.map +0 -1
  288. package/dist/chunk-YVXMWUWD.js +0 -118
  289. package/dist/chunk-YVXMWUWD.js.map +0 -1
  290. package/dist/chunk-Z6HZMGO2.js +0 -106
  291. package/dist/chunk-Z6HZMGO2.js.map +0 -1
  292. package/dist/chunk-ZAP4RIUL.js +0 -81
  293. package/dist/chunk-ZAP4RIUL.js.map +0 -1
  294. package/dist/chunk-ZEDDWVBB.js +0 -112
  295. package/dist/chunk-ZEDDWVBB.js.map +0 -1
  296. package/dist/chunk-ZEFOXF2I.js +0 -87
  297. package/dist/chunk-ZEFOXF2I.js.map +0 -1
  298. package/dist/chunk-ZPURFK4C.js +0 -203
  299. package/dist/chunk-ZPURFK4C.js.map +0 -1
  300. package/dist/chunk-ZXPDS6DH.js +0 -3
  301. package/dist/chunk-ZXPDS6DH.js.map +0 -1
  302. package/dist/chunk-ZZZIOTLC.js +0 -89
  303. package/dist/chunk-ZZZIOTLC.js.map +0 -1
  304. package/dist/components/composites/agent-composer/agent-composer.d.ts +0 -41
  305. package/dist/components/composites/agent-composer/index.d.ts +0 -1
  306. package/dist/components/composites/agent-editor/agent-editor.d.ts +0 -31
  307. package/dist/components/composites/agent-editor/index.d.ts +0 -1
  308. package/dist/components/composites/agent-stream/agent-stream.d.ts +0 -72
  309. package/dist/components/composites/agent-stream/index.d.ts +0 -2
  310. package/dist/components/composites/agent-stream/to-agent-stream-items.d.ts +0 -32
  311. package/dist/components/composites/agent-timeline/agent-timeline.d.ts +0 -22
  312. package/dist/components/composites/agent-timeline/index.d.ts +0 -1
  313. package/dist/components/composites/agent-tool-renderer/agent-tool-renderer.d.ts +0 -60
  314. package/dist/components/composites/agent-tool-renderer/index.d.ts +0 -1
  315. package/dist/components/composites/agent-tool-renderer/tool-call-part.d.ts +0 -5
  316. package/dist/components/composites/approval-card/approval-card.d.ts +0 -35
  317. package/dist/components/composites/approval-card/index.d.ts +0 -1
  318. package/dist/components/composites/chat-composer/chat-composer.d.ts +0 -68
  319. package/dist/components/composites/chat-composer/index.d.ts +0 -1
  320. package/dist/components/composites/chat-message/chat-message-actions.d.ts +0 -22
  321. package/dist/components/composites/chat-message/chat-message-branch.d.ts +0 -17
  322. package/dist/components/composites/chat-message/chat-message-response.d.ts +0 -15
  323. package/dist/components/composites/chat-message/chat-message-toolbar.d.ts +0 -7
  324. package/dist/components/composites/chat-message/chat-message.d.ts +0 -94
  325. package/dist/components/composites/chat-message/index.d.ts +0 -23
  326. package/dist/components/composites/chat-message/parts/data-part.d.ts +0 -9
  327. package/dist/components/composites/chat-message/parts/file-part.d.ts +0 -5
  328. package/dist/components/composites/chat-message/parts/reasoning-part.d.ts +0 -7
  329. package/dist/components/composites/chat-message/parts/source-part.d.ts +0 -9
  330. package/dist/components/composites/chat-message/parts/text-part.d.ts +0 -11
  331. package/dist/components/composites/choice-prompt/choice-prompt.d.ts +0 -65
  332. package/dist/components/composites/choice-prompt/index.d.ts +0 -2
  333. package/dist/components/composites/confirm-prompt/confirm-prompt.d.ts +0 -31
  334. package/dist/components/composites/confirm-prompt/index.d.ts +0 -1
  335. package/dist/components/composites/cron-jobs-list/cron-jobs-list.d.ts +0 -15
  336. package/dist/components/composites/cron-jobs-list/index.d.ts +0 -1
  337. package/dist/components/composites/mcp-server-list/index.d.ts +0 -1
  338. package/dist/components/composites/mcp-server-list/mcp-server-list.d.ts +0 -15
  339. package/dist/components/composites/multi-select-prompt/index.d.ts +0 -1
  340. package/dist/components/composites/multi-select-prompt/multi-select-prompt.d.ts +0 -61
  341. package/dist/components/composites/permission-modal/index.d.ts +0 -1
  342. package/dist/components/composites/permission-modal/permission-modal.d.ts +0 -48
  343. package/dist/components/composites/preview-panel/index.d.ts +0 -1
  344. package/dist/components/composites/preview-panel/preview-panel.d.ts +0 -24
  345. package/dist/components/composites/rule-editor/index.d.ts +0 -1
  346. package/dist/components/composites/rule-editor/rule-editor.d.ts +0 -18
  347. package/dist/components/composites/skill-editor/index.d.ts +0 -1
  348. package/dist/components/composites/skill-editor/skill-editor.d.ts +0 -19
  349. package/dist/components/composites/skills-list/index.d.ts +0 -1
  350. package/dist/components/composites/skills-list/skills-list.d.ts +0 -15
  351. package/dist/components/composites/slide-deck/context.d.ts +0 -23
  352. package/dist/components/composites/slide-deck/controls.d.ts +0 -8
  353. package/dist/components/composites/slide-deck/fragments.d.ts +0 -20
  354. package/dist/components/composites/slide-deck/index.d.ts +0 -21
  355. package/dist/components/composites/slide-deck/notes.d.ts +0 -14
  356. package/dist/components/composites/slide-deck/presenter-view.d.ts +0 -15
  357. package/dist/components/composites/slide-deck/print-styles.d.ts +0 -21
  358. package/dist/components/composites/slide-deck/progress-bar.d.ts +0 -8
  359. package/dist/components/composites/slide-deck/schema.d.ts +0 -31
  360. package/dist/components/composites/slide-deck/slide-deck.d.ts +0 -78
  361. package/dist/components/composites/slide-deck/slide-number.d.ts +0 -11
  362. package/dist/components/composites/slide-deck/split-deck.d.ts +0 -2
  363. package/dist/components/composites/slide-deck/thumbnails.d.ts +0 -19
  364. package/dist/components/composites/slide-deck/use-deck-hash-routing.d.ts +0 -23
  365. package/dist/components/composites/slide-deck/use-deck-keyboard.d.ts +0 -25
  366. package/dist/components/composites/slide-deck/use-deck-state.d.ts +0 -57
  367. package/dist/components/composites/slide-deck/use-deck-swipe.d.ts +0 -20
  368. package/dist/components/composites/slide-deck/use-fullscreen.d.ts +0 -18
  369. package/dist/components/composites/stability-bundle-viewer/index.d.ts +0 -1
  370. package/dist/components/composites/stability-bundle-viewer/stability-bundle-viewer.d.ts +0 -28
  371. package/dist/components/composites/text-prompt/index.d.ts +0 -1
  372. package/dist/components/composites/text-prompt/text-prompt.d.ts +0 -48
  373. package/dist/components/composites/usage-meter/index.d.ts +0 -1
  374. package/dist/components/composites/usage-meter/usage-meter.d.ts +0 -56
  375. package/dist/components/primitives/agent-error-card/agent-error-card.d.ts +0 -47
  376. package/dist/components/primitives/agent-error-card/index.d.ts +0 -1
  377. package/dist/components/primitives/agent-event/agent-event.d.ts +0 -25
  378. package/dist/components/primitives/agent-event/index.d.ts +0 -1
  379. package/dist/components/primitives/agent-handoff/agent-handoff.d.ts +0 -24
  380. package/dist/components/primitives/agent-handoff/index.d.ts +0 -1
  381. package/dist/components/primitives/agent-profile/agent-profile.d.ts +0 -28
  382. package/dist/components/primitives/agent-profile/index.d.ts +0 -1
  383. package/dist/components/primitives/agent-starting-state/agent-starting-state.d.ts +0 -15
  384. package/dist/components/primitives/agent-starting-state/index.d.ts +0 -1
  385. package/dist/components/primitives/agent-streaming/agent-streaming.d.ts +0 -16
  386. package/dist/components/primitives/agent-streaming/index.d.ts +0 -1
  387. package/dist/components/primitives/artifact-preview/artifact-preview.d.ts +0 -25
  388. package/dist/components/primitives/artifact-preview/index.d.ts +0 -1
  389. package/dist/components/primitives/attachment-chip/attachment-chip.d.ts +0 -14
  390. package/dist/components/primitives/attachment-chip/index.d.ts +0 -1
  391. package/dist/components/primitives/audit-log-entry/audit-log-entry.d.ts +0 -29
  392. package/dist/components/primitives/audit-log-entry/index.d.ts +0 -1
  393. package/dist/components/primitives/auto-compact-notice/auto-compact-notice.d.ts +0 -24
  394. package/dist/components/primitives/auto-compact-notice/index.d.ts +0 -1
  395. package/dist/components/primitives/branch-indicator/branch-indicator.d.ts +0 -13
  396. package/dist/components/primitives/branch-indicator/index.d.ts +0 -1
  397. package/dist/components/primitives/browser-controls/browser-controls.d.ts +0 -19
  398. package/dist/components/primitives/browser-controls/index.d.ts +0 -1
  399. package/dist/components/primitives/build-log-stream/build-log-stream.d.ts +0 -51
  400. package/dist/components/primitives/build-log-stream/index.d.ts +0 -1
  401. package/dist/components/primitives/capability-indicator/capability-indicator.d.ts +0 -57
  402. package/dist/components/primitives/capability-indicator/index.d.ts +0 -1
  403. package/dist/components/primitives/channel-card/channel-card.d.ts +0 -28
  404. package/dist/components/primitives/channel-card/index.d.ts +0 -1
  405. package/dist/components/primitives/chat-thread/chat-thread.d.ts +0 -12
  406. package/dist/components/primitives/chat-thread/index.d.ts +0 -1
  407. package/dist/components/primitives/context-card/context-card.d.ts +0 -18
  408. package/dist/components/primitives/context-card/index.d.ts +0 -1
  409. package/dist/components/primitives/context-window-bar/context-window-bar.d.ts +0 -27
  410. package/dist/components/primitives/context-window-bar/index.d.ts +0 -1
  411. package/dist/components/primitives/cost-meter/cost-meter.d.ts +0 -23
  412. package/dist/components/primitives/cost-meter/index.d.ts +0 -1
  413. package/dist/components/primitives/created-files-card/created-files-card.d.ts +0 -30
  414. package/dist/components/primitives/created-files-card/index.d.ts +0 -1
  415. package/dist/components/primitives/cron-job-card/cron-job-card.d.ts +0 -30
  416. package/dist/components/primitives/cron-job-card/index.d.ts +0 -1
  417. package/dist/components/primitives/diff-viewer/diff-viewer.d.ts +0 -45
  418. package/dist/components/primitives/diff-viewer/index.d.ts +0 -1
  419. package/dist/components/primitives/export-chat-dialog/export-chat-dialog.d.ts +0 -18
  420. package/dist/components/primitives/export-chat-dialog/index.d.ts +0 -1
  421. package/dist/components/primitives/folder-context-card/folder-context-card.d.ts +0 -40
  422. package/dist/components/primitives/folder-context-card/index.d.ts +0 -1
  423. package/dist/components/primitives/folder-selector/folder-selector.d.ts +0 -18
  424. package/dist/components/primitives/folder-selector/index.d.ts +0 -1
  425. package/dist/components/primitives/gateway-status-indicator/gateway-status-indicator.d.ts +0 -19
  426. package/dist/components/primitives/gateway-status-indicator/index.d.ts +0 -1
  427. package/dist/components/primitives/hook-config/hook-config.d.ts +0 -27
  428. package/dist/components/primitives/hook-config/index.d.ts +0 -1
  429. package/dist/components/primitives/hook-event-log/hook-event-log.d.ts +0 -27
  430. package/dist/components/primitives/hook-event-log/index.d.ts +0 -1
  431. package/dist/components/primitives/intent-selector/index.d.ts +0 -1
  432. package/dist/components/primitives/intent-selector/intent-selector.d.ts +0 -22
  433. package/dist/components/primitives/lane-board/index.d.ts +0 -1
  434. package/dist/components/primitives/lane-board/lane-board.d.ts +0 -26
  435. package/dist/components/primitives/mcp-server-card/index.d.ts +0 -1
  436. package/dist/components/primitives/mcp-server-card/mcp-server-card.d.ts +0 -32
  437. package/dist/components/primitives/memory-editor/index.d.ts +0 -1
  438. package/dist/components/primitives/memory-editor/memory-editor.d.ts +0 -29
  439. package/dist/components/primitives/mention-menu/index.d.ts +0 -1
  440. package/dist/components/primitives/mention-menu/mention-menu.d.ts +0 -44
  441. package/dist/components/primitives/model-card/index.d.ts +0 -1
  442. package/dist/components/primitives/model-card/model-card.d.ts +0 -72
  443. package/dist/components/primitives/model-selector/index.d.ts +0 -1
  444. package/dist/components/primitives/model-selector/model-selector.d.ts +0 -21
  445. package/dist/components/primitives/permission-matrix/index.d.ts +0 -1
  446. package/dist/components/primitives/permission-matrix/permission-matrix.d.ts +0 -43
  447. package/dist/components/primitives/progress-checklist/index.d.ts +0 -1
  448. package/dist/components/primitives/progress-checklist/progress-checklist.d.ts +0 -18
  449. package/dist/components/primitives/project-switcher/index.d.ts +0 -1
  450. package/dist/components/primitives/project-switcher/project-switcher.d.ts +0 -32
  451. package/dist/components/primitives/quick-action-chips/index.d.ts +0 -1
  452. package/dist/components/primitives/quick-action-chips/quick-action-chips.d.ts +0 -22
  453. package/dist/components/primitives/recent-folders-list/index.d.ts +0 -1
  454. package/dist/components/primitives/recent-folders-list/recent-folders-list.d.ts +0 -21
  455. package/dist/components/primitives/rule-card/index.d.ts +0 -1
  456. package/dist/components/primitives/rule-card/rule-card.d.ts +0 -15
  457. package/dist/components/primitives/run-stats/index.d.ts +0 -1
  458. package/dist/components/primitives/run-stats/run-stats.d.ts +0 -16
  459. package/dist/components/primitives/run-status-pill/index.d.ts +0 -1
  460. package/dist/components/primitives/run-status-pill/run-status-pill.d.ts +0 -13
  461. package/dist/components/primitives/running-tasks-panel/index.d.ts +0 -1
  462. package/dist/components/primitives/running-tasks-panel/running-tasks-panel.d.ts +0 -20
  463. package/dist/components/primitives/session-list-item/index.d.ts +0 -1
  464. package/dist/components/primitives/session-list-item/session-list-item.d.ts +0 -35
  465. package/dist/components/primitives/session-timeline/index.d.ts +0 -1
  466. package/dist/components/primitives/session-timeline/session-timeline.d.ts +0 -32
  467. package/dist/components/primitives/skill-card/index.d.ts +0 -1
  468. package/dist/components/primitives/skill-card/skill-card.d.ts +0 -28
  469. package/dist/components/primitives/slide/alerts.d.ts +0 -31
  470. package/dist/components/primitives/slide/frontmatter.d.ts +0 -23
  471. package/dist/components/primitives/slide/index.d.ts +0 -16
  472. package/dist/components/primitives/slide/json-schema.d.ts +0 -9
  473. package/dist/components/primitives/slide/marpit-bg.d.ts +0 -36
  474. package/dist/components/primitives/slide/parse.d.ts +0 -59
  475. package/dist/components/primitives/slide/plugin.d.ts +0 -79
  476. package/dist/components/primitives/slide/plugins/emoji/index.d.ts +0 -8
  477. package/dist/components/primitives/slide/plugins/emoji/map.d.ts +0 -15
  478. package/dist/components/primitives/slide/plugins/math/index.d.ts +0 -6
  479. package/dist/components/primitives/slide/plugins/mermaid/index.d.ts +0 -48
  480. package/dist/components/primitives/slide/plugins/shiki/index.d.ts +0 -11
  481. package/dist/components/primitives/slide/sanitize.d.ts +0 -33
  482. package/dist/components/primitives/slide/schema.d.ts +0 -109
  483. package/dist/components/primitives/slide/slide.d.ts +0 -53
  484. package/dist/components/primitives/slide/themes/index.d.ts +0 -9
  485. package/dist/components/primitives/slide/use-slide-fit.d.ts +0 -21
  486. package/dist/components/primitives/slide/validate.d.ts +0 -33
  487. package/dist/components/primitives/steps-rail/index.d.ts +0 -1
  488. package/dist/components/primitives/steps-rail/steps-rail.d.ts +0 -24
  489. package/dist/components/primitives/sub-agent-dispatch/index.d.ts +0 -1
  490. package/dist/components/primitives/sub-agent-dispatch/sub-agent-dispatch.d.ts +0 -30
  491. package/dist/components/primitives/system-prompt-editor/index.d.ts +0 -1
  492. package/dist/components/primitives/system-prompt-editor/system-prompt-editor.d.ts +0 -25
  493. package/dist/components/primitives/task-plan/index.d.ts +0 -1
  494. package/dist/components/primitives/task-plan/task-plan.d.ts +0 -36
  495. package/dist/components/primitives/terminal-panel/index.d.ts +0 -1
  496. package/dist/components/primitives/terminal-panel/terminal-panel.d.ts +0 -32
  497. package/dist/components/primitives/thinking-level-selector/index.d.ts +0 -1
  498. package/dist/components/primitives/thinking-level-selector/thinking-level-selector.d.ts +0 -24
  499. package/dist/components/primitives/token-usage-chart/index.d.ts +0 -2
  500. package/dist/components/primitives/token-usage-chart/token-usage-chart.d.ts +0 -44
  501. package/dist/components/primitives/token-usage-chart/usage-metrics.d.ts +0 -23
  502. package/dist/components/primitives/tool-call/index.d.ts +0 -1
  503. package/dist/components/primitives/tool-call/tool-call.d.ts +0 -30
  504. package/dist/components/primitives/tool-call-card/index.d.ts +0 -1
  505. package/dist/components/primitives/tool-call-card/tool-call-card.d.ts +0 -30
  506. package/dist/components/primitives/tool-result/index.d.ts +0 -1
  507. package/dist/components/primitives/tool-result/tool-result.d.ts +0 -19
  508. package/dist/components/primitives/tools-list/index.d.ts +0 -1
  509. package/dist/components/primitives/tools-list/tools-list.d.ts +0 -32
  510. package/dist/components/primitives/whiteboard/index.d.ts +0 -2
  511. package/dist/components/primitives/whiteboard/render/freedraw.d.ts +0 -2
  512. package/dist/components/primitives/whiteboard/render/line.d.ts +0 -4
  513. package/dist/components/primitives/whiteboard/render/rough-paths.d.ts +0 -16
  514. package/dist/components/primitives/whiteboard/render/scene.d.ts +0 -3
  515. package/dist/components/primitives/whiteboard/render/shape.d.ts +0 -5
  516. package/dist/components/primitives/whiteboard/render/style.d.ts +0 -24
  517. package/dist/components/primitives/whiteboard/render/text.d.ts +0 -2
  518. package/dist/components/primitives/whiteboard/schema.d.ts +0 -596
  519. package/dist/components/primitives/whiteboard/seed.d.ts +0 -22
  520. package/dist/components/primitives/whiteboard/validate.d.ts +0 -26
  521. package/dist/components/primitives/whiteboard/viewport/use-pointer-pan.d.ts +0 -11
  522. package/dist/components/primitives/whiteboard/viewport/use-viewport.d.ts +0 -33
  523. package/dist/components/primitives/whiteboard/whiteboard.d.ts +0 -21
  524. package/dist/components.css +0 -2
  525. package/dist/composites/account-menu/index.js +0 -6
  526. package/dist/composites/account-menu/index.js.map +0 -1
  527. package/dist/composites/agent-composer/index.js +0 -8
  528. package/dist/composites/agent-composer/index.js.map +0 -1
  529. package/dist/composites/agent-editor/index.js +0 -11
  530. package/dist/composites/agent-editor/index.js.map +0 -1
  531. package/dist/composites/agent-stream/index.js +0 -24
  532. package/dist/composites/agent-stream/index.js.map +0 -1
  533. package/dist/composites/agent-timeline/index.js +0 -5
  534. package/dist/composites/agent-timeline/index.js.map +0 -1
  535. package/dist/composites/agent-tool-renderer/index.js +0 -17
  536. package/dist/composites/agent-tool-renderer/index.js.map +0 -1
  537. package/dist/composites/approval-card/index.js +0 -5
  538. package/dist/composites/approval-card/index.js.map +0 -1
  539. package/dist/composites/chat-composer/index.js +0 -6
  540. package/dist/composites/chat-composer/index.js.map +0 -1
  541. package/dist/composites/chat-message/index.js +0 -20
  542. package/dist/composites/chat-message/index.js.map +0 -1
  543. package/dist/composites/choice-prompt/index.js +0 -11
  544. package/dist/composites/choice-prompt/index.js.map +0 -1
  545. package/dist/composites/code-block/index.js +0 -5
  546. package/dist/composites/code-block/index.js.map +0 -1
  547. package/dist/composites/command-palette/index.js +0 -6
  548. package/dist/composites/command-palette/index.js.map +0 -1
  549. package/dist/composites/confirm-dialog/index.js +0 -8
  550. package/dist/composites/confirm-dialog/index.js.map +0 -1
  551. package/dist/composites/confirm-prompt/index.js +0 -7
  552. package/dist/composites/confirm-prompt/index.js.map +0 -1
  553. package/dist/composites/cron-jobs-list/index.js +0 -5
  554. package/dist/composites/cron-jobs-list/index.js.map +0 -1
  555. package/dist/composites/data-table/index.js +0 -11
  556. package/dist/composites/data-table/index.js.map +0 -1
  557. package/dist/composites/deployment-row/index.js +0 -5
  558. package/dist/composites/deployment-row/index.js.map +0 -1
  559. package/dist/composites/domain-config/index.js +0 -8
  560. package/dist/composites/domain-config/index.js.map +0 -1
  561. package/dist/composites/env-var-editor/index.js +0 -9
  562. package/dist/composites/env-var-editor/index.js.map +0 -1
  563. package/dist/composites/mcp-server-list/index.js +0 -6
  564. package/dist/composites/mcp-server-list/index.js.map +0 -1
  565. package/dist/composites/metric-card/index.js +0 -5
  566. package/dist/composites/metric-card/index.js.map +0 -1
  567. package/dist/composites/multi-select-prompt/index.js +0 -11
  568. package/dist/composites/multi-select-prompt/index.js.map +0 -1
  569. package/dist/composites/page-shell/index.js +0 -8
  570. package/dist/composites/page-shell/index.js.map +0 -1
  571. package/dist/composites/permission-modal/index.js +0 -7
  572. package/dist/composites/permission-modal/index.js.map +0 -1
  573. package/dist/composites/preview-env-card/index.js +0 -6
  574. package/dist/composites/preview-env-card/index.js.map +0 -1
  575. package/dist/composites/preview-panel/index.js +0 -5
  576. package/dist/composites/preview-panel/index.js.map +0 -1
  577. package/dist/composites/project-card/index.js +0 -6
  578. package/dist/composites/project-card/index.js.map +0 -1
  579. package/dist/composites/rollback-ui/index.js +0 -7
  580. package/dist/composites/rollback-ui/index.js.map +0 -1
  581. package/dist/composites/rule-editor/index.js +0 -12
  582. package/dist/composites/rule-editor/index.js.map +0 -1
  583. package/dist/composites/skill-editor/index.js +0 -12
  584. package/dist/composites/skill-editor/index.js.map +0 -1
  585. package/dist/composites/skills-list/index.js +0 -6
  586. package/dist/composites/skills-list/index.js.map +0 -1
  587. package/dist/composites/stability-bundle-viewer/index.js +0 -5
  588. package/dist/composites/stability-bundle-viewer/index.js.map +0 -1
  589. package/dist/composites/status-indicator/index.js +0 -4
  590. package/dist/composites/status-indicator/index.js.map +0 -1
  591. package/dist/composites/task-header/index.js +0 -5
  592. package/dist/composites/task-header/index.js.map +0 -1
  593. package/dist/composites/text-prompt/index.js +0 -10
  594. package/dist/composites/text-prompt/index.js.map +0 -1
  595. package/dist/composites/usage-meter/index.js +0 -5
  596. package/dist/composites/usage-meter/index.js.map +0 -1
  597. package/dist/fonts/LICENSE-GEIST.txt +0 -92
  598. package/dist/fonts/geist-400.woff2 +0 -0
  599. package/dist/fonts/geist-500.woff2 +0 -0
  600. package/dist/fonts/geist-600.woff2 +0 -0
  601. package/dist/fonts/geist-mono-400.woff2 +0 -0
  602. package/dist/fonts/geist-mono-500.woff2 +0 -0
  603. package/dist/fonts/geist-mono-600.woff2 +0 -0
  604. package/dist/fonts-cdn.css +0 -28
  605. package/dist/fonts.css +0 -75
  606. package/dist/index.js.map +0 -1
  607. package/dist/lib/markdown/code-block.d.ts +0 -14
  608. package/dist/lib/markdown/inline-code.d.ts +0 -10
  609. package/dist/lib/markdown/math.d.ts +0 -12
  610. package/dist/lib/markdown/mermaid.d.ts +0 -6
  611. package/dist/lib/markdown/parser.d.ts +0 -47
  612. package/dist/lib/markdown/streaming-preprocess.d.ts +0 -39
  613. package/dist/lib/prompt.d.ts +0 -40
  614. package/dist/lib/sdk-tools-adapters/index.d.ts +0 -1
  615. package/dist/lib/sdk-tools-adapters/index.js +0 -3
  616. package/dist/lib/sdk-tools-adapters/index.js.map +0 -1
  617. package/dist/lib/sdk-tools-adapters/sdk-tools-adapters.d.ts +0 -60
  618. package/dist/preset-v3-legacy.d.ts +0 -32
  619. package/dist/preset-v3-legacy.js.map +0 -1
  620. package/dist/preset.css +0 -27
  621. package/dist/primitives/action-bar/index.js +0 -4
  622. package/dist/primitives/action-bar/index.js.map +0 -1
  623. package/dist/primitives/agent-error-card/index.js +0 -5
  624. package/dist/primitives/agent-error-card/index.js.map +0 -1
  625. package/dist/primitives/agent-event/index.js +0 -5
  626. package/dist/primitives/agent-event/index.js.map +0 -1
  627. package/dist/primitives/agent-handoff/index.js +0 -4
  628. package/dist/primitives/agent-handoff/index.js.map +0 -1
  629. package/dist/primitives/agent-profile/index.js +0 -4
  630. package/dist/primitives/agent-profile/index.js.map +0 -1
  631. package/dist/primitives/agent-starting-state/index.js +0 -5
  632. package/dist/primitives/agent-starting-state/index.js.map +0 -1
  633. package/dist/primitives/agent-streaming/index.js +0 -5
  634. package/dist/primitives/agent-streaming/index.js.map +0 -1
  635. package/dist/primitives/alert/index.js +0 -4
  636. package/dist/primitives/alert/index.js.map +0 -1
  637. package/dist/primitives/artifact-preview/index.js +0 -4
  638. package/dist/primitives/artifact-preview/index.js.map +0 -1
  639. package/dist/primitives/attachment-chip/index.js +0 -4
  640. package/dist/primitives/attachment-chip/index.js.map +0 -1
  641. package/dist/primitives/audit-log-entry/index.js +0 -4
  642. package/dist/primitives/audit-log-entry/index.js.map +0 -1
  643. package/dist/primitives/auto-compact-notice/index.js +0 -5
  644. package/dist/primitives/auto-compact-notice/index.js.map +0 -1
  645. package/dist/primitives/avatar/index.js +0 -4
  646. package/dist/primitives/avatar/index.js.map +0 -1
  647. package/dist/primitives/badge/index.js +0 -4
  648. package/dist/primitives/badge/index.js.map +0 -1
  649. package/dist/primitives/branch-indicator/index.js +0 -4
  650. package/dist/primitives/branch-indicator/index.js.map +0 -1
  651. package/dist/primitives/browser-controls/index.js +0 -4
  652. package/dist/primitives/browser-controls/index.js.map +0 -1
  653. package/dist/primitives/build-log-stream/index.js +0 -7
  654. package/dist/primitives/build-log-stream/index.js.map +0 -1
  655. package/dist/primitives/button/index.js +0 -4
  656. package/dist/primitives/button/index.js.map +0 -1
  657. package/dist/primitives/capability-indicator/index.js +0 -4
  658. package/dist/primitives/capability-indicator/index.js.map +0 -1
  659. package/dist/primitives/card/index.js +0 -5
  660. package/dist/primitives/card/index.js.map +0 -1
  661. package/dist/primitives/channel-card/index.js +0 -4
  662. package/dist/primitives/channel-card/index.js.map +0 -1
  663. package/dist/primitives/chat-thread/index.js +0 -5
  664. package/dist/primitives/chat-thread/index.js.map +0 -1
  665. package/dist/primitives/checkbox/index.js +0 -4
  666. package/dist/primitives/checkbox/index.js.map +0 -1
  667. package/dist/primitives/context-card/index.js +0 -4
  668. package/dist/primitives/context-card/index.js.map +0 -1
  669. package/dist/primitives/context-window-bar/index.js +0 -4
  670. package/dist/primitives/context-window-bar/index.js.map +0 -1
  671. package/dist/primitives/copy-button/index.js +0 -5
  672. package/dist/primitives/copy-button/index.js.map +0 -1
  673. package/dist/primitives/cost-meter/index.js +0 -4
  674. package/dist/primitives/cost-meter/index.js.map +0 -1
  675. package/dist/primitives/created-files-card/index.js +0 -4
  676. package/dist/primitives/created-files-card/index.js.map +0 -1
  677. package/dist/primitives/cron-job-card/index.js +0 -4
  678. package/dist/primitives/cron-job-card/index.js.map +0 -1
  679. package/dist/primitives/danger-zone/index.js +0 -4
  680. package/dist/primitives/danger-zone/index.js.map +0 -1
  681. package/dist/primitives/dialog/index.js +0 -4
  682. package/dist/primitives/dialog/index.js.map +0 -1
  683. package/dist/primitives/diff-viewer/index.js +0 -4
  684. package/dist/primitives/diff-viewer/index.js.map +0 -1
  685. package/dist/primitives/dropdown-menu/index.js +0 -4
  686. package/dist/primitives/dropdown-menu/index.js.map +0 -1
  687. package/dist/primitives/empty-state/index.js +0 -4
  688. package/dist/primitives/empty-state/index.js.map +0 -1
  689. package/dist/primitives/export-chat-dialog/index.js +0 -5
  690. package/dist/primitives/export-chat-dialog/index.js.map +0 -1
  691. package/dist/primitives/folder-context-card/index.js +0 -4
  692. package/dist/primitives/folder-context-card/index.js.map +0 -1
  693. package/dist/primitives/folder-selector/index.js +0 -4
  694. package/dist/primitives/folder-selector/index.js.map +0 -1
  695. package/dist/primitives/form-field/index.js +0 -5
  696. package/dist/primitives/form-field/index.js.map +0 -1
  697. package/dist/primitives/gateway-status-indicator/index.js +0 -4
  698. package/dist/primitives/gateway-status-indicator/index.js.map +0 -1
  699. package/dist/primitives/hook-config/index.js +0 -5
  700. package/dist/primitives/hook-config/index.js.map +0 -1
  701. package/dist/primitives/hook-event-log/index.js +0 -4
  702. package/dist/primitives/hook-event-log/index.js.map +0 -1
  703. package/dist/primitives/input/index.js +0 -4
  704. package/dist/primitives/input/index.js.map +0 -1
  705. package/dist/primitives/intent-selector/index.js +0 -4
  706. package/dist/primitives/intent-selector/index.js.map +0 -1
  707. package/dist/primitives/label/index.js +0 -4
  708. package/dist/primitives/label/index.js.map +0 -1
  709. package/dist/primitives/lane-board/index.js +0 -4
  710. package/dist/primitives/lane-board/index.js.map +0 -1
  711. package/dist/primitives/login-split/index.js +0 -4
  712. package/dist/primitives/login-split/index.js.map +0 -1
  713. package/dist/primitives/mcp-server-card/index.js +0 -4
  714. package/dist/primitives/mcp-server-card/index.js.map +0 -1
  715. package/dist/primitives/memory-editor/index.js +0 -4
  716. package/dist/primitives/memory-editor/index.js.map +0 -1
  717. package/dist/primitives/mention-menu/index.js +0 -5
  718. package/dist/primitives/mention-menu/index.js.map +0 -1
  719. package/dist/primitives/metrics-panel/index.js +0 -4
  720. package/dist/primitives/metrics-panel/index.js.map +0 -1
  721. package/dist/primitives/model-card/index.js +0 -4
  722. package/dist/primitives/model-card/index.js.map +0 -1
  723. package/dist/primitives/model-selector/index.js +0 -4
  724. package/dist/primitives/model-selector/index.js.map +0 -1
  725. package/dist/primitives/pagination/index.js +0 -4
  726. package/dist/primitives/pagination/index.js.map +0 -1
  727. package/dist/primitives/permission-matrix/index.js +0 -5
  728. package/dist/primitives/permission-matrix/index.js.map +0 -1
  729. package/dist/primitives/pin-input/index.js +0 -5
  730. package/dist/primitives/pin-input/index.js.map +0 -1
  731. package/dist/primitives/plan-badge/index.js +0 -4
  732. package/dist/primitives/plan-badge/index.js.map +0 -1
  733. package/dist/primitives/progress/index.js +0 -4
  734. package/dist/primitives/progress/index.js.map +0 -1
  735. package/dist/primitives/progress-checklist/index.js +0 -4
  736. package/dist/primitives/progress-checklist/index.js.map +0 -1
  737. package/dist/primitives/project-switcher/index.js +0 -4
  738. package/dist/primitives/project-switcher/index.js.map +0 -1
  739. package/dist/primitives/quick-action-chips/index.js +0 -4
  740. package/dist/primitives/quick-action-chips/index.js.map +0 -1
  741. package/dist/primitives/radio-group/index.js +0 -4
  742. package/dist/primitives/radio-group/index.js.map +0 -1
  743. package/dist/primitives/recent-folders-list/index.js +0 -4
  744. package/dist/primitives/recent-folders-list/index.js.map +0 -1
  745. package/dist/primitives/rule-card/index.js +0 -4
  746. package/dist/primitives/rule-card/index.js.map +0 -1
  747. package/dist/primitives/run-stats/index.js +0 -4
  748. package/dist/primitives/run-stats/index.js.map +0 -1
  749. package/dist/primitives/run-status-pill/index.js +0 -4
  750. package/dist/primitives/run-status-pill/index.js.map +0 -1
  751. package/dist/primitives/running-tasks-panel/index.js +0 -4
  752. package/dist/primitives/running-tasks-panel/index.js.map +0 -1
  753. package/dist/primitives/scroll-area/index.js +0 -5
  754. package/dist/primitives/scroll-area/index.js.map +0 -1
  755. package/dist/primitives/select/index.js +0 -4
  756. package/dist/primitives/select/index.js.map +0 -1
  757. package/dist/primitives/session-list-item/index.js +0 -4
  758. package/dist/primitives/session-list-item/index.js.map +0 -1
  759. package/dist/primitives/session-timeline/index.js +0 -4
  760. package/dist/primitives/session-timeline/index.js.map +0 -1
  761. package/dist/primitives/sheet/index.js +0 -4
  762. package/dist/primitives/sheet/index.js.map +0 -1
  763. package/dist/primitives/sidebar/index.js +0 -4
  764. package/dist/primitives/sidebar/index.js.map +0 -1
  765. package/dist/primitives/skeleton/index.js +0 -5
  766. package/dist/primitives/skeleton/index.js.map +0 -1
  767. package/dist/primitives/skill-card/index.js +0 -4
  768. package/dist/primitives/skill-card/index.js.map +0 -1
  769. package/dist/primitives/social-auth-row/index.js +0 -4
  770. package/dist/primitives/social-auth-row/index.js.map +0 -1
  771. package/dist/primitives/stat-tile/index.js +0 -4
  772. package/dist/primitives/stat-tile/index.js.map +0 -1
  773. package/dist/primitives/status-dot/index.js +0 -6
  774. package/dist/primitives/status-dot/index.js.map +0 -1
  775. package/dist/primitives/steps-rail/index.js +0 -4
  776. package/dist/primitives/steps-rail/index.js.map +0 -1
  777. package/dist/primitives/sub-agent-dispatch/index.js +0 -4
  778. package/dist/primitives/sub-agent-dispatch/index.js.map +0 -1
  779. package/dist/primitives/switch/index.js +0 -4
  780. package/dist/primitives/switch/index.js.map +0 -1
  781. package/dist/primitives/system-prompt-editor/index.js +0 -5
  782. package/dist/primitives/system-prompt-editor/index.js.map +0 -1
  783. package/dist/primitives/table/index.js +0 -5
  784. package/dist/primitives/table/index.js.map +0 -1
  785. package/dist/primitives/tabs/index.js +0 -4
  786. package/dist/primitives/tabs/index.js.map +0 -1
  787. package/dist/primitives/task-plan/index.js +0 -4
  788. package/dist/primitives/task-plan/index.js.map +0 -1
  789. package/dist/primitives/terminal-panel/index.js +0 -5
  790. package/dist/primitives/terminal-panel/index.js.map +0 -1
  791. package/dist/primitives/textarea/index.js +0 -4
  792. package/dist/primitives/textarea/index.js.map +0 -1
  793. package/dist/primitives/thinking-level-selector/index.js +0 -5
  794. package/dist/primitives/thinking-level-selector/index.js.map +0 -1
  795. package/dist/primitives/timestamp/index.js +0 -6
  796. package/dist/primitives/timestamp/index.js.map +0 -1
  797. package/dist/primitives/toast/index.js +0 -5
  798. package/dist/primitives/toast/index.js.map +0 -1
  799. package/dist/primitives/token-usage-chart/index.js +0 -4
  800. package/dist/primitives/token-usage-chart/index.js.map +0 -1
  801. package/dist/primitives/tool-call/index.js +0 -5
  802. package/dist/primitives/tool-call/index.js.map +0 -1
  803. package/dist/primitives/tool-call-card/index.js +0 -5
  804. package/dist/primitives/tool-call-card/index.js.map +0 -1
  805. package/dist/primitives/tool-result/index.js +0 -4
  806. package/dist/primitives/tool-result/index.js.map +0 -1
  807. package/dist/primitives/tools-list/index.js +0 -4
  808. package/dist/primitives/tools-list/index.js.map +0 -1
  809. package/dist/primitives/tooltip/index.js +0 -4
  810. package/dist/primitives/tooltip/index.js.map +0 -1
  811. package/dist/primitives/topnav/index.js +0 -4
  812. package/dist/primitives/topnav/index.js.map +0 -1
  813. package/dist/primitives/update-banner/index.js +0 -4
  814. package/dist/primitives/update-banner/index.js.map +0 -1
  815. package/dist/screens/theo-code-shell.d.ts +0 -9
  816. package/dist/screens/theo-code-shell.data.d.ts +0 -147
  817. package/dist/slide/index.js +0 -4
  818. package/dist/slide/index.js.map +0 -1
  819. package/dist/slide/plugins/emoji/index.js +0 -157
  820. package/dist/slide/plugins/emoji/index.js.map +0 -1
  821. package/dist/slide/plugins/math/index.js +0 -145
  822. package/dist/slide/plugins/math/index.js.map +0 -1
  823. package/dist/slide/plugins/mermaid/index.js +0 -218
  824. package/dist/slide/plugins/mermaid/index.js.map +0 -1
  825. package/dist/slide/plugins/shiki/index.js +0 -87
  826. package/dist/slide/plugins/shiki/index.js.map +0 -1
  827. package/dist/slide/themes/default.css +0 -256
  828. package/dist/slide/themes/layouts.css +0 -143
  829. package/dist/slide/themes/violet-forge.css +0 -256
  830. package/dist/slide-deck/index.css +0 -52
  831. package/dist/slide-deck/index.css.map +0 -1
  832. package/dist/slide-deck/index.js +0 -1122
  833. package/dist/slide-deck/index.js.map +0 -1
  834. package/dist/styles-v3-legacy.css +0 -88
  835. package/dist/styles.css +0 -137
  836. package/dist/themes/anthropic-style.d.ts +0 -11
  837. package/dist/themes/aurora-terminal.d.ts +0 -9
  838. package/dist/themes/classic-paper.d.ts +0 -17
  839. package/dist/themes/color-value-pattern.d.ts +0 -22
  840. package/dist/themes/color.d.ts +0 -62
  841. package/dist/themes/define.d.ts +0 -65
  842. package/dist/themes/density.d.ts +0 -17
  843. package/dist/themes/dracula.d.ts +0 -14
  844. package/dist/themes/github-dark.d.ts +0 -11
  845. package/dist/themes/index.d.ts +0 -26
  846. package/dist/themes/linear-glass.d.ts +0 -11
  847. package/dist/themes/one-dark.d.ts +0 -11
  848. package/dist/themes/openai-style.d.ts +0 -10
  849. package/dist/themes/schema.d.ts +0 -112
  850. package/dist/themes/theme-provider.d.ts +0 -82
  851. package/dist/themes/theme-script.d.ts +0 -48
  852. package/dist/themes/theme-switcher.d.ts +0 -17
  853. package/dist/themes/types.d.ts +0 -88
  854. package/dist/themes/vercel-mono.d.ts +0 -11
  855. package/dist/themes/violet-forge.d.ts +0 -12
  856. package/dist/theo-ui-provider.d.ts +0 -50
  857. package/dist/tokens-v4.css +0 -223
  858. package/dist/tokens.css +0 -315
  859. package/dist/types/agent.d.ts +0 -19
  860. package/dist/types/chat.d.ts +0 -173
  861. package/dist/types/mode.d.ts +0 -16
  862. package/dist/types/permission.d.ts +0 -8
  863. package/dist/types/rule.d.ts +0 -28
  864. package/dist/vite-plugin.d.ts +0 -25
  865. package/dist/vite-plugin.js +0 -76
  866. package/dist/vite-plugin.js.map +0 -1
  867. package/dist/whiteboard/index.js +0 -741
  868. package/dist/whiteboard/index.js.map +0 -1
  869. package/llms.txt +0 -273
  870. package/registry/index.json +0 -910
  871. package/registry/r/account-menu.json +0 -24
  872. package/registry/r/action-bar.json +0 -22
  873. package/registry/r/agent-composer.json +0 -22
  874. package/registry/r/agent-editor.json +0 -27
  875. package/registry/r/agent-error-card.json +0 -22
  876. package/registry/r/agent-event.json +0 -24
  877. package/registry/r/agent-handoff.json +0 -22
  878. package/registry/r/agent-profile.json +0 -23
  879. package/registry/r/agent-starting-state.json +0 -22
  880. package/registry/r/agent-stream.json +0 -27
  881. package/registry/r/agent-streaming.json +0 -22
  882. package/registry/r/agent-timeline.json +0 -22
  883. package/registry/r/agent-tool-renderer.json +0 -40
  884. package/registry/r/agent-types.json +0 -15
  885. package/registry/r/alert.json +0 -22
  886. package/registry/r/approval-card.json +0 -25
  887. package/registry/r/artifact-preview.json +0 -22
  888. package/registry/r/attachment-chip.json +0 -24
  889. package/registry/r/audit-log-entry.json +0 -23
  890. package/registry/r/auto-compact-notice.json +0 -22
  891. package/registry/r/avatar.json +0 -23
  892. package/registry/r/badge.json +0 -22
  893. package/registry/r/browser-controls.json +0 -22
  894. package/registry/r/build-log-stream.json +0 -20
  895. package/registry/r/button.json +0 -23
  896. package/registry/r/capability-indicator.json +0 -23
  897. package/registry/r/card.json +0 -22
  898. package/registry/r/chat-composer.json +0 -23
  899. package/registry/r/chat-message.json +0 -124
  900. package/registry/r/chat-thread.json +0 -20
  901. package/registry/r/chat-types.json +0 -15
  902. package/registry/r/checkbox.json +0 -24
  903. package/registry/r/choice-prompt.json +0 -25
  904. package/registry/r/cn.json +0 -19
  905. package/registry/r/code-block.json +0 -21
  906. package/registry/r/command-palette.json +0 -25
  907. package/registry/r/confirm-dialog.json +0 -25
  908. package/registry/r/confirm-prompt.json +0 -21
  909. package/registry/r/context-card.json +0 -23
  910. package/registry/r/context-window-bar.json +0 -20
  911. package/registry/r/copy-button.json +0 -22
  912. package/registry/r/cost-meter.json +0 -22
  913. package/registry/r/created-files-card.json +0 -23
  914. package/registry/r/cron-job-card.json +0 -22
  915. package/registry/r/cron-jobs-list.json +0 -23
  916. package/registry/r/danger-zone.json +0 -20
  917. package/registry/r/data-table.json +0 -27
  918. package/registry/r/deployment-row.json +0 -23
  919. package/registry/r/dialog.json +0 -23
  920. package/registry/r/diff-viewer.json +0 -20
  921. package/registry/r/domain-config.json +0 -25
  922. package/registry/r/dropdown-menu.json +0 -23
  923. package/registry/r/empty-state.json +0 -20
  924. package/registry/r/env-var-editor.json +0 -26
  925. package/registry/r/env.json +0 -15
  926. package/registry/r/folder-context-card.json +0 -23
  927. package/registry/r/folder-selector.json +0 -22
  928. package/registry/r/form-field.json +0 -23
  929. package/registry/r/hook-config.json +0 -22
  930. package/registry/r/hook-event-log.json +0 -22
  931. package/registry/r/input.json +0 -22
  932. package/registry/r/intent-selector.json +0 -24
  933. package/registry/r/label.json +0 -22
  934. package/registry/r/lane-board.json +0 -20
  935. package/registry/r/live-region-context.json +0 -16
  936. package/registry/r/login-split.json +0 -20
  937. package/registry/r/mcp-server-card.json +0 -22
  938. package/registry/r/mcp-server-list.json +0 -23
  939. package/registry/r/memory-editor.json +0 -23
  940. package/registry/r/mention-menu.json +0 -23
  941. package/registry/r/metric-card.json +0 -23
  942. package/registry/r/metrics-panel.json +0 -22
  943. package/registry/r/mode-types.json +0 -15
  944. package/registry/r/model-card.json +0 -23
  945. package/registry/r/model-selector.json +0 -23
  946. package/registry/r/multi-select-prompt.json +0 -25
  947. package/registry/r/page-shell.json +0 -25
  948. package/registry/r/pagination.json +0 -22
  949. package/registry/r/permission-matrix.json +0 -22
  950. package/registry/r/permission-modal.json +0 -24
  951. package/registry/r/permission-types.json +0 -15
  952. package/registry/r/pin-input.json +0 -20
  953. package/registry/r/plan-badge.json +0 -20
  954. package/registry/r/preview-env-card.json +0 -25
  955. package/registry/r/preview-panel.json +0 -21
  956. package/registry/r/progress-checklist.json +0 -23
  957. package/registry/r/progress.json +0 -20
  958. package/registry/r/project-card.json +0 -25
  959. package/registry/r/project-switcher.json +0 -22
  960. package/registry/r/prompt.json +0 -15
  961. package/registry/r/quick-action-chips.json +0 -21
  962. package/registry/r/radio-group.json +0 -23
  963. package/registry/r/recent-folders-list.json +0 -22
  964. package/registry/r/rollback-ui.json +0 -24
  965. package/registry/r/rule-card.json +0 -23
  966. package/registry/r/rule-editor.json +0 -28
  967. package/registry/r/rule-types.json +0 -18
  968. package/registry/r/run-stats.json +0 -22
  969. package/registry/r/running-tasks-panel.json +0 -22
  970. package/registry/r/safe-href.json +0 -16
  971. package/registry/r/scroll-area.json +0 -22
  972. package/registry/r/select.json +0 -24
  973. package/registry/r/session-list-item.json +0 -20
  974. package/registry/r/session-timeline.json +0 -22
  975. package/registry/r/sheet.json +0 -24
  976. package/registry/r/sidebar.json +0 -19
  977. package/registry/r/skeleton.json +0 -19
  978. package/registry/r/skill-card.json +0 -24
  979. package/registry/r/skill-editor.json +0 -28
  980. package/registry/r/skills-list.json +0 -23
  981. package/registry/r/slide-deck.json +0 -130
  982. package/registry/r/slide-plugin-emoji.json +0 -28
  983. package/registry/r/slide-plugin-math.json +0 -24
  984. package/registry/r/slide-plugin-mermaid.json +0 -23
  985. package/registry/r/slide-plugin-shiki.json +0 -23
  986. package/registry/r/slide.json +0 -123
  987. package/registry/r/social-auth-row.json +0 -21
  988. package/registry/r/stat-tile.json +0 -22
  989. package/registry/r/status-dot.json +0 -21
  990. package/registry/r/status-indicator.json +0 -20
  991. package/registry/r/steps-rail.json +0 -20
  992. package/registry/r/sub-agent-dispatch.json +0 -22
  993. package/registry/r/switch.json +0 -23
  994. package/registry/r/system-prompt-editor.json +0 -22
  995. package/registry/r/table.json +0 -22
  996. package/registry/r/tabs.json +0 -22
  997. package/registry/r/tailwind-preset.json +0 -19
  998. package/registry/r/task-header.json +0 -24
  999. package/registry/r/task-plan.json +0 -22
  1000. package/registry/r/task-types.json +0 -15
  1001. package/registry/r/terminal-panel.json +0 -22
  1002. package/registry/r/text-prompt.json +0 -24
  1003. package/registry/r/textarea.json +0 -22
  1004. package/registry/r/theme-provider.json +0 -60
  1005. package/registry/r/theme-script.json +0 -18
  1006. package/registry/r/theo-ui-provider.json +0 -20
  1007. package/registry/r/timestamp.json +0 -21
  1008. package/registry/r/toast.json +0 -30
  1009. package/registry/r/token-usage-chart.json +0 -20
  1010. package/registry/r/tokens.json +0 -21
  1011. package/registry/r/tool-call-card.json +0 -23
  1012. package/registry/r/tool-call.json +0 -22
  1013. package/registry/r/tool-result.json +0 -20
  1014. package/registry/r/tools-list.json +0 -23
  1015. package/registry/r/tooltip.json +0 -22
  1016. package/registry/r/topnav.json +0 -22
  1017. package/registry/r/types.json +0 -15
  1018. package/registry/r/usage-meter.json +0 -21
  1019. package/registry/r/whiteboard.json +0 -101
@@ -1,139 +0,0 @@
1
- "use client";
2
- import { isDev } from './chunk-ML7WLNIK.js';
3
- import { cn } from './chunk-EWDN56AS.js';
4
- import { forwardRef, useState, useEffect } from 'react';
5
- import { jsx } from 'react/jsx-runtime';
6
-
7
- function toDate(value) {
8
- const d = value instanceof Date ? value : new Date(value);
9
- return Number.isNaN(d.getTime()) ? null : d;
10
- }
11
- var SEVEN_DAYS_MS = 7 * 24 * 60 * 60 * 1e3;
12
- var UNITS = [
13
- { unit: "year", ms: 365 * 24 * 60 * 60 * 1e3 },
14
- { unit: "month", ms: 30 * 24 * 60 * 60 * 1e3 },
15
- { unit: "day", ms: 24 * 60 * 60 * 1e3 },
16
- { unit: "hour", ms: 60 * 60 * 1e3 },
17
- { unit: "minute", ms: 60 * 1e3 }
18
- ];
19
- function safeRelativeFormatter(locale) {
20
- try {
21
- return new Intl.RelativeTimeFormat(locale, { numeric: "auto" });
22
- } catch {
23
- if (isDev()) {
24
- console.warn(`<Timestamp locale="${locale}">: invalid locale tag, falling back to default.`);
25
- }
26
- try {
27
- return new Intl.RelativeTimeFormat(void 0, { numeric: "auto" });
28
- } catch {
29
- return null;
30
- }
31
- }
32
- }
33
- function safeAbsoluteFormat(date, locale, withYear) {
34
- try {
35
- return date.toLocaleDateString(locale, {
36
- month: "short",
37
- day: "numeric",
38
- ...withYear ? { year: "numeric" } : {}
39
- });
40
- } catch {
41
- return date.toLocaleDateString(void 0, {
42
- month: "short",
43
- day: "numeric",
44
- ...withYear ? { year: "numeric" } : {}
45
- });
46
- }
47
- }
48
- function formatRelative(date, now, locale) {
49
- const diffMs = date.getTime() - now.getTime();
50
- const absMs = Math.abs(diffMs);
51
- if (absMs < 6e4) return "just now";
52
- if (diffMs < 0 && absMs > SEVEN_DAYS_MS) {
53
- const sameYear = date.getFullYear() === now.getFullYear();
54
- return safeAbsoluteFormat(date, locale, !sameYear);
55
- }
56
- const rtf = safeRelativeFormatter(locale);
57
- if (rtf === null) {
58
- return safeAbsoluteFormat(date, locale, date.getFullYear() !== now.getFullYear());
59
- }
60
- for (const { unit, ms } of UNITS) {
61
- if (absMs >= ms) {
62
- return rtf.format(Math.round(diffMs / ms), unit);
63
- }
64
- }
65
- return "just now";
66
- }
67
- function formatAbsolute(date, locale) {
68
- try {
69
- return date.toLocaleString(locale, {
70
- year: "numeric",
71
- month: "short",
72
- day: "numeric",
73
- hour: "2-digit",
74
- minute: "2-digit"
75
- });
76
- } catch {
77
- return date.toLocaleString(void 0, {
78
- year: "numeric",
79
- month: "short",
80
- day: "numeric",
81
- hour: "2-digit",
82
- minute: "2-digit"
83
- });
84
- }
85
- }
86
- var Timestamp = forwardRef(
87
- ({
88
- className,
89
- value,
90
- format = "relative",
91
- refreshInterval = 6e4,
92
- locale,
93
- noTooltip,
94
- ...props
95
- }, ref) => {
96
- const date = toDate(value);
97
- const [now, setNow] = useState(() => /* @__PURE__ */ new Date());
98
- useEffect(() => {
99
- if (format !== "relative" || refreshInterval === 0 || date === null) return;
100
- const id = setInterval(() => setNow(/* @__PURE__ */ new Date()), refreshInterval);
101
- return () => clearInterval(id);
102
- }, [format, refreshInterval, date]);
103
- if (date === null) {
104
- return /* @__PURE__ */ jsx(
105
- "time",
106
- {
107
- "data-slot": "timestamp",
108
- ref,
109
- className: cn(className),
110
- suppressHydrationWarning: true,
111
- ...props
112
- }
113
- );
114
- }
115
- const iso = date.toISOString();
116
- const absolute = formatAbsolute(date, locale);
117
- const relative = formatRelative(date, now, locale);
118
- const visibleText = format === "absolute" ? absolute : format === "both" ? `${absolute} (${relative})` : relative;
119
- return /* @__PURE__ */ jsx(
120
- "time",
121
- {
122
- "data-slot": "timestamp",
123
- ref,
124
- dateTime: iso,
125
- title: noTooltip ? void 0 : absolute,
126
- "aria-label": absolute,
127
- suppressHydrationWarning: true,
128
- className: cn(className),
129
- ...props,
130
- children: visibleText
131
- }
132
- );
133
- }
134
- );
135
- Timestamp.displayName = "Timestamp";
136
-
137
- export { Timestamp };
138
- //# sourceMappingURL=chunk-ETTL6XGU.js.map
139
- //# sourceMappingURL=chunk-ETTL6XGU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/primitives/timestamp/timestamp.tsx"],"names":[],"mappings":"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","file":"chunk-ETTL6XGU.js","sourcesContent":["\"use client\";\n\nimport { forwardRef, useEffect, useState } from \"react\";\nimport type { TimeHTMLAttributes } from \"react\";\nimport { cn } from \"../../../lib/cn.js\";\nimport { isDev } from \"../../../lib/env.js\";\n\n/**\n * Timestamp — accessible relative/absolute time primitive.\n *\n * Renders a semantic `<time datetime>` element. Format modes:\n * - `relative` (default) — \"just now\", \"5 minutes ago\", \"2 hours ago\",\n * \"Dec 5\" (>7d), \"Dec 5, 2024\" (different year)\n * - `absolute` — full localized date+time\n * - `both` — \"Dec 5, 2026 (2 hours ago)\"\n *\n * Uses zero-dep `Intl.RelativeTimeFormat`. The tooltip on hover is the\n * HTML `title` attribute (not the `<Tooltip>` component) — keeps this\n * file a true primitive without sibling-primitive imports.\n *\n * Auto-refreshes via `setInterval` (default 60_000ms); pass\n * `refreshInterval={0}` to disable. `aria-label` always carries the\n * absolute time so screen readers read \"May 23, 2026 14:32 — posted\n * 2 hours ago\".\n *\n * @param value Source date — ISO string, Date object, or **Unix ms**\n * (NOT seconds). Passing seconds renders ~1970.\n */\nexport interface TimestampProps extends Omit<TimeHTMLAttributes<HTMLTimeElement>, \"children\"> {\n value: string | Date | number;\n format?: \"relative\" | \"absolute\" | \"both\";\n /** Auto-refresh interval when format=relative. Default 60000. 0 disables. */\n refreshInterval?: number;\n /** Locale for absolute formatting + Intl.RelativeTimeFormat. Default browser locale. */\n locale?: string;\n /** When true, omit the `title` tooltip. */\n noTooltip?: boolean;\n}\n\nfunction toDate(value: string | Date | number): Date | null {\n const d = value instanceof Date ? value : new Date(value);\n return Number.isNaN(d.getTime()) ? null : d;\n}\n\nconst SEVEN_DAYS_MS = 7 * 24 * 60 * 60 * 1000;\nconst UNITS: Array<{ unit: Intl.RelativeTimeFormatUnit; ms: number }> = [\n { unit: \"year\", ms: 365 * 24 * 60 * 60 * 1000 },\n { unit: \"month\", ms: 30 * 24 * 60 * 60 * 1000 },\n { unit: \"day\", ms: 24 * 60 * 60 * 1000 },\n { unit: \"hour\", ms: 60 * 60 * 1000 },\n { unit: \"minute\", ms: 60 * 1000 },\n];\n\nfunction safeRelativeFormatter(locale: string | undefined): Intl.RelativeTimeFormat | null {\n try {\n return new Intl.RelativeTimeFormat(locale, { numeric: \"auto\" });\n } catch {\n // EC-8: invalid locale tag — fall back to default locale.\n if (isDev()) {\n // biome-ignore lint/suspicious/noConsole: dev-only diagnostic.\n console.warn(`<Timestamp locale=\"${locale}\">: invalid locale tag, falling back to default.`);\n }\n try {\n return new Intl.RelativeTimeFormat(undefined, { numeric: \"auto\" });\n } catch {\n return null;\n }\n }\n}\n\nfunction safeAbsoluteFormat(date: Date, locale: string | undefined, withYear: boolean): string {\n try {\n return date.toLocaleDateString(locale, {\n month: \"short\",\n day: \"numeric\",\n ...(withYear ? { year: \"numeric\" } : {}),\n });\n } catch {\n return date.toLocaleDateString(undefined, {\n month: \"short\",\n day: \"numeric\",\n ...(withYear ? { year: \"numeric\" } : {}),\n });\n }\n}\n\nfunction formatRelative(date: Date, now: Date, locale: string | undefined): string {\n const diffMs = date.getTime() - now.getTime();\n const absMs = Math.abs(diffMs);\n\n if (absMs < 60_000) return \"just now\";\n\n if (diffMs < 0 && absMs > SEVEN_DAYS_MS) {\n const sameYear = date.getFullYear() === now.getFullYear();\n return safeAbsoluteFormat(date, locale, !sameYear);\n }\n\n const rtf = safeRelativeFormatter(locale);\n if (rtf === null) {\n return safeAbsoluteFormat(date, locale, date.getFullYear() !== now.getFullYear());\n }\n\n for (const { unit, ms } of UNITS) {\n if (absMs >= ms) {\n return rtf.format(Math.round(diffMs / ms), unit);\n }\n }\n return \"just now\";\n}\n\nfunction formatAbsolute(date: Date, locale: string | undefined): string {\n try {\n return date.toLocaleString(locale, {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n });\n } catch {\n return date.toLocaleString(undefined, {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n });\n }\n}\n\nconst Timestamp = forwardRef<HTMLTimeElement, TimestampProps>(\n (\n {\n className,\n value,\n format = \"relative\",\n refreshInterval = 60_000,\n locale,\n noTooltip,\n ...props\n },\n ref,\n ) => {\n const date = toDate(value);\n const [now, setNow] = useState<Date>(() => new Date());\n\n useEffect(() => {\n if (format !== \"relative\" || refreshInterval === 0 || date === null) return;\n const id = setInterval(() => setNow(new Date()), refreshInterval);\n return () => clearInterval(id);\n }, [format, refreshInterval, date]);\n\n if (date === null) {\n return (\n <time\n data-slot=\"timestamp\"\n ref={ref}\n className={cn(className)}\n suppressHydrationWarning\n {...props}\n />\n );\n }\n\n const iso = date.toISOString();\n const absolute = formatAbsolute(date, locale);\n const relative = formatRelative(date, now, locale);\n const visibleText =\n format === \"absolute\" ? absolute : format === \"both\" ? `${absolute} (${relative})` : relative;\n\n return (\n <time\n data-slot=\"timestamp\"\n ref={ref}\n dateTime={iso}\n title={noTooltip ? undefined : absolute}\n aria-label={absolute}\n suppressHydrationWarning\n className={cn(className)}\n {...props}\n >\n {visibleText}\n </time>\n );\n },\n);\nTimestamp.displayName = \"Timestamp\";\n\nexport { Timestamp };\n"]}
@@ -1,24 +0,0 @@
1
- import { clsx } from 'clsx';
2
- import { extendTailwindMerge } from 'tailwind-merge';
3
-
4
- // src/lib/cn.ts
5
- var twMerge = extendTailwindMerge({
6
- extend: {
7
- classGroups: {
8
- "font-size": [
9
- { text: ["display-2xl", "display-xl", "display-lg", "display-md"] },
10
- { text: ["headline", "title-lg", "title-md"] },
11
- { text: ["body-lg", "body-md", "body-sm"] },
12
- { text: ["label", "label-caps"] },
13
- { text: ["code-md", "code-sm"] }
14
- ]
15
- }
16
- }
17
- });
18
- function cn(...inputs) {
19
- return twMerge(clsx(inputs));
20
- }
21
-
22
- export { cn };
23
- //# sourceMappingURL=chunk-EWDN56AS.js.map
24
- //# sourceMappingURL=chunk-EWDN56AS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/cn.ts"],"names":[],"mappings":";;;;AAcA,IAAM,UAAU,mBAAA,CAAoB;AAAA,EAClC,MAAA,EAAQ;AAAA,IACN,WAAA,EAAa;AAAA,MACX,WAAA,EAAa;AAAA,QACX,EAAE,IAAA,EAAM,CAAC,eAAe,YAAA,EAAc,YAAA,EAAc,YAAY,CAAA,EAAE;AAAA,QAClE,EAAE,IAAA,EAAM,CAAC,UAAA,EAAY,UAAA,EAAY,UAAU,CAAA,EAAE;AAAA,QAC7C,EAAE,IAAA,EAAM,CAAC,SAAA,EAAW,SAAA,EAAW,SAAS,CAAA,EAAE;AAAA,QAC1C,EAAE,IAAA,EAAM,CAAC,OAAA,EAAS,YAAY,CAAA,EAAE;AAAA,QAChC,EAAE,IAAA,EAAM,CAAC,SAAA,EAAW,SAAS,CAAA;AAAE;AACjC;AACF;AAEJ,CAAC,CAAA;AAMM,SAAS,MAAM,MAAA,EAA8B;AAClD,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B","file":"chunk-EWDN56AS.js","sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { extendTailwindMerge } from \"tailwind-merge\";\n\n/**\n * Custom tailwind-merge instance taught about the Violet Forge typescale.\n *\n * Vanilla `tailwind-merge` groups every `text-*` class together — so\n * `text-label` (a font-size from the typescale) and `text-accent`\n * (a foreground color) clash and the last wins. With cva variants that\n * keep size + color on independent dimensions, this collapsed one of\n * them. Extending the `font-size` group with the typescale tokens\n * declared in `src/styles/tailwind-preset.ts` keeps size + color\n * independent during merge.\n */\nconst twMerge = extendTailwindMerge({\n extend: {\n classGroups: {\n \"font-size\": [\n { text: [\"display-2xl\", \"display-xl\", \"display-lg\", \"display-md\"] },\n { text: [\"headline\", \"title-lg\", \"title-md\"] },\n { text: [\"body-lg\", \"body-md\", \"body-sm\"] },\n { text: [\"label\", \"label-caps\"] },\n { text: [\"code-md\", \"code-sm\"] },\n ],\n },\n },\n});\n\n/**\n * Merge Tailwind classes with conflict resolution.\n * Standard utility across all @theokit/ui components.\n */\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n"]}
@@ -1,90 +0,0 @@
1
- import { cn } from './chunk-EWDN56AS.js';
2
- import { CircleX, Circle, CheckCircle2, Loader2, CircleDashed } from 'lucide-react';
3
- import { forwardRef } from 'react';
4
- import { jsxs, jsx } from 'react/jsx-runtime';
5
-
6
- var STATUS_ICON = {
7
- pending: CircleDashed,
8
- running: Loader2,
9
- done: CheckCircle2,
10
- skipped: Circle,
11
- failed: CircleX
12
- };
13
- var STATUS_COLOR = {
14
- pending: "text-muted-foreground",
15
- running: "text-primary",
16
- done: "text-success",
17
- skipped: "text-muted-foreground/60",
18
- failed: "text-destructive"
19
- };
20
- var LABEL_STYLE = {
21
- pending: "text-foreground",
22
- running: "text-foreground",
23
- done: "text-foreground line-through decoration-muted-foreground/40",
24
- skipped: "text-muted-foreground line-through",
25
- failed: "text-destructive"
26
- };
27
- var TaskNode = forwardRef(
28
- ({ className, node, depth = 0, ...props }, ref) => {
29
- const Icon = STATUS_ICON[node.status];
30
- return /* @__PURE__ */ jsxs(
31
- "li",
32
- {
33
- "data-slot": "task-node",
34
- ref,
35
- className: cn("grid gap-1", className),
36
- style: { marginLeft: `${depth * 1.25}rem` },
37
- ...props,
38
- children: [
39
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[auto_1fr] items-baseline gap-2", children: [
40
- /* @__PURE__ */ jsx(
41
- Icon,
42
- {
43
- "aria-hidden": "true",
44
- className: cn(
45
- "mt-0.5 size-3.5 shrink-0",
46
- STATUS_COLOR[node.status],
47
- node.status === "running" && "animate-spin"
48
- )
49
- }
50
- ),
51
- /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
52
- /* @__PURE__ */ jsx("p", { className: cn("text-body-sm", LABEL_STYLE[node.status]), children: node.label }),
53
- node.detail ? /* @__PURE__ */ jsx("p", { className: "text-body-sm text-muted-foreground", children: node.detail }) : null
54
- ] })
55
- ] }),
56
- node.children && node.children.length > 0 ? /* @__PURE__ */ jsx("ul", { className: "grid gap-1 border-border/30 border-l pl-2", children: node.children.map((child) => /* @__PURE__ */ jsx(TaskNode, { node: child, depth: depth + 1 }, child.id)) }) : null
57
- ]
58
- }
59
- );
60
- }
61
- );
62
- TaskNode.displayName = "TaskNode";
63
- var TaskPlan = forwardRef(
64
- ({ className, nodes, title = "Plan", summary, ...props }, ref) => {
65
- const auto = nodes.length;
66
- const done = nodes.filter((n) => n.status === "done").length;
67
- const computedSummary = summary ?? (auto > 0 ? `${done} of ${auto} done` : "no steps");
68
- return /* @__PURE__ */ jsxs(
69
- "section",
70
- {
71
- "data-slot": "task-plan",
72
- ref,
73
- className: cn("rounded-xl border border-border bg-card p-4", className),
74
- ...props,
75
- children: [
76
- /* @__PURE__ */ jsxs("header", { className: "mb-3 flex items-baseline justify-between gap-3", children: [
77
- title ? /* @__PURE__ */ jsx("h3", { className: "font-display text-title-md tracking-tight", children: title }) : /* @__PURE__ */ jsx("span", {}),
78
- /* @__PURE__ */ jsx("span", { className: "font-mono text-label text-muted-foreground tabular-nums", children: computedSummary })
79
- ] }),
80
- /* @__PURE__ */ jsx("ul", { className: "grid gap-1.5", children: nodes.map((node) => /* @__PURE__ */ jsx(TaskNode, { node }, node.id)) })
81
- ]
82
- }
83
- );
84
- }
85
- );
86
- TaskPlan.displayName = "TaskPlan";
87
-
88
- export { TaskNode, TaskPlan };
89
- //# sourceMappingURL=chunk-FELH4AAQ.js.map
90
- //# sourceMappingURL=chunk-FELH4AAQ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/primitives/task-plan/task-plan.tsx"],"names":[],"mappings":"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","file":"chunk-FELH4AAQ.js","sourcesContent":["import { CheckCircle2, Circle, CircleDashed, CircleX, Loader2 } from \"lucide-react\";\nimport { forwardRef } from \"react\";\nimport type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"../../../lib/cn.js\";\n\nexport type PlanNodeStatus = \"pending\" | \"running\" | \"done\" | \"skipped\" | \"failed\";\n\nexport interface PlanNode {\n id: string;\n label: string;\n status: PlanNodeStatus;\n /** Optional details / sub-explanation. */\n detail?: string;\n /** Sub-nodes (rendered indented). */\n children?: PlanNode[];\n}\n\nconst STATUS_ICON = {\n pending: CircleDashed,\n running: Loader2,\n done: CheckCircle2,\n skipped: Circle,\n failed: CircleX,\n} as const;\n\nconst STATUS_COLOR: Record<PlanNodeStatus, string> = {\n pending: \"text-muted-foreground\",\n running: \"text-primary\",\n done: \"text-success\",\n skipped: \"text-muted-foreground/60\",\n failed: \"text-destructive\",\n};\n\nconst LABEL_STYLE: Record<PlanNodeStatus, string> = {\n pending: \"text-foreground\",\n running: \"text-foreground\",\n done: \"text-foreground line-through decoration-muted-foreground/40\",\n skipped: \"text-muted-foreground line-through\",\n failed: \"text-destructive\",\n};\n\ninterface TaskNodeProps extends HTMLAttributes<HTMLLIElement> {\n node: PlanNode;\n depth?: number;\n}\n\n/**\n * TaskNode — single row in a task plan. Renders its own children recursively\n * with increasing indentation.\n */\nconst TaskNode = forwardRef<HTMLLIElement, TaskNodeProps>(\n ({ className, node, depth = 0, ...props }, ref) => {\n const Icon = STATUS_ICON[node.status];\n return (\n <li\n data-slot=\"task-node\"\n ref={ref}\n className={cn(\"grid gap-1\", className)}\n style={{ marginLeft: `${depth * 1.25}rem` }}\n {...props}\n >\n <div className=\"grid grid-cols-[auto_1fr] items-baseline gap-2\">\n <Icon\n aria-hidden=\"true\"\n className={cn(\n \"mt-0.5 size-3.5 shrink-0\",\n STATUS_COLOR[node.status],\n node.status === \"running\" && \"animate-spin\",\n )}\n />\n <div className=\"min-w-0\">\n <p className={cn(\"text-body-sm\", LABEL_STYLE[node.status])}>{node.label}</p>\n {node.detail ? (\n <p className=\"text-body-sm text-muted-foreground\">{node.detail}</p>\n ) : null}\n </div>\n </div>\n {node.children && node.children.length > 0 ? (\n <ul className=\"grid gap-1 border-border/30 border-l pl-2\">\n {node.children.map((child) => (\n <TaskNode key={child.id} node={child} depth={depth + 1} />\n ))}\n </ul>\n ) : null}\n </li>\n );\n },\n);\nTaskNode.displayName = \"TaskNode\";\n\ninterface TaskPlanProps extends Omit<HTMLAttributes<HTMLElement>, \"title\"> {\n nodes: PlanNode[];\n /** Header title. */\n title?: ReactNode;\n /** Summary line shown next to the title (e.g. \"3 of 7 done\"). */\n summary?: ReactNode;\n}\n\n/**\n * TaskPlan — hierarchical task plan, à la Claude \"plan mode\".\n *\n * The agent emits a structured plan; the user sees each step progress from\n * pending → running → done (or failed/skipped). Children render with one\n * extra indent level and a left border to suggest hierarchy.\n */\nconst TaskPlan = forwardRef<HTMLElement, TaskPlanProps>(\n ({ className, nodes, title = \"Plan\", summary, ...props }, ref) => {\n const auto = nodes.length;\n const done = nodes.filter((n) => n.status === \"done\").length;\n const computedSummary = summary ?? (auto > 0 ? `${done} of ${auto} done` : \"no steps\");\n return (\n <section\n data-slot=\"task-plan\"\n ref={ref}\n className={cn(\"rounded-xl border border-border bg-card p-4\", className)}\n {...props}\n >\n <header className=\"mb-3 flex items-baseline justify-between gap-3\">\n {title ? (\n <h3 className=\"font-display text-title-md tracking-tight\">{title}</h3>\n ) : (\n <span />\n )}\n <span className=\"font-mono text-label text-muted-foreground tabular-nums\">\n {computedSummary}\n </span>\n </header>\n <ul className=\"grid gap-1.5\">\n {nodes.map((node) => (\n <TaskNode key={node.id} node={node} />\n ))}\n </ul>\n </section>\n );\n },\n);\nTaskPlan.displayName = \"TaskPlan\";\n\nexport { TaskNode, TaskPlan };\n"]}
@@ -1,165 +0,0 @@
1
- import { cn } from './chunk-EWDN56AS.js';
2
- import { ChevronRight } from 'lucide-react';
3
- import { forwardRef, Fragment } from 'react';
4
- import { jsx, jsxs } from 'react/jsx-runtime';
5
-
6
- var Root = forwardRef(
7
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8
- "header",
9
- {
10
- "data-slot": "top-nav",
11
- ref,
12
- className: cn(
13
- "flex h-16 items-center justify-between gap-4 border-border/40 border-b bg-card px-6",
14
- className
15
- ),
16
- ...props
17
- }
18
- )
19
- );
20
- Root.displayName = "TopNav";
21
- var Left = forwardRef(
22
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
23
- "div",
24
- {
25
- "data-slot": "top-nav-left",
26
- ref,
27
- className: cn("flex flex-1 items-center gap-3", className),
28
- ...props
29
- }
30
- )
31
- );
32
- Left.displayName = "TopNav.Left";
33
- var Center = forwardRef(
34
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
35
- "div",
36
- {
37
- "data-slot": "top-nav-center",
38
- ref,
39
- className: cn("hidden flex-1 justify-center md:flex", className),
40
- ...props
41
- }
42
- )
43
- );
44
- Center.displayName = "TopNav.Center";
45
- var Right = forwardRef(
46
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
47
- "div",
48
- {
49
- "data-slot": "top-nav-right",
50
- ref,
51
- className: cn("flex flex-1 items-center justify-end gap-2", className),
52
- ...props
53
- }
54
- )
55
- );
56
- Right.displayName = "TopNav.Right";
57
- var Breadcrumbs = forwardRef(
58
- ({ className, items, ...props }, ref) => /* @__PURE__ */ jsx(
59
- "nav",
60
- {
61
- "data-slot": "top-nav-breadcrumbs",
62
- ref,
63
- "aria-label": "Breadcrumb",
64
- className: cn("flex items-center gap-1.5 text-body-sm", className),
65
- ...props,
66
- children: items.map((item, idx) => {
67
- const isLast = idx === items.length - 1;
68
- const key = typeof item.label === "string" ? item.label : idx;
69
- return /* @__PURE__ */ jsxs(Fragment, { children: [
70
- item.href && !isLast ? /* @__PURE__ */ jsx(
71
- "a",
72
- {
73
- href: item.href,
74
- className: "font-sans text-muted-foreground transition-colors hover:text-foreground",
75
- children: item.label
76
- }
77
- ) : /* @__PURE__ */ jsx(
78
- "span",
79
- {
80
- className: cn(
81
- "font-sans",
82
- isLast ? "font-medium text-foreground" : "text-muted-foreground"
83
- ),
84
- "aria-current": isLast ? "page" : void 0,
85
- children: item.label
86
- }
87
- ),
88
- !isLast ? /* @__PURE__ */ jsx(ChevronRight, { className: "size-3.5 text-muted-foreground", "aria-hidden": "true" }) : null
89
- ] }, key);
90
- })
91
- }
92
- )
93
- );
94
- Breadcrumbs.displayName = "TopNav.Breadcrumbs";
95
- var ModeSwitcher = forwardRef(
96
- ({ className, value, options, onChange, ariaLabel = "Mode", ...props }, ref) => {
97
- const handleKeyDown = (e) => {
98
- if (!onChange || options.length === 0) return;
99
- const idx = options.findIndex((o) => o.value === value);
100
- const current = idx >= 0 ? idx : 0;
101
- let nextIdx = null;
102
- if (e.key === "ArrowRight" || e.key === "ArrowDown") {
103
- nextIdx = (current + 1) % options.length;
104
- } else if (e.key === "ArrowLeft" || e.key === "ArrowUp") {
105
- nextIdx = (current - 1 + options.length) % options.length;
106
- } else if (e.key === "Home") {
107
- nextIdx = 0;
108
- } else if (e.key === "End") {
109
- nextIdx = options.length - 1;
110
- }
111
- if (nextIdx === null) return;
112
- e.preventDefault();
113
- const target = options[nextIdx];
114
- if (target) onChange(target.value);
115
- };
116
- return /* @__PURE__ */ jsx(
117
- "div",
118
- {
119
- "data-slot": "top-nav-mode-switcher",
120
- ref,
121
- role: "radiogroup",
122
- "aria-label": ariaLabel,
123
- onKeyDown: handleKeyDown,
124
- className: cn(
125
- "inline-flex items-center rounded-lg border border-border/60 bg-muted p-1",
126
- className
127
- ),
128
- ...props,
129
- children: options.map((opt) => {
130
- const isActive = opt.value === value;
131
- return /* @__PURE__ */ jsx(
132
- "button",
133
- {
134
- type: "button",
135
- role: "radio",
136
- "aria-checked": isActive,
137
- tabIndex: isActive ? 0 : -1,
138
- onClick: () => onChange?.(opt.value),
139
- className: cn(
140
- "rounded-md px-3 py-1.5 font-medium font-sans text-body-sm",
141
- "transition-all duration-base ease-out-soft",
142
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
143
- isActive ? "bg-card text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"
144
- ),
145
- children: opt.label
146
- },
147
- opt.value
148
- );
149
- })
150
- }
151
- );
152
- }
153
- );
154
- ModeSwitcher.displayName = "TopNav.ModeSwitcher";
155
- var TopNav = /* @__PURE__ */ Object.assign(Root, {
156
- Left,
157
- Center,
158
- Right,
159
- Breadcrumbs,
160
- ModeSwitcher
161
- });
162
-
163
- export { TopNav };
164
- //# sourceMappingURL=chunk-FJZKA2LV.js.map
165
- //# sourceMappingURL=chunk-FJZKA2LV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/primitives/topnav/topnav.tsx"],"names":[],"mappings":";;;;;AAoBA,IAAM,IAAA,GAAO,UAAA;AAAA,EACX,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,qBACxB,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,SAAA;AAAA,MACV,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,qFAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA;AAGV,CAAA;AACA,IAAA,CAAK,WAAA,GAAc,QAAA;AAEnB,IAAM,IAAA,GAAO,UAAA;AAAA,EACX,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,qBACxB,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,GAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,gCAAA,EAAkC,SAAS,CAAA;AAAA,MACxD,GAAG;AAAA;AAAA;AAGV,CAAA;AACA,IAAA,CAAK,WAAA,GAAc,aAAA;AAEnB,IAAM,MAAA,GAAS,UAAA;AAAA,EACb,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,qBACxB,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACV,GAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,sCAAA,EAAwC,SAAS,CAAA;AAAA,MAC9D,GAAG;AAAA;AAAA;AAGV,CAAA;AACA,MAAA,CAAO,WAAA,GAAc,eAAA;AAErB,IAAM,KAAA,GAAQ,UAAA;AAAA,EACZ,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,qBACxB,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,GAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,4CAAA,EAA8C,SAAS,CAAA;AAAA,MACpE,GAAG;AAAA;AAAA;AAGV,CAAA;AACA,KAAA,CAAM,WAAA,GAAc,cAAA;AAWpB,IAAM,WAAA,GAAc,UAAA;AAAA,EAClB,CAAC,EAAE,SAAA,EAAW,OAAO,GAAG,KAAA,IAAS,GAAA,qBAC/B,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACV,GAAA;AAAA,MACA,YAAA,EAAW,YAAA;AAAA,MACX,SAAA,EAAW,EAAA,CAAG,wCAAA,EAA0C,SAAS,CAAA;AAAA,MAChE,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,GAAA,KAAQ;AACxB,QAAA,MAAM,MAAA,GAAS,GAAA,KAAQ,KAAA,CAAM,MAAA,GAAS,CAAA;AACtC,QAAA,MAAM,MAAM,OAAO,IAAA,CAAK,KAAA,KAAU,QAAA,GAAW,KAAK,KAAA,GAAQ,GAAA;AAC1D,QAAA,4BACG,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,UAAA,IAAA,CAAK,IAAA,IAAQ,CAAC,MAAA,mBACb,GAAA;AAAA,YAAC,GAAA;AAAA,YAAA;AAAA,cACC,MAAM,IAAA,CAAK,IAAA;AAAA,cACX,SAAA,EAAU,yEAAA;AAAA,cAET,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,WACR,mBAEA,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,EAAA;AAAA,gBACT,WAAA;AAAA,gBACA,SAAS,6BAAA,GAAgC;AAAA,eAC3C;AAAA,cACA,cAAA,EAAc,SAAS,MAAA,GAAS,MAAA;AAAA,cAE/B,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,WACR;AAAA,UAED,CAAC,yBACA,GAAA,CAAC,YAAA,EAAA,EAAa,WAAU,gCAAA,EAAiC,aAAA,EAAY,QAAO,CAAA,GAC1E;AAAA,SAAA,EAAA,EArBS,GAsBf,CAAA;AAAA,MAEJ,CAAC;AAAA;AAAA;AAGP,CAAA;AACA,WAAA,CAAY,WAAA,GAAc,oBAAA;AA2B1B,IAAM,YAAA,GAAe,UAAA;AAAA,EACnB,CAAC,EAAE,SAAA,EAAW,KAAA,EAAO,OAAA,EAAS,QAAA,EAAU,SAAA,GAAY,MAAA,EAAQ,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC9E,IAAA,MAAM,aAAA,GAAgB,CAAC,CAAA,KAAqC;AAC1D,MAAA,IAAI,CAAC,QAAA,IAAY,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG;AACvC,MAAA,MAAM,MAAM,OAAA,CAAQ,SAAA,CAAU,CAAC,CAAA,KAAM,CAAA,CAAE,UAAU,KAAK,CAAA;AACtD,MAAA,MAAM,OAAA,GAAU,GAAA,IAAO,CAAA,GAAI,GAAA,GAAM,CAAA;AACjC,MAAA,IAAI,OAAA,GAAyB,IAAA;AAC7B,MAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,YAAA,IAAgB,CAAA,CAAE,QAAQ,WAAA,EAAa;AACnD,QAAA,OAAA,GAAA,CAAW,OAAA,GAAU,KAAK,OAAA,CAAQ,MAAA;AAAA,MACpC,WAAW,CAAA,CAAE,GAAA,KAAQ,WAAA,IAAe,CAAA,CAAE,QAAQ,SAAA,EAAW;AACvD,QAAA,OAAA,GAAA,CAAW,OAAA,GAAU,CAAA,GAAI,OAAA,CAAQ,MAAA,IAAU,OAAA,CAAQ,MAAA;AAAA,MACrD,CAAA,MAAA,IAAW,CAAA,CAAE,GAAA,KAAQ,MAAA,EAAQ;AAC3B,QAAA,OAAA,GAAU,CAAA;AAAA,MACZ,CAAA,MAAA,IAAW,CAAA,CAAE,GAAA,KAAQ,KAAA,EAAO;AAC1B,QAAA,OAAA,GAAU,QAAQ,MAAA,GAAS,CAAA;AAAA,MAC7B;AACA,MAAA,IAAI,YAAY,IAAA,EAAM;AACtB,MAAA,CAAA,CAAE,cAAA,EAAe;AACjB,MAAA,MAAM,MAAA,GAAS,QAAQ,OAAO,CAAA;AAC9B,MAAA,IAAI,MAAA,EAAQ,QAAA,CAAS,MAAA,CAAO,KAAK,CAAA;AAAA,IACnC,CAAA;AAEA,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,uBAAA;AAAA,QACV,GAAA;AAAA,QACA,IAAA,EAAK,YAAA;AAAA,QACL,YAAA,EAAY,SAAA;AAAA,QACZ,SAAA,EAAW,aAAA;AAAA,QACX,SAAA,EAAW,EAAA;AAAA,UACT,0EAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAC,GAAA,KAAQ;AACpB,UAAA,MAAM,QAAA,GAAW,IAAI,KAAA,KAAU,KAAA;AAC/B,UAAA,uBACE,GAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cAEC,IAAA,EAAK,QAAA;AAAA,cAEL,IAAA,EAAK,OAAA;AAAA,cACL,cAAA,EAAc,QAAA;AAAA,cACd,QAAA,EAAU,WAAW,CAAA,GAAI,EAAA;AAAA,cACzB,OAAA,EAAS,MAAM,QAAA,GAAW,GAAA,CAAI,KAAK,CAAA;AAAA,cACnC,SAAA,EAAW,EAAA;AAAA,gBACT,2DAAA;AAAA,gBACA,4CAAA;AAAA,gBACA,yEAAA;AAAA,gBACA,WACI,mCAAA,GACA;AAAA,eACN;AAAA,cAEC,QAAA,EAAA,GAAA,CAAI;AAAA,aAAA;AAAA,YAhBA,GAAA,CAAI;AAAA,WAiBX;AAAA,QAEJ,CAAC;AAAA;AAAA,KACH;AAAA,EAEJ;AACF,CAAA;AACA,YAAA,CAAa,WAAA,GAAc,qBAAA;AAE3B,IAAM,MAAA,mBAAuB,MAAA,CAAO,MAAA,CAAO,IAAA,EAAM;AAAA,EAC/C,IAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAC","file":"chunk-FJZKA2LV.js","sourcesContent":["import { ChevronRight } from \"lucide-react\";\nimport { Fragment, forwardRef } from \"react\";\nimport type { HTMLAttributes, KeyboardEvent, ReactNode } from \"react\";\nimport { cn } from \"../../../lib/cn.js\";\n\n/**\n * TopNav — horizontal app bar (64px).\n *\n * Composition:\n * <TopNav>\n * <TopNav.Left>\n * <TopNav.Breadcrumbs items={[{label: \"acme\"}, {label: \"api\"}]} />\n * </TopNav.Left>\n * <TopNav.Center>…segmented switcher…</TopNav.Center>\n * <TopNav.Right>…actions…</TopNav.Right>\n * </TopNav>\n *\n * Variant — hairline bottom border. No glass/blur (anti-glass guideline).\n */\n\nconst Root = forwardRef<HTMLElement, HTMLAttributes<HTMLElement>>(\n ({ className, ...props }, ref) => (\n <header\n data-slot=\"top-nav\"\n ref={ref}\n className={cn(\n \"flex h-16 items-center justify-between gap-4 border-border/40 border-b bg-card px-6\",\n className,\n )}\n {...props}\n />\n ),\n);\nRoot.displayName = \"TopNav\";\n\nconst Left = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n data-slot=\"top-nav-left\"\n ref={ref}\n className={cn(\"flex flex-1 items-center gap-3\", className)}\n {...props}\n />\n ),\n);\nLeft.displayName = \"TopNav.Left\";\n\nconst Center = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n data-slot=\"top-nav-center\"\n ref={ref}\n className={cn(\"hidden flex-1 justify-center md:flex\", className)}\n {...props}\n />\n ),\n);\nCenter.displayName = \"TopNav.Center\";\n\nconst Right = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n data-slot=\"top-nav-right\"\n ref={ref}\n className={cn(\"flex flex-1 items-center justify-end gap-2\", className)}\n {...props}\n />\n ),\n);\nRight.displayName = \"TopNav.Right\";\n\ninterface BreadcrumbItem {\n label: ReactNode;\n href?: string;\n}\n\ninterface BreadcrumbsProps extends HTMLAttributes<HTMLElement> {\n items: BreadcrumbItem[];\n}\n\nconst Breadcrumbs = forwardRef<HTMLElement, BreadcrumbsProps>(\n ({ className, items, ...props }, ref) => (\n <nav\n data-slot=\"top-nav-breadcrumbs\"\n ref={ref}\n aria-label=\"Breadcrumb\"\n className={cn(\"flex items-center gap-1.5 text-body-sm\", className)}\n {...props}\n >\n {items.map((item, idx) => {\n const isLast = idx === items.length - 1;\n const key = typeof item.label === \"string\" ? item.label : idx;\n return (\n <Fragment key={key}>\n {item.href && !isLast ? (\n <a\n href={item.href}\n className=\"font-sans text-muted-foreground transition-colors hover:text-foreground\"\n >\n {item.label}\n </a>\n ) : (\n <span\n className={cn(\n \"font-sans\",\n isLast ? \"font-medium text-foreground\" : \"text-muted-foreground\",\n )}\n aria-current={isLast ? \"page\" : undefined}\n >\n {item.label}\n </span>\n )}\n {!isLast ? (\n <ChevronRight className=\"size-3.5 text-muted-foreground\" aria-hidden=\"true\" />\n ) : null}\n </Fragment>\n );\n })}\n </nav>\n ),\n);\nBreadcrumbs.displayName = \"TopNav.Breadcrumbs\";\n\ninterface ModeSwitcherOption {\n value: string;\n label: ReactNode;\n}\n\ninterface ModeSwitcherProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n value: string;\n options: ModeSwitcherOption[];\n onChange?: (value: string) => void;\n /**\n * Accessible label for the radiogroup. Defaults to \"Mode\".\n */\n ariaLabel?: string;\n}\n\n/**\n * TopNav.ModeSwitcher — segmented control (Chat / Code / Infra).\n *\n * ARIA semantics: `role=\"radiogroup\"` + `role=\"radio\"` per option, with roving\n * tabindex and full keyboard navigation (Arrow keys + Home/End). Per WAI-ARIA\n * radiogroup pattern, exactly one option has `tabIndex=0` (the active one) and\n * the rest have `tabIndex=-1`, so Tab moves in and Tab moves out.\n *\n * Stateless: pass `value` + `onChange`.\n */\nconst ModeSwitcher = forwardRef<HTMLDivElement, ModeSwitcherProps>(\n ({ className, value, options, onChange, ariaLabel = \"Mode\", ...props }, ref) => {\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (!onChange || options.length === 0) return;\n const idx = options.findIndex((o) => o.value === value);\n const current = idx >= 0 ? idx : 0;\n let nextIdx: number | null = null;\n if (e.key === \"ArrowRight\" || e.key === \"ArrowDown\") {\n nextIdx = (current + 1) % options.length;\n } else if (e.key === \"ArrowLeft\" || e.key === \"ArrowUp\") {\n nextIdx = (current - 1 + options.length) % options.length;\n } else if (e.key === \"Home\") {\n nextIdx = 0;\n } else if (e.key === \"End\") {\n nextIdx = options.length - 1;\n }\n if (nextIdx === null) return;\n e.preventDefault();\n const target = options[nextIdx];\n if (target) onChange(target.value);\n };\n\n return (\n <div\n data-slot=\"top-nav-mode-switcher\"\n ref={ref}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n className={cn(\n \"inline-flex items-center rounded-lg border border-border/60 bg-muted p-1\",\n className,\n )}\n {...props}\n >\n {options.map((opt) => {\n const isActive = opt.value === value;\n return (\n <button\n key={opt.value}\n type=\"button\"\n // biome-ignore lint/a11y/useSemanticElements: WAI-ARIA radiogroup pattern requires role=\"radio\" on buttons for segmented controls\n role=\"radio\"\n aria-checked={isActive}\n tabIndex={isActive ? 0 : -1}\n onClick={() => onChange?.(opt.value)}\n className={cn(\n \"rounded-md px-3 py-1.5 font-medium font-sans text-body-sm\",\n \"transition-all duration-base ease-out-soft\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n isActive\n ? \"bg-card text-foreground shadow-sm\"\n : \"text-muted-foreground hover:text-foreground\",\n )}\n >\n {opt.label}\n </button>\n );\n })}\n </div>\n );\n },\n);\nModeSwitcher.displayName = \"TopNav.ModeSwitcher\";\n\nconst TopNav = /*#__PURE__*/ Object.assign(Root, {\n Left,\n Center,\n Right,\n Breadcrumbs,\n ModeSwitcher,\n});\n\nexport { TopNav };\n"]}
@@ -1,102 +0,0 @@
1
- "use client";
2
- import { Textarea } from './chunk-ESJUISWY.js';
3
- import { Input } from './chunk-BYUWQ6OP.js';
4
- import { Label } from './chunk-TY6NTWN5.js';
5
- import { BadgeWithDot } from './chunk-624AATQZ.js';
6
- import { Button } from './chunk-25KBUQEQ.js';
7
- import { cn } from './chunk-EWDN56AS.js';
8
- import { forwardRef, useId, useState } from 'react';
9
- import { jsxs, jsx } from 'react/jsx-runtime';
10
-
11
- var TextPrompt = forwardRef(
12
- ({
13
- className,
14
- question,
15
- description,
16
- badge,
17
- value,
18
- defaultValue,
19
- onValueChange,
20
- placeholder,
21
- multiline = false,
22
- rows = 3,
23
- required = false,
24
- confirmLabel = "Confirm",
25
- cancelLabel = "Cancel",
26
- onConfirm,
27
- onCancel,
28
- ...props
29
- }, ref) => {
30
- const baseId = useId();
31
- const questionId = `${baseId}-question`;
32
- const fieldId = `${baseId}-field`;
33
- const [internalValue, setInternalValue] = useState(defaultValue ?? "");
34
- const text = value !== void 0 ? value : internalValue;
35
- const setText = (next) => {
36
- if (value === void 0) setInternalValue(next);
37
- onValueChange?.(next);
38
- };
39
- const confirmDisabled = required && text.trim().length === 0;
40
- const confirm = () => {
41
- if (confirmDisabled) return;
42
- onConfirm?.({ text });
43
- };
44
- return /* @__PURE__ */ jsxs(
45
- "section",
46
- {
47
- "data-slot": "text-prompt",
48
- ref,
49
- "aria-labelledby": questionId,
50
- className: cn(
51
- "grid w-full gap-4 rounded-xl border border-border bg-card p-5 text-card-foreground shadow-md",
52
- "transition-shadow duration-base ease-out-soft",
53
- className
54
- ),
55
- ...props,
56
- children: [
57
- /* @__PURE__ */ jsxs("header", { className: "flex items-start justify-between gap-3", children: [
58
- /* @__PURE__ */ jsx(
59
- Label,
60
- {
61
- htmlFor: fieldId,
62
- id: questionId,
63
- required,
64
- className: "font-display text-foreground text-title-md tracking-tight",
65
- children: question
66
- }
67
- ),
68
- badge != null ? /* @__PURE__ */ jsx(BadgeWithDot, { variant: "primary", size: "sm", className: "shrink-0", children: badge }) : null
69
- ] }),
70
- description != null ? /* @__PURE__ */ jsx("p", { className: "text-body-sm text-muted-foreground", children: description }) : null,
71
- multiline ? /* @__PURE__ */ jsx(
72
- Textarea,
73
- {
74
- id: fieldId,
75
- rows,
76
- placeholder,
77
- value: text,
78
- onChange: (event) => setText(event.target.value)
79
- }
80
- ) : /* @__PURE__ */ jsx(
81
- Input,
82
- {
83
- id: fieldId,
84
- placeholder,
85
- value: text,
86
- onChange: (event) => setText(event.target.value)
87
- }
88
- ),
89
- onConfirm || onCancel ? /* @__PURE__ */ jsxs("footer", { className: "flex items-center justify-end gap-2", children: [
90
- onCancel ? /* @__PURE__ */ jsx(Button, { size: "sm", variant: "secondary", onClick: onCancel, children: cancelLabel }) : null,
91
- onConfirm ? /* @__PURE__ */ jsx(Button, { size: "sm", variant: "primary", disabled: confirmDisabled, onClick: confirm, children: confirmLabel }) : null
92
- ] }) : null
93
- ]
94
- }
95
- );
96
- }
97
- );
98
- TextPrompt.displayName = "TextPrompt";
99
-
100
- export { TextPrompt };
101
- //# sourceMappingURL=chunk-FM72LBCJ.js.map
102
- //# sourceMappingURL=chunk-FM72LBCJ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/composites/text-prompt/text-prompt.tsx"],"names":[],"mappings":"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","file":"chunk-FM72LBCJ.js","sourcesContent":["\"use client\";\n\nimport { forwardRef, useId, useState } from \"react\";\nimport type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"../../../lib/cn.js\";\nimport { Badge } from \"../../primitives/badge/index.js\";\nimport { Button } from \"../../primitives/button/index.js\";\nimport { Input } from \"../../primitives/input/index.js\";\nimport { Label } from \"../../primitives/label/index.js\";\nimport { Textarea } from \"../../primitives/textarea/index.js\";\n\n/**\n * TextPrompt — free-text \"ask the user\" card for agent surfaces.\n *\n * The open-ended sibling of `ChoicePrompt`: a question with an optional header\n * chip and a single-line (`Input`) or multi-line (`Textarea`) field. Equivalent\n * to the \"Other\" affordance promoted to a question of its own.\n *\n * Renders one question at a time — sequencing is the consumer's responsibility.\n * Controlled (`value` + `onValueChange`) or uncontrolled (`defaultValue`).\n */\n\n/** Payload handed to `onConfirm`. */\nexport interface TextPromptResult {\n /** The typed text. */\n text: string;\n}\n\nexport interface TextPromptProps extends Omit<HTMLAttributes<HTMLElement>, \"onSelect\"> {\n /** The question being asked. */\n question: ReactNode;\n /** Optional secondary line under the question. */\n description?: ReactNode;\n /** Optional short header chip (rendered as a Badge). */\n badge?: ReactNode;\n /** Controlled text value. */\n value?: string;\n /** Initial text when uncontrolled. */\n defaultValue?: string;\n /** Fired with the text on every keystroke. */\n onValueChange?: (text: string) => void;\n /** Field placeholder. */\n placeholder?: string;\n /** Render a multi-line Textarea instead of a single-line Input. */\n multiline?: boolean;\n /** Rows for the Textarea when `multiline`. Default 3. */\n rows?: number;\n /** Require non-empty text before Confirm enables. */\n required?: boolean;\n /** Confirm button label. Defaults to \"Confirm\". Omit `onConfirm` to hide it. */\n confirmLabel?: ReactNode;\n /** Cancel button label. Defaults to \"Cancel\". Omit `onCancel` to hide it. */\n cancelLabel?: ReactNode;\n /** Pressing Confirm. Receives the typed text. */\n onConfirm?: (result: TextPromptResult) => void;\n /** Pressing Cancel. */\n onCancel?: () => void;\n}\n\nconst TextPrompt = forwardRef<HTMLElement, TextPromptProps>(\n (\n {\n className,\n question,\n description,\n badge,\n value,\n defaultValue,\n onValueChange,\n placeholder,\n multiline = false,\n rows = 3,\n required = false,\n confirmLabel = \"Confirm\",\n cancelLabel = \"Cancel\",\n onConfirm,\n onCancel,\n ...props\n },\n ref,\n ) => {\n const baseId = useId();\n const questionId = `${baseId}-question`;\n const fieldId = `${baseId}-field`;\n\n const [internalValue, setInternalValue] = useState(defaultValue ?? \"\");\n const text = value !== undefined ? value : internalValue;\n\n const setText = (next: string): void => {\n if (value === undefined) setInternalValue(next);\n onValueChange?.(next);\n };\n\n const confirmDisabled = required && text.trim().length === 0;\n\n const confirm = (): void => {\n if (confirmDisabled) return;\n onConfirm?.({ text });\n };\n\n return (\n <section\n data-slot=\"text-prompt\"\n ref={ref}\n aria-labelledby={questionId}\n className={cn(\n \"grid w-full gap-4 rounded-xl border border-border bg-card p-5 text-card-foreground shadow-md\",\n \"transition-shadow duration-base ease-out-soft\",\n className,\n )}\n {...props}\n >\n <header className=\"flex items-start justify-between gap-3\">\n <Label\n htmlFor={fieldId}\n id={questionId}\n required={required}\n className=\"font-display text-foreground text-title-md tracking-tight\"\n >\n {question}\n </Label>\n {badge != null ? (\n <Badge variant=\"primary\" size=\"sm\" className=\"shrink-0\">\n {badge}\n </Badge>\n ) : null}\n </header>\n {description != null ? (\n <p className=\"text-body-sm text-muted-foreground\">{description}</p>\n ) : null}\n\n {multiline ? (\n <Textarea\n id={fieldId}\n rows={rows}\n placeholder={placeholder}\n value={text}\n onChange={(event) => setText(event.target.value)}\n />\n ) : (\n <Input\n id={fieldId}\n placeholder={placeholder}\n value={text}\n onChange={(event) => setText(event.target.value)}\n />\n )}\n\n {onConfirm || onCancel ? (\n <footer className=\"flex items-center justify-end gap-2\">\n {onCancel ? (\n <Button size=\"sm\" variant=\"secondary\" onClick={onCancel}>\n {cancelLabel}\n </Button>\n ) : null}\n {onConfirm ? (\n <Button size=\"sm\" variant=\"primary\" disabled={confirmDisabled} onClick={confirm}>\n {confirmLabel}\n </Button>\n ) : null}\n </footer>\n ) : null}\n </section>\n );\n },\n);\nTextPrompt.displayName = \"TextPrompt\";\n\nexport { TextPrompt };\n"]}