@bendyline/docblocks-react 1.0.0 → 1.1.1

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 (133) hide show
  1. package/dist/AppMenu/AppMenu.d.ts +16 -1
  2. package/dist/AppMenu/AppMenu.d.ts.map +1 -1
  3. package/dist/AppMenu/AppMenu.js +3 -2
  4. package/dist/AppMenu/AppMenu.js.map +1 -1
  5. package/dist/AppMenu/index.d.ts +1 -1
  6. package/dist/AppMenu/index.d.ts.map +1 -1
  7. package/dist/DocBlocksShell/DocBlocksShell.d.ts +21 -1
  8. package/dist/DocBlocksShell/DocBlocksShell.d.ts.map +1 -1
  9. package/dist/DocBlocksShell/DocBlocksShell.js +930 -98
  10. package/dist/DocBlocksShell/DocBlocksShell.js.map +1 -1
  11. package/dist/Export/ExportDialog.d.ts.map +1 -1
  12. package/dist/Export/ExportDialog.js +104 -5
  13. package/dist/Export/ExportDialog.js.map +1 -1
  14. package/dist/Export/ExportToolbarControls.d.ts.map +1 -1
  15. package/dist/Export/ExportToolbarControls.js +44 -3
  16. package/dist/Export/ExportToolbarControls.js.map +1 -1
  17. package/dist/Export/export-options.d.ts +35 -0
  18. package/dist/Export/export-options.d.ts.map +1 -1
  19. package/dist/Export/export-options.js +6 -1
  20. package/dist/Export/export-options.js.map +1 -1
  21. package/dist/Export/run-export.d.ts.map +1 -1
  22. package/dist/Export/run-export.js +163 -91
  23. package/dist/Export/run-export.js.map +1 -1
  24. package/dist/FileExplorer/FileExplorer.d.ts.map +1 -1
  25. package/dist/FileExplorer/FileExplorer.js +17 -2
  26. package/dist/FileExplorer/FileExplorer.js.map +1 -1
  27. package/dist/FileExplorer/FileTreeNode.d.ts.map +1 -1
  28. package/dist/FileExplorer/FileTreeNode.js +34 -8
  29. package/dist/FileExplorer/FileTreeNode.js.map +1 -1
  30. package/dist/WorkspacePicker/WorkspacePicker.d.ts.map +1 -1
  31. package/dist/WorkspacePicker/WorkspacePicker.js +9 -3
  32. package/dist/WorkspacePicker/WorkspacePicker.js.map +1 -1
  33. package/dist/WorkspacePicker/WorkspaceSettingsButton.d.ts +2 -1
  34. package/dist/WorkspacePicker/WorkspaceSettingsButton.d.ts.map +1 -1
  35. package/dist/WorkspacePicker/WorkspaceSettingsButton.js +2 -2
  36. package/dist/WorkspacePicker/WorkspaceSettingsButton.js.map +1 -1
  37. package/dist/WorkspacePicker/WorkspaceSettingsDialog.d.ts +20 -0
  38. package/dist/WorkspacePicker/WorkspaceSettingsDialog.d.ts.map +1 -0
  39. package/dist/WorkspacePicker/WorkspaceSettingsDialog.js +36 -0
  40. package/dist/WorkspacePicker/WorkspaceSettingsDialog.js.map +1 -0
  41. package/dist/hooks/useAutoSave.d.ts +8 -2
  42. package/dist/hooks/useAutoSave.d.ts.map +1 -1
  43. package/dist/hooks/useAutoSave.js +65 -30
  44. package/dist/hooks/useAutoSave.js.map +1 -1
  45. package/dist/icons.d.ts +1 -0
  46. package/dist/icons.d.ts.map +1 -1
  47. package/dist/icons.js +3 -0
  48. package/dist/icons.js.map +1 -1
  49. package/dist/index.d.ts +1 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/preferences/versioning.d.ts +27 -0
  52. package/dist/preferences/versioning.d.ts.map +1 -0
  53. package/dist/preferences/versioning.js +62 -0
  54. package/dist/preferences/versioning.js.map +1 -0
  55. package/package.json +10 -8
  56. package/src/AppMenu/AppMenu.tsx +142 -2
  57. package/src/AppMenu/index.ts +1 -1
  58. package/src/DocBlocksShell/DocBlocksShell.tsx +1194 -125
  59. package/src/Export/ExportDialog.tsx +208 -19
  60. package/src/Export/ExportToolbarControls.tsx +45 -3
  61. package/src/Export/export-options.ts +43 -1
  62. package/src/Export/run-export.ts +190 -91
  63. package/src/FileExplorer/FileExplorer.tsx +31 -9
  64. package/src/FileExplorer/FileTreeNode.tsx +68 -26
  65. package/src/WorkspacePicker/WorkspacePicker.tsx +18 -7
  66. package/src/WorkspacePicker/WorkspaceSettingsButton.tsx +9 -0
  67. package/src/WorkspacePicker/WorkspaceSettingsDialog.tsx +121 -0
  68. package/src/fonts/fonts.css +362 -0
  69. package/src/fonts/licenses/LICENSE-cormorant-garamond.txt +93 -0
  70. package/src/fonts/licenses/LICENSE-crimson-text.txt +93 -0
  71. package/src/fonts/licenses/LICENSE-dm-sans.txt +93 -0
  72. package/src/fonts/licenses/LICENSE-dm-serif-display.txt +93 -0
  73. package/src/fonts/licenses/LICENSE-hanken-grotesk.txt +94 -0
  74. package/src/fonts/licenses/LICENSE-ibm-plex-sans.txt +93 -0
  75. package/src/fonts/licenses/LICENSE-inter.txt +93 -0
  76. package/src/fonts/licenses/LICENSE-jetbrains-mono.txt +93 -0
  77. package/src/fonts/licenses/LICENSE-lora.txt +93 -0
  78. package/src/fonts/licenses/LICENSE-merriweather.txt +93 -0
  79. package/src/fonts/licenses/LICENSE-oswald.txt +93 -0
  80. package/src/fonts/licenses/LICENSE-playfair-display.txt +93 -0
  81. package/src/fonts/licenses/LICENSE-pt-serif.txt +93 -0
  82. package/src/fonts/licenses/LICENSE-roboto.txt +93 -0
  83. package/src/fonts/licenses/LICENSE-source-serif-4.txt +93 -0
  84. package/src/fonts/woff2/cormorant-garamond-400.woff2 +0 -0
  85. package/src/fonts/woff2/cormorant-garamond-700.woff2 +0 -0
  86. package/src/fonts/woff2/crimson-text-400.woff2 +0 -0
  87. package/src/fonts/woff2/crimson-text-400i.woff2 +0 -0
  88. package/src/fonts/woff2/crimson-text-700.woff2 +0 -0
  89. package/src/fonts/woff2/dm-sans-400.woff2 +0 -0
  90. package/src/fonts/woff2/dm-sans-400i.woff2 +0 -0
  91. package/src/fonts/woff2/dm-sans-500.woff2 +0 -0
  92. package/src/fonts/woff2/dm-sans-700.woff2 +0 -0
  93. package/src/fonts/woff2/dm-serif-display-400.woff2 +0 -0
  94. package/src/fonts/woff2/hanken-grotesk-400.woff2 +0 -0
  95. package/src/fonts/woff2/hanken-grotesk-400i.woff2 +0 -0
  96. package/src/fonts/woff2/hanken-grotesk-500.woff2 +0 -0
  97. package/src/fonts/woff2/hanken-grotesk-600.woff2 +0 -0
  98. package/src/fonts/woff2/hanken-grotesk-700.woff2 +0 -0
  99. package/src/fonts/woff2/ibm-plex-sans-400.woff2 +0 -0
  100. package/src/fonts/woff2/ibm-plex-sans-400i.woff2 +0 -0
  101. package/src/fonts/woff2/ibm-plex-sans-500.woff2 +0 -0
  102. package/src/fonts/woff2/ibm-plex-sans-600.woff2 +0 -0
  103. package/src/fonts/woff2/ibm-plex-sans-700.woff2 +0 -0
  104. package/src/fonts/woff2/inter-400.woff2 +0 -0
  105. package/src/fonts/woff2/inter-400i.woff2 +0 -0
  106. package/src/fonts/woff2/inter-500.woff2 +0 -0
  107. package/src/fonts/woff2/inter-600.woff2 +0 -0
  108. package/src/fonts/woff2/inter-700.woff2 +0 -0
  109. package/src/fonts/woff2/jetbrains-mono-400.woff2 +0 -0
  110. package/src/fonts/woff2/jetbrains-mono-400i.woff2 +0 -0
  111. package/src/fonts/woff2/jetbrains-mono-700.woff2 +0 -0
  112. package/src/fonts/woff2/lora-400.woff2 +0 -0
  113. package/src/fonts/woff2/lora-400i.woff2 +0 -0
  114. package/src/fonts/woff2/lora-700.woff2 +0 -0
  115. package/src/fonts/woff2/merriweather-400.woff2 +0 -0
  116. package/src/fonts/woff2/merriweather-700.woff2 +0 -0
  117. package/src/fonts/woff2/oswald-400.woff2 +0 -0
  118. package/src/fonts/woff2/oswald-700.woff2 +0 -0
  119. package/src/fonts/woff2/playfair-display-400.woff2 +0 -0
  120. package/src/fonts/woff2/playfair-display-700.woff2 +0 -0
  121. package/src/fonts/woff2/pt-serif-400.woff2 +0 -0
  122. package/src/fonts/woff2/pt-serif-700.woff2 +0 -0
  123. package/src/fonts/woff2/roboto-400.woff2 +0 -0
  124. package/src/fonts/woff2/roboto-400i.woff2 +0 -0
  125. package/src/fonts/woff2/roboto-700.woff2 +0 -0
  126. package/src/fonts/woff2/source-serif-4-400.woff2 +0 -0
  127. package/src/fonts/woff2/source-serif-4-400i.woff2 +0 -0
  128. package/src/fonts/woff2/source-serif-4-700.woff2 +0 -0
  129. package/src/hooks/useAutoSave.ts +87 -29
  130. package/src/icons.tsx +10 -0
  131. package/src/index.ts +1 -1
  132. package/src/preferences/versioning.ts +69 -0
  133. package/src/styles/docblocks.css +1037 -55
