docxodus 8.0.0 → 9.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 (46) hide show
  1. package/README.md +65 -24
  2. package/dist/editor-headerfooter.d.ts +39 -3
  3. package/dist/editor-headerfooter.d.ts.map +1 -1
  4. package/dist/editor-headerfooter.js +118 -2
  5. package/dist/editor-headerfooter.js.map +1 -1
  6. package/dist/editor-reconcile.d.ts +75 -0
  7. package/dist/editor-reconcile.d.ts.map +1 -0
  8. package/dist/editor-reconcile.js +125 -0
  9. package/dist/editor-reconcile.js.map +1 -0
  10. package/dist/editor.bundle.js +799 -42
  11. package/dist/editor.d.ts +121 -5
  12. package/dist/editor.d.ts.map +1 -1
  13. package/dist/editor.js +572 -31
  14. package/dist/editor.js.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/page-number-format.d.ts +22 -0
  19. package/dist/page-number-format.d.ts.map +1 -0
  20. package/dist/page-number-format.js +60 -0
  21. package/dist/page-number-format.js.map +1 -0
  22. package/dist/pagination.bundle.js +158 -21
  23. package/dist/pagination.d.ts +38 -0
  24. package/dist/pagination.d.ts.map +1 -1
  25. package/dist/pagination.js +181 -29
  26. package/dist/pagination.js.map +1 -1
  27. package/dist/session.bundle.js +226 -4
  28. package/dist/session.d.ts +147 -6
  29. package/dist/session.d.ts.map +1 -1
  30. package/dist/session.js +187 -4
  31. package/dist/session.js.map +1 -1
  32. package/dist/types.d.ts +191 -4
  33. package/dist/types.d.ts.map +1 -1
  34. package/dist/types.js.map +1 -1
  35. package/dist/wasm/_framework/Docxodus.wasm +0 -0
  36. package/dist/wasm/_framework/DocxodusWasm.wasm +0 -0
  37. package/dist/wasm/_framework/System.IO.Compression.wasm +0 -0
  38. package/dist/wasm/_framework/System.Linq.wasm +0 -0
  39. package/dist/wasm/_framework/System.Private.CoreLib.wasm +0 -0
  40. package/dist/wasm/_framework/System.Private.Xml.Linq.wasm +0 -0
  41. package/dist/wasm/_framework/System.Runtime.wasm +0 -0
  42. package/dist/wasm/_framework/System.Text.RegularExpressions.wasm +0 -0
  43. package/dist/wasm/_framework/dotnet.boot.js +10 -10
  44. package/dist/wasm/_framework/dotnet.native.js.symbols +2102 -2101
  45. package/dist/wasm/_framework/dotnet.native.wasm +0 -0
  46. package/package.json +17 -4
