@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,654 @@
1
+ /** Downloads selected Docs pages and attachments in a ZIP archive. */
2
+ import { toast } from 'sonner';
3
+ import { actions } from '../runtime/action-proxy.js';
4
+ import * as TerraQualityRegex from '../regex.mjs';
5
+ import { dirname, docsRootPath } from '../runtime/shared.js';
6
+ import { isIndexFile, sanitizeName } from './tree.js';
7
+ export async function archiveDocs(v, r, f, o, d, n = []) {
8
+ console.info('[archive] start', { paths: v, rootDir: r, filenameBase: f, opts: o, nodeIds: n });
9
+ if (!v?.length && !r)
10
+ throw new Error('No docs files found to download.');
11
+ let allPaths = v && v.length > 0 ? [...v] : [];
12
+ const isMdFile = TerraQualityRegex.REGEX_MD_MDX_I_REGEX().test(r) || !r.includes('.');
13
+ if (allPaths.length === 0) {
14
+ if (isMdFile) {
15
+ if (isIndexFile(r)) {
16
+ const dir = dirname(r);
17
+ const { data: entries, error: listErr } = await actions.read.doc.list({
18
+ type: 'folderEntries',
19
+ path: dir === '.' ? '' : dir,
20
+ });
21
+ if (listErr || !entries)
22
+ throw listErr || new Error('Failed to fetch structural archive entries.');
23
+ allPaths = entries.filter((p) => p === r || dirname(p) === dir);
24
+ }
25
+ else
26
+ allPaths = [r];
27
+ }
28
+ else {
29
+ const { data: entries, error: listErr } = await actions.read.doc.list({
30
+ type: 'folderEntries',
31
+ path: r === '.' ? '' : r,
32
+ });
33
+ if (listErr || !entries)
34
+ throw listErr || new Error('Failed to fetch structural archive entries.');
35
+ allPaths = entries;
36
+ }
37
+ }
38
+ if (isMdFile && !allPaths.includes(r))
39
+ allPaths.push(r);
40
+ const attchPaths = [];
41
+ const assetNameMap = new Map();
42
+ // Create a combined list of paths explicitly for fetching attachments
43
+ await Promise.allSettled([...new Set([...allPaths, ...n])].map(async (p) => {
44
+ const c = p.split('?')[0] || p;
45
+ if (TerraQualityRegex.REGEX_MD_MDX_I_REGEX().test(c) || !c.includes('.')) {
46
+ try {
47
+ const { data: atts, error: err } = await actions.read.doc.attachments({ path: p });
48
+ if (!err && Array.isArray(atts)) {
49
+ for (const att of atts) {
50
+ if (att && typeof att === 'object' && 'path' in att && typeof att.path === 'string') {
51
+ if ('name' in att && typeof att.name === 'string') {
52
+ assetNameMap.set(att.path, att.name);
53
+ assetNameMap.set(att.path.split('?')[0] || att.path, att.name);
54
+ }
55
+ if (!allPaths.includes(att.path) && !attchPaths.includes(att.path))
56
+ attchPaths.push(att.path);
57
+ }
58
+ }
59
+ }
60
+ else if (err)
61
+ console.warn(`[archive] Error fetching attachments for ${p}:`, err);
62
+ }
63
+ catch (e) {
64
+ console.error(`[archive] Exception fetching attachments for ${p}:`, e);
65
+ }
66
+ }
67
+ }));
68
+ if (attchPaths.length > 0) {
69
+ allPaths.push(...attchPaths);
70
+ allPaths = [...new Set(allPaths)];
71
+ }
72
+ console.info('[archive] discovered paths', {
73
+ allPaths,
74
+ attachmentPaths: attchPaths,
75
+ assetNames: [...assetNameMap.entries()],
76
+ });
77
+ const zip = new (await import('jszip')).default();
78
+ let mergedPdf = null;
79
+ const wantsPdfMerge = (o.filters.pdfs && o.merges.pdfs) ||
80
+ (o.filters.images && o.merges.images) ||
81
+ (o.filters.pages && o.merges.pages && o.format === 'pdf');
82
+ console.info('[archive] merge plan', {
83
+ wantsPdfMerge,
84
+ textMerge: o.filters.pages && o.merges.pages && o.format === 'raw',
85
+ pdfMerge: o.filters.pdfs && o.merges.pdfs,
86
+ });
87
+ if (wantsPdfMerge) {
88
+ const { PDFDocument } = await import('pdf-lib');
89
+ mergedPdf = await PDFDocument.create();
90
+ }
91
+ const gJson = {};
92
+ const textJson = [];
93
+ const failures = [];
94
+ // Helper to accurately identify file types, prioritizing Sanity's explicit filename when available
95
+ /**
96
+ * Checks whether ext match.
97
+ *
98
+ * @param p - Value passed to the helper.
99
+ * @param regex - Value passed to the helper.
100
+ */
101
+ const isExtMatch = (p, regex) => {
102
+ if (regex.test(p.split('?')[0] || p))
103
+ return true;
104
+ const filename = assetNameMap.get(p.split('?')[0] || p);
105
+ if (filename && regex.test(filename))
106
+ return true;
107
+ return false;
108
+ };
109
+ const mdPaths = [];
110
+ const textPaths = [];
111
+ const pdfPaths = [];
112
+ const imgPaths = [];
113
+ const ytPaths = [];
114
+ const refPaths = [];
115
+ const otherPaths = [];
116
+ for (const p of allPaths) {
117
+ const c = p.split('?')[0] || p;
118
+ const isTsDoc = p.includes(`${docsRootPath()}/tsdocs/`);
119
+ const isHttp = p.startsWith('http');
120
+ const noDot = !assetNameMap.has(p) && !c.includes('.');
121
+ if (!isHttp && !isTsDoc && (TerraQualityRegex.REGEX_MD_MDX_I_REGEX().test(c) || noDot))
122
+ mdPaths.push(p);
123
+ let matched = false;
124
+ if (!isHttp &&
125
+ !isTsDoc &&
126
+ (/\.(md|mdx|txt|json|cpp|c|h|hpp|js|jsx|ts|tsx|astro|yaml|yml|xml|csv|html|css|scss|sh|py|java|rs|go|rb|swift)$/i.test(assetNameMap.get(c) || c) ||
127
+ noDot)) {
128
+ textPaths.push(p);
129
+ matched = true;
130
+ }
131
+ if (isExtMatch(p, TerraQualityRegex.REGEX_PDF_I_REGEX())) {
132
+ pdfPaths.push(p);
133
+ matched = true;
134
+ }
135
+ if (isExtMatch(p, TerraQualityRegex.REGEX_PNG_JPE_G_GIF_WEBP_SVG_AVIF_I_REGEX_2())) {
136
+ imgPaths.push(p);
137
+ matched = true;
138
+ }
139
+ if (p.endsWith('youtube_transcripts.json') ||
140
+ p.includes('youtube.com/') ||
141
+ p.includes('youtu.be/')) {
142
+ ytPaths.push(p);
143
+ matched = true;
144
+ }
145
+ if (isTsDoc) {
146
+ refPaths.push(p);
147
+ matched = true;
148
+ }
149
+ if (!matched)
150
+ otherPaths.push(p);
151
+ }
152
+ const tasks = [];
153
+ if (o.filters.pages)
154
+ textPaths.forEach((p) => tasks.push({ path: p, type: 'pages' }));
155
+ if (o.filters.pdfs)
156
+ pdfPaths.forEach((p) => tasks.push({ path: p, type: 'pdfs' }));
157
+ if (o.filters.images)
158
+ imgPaths.forEach((p) => tasks.push({ path: p, type: 'images' }));
159
+ if (o.filters.youtube)
160
+ ytPaths.forEach((p) => tasks.push({ path: p, type: 'youtube' }));
161
+ if (o.filters.tsdocs)
162
+ refPaths.forEach((p) => tasks.push({ path: p, type: 'tsdocs' }));
163
+ if (o.filters.other)
164
+ otherPaths.forEach((p) => tasks.push({ path: p, type: 'other' }));
165
+ console.info('[archive] classified tasks', {
166
+ total: tasks.length,
167
+ tasks,
168
+ textPaths,
169
+ pdfPaths,
170
+ imgPaths,
171
+ otherPaths,
172
+ });
173
+ if (tasks.length === 0)
174
+ throw new Error('No files match the selected filters.');
175
+ let completed = 0;
176
+ /**
177
+ * Updates the update Progress for the docs.
178
+ */
179
+ const updateProgress = () => {
180
+ completed++;
181
+ console.info('[archive] progress', {
182
+ completed,
183
+ total: tasks.length,
184
+ percent: Math.round((completed / tasks.length) * 100),
185
+ });
186
+ if (d)
187
+ d(Math.round((completed / tasks.length) * 100));
188
+ };
189
+ /**
190
+ * Resolves the Path.
191
+ *
192
+ * @param p - Value passed to the helper.
193
+ * @param forceExt - Value passed to the helper.
194
+ */
195
+ const resolvePath = (p, forceExt) => {
196
+ let rel = p;
197
+ if (assetNameMap.has(p.split('?')[0] || p))
198
+ rel = assetNameMap.get(p.split('?')[0] || p);
199
+ else if (rel.startsWith('http://') || rel.startsWith('https://')) {
200
+ // prettier-ignore
201
+ try {
202
+ const urlObj = new URL(rel);
203
+ let baseName = urlObj.pathname.split('/').pop() || 'downloaded-file';
204
+ if (urlObj.search) {
205
+ const sQuery = urlObj.search.replace(/[^a-zA-Z0-9]/g, '-').replace(TerraQualityRegex.REGEX_G_REGEX_3(), '-').replace(TerraQualityRegex.REGEX_G_REGEX_20(), '');
206
+ if (sQuery)
207
+ baseName = `${baseName}-${sQuery}`;
208
+ }
209
+ rel = baseName;
210
+ }
211
+ catch {
212
+ rel = rel.split('/').pop()?.replace(/[^a-zA-Z0-9.-]/g, '-') || 'downloaded-file';
213
+ }
214
+ }
215
+ else {
216
+ if (!isMdFile && p.startsWith(`${r}/`))
217
+ rel = p.slice(r.length + 1);
218
+ else if (isMdFile)
219
+ rel = p.split('/').pop() || p;
220
+ }
221
+ if (o.flatten) {
222
+ if (/(?:\/|^)index\.[^.]+$/i.test(p) && p.includes('/')) {
223
+ const parts = p.split('/');
224
+ rel = `${parts[parts.length - 2]}${p.match(TerraQualityRegex.REGEX_PATTERN_REGEX())?.[0] || ''}`;
225
+ }
226
+ else
227
+ rel = p.split('/').pop() || rel;
228
+ }
229
+ if (forceExt) {
230
+ if (rel.match(TerraQualityRegex.REGEX_A_Z0_9_I_REGEX_2()))
231
+ rel = rel.replace(TerraQualityRegex.REGEX_A_Z0_9_I_REGEX_2(), forceExt);
232
+ else
233
+ rel = `${rel}${forceExt}`;
234
+ }
235
+ return rel || 'untitled-file';
236
+ };
237
+ /**
238
+ * Fetches the fetch Asset Data.
239
+ *
240
+ * @param p - Value passed to the helper.
241
+ *
242
+ * @returns fetch Asset Data.
243
+ */
244
+ const fetchAssetData = async (p) => {
245
+ if (TerraQualityRegex.REGEX_HTTPS_I_REGEX().test(p)) {
246
+ try {
247
+ console.info('[archive] fetching remote asset directly', { path: p });
248
+ const res = await fetch(p, { signal: AbortSignal.timeout(20_000) });
249
+ if (res.ok) {
250
+ const buffer = await res.arrayBuffer();
251
+ console.info('[archive] remote asset fetched directly', {
252
+ path: p,
253
+ bytes: buffer.byteLength,
254
+ });
255
+ return { buffer, contentType: res.headers.get('content-type') || '' };
256
+ }
257
+ console.warn('[archive] direct remote asset fetch failed; trying server proxy', {
258
+ path: p,
259
+ status: res.status,
260
+ });
261
+ }
262
+ catch (err) {
263
+ console.warn('[archive] direct remote asset fetch threw; trying server proxy', {
264
+ path: p,
265
+ err,
266
+ });
267
+ }
268
+ }
269
+ const { data, error } = await actions.read.asset.get({ path: p });
270
+ if (error || !data) {
271
+ console.error('[archive] Failed to fetch asset through Docs read action', {
272
+ path: p,
273
+ error,
274
+ });
275
+ throw error || new Error('Failed to read asset');
276
+ }
277
+ console.info('[archive] asset fetched', { path: p, bytes: data.byteLength });
278
+ return { buffer: data, contentType: '' };
279
+ };
280
+ for (const task of tasks) {
281
+ const { path: p, type } = task;
282
+ console.info('[archive] processing task', {
283
+ path: p,
284
+ type,
285
+ filename: assetNameMap.get(p.split('?')[0] || p),
286
+ merge: o.merges[type],
287
+ });
288
+ if (type === 'pages' && !mdPaths.includes(p)) {
289
+ try {
290
+ const res = await fetchAssetData(p);
291
+ if (res) {
292
+ if (o.merges.pages)
293
+ textJson.push({
294
+ path: p,
295
+ filename: resolvePath(p),
296
+ value: new TextDecoder().decode(res.buffer),
297
+ });
298
+ else
299
+ zip.file(resolvePath(p), res.buffer);
300
+ console.info('[archive] text attachment processed', {
301
+ path: p,
302
+ filename: resolvePath(p),
303
+ bytes: res.buffer.byteLength,
304
+ merged: o.merges.pages,
305
+ });
306
+ }
307
+ }
308
+ catch (e) {
309
+ console.error(`[archive] Error fetching text attachment for ${p}:`, e);
310
+ failures.push({
311
+ filename: assetNameMap.get(p.split('?')[0] || p) || resolvePath(p),
312
+ path: p,
313
+ reason: e instanceof Error ? e.message : String(e),
314
+ });
315
+ }
316
+ }
317
+ else if (type === 'pages') {
318
+ if (o.format === 'pdf') {
319
+ try {
320
+ const { data: routeData } = await actions.read.util.pathname({ path: p });
321
+ if (routeData) {
322
+ const url = `${window.location.origin}${routeData}`;
323
+ const { data, error } = await actions.read.external.pdf({ url });
324
+ if (!error && data && data.pdfBase64) {
325
+ const byteChars = atob(data.pdfBase64);
326
+ const byteNums = new Array(byteChars.length);
327
+ for (let i = 0; i < byteChars.length; i++)
328
+ byteNums[i] = byteChars.charCodeAt(i);
329
+ const byteArray = new Uint8Array(byteNums);
330
+ if (o.merges.pages && mergedPdf) {
331
+ const { PDFDocument } = await import('pdf-lib');
332
+ const pdfDoc = await PDFDocument.load(byteArray);
333
+ (await mergedPdf.copyPages(pdfDoc, pdfDoc.getPageIndices())).forEach((p) => mergedPdf.addPage(p));
334
+ }
335
+ else {
336
+ zip.file(resolvePath(p, '.pdf'), byteArray);
337
+ }
338
+ }
339
+ else if (error)
340
+ console.error(`[archive] PDF Conversion Error for ${url}:`, error);
341
+ }
342
+ }
343
+ catch (e) {
344
+ console.error(`[archive] Pages -> PDF exception for ${p}:`, e);
345
+ }
346
+ }
347
+ else {
348
+ const { data, error } = await actions.read.doc.get({ path: p });
349
+ if (!error && data) {
350
+ const doc = data;
351
+ const fm = ['---'];
352
+ if (doc.title)
353
+ fm.push(`title: "${doc.title.replace(TerraQualityRegex.REGEX_G_REGEX_5(), '\\"')}"`);
354
+ if (doc.description)
355
+ fm.push(`description: "${doc.description.replace(TerraQualityRegex.REGEX_G_REGEX_5(), '\\"')}"`);
356
+ fm.push('---');
357
+ let localSrc = typeof doc.source === 'string' ? doc.source : '';
358
+ localSrc = localSrc.replace(/\]\((http[^)]+)\)/g, (m, l) => {
359
+ const basename = l.split('/').pop()?.split('?')[0];
360
+ return basename ? `](${basename})` : m;
361
+ });
362
+ localSrc = localSrc.replace(/src=["'](http[^"']+)["']/g, (m, l) => {
363
+ const basename = l.split('/').pop()?.split('?')[0];
364
+ return basename ? `src="${basename}"` : m;
365
+ });
366
+ if (o.merges.pages) {
367
+ let relPath = p;
368
+ if (!isMdFile && p.startsWith(`${r}/`))
369
+ relPath = p.slice(r.length + 1);
370
+ else if (isMdFile)
371
+ relPath = p.split('/').pop() || p;
372
+ const dir = relPath.includes('/')
373
+ ? relPath.substring(0, relPath.lastIndexOf('/'))
374
+ : '.';
375
+ const fname = relPath.split('/').pop() || '';
376
+ const key = dir === '.' ? fname.replace(TerraQualityRegex.REGEX_PATTERN_REGEX(), '') : dir;
377
+ if (!gJson[key])
378
+ gJson[key] = [];
379
+ let src = typeof doc.source === 'string' ? doc.source : '';
380
+ src = src.replace(/\]\((?!http|#)([^)]+)\)/g, (m, l) => {
381
+ const basename = l.split('/').pop();
382
+ return basename ? `](${basename})` : m;
383
+ });
384
+ src = src.replace(/src=["'](?!http|#)([^"']+)["']/g, (m, l) => {
385
+ const basename = l.split('/').pop();
386
+ return basename ? `src="${basename}"` : m;
387
+ });
388
+ gJson[key].push({
389
+ title: fname,
390
+ ...(doc.description !== undefined ? { description: doc.description } : {}),
391
+ source: src,
392
+ });
393
+ }
394
+ else {
395
+ zip.file(resolvePath(p, '.mdx'), `${fm.join('\n')}\n\n${localSrc}`);
396
+ }
397
+ }
398
+ else if (error)
399
+ console.error(`[archive] Error fetching doc content for ${p}:`, error);
400
+ }
401
+ }
402
+ else if (type === 'pdfs') {
403
+ try {
404
+ const res = await fetchAssetData(p);
405
+ if (res && res.buffer) {
406
+ if (o.merges.pdfs && mergedPdf) {
407
+ try {
408
+ const { PDFDocument } = await import('pdf-lib');
409
+ const pdfDoc = await PDFDocument.load(res.buffer);
410
+ const copiedPages = await mergedPdf.copyPages(pdfDoc, pdfDoc.getPageIndices());
411
+ copiedPages.forEach((p) => mergedPdf.addPage(p));
412
+ console.info('[archive] PDF merged', { path: p, pages: copiedPages.length });
413
+ }
414
+ catch (err) {
415
+ console.error('[archive] PDF merge failed; preserving standalone PDF', {
416
+ path: p,
417
+ err,
418
+ });
419
+ zip.file(resolvePath(p, '.pdf'), res.buffer);
420
+ }
421
+ }
422
+ else {
423
+ zip.file(resolvePath(p, '.pdf'), res.buffer);
424
+ }
425
+ }
426
+ }
427
+ catch (e) {
428
+ console.error(`[archive] Exception processing PDF ${p}:`, e, {
429
+ filename: assetNameMap.get(p.split('?')[0] || p),
430
+ merge: o.merges.pdfs,
431
+ });
432
+ failures.push({
433
+ filename: assetNameMap.get(p.split('?')[0] || p) || resolvePath(p),
434
+ path: p,
435
+ reason: e instanceof Error ? e.message : String(e),
436
+ });
437
+ }
438
+ }
439
+ else if (type === 'images') {
440
+ try {
441
+ const res = await fetchAssetData(p);
442
+ if (res && res.buffer) {
443
+ if (o.merges.images && mergedPdf) {
444
+ try {
445
+ let img;
446
+ if (p.match(/\.(jpe?g)$/i))
447
+ img = await mergedPdf.embedJpg(res.buffer);
448
+ else if (p.match(/\.(png)$/i))
449
+ img = await mergedPdf.embedPng(res.buffer);
450
+ if (img) {
451
+ mergedPdf
452
+ .addPage([img.width, img.height])
453
+ .drawImage(img, { x: 0, y: 0, width: img.width, height: img.height });
454
+ }
455
+ else {
456
+ console.warn(`[archive] Unsupported image type for PDF merge, zipping standalone: ${p}`);
457
+ zip.file(resolvePath(p), res.buffer);
458
+ }
459
+ }
460
+ catch (e) {
461
+ console.error(`[archive] Failed to embed image ${p} into PDF, zipping instead:`, e);
462
+ zip.file(resolvePath(p), res.buffer);
463
+ }
464
+ }
465
+ else {
466
+ zip.file(resolvePath(p), res.buffer);
467
+ }
468
+ }
469
+ }
470
+ catch (e) {
471
+ console.error(`[archive] Exception processing Image ${p}:`, e);
472
+ failures.push({
473
+ filename: assetNameMap.get(p.split('?')[0] || p) || resolvePath(p),
474
+ path: p,
475
+ reason: e instanceof Error ? e.message : String(e),
476
+ });
477
+ }
478
+ }
479
+ else if (type === 'youtube') {
480
+ try {
481
+ if (p.includes('youtube.com/') || p.includes('youtu.be/')) {
482
+ const { data: ytData, error: ytErr } = await actions.read.external.youtube({ url: p });
483
+ if (!ytErr && ytData) {
484
+ const cTitle = ytData.title || 'video';
485
+ if (o.merges.youtube) {
486
+ if (!gJson['youtube'])
487
+ gJson['youtube'] = [];
488
+ gJson['youtube'].push({
489
+ title: cTitle,
490
+ source: ytData.transcript || '',
491
+ });
492
+ }
493
+ else {
494
+ zip.file(resolvePath(`${sanitizeName(cTitle)}.txt`), ytData.transcript || '');
495
+ }
496
+ }
497
+ else if (ytErr)
498
+ console.error(`[archive] Error fetching YouTube transcript for ${p}:`, ytErr);
499
+ }
500
+ else {
501
+ const res = await fetchAssetData(p);
502
+ if (res && res.buffer) {
503
+ const videos = JSON.parse(new TextDecoder().decode(res.buffer));
504
+ if (Array.isArray(videos)) {
505
+ for (const video of videos) {
506
+ if (video.sourceUrl) {
507
+ const { data: ytData, error: ytErr } = await actions.read.external.youtube({
508
+ url: video.sourceUrl,
509
+ });
510
+ if (!ytErr && ytData) {
511
+ const cTitle = ytData.title || video.title || 'video';
512
+ if (o.merges.youtube) {
513
+ if (!gJson['youtube'])
514
+ gJson['youtube'] = [];
515
+ gJson['youtube'].push({
516
+ title: cTitle,
517
+ source: ytData.transcript || '',
518
+ });
519
+ }
520
+ else {
521
+ zip.file(resolvePath(`${sanitizeName(cTitle)}.txt`), ytData.transcript || '');
522
+ }
523
+ }
524
+ }
525
+ }
526
+ }
527
+ }
528
+ }
529
+ }
530
+ catch (e) {
531
+ console.error(`[archive] Exception processing YouTube resource ${p}:`, e);
532
+ }
533
+ }
534
+ else if (type === 'tsdocs') {
535
+ try {
536
+ const scopeMatch = p.match(TerraQualityRegex.REGEX_DOCS_TSDOCS_REGEX());
537
+ const scope = scopeMatch?.[1] ?? p;
538
+ const { data: tsData, error: tsErr } = await actions.read.tsdocs({ scope });
539
+ if (!tsErr && tsData && tsData.docs) {
540
+ const items = tsData.docs;
541
+ if (o.merges.tsdocs) {
542
+ const existing = Array.isArray(gJson['tsdocs']) ? gJson['tsdocs'] : [];
543
+ gJson['tsdocs'] = [
544
+ ...existing,
545
+ ...items.map((d) => ({ title: d.title, slug: d.slug, source: d.body })),
546
+ ];
547
+ }
548
+ else {
549
+ // prettier-ignore
550
+ zip.file(resolvePath(`${sanitizeName(scope.replace(TerraQualityRegex.REGEX_G_REGEX_10(), '-'))}.json`), JSON.stringify(items.map(d => ({ title: d.title, slug: d.slug, source: d.body })), null, 2));
551
+ }
552
+ }
553
+ else if (tsErr)
554
+ console.error(`[archive] Error fetching TSDocs for scope ${scope}:`, tsErr);
555
+ }
556
+ catch (e) {
557
+ console.error(`[archive] Exception processing TSDocs ${p}:`, e);
558
+ }
559
+ }
560
+ else {
561
+ try {
562
+ const res = await fetchAssetData(p);
563
+ if (res && res.buffer) {
564
+ let tgtPath = resolvePath(p);
565
+ if (!TerraQualityRegex.REGEX_A_Z0_9_I_REGEX_2().test(tgtPath)) {
566
+ let forcedExt = '';
567
+ if (res.contentType.includes('application/pdf'))
568
+ forcedExt = '.pdf';
569
+ else if (res.contentType.includes('image/jpeg'))
570
+ forcedExt = '.jpg';
571
+ else if (res.contentType.includes('image/png'))
572
+ forcedExt = '.png';
573
+ else if (res.contentType.includes('image/webp'))
574
+ forcedExt = '.webp';
575
+ else if (res.contentType.includes('application/json'))
576
+ forcedExt = '.json';
577
+ else {
578
+ const arr = new Uint8Array(res.buffer.slice(0, 4));
579
+ if (arr[0] === 0x25 && arr[1] === 0x50 && arr[2] === 0x44 && arr[3] === 0x44)
580
+ forcedExt = '.pdf';
581
+ }
582
+ if (forcedExt)
583
+ tgtPath = resolvePath(p, forcedExt);
584
+ if (forcedExt === '.pdf' && o.merges.pdfs && mergedPdf) {
585
+ const { PDFDocument } = await import('pdf-lib');
586
+ const pdfDoc = await PDFDocument.load(res.buffer);
587
+ (await mergedPdf.copyPages(pdfDoc, pdfDoc.getPageIndices())).forEach((p) => mergedPdf.addPage(p));
588
+ updateProgress();
589
+ continue;
590
+ }
591
+ }
592
+ zip.file(tgtPath, res.buffer);
593
+ }
594
+ }
595
+ catch (e) {
596
+ console.error(`[archive] Exception processing Other attachment ${p}:`, e);
597
+ failures.push({
598
+ filename: assetNameMap.get(p.split('?')[0] || p) || resolvePath(p),
599
+ path: p,
600
+ reason: e instanceof Error ? e.message : String(e),
601
+ });
602
+ }
603
+ }
604
+ updateProgress();
605
+ }
606
+ // FINALISE MERGES
607
+ // Write distinct JSON files for merged categories to prevent structural collisions
608
+ // and isolate domain concerns when consumed by external tools.
609
+ if (o.merges.tsdocs && gJson['tsdocs']) {
610
+ zip.file(`${f}-tsdocs.json`, JSON.stringify(gJson['tsdocs'], null, 2));
611
+ delete gJson['tsdocs'];
612
+ }
613
+ if (o.merges.youtube && gJson['youtube']) {
614
+ zip.file(`${f}-youtube.json`, JSON.stringify(gJson['youtube'], null, 2));
615
+ delete gJson['youtube'];
616
+ }
617
+ if (o.merges.pages && o.format === 'raw' && Object.keys(gJson).length > 0)
618
+ zip.file(`${f}-mdx.json`, JSON.stringify(gJson, null, 2));
619
+ if (o.merges.pages && textJson.length > 0)
620
+ zip.file(`${f}-text.json`, JSON.stringify(textJson, null, 2));
621
+ console.info('[archive] merged text summary', {
622
+ count: textJson.length,
623
+ files: textJson.map((i) => i.filename),
624
+ });
625
+ if (failures.length) {
626
+ console.warn('[archive] export completed with failures', {
627
+ count: failures.length,
628
+ failures,
629
+ });
630
+ toast.warning(`${failures.length} attachment${failures.length === 1 ? '' : 's'} failed. See the browser console for details.`);
631
+ }
632
+ else
633
+ toast.success('Export completed.');
634
+ if (wantsPdfMerge && mergedPdf && mergedPdf.getPageCount() > 0) {
635
+ try {
636
+ const mergedPdfBytes = await mergedPdf.save();
637
+ zip.file(`${f}-merged.pdf`, mergedPdfBytes);
638
+ console.info('[archive] merged PDF finalized', {
639
+ pages: mergedPdf.getPageCount(),
640
+ bytes: mergedPdfBytes.length,
641
+ });
642
+ }
643
+ catch (e) {
644
+ console.error(`[archive] Error generating Master PDF:`, e);
645
+ }
646
+ }
647
+ const href = URL.createObjectURL(await zip.generateAsync({ type: 'blob' }));
648
+ const link = document.createElement('a');
649
+ link.href = href;
650
+ link.download = `${f}.zip`;
651
+ link.click();
652
+ URL.revokeObjectURL(href);
653
+ }
654
+ //# sourceMappingURL=archive.js.map