@terra-symposium/docs 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/README.md +3 -1
  2. package/bin/terra-docs.mjs +79 -22
  3. package/dist/lib/components/LocalDocsWorkspace.js +21 -21
  4. package/dist/lib/components/LocalDocsWorkspace.js.map +1 -1
  5. package/dist/lib/components/blocks.d.ts.map +1 -1
  6. package/dist/lib/components/blocks.js +53 -36
  7. package/dist/lib/components/blocks.js.map +1 -1
  8. package/dist/lib/components/navigation.js +1 -1
  9. package/dist/lib/components/navigation.js.map +1 -1
  10. package/dist/lib/components/quiz-demo-fixture.d.ts +23 -0
  11. package/dist/lib/components/quiz-demo-fixture.d.ts.map +1 -0
  12. package/dist/lib/components/quiz-demo-fixture.js +22 -0
  13. package/dist/lib/components/quiz-demo-fixture.js.map +1 -0
  14. package/dist/lib/components/quiz.d.ts +1 -1
  15. package/dist/lib/components/quiz.d.ts.map +1 -1
  16. package/dist/lib/components/quiz.js +51 -35
  17. package/dist/lib/components/quiz.js.map +1 -1
  18. package/dist/lib/components/terra/Workspace.js +12 -12
  19. package/dist/lib/components/terra/Workspace.js.map +1 -1
  20. package/dist/lib/components/terra/editor/ContentEditor.d.ts.map +1 -1
  21. package/dist/lib/components/terra/editor/ContentEditor.js +34 -36
  22. package/dist/lib/components/terra/editor/ContentEditor.js.map +1 -1
  23. package/dist/lib/components/terra/editor/_blocks.js +6 -6
  24. package/dist/lib/components/terra/editor/_blocks.js.map +1 -1
  25. package/dist/lib/components/terra/editor/docs/BlockContext.js +12 -12
  26. package/dist/lib/components/terra/editor/docs/BlockContext.js.map +1 -1
  27. package/dist/lib/components/terra/editor/docs/DocsAttachmentPicker.js +6 -6
  28. package/dist/lib/components/terra/editor/docs/DocsAttachmentPicker.js.map +1 -1
  29. package/dist/lib/components/terra/editor/docs/TerraToolbar.js +1 -1
  30. package/dist/lib/components/terra/editor/docs/TerraToolbar.js.map +1 -1
  31. package/dist/lib/components/terra/editor/docs/_CodeBlock.js +10 -10
  32. package/dist/lib/components/terra/editor/docs/_CodeBlock.js.map +1 -1
  33. package/dist/lib/components/terra/editor/terra-content.styles.d.ts +1 -1
  34. package/dist/lib/components/terra/editor/terra-content.styles.d.ts.map +1 -1
  35. package/dist/lib/components/terra/editor/terra-content.styles.js +1 -1
  36. package/dist/lib/components/terra/editor/terra-content.styles.js.map +1 -1
  37. package/dist/lib/components/terra/flow/Nodes.js +7 -7
  38. package/dist/lib/components/terra/flow/Nodes.js.map +1 -1
  39. package/dist/lib/components/terra/pages/docs/_attachments.d.ts.map +1 -1
  40. package/dist/lib/components/terra/pages/docs/_attachments.js +11 -11
  41. package/dist/lib/components/terra/pages/docs/_attachments.js.map +1 -1
  42. package/dist/lib/components/terra/pages/docs/_blocks.js +2 -2
  43. package/dist/lib/components/terra/pages/docs/_blocks.js.map +1 -1
  44. package/dist/lib/components/terra/pages/docs/_editable.d.ts.map +1 -1
  45. package/dist/lib/components/terra/pages/docs/_editable.js +2 -2
  46. package/dist/lib/components/terra/pages/docs/_editable.js.map +1 -1
  47. package/dist/lib/components/terra/pages/docs/_main.d.ts.map +1 -1
  48. package/dist/lib/components/terra/pages/docs/_main.js +48 -16
  49. package/dist/lib/components/terra/pages/docs/_main.js.map +1 -1
  50. package/dist/lib/components/terra/pages/docs/_sidebar.js +1 -1
  51. package/dist/lib/components/terra/pages/docs/_toc.js +1 -1
  52. package/dist/lib/components/terra/pages/docs/_toc.js.map +1 -1
  53. package/dist/lib/components/terra/pages/docs/_toolbar.js +1 -1
  54. package/dist/lib/components/terra/pages/docs/_toolbar.js.map +1 -1
  55. package/dist/lib/components/workspace-demo-fixture.d.ts.map +1 -1
  56. package/dist/lib/components/workspace-demo-fixture.js +51 -53
  57. package/dist/lib/components/workspace-demo-fixture.js.map +1 -1
  58. package/dist/lib/lib/host-runtime.js +3 -3
  59. package/dist/lib/lib/host-runtime.js.map +1 -1
  60. package/dist/lib/lib/host.d.ts +1 -1
  61. package/dist/lib/lib/host.d.ts.map +1 -1
  62. package/dist/lib/lib/markdown-model.d.ts.map +1 -1
  63. package/dist/lib/lib/markdown-model.js +106 -107
  64. package/dist/lib/lib/markdown-model.js.map +1 -1
  65. package/dist/lib/lib/markdown.js +4 -4
  66. package/dist/lib/lib/markdown.js.map +1 -1
  67. package/dist/lib/lib/terra/custom-components.d.ts +1 -1
  68. package/dist/lib/lib/terra/custom-components.d.ts.map +1 -1
  69. package/dist/lib/lib/terra/custom-components.js +2 -2
  70. package/dist/lib/lib/terra/custom-components.js.map +1 -1
  71. package/dist/lib/lib/terra/docs/editor-dom.d.ts.map +1 -1
  72. package/dist/lib/lib/terra/docs/editor-dom.js +2 -2
  73. package/dist/lib/lib/terra/docs/editor-dom.js.map +1 -1
  74. package/dist/lib/lib/terra/docs/workspace.d.ts +14 -12
  75. package/dist/lib/lib/terra/docs/workspace.d.ts.map +1 -1
  76. package/dist/lib/lib/terra/docs/workspace.js +5 -5
  77. package/dist/lib/lib/terra/docs/workspace.js.map +1 -1
  78. package/dist/lib/lib/terra/runtime/action-proxy.d.ts +1 -1
  79. package/dist/lib/lib/terra/runtime/action-proxy.d.ts.map +1 -1
  80. package/dist/lib/lib/terra/runtime/action-proxy.js +2 -2
  81. package/dist/lib/lib/terra/runtime/action-proxy.js.map +1 -1
  82. package/dist/lib/lib/terra/runtime/content/markdown.d.ts +0 -7
  83. package/dist/lib/lib/terra/runtime/content/markdown.d.ts.map +1 -1
  84. package/dist/lib/lib/terra/runtime/content/markdown.js +0 -7
  85. package/dist/lib/lib/terra/runtime/content/markdown.js.map +1 -1
  86. package/dist/lib/lib/terra/runtime/nodes.js +3 -3
  87. package/dist/lib/lib/terra/runtime/nodes.js.map +1 -1
  88. package/dist/lib/lib/terra/runtime/runtime.d.ts +1 -2
  89. package/dist/lib/lib/terra/runtime/runtime.d.ts.map +1 -1
  90. package/dist/lib/lib/terra/runtime/runtime.js +3 -8
  91. package/dist/lib/lib/terra/runtime/runtime.js.map +1 -1
  92. package/dist/lib/lib/terra/runtime/shared.d.ts.map +1 -1
  93. package/dist/lib/lib/terra/runtime/shared.js +6 -6
  94. package/dist/lib/lib/terra/runtime/shared.js.map +1 -1
  95. package/dist/lib/style.css +2 -2
  96. package/package.json +8 -12
  97. package/site/docs-content-plugin.mjs +4 -1
  98. package/site/src/components/QuizDemo.tsx +62 -0
  99. package/site/src/lib/catalog.ts +11 -1
  100. package/site/src/pages/[...slug].astro +3 -9
  101. package/site/src/pages/quiz-demo.astro +50 -0
  102. package/src/components/navigation.tsx +2 -2
  103. package/src/components/quiz-demo-fixture.ts +23 -0
  104. package/bin/generate-skills.mjs +0 -186
  105. package/site/src/components/SkillsExplorer.tsx +0 -236