@@ -7,6 +7,10 @@ import { applyTransform } from '@bendyline/squisq/transform';
7
7
  import { markdownDocToDocx } from '@bendyline/squisq-formats/docx';
8
8
  import { markdownDocToPdf } from '@bendyline/squisq-formats/pdf';
9
9
  import { docToPptx } from '@bendyline/squisq-formats/pptx';
10
+ import { docToHtml, docToHtmlZip, collectImagePaths, markdownDocsToPlainHtmlBundle, markdownDocsToHtmlBundle, markdownDocToPlainHtml, } from '@bendyline/squisq-formats/html';
11
+ import { containerToZip } from '@bendyline/squisq-formats/container';
12
+ import { MemoryContentContainer } from '@bendyline/squisq/storage';
13
+ import { PLAYER_BUNDLE } from '@bendyline/squisq-react/standalone-source';
10
14
  import { FORMAT_EXTENSIONS } from './export-options.js';
11
15
  const MIME_TYPES = {
12
16
  docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
@@ -38,8 +42,7 @@ export async function runExport(markdown, selectedFile, options, mediaContainer)
38
42
  return;
39
43
  }
40
44
  if (options.format === 'html') {
41
- const html = wrapMarkdownAsHtml(markdown);
42
- downloadBlob(new Blob([html], { type: MIME_TYPES.html }), filename);
45
+ await runHtmlExport(markdown, filename, options, mediaContainer, selectedFile);
43
46
  return;
44
47
  }
