@terra-symposium/docs 0.0.0-stage → 0.1.17

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 (241) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +72 -2
  3. package/lib-dist/Docs.d.ts +22 -0
  4. package/lib-dist/Docs.d.ts.map +1 -0
  5. package/lib-dist/Docs.js +60 -0
  6. package/lib-dist/Docs.js.map +1 -0
  7. package/lib-dist/LocalDocsWorkspace.d.ts +30 -0
  8. package/lib-dist/LocalDocsWorkspace.d.ts.map +1 -0
  9. package/lib-dist/LocalDocsWorkspace.js +148 -0
  10. package/lib-dist/LocalDocsWorkspace.js.map +1 -0
  11. package/lib-dist/SiteLayout.d.ts +30 -0
  12. package/lib-dist/SiteLayout.d.ts.map +1 -0
  13. package/lib-dist/SiteLayout.js +34 -0
  14. package/lib-dist/SiteLayout.js.map +1 -0
  15. package/lib-dist/StaticWorkspace.d.ts +21 -0
  16. package/lib-dist/StaticWorkspace.d.ts.map +1 -0
  17. package/lib-dist/StaticWorkspace.js +179 -0
  18. package/lib-dist/StaticWorkspace.js.map +1 -0
  19. package/lib-dist/_Toolbar.d.ts +7 -0
  20. package/lib-dist/_Toolbar.d.ts.map +1 -0
  21. package/lib-dist/_Toolbar.js +85 -0
  22. package/lib-dist/_Toolbar.js.map +1 -0
  23. package/lib-dist/blocks.d.ts +23 -0
  24. package/lib-dist/blocks.d.ts.map +1 -0
  25. package/lib-dist/blocks.js +321 -0
  26. package/lib-dist/blocks.js.map +1 -0
  27. package/lib-dist/docs-catalog.d.ts +5 -0
  28. package/lib-dist/docs-catalog.d.ts.map +1 -0
  29. package/lib-dist/docs-catalog.js +38 -0
  30. package/lib-dist/docs-catalog.js.map +1 -0
  31. package/lib-dist/docs-style.css +31 -0
  32. package/lib-dist/fonts/Avara-Bold.woff2 +0 -0
  33. package/lib-dist/fonts/Avara-BoldItalic.woff2 +0 -0
  34. package/lib-dist/fonts/OFL-1.1.txt +93 -0
  35. package/lib-dist/fonts/README.md +5 -0
  36. package/lib-dist/host-runtime.d.ts +5 -0
  37. package/lib-dist/host-runtime.d.ts.map +1 -0
  38. package/lib-dist/host-runtime.js +21 -0
  39. package/lib-dist/host-runtime.js.map +1 -0
  40. package/lib-dist/host.d.ts +170 -0
  41. package/lib-dist/host.d.ts.map +1 -0
  42. package/lib-dist/host.js +2 -0
  43. package/lib-dist/host.js.map +1 -0
  44. package/lib-dist/index.d.ts +35 -0
  45. package/lib-dist/index.d.ts.map +1 -0
  46. package/lib-dist/index.js +28 -0
  47. package/lib-dist/index.js.map +1 -0
  48. package/lib-dist/markdown-model.d.ts +7 -0
  49. package/lib-dist/markdown-model.d.ts.map +1 -0
  50. package/lib-dist/markdown-model.js +181 -0
  51. package/lib-dist/markdown-model.js.map +1 -0
  52. package/lib-dist/markdown.d.ts +3 -0
  53. package/lib-dist/markdown.d.ts.map +1 -0
  54. package/lib-dist/markdown.js +83 -0
  55. package/lib-dist/markdown.js.map +1 -0
  56. package/lib-dist/navigation.d.ts +17 -0
  57. package/lib-dist/navigation.d.ts.map +1 -0
  58. package/lib-dist/navigation.js +9 -0
  59. package/lib-dist/navigation.js.map +1 -0
  60. package/lib-dist/schema.d.ts +135 -0
  61. package/lib-dist/schema.d.ts.map +1 -0
  62. package/lib-dist/schema.js +55 -0
  63. package/lib-dist/schema.js.map +1 -0
  64. package/lib-dist/style.css +1 -0
  65. package/lib-dist/terra/Workspace.d.ts +5 -0
  66. package/lib-dist/terra/Workspace.d.ts.map +1 -0
  67. package/lib-dist/terra/Workspace.js +9 -0
  68. package/lib-dist/terra/Workspace.js.map +1 -0
  69. package/lib-dist/terra/editor/TerraContentEditor.d.ts +10 -0
  70. package/lib-dist/terra/editor/TerraContentEditor.d.ts.map +1 -0
  71. package/lib-dist/terra/editor/TerraContentEditor.js +47 -0
  72. package/lib-dist/terra/editor/TerraContentEditor.js.map +1 -0
  73. package/lib-dist/terra/editor/_blocks.d.ts +71 -0
  74. package/lib-dist/terra/editor/_blocks.d.ts.map +1 -0
  75. package/lib-dist/terra/editor/_blocks.js +110 -0
  76. package/lib-dist/terra/editor/_blocks.js.map +1 -0
  77. package/lib-dist/terra/editor/docs/_Callout.d.ts +14 -0
  78. package/lib-dist/terra/editor/docs/_Callout.d.ts.map +1 -0
  79. package/lib-dist/terra/editor/docs/_Callout.js +41 -0
  80. package/lib-dist/terra/editor/docs/_Callout.js.map +1 -0
  81. package/lib-dist/terra/editor/docs/_CodeBlock.d.ts +39 -0
  82. package/lib-dist/terra/editor/docs/_CodeBlock.d.ts.map +1 -0
  83. package/lib-dist/terra/editor/docs/_CodeBlock.js +494 -0
  84. package/lib-dist/terra/editor/docs/_CodeBlock.js.map +1 -0
  85. package/lib-dist/terra/editor/docs/_DocsCode.d.ts +14 -0
  86. package/lib-dist/terra/editor/docs/_DocsCode.d.ts.map +1 -0
  87. package/lib-dist/terra/editor/docs/_DocsCode.js +95 -0
  88. package/lib-dist/terra/editor/docs/_DocsCode.js.map +1 -0
  89. package/lib-dist/terra/editor/docs/_DocsImage.d.ts +18 -0
  90. package/lib-dist/terra/editor/docs/_DocsImage.d.ts.map +1 -0
  91. package/lib-dist/terra/editor/docs/_DocsImage.js +62 -0
  92. package/lib-dist/terra/editor/docs/_DocsImage.js.map +1 -0
  93. package/lib-dist/terra/editor/docs/_Embed.d.ts +15 -0
  94. package/lib-dist/terra/editor/docs/_Embed.d.ts.map +1 -0
  95. package/lib-dist/terra/editor/docs/_Embed.js +27 -0
  96. package/lib-dist/terra/editor/docs/_Embed.js.map +1 -0
  97. package/lib-dist/terra/editor/docs/_Math.d.ts +31 -0
  98. package/lib-dist/terra/editor/docs/_Math.d.ts.map +1 -0
  99. package/lib-dist/terra/editor/docs/_Math.js +126 -0
  100. package/lib-dist/terra/editor/docs/_Math.js.map +1 -0
  101. package/lib-dist/terra/editor/docs/_Nodes.d.ts +15 -0
  102. package/lib-dist/terra/editor/docs/_Nodes.d.ts.map +1 -0
  103. package/lib-dist/terra/editor/docs/_Nodes.js +52 -0
  104. package/lib-dist/terra/editor/docs/_Nodes.js.map +1 -0
  105. package/lib-dist/terra/editor/docs/_Raw.d.ts +15 -0
  106. package/lib-dist/terra/editor/docs/_Raw.d.ts.map +1 -0
  107. package/lib-dist/terra/editor/docs/_Raw.js +26 -0
  108. package/lib-dist/terra/editor/docs/_Raw.js.map +1 -0
  109. package/lib-dist/terra/editor/docs/_Table.d.ts +12 -0
  110. package/lib-dist/terra/editor/docs/_Table.d.ts.map +1 -0
  111. package/lib-dist/terra/editor/docs/_Table.js +71 -0
  112. package/lib-dist/terra/editor/docs/_Table.js.map +1 -0
  113. package/lib-dist/terra/editor/docs/_Tabs.d.ts +14 -0
  114. package/lib-dist/terra/editor/docs/_Tabs.d.ts.map +1 -0
  115. package/lib-dist/terra/editor/docs/_Tabs.js +104 -0
  116. package/lib-dist/terra/editor/docs/_Tabs.js.map +1 -0
  117. package/lib-dist/terra/editor/docs/_TsDocs.d.ts +15 -0
  118. package/lib-dist/terra/editor/docs/_TsDocs.d.ts.map +1 -0
  119. package/lib-dist/terra/editor/docs/_TsDocs.js +81 -0
  120. package/lib-dist/terra/editor/docs/_TsDocs.js.map +1 -0
  121. package/lib-dist/terra/editor/docs/_math_inline.d.ts +14 -0
  122. package/lib-dist/terra/editor/docs/_math_inline.d.ts.map +1 -0
  123. package/lib-dist/terra/editor/docs/_math_inline.js +30 -0
  124. package/lib-dist/terra/editor/docs/_math_inline.js.map +1 -0
  125. package/lib-dist/terra/editor/docs/heading.d.ts +23 -0
  126. package/lib-dist/terra/editor/docs/heading.d.ts.map +1 -0
  127. package/lib-dist/terra/editor/docs/heading.js +60 -0
  128. package/lib-dist/terra/editor/docs/heading.js.map +1 -0
  129. package/lib-dist/terra/editor/docs/index.d.ts +13 -0
  130. package/lib-dist/terra/editor/docs/index.d.ts.map +1 -0
  131. package/lib-dist/terra/editor/docs/index.js +14 -0
  132. package/lib-dist/terra/editor/docs/index.js.map +1 -0
  133. package/lib-dist/terra/editor/types.d.ts +40 -0
  134. package/lib-dist/terra/editor/types.d.ts.map +1 -0
  135. package/lib-dist/terra/editor/types.js +11 -0
  136. package/lib-dist/terra/editor/types.js.map +1 -0
  137. package/lib-dist/terra/flow/Nodes.d.ts +78 -0
  138. package/lib-dist/terra/flow/Nodes.d.ts.map +1 -0
  139. package/lib-dist/terra/flow/Nodes.js +912 -0
  140. package/lib-dist/terra/flow/Nodes.js.map +1 -0
  141. package/lib-dist/terra/flow/_chrome.d.ts +267 -0
  142. package/lib-dist/terra/flow/_chrome.d.ts.map +1 -0
  143. package/lib-dist/terra/flow/_chrome.js +798 -0
  144. package/lib-dist/terra/flow/_chrome.js.map +1 -0
  145. package/lib-dist/terra/flow/_layout.d.ts +30 -0
  146. package/lib-dist/terra/flow/_layout.d.ts.map +1 -0
  147. package/lib-dist/terra/flow/_layout.js +53 -0
  148. package/lib-dist/terra/flow/_layout.js.map +1 -0
  149. package/lib-dist/terra/flow/menuContext.d.ts +13 -0
  150. package/lib-dist/terra/flow/menuContext.d.ts.map +1 -0
  151. package/lib-dist/terra/flow/menuContext.js +10 -0
  152. package/lib-dist/terra/flow/menuContext.js.map +1 -0
  153. package/lib-dist/terra/flow/powerSource.d.ts +16 -0
  154. package/lib-dist/terra/flow/powerSource.d.ts.map +1 -0
  155. package/lib-dist/terra/flow/powerSource.js +59 -0
  156. package/lib-dist/terra/flow/powerSource.js.map +1 -0
  157. package/lib-dist/terra/pages/docs/_attachments.d.ts +20 -0
  158. package/lib-dist/terra/pages/docs/_attachments.d.ts.map +1 -0
  159. package/lib-dist/terra/pages/docs/_attachments.js +904 -0
  160. package/lib-dist/terra/pages/docs/_attachments.js.map +1 -0
  161. package/lib-dist/terra/pages/docs/_blocks.d.ts +48 -0
  162. package/lib-dist/terra/pages/docs/_blocks.d.ts.map +1 -0
  163. package/lib-dist/terra/pages/docs/_blocks.js +192 -0
  164. package/lib-dist/terra/pages/docs/_blocks.js.map +1 -0
  165. package/lib-dist/terra/pages/docs/_custom.d.ts +5 -0
  166. package/lib-dist/terra/pages/docs/_custom.d.ts.map +1 -0
  167. package/lib-dist/terra/pages/docs/_custom.js +6 -0
  168. package/lib-dist/terra/pages/docs/_custom.js.map +1 -0
  169. package/lib-dist/terra/pages/docs/_editable.d.ts +61 -0
  170. package/lib-dist/terra/pages/docs/_editable.d.ts.map +1 -0
  171. package/lib-dist/terra/pages/docs/_editable.js +404 -0
  172. package/lib-dist/terra/pages/docs/_editable.js.map +1 -0
  173. package/lib-dist/terra/pages/docs/_export-dialog.d.ts +19 -0
  174. package/lib-dist/terra/pages/docs/_export-dialog.d.ts.map +1 -0
  175. package/lib-dist/terra/pages/docs/_export-dialog.js +78 -0
  176. package/lib-dist/terra/pages/docs/_export-dialog.js.map +1 -0
  177. package/lib-dist/terra/pages/docs/_helpers.d.ts +395 -0
  178. package/lib-dist/terra/pages/docs/_helpers.d.ts.map +1 -0
  179. package/lib-dist/terra/pages/docs/_helpers.js +911 -0
  180. package/lib-dist/terra/pages/docs/_helpers.js.map +1 -0
  181. package/lib-dist/terra/pages/docs/_icons.d.ts +20 -0
  182. package/lib-dist/terra/pages/docs/_icons.d.ts.map +1 -0
  183. package/lib-dist/terra/pages/docs/_icons.js +29 -0
  184. package/lib-dist/terra/pages/docs/_icons.js.map +1 -0
  185. package/lib-dist/terra/pages/docs/_main.d.ts +51 -0
  186. package/lib-dist/terra/pages/docs/_main.d.ts.map +1 -0
  187. package/lib-dist/terra/pages/docs/_main.js +1959 -0
  188. package/lib-dist/terra/pages/docs/_main.js.map +1 -0
  189. package/lib-dist/terra/pages/docs/_sidebar.d.ts +42 -0
  190. package/lib-dist/terra/pages/docs/_sidebar.d.ts.map +1 -0
  191. package/lib-dist/terra/pages/docs/_sidebar.js +2450 -0
  192. package/lib-dist/terra/pages/docs/_sidebar.js.map +1 -0
  193. package/lib-dist/terra/pages/docs/_toolbar.d.ts +23 -0
  194. package/lib-dist/terra/pages/docs/_toolbar.d.ts.map +1 -0
  195. package/lib-dist/terra/pages/docs/_toolbar.js +1539 -0
  196. package/lib-dist/terra/pages/docs/_toolbar.js.map +1 -0
  197. package/lib-dist/terra/pages/docs/_tree.d.ts +178 -0
  198. package/lib-dist/terra/pages/docs/_tree.d.ts.map +1 -0
  199. package/lib-dist/terra/pages/docs/_tree.js +1168 -0
  200. package/lib-dist/terra/pages/docs/_tree.js.map +1 -0
  201. package/lib-dist/terra/regex.mjs +398 -0
  202. package/lib-dist/terra/runtime/action-proxy.d.ts +5 -0
  203. package/lib-dist/terra/runtime/action-proxy.d.ts.map +1 -0
  204. package/lib-dist/terra/runtime/action-proxy.js +19 -0
  205. package/lib-dist/terra/runtime/action-proxy.js.map +1 -0
  206. package/lib-dist/terra/runtime/content.d.ts +150 -0
  207. package/lib-dist/terra/runtime/content.d.ts.map +1 -0
  208. package/lib-dist/terra/runtime/content.js +1171 -0
  209. package/lib-dist/terra/runtime/content.js.map +1 -0
  210. package/lib-dist/terra/runtime/leaf.d.ts +5 -0
  211. package/lib-dist/terra/runtime/leaf.d.ts.map +1 -0
  212. package/lib-dist/terra/runtime/leaf.js +13 -0
  213. package/lib-dist/terra/runtime/leaf.js.map +1 -0
  214. package/lib-dist/terra/runtime/nodes.d.ts +112 -0
  215. package/lib-dist/terra/runtime/nodes.d.ts.map +1 -0
  216. package/lib-dist/terra/runtime/nodes.js +534 -0
  217. package/lib-dist/terra/runtime/nodes.js.map +1 -0
  218. package/lib-dist/terra/runtime/runtime.d.ts +25 -0
  219. package/lib-dist/terra/runtime/runtime.d.ts.map +1 -0
  220. package/lib-dist/terra/runtime/runtime.js +50 -0
  221. package/lib-dist/terra/runtime/runtime.js.map +1 -0
  222. package/lib-dist/terra/runtime/shared.d.ts +35 -0
  223. package/lib-dist/terra/runtime/shared.d.ts.map +1 -0
  224. package/lib-dist/terra/runtime/shared.js +79 -0
  225. package/lib-dist/terra/runtime/shared.js.map +1 -0
  226. package/lib-dist/terra/runtime/types.d.ts +266 -0
  227. package/lib-dist/terra/runtime/types.d.ts.map +1 -0
  228. package/lib-dist/terra/runtime/types.js +18 -0
  229. package/lib-dist/terra/runtime/types.js.map +1 -0
  230. package/lib-dist/terra/runtime/ui.d.ts +31 -0
  231. package/lib-dist/terra/runtime/ui.d.ts.map +1 -0
  232. package/lib-dist/terra/runtime/ui.js +16 -0
  233. package/lib-dist/terra/runtime/ui.js.map +1 -0
  234. package/lib-dist/workspace.d.ts +78 -0
  235. package/lib-dist/workspace.d.ts.map +1 -0
  236. package/lib-dist/workspace.js +151 -0
  237. package/lib-dist/workspace.js.map +1 -0
  238. package/package.json +90 -3
  239. package/src/SiteLayout.astro +38 -0
  240. package/src/navigation.tsx +47 -0
  241. package/src/style.css +733 -0
