@terra-symposium/docs 0.1.17 → 0.1.71

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 (560) hide show
  1. package/README.md +3 -3
  2. package/lib-dist/assets/fonts/AUTHENTICSans-130.woff +0 -0
  3. package/lib-dist/assets/fonts/AUTHENTICSans-130.woff2 +0 -0
  4. package/lib-dist/assets/fonts/AUTHENTICSans-150.woff +0 -0
  5. package/lib-dist/assets/fonts/AUTHENTICSans-150.woff2 +0 -0
  6. package/lib-dist/assets/fonts/AUTHENTICSans-90.woff +0 -0
  7. package/lib-dist/assets/fonts/AUTHENTICSans-90.woff2 +0 -0
  8. package/lib-dist/assets/fonts/Avara-Bold.woff +0 -0
  9. package/lib-dist/assets/fonts/Avara-BoldItalic.woff +0 -0
  10. package/lib-dist/assets/fonts/InterVariable-Italic-latin-20260728.woff2 +0 -0
  11. package/lib-dist/assets/fonts/InterVariable-latin-20260728.woff2 +0 -0
  12. package/lib-dist/assets/fonts/README.md +7 -0
  13. package/lib-dist/assets/fonts/licenses/Inter-OFL-1.1.txt +92 -0
  14. package/lib-dist/assets/fonts/licenses/OFL-1.1.txt +93 -0
  15. package/lib-dist/{Docs.d.ts → components/Docs.d.ts} +1 -1
  16. package/lib-dist/components/Docs.d.ts.map +1 -0
  17. package/lib-dist/components/Docs.js +9 -0
  18. package/lib-dist/components/Docs.js.map +1 -0
  19. package/lib-dist/{LocalDocsWorkspace.d.ts → components/LocalDocsWorkspace.d.ts} +9 -2
  20. package/lib-dist/components/LocalDocsWorkspace.d.ts.map +1 -0
  21. package/lib-dist/{LocalDocsWorkspace.js → components/LocalDocsWorkspace.js} +83 -24
  22. package/lib-dist/components/LocalDocsWorkspace.js.map +1 -0
  23. package/lib-dist/components/NotFound.d.ts +8 -0
  24. package/lib-dist/components/NotFound.d.ts.map +1 -0
  25. package/lib-dist/components/NotFound.js +6 -0
  26. package/lib-dist/components/NotFound.js.map +1 -0
  27. package/lib-dist/components/SiteLayout.d.ts +25 -0
  28. package/lib-dist/components/SiteLayout.d.ts.map +1 -0
  29. package/lib-dist/components/SiteLayout.js +12 -0
  30. package/lib-dist/components/SiteLayout.js.map +1 -0
  31. package/lib-dist/{StaticWorkspace.d.ts → components/StaticWorkspace.d.ts} +7 -3
  32. package/lib-dist/components/StaticWorkspace.d.ts.map +1 -0
  33. package/lib-dist/{StaticWorkspace.js → components/StaticWorkspace.js} +100 -34
  34. package/lib-dist/components/StaticWorkspace.js.map +1 -0
  35. package/lib-dist/components/StrictLocalWorkspaceHarness.d.ts +10 -0
  36. package/lib-dist/components/StrictLocalWorkspaceHarness.d.ts.map +1 -0
  37. package/lib-dist/components/StrictLocalWorkspaceHarness.js +12 -0
  38. package/lib-dist/components/StrictLocalWorkspaceHarness.js.map +1 -0
  39. package/lib-dist/components/blocks.d.ts.map +1 -0
  40. package/lib-dist/{blocks.js → components/blocks.js} +88 -13
  41. package/lib-dist/components/blocks.js.map +1 -0
  42. package/lib-dist/{navigation.d.ts → components/navigation.d.ts} +2 -1
  43. package/lib-dist/components/navigation.d.ts.map +1 -0
  44. package/lib-dist/components/navigation.js.map +1 -0
  45. package/lib-dist/{terra → components/terra}/Workspace.d.ts +1 -1
  46. package/lib-dist/components/terra/Workspace.d.ts.map +1 -0
  47. package/lib-dist/components/terra/Workspace.js +190 -0
  48. package/lib-dist/components/terra/Workspace.js.map +1 -0
  49. package/lib-dist/components/terra/editor/TerraContentEditor.d.ts +15 -0
  50. package/lib-dist/components/terra/editor/TerraContentEditor.d.ts.map +1 -0
  51. package/lib-dist/components/terra/editor/TerraContentEditor.js +358 -0
  52. package/lib-dist/components/terra/editor/TerraContentEditor.js.map +1 -0
  53. package/lib-dist/{terra → components/terra}/editor/_blocks.d.ts +3 -4
  54. package/lib-dist/components/terra/editor/_blocks.d.ts.map +1 -0
  55. package/lib-dist/components/terra/editor/_blocks.js +120 -0
  56. package/lib-dist/components/terra/editor/_blocks.js.map +1 -0
  57. package/lib-dist/components/terra/editor/docs/BlockContext.d.ts +7 -0
  58. package/lib-dist/components/terra/editor/docs/BlockContext.d.ts.map +1 -0
  59. package/lib-dist/components/terra/editor/docs/BlockContext.js +60 -0
  60. package/lib-dist/components/terra/editor/docs/BlockContext.js.map +1 -0
  61. package/lib-dist/components/terra/editor/docs/DocsAttachmentPicker.d.ts +12 -0
  62. package/lib-dist/components/terra/editor/docs/DocsAttachmentPicker.d.ts.map +1 -0
  63. package/lib-dist/components/terra/editor/docs/DocsAttachmentPicker.js +66 -0
  64. package/lib-dist/components/terra/editor/docs/DocsAttachmentPicker.js.map +1 -0
  65. package/lib-dist/components/terra/editor/docs/TerraToolbar.d.ts +12 -0
  66. package/lib-dist/components/terra/editor/docs/TerraToolbar.d.ts.map +1 -0
  67. package/lib-dist/components/terra/editor/docs/TerraToolbar.js +169 -0
  68. package/lib-dist/components/terra/editor/docs/TerraToolbar.js.map +1 -0
  69. package/lib-dist/{terra → components/terra}/editor/docs/_Callout.d.ts +1 -1
  70. package/lib-dist/components/terra/editor/docs/_Callout.d.ts.map +1 -0
  71. package/lib-dist/{terra → components/terra}/editor/docs/_Callout.js +10 -6
  72. package/lib-dist/components/terra/editor/docs/_Callout.js.map +1 -0
  73. package/lib-dist/components/terra/editor/docs/_CodeBlock.d.ts.map +1 -0
  74. package/lib-dist/{terra → components/terra}/editor/docs/_CodeBlock.js +110 -44
  75. package/lib-dist/components/terra/editor/docs/_CodeBlock.js.map +1 -0
  76. package/lib-dist/{terra → components/terra}/editor/docs/_DocsCode.d.ts +1 -1
  77. package/lib-dist/components/terra/editor/docs/_DocsCode.d.ts.map +1 -0
  78. package/lib-dist/{terra → components/terra}/editor/docs/_DocsCode.js +44 -11
  79. package/lib-dist/components/terra/editor/docs/_DocsCode.js.map +1 -0
  80. package/lib-dist/{terra → components/terra}/editor/docs/_DocsImage.d.ts +1 -1
  81. package/lib-dist/components/terra/editor/docs/_DocsImage.d.ts.map +1 -0
  82. package/lib-dist/components/terra/editor/docs/_DocsImage.js +62 -0
  83. package/lib-dist/components/terra/editor/docs/_DocsImage.js.map +1 -0
  84. package/lib-dist/{terra → components/terra}/editor/docs/_Embed.d.ts +3 -1
  85. package/lib-dist/components/terra/editor/docs/_Embed.d.ts.map +1 -0
  86. package/lib-dist/components/terra/editor/docs/_Embed.js +73 -0
  87. package/lib-dist/components/terra/editor/docs/_Embed.js.map +1 -0
  88. package/lib-dist/{terra → components/terra}/editor/docs/_Math.d.ts +2 -2
  89. package/lib-dist/components/terra/editor/docs/_Math.d.ts.map +1 -0
  90. package/lib-dist/{terra → components/terra}/editor/docs/_Math.js +26 -14
  91. package/lib-dist/components/terra/editor/docs/_Math.js.map +1 -0
  92. package/lib-dist/{terra → components/terra}/editor/docs/_Nodes.d.ts +1 -1
  93. package/lib-dist/components/terra/editor/docs/_Nodes.d.ts.map +1 -0
  94. package/lib-dist/components/terra/editor/docs/_Nodes.js +62 -0
  95. package/lib-dist/components/terra/editor/docs/_Nodes.js.map +1 -0
  96. package/lib-dist/{terra → components/terra}/editor/docs/_Raw.d.ts +1 -1
  97. package/lib-dist/components/terra/editor/docs/_Raw.d.ts.map +1 -0
  98. package/lib-dist/{terra → components/terra}/editor/docs/_Raw.js +8 -3
  99. package/lib-dist/components/terra/editor/docs/_Raw.js.map +1 -0
  100. package/lib-dist/{terra → components/terra}/editor/docs/_Table.d.ts +1 -1
  101. package/lib-dist/components/terra/editor/docs/_Table.d.ts.map +1 -0
  102. package/lib-dist/components/terra/editor/docs/_Table.js +99 -0
  103. package/lib-dist/components/terra/editor/docs/_Table.js.map +1 -0
  104. package/lib-dist/{terra → components/terra}/editor/docs/_Tabs.d.ts +1 -1
  105. package/lib-dist/components/terra/editor/docs/_Tabs.d.ts.map +1 -0
  106. package/lib-dist/{terra → components/terra}/editor/docs/_Tabs.js +35 -14
  107. package/lib-dist/components/terra/editor/docs/_Tabs.js.map +1 -0
  108. package/lib-dist/{terra → components/terra}/editor/docs/_TsDocs.d.ts +1 -1
  109. package/lib-dist/components/terra/editor/docs/_TsDocs.d.ts.map +1 -0
  110. package/lib-dist/{terra → components/terra}/editor/docs/_TsDocs.js +15 -13
  111. package/lib-dist/components/terra/editor/docs/_TsDocs.js.map +1 -0
  112. package/lib-dist/{terra → components/terra}/editor/docs/_math_inline.d.ts +1 -1
  113. package/lib-dist/components/terra/editor/docs/_math_inline.d.ts.map +1 -0
  114. package/lib-dist/{terra → components/terra}/editor/docs/_math_inline.js +2 -2
  115. package/lib-dist/components/terra/editor/docs/_math_inline.js.map +1 -0
  116. package/lib-dist/{terra → components/terra}/editor/docs/heading.d.ts +1 -1
  117. package/lib-dist/components/terra/editor/docs/heading.d.ts.map +1 -0
  118. package/lib-dist/{terra → components/terra}/editor/docs/heading.js +8 -5
  119. package/lib-dist/components/terra/editor/docs/heading.js.map +1 -0
  120. package/lib-dist/components/terra/editor/docs/index.d.ts.map +1 -0
  121. package/lib-dist/components/terra/editor/docs/index.js.map +1 -0
  122. package/lib-dist/components/terra/editor/terra-content.styles.d.ts +3 -0
  123. package/lib-dist/components/terra/editor/terra-content.styles.d.ts.map +1 -0
  124. package/lib-dist/components/terra/editor/terra-content.styles.js +3 -0
  125. package/lib-dist/components/terra/editor/terra-content.styles.js.map +1 -0
  126. package/lib-dist/{terra → components/terra}/editor/types.d.ts +2 -2
  127. package/lib-dist/components/terra/editor/types.d.ts.map +1 -0
  128. package/lib-dist/{terra → components/terra}/editor/types.js +1 -1
  129. package/lib-dist/components/terra/editor/types.js.map +1 -0
  130. package/lib-dist/{terra → components/terra}/flow/Nodes.d.ts +3 -3
  131. package/lib-dist/components/terra/flow/Nodes.d.ts.map +1 -0
  132. package/lib-dist/{terra → components/terra}/flow/Nodes.js +211 -104
  133. package/lib-dist/components/terra/flow/Nodes.js.map +1 -0
  134. package/lib-dist/{terra → components/terra}/flow/_chrome.d.ts +9 -9
  135. package/lib-dist/components/terra/flow/_chrome.d.ts.map +1 -0
  136. package/lib-dist/{terra → components/terra}/flow/_chrome.js +325 -114
  137. package/lib-dist/components/terra/flow/_chrome.js.map +1 -0
  138. package/lib-dist/components/terra/flow/menuContext.d.ts.map +1 -0
  139. package/lib-dist/components/terra/flow/menuContext.js.map +1 -0
  140. package/lib-dist/{terra → components/terra}/pages/docs/_attachments.d.ts +1 -1
  141. package/lib-dist/components/terra/pages/docs/_attachments.d.ts.map +1 -0
  142. package/lib-dist/{terra → components/terra}/pages/docs/_attachments.js +371 -127
  143. package/lib-dist/components/terra/pages/docs/_attachments.js.map +1 -0
  144. package/lib-dist/components/terra/pages/docs/_blocks.d.ts.map +1 -0
  145. package/lib-dist/{terra → components/terra}/pages/docs/_blocks.js +39 -28
  146. package/lib-dist/components/terra/pages/docs/_blocks.js.map +1 -0
  147. package/lib-dist/{terra → components/terra}/pages/docs/_editable.d.ts +3 -3
  148. package/lib-dist/components/terra/pages/docs/_editable.d.ts.map +1 -0
  149. package/lib-dist/{terra → components/terra}/pages/docs/_editable.js +81 -43
  150. package/lib-dist/components/terra/pages/docs/_editable.js.map +1 -0
  151. package/lib-dist/{terra → components/terra}/pages/docs/_export-dialog.d.ts +1 -1
  152. package/lib-dist/components/terra/pages/docs/_export-dialog.d.ts.map +1 -0
  153. package/lib-dist/{terra → components/terra}/pages/docs/_export-dialog.js +13 -13
  154. package/lib-dist/components/terra/pages/docs/_export-dialog.js.map +1 -0
  155. package/lib-dist/components/terra/pages/docs/_icons.d.ts.map +1 -0
  156. package/lib-dist/components/terra/pages/docs/_icons.js.map +1 -0
  157. package/lib-dist/{terra → components/terra}/pages/docs/_main.d.ts +10 -7
  158. package/lib-dist/components/terra/pages/docs/_main.d.ts.map +1 -0
  159. package/lib-dist/components/terra/pages/docs/_main.js +710 -0
  160. package/lib-dist/components/terra/pages/docs/_main.js.map +1 -0
  161. package/lib-dist/components/terra/pages/docs/_manage-attachments-dialog.d.ts +10 -0
  162. package/lib-dist/components/terra/pages/docs/_manage-attachments-dialog.d.ts.map +1 -0
  163. package/lib-dist/components/terra/pages/docs/_manage-attachments-dialog.js +597 -0
  164. package/lib-dist/components/terra/pages/docs/_manage-attachments-dialog.js.map +1 -0
  165. package/lib-dist/{terra → components/terra}/pages/docs/_sidebar.d.ts +3 -12
  166. package/lib-dist/components/terra/pages/docs/_sidebar.d.ts.map +1 -0
  167. package/lib-dist/components/terra/pages/docs/_sidebar.js +1437 -0
  168. package/lib-dist/components/terra/pages/docs/_sidebar.js.map +1 -0
  169. package/lib-dist/components/terra/pages/docs/_toc.d.ts +4 -0
  170. package/lib-dist/components/terra/pages/docs/_toc.d.ts.map +1 -0
  171. package/lib-dist/components/terra/pages/docs/_toc.js +212 -0
  172. package/lib-dist/components/terra/pages/docs/_toc.js.map +1 -0
  173. package/lib-dist/components/terra/pages/docs/_toolbar-find-replace.d.ts +15 -0
  174. package/lib-dist/components/terra/pages/docs/_toolbar-find-replace.d.ts.map +1 -0
  175. package/lib-dist/components/terra/pages/docs/_toolbar-find-replace.js +207 -0
  176. package/lib-dist/components/terra/pages/docs/_toolbar-find-replace.js.map +1 -0
  177. package/lib-dist/{terra → components/terra}/pages/docs/_toolbar.d.ts +4 -5
  178. package/lib-dist/components/terra/pages/docs/_toolbar.d.ts.map +1 -0
  179. package/lib-dist/{terra → components/terra}/pages/docs/_toolbar.js +312 -343
  180. package/lib-dist/components/terra/pages/docs/_toolbar.js.map +1 -0
  181. package/lib-dist/{terra → components/terra}/pages/docs/_tree.d.ts +4 -4
  182. package/lib-dist/components/terra/pages/docs/_tree.d.ts.map +1 -0
  183. package/lib-dist/{terra → components/terra}/pages/docs/_tree.js +219 -264
  184. package/lib-dist/components/terra/pages/docs/_tree.js.map +1 -0
  185. package/lib-dist/components/terra/pages/docs/use-block-nav.d.ts +5 -0
  186. package/lib-dist/components/terra/pages/docs/use-block-nav.d.ts.map +1 -0
  187. package/lib-dist/components/terra/pages/docs/use-block-nav.js +1306 -0
  188. package/lib-dist/components/terra/pages/docs/use-block-nav.js.map +1 -0
  189. package/lib-dist/components/terra/pages/docs/use-media-paste.d.ts +5 -0
  190. package/lib-dist/components/terra/pages/docs/use-media-paste.d.ts.map +1 -0
  191. package/lib-dist/components/terra/pages/docs/use-media-paste.js +391 -0
  192. package/lib-dist/components/terra/pages/docs/use-media-paste.js.map +1 -0
  193. package/lib-dist/components/terra/pages/docs/use-render-tripwire.d.ts +2 -0
  194. package/lib-dist/components/terra/pages/docs/use-render-tripwire.d.ts.map +1 -0
  195. package/lib-dist/components/terra/pages/docs/use-render-tripwire.js +25 -0
  196. package/lib-dist/components/terra/pages/docs/use-render-tripwire.js.map +1 -0
  197. package/lib-dist/{terra/runtime → components/terra}/ui.d.ts +2 -5
  198. package/lib-dist/components/terra/ui.d.ts.map +1 -0
  199. package/lib-dist/components/terra/ui.js +20 -0
  200. package/lib-dist/components/terra/ui.js.map +1 -0
  201. package/lib-dist/components/workspace-demo-fixture.d.ts +35 -0
  202. package/lib-dist/components/workspace-demo-fixture.d.ts.map +1 -0
  203. package/lib-dist/components/workspace-demo-fixture.js +820 -0
  204. package/lib-dist/components/workspace-demo-fixture.js.map +1 -0
  205. package/lib-dist/fonts/KaTeX_AMS-Regular.ttf +0 -0
  206. package/lib-dist/fonts/KaTeX_AMS-Regular.woff +0 -0
  207. package/lib-dist/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  208. package/lib-dist/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  209. package/lib-dist/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  210. package/lib-dist/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  211. package/lib-dist/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  212. package/lib-dist/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  213. package/lib-dist/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  214. package/lib-dist/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  215. package/lib-dist/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  216. package/lib-dist/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  217. package/lib-dist/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  218. package/lib-dist/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  219. package/lib-dist/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  220. package/lib-dist/fonts/KaTeX_Main-Bold.ttf +0 -0
  221. package/lib-dist/fonts/KaTeX_Main-Bold.woff +0 -0
  222. package/lib-dist/fonts/KaTeX_Main-Bold.woff2 +0 -0
  223. package/lib-dist/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  224. package/lib-dist/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  225. package/lib-dist/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  226. package/lib-dist/fonts/KaTeX_Main-Italic.ttf +0 -0
  227. package/lib-dist/fonts/KaTeX_Main-Italic.woff +0 -0
  228. package/lib-dist/fonts/KaTeX_Main-Italic.woff2 +0 -0
  229. package/lib-dist/fonts/KaTeX_Main-Regular.ttf +0 -0
  230. package/lib-dist/fonts/KaTeX_Main-Regular.woff +0 -0
  231. package/lib-dist/fonts/KaTeX_Main-Regular.woff2 +0 -0
  232. package/lib-dist/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  233. package/lib-dist/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  234. package/lib-dist/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  235. package/lib-dist/fonts/KaTeX_Math-Italic.ttf +0 -0
  236. package/lib-dist/fonts/KaTeX_Math-Italic.woff +0 -0
  237. package/lib-dist/fonts/KaTeX_Math-Italic.woff2 +0 -0
  238. package/lib-dist/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  239. package/lib-dist/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  240. package/lib-dist/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  241. package/lib-dist/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  242. package/lib-dist/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  243. package/lib-dist/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  244. package/lib-dist/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  245. package/lib-dist/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  246. package/lib-dist/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  247. package/lib-dist/fonts/KaTeX_Script-Regular.ttf +0 -0
  248. package/lib-dist/fonts/KaTeX_Script-Regular.woff +0 -0
  249. package/lib-dist/fonts/KaTeX_Script-Regular.woff2 +0 -0
  250. package/lib-dist/fonts/KaTeX_Size1-Regular.ttf +0 -0
  251. package/lib-dist/fonts/KaTeX_Size1-Regular.woff +0 -0
  252. package/lib-dist/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  253. package/lib-dist/fonts/KaTeX_Size2-Regular.ttf +0 -0
  254. package/lib-dist/fonts/KaTeX_Size2-Regular.woff +0 -0
  255. package/lib-dist/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  256. package/lib-dist/fonts/KaTeX_Size3-Regular.ttf +0 -0
  257. package/lib-dist/fonts/KaTeX_Size3-Regular.woff +0 -0
  258. package/lib-dist/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  259. package/lib-dist/fonts/KaTeX_Size4-Regular.ttf +0 -0
  260. package/lib-dist/fonts/KaTeX_Size4-Regular.woff +0 -0
  261. package/lib-dist/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  262. package/lib-dist/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  263. package/lib-dist/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  264. package/lib-dist/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  265. package/lib-dist/lib/astro.d.ts +8 -0
  266. package/lib-dist/lib/astro.d.ts.map +1 -0
  267. package/lib-dist/lib/astro.js +27 -0
  268. package/lib-dist/lib/astro.js.map +1 -0
  269. package/lib-dist/{docs-catalog.d.ts → lib/docs-catalog.d.ts} +1 -1
  270. package/lib-dist/lib/docs-catalog.d.ts.map +1 -0
  271. package/lib-dist/lib/docs-catalog.js +75 -0
  272. package/lib-dist/lib/docs-catalog.js.map +1 -0
  273. package/lib-dist/lib/docs-theme.d.ts +7 -0
  274. package/lib-dist/lib/docs-theme.d.ts.map +1 -0
  275. package/lib-dist/lib/docs-theme.js +51 -0
  276. package/lib-dist/lib/docs-theme.js.map +1 -0
  277. package/lib-dist/lib/host-runtime.d.ts.map +1 -0
  278. package/lib-dist/{host-runtime.js → lib/host-runtime.js} +4 -2
  279. package/lib-dist/lib/host-runtime.js.map +1 -0
  280. package/lib-dist/{host.d.ts → lib/host.d.ts} +20 -0
  281. package/lib-dist/lib/host.d.ts.map +1 -0
  282. package/lib-dist/lib/host.js.map +1 -0
  283. package/lib-dist/lib/index.d.ts +34 -0
  284. package/lib-dist/lib/index.d.ts.map +1 -0
  285. package/lib-dist/lib/index.js +27 -0
  286. package/lib-dist/lib/index.js.map +1 -0
  287. package/lib-dist/{markdown-model.d.ts → lib/markdown-model.d.ts} +3 -3
  288. package/lib-dist/lib/markdown-model.d.ts.map +1 -0
  289. package/lib-dist/lib/markdown-model.js +2031 -0
  290. package/lib-dist/lib/markdown-model.js.map +1 -0
  291. package/lib-dist/lib/markdown.d.ts +3 -0
  292. package/lib-dist/lib/markdown.d.ts.map +1 -0
  293. package/lib-dist/lib/markdown.js +222 -0
  294. package/lib-dist/lib/markdown.js.map +1 -0
  295. package/lib-dist/{schema.d.ts → lib/schema.d.ts} +55 -23
  296. package/lib-dist/lib/schema.d.ts.map +1 -0
  297. package/lib-dist/{schema.js → lib/schema.js} +26 -18
  298. package/lib-dist/lib/schema.js.map +1 -0
  299. package/lib-dist/{terra/pages/docs/_custom.d.ts → lib/terra/custom-components.d.ts} +2 -2
  300. package/lib-dist/lib/terra/custom-components.d.ts.map +1 -0
  301. package/lib-dist/{terra/pages/docs/_custom.js → lib/terra/custom-components.js} +1 -1
  302. package/lib-dist/lib/terra/custom-components.js.map +1 -0
  303. package/lib-dist/lib/terra/docs/archive.d.ts +3 -0
  304. package/lib-dist/lib/terra/docs/archive.d.ts.map +1 -0
  305. package/lib-dist/lib/terra/docs/archive.js +654 -0
  306. package/lib-dist/lib/terra/docs/archive.js.map +1 -0
  307. package/lib-dist/lib/terra/docs/assets.d.ts +26 -0
  308. package/lib-dist/lib/terra/docs/assets.d.ts.map +1 -0
  309. package/lib-dist/lib/terra/docs/assets.js +74 -0
  310. package/lib-dist/lib/terra/docs/assets.js.map +1 -0
  311. package/lib-dist/lib/terra/docs/attachments.d.ts +4 -0
  312. package/lib-dist/lib/terra/docs/attachments.d.ts.map +1 -0
  313. package/lib-dist/lib/terra/docs/attachments.js +5 -0
  314. package/lib-dist/lib/terra/docs/attachments.js.map +1 -0
  315. package/lib-dist/lib/terra/docs/editor-dom.d.ts +50 -0
  316. package/lib-dist/lib/terra/docs/editor-dom.d.ts.map +1 -0
  317. package/lib-dist/lib/terra/docs/editor-dom.js +236 -0
  318. package/lib-dist/lib/terra/docs/editor-dom.js.map +1 -0
  319. package/lib-dist/lib/terra/docs/mutations.d.ts +10 -0
  320. package/lib-dist/lib/terra/docs/mutations.d.ts.map +1 -0
  321. package/lib-dist/lib/terra/docs/mutations.js +105 -0
  322. package/lib-dist/lib/terra/docs/mutations.js.map +1 -0
  323. package/lib-dist/lib/terra/docs/navigation.d.ts +6 -0
  324. package/lib-dist/lib/terra/docs/navigation.d.ts.map +1 -0
  325. package/lib-dist/lib/terra/docs/navigation.js +21 -0
  326. package/lib-dist/lib/terra/docs/navigation.js.map +1 -0
  327. package/lib-dist/lib/terra/docs/state.d.ts +186 -0
  328. package/lib-dist/lib/terra/docs/state.d.ts.map +1 -0
  329. package/lib-dist/lib/terra/docs/state.js +255 -0
  330. package/lib-dist/lib/terra/docs/state.js.map +1 -0
  331. package/lib-dist/lib/terra/docs/toolbar.d.ts +11 -0
  332. package/lib-dist/lib/terra/docs/toolbar.d.ts.map +1 -0
  333. package/lib-dist/lib/terra/docs/toolbar.js +41 -0
  334. package/lib-dist/lib/terra/docs/toolbar.js.map +1 -0
  335. package/lib-dist/lib/terra/docs/tree.d.ts +15 -0
  336. package/lib-dist/lib/terra/docs/tree.d.ts.map +1 -0
  337. package/lib-dist/lib/terra/docs/tree.js +61 -0
  338. package/lib-dist/lib/terra/docs/tree.js.map +1 -0
  339. package/lib-dist/{terra/pages/docs/_helpers.d.ts → lib/terra/docs/workspace.d.ts} +7 -6
  340. package/lib-dist/lib/terra/docs/workspace.d.ts.map +1 -0
  341. package/lib-dist/{terra/pages/docs/_helpers.js → lib/terra/docs/workspace.js} +39 -27
  342. package/lib-dist/lib/terra/docs/workspace.js.map +1 -0
  343. package/lib-dist/lib/terra/flow/_layout.d.ts.map +1 -0
  344. package/lib-dist/{terra → lib/terra}/flow/_layout.js +16 -6
  345. package/lib-dist/lib/terra/flow/_layout.js.map +1 -0
  346. package/lib-dist/lib/terra/flow/powerSource.d.ts.map +1 -0
  347. package/lib-dist/{terra → lib/terra}/flow/powerSource.js +10 -4
  348. package/lib-dist/lib/terra/flow/powerSource.js.map +1 -0
  349. package/lib-dist/{terra → lib/terra}/regex.mjs +11 -6
  350. package/lib-dist/lib/terra/runtime/action-proxy.d.ts +45 -0
  351. package/lib-dist/lib/terra/runtime/action-proxy.d.ts.map +1 -0
  352. package/lib-dist/{terra → lib/terra}/runtime/action-proxy.js +1 -1
  353. package/lib-dist/lib/terra/runtime/action-proxy.js.map +1 -0
  354. package/lib-dist/lib/terra/runtime/content/block-jsx.d.ts +23 -0
  355. package/lib-dist/lib/terra/runtime/content/block-jsx.d.ts.map +1 -0
  356. package/lib-dist/lib/terra/runtime/content/block-jsx.js +225 -0
  357. package/lib-dist/lib/terra/runtime/content/block-jsx.js.map +1 -0
  358. package/lib-dist/lib/terra/runtime/content/document-markdown.d.ts +41 -0
  359. package/lib-dist/lib/terra/runtime/content/document-markdown.d.ts.map +1 -0
  360. package/lib-dist/lib/terra/runtime/content/document-markdown.js +536 -0
  361. package/lib-dist/lib/terra/runtime/content/document-markdown.js.map +1 -0
  362. package/lib-dist/lib/terra/runtime/content/markdown.d.ts +109 -0
  363. package/lib-dist/lib/terra/runtime/content/markdown.d.ts.map +1 -0
  364. package/lib-dist/lib/terra/runtime/content/markdown.js +428 -0
  365. package/lib-dist/lib/terra/runtime/content/markdown.js.map +1 -0
  366. package/lib-dist/lib/terra/runtime/content.d.ts.map +1 -0
  367. package/lib-dist/{terra → lib/terra}/runtime/content.js +147 -62
  368. package/lib-dist/lib/terra/runtime/content.js.map +1 -0
  369. package/lib-dist/lib/terra/runtime/leaf.d.ts.map +1 -0
  370. package/lib-dist/{terra → lib/terra}/runtime/leaf.js +1 -1
  371. package/lib-dist/lib/terra/runtime/leaf.js.map +1 -0
  372. package/lib-dist/lib/terra/runtime/nodes.d.ts.map +1 -0
  373. package/lib-dist/{terra → lib/terra}/runtime/nodes.js +103 -31
  374. package/lib-dist/lib/terra/runtime/nodes.js.map +1 -0
  375. package/lib-dist/{terra → lib/terra}/runtime/runtime.d.ts +8 -2
  376. package/lib-dist/lib/terra/runtime/runtime.d.ts.map +1 -0
  377. package/lib-dist/lib/terra/runtime/runtime.js +86 -0
  378. package/lib-dist/lib/terra/runtime/runtime.js.map +1 -0
  379. package/lib-dist/lib/terra/runtime/shared.d.ts.map +1 -0
  380. package/lib-dist/{terra → lib/terra}/runtime/shared.js +56 -11
  381. package/lib-dist/lib/terra/runtime/shared.js.map +1 -0
  382. package/lib-dist/lib/terra/runtime/types.d.ts +529 -0
  383. package/lib-dist/lib/terra/runtime/types.d.ts.map +1 -0
  384. package/lib-dist/{terra → lib/terra}/runtime/types.js +28 -2
  385. package/lib-dist/lib/terra/runtime/types.js.map +1 -0
  386. package/lib-dist/lib/workspace-types.d.ts +29 -0
  387. package/lib-dist/lib/workspace-types.d.ts.map +1 -0
  388. package/lib-dist/lib/workspace-types.js +2 -0
  389. package/lib-dist/lib/workspace-types.js.map +1 -0
  390. package/lib-dist/style.css +237 -1
  391. package/package.json +34 -16
  392. package/src/components/NotFound.astro +6 -0
  393. package/src/components/NotFound.tsx +48 -0
  394. package/src/{SiteLayout.astro → components/SiteLayout.astro} +8 -4
  395. package/src/{navigation.tsx → components/navigation.tsx} +2 -1
  396. package/lib-dist/Docs.d.ts.map +0 -1
  397. package/lib-dist/Docs.js +0 -60
  398. package/lib-dist/Docs.js.map +0 -1
  399. package/lib-dist/LocalDocsWorkspace.d.ts.map +0 -1
  400. package/lib-dist/LocalDocsWorkspace.js.map +0 -1
  401. package/lib-dist/SiteLayout.d.ts +0 -30
  402. package/lib-dist/SiteLayout.d.ts.map +0 -1
  403. package/lib-dist/SiteLayout.js +0 -34
  404. package/lib-dist/SiteLayout.js.map +0 -1
  405. package/lib-dist/StaticWorkspace.d.ts.map +0 -1
  406. package/lib-dist/StaticWorkspace.js.map +0 -1
  407. package/lib-dist/_Toolbar.d.ts +0 -7
  408. package/lib-dist/_Toolbar.d.ts.map +0 -1
  409. package/lib-dist/_Toolbar.js +0 -85
  410. package/lib-dist/_Toolbar.js.map +0 -1
  411. package/lib-dist/blocks.d.ts.map +0 -1
  412. package/lib-dist/blocks.js.map +0 -1
  413. package/lib-dist/docs-catalog.d.ts.map +0 -1
  414. package/lib-dist/docs-catalog.js +0 -38
  415. package/lib-dist/docs-catalog.js.map +0 -1
  416. package/lib-dist/docs-style.css +0 -31
  417. package/lib-dist/fonts/README.md +0 -5
  418. package/lib-dist/host-runtime.d.ts.map +0 -1
  419. package/lib-dist/host-runtime.js.map +0 -1
  420. package/lib-dist/host.d.ts.map +0 -1
  421. package/lib-dist/host.js.map +0 -1
  422. package/lib-dist/index.d.ts +0 -35
  423. package/lib-dist/index.d.ts.map +0 -1
  424. package/lib-dist/index.js +0 -28
  425. package/lib-dist/index.js.map +0 -1
  426. package/lib-dist/markdown-model.d.ts.map +0 -1
  427. package/lib-dist/markdown-model.js +0 -181
  428. package/lib-dist/markdown-model.js.map +0 -1
  429. package/lib-dist/markdown.d.ts +0 -3
  430. package/lib-dist/markdown.d.ts.map +0 -1
  431. package/lib-dist/markdown.js +0 -83
  432. package/lib-dist/markdown.js.map +0 -1
  433. package/lib-dist/navigation.d.ts.map +0 -1
  434. package/lib-dist/navigation.js.map +0 -1
  435. package/lib-dist/schema.d.ts.map +0 -1
  436. package/lib-dist/schema.js.map +0 -1
  437. package/lib-dist/terra/Workspace.d.ts.map +0 -1
  438. package/lib-dist/terra/Workspace.js +0 -9
  439. package/lib-dist/terra/Workspace.js.map +0 -1
  440. package/lib-dist/terra/editor/TerraContentEditor.d.ts +0 -10
  441. package/lib-dist/terra/editor/TerraContentEditor.d.ts.map +0 -1
  442. package/lib-dist/terra/editor/TerraContentEditor.js +0 -47
  443. package/lib-dist/terra/editor/TerraContentEditor.js.map +0 -1
  444. package/lib-dist/terra/editor/_blocks.d.ts.map +0 -1
  445. package/lib-dist/terra/editor/_blocks.js +0 -110
  446. package/lib-dist/terra/editor/_blocks.js.map +0 -1
  447. package/lib-dist/terra/editor/docs/_Callout.d.ts.map +0 -1
  448. package/lib-dist/terra/editor/docs/_Callout.js.map +0 -1
  449. package/lib-dist/terra/editor/docs/_CodeBlock.d.ts.map +0 -1
  450. package/lib-dist/terra/editor/docs/_CodeBlock.js.map +0 -1
  451. package/lib-dist/terra/editor/docs/_DocsCode.d.ts.map +0 -1
  452. package/lib-dist/terra/editor/docs/_DocsCode.js.map +0 -1
  453. package/lib-dist/terra/editor/docs/_DocsImage.d.ts.map +0 -1
  454. package/lib-dist/terra/editor/docs/_DocsImage.js +0 -62
  455. package/lib-dist/terra/editor/docs/_DocsImage.js.map +0 -1
  456. package/lib-dist/terra/editor/docs/_Embed.d.ts.map +0 -1
  457. package/lib-dist/terra/editor/docs/_Embed.js +0 -27
  458. package/lib-dist/terra/editor/docs/_Embed.js.map +0 -1
  459. package/lib-dist/terra/editor/docs/_Math.d.ts.map +0 -1
  460. package/lib-dist/terra/editor/docs/_Math.js.map +0 -1
  461. package/lib-dist/terra/editor/docs/_Nodes.d.ts.map +0 -1
  462. package/lib-dist/terra/editor/docs/_Nodes.js +0 -52
  463. package/lib-dist/terra/editor/docs/_Nodes.js.map +0 -1
  464. package/lib-dist/terra/editor/docs/_Raw.d.ts.map +0 -1
  465. package/lib-dist/terra/editor/docs/_Raw.js.map +0 -1
  466. package/lib-dist/terra/editor/docs/_Table.d.ts.map +0 -1
  467. package/lib-dist/terra/editor/docs/_Table.js +0 -71
  468. package/lib-dist/terra/editor/docs/_Table.js.map +0 -1
  469. package/lib-dist/terra/editor/docs/_Tabs.d.ts.map +0 -1
  470. package/lib-dist/terra/editor/docs/_Tabs.js.map +0 -1
  471. package/lib-dist/terra/editor/docs/_TsDocs.d.ts.map +0 -1
  472. package/lib-dist/terra/editor/docs/_TsDocs.js.map +0 -1
  473. package/lib-dist/terra/editor/docs/_math_inline.d.ts.map +0 -1
  474. package/lib-dist/terra/editor/docs/_math_inline.js.map +0 -1
  475. package/lib-dist/terra/editor/docs/heading.d.ts.map +0 -1
  476. package/lib-dist/terra/editor/docs/heading.js.map +0 -1
  477. package/lib-dist/terra/editor/docs/index.d.ts.map +0 -1
  478. package/lib-dist/terra/editor/docs/index.js.map +0 -1
  479. package/lib-dist/terra/editor/types.d.ts.map +0 -1
  480. package/lib-dist/terra/editor/types.js.map +0 -1
  481. package/lib-dist/terra/flow/Nodes.d.ts.map +0 -1
  482. package/lib-dist/terra/flow/Nodes.js.map +0 -1
  483. package/lib-dist/terra/flow/_chrome.d.ts.map +0 -1
  484. package/lib-dist/terra/flow/_chrome.js.map +0 -1
  485. package/lib-dist/terra/flow/_layout.d.ts.map +0 -1
  486. package/lib-dist/terra/flow/_layout.js.map +0 -1
  487. package/lib-dist/terra/flow/menuContext.d.ts.map +0 -1
  488. package/lib-dist/terra/flow/menuContext.js.map +0 -1
  489. package/lib-dist/terra/flow/powerSource.d.ts.map +0 -1
  490. package/lib-dist/terra/flow/powerSource.js.map +0 -1
  491. package/lib-dist/terra/pages/docs/_attachments.d.ts.map +0 -1
  492. package/lib-dist/terra/pages/docs/_attachments.js.map +0 -1
  493. package/lib-dist/terra/pages/docs/_blocks.d.ts.map +0 -1
  494. package/lib-dist/terra/pages/docs/_blocks.js.map +0 -1
  495. package/lib-dist/terra/pages/docs/_custom.d.ts.map +0 -1
  496. package/lib-dist/terra/pages/docs/_custom.js.map +0 -1
  497. package/lib-dist/terra/pages/docs/_editable.d.ts.map +0 -1
  498. package/lib-dist/terra/pages/docs/_editable.js.map +0 -1
  499. package/lib-dist/terra/pages/docs/_export-dialog.d.ts.map +0 -1
  500. package/lib-dist/terra/pages/docs/_export-dialog.js.map +0 -1
  501. package/lib-dist/terra/pages/docs/_helpers.d.ts.map +0 -1
  502. package/lib-dist/terra/pages/docs/_helpers.js.map +0 -1
  503. package/lib-dist/terra/pages/docs/_icons.d.ts.map +0 -1
  504. package/lib-dist/terra/pages/docs/_icons.js.map +0 -1
  505. package/lib-dist/terra/pages/docs/_main.d.ts.map +0 -1
  506. package/lib-dist/terra/pages/docs/_main.js +0 -1959
  507. package/lib-dist/terra/pages/docs/_main.js.map +0 -1
  508. package/lib-dist/terra/pages/docs/_sidebar.d.ts.map +0 -1
  509. package/lib-dist/terra/pages/docs/_sidebar.js +0 -2450
  510. package/lib-dist/terra/pages/docs/_sidebar.js.map +0 -1
  511. package/lib-dist/terra/pages/docs/_toolbar.d.ts.map +0 -1
  512. package/lib-dist/terra/pages/docs/_toolbar.js.map +0 -1
  513. package/lib-dist/terra/pages/docs/_tree.d.ts.map +0 -1
  514. package/lib-dist/terra/pages/docs/_tree.js.map +0 -1
  515. package/lib-dist/terra/runtime/action-proxy.d.ts +0 -5
  516. package/lib-dist/terra/runtime/action-proxy.d.ts.map +0 -1
  517. package/lib-dist/terra/runtime/action-proxy.js.map +0 -1
  518. package/lib-dist/terra/runtime/content.d.ts.map +0 -1
  519. package/lib-dist/terra/runtime/content.js.map +0 -1
  520. package/lib-dist/terra/runtime/leaf.d.ts.map +0 -1
  521. package/lib-dist/terra/runtime/leaf.js.map +0 -1
  522. package/lib-dist/terra/runtime/nodes.d.ts.map +0 -1
  523. package/lib-dist/terra/runtime/nodes.js.map +0 -1
  524. package/lib-dist/terra/runtime/runtime.d.ts.map +0 -1
  525. package/lib-dist/terra/runtime/runtime.js +0 -50
  526. package/lib-dist/terra/runtime/runtime.js.map +0 -1
  527. package/lib-dist/terra/runtime/shared.d.ts.map +0 -1
  528. package/lib-dist/terra/runtime/shared.js.map +0 -1
  529. package/lib-dist/terra/runtime/types.d.ts +0 -266
  530. package/lib-dist/terra/runtime/types.d.ts.map +0 -1
  531. package/lib-dist/terra/runtime/types.js.map +0 -1
  532. package/lib-dist/terra/runtime/ui.d.ts.map +0 -1
  533. package/lib-dist/terra/runtime/ui.js +0 -16
  534. package/lib-dist/terra/runtime/ui.js.map +0 -1
  535. package/lib-dist/workspace.d.ts +0 -78
  536. package/lib-dist/workspace.d.ts.map +0 -1
  537. package/lib-dist/workspace.js +0 -151
  538. package/lib-dist/workspace.js.map +0 -1
  539. package/src/style.css +0 -733
  540. /package/lib-dist/{fonts → assets/fonts}/Avara-Bold.woff2 +0 -0
  541. /package/lib-dist/{fonts → assets/fonts}/Avara-BoldItalic.woff2 +0 -0
  542. /package/lib-dist/{fonts → assets/fonts}/OFL-1.1.txt +0 -0
  543. /package/lib-dist/{blocks.d.ts → components/blocks.d.ts} +0 -0
  544. /package/lib-dist/{navigation.js → components/navigation.js} +0 -0
  545. /package/lib-dist/{terra → components/terra}/editor/docs/_CodeBlock.d.ts +0 -0
  546. /package/lib-dist/{terra → components/terra}/editor/docs/index.d.ts +0 -0
  547. /package/lib-dist/{terra → components/terra}/editor/docs/index.js +0 -0
  548. /package/lib-dist/{terra → components/terra}/flow/menuContext.d.ts +0 -0
  549. /package/lib-dist/{terra → components/terra}/flow/menuContext.js +0 -0
  550. /package/lib-dist/{terra → components/terra}/pages/docs/_blocks.d.ts +0 -0
  551. /package/lib-dist/{terra → components/terra}/pages/docs/_icons.d.ts +0 -0
  552. /package/lib-dist/{terra → components/terra}/pages/docs/_icons.js +0 -0
  553. /package/lib-dist/{host-runtime.d.ts → lib/host-runtime.d.ts} +0 -0
  554. /package/lib-dist/{host.js → lib/host.js} +0 -0
  555. /package/lib-dist/{terra → lib/terra}/flow/_layout.d.ts +0 -0
  556. /package/lib-dist/{terra → lib/terra}/flow/powerSource.d.ts +0 -0
  557. /package/lib-dist/{terra → lib/terra}/runtime/content.d.ts +0 -0
  558. /package/lib-dist/{terra → lib/terra}/runtime/leaf.d.ts +0 -0
  559. /package/lib-dist/{terra → lib/terra}/runtime/nodes.d.ts +0 -0
  560. /package/lib-dist/{terra → lib/terra}/runtime/shared.d.ts +0 -0