45
48
  const doc = parseMarkdown(markdown);
@@ -70,92 +73,115 @@ export async function runExport(markdown, selectedFile, options, mediaContainer)
70
73
  return;
71
74
  }
72
75
  }
73
- /** Wrap raw markdown in a basic styled HTML page. */
74
- function wrapMarkdownAsHtml(markdown) {
75
- // Convert markdown to simple HTML via the parser
76
- const doc = parseMarkdown(markdown);
77
- // Build a minimal representation from the parsed nodes
78
- const lines = [];
79
- for (const node of doc.children) {
80
- lines.push(nodeToHtml(node));
76
+ /** Run the HTML export branch handles all four htmlStyle × htmlBundle combinations. */
77
+ async function runHtmlExport(markdown, htmlFilename, options, mediaContainer, selectedFile) {
78
+ const baseName = htmlFilename.replace(/\.html$/, '');
79
+ const zipName = `${baseName}.zip`;
80
+ // When `entryAsIndex` is on, a single-doc HTML download lands on
81
+ // disk as `index.html` so it drops straight into a static host. The
82
+ // recursive ZIP path doesn't care — squisq's bundle helpers handle
83
+ // the inside-zip rename and the cross-doc link rewrite themselves.
84
+ const singleHtmlFilename = options.entryAsIndex ? 'index.html' : htmlFilename;
85
+ const themeId = options.themeId !== 'standard' ? options.themeId : undefined;
86
+ // Recursive HTML bundle: when the user opted in, ask squisq to walk
87
+ // this doc's relative .md links and emit a ZIP with every reachable
88
+ // page rendered + cross-doc hrefs rewritten. Two pipelines:
89
+ // • Plain → `markdownDocsToPlainHtmlBundle` (semantic HTML)
90
+ // • Rendered → `markdownDocsToHtmlBundle` (SquisqPlayer-rendered,
91
+ // shared `squisq-player.js`, Doc-tree link rewrites)
92
+ // Both consume the workspace container to resolve sibling files —
93
+ // `mediaContainer` is already scoped to the selected file's parent
94
+ // dir, which is exactly the bundle's scope root. Falls back to the
95
+ // single-doc path if either prerequisite is missing rather than
96
+ // silently skipping the recursion.
97
+ if (options.includeLinkedDocs && mediaContainer && selectedFile) {
98
+ const entryPath = basenameForBundle(selectedFile);
99
+ if (options.htmlStyle === 'rendered') {
100
+ const blob = await markdownDocsToHtmlBundle({
101
+ entryPath,
102
+ readDocument: (path) => readDocumentFromContainer(mediaContainer, path),
103
+ readBinary: (path) => mediaContainer.readFile(path),
104
+ playerScript: PLAYER_BUNDLE,
105
+ title: baseName,
106
+ themeId,
107
+ mode: 'static',
108
+ entryAsIndex: options.entryAsIndex,
109
+ });
110
+ downloadBlob(blob, zipName);
111
+ return;
112
+ }
113
+ const blob = await markdownDocsToPlainHtmlBundle({
114
+ entryPath,
115
+ readDocument: (path) => readDocumentFromContainer(mediaContainer, path),
116
+ readBinary: (path) => mediaContainer.readFile(path),
117
+ title: baseName,
118
+ themeId,
119
+ entryAsIndex: options.entryAsIndex,
120
+ });
121
+ downloadBlob(blob, zipName);
122
+ return;
81
123
  }
82
- const body = lines.join('\n');
83
- return `<!DOCTYPE html>
84
- <html lang="en">
85
- <head>
86
- <meta charset="UTF-8">
87
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
88
- <title>Document</title>
89
- <style>
90
- body { font-family: system-ui, -apple-system, sans-serif; max-width: 800px; margin: 2em auto; padding: 0 1em; line-height: 1.6; color: #1f2937; }
91
- h1, h2, h3, h4, h5, h6 { margin-top: 1.5em; margin-bottom: 0.5em; }
92
- pre { background: #f3f4f6; padding: 1em; border-radius: 4px; overflow-x: auto; }
93
- code { background: #f3f4f6; padding: 0.15em 0.3em; border-radius: 3px; font-size: 0.9em; }
94
- pre code { background: none; padding: 0; }
95
- blockquote { border-left: 3px solid #d1d5db; margin-left: 0; padding-left: 1em; color: #6b7280; }
96
- img { max-width: 100%; }
97
- a { color: #3b82f6; }
98
- </style>
99
- </head>
100
- <body>
101
- ${body}
102
- </body>
103
- </html>`;
104
- }
105
- /** Convert a markdown AST node to HTML (basic). */
106
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
107
- function nodeToHtml(node) {
108
- if (!node)
109
- return '';
110
- switch (node.type) {
111
- case 'heading': {
112
- const tag = `h${node.depth ?? 1}`;
113
- return `<${tag}>${childrenToHtml(node)}</${tag}>`;
124
+ if (options.htmlStyle === 'rendered') {
125
+ const mdDoc = parseMarkdown(markdown);
126
+ const baseDoc = markdownToDoc(mdDoc);
127
+ if (themeId)
128
+ baseDoc.themeId = themeId;
129
+ const images = mediaContainer ? await resolveDocImages(baseDoc, mediaContainer) : undefined;
130
+ if (options.htmlBundle === 'zip') {
131
+ const blob = await docToHtmlZip(baseDoc, {
132
+ playerScript: PLAYER_BUNDLE,
133
+ images,
134
+ mode: 'static',
135
+ title: baseName,
136
+ });
137
+ downloadBlob(blob, zipName);
138
+ return;
114
139
  }
115
- case 'paragraph':
116
- return `<p>${childrenToHtml(node)}</p>`;
117
- case 'text':
118
- return escapeHtml(node.value ?? '');
119
- case 'strong':
120
- return `<strong>${childrenToHtml(node)}</strong>`;
121
- case 'emphasis':
122
- return `<em>${childrenToHtml(node)}</em>`;
123
- case 'delete':
124
- return `<del>${childrenToHtml(node)}</del>`;
125
- case 'inlineCode':
126
- return `<code>${escapeHtml(node.value ?? '')}</code>`;
127
- case 'code':
128
- return `<pre><code>${escapeHtml(node.value ?? '')}</code></pre>`;
129
- case 'blockquote':
130
- return `<blockquote>${childrenToHtml(node)}</blockquote>`;
131
- case 'list': {
132
- const tag = node.ordered ? 'ol' : 'ul';
133
- return `<${tag}>${childrenToHtml(node)}</${tag}>`;
140
+ const html = docToHtml(baseDoc, {
141
+ playerScript: PLAYER_BUNDLE,
142
+ images,
143
+ mode: 'static',
144
+ title: baseName,
145
+ });
146
+ downloadBlob(new Blob([html], { type: MIME_TYPES.html }), singleHtmlFilename);
147
+ return;
148
+ }
149
+ // Plain semantic HTML
150
+ const mdDoc = parseMarkdown(markdown);
151
+ const referencedImages = collectMarkdownImageUrls(mdDoc);
152
+ const localImages = referencedImages.filter((u) => !isExternalUrl(u));
153
+ if (options.htmlBundle === 'zip' && mediaContainer && localImages.length > 0) {
154
+ // Mirror the markdown's relative paths inside the zip so <img src="..."> still resolves.
155
+ const html = markdownDocToPlainHtml(mdDoc, { title: baseName, themeId });
156
+ const container = new MemoryContentContainer();
157
+ await container.writeFile('index.html', new TextEncoder().encode(html));
158
+ for (const url of localImages) {
159
+ const data = await mediaContainer.readFile(url);
160
+ if (!data)
161
+ continue;
162
+ const cleanPath = url.replace(/^\/+/, '');
163
+ await container.writeFile(cleanPath, new Uint8Array(data));
134
164
  }
135
- case 'listItem':
136
- return `<li>${childrenToHtml(node)}</li>`;
137
- case 'link':
138
- return `<a href="${escapeAttr(node.url ?? '')}">${childrenToHtml(node)}</a>`;
139
- case 'image':
140
- return `<img src="${escapeAttr(node.url ?? '')}" alt="${escapeAttr(node.alt ?? '')}" />`;
141
- case 'thematicBreak':
142
- return '<hr />';
143
- default:
144
- return node.children ? childrenToHtml(node) : escapeHtml(node.value ?? '');
165
+ const blob = await containerToZip(container);
166
+ downloadBlob(blob, zipName);
167
+ return;
145
168
  }
146
- }
147
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
148
- function childrenToHtml(node) {
149
- if (!node.children)
150
- return node.value ? escapeHtml(node.value) : '';
151
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
152
- return node.children.map((c) => nodeToHtml(c)).join('');
153
- }
154
- function escapeHtml(s) {
155
- return s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
156
- }
157
- function escapeAttr(s) {
158
- return escapeHtml(s).replace(/"/g, '&quot;');
169
+ // Single-file plain HTML — embed local images as base64 data URIs.
170
+ const inlineMap = new Map();
171
+ if (mediaContainer) {
172
+ for (const url of localImages) {
173
+ const data = await mediaContainer.readFile(url);
174
+ if (!data)
175
+ continue;
176
+ inlineMap.set(url, arrayBufferToDataUrl(data, url));
177
+ }
178
+ }
179
+ const html = markdownDocToPlainHtml(mdDoc, {
180
+ title: baseName,
181
+ images: inlineMap.size > 0 ? inlineMap : undefined,
182
+ themeId,
183
+ });
184
+ downloadBlob(new Blob([html], { type: MIME_TYPES.html }), singleHtmlFilename);
159
185
  }
160
186
  const IMAGE_MIME = {
161
187
  png: 'image/png',
@@ -164,14 +190,32 @@ const IMAGE_MIME = {
164
190
  gif: 'image/gif',
165
191
  webp: 'image/webp',
166
192
  bmp: 'image/bmp',
193
+ svg: 'image/svg+xml',
167
194
  };
195
+ function isExternalUrl(url) {
196
+ return (url.startsWith('http://') ||
197
+ url.startsWith('https://') ||
198
+ url.startsWith('data:') ||
199
+ url.startsWith('blob:'));
200
+ }
201
+ function arrayBufferToDataUrl(data, url) {
202
+ const ext = url.slice(url.lastIndexOf('.') + 1).toLowerCase();
203
+ const mime = IMAGE_MIME[ext] ?? 'application/octet-stream';
204
+ // btoa requires a binary string; chunk to avoid call-stack issues on large files.
205
+ const bytes = new Uint8Array(data);
206
+ let binary = '';
207
+ const CHUNK = 0x8000;
208
+ for (let i = 0; i < bytes.length; i += CHUNK) {
209
+ binary += String.fromCharCode(...bytes.subarray(i, i + CHUNK));
210
+ }
211
+ return `data:${mime};base64,${btoa(binary)}`;
212
+ }
168
213
  /** Walk the markdown AST and collect all image URLs. */
169
- function collectImageUrls(doc) {
214
+ function collectMarkdownImageUrls(doc) {
170
215
  const urls = [];
171
216
  function walkBlocks(nodes) {
172
217
  for (const node of nodes) {
173
218
  if ('children' in node && Array.isArray(node.children)) {
174
- // Check if children are inline or block nodes
175
219
  for (const child of node.children) {
176
220
  if (child.type === 'image') {
177
221
  urls.push(child.url);
@@ -184,17 +228,16 @@ function collectImageUrls(doc) {
184
228
  }
185
229
  }
186
230
  walkBlocks(doc.children);
187
- return urls;
231
+ return Array.from(new Set(urls));
188
232
  }
189
- /** Resolve image URLs to binary data from a ContentContainer. */
233
+ /** Resolve image URLs (markdown → docx) to binary data from a ContentContainer. */
190
234
  async function resolveImages(doc, container) {
191
- const urls = collectImageUrls(doc);
235
+ const urls = collectMarkdownImageUrls(doc);
192
236
  const map = new Map();
193
237
  for (const url of urls) {
194
238
  if (map.has(url))
195
239
  continue;
196
- // Skip external URLs
197
- if (url.startsWith('http://') || url.startsWith('https://') || url.startsWith('data:'))
240
+ if (isExternalUrl(url))
198
241
  continue;
199
242
  const data = await container.readFile(url);
200
243
  if (!data)
@@ -205,4 +248,33 @@ async function resolveImages(doc, container) {
205
248
  }
206
249
  return map;
207
250
  }
251
+ /** Container-relative path for the bundle's entry document. `mediaContainer`
252
+ * is already scoped to the selected file's parent directory, so the bundle
253
+ * needs the basename ("docs/home.md" → "home.md"). */
254
+ function basenameForBundle(selectedFile) {
255
+ const clean = selectedFile.replace(/^\/+/, '');
256
+ const idx = clean.lastIndexOf('/');
257
+ return idx === -1 ? clean : clean.slice(idx + 1);
258
+ }
259
+ /** Read a UTF-8 text document from a ContentContainer. Returns null when
260
+ * the file is missing — preserves the bundle's "abort with error" contract
261
+ * for unreachable .md links. */
262
+ async function readDocumentFromContainer(container, path) {
263
+ const data = await container.readFile(path);
264
+ if (!data)
265
+ return null;
266
+ return new TextDecoder('utf-8').decode(data);
267
+ }
268
+ /** Resolve image paths referenced by a squisq Doc to ArrayBuffers for HTML export. */
269
+ async function resolveDocImages(doc, container) {
270
+ const paths = collectImagePaths(doc);
271
+ const map = new Map();
272
+ for (const path of paths) {
273
+ const data = await container.readFile(path);
274
+ if (!data)
275
+ continue;
276
+ map.set(path, data);
277
+ }
278
+ return map;
279
+ }
208
280
  //# sourceMappingURL=run-export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-export.js","sourceRoot":"","sources":["../../src/Export/run-export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-export.js","sourceRoot":"","sources":["../../src/Export/run-export.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,6BAA6B,EAC7B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,GAAiC;IAC/C,IAAI,EAAE,yEAAyE;IAC/E,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,2EAA2E;IACjF,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,WAAW;CAClB,CAAC;AAEF,6CAA6C;AAC7C,SAAS,YAAY,CAAC,IAAU,EAAE,QAAgB;IAChD,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;IACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACtB,CAAC,CAAC,KAAK,EAAE,CAAC;IACV,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,uEAAuE;AACvE,SAAS,aAAa,CAAC,YAA2B,EAAE,MAAoB;IACtE,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACjG,OAAO,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,YAA2B,EAC3B,OAAsB,EACtB,cAAwC;IAExC,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5B,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACtC,OAAO;YACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QACH,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,qEAAqE;QACrE,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACZ,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;QAChC,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACtD,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,KAAK,UAAU,aAAa,CAC1B,QAAgB,EAChB,YAAoB,EACpB,OAAsB,EACtB,cAAwC,EACxC,YAA4B;IAE5B,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,GAAG,QAAQ,MAAM,CAAC;IAClC,iEAAiE;IACjE,oEAAoE;IACpE,mEAAmE;IACnE,mEAAmE;IACnE,MAAM,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,oEAAoE;IACpE,oEAAoE;IACpE,4DAA4D;IAC5D,+DAA+D;IAC/D,oEAAoE;IACpE,oEAAoE;IACpE,kEAAkE;IAClE,mEAAmE;IACnE,mEAAmE;IACnE,gEAAgE;IAChE,mCAAmC;IACnC,IAAI,OAAO,CAAC,iBAAiB,IAAI,cAAc,IAAI,YAAY,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC;gBAC1C,SAAS;gBACT,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,cAAc,EAAE,IAAI,CAAC;gBACvE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACnD,YAAY,EAAE,aAAa;gBAC3B,KAAK,EAAE,QAAQ;gBACf,OAAO;gBACP,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,6BAA6B,CAAC;YAC/C,SAAS;YACT,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,cAAc,EAAE,IAAI,CAAC;YACvE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;YACnD,KAAK,EAAE,QAAQ;YACf,OAAO;YACP,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QACH,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvC,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5F,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;gBACvC,YAAY,EAAE,aAAa;gBAC3B,MAAM;gBACN,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE;YAC9B,YAAY,EAAE,aAAa;YAC3B,MAAM;YACN,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,cAAc,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7E,yFAAyF;QACzF,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC/C,MAAM,SAAS,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7C,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,mEAAmE;IACnE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,EAAE;QACzC,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAClD,OAAO;KACR,CAAC,CAAC;IACH,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,GAA2B;IACzC,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,eAAe;CACrB,CAAC;AAEF,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,CACL,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;QAC1B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QACvB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CACxB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAiB,EAAE,GAAW;IAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC;IAC3D,kFAAkF;IAClF,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,MAAM,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,QAAQ,IAAI,WAAW,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,wDAAwD;AACxD,SAAS,wBAAwB,CAAC,GAAqB;IACrD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,SAAS,UAAU,CAAC,KAA0B;QAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,UAAU,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAsD,EAAE,CAAC;oBAChF,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC3B,IAAI,CAAC,IAAI,CAAE,KAAyB,CAAC,GAAG,CAAC,CAAC;oBAC5C,CAAC;yBAAM,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAChE,UAAU,CAAC,KAAK,CAAC,QAA+B,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,mFAAmF;AACnF,KAAK,UAAU,aAAa,CAC1B,GAAqB,EACrB,SAA2B;IAE3B,MAAM,IAAI,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmE,CAAC;IAEvF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC3B,IAAI,aAAa,CAAC,GAAG,CAAC;YAAE,SAAS;QACjC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;QACnD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;uDAEuD;AACvD,SAAS,iBAAiB,CAAC,YAAoB;IAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;iCAEiC;AACjC,KAAK,UAAU,yBAAyB,CACtC,SAA2B,EAC3B,IAAY;IAEZ,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,sFAAsF;AACtF,KAAK,UAAU,gBAAgB,CAC7B,GAAQ,EACR,SAA2B;IAE3B,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileExplorer.d.ts","sourceRoot":"","sources":["../../src/FileExplorer/FileExplorer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,iCAAiC,CAAC;AAO3F,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC;IAC9D,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,iEAAiE;IACjE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACxC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,SAAS,GACV,EAAE,iBAAiB,2CAiOnB"}
1
+ {"version":3,"file":"FileExplorer.d.ts","sourceRoot":"","sources":["../../src/FileExplorer/FileExplorer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,iCAAiC,CAAC;AAuB3F,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC;IAC9D,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,iEAAiE;IACjE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACxC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,SAAS,GACV,EAAE,iBAAiB,2CAuOnB"}
@@ -10,6 +10,21 @@ import { useFileTree } from './useFileTree.js';
10
10
  import { FileTreeNode } from './FileTreeNode.js';
11
11
  import { NewFileIcon, NewFolderIcon, RefreshIcon } from '../icons.js';
12
12
  const SUPPORTED_EXTENSIONS = new Set(['.txt', '.md', '.docx', '.pdf', '.dbk', '.zip']);
13
+ /**
14
+ * Hide auto-generated `<basename>_files/` companion folders from the
15
+ * tree. They hold per-document images and version snapshots — useful
16
+ * to the editor, noisy in the user-facing file list. The folders still
17
+ * exist on disk; we just don't surface them in the explorer.
18
+ */
19
+ function isHiddenEntry(entry) {
20
+ if (entry.kind !== 'directory')
21
+ return false;
22
+ const name = entry.path.replace(/^\/+/, '').split('/').pop() ?? '';
23
+ return name.endsWith('_files');
24
+ }
25
+ function filterVisible(entries) {
26
+ return entries.filter((e) => !isHiddenEntry(e));
27
+ }
13
28
  export function FileExplorer({ provider, onSelect, onTreeChange, onImportFiles, className, }) {
14
29
  const tree = useFileTree(provider);
15
30
  const { childEntries } = tree;
@@ -107,7 +122,7 @@ export function FileExplorer({ provider, onSelect, onTreeChange, onImportFiles,
107
122
  onTreeChange?.();
108
123
  }, [tree, onTreeChange]);
109
124
  const renderEntries = useCallback((entries, depth) => {
110
- return entries.map((entry) => (_jsx(FileTreeNode, { entry: entry, depth: depth, expanded: tree.expanded.has(entry.path), selected: tree.selectedPath === entry.path, onToggle: tree.toggleExpand, onSelect: handleSelect, onDelete: handleDelete, onRename: handleRename, renderChildren: (dirPath) => {
125
+ return filterVisible(entries).map((entry) => (_jsx(FileTreeNode, { entry: entry, depth: depth, expanded: tree.expanded.has(entry.path), selected: tree.selectedPath === entry.path, onToggle: tree.toggleExpand, onSelect: handleSelect, onDelete: handleDelete, onRename: handleRename, renderChildren: (dirPath) => {
111
126
  const children = childEntries.get(dirPath) ?? [];
112
127
  return renderEntries(children, depth + 1);
113
128
  } }, entry.path)));
@@ -120,6 +135,6 @@ export function FileExplorer({ provider, onSelect, onTreeChange, onImportFiles,
120
135
  setNewItemType(null);
121
136
  setNewItemName('');
122
137
  }
123
- }, autoFocus: true }), newItemType === 'file' && _jsx("span", { className: "db-new-item-suffix", children: ".md" }), _jsx("button", { type: "submit", className: "db-new-item-add", children: "Add" })] }) })), _jsx("div", { className: "db-tree", role: "tree", children: tree.loading ? (_jsx("div", { className: "db-tree-loading", children: "Loading..." })) : tree.entries.length === 0 ? (_jsx("div", { className: "db-tree-empty", children: "No files yet" })) : (renderEntries(tree.entries, 0)) })] }));
138
+ }, autoFocus: true }), newItemType === 'file' && _jsx("span", { className: "db-new-item-suffix", children: ".md" }), _jsx("button", { type: "submit", className: "db-new-item-add", children: "Add" })] }) })), tree.loading ? (_jsx("div", { className: "db-tree", role: "status", "aria-live": "polite", children: _jsx("div", { className: "db-tree-loading", children: "Loading..." }) })) : filterVisible(tree.entries).length === 0 ? (_jsx("div", { className: "db-tree", children: _jsx("div", { className: "db-tree-empty", children: "No files yet" }) })) : (_jsx("div", { className: "db-tree", role: "tree", children: renderEntries(tree.entries, 0) }))] }));
124
139
  }
