@docx-editor.dev/editor-api 2.17.0 → 2.19.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.
@@ -6,7 +6,7 @@ authentication, collaboration transport, and job lifetime belong outside that mo
6
6
  ## A complete server example
7
7
 
8
8
  This function returns a DOCX containing one pending replacement. Supply the agent's author name.
9
- The runtime owns the opened document and is always disposed.
9
+ The `finally` block disposes the runtime after the job.
10
10
 
11
11
  ```ts
12
12
  import { DocxEditor } from '@docx-editor.dev/editor-api';
@@ -63,11 +63,44 @@ const snapshot = await runtime.run(async (context) => {
63
63
 
64
64
  This follows Microsoft's [split-loop and correlated-objects guidance](https://learn.microsoft.com/en-us/office/dev/add-ins/concepts/correlated-objects-pattern).
65
65
  Bound model input and member-property loads. The collection's `items` load still enumerates its members;
66
- the slice above does not promise server-side collection pagination.
66
+ slicing the array does not paginate the collection on the server.
67
67
 
68
- A sync is needed before this implementation can address a newly returned proxy. For example, sync after
69
- `insertText()` before loading its returned range. Nested collection loads and arbitrary dependent commands
70
- within one batch are not yet supported. These limits are explicit; do not assume full Office.js behavior.
68
+ Supported read-derived proxies can share one `sync()` with their edits. For example,
69
+ `body.getRange().insertText(text, 'Replace')` and `table.getCell(0, 0).value = text`
70
+ resolve their reads before one atomic write transaction. This can use extra read-only
71
+ transport calls. Every phase uses the same revision; concurrent changes cause `StaleDocument`.
72
+
73
+ Proxies returned by insertions require a completed `sync()` before dependent operations.
74
+ Do not configure a newly inserted table, image, list, or text range before that sync.
75
+ If a prerequisite fails, the runtime commits no queued writes. Completed prerequisite
76
+ reads can remain loaded after a later command fails.
77
+
78
+ ## Preserve Office.js enum property types
79
+
80
+ Like Office.js, `Document.changeTrackingMode` and `PageSetup.orientation` use unions
81
+ of the enum and its string literals for both reads and writes. Enum constants and
82
+ the corresponding string literals are accepted by the type system. This matches
83
+ Microsoft's [change-tracking declaration](https://learn.microsoft.com/en-us/javascript/api/word/word.document#word-word-document-changetrackingmode-member)
84
+ and [page-orientation declaration](https://learn.microsoft.com/en-us/javascript/api/word/word.pagesetup#word-word-pagesetup-orientation-member).
85
+
86
+ Let TypeScript infer a property's type, or use an indexed-access type when saving
87
+ its value. An enum-only annotation is narrower than the Office.js property type:
88
+
89
+ ```ts
90
+ import { ChangeTrackingMode, type Document } from '@docx-editor.dev/editor-api';
91
+
92
+ const mode = await runtime.run(async (context) => {
93
+ context.document.load('changeTrackingMode');
94
+ await context.sync();
95
+ const current: Document['changeTrackingMode'] = context.document.changeTrackingMode;
96
+ return current;
97
+ });
98
+ const trackingMine = mode === ChangeTrackingMode.trackMineOnly;
99
+ ```
100
+
101
+ For orientation, use `PageSetup['orientation']` in the same way after loading and
102
+ syncing that property. Type compatibility does not imply support for every enum
103
+ value: `TrackAll` fails with `NotSupported` at `sync()`.
71
104
 
72
105
  ## Give each sync a purpose
73
106
 
@@ -88,12 +121,12 @@ Explicit tracked-object adoption exists for advanced cases; fresh reads are simp
88
121
 
89
122
  If model generation happens inside a run, commit against the revision that run read. If it happens outside,
90
123
  keep a validated snapshot and re-anchor in a new run. The example's tool adapter checks both the paragraph snapshot
91
- and document digest. On `StaleDocument`, read again and reconsider the proposal. Do not blindly replay old text.
124
+ and document digest. On `StaleDocument`, read again and reconsider the proposal. Recheck the target before retrying.
92
125
 
93
126
  ## Use errors to recover deliberately
94
127
 
95
128
  Use `isDocxEditorError(error)` and branch on `error.code`. `error.target` identifies the failing public member.
96
- Do not parse message strings. A refused sync does not apply its queued document edits or tracking-mode changes.
129
+ Do not parse message strings. A failed sync does not apply its queued document edits or tracking-mode changes.
97
130
  Earlier successful syncs remain committed. Failed batches are discarded and are never automatically replayed.
98
131
 
99
132
  | Code | Next action |
@@ -108,22 +141,49 @@ Earlier successful syncs remain committed. Failed batches are discarded and are
108
141
 
109
142
  ## Tracking subset
110
143
 
111
- | Intent | Office-shaped API |
112
- | ------------------------------------ | ---------------------------------------------------------------------- |
113
- | Track this server agent's text edits | `context.document.changeTrackingMode = 'TrackMineOnly'` |
114
- | Insert before or after a range | `range.insertText(text, 'Before')` or `'After'` |
115
- | Replace a range | `range.insertText(text, 'Replace')` |
116
- | Delete range content | `range.delete()` or `range.clear()` |
117
- | Read the current mode | `document.load('changeTrackingMode')`, then sync and read the property |
118
- | Make an intentional permanent edit | Explicitly set `changeTrackingMode = 'Off'` |
119
-
120
- `Off` is the initial server mode. `TrackMineOnly` needs a configured author and persists for that host session.
121
- It does not change peers' editing modes or persist a document-wide policy. `TrackAll` and browser-host mode control refuse.
122
- Tracked edits support inline text in one paragraph, including table cells, and refuse targets touching pending revisions.
123
- Tracked deletion and replacement refuse simple fields with nested fields or other result containers. Direct result runs remain supported.
124
- Structural and formatting mutations while tracking refuse. Comments and revision decisions remain available.
144
+ | Intent | Office.js-compatible API |
145
+ | ---------------------------------- | ---------------------------------------------------------------------- |
146
+ | Track this agent's text edits | `context.document.changeTrackingMode = 'TrackMineOnly'` |
147
+ | Insert before or after a range | `range.insertText(text, 'Before')` or `'After'` |
148
+ | Replace a range | `range.insertText(text, 'Replace')` |
149
+ | Delete range content | `range.delete()` or `range.clear()` |
150
+ | Read the current mode | `document.load('changeTrackingMode')`, then sync and read the property |
151
+ | Make an intentional permanent edit | Explicitly set `changeTrackingMode = 'Off'` |
152
+
153
+ `Off` is the initial runtime mode. Browser tracked writes require the review module; this property does not change the editor UI mode. `TrackMineOnly` needs a configured author and persists for that host session.
154
+ It does not change peers' editing modes or persist a document-wide policy. `TrackAll` fails with `NotSupported`. Browser UI modes remain controlled by the editor host.
155
+ Tracked edits support inline text in one paragraph, including table cells.
156
+ The runtime rejects targets that touch pending revisions.
157
+ The runtime rejects tracked deletion or replacement of simple fields containing nested fields or other result containers. Direct result runs remain supported.
158
+ The runtime rejects structural and formatting edits while tracking changes. Comments and revision decisions remain available.
125
159
  Never silently fall back to `Off` when an edit cannot be tracked.
126
160
 
127
161
  Standard `insertText('', 'Replace')` means deletion, and an empty insertion is a no-op. Agent tools should require
128
162
  nonempty insertion/replacement text and expose deletion as an explicit model decision. The shipped worker does this.
129
163
  The [compatibility manifest](https://github.com/eigenpal/docx-editor/blob/main/packages/editor-api/compat/manifest.json) records measured members and behavioral differences.
164
+
165
+ ## Pictures and page fields
166
+
167
+ Insert PNG or JPEG images with `range.insertInlinePictureFromBase64(data, 'After')`.
168
+ Sync before setting properties on the returned picture. Width and height use points.
169
+ New pictures lock the aspect ratio. Set `lockAspectRatio = false` before setting independent dimensions.
170
+ Set `altTextDescription` to describe the image. Deletion preserves shared media relationships.
171
+
172
+ Insert a page field with `range.insertField('After', 'Page')` or `'NumPages'`.
173
+ Sync before using the returned field. `field.code = 'NUMPAGES'` changes its instruction;
174
+ `field.updateResult()` computes and stores its result. These calls use separate syncs.
175
+ Field updates can share a sync with other field updates. They cannot share a sync with layout-changing writes.
176
+
177
+ Headless field calculation requires an explicit `pagination.measurer` when creating the server runtime.
178
+ Use measurements from the document's fonts. Browser runtimes use the editor's measured layout.
179
+ Without pagination, `updateResult()` fails with `NotSupported`.
180
+ Other field instructions remain inert. The authoring subset refuses unsupported field codes and formatting switches.
181
+
182
+ Character formatting also supports underline, strikethrough, exact Word-palette highlighting, subscript, and superscript.
183
+ `font.underline = 'None'` removes an underline. Setting one script mode to `true` clears the other mode.
184
+ The highlight setter keeps Office's pinned `string` type, although Microsoft documents runtime `null` for clearing.
185
+ The runtime accepts this clearing value. The runtime rejects unsupported highlight colors.
186
+
187
+ The workflow tests cover both hosts and save/reopen:
188
+ `model-font-editing.test.ts`, `model-pictures.test.ts`, `model-fields.test.ts`, and `model-picture-field-parity.test.ts`.
189
+ The final test includes primary footer creation and a saved `NUMPAGES` result.
package/README.md CHANGED
@@ -28,10 +28,29 @@ npm install @docx-editor.dev/editor-api @docx-editor.dev/core
28
28
 
29
29
  Server use requires Node.js `^20.16.0 || >=22.3.0`.
30
30
 
31
+ ## Guides by task
32
+
33
+ Start with [Runtime and setup](https://www.docx-editor.dev/docs/2.x/editor-api/runtime) and
34
+ [Batching, loading, and errors](https://www.docx-editor.dev/docs/2.x/editor-api/batching-and-errors).
35
+
36
+ | Task | Guide |
37
+ | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
38
+ | Read, insert, replace, or remove text | [Text and ranges](https://www.docx-editor.dev/docs/2.x/editor-api/text-and-ranges) |
39
+ | Find matches, split paragraphs, or use bookmarks | [Search and navigation](https://www.docx-editor.dev/docs/2.x/editor-api/search-and-navigation) |
40
+ | Set fonts, paragraph properties, styles, or links | [Formatting and styles](https://www.docx-editor.dev/docs/2.x/editor-api/formatting) |
41
+ | Create and configure lists | [Lists and numbering](https://www.docx-editor.dev/docs/2.x/editor-api/lists) |
42
+ | Work with table values, rows, columns, and cells | [Tables and cells](https://www.docx-editor.dev/docs/2.x/editor-api/tables) |
43
+ | Insert and resize images | [Inline pictures](https://www.docx-editor.dev/docs/2.x/editor-api/pictures) |
44
+ | Calculate PAGE and NUMPAGES | [Fields and pagination](https://www.docx-editor.dev/docs/2.x/editor-api/fields) |
45
+ | Set page geometry and edit headers, footers, or notes | [Page layout and stories](https://www.docx-editor.dev/docs/2.x/editor-api/page-layout-and-stories) |
46
+ | Fill template controls and edit their metadata | [Content controls](https://www.docx-editor.dev/docs/2.x/editor-api/content-controls) |
47
+ | Discuss content and manage threads | [Comments](https://www.docx-editor.dev/docs/2.x/editor-api/comments) |
48
+ | Create, inspect, accept, or reject tracked changes | [Tracked changes](https://www.docx-editor.dev/docs/2.x/editor-api/revisions) |
49
+ | Find any public object, method, property, or support type | [API member directory](https://www.docx-editor.dev/docs/2.x/editor-api/reference) |
50
+
31
51
  ## On a server
32
52
 
33
- The default entry needs no browser and nothing to mount. It opens DOCX bytes, edits them, and
34
- hands them back.
53
+ The root entry opens DOCX bytes, edits the document, and returns the saved bytes.
35
54
 
36
55
  ```ts