@@ -0,0 +1,321 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { defineBlockObject, defineInlineObject, useEditor } from '@portabletext/editor';
3
+ import { useState } from 'react';
4
+ import katex from 'katex';
5
+ import { renderMarkdown } from './markdown.js';
6
+ /** The portable Docs members. A host can disable any member without changing stored data. */
7
+ export const DOCS_BLOCK_TYPES = [
8
+ 'accordion',
9
+ 'tabs',
10
+ 'table',
11
+ 'callout',
12
+ 'code',
13
+ 'docImage',
14
+ 'embed',
15
+ 'math',
16
+ 'nodes',
17
+ 'raw',
18
+ 'tsDocs',
19
+ ];
20
+ export function enabledDocsBlocks(options = {}) {
21
+ return DOCS_BLOCK_TYPES.filter((type) => options[type] !== false);
22
+ }
23
+ export const DOCS_BLOCK_FIELDS = {
24
+ accordion: [
25
+ { name: 'items', type: 'array' },
26
+ { name: 'markdown', type: 'string' },
27
+ ],
28
+ tabs: [
29
+ { name: 'items', type: 'array' },
30
+ { name: 'markdown', type: 'string' },
31
+ ],
32
+ table: [
33
+ { name: 'header', type: 'string' },
34
+ { name: 'rows', type: 'array' },
35
+ { name: 'markdown', type: 'string' },
36
+ ],
37
+ callout: [
38
+ { name: 'kind', type: 'string' },
39
+ { name: 'title', type: 'string' },
40
+ { name: 'content', type: 'array' },
41
+ { name: 'markdown', type: 'string' },
42
+ ],
43
+ code: [
44
+ { name: 'language', type: 'string' },
45
+ { name: 'source', type: 'string' },
46
+ { name: 'value', type: 'string' },
47
+ { name: 'markdown', type: 'string' },
48
+ ],
49
+ docImage: [
50
+ { name: 'alt', type: 'string' },
51
+ { name: 'url', type: 'string' },
52
+ { name: 'title', type: 'string' },
53
+ { name: 'width', type: 'string' },
54
+ { name: 'height', type: 'string' },
55
+ { name: 'markdown', type: 'string' },
56
+ ],
57
+ embed: [
58
+ { name: 'src', type: 'string' },
59
+ { name: 'title', type: 'string' },
60
+ { name: 'width', type: 'string' },
61
+ { name: 'height', type: 'string' },
62
+ { name: 'markdown', type: 'string' },
63
+ ],
64
+ math: [
65
+ { name: 'code', type: 'string' },
66
+ { name: 'inline', type: 'boolean' },
67
+ { name: 'markdown', type: 'string' },
68
+ ],
69
+ nodes: [
70
+ { name: 'nodes', type: 'array' },
71
+ { name: 'edges', type: 'array' },
72
+ { name: 'direction', type: 'string' },
73
+ { name: 'height', type: 'number' },
74
+ { name: 'nodeSep', type: 'number' },
75
+ { name: 'rankSep', type: 'number' },
76
+ { name: 'proximityConnect', type: 'boolean' },
77
+ { name: 'markdown', type: 'string' },
78
+ ],
79
+ raw: [{ name: 'markdown', type: 'string' }],
80
+ tsDocs: [
81
+ { name: 'scope', type: 'string' },
82
+ { name: 'markdown', type: 'string' },
83
+ ],
84
+ };
85
+ const defaults = {
86
+ accordion: { _type: 'accordion', items: [{ title: 'Item', content: [] }] },
87
+ tabs: { _type: 'tabs', items: [{ title: 'Tab', content: [] }] },
88
+ table: { _type: 'table', header: 'Table', rows: [] },
89
+ callout: { _type: 'callout', kind: 'info', title: 'Note', content: [] },
90
+ code: { _type: 'code', language: 'text', value: '' },
91
+ docImage: { _type: 'docImage', alt: '', url: '' },
92
+ embed: { _type: 'embed', src: '', title: '' },
93
+ math: { _type: 'math', code: '', inline: false },
94
+ nodes: { _type: 'nodes', nodes: [], edges: [], direction: 'TB' },
95
+ raw: { _type: 'raw', markdown: '' },
96
+ tsDocs: { _type: 'tsDocs', scope: '' },
97
+ };
98
+ export function defaultDocsBlock(type) {
99
+ return structuredClone(defaults[type]);
100
+ }
101
+ function text(value) {
102
+ if (typeof value === 'string')
103
+ return value;
104
+ if (Array.isArray(value))
105
+ return value.map(text).join(' ');
106
+ if (value && typeof value === 'object') {
107
+ const item = value;
108
+ return text(item.markdown ?? item.text ?? item.children ?? item.content ?? '');
109
+ }
110
+ return '';
111
+ }
112
+ function safeUrl(value) {
113
+ if (typeof value !== 'string' || !value.trim())
114
+ return undefined;
115
+ try {
116
+ const url = new URL(value, 'https://docs.invalid');
117
+ return ['https:', 'http:', 'mailto:'].includes(url.protocol) ? value : undefined;
118
+ }
119
+ catch {
120
+ return undefined;
121
+ }
122
+ }
123
+ function nestedMarkdown(item) {
124
+ return typeof item.markdown === 'string' ? item.markdown : text(item.content);
125
+ }
126
+ function Diagram({ block }) {
127
+ const nodes = (Array.isArray(block.nodes) ? block.nodes : []).filter((node) => Boolean(node) && typeof node === 'object');
128
+ const edges = (Array.isArray(block.edges) ? block.edges : []).filter((edge) => Boolean(edge) && typeof edge === 'object');
129
+ const horizontal = block.direction === 'LR';
130
+ const width = horizontal ? Math.max(320, nodes.length * 180) : 320;
131
+ const height = horizontal ? 140 : Math.max(140, nodes.length * 100);
132
+ const positions = new Map(nodes.map((node, index) => [
133
+ String(node.id ?? index),
134
+ horizontal ? { x: 90 + index * 180, y: 70 } : { x: 160, y: 70 + index * 100 },
135
+ ]));
136
+ return (_jsxs("figure", { className: "terra-docs-diagram", children: [_jsxs("svg", { role: "img", "aria-label": "Document diagram", viewBox: `0 0 ${width} ${height}`, children: [_jsx("defs", { children: _jsx("marker", { id: "terra-docs-arrow", markerWidth: "8", markerHeight: "8", refX: "7", refY: "4", orient: "auto", children: _jsx("path", { d: "M0 0 L8 4 L0 8 Z", fill: "currentColor" }) }) }), edges.map((edge, i) => {
137
+ const from = positions.get(String(edge.source ?? ''));
138
+ const to = positions.get(String(edge.target ?? ''));
139
+ return from && to ? (_jsx("line", { x1: from.x, y1: from.y, x2: to.x, y2: to.y, stroke: "currentColor", markerEnd: "url(#terra-docs-arrow)" }, i)) : null;
140
+ }), nodes.map((node, i) => {
141
+ const point = positions.get(String(node.id ?? i));
142
+ const data = node.data && typeof node.data === 'object'
143
+ ? node.data
144
+ : {};
145
+ return (_jsxs("g", { children: [_jsx("rect", { x: point.x - 75, y: point.y - 24, width: "150", height: "48", rx: "7", fill: "white", stroke: "currentColor" }), _jsx("text", { x: point.x, y: point.y + 5, textAnchor: "middle", children: text(data.title ?? node.id) })] }, i));
146
+ })] }), _jsxs("figcaption", { children: [nodes.length, " nodes, ", edges.length, " connections"] })] }));
147
+ }
148
+ /** Read-only rendering for every reusable Terra Docs member. Unknown data stays in the value. */
149
+ export function DocsRichBlock({ block }) {
150
+ const items = Array.isArray(block.items) ? block.items : [];
151
+ switch (block._type) {
152
+ case 'accordion':
153
+ return (_jsx("div", { className: "terra-docs-accordions", children: items.map((item, i) => (_jsxs("details", { children: [_jsx("summary", { children: text(item.title) }), _jsx("div", { dangerouslySetInnerHTML: { __html: renderMarkdown(nestedMarkdown(item)) } })] }, i))) }));
154
+ case 'tabs':
155
+ return (_jsx("div", { className: "terra-docs-tabs", role: "tablist", children: items.map((item, i) => (_jsxs("details", { open: i === 0, children: [_jsx("summary", { children: text(item.title) }), _jsx("div", { dangerouslySetInnerHTML: { __html: renderMarkdown(nestedMarkdown(item)) } })] }, i))) }));
156
+ case 'table':
157
+ return (_jsxs("section", { className: "terra-docs-table", children: [_jsx("strong", { children: text(block.header) }), _jsx("table", { children: _jsx("tbody", { children: (Array.isArray(block.rows) ? block.rows : []).map((row, i) => (_jsx("tr", { children: (Array.isArray(row.cells)
158
+ ? row.cells
159
+ : []).map((cell, j) => (_jsx("td", { children: text(cell) }, j))) }, i))) }) })] }));
160
+ case 'callout':
161
+ return (_jsxs("aside", { className: `terra-docs-callout terra-docs-callout-${text(block.kind).replace(/[^a-z0-9-]/gi, '') || 'info'}`, children: [_jsx("strong", { children: text(block.title) }), _jsx("div", { dangerouslySetInnerHTML: { __html: renderMarkdown(nestedMarkdown(block)) } })] }));
162
+ case 'code':
163
+ return (_jsx("pre", { className: "terra-docs-code", children: _jsx("code", { "data-language": text(block.language), children: text(block.value) }) }));
164
+ case 'docImage':
165
+ return safeUrl(block.url) ? (_jsxs("figure", { children: [_jsx("img", { src: safeUrl(block.url), alt: text(block.alt) }), _jsx("figcaption", { children: text(block.title) })] })) : (_jsx("p", { children: "Image URL unavailable" }));
166
+ case 'embed':
167
+ return safeUrl(block.src) ? (_jsx("iframe", { title: text(block.title) || 'Embedded content', src: safeUrl(block.src), loading: "lazy", sandbox: "allow-scripts allow-same-origin allow-popups" })) : (_jsx("p", { children: "Embed URL unavailable" }));
168
+ case 'math': {
169
+ const code = text(block.code);
170
+ const html = katex.renderToString(code, {
171
+ displayMode: !block.inline,
172
+ throwOnError: false,
173
+ strict: 'ignore',
174
+ trust: false,
175
+ });
176
+ return block.inline ? (_jsx("span", { className: "terra-docs-math", "aria-label": code, dangerouslySetInnerHTML: { __html: html } })) : (_jsx("div", { className: "terra-docs-math", "aria-label": code, dangerouslySetInnerHTML: { __html: html } }));
177
+ }
178
+ case 'nodes':
179
+ return _jsx(Diagram, { block: block });
180
+ case 'raw':
181
+ return (_jsx("div", { className: "terra-docs-raw", dangerouslySetInnerHTML: { __html: renderMarkdown(text(block.markdown)) } }));
182
+ case 'tsDocs':
183
+ return (_jsxs("section", { className: "terra-docs-tsdocs", children: [_jsxs("strong", { children: ["TypeScript: ", text(block.scope)] }), block.markdown && _jsx("p", { children: text(block.markdown) })] }));
184
+ default:
185
+ return (_jsx("pre", { "data-unsupported-block": block._type, children: block.markdown ?? JSON.stringify(block) }));
186
+ }
187
+ }
188
+ function BlockEditor({ block, path, readOnly, }) {
189
+ const editor = useEditor();
190
+ const [expanded, setExpanded] = useState(false);
191
+ const type = block._type;
192
+ const fields = DOCS_BLOCK_FIELDS[type] ?? [];
193
+ const set = (props) => editor.send({ type: 'block.set', at: path, props });
194
+ const items = Array.isArray(block.items) ? block.items : [];
195
+ const rows = Array.isArray(block.rows) ? block.rows : [];
196
+ const nodes = Array.isArray(block.nodes) ? block.nodes : [];
197
+ const edges = Array.isArray(block.edges) ? block.edges : [];
198
+ return (_jsxs("div", { className: "terra-docs-rich-editor", children: [_jsx(DocsRichBlock, { block: block }), !readOnly && (_jsxs(_Fragment, { children: [_jsxs("button", { type: "button", onClick: () => setExpanded(!expanded), "aria-expanded": expanded, children: ["Edit ", type] }), expanded && (_jsx("div", { className: "terra-docs-rich-fields", children: fields.map((field) => {
199
+ const value = block[field.name];
200
+ const update = (next) => set({ [field.name]: next, markdown: field.name === 'markdown' ? next : '' });
201
+ if (field.name === 'items')
202
+ return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Items" }), items.map((item, index) => (_jsxs("div", { className: "terra-docs-rich-item", children: [_jsxs("label", { children: ["Title", _jsx("input", { value: text(item.title), onChange: (event) => set({
203
+ items: items.map((entry, i) => i === index
204
+ ? { ...entry, title: event.currentTarget.value }
205
+ : entry),
206
+ markdown: '',
207
+ }) })] }), _jsxs("label", { children: ["Content", _jsx("textarea", { value: nestedMarkdown(item), onChange: (event) => set({
208
+ items: items.map((entry, i) => i === index
209
+ ? { ...entry, markdown: event.currentTarget.value }
210
+ : entry),
211
+ markdown: '',
212
+ }) })] }), _jsx("button", { type: "button", onClick: () => set({ items: items.filter((_entry, i) => i !== index), markdown: '' }), children: "Remove item" })] }, index))), _jsx("button", { type: "button", onClick: () => set({
213
+ items: [...items, { title: 'Item', markdown: '', content: [] }],
214
+ markdown: '',
215
+ }), children: "Add item" })] }, "items"));
216
+ if (field.name === 'rows')
217
+ return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Table rows" }), rows.map((row, rowIndex) => {
218
+ const cells = Array.isArray(row.cells)
219
+ ? row.cells
220
+ : [];
221
+ return (_jsxs("div", { className: "terra-docs-rich-item", children: [cells.map((cell, cellIndex) => (_jsxs("label", { children: ["Cell ", cellIndex + 1, _jsx("input", { value: text(cell.content ?? cell.markdown), onChange: (event) => set({
222
+ rows: rows.map((entry, i) => i === rowIndex
223
+ ? {
224
+ ...entry,
225
+ cells: cells.map((current, j) => j === cellIndex
226
+ ? {
227
+ ...current,
228
+ markdown: event.currentTarget.value,
229
+ content: [],
230
+ }
231
+ : current),
232
+ }
233
+ : entry),
234
+ markdown: '',
235
+ }) })] }, cellIndex))), _jsx("button", { type: "button", onClick: () => set({
236
+ rows: rows.map((entry, i) => i === rowIndex
237
+ ? {
238
+ ...entry,
239
+ cells: [
240
+ ...cells,
241
+ { _type: 'cell', content: [], markdown: '' },
242
+ ],
243
+ }
244
+ : entry),
245
+ markdown: '',
246
+ }), children: "Add cell" }), _jsx("button", { type: "button", onClick: () => set({
247
+ rows: rows.filter((_entry, i) => i !== rowIndex),
248
+ markdown: '',
249
+ }), children: "Remove row" })] }, rowIndex));
250
+ }), _jsx("button", { type: "button", onClick: () => set({
251
+ rows: [
252
+ ...rows,
253
+ {
254
+ _type: 'row',
255
+ cells: [{ _type: 'cell', content: [], markdown: '' }],
256
+ },
257
+ ],
258
+ markdown: '',
259
+ }), children: "Add row" })] }, "rows"));
260
+ if (field.name === 'nodes')
261
+ return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Diagram nodes" }), nodes.map((node, index) => (_jsxs("div", { className: "terra-docs-rich-item", children: [_jsxs("label", { children: ["ID", _jsx("input", { value: text(node.id), onChange: (event) => set({
262
+ nodes: nodes.map((entry, i) => i === index
263
+ ? { ...entry, id: event.currentTarget.value }
264
+ : entry),
265
+ markdown: '',
266
+ }) })] }), _jsxs("label", { children: ["Title", _jsx("input", { value: text(node.data?.title), onChange: (event) => set({
267
+ nodes: nodes.map((entry, i) => i === index
268
+ ? {
269
+ ...entry,
270
+ data: {
271
+ ...(entry.data ?? {}),
272
+ title: event.currentTarget.value,
273
+ },
274
+ }
275
+ : entry),
276
+ markdown: '',
277
+ }) })] }), _jsx("button", { type: "button", onClick: () => set({ nodes: nodes.filter((_entry, i) => i !== index), markdown: '' }), children: "Remove node" })] }, index))), _jsx("button", { type: "button", onClick: () => set({
278
+ nodes: [
279
+ ...nodes,
280
+ { id: crypto.randomUUID(), type: 'process', data: { title: 'Node' } },
281
+ ],
282
+ markdown: '',
283
+ }), children: "Add node" })] }, "nodes"));
284
+ if (field.name === 'edges')
285
+ return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Connections" }), edges.map((edge, index) => (_jsxs("div", { className: "terra-docs-rich-item", children: [['source', 'target'].map((name) => (_jsxs("label", { children: [name, _jsx("select", { value: text(edge[name]), onChange: (event) => set({
286
+ edges: edges.map((entry, i) => i === index
287
+ ? { ...entry, [name]: event.currentTarget.value }
288
+ : entry),
289
+ markdown: '',
290
+ }), children: nodes.map((node) => (_jsx("option", { value: text(node.id), children: text(node.data?.title ??
291
+ node.id) }, text(node.id)))) })] }, name))), _jsx("button", { type: "button", onClick: () => set({ edges: edges.filter((_entry, i) => i !== index), markdown: '' }), children: "Remove connection" })] }, index))), _jsx("button", { type: "button", disabled: nodes.length < 2, onClick: () => set({
292
+ edges: [
293
+ ...edges,
294
+ {
295
+ id: crypto.randomUUID(),
296
+ source: nodes[0]?.id,
297
+ target: nodes[1]?.id,
298
+ },
299
+ ],
300
+ markdown: '',
301
+ }), children: "Add connection" })] }, "edges"));
302
+ if (field.name === 'content')
303
+ return (_jsxs("label", { children: ["Content", _jsx("textarea", { value: typeof block.markdown === 'string' ? block.markdown : text(value), onChange: (event) => set({ markdown: event.currentTarget.value }) })] }, "content"));
304
+ return (_jsxs("label", { children: [field.name, field.type === 'boolean' ? (_jsx("input", { type: "checkbox", checked: Boolean(value), onChange: (event) => update(event.currentTarget.checked) })) : (_jsx("textarea", { value: String(value ?? ''), onChange: (event) => update(field.type === 'number'
305
+ ? Number(event.currentTarget.value)
306
+ : event.currentTarget.value) }))] }, field.name));
307
+ }) }))] }))] }));
308
+ }
309
+ export function docsBlockNodes(options = {}) {
310
+ const nodes = enabledDocsBlocks(options).map((type) => defineBlockObject({
311
+ type,
312
+ render: ({ attributes, children, node, path, readOnly }) => (_jsxs("div", { ...attributes, "data-docs-block": type, contentEditable: false, children: [_jsx(BlockEditor, { block: node, path: path, readOnly: readOnly }), children] })),
313
+ }));
314
+ if (options.inlineMath !== false)
315
+ nodes.push(defineInlineObject({
316
+ type: 'math',
317
+ render: ({ attributes, children, node }) => (_jsxs("span", { ...attributes, contentEditable: false, children: [_jsx(DocsRichBlock, { block: { ...node, _type: 'math', inline: true } }), children] })),
318
+ }));
319
+ return nodes;
320
+ }
321
+ //# sourceMappingURL=blocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../src/blocks.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { DocsHostTreeNode } from './host.js';
2
+ import type { DocsLocalPage } from './LocalDocsWorkspace.js';
3
+ export declare const docsPages: DocsLocalPage[];
4
+ export declare const docsTree: DocsHostTreeNode[];
5
+ //# sourceMappingURL=docs-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-catalog.d.ts","sourceRoot":"","sources":["../src/docs-catalog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAK7D,eAAO,MAAM,SAAS,EAAE,aAAa,EAYnC,CAAC;AAQH,eAAO,MAAM,QAAQ,EAAE,gBAAgB,EAepC,CAAC"}
@@ -0,0 +1,38 @@
1
+ /// <reference types="vite/client" />
2
+ const modules = import.meta.glob('./content/docs/**/*.md', { eager: true });
3
+ const sources = import.meta.glob('./content/docs/**/*.md', { query: '?raw', import: 'default', eager: true });
4
+ export const docsPages = Object.entries(modules).map(([file, module]) => {
5
+ const slug = file.replace('./content/docs/', '').replace(/(?:^|\/)index\.md$/, '').replace(/\.md$/, '');
6
+ const id = slug || 'index';
7
+ const title = module.frontmatter?.title ?? (id === 'index' ? 'Terra Docs' : id.split('/').at(-1).replace(/-/g, ' ').replace(/\b\w/g, value => value.toUpperCase()));
8
+ return {
9
+ id,
10
+ path: `content/docs/${id === 'index' ? 'index' : slug}.md`,
11
+ pathname: id === 'index' ? '/' : `/${slug}/`,
12
+ title,
13
+ ...(module.frontmatter?.description ? { description: module.frontmatter.description } : {}),
14
+ markdown: String(sources[file] ?? '').replace(/^---\s*\n[\s\S]*?\n---\s*\n/, ''),
15
+ };
16
+ });
17
+ const sections = [
18
+ { id: 'start-here', title: 'Start here', groups: [{ id: 'guides', title: 'Guides', ids: ['index', 'getting-started'] }] },
19
+ { id: 'configure', title: 'Configure', groups: [{ id: 'guides', title: 'Guides', ids: ['configuration', 'storage', 'deploy'] }] },
20
+ { id: 'reference', title: 'Reference', groups: [{ id: 'guides', title: 'Guides', ids: ['component', 'development'] }] },
21
+ ];
22
+ export const docsTree = sections.map(section => ({
23
+ type: 'branch',
24
+ origName: section.id,
25
+ title: section.title,
26
+ path: section.id,
27
+ children: section.groups.map(group => ({
28
+ type: 'branch',
29
+ origName: `${section.id}/${group.id}`,
30
+ title: group.title,
31
+ path: `${section.id}/${group.id}`,
32
+ children: group.ids.flatMap(id => {
33
+ const page = docsPages.find(entry => entry.id === id);
34
+ return page ? [{ type: 'leaf', origName: page.id, title: page.title, path: page.path, url: page.pathname, permission: 'read' }] : [];
35
+ }),
36
+ })),
37
+ }));
38
+ //# sourceMappingURL=docs-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-catalog.js","sourceRoot":"","sources":["../src/docs-catalog.ts"],"names":[],"mappings":"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"}