125
140
  //# sourceMappingURL=FileExplorer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileExplorer.js","sourceRoot":"","sources":["../../src/FileExplorer/FileExplorer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileExplorer.js","sourceRoot":"","sources":["../../src/FileExplorer/FileExplorer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileTreeNode.d.ts","sourceRoot":"","sources":["../../src/FileExplorer/FileTreeNode.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CACvD;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,cAAc,GACf,EAAE,iBAAiB,2CA6InB"}
1
+ {"version":3,"file":"FileTreeNode.d.ts","sourceRoot":"","sources":["../../src/FileExplorer/FileTreeNode.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CACvD;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,cAAc,GACf,EAAE,iBAAiB,2CAqLnB"}
@@ -1,8 +1,10 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  * FileTreeNode — recursive tree node for the file explorer.
4
4
  */
5
- import { useCallback, useState, useRef, useEffect } from 'react';
5
+ import { useCallback, useState, useRef, useEffect, useLayoutEffect } from 'react';
6
+ import { createPortal } from 'react-dom';
7
+ import { MoreIcon } from '../icons.js';
6
8
  export function FileTreeNode({ entry, depth, expanded, selected, onToggle, onSelect, onDelete, onRename, renderChildren, }) {
7
9
  const [renaming, setRenaming] = useState(false);
8
10
  const [renameValue, setRenameValue] = useState(entry.name);
@@ -22,11 +24,14 @@ export function FileTreeNode({ entry, depth, expanded, selected, onToggle, onSel
22
24
  const handleContextMenu = useCallback((e) => {
23
25
  e.preventDefault();
24
26
  e.stopPropagation();
25
- const rect = nodeRef.current?.getBoundingClientRect();
26
- setContextPos({
27
- x: e.clientX - (rect?.left ?? 0),
28
- y: e.clientY - (rect?.top ?? 0),
29
- });
27
+ setContextPos({ x: e.clientX, y: e.clientY });
28
+ setShowContext(true);
29
+ }, []);
30
+ const handleMoreClick = useCallback((e) => {
31
+ e.preventDefault();
32
+ e.stopPropagation();
33
+ const rect = e.currentTarget.getBoundingClientRect();
34
+ setContextPos({ x: rect.right, y: rect.bottom });
30
35
  setShowContext(true);
31
36
  }, []);
32
37
  const handleRenameStart = useCallback(() => {
@@ -73,6 +78,26 @@ export function FileTreeNode({ entry, depth, expanded, selected, onToggle, onSel
73
78
  inputRef.current.select();
74
79
  }
75
80
  }, [renaming]);
81
+ // Clamp menu inside viewport after it renders
82
+ useLayoutEffect(() => {
83
+ if (!showContext || !contextRef.current)
84
+ return;
85
+ const menu = contextRef.current;
86
+ const rect = menu.getBoundingClientRect();
87
+ const margin = 4;
88
+ let left = contextPos.x;
89
+ let top = contextPos.y;
90
+ if (rect.right > window.innerWidth - margin) {
91
+ left = Math.max(margin, window.innerWidth - rect.width - margin);
92
+ }
93
+ if (rect.bottom > window.innerHeight - margin) {
94
+ top = Math.max(margin, window.innerHeight - rect.height - margin);
95
+ }
96
+ if (left !== contextPos.x || top !== contextPos.y) {
97
+ menu.style.left = `${left}px`;
98
+ menu.style.top = `${top}px`;
99
+ }
100
+ }, [showContext, contextPos]);
76
101
  return (_jsxs("div", { className: "db-tree-node", ref: nodeRef, children: [_jsxs("div", { className: `db-tree-row ${selected ? 'db-tree-row--selected' : ''}`, style: { paddingLeft: depth * 16 + 4 }, onClick: handleClick, onContextMenu: handleContextMenu, role: "treeitem", "aria-expanded": isDir ? expanded : undefined, "aria-selected": selected, tabIndex: 0, onKeyDown: (e) => {
77
102
  if (e.key === 'Enter')
78
103
  handleClick();
@@ -81,6 +106,7 @@ export function FileTreeNode({ entry, depth, expanded, selected, onToggle, onSel
81
106
  handleRenameSubmit();
82
107
  if (e.key === 'Escape')
83
108
  setRenaming(false);
84
- }, onClick: (e) => e.stopPropagation() })) : (_jsx("span", { className: "db-tree-label", children: entry.name.endsWith('.md') ? entry.name.slice(0, -3) : entry.name }))] }), showContext && (_jsxs("div", { ref: contextRef, className: "db-tree-context", style: { left: contextPos.x, top: contextPos.y }, children: [_jsx("button", { className: "db-tree-context-item", onClick: handleRenameStart, children: "Rename" }), _jsx("button", { className: "db-tree-context-item db-tree-context-item--danger", onClick: handleDeleteClick, children: "Delete" })] })), isDir && expanded && renderChildren && (_jsx("div", { className: "db-tree-children", role: "group", children: renderChildren(entry.path) }))] }));
109
+ }, onClick: (e) => e.stopPropagation() })) : (_jsxs(_Fragment, { children: [_jsx("span", { className: "db-tree-label", children: entry.name.endsWith('.md') ? entry.name.slice(0, -3) : entry.name }), _jsx("button", { type: "button", className: `db-tree-more${showContext ? ' db-tree-more--active' : ''}`, onClick: handleMoreClick, onContextMenu: handleMoreClick, "aria-label": "More actions", "aria-haspopup": "menu", "aria-expanded": showContext, tabIndex: -1, children: _jsx(MoreIcon, { width: 14, height: 14 }) })] }))] }), showContext &&
110
+ createPortal(_jsxs("div", { ref: contextRef, className: "db-tree-context", style: { left: contextPos.x, top: contextPos.y }, children: [_jsx("button", { className: "db-tree-context-item", onClick: handleRenameStart, children: "Rename" }), _jsx("button", { className: "db-tree-context-item db-tree-context-item--danger", onClick: handleDeleteClick, children: "Delete" })] }), document.body), isDir && expanded && renderChildren && (_jsx("div", { className: "db-tree-children", role: "group", children: renderChildren(entry.path) }))] }));
85
111
  }
