@usetheo/ui 0.13.1 → 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-2A3E5Y72.js +0 -165
  23. package/dist/chunk-2A3E5Y72.js.map +0 -1
  24. package/dist/chunk-2EUKYGH5.js +0 -98
  25. package/dist/chunk-2EUKYGH5.js.map +0 -1
  26. package/dist/chunk-2NZYMQKT.js +0 -56
  27. package/dist/chunk-2NZYMQKT.js.map +0 -1
  28. package/dist/chunk-2OVFVPSZ.js +0 -26
  29. package/dist/chunk-2OVFVPSZ.js.map +0 -1
  30. package/dist/chunk-2UP7SECE.js +0 -78
  31. package/dist/chunk-2UP7SECE.js.map +0 -1
  32. package/dist/chunk-33ETHPT7.js +0 -112
  33. package/dist/chunk-33ETHPT7.js.map +0 -1
  34. package/dist/chunk-33IIDFSM.js +0 -43
  35. package/dist/chunk-33IIDFSM.js.map +0 -1
  36. package/dist/chunk-345HYADQ.js +0 -88
  37. package/dist/chunk-345HYADQ.js.map +0 -1
  38. package/dist/chunk-3ZXZGZOX.js +0 -57
  39. package/dist/chunk-3ZXZGZOX.js.map +0 -1
  40. package/dist/chunk-45FWKR23.js +0 -62
  41. package/dist/chunk-45FWKR23.js.map +0 -1
  42. package/dist/chunk-4DTLUBRW.js +0 -122
  43. package/dist/chunk-4DTLUBRW.js.map +0 -1
  44. package/dist/chunk-4EH6F54D.js +0 -69
  45. package/dist/chunk-4EH6F54D.js.map +0 -1
  46. package/dist/chunk-4EKF4EIE.js +0 -140
  47. package/dist/chunk-4EKF4EIE.js.map +0 -1
  48. package/dist/chunk-4SMYNLTA.js +0 -83
  49. package/dist/chunk-4SMYNLTA.js.map +0 -1
  50. package/dist/chunk-4UBFLXS3.js +0 -35
  51. package/dist/chunk-4UBFLXS3.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-5XCTTXC3.js +0 -180
  55. package/dist/chunk-5XCTTXC3.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-6IODJQWC.js +0 -47
  59. package/dist/chunk-6IODJQWC.js.map +0 -1
  60. package/dist/chunk-75IDWFYX.js +0 -134
  61. package/dist/chunk-75IDWFYX.js.map +0 -1
  62. package/dist/chunk-7BGCWJQR.js +0 -113
  63. package/dist/chunk-7BGCWJQR.js.map +0 -1
  64. package/dist/chunk-7BQXMG2A.js +0 -93
  65. package/dist/chunk-7BQXMG2A.js.map +0 -1
  66. package/dist/chunk-7RFWVNQA.js +0 -47
  67. package/dist/chunk-7RFWVNQA.js.map +0 -1
  68. package/dist/chunk-7T4NK6W6.js +0 -192
  69. package/dist/chunk-7T4NK6W6.js.map +0 -1
  70. package/dist/chunk-A3OU6ICP.js +0 -91
  71. package/dist/chunk-A3OU6ICP.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-AENNHS3S.js +0 -83
  75. package/dist/chunk-AENNHS3S.js.map +0 -1
  76. package/dist/chunk-AXNJFBYX.js +0 -136
  77. package/dist/chunk-AXNJFBYX.js.map +0 -1
  78. package/dist/chunk-AXUAQM45.js +0 -154
  79. package/dist/chunk-AXUAQM45.js.map +0 -1
  80. package/dist/chunk-B2FL7KBJ.js +0 -65
  81. package/dist/chunk-B2FL7KBJ.js.map +0 -1
  82. package/dist/chunk-BE232OKN.js +0 -42
  83. package/dist/chunk-BE232OKN.js.map +0 -1
  84. package/dist/chunk-BP4RQSX7.js +0 -200
  85. package/dist/chunk-BP4RQSX7.js.map +0 -1
  86. package/dist/chunk-BPJ3RN3U.js +0 -112
  87. package/dist/chunk-BPJ3RN3U.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-BWIDDAR7.js +0 -86
  91. package/dist/chunk-BWIDDAR7.js.map +0 -1
  92. package/dist/chunk-BYUWQ6OP.js +0 -45
  93. package/dist/chunk-BYUWQ6OP.js.map +0 -1
  94. package/dist/chunk-C5ULP2P5.js +0 -140
  95. package/dist/chunk-C5ULP2P5.js.map +0 -1
  96. package/dist/chunk-CCG7PXLX.js +0 -24
  97. package/dist/chunk-CCG7PXLX.js.map +0 -1
  98. package/dist/chunk-CED2LKHI.js +0 -117
  99. package/dist/chunk-CED2LKHI.js.map +0 -1
  100. package/dist/chunk-CGWIOIEO.js +0 -27
  101. package/dist/chunk-CGWIOIEO.js.map +0 -1
  102. package/dist/chunk-CSEGVTKO.js +0 -110
  103. package/dist/chunk-CSEGVTKO.js.map +0 -1
  104. package/dist/chunk-CVFSNA4K.js +0 -716
  105. package/dist/chunk-CVFSNA4K.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-ESJUISWY.js +0 -45
  111. package/dist/chunk-ESJUISWY.js.map +0 -1
  112. package/dist/chunk-ET7A3TQZ.js +0 -158
  113. package/dist/chunk-ET7A3TQZ.js.map +0 -1
  114. package/dist/chunk-ETTL6XGU.js +0 -139
  115. package/dist/chunk-ETTL6XGU.js.map +0 -1
  116. package/dist/chunk-EWDN56AS.js +0 -24
  117. package/dist/chunk-EWDN56AS.js.map +0 -1
  118. package/dist/chunk-FJZKA2LV.js +0 -165
  119. package/dist/chunk-FJZKA2LV.js.map +0 -1
  120. package/dist/chunk-G2WCT6PJ.js +0 -69
  121. package/dist/chunk-G2WCT6PJ.js.map +0 -1
  122. package/dist/chunk-GC52HWIL.js +0 -41
  123. package/dist/chunk-GC52HWIL.js.map +0 -1
  124. package/dist/chunk-GCKFA7X7.js +0 -83
  125. package/dist/chunk-GCKFA7X7.js.map +0 -1
  126. package/dist/chunk-GDMCDW66.js +0 -19
  127. package/dist/chunk-GDMCDW66.js.map +0 -1
  128. package/dist/chunk-GIXHBTHH.js +0 -59
  129. package/dist/chunk-GIXHBTHH.js.map +0 -1
  130. package/dist/chunk-GLEOUWPN.js +0 -108
  131. package/dist/chunk-GLEOUWPN.js.map +0 -1
  132. package/dist/chunk-GLRUM43F.js +0 -121
  133. package/dist/chunk-GLRUM43F.js.map +0 -1
  134. package/dist/chunk-H3L7WZDZ.js +0 -74
  135. package/dist/chunk-H3L7WZDZ.js.map +0 -1
  136. package/dist/chunk-H55WXDME.js +0 -45
  137. package/dist/chunk-H55WXDME.js.map +0 -1
  138. package/dist/chunk-H5QPJNVD.js +0 -98
  139. package/dist/chunk-H5QPJNVD.js.map +0 -1
  140. package/dist/chunk-HB45JHMM.js +0 -43
  141. package/dist/chunk-HB45JHMM.js.map +0 -1
  142. package/dist/chunk-HETHTYEZ.js +0 -80
  143. package/dist/chunk-HETHTYEZ.js.map +0 -1
  144. package/dist/chunk-HHSKNB32.js +0 -55
  145. package/dist/chunk-HHSKNB32.js.map +0 -1
  146. package/dist/chunk-HILOUYES.js +0 -151
  147. package/dist/chunk-HILOUYES.js.map +0 -1
  148. package/dist/chunk-HTJVHFNW.js +0 -178
  149. package/dist/chunk-HTJVHFNW.js.map +0 -1
  150. package/dist/chunk-HZ7Z22VW.js +0 -130
  151. package/dist/chunk-HZ7Z22VW.js.map +0 -1
  152. package/dist/chunk-JFKBFQA5.js +0 -129
  153. package/dist/chunk-JFKBFQA5.js.map +0 -1
  154. package/dist/chunk-JIZKW3WC.js +0 -74
  155. package/dist/chunk-JIZKW3WC.js.map +0 -1
  156. package/dist/chunk-JQTCCKZA.js +0 -154
  157. package/dist/chunk-JQTCCKZA.js.map +0 -1
  158. package/dist/chunk-JR4H3FJ2.js +0 -74
  159. package/dist/chunk-JR4H3FJ2.js.map +0 -1
  160. package/dist/chunk-JRW53TVG.js +0 -53
  161. package/dist/chunk-JRW53TVG.js.map +0 -1
  162. package/dist/chunk-JXOCE27Z.js +0 -82
  163. package/dist/chunk-JXOCE27Z.js.map +0 -1
  164. package/dist/chunk-JYW5YNF7.js +0 -188
  165. package/dist/chunk-JYW5YNF7.js.map +0 -1
  166. package/dist/chunk-K72DJOXR.js +0 -81
  167. package/dist/chunk-K72DJOXR.js.map +0 -1
  168. package/dist/chunk-KDE3NYTI.js +0 -144
  169. package/dist/chunk-KDE3NYTI.js.map +0 -1
  170. package/dist/chunk-KFUFTZLS.js +0 -111
  171. package/dist/chunk-KFUFTZLS.js.map +0 -1
  172. package/dist/chunk-KHBXI6AV.js +0 -149
  173. package/dist/chunk-KHBXI6AV.js.map +0 -1
  174. package/dist/chunk-M74ZYBOK.js +0 -93
  175. package/dist/chunk-M74ZYBOK.js.map +0 -1
  176. package/dist/chunk-ML7WLNIK.js +0 -11
  177. package/dist/chunk-ML7WLNIK.js.map +0 -1
  178. package/dist/chunk-MXB2GVEQ.js +0 -57
  179. package/dist/chunk-MXB2GVEQ.js.map +0 -1
  180. package/dist/chunk-NEMXW2LB.js +0 -102
  181. package/dist/chunk-NEMXW2LB.js.map +0 -1
  182. package/dist/chunk-OJPPSJMF.js +0 -65
  183. package/dist/chunk-OJPPSJMF.js.map +0 -1
  184. package/dist/chunk-OMR6ZGME.js +0 -63
  185. package/dist/chunk-OMR6ZGME.js.map +0 -1
  186. package/dist/chunk-ORVYP73T.js +0 -223
  187. package/dist/chunk-ORVYP73T.js.map +0 -1
  188. package/dist/chunk-OZFUUO2Q.js +0 -50
  189. package/dist/chunk-OZFUUO2Q.js.map +0 -1
  190. package/dist/chunk-P44UAK45.js +0 -115
  191. package/dist/chunk-P44UAK45.js.map +0 -1
  192. package/dist/chunk-PJUP4BJD.js +0 -116
  193. package/dist/chunk-PJUP4BJD.js.map +0 -1
  194. package/dist/chunk-PJWYIOY4.js +0 -3
  195. package/dist/chunk-PJWYIOY4.js.map +0 -1
  196. package/dist/chunk-PVCW4O37.js +0 -147
  197. package/dist/chunk-PVCW4O37.js.map +0 -1
  198. package/dist/chunk-PXT47DRZ.js +0 -59
  199. package/dist/chunk-PXT47DRZ.js.map +0 -1
  200. package/dist/chunk-PZGUZHI7.js +0 -142
  201. package/dist/chunk-PZGUZHI7.js.map +0 -1
  202. package/dist/chunk-Q2BAL2PF.js +0 -965
  203. package/dist/chunk-Q2BAL2PF.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-QCQTTOMD.js +0 -236
  207. package/dist/chunk-QCQTTOMD.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-QRXIYPWP.js +0 -121
  213. package/dist/chunk-QRXIYPWP.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-REFY5MLN.js +0 -212
  217. package/dist/chunk-REFY5MLN.js.map +0 -1
  218. package/dist/chunk-RJ6RAMKH.js +0 -89
  219. package/dist/chunk-RJ6RAMKH.js.map +0 -1
  220. package/dist/chunk-RJBCTMVW.js +0 -59
  221. package/dist/chunk-RJBCTMVW.js.map +0 -1
  222. package/dist/chunk-RLWULF5B.js +0 -113
  223. package/dist/chunk-RLWULF5B.js.map +0 -1
  224. package/dist/chunk-RPZMFGYI.js +0 -31
  225. package/dist/chunk-RPZMFGYI.js.map +0 -1
  226. package/dist/chunk-RQT5DWGG.js +0 -34
  227. package/dist/chunk-RQT5DWGG.js.map +0 -1
  228. package/dist/chunk-SBKVVVYY.js +0 -89
  229. package/dist/chunk-SBKVVVYY.js.map +0 -1
  230. package/dist/chunk-SOJW47EZ.js +0 -70
  231. package/dist/chunk-SOJW47EZ.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-TJLULCZW.js +0 -108
  239. package/dist/chunk-TJLULCZW.js.map +0 -1
  240. package/dist/chunk-TY6NTWN5.js +0 -29
  241. package/dist/chunk-TY6NTWN5.js.map +0 -1
  242. package/dist/chunk-U3AEEFVB.js +0 -152
  243. package/dist/chunk-U3AEEFVB.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-V3HFDVZ3.js +0 -102
  247. package/dist/chunk-V3HFDVZ3.js.map +0 -1
  248. package/dist/chunk-V6H2RUVP.js +0 -77
  249. package/dist/chunk-V6H2RUVP.js.map +0 -1
  250. package/dist/chunk-VB53UMAL.js +0 -106
  251. package/dist/chunk-VB53UMAL.js.map +0 -1
  252. package/dist/chunk-VBEMLZGX.js +0 -86
  253. package/dist/chunk-VBEMLZGX.js.map +0 -1
  254. package/dist/chunk-VBQFE5RV.js +0 -92
  255. package/dist/chunk-VBQFE5RV.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-VHTAVROO.js +0 -53
  259. package/dist/chunk-VHTAVROO.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-VZX4HLBM.js +0 -84
  263. package/dist/chunk-VZX4HLBM.js.map +0 -1
  264. package/dist/chunk-W47V2F3Q.js +0 -115
  265. package/dist/chunk-W47V2F3Q.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-XC7SYZYR.js +0 -86
  271. package/dist/chunk-XC7SYZYR.js.map +0 -1
  272. package/dist/chunk-XJA4B3F5.js +0 -68
  273. package/dist/chunk-XJA4B3F5.js.map +0 -1
  274. package/dist/chunk-XSENM65D.js +0 -128
  275. package/dist/chunk-XSENM65D.js.map +0 -1
  276. package/dist/chunk-YD2QEVHO.js +0 -68
  277. package/dist/chunk-YD2QEVHO.js.map +0 -1
  278. package/dist/chunk-YDKRUSB5.js +0 -35
  279. package/dist/chunk-YDKRUSB5.js.map +0 -1
  280. package/dist/chunk-YES6SPDT.js +0 -55
  281. package/dist/chunk-YES6SPDT.js.map +0 -1
  282. package/dist/chunk-YNDHYMPI.js +0 -46
  283. package/dist/chunk-YNDHYMPI.js.map +0 -1
  284. package/dist/chunk-YO3WEMOH.js +0 -130
  285. package/dist/chunk-YO3WEMOH.js.map +0 -1
  286. package/dist/chunk-YUFFAWNB.js +0 -90
  287. package/dist/chunk-YUFFAWNB.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-ZAMPCRFJ.js +0 -121
  293. package/dist/chunk-ZAMPCRFJ.js.map +0 -1
  294. package/dist/chunk-ZEFOXF2I.js +0 -87
  295. package/dist/chunk-ZEFOXF2I.js.map +0 -1
  296. package/dist/chunk-ZJXOHLQE.js +0 -66
  297. package/dist/chunk-ZJXOHLQE.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,1122 +0,0 @@
