@usetheo/ui 0.13.2 → 0.15.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 (1025) 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/composites/metric-card/metric-card.d.ts +1 -1
  4. package/dist/components/primitives/alert/alert.d.ts +1 -1
  5. package/dist/components/primitives/badge/badge.d.ts +1 -1
  6. package/dist/components/primitives/button/button.d.ts +1 -1
  7. package/dist/components/primitives/danger-zone/danger-zone.d.ts +1 -1
  8. package/dist/components/primitives/dialog/dialog.d.ts +3 -3
  9. package/dist/components/primitives/dropdown-menu/dropdown-menu.d.ts +1 -1
  10. package/dist/components/primitives/empty-state/empty-state.d.ts +1 -1
  11. package/dist/components/primitives/plan-badge/plan-badge.d.ts +1 -1
  12. package/dist/components/primitives/sheet/sheet.d.ts +3 -3
  13. package/dist/components/primitives/stat-tile/stat-tile.d.ts +1 -1
  14. package/dist/components/primitives/toast/toast.d.ts +1 -1
  15. package/dist/components/primitives/update-banner/update-banner.d.ts +1 -1
  16. package/dist/index.d.ts +0 -89
  17. package/dist/index.js +4657 -1545
  18. package/dist/lib/cn.d.ts +1 -1
  19. package/dist/{preset-v3-legacy.js → tailwind-preset.js} +1 -16
  20. package/package.json +29 -788
  21. package/CHANGELOG.md +0 -1797
  22. package/DESIGN.md +0 -456
  23. package/NOTICE +0 -38
  24. package/dist/chunk-23YEYNDS.js +0 -89
  25. package/dist/chunk-23YEYNDS.js.map +0 -1
  26. package/dist/chunk-25KBUQEQ.js +0 -95
  27. package/dist/chunk-25KBUQEQ.js.map +0 -1
  28. package/dist/chunk-2NTEJRPA.js +0 -212
  29. package/dist/chunk-2NTEJRPA.js.map +0 -1
  30. package/dist/chunk-2NZYMQKT.js +0 -56
  31. package/dist/chunk-2NZYMQKT.js.map +0 -1
  32. package/dist/chunk-2OVFVPSZ.js +0 -26
  33. package/dist/chunk-2OVFVPSZ.js.map +0 -1
  34. package/dist/chunk-2UP7SECE.js +0 -78
  35. package/dist/chunk-2UP7SECE.js.map +0 -1
  36. package/dist/chunk-33ETHPT7.js +0 -112
  37. package/dist/chunk-33ETHPT7.js.map +0 -1
  38. package/dist/chunk-33IIDFSM.js +0 -43
  39. package/dist/chunk-33IIDFSM.js.map +0 -1
  40. package/dist/chunk-345HYADQ.js +0 -88
  41. package/dist/chunk-345HYADQ.js.map +0 -1
  42. package/dist/chunk-357XIC2N.js +0 -98
  43. package/dist/chunk-357XIC2N.js.map +0 -1
  44. package/dist/chunk-3YOPTHZH.js +0 -31
  45. package/dist/chunk-3YOPTHZH.js.map +0 -1
  46. package/dist/chunk-44ZNZZUS.js +0 -111
  47. package/dist/chunk-44ZNZZUS.js.map +0 -1
  48. package/dist/chunk-45FWKR23.js +0 -62
  49. package/dist/chunk-45FWKR23.js.map +0 -1
  50. package/dist/chunk-47IPOYLQ.js +0 -116
  51. package/dist/chunk-47IPOYLQ.js.map +0 -1
  52. package/dist/chunk-4EH6F54D.js +0 -69
  53. package/dist/chunk-4EH6F54D.js.map +0 -1
  54. package/dist/chunk-4EKF4EIE.js +0 -140
  55. package/dist/chunk-4EKF4EIE.js.map +0 -1
  56. package/dist/chunk-4XYFJIRC.js +0 -65
  57. package/dist/chunk-4XYFJIRC.js.map +0 -1
  58. package/dist/chunk-52J7SDYH.js +0 -48
  59. package/dist/chunk-52J7SDYH.js.map +0 -1
  60. package/dist/chunk-5YX76GH6.js +0 -70
  61. package/dist/chunk-5YX76GH6.js.map +0 -1
  62. package/dist/chunk-624AATQZ.js +0 -77
  63. package/dist/chunk-624AATQZ.js.map +0 -1
  64. package/dist/chunk-65YSFZAN.js +0 -192
  65. package/dist/chunk-65YSFZAN.js.map +0 -1
  66. package/dist/chunk-6IODJQWC.js +0 -47
  67. package/dist/chunk-6IODJQWC.js.map +0 -1
  68. package/dist/chunk-6ORS6XOE.js +0 -57
  69. package/dist/chunk-6ORS6XOE.js.map +0 -1
  70. package/dist/chunk-6V2LQEPT.js +0 -165
  71. package/dist/chunk-6V2LQEPT.js.map +0 -1
  72. package/dist/chunk-75IDWFYX.js +0 -134
  73. package/dist/chunk-75IDWFYX.js.map +0 -1
  74. package/dist/chunk-7BQXMG2A.js +0 -93
  75. package/dist/chunk-7BQXMG2A.js.map +0 -1
  76. package/dist/chunk-7RFWVNQA.js +0 -47
  77. package/dist/chunk-7RFWVNQA.js.map +0 -1
  78. package/dist/chunk-ABBXLAJW.js +0 -74
  79. package/dist/chunk-ABBXLAJW.js.map +0 -1
  80. package/dist/chunk-ACZNFEOZ.js +0 -180
  81. package/dist/chunk-ACZNFEOZ.js.map +0 -1
  82. package/dist/chunk-AJ2LNQUQ.js +0 -108
  83. package/dist/chunk-AJ2LNQUQ.js.map +0 -1
  84. package/dist/chunk-AX6P3SDS.js +0 -89
  85. package/dist/chunk-AX6P3SDS.js.map +0 -1
  86. package/dist/chunk-AXUAQM45.js +0 -154
  87. package/dist/chunk-AXUAQM45.js.map +0 -1
  88. package/dist/chunk-B2FL7KBJ.js +0 -65
  89. package/dist/chunk-B2FL7KBJ.js.map +0 -1
  90. package/dist/chunk-B42EOFRD.js +0 -106
  91. package/dist/chunk-B42EOFRD.js.map +0 -1
  92. package/dist/chunk-BE232OKN.js +0 -42
  93. package/dist/chunk-BE232OKN.js.map +0 -1
  94. package/dist/chunk-BSF4Y4UT.js +0 -77
  95. package/dist/chunk-BSF4Y4UT.js.map +0 -1
  96. package/dist/chunk-BYUWQ6OP.js +0 -45
  97. package/dist/chunk-BYUWQ6OP.js.map +0 -1
  98. package/dist/chunk-C5ULP2P5.js +0 -140
  99. package/dist/chunk-C5ULP2P5.js.map +0 -1
  100. package/dist/chunk-CCG7PXLX.js +0 -24
  101. package/dist/chunk-CCG7PXLX.js.map +0 -1
  102. package/dist/chunk-CFVSXYVT.js +0 -59
  103. package/dist/chunk-CFVSXYVT.js.map +0 -1
  104. package/dist/chunk-CGWIOIEO.js +0 -27
  105. package/dist/chunk-CGWIOIEO.js.map +0 -1
  106. package/dist/chunk-CVFSNA4K.js +0 -716
  107. package/dist/chunk-CVFSNA4K.js.map +0 -1
  108. package/dist/chunk-CX54TUTT.js +0 -144
  109. package/dist/chunk-CX54TUTT.js.map +0 -1
  110. package/dist/chunk-DJK6H3FD.js +0 -200
  111. package/dist/chunk-DJK6H3FD.js.map +0 -1
  112. package/dist/chunk-E26M7ATD.js +0 -61
  113. package/dist/chunk-E26M7ATD.js.map +0 -1
  114. package/dist/chunk-E63IRXZZ.js +0 -78
  115. package/dist/chunk-E63IRXZZ.js.map +0 -1
  116. package/dist/chunk-EOTSD2GL.js +0 -83
  117. package/dist/chunk-EOTSD2GL.js.map +0 -1
  118. package/dist/chunk-ESJUISWY.js +0 -45
  119. package/dist/chunk-ESJUISWY.js.map +0 -1
  120. package/dist/chunk-ET7A3TQZ.js +0 -158
  121. package/dist/chunk-ET7A3TQZ.js.map +0 -1
  122. package/dist/chunk-ETTL6XGU.js +0 -139
  123. package/dist/chunk-ETTL6XGU.js.map +0 -1
  124. package/dist/chunk-EWDN56AS.js +0 -24
  125. package/dist/chunk-EWDN56AS.js.map +0 -1
  126. package/dist/chunk-FELH4AAQ.js +0 -90
  127. package/dist/chunk-FELH4AAQ.js.map +0 -1
  128. package/dist/chunk-FJZKA2LV.js +0 -165
  129. package/dist/chunk-FJZKA2LV.js.map +0 -1
  130. package/dist/chunk-FM72LBCJ.js +0 -102
  131. package/dist/chunk-FM72LBCJ.js.map +0 -1
  132. package/dist/chunk-FNQASFTK.js +0 -53
  133. package/dist/chunk-FNQASFTK.js.map +0 -1
  134. package/dist/chunk-FOE3XXBJ.js +0 -965
  135. package/dist/chunk-FOE3XXBJ.js.map +0 -1
  136. package/dist/chunk-GC52HWIL.js +0 -41
  137. package/dist/chunk-GC52HWIL.js.map +0 -1
  138. package/dist/chunk-GCKFA7X7.js +0 -83
  139. package/dist/chunk-GCKFA7X7.js.map +0 -1
  140. package/dist/chunk-GDMCDW66.js +0 -19
  141. package/dist/chunk-GDMCDW66.js.map +0 -1
  142. package/dist/chunk-GLRUM43F.js +0 -121
  143. package/dist/chunk-GLRUM43F.js.map +0 -1
  144. package/dist/chunk-H3L7WZDZ.js +0 -74
  145. package/dist/chunk-H3L7WZDZ.js.map +0 -1
  146. package/dist/chunk-H55WXDME.js +0 -45
  147. package/dist/chunk-H55WXDME.js.map +0 -1
  148. package/dist/chunk-HB45JHMM.js +0 -43
  149. package/dist/chunk-HB45JHMM.js.map +0 -1
  150. package/dist/chunk-HETHTYEZ.js +0 -80
  151. package/dist/chunk-HETHTYEZ.js.map +0 -1
  152. package/dist/chunk-HHSKNB32.js +0 -55
  153. package/dist/chunk-HHSKNB32.js.map +0 -1
  154. package/dist/chunk-HILOUYES.js +0 -151
  155. package/dist/chunk-HILOUYES.js.map +0 -1
  156. package/dist/chunk-HKVOCYTN.js +0 -113
  157. package/dist/chunk-HKVOCYTN.js.map +0 -1
  158. package/dist/chunk-HNRFBJ25.js +0 -129
  159. package/dist/chunk-HNRFBJ25.js.map +0 -1
  160. package/dist/chunk-HTJVHFNW.js +0 -178
  161. package/dist/chunk-HTJVHFNW.js.map +0 -1
  162. package/dist/chunk-HZ7Z22VW.js +0 -130
  163. package/dist/chunk-HZ7Z22VW.js.map +0 -1
  164. package/dist/chunk-II5Q5RIO.js +0 -236
  165. package/dist/chunk-II5Q5RIO.js.map +0 -1
  166. package/dist/chunk-ITEIRMSH.js +0 -121
  167. package/dist/chunk-ITEIRMSH.js.map +0 -1
  168. package/dist/chunk-JIZKW3WC.js +0 -74
  169. package/dist/chunk-JIZKW3WC.js.map +0 -1
  170. package/dist/chunk-JP3SHERK.js +0 -154
  171. package/dist/chunk-JP3SHERK.js.map +0 -1
  172. package/dist/chunk-JR4H3FJ2.js +0 -74
  173. package/dist/chunk-JR4H3FJ2.js.map +0 -1
  174. package/dist/chunk-JRW53TVG.js +0 -53
  175. package/dist/chunk-JRW53TVG.js.map +0 -1
  176. package/dist/chunk-JS5T2CRO.js +0 -86
  177. package/dist/chunk-JS5T2CRO.js.map +0 -1
  178. package/dist/chunk-JXOCE27Z.js +0 -82
  179. package/dist/chunk-JXOCE27Z.js.map +0 -1
  180. package/dist/chunk-JYW5YNF7.js +0 -188
  181. package/dist/chunk-JYW5YNF7.js.map +0 -1
  182. package/dist/chunk-KHBXI6AV.js +0 -149
  183. package/dist/chunk-KHBXI6AV.js.map +0 -1
  184. package/dist/chunk-KXZH7BTX.js +0 -92
  185. package/dist/chunk-KXZH7BTX.js.map +0 -1
  186. package/dist/chunk-LB4PMLCX.js +0 -57
  187. package/dist/chunk-LB4PMLCX.js.map +0 -1
  188. package/dist/chunk-LMGE2QEO.js +0 -117
  189. package/dist/chunk-LMGE2QEO.js.map +0 -1
  190. package/dist/chunk-M74ZYBOK.js +0 -93
  191. package/dist/chunk-M74ZYBOK.js.map +0 -1
  192. package/dist/chunk-ML7WLNIK.js +0 -11
  193. package/dist/chunk-ML7WLNIK.js.map +0 -1
  194. package/dist/chunk-MLEPCMTF.js +0 -147
  195. package/dist/chunk-MLEPCMTF.js.map +0 -1
  196. package/dist/chunk-NSZEZTDO.js +0 -98
  197. package/dist/chunk-NSZEZTDO.js.map +0 -1
  198. package/dist/chunk-OMR6ZGME.js +0 -63
  199. package/dist/chunk-OMR6ZGME.js.map +0 -1
  200. package/dist/chunk-ORVYP73T.js +0 -223
  201. package/dist/chunk-ORVYP73T.js.map +0 -1
  202. package/dist/chunk-OZFUUO2Q.js +0 -50
  203. package/dist/chunk-OZFUUO2Q.js.map +0 -1
  204. package/dist/chunk-PJWYIOY4.js +0 -3
  205. package/dist/chunk-PJWYIOY4.js.map +0 -1
  206. package/dist/chunk-PXT47DRZ.js +0 -59
  207. package/dist/chunk-PXT47DRZ.js.map +0 -1
  208. package/dist/chunk-QBSJM4XI.js +0 -83
  209. package/dist/chunk-QBSJM4XI.js.map +0 -1
  210. package/dist/chunk-QBUTRD2M.js +0 -58
  211. package/dist/chunk-QBUTRD2M.js.map +0 -1
  212. package/dist/chunk-QCSMJTA6.js +0 -68
  213. package/dist/chunk-QCSMJTA6.js.map +0 -1
  214. package/dist/chunk-QNYOIVQ4.js +0 -36
  215. package/dist/chunk-QNYOIVQ4.js.map +0 -1
  216. package/dist/chunk-QPURZJJM.js +0 -88
  217. package/dist/chunk-QPURZJJM.js.map +0 -1
  218. package/dist/chunk-QTG266XU.js +0 -69
  219. package/dist/chunk-QTG266XU.js.map +0 -1
  220. package/dist/chunk-QV4BQRNH.js +0 -29
  221. package/dist/chunk-QV4BQRNH.js.map +0 -1
  222. package/dist/chunk-RJ6RAMKH.js +0 -89
  223. package/dist/chunk-RJ6RAMKH.js.map +0 -1
  224. package/dist/chunk-RJBCTMVW.js +0 -59
  225. package/dist/chunk-RJBCTMVW.js.map +0 -1
  226. package/dist/chunk-RMJYXHBX.js +0 -113
  227. package/dist/chunk-RMJYXHBX.js.map +0 -1
  228. package/dist/chunk-RQT5DWGG.js +0 -34
  229. package/dist/chunk-RQT5DWGG.js.map +0 -1
  230. package/dist/chunk-SPGNNN4R.js +0 -115
  231. package/dist/chunk-SPGNNN4R.js.map +0 -1
  232. package/dist/chunk-SQ66DCXY.js +0 -35
  233. package/dist/chunk-SQ66DCXY.js.map +0 -1
  234. package/dist/chunk-SXKGWHAM.js +0 -179
  235. package/dist/chunk-SXKGWHAM.js.map +0 -1
  236. package/dist/chunk-T2OKGV6M.js +0 -13
  237. package/dist/chunk-T2OKGV6M.js.map +0 -1
  238. package/dist/chunk-T4Z7HBZR.js +0 -110
  239. package/dist/chunk-T4Z7HBZR.js.map +0 -1
  240. package/dist/chunk-TW5I37AE.js +0 -142
  241. package/dist/chunk-TW5I37AE.js.map +0 -1
  242. package/dist/chunk-TY6NTWN5.js +0 -29
  243. package/dist/chunk-TY6NTWN5.js.map +0 -1
  244. package/dist/chunk-UGKI466V.js +0 -12
  245. package/dist/chunk-UGKI466V.js.map +0 -1
  246. package/dist/chunk-UJAWV6LM.js +0 -136
  247. package/dist/chunk-UJAWV6LM.js.map +0 -1
  248. package/dist/chunk-V2WCZBVE.js +0 -122
  249. package/dist/chunk-V2WCZBVE.js.map +0 -1
  250. package/dist/chunk-V4LRBYOD.js +0 -55
  251. package/dist/chunk-V4LRBYOD.js.map +0 -1
  252. package/dist/chunk-V6H2RUVP.js +0 -77
  253. package/dist/chunk-V6H2RUVP.js.map +0 -1
  254. package/dist/chunk-VFRFUU7A.js +0 -35
  255. package/dist/chunk-VFRFUU7A.js.map +0 -1
  256. package/dist/chunk-VHK2OUCW.js +0 -38
  257. package/dist/chunk-VHK2OUCW.js.map +0 -1
  258. package/dist/chunk-VLNFUEOR.js +0 -86
  259. package/dist/chunk-VLNFUEOR.js.map +0 -1
  260. package/dist/chunk-VM4RMQQN.js +0 -11
  261. package/dist/chunk-VM4RMQQN.js.map +0 -1
  262. package/dist/chunk-VU7XKD4G.js +0 -66
  263. package/dist/chunk-VU7XKD4G.js.map +0 -1
  264. package/dist/chunk-VZX4HLBM.js +0 -84
  265. package/dist/chunk-VZX4HLBM.js.map +0 -1
  266. package/dist/chunk-W24RR5OD.js +0 -102
  267. package/dist/chunk-W24RR5OD.js.map +0 -1
  268. package/dist/chunk-W47V2F3Q.js +0 -115
  269. package/dist/chunk-W47V2F3Q.js.map +0 -1
  270. package/dist/chunk-W743ORLA.js +0 -91
  271. package/dist/chunk-W743ORLA.js.map +0 -1
  272. package/dist/chunk-W7I3ZX66.js +0 -76
  273. package/dist/chunk-W7I3ZX66.js.map +0 -1
  274. package/dist/chunk-WD42UBGR.js +0 -64
  275. package/dist/chunk-WD42UBGR.js.map +0 -1
  276. package/dist/chunk-WQVEJJV7.js +0 -108
  277. package/dist/chunk-WQVEJJV7.js.map +0 -1
  278. package/dist/chunk-WX4Q4DTX.js +0 -121
  279. package/dist/chunk-WX4Q4DTX.js.map +0 -1
  280. package/dist/chunk-XC7SYZYR.js +0 -86
  281. package/dist/chunk-XC7SYZYR.js.map +0 -1
  282. package/dist/chunk-XSENM65D.js +0 -128
  283. package/dist/chunk-XSENM65D.js.map +0 -1
  284. package/dist/chunk-Y7JTBQUQ.js +0 -152
  285. package/dist/chunk-Y7JTBQUQ.js.map +0 -1
  286. package/dist/chunk-YD2QEVHO.js +0 -68
  287. package/dist/chunk-YD2QEVHO.js.map +0 -1
  288. package/dist/chunk-YDKRUSB5.js +0 -35
  289. package/dist/chunk-YDKRUSB5.js.map +0 -1
  290. package/dist/chunk-YNDHYMPI.js +0 -46
  291. package/dist/chunk-YNDHYMPI.js.map +0 -1
  292. package/dist/chunk-YO3WEMOH.js +0 -130
  293. package/dist/chunk-YO3WEMOH.js.map +0 -1
  294. package/dist/chunk-YVXMWUWD.js +0 -118
  295. package/dist/chunk-YVXMWUWD.js.map +0 -1
  296. package/dist/chunk-Z6HZMGO2.js +0 -106
  297. package/dist/chunk-Z6HZMGO2.js.map +0 -1
  298. package/dist/chunk-ZAP4RIUL.js +0 -81
  299. package/dist/chunk-ZAP4RIUL.js.map +0 -1
  300. package/dist/chunk-ZEDDWVBB.js +0 -112
  301. package/dist/chunk-ZEDDWVBB.js.map +0 -1
  302. package/dist/chunk-ZEFOXF2I.js +0 -87
  303. package/dist/chunk-ZEFOXF2I.js.map +0 -1
  304. package/dist/chunk-ZPURFK4C.js +0 -203
  305. package/dist/chunk-ZPURFK4C.js.map +0 -1
  306. package/dist/chunk-ZXPDS6DH.js +0 -3
  307. package/dist/chunk-ZXPDS6DH.js.map +0 -1
  308. package/dist/chunk-ZZZIOTLC.js +0 -89
  309. package/dist/chunk-ZZZIOTLC.js.map +0 -1
  310. package/dist/components/composites/agent-composer/agent-composer.d.ts +0 -41
  311. package/dist/components/composites/agent-composer/index.d.ts +0 -1
  312. package/dist/components/composites/agent-editor/agent-editor.d.ts +0 -31
  313. package/dist/components/composites/agent-editor/index.d.ts +0 -1
  314. package/dist/components/composites/agent-stream/agent-stream.d.ts +0 -72
  315. package/dist/components/composites/agent-stream/index.d.ts +0 -2
  316. package/dist/components/composites/agent-stream/to-agent-stream-items.d.ts +0 -32
  317. package/dist/components/composites/agent-timeline/agent-timeline.d.ts +0 -22
  318. package/dist/components/composites/agent-timeline/index.d.ts +0 -1
  319. package/dist/components/composites/agent-tool-renderer/agent-tool-renderer.d.ts +0 -60
  320. package/dist/components/composites/agent-tool-renderer/index.d.ts +0 -1
  321. package/dist/components/composites/agent-tool-renderer/tool-call-part.d.ts +0 -5
  322. package/dist/components/composites/approval-card/approval-card.d.ts +0 -35
  323. package/dist/components/composites/approval-card/index.d.ts +0 -1
  324. package/dist/components/composites/chat-composer/chat-composer.d.ts +0 -68
  325. package/dist/components/composites/chat-composer/index.d.ts +0 -1
  326. package/dist/components/composites/chat-message/chat-message-actions.d.ts +0 -22
  327. package/dist/components/composites/chat-message/chat-message-branch.d.ts +0 -17
  328. package/dist/components/composites/chat-message/chat-message-response.d.ts +0 -15
  329. package/dist/components/composites/chat-message/chat-message-toolbar.d.ts +0 -7
  330. package/dist/components/composites/chat-message/chat-message.d.ts +0 -94
  331. package/dist/components/composites/chat-message/index.d.ts +0 -23
  332. package/dist/components/composites/chat-message/parts/data-part.d.ts +0 -9
  333. package/dist/components/composites/chat-message/parts/file-part.d.ts +0 -5
  334. package/dist/components/composites/chat-message/parts/reasoning-part.d.ts +0 -7
  335. package/dist/components/composites/chat-message/parts/source-part.d.ts +0 -9
  336. package/dist/components/composites/chat-message/parts/text-part.d.ts +0 -11
  337. package/dist/components/composites/choice-prompt/choice-prompt.d.ts +0 -65
  338. package/dist/components/composites/choice-prompt/index.d.ts +0 -2
  339. package/dist/components/composites/confirm-prompt/confirm-prompt.d.ts +0 -31
  340. package/dist/components/composites/confirm-prompt/index.d.ts +0 -1
  341. package/dist/components/composites/cron-jobs-list/cron-jobs-list.d.ts +0 -15
  342. package/dist/components/composites/cron-jobs-list/index.d.ts +0 -1
  343. package/dist/components/composites/mcp-server-list/index.d.ts +0 -1
  344. package/dist/components/composites/mcp-server-list/mcp-server-list.d.ts +0 -15
  345. package/dist/components/composites/multi-select-prompt/index.d.ts +0 -1
  346. package/dist/components/composites/multi-select-prompt/multi-select-prompt.d.ts +0 -61
  347. package/dist/components/composites/permission-modal/index.d.ts +0 -1
  348. package/dist/components/composites/permission-modal/permission-modal.d.ts +0 -48
  349. package/dist/components/composites/preview-panel/index.d.ts +0 -1
  350. package/dist/components/composites/preview-panel/preview-panel.d.ts +0 -24
  351. package/dist/components/composites/rule-editor/index.d.ts +0 -1
  352. package/dist/components/composites/rule-editor/rule-editor.d.ts +0 -18
  353. package/dist/components/composites/skill-editor/index.d.ts +0 -1
  354. package/dist/components/composites/skill-editor/skill-editor.d.ts +0 -19
  355. package/dist/components/composites/skills-list/index.d.ts +0 -1
  356. package/dist/components/composites/skills-list/skills-list.d.ts +0 -15
  357. package/dist/components/composites/slide-deck/context.d.ts +0 -23
  358. package/dist/components/composites/slide-deck/controls.d.ts +0 -8
  359. package/dist/components/composites/slide-deck/fragments.d.ts +0 -20
  360. package/dist/components/composites/slide-deck/index.d.ts +0 -21
  361. package/dist/components/composites/slide-deck/notes.d.ts +0 -14
  362. package/dist/components/composites/slide-deck/presenter-view.d.ts +0 -15
  363. package/dist/components/composites/slide-deck/print-styles.d.ts +0 -21
  364. package/dist/components/composites/slide-deck/progress-bar.d.ts +0 -8
  365. package/dist/components/composites/slide-deck/schema.d.ts +0 -31
  366. package/dist/components/composites/slide-deck/slide-deck.d.ts +0 -78
  367. package/dist/components/composites/slide-deck/slide-number.d.ts +0 -11
  368. package/dist/components/composites/slide-deck/split-deck.d.ts +0 -2
  369. package/dist/components/composites/slide-deck/thumbnails.d.ts +0 -19
  370. package/dist/components/composites/slide-deck/use-deck-hash-routing.d.ts +0 -23
  371. package/dist/components/composites/slide-deck/use-deck-keyboard.d.ts +0 -25
  372. package/dist/components/composites/slide-deck/use-deck-state.d.ts +0 -57
  373. package/dist/components/composites/slide-deck/use-deck-swipe.d.ts +0 -20
  374. package/dist/components/composites/slide-deck/use-fullscreen.d.ts +0 -18
  375. package/dist/components/composites/stability-bundle-viewer/index.d.ts +0 -1
  376. package/dist/components/composites/stability-bundle-viewer/stability-bundle-viewer.d.ts +0 -28
  377. package/dist/components/composites/text-prompt/index.d.ts +0 -1
  378. package/dist/components/composites/text-prompt/text-prompt.d.ts +0 -48
  379. package/dist/components/composites/usage-meter/index.d.ts +0 -1
  380. package/dist/components/composites/usage-meter/usage-meter.d.ts +0 -56
  381. package/dist/components/primitives/agent-error-card/agent-error-card.d.ts +0 -47
  382. package/dist/components/primitives/agent-error-card/index.d.ts +0 -1
  383. package/dist/components/primitives/agent-event/agent-event.d.ts +0 -25
  384. package/dist/components/primitives/agent-event/index.d.ts +0 -1
  385. package/dist/components/primitives/agent-handoff/agent-handoff.d.ts +0 -24
  386. package/dist/components/primitives/agent-handoff/index.d.ts +0 -1
  387. package/dist/components/primitives/agent-profile/agent-profile.d.ts +0 -28
  388. package/dist/components/primitives/agent-profile/index.d.ts +0 -1
  389. package/dist/components/primitives/agent-starting-state/agent-starting-state.d.ts +0 -15
  390. package/dist/components/primitives/agent-starting-state/index.d.ts +0 -1
  391. package/dist/components/primitives/agent-streaming/agent-streaming.d.ts +0 -16
  392. package/dist/components/primitives/agent-streaming/index.d.ts +0 -1
  393. package/dist/components/primitives/artifact-preview/artifact-preview.d.ts +0 -25
  394. package/dist/components/primitives/artifact-preview/index.d.ts +0 -1
  395. package/dist/components/primitives/attachment-chip/attachment-chip.d.ts +0 -14
  396. package/dist/components/primitives/attachment-chip/index.d.ts +0 -1
  397. package/dist/components/primitives/audit-log-entry/audit-log-entry.d.ts +0 -29
  398. package/dist/components/primitives/audit-log-entry/index.d.ts +0 -1
  399. package/dist/components/primitives/auto-compact-notice/auto-compact-notice.d.ts +0 -24
  400. package/dist/components/primitives/auto-compact-notice/index.d.ts +0 -1
  401. package/dist/components/primitives/branch-indicator/branch-indicator.d.ts +0 -13
  402. package/dist/components/primitives/branch-indicator/index.d.ts +0 -1
  403. package/dist/components/primitives/browser-controls/browser-controls.d.ts +0 -19
  404. package/dist/components/primitives/browser-controls/index.d.ts +0 -1
  405. package/dist/components/primitives/build-log-stream/build-log-stream.d.ts +0 -51
  406. package/dist/components/primitives/build-log-stream/index.d.ts +0 -1
  407. package/dist/components/primitives/capability-indicator/capability-indicator.d.ts +0 -57
  408. package/dist/components/primitives/capability-indicator/index.d.ts +0 -1
  409. package/dist/components/primitives/channel-card/channel-card.d.ts +0 -28
  410. package/dist/components/primitives/channel-card/index.d.ts +0 -1
  411. package/dist/components/primitives/chat-thread/chat-thread.d.ts +0 -12
  412. package/dist/components/primitives/chat-thread/index.d.ts +0 -1
  413. package/dist/components/primitives/context-card/context-card.d.ts +0 -18
  414. package/dist/components/primitives/context-card/index.d.ts +0 -1
  415. package/dist/components/primitives/context-window-bar/context-window-bar.d.ts +0 -27
  416. package/dist/components/primitives/context-window-bar/index.d.ts +0 -1
  417. package/dist/components/primitives/cost-meter/cost-meter.d.ts +0 -23
  418. package/dist/components/primitives/cost-meter/index.d.ts +0 -1
  419. package/dist/components/primitives/created-files-card/created-files-card.d.ts +0 -30
  420. package/dist/components/primitives/created-files-card/index.d.ts +0 -1
  421. package/dist/components/primitives/cron-job-card/cron-job-card.d.ts +0 -30
  422. package/dist/components/primitives/cron-job-card/index.d.ts +0 -1
  423. package/dist/components/primitives/diff-viewer/diff-viewer.d.ts +0 -45
  424. package/dist/components/primitives/diff-viewer/index.d.ts +0 -1
  425. package/dist/components/primitives/export-chat-dialog/export-chat-dialog.d.ts +0 -18
  426. package/dist/components/primitives/export-chat-dialog/index.d.ts +0 -1
  427. package/dist/components/primitives/folder-context-card/folder-context-card.d.ts +0 -40
  428. package/dist/components/primitives/folder-context-card/index.d.ts +0 -1
  429. package/dist/components/primitives/folder-selector/folder-selector.d.ts +0 -18
  430. package/dist/components/primitives/folder-selector/index.d.ts +0 -1
  431. package/dist/components/primitives/gateway-status-indicator/gateway-status-indicator.d.ts +0 -19
  432. package/dist/components/primitives/gateway-status-indicator/index.d.ts +0 -1
  433. package/dist/components/primitives/hook-config/hook-config.d.ts +0 -27
  434. package/dist/components/primitives/hook-config/index.d.ts +0 -1
  435. package/dist/components/primitives/hook-event-log/hook-event-log.d.ts +0 -27
  436. package/dist/components/primitives/hook-event-log/index.d.ts +0 -1
  437. package/dist/components/primitives/intent-selector/index.d.ts +0 -1
  438. package/dist/components/primitives/intent-selector/intent-selector.d.ts +0 -22
  439. package/dist/components/primitives/lane-board/index.d.ts +0 -1
  440. package/dist/components/primitives/lane-board/lane-board.d.ts +0 -26
  441. package/dist/components/primitives/mcp-server-card/index.d.ts +0 -1
  442. package/dist/components/primitives/mcp-server-card/mcp-server-card.d.ts +0 -32
  443. package/dist/components/primitives/memory-editor/index.d.ts +0 -1
  444. package/dist/components/primitives/memory-editor/memory-editor.d.ts +0 -29
  445. package/dist/components/primitives/mention-menu/index.d.ts +0 -1
  446. package/dist/components/primitives/mention-menu/mention-menu.d.ts +0 -44
  447. package/dist/components/primitives/model-card/index.d.ts +0 -1
  448. package/dist/components/primitives/model-card/model-card.d.ts +0 -72
  449. package/dist/components/primitives/model-selector/index.d.ts +0 -1
  450. package/dist/components/primitives/model-selector/model-selector.d.ts +0 -21
  451. package/dist/components/primitives/permission-matrix/index.d.ts +0 -1
  452. package/dist/components/primitives/permission-matrix/permission-matrix.d.ts +0 -43
  453. package/dist/components/primitives/progress-checklist/index.d.ts +0 -1
  454. package/dist/components/primitives/progress-checklist/progress-checklist.d.ts +0 -18
  455. package/dist/components/primitives/project-switcher/index.d.ts +0 -1
  456. package/dist/components/primitives/project-switcher/project-switcher.d.ts +0 -32
  457. package/dist/components/primitives/quick-action-chips/index.d.ts +0 -1
  458. package/dist/components/primitives/quick-action-chips/quick-action-chips.d.ts +0 -22
  459. package/dist/components/primitives/recent-folders-list/index.d.ts +0 -1
  460. package/dist/components/primitives/recent-folders-list/recent-folders-list.d.ts +0 -21
  461. package/dist/components/primitives/rule-card/index.d.ts +0 -1
  462. package/dist/components/primitives/rule-card/rule-card.d.ts +0 -15
  463. package/dist/components/primitives/run-stats/index.d.ts +0 -1
  464. package/dist/components/primitives/run-stats/run-stats.d.ts +0 -16
  465. package/dist/components/primitives/run-status-pill/index.d.ts +0 -1
  466. package/dist/components/primitives/run-status-pill/run-status-pill.d.ts +0 -13
  467. package/dist/components/primitives/running-tasks-panel/index.d.ts +0 -1
  468. package/dist/components/primitives/running-tasks-panel/running-tasks-panel.d.ts +0 -20
  469. package/dist/components/primitives/session-list-item/index.d.ts +0 -1
  470. package/dist/components/primitives/session-list-item/session-list-item.d.ts +0 -35
  471. package/dist/components/primitives/session-timeline/index.d.ts +0 -1
  472. package/dist/components/primitives/session-timeline/session-timeline.d.ts +0 -32
  473. package/dist/components/primitives/skill-card/index.d.ts +0 -1
  474. package/dist/components/primitives/skill-card/skill-card.d.ts +0 -28
  475. package/dist/components/primitives/slide/alerts.d.ts +0 -31
  476. package/dist/components/primitives/slide/frontmatter.d.ts +0 -23
  477. package/dist/components/primitives/slide/index.d.ts +0 -16
  478. package/dist/components/primitives/slide/json-schema.d.ts +0 -9
  479. package/dist/components/primitives/slide/marpit-bg.d.ts +0 -36
  480. package/dist/components/primitives/slide/parse.d.ts +0 -59
  481. package/dist/components/primitives/slide/plugin.d.ts +0 -79
  482. package/dist/components/primitives/slide/plugins/emoji/index.d.ts +0 -8
  483. package/dist/components/primitives/slide/plugins/emoji/map.d.ts +0 -15
  484. package/dist/components/primitives/slide/plugins/math/index.d.ts +0 -6
  485. package/dist/components/primitives/slide/plugins/mermaid/index.d.ts +0 -48
  486. package/dist/components/primitives/slide/plugins/shiki/index.d.ts +0 -11
  487. package/dist/components/primitives/slide/sanitize.d.ts +0 -33
  488. package/dist/components/primitives/slide/schema.d.ts +0 -109
  489. package/dist/components/primitives/slide/slide.d.ts +0 -53
  490. package/dist/components/primitives/slide/themes/index.d.ts +0 -9
  491. package/dist/components/primitives/slide/use-slide-fit.d.ts +0 -21
  492. package/dist/components/primitives/slide/validate.d.ts +0 -33
  493. package/dist/components/primitives/steps-rail/index.d.ts +0 -1
  494. package/dist/components/primitives/steps-rail/steps-rail.d.ts +0 -24
  495. package/dist/components/primitives/sub-agent-dispatch/index.d.ts +0 -1
  496. package/dist/components/primitives/sub-agent-dispatch/sub-agent-dispatch.d.ts +0 -30
  497. package/dist/components/primitives/system-prompt-editor/index.d.ts +0 -1
  498. package/dist/components/primitives/system-prompt-editor/system-prompt-editor.d.ts +0 -25
  499. package/dist/components/primitives/task-plan/index.d.ts +0 -1
  500. package/dist/components/primitives/task-plan/task-plan.d.ts +0 -36
  501. package/dist/components/primitives/terminal-panel/index.d.ts +0 -1
  502. package/dist/components/primitives/terminal-panel/terminal-panel.d.ts +0 -32
  503. package/dist/components/primitives/thinking-level-selector/index.d.ts +0 -1
  504. package/dist/components/primitives/thinking-level-selector/thinking-level-selector.d.ts +0 -24
  505. package/dist/components/primitives/token-usage-chart/index.d.ts +0 -2
  506. package/dist/components/primitives/token-usage-chart/token-usage-chart.d.ts +0 -44
  507. package/dist/components/primitives/token-usage-chart/usage-metrics.d.ts +0 -23
  508. package/dist/components/primitives/tool-call/index.d.ts +0 -1
  509. package/dist/components/primitives/tool-call/tool-call.d.ts +0 -30
  510. package/dist/components/primitives/tool-call-card/index.d.ts +0 -1
  511. package/dist/components/primitives/tool-call-card/tool-call-card.d.ts +0 -30
  512. package/dist/components/primitives/tool-result/index.d.ts +0 -1
  513. package/dist/components/primitives/tool-result/tool-result.d.ts +0 -19
  514. package/dist/components/primitives/tools-list/index.d.ts +0 -1
  515. package/dist/components/primitives/tools-list/tools-list.d.ts +0 -32
  516. package/dist/components/primitives/whiteboard/index.d.ts +0 -2
  517. package/dist/components/primitives/whiteboard/render/freedraw.d.ts +0 -2
  518. package/dist/components/primitives/whiteboard/render/line.d.ts +0 -4
  519. package/dist/components/primitives/whiteboard/render/rough-paths.d.ts +0 -16
  520. package/dist/components/primitives/whiteboard/render/scene.d.ts +0 -3
  521. package/dist/components/primitives/whiteboard/render/shape.d.ts +0 -5
  522. package/dist/components/primitives/whiteboard/render/style.d.ts +0 -24
  523. package/dist/components/primitives/whiteboard/render/text.d.ts +0 -2
  524. package/dist/components/primitives/whiteboard/schema.d.ts +0 -596
  525. package/dist/components/primitives/whiteboard/seed.d.ts +0 -22
  526. package/dist/components/primitives/whiteboard/validate.d.ts +0 -26
  527. package/dist/components/primitives/whiteboard/viewport/use-pointer-pan.d.ts +0 -11
  528. package/dist/components/primitives/whiteboard/viewport/use-viewport.d.ts +0 -33
  529. package/dist/components/primitives/whiteboard/whiteboard.d.ts +0 -21
  530. package/dist/components.css +0 -2
  531. package/dist/composites/account-menu/index.js +0 -6
  532. package/dist/composites/account-menu/index.js.map +0 -1
  533. package/dist/composites/agent-composer/index.js +0 -8
  534. package/dist/composites/agent-composer/index.js.map +0 -1
  535. package/dist/composites/agent-editor/index.js +0 -11
  536. package/dist/composites/agent-editor/index.js.map +0 -1
  537. package/dist/composites/agent-stream/index.js +0 -24
  538. package/dist/composites/agent-stream/index.js.map +0 -1
  539. package/dist/composites/agent-timeline/index.js +0 -5
  540. package/dist/composites/agent-timeline/index.js.map +0 -1
  541. package/dist/composites/agent-tool-renderer/index.js +0 -17
  542. package/dist/composites/agent-tool-renderer/index.js.map +0 -1
  543. package/dist/composites/approval-card/index.js +0 -5
  544. package/dist/composites/approval-card/index.js.map +0 -1
  545. package/dist/composites/chat-composer/index.js +0 -6
  546. package/dist/composites/chat-composer/index.js.map +0 -1
  547. package/dist/composites/chat-message/index.js +0 -20
  548. package/dist/composites/chat-message/index.js.map +0 -1
  549. package/dist/composites/choice-prompt/index.js +0 -11
  550. package/dist/composites/choice-prompt/index.js.map +0 -1
  551. package/dist/composites/code-block/index.js +0 -5
  552. package/dist/composites/code-block/index.js.map +0 -1
  553. package/dist/composites/command-palette/index.js +0 -6
  554. package/dist/composites/command-palette/index.js.map +0 -1
  555. package/dist/composites/confirm-dialog/index.js +0 -8
  556. package/dist/composites/confirm-dialog/index.js.map +0 -1
  557. package/dist/composites/confirm-prompt/index.js +0 -7
  558. package/dist/composites/confirm-prompt/index.js.map +0 -1
  559. package/dist/composites/cron-jobs-list/index.js +0 -5
  560. package/dist/composites/cron-jobs-list/index.js.map +0 -1
  561. package/dist/composites/data-table/index.js +0 -11
  562. package/dist/composites/data-table/index.js.map +0 -1
  563. package/dist/composites/deployment-row/index.js +0 -5
  564. package/dist/composites/deployment-row/index.js.map +0 -1
  565. package/dist/composites/domain-config/index.js +0 -8
  566. package/dist/composites/domain-config/index.js.map +0 -1
  567. package/dist/composites/env-var-editor/index.js +0 -9
  568. package/dist/composites/env-var-editor/index.js.map +0 -1
  569. package/dist/composites/mcp-server-list/index.js +0 -6
  570. package/dist/composites/mcp-server-list/index.js.map +0 -1
  571. package/dist/composites/metric-card/index.js +0 -5
  572. package/dist/composites/metric-card/index.js.map +0 -1
  573. package/dist/composites/multi-select-prompt/index.js +0 -11
  574. package/dist/composites/multi-select-prompt/index.js.map +0 -1
  575. package/dist/composites/page-shell/index.js +0 -8
  576. package/dist/composites/page-shell/index.js.map +0 -1
  577. package/dist/composites/permission-modal/index.js +0 -7
  578. package/dist/composites/permission-modal/index.js.map +0 -1
  579. package/dist/composites/preview-env-card/index.js +0 -6
  580. package/dist/composites/preview-env-card/index.js.map +0 -1
  581. package/dist/composites/preview-panel/index.js +0 -5
  582. package/dist/composites/preview-panel/index.js.map +0 -1
  583. package/dist/composites/project-card/index.js +0 -6
  584. package/dist/composites/project-card/index.js.map +0 -1
  585. package/dist/composites/rollback-ui/index.js +0 -7
  586. package/dist/composites/rollback-ui/index.js.map +0 -1
  587. package/dist/composites/rule-editor/index.js +0 -12
  588. package/dist/composites/rule-editor/index.js.map +0 -1
  589. package/dist/composites/skill-editor/index.js +0 -12
  590. package/dist/composites/skill-editor/index.js.map +0 -1
  591. package/dist/composites/skills-list/index.js +0 -6
  592. package/dist/composites/skills-list/index.js.map +0 -1
  593. package/dist/composites/stability-bundle-viewer/index.js +0 -5
  594. package/dist/composites/stability-bundle-viewer/index.js.map +0 -1
  595. package/dist/composites/status-indicator/index.js +0 -4
  596. package/dist/composites/status-indicator/index.js.map +0 -1
  597. package/dist/composites/task-header/index.js +0 -5
  598. package/dist/composites/task-header/index.js.map +0 -1
  599. package/dist/composites/text-prompt/index.js +0 -10
  600. package/dist/composites/text-prompt/index.js.map +0 -1
  601. package/dist/composites/usage-meter/index.js +0 -5
  602. package/dist/composites/usage-meter/index.js.map +0 -1
  603. package/dist/fonts/LICENSE-GEIST.txt +0 -92
  604. package/dist/fonts/geist-400.woff2 +0 -0
  605. package/dist/fonts/geist-500.woff2 +0 -0
  606. package/dist/fonts/geist-600.woff2 +0 -0
  607. package/dist/fonts/geist-mono-400.woff2 +0 -0
  608. package/dist/fonts/geist-mono-500.woff2 +0 -0
  609. package/dist/fonts/geist-mono-600.woff2 +0 -0
  610. package/dist/fonts-cdn.css +0 -28
  611. package/dist/fonts.css +0 -75
  612. package/dist/index.js.map +0 -1
  613. package/dist/lib/markdown/code-block.d.ts +0 -14
  614. package/dist/lib/markdown/inline-code.d.ts +0 -10
  615. package/dist/lib/markdown/math.d.ts +0 -12
  616. package/dist/lib/markdown/mermaid.d.ts +0 -6
  617. package/dist/lib/markdown/parser.d.ts +0 -47
  618. package/dist/lib/markdown/streaming-preprocess.d.ts +0 -39
  619. package/dist/lib/prompt.d.ts +0 -40
  620. package/dist/lib/sdk-tools-adapters/index.d.ts +0 -1
  621. package/dist/lib/sdk-tools-adapters/index.js +0 -3
  622. package/dist/lib/sdk-tools-adapters/index.js.map +0 -1
  623. package/dist/lib/sdk-tools-adapters/sdk-tools-adapters.d.ts +0 -60
  624. package/dist/preset-v3-legacy.d.ts +0 -32
  625. package/dist/preset-v3-legacy.js.map +0 -1
  626. package/dist/preset.css +0 -27
  627. package/dist/primitives/action-bar/index.js +0 -4
  628. package/dist/primitives/action-bar/index.js.map +0 -1
  629. package/dist/primitives/agent-error-card/index.js +0 -5
  630. package/dist/primitives/agent-error-card/index.js.map +0 -1
  631. package/dist/primitives/agent-event/index.js +0 -5
  632. package/dist/primitives/agent-event/index.js.map +0 -1
  633. package/dist/primitives/agent-handoff/index.js +0 -4
  634. package/dist/primitives/agent-handoff/index.js.map +0 -1
  635. package/dist/primitives/agent-profile/index.js +0 -4
  636. package/dist/primitives/agent-profile/index.js.map +0 -1
  637. package/dist/primitives/agent-starting-state/index.js +0 -5
  638. package/dist/primitives/agent-starting-state/index.js.map +0 -1
  639. package/dist/primitives/agent-streaming/index.js +0 -5
  640. package/dist/primitives/agent-streaming/index.js.map +0 -1
  641. package/dist/primitives/alert/index.js +0 -4
  642. package/dist/primitives/alert/index.js.map +0 -1
  643. package/dist/primitives/artifact-preview/index.js +0 -4
  644. package/dist/primitives/artifact-preview/index.js.map +0 -1
  645. package/dist/primitives/attachment-chip/index.js +0 -4
  646. package/dist/primitives/attachment-chip/index.js.map +0 -1
  647. package/dist/primitives/audit-log-entry/index.js +0 -4
  648. package/dist/primitives/audit-log-entry/index.js.map +0 -1
  649. package/dist/primitives/auto-compact-notice/index.js +0 -5
  650. package/dist/primitives/auto-compact-notice/index.js.map +0 -1
  651. package/dist/primitives/avatar/index.js +0 -4
  652. package/dist/primitives/avatar/index.js.map +0 -1
  653. package/dist/primitives/badge/index.js +0 -4
  654. package/dist/primitives/badge/index.js.map +0 -1
  655. package/dist/primitives/branch-indicator/index.js +0 -4
  656. package/dist/primitives/branch-indicator/index.js.map +0 -1
  657. package/dist/primitives/browser-controls/index.js +0 -4
  658. package/dist/primitives/browser-controls/index.js.map +0 -1
  659. package/dist/primitives/build-log-stream/index.js +0 -7
  660. package/dist/primitives/build-log-stream/index.js.map +0 -1
  661. package/dist/primitives/button/index.js +0 -4
  662. package/dist/primitives/button/index.js.map +0 -1
  663. package/dist/primitives/capability-indicator/index.js +0 -4
  664. package/dist/primitives/capability-indicator/index.js.map +0 -1
  665. package/dist/primitives/card/index.js +0 -5
  666. package/dist/primitives/card/index.js.map +0 -1
  667. package/dist/primitives/channel-card/index.js +0 -4
  668. package/dist/primitives/channel-card/index.js.map +0 -1
  669. package/dist/primitives/chat-thread/index.js +0 -5
  670. package/dist/primitives/chat-thread/index.js.map +0 -1
  671. package/dist/primitives/checkbox/index.js +0 -4
  672. package/dist/primitives/checkbox/index.js.map +0 -1
  673. package/dist/primitives/context-card/index.js +0 -4
  674. package/dist/primitives/context-card/index.js.map +0 -1
  675. package/dist/primitives/context-window-bar/index.js +0 -4
  676. package/dist/primitives/context-window-bar/index.js.map +0 -1
  677. package/dist/primitives/copy-button/index.js +0 -5
  678. package/dist/primitives/copy-button/index.js.map +0 -1
  679. package/dist/primitives/cost-meter/index.js +0 -4
  680. package/dist/primitives/cost-meter/index.js.map +0 -1
  681. package/dist/primitives/created-files-card/index.js +0 -4
  682. package/dist/primitives/created-files-card/index.js.map +0 -1
  683. package/dist/primitives/cron-job-card/index.js +0 -4
  684. package/dist/primitives/cron-job-card/index.js.map +0 -1
  685. package/dist/primitives/danger-zone/index.js +0 -4
  686. package/dist/primitives/danger-zone/index.js.map +0 -1
  687. package/dist/primitives/dialog/index.js +0 -4
  688. package/dist/primitives/dialog/index.js.map +0 -1
  689. package/dist/primitives/diff-viewer/index.js +0 -4
  690. package/dist/primitives/diff-viewer/index.js.map +0 -1
  691. package/dist/primitives/dropdown-menu/index.js +0 -4
  692. package/dist/primitives/dropdown-menu/index.js.map +0 -1
  693. package/dist/primitives/empty-state/index.js +0 -4
  694. package/dist/primitives/empty-state/index.js.map +0 -1
  695. package/dist/primitives/export-chat-dialog/index.js +0 -5
  696. package/dist/primitives/export-chat-dialog/index.js.map +0 -1
  697. package/dist/primitives/folder-context-card/index.js +0 -4
  698. package/dist/primitives/folder-context-card/index.js.map +0 -1
  699. package/dist/primitives/folder-selector/index.js +0 -4
  700. package/dist/primitives/folder-selector/index.js.map +0 -1
  701. package/dist/primitives/form-field/index.js +0 -5
  702. package/dist/primitives/form-field/index.js.map +0 -1
  703. package/dist/primitives/gateway-status-indicator/index.js +0 -4
  704. package/dist/primitives/gateway-status-indicator/index.js.map +0 -1
  705. package/dist/primitives/hook-config/index.js +0 -5
  706. package/dist/primitives/hook-config/index.js.map +0 -1
  707. package/dist/primitives/hook-event-log/index.js +0 -4
  708. package/dist/primitives/hook-event-log/index.js.map +0 -1
  709. package/dist/primitives/input/index.js +0 -4
  710. package/dist/primitives/input/index.js.map +0 -1
  711. package/dist/primitives/intent-selector/index.js +0 -4
  712. package/dist/primitives/intent-selector/index.js.map +0 -1
  713. package/dist/primitives/label/index.js +0 -4
  714. package/dist/primitives/label/index.js.map +0 -1
  715. package/dist/primitives/lane-board/index.js +0 -4
  716. package/dist/primitives/lane-board/index.js.map +0 -1
  717. package/dist/primitives/login-split/index.js +0 -4
  718. package/dist/primitives/login-split/index.js.map +0 -1
  719. package/dist/primitives/mcp-server-card/index.js +0 -4
  720. package/dist/primitives/mcp-server-card/index.js.map +0 -1
  721. package/dist/primitives/memory-editor/index.js +0 -4
  722. package/dist/primitives/memory-editor/index.js.map +0 -1
  723. package/dist/primitives/mention-menu/index.js +0 -5
  724. package/dist/primitives/mention-menu/index.js.map +0 -1
  725. package/dist/primitives/metrics-panel/index.js +0 -4
  726. package/dist/primitives/metrics-panel/index.js.map +0 -1
  727. package/dist/primitives/model-card/index.js +0 -4
  728. package/dist/primitives/model-card/index.js.map +0 -1
  729. package/dist/primitives/model-selector/index.js +0 -4
  730. package/dist/primitives/model-selector/index.js.map +0 -1
  731. package/dist/primitives/pagination/index.js +0 -4
  732. package/dist/primitives/pagination/index.js.map +0 -1
  733. package/dist/primitives/permission-matrix/index.js +0 -5
  734. package/dist/primitives/permission-matrix/index.js.map +0 -1
  735. package/dist/primitives/pin-input/index.js +0 -5
  736. package/dist/primitives/pin-input/index.js.map +0 -1
  737. package/dist/primitives/plan-badge/index.js +0 -4
  738. package/dist/primitives/plan-badge/index.js.map +0 -1
  739. package/dist/primitives/progress/index.js +0 -4
  740. package/dist/primitives/progress/index.js.map +0 -1
  741. package/dist/primitives/progress-checklist/index.js +0 -4
  742. package/dist/primitives/progress-checklist/index.js.map +0 -1
  743. package/dist/primitives/project-switcher/index.js +0 -4
  744. package/dist/primitives/project-switcher/index.js.map +0 -1
  745. package/dist/primitives/quick-action-chips/index.js +0 -4
  746. package/dist/primitives/quick-action-chips/index.js.map +0 -1
  747. package/dist/primitives/radio-group/index.js +0 -4
  748. package/dist/primitives/radio-group/index.js.map +0 -1
  749. package/dist/primitives/recent-folders-list/index.js +0 -4
  750. package/dist/primitives/recent-folders-list/index.js.map +0 -1
  751. package/dist/primitives/rule-card/index.js +0 -4
  752. package/dist/primitives/rule-card/index.js.map +0 -1
  753. package/dist/primitives/run-stats/index.js +0 -4
  754. package/dist/primitives/run-stats/index.js.map +0 -1
  755. package/dist/primitives/run-status-pill/index.js +0 -4
  756. package/dist/primitives/run-status-pill/index.js.map +0 -1
  757. package/dist/primitives/running-tasks-panel/index.js +0 -4
  758. package/dist/primitives/running-tasks-panel/index.js.map +0 -1
  759. package/dist/primitives/scroll-area/index.js +0 -5
  760. package/dist/primitives/scroll-area/index.js.map +0 -1
  761. package/dist/primitives/select/index.js +0 -4
  762. package/dist/primitives/select/index.js.map +0 -1
  763. package/dist/primitives/session-list-item/index.js +0 -4
  764. package/dist/primitives/session-list-item/index.js.map +0 -1
  765. package/dist/primitives/session-timeline/index.js +0 -4
  766. package/dist/primitives/session-timeline/index.js.map +0 -1
  767. package/dist/primitives/sheet/index.js +0 -4
  768. package/dist/primitives/sheet/index.js.map +0 -1
  769. package/dist/primitives/sidebar/index.js +0 -4
  770. package/dist/primitives/sidebar/index.js.map +0 -1
  771. package/dist/primitives/skeleton/index.js +0 -5
  772. package/dist/primitives/skeleton/index.js.map +0 -1
  773. package/dist/primitives/skill-card/index.js +0 -4
  774. package/dist/primitives/skill-card/index.js.map +0 -1
  775. package/dist/primitives/social-auth-row/index.js +0 -4
  776. package/dist/primitives/social-auth-row/index.js.map +0 -1
  777. package/dist/primitives/stat-tile/index.js +0 -4
  778. package/dist/primitives/stat-tile/index.js.map +0 -1
  779. package/dist/primitives/status-dot/index.js +0 -6
  780. package/dist/primitives/status-dot/index.js.map +0 -1
  781. package/dist/primitives/steps-rail/index.js +0 -4
  782. package/dist/primitives/steps-rail/index.js.map +0 -1
  783. package/dist/primitives/sub-agent-dispatch/index.js +0 -4
  784. package/dist/primitives/sub-agent-dispatch/index.js.map +0 -1
  785. package/dist/primitives/switch/index.js +0 -4
  786. package/dist/primitives/switch/index.js.map +0 -1
  787. package/dist/primitives/system-prompt-editor/index.js +0 -5
  788. package/dist/primitives/system-prompt-editor/index.js.map +0 -1
  789. package/dist/primitives/table/index.js +0 -5
  790. package/dist/primitives/table/index.js.map +0 -1
  791. package/dist/primitives/tabs/index.js +0 -4
  792. package/dist/primitives/tabs/index.js.map +0 -1
  793. package/dist/primitives/task-plan/index.js +0 -4
  794. package/dist/primitives/task-plan/index.js.map +0 -1
  795. package/dist/primitives/terminal-panel/index.js +0 -5
  796. package/dist/primitives/terminal-panel/index.js.map +0 -1
  797. package/dist/primitives/textarea/index.js +0 -4
  798. package/dist/primitives/textarea/index.js.map +0 -1
  799. package/dist/primitives/thinking-level-selector/index.js +0 -5
  800. package/dist/primitives/thinking-level-selector/index.js.map +0 -1
  801. package/dist/primitives/timestamp/index.js +0 -6
  802. package/dist/primitives/timestamp/index.js.map +0 -1
  803. package/dist/primitives/toast/index.js +0 -5
  804. package/dist/primitives/toast/index.js.map +0 -1
  805. package/dist/primitives/token-usage-chart/index.js +0 -4
  806. package/dist/primitives/token-usage-chart/index.js.map +0 -1
  807. package/dist/primitives/tool-call/index.js +0 -5
  808. package/dist/primitives/tool-call/index.js.map +0 -1
  809. package/dist/primitives/tool-call-card/index.js +0 -5
  810. package/dist/primitives/tool-call-card/index.js.map +0 -1
  811. package/dist/primitives/tool-result/index.js +0 -4
  812. package/dist/primitives/tool-result/index.js.map +0 -1
  813. package/dist/primitives/tools-list/index.js +0 -4
  814. package/dist/primitives/tools-list/index.js.map +0 -1
  815. package/dist/primitives/tooltip/index.js +0 -4
  816. package/dist/primitives/tooltip/index.js.map +0 -1
  817. package/dist/primitives/topnav/index.js +0 -4
  818. package/dist/primitives/topnav/index.js.map +0 -1
  819. package/dist/primitives/update-banner/index.js +0 -4
  820. package/dist/primitives/update-banner/index.js.map +0 -1
  821. package/dist/screens/theo-code-shell.d.ts +0 -9
  822. package/dist/screens/theo-code-shell.data.d.ts +0 -147
  823. package/dist/slide/index.js +0 -4
  824. package/dist/slide/index.js.map +0 -1
  825. package/dist/slide/plugins/emoji/index.js +0 -157
  826. package/dist/slide/plugins/emoji/index.js.map +0 -1
  827. package/dist/slide/plugins/math/index.js +0 -145
  828. package/dist/slide/plugins/math/index.js.map +0 -1
  829. package/dist/slide/plugins/mermaid/index.js +0 -218
  830. package/dist/slide/plugins/mermaid/index.js.map +0 -1
  831. package/dist/slide/plugins/shiki/index.js +0 -87
  832. package/dist/slide/plugins/shiki/index.js.map +0 -1
  833. package/dist/slide/themes/default.css +0 -256
  834. package/dist/slide/themes/layouts.css +0 -143
  835. package/dist/slide/themes/violet-forge.css +0 -256
  836. package/dist/slide-deck/index.css +0 -52
  837. package/dist/slide-deck/index.css.map +0 -1
  838. package/dist/slide-deck/index.js +0 -1122
  839. package/dist/slide-deck/index.js.map +0 -1
  840. package/dist/styles-v3-legacy.css +0 -88
  841. package/dist/styles.css +0 -137
  842. package/dist/themes/anthropic-style.d.ts +0 -11
  843. package/dist/themes/aurora-terminal.d.ts +0 -9
  844. package/dist/themes/classic-paper.d.ts +0 -17
  845. package/dist/themes/color-value-pattern.d.ts +0 -22
  846. package/dist/themes/color.d.ts +0 -62
  847. package/dist/themes/define.d.ts +0 -65
  848. package/dist/themes/density.d.ts +0 -17
  849. package/dist/themes/dracula.d.ts +0 -14
  850. package/dist/themes/github-dark.d.ts +0 -11
  851. package/dist/themes/index.d.ts +0 -26
  852. package/dist/themes/linear-glass.d.ts +0 -11
  853. package/dist/themes/one-dark.d.ts +0 -11
  854. package/dist/themes/openai-style.d.ts +0 -10
  855. package/dist/themes/schema.d.ts +0 -112
  856. package/dist/themes/theme-provider.d.ts +0 -82
  857. package/dist/themes/theme-script.d.ts +0 -48
  858. package/dist/themes/theme-switcher.d.ts +0 -17
  859. package/dist/themes/types.d.ts +0 -88
  860. package/dist/themes/vercel-mono.d.ts +0 -11
  861. package/dist/themes/violet-forge.d.ts +0 -12
  862. package/dist/theo-ui-provider.d.ts +0 -50
  863. package/dist/tokens-v4.css +0 -223
  864. package/dist/tokens.css +0 -315
  865. package/dist/types/agent.d.ts +0 -19
  866. package/dist/types/chat.d.ts +0 -173
  867. package/dist/types/mode.d.ts +0 -16
  868. package/dist/types/permission.d.ts +0 -8
  869. package/dist/types/rule.d.ts +0 -28
  870. package/dist/vite-plugin.d.ts +0 -25
  871. package/dist/vite-plugin.js +0 -76
  872. package/dist/vite-plugin.js.map +0 -1
  873. package/dist/whiteboard/index.js +0 -741
  874. package/dist/whiteboard/index.js.map +0 -1
  875. package/llms.txt +0 -273
  876. package/registry/index.json +0 -910
  877. package/registry/r/account-menu.json +0 -24
  878. package/registry/r/action-bar.json +0 -22
  879. package/registry/r/agent-composer.json +0 -22
  880. package/registry/r/agent-editor.json +0 -27
  881. package/registry/r/agent-error-card.json +0 -22
  882. package/registry/r/agent-event.json +0 -24
  883. package/registry/r/agent-handoff.json +0 -22
  884. package/registry/r/agent-profile.json +0 -23
  885. package/registry/r/agent-starting-state.json +0 -22
  886. package/registry/r/agent-stream.json +0 -27
  887. package/registry/r/agent-streaming.json +0 -22
  888. package/registry/r/agent-timeline.json +0 -22
  889. package/registry/r/agent-tool-renderer.json +0 -40
  890. package/registry/r/agent-types.json +0 -15
  891. package/registry/r/alert.json +0 -22
  892. package/registry/r/approval-card.json +0 -25
  893. package/registry/r/artifact-preview.json +0 -22
  894. package/registry/r/attachment-chip.json +0 -24
  895. package/registry/r/audit-log-entry.json +0 -23
  896. package/registry/r/auto-compact-notice.json +0 -22
  897. package/registry/r/avatar.json +0 -23
  898. package/registry/r/badge.json +0 -22
  899. package/registry/r/browser-controls.json +0 -22
  900. package/registry/r/build-log-stream.json +0 -20
  901. package/registry/r/button.json +0 -23
  902. package/registry/r/capability-indicator.json +0 -23
  903. package/registry/r/card.json +0 -22
  904. package/registry/r/chat-composer.json +0 -23
  905. package/registry/r/chat-message.json +0 -124
  906. package/registry/r/chat-thread.json +0 -20
  907. package/registry/r/chat-types.json +0 -15
  908. package/registry/r/checkbox.json +0 -24
  909. package/registry/r/choice-prompt.json +0 -25
  910. package/registry/r/cn.json +0 -19
  911. package/registry/r/code-block.json +0 -21
  912. package/registry/r/command-palette.json +0 -25
  913. package/registry/r/confirm-dialog.json +0 -25
  914. package/registry/r/confirm-prompt.json +0 -21
  915. package/registry/r/context-card.json +0 -23
  916. package/registry/r/context-window-bar.json +0 -20
  917. package/registry/r/copy-button.json +0 -22
  918. package/registry/r/cost-meter.json +0 -22
  919. package/registry/r/created-files-card.json +0 -23
  920. package/registry/r/cron-job-card.json +0 -22
  921. package/registry/r/cron-jobs-list.json +0 -23
  922. package/registry/r/danger-zone.json +0 -20
  923. package/registry/r/data-table.json +0 -27
  924. package/registry/r/deployment-row.json +0 -23
  925. package/registry/r/dialog.json +0 -23
  926. package/registry/r/diff-viewer.json +0 -20
  927. package/registry/r/domain-config.json +0 -25
  928. package/registry/r/dropdown-menu.json +0 -23
  929. package/registry/r/empty-state.json +0 -20
  930. package/registry/r/env-var-editor.json +0 -26
  931. package/registry/r/env.json +0 -15
  932. package/registry/r/folder-context-card.json +0 -23
  933. package/registry/r/folder-selector.json +0 -22
  934. package/registry/r/form-field.json +0 -23
  935. package/registry/r/hook-config.json +0 -22
  936. package/registry/r/hook-event-log.json +0 -22
  937. package/registry/r/input.json +0 -22
  938. package/registry/r/intent-selector.json +0 -24
  939. package/registry/r/label.json +0 -22
  940. package/registry/r/lane-board.json +0 -20
  941. package/registry/r/live-region-context.json +0 -16
  942. package/registry/r/login-split.json +0 -20
  943. package/registry/r/mcp-server-card.json +0 -22
  944. package/registry/r/mcp-server-list.json +0 -23
  945. package/registry/r/memory-editor.json +0 -23
  946. package/registry/r/mention-menu.json +0 -23
  947. package/registry/r/metric-card.json +0 -23
  948. package/registry/r/metrics-panel.json +0 -22
  949. package/registry/r/mode-types.json +0 -15
  950. package/registry/r/model-card.json +0 -23
  951. package/registry/r/model-selector.json +0 -23
  952. package/registry/r/multi-select-prompt.json +0 -25
  953. package/registry/r/page-shell.json +0 -25
  954. package/registry/r/pagination.json +0 -22
  955. package/registry/r/permission-matrix.json +0 -22
  956. package/registry/r/permission-modal.json +0 -24
  957. package/registry/r/permission-types.json +0 -15
  958. package/registry/r/pin-input.json +0 -20
  959. package/registry/r/plan-badge.json +0 -20
  960. package/registry/r/preview-env-card.json +0 -25
  961. package/registry/r/preview-panel.json +0 -21
  962. package/registry/r/progress-checklist.json +0 -23
  963. package/registry/r/progress.json +0 -20
  964. package/registry/r/project-card.json +0 -25
  965. package/registry/r/project-switcher.json +0 -22
  966. package/registry/r/prompt.json +0 -15
  967. package/registry/r/quick-action-chips.json +0 -21
  968. package/registry/r/radio-group.json +0 -23
  969. package/registry/r/recent-folders-list.json +0 -22
  970. package/registry/r/rollback-ui.json +0 -24
  971. package/registry/r/rule-card.json +0 -23
  972. package/registry/r/rule-editor.json +0 -28
  973. package/registry/r/rule-types.json +0 -18
  974. package/registry/r/run-stats.json +0 -22
  975. package/registry/r/running-tasks-panel.json +0 -22
  976. package/registry/r/safe-href.json +0 -16
  977. package/registry/r/scroll-area.json +0 -22
  978. package/registry/r/select.json +0 -24
  979. package/registry/r/session-list-item.json +0 -20
  980. package/registry/r/session-timeline.json +0 -22
  981. package/registry/r/sheet.json +0 -24
  982. package/registry/r/sidebar.json +0 -19
  983. package/registry/r/skeleton.json +0 -19
  984. package/registry/r/skill-card.json +0 -24
  985. package/registry/r/skill-editor.json +0 -28
  986. package/registry/r/skills-list.json +0 -23
  987. package/registry/r/slide-deck.json +0 -130
  988. package/registry/r/slide-plugin-emoji.json +0 -28
  989. package/registry/r/slide-plugin-math.json +0 -24
  990. package/registry/r/slide-plugin-mermaid.json +0 -23
  991. package/registry/r/slide-plugin-shiki.json +0 -23
  992. package/registry/r/slide.json +0 -123
  993. package/registry/r/social-auth-row.json +0 -21
  994. package/registry/r/stat-tile.json +0 -22
  995. package/registry/r/status-dot.json +0 -21
  996. package/registry/r/status-indicator.json +0 -20
  997. package/registry/r/steps-rail.json +0 -20
  998. package/registry/r/sub-agent-dispatch.json +0 -22
  999. package/registry/r/switch.json +0 -23
  1000. package/registry/r/system-prompt-editor.json +0 -22
  1001. package/registry/r/table.json +0 -22
  1002. package/registry/r/tabs.json +0 -22
  1003. package/registry/r/tailwind-preset.json +0 -19
  1004. package/registry/r/task-header.json +0 -24
  1005. package/registry/r/task-plan.json +0 -22
  1006. package/registry/r/task-types.json +0 -15
  1007. package/registry/r/terminal-panel.json +0 -22
  1008. package/registry/r/text-prompt.json +0 -24
  1009. package/registry/r/textarea.json +0 -22
  1010. package/registry/r/theme-provider.json +0 -60
  1011. package/registry/r/theme-script.json +0 -18
  1012. package/registry/r/theo-ui-provider.json +0 -20
  1013. package/registry/r/timestamp.json +0 -21
  1014. package/registry/r/toast.json +0 -30
  1015. package/registry/r/token-usage-chart.json +0 -20
  1016. package/registry/r/tokens.json +0 -21
  1017. package/registry/r/tool-call-card.json +0 -23
  1018. package/registry/r/tool-call.json +0 -22
  1019. package/registry/r/tool-result.json +0 -20
  1020. package/registry/r/tools-list.json +0 -23
  1021. package/registry/r/tooltip.json +0 -22
  1022. package/registry/r/topnav.json +0 -22
  1023. package/registry/r/types.json +0 -15
  1024. package/registry/r/usage-meter.json +0 -21
  1025. package/registry/r/whiteboard.json +0 -101