86
112
  //# sourceMappingURL=FileTreeNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileTreeNode.js","sourceRoot":"","sources":["../../src/FileExplorer/FileTreeNode.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileTreeNode.js","sourceRoot":"","sources":["../../src/FileExplorer/FileTreeNode.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspacePicker.d.ts","sourceRoot":"","sources":["../../src/WorkspacePicker/WorkspacePicker.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAI1E,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,wDAAwD;IACxD,QAAQ,EAAE,CAAC,UAAU,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,8DAA8D;IAC9D,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAC9B,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,EAAE,oBAAoB,2CAmGtB"}
1
+ {"version":3,"file":"WorkspacePicker.d.ts","sourceRoot":"","sources":["../../src/WorkspacePicker/WorkspacePicker.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAK1E,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,wDAAwD;IACxD,QAAQ,EAAE,CAAC,UAAU,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,8DAA8D;IAC9D,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAC9B,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,EAAE,oBAAoB,2CA6GtB"}
@@ -6,6 +6,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
6
  import { useState, useEffect, useCallback, useRef } from 'react';
7
7
  import { listWorkspaces, saveWorkspace, touchWorkspace } from '@bendyline/docblocks/workspace';
8
8
  import { isNativeFileSystemSupported } from '@bendyline/docblocks/filesystem';
9
+ import { isElectronHost } from '@bendyline/docblocks/host';
9
10
  export function WorkspacePicker({ activeWorkspaceId, onSelect, onOpenFolder, className, }) {
10
11
  const [workspaces, setWorkspaces] = useState([]);
11
12
  const [isOpen, setIsOpen] = useState(false);
@@ -22,10 +23,15 @@ export function WorkspacePicker({ activeWorkspaceId, onSelect, onOpenFolder, cla
22
23
  document.addEventListener('mousedown', handleOutsideClick);
23
24
  return () => document.removeEventListener('mousedown', handleOutsideClick);
24
25
  }, [isOpen]);
26
+ const electron = isElectronHost();
25
27
  const refresh = useCallback(async () => {
26
28
  const list = await listWorkspaces();
27
- setWorkspaces(list);
28
- }, []);
29
+ // On desktop, hide web-only workspaces (indexeddb/native).
30
+ const filtered = electron
31
+ ? list.filter((w) => w.type === 'electron-native')
32
+ : list.filter((w) => w.type !== 'electron-native');
33
+ setWorkspaces(filtered);
34
+ }, [electron]);
29
35
  useEffect(() => {
30
36
  refresh();
31
37
  }, [refresh, activeWorkspaceId]);
