docxodus 7.1.0 → 8.0.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 (80) hide show
  1. package/dist/docxodus.worker.js +2 -2
  2. package/dist/docxodus.worker.js.map +1 -1
  3. package/dist/editor-headerfooter.d.ts +130 -0
  4. package/dist/editor-headerfooter.d.ts.map +1 -0
  5. package/dist/editor-headerfooter.js +414 -0
  6. package/dist/editor-headerfooter.js.map +1 -0
  7. package/dist/editor.bundle.js +1075 -81
  8. package/dist/editor.d.ts +82 -4
  9. package/dist/editor.d.ts.map +1 -1
  10. package/dist/editor.js +304 -63
  11. package/dist/editor.js.map +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +3 -4
  14. package/dist/index.js.map +1 -1
  15. package/dist/pagination.bundle.js +480 -19
  16. package/dist/pagination.d.ts +81 -0
  17. package/dist/pagination.d.ts.map +1 -1
  18. package/dist/pagination.js +528 -26
  19. package/dist/pagination.js.map +1 -1
  20. package/dist/react.d.ts +3 -1
  21. package/dist/react.d.ts.map +1 -1
  22. package/dist/react.js +6 -4
  23. package/dist/react.js.map +1 -1
  24. package/dist/session.bundle.js +15 -0
  25. package/dist/session.d.ts +13 -0
  26. package/dist/session.d.ts.map +1 -1
  27. package/dist/session.js +15 -0
  28. package/dist/session.js.map +1 -1
  29. package/dist/types.d.ts +47 -10
  30. package/dist/types.d.ts.map +1 -1
  31. package/dist/types.js +9 -11
  32. package/dist/types.js.map +1 -1
  33. package/dist/wasm/_framework/Docxodus.wasm +0 -0
  34. package/dist/wasm/_framework/DocxodusWasm.wasm +0 -0
  35. package/dist/wasm/_framework/System.Collections.Concurrent.wasm +0 -0
  36. package/dist/wasm/_framework/System.Collections.Immutable.wasm +0 -0
  37. package/dist/wasm/_framework/System.Collections.NonGeneric.wasm +0 -0
  38. package/dist/wasm/_framework/System.Collections.Specialized.wasm +0 -0
  39. package/dist/wasm/_framework/System.Collections.wasm +0 -0
  40. package/dist/wasm/_framework/System.ComponentModel.Primitives.wasm +0 -0
  41. package/dist/wasm/_framework/System.ComponentModel.TypeConverter.wasm +0 -0
  42. package/dist/wasm/_framework/System.ComponentModel.wasm +0 -0
  43. package/dist/wasm/_framework/System.Console.wasm +0 -0
  44. package/dist/wasm/_framework/System.Diagnostics.Process.wasm +0 -0
  45. package/dist/wasm/_framework/System.IO.Compression.wasm +0 -0
  46. package/dist/wasm/_framework/System.IO.Pipelines.wasm +0 -0
  47. package/dist/wasm/_framework/System.Linq.Expressions.wasm +0 -0
  48. package/dist/wasm/_framework/System.Linq.wasm +0 -0
  49. package/dist/wasm/_framework/System.Memory.wasm +0 -0
  50. package/dist/wasm/_framework/System.Net.Http.wasm +0 -0
  51. package/dist/wasm/_framework/System.Net.Primitives.wasm +0 -0
  52. package/dist/wasm/_framework/System.ObjectModel.wasm +0 -0
  53. package/dist/wasm/_framework/System.Private.CoreLib.wasm +0 -0
  54. package/dist/wasm/_framework/System.Private.Uri.wasm +0 -0
  55. package/dist/wasm/_framework/System.Private.Xml.Linq.wasm +0 -0
  56. package/dist/wasm/_framework/System.Private.Xml.wasm +0 -0
  57. package/dist/wasm/_framework/System.Runtime.InteropServices.JavaScript.wasm +0 -0
  58. package/dist/wasm/_framework/System.Runtime.wasm +0 -0
  59. package/dist/wasm/_framework/System.Security.Cryptography.wasm +0 -0
  60. package/dist/wasm/_framework/System.Text.Encoding.Extensions.wasm +0 -0
  61. package/dist/wasm/_framework/System.Text.Encodings.Web.wasm +0 -0
  62. package/dist/wasm/_framework/System.Text.Json.wasm +0 -0
  63. package/dist/wasm/_framework/System.Text.RegularExpressions.wasm +0 -0
  64. package/dist/wasm/_framework/System.Threading.Thread.wasm +0 -0
  65. package/dist/wasm/_framework/System.Threading.wasm +0 -0
  66. package/dist/wasm/_framework/System.Xml.Linq.wasm +0 -0
  67. package/dist/wasm/_framework/System.Xml.ReaderWriter.wasm +0 -0
  68. package/dist/wasm/_framework/System.Xml.XDocument.wasm +0 -0
  69. package/dist/wasm/_framework/System.Xml.XPath.XDocument.wasm +0 -0
  70. package/dist/wasm/_framework/System.Xml.XPath.wasm +0 -0
  71. package/dist/wasm/_framework/System.wasm +0 -0
  72. package/dist/wasm/_framework/dotnet.boot.js +41 -41
  73. package/dist/wasm/_framework/dotnet.js +1 -1
  74. package/dist/wasm/_framework/dotnet.js.map +1 -1
  75. package/dist/wasm/_framework/dotnet.native.js +3 -3
  76. package/dist/wasm/_framework/dotnet.native.wasm +0 -0
  77. package/dist/wasm/_framework/dotnet.runtime.js +1 -1
  78. package/dist/wasm/_framework/dotnet.runtime.js.map +1 -1
  79. package/dist/wasm/index.html +2 -1
  80. package/package.json +1 -1