37
56
  import { readFile, writeFile } from 'node:fs/promises';
@@ -43,8 +62,8 @@ const runtime = await DocxEditor.createServer(await readFile('contract.docx'), {
43
62
  try {
44
63
  const filled = await runtime.run(async (context) => {
45
64
  const matches = context.document.body.search('{{cap}}', { matchCase: true });
46
- matches.load();
47
- await context.sync(); // one round trip: now you know what was found
65
+ matches.load('items');
66
+ await context.sync(); // Read the matching ranges.
48
67
 
49
68
  for (const match of matches.items) match.insertText('$500k', 'Replace');
50
69
  await context.sync(); // one atomic batch: all of the writes, or none
@@ -92,10 +111,11 @@ Load `document.changeTrackingMode` before reading it. `Off` is the initial mode.
92
111
 
93
112
  This is a supported Office.js subset. `TrackMineOnly` applies to this server host and persists
94
113
  across its `run()` calls. It does not change peers' tracking settings or save a document-wide
95
- tracking policy. `TrackAll` and browser-host mode control explicitly refuse with `NotSupported`.
96
- Tracked text edits support one paragraph, including table-cell text. They refuse targets touching
114
+ tracking policy. `TrackAll` fails with `NotSupported`. Browser tracked writes require the Pro review module;
115
+ the runtime setting does not change the editor UI mode.
116
+ Tracked text edits support one paragraph, including table-cell text. The runtime rejects targets touching
97
117
  pending revisions, including text inside a row with a pending insertion or deletion.
98
- Structural and formatting mutations under tracking also refuse. Comments and
118
+ The runtime also rejects structural and formatting changes while tracking. Comments and
99
119
  revision decisions remain available. Set `Off` explicitly when permanent edits are intended.
100
120
 
101
121
  See the [server-agent review example](../../examples/server-agent-review/README.md) for Hocuspocus,
@@ -103,95 +123,68 @@ stale-read handling, and the review lifecycle.
103
123
 
104
124
  ## In the browser
105
125
 
106
- The browser entry takes an editor the host already created, from `@docx-editor.dev/react` or a
107
- plain page, and drives it in place. Edits land in the open document with the reader's undo
108
- stack intact. There is no `save()`: the host saves as it already did.
126
+ Pass an open core, React, or Vue editor to `createBrowser()`. Edits use the editor's
127
+ undo history. Save through the owning editor.
109
128
 
110
129
  ```ts
111
130
  import { DocxEditor } from '@docx-editor.dev/editor-api/browser';
112
131
 
113
132
  const runtime = DocxEditor.createBrowser(editor, { author: 'Demo Reviewer' });
114
- await runtime.run(async (context) => {
115
- const heading = context.document.body.paragraphs.getFirstOrNullObject();
116
- heading.load('text');
117
- await context.sync();
133
+ try {
134
+ await runtime.run(async (context) => {
135
+ const heading = context.document.body.paragraphs.getFirstOrNullObject();
136
+ heading.load('text');
137
+ await context.sync();
118
138
 
119
- if (!heading.isNullObject) heading.font.bold = true;
120
- await context.sync();
121
- });
139
+ if (!heading.isNullObject) heading.font.bold = true;
140
+ await context.sync();
141
+ });
142
+ } finally {
143
+ runtime.dispose();
144
+ }
122
145
  ```
123
146
 
124
147
  Use the `/browser` entry for an open editor. Use the root entry on servers to exclude
125
148
  browser rendering code from the bundle.
126
149
 
127
- `author` is optional for ordinary edits. Supply it for `Range.insertComment()`,
128
- `Comment.reply()`, and server-side `TrackMineOnly` mode. A missing identity refuses with `NotSupported`; a
129
- live comment write also requires the Pro review module and a writable editing mode. There is no
130
- static comment-write capability because those conditions are dynamic, so callers should handle the
131
- typed refusal from the call or `sync()`.
132
-
133
- `range.insertComment(text)` creates a top-level comment over that exact range and returns the new
134
- `Comment`. Collapsed ranges create insertion-point comments. Empty text and ranges crossing table
135
- cells are refused; duplicate author names are ordinary OOXML and are not deduplicated.
136
-
137
- `Comment.delete()` removes a root comment, its replies, and its anchors. `CommentReply.delete()`
138
- removes only that reply and preserves the parent and siblings. Several deletes queued before one
139
- `sync()` are one atomic transaction and one browser Undo unit. Browser comment writes require the
140
- Pro review module and a writable, attached editor; server writes are provided by this Pro-licensed
141
- runtime. Root creation follows the same browser gate and is one Undo unit.
142
-
143
- `document.revisions` is the main-body story. `Body.revisions` is story-scoped: a header, footer,
144
- or note collection names that story only. `items` contains revisions this API can publish as typed
145
- Word objects. Structural cards whose exact subtype cannot be named are omitted from `items` and
146
- remain preserved in the file. Collection membership is not the collection decision set:
147
- `acceptAll()` and `rejectAll()` still resolve every store-resolvable revision in that story —
148
- including a complete tracked row — and refuse atomically if any `readOnly` or otherwise unsupported
149
- revision remains. They never resolve only the listed subset. Handle a `NotImplemented` refusal and
150
- leave the document unchanged, or let a reviewer resolve the remaining markup in Word. Browser
151
- decisions join the editor's Undo stack, with one collection decision as one Undo unit.
150
+ Supply `author` for comments, replies, and tracked edits. Browser review writes also
151
+ require the Pro review module and an editable document. Handle errors by `code`.
152
+ See [Comments](https://www.docx-editor.dev/docs/2.x/editor-api/comments) and
153
+ [Tracked changes](https://www.docx-editor.dev/docs/2.x/editor-api/revisions) for supported operations.
154
+
155
+ ## Range snapshots
156
+
157
+ Ranges retain the paragraph offsets where they were found.
158
+ They do not follow later text edits inside those paragraphs, even when their proxies are tracked.
159
+ After editing a paragraph, search again before acting on another target there.
160
+ Use the range returned by `insertText()` after sync to address its inserted text.
161
+ See [Text and ranges](https://www.docx-editor.dev/docs/2.x/editor-api/text-and-ranges) for snapshot and same-batch editing limits.
152
162
 
153
163
  ## Programming model
154
164
 
155
- - A property you did not `load()` throws instead of answering `undefined`, so a typo fails at
156
- the read rather than producing a wrong document later.
157
- - `sync()` is the only round trip. Everything queued between two syncs is one ordered batch,
158
- applied atomically.
159
- - Proxies remain valid across `sync()` calls within a `run()`. To reuse a proxy in a later
160
- run, add it to `context.trackedObjects` and pass it to `runtime.run(object, callback)`.
161
- No proxy remains valid after `dispose()`.
162
- - `getFirstOrNullObject` / `getLastOrNullObject` answer an object whose `isNullObject` is
163
- `true`, which is the difference between "no such heading" and a crash.
164
- - Review timestamps come from untrusted, optional OOXML attributes. `Comment.creationDate`,
165
- `CommentReply.creationDate`, and `Revision.date` are `Date | null`; narrow `null` before calling
166
- `Date` methods.
167
-
168
- `runtime.capabilities` says what the host behind a runtime can do: `save` is false in the
169
- browser; `selection`, `scrolling` and `layout` are false on a server. It is frozen for the
170
- life of the runtime, so one read stays true.
171
-
172
- ## Entries
173
-
174
- | Entry | Use when |
175
- | ------------------------------------- | ---------------------------------------------------- |
176
- | `@docx-editor.dev/editor-api` | Servers, workers, build scripts: bytes in, bytes out |
177
- | `@docx-editor.dev/editor-api/browser` | A page, driving an editor the host already created |
178
-
179
- Both entries export the same vocabulary — the lifecycle types, the object model and the error
180
- type — so consumer code compiles against either. They differ by one member: `createBrowser`.
165
+ - Load properties before reading them. Load collection `items` before item properties.
166
+ - Batch independent writes with `sync()`. A failed batch applies no writes; earlier successful syncs remain committed.
167
+ - Sync after insertion before using the returned object.
168
+ - Keep proxies inside `runtime.run()`, or explicitly track and adopt them across runs.
169
+ - Check `isNullObject` after sync when using a null-object accessor.
170
+ - Check nullable font values and review dates before using them.
171
+
172
+ See [Batching, loading, and errors](https://www.docx-editor.dev/docs/2.x/editor-api/batching-and-errors)
173
+ for transaction limits, proxy lifetimes, and error recovery.
181
174
 
182
175
  ## Office.js compatibility
183
176
 
184
- The API is compatible with a documented subset of Word's JavaScript object model, so a call
185
- site written against that vocabulary compiles here. It is not Office.js: it does not run in an
186
- Office add-in host and depends on no Microsoft package. Every type in the surface is authored
187
- in this repository.
177
+ The API implements a documented subset of Word's JavaScript object model.
178
+ It runs independently of Office and does not require a Microsoft package.
179
+ See [Office.js compatibility](https://www.docx-editor.dev/docs/2.x/editor-api/office-js-api)
180
+ for supported operations, runtime differences, and compatibility reports.
188
181
 
189
- The supported subset and its documented omissions (tables, images, repeating sections, custom
190
- XML mapping) are listed in
191
- [the Office.js compatibility page](https://www.docx-editor.dev/docs/latest/editor-api/office-js-api).
182
+ Server page-field updates require a measurer configured with font resources.
183
+ See [Fields and pagination](https://www.docx-editor.dev/docs/2.x/editor-api/fields)
184
+ for setup and a runnable report agent.
192
185
 
193
- Upgrading from the reviewer/bridge/MCP/chat surfaces this package used to ship? See
194
- [MIGRATION.md](https://github.com/eigenpal/docx-editor/blob/main/packages/editor-api/MIGRATION.md).
186
+ To upgrade from the former reviewer, bridge, MCP, or chat APIs, see
187
+ [Migration](https://github.com/eigenpal/docx-editor/blob/main/packages/editor-api/MIGRATION.md).
195
188
 
196
189
  ## Packages
197
190
 
@@ -205,7 +198,8 @@ Upgrading from the reviewer/bridge/MCP/chat surfaces this package used to ship?
205
198
 
206
199
  ## License
207
200
 
208
- This package is licensed under the [EigenPal Pro License](https://github.com/eigenpal/docx-editor/blob/main/packages/editor-api/LICENSE.md), and you can compare and buy license and support levels on the [pricing page](https://www.docx-editor.dev/pricing).
201
+ This package uses the [EigenPal Pro License](https://github.com/eigenpal/docx-editor/blob/main/packages/editor-api/LICENSE.md).
202
+ See [pricing](https://www.docx-editor.dev/pricing) for license and support options.
209
203
 
210
204
  ## Contributing
211
205
 
@@ -21,8 +21,8 @@
21
21
  * @packageDocumentation
22
22
  * @public
23
23
  */
24
- import { a0 as RevisionTextView, A as DocxEditorRuntime, C as CreateServerOptions, D as DocxEditorServerRuntime, a as CreateCollaborativeOptions } from './server-Dszoi8AN.mjs';
25
- export { B as BesideLocation, b as Body, c as BodyInsertParagraphLocation, d as BodyInsertTextLocation, e as Bookmark, f as BookmarkCollection, g as ChangeTrackingMode, h as ClientObject, i as ClientResult, j as Comment, k as CommentCollection, l as CommentReply, m as CommentReplyCollection, n as ContentControl, o as ContentControlCollection, p as ContentControlLockState, q as ContentControlSubtype, r as ContentControlValue, s as Document, t as DocumentCapabilities, u as DocumentLimits, v as DocumentXmlLimits, w as DocumentZipLimits, x as DocxEditorError, y as DocxEditorErrorCode, z as DocxEditorErrorInit, E as EditorModule, F as Font, H as HeaderFooterType, I as InsertLocation, L as List, G as ListCollection, J as ListItem, K as LoadOption, M as LoadQueryOptions, N as NoteItem, O as NoteItemCollection, P as NoteItemType, Q as PageOrientation, R as PageSetup, S as Paragraph, T as ParagraphAlignment, U as ParagraphCollection, V as ParagraphInsertTextLocation, W as Range, X as RangeCollection, Y as RangeInsertTextLocation, Z as RequestContext, _ as Revision, $ as RevisionCollection, a1 as RevisionType, a2 as RunCallback, a3 as SearchOptions, a4 as Section, a5 as SectionCollection, a6 as SelectionMode, a7 as TrackedObjects, a8 as isDocxEditorError } from './server-Dszoi8AN.mjs';
24
+ import { ab as RevisionTextView, G as DocxEditorRuntime, C as CreateServerOptions, D as DocxEditorServerRuntime, a as CreateCollaborativeOptions } from './server-wsxDd90b.mjs';
25
+ export { A as Alignment, B as BesideLocation, b as Body, c as BodyInsertParagraphLocation, d as BodyInsertTextLocation, e as Bookmark, f as BookmarkCollection, g as BreakType, h as ChangeTrackingMode, i as ClientObject, j as ClientResult, k as Comment, l as CommentCollection, m as CommentReply, n as CommentReplyCollection, o as ContentControl, p as ContentControlCollection, q as ContentControlLockState, r as ContentControlSubtype, s as ContentControlType, t as ContentControlValue, u as Document, v as DocumentCapabilities, w as DocumentLimits, x as DocumentXmlLimits, y as DocumentZipLimits, z as DocxEditorError, E as DocxEditorErrorCode, F as DocxEditorErrorInit, H as EditorModule, I as Field, J as FieldCollection, K as FieldType, L as FieldTypeLiteral, M as Font, N as HeaderFooterType, O as InlinePicture, P as InlinePictureCollection, Q as InsertLocation, R as List, S as ListBullet, T as ListCollection, U as ListItem, V as ListNumbering, W as LoadOption, X as LoadQueryOptions, Y as NoteItem, Z as NoteItemCollection, _ as NoteItemType, $ as PageOrientation, a0 as PageSetup, a1 as Paragraph, a2 as ParagraphAlignment, a3 as ParagraphCollection, a4 as ParagraphInsertTextLocation, a5 as Range, a6 as RangeCollection, a7 as RangeInsertTextLocation, a8 as RequestContext, a9 as Revision, aa as RevisionCollection, ac as RevisionType, ad as RunCallback, ae as SearchOptions, af as Section, ag as SectionCollection, ah as SelectionMode, ai as ServerPaginationOptions, aj as Table, ak as TableCell, al as TableCellCollection, am as TableCollection, an as TableRow, ao as TableRowCollection, ap as TrackedObjects, aq as UnderlineType, ar as VerticalAlignment, as as isDocxEditorError } from './server-wsxDd90b.mjs';
26
26
  import { EditorCollaborationSession } from '@docx-editor.dev/core/collaboration';
27
27
  import { DocxEditorInstance } from '@docx-editor.dev/core/editor';
28
28
  import '@docx-editor.dev/core/automation';
package/dist/browser.d.ts CHANGED
@@ -21,8 +21,8 @@
21
21
  * @packageDocumentation
22
22
  * @public
23
23
  */
24
- import { a0 as RevisionTextView, A as DocxEditorRuntime, C as CreateServerOptions, D as DocxEditorServerRuntime, a as CreateCollaborativeOptions } from './server-Dszoi8AN.js';
25
- export { B as BesideLocation, b as Body, c as BodyInsertParagraphLocation, d as BodyInsertTextLocation, e as Bookmark, f as BookmarkCollection, g as ChangeTrackingMode, h as ClientObject, i as ClientResult, j as Comment, k as CommentCollection, l as CommentReply, m as CommentReplyCollection, n as ContentControl, o as ContentControlCollection, p as ContentControlLockState, q as ContentControlSubtype, r as ContentControlValue, s as Document, t as DocumentCapabilities, u as DocumentLimits, v as DocumentXmlLimits, w as DocumentZipLimits, x as DocxEditorError, y as DocxEditorErrorCode, z as DocxEditorErrorInit, E as EditorModule, F as Font, H as HeaderFooterType, I as InsertLocation, L as List, G as ListCollection, J as ListItem, K as LoadOption, M as LoadQueryOptions, N as NoteItem, O as NoteItemCollection, P as NoteItemType, Q as PageOrientation, R as PageSetup, S as Paragraph, T as ParagraphAlignment, U as ParagraphCollection, V as ParagraphInsertTextLocation, W as Range, X as RangeCollection, Y as RangeInsertTextLocation, Z as RequestContext, _ as Revision, $ as RevisionCollection, a1 as RevisionType, a2 as RunCallback, a3 as SearchOptions, a4 as Section, a5 as SectionCollection, a6 as SelectionMode, a7 as TrackedObjects, a8 as isDocxEditorError } from './server-Dszoi8AN.js';
24
+ import { ab as RevisionTextView, G as DocxEditorRuntime, C as CreateServerOptions, D as DocxEditorServerRuntime, a as CreateCollaborativeOptions } from './server-wsxDd90b.js';
25
+ export { A as Alignment, B as BesideLocation, b as Body, c as BodyInsertParagraphLocation, d as BodyInsertTextLocation, e as Bookmark, f as BookmarkCollection, g as BreakType, h as ChangeTrackingMode, i as ClientObject, j as ClientResult, k as Comment, l as CommentCollection, m as CommentReply, n as CommentReplyCollection, o as ContentControl, p as ContentControlCollection, q as ContentControlLockState, r as ContentControlSubtype, s as ContentControlType, t as ContentControlValue, u as Document, v as DocumentCapabilities, w as DocumentLimits, x as DocumentXmlLimits, y as DocumentZipLimits, z as DocxEditorError, E as DocxEditorErrorCode, F as DocxEditorErrorInit, H as EditorModule, I as Field, J as FieldCollection, K as FieldType, L as FieldTypeLiteral, M as Font, N as HeaderFooterType, O as InlinePicture, P as InlinePictureCollection, Q as InsertLocation, R as List, S as ListBullet, T as ListCollection, U as ListItem, V as ListNumbering, W as LoadOption, X as LoadQueryOptions, Y as NoteItem, Z as NoteItemCollection, _ as NoteItemType, $ as PageOrientation, a0 as PageSetup, a1 as Paragraph, a2 as ParagraphAlignment, a3 as ParagraphCollection, a4 as ParagraphInsertTextLocation, a5 as Range, a6 as RangeCollection, a7 as RangeInsertTextLocation, a8 as RequestContext, a9 as Revision, aa as RevisionCollection, ac as RevisionType, ad as RunCallback, ae as SearchOptions, af as Section, ag as SectionCollection, ah as SelectionMode, ai as ServerPaginationOptions, aj as Table, ak as TableCell, al as TableCellCollection, am as TableCollection, an as TableRow, ao as TableRowCollection, ap as TrackedObjects, aq as UnderlineType, ar as VerticalAlignment, as as isDocxEditorError } from './server-wsxDd90b.js';
26
26
  import { EditorCollaborationSession } from '@docx-editor.dev/core/collaboration';
27
27
  import { DocxEditorInstance } from '@docx-editor.dev/core/editor';
28
28
  import '@docx-editor.dev/core/automation';