package/README.md CHANGED
@@ -4,7 +4,7 @@ Docs is the shared Terra documentation workspace and Markdown site generator. A
4
4
 
5
5
  ## Create a repository Docs site
6
6
 
7
- Create a repository from the [Docs starter](https://github.com/Terra-Symposium/docs-template) or install the package in an existing repository:
7
+ Copy the [Docs starter files](https://github.com/Terra-Symposium/docs/tree/development/template) into a repository, or install the package in an existing repository:
8
8
 
9
9
  ```sh
10
10
  pnpm add -D @terra-symposium/docs
@@ -19,6 +19,8 @@ pnpm exec terra-docs build
19
19
 
20
20
  The package creates the routes, navigation, Terra workspace, search index, and 404 page. `docs/index.md` is the home page; nested directories group navigation. `.mdx` files can import interactive examples. Optional `title`, `description`, `hue`, and `sidebar` frontmatter are available when needed. Build output defaults to `dist/docs/`.
21
21
 
22
+ Move the full agent tree into `docs/agents/`. `SKILL.md` files there route as the index page for their folder, so the complete tree uses normal Docs navigation, search, and asset handling. The Agents section is included by default. Set `terraDocs.includeAgents` to `false` in the repository's `package.json`, or pass `--agents false`, to hide it for one Docs instance.
23
+
22
24
  Configure a deployment base path with `--base /project-docs/`, and optionally set `--site`, `--title`, and `--description`. Each repository builds its own site; the starter CI checks builds and leaves deployment to the repository owner.
23
25
 
24
26
  ## Create an instance
@@ -7,9 +7,8 @@ IMPORTS
7
7
  // API
8
8
  import { copyFile, mkdir, readFile, readdir, rm, writeFile } from 'node:fs/promises';
9
9
  import { createRequire } from 'node:module';
10
- import { dirname, extname, join, relative, resolve } from 'node:path';
10
+ import { dirname, extname, join, relative, resolve, sep } from 'node:path';
11
11
  import { fileURLToPath } from 'node:url';
12
- import { generateSkillsIndex } from './generate-skills.mjs';
13
12
  import { parse } from 'yaml';
14
13
  import { spawn } from 'node:child_process';
15
14
  import { watch } from 'node:fs';
@@ -28,14 +27,49 @@ const mode = process.argv[2];
28
27
  const root = resolve(process.cwd());
29
28
  const options = new Map();
30
29
  const passthrough = [];
30
+ for (let index = 3; index < process.argv.length; index += 1) {
31
+ const argument = process.argv[index];
32
+ if (
33
+ [
34
+ '--title',
35
+ '--description',
36
+ '--site',
37
+ '--base',
38
+ '--out',
39
+ '--port',
40
+ '--host',
41
+ '--skills',
42
+ '--agents',
43
+ ].includes(argument)
44
+ ) {
45
+ const value = process.argv[index + 1];
46
+ if (!value || value.startsWith('--')) {
47
+ console.error(`Missing value for ${argument}`);
48
+ process.exit(2);
49
+ }
50
+ options.set(argument, value);
51
+ index += 1;
52
+ } else {
53
+ passthrough.push(argument);
54
+ }
55
+ }
31
56
  const docsRoot = resolve(root, 'docs');
32
57
  const publicRoot = resolve(root, 'dist/public');
33
58
  const publicAssetsRoot = resolve(publicRoot, '_terra-docs/assets');
34
59
  const outputDir = options.get('--out') ?? 'dist/docs';
35
60
  const searchIndexPath = resolve(publicRoot, '_terra-docs/search-index.json');
36
- const skillsIndexPath = resolve(root, 'dist/cache/skills.generated.json');
37
61
  const excludedDirs = new Set(['node_modules', '.astro', 'dist']);
38
62
  const manifest = await readJson(resolve(root, 'package.json')).catch(() => ({}));
63
+ const configuredAgents =
64
+ manifest.terraDocs?.includeAgents ?? manifest.terraDocs?.includeSkills ?? true;
65
+ if (typeof configuredAgents !== 'boolean') {
66
+ throw new Error('package.json terraDocs.includeAgents must be true or false');
67
+ }
68
+ if (options.has('--agents') && options.has('--skills')) {
69
+ throw new Error('Use only one of --agents or --skills');
70
+ }
71
+ const agentsOption = options.get('--agents') ?? options.get('--skills');
72
+ const includeAgents = agentsOption === undefined ? configuredAgents : parseBoolean(agentsOption);
39
73
  const siteTitle = options.get('--title') ?? titleFromName(manifest.name) ?? 'Documentation';
40
74
  const siteDescription = options.get('--description') ?? manifest.description ?? '';
41
75
  const base = normBase(options.get('--base') ?? '/');
@@ -47,6 +81,7 @@ const env = {
47
81
  TERRA_DOCS_OUT: outputDir,
48
82
  PUBLIC_TERRA_DOCS_TITLE: siteTitle,
49
83
  PUBLIC_TERRA_DOCS_DESCRIPTION: siteDescription,
84
+ PUBLIC_TERRA_DOCS_INCLUDE_AGENTS: String(includeAgents),
50
85
  };
51
86
 
52
87
  /*//////////////////////////////////////////////////
@@ -80,14 +115,27 @@ async function collectMarkdown(dir, rootDir = dir) {
80
115
  *
81
116
  */
82
117
  async function buildSearchIndex() {
83
- const files = await collectMarkdown(docsRoot);
118
+ const files = (await collectMarkdown(docsRoot)).filter(
119
+ (file) => includeAgents || !isAgentsContent(file.relativePath),
120
+ );
84
121
  if (files.length === 0)
85
122
  throw new Error('No Markdown files found in docs/. Add docs/index.md to start a Docs site.');
123
+ const misplaced = files.filter((file) => {
124
+ const isRootIndex = ['index.md', 'index.mdx'].includes(file.relativePath.toLowerCase());
125
+ return !isRootIndex && !file.relativePath.includes('/');
126
+ });
127
+ if (misplaced.length) {
128
+ const paths = misplaced.map((file) => `docs/${file.relativePath}`).join(', ');
129
+ throw new Error(
130
+ `Markdown pages must be grouped in folders directly under docs/ (keep only docs/index.md at the root): ${paths}`,
131
+ );
132
+ }
86
133
  const routeFiles = new Map();
87
134
  const records = [];
88
135
  for (const file of files) {
89
136
  const route = file.relativePath
90
137
  .replace(MD_MDX_I_REGEX, '')
138
+ .replace(/(?:^|\/)SKILL$/i, '')
91
139
  .replace(/(?:^|\/)index$/i, '')
92
140
  .replace(/^\/+|\/+$/g, '');
93
141
  const previous = routeFiles.get(route);
@@ -133,6 +181,7 @@ async function copyDocsAssets(dir = docsRoot, relativeDir = '') {
133
181
  * @param relativeDir Path prefix relative to the Docs root for the destination.
134
182
  */
135
183
  async function copyAssetDir(dir, relativeDir) {
184
+ if (!includeAgents && isAgentsContent(relativeDir)) return;
136
185
  for (const entry of await readdir(dir, { withFileTypes: true })) {
137
186
  if (entry.name.startsWith('.') || (entry.isDirectory() && excludedDirs.has(entry.name)))
138
187
  continue;
@@ -149,6 +198,18 @@ async function copyAssetDir(dir, relativeDir) {
149
198
  }
150
199
  }
151
200
 
201
+ /**
202
+ * Checks whether a Docs-relative path belongs to the top-level Agents section.
203
+ *
204
+ * @param relativePath Path relative to docs/.
205
+ *
206
+ * @return True when the path is inside docs/agents/.
207
+ */
208
+ function isAgentsContent(relativePath) {
209
+ const normalized = relativePath.split(sep).join('/');
210
+ return normalized === 'agents' || normalized.startsWith('agents/');
211
+ }
212
+
152
213
  /**
153
214
  * Parses optional YAML frontmatter while preserving the Markdown body.
154
215
  *
@@ -199,6 +260,19 @@ function normBase(value) {
199
260
  return trimmed.endsWith('/') ? trimmed : `${trimmed}/`;
200
261
  }
201
262
 
263
+ /**
264
+ * Parses the command-line boolean used to enable or disable the generated Agents section.
265
+ *
266
+ * @param value Boolean text supplied to `--skills`.
267
+ *
268
+ * @return The parsed option value.
269
+ */
270
+ function parseBoolean(value) {
271
+ if (value === 'true') return true;
272
+ if (value === 'false') return false;
273
+ throw new Error('--skills must be true or false');
274
+ }
275
+
202
276
  /**
203
277
  * Derives a display title from a package name or documentation path.
204
278
  *
@@ -249,30 +323,13 @@ function runAstro(cmd) {
249
323
  else process.exitCode = code ?? 1;
250
324
  });
251
325
  }
252
- for (let index = 3; index < process.argv.length; index += 1) {
253
- const argument = process.argv[index];
254
- if (
255
- ['--title', '--description', '--site', '--base', '--out', '--port', '--host'].includes(argument)
256
- ) {
257
- const value = process.argv[index + 1];
258
- if (!value || value.startsWith('--')) {
259
- console.error(`Missing value for ${argument}`);
260
- process.exit(2);
261
- }
262
- options.set(argument, value);
263
- index += 1;
264
- } else {
265
- passthrough.push(argument);
266
- }
267
- }
268
326
  if (!['dev', 'build', 'preview'].includes(mode)) {
269
327
  console.error(
270
- 'Usage: terra-docs <dev|build|preview> [--title title] [--description text] [--site url] [--base /path/] [--out directory]',
328
+ 'Usage: terra-docs <dev|build|preview> [--title title] [--description text] [--site url] [--base /path/] [--out directory] [--agents true|false]',
271
329
  );
272
330
  process.exit(2);
273
331
  }
274
332
  if (mode !== 'preview') {
275
- await generateSkillsIndex(root, skillsIndexPath);
276
333
  await buildSearchIndex();
277
334
  }
278
335
  runAstro(mode);
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useMemo } from 'react';
3
3
  import { markdownToDocsValue } from '../lib/markdown-model.js';
4
4
  import { TerraDocsWorkspace } from './terra/Workspace.js';
5
- function normalized(value, base = 'http://docs.local') {
5
+ function norm(value, base = 'http://docs.local') {
6
6
  try {
7
7
  const url = new URL(value, base);
8
8
  // Mode and other host query parameters describe the surface, not the page.
@@ -24,7 +24,7 @@ function routeId(value) {
24
24
  export function findDocsLocalPage(pages, value) {
25
25
  if (typeof value !== 'string' || !value)
26
26
  return undefined;
27
- const route = normalized(value);
27
+ const route = norm(value);
28
28
  const pathOnly = route.split('#', 1)[0];
29
29
  const id = routeId(value);
30
30
  // Hash-addressed pages must win before a shared pathname such as `/`.
@@ -33,7 +33,7 @@ export function findDocsLocalPage(pages, value) {
33
33
  if (byId)
34
34
  return byId;
35
35
  }
36
- const exactRoute = pages.find((page) => normalized(page.pathname) === route);
36
+ const exactRoute = pages.find((page) => norm(page.pathname) === route);
37
37
  if (exactRoute)
38
38
  return exactRoute;
39
39
  const direct = pages.find((page) => page.id === value || page.path === value);
@@ -41,9 +41,9 @@ export function findDocsLocalPage(pages, value) {
41
41
  return direct;
42
42
  // A root page is the fallback for `/` only. It must not shadow `/` + #leaf.
43
43
  if (pathOnly === '/' && !id) {
44
- return pages.find((page) => normalized(page.pathname) === '/');
44
+ return pages.find((page) => norm(page.pathname) === '/');
45
45
  }
46
- return pages.find((page) => normalized(page.pathname).split('#', 1)[0] === pathOnly);
46
+ return pages.find((page) => norm(page.pathname).split('#', 1)[0] === pathOnly);
47
47
  }
48
48
  function findTreeNode(nodes, id, ancestors = []) {
49
49
  for (const node of nodes) {
@@ -85,7 +85,7 @@ export function DocsLocalWorkspace(props) {
85
85
  const page = findDocsLocalPage(pages, pathname) ?? pages[0];
86
86
  const content = useMemo(() => (page ? markdownToDocsValue(page.markdown, blocks) : []), [blocks, page]);
87
87
  const host = useMemo(() => {
88
- const activePage = () => typeof window === 'undefined'
88
+ const aPage = () => typeof window === 'undefined'
89
89
  ? page
90
90
  : (findDocsLocalPage(pages, `${window.location.pathname}${window.location.search}${window.location.hash}`) ?? page);
91
91
  const resolvePage = (input) => {
@@ -100,11 +100,11 @@ export function DocsLocalWorkspace(props) {
100
100
  return direct;
101
101
  const requested = [value.path, value.pathname, value.id].find((candidate) => typeof candidate === 'string' && candidate.length > 0);
102
102
  if (typeof requested !== 'string')
103
- return activePage();
103
+ return aPage();
104
104
  const basename = requested.split(/[?#]/, 1)[0]?.split('/').filter(Boolean).at(-1);
105
- const active = activePage();
106
- if (basename && active?.path.split('/').at(-1) === basename)
107
- return active;
105
+ const a = aPage();
106
+ if (basename && a?.path.split('/').at(-1) === basename)
107
+ return a;
108
108
  const matches = pages.filter((candidate) => candidate.path.split('/').at(-1) === basename || candidate.id === basename);
109
109
  return matches.length === 1 ? matches[0] : undefined;
110
110
  };
@@ -137,7 +137,7 @@ export function DocsLocalWorkspace(props) {
137
137
  ...(branches[1] ? { groupId: branches[1].origName } : {}),
138
138
  ...(resolved ? { leafId: resolved.id } : {}),
139
139
  targetId: resolved?.id ?? tree[0]?.origName ?? 'index',
140
- pathname: resolved?.pathname ?? normalized(value),
140
+ pathname: resolved?.pathname ?? norm(value),
141
141
  };
142
142
  },
143
143
  buildRoute(sectionId, groupId, leafId) {
@@ -151,11 +151,11 @@ export function DocsLocalWorkspace(props) {
151
151
  routePath(path) {
152
152
  return findDocsLocalPage(pages, path)?.pathname ?? rootPath;
153
153
  },
154
- async invoke(operation, input) {
154
+ async invoke(op, input) {
155
155
  const args = (input ?? {});
156
- if (operation === 'read.doc.list')
156
+ if (op === 'read.doc.list')
157
157
  return { data: tree };
158
- if (operation === 'read.doc.get') {
158
+ if (op === 'read.doc.get') {
159
159
  const document = resolvePage(args);
160
160
  return {
161
161
  data: (document
@@ -167,8 +167,8 @@ export function DocsLocalWorkspace(props) {
167
167
  : null),
168
168
  };
169
169
  }
170
- if (operation === 'read.doc.attachments') {
171
- const document = resolvePage(args) ?? activePage();
170
+ if (op === 'read.doc.attachments') {
171
+ const document = resolvePage(args) ?? aPage();
172
172
  const attachments = (document?.attachments ?? []).map((attachment) => ({
173
173
  ...attachment,
174
174
  title: attachment.name,
@@ -176,11 +176,11 @@ export function DocsLocalWorkspace(props) {
176
176
  }));
177
177
  return { data: attachments };
178
178
  }
179
- if (operation === 'read.source.body')
179
+ if (op === 'read.source.body')
180
180
  return { data: markdownToDocsValue(String(args.source ?? '')) };
181
- if (operation === 'read.util.pathname')
181
+ if (op === 'read.util.pathname')
182
182
  return { data: String(args.path ?? pathname) };
183
- if (operation === 'read.util.node') {
183
+ if (op === 'read.util.node') {
184
184
  const document = resolvePage(args);
185
185
  return {
186
186
  data: (document
@@ -188,9 +188,9 @@ export function DocsLocalWorkspace(props) {
188
188
  : null),
189
189
  };
190
190
  }
191
- if (operation === 'read.tsdocs')
191
+ if (op === 'read.tsdocs')
192
192
  return { data: { scopes: [] } };
193
- if (operation === 'read.asset.get') {
193
+ if (op === 'read.asset.get') {
194
194
  const assetPath = String(args.path ?? args.id ?? '');
195
195
  const response = await fetch(assetPath);
196
196
  if (!response.ok)
@@ -1 +1 @@
1
- {"version":3,"file":"LocalDocsWorkspace.js","sourceRoot":"","sources":["../../../src/components/LocalDocsWorkspace.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalDocsWorkspace.js","sourceRoot":"","sources":["../../../src/components/LocalDocsWorkspace.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/components/blocks.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,OAAO,CAAC;AAI5C,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,2HAanB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AACtF,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAEpG,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,gBAAqB,GAAG,aAAa,EAAE,CAEjF;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,aAAa,EACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;CAAE,EAAE,CA+D/E,CAAC;AAgBF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAE/D;AAkLD,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAmI1E;AA4WD,wBAAgB,cAAc,CAAC,OAAO,GAAE,gBAAqB,gDAyB5D"}
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/components/blocks.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,OAAO,CAAC;AAI5C,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,2HAanB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AACtF,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAEpG,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,gBAAqB,GAAG,aAAa,EAAE,CAEjF;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,aAAa,EACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;CAAE,EAAE,CA+D/E,CAAC;AAgBF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAE/D;AA6MD,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CA2I1E;AA0WD,wBAAgB,cAAc,CAAC,OAAO,GAAE,gBAAqB,gDAyB5D"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { defineBlockObject, defineInlineObject, useEditor } from '@portabletext/editor';
3
3
  import { useState } from 'react';
4
4
  import katex from 'katex';
@@ -114,7 +114,7 @@ function text(value) {
114
114
  }
115
115
  return '';
116
116
  }
117
- function safeUrl(value) {
117
+ function sUrl(value) {
118
118
  if (typeof value !== 'string' || !value.trim())
119
119
  return undefined;
120
120
  try {
@@ -136,7 +136,7 @@ function renderPortableTextChild(child, markDefinitions, key) {
136
136
  const textValue = typeof member.text === 'string' ? member.text : '';
137
137
  let node = textValue
138
138
  .split('\n')
139
- .flatMap((line, index) => (index ? [_jsx("br", {}, `${key}-br-${index}`), line] : [line]));
139
+ .flatMap((line, i) => (i ? [_jsx("br", {}, `${key}-br-${i}`), line] : [line]));
140
140
  const marks = Array.isArray(member.marks) ? member.marks : [];
141
141
  for (const mark of marks) {
142
142
  if (typeof mark !== 'string')
@@ -153,7 +153,7 @@ function renderPortableTextChild(child, markDefinitions, key) {
153
153
  node = _jsx("code", { children: node }, `${key}-code`);
154
154
  else {
155
155
  const definition = markDefinitions.get(mark);
156
- const href = safeUrl(definition?.href);
156
+ const href = sUrl(definition?.href);
157
157
  if (href)
158
158
  node = (_jsx("a", { href: href, children: node }, `${key}-link`));
159
159
  }
@@ -168,11 +168,11 @@ function PortableTextBlockView({ block }) {
168
168
  ? 'blockquote'
169
169
  : 'p';
170
170
  const definitions = Array.isArray(block.markDefs) ? block.markDefs : [];
171
- const markDefinitions = new Map(definitions.flatMap((item) => item && typeof item === 'object' && typeof item._key === 'string'
172
- ? [[item._key, item]]
171
+ const markDefinitions = new Map(definitions.flatMap((i) => i && typeof i === 'object' && typeof i._key === 'string'
172
+ ? [[i._key, i]]
173
173
  : []));
174
174
  const children = Array.isArray(block.children) ? block.children : [];
175
- const rendered = children.map((child, index) => renderPortableTextChild(child, markDefinitions, `portable-${index}`));
175
+ const rendered = children.map((child, i) => renderPortableTextChild(child, markDefinitions, `portable-${i}`));
176
176
  if (block.listItem === 'bullet')
177
177
  return (_jsx("ul", { children: _jsx("li", { children: rendered }) }));
178
178
  if (block.listItem === 'number')
@@ -194,15 +194,31 @@ function nestedMarkdown(value) {
194
194
  }
195
195
  return '';
196
196
  }
197
+ function NestedContent({ value }) {
198
+ if (Array.isArray(value))
199
+ return (_jsx(_Fragment, { children: value.map((member, index) => (_jsx(NestedContent, { value: member }, index))) }));
200
+ if (!value || typeof value !== 'object')
201
+ return typeof value === 'string' ? (_jsx("div", { dangerouslySetInnerHTML: { __html: renderMarkdown(value) } })) : (_jsx(_Fragment, { children: text(value) }));
202
+ const member = value;
203
+ if (member._type === 'block' || member._type === 'terraBlock')
204
+ return _jsx(PortableTextBlockView, { block: member });
205
+ if (typeof member._type === 'string' && DOCS_BLOCK_TYPES.includes(member._type))
206
+ return _jsx(DocsRichBlock, { block: member });
207
+ if (Array.isArray(member.content) && member.content.length)
208
+ return _jsx(NestedContent, { value: member.content });
209
+ if (typeof member.markdown === 'string')
210
+ return _jsx("div", { dangerouslySetInnerHTML: { __html: renderMarkdown(member.markdown) } });
211
+ return _jsx(_Fragment, { children: text(member) });
212
+ }
197
213
  function Diagram({ block }) {
198
214
  const nodes = (Array.isArray(block.nodes) ? block.nodes : []).filter((node) => Boolean(node) && typeof node === 'object');
199
215
  const edges = (Array.isArray(block.edges) ? block.edges : []).filter((edge) => Boolean(edge) && typeof edge === 'object');
200
216
  const horizontal = block.direction === 'LR';
201
217
  const width = horizontal ? Math.max(320, nodes.length * 180) : 320;
202
218
  const height = horizontal ? 140 : Math.max(140, nodes.length * 100);
203
- const positions = new Map(nodes.map((node, index) => [
204
- String(node.id ?? index),
205
- horizontal ? { x: 90 + index * 180, y: 70 } : { x: 160, y: 70 + index * 100 },
219
+ const positions = new Map(nodes.map((node, i) => [
220
+ String(node.id ?? i),
221
+ horizontal ? { x: 90 + i * 180, y: 70 } : { x: 160, y: 70 + i * 100 },
206
222
  ]));
207
223
  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) => {
208
224
  const from = positions.get(String(edge.source ?? ''));
@@ -224,21 +240,24 @@ export function DocsRichBlock({ block }) {
224
240
  case 'terraBlock':
225
241
  return _jsx(PortableTextBlockView, { block: block });
226
242
  case 'accordion':
227
- 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))) }));
243
+ return (_jsx("div", { className: "terra-docs-accordions", children: items.map((v, i) => (_jsxs("details", { children: [_jsx("summary", { children: text(v.title) }), _jsx("div", { children: _jsx(NestedContent, { value: v }) })] }, i))) }));
228
244
  case 'tabs':
229
- 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))) }));
245
+ return (_jsx("div", { className: "terra-docs-tabs", role: "tablist", children: items.map((v, i) => (_jsxs("details", { open: i === 0, children: [_jsx("summary", { children: text(v.title) }), _jsx("div", { children: _jsx(NestedContent, { value: v }) })] }, i))) }));
230
246
  case 'table':
231
247
  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)
232
248
  ? row.cells
233
- : []).map((cell, j) => (_jsx("td", { dangerouslySetInnerHTML: { __html: renderMarkdown(nestedMarkdown(cell)) } }, j))) }, i))) }) })] }));
234
- case 'callout':
235
- 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)) } })] }));
249
+ : []).map((cell, j) => (_jsx("td", { children: _jsx(NestedContent, { value: cell }) }, j))) }, i))) }) })] }));
250
+ case 'callout': {
251
+ const content = Array.isArray(block.content) ? block.content : [];
252
+ const markdown = typeof block.markdown === 'string' ? block.markdown : undefined;
253
+ 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", { children: _jsx(NestedContent, { value: content.length ? content : (markdown ?? '') }) })] }));
254
+ }
236
255
  case 'code':
237
256
  return (_jsx("pre", { className: "terra-docs-code", children: _jsx("code", { "data-language": text(block.language), children: text(block.value) }) }));
238
257
  case 'docImage':
239
- 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" }));
258
+ return sUrl(block.url) ? (_jsxs("figure", { children: [_jsx("img", { src: sUrl(block.url), alt: text(block.alt) }), _jsx("figcaption", { children: text(block.title) })] })) : (_jsx("p", { children: "Image URL unavailable" }));
240
259
  case 'embed':
241
- 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" }));
260
+ return sUrl(block.src) ? (_jsx("iframe", { title: text(block.title) || 'Embedded content', src: sUrl(block.src), loading: "lazy", sandbox: "allow-scripts allow-same-origin allow-popups" })) : (_jsx("p", { children: "Embed URL unavailable" }));
242
261
  case 'math': {
243
262
  const code = text(block.code);
244
263
  const html = katex.renderToString(code, {
@@ -267,11 +286,11 @@ function BlockEditor({ block, path, readOnly, }) {
267
286
  const type = block._type;
268
287
  const fields = DOCS_BLOCK_FIELDS[type] ?? [];
269
288
  const set = (props) => editor.send({ type: 'block.set', at: path, props });
270
- const update = (field, next) => set({
271
- [field]: next,
289
+ const update = (field, n) => set({
290
+ [field]: n,
272
291
  ...(type === 'callout' && (field === 'title' || field === 'kind')
273
292
  ? {}
274
- : { markdown: field === 'markdown' ? next : '' }),
293
+ : { markdown: field === 'markdown' ? n : '' }),
275
294
  });
276
295
  const items = Array.isArray(block.items) ? block.items : [];
277
296
  const rows = Array.isArray(block.rows) ? block.rows : [];
@@ -280,17 +299,17 @@ function BlockEditor({ block, path, readOnly, }) {
280
299
  return (_jsxs("div", { className: "terra-docs-rich-editor", children: [_jsx(DocsRichBlock, { block: block }), !readOnly && (_jsxs(_Fragment, { children: [_jsxs("button", { onClick: () => setExpanded(!expanded), "aria-expanded": expanded, children: ["Edit ", type] }), expanded && (_jsx("div", { className: "terra-docs-rich-fields", children: fields.map((field) => {
281
300
  const value = block[field.name];
282
301
  if (field.name === 'items')
283
- 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({
284
- items: items.map((entry, i) => i === index
302
+ return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Items" }), items.map((v, r) => (_jsxs("div", { className: "terra-docs-rich-item", children: [_jsxs("label", { children: ["Title", _jsx("input", { value: text(v.title), onChange: (event) => set({
303
+ items: items.map((entry, i) => i === r
285
304
  ? { ...entry, title: event.currentTarget.value }
286
305
  : entry),
287
306
  markdown: '',
288
- }) })] }), _jsxs("label", { children: ["Content", _jsx("textarea", { value: nestedMarkdown(item), onChange: (event) => set({
289
- items: items.map((entry, i) => i === index
307
+ }) })] }), _jsxs("label", { children: ["Content", _jsx("textarea", { value: nestedMarkdown(v), onChange: (event) => set({
308
+ items: items.map((entry, i) => i === r
290
309
  ? { ...entry, markdown: event.currentTarget.value }
291
310
  : entry),
292
311
  markdown: '',
293
- }) })] }), _jsx("button", { onClick: () => set({ items: items.filter((_entry, i) => i !== index), markdown: '' }), children: "Remove item" })] }, index))), _jsx("button", { onClick: () => set({
312
+ }) })] }), _jsx("button", { onClick: () => set({ items: items.filter((_entry, i) => i !== r), markdown: '' }), children: "Remove item" })] }, r))), _jsx("button", { onClick: () => set({
294
313
  items: [...items, { title: 'Item', markdown: '', content: [] }],
295
314
  markdown: '',
296
315
  }), children: "Add item" })] }, "items"));
@@ -339,13 +358,11 @@ function BlockEditor({ block, path, readOnly, }) {
339
358
  markdown: '',
340
359
  }), children: "Add row" })] }, "rows"));
341
360
  if (field.name === 'nodes')
342
- 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({
343
- nodes: nodes.map((entry, i) => i === index
344
- ? { ...entry, id: event.currentTarget.value }
345
- : entry),
361
+ return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Diagram nodes" }), nodes.map((node, v) => (_jsxs("div", { className: "terra-docs-rich-item", children: [_jsxs("label", { children: ["ID", _jsx("input", { value: text(node.id), onChange: (event) => set({
362
+ nodes: nodes.map((entry, i) => i === v ? { ...entry, id: event.currentTarget.value } : entry),
346
363
  markdown: '',
347
364
  }) })] }), _jsxs("label", { children: ["Title", _jsx("input", { value: text(node.data?.title), onChange: (event) => set({
348
- nodes: nodes.map((entry, i) => i === index
365
+ nodes: nodes.map((entry, i) => i === v
349
366
  ? {
350
367
  ...entry,
351
368
  data: {
@@ -355,7 +372,7 @@ function BlockEditor({ block, path, readOnly, }) {
355
372
  }
356
373
  : entry),
357
374
  markdown: '',
358
- }) })] }), _jsx("button", { onClick: () => set({ nodes: nodes.filter((_entry, i) => i !== index), markdown: '' }), children: "Remove node" })] }, index))), _jsx("button", { onClick: () => set({
375
+ }) })] }), _jsx("button", { onClick: () => set({ nodes: nodes.filter((_entry, i) => i !== v), markdown: '' }), children: "Remove node" })] }, v))), _jsx("button", { onClick: () => set({
359
376
  nodes: [
360
377
  ...nodes,
361
378
  { id: crypto.randomUUID(), type: 'process', data: { title: 'Node' } },
@@ -363,13 +380,13 @@ function BlockEditor({ block, path, readOnly, }) {
363
380
  markdown: '',
364
381
  }), children: "Add node" })] }, "nodes"));
365
382
  if (field.name === 'edges')
366
- 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({
367
- edges: edges.map((entry, i) => i === index
383
+ return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Connections" }), edges.map((edge, v) => (_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({
384
+ edges: edges.map((entry, i) => i === v
368
385
  ? { ...entry, [name]: event.currentTarget.value }
369
386
  : entry),
370
387
  markdown: '',
371
388
  }), children: nodes.map((node) => (_jsx("option", { value: text(node.id), children: text(node.data?.title ??
372
- node.id) }, text(node.id)))) })] }, name))), _jsx("button", { onClick: () => set({ edges: edges.filter((_entry, i) => i !== index), markdown: '' }), children: "Remove connection" })] }, index))), _jsx("button", { disabled: nodes.length < 2, onClick: () => set({
389
+ node.id) }, text(node.id)))) })] }, name))), _jsx("button", { onClick: () => set({ edges: edges.filter((_entry, i) => i !== v), markdown: '' }), children: "Remove connection" })] }, v))), _jsx("button", { disabled: nodes.length < 2, onClick: () => set({
373
390
  edges: [
374
391
  ...edges,
375
392
  {
@@ -390,12 +407,12 @@ function BlockEditor({ block, path, readOnly, }) {
390
407
  export function docsBlockNodes(options = {}) {
391
408
  const nodes = enabledDocsBlocks(options).map((type) => defineBlockObject({
392
409
  type,
393
- 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] })),
410
+ render: ({ attributes: attrs, children, node, path, readOnly }) => (_jsxs("div", { ...attrs, "data-docs-block": type, contentEditable: false, children: [_jsx(BlockEditor, { block: node, path: path, readOnly: readOnly }), children] })),
394
411
  }));
395
412
  if (options.inlineMath !== false)
396
413
  nodes.push(defineInlineObject({
397
414
  type: 'math',
398
- render: ({ attributes, children, node }) => (_jsxs("span", { ...attributes, contentEditable: false, children: [_jsx(DocsRichBlock, { block: { ...node, _type: 'math', inline: true } }), children] })),
415
+ render: ({ attributes: attrs, children, node }) => (_jsxs("span", { ...attrs, contentEditable: false, children: [_jsx(DocsRichBlock, { block: { ...node, _type: 'math', inline: true } }), children] })),
399
416
  }));
400
417
  return nodes;
401
418
  }