@@ -120,7 +120,7 @@ function handleCompare(request) {
120
120
  const options = request.options;
121
121
  try {
122
122
  let result;
123
- const engine = options?.engine ?? 0 /* WmlComparer */;
123
+ const engine = options?.engine ?? 1 /* DocxDiff */;
124
124
  if (options?.detailThreshold !== void 0 || options?.caseInsensitive) {
125
125
  result = exports.DocumentComparer.CompareDocumentsWithOptions(
126
126
  request.originalBytes,
@@ -151,7 +151,7 @@ function handleCompareToHtml(request) {
151
151
  const options = request.options;
152
152
  try {
153
153
  const renderTrackedChanges = options?.renderTrackedChanges ?? true;
154
- const engine = options?.engine ?? 0 /* WmlComparer */;
154
+ const engine = options?.engine ?? 1 /* DocxDiff */;
155
155
  const result = exports.DocumentComparer.CompareDocumentsToHtmlWithOptions(
156
156
  request.originalBytes,
157
157
  request.modifiedBytes,
@@ -1 +1 @@
1
- {"version":3,"file":"docxodus.worker.js","sourceRoot":"","sources":["../src/docxodus.worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docxodus.worker.js","sourceRoot":"","sources":["../src/docxodus.worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * HeaderFooterRegion — the DocxEditor's docked header/footer editing bands.
3
+ *
4
+ * Header and footer stories live in their own OOXML parts (HeaderPart/FooterPart) *outside*
5
+ * the body, so they cannot be another block in the body flow. This module renders them as two
6
+ * docked bands — one above the body, one below — each composed PER STORY PARAGRAPH via the
7
+ * session-attached `RenderBlockHtml`, which resolves `hdr`/`ftr` anchors natively.
8
+ *
9
+ * Using the same renderer for first paint and for the post-edit incremental swap means there is
10
+ * no fidelity drift between them. It is also the only option that works in continuous mode at
11
+ * all: the editor's full-document render only asks for headers/footers in paginated mode, and it
12
+ * never stamps `data-anchor` inside header/footer parts (Unids are assigned to the main document
13
+ * part only). In paginated mode the page boxes additionally clone one header node onto every
14
+ * page, so page-margin nodes could never be uniquely addressable — bands keep exactly one DOM
15
+ * node per story paragraph.
16
+ *
17
+ * Once rendered, a story paragraph is an ORDINARY editable block: DocxSession's anchor
18
+ * resolution indexes every scope and routes by part, so ReplaceText/ApplyFormat/SetParagraphFormat
19
+ * all accept a `p:hdr1:<unid>` anchor. The editor wires band blocks with the same `wireBlock` it
20
+ * uses for the body, which is why the whole ribbon works inside a band with no new command code.
21
+ */
22
+ import type { HeaderFooterKind } from "./types.js";
23
+ /** Which of the two bands an operation targets. */
24
+ export type BandWhich = "header" | "footer";
25
+ /** The bridge slice the region needs. Structurally satisfied by `DocxEditorExports.DocxSessionBridge`;
26
+ * declared locally so this module and `editor.ts` don't import each other. */
27
+ export interface HeaderFooterBridge {
28
+ Project: (handle: number) => string;
29
+ GetSectionInfo: (handle: number, anchorId: string) => string;
30
+ SetHeaderText: (handle: number, anchor: string, kind: string, markdown: string) => string;
31
+ SetFooterText: (handle: number, anchor: string, kind: string, markdown: string) => string;
32
+ InsertPageNumberField: (handle: number, anchor: string, field: string) => string;
33
+ EnsureHeaderFooterVisible: (handle: number, anchor: string, kind: string) => string;
34
+ RenderBlockHtml: (handle: number, anchorId: string, cssPrefix: string, fabricateClasses: boolean) => string;
35
+ }
36
+ export interface HeaderFooterRegionCallbacks {
37
+ /** Wire a freshly rendered story paragraph as an editable block (DocxEditor.wireBlock). */
38
+ wireBlock: (el: HTMLElement) => void;
39
+ /** Rebuild the editor's unid → full-anchor map (a seed adds a part, changing the projection). */
40
+ refreshAnchorMap: () => void;
41
+ }
42
+ export interface HeaderFooterRegionOptions {
43
+ cssPrefix: string;
44
+ fabricateClasses: boolean;
45
+ }
46
+ export declare class HeaderFooterRegion {
47
+ readonly headerBand: HTMLElement;
48
+ readonly footerBand: HTMLElement;
49
+ private readonly bridge;
50
+ private readonly handle;
51
+ private readonly options;
52
+ private readonly callbacks;
53
+ /** The body anchor whose section the bands currently describe (needed to seed a story). */
54
+ private bodyAnchorId;
55
+ private sectionInfo;
56
+ /** Memoized body anchor → governing sectionUnid, so repeat focus costs no bridge call. */
57
+ private readonly sectionOfAnchor;
58
+ private readonly kinds;
59
+ constructor(bridge: HeaderFooterBridge, handle: number, options: HeaderFooterRegionOptions, callbacks: HeaderFooterRegionCallbacks);
60
+ /**
61
+ * Point the bands at the section governing `bodyAnchorId` and repaint if it changed.
62
+ * Cheap to call on every focus change: the anchor → section lookup is memoized, and an
63
+ * unchanged `sectionUnid` returns without touching the DOM (so it never clobbers the
64
+ * user's kind selection).
65
+ */
66
+ syncToBody(bodyAnchorId: string | null): void;
67
+ /** Repaint one band from the live session. */
68
+ refresh(which: BandWhich): void;
69
+ /** Repaint both bands from the live session (after a remount, undo/redo, or section change). */
70
+ refreshAll(): void;
71
+ /** Select (and, if absent, create) the story kind a band edits, and make it render. */
72
+ setKind(which: BandWhich, kind: HeaderFooterKind): void;
73
+ /** The kind a band is currently editing. */
74
+ kindOf(which: BandWhich): HeaderFooterKind;
75
+ /** Append a PAGE / NUMPAGES field to the story paragraph addressed by `anchorId`. */
76
+ insertPageNumber(which: BandWhich, anchorId: string, field: "currentPage" | "totalPages"): boolean;
77
+ /** Insert a page number into a band's own target paragraph (focused, else last). Seeds the
78
+ * story first if the band's selected kind has none, so the command is never a silent no-op. */
79
+ insertPageNumberInBand(which: BandWhich, field: "currentPage" | "totalPages"): boolean;
80
+ /** The band element containing `node`, or null. */
81
+ bandOf(node: Node | null): HTMLElement | null;
82
+ /** The block-list root (a band's story container) owning `node`, or null. */
83
+ blockRootOf(node: Node | null): HTMLElement | null;
84
+ /** True when `node` is inside either band (including its chrome). */
85
+ contains(node: Node | null): boolean;
86
+ /** `"header"` / `"footer"` for a band element produced by this region. */
87
+ whichOf(band: HTMLElement): BandWhich;
88
+ private readSectionInfo;
89
+ private refsFor;
90
+ /** The reference supplying `kind` for this band — possibly inherited from an earlier section. */
91
+ private refFor;
92
+ /** URI of the part supplying `kind` for this band, or null when the story doesn't exist. */
93
+ private partUriFor;
94
+ /** Full anchor ids of the story paragraphs held in `partUri`, in document order. */
95
+ private storyAnchors;
96
+ /**
97
+ * Create an empty story for `kind`. Seeding happens the moment a kind is selected rather than
98
+ * lazily on first keystroke: an absent story renders no contenteditable element, so there
99
+ * would be nothing to click into.
100
+ */
101
+ private seedStory;
102
+ private bandFor;
103
+ private buildBand;
104
+ /**
105
+ * Which story paragraph a page-number insert targets: the last one the user focused in this
106
+ * band if it is still attached, else the band's last paragraph (Word's convention — the page
107
+ * number goes at the end of the footer line).
108
+ */
109
+ private pageNumberTarget;
110
+ private renderBand;
111
+ /**
112
+ * Mark a story paragraph as belonging to this region. The full anchor id is stamped alongside
113
+ * `data-anchor` (which carries only the bare unid, matching the body's convention) so band
114
+ * chrome can address the block without going through the editor's unid map. Called on first
115
+ * render AND after an incremental swap, which replaces the DOM node.
116
+ */
117
+ adoptBlock(el: HTMLElement, anchorId: string): void;
118
+ private renderStoryBlock;
119
+ private placeholder;
120
+ /**
121
+ * Surface the caveat that comes with the selected kind. Turning on first/even means those pages
122
+ * stop using the Default stories entirely, which bites hardest on the OTHER band: enabling an
123
+ * even header with no even footer leaves even pages footer-less, and enabling a first-page
124
+ * header with an empty first-page footer leaves page 1 footer-less. The note is shown whenever
125
+ * first/even is selected (the behavior change is real either way); the fix button appears only
126
+ * when the counterpart story is missing entirely, which is what a user almost always wants next.
127
+ */
128
+ private renderKindWarning;
129
+ }
130
+ //# sourceMappingURL=editor-headerfooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-headerfooter.d.ts","sourceRoot":"","sources":["../src/editor-headerfooter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,414 @@
1
+ /**
2
+ * HeaderFooterRegion — the DocxEditor's docked header/footer editing bands.
3
+ *
4
+ * Header and footer stories live in their own OOXML parts (HeaderPart/FooterPart) *outside*
5
+ * the body, so they cannot be another block in the body flow. This module renders them as two
6
+ * docked bands — one above the body, one below — each composed PER STORY PARAGRAPH via the
7
+ * session-attached `RenderBlockHtml`, which resolves `hdr`/`ftr` anchors natively.
8
+ *
9
+ * Using the same renderer for first paint and for the post-edit incremental swap means there is
10
+ * no fidelity drift between them. It is also the only option that works in continuous mode at
11
+ * all: the editor's full-document render only asks for headers/footers in paginated mode, and it
12
+ * never stamps `data-anchor` inside header/footer parts (Unids are assigned to the main document
13
+ * part only). In paginated mode the page boxes additionally clone one header node onto every
14
+ * page, so page-margin nodes could never be uniquely addressable — bands keep exactly one DOM
15
+ * node per story paragraph.
16
+ *
17
+ * Once rendered, a story paragraph is an ORDINARY editable block: DocxSession's anchor
18
+ * resolution indexes every scope and routes by part, so ReplaceText/ApplyFormat/SetParagraphFormat
19
+ * all accept a `p:hdr1:<unid>` anchor. The editor wires band blocks with the same `wireBlock` it
20
+ * uses for the body, which is why the whole ribbon works inside a band with no new command code.
21
+ */
22
+ const KIND_LABELS = [
23
+ { value: "default", label: "Default" },
24
+ { value: "first", label: "First page" },
25
+ { value: "even", label: "Even pages" },
26
+ ];
27
+ /**
28
+ * Verbatim from docs/architecture/docx_mutation_api.md. `w:evenAndOddHeaders` is set on the
29
+ * SETTINGS part, so it is document-global and governs footers as well as headers: once set,
30
+ * even pages stop inheriting the Default stories entirely. A demo user who creates only an
31
+ * even header hits this immediately and sees their footer vanish on page 2.
32
+ */
33
+ const EVEN_WARNING = "w:evenAndOddHeaders is document-global and governs footers too — even pages stop " +
34
+ "inheriting the Default stories, so a section with only a Default footer shows no footer " +
35
+ "at all on even pages.";
36
+ /**
37
+ * `w:titlePg` is per-section but has the same shape of surprise: once set, page 1 uses its OWN
38
+ * header AND footer, so an empty first-page footer means page 1 shows no footer even though the
39
+ * Default one is populated.
40
+ */
41
+ const FIRST_WARNING = "w:titlePg makes page 1 use its own first-page header AND footer instead of the Default " +
42
+ "ones, so an empty first-page footer leaves page 1 with no footer.";
43
+ /** Kinds/scopes the markdown projection addresses as editable text blocks. */
44
+ const STORY_BLOCK_KINDS = new Set(["p", "h", "li"]);
45
+ export class HeaderFooterRegion {
46
+ constructor(bridge, handle, options, callbacks) {
47
+ /** The body anchor whose section the bands currently describe (needed to seed a story). */
48
+ this.bodyAnchorId = null;
49
+ this.sectionInfo = null;
50
+ /** Memoized body anchor → governing sectionUnid, so repeat focus costs no bridge call. */
51
+ this.sectionOfAnchor = new Map();
52
+ this.kinds = {
53
+ header: "default",
54
+ footer: "default",
55
+ };
56
+ this.bridge = bridge;
57
+ this.handle = handle;
58
+ this.options = options;
59
+ this.callbacks = callbacks;
60
+ this.headerBand = this.buildBand("header");
61
+ this.footerBand = this.buildBand("footer");
62
+ }
63
+ // ─── public surface ──────────────────────────────────────────────────
64
+ /**
65
+ * Point the bands at the section governing `bodyAnchorId` and repaint if it changed.
66
+ * Cheap to call on every focus change: the anchor → section lookup is memoized, and an
67
+ * unchanged `sectionUnid` returns without touching the DOM (so it never clobbers the
68
+ * user's kind selection).
69
+ */
70
+ syncToBody(bodyAnchorId) {
71
+ if (!bodyAnchorId)
72
+ return;
73
+ const cached = this.sectionOfAnchor.get(bodyAnchorId);
74
+ if (cached !== undefined && cached === this.sectionInfo?.sectionUnid) {
75
+ this.bodyAnchorId = bodyAnchorId; // same section — keep it as the seed target
76
+ return;
77
+ }
78
+ const info = this.readSectionInfo(bodyAnchorId);
79
+ if (!info)
80
+ return; // not a body anchor (or no sectPr) — leave the bands as they are
81
+ this.sectionOfAnchor.set(bodyAnchorId, info.sectionUnid);
82
+ const changed = info.sectionUnid !== this.sectionInfo?.sectionUnid;
83
+ this.bodyAnchorId = bodyAnchorId;
84
+ this.sectionInfo = info;
85
+ if (changed)
86
+ this.refreshAll();
87
+ }
88
+ /** Repaint one band from the live session. */
89
+ refresh(which) {
90
+ this.sectionInfo = this.bodyAnchorId ? this.readSectionInfo(this.bodyAnchorId) : null;
91
+ this.renderBand(which);
92
+ }
93
+ /** Repaint both bands from the live session (after a remount, undo/redo, or section change). */
94
+ refreshAll() {
95
+ this.renderBand("header");
96
+ this.renderBand("footer");
97
+ }
98
+ /** Select (and, if absent, create) the story kind a band edits, and make it render. */
99
+ setKind(which, kind) {
100
+ this.kinds[which] = kind;
101
+ const select = this.bandFor(which).querySelector("[data-hf-kind]");
102
+ if (select && select.value !== kind)
103
+ select.value = kind;
104
+ if (!this.partUriFor(which, kind))
105
+ this.seedStory(which, kind);
106
+ // Selecting first/even IS the user saying "use a different first/even page", so the section's
107
+ // visibility flag must be set even when the part already exists — seedStory (which sets it as
108
+ // a side effect of writing content) doesn't run then. Word leaves first/even parts behind when
109
+ // those options are switched off, so a real document commonly has the reference WITHOUT the
110
+ // flag; without this the typed story is saved but never rendered.
111
+ if (this.bodyAnchorId && kind !== "default") {
112
+ this.bridge.EnsureHeaderFooterVisible(this.handle, this.bodyAnchorId, kind);
113
+ }
114
+ this.refresh(which);
115
+ }
116
+ /** The kind a band is currently editing. */
117
+ kindOf(which) {
118
+ return this.kinds[which];
119
+ }
120
+ /** Append a PAGE / NUMPAGES field to the story paragraph addressed by `anchorId`. */
121
+ insertPageNumber(which, anchorId, field) {
122
+ const res = parseResult(this.bridge.InsertPageNumberField(this.handle, anchorId, field));
123
+ if (!res.success)
124
+ return false;
125
+ this.refresh(which);
126
+ return true;
127
+ }
128
+ /** Insert a page number into a band's own target paragraph (focused, else last). Seeds the
129
+ * story first if the band's selected kind has none, so the command is never a silent no-op. */
130
+ insertPageNumberInBand(which, field) {
131
+ if (!this.partUriFor(which, this.kinds[which])) {
132
+ this.seedStory(which, this.kinds[which]);
133
+ this.renderBand(which);
134
+ }
135
+ const target = this.pageNumberTarget(which);
136
+ return target ? this.insertPageNumber(which, target, field) : false;
137
+ }
138
+ /** The band element containing `node`, or null. */
139
+ bandOf(node) {
140
+ const el = node && node.nodeType === 1 ? node : node?.parentElement ?? null;
141
+ const band = el?.closest("[data-hf-band]") ?? null;
142
+ return band === this.headerBand || band === this.footerBand ? band : null;
143
+ }
144
+ /** The block-list root (a band's story container) owning `node`, or null. */
145
+ blockRootOf(node) {
146
+ const band = this.bandOf(node);
147
+ return band ? band.querySelector("[data-hf-body]") : null;
148
+ }
149
+ /** True when `node` is inside either band (including its chrome). */
150
+ contains(node) {
151
+ return this.bandOf(node) !== null;
152
+ }
153
+ /** `"header"` / `"footer"` for a band element produced by this region. */
154
+ whichOf(band) {
155
+ return band === this.footerBand ? "footer" : "header";
156
+ }
157
+ // ─── section + anchor resolution ─────────────────────────────────────
158
+ readSectionInfo(bodyAnchorId) {
159
+ try {
160
+ const raw = this.bridge.GetSectionInfo(this.handle, bodyAnchorId);
161
+ const parsed = JSON.parse(raw);
162
+ return parsed && typeof parsed.sectionUnid === "string" ? parsed : null;
163
+ }
164
+ catch {
165
+ return null;
166
+ }
167
+ }
168
+ refsFor(which) {
169
+ const info = this.sectionInfo;
170
+ if (!info)
171
+ return [];
172
+ return (which === "header" ? info.headerRefs : info.footerRefs) ?? [];
173
+ }
174
+ /** The reference supplying `kind` for this band — possibly inherited from an earlier section. */
175
+ refFor(which, kind) {
176
+ return this.refsFor(which).find((r) => r.kind === kind) ?? null;
177
+ }
178
+ /** URI of the part supplying `kind` for this band, or null when the story doesn't exist. */
179
+ partUriFor(which, kind) {
180
+ return this.refFor(which, kind)?.partUri ?? null;
181
+ }
182
+ /** Full anchor ids of the story paragraphs held in `partUri`, in document order. */
183
+ storyAnchors(partUri) {
184
+ let index;
185
+ try {
186
+ index = JSON.parse(this.bridge.Project(this.handle)).anchorIndex;
187
+ }
188
+ catch {
189
+ return [];
190
+ }
191
+ return Object.entries(index)
192
+ .filter(([, t]) => t.partUri === partUri && STORY_BLOCK_KINDS.has(t.kind))
193
+ .map(([id]) => id);
194
+ }
195
+ /**
196
+ * Create an empty story for `kind`. Seeding happens the moment a kind is selected rather than
197
+ * lazily on first keystroke: an absent story renders no contenteditable element, so there
198
+ * would be nothing to click into.
199
+ */
200
+ seedStory(which, kind) {
201
+ if (!this.bodyAnchorId)
202
+ return;
203
+ const set = which === "header" ? this.bridge.SetHeaderText : this.bridge.SetFooterText;
204
+ const res = parseResult(set(this.handle, this.bodyAnchorId, kind, ""));
205
+ if (!res.success)
206
+ return;
207
+ // A new part changes the projection (fresh hdr{N}/ftr{N} scope) and the section's refs.
208
+ this.callbacks.refreshAnchorMap();
209
+ this.sectionInfo = this.readSectionInfo(this.bodyAnchorId);
210
+ }
211
+ // ─── rendering ───────────────────────────────────────────────────────
212
+ bandFor(which) {
213
+ return which === "header" ? this.headerBand : this.footerBand;
214
+ }
215
+ buildBand(which) {
216
+ const band = document.createElement("div");
217
+ band.className = "docx-hf-band";
218
+ band.setAttribute("data-hf-band", which);
219
+ const chrome = document.createElement("div");
220
+ chrome.className = "docx-hf-chrome";
221
+ const label = document.createElement("span");
222
+ label.className = "docx-hf-label";
223
+ label.textContent = which === "header" ? "Header" : "Footer";
224
+ chrome.appendChild(label);
225
+ const kindSelect = document.createElement("select");
226
+ kindSelect.setAttribute("data-hf-kind", "");
227
+ kindSelect.title = "Which header/footer story to edit";
228
+ for (const k of KIND_LABELS) {
229
+ const opt = document.createElement("option");
230
+ opt.value = k.value;
231
+ opt.textContent = k.label;
232
+ kindSelect.appendChild(opt);
233
+ }
234
+ kindSelect.addEventListener("change", () => this.setKind(which, kindSelect.value));
235
+ chrome.appendChild(kindSelect);
236
+ const pageNum = document.createElement("select");
237
+ pageNum.setAttribute("data-hf-pagenum", "");
238
+ pageNum.title = "Insert a page-number field into the focused story paragraph";
239
+ for (const o of [
240
+ { value: "", label: "Page №…" },
241
+ { value: "currentPage", label: "Page number" },
242
+ { value: "totalPages", label: "Total pages" },
243
+ ]) {
244
+ const opt = document.createElement("option");
245
+ opt.value = o.value;
246
+ opt.textContent = o.label;
247
+ pageNum.appendChild(opt);
248
+ }
249
+ // The <select> steals focus from the story paragraph, collapsing the caret, so the target
250
+ // is resolved from the band's own blocks rather than from the editor's live selection.
251
+ pageNum.addEventListener("change", () => {
252
+ const field = pageNum.value;
253
+ pageNum.value = "";
254
+ if (field !== "currentPage" && field !== "totalPages")
255
+ return;
256
+ const target = this.pageNumberTarget(which);
257
+ if (target)
258
+ this.insertPageNumber(which, target, field);
259
+ });
260
+ chrome.appendChild(pageNum);
261
+ const inheritedNote = document.createElement("span");
262
+ inheritedNote.className = "docx-hf-inherited";
263
+ inheritedNote.setAttribute("data-hf-inherited-note", "");
264
+ inheritedNote.hidden = true;
265
+ chrome.appendChild(inheritedNote);
266
+ band.appendChild(chrome);
267
+ const warning = document.createElement("div");
268
+ warning.className = "docx-hf-warning";
269
+ warning.setAttribute("data-hf-warning", "");
270
+ warning.hidden = true;
271
+ band.appendChild(warning);
272
+ const body = document.createElement("div");
273
+ body.className = "docx-hf-body";
274
+ body.setAttribute("data-hf-body", "");
275
+ band.appendChild(body);
276
+ return band;
277
+ }
278
+ /**
279
+ * Which story paragraph a page-number insert targets: the last one the user focused in this
280
+ * band if it is still attached, else the band's last paragraph (Word's convention — the page
281
+ * number goes at the end of the footer line).
282
+ */
283
+ pageNumberTarget(which) {
284
+ const body = this.bandFor(which).querySelector("[data-hf-body]");
285
+ if (!body)
286
+ return null;
287
+ const focused = body.querySelector('[data-hf-focused="true"][data-hf-anchor]');
288
+ const blocks = Array.from(body.querySelectorAll("[data-hf-anchor]"));
289
+ const target = focused ?? blocks[blocks.length - 1];
290
+ return target?.getAttribute("data-hf-anchor") ?? null;
291
+ }
292
+ renderBand(which) {
293
+ const band = this.bandFor(which);
294
+ const body = band.querySelector("[data-hf-body]");
295
+ if (!body)
296
+ return;
297
+ const kind = this.kinds[which];
298
+ const select = band.querySelector("[data-hf-kind]");
299
+ if (select && select.value !== kind)
300
+ select.value = kind;
301
+ // A section that declares no reference of this kind shows the story it inherits from an
302
+ // earlier section. Say so: editing it changes BOTH sections, because they share one part.
303
+ const inherited = this.refFor(which, kind)?.inherited === true;
304
+ band.toggleAttribute("data-hf-inherited", inherited);
305
+ const note = band.querySelector("[data-hf-inherited-note]");
306
+ if (note) {
307
+ note.hidden = !inherited;
308
+ note.textContent = inherited ? "inherited from an earlier section" : "";
309
+ }
310
+ this.renderKindWarning(which);
311
+ body.innerHTML = "";
312
+ const partUri = this.partUriFor(which, kind);
313
+ if (!partUri) {
314
+ body.appendChild(this.placeholder(which, kind));
315
+ band.setAttribute("data-hf-empty", "true");
316
+ return;
317
+ }
318
+ band.removeAttribute("data-hf-empty");
319
+ const anchors = this.storyAnchors(partUri);
320
+ if (anchors.length === 0) {
321
+ body.appendChild(this.placeholder(which, kind));
322
+ return;
323
+ }
324
+ for (const anchorId of anchors) {
325
+ const el = this.renderStoryBlock(anchorId);
326
+ if (!el)
327
+ continue;
328
+ body.appendChild(el);
329
+ // Adopt BEFORE wiring: the editor resolves a block's anchor from `data-hf-anchor` first,
330
+ // because a story paragraph's content-addressed unid can collide with another part's.
331
+ this.adoptBlock(el, anchorId);
332
+ this.callbacks.wireBlock(el);
333
+ }
334
+ }
335
+ /**
336
+ * Mark a story paragraph as belonging to this region. The full anchor id is stamped alongside
337
+ * `data-anchor` (which carries only the bare unid, matching the body's convention) so band
338
+ * chrome can address the block without going through the editor's unid map. Called on first
339
+ * render AND after an incremental swap, which replaces the DOM node.
340
+ */
341
+ adoptBlock(el, anchorId) {
342
+ const body = this.blockRootOf(el);
343
+ if (!body)
344
+ return;
345
+ el.setAttribute("data-hf-anchor", anchorId);
346
+ if (el.dataset.hfAdopted === "true")
347
+ return;
348
+ el.dataset.hfAdopted = "true";
349
+ el.addEventListener("focus", () => {
350
+ body
351
+ .querySelectorAll("[data-hf-focused]")
352
+ .forEach((sib) => sib.removeAttribute("data-hf-focused"));
353
+ el.setAttribute("data-hf-focused", "true");
354
+ });
355
+ }
356
+ renderStoryBlock(anchorId) {
357
+ const html = this.bridge.RenderBlockHtml(this.handle, anchorId, this.options.cssPrefix, this.options.fabricateClasses);
358
+ if (html.charCodeAt(0) === 0x7b /* error object */)
359
+ return null;
360
+ return new DOMParser().parseFromString(html, "text/html").body
361
+ .firstElementChild;
362
+ }
363
+ placeholder(which, kind) {
364
+ const el = document.createElement("div");
365
+ el.className = "docx-hf-placeholder";
366
+ el.setAttribute("data-hf-placeholder", "");
367
+ const label = KIND_LABELS.find((k) => k.value === kind)?.label ?? kind;
368
+ el.textContent = `No ${label.toLowerCase()} ${which} — pick a kind to create one.`;
369
+ return el;
370
+ }
371
+ /**
372
+ * Surface the caveat that comes with the selected kind. Turning on first/even means those pages
373
+ * stop using the Default stories entirely, which bites hardest on the OTHER band: enabling an
374
+ * even header with no even footer leaves even pages footer-less, and enabling a first-page
375
+ * header with an empty first-page footer leaves page 1 footer-less. The note is shown whenever
376
+ * first/even is selected (the behavior change is real either way); the fix button appears only
377
+ * when the counterpart story is missing entirely, which is what a user almost always wants next.
378
+ */
379
+ renderKindWarning(which) {
380
+ const band = this.bandFor(which);
381
+ const warning = band.querySelector("[data-hf-warning]");
382
+ if (!warning)
383
+ return;
384
+ const kind = this.kinds[which];
385
+ if (kind === "default") {
386
+ warning.hidden = true;
387
+ warning.textContent = "";
388
+ return;
389
+ }
390
+ const other = which === "header" ? "footer" : "header";
391
+ warning.hidden = false;
392
+ warning.textContent = `${kind === "even" ? EVEN_WARNING : FIRST_WARNING} `;
393
+ if (this.partUriFor(other, kind))
394
+ return; // counterpart exists — nothing to offer
395
+ const fix = document.createElement("button");
396
+ fix.type = "button";
397
+ fix.setAttribute("data-hf-fix-counterpart", "");
398
+ fix.textContent = `Also create a ${kind === "even" ? "matching even" : "first-page"} ${other}`;
399
+ fix.addEventListener("click", () => {
400
+ this.setKind(other, kind);
401
+ this.renderKindWarning(which);
402
+ });
403
+ warning.appendChild(fix);
404
+ }
405
+ }
406
+ function parseResult(json) {
407
+ try {
408
+ return JSON.parse(json);
409
+ }
410
+ catch {
411
+ return { success: false };
412
+ }
413
+ }
414
+ //# sourceMappingURL=editor-headerfooter.js.map