@mdzip/editor 1.3.21 → 1.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 (51) hide show
  1. package/README.md +27 -0
  2. package/dist/archive-utils.d.ts.map +1 -1
  3. package/dist/archive-utils.js +16 -2
  4. package/dist/archive-utils.js.map +1 -1
  5. package/dist/asset-cache.d.ts +12 -0
  6. package/dist/asset-cache.d.ts.map +1 -1
  7. package/dist/asset-cache.js +45 -0
  8. package/dist/asset-cache.js.map +1 -1
  9. package/dist/image-edit.d.ts +26 -0
  10. package/dist/image-edit.d.ts.map +1 -0
  11. package/dist/image-edit.js +195 -0
  12. package/dist/image-edit.js.map +1 -0
  13. package/dist/index.d.ts +2 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/library-info.d.ts +2 -2
  18. package/dist/library-info.js +2 -2
  19. package/dist/library-info.js.map +1 -1
  20. package/dist/mdz-archive-worker-protocol.d.ts +36 -0
  21. package/dist/mdz-archive-worker-protocol.d.ts.map +1 -0
  22. package/dist/mdz-archive-worker-protocol.js +2 -0
  23. package/dist/mdz-archive-worker-protocol.js.map +1 -0
  24. package/dist/mdz-archive.worker-client.d.ts +30 -0
  25. package/dist/mdz-archive.worker-client.d.ts.map +1 -0
  26. package/dist/mdz-archive.worker-client.js +97 -0
  27. package/dist/mdz-archive.worker-client.js.map +1 -0
  28. package/dist/mdz-archive.worker.d.ts +2 -0
  29. package/dist/mdz-archive.worker.d.ts.map +1 -0
  30. package/dist/mdz-archive.worker.js +8870 -0
  31. package/dist/mdz-archive.worker.js.map +1 -0
  32. package/dist/rendering.d.ts +44 -0
  33. package/dist/rendering.d.ts.map +1 -1
  34. package/dist/rendering.js +92 -0
  35. package/dist/rendering.js.map +1 -1
  36. package/dist/stats.d.ts +23 -0
  37. package/dist/stats.d.ts.map +1 -0
  38. package/dist/stats.js +31 -0
  39. package/dist/stats.js.map +1 -0
  40. package/dist/view-css.d.ts.map +1 -1
  41. package/dist/view-css.js +45 -0
  42. package/dist/view-css.js.map +1 -1
  43. package/dist/view.d.ts +319 -1
  44. package/dist/view.d.ts.map +1 -1
  45. package/dist/view.js +1371 -92
  46. package/dist/view.js.map +1 -1
  47. package/dist/workspace.d.ts +14 -0
  48. package/dist/workspace.d.ts.map +1 -1
  49. package/dist/workspace.js +53 -41
  50. package/dist/workspace.js.map +1 -1
  51. package/package.json +9 -5
package/README.md CHANGED
@@ -254,6 +254,33 @@ the default preview sanitizer strips inline `style` attributes.
254
254
  `MdzipRenderingService` uses `defaultSafeMarkdownRenderer` when no renderer is
255
255
  injected. The default renderer sanitizes generated HTML and unsafe URL schemes.
256
256
 
257
+ ## Image Edit Hook
258
+
259
+ Editing an *existing* image (Markdown `![]()` or raw HTML `<img>`, including
260
+ one wrapped in `<p align="...">`) is fully opt-in — unlike image insertion,
261
+ there is no built-in fallback dialog and no `imageEditMode`. Set
262
+ `imageEditHandler` to enable it:
263
+
264
+ ```ts
265
+ const view = new MdzipWorkspaceView(container, {
266
+ async imageEditHandler(request) {
267
+ // request: { src, altText, width?, height?, position?, mode: 'markdown' | 'html' }
268
+ const decision = await hostEditDialog(request);
269
+ if (!decision) return null; // cancel — leaves the image untouched
270
+ return decision; // same shape as an image-insert decision
271
+ }
272
+ });
273
+ ```
274
+
275
+ With no `imageEditHandler` set, clicking an existing image does nothing —
276
+ no edit affordance ever appears. With one set, clicking an image reference
277
+ in the source editor shows a small edit icon next to it; clicking that icon
278
+ calls the handler with the image's current alt/width/height/position parsed
279
+ from its existing Markdown or HTML, and rewrites that exact reference in
280
+ place with whatever decision is returned (same `{ mode, altText, width,
281
+ height, position }` shape `imageInsertHandler` returns). Reference-style
282
+ Markdown images (`![alt][label]`) aren't supported.
283
+
257
284
  ## Pack Files Hook