@@ -0,0 +1,820 @@
1
+ import { markdownToDocsValue, docsValueToMarkdown } from '../lib/markdown-model.js';
2
+ export const WORKSPACE_DEMO_STORAGE_KEY = 'terra-docs-workspace-demo-v1';
3
+ export const WORKSPACE_DEMO_PATH = '/workspace-demo/';
4
+ const initialContent = [
5
+ {
6
+ _key: 'intro',
7
+ _type: 'block',
8
+ style: 'normal',
9
+ markDefs: [],
10
+ children: [
11
+ {
12
+ _key: 'intro-text',
13
+ _type: 'span',
14
+ marks: [],
15
+ text: 'Salesphere helps sales professionals choose a useful next step in a customer relationship and understand why it matters. This site connects that product intent to the current implementation.',
16
+ },
17
+ ],
18
+ },
19
+ {
20
+ _key: 'start-heading',
21
+ _type: 'block',
22
+ style: 'h2',
23
+ markDefs: [],
24
+ children: [{ _key: 'heading-text', _type: 'span', marks: [], text: 'Start with the product' }],
25
+ },
26
+ {
27
+ _key: 'product-copy',
28
+ _type: 'block',
29
+ style: 'normal',
30
+ markDefs: [
31
+ { _key: 'purpose', _type: 'link', href: '/product/purpose/' },
32
+ { _key: 'map', _type: 'link', href: '/product/structure/' },
33
+ ],
34
+ children: [
35
+ { _key: 'read', _type: 'span', marks: [], text: 'Read ' },
36
+ { _key: 'purpose-text', _type: 'span', marks: ['purpose'], text: 'Salesphere’s purpose' },
37
+ { _key: 'then', _type: 'span', marks: [], text: ' for the larger aim, then use the ' },
38
+ { _key: 'map-text', _type: 'span', marks: ['map'], text: 'product map' },
39
+ {
40
+ _key: 'rest',
41
+ _type: 'span',
42
+ marks: [],
43
+ text: ' to see how principles, intelligence, work surfaces, reflection, and platform capabilities fit together.',
44
+ },
45
+ ],
46
+ },
47
+ {
48
+ _key: 'implementation-heading',
49
+ _type: 'block',
50
+ style: 'h2',
51
+ markDefs: [],
52
+ children: [
53
+ { _key: 'implementation-title', _type: 'span', marks: [], text: 'Find the implementation' },
54
+ ],
55
+ },
56
+ {
57
+ _key: 'runtime',
58
+ _type: 'block',
59
+ style: 'normal',
60
+ markDefs: [],
61
+ children: [
62
+ {
63
+ _key: 'runtime-copy',
64
+ _type: 'span',
65
+ marks: [],
66
+ text: 'Runtime system map follows a request through the Astro app.',
67
+ },
68
+ ],
69
+ },
70
+ ];
71
+ const initialTree = [
72
+ {
73
+ type: 'branch',
74
+ origName: 'overview',
75
+ title: 'Overview',
76
+ path: 'overview',
77
+ hue: 145,
78
+ children: [
79
+ {
80
+ type: 'branch',
81
+ origName: 'start-here',
82
+ title: 'Start here',
83
+ path: 'overview/start-here',
84
+ children: [
85
+ {
86
+ type: 'leaf',
87
+ origName: 'salesphere',
88
+ title: 'Salesphere',
89
+ path: 'overview/start-here/salesphere.mdx',
90
+ },
91
+ {
92
+ type: 'leaf',
93
+ origName: 'runtime-map',
94
+ title: 'Runtime map',
95
+ path: 'overview/start-here/runtime-map.mdx',
96
+ },
97
+ ],
98
+ },
99
+ ],
100
+ },
101
+ {
102
+ type: 'branch',
103
+ origName: 'configure',
104
+ title: 'Configure',
105
+ path: 'configure',
106
+ hue: 210,
107
+ children: [
108
+ {
109
+ type: 'branch',
110
+ origName: 'providers',
111
+ title: 'Storage providers',
112
+ path: 'configure/providers',
113
+ children: [
114
+ {
115
+ type: 'leaf',
116
+ origName: 'local-files',
117
+ title: 'Local files',
118
+ path: 'configure/providers/local-files.mdx',
119
+ },
120
+ ],
121
+ },
122
+ ],
123
+ },
124
+ ];
125
+ function makeDocument(id, path, title, description, content) {
126
+ return {
127
+ id,
128
+ path,
129
+ pathname: buildWorkspaceRoute('overview', 'start-here', id),
130
+ title,
131
+ description,
132
+ contributors: ['Kai'],
133
+ updatedAt: 'Oct 24, 2026',
134
+ content,
135
+ source: docsValueToMarkdown(content),
136
+ attachments: [],
137
+ versions: [],
138
+ };
139
+ }
140
+ export function createWorkspaceDemoSeed() {
141
+ const salesphere = makeDocument('salesphere', 'overview/start-here/salesphere.mdx', 'Salesphere', '', initialContent);
142
+ salesphere.attachments.push({
143
+ id: 'overview-brief',
144
+ name: 'Product brief.pdf',
145
+ path: '/assets/product-brief.pdf',
146
+ type: 'application/pdf',
147
+ size: 328_512,
148
+ });
149
+ return {
150
+ schema: 1,
151
+ tree: initialTree,
152
+ documents: {
153
+ salesphere,
154
+ 'runtime-map': makeDocument('runtime-map', 'overview/start-here/runtime-map.mdx', 'Runtime map', 'Follow a request through the application.', markdownToDocsValue('# Runtime map\n\nThe request enters through the Astro application.')),
155
+ 'local-files': makeDocument('local-files', 'configure/providers/local-files.mdx', 'Local files', 'Use repository files as the source of truth.', markdownToDocsValue('# Local files\n\nA local provider reads repository-backed pages.')),
156
+ },
157
+ assets: {
158
+ '/assets/product-brief.pdf': {
159
+ id: 'overview-brief',
160
+ name: 'Product brief.pdf',
161
+ path: '/assets/product-brief.pdf',
162
+ type: 'application/pdf',
163
+ size: 22,
164
+ docId: 'salesphere',
165
+ bytes: [37, 80, 68, 70, 45, 49, 46, 55, 10, 37, 68, 79, 67, 83, 10],
166
+ },
167
+ },
168
+ };
169
+ }
170
+ const clone = (value) => JSON.parse(JSON.stringify(value));
171
+ export function readWorkspaceDemoState() {
172
+ const seed = createWorkspaceDemoSeed();
173
+ if (typeof window === 'undefined')
174
+ return seed;
175
+ try {
176
+ const raw = window.localStorage.getItem(WORKSPACE_DEMO_STORAGE_KEY);
177
+ if (!raw) {
178
+ writeWorkspaceDemoState(seed);
179
+ return seed;
180
+ }
181
+ const value = JSON.parse(raw);
182
+ if (value.schema !== 1 ||
183
+ !Array.isArray(value.tree) ||
184
+ !value.documents ||
185
+ typeof value.documents !== 'object' ||
186
+ !value.assets ||
187
+ typeof value.assets !== 'object') {
188
+ writeWorkspaceDemoState(seed);
189
+ return seed;
190
+ }
191
+ return value;
192
+ }
193
+ catch {
194
+ writeWorkspaceDemoState(seed);
195
+ return seed;
196
+ }
197
+ }
198
+ export function writeWorkspaceDemoState(state) {
199
+ if (typeof window === 'undefined')
200
+ return;
201
+ window.localStorage.setItem(WORKSPACE_DEMO_STORAGE_KEY, JSON.stringify(state));
202
+ window.dispatchEvent(new CustomEvent('terra-docs-fixture-updated'));
203
+ }
204
+ export function buildWorkspaceRoute(sectionId, groupId, leafId) {
205
+ if (!sectionId)
206
+ return WORKSPACE_DEMO_PATH;
207
+ const query = new URLSearchParams({ section: sectionId });
208
+ if (groupId)
209
+ query.set('group', groupId);
210
+ if (leafId)
211
+ query.set('leaf', leafId);
212
+ return `${WORKSPACE_DEMO_PATH}?${query.toString()}`;
213
+ }
214
+ function findNode(nodes, id, ancestors = []) {
215
+ for (const node of nodes) {
216
+ const foundAncestors = [...ancestors, node];
217
+ if (node.origName === id || node.path === id)
218
+ return { node, ancestors };
219
+ const child = node.children ? findNode(node.children, id, foundAncestors) : undefined;
220
+ if (child)
221
+ return child;
222
+ }
223
+ return undefined;
224
+ }
225
+ function withRoutes(nodes, readOnly, sectionId, groupId) {
226
+ return nodes.map((node) => {
227
+ if (node.type === 'branch') {
228
+ const nextSection = sectionId ?? node.origName;
229
+ const nextGroup = sectionId ? node.origName : undefined;
230
+ return {
231
+ ...node,
232
+ permission: readOnly ? 'read' : 'write',
233
+ url: sectionId
234
+ ? buildWorkspaceRoute(nextSection, node.origName)
235
+ : buildWorkspaceRoute(nextSection),
236
+ children: withRoutes(node.children ?? [], readOnly, nextSection, nextGroup),
237
+ };
238
+ }
239
+ return {
240
+ ...node,
241
+ permission: readOnly ? 'read' : 'write',
242
+ url: buildWorkspaceRoute(sectionId, groupId, node.origName),
243
+ };
244
+ });
245
+ }
246
+ function findDocument(state, value) {
247
+ if (typeof value !== 'string' || !value)
248
+ return undefined;
249
+ const clean = value.split(/[?#]/, 1)[0]?.replace(/^\/+|\/+$/g, '') ?? value;
250
+ const leafName = clean
251
+ .split('/')
252
+ .at(-1)
253
+ ?.replace(/\.(?:md|mdx)$/i, '') ?? clean;
254
+ return Object.values(state.documents).find((document) => document.id === value ||
255
+ document.path === value ||
256
+ document.pathname === value ||
257
+ document.path.replace(/\.(?:md|mdx)$/i, '') === clean ||
258
+ document.id === leafName ||
259
+ document.path.endsWith(`/${leafName}.mdx`));
260
+ }
261
+ function slug(value) {
262
+ return (value
263
+ .trim()
264
+ .toLowerCase()
265
+ .replace(/[^a-z0-9]+/g, '-')
266
+ .replace(/^-+|-+$/g, '') || 'untitled');
267
+ }
268
+ function uniqueId(state, proposed) {
269
+ let candidate = slug(proposed);
270
+ let index = 2;
271
+ while (state.documents[candidate] || findNode(state.tree, candidate)) {
272
+ candidate = `${slug(proposed)}-${index}`;
273
+ index += 1;
274
+ }
275
+ return candidate;
276
+ }
277
+ function withCurrentRoutes(state, readOnly) {
278
+ return withRoutes(state.tree, readOnly);
279
+ }
280
+ function sectionForLeaf(state, leafId) {
281
+ const match = findNode(state.tree, leafId);
282
+ const branches = (match?.ancestors ?? []).filter((node) => node.type === 'branch');
283
+ return {
284
+ sectionId: branches[0]?.origName ?? state.tree[0]?.origName ?? 'overview',
285
+ ...(branches[1] ? { groupId: branches[1].origName } : {}),
286
+ };
287
+ }
288
+ function addLeafToTree(state, parentId, document) {
289
+ const node = {
290
+ type: 'leaf',
291
+ origName: document.id,
292
+ title: document.title,
293
+ description: document.description,
294
+ path: document.path,
295
+ permission: 'write',
296
+ };
297
+ const parent = parentId ? findNode(state.tree, parentId)?.node : undefined;
298
+ if (parent?.type === 'branch') {
299
+ parent.children ??= [];
300
+ if (!parent.children.some((child) => child.type === 'leaf' && child.origName === document.id))
301
+ parent.children.push(node);
302
+ }
303
+ else {
304
+ const section = state.tree[0];
305
+ const group = section?.children?.find((child) => child.type === 'branch');
306
+ if (group)
307
+ group.children = [...(group.children ?? []), node];
308
+ }
309
+ }
310
+ function removeNodeById(nodes, id) {
311
+ const index = nodes.findIndex((node) => node.origName === id || node.path === id);
312
+ if (index >= 0) {
313
+ nodes.splice(index, 1);
314
+ return true;
315
+ }
316
+ for (const node of nodes) {
317
+ if (node.children && removeNodeById(node.children, id))
318
+ return true;
319
+ }
320
+ return false;
321
+ }
322
+ function updateNodeById(nodes, id, update) {
323
+ for (let index = 0; index < nodes.length; index += 1) {
324
+ const node = nodes[index];
325
+ if (!node)
326
+ continue;
327
+ if (node.origName === id || node.path === id) {
328
+ nodes[index] = update(node);
329
+ return true;
330
+ }
331
+ if (node.children && updateNodeById(node.children, id, update))
332
+ return true;
333
+ }
334
+ return false;
335
+ }
336
+ function removeDocumentsForNode(state, node) {
337
+ if (node.type === 'leaf') {
338
+ delete state.documents[node.origName];
339
+ return;
340
+ }
341
+ for (const child of node.children ?? [])
342
+ removeDocumentsForNode(state, child);
343
+ }
344
+ function reorderChildren(state, input) {
345
+ const parentId = typeof input.id === 'string' ? input.id : '';
346
+ const field = input.field === 'leaves' ? 'leaf' : 'branch';
347
+ const items = Array.isArray(input.items) ? input.items : [];
348
+ const references = items
349
+ .map((item) => item && typeof item === 'object' && '_ref' in item && typeof item._ref === 'string'
350
+ ? item._ref
351
+ : '')
352
+ .filter(Boolean);
353
+ const parent = findNode(state.tree, parentId)?.node;
354
+ if (parent?.type !== 'branch')
355
+ return;
356
+ const reorderable = parent.children?.filter((node) => node.type === field) ?? [];
357
+ const remainder = parent.children?.filter((node) => node.type !== field) ?? [];
358
+ const ordered = references
359
+ .map((reference) => reorderable.find((node) => node.origName === reference || node.path === reference))
360
+ .filter((node) => Boolean(node));
361
+ const orderedIds = new Set(ordered.map((node) => node.origName));
362
+ parent.children = [
363
+ ...ordered,
364
+ ...reorderable.filter((node) => !orderedIds.has(node.origName)),
365
+ ...remainder,
366
+ ];
367
+ }
368
+ function asRecord(value) {
369
+ return value && typeof value === 'object' ? value : {};
370
+ }
371
+ function response(data) {
372
+ return { data: data };
373
+ }
374
+ export function createWorkspaceDemoHost(readOnly = false) {
375
+ return {
376
+ capabilities: {
377
+ read: true,
378
+ write: !readOnly,
379
+ reorder: !readOnly,
380
+ attachments: !readOnly,
381
+ export: true,
382
+ history: !readOnly,
383
+ publish: false,
384
+ },
385
+ rootPath: WORKSPACE_DEMO_PATH,
386
+ homePath: WORKSPACE_DEMO_PATH,
387
+ siteTitle: 'Salesphere Docs',
388
+ siteDescription: 'Product and engineering documentation.',
389
+ assetUrl: () => undefined,
390
+ resolveRoute(value) {
391
+ const url = new URL(value, 'http://localhost');
392
+ const state = readWorkspaceDemoState();
393
+ const requestedLeaf = url.searchParams.get('leaf');
394
+ const requestedSection = url.searchParams.get('section');
395
+ const requestedGroup = url.searchParams.get('group');
396
+ const requestedDocument = requestedLeaf ? findDocument(state, requestedLeaf) : undefined;
397
+ const requestedSectionMatch = requestedSection
398
+ ? findNode(state.tree, requestedSection)
399
+ : undefined;
400
+ const requestedGroupMatch = requestedGroup ? findNode(state.tree, requestedGroup) : undefined;
401
+ const requestedBranch = requestedGroupMatch?.node ?? requestedSectionMatch?.node;
402
+ const firstLeaf = (node) => {
403
+ if (!node)
404
+ return undefined;
405
+ if (node.type === 'leaf')
406
+ return state.documents[node.origName];
407
+ for (const child of node.children ?? []) {
408
+ const found = firstLeaf(child);
409
+ if (found)
410
+ return found;
411
+ }
412
+ return undefined;
413
+ };
414
+ const document = requestedDocument ??
415
+ firstLeaf(requestedBranch) ??
416
+ state.documents.salesphere ??
417
+ Object.values(state.documents)[0];
418
+ const position = document ? sectionForLeaf(state, document.id) : { sectionId: 'overview' };
419
+ const requestedGroupAncestors = (requestedGroupMatch?.ancestors ?? []).filter((node) => node.type === 'branch');
420
+ const sectionId = requestedDocument
421
+ ? position.sectionId
422
+ : requestedSectionMatch?.node.type === 'branch'
423
+ ? requestedSectionMatch.node.origName
424
+ : (requestedGroupAncestors[0]?.origName ?? position.sectionId);
425
+ const groupId = requestedDocument
426
+ ? position.groupId
427
+ : requestedGroupMatch?.node.type === 'branch' && requestedGroupAncestors.length > 0
428
+ ? requestedGroupMatch.node.origName
429
+ : undefined;
430
+ const leafId = document?.id;
431
+ return {
432
+ sectionId,
433
+ ...(groupId ? { groupId } : {}),
434
+ ...(leafId ? { leafId } : {}),
435
+ targetId: leafId ?? groupId ?? sectionId,
436
+ pathname: `${url.pathname}${url.search}${url.hash}`,
437
+ };
438
+ },
439
+ buildRoute: buildWorkspaceRoute,
440
+ routePath(value) {
441
+ const state = readWorkspaceDemoState();
442
+ const requested = value.replace(/^\/+|\/+$/g, '');
443
+ const document = findDocument(state, requested) ?? findDocument(state, requested.split('/').at(-1));
444
+ if (document) {
445
+ const { sectionId, groupId } = sectionForLeaf(state, document.id);
446
+ return buildWorkspaceRoute(sectionId, groupId, document.id);
447
+ }
448
+ const branch = findNode(state.tree, requested)?.node;
449
+ if (branch?.type === 'branch') {
450
+ const parent = findNode(state.tree, branch.origName)?.ancestors.filter((node) => node.type === 'branch') ?? [];
451
+ return parent.length > 0
452
+ ? buildWorkspaceRoute(parent[0]?.origName, branch.origName)
453
+ : buildWorkspaceRoute(branch.origName);
454
+ }
455
+ return WORKSPACE_DEMO_PATH;
456
+ },
457
+ isDevelopmentOrigin: (origin) => /^(?:https?:\/\/)?(?:localhost|127\.0\.0\.1)(?::\d+)?$/u.test(origin),
458
+ async invoke(operation, input) {
459
+ if (typeof window !== 'undefined') {
460
+ const browserWindow = window;
461
+ browserWindow.__terraDocsActionCalls ??= [];
462
+ browserWindow.__terraDocsActionCalls.push({ operation, input: clone(input) });
463
+ }
464
+ const request = asRecord(input);
465
+ const state = readWorkspaceDemoState();
466
+ let data = null;
467
+ let changed = false;
468
+ if (operation === 'read.doc.list') {
469
+ data = request.type === 'nav' ? withCurrentRoutes(state, readOnly) : [];
470
+ }
471
+ else if (operation === 'read.doc.get') {
472
+ data = clone(findDocument(state, request.path ?? request.id) ?? null);
473
+ }
474
+ else if (operation === 'read.doc.attachments') {
475
+ const document = findDocument(state, request.path);
476
+ data = clone(document?.attachments ?? []);
477
+ }
478
+ else if (operation === 'read.asset.get') {
479
+ const asset = state.assets[String(request.path ?? '')];
480
+ data = new Uint8Array(asset?.bytes ?? []).buffer;
481
+ }
482
+ else if (operation === 'read.doc.resolvePath') {
483
+ const title = typeof request.title === 'string' ? request.title : 'Untitled';
484
+ const parent = typeof request.path === 'string' ? request.path.replace(/^\/+|\/+$/g, '') : '';
485
+ const base = parent ? `${parent}/` : '';
486
+ let path = `${base}${slug(title)}.mdx`;
487
+ let suffix = 2;
488
+ while (findDocument(state, path)) {
489
+ path = `${base}${slug(title)}-${suffix}.mdx`;
490
+ suffix += 1;
491
+ }
492
+ data = { path, dir: parent || '.' };
493
+ }
494
+ else if (operation === 'read.util.pathname') {
495
+ data = findDocument(state, request.path)?.pathname ?? WORKSPACE_DEMO_PATH;
496
+ }
497
+ else if (operation === 'read.util.node') {
498
+ if (request.op === 'name')
499
+ data = slug(String(request.val ?? 'untitled'));
500
+ else {
501
+ const found = findNode(state.tree, String(request.val ?? request.path ?? ''))?.node;
502
+ data = found ? { title: found.title, origName: found.origName, type: found.type } : {};
503
+ }
504
+ }
505
+ else if (operation === 'read.source.body') {
506
+ data = markdownToDocsValue(typeof request.source === 'string' ? request.source : '');
507
+ }
508
+ else if (operation === 'read.tsdocs') {
509
+ data = { docs: [], scopes: [] };
510
+ }
511
+ else if (operation === 'write.doc.createSection') {
512
+ const title = String(request.title ?? 'Untitled Section');
513
+ const sectionId = uniqueId(state, title);
514
+ const groupId = `${sectionId}-general`;
515
+ const leafId = `${sectionId}-untitled`;
516
+ const sectionPath = slug(title);
517
+ const group = {
518
+ type: 'branch',
519
+ origName: groupId,
520
+ title: 'General',
521
+ path: `${sectionPath}/general`,
522
+ children: [],
523
+ };
524
+ const section = {
525
+ type: 'branch',
526
+ origName: sectionId,
527
+ title,
528
+ path: sectionPath,
529
+ hue: 165,
530
+ firstLeafUrl: buildWorkspaceRoute(sectionId, groupId, leafId),
531
+ children: [group],
532
+ };
533
+ const newDocument = makeDocument(leafId, `${sectionPath}/general/untitled.mdx`, 'Untitled', '', []);
534
+ newDocument.pathname = buildWorkspaceRoute(sectionId, groupId, leafId);
535
+ state.tree.push(section);
536
+ state.documents[leafId] = newDocument;
537
+ group.children?.push({
538
+ type: 'leaf',
539
+ origName: leafId,
540
+ title: 'Untitled',
541
+ path: newDocument.path,
542
+ permission: readOnly ? 'read' : 'write',
543
+ });
544
+ data = { _id: sectionId, title };
545
+ changed = true;
546
+ }
547
+ else if (operation === 'write.doc.createGroup') {
548
+ const title = String(request.title ?? 'Untitled Group');
549
+ const groupId = uniqueId(state, title);
550
+ const sectionId = String(request.sectionId ?? 'overview');
551
+ const section = findNode(state.tree, sectionId)?.node;
552
+ if (section?.type === 'branch') {
553
+ section.children ??= [];
554
+ section.children.push({
555
+ type: 'branch',
556
+ origName: groupId,
557
+ title,
558
+ path: `${String(section.path ?? sectionId)}/${groupId}`,
559
+ children: [],
560
+ });
561
+ data = { _id: groupId, title };
562
+ changed = true;
563
+ }
564
+ }
565
+ else if (operation === 'write.doc.editor' &&
566
+ typeof request.path === 'string' &&
567
+ findNode(state.tree, request.path)?.node.type === 'branch') {
568
+ const branch = findNode(state.tree, String(request.path))?.node;
569
+ if (branch) {
570
+ branch.title = String(request.title ?? branch.title ?? branch.origName);
571
+ data = { _id: branch.origName, title: branch.title };
572
+ changed = true;
573
+ }
574
+ }
575
+ else if (operation === 'write.doc.editor' || operation === 'write.doc.save') {
576
+ const path = String(request.path ?? 'overview/start-here/untitled.mdx');
577
+ const existing = findDocument(state, path);
578
+ const rawId = path
579
+ .split('/')
580
+ .at(-1)
581
+ ?.replace(/\.(?:md|mdx)$/i, '') ?? 'untitled';
582
+ const id = existing?.id ?? uniqueId(state, rawId);
583
+ const source = typeof request.source === 'string' ? request.source : undefined;
584
+ const content = Array.isArray(request.content)
585
+ ? clone(request.content)
586
+ : source !== undefined
587
+ ? markdownToDocsValue(source)
588
+ : clone(existing?.content ?? []);
589
+ if (operation === 'write.doc.save' && existing) {
590
+ existing.versions.unshift({
591
+ contentJson: JSON.stringify(existing.content),
592
+ body: clone(existing.content),
593
+ description: existing.description,
594
+ title: existing.title,
595
+ savedAt: new Date().toISOString(),
596
+ });
597
+ }
598
+ const newDocument = {
599
+ ...(existing ?? makeDocument(id, path, String(request.title ?? rawId), '', content)),
600
+ id,
601
+ path,
602
+ title: typeof request.title === 'string' ? request.title : (existing?.title ?? rawId),
603
+ description: typeof request.description === 'string'
604
+ ? request.description
605
+ : (existing?.description ?? ''),
606
+ content,
607
+ source: source ?? docsValueToMarkdown(content),
608
+ updatedAt: new Date().toISOString(),
609
+ };
610
+ const position = existing ? sectionForLeaf(state, existing.id) : undefined;
611
+ const newPosition = position ?? { sectionId: 'overview', groupId: 'start-here' };
612
+ newDocument.pathname = buildWorkspaceRoute(newPosition.sectionId, newPosition.groupId, id);
613
+ state.documents[id] = newDocument;
614
+ if (!existing)
615
+ addLeafToTree(state, String(request.parentId ?? 'start-here'), newDocument);
616
+ updateNodeById(state.tree, existing?.id ?? id, (node) => ({
617
+ ...node,
618
+ origName: id,
619
+ path,
620
+ title: newDocument.title,
621
+ description: newDocument.description,
622
+ }));
623
+ data = clone(newDocument);
624
+ changed = true;
625
+ }
626
+ else if (operation === 'write.doc.retitle') {
627
+ const id = String(request.id ?? '');
628
+ const title = String(request.title ?? 'Untitled');
629
+ const document = findDocument(state, id);
630
+ if (document) {
631
+ document.title = title;
632
+ document.updatedAt = new Date().toISOString();
633
+ }
634
+ updateNodeById(state.tree, id, (node) => ({ ...node, title }));
635
+ changed = true;
636
+ }
637
+ else if (operation === 'write.doc.hue') {
638
+ const id = String(request.id ?? '');
639
+ updateNodeById(state.tree, id, (node) => ({ ...node, hue: Number(request.hue) }));
640
+ changed = true;
641
+ }
642
+ else if (operation === 'write.doc.reorder') {
643
+ reorderChildren(state, request);
644
+ changed = true;
645
+ }
646
+ else if (operation === 'write.doc.retargetSources') {
647
+ const target = findDocument(state, request.targetId);
648
+ const sourceIds = Array.isArray(request.sourceIds)
649
+ ? request.sourceIds.filter((value) => typeof value === 'string')
650
+ : [];
651
+ if (!target || sourceIds.length === 0) {
652
+ return { error: new Error('The merge target or source pages could not be found.') };
653
+ }
654
+ const attachmentKey = (attachment) => attachment.id || `${attachment.path}\u0000${attachment.name}`;
655
+ const seenAttachments = new Set(target.attachments.map(attachmentKey));
656
+ for (const sourceId of sourceIds) {
657
+ const source = findDocument(state, sourceId);
658
+ if (!source || source.id === target.id)
659
+ continue;
660
+ for (const attachment of source.attachments) {
661
+ const key = attachmentKey(attachment);
662
+ if (!seenAttachments.has(key)) {
663
+ seenAttachments.add(key);
664
+ target.attachments.push(clone(attachment));
665
+ }
666
+ const asset = state.assets[attachment.path];
667
+ if (asset)
668
+ asset.docId = target.id;
669
+ }
670
+ }
671
+ data = true;
672
+ changed = true;
673
+ }
674
+ else if (operation === 'write.doc.rm') {
675
+ const path = String(request.path ?? '');
676
+ const document = findDocument(state, path);
677
+ if (document) {
678
+ delete state.documents[document.id];
679
+ for (const [assetPath, asset] of Object.entries(state.assets)) {
680
+ if (asset.docId === document.id)
681
+ delete state.assets[assetPath];
682
+ }
683
+ removeNodeById(state.tree, document.id);
684
+ }
685
+ else {
686
+ let found = findNode(state.tree, path);
687
+ if (!found && path.includes('?')) {
688
+ const route = new URL(path, 'http://localhost');
689
+ const routeNodeId = route.searchParams.get('group') ?? route.searchParams.get('section');
690
+ if (routeNodeId)
691
+ found = findNode(state.tree, routeNodeId);
692
+ }
693
+ if (found) {
694
+ removeDocumentsForNode(state, found.node);
695
+ removeNodeById(state.tree, found.node.origName);
696
+ }
697
+ }
698
+ data = null;
699
+ changed = true;
700
+ }
701
+ else if (operation === 'write.doc.commit') {
702
+ const currentPath = String(request.cur ?? '');
703
+ const nextPath = String(request.next ?? currentPath);
704
+ const document = findDocument(state, currentPath);
705
+ if (document) {
706
+ const priorId = document.id;
707
+ const nextId = nextPath
708
+ .split('/')
709
+ .at(-1)
710
+ ?.replace(/\.(?:md|mdx)$/i, '') ?? priorId;
711
+ delete state.documents[priorId];
712
+ document.id = nextId;
713
+ document.path = nextPath;
714
+ if (typeof request.title === 'string')
715
+ document.title = request.title;
716
+ if (typeof request.source === 'string') {
717
+ document.source = request.source;
718
+ document.content = markdownToDocsValue(request.source);
719
+ }
720
+ state.documents[nextId] = document;
721
+ const position = sectionForLeaf(state, priorId);
722
+ document.pathname = buildWorkspaceRoute(position.sectionId, position.groupId, nextId);
723
+ updateNodeById(state.tree, priorId, (node) => ({
724
+ ...node,
725
+ origName: nextId,
726
+ path: nextPath,
727
+ title: document.title,
728
+ }));
729
+ data = clone(document);
730
+ changed = true;
731
+ }
732
+ }
733
+ else if (operation === 'write.doc.versions.get') {
734
+ data = clone(findDocument(state, request.path)?.versions ?? []);
735
+ }
736
+ else if (operation === 'write.asset.upload') {
737
+ const form = input instanceof FormData ? input : null;
738
+ const uploaded = form?.get('file');
739
+ const file = uploaded instanceof Blob ? uploaded : null;
740
+ if (file) {
741
+ const fileName = uploaded instanceof File ? uploaded.name : 'attachment.bin';
742
+ const id = `attachment-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 7)}`;
743
+ const safeName = fileName.replace(/[^a-zA-Z0-9._-]+/g, '-');
744
+ const path = `/assets/${id}/${safeName}`;
745
+ const doc = findDocument(state, String(form?.get('path') ?? ''));
746
+ const bytes = Array.from(new Uint8Array(await file.arrayBuffer()));
747
+ const asset = {
748
+ id,
749
+ name: fileName,
750
+ path,
751
+ type: file.type || 'application/octet-stream',
752
+ size: file.size,
753
+ bytes,
754
+ docId: doc?.id ?? 'salesphere',
755
+ };
756
+ state.assets[path] = asset;
757
+ const attachment = {
758
+ id,
759
+ name: fileName,
760
+ path,
761
+ type: asset.type || 'application/octet-stream',
762
+ size: asset.size ?? bytes.length,
763
+ };
764
+ const owner = state.documents[asset.docId];
765
+ if (owner)
766
+ owner.attachments.push(attachment);
767
+ data = { id, path, name: fileName, compressedSize: bytes.length };
768
+ changed = true;
769
+ }
770
+ }
771
+ else if (operation === 'write.attachment.rm') {
772
+ const document = findDocument(state, request.docPath);
773
+ const attachmentId = String(request.attachmentKey ?? '');
774
+ const attachment = document?.attachments.find((item) => item.id === attachmentId);
775
+ if (document)
776
+ document.attachments = document.attachments.filter((item) => item.id !== attachmentId);
777
+ if (attachment)
778
+ delete state.assets[attachment.path];
779
+ changed = true;
780
+ }
781
+ else if (operation === 'write.attachment.rename') {
782
+ const document = findDocument(state, request.docPath);
783
+ const attachmentId = String(request.attachmentKey ?? '');
784
+ const title = String(request.name ?? request.title ?? 'attachment');
785
+ const attachment = document?.attachments.find((item) => item.id === attachmentId);
786
+ if (attachment)
787
+ attachment.name = title;
788
+ const asset = attachment ? state.assets[attachment.path] : undefined;
789
+ if (asset)
790
+ asset.name = title;
791
+ changed = true;
792
+ }
793
+ else if (operation === 'write.asset.delete') {
794
+ const path = String(request.url ?? request.path ?? '');
795
+ const asset = state.assets[path];
796
+ if (asset) {
797
+ delete state.assets[path];
798
+ const owner = state.documents[asset.docId];
799
+ if (owner)
800
+ owner.attachments = owner.attachments.filter((item) => item.id !== asset.id);
801
+ }
802
+ changed = true;
803
+ }
804
+ if (changed)
805
+ writeWorkspaceDemoState(state);
806
+ return response(data);
807
+ },
808
+ };
809
+ }
810
+ export function routeForWorkspaceDocument(state, value) {
811
+ const document = findDocument(state, value);
812
+ if (!document)
813
+ return WORKSPACE_DEMO_PATH;
814
+ const position = sectionForLeaf(state, document.id);
815
+ return buildWorkspaceRoute(position.sectionId, position.groupId, document.id);
816
+ }
817
+ export function routedWorkspaceTree(state, readOnly) {
818
+ return withCurrentRoutes(state, readOnly);
819
+ }
820
+ //# sourceMappingURL=workspace-demo-fixture.js.map