package/dist/session.js CHANGED
@@ -137,6 +137,39 @@ export class DocxSession {
137
137
  deleteTableColumn(cellAnchorId) {
138
138
  return JSON.parse(this.wasm.DeleteTableColumn(this.handle, cellAnchorId));
139
139
  }
140
+ /**
141
+ * Table styling, addressed by a cell-paragraph anchor — the post-insert counterpart of
142
+ * {@link insertTable}'s options (issue #315 Stage A). `setColumnWidths` retunes `w:tblGrid` +
143
+ * every row's cell width (one positive twip value per column) and pins the table to fixed
144
+ * layout, exactly as inserting with explicit `columnWidths` would.
145
+ */
146
+ setColumnWidths(cellAnchorId, widthsTwips) {
147
+ return JSON.parse(this.wasm.SetColumnWidths(this.handle, cellAnchorId, JSON.stringify(widthsTwips)));
148
+ }
149
+ /**
150
+ * Set the table-level borders (`w:tblPr/w:tblBorders`) of the table containing the anchor.
151
+ * Only the edges named by `spec.scope` are written; the rest are left untouched. Style
152
+ * `"none"` removes the targeted edges. Omitting `spec` writes a thin single border all round.
153
+ */
154
+ setTableBorders(cellAnchorId, spec) {
155
+ return JSON.parse(this.wasm.SetTableBorders(this.handle, cellAnchorId, spec ? JSON.stringify(spec) : ""));
156
+ }
157
+ /**
158
+ * Shade the cell containing the anchor — or, with scope `"row"`, every cell of its row
159
+ * (header-row banding). `fill` is a hex RRGGBB triplet (leading '#' tolerated) or `"auto"`;
160
+ * `null` removes the shading.
161
+ */
162
+ setCellShading(cellAnchorId, fill, scope = "cell") {
163
+ return JSON.parse(this.wasm.SetCellShading(this.handle, cellAnchorId, fill ?? "", scope));
164
+ }
165
+ /**
166
+ * Mark (or unmark) the row containing the anchor as a repeating header row
167
+ * (`w:trPr/w:tblHeader`), so a multi-page table re-shows it on every page. Word only honors
168
+ * the flag on a run of rows starting at the table's first row.
169
+ */
170
+ setRepeatHeaderRow(cellAnchorId, repeat) {
171
+ return JSON.parse(this.wasm.SetRepeatHeaderRow(this.handle, cellAnchorId, repeat));
172
+ }
140
173
  // ─── Headers / footers / page numbers ────────────────────────────────
141
174
  /**
142
175
  * Set the running header story for the section that owns `anchorId` (any body block in that
@@ -157,11 +190,39 @@ export class DocxSession {
157
190
  /**
158
191
  * Append a page-number field to the paragraph `anchorId` — typically a header/footer paragraph
159
192
  * returned by {@link setFooterText}/{@link setHeaderText}. `"currentPage"` emits a PAGE field,
160
- * `"totalPages"` a NUMPAGES field (native complex field with a cached "1"). Center it by setting
161
- * the paragraph alignment ({@link setParagraphFormat}). Returns the paragraph anchor in `modified`.
193
+ * `"totalPages"` a NUMPAGES field (native complex field with a cached result). Center it by
194
+ * setting the paragraph alignment ({@link setParagraphFormat}). Returns the paragraph anchor in
195
+ * `modified`.
196
+ *
197
+ * `format` writes the field's own `\*` general-formatting switch (`PAGE \* roman` → `i, ii, iii`).
198
+ * Omitting it — the default — emits a plain field, which is what Word inserts and what follows the
199
+ * SECTION's format ({@link setPageNumbering}). Prefer the section setting for ordinary page
200
+ * numbering: a switch here overrides it for this one field and keeps overriding it if the section
201
+ * later changes.
162
202
  */
163
- insertPageNumberField(anchorId, field = "currentPage") {
164
- return JSON.parse(this.wasm.InsertPageNumberField(this.handle, anchorId, field));
203
+ insertPageNumberField(anchorId, field = "currentPage", format) {
204
+ return JSON.parse(this.wasm.InsertPageNumberField(this.handle, anchorId, field, format ?? ""));
205
+ }
206
+ /**
207
+ * Set the page-numbering properties (`w:pgNumType`) of the section that owns `anchorId` (any body
208
+ * block in that section) — Word's *Format Page Numbers…* dialog: which number the section starts
209
+ * at and which format its pages use. Omitted fields on `op` are left unchanged, so the start can
210
+ * be set without disturbing the format and vice versa. Creates the element, and a trailing
211
+ * `w:sectPr`, if absent.
212
+ *
213
+ * Applying values the section already has is a successful no-op that does NOT consume undo
214
+ * history — safe to call from a dropdown's change handler.
215
+ */
216
+ setPageNumbering(anchorId, op) {
217
+ return JSON.parse(this.wasm.SetPageNumbering(this.handle, anchorId, JSON.stringify(op)));
218
+ }
219
+ /**
220
+ * Remove the section's page-numbering start/format: it reverts to continuing the previous
221
+ * section's numbering in Word's default `1, 2, 3`. Chapter-numbering attributes
222
+ * (`w:chapStyle`/`w:chapSep`) are preserved. A section with nothing to clear is a no-op.
223
+ */
224
+ clearPageNumbering(anchorId) {
225
+ return JSON.parse(this.wasm.ClearPageNumbering(this.handle, anchorId));
165
226
  }
166
227
  /**
167
228
  * Make the `kind` header/footer stories of the section that owns `anchorId` actually RENDER:
@@ -178,6 +239,98 @@ export class DocxSession {
178
239
  ensureHeaderFooterVisible(anchorId, kind) {
179
240
  return JSON.parse(this.wasm.EnsureHeaderFooterVisible(this.handle, anchorId, kind));
180
241
  }
242
+ // ─── Footnotes / endnotes ────────────────────────────────────────────
243
+ /**
244
+ * Create a footnote whose body is `markdown` and cite it from the body paragraph `anchorId`, at
245
+ * `characterOffset` characters into that paragraph's text (0 = before all text, text length =
246
+ * after all of it). On a document with no footnotes yet this also creates the footnotes part,
247
+ * Word's two reserved separator notes, the `FootnoteText`/`FootnoteReference` styles and the
248
+ * `w:footnotePr` settings declaration; otherwise the existing part is reused. The note id is
249
+ * allocated above every id already used in the package, so non-contiguous ids can't collide.
250
+ *
251
+ * Returns the created note anchors in `EditResult.created` — the definition (kind `fn`) and its
252
+ * paragraphs (kind `p`, scope `fn`) — so the note can immediately be edited with
253
+ * {@link replaceText} or removed with {@link deleteBlock} (which also drops the body reference).
254
+ *
255
+ * Body paragraphs only: Word does not allow a note reference inside a header/footer story or
256
+ * inside another note, so a non-body anchor fails with `anchorWrongKind`.
257
+ */
258
+ insertFootnote(anchorId, characterOffset, markdown) {
259
+ return JSON.parse(this.wasm.InsertFootnote(this.handle, anchorId, characterOffset, markdown));
260
+ }
261
+ /** Create an endnote — see {@link insertFootnote}; writes the endnotes part and a
262
+ * `w:endnoteReference`, and the created definition anchor has kind `en`. */
263
+ insertEndnote(anchorId, characterOffset, markdown) {
264
+ return JSON.parse(this.wasm.InsertEndnote(this.handle, anchorId, characterOffset, markdown));
265
+ }
266
+ // ─── Comments (issue #300) ───────────────────────────────────────────
267
+ /**
268
+ * Add a **native Word comment** (real `w:comment` markup, visible in Word/Google
269
+ * Docs/LibreOffice's Reviewing pane — not the {@link addAnnotation} overlay) on the body
270
+ * paragraph `anchorId`. `span` selects the commented character range; `null` comments the
271
+ * whole block. On a document with no comments yet this also creates the comments part and
272
+ * the `CommentText`/`CommentReference` styles. `opts.date` (ISO-8601) is written only when
273
+ * provided, keeping output deterministic by default.
274
+ *
275
+ * Returns the created definition anchor (kind `cmt`) and its paragraph anchors (kind `p`,
276
+ * scope `cmt`) in `EditResult.created`, so the comment can immediately be edited with
277
+ * {@link updateComment} or removed with {@link removeComment}.
278
+ *
279
+ * Body paragraphs only (Word has no comments-on-comments); a non-body anchor fails with
280
+ * `anchor_wrong_kind`, a zero-length span with `empty_comment_span`.
281
+ */
282
+ addComment(anchorId, span, author, markdown, opts) {
283
+ const spanJson = span ? JSON.stringify(span) : "";
284
+ return JSON.parse(this.wasm.AddComment(this.handle, anchorId, spanJson, author, opts?.initials ?? "", opts?.date ?? "", markdown));
285
+ }
286
+ /**
287
+ * Add a native Word reply to `parentCommentAnchorId`. It adds an adjacent reference and
288
+ * inherits the thread root's range through `w15:paraIdParent`; the required
289
+ * `commentsExtended.xml` and `commentsIds.xml` parts are created when the parent was flat.
290
+ */
291
+ addCommentReply(parentCommentAnchorId, author, markdown, opts) {
292
+ return JSON.parse(this.wasm.AddCommentReply(this.handle, parentCommentAnchorId, author, opts?.initials ?? "", opts?.date ?? "", markdown));
293
+ }
294
+ /** Replace a comment's body text, addressed by its definition anchor (kind `cmt`); the
295
+ * comment's author/initials/date are preserved, as is the last paragraph's `w14:paraId`
296
+ * (Word's reply-threading key). */
297
+ updateComment(commentAnchorId, markdown) {
298
+ return JSON.parse(this.wasm.UpdateComment(this.handle, commentAnchorId, markdown));
299
+ }
300
+ /** Resolve or reopen one comment (`false` reopens it). Flat comments are upgraded with the
301
+ * paraId-keyed metadata Word uses, and the operation is undoable. */
302
+ setCommentResolved(commentAnchorId, resolved) {
303
+ return JSON.parse(this.wasm.SetCommentResolved(this.handle, commentAnchorId, resolved));
304
+ }
305
+ /** Remove a comment: the definition, its body marker triple everywhere in the package, and
306
+ * any `commentsExtended`/`commentsIds` threading entries keyed by it. */
307
+ removeComment(commentAnchorId) {
308
+ return JSON.parse(this.wasm.RemoveComment(this.handle, commentAnchorId));
309
+ }
310
+ /** The document's native Word comments in comments-part order. */
311
+ listComments() {
312
+ return JSON.parse(this.wasm.ListComments(this.handle));
313
+ }
314
+ // ─── Tracked revisions (issue #318) ──────────────────────────────────
315
+ /** Markup-native tracked-revision listing, in document order across body, headers,
316
+ * footers, footnotes, and endnotes. Ids are stable while the underlying markup
317
+ * exists and address {@link acceptRevision}/{@link rejectRevision}; authors/dates
318
+ * are the markup's own (no accept/reject re-diff). */
319
+ listRevisions() {
320
+ return JSON.parse(this.wasm.ListRevisions(this.handle));
321
+ }
322
+ /** Accept ONE revision by the id {@link listRevisions} reported — insertions keep
323
+ * their content, deletions are carried out, a move materializes at its destination,
324
+ * a format change keeps the new properties. Undoable. */
325
+ acceptRevision(revisionId) {
326
+ return JSON.parse(this.wasm.AcceptRevision(this.handle, revisionId));
327
+ }
328
+ /** Reject ONE revision by id — the inverse of {@link acceptRevision}: insertions are
329
+ * removed, deleted content is restored, a move stays at its source, a format change
330
+ * restores the stored old properties. Undoable. */
331
+ rejectRevision(revisionId) {
332
+ return JSON.parse(this.wasm.RejectRevision(this.handle, revisionId));
333
+ }
181
334
  // ─── Tier C: formatting ──────────────────────────────────────────────
182
335
  applyFormat(anchorId, span, op) {
183
336
  const spanJson = span ? JSON.stringify(span) : "";
@@ -217,6 +370,25 @@ export class DocxSession {
217
370
  applyListFormat(anchorId, kind) {
218
371
  return JSON.parse(this.wasm.ApplyListFormat(this.handle, anchorId, kind));
219
372
  }
373
+ /** Apply one list format across the contiguous sibling run from `firstAnchorId` to
374
+ * `lastAnchorId` inclusive (either document order). Every member shares one `w:num`
375
+ * instance so the numbering sequence stays intact; the whole range is a single undo step. */
376
+ applyListFormatRange(firstAnchorId, lastAnchorId, kind) {
377
+ return JSON.parse(this.wasm.ApplyListFormatRange(this.handle, firstAnchorId, lastAnchorId, kind));
378
+ }
379
+ /** Restart the anchored list item's numbering at `value` — Word's *Set Numbering Value…*.
380
+ * Writes a `w:startOverride` on a dedicated `w:num` instance and repoints the anchored item
381
+ * plus every following member of its sequence, so a mid-list restart splits the sequence
382
+ * exactly like Word (earlier items keep their numbers, the tail continues from `value`). */
383
+ setListStartOverride(anchorId, value) {
384
+ return JSON.parse(this.wasm.SetListStartOverride(this.handle, anchorId, value));
385
+ }
386
+ /** Remove the numbering restart from the anchored item's whole sequence (the inverse of
387
+ * {@link setListStartOverride}); the sequence reverts to the definition's own start. A
388
+ * sequence with no override at the item's level is a successful no-op. */
389
+ clearListStartOverride(anchorId) {
390
+ return JSON.parse(this.wasm.ClearListStartOverride(this.handle, anchorId));
391
+ }
220
392
  // ─── Tier D: cell content ────────────────────────────────────────────
221
393
  replaceCellContent(cellAnchorId, markdown) {
222
394
  return JSON.parse(this.wasm.ReplaceCellContent(this.handle, cellAnchorId, markdown));
@@ -619,6 +791,17 @@ export class DocxSession {
619
791
  return JSON.parse(this.wasm.MoveAnnotation(this.handle, annotationId, newAnchorId, spanJson));
620
792
  }
621
793
  // ─── Lifecycle ───────────────────────────────────────────────────────
794
+ /**
795
+ * Switch how subsequent mutations are recorded (issue #304). Session configuration,
796
+ * not a document mutation: not undoable, and already-applied markup is never touched.
797
+ */
798
+ setTrackedChanges(mode) {
799
+ this.wasm.SetTrackedChanges(this.handle, mode);
800
+ }
801
+ /** Author stamped on subsequent tracked-change markup; `null` restores the "docxodus" default. */
802
+ setRevisionAuthor(author) {
803
+ this.wasm.SetRevisionAuthor(this.handle, author ?? "");
804
+ }
622
805
  undo() {
623
806
  return this.wasm.Undo(this.handle);
624
807
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -783,6 +783,24 @@ export interface DocxodusWasmExports {
783
783
  CreateBlankDocx: () => Uint8Array;
784
784
  Project: (handle: number) => string;
785
785
  ProjectAnchor: (handle: number, anchorId: string, depth: number) => string;
786
+ /** Ordered top-level render units per scope container (JSON {@link RenderPlan}) —
787
+ * what the editor's incremental reconciler diffs its DOM against. Optional:
788
+ * absent on older WASM bundles. */
789
+ ListBlocks?: (handle: number) => string;
790
+ /** Citation-ordered footnotes/endnotes (JSON {@link NoteListEntry}[]) — the
791
+ * id↔ordinal authority for renumbering rendered note chrome. Optional:
792
+ * absent on older WASM bundles. */
793
+ ListNotes?: (handle: number, endnotes: boolean) => string;
794
+ /** The anchor index alone as `{"anchorIndex":{…}}` — the editor's per-op
795
+ * anchor-map refresh without marshaling the whole markdown projection.
796
+ * Optional: absent on older WASM bundles. */
797
+ ListAnchors?: (handle: number) => string;
798
+ /** Batch block render: `anchorIdsJson` is a JSON string array; returns a JSON
799
+ * object mapping each id to its HTML element (null when unresolvable), or
800
+ * `{"error": …}` on total failure — parse and check for `error`. One throwaway
801
+ * doc + one converter run for the whole batch, with real sibling context and
802
+ * true list-marker numbers. Optional: absent on older WASM bundles. */
803
+ RenderBlocksHtml?: (handle: number, anchorIdsJson: string, cssPrefix: string, fabricateClasses: boolean) => string;
786
804
  RenderBlockHtml: (handle: number, anchorId: string, cssPrefix: string, fabricateClasses: boolean) => string;
787
805
  RenderHtml: (handle: number, cssPrefix: string, fabricateClasses: boolean, paginated: boolean, scale: number) => string;
788
806
  ReplaceText: (handle: number, anchor: string, md: string) => string;
@@ -798,10 +816,27 @@ export interface DocxodusWasmExports {
798
816
  InsertTableColumn: (handle: number, cellAnchor: string, pos: string) => string;
799
817
  DeleteTableRow: (handle: number, cellAnchor: string) => string;
800
818
  DeleteTableColumn: (handle: number, cellAnchor: string) => string;
819
+ SetColumnWidths: (handle: number, cellAnchor: string, widthsJson: string) => string;
820
+ SetTableBorders: (handle: number, cellAnchor: string, specJson: string) => string;
821
+ SetCellShading: (handle: number, cellAnchor: string, fill: string, scope: string) => string;
822
+ SetRepeatHeaderRow: (handle: number, cellAnchor: string, repeat: boolean) => string;
801
823
  SetHeaderText: (handle: number, anchor: string, kind: string, markdown: string) => string;
802
824
  SetFooterText: (handle: number, anchor: string, kind: string, markdown: string) => string;
803
- InsertPageNumberField: (handle: number, anchor: string, field: string) => string;
825
+ InsertPageNumberField: (handle: number, anchor: string, field: string, format: string) => string;
826
+ SetPageNumbering: (handle: number, anchor: string, opJson: string) => string;
827
+ ClearPageNumbering: (handle: number, anchor: string) => string;
804
828
  EnsureHeaderFooterVisible: (handle: number, anchor: string, kind: string) => string;
829
+ InsertFootnote: (handle: number, anchor: string, characterOffset: number, markdown: string) => string;
830
+ InsertEndnote: (handle: number, anchor: string, characterOffset: number, markdown: string) => string;
831
+ AddComment: (handle: number, anchor: string, spanJson: string, author: string, initials: string, date: string, markdown: string) => string;
832
+ AddCommentReply: (handle: number, parentCommentAnchor: string, author: string, initials: string, date: string, markdown: string) => string;
833
+ UpdateComment: (handle: number, commentAnchor: string, markdown: string) => string;
834
+ SetCommentResolved: (handle: number, commentAnchor: string, resolved: boolean) => string;
835
+ RemoveComment: (handle: number, commentAnchor: string) => string;
836
+ ListComments: (handle: number) => string;
837
+ ListRevisions: (handle: number) => string;
838
+ AcceptRevision: (handle: number, revisionId: string) => string;
839
+ RejectRevision: (handle: number, revisionId: string) => string;
805
840
  ApplyFormat: (handle: number, anchor: string, spanJson: string, opJson: string) => string;
806
841
  ApplyFormatBySubstring: (handle: number, anchor: string, substring: string, opJson: string) => string;
807
842
  SetParagraphStyle: (handle: number, anchor: string, styleId: string) => string;
@@ -809,6 +844,9 @@ export interface DocxodusWasmExports {
809
844
  SetListLevel: (handle: number, anchor: string, delta: number) => string;
810
845
  RemoveListMembership: (handle: number, anchor: string) => string;
811
846
  ApplyListFormat: (handle: number, anchor: string, kind: string) => string;
847
+ ApplyListFormatRange: (handle: number, firstAnchor: string, lastAnchor: string, kind: string) => string;
848
+ SetListStartOverride: (handle: number, anchor: string, value: number) => string;
849
+ ClearListStartOverride: (handle: number, anchor: string) => string;
812
850
  ReplaceCellContent: (handle: number, anchor: string, md: string) => string;
813
851
  RawGetXml: (handle: number, anchor: string) => string;
814
852
  RawInsertXml: (handle: number, anchor: string, pos: string, xml: string) => string;
@@ -843,10 +881,17 @@ export interface DocxodusWasmExports {
843
881
  MoveAnnotation: (handle: number, annotationId: string, newAnchorId: string, newSpanJson: string) => string;
844
882
  Undo: (handle: number) => boolean;
845
883
  Redo: (handle: number) => boolean;
884
+ SetTrackedChanges: (handle: number, mode: number) => void;
885
+ SetRevisionAuthor: (handle: number, author: string) => void;
846
886
  Save: (handle: number) => Uint8Array;
887
+ /** Save KEEPING the projector's `PtOpenXml:Unid` bookkeeping. Exists for the in-browser
888
+ * editor's remount, which re-renders these bytes and needs the anchors to survive the hop.
889
+ * Roughly 6x the document's size and read by no renderer — never hand it to a user; a
890
+ * save-to-disk wants {@link Save}. */
891
+ SaveWithAnchorIds: (handle: number) => Uint8Array;
847
892
  };
848
893
  }
849
- export type EditErrorCode = "anchor_not_found" | "anchor_wrong_kind" | "anchors_not_adjacent" | "session_disposed" | "malformed_markdown" | "unsupported_markdown_syntax" | "table_insert_not_supported" | "footnote_ref_not_supported" | "comment_marker_not_supported" | "image_insert_not_supported" | "anchor_token_in_payload" | "offset_out_of_range" | "invalid_position" | "unknown_style" | "invalid_list_level" | "malformed_xml" | "disallowed_namespace" | "incompatible_element_type" | "validation_failed" | "nothing_to_undo" | "nothing_to_redo" | "internal_error";
894
+ export type EditErrorCode = "anchor_not_found" | "anchor_wrong_kind" | "anchors_not_adjacent" | "session_disposed" | "malformed_markdown" | "unsupported_markdown_syntax" | "table_insert_not_supported" | "footnote_ref_not_supported" | "comment_marker_not_supported" | "image_insert_not_supported" | "anchor_token_in_payload" | "offset_out_of_range" | "invalid_position" | "unknown_style" | "invalid_list_level" | "invalid_list_start_value" | "invalid_page_numbering" | "invalid_paragraph_format" | "invalid_table_styling" | "malformed_xml" | "disallowed_namespace" | "incompatible_element_type" | "validation_failed" | "nothing_to_undo" | "nothing_to_redo" | "duplicate_annotation_id" | "annotation_not_found" | "empty_annotation_span" | "empty_comment_span" | "revision_not_found" | "internal_error";
850
895
  export interface AnchorRef {
851
896
  id: string;
852
897
  kind: string;
@@ -869,6 +914,47 @@ export interface EditResult {
869
914
  removed: AnchorRef[];
870
915
  modified: AnchorRef[];
871
916
  patch?: MarkdownPatch;
917
+ /** Set by the annotation ops (addAnnotation/removeAnnotation/updateAnnotation/
918
+ * moveAnnotation) with the affected annotation id; absent for every other op. */
919
+ annotationId?: string;
920
+ }
921
+ /**
922
+ * One native Word comment, in comments-part order — see {@link DocxSession.listComments}.
923
+ * `anchorId` addresses the definition (kind `cmt`) for updateComment/removeComment;
924
+ * `date` is the raw `w:date` attribute string; `text` is the flattened body.
925
+ * `parentAnchorId` and `resolved` are present when the comment has a
926
+ * `commentsExtended.xml` entry; their absence distinguishes a legacy/flat comment from an
927
+ * explicitly reopened one. The numeric `w:id` is deliberately not surfaced — comments are
928
+ * addressed by anchor everywhere.
929
+ */
930
+ export interface CommentListEntry {
931
+ anchorId: string;
932
+ author: string;
933
+ initials?: string;
934
+ date?: string;
935
+ text: string;
936
+ parentAnchorId?: string;
937
+ resolved?: boolean;
938
+ }
939
+ /** Revision kind in a markup-native revision listing. A `move` entry is a linked
940
+ * move pair — both sides resolve together. */
941
+ export type SessionRevisionType = "insert" | "delete" | "move" | "format";
942
+ /**
943
+ * One tracked revision read directly off the live markup, in document order — see
944
+ * {@link DocxSession.listRevisions}. `id` is stable while the underlying markup exists
945
+ * (derived from the markup's own `w:id` attributes — resolving OTHER revisions never
946
+ * renames it) and is what acceptRevision/rejectRevision address. `author`/`date` are
947
+ * the markup's true `w:author`/`w:date`. `text` is the revision's visible text (deleted
948
+ * text for deletions, `¶` for a revised paragraph mark, the affected text for format
949
+ * changes). `anchorId` is the containing block's anchor when addressable.
950
+ */
951
+ export interface RevisionListEntry {
952
+ id: string;
953
+ type: SessionRevisionType;
954
+ author: string;
955
+ date?: string;
956
+ text: string;
957
+ anchorId?: string;
872
958
  }
873
959
  export interface CharSpan {
874
960
  start: number;
@@ -906,14 +992,42 @@ export interface ParagraphBorderEdge {
906
992
  /** Padding between border and text, in points (`w:space`). Default 1. */
907
993
  space?: number;
908
994
  }
909
- /** List membership for `DocxSession.applyListFormat`. */
910
- export type ListFormat = "none" | "bullet" | "decimal";
995
+ /** List format for `DocxSession.applyListFormat` / `applyListFormatRange`. The plain numbered
996
+ * formats render `1.` / `a.` / `i.` level text; the `*Parenthesis` variants render `(1)` /
997
+ * `(a)` / `(i)` — same `w:numFmt`, different `w:lvlText` (the legal-drafting presets). */
998
+ export type ListFormat = "none" | "bullet" | "decimal" | "lowerLetter" | "upperLetter" | "lowerRoman" | "upperRoman" | "decimalParenthesis" | "lowerLetterParenthesis" | "upperLetterParenthesis" | "lowerRomanParenthesis" | "upperRomanParenthesis";
999
+ /** How `ParagraphFormatOp.lineSpacing` is interpreted (`w:spacing/@w:lineRule`): under `"auto"`
1000
+ * the value is in 240ths of a line (240 = single, 360 = 1.5×, 480 = double); under
1001
+ * `"exact"`/`"atLeast"` it is a height in twips (20 twips = 1pt). */
1002
+ export type LineSpacingRule = "auto" | "exact" | "atLeast";
911
1003
  /** Paragraph-level formatting for `DocxSession.setParagraphFormat`. Omit a field to leave it unchanged. */
912
1004
  export interface ParagraphFormatOp {
913
1005
  /** Paragraph alignment. */
914
1006
  alignment?: "left" | "center" | "right" | "justify";
915
1007
  /** Adjust the left indent by this many twips (1440 = 1 inch); clamped at 0. */
916
1008
  indentDelta?: number;
1009
+ /** First-line indent in twips (`w:ind/@w:firstLine`; 1440 = 1 inch). Absolute, not a delta;
1010
+ * 0 writes an explicit "none". Mutually exclusive with `hangingIndent` (Word's `w:ind` holds
1011
+ * one or the other) — setting this removes any hanging indent, and an op carrying both is
1012
+ * rejected with `invalid_paragraph_format`. Negatives are invalid. */
1013
+ firstLineIndent?: number;
1014
+ /** Hanging indent in twips (`w:ind/@w:hanging`; 1440 = 1 inch) — every line EXCEPT the first
1015
+ * starts this far right of the paragraph's left edge. Mutually exclusive with
1016
+ * `firstLineIndent`; setting this removes any first-line indent. Negatives are invalid. */
1017
+ hangingIndent?: number;
1018
+ /** Space above the paragraph in twips (`w:spacing/@w:before`; 20 twips = 1pt, so 240 = 12pt).
1019
+ * Absolute; negatives are invalid. */
1020
+ spacingBefore?: number;
1021
+ /** Space below the paragraph in twips (`w:spacing/@w:after`; 20 twips = 1pt). Absolute;
1022
+ * negatives are invalid. */
1023
+ spacingAfter?: number;
1024
+ /** Line spacing (`w:spacing/@w:line`). Units depend on `lineSpacingRule`: 240ths of a line
1025
+ * under `"auto"` (the default when the rule is omitted), twips under `"exact"`/`"atLeast"`.
1026
+ * Negatives are invalid. */
1027
+ lineSpacing?: number;
1028
+ /** How `lineSpacing` is interpreted. Only meaningful alongside `lineSpacing` — set without
1029
+ * it, the op is rejected with `invalid_paragraph_format`. */
1030
+ lineSpacingRule?: LineSpacingRule;
917
1031
  /** Page-break-before: true to add, false to remove. */
918
1032
  pageBreakBefore?: boolean;
919
1033
  /** Top paragraph border (`w:pBdr/w:top`). Omit to leave unchanged. */
@@ -932,6 +1046,26 @@ export type HeaderFooterKind = "default" | "first" | "even";
932
1046
  /** Which page-number field `DocxSession.insertPageNumberField` emits: `"currentPage"` → PAGE,
933
1047
  * `"totalPages"` → NUMPAGES. */
934
1048
  export type PageNumberField = "currentPage" | "totalPages";
1049
+ /**
1050
+ * Section-level page-numbering setup for {@link DocxSession.setPageNumbering} — the `w:pgNumType`
1051
+ * element, which is what Word's *Format Page Numbers…* dialog writes. Each field is tri-state: an
1052
+ * omitted field leaves that attribute exactly as it is. Use
1053
+ * {@link DocxSession.clearPageNumbering} to remove them.
1054
+ *
1055
+ * This governs how a **plain** PAGE field renders anywhere in the section, which is the normal way
1056
+ * to number pages: set the section once, insert unswitched fields. It is distinct from the
1057
+ * per-field `\*` switch {@link DocxSession.insertPageNumberField} can stamp, which overrides the
1058
+ * section for that one field.
1059
+ */
1060
+ export interface PageNumberingOp {
1061
+ /** The page number this section starts at (`w:start`) — e.g. `1` to restart at a section break.
1062
+ * Omitted leaves it unchanged; absent means the section continues the previous one. */
1063
+ start?: number;
1064
+ /** This section's page-number format (`w:fmt`) — e.g. `"lowerRoman"` for `i, ii, iii` front
1065
+ * matter. Omitted leaves it unchanged; absent means Word's default `1, 2, 3`. `"bullet"` is
1066
+ * rejected — pages cannot be bulleted. */
1067
+ format?: NumberFormat;
1068
+ }
935
1069
  /** Options for `DocxSession.insertTable`. */
936
1070
  export interface TableInsertOptions {
937
1071
  /** Emit an invisible layout table (explicit "none" borders) — the S-1 multi-column blocks. */
@@ -945,6 +1079,25 @@ export interface TableInsertOptions {
945
1079
  * wide-left / narrow-right filing-header row. */
946
1080
  columnWidths?: number[];
947
1081
  }
1082
+ /** Which table edges `DocxSession.setTableBorders` targets: `"outside"` = top/left/bottom/right,
1083
+ * `"inside"` = the inner grid lines (`w:insideH`/`w:insideV`), `"all"` = both. */
1084
+ export type TableBorderScope = "all" | "outside" | "inside";
1085
+ /** Shading granularity for `DocxSession.setCellShading`: the one cell the anchor sits in, or
1086
+ * every cell of its row (header-row banding). */
1087
+ export type TableShadingScope = "cell" | "row";
1088
+ /** Border specification for `DocxSession.setTableBorders`. Written as explicit `w:tblBorders`
1089
+ * edges (overriding style-inherited borders); edges outside `scope` are left untouched. */
1090
+ export interface TableBorderSpec {
1091
+ /** Which edges to write. Default `"all"`. */
1092
+ scope?: TableBorderScope;
1093
+ /** Border line style (`w:val`): `"single"`, `"double"`, `"thick"`, `"dotted"`, `"dashed"`, … —
1094
+ * or `"none"` to remove the targeted edges. Default `"single"`. */
1095
+ style?: string;
1096
+ /** Border weight in eighths of a point (`w:sz`). Default 4 (= 0.5pt). */
1097
+ size?: number;
1098
+ /** Border color as a hex RRGGBB triplet without '#', or `"auto"`. Default `"auto"`. */
1099
+ color?: string;
1100
+ }
948
1101
  export interface DocxSessionSettings {
949
1102
  undoDepth?: number;
950
1103
  validateRawOps?: boolean;
@@ -965,6 +1118,13 @@ export interface DocxSessionSettings {
965
1118
  * straight-quoted text adjacent to surrounding already-curly text. Default false.
966
1119
  */
967
1120
  smartQuotes?: boolean;
1121
+ /**
1122
+ * When false, mutation EditResults omit the markdown patch and skip the per-op
1123
+ * scope re-projection that builds it — the fast path for clients that re-render
1124
+ * from HTML (the browser editor) rather than consuming markdown patches.
1125
+ * Default true.
1126
+ */
1127
+ emitMarkdownPatch?: boolean;
968
1128
  /**
969
1129
  * When `true` (default), the session projects the document at construction
970
1130
  * time so {@link DocxSession.getDiff} can compare initial vs. current.
@@ -972,6 +1132,26 @@ export interface DocxSessionSettings {
972
1132
  */
973
1133
  captureInitialProjection?: boolean;
974
1134
  }
1135
+ /** One top-level render unit in a {@link RenderPlan}: a body block (`p`/`h`/`li`),
1136
+ * one whole table (`tbl`), or one footnote/endnote definition (`fn`/`en`). */
1137
+ export interface RenderUnit {
1138
+ id: string;
1139
+ kind: string;
1140
+ }
1141
+ /** Ordered top-level render units per scope container — the authority for "what
1142
+ * blocks exist, in what order" that the incremental reconciler diffs against. */
1143
+ export interface RenderPlan {
1144
+ body: RenderUnit[];
1145
+ footnotes: RenderUnit[];
1146
+ endnotes: RenderUnit[];
1147
+ }
1148
+ /** One footnote/endnote in citation order. `id` is the note's `w:id`; `ordinal`
1149
+ * is its 1-based citation position — which IS its displayed number. */
1150
+ export interface NoteListEntry {
1151
+ id: string;
1152
+ defAnchorId: string;
1153
+ ordinal: number;
1154
+ }
975
1155
  export interface DocxSessionProjection {
976
1156
  markdown: string;
977
1157
  anchorIndex: Record<string, {
@@ -1357,6 +1537,13 @@ export interface SectionInfo {
1357
1537
  /** Footer references in declaration order, each with its `w:type`. Describes exactly the
1358
1538
  * parts {@link SectionInfo.footerPartUris} lists, plus the kind each supplies. */
1359
1539
  footerRefs: HeaderFooterRef[];
1540
+ /** The page number this section starts at (`w:pgNumType/@w:start`). Absent when the section
1541
+ * continues the previous section's numbering. */
1542
+ pageNumberStart?: number;
1543
+ /** This section's page-number format (`w:pgNumType/@w:fmt`). Absent means Word's default
1544
+ * `1, 2, 3` — deliberately not reported as `"decimal"`, so a UI can tell "inherits" from
1545
+ * "explicitly decimal" and avoid writing an attribute the document never had. */
1546
+ pageNumberFormat?: NumberFormat;
1360
1547
  }
1361
1548
  /**
1362
1549
  * A custom annotation persisted in the document via Docxodus' annotation system.