1
- "use client";
2
- import { Slide, extractFrontmatter } from '../chunk-CVFSNA4K.js';
3
- import { createContext, useContext, useRef, useState, useEffect, useCallback, useMemo, useReducer, useId } from 'react';
4
- import { jsxs, jsx } from 'react/jsx-runtime';
5
- import { z } from 'zod';
6
-
7
- var DeckContext = createContext(null);
8
- function useDeckContext() {
9
- const ctx = useContext(DeckContext);
10
- if (!ctx) {
11
- throw new Error(
12
- "SlideDeck sub-components must be used inside <SlideDeck>. Wrap them in <SlideDeck slides={...}>."
13
- );
14
- }
15
- return ctx;
16
- }
17
- var Controls = ({ className }) => {
18
- const { state, dispatch } = useDeckContext();
19
- const atStart = state.currentIndex <= 0;
20
- const atEnd = state.currentIndex >= state.totalSlides - 1;
21
- return /* @__PURE__ */ jsxs(
22
- "div",
23
- {
24
- "data-slot": "controls",
25
- className: ["theo-slide-deck-controls", className].filter(Boolean).join(" "),
26
- "data-theo-slide-deck-controls": true,
27
- style: {
28
- display: "flex",
29
- alignItems: "center",
30
- gap: 8
31
- },
32
- children: [
33
- /* @__PURE__ */ jsx(
34
- "button",
35
- {
36
- type: "button",
37
- "aria-label": "Previous slide",
38
- disabled: atStart,
39
- onClick: () => dispatch({ type: "PREV_SLIDE" }),
40
- className: "theo-slide-deck-controls-prev",
41
- children: "\u2190"
42
- }
43
- ),
44
- /* @__PURE__ */ jsx(
45
- "span",
46
- {
47
- "aria-live": "polite",
48
- className: "theo-slide-deck-controls-indicator",
49
- style: { fontVariantNumeric: "tabular-nums", minWidth: 64, textAlign: "center" },
50
- children: state.totalSlides === 0 ? "0 / 0" : `${state.currentIndex + 1} / ${state.totalSlides}`
51
- }
52
- ),
53
- /* @__PURE__ */ jsx(
54
- "button",
55
- {
56
- type: "button",
57
- "aria-label": "Next slide",
58
- disabled: atEnd,
59
- onClick: () => dispatch({ type: "NEXT_SLIDE" }),
60
- className: "theo-slide-deck-controls-next",
61
- children: "\u2192"
62
- }
63
- )
64
- ]
65
- }
66
- );
67
- };
68
-
69
- // src/components/composites/slide-deck/fragments.ts
70
- var FRAGMENT_MARKER_RE = /^\s*\*\s+\S/gm;
71
- function countFragmentsInMarkdown(markdown) {
72
- if (!markdown) return 0;
73
- const stripped = markdown.replace(/```[\s\S]*?```/g, "");
74
- const matches = stripped.match(FRAGMENT_MARKER_RE);
75
- return matches ? matches.length : 0;
76
- }
77
- function formatElapsed(ms) {
78
- const s = Math.floor(ms / 1e3);
79
- const mm = Math.floor(s / 60).toString().padStart(2, "0");
80
- const ss = (s % 60).toString().padStart(2, "0");
81
- return `${mm}:${ss}`;
82
- }
83
- var PresenterView = ({ className }) => {
84
- const { state, slides } = useDeckContext();
85
- const startedAt = useRef(null);
86
- const [elapsed, setElapsed] = useState(0);
87
- useEffect(() => {
88
- if (state.presenterMode) {
89
- if (startedAt.current === null) {
90
- startedAt.current = Date.now();
91
- }
92
- const interval = window.setInterval(() => {
93
- if (startedAt.current !== null) {
94
- setElapsed(Date.now() - startedAt.current);
95
- }
96
- }, 1e3);
97
- return () => window.clearInterval(interval);
98
- }
99
- startedAt.current = null;
100
- setElapsed(0);
101
- return void 0;
102
- }, [state.presenterMode]);
103
- if (!state.presenterMode) return null;
104
- const current = slides[state.currentIndex];
105
- const next = slides[state.currentIndex + 1];
106
- const notes = current?.notes;
107
- return /* @__PURE__ */ jsxs(
108
- "aside",
109
- {
110
- className: ["theo-slide-deck-presenter", className].filter(Boolean).join(" "),
111
- "data-theo-slide-deck-presenter": true,
112
- "aria-label": "Presenter view",
113
- style: {
114
- display: "grid",
115
- gridTemplateColumns: "1fr 1fr",
116
- gridTemplateRows: "auto 1fr",
117
- gap: 16,
118
- padding: 16,
119
- background: "color-mix(in srgb, currentColor 6%, transparent)",
120
- borderRadius: 8
121
- },
122
- children: [
123
- /* @__PURE__ */ jsxs(
124
- "header",
125
- {
126
- style: {
127
- gridColumn: "1 / -1",
128
- display: "flex",
129
- justifyContent: "space-between",
130
- alignItems: "center"
131
- },
132
- children: [
133
- /* @__PURE__ */ jsx("h3", { style: { margin: 0, fontSize: 14, fontWeight: 600 }, children: "Presenter view" }),
134
- /* @__PURE__ */ jsx(
135
- "span",
136
- {
137
- "aria-label": "Elapsed time",
138
- style: { fontVariantNumeric: "tabular-nums", fontSize: 14 },
139
- children: formatElapsed(elapsed)
140
- }
141
- )
142
- ]
143
- }
144
- ),
145
- /* @__PURE__ */ jsxs("section", { "aria-label": "Current slide preview", children: [
146
- /* @__PURE__ */ jsx("h4", { style: { margin: "0 0 8px", fontSize: 12, opacity: 0.7 }, children: "Current" }),
147
- /* @__PURE__ */ jsx(
148
- "div",
149
- {
150
- style: {
151
- aspectRatio: "16 / 9",
152
- overflow: "hidden",
153
- border: "1px solid rgba(127,127,127,0.3)",
154
- borderRadius: 6
155
- },
156
- children: current ? /* @__PURE__ */ jsx(Slide, { markdown: current.markdown, "aria-label": "Current slide" }) : null
157
- }
158
- )
159
- ] }),
160
- /* @__PURE__ */ jsxs("section", { "aria-label": "Next slide preview", children: [
161
- /* @__PURE__ */ jsx("h4", { style: { margin: "0 0 8px", fontSize: 12, opacity: 0.7 }, children: "Next" }),
162
- /* @__PURE__ */ jsx(
163
- "div",
164
- {
165
- style: {
166
- aspectRatio: "16 / 9",
167
- overflow: "hidden",
168
- border: "1px solid rgba(127,127,127,0.3)",
169
- borderRadius: 6,
170
- opacity: next ? 1 : 0.4
171
- },
172
- children: next ? /* @__PURE__ */ jsx(Slide, { markdown: next.markdown, "aria-label": "Next slide" }) : /* @__PURE__ */ jsx("div", { style: { padding: 16, fontSize: 14, opacity: 0.6 }, children: "End of deck" })
173
- }
174
- )
175
- ] }),
176
- notes ? /* @__PURE__ */ jsxs(
177
- "section",
178
- {
179
- "aria-label": "Speaker notes",
180
- style: {
181
- gridColumn: "1 / -1",
182
- background: "color-mix(in srgb, currentColor 8%, transparent)",
183
- padding: 12,
184
- borderRadius: 6,
185
- fontSize: 14,
186
- whiteSpace: "pre-wrap"
187
- },
188
- children: [
189
- /* @__PURE__ */ jsx("strong", { children: "Notes: " }),
190
- notes
191
- ]
192
- }
193
- ) : null
194
- ]
195
- }
196
- );
197
- };
198
-
199
- // src/components/composites/slide-deck/print-styles.ts
200
- var STYLE_ID = "theo-slide-deck-print-styles";
201
- var PRINT_CSS = `
202
- @media print {
203
- @page {
204
- size: 1280px 720px;
205
- margin: 0;
206
- }
207
- body > * {
208
- visibility: hidden;
209
- }
210
- .theo-slide-deck-print-container,
211
- .theo-slide-deck-print-container * {
212
- visibility: visible;
213
- }
214
- .theo-slide-deck-print-container {
215
- position: absolute;
216
- inset: 0;
217
- }
218
- .theo-slide-deck-print-slide {
219
- page-break-after: always;
220
- break-after: page;
221
- width: 1280px;
222
- height: 720px;
223
- overflow: hidden;
224
- }
225
- .theo-slide-deck-print-slide:last-child {
226
- page-break-after: auto;
227
- break-after: auto;
228
- }
229
- }
230
- `;
231
- function injectPrintStyles() {
232
- if (typeof document === "undefined") {
233
- throw new Error("injectPrintStyles requires a document (browser env)");
234
- }
235
- let style = document.getElementById(STYLE_ID);
236
- if (!style) {
237
- style = document.createElement("style");
238
- style.id = STYLE_ID;
239
- style.textContent = PRINT_CSS;
240
- document.head.appendChild(style);
241
- }
242
- return style;
243
- }
244
- function removePrintStyles() {
245
- if (typeof document === "undefined") return;
246
- const style = document.getElementById(STYLE_ID);
247
- if (style) style.remove();
248
- }
249
- function printDeck(opts = {}) {
250
- if (typeof window === "undefined" || typeof document === "undefined") return;
251
- injectPrintStyles();
252
- const cleanup = () => {
253
- removePrintStyles();
254
- window.removeEventListener("afterprint", cleanup);
255
- opts.onAfterPrint?.();
256
- };
257
- window.addEventListener("afterprint", cleanup);
258
- window.print();
259
- }
260
- var ProgressBar = ({ className }) => {
261
- const { state } = useDeckContext();
262
- const value = state.totalSlides === 0 ? 0 : state.currentIndex + 1;
263
- const max = Math.max(1, state.totalSlides);
264
- return /* @__PURE__ */ jsx(
265
- "progress",
266
- {
267
- "data-slot": "progress-bar",
268
- className: ["theo-slide-deck-progress", className].filter(Boolean).join(" "),
269
- "data-theo-slide-deck-progress": true,
270
- value,
271
- max,
272
- "aria-label": "Slide progress"
273
- }
274
- );
275
- };
276
- var SlideNumber = ({ className }) => {
277
- const { state } = useDeckContext();
278
- if (state.totalSlides === 0) return null;
279
- return /* @__PURE__ */ jsxs(
280
- "div",
281
- {
282
- className: ["theo-slide-deck-slide-number", className].filter(Boolean).join(" "),
283
- "data-theo-slide-deck-slide-number": true,
284
- "aria-hidden": "true",
285
- style: {
286
- position: "absolute",
287
- bottom: 12,
288
- right: 16,
289
- fontVariantNumeric: "tabular-nums",
290
- fontSize: 14,
291
- opacity: 0.6
292
- },
293
- children: [
294
- state.currentIndex + 1,
295
- " / ",
296
- state.totalSlides
297
- ]
298
- }
299
- );
300
- };
301
-
302
- // src/components/composites/slide-deck/notes.ts
303
- var NOTES_RE = /<!--\s*notes?:\s*([\s\S]*?)\s*-->/gi;
304
- function extractNotes(md) {
305
- const matches = [...md.matchAll(NOTES_RE)];
306
- if (matches.length === 0) {
307
- return { body: md, notes: void 0 };
308
- }
309
- const notes = matches.map((m) => (m[1] ?? "").trim()).filter((s) => s.length > 0).join("\n\n");
310
- const body = md.replace(NOTES_RE, "").trim();
311
- return { body, notes: notes.length > 0 ? notes : void 0 };
312
- }
313
-
314
- // src/components/composites/slide-deck/split-deck.ts
315
- async function splitDeck(markdown) {
316
- const { body: bodyAfterFM } = extractFrontmatter(markdown);
317
- if (bodyAfterFM.trim().length === 0) {
318
- return [];
319
- }
320
- const { fromMarkdown } = await import('mdast-util-from-markdown');
321
- const tree = fromMarkdown(bodyAfterFM);
322
- const breakOffsets = [];
323
- for (const node of tree.children) {
324
- if (node.type === "thematicBreak") {
325
- const start = node.position?.start.offset;
326
- const end = node.position?.end.offset;
327
- if (typeof start === "number" && typeof end === "number") {
328
- breakOffsets.push(start);
329
- breakOffsets.push(end);
330
- }
331
- }
332
- }
333
- if (breakOffsets.length === 0) {
334
- const { body, notes } = extractNotes(bodyAfterFM);
335
- if (body.trim().length === 0 && !notes) return [];
336
- return [{ markdown: body, notes }];
337
- }
338
- const slides = [];
339
- const positions = [0];
340
- for (let i = 0; i < breakOffsets.length; i += 2) {
341
- const start = breakOffsets[i];
342
- const end = breakOffsets[i + 1];
343
- if (typeof start === "number") positions.push(start);
344
- if (typeof end === "number") positions.push(end);
345
- }
346
- positions.push(bodyAfterFM.length);
347
- for (let i = 0; i < positions.length - 1; i += 2) {
348
- const start = positions[i];
349
- const end = positions[i + 1];
350
- if (typeof start !== "number" || typeof end !== "number") continue;
351
- const chunk = bodyAfterFM.slice(start, end).trim();
352
- if (chunk.length === 0) continue;
353
- const { body, notes } = extractNotes(chunk);
354
- if (body.trim().length === 0 && !notes) continue;
355
- slides.push({ markdown: body, notes });
356
- }
357
- return slides;
358
- }
359
- var CANVAS_W = 1280;
360
- var CANVAS_H = 720;
361
- var ThumbnailItem = ({
362
- markdown,
363
- index,
364
- isCurrent,
365
- scale,
366
- eager,
367
- onSelect,
368
- registerRef
369
- }) => {
370
- const [revealed, setRevealed] = useState(eager);
371
- const setRef = useCallback(
372
- (el) => {
373
- registerRef(index, el);
374
- if (eager) return;
375
- if (!el) return;
376
- if (typeof IntersectionObserver === "undefined") {
377
- setRevealed(true);
378
- return;
379
- }
380
- const io = new IntersectionObserver(
381
- (entries) => {
382
- for (const entry of entries) {
383
- if (entry.isIntersecting) {
384
- setRevealed(true);
385
- io.disconnect();
386
- break;
387
- }
388
- }
389
- },
390
- { rootMargin: "200px" }
391
- );
392
- io.observe(el);
393
- },
394
- [index, eager, registerRef]
395
- );
396
- const w = Math.round(CANVAS_W * scale);
397
- const h = Math.round(CANVAS_H * scale);
398
- return /* @__PURE__ */ jsx(
399
- "button",
400
- {
401
- "data-slot": "thumbnail-item",
402
- ref: setRef,
403
- type: "button",
404
- onClick: () => onSelect(index),
405
- "data-theo-slide-deck-thumbnail": true,
406
- "data-current": isCurrent || void 0,
407
- "aria-label": `Slide ${index + 1}`,
408
- "aria-current": isCurrent ? "page" : void 0,
409
- className: "theo-slide-deck-thumbnail",
410
- style: {
411
- width: w,
412
- height: h,
413
- padding: 0,
414
- border: isCurrent ? "2px solid currentColor" : "1px solid rgba(127,127,127,0.3)",
415
- borderRadius: 6,
416
- overflow: "hidden",
417
- position: "relative",
418
- cursor: "pointer",
419
- flexShrink: 0,
420
- background: "transparent"
421
- },
422
- children: /* @__PURE__ */ jsx(
423
- "div",
424
- {
425
- style: {
426
- width: CANVAS_W,
427
- height: CANVAS_H,
428
- transform: `scale(${scale})`,
429
- transformOrigin: "top left",
430
- pointerEvents: "none"
431
- },
432
- children: revealed ? /* @__PURE__ */ jsx(Slide, { markdown, "aria-label": `Thumbnail ${index + 1}` }) : /* @__PURE__ */ jsx(
433
- "div",
434
- {
435
- "data-theo-slide-deck-thumbnail-placeholder": true,
436
- style: {
437
- width: "100%",
438
- height: "100%",
439
- background: "rgba(127,127,127,0.08)"
440
- }
441
- }
442
- )
443
- }
444
- )
445
- }
446
- );
447
- };
448
- var Thumbnails = ({ className, scale = 0.18 }) => {
449
- const { state, dispatch, slides } = useDeckContext();
450
- const refs = useRef(/* @__PURE__ */ new Map());
451
- const registerRef = useCallback((index, el) => {
452
- if (el) {
453
- refs.current.set(index, el);
454
- } else {
455
- refs.current.delete(index);
456
- }
457
- }, []);
458
- const onSelect = useCallback(
459
- (index) => {
460
- dispatch({ type: "JUMP_TO", index });
461
- },
462
- [dispatch]
463
- );
464
- useEffect(() => {
465
- const el = refs.current.get(state.currentIndex);
466
- if (el && "scrollIntoView" in el) {
467
- el.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
468
- }
469
- }, [state.currentIndex]);
470
- const eagerAll = useMemo(() => typeof IntersectionObserver === "undefined", []);
471
- return /* @__PURE__ */ jsx(
472
- "ul",
473
- {
474
- "data-slot": "thumbnails",
475
- className: ["theo-slide-deck-thumbnails", className].filter(Boolean).join(" "),
476
- "data-theo-slide-deck-thumbnails": true,
477
- "aria-label": "Slide thumbnails",
478
- style: {
479
- display: "flex",
480
- flexDirection: "column",
481
- gap: 8,
482
- overflowY: "auto",
483
- padding: 8,
484
- listStyle: "none",
485
- margin: 0
486
- },
487
- children: slides.map((slide, index) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
488
- ThumbnailItem,
489
- {
490
- markdown: slide.markdown,
491
- index,
492
- isCurrent: index === state.currentIndex,
493
- scale,
494
- eager: eagerAll || index < 3,
495
- onSelect,
496
- registerRef
497
- }
498
- ) }, `${slide.id ?? index}-${index}`))
499
- }
500
- );
501
- };
502
- function readHashIndex(hash) {
503
- if (!hash || hash === "#" || hash === "#/") return void 0;
504
- const match = hash.match(/^#\/(\d+)/);
505
- if (!match) return void 0;
506
- const oneBased = Number.parseInt(match[1] ?? "", 10);
507
- if (!Number.isFinite(oneBased) || oneBased < 1) return void 0;
508
- return oneBased - 1;
509
- }
510
- function readInitialHash() {
511
- if (typeof window === "undefined") return void 0;
512
- return readHashIndex(window.location.hash);
513
- }
514
- function formatHash(zeroBasedIndex) {
515
- return `#/${zeroBasedIndex + 1}`;
516
- }
517
- function useDeckHashRouting(dispatch, opts) {
518
- const { enabled = true, totalSlides, currentIndex } = opts;
519
- useEffect(() => {
520
- if (!enabled) return;
521
- if (typeof window === "undefined") return;
522
- const handler = () => {
523
- const idx = readHashIndex(window.location.hash);
524
- if (typeof idx !== "number") return;
525
- const clamped = Math.max(0, Math.min(idx, Math.max(0, totalSlides - 1)));
526
- dispatch({ type: "JUMP_TO", index: clamped });
527
- };
528
- window.addEventListener("hashchange", handler);
529
- return () => window.removeEventListener("hashchange", handler);
530
- }, [enabled, totalSlides, dispatch]);
531
- useEffect(() => {
532
- if (!enabled) return;
533
- if (typeof window === "undefined") return;
534
- const targetHash = formatHash(currentIndex);
535
- if (window.location.hash === targetHash) return;
536
- window.history.replaceState(null, "", targetHash);
537
- }, [enabled, currentIndex]);
538
- }
539
- function isEditableTarget(target) {
540
- if (!(target instanceof HTMLElement)) return false;
541
- const tag = target.tagName;
542
- if (tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT") return true;
543
- if (target.isContentEditable) return true;
544
- return false;
545
- }
546
- function useDeckKeyboard(dispatch, opts) {
547
- const { enabled = true, totalSlides, onToggleFullscreen, onPrint } = opts;
548
- useEffect(() => {
549
- if (!enabled) return;
550
- const handler = (event) => {
551
- if (isEditableTarget(event.target)) return;
552
- const key = event.key;
553
- const isPrintCombo = (event.ctrlKey || event.metaKey) && (key === "p" || key === "P");
554
- if (isPrintCombo) {
555
- event.preventDefault();
556
- onPrint?.();
557
- return;
558
- }
559
- switch (key) {
560
- case "ArrowRight":
561
- case " ":
562
- case "Spacebar":
563
- case "PageDown":
564
- dispatch({ type: "NEXT_SLIDE" });
565
- break;
566
- case "ArrowLeft":
567
- case "PageUp":
568
- dispatch({ type: "PREV_SLIDE" });
569
- break;
570
- case "Home":
571
- dispatch({ type: "JUMP_TO", index: 0 });
572
- break;
573
- case "End":
574
- dispatch({ type: "JUMP_TO", index: Math.max(0, totalSlides - 1) });
575
- break;
576
- case "Escape":
577
- dispatch({ type: "SET_FULLSCREEN", value: false });
578
- break;
579
- case "f":
580
- case "F":
581
- onToggleFullscreen?.();
582
- break;
583
- case "n":
584
- case "N":
585
- case "p":
586
- case "P":
587
- dispatch({ type: "TOGGLE_PRESENTER" });
588
- break;
589
- default:
590
- return;
591
- }
592
- };
593
- document.addEventListener("keydown", handler);
594
- return () => document.removeEventListener("keydown", handler);
595
- }, [enabled, totalSlides, dispatch, onToggleFullscreen, onPrint]);
596
- }
597
- function deckReducer(state, action) {
598
- switch (action.type) {
599
- case "NEXT_SLIDE": {
600
- if (state.currentFragment < state.totalFragmentsInCurrent) {
601
- return { ...state, currentFragment: state.currentFragment + 1 };
602
- }
603
- const next = Math.min(state.currentIndex + 1, Math.max(0, state.totalSlides - 1));
604
- if (next === state.currentIndex) return state;
605
- return {
606
- ...state,
607
- currentIndex: next,
608
- currentFragment: 0,
609
- transitionDirection: "next"
610
- };
611
- }
612
- case "PREV_SLIDE": {
613
- if (state.currentFragment > 0) {
614
- return { ...state, currentFragment: state.currentFragment - 1 };
615
- }
616
- const prev = Math.max(state.currentIndex - 1, 0);
617
- if (prev === state.currentIndex) return state;
618
- return {
619
- ...state,
620
- currentIndex: prev,
621
- currentFragment: 0,
622
- transitionDirection: "prev"
623
- };
624
- }
625
- case "JUMP_TO": {
626
- const clamped = Math.max(0, Math.min(action.index, Math.max(0, state.totalSlides - 1)));
627
- if (clamped === state.currentIndex) return state;
628
- return {
629
- ...state,
630
- currentIndex: clamped,
631
- currentFragment: 0,
632
- transitionDirection: "none"
633
- };
634
- }
635
- case "NEXT_FRAGMENT": {
636
- if (state.currentFragment >= state.totalFragmentsInCurrent) return state;
637
- return { ...state, currentFragment: state.currentFragment + 1 };
638
- }
639
- case "PREV_FRAGMENT": {
640
- if (state.currentFragment <= 0) return state;
641
- return { ...state, currentFragment: state.currentFragment - 1 };
642
- }
643
- case "RESET_FRAGMENTS":
644
- return { ...state, currentFragment: 0 };
645
- case "TOGGLE_PRESENTER":
646
- return { ...state, presenterMode: !state.presenterMode };
647
- case "SET_FULLSCREEN":
648
- return state.fullscreen === action.value ? state : { ...state, fullscreen: action.value };
649
- case "UPDATE_TOTAL_SLIDES": {
650
- const next = Math.max(0, action.total);
651
- const clampedIdx = Math.max(0, Math.min(state.currentIndex, Math.max(0, next - 1)));
652
- return { ...state, totalSlides: next, currentIndex: clampedIdx };
653
- }
654
- case "UPDATE_TOTAL_FRAGMENTS":
655
- return { ...state, totalFragmentsInCurrent: Math.max(0, action.total) };
656
- case "TRANSITION_END":
657
- return state.transitionDirection === "none" ? state : { ...state, transitionDirection: "none" };
658
- }
659
- }
660
- function initDeckState(init) {
661
- const total = Math.max(0, init.totalSlides);
662
- let idx = init.initialIndex ?? 0;
663
- if (init.initFromHash) {
664
- const fromHash = init.initFromHash();
665
- if (typeof fromHash === "number" && Number.isFinite(fromHash)) {
666
- idx = fromHash;
667
- }
668
- }
669
- const clamped = Math.max(0, Math.min(idx, Math.max(0, total - 1)));
670
- return {
671
- currentIndex: clamped,
672
- currentFragment: 0,
673
- presenterMode: false,
674
- fullscreen: false,
675
- transitionDirection: "none",
676
- totalSlides: total,
677
- totalFragmentsInCurrent: 0
678
- };
679
- }
680
- function useDeckState(opts) {
681
- const [state, dispatch] = useReducer(deckReducer, opts, initDeckState);
682
- return [state, dispatch];
683
- }
684
- var SWIPE_THRESHOLD_PX = 50;
685
- var SWIPE_VELOCITY_PX_PER_MS = 0.3;
686
- function useDeckSwipe(ref, dispatch, opts = {}) {
687
- const { enabled = true } = opts;
688
- useEffect(() => {
689
- if (!enabled) return;
690
- const el = ref.current;
691
- if (!el) return;
692
- let tracked = null;
693
- const onPointerDown = (e) => {
694
- if (tracked !== null) return;
695
- tracked = {
696
- pointerId: e.pointerId,
697
- startX: e.clientX,
698
- startY: e.clientY,
699
- startedAt: e.timeStamp
700
- };
701
- };
702
- const onPointerUp = (e) => {
703
- if (!tracked || e.pointerId !== tracked.pointerId) return;
704
- const dx = e.clientX - tracked.startX;
705
- const dy = e.clientY - tracked.startY;
706
- const dt = Math.max(1, e.timeStamp - tracked.startedAt);
707
- tracked = null;
708
- const absDx = Math.abs(dx);
709
- const absDy = Math.abs(dy);
710
- const velocity = absDx / dt;
711
- if (absDx < absDy * 2) return;
712
- if (absDx < SWIPE_THRESHOLD_PX) return;
713
- if (velocity < SWIPE_VELOCITY_PX_PER_MS) return;
714
- if (dx < 0) {
715
- dispatch({ type: "NEXT_SLIDE" });
716
- } else if (dx > 0) {
717
- dispatch({ type: "PREV_SLIDE" });
718
- }
719
- };
720
- const onPointerCancel = (e) => {
721
- if (tracked && e.pointerId === tracked.pointerId) {
722
- tracked = null;
723
- }
724
- };
725
- el.addEventListener("pointerdown", onPointerDown);
726
- el.addEventListener("pointerup", onPointerUp);
727
- el.addEventListener("pointercancel", onPointerCancel);
728
- return () => {
729
- el.removeEventListener("pointerdown", onPointerDown);
730
- el.removeEventListener("pointerup", onPointerUp);
731
- el.removeEventListener("pointercancel", onPointerCancel);
732
- };
733
- }, [enabled, ref, dispatch]);
734
- }
735
- function isFullscreenSupported() {
736
- if (typeof document === "undefined") return false;
737
- const doc = document;
738
- const el = document.documentElement;
739
- return Boolean(el.requestFullscreen ?? el.webkitRequestFullscreen) && Boolean(doc.exitFullscreen ?? doc.webkitExitFullscreen);
740
- }
741
- function currentFullscreenElement() {
742
- if (typeof document === "undefined") return null;
743
- const doc = document;
744
- return document.fullscreenElement ?? doc.webkitFullscreenElement ?? null;
745
- }
746
- function useFullscreen(ref) {
747
- const supported = isFullscreenSupported();
748
- const [isFullscreen, setFullscreen] = useState(false);
749
- useEffect(() => {
750
- if (!supported) return;
751
- const handler = () => {
752
- setFullscreen(currentFullscreenElement() !== null);
753
- };
754
- document.addEventListener("fullscreenchange", handler);
755
- document.addEventListener("webkitfullscreenchange", handler);
756
- return () => {
757
- document.removeEventListener("fullscreenchange", handler);
758
- document.removeEventListener("webkitfullscreenchange", handler);
759
- };
760
- }, [supported]);
761
- const toggle = useCallback(async () => {
762
- if (!supported) return;
763
- const el = ref.current;
764
- if (!el) return;
765
- const doc = document;
766
- try {
767
- if (currentFullscreenElement()) {
768
- await (doc.exitFullscreen?.() ?? doc.webkitExitFullscreen?.());
769
- } else {
770
- await (el.requestFullscreen?.() ?? el.webkitRequestFullscreen?.());
771
- }
772
- } catch {
773
- }
774
- }, [ref, supported]);
775
- return { isFullscreen, toggle, isSupported: supported };
776
- }
777
- function generateDeckId() {
778
- if (typeof crypto !== "undefined" && "randomUUID" in crypto) {
779
- return crypto.randomUUID();
780
- }
781
- return `deck-${Math.random().toString(36).slice(2, 10)}`;
782
- }
783
- var SlideDeckBase = ({
784
- slides: slidesInput,
785
- initialIndex = 0,
786
- transition = "fade",
787
- enableKeyboard = true,
788
- enableTouch = true,
789
- enableHashRouting = true,
790
- deckId: deckIdProp,
791
- onIndexChange,
792
- children,
793
- className,
794
- "aria-label": ariaLabel = "Slide deck",
795
- plugins
796
- }) => {
797
- const generatedId = useId();
798
- const deckId = deckIdProp ?? generatedId ?? generateDeckId();
799
- const rootRef = useRef(null);
800
- const [parsedSlides, setParsedSlides] = useState(() => {
801
- return Array.isArray(slidesInput) ? slidesInput : [];
802
- });
803
- useEffect(() => {
804
- if (Array.isArray(slidesInput)) {
805
- setParsedSlides(slidesInput);
806
- return;
807
- }
808
- let cancelled = false;
809
- splitDeck(slidesInput).then(
810
- (result) => {
811
- if (!cancelled) setParsedSlides(result);
812
- },
813
- () => {
814
- if (!cancelled) setParsedSlides([]);
815
- }
816
- );
817
- return () => {
818
- cancelled = true;
819
- };
820
- }, [slidesInput]);
821
- const [state, dispatch] = useDeckState({
822
- initialIndex,
823
- totalSlides: parsedSlides.length,
824
- initFromHash: enableHashRouting ? readInitialHash : void 0
825
- });
826
- const previousLengthRef = useRef(0);
827
- useEffect(() => {
828
- const length = parsedSlides.length;
829
- dispatch({ type: "UPDATE_TOTAL_SLIDES", total: length });
830
- if (previousLengthRef.current === 0 && length > 0) {
831
- let target = initialIndex;
832
- if (enableHashRouting) {
833
- const hashIdx = readInitialHash();
834
- if (typeof hashIdx === "number") target = hashIdx;
835
- }
836
- if (target > 0) {
837
- dispatch({ type: "JUMP_TO", index: target });
838
- }
839
- }
840
- previousLengthRef.current = length;
841
- }, [parsedSlides.length, dispatch, initialIndex, enableHashRouting]);
842
- useEffect(() => {
843
- const current = parsedSlides[state.currentIndex];
844
- const count = current ? countFragmentsInMarkdown(current.markdown) : 0;
845
- dispatch({ type: "UPDATE_TOTAL_FRAGMENTS", total: count });
846
- }, [parsedSlides, state.currentIndex, dispatch]);
847
- const fullscreen = useFullscreen(rootRef);
848
- useEffect(() => {
849
- dispatch({ type: "SET_FULLSCREEN", value: fullscreen.isFullscreen });
850
- }, [fullscreen.isFullscreen, dispatch]);
851
- useEffect(() => {
852
- if (state.transitionDirection === "none") return;
853
- const t = setTimeout(() => dispatch({ type: "TRANSITION_END" }), 300);
854
- return () => clearTimeout(t);
855
- }, [state.transitionDirection, dispatch]);
856
- const onPrint = useCallback(() => {
857
- printDeck();
858
- }, []);
859
- useDeckKeyboard(dispatch, {
860
- enabled: enableKeyboard,
861
- totalSlides: parsedSlides.length,
862
- onToggleFullscreen: fullscreen.toggle,
863
- onPrint
864
- });
865
- useDeckSwipe(rootRef, dispatch, { enabled: enableTouch });
866
- useDeckHashRouting(dispatch, {
867
- enabled: enableHashRouting,
868
- totalSlides: parsedSlides.length,
869
- currentIndex: state.currentIndex
870
- });
871
- const lastIndexRef = useRef(state.currentIndex);
872
- useEffect(() => {
873
- if (lastIndexRef.current !== state.currentIndex) {
874
- lastIndexRef.current = state.currentIndex;
875
- onIndexChange?.(state.currentIndex, parsedSlides[state.currentIndex]);
876
- }
877
- }, [state.currentIndex, parsedSlides, onIndexChange]);
878
- const contextValue = useMemo(
879
- () => ({
880
- state,
881
- dispatch,
882
- slides: parsedSlides,
883
- transition,
884
- deckId,
885
- plugins,
886
- toggleFullscreen: fullscreen.toggle,
887
- print: onPrint
888
- }),
889
- [state, dispatch, parsedSlides, transition, deckId, plugins, fullscreen.toggle, onPrint]
890
- );
891
- return /* @__PURE__ */ jsx(DeckContext.Provider, { "data-slot": "slide-deck-base", value: contextValue, children: /* @__PURE__ */ jsxs(
892
- "div",
893
- {
894
- ref: rootRef,
895
- "aria-roledescription": "slide deck",
896
- "aria-label": ariaLabel,
897
- "data-theo-slide-deck": true,
898
- "data-theo-slide-deck-fullscreen": state.fullscreen ? "true" : void 0,
899
- className: ["theo-slide-deck", className].filter(Boolean).join(" "),
900
- style: { position: "relative", width: "100%", height: "100%" },
901
- children: [
902
- /* @__PURE__ */ jsx(
903
- "div",
904
- {
905
- role: "status",
906
- "aria-live": "polite",
907
- "aria-atomic": "true",
908
- style: {
909
- position: "absolute",
910
- width: 1,
911
- height: 1,
912
- padding: 0,
913
- margin: -1,
914
- overflow: "hidden",
915
- clip: "rect(0,0,0,0)",
916
- whiteSpace: "nowrap",
917
- border: 0
918
- },
919
- children: parsedSlides.length > 0 ? `Slide ${state.currentIndex + 1} of ${parsedSlides.length}` : "Empty deck"
920
- }
921
- ),
922
- children ?? /* @__PURE__ */ jsx(DefaultDeckLayout, {}),
923
- /* @__PURE__ */ jsx(PrintContainer, { slides: parsedSlides, plugins })
924
- ]
925
- }
926
- ) });
927
- };
928
- var SlidesView = ({ className }) => {
929
- const { state, slides, transition, plugins } = useDeckContext();
930
- const current = slides[state.currentIndex];
931
- return /* @__PURE__ */ jsx(
932
- "div",
933
- {
934
- "data-slot": "slides-view",
935
- className: ["theo-slide-deck-slide-frame", className].filter(Boolean).join(" "),
936
- "data-theo-slide-deck-transition": transition,
937
- "data-theo-slide-deck-direction": state.transitionDirection,
938
- style: {
939
- position: "relative",
940
- width: "100%",
941
- height: "100%",
942
- minHeight: 0,
943
- overflow: "hidden"
944
- },
945
- children: current ? /* @__PURE__ */ jsx(
946
- "div",
947
- {
948
- "data-theo-slide-deck-slide-state": "incoming",
949
- style: { position: "absolute", inset: 0 },
950
- children: /* @__PURE__ */ jsx(
951
- Slide,
952
- {
953
- markdown: current.markdown,
954
- plugins,
955
- "aria-label": `Slide ${state.currentIndex + 1}`
956
- }
957
- )
958
- },
959
- state.currentIndex
960
- ) : /* @__PURE__ */ jsx(
961
- "div",
962
- {
963
- "data-theo-slide-deck-empty": true,
964
- style: {
965
- display: "grid",
966
- placeItems: "center",
967
- height: "100%",
968
- opacity: 0.6,
969
- fontSize: 14
970
- },
971
- children: "Empty deck"
972
- }
973
- )
974
- }
975
- );
976
- };
977
- var PresenterButton = ({ className }) => {
978
- const { state, dispatch } = useDeckContext();
979
- return /* @__PURE__ */ jsx(
980
- "button",
981
- {
982
- "data-slot": "presenter-button",
983
- type: "button",
984
- onClick: () => dispatch({ type: "TOGGLE_PRESENTER" }),
985
- "aria-pressed": state.presenterMode,
986
- "aria-label": state.presenterMode ? "Close presenter view" : "Open presenter view",
987
- className: ["theo-slide-deck-presenter-button", className].filter(Boolean).join(" "),
988
- children: state.presenterMode ? "Close presenter" : "Presenter"
989
- }
990
- );
991
- };
992
- var FullscreenButton = ({ className }) => {
993
- const { state, toggleFullscreen } = useDeckContext();
994
- return /* @__PURE__ */ jsx(
995
- "button",
996
- {
997
- "data-slot": "fullscreen-button",
998
- type: "button",
999
- onClick: () => void toggleFullscreen(),
1000
- "aria-pressed": state.fullscreen,
1001
- "aria-label": state.fullscreen ? "Exit fullscreen" : "Enter fullscreen",
1002
- className: ["theo-slide-deck-fullscreen-button", className].filter(Boolean).join(" "),
1003
- children: state.fullscreen ? "Exit fullscreen" : "Fullscreen"
1004
- }
1005
- );
1006
- };
1007
- var PrintButton = ({ className }) => {
1008
- const { print } = useDeckContext();
1009
- return /* @__PURE__ */ jsx(
1010
- "button",
1011
- {
1012
- "data-slot": "print-button",
1013
- type: "button",
1014
- onClick: () => print(),
1015
- "aria-label": "Print or save deck as PDF",
1016
- className: ["theo-slide-deck-print-button", className].filter(Boolean).join(" "),
1017
- children: "Print"
1018
- }
1019
- );
1020
- };
1021
- var PrintContainer = ({
1022
- slides,
1023
- plugins
1024
- }) => {
1025
- return /* @__PURE__ */ jsx(
1026
- "div",
1027
- {
1028
- "data-slot": "print-container",
1029
- className: "theo-slide-deck-print-container",
1030
- "aria-hidden": "true",
1031
- style: {
1032
- position: "absolute",
1033
- inset: 0,
1034
- pointerEvents: "none",
1035
- visibility: "hidden"
1036
- },
1037
- children: slides.map((slide, index) => /* @__PURE__ */ jsx(
1038
- "div",
1039
- {
1040
- className: "theo-slide-deck-print-slide",
1041
- style: { width: 1280, height: 720 },
1042
- children: /* @__PURE__ */ jsx(
1043
- Slide,
1044
- {
1045
- markdown: slide.markdown,
1046
- plugins,
1047
- "aria-label": `Print slide ${index + 1}`
1048
- }
1049
- )
1050
- },
1051
- `print-${slide.id ?? index}`
1052
- ))
1053
- }
1054
- );
1055
- };
1056
- var DefaultDeckLayout = () => {
1057
- return /* @__PURE__ */ jsxs(
1058
- "div",
1059
- {
1060
- "data-slot": "default-deck-layout",
1061
- className: "theo-slide-deck-default-layout",
1062
- style: {
1063
- display: "grid",
1064
- gridTemplateColumns: "1fr",
1065
- gridTemplateRows: "1fr auto",
1066
- gap: 8,
1067
- height: "100%"
1068
- },
1069
- children: [
1070
- /* @__PURE__ */ jsx(SlidesView, {}),
1071
- /* @__PURE__ */ jsxs(
1072
- "div",
1073
- {
1074
- style: {
1075
- display: "flex",
1076
- alignItems: "center",
1077
- justifyContent: "space-between",
1078
- gap: 8,
1079
- padding: "4px 8px",
1080
- flexWrap: "wrap"
1081
- },
1082
- children: [
1083
- /* @__PURE__ */ jsx(Controls, {}),
1084
- /* @__PURE__ */ jsx(ProgressBar, {}),
1085
- /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: 4 }, children: [
1086
- /* @__PURE__ */ jsx(PresenterButton, {}),
1087
- /* @__PURE__ */ jsx(FullscreenButton, {}),
1088
- /* @__PURE__ */ jsx(PrintButton, {})
1089
- ] })
1090
- ]
1091
- }
1092
- ),
1093
- /* @__PURE__ */ jsx(SlideNumber, {}),
1094
- /* @__PURE__ */ jsx(PresenterView, {})
1095
- ]
1096
- }
1097
- );
1098
- };
1099
- var SlideDeck = SlideDeckBase;
1100
- SlideDeck.Slides = SlidesView;
1101
- SlideDeck.Controls = Controls;
1102
- SlideDeck.ProgressBar = ProgressBar;
1103
- SlideDeck.SlideNumber = SlideNumber;
1104
- SlideDeck.Thumbnails = Thumbnails;
1105
- SlideDeck.PresenterView = PresenterView;
1106
- SlideDeck.PresenterButton = PresenterButton;
1107
- SlideDeck.FullscreenButton = FullscreenButton;
1108
- SlideDeck.PrintButton = PrintButton;
1109
- var slideDeckSlide = z.object({
1110
- /** Markdown content of this slide. Capped at 50 KB (same as Slide body). */
1111
- markdown: z.string().max(5e4),
1112
- /** Optional id for hash routing (defaults to numeric index, 1-based). */
1113
- id: z.string().regex(/^[a-z0-9-]+$/, "id must be lowercase kebab-case").max(64).optional(),
1114
- /** Speaker notes (plain text extracted from <!-- notes: ... --> comments). */
1115
- notes: z.string().max(5e3).optional()
1116
- });
1117
- var slideDeckInput = z.union([z.string().max(5e5), z.array(slideDeckSlide).max(500)]);
1118
- var slideDeckTransition = z.enum(["none", "fade", "slide"]);
1119
-
1120
- export { Controls, DeckContext, PresenterView, ProgressBar, SlideDeck, SlideNumber, Thumbnails, countFragmentsInMarkdown, deckReducer, extractNotes, formatHash, injectPrintStyles, printDeck, readHashIndex, readInitialHash, removePrintStyles, slideDeckInput, slideDeckSlide, slideDeckTransition, splitDeck, useDeckContext, useDeckHashRouting, useDeckKeyboard, useDeckState, useDeckSwipe, useFullscreen };
1121
- //# sourceMappingURL=index.js.map
1122
- //# sourceMappingURL=index.js.map