258
285
 
259
286
  Hosts that let a user pick a folder (Electron dialog, VS Code workspace API,
@@ -1 +1 @@
1
- {"version":3,"file":"archive-utils.d.ts","sourceRoot":"","sources":["../src/archive-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archive-utils.d.ts","sourceRoot":"","sources":["../src/archive-utils.ts"],"names":[],"mappings":"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"}
@@ -56,8 +56,22 @@ export async function findOrphanedAssetPathsInArchive(existingBytes, entryPoint)
56
56
  const result = await MdzArchiveCore.findOrphanedAssets(existingBytes, entryPoint ? { entryPoint } : undefined);
57
57
  return result.orphanedAssetPaths;
58
58
  }
59
+ // Keyed by the byte buffer's identity: callers that keep reading from the
60
+ // same (immutable) archiveBytes reuse the already-parsed handle instead of
61
+ // re-opening (and re-parsing) the whole archive on every single asset read.
62
+ // A WeakMap lets the cached handle be collected once the caller drops its
63
+ // reference to the bytes (e.g. after an edit produces a new archiveBytes).
64
+ const openArchiveCache = new WeakMap();
65
+ function openArchiveCached(existingBytes) {
66
+ let archive = openArchiveCache.get(existingBytes);
67
+ if (!archive) {
68
+ archive = MdzArchiveCore.open(existingBytes);
69
+ openArchiveCache.set(existingBytes, archive);
70
+ }
71
+ return archive;
72
+ }
59
73
  export async function readBinaryFileFromArchive(existingBytes, archivePath) {
60
- const archive = await MdzArchiveCore.open(existingBytes);
74
+ const archive = await openArchiveCached(existingBytes);
61
75
  try {
62
76
  return await archive.readBytes(archivePath);
63
77
  }
@@ -66,7 +80,7 @@ export async function readBinaryFileFromArchive(existingBytes, archivePath) {
66
80
  }
67
81
  }
68
82
  export async function readTextFileFromArchive(existingBytes, archivePath) {
69
- const archive = await MdzArchiveCore.open(existingBytes);
83
+ const archive = await openArchiveCached(existingBytes);
70
84
  try {
71
85
  return await archive.readText(archivePath);
72
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"archive-utils.js","sourceRoot":"","sources":["../src/archive-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archive-utils.js","sourceRoot":"","sources":["../src/archive-utils.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,18 @@ export declare class MdzipAssetSession {
75
75
  */
76
76
  resolveDataUrl(path: string, currentPath: string): Promise<string | undefined>;
77
77
  rewriteHtml(html: string, currentPath: string, signal: AbortSignal): Promise<string>;
78
+ /**
79
+ * Like {@link rewriteHtml}, but embeds each image as a self-contained
80
+ * `data:` URL (via {@link resolveDataUrl}) instead of an object URL — the
81
+ * representation an external app needs, since a `blob:` URL only resolves
82
+ * within the tab that created it (pasting rendered content into e.g. Word
83
+ * is the motivating case). Processes images in small concurrent batches,
84
+ * yielding between them and reporting progress, rather than one
85
+ * `Promise.all` over every image at once — a document with thousands of
86
+ * images would otherwise base64-encode all of them in one synchronous
87
+ * burst once their promises settle.
88
+ */
89
+ rewriteHtmlEmbeddingImages(html: string, currentPath: string, signal: AbortSignal, onProgress?: (done: number, total: number) => void): Promise<string>;
78
90
  destroy(): void;
79
91
  private resolveAsset;
80
92
  private storeUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"asset-cache.d.ts","sourceRoot":"","sources":["../src/asset-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset-cache.d.ts","sourceRoot":"","sources":["../src/asset-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;IACnE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAChE,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,+BAA+B;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAUD,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,eAAe,CAAqC;gBAEzC,OAAO,GAAE,+BAAoC;IAOnD,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAelE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnE,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO/D,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAOpE,QAAQ;YAoBR,SAAS;YAOT,WAAW;YAOX,KAAK;CAqBpB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAiB;IAQ1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA6B;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwD;IAC9E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkD;IAC1E,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,SAAS,CAAS;gBAGP,SAAS,EAAE,qBAAqB,EAChC,MAAM,EAAE,SAAS,iBAAiB,EAAE,EACpC,aAAa,EAAE,QAAQ,EACvB,OAAO,GAAE,wBAA6B;IAGlD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK7D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAcpF;;;;OAIG;IACU,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAQrG;;;;;;;;;OASG;IACU,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAc9E,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAcjG;;;;;;;;;;OAUG;IACU,0BAA0B,CACrC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,EACnB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACjD,OAAO,CAAC,MAAM,CAAC;IA4BX,OAAO,IAAI,IAAI;YAaR,YAAY;IA6B1B,OAAO,CAAC,QAAQ;YAYF,YAAY;CAO3B;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E;AAgBD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,GACf;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA2E/C"}
@@ -182,6 +182,51 @@ export class MdzipAssetSession {
182
182
  throw new DOMException('Rendering aborted.', 'AbortError');
183
183
  return template.innerHTML;
184
184
  }
185
+ /**
186
+ * Like {@link rewriteHtml}, but embeds each image as a self-contained
187
+ * `data:` URL (via {@link resolveDataUrl}) instead of an object URL — the
188
+ * representation an external app needs, since a `blob:` URL only resolves
189
+ * within the tab that created it (pasting rendered content into e.g. Word
190
+ * is the motivating case). Processes images in small concurrent batches,
191
+ * yielding between them and reporting progress, rather than one
192
+ * `Promise.all` over every image at once — a document with thousands of
193
+ * images would otherwise base64-encode all of them in one synchronous
194
+ * burst once their promises settle.
195
+ */
196
+ async rewriteHtmlEmbeddingImages(html, currentPath, signal, onProgress) {
197
+ const template = this.ownerDocument.createElement('template');
198
+ template.innerHTML = html;
199
+ const images = Array.from(template.content.querySelectorAll('img[src]'));
200
+ const total = images.length;
201
+ const BATCH_SIZE = 6;
202
+ const yieldToEventLoop = () => new Promise((resolve) => {
203
+ const scheduler = this.ownerDocument.defaultView?.requestAnimationFrame;
204
+ if (scheduler)
205
+ scheduler(() => resolve());
206
+ else
207
+ setTimeout(resolve, 0);
208
+ });
209
+ for (let start = 0; start < images.length; start += BATCH_SIZE) {
210
+ if (signal.aborted)
211
+ throw new DOMException('Rendering aborted.', 'AbortError');
212
+ const batch = images.slice(start, start + BATCH_SIZE);
213
+ await Promise.all(batch.map(async (image) => {
214
+ const source = image.getAttribute('src');
215
+ if (!source)
216
+ return;
217
+ const resolved = await this.resolveDataUrl(source, currentPath);
218
+ if (!signal.aborted && resolved)
219
+ image.setAttribute('src', resolved);
220
+ }));
221
+ onProgress?.(Math.min(start + BATCH_SIZE, total), total);
222
+ if (start + BATCH_SIZE >= images.length)
223
+ break;
224
+ if (signal.aborted)
225
+ throw new DOMException('Rendering aborted.', 'AbortError');
226
+ await yieldToEventLoop();
227
+ }
228
+ return template.innerHTML;
229
+ }
185
230
  destroy() {
186
231
  this.destroyed = true;
187
232
  const urlApi = this.ownerDocument.defaultView?.URL;
@@ -1 +1 @@
1
- {"version":3,"file":"asset-cache.js","sourceRoot":"","sources":["../src/asset-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset-cache.js","sourceRoot":"","sources":["../src/asset-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { EditorState } from '@codemirror/state';
2
+ import type { MdzipImageInsertDecision, MdzipImageInsertOutputMode, MdzipImagePosition } from './view.js';
3
+ export interface MdzipParsedImageReference {
4
+ kind: MdzipImageInsertOutputMode;
5
+ /** Exact doc range to replace when applying an edit decision. Half-open. */
6
+ from: number;
7
+ to: number;
8
+ /** Text currently at [from, to) — used as a race guard before applying an edit. */
9
+ raw: string;
10
+ src: string;
11
+ altText: string;
12
+ width?: number;
13
+ height?: number;
14
+ position: MdzipImagePosition;
15
+ }
16
+ export declare function escapeMarkdownImageAlt(value: string): string;
17
+ /** Finds the image reference (Markdown or raw HTML) enclosing `offset`, if any. */
18
+ export declare function findImageReferenceAtOffset(state: EditorState, offset: number): MdzipParsedImageReference | null;
19
+ /**
20
+ * Formats a decision as replacement text for an existing image's exact
21
+ * range. Unlike `formatImageInsertMarkdown`, this never pads with
22
+ * surrounding blank lines — the caller replaces an already-delimited
23
+ * `[from, to)` span, not inserting at an arbitrary cursor position.
24
+ */
25
+ export declare function formatImageEditMarkdown(src: string, decision: MdzipImageInsertDecision): string;
26
+ //# sourceMappingURL=image-edit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-edit.d.ts","sourceRoot":"","sources":["../src/image-edit.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE1G,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,0BAA0B,CAAC;IACjC,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,mFAAmF;IACnF,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AA6CD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AA4HD,mFAAmF;AACnF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAE/G;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,GAAG,MAAM,CAmB/F"}
@@ -0,0 +1,195 @@
1
+ // Locates an existing image reference (Markdown `![]()` or raw HTML `<img>`,
2
+ // optionally wrapped in `<p align="...">`) around a document offset, and
3
+ // formats a decision back into replacement text for that exact range. Pure
4
+ // text/syntax-tree logic — no DOM, no MdzipWorkspaceView dependency — so it
5
+ // can be unit tested standalone and reused by the click-to-edit affordance
6
+ // in view.ts.
7
+ import { syntaxTree } from '@codemirror/language';
8
+ import { escapeHtml } from './workspace-view.js';
9
+ const IMAGE_NODE_NAMES = new Set(['Image']);
10
+ const HTML_CONTAINER_NODE_NAMES = new Set(['HTMLBlock', 'HTMLTag']);
11
+ const IMG_TAG_RE = /<img\b[^>]*>/gi;
12
+ const ATTR_RE = /([a-zA-Z:-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+))/g;
13
+ const WRAP_P_RE = /^<p\b[^>]*\salign\s*=\s*(?:"([^"]*)"|'([^']*)'|(\S+))[^>]*>\s*<img\b[^>]*>\s*<\/p>\s*$/i;
14
+ /**
15
+ * Finds the enclosing node of one of `names` at `offset`, trying both sides
16
+ * of the offset (a click can land right at a node's opening or closing
17
+ * boundary, and `resolveInner`'s `side` argument only favors one direction).
18
+ */
19
+ function resolveAncestorNode(state, offset, names) {
20
+ const tree = syntaxTree(state);
21
+ for (const side of [-1, 1]) {
22
+ let node = tree.resolveInner(offset, side);
23
+ while (node) {
24
+ if (names.has(node.name)) {
25
+ return node;
26
+ }
27
+ node = node.parent;
28
+ }
29
+ }
30
+ return null;
31
+ }
32
+ function parseDim(value) {
33
+ if (!value) {
34
+ return undefined;
35
+ }
36
+ const parsed = Number(value);
37
+ return Number.isFinite(parsed) && parsed > 0 ? Math.round(parsed) : undefined;
38
+ }
39
+ function unescapeHtml(value) {
40
+ return value
41
+ .replace(/&lt;/g, '<')
42
+ .replace(/&gt;/g, '>')
43
+ .replace(/&quot;/g, '"')
44
+ .replace(/&#39;/g, "'")
45
+ .replace(/&amp;/g, '&');
46
+ }
47
+ export function escapeMarkdownImageAlt(value) {
48
+ return value.replace(/\\/g, '\\\\').replace(/]/g, '\\]');
49
+ }
50
+ function unescapeMarkdownImageAlt(value) {
51
+ return value.replace(/\\\\|\\]/g, (match) => (match === '\\\\' ? '\\' : ']'));
52
+ }
53
+ function parseHtmlAttributes(tagSource) {
54
+ const attrs = new Map();
55
+ ATTR_RE.lastIndex = 0;
56
+ let match;
57
+ while ((match = ATTR_RE.exec(tagSource))) {
58
+ attrs.set(match[1].toLowerCase(), match[2] ?? match[3] ?? match[4] ?? '');
59
+ }
60
+ return attrs;
61
+ }
62
+ function parseMarkdownImageAt(state, offset) {
63
+ const found = resolveAncestorNode(state, offset, IMAGE_NODE_NAMES);
64
+ if (!found) {
65
+ return null;
66
+ }
67
+ const urlNode = found.getChild('URL');
68
+ if (!urlNode) {
69
+ // Reference-style `![alt][label]` has no URL child — out of scope.
70
+ return null;
71
+ }
72
+ const marks = found.getChildren('LinkMark');
73
+ if (marks.length < 2) {
74
+ return null;
75
+ }
76
+ const doc = state.doc;
77
+ const altText = unescapeMarkdownImageAlt(doc.sliceString(marks[0].to, marks[1].from));
78
+ const src = doc.sliceString(urlNode.from, urlNode.to);
79
+ return {
80
+ kind: 'markdown',
81
+ from: found.from,
82
+ to: found.to,
83
+ raw: doc.sliceString(found.from, found.to),
84
+ src,
85
+ altText,
86
+ width: undefined,
87
+ height: undefined,
88
+ position: 'inline'
89
+ };
90
+ }
91
+ function parseHtmlImageAt(state, offset) {
92
+ const container = resolveAncestorNode(state, offset, HTML_CONTAINER_NODE_NAMES);
93
+ if (!container) {
94
+ return null;
95
+ }
96
+ const doc = state.doc;
97
+ const containerText = doc.sliceString(container.from, container.to);
98
+ // `<p align="...">` wrapping is checked against the whole block first,
99
+ // independent of exactly where within it `offset` lands — the wrapper is
100
+ // just position styling, so a click anywhere in the block (including on
101
+ // the <p> tag itself, not only the nested <img>) should hit the image.
102
+ if (container.name === 'HTMLBlock') {
103
+ const wrapperMatch = WRAP_P_RE.exec(containerText.trim());
104
+ if (wrapperMatch) {
105
+ IMG_TAG_RE.lastIndex = 0;
106
+ const imgMatch = IMG_TAG_RE.exec(containerText);
107
+ const attrs = imgMatch ? parseHtmlAttributes(imgMatch[0]) : null;
108
+ const src = attrs?.get('src');
109
+ if (attrs && src) {
110
+ const align = (wrapperMatch[1] ?? wrapperMatch[2] ?? wrapperMatch[3] ?? '').toLowerCase();
111
+ const position = align === 'left' || align === 'center' || align === 'right' ? align : 'inline';
112
+ return {
113
+ kind: 'html',
114
+ from: container.from,
115
+ to: container.to,
116
+ raw: containerText,
117
+ src: unescapeHtml(src),
118
+ altText: unescapeHtml(attrs.get('alt') ?? ''),
119
+ width: parseDim(attrs.get('width')),
120
+ height: parseDim(attrs.get('height')),
121
+ position
122
+ };
123
+ }
124
+ }
125
+ }
126
+ // Not (or not validly) a <p align> wrapper — fall back to locating the
127
+ // specific <img> tag offset lands on (needed for inline HTMLTag, and for
128
+ // an HTMLBlock containing more than one raw <img>).
129
+ IMG_TAG_RE.lastIndex = 0;
130
+ let match;
131
+ let hit = null;
132
+ while ((match = IMG_TAG_RE.exec(containerText))) {
133
+ const absFrom = container.from + match.index;
134
+ const absTo = absFrom + match[0].length;
135
+ if (offset >= absFrom && offset <= absTo) {
136
+ hit = { text: match[0], from: absFrom, to: absTo };
137
+ break;
138
+ }
139
+ }
140
+ if (!hit) {
141
+ return null;
142
+ }
143
+ const attrs = parseHtmlAttributes(hit.text);
144
+ const src = attrs.get('src');
145
+ if (!src) {
146
+ return null;
147
+ }
148
+ const width = parseDim(attrs.get('width'));
149
+ const height = parseDim(attrs.get('height'));
150
+ const altText = unescapeHtml(attrs.get('alt') ?? '');
151
+ const imgAlign = attrs.get('align')?.toLowerCase();
152
+ const position = imgAlign === 'left' ? 'wrap-left' : imgAlign === 'right' ? 'wrap-right' : 'inline';
153
+ return {
154
+ kind: 'html',
155
+ from: hit.from,
156
+ to: hit.to,
157
+ raw: hit.text,
158
+ src: unescapeHtml(src),
159
+ altText,
160
+ width,
161
+ height,
162
+ position
163
+ };
164
+ }
165
+ /** Finds the image reference (Markdown or raw HTML) enclosing `offset`, if any. */
166
+ export function findImageReferenceAtOffset(state, offset) {
167
+ return parseMarkdownImageAt(state, offset) ?? parseHtmlImageAt(state, offset);
168
+ }
169
+ /**
170
+ * Formats a decision as replacement text for an existing image's exact
171
+ * range. Unlike `formatImageInsertMarkdown`, this never pads with
172
+ * surrounding blank lines — the caller replaces an already-delimited
173
+ * `[from, to)` span, not inserting at an arbitrary cursor position.
174
+ */
175
+ export function formatImageEditMarkdown(src, decision) {
176
+ if (decision.mode === 'html') {
177
+ const attrs = [`src="${escapeHtml(src)}"`, `alt="${escapeHtml(decision.altText)}"`];
178
+ if (decision.width) {
179
+ attrs.push(`width="${decision.width}"`);
180
+ }
181
+ if (decision.height) {
182
+ attrs.push(`height="${decision.height}"`);
183
+ }
184
+ if (decision.position === 'wrap-left' || decision.position === 'wrap-right') {
185
+ attrs.push(`align="${decision.position === 'wrap-left' ? 'left' : 'right'}"`);
186
+ }
187
+ const image = `<img ${attrs.join(' ')}>`;
188
+ if (decision.position === 'left' || decision.position === 'center' || decision.position === 'right') {
189
+ return `<p align="${decision.position}">${image}</p>`;
190
+ }
191
+ return image;
192
+ }
193
+ return `![${escapeMarkdownImageAlt(decision.altText)}](${src})`;
194
+ }
195
+ //# sourceMappingURL=image-edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-edit.js","sourceRoot":"","sources":["../src/image-edit.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,8 +3,10 @@ export * from './archive-utils.js';
3
3
  export * from './asset-cache.js';
4
4
  export * from './browser.js';
5
5
  export * from './diff.js';
6
+ export * from './mdz-archive.worker-client.js';
6
7
  export * from './metadata.js';
7
8
  export * from './rendering.js';
9
+ export * from './stats.js';
8
10
  export * from './theme.js';
9
11
  export * from './view.js';
10
12
  export * from './workspace.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -2,8 +2,10 @@ export * from './archive-utils.js';
2
2
  export * from './asset-cache.js';
3
3
  export * from './browser.js';
4
4
  export * from './diff.js';
5
+ export * from './mdz-archive.worker-client.js';
5
6
  export * from './metadata.js';
6
7
  export * from './rendering.js';
8
+ export * from './stats.js';
7
9
  export * from './theme.js';
8
10
  export * from './view.js';
9
11
  export * from './workspace.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  export declare const MDZIP_RUNTIME_LIBRARIES: readonly [{
2
2
  readonly name: "@mdzip/editor";
3
- readonly version: "1.3.21";
3
+ readonly version: "1.4.0";
4
4
  readonly repositoryUrl: "https://github.com/mdzip-project/mdzip-editor";
5
5
  readonly description: "MDZip workspace engine and browser UI.";
6
6
  }, {
7
7
  readonly name: "@mdzip/core-js";
8
- readonly version: "1.3.3";
8
+ readonly version: "1.5.0";
9
9
  readonly repositoryUrl: "https://github.com/mdzip-project/mdzip-core-js";
10
10
  readonly description: "MDZip archive reading, writing, and validation.";
11
11
  }, {
@@ -2,13 +2,13 @@
2
2
  export const MDZIP_RUNTIME_LIBRARIES = [
3
3
  {
4
4
  "name": "@mdzip/editor",
5
- "version": "1.3.21",
5
+ "version": "1.4.0",
6
6
  "repositoryUrl": "https://github.com/mdzip-project/mdzip-editor",
7
7
  "description": "MDZip workspace engine and browser UI."
8
8
  },
9
9
  {
10
10
  "name": "@mdzip/core-js",
11
- "version": "1.3.3",
11
+ "version": "1.5.0",
12
12
  "repositoryUrl": "https://github.com/mdzip-project/mdzip-core-js",
13
13
  "description": "MDZip archive reading, writing, and validation."
14
14
  },
@@ -1 +1 @@
1
- {"version":3,"file":"library-info.js","sourceRoot":"","sources":["../src/library-info.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC;QACE,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,+CAA+C;QAChE,aAAa,EAAE,wCAAwC;KACxD;IACD;QACE,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,gDAAgD;QACjE,aAAa,EAAE,iDAAiD;KACjE;IACD;QACE,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,mCAAmC;QACpD,aAAa,EAAE,qCAAqC;KACrD;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,oCAAoC;QACrD,aAAa,EAAE,+BAA+B;KAC/C;IACD;QACE,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,qCAAqC;QACtD,aAAa,EAAE,oBAAoB;KACpC;IACD;QACE,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,6CAA6C;QAC9D,aAAa,EAAE,iCAAiC;KACjD;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,wCAAwC;QACzD,aAAa,EAAE,kBAAkB;KAClC;CACO,CAAC"}
1
+ {"version":3,"file":"library-info.js","sourceRoot":"","sources":["../src/library-info.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC;QACE,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,+CAA+C;QAChE,aAAa,EAAE,wCAAwC;KACxD;IACD;QACE,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,gDAAgD;QACjE,aAAa,EAAE,iDAAiD;KACjE;IACD;QACE,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,mCAAmC;QACpD,aAAa,EAAE,qCAAqC;KACrD;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,oCAAoC;QACrD,aAAa,EAAE,+BAA+B;KAC/C;IACD;QACE,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,qCAAqC;QACtD,aAAa,EAAE,oBAAoB;KACpC;IACD;QACE,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,6CAA6C;QAC9D,aAAa,EAAE,iCAAiC;KACjD;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,wCAAwC;QACzD,aAAa,EAAE,kBAAkB;KAClC;CACO,CAAC"}