@@ -49,7 +55,7 @@ export function WorkspacePicker({ activeWorkspaceId, onSelect, onOpenFolder, cla
49
55
  setIsOpen(false);
50
56
  }, [workspaces.length, onSelect, refresh]);
51
57
  const activeWs = workspaces.find((w) => w.id === activeWorkspaceId);
52
- return (_jsxs("div", { ref: pickerRef, className: `db-workspace-picker ${className ?? ''}`, children: [_jsxs("button", { className: "db-workspace-picker-btn", onClick: () => setIsOpen(!isOpen), title: "Switch workspace", children: [activeWs?.name ?? 'No workspace', _jsx("span", { className: "db-workspace-picker-caret", children: isOpen ? '\u25B4' : '\u25BE' })] }), isOpen && (_jsxs("div", { className: "db-workspace-dropdown", children: [workspaces.map((ws) => (_jsxs("button", { className: `db-workspace-dropdown-item ${ws.id === activeWorkspaceId ? 'db-workspace-dropdown-item--active' : ''}`, onClick: () => handleSelect(ws), children: [ws.name, _jsx("span", { className: "db-workspace-type", children: ws.type === 'native' ? '(folder)' : '' })] }, ws.id))), _jsx("div", { className: "db-workspace-dropdown-divider" }), _jsx("button", { className: "db-workspace-dropdown-item", onClick: handleCreateNew, children: "+ New Workspace" }), isNativeFileSystemSupported() && (_jsx("button", { className: "db-workspace-dropdown-item", onClick: () => {
58
+ return (_jsxs("div", { ref: pickerRef, className: `db-workspace-picker ${className ?? ''}`, children: [_jsxs("button", { className: "db-workspace-picker-btn", onClick: () => setIsOpen(!isOpen), title: "Switch workspace", children: [activeWs?.name ?? 'No workspace', _jsx("span", { className: "db-workspace-picker-caret", children: isOpen ? '\u25B4' : '\u25BE' })] }), isOpen && (_jsxs("div", { className: "db-workspace-dropdown", children: [workspaces.map((ws) => (_jsxs("button", { className: `db-workspace-dropdown-item ${ws.id === activeWorkspaceId ? 'db-workspace-dropdown-item--active' : ''}`, onClick: () => handleSelect(ws), children: [ws.name, _jsx("span", { className: "db-workspace-type", children: ws.type === 'native' || ws.type === 'electron-native' ? '(folder)' : '' })] }, ws.id))), _jsx("div", { className: "db-workspace-dropdown-divider" }), !electron && (_jsx("button", { className: "db-workspace-dropdown-item", onClick: handleCreateNew, children: "+ New Workspace" })), (electron || isNativeFileSystemSupported()) && (_jsx("button", { className: "db-workspace-dropdown-item", onClick: () => {
53
59
  setIsOpen(false);
54
60
  onOpenFolder();
55
61
  }, children: "Open Folder..." }))] }))] }));
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspacePicker.js","sourceRoot":"","sources":["../../src/WorkspacePicker/WorkspacePicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkspacePicker.js","sourceRoot":"","sources":["../../src/WorkspacePicker/WorkspacePicker.tsx"],"names":[],"mappings":"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"}