@@ -1,741 +0,0 @@
1
- "use client";
2
- import { useMemo, useEffect, useRef, useState, useCallback } from 'react';
3
- import rough from 'roughjs';
4
- import { getStroke } from 'perfect-freehand';
5
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
6
- import { z } from 'zod';
7
-
8
- // src/components/primitives/whiteboard/whiteboard.tsx
9
-
10
- // src/components/primitives/whiteboard/seed.ts
11
- var FNV_OFFSET_BASIS_32 = 2166136261;
12
- var FNV_PRIME_32 = 16777619;
13
- function fnv1a32(input) {
14
- let hash = FNV_OFFSET_BASIS_32;
15
- for (let i = 0; i < input.length; i++) {
16
- hash ^= input.charCodeAt(i);
17
- hash = Math.imul(hash, FNV_PRIME_32);
18
- }
19
- return hash | 0;
20
- }
21
- function deriveSeed(el) {
22
- if (typeof el.seed === "number" && Number.isFinite(el.seed)) {
23
- return el.seed | 0;
24
- }
25
- const key = `${el.type}|${el.x}|${el.y}|${el.w ?? ""}|${el.h ?? ""}|${el.label ?? ""}`;
26
- return fnv1a32(key);
27
- }
28
- var DEFAULT_STROKE_OPTIONS = {
29
- size: 8,
30
- thinning: 0.5,
31
- smoothing: 0.5,
32
- streamline: 0.5
33
- };
34
- function fmt(n) {
35
- return typeof n === "number" && Number.isFinite(n) ? n.toFixed(2) : "0";
36
- }
37
- function svgPathFromStroke(points) {
38
- if (points.length === 0) return "";
39
- const first = points[0] ?? [];
40
- let d = `M ${fmt(first[0])} ${fmt(first[1])}`;
41
- for (let i = 1; i < points.length; i++) {
42
- const p = points[i] ?? [];
43
- d += ` L ${fmt(p[0])} ${fmt(p[1])}`;
44
- }
45
- d += " Z";
46
- return d;
47
- }
48
- function renderFreedraw(el) {
49
- const size = (el.strokeWidth ?? 1.5) * 5;
50
- const inputPoints = el.points.map(([x, y, pressure]) => {
51
- const tx = el.x + x;
52
- const ty = el.y + y;
53
- return pressure === void 0 ? [tx, ty] : [tx, ty, pressure];
54
- });
55
- const stroke = getStroke(inputPoints, {
56
- ...DEFAULT_STROKE_OPTIONS,
57
- size
58
- });
59
- const d = svgPathFromStroke(stroke);
60
- return /* @__PURE__ */ jsx("g", { opacity: el.opacity ?? 1, children: /* @__PURE__ */ jsx("path", { d, fill: el.stroke ?? "currentColor", stroke: "none" }) });
61
- }
62
-
63
- // src/components/primitives/whiteboard/render/rough-paths.ts
64
- function toRoughPaths(generator, drawable) {
65
- const paths = generator.toPaths(drawable);
66
- return paths.map((p) => ({
67
- d: p.d,
68
- stroke: p.stroke,
69
- strokeWidth: p.strokeWidth,
70
- fill: p.fill
71
- }));
72
- }
73
-
74
- // src/components/primitives/whiteboard/render/style.ts
75
- var DEFAULT_STROKE = "currentColor";
76
- function buildOptions(src, seed) {
77
- const o = {
78
- seed,
79
- stroke: src.stroke ?? DEFAULT_STROKE,
80
- strokeWidth: src.strokeWidth ?? 1.5,
81
- roughness: src.roughness ?? 1.2
82
- };
83
- if (src.strokeStyle === "dashed") o.strokeLineDash = [10, 6];
84
- else if (src.strokeStyle === "dotted") o.strokeLineDash = [2, 4];
85
- if (src.fill) o.fill = src.fill;
86
- if (src.fillStyle) o.fillStyle = src.fillStyle;
87
- return o;
88
- }
89
- function strokeDashArray(strokeStyle2, strokeWidth) {
90
- if (strokeStyle2 === "dashed") {
91
- const dash = Math.max(8, strokeWidth * 6);
92
- const gap = Math.max(5, strokeWidth * 4);
93
- return `${dash} ${gap}`;
94
- }
95
- if (strokeStyle2 === "dotted") {
96
- return `${strokeWidth} ${strokeWidth * 2.5}`;
97
- }
98
- return void 0;
99
- }
100
- var HEAD_BASE_PX = 12;
101
- var HEAD_ANGLE_RAD = Math.PI / 7;
102
- function arrowHeadGeometry(fromX, fromY, toX, toY, strokeWidth) {
103
- const dx = toX - fromX;
104
- const dy = toY - fromY;
105
- const dist = Math.sqrt(dx * dx + dy * dy);
106
- if (dist === 0) return null;
107
- const angle = Math.atan2(dy, dx);
108
- const headLen = Math.min(HEAD_BASE_PX + strokeWidth * 2, dist * 0.4);
109
- const leftX = toX - headLen * Math.cos(angle - HEAD_ANGLE_RAD);
110
- const leftY = toY - headLen * Math.sin(angle - HEAD_ANGLE_RAD);
111
- const rightX = toX - headLen * Math.cos(angle + HEAD_ANGLE_RAD);
112
- const rightY = toY - headLen * Math.sin(angle + HEAD_ANGLE_RAD);
113
- return { apexX: toX, apexY: toY, leftX, leftY, rightX, rightY };
114
- }
115
- function lineBody(gen, el, seed) {
116
- const opts = buildOptions(el, seed);
117
- const drawable = gen.line(el.x, el.y, el.to[0], el.to[1], opts);
118
- const dash = strokeDashArray(el.strokeStyle, el.strokeWidth ?? 1.5);
119
- return toRoughPaths(gen, drawable).map((p, i) => /* @__PURE__ */ jsx(
120
- "path",
121
- {
122
- d: p.d,
123
- stroke: p.stroke,
124
- strokeWidth: p.strokeWidth,
125
- fill: "none",
126
- strokeLinecap: "round",
127
- strokeLinejoin: "round",
128
- strokeDasharray: dash
129
- },
130
- `body-${i}`
131
- ));
132
- }
133
- function arrowHead(gen, fromX, fromY, toX, toY, seed, el, side) {
134
- const geom = arrowHeadGeometry(fromX, fromY, toX, toY, el.strokeWidth ?? 1.5);
135
- if (!geom) return [];
136
- const opts = buildOptions(el, seed);
137
- const leftDrawable = gen.line(geom.apexX, geom.apexY, geom.leftX, geom.leftY, opts);
138
- const rightDrawable = gen.line(geom.apexX, geom.apexY, geom.rightX, geom.rightY, opts);
139
- const leftPaths = toRoughPaths(gen, leftDrawable);
140
- const rightPaths = toRoughPaths(gen, rightDrawable);
141
- const nodes = [];
142
- for (const [i, p] of leftPaths.entries()) {
143
- nodes.push(
144
- /* @__PURE__ */ jsx(
145
- "path",
146
- {
147
- d: p.d,
148
- stroke: p.stroke,
149
- strokeWidth: p.strokeWidth,
150
- fill: "none",
151
- strokeLinecap: "round",
152
- strokeLinejoin: "round",
153
- "data-line-part": "arrowhead"
154
- },
155
- `${side}-l-${i}`
156
- )
157
- );
158
- }
159
- for (const [i, p] of rightPaths.entries()) {
160
- nodes.push(
161
- /* @__PURE__ */ jsx(
162
- "path",
163
- {
164
- d: p.d,
165
- stroke: p.stroke,
166
- strokeWidth: p.strokeWidth,
167
- fill: "none",
168
- strokeLinecap: "round",
169
- strokeLinejoin: "round",
170
- "data-line-part": "arrowhead"
171
- },
172
- `${side}-r-${i}`
173
- )
174
- );
175
- }
176
- return nodes;
177
- }
178
- function renderLine(gen, el) {
179
- return /* @__PURE__ */ jsx("g", { opacity: el.opacity ?? 1, children: lineBody(gen, el, el.seed ?? 0) });
180
- }
181
- function renderArrow(gen, el) {
182
- const seed = el.seed ?? 0;
183
- const nodes = [...lineBody(gen, el, seed)];
184
- if (el.headEnd !== false) {
185
- nodes.push(...arrowHead(gen, el.x, el.y, el.to[0], el.to[1], seed + 1, el, "end"));
186
- }
187
- if (el.headStart) {
188
- nodes.push(...arrowHead(gen, el.to[0], el.to[1], el.x, el.y, seed + 2, el, "start"));
189
- }
190
- let label = null;
191
- if (el.label) {
192
- const midX = (el.x + el.to[0]) / 2;
193
- const midY = (el.y + el.to[1]) / 2;
194
- const dx = el.to[0] - el.x;
195
- const dy = el.to[1] - el.y;
196
- const dist = Math.sqrt(dx * dx + dy * dy) || 1;
197
- const nx = -dy / dist;
198
- const ny = dx / dist;
199
- const offset = 12;
200
- label = /* @__PURE__ */ jsx(
201
- "text",
202
- {
203
- x: midX + nx * offset,
204
- y: midY + ny * offset,
205
- textAnchor: "middle",
206
- dominantBaseline: "central",
207
- fontSize: 14,
208
- fontFamily: "ui-sans-serif, system-ui, sans-serif",
209
- fill: el.stroke ?? "currentColor",
210
- style: { pointerEvents: "none" },
211
- children: el.label
212
- }
213
- );
214
- }
215
- return /* @__PURE__ */ jsxs("g", { opacity: el.opacity ?? 1, children: [
216
- nodes,
217
- label
218
- ] });
219
- }
220
- function Label({ cx, cy, label, stroke }) {
221
- return /* @__PURE__ */ jsx(
222
- "text",
223
- {
224
- "data-slot": "label",
225
- x: cx,
226
- y: cy,
227
- textAnchor: "middle",
228
- dominantBaseline: "central",
229
- fontSize: 16,
230
- fontFamily: "ui-sans-serif, system-ui, sans-serif",
231
- fill: stroke ?? "currentColor",
232
- style: { pointerEvents: "none" },
233
- children: label
234
- }
235
- );
236
- }
237
- function pathsToReactNodes(paths, keyPrefix, outlineStroke, dashArray) {
238
- return paths.map((p, i) => {
239
- const isOutline = p.stroke === outlineStroke;
240
- return /* @__PURE__ */ jsx(
241
- "path",
242
- {
243
- d: p.d,
244
- stroke: p.stroke,
245
- strokeWidth: p.strokeWidth,
246
- fill: p.fill ?? "none",
247
- strokeLinecap: "round",
248
- strokeLinejoin: "round",
249
- strokeDasharray: isOutline ? dashArray : void 0
250
- },
251
- `${keyPrefix}-${i}`
252
- );
253
- });
254
- }
255
- function renderRect(gen, el) {
256
- const opts = buildOptions(el, el.seed ?? 0);
257
- const drawable = gen.rectangle(el.x, el.y, el.w, el.h, opts);
258
- const paths = toRoughPaths(gen, drawable);
259
- const dash = strokeDashArray(el.strokeStyle, el.strokeWidth ?? 1.5);
260
- return /* @__PURE__ */ jsxs("g", { opacity: el.opacity ?? 1, children: [
261
- pathsToReactNodes(paths, "rect", opts.stroke, dash),
262
- el.label ? /* @__PURE__ */ jsx(Label, { cx: el.x + el.w / 2, cy: el.y + el.h / 2, label: el.label, stroke: el.stroke }) : null
263
- ] });
264
- }
265
- function renderEllipse(gen, el) {
266
- const opts = buildOptions(el, el.seed ?? 0);
267
- const drawable = gen.ellipse(el.x + el.w / 2, el.y + el.h / 2, el.w, el.h, opts);
268
- const paths = toRoughPaths(gen, drawable);
269
- const dash = strokeDashArray(el.strokeStyle, el.strokeWidth ?? 1.5);
270
- return /* @__PURE__ */ jsxs("g", { opacity: el.opacity ?? 1, children: [
271
- pathsToReactNodes(paths, "ellipse", opts.stroke, dash),
272
- el.label ? /* @__PURE__ */ jsx(Label, { cx: el.x + el.w / 2, cy: el.y + el.h / 2, label: el.label, stroke: el.stroke }) : null
273
- ] });
274
- }
275
- function renderDiamond(gen, el) {
276
- const opts = buildOptions(el, el.seed ?? 0);
277
- const cx = el.x + el.w / 2;
278
- const cy = el.y + el.h / 2;
279
- const points = [
280
- [cx, el.y],
281
- // top
282
- [el.x + el.w, cy],
283
- // right
284
- [cx, el.y + el.h],
285
- // bottom
286
- [el.x, cy]
287
- // left
288
- ];
289
- const drawable = gen.polygon(points, opts);
290
- const paths = toRoughPaths(gen, drawable);
291
- const dash = strokeDashArray(el.strokeStyle, el.strokeWidth ?? 1.5);
292
- return /* @__PURE__ */ jsxs("g", { opacity: el.opacity ?? 1, children: [
293
- pathsToReactNodes(paths, "diamond", opts.stroke, dash),
294
- el.label ? /* @__PURE__ */ jsx(Label, { cx, cy, label: el.label, stroke: el.stroke }) : null
295
- ] });
296
- }
297
- var FONT_STACKS = {
298
- sans: "ui-sans-serif, system-ui, sans-serif",
299
- serif: "ui-serif, Georgia, serif",
300
- mono: "ui-monospace, SFMono-Regular, Menlo, monospace",
301
- hand: '"Virgil", "Caveat", "Comic Sans MS", cursive'
302
- };
303
- function textAnchor(align2) {
304
- if (align2 === "center") return "middle";
305
- if (align2 === "right") return "end";
306
- return "start";
307
- }
308
- function renderText(el) {
309
- const fontSize = el.fontSize ?? 18;
310
- const fontFamily2 = FONT_STACKS[el.fontFamily ?? "hand"];
311
- const anchor = textAnchor(el.align);
312
- const lines = el.text.split("\n");
313
- return /* @__PURE__ */ jsx("g", { opacity: el.opacity ?? 1, children: /* @__PURE__ */ jsx(
314
- "text",
315
- {
316
- x: el.x,
317
- y: el.y,
318
- textAnchor: anchor,
319
- dominantBaseline: "hanging",
320
- fontSize,
321
- fontFamily: fontFamily2,
322
- fill: el.stroke ?? "currentColor",
323
- children: lines.map((line, i) => (
324
- // biome-ignore lint/suspicious/noArrayIndexKey: text is split deterministically on '\n' so the line index is the most stable key.
325
- /* @__PURE__ */ jsx("tspan", { x: el.x, dy: i === 0 ? 0 : fontSize * 1.2, children: line }, i)
326
- ))
327
- }
328
- ) });
329
- }
330
- function elementWithSeed(el) {
331
- if (typeof el.seed === "number") return el;
332
- return { ...el, seed: deriveSeed(el) };
333
- }
334
- function renderElement(el, gen) {
335
- switch (el.type) {
336
- case "rect":
337
- return renderRect(gen, elementWithSeed(el));
338
- case "ellipse":
339
- return renderEllipse(gen, elementWithSeed(el));
340
- case "diamond":
341
- return renderDiamond(gen, elementWithSeed(el));
342
- case "line":
343
- return renderLine(gen, elementWithSeed(el));
344
- case "arrow":
345
- return renderArrow(gen, elementWithSeed(el));
346
- case "text":
347
- return renderText(elementWithSeed(el));
348
- case "freedraw":
349
- return renderFreedraw(elementWithSeed(el));
350
- }
351
- }
352
- function renderScene(scene, gen) {
353
- return /* @__PURE__ */ jsx(Fragment, { children: scene.elements.map((el, i) => /* @__PURE__ */ jsx(
354
- "g",
355
- {
356
- "data-element-id": el.id ?? String(i),
357
- "data-element-type": el.type,
358
- children: renderElement(el, gen)
359
- },
360
- el.id ?? `__idx-${i}`
361
- )) });
362
- }
363
- var finiteNumber = z.number().finite();
364
- var finitePositive = finiteNumber.positive();
365
- var strokeStyle = z.enum(["solid", "dashed", "dotted"]);
366
- var fillStyle = z.enum(["hachure", "solid", "cross-hatch", "zigzag"]);
367
- var align = z.enum(["left", "center", "right"]);
368
- var fontFamily = z.enum(["sans", "serif", "mono", "hand"]);
369
- var roundness = z.enum(["sharp", "round"]);
370
- var baseElement = z.object({
371
- id: z.string().max(120).optional(),
372
- x: finiteNumber,
373
- y: finiteNumber,
374
- stroke: z.string().max(64).optional(),
375
- strokeWidth: finitePositive.max(50).optional(),
376
- strokeStyle: strokeStyle.optional(),
377
- fill: z.string().max(64).optional(),
378
- fillStyle: fillStyle.optional(),
379
- opacity: finiteNumber.min(0).max(1).optional(),
380
- roughness: finiteNumber.min(0).max(3).optional(),
381
- seed: z.number().int().finite().optional()
382
- });
383
- var dim = finitePositive.max(2e4);
384
- var labelText = z.string().max(500);
385
- var rectElement = baseElement.extend({
386
- type: z.literal("rect"),
387
- w: dim,
388
- h: dim,
389
- label: labelText.optional(),
390
- roundness: roundness.optional()
391
- });
392
- var ellipseElement = baseElement.extend({
393
- type: z.literal("ellipse"),
394
- w: dim,
395
- h: dim,
396
- label: labelText.optional()
397
- });
398
- var diamondElement = baseElement.extend({
399
- type: z.literal("diamond"),
400
- w: dim,
401
- h: dim,
402
- label: labelText.optional()
403
- });
404
- var point2 = z.tuple([finiteNumber, finiteNumber]);
405
- var lineElement = baseElement.extend({
406
- type: z.literal("line"),
407
- to: point2
408
- });
409
- var arrowElement = baseElement.extend({
410
- type: z.literal("arrow"),
411
- to: point2,
412
- label: labelText.optional(),
413
- headStart: z.boolean().optional(),
414
- headEnd: z.boolean().default(true)
415
- });
416
- var textElement = baseElement.extend({
417
- type: z.literal("text"),
418
- text: z.string().max(5e3),
419
- fontSize: finitePositive.max(500).optional(),
420
- align: align.optional(),
421
- fontFamily: fontFamily.optional()
422
- });
423
- var freedrawPoint = z.tuple([finiteNumber, finiteNumber, finiteNumber.optional()]);
424
- var freedrawElement = baseElement.extend({
425
- type: z.literal("freedraw"),
426
- points: z.array(freedrawPoint).min(2).max(5e3)
427
- });
428
- var whiteboardElement = z.discriminatedUnion("type", [
429
- rectElement,
430
- ellipseElement,
431
- diamondElement,
432
- lineElement,
433
- arrowElement,
434
- textElement,
435
- freedrawElement
436
- ]);
437
- var whiteboardScene = z.object({
438
- version: z.literal(1),
439
- width: dim,
440
- // EC-4: clamped 1..20000
441
- height: dim,
442
- // EC-4: clamped 1..20000
443
- background: z.string().max(64).optional(),
444
- elements: z.array(whiteboardElement).max(5e3)
445
- });
446
-
447
- // src/components/primitives/whiteboard/validate.ts
448
- function valueAtPath(input, path) {
449
- let cursor = input;
450
- for (const segment of path) {
451
- if (cursor === null || typeof cursor !== "object") return void 0;
452
- cursor = cursor[segment];
453
- }
454
- return cursor;
455
- }
456
- function formatIssue(issue, input) {
457
- const error = {
458
- path: issue.path.join("."),
459
- message: issue.message,
460
- code: issue.code
461
- };
462
- if ("received" in issue && issue.received !== void 0) {
463
- error.got = issue.received;
464
- } else if (issue.path.length > 0) {
465
- const value = valueAtPath(input, issue.path);
466
- if (value !== void 0) error.got = value;
467
- }
468
- return error;
469
- }
470
- function validateScene(input) {
471
- const result = whiteboardScene.safeParse(input);
472
- if (result.success) {
473
- return { ok: true, scene: result.data };
474
- }
475
- const errors = result.error.issues.map(
476
- (issue) => formatIssue(issue, input)
477
- );
478
- return { ok: false, errors };
479
- }
480
- function usePointerPan(ref, viewport, size) {
481
- const dragRef = useRef(null);
482
- const spaceHeldRef = useRef(false);
483
- useEffect(() => {
484
- const el = ref.current;
485
- if (!el) return;
486
- const handler = (e) => {
487
- e.preventDefault();
488
- const rect = el.getBoundingClientRect();
489
- const localX = e.clientX - rect.left;
490
- const localY = e.clientY - rect.top;
491
- const scaleX = size.width / rect.width;
492
- const scaleY = size.height / rect.height;
493
- viewport.zoomAt(localX * scaleX, localY * scaleY, -e.deltaY * 1e-3, size);
494
- };
495
- el.addEventListener("wheel", handler, { passive: false });
496
- return () => el.removeEventListener("wheel", handler);
497
- }, [ref, viewport, size]);
498
- useEffect(() => {
499
- const down = (e) => {
500
- if (e.code === "Space") spaceHeldRef.current = true;
501
- };
502
- const up = (e) => {
503
- if (e.code === "Space") spaceHeldRef.current = false;
504
- };
505
- window.addEventListener("keydown", down);
506
- window.addEventListener("keyup", up);
507
- return () => {
508
- window.removeEventListener("keydown", down);
509
- window.removeEventListener("keyup", up);
510
- };
511
- }, []);
512
- const onPointerDown = useCallback((e) => {
513
- if (e.target instanceof Element && !e.currentTarget.contains(e.target)) return;
514
- const isMouseButton = e.button === 0 || e.button === 1;
515
- if (!isMouseButton && e.pointerType === "mouse") return;
516
- if (e.pointerType === "mouse" && e.button !== 1 && !spaceHeldRef.current && e.button !== 0) {
517
- return;
518
- }
519
- dragRef.current = { pointerId: e.pointerId, lastX: e.clientX, lastY: e.clientY };
520
- e.currentTarget.setPointerCapture(e.pointerId);
521
- }, []);
522
- const onPointerMove = useCallback(
523
- (e) => {
524
- const drag = dragRef.current;
525
- if (!drag || drag.pointerId !== e.pointerId) return;
526
- const dx = e.clientX - drag.lastX;
527
- const dy = e.clientY - drag.lastY;
528
- drag.lastX = e.clientX;
529
- drag.lastY = e.clientY;
530
- const el = ref.current;
531
- if (!el) return;
532
- const rect = el.getBoundingClientRect();
533
- const scaleX = size.width / rect.width;
534
- const scaleY = size.height / rect.height;
535
- viewport.pan(dx * scaleX, dy * scaleY);
536
- },
537
- [ref, viewport, size]
538
- );
539
- const releaseDrag = useCallback((e) => {
540
- const drag = dragRef.current;
541
- if (!drag || drag.pointerId !== e.pointerId) return;
542
- try {
543
- e.currentTarget.releasePointerCapture(e.pointerId);
544
- } catch {
545
- }
546
- dragRef.current = null;
547
- }, []);
548
- return {
549
- onPointerDown,
550
- onPointerMove,
551
- onPointerUp: releaseDrag,
552
- onPointerCancel: releaseDrag
553
- };
554
- }
555
- var MIN_ZOOM = 0.1;
556
- var MAX_ZOOM = 8;
557
- function clampZoom(z2) {
558
- if (!Number.isFinite(z2)) return 1;
559
- return Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, z2));
560
- }
561
- function useViewport(opts) {
562
- const initial = useMemo(() => {
563
- const zoom = clampZoom(opts.initialZoom ?? 1);
564
- if (opts.initialCenter) {
565
- const [cx, cy] = opts.initialCenter;
566
- return {
567
- x: cx - opts.width / (2 * zoom),
568
- y: cy - opts.height / (2 * zoom),
569
- zoom
570
- };
571
- }
572
- return { x: 0, y: 0, zoom };
573
- }, [opts.initialCenter, opts.initialZoom, opts.width, opts.height]);
574
- const [state, setState] = useState(initial);
575
- const pan = useCallback((dx, dy) => {
576
- setState((prev) => ({ ...prev, x: prev.x - dx / prev.zoom, y: prev.y - dy / prev.zoom }));
577
- }, []);
578
- const setZoom = useCallback((zoom) => {
579
- setState((prev) => ({ ...prev, zoom: clampZoom(zoom) }));
580
- }, []);
581
- const zoomAt = useCallback(
582
- (screenX, screenY, delta, _size) => {
583
- setState((prev) => {
584
- const oldZoom = prev.zoom;
585
- const newZoom = clampZoom(prev.zoom * Math.exp(delta));
586
- if (newZoom === oldZoom) return prev;
587
- const worldX = prev.x + screenX / oldZoom;
588
- const worldY = prev.y + screenY / oldZoom;
589
- return {
590
- x: worldX - screenX / newZoom,
591
- y: worldY - screenY / newZoom,
592
- zoom: newZoom
593
- };
594
- });
595
- },
596
- []
597
- );
598
- const reset = useCallback(() => setState(initial), [initial]);
599
- const fitTo = useCallback((bounds, size) => {
600
- const bboxWidth = Math.max(1, bounds.maxX - bounds.minX);
601
- const bboxHeight = Math.max(1, bounds.maxY - bounds.minY);
602
- const zoomX = size.width / bboxWidth;
603
- const zoomY = size.height / bboxHeight;
604
- const zoom = clampZoom(Math.min(zoomX, zoomY));
605
- const cx = (bounds.minX + bounds.maxX) / 2;
606
- const cy = (bounds.minY + bounds.maxY) / 2;
607
- setState({
608
- x: cx - size.width / (2 * zoom),
609
- y: cy - size.height / (2 * zoom),
610
- zoom
611
- });
612
- }, []);
613
- const viewBox = useCallback(
614
- (size) => `${state.x} ${state.y} ${size.width / state.zoom} ${size.height / state.zoom}`,
615
- [state]
616
- );
617
- return { state, pan, setZoom, zoomAt, reset, fitTo, viewBox };
618
- }
619
- function computeBounds(scene) {
620
- if (scene.elements.length === 0) return null;
621
- let minX = Number.POSITIVE_INFINITY;
622
- let minY = Number.POSITIVE_INFINITY;
623
- let maxX = Number.NEGATIVE_INFINITY;
624
- let maxY = Number.NEGATIVE_INFINITY;
625
- for (const el of scene.elements) {
626
- const x1 = el.x;
627
- const y1 = el.y;
628
- let x2 = el.x;
629
- let y2 = el.y;
630
- if (el.type === "rect" || el.type === "ellipse" || el.type === "diamond") {
631
- x2 = el.x + el.w;
632
- y2 = el.y + el.h;
633
- } else if (el.type === "line" || el.type === "arrow") {
634
- x2 = el.to[0];
635
- y2 = el.to[1];
636
- } else if (el.type === "freedraw") {
637
- for (const [px, py] of el.points) {
638
- const tx = el.x + px;
639
- const ty = el.y + py;
640
- if (tx < minX) minX = tx;
641
- if (ty < minY) minY = ty;
642
- if (tx > maxX) maxX = tx;
643
- if (ty > maxY) maxY = ty;
644
- }
645
- continue;
646
- }
647
- if (x1 < minX) minX = x1;
648
- if (y1 < minY) minY = y1;
649
- if (x2 < minX) minX = x2;
650
- if (y2 < minY) minY = y2;
651
- if (x1 > maxX) maxX = x1;
652
- if (y1 > maxY) maxY = y1;
653
- if (x2 > maxX) maxX = x2;
654
- if (y2 > maxY) maxY = y2;
655
- }
656
- if (!Number.isFinite(minX)) return null;
657
- return { minX, minY, maxX, maxY };
658
- }
659
- function Whiteboard({
660
- data,
661
- className,
662
- initialZoom,
663
- initialCenter,
664
- fitOnLoad,
665
- onValidationError,
666
- "aria-label": ariaLabel
667
- }) {
668
- const validation = useMemo(() => validateScene(data), [data]);
669
- const scene = validation.ok ? validation.scene : null;
670
- useEffect(() => {
671
- if (!validation.ok && onValidationError) {
672
- onValidationError(validation.errors);
673
- }
674
- }, [validation, onValidationError]);
675
- const generator = useMemo(() => {
676
- if (typeof globalThis === "undefined") return null;
677
- try {
678
- return rough.generator();
679
- } catch {
680
- return null;
681
- }
682
- }, []);
683
- const sceneWidth = scene?.width ?? 400;
684
- const sceneHeight = scene?.height ?? 300;
685
- const sceneBackground = scene?.background;
686
- const viewport = useViewport({
687
- width: sceneWidth,
688
- height: sceneHeight,
689
- initialZoom,
690
- initialCenter
691
- });
692
- const svgRef = useRef(null);
693
- const fitTo = viewport.fitTo;
694
- useEffect(() => {
695
- if (!fitOnLoad || !scene) return;
696
- const bounds = computeBounds(scene);
697
- if (!bounds) return;
698
- fitTo(bounds, { width: sceneWidth, height: sceneHeight });
699
- }, [fitOnLoad, scene, sceneWidth, sceneHeight, fitTo]);
700
- const handlers = usePointerPan(svgRef, viewport, {
701
- width: sceneWidth,
702
- height: sceneHeight
703
- });
704
- const label = ariaLabel ?? "Whiteboard diagram";
705
- return /* @__PURE__ */ jsxs(
706
- "svg",
707
- {
708
- "data-slot": "whiteboard",
709
- ref: svgRef,
710
- viewBox: viewport.viewBox({ width: sceneWidth, height: sceneHeight }),
711
- width: sceneWidth,
712
- height: sceneHeight,
713
- className,
714
- role: "img",
715
- "aria-label": label,
716
- xmlns: "http://www.w3.org/2000/svg",
717
- "data-whiteboard-state": scene ? "ok" : "invalid",
718
- style: { touchAction: "none", userSelect: "none" },
719
- ...handlers,
720
- children: [
721
- /* @__PURE__ */ jsx("title", { children: label }),
722
- sceneBackground ? /* @__PURE__ */ jsx(
723
- "rect",
724
- {
725
- x: 0,
726
- y: 0,
727
- width: sceneWidth,
728
- height: sceneHeight,
729
- fill: sceneBackground,
730
- "data-layer": "background"
731
- }
732
- ) : null,
733
- scene && generator ? renderScene(scene, generator) : null
734
- ]
735
- }
736
- );
737
- }
738
-
739
- export { Whiteboard, validateScene };
740
- //# sourceMappingURL=index.js.map
741
- //# sourceMappingURL=index.js.map