@betteroffice/docx 0.0.1 → 0.0.2

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 (155) hide show
  1. package/README.md +19 -0
  2. package/dist/chunk-AEQOEQJ7.mjs +57 -0
  3. package/dist/chunk-AZ52IWB6.mjs +16 -0
  4. package/dist/{chunk-SINEY6ZF.mjs → chunk-B4IR6YP4.mjs} +1 -1
  5. package/dist/chunk-IFT6DUJX.mjs +1 -0
  6. package/dist/{chunk-H3JCIGWK.mjs → chunk-NJHOPXZW.mjs} +1 -1
  7. package/dist/chunk-NTQM4EYN.mjs +1 -0
  8. package/dist/{chunk-KXNZFTTK.mjs → chunk-WBH3SXI6.mjs} +1 -1
  9. package/dist/collaboration/index.d.mts +64 -0
  10. package/dist/collaboration/index.mjs +1 -0
  11. package/dist/{content-sSHuWw49.d.mts → content-DLFHRQav.d.mts} +8 -8
  12. package/dist/core.d.mts +148 -341
  13. package/dist/core.mjs +1 -1
  14. package/dist/{displayListQueries-p-ijSzdh.d.mts → displayListQueries-UGc_XBUv.d.mts} +1 -1
  15. package/dist/docx/index.d.mts +40 -520
  16. package/dist/docx/index.mjs +2 -2
  17. package/dist/editor/index.d.mts +35 -151
  18. package/dist/editor/index.mjs +1 -1
  19. package/dist/{fontLoader-Bx6DK6-2.d.mts → fontLoader-aSewHMKF.d.mts} +65 -63
  20. package/dist/{formatting-DoL7KBSL.d.mts → formatting-D1EPSaJP.d.mts} +1 -1
  21. package/dist/generated/edit/docx_edit_bg.wasm +0 -0
  22. package/dist/generated/layout/docx_layout_bg.wasm +0 -0
  23. package/dist/generated/opc/ooxml_opc_bg.wasm +0 -0
  24. package/dist/generated/parse/docx_parse_bg.wasm +0 -0
  25. package/dist/index-Bwxm3oiC.d.mts +934 -0
  26. package/dist/layout/index.d.mts +18 -240
  27. package/dist/layout/index.mjs +1 -1
  28. package/dist/layout/pagination/index.d.mts +10 -58
  29. package/dist/layout/pagination/index.mjs +1 -1
  30. package/dist/layout/render/index.d.mts +10 -11
  31. package/dist/layout/render/index.mjs +1 -1
  32. package/dist/plugin-api/RenderedDomContext.d.mts +8 -9
  33. package/dist/plugin-api/index.d.mts +191 -6
  34. package/dist/plugin-api/resolveItemPositions.d.mts +4 -5
  35. package/dist/{rustDisplayList-dqunvwxH.d.mts → rustDisplayList-CX78djsZ.d.mts} +5 -5
  36. package/dist/rustMeasureSource-D1KsQvVC.d.mts +106 -0
  37. package/dist/selectiveSave-CVoajSKE.d.mts +56 -0
  38. package/dist/styles/index.d.mts +4 -39
  39. package/dist/styles/index.mjs +1 -1
  40. package/dist/{styles-VxNcXLdi.d.mts → styles-Dn_o3Vo5.d.mts} +2 -2
  41. package/dist/types/content.d.mts +2 -2
  42. package/dist/types/document.d.mts +40 -14
  43. package/dist/{types-DNrYr6yQ.d.mts → types-DMkDbvEu.d.mts} +3 -71
  44. package/dist/utils/comments.d.mts +2 -2
  45. package/dist/utils/index.d.mts +110 -576
  46. package/dist/utils/index.mjs +1 -84
  47. package/dist/utils/stylePreview.d.mts +2 -2
  48. package/dist/utils/units.d.mts +33 -2
  49. package/dist/wasm-BGQBTR2J.mjs +1 -0
  50. package/dist/wasm-edit.d.mts +13 -5
  51. package/dist/wasm-edit.mjs +1 -1
  52. package/dist/wasm-opc.mjs +1 -1
  53. package/dist/wasm-parse.mjs +1 -1
  54. package/dist/yrs/index.d.mts +5 -881
  55. package/dist/yrs/index.mjs +1 -1
  56. package/dist/yrs/residentEngineWorker.mjs +1 -1
  57. package/package.json +16 -139
  58. package/dist/Subscribable-DOz6Ohoo.d.mts +0 -33
  59. package/dist/agent/index.d.mts +0 -531
  60. package/dist/agent/index.mjs +0 -1
  61. package/dist/chunk-34K66SY4.mjs +0 -1
  62. package/dist/chunk-4RCISPPE.mjs +0 -1
  63. package/dist/chunk-52GB3Y42.mjs +0 -1
  64. package/dist/chunk-6PW4CWUG.mjs +0 -1
  65. package/dist/chunk-7DEIW7FL.mjs +0 -1
  66. package/dist/chunk-7PCO5I2O.mjs +0 -1
  67. package/dist/chunk-BI3B33LI.mjs +0 -1
  68. package/dist/chunk-BIQWVK5P.mjs +0 -2
  69. package/dist/chunk-DXKG3HQ5.mjs +0 -16
  70. package/dist/chunk-FPZBTOD6.mjs +0 -1
  71. package/dist/chunk-FZIA7OFY.mjs +0 -1
  72. package/dist/chunk-GWKJ2Y4Y.mjs +0 -1
  73. package/dist/chunk-HJGAQIU7.mjs +0 -2
  74. package/dist/chunk-I6KKMUUC.mjs +0 -1
  75. package/dist/chunk-IL5JZJT7.mjs +0 -1
  76. package/dist/chunk-JY6ILTNS.mjs +0 -1
  77. package/dist/chunk-KEE52TT5.mjs +0 -1
  78. package/dist/chunk-KVKLLTDP.mjs +0 -58
  79. package/dist/chunk-L5ISVQ3W.mjs +0 -1
  80. package/dist/chunk-LDUWIM7M.mjs +0 -1
  81. package/dist/chunk-N5Q3YN64.mjs +0 -1
  82. package/dist/chunk-NEWOMDTX.mjs +0 -1
  83. package/dist/chunk-O2QSE2I7.mjs +0 -1
  84. package/dist/chunk-OJOHXQNQ.mjs +0 -1
  85. package/dist/chunk-OMR3TWCD.mjs +0 -2
  86. package/dist/chunk-P3KDV4M2.mjs +0 -1
  87. package/dist/chunk-Q7PO7V73.mjs +0 -1
  88. package/dist/chunk-QOUFE3VX.mjs +0 -1
  89. package/dist/chunk-TYHI7RAD.mjs +0 -1
  90. package/dist/chunk-UIEJWORW.mjs +0 -1
  91. package/dist/chunk-VAOUFAUH.mjs +0 -1
  92. package/dist/chunk-VBOTMRXV.mjs +0 -1
  93. package/dist/chunk-VCER63GQ.mjs +0 -1
  94. package/dist/chunk-WAUF2UC7.mjs +0 -2
  95. package/dist/chunk-X4XDO3LZ.mjs +0 -1
  96. package/dist/chunk-XQBCCJBO.mjs +0 -9
  97. package/dist/chunk-XWUOLYRQ.mjs +0 -2
  98. package/dist/chunk-XYH6XWP3.mjs +0 -10
  99. package/dist/chunk-YBIM6UJV.mjs +0 -8
  100. package/dist/chunk-YCIH2Q3E.mjs +0 -1
  101. package/dist/chunk-ZOV5KL7C.mjs +0 -1
  102. package/dist/colorResolver-n0o7H7ep.d.mts +0 -290
  103. package/dist/core-plugins.d.mts +0 -37
  104. package/dist/core-plugins.mjs +0 -1
  105. package/dist/docx/parser.d.mts +0 -41
  106. package/dist/docx/parser.mjs +0 -1
  107. package/dist/docx/rezip.d.mts +0 -148
  108. package/dist/docx/rezip.mjs +0 -1
  109. package/dist/docx/serializer/index.d.mts +0 -42
  110. package/dist/docx/serializer/index.mjs +0 -1
  111. package/dist/editorTree-DO5PyDK8.d.mts +0 -37
  112. package/dist/executor-7O2RBJ2B.mjs +0 -1
  113. package/dist/headerFooterLayout-0zPT64Qc.d.mts +0 -316
  114. package/dist/headless.d.mts +0 -69
  115. package/dist/headless.mjs +0 -1
  116. package/dist/layout/flow/index.d.mts +0 -149
  117. package/dist/layout/flow/index.mjs +0 -1
  118. package/dist/layout/measure/index.d.mts +0 -324
  119. package/dist/layout/measure/index.mjs +0 -1
  120. package/dist/layout/pagination/types.d.mts +0 -4
  121. package/dist/layout/pagination/types.mjs +0 -1
  122. package/dist/managers/AutoSaveManager.d.mts +0 -81
  123. package/dist/managers/AutoSaveManager.mjs +0 -1
  124. package/dist/managers/TableSelectionManager.d.mts +0 -74
  125. package/dist/managers/TableSelectionManager.mjs +0 -1
  126. package/dist/managers/types.d.mts +0 -113
  127. package/dist/managers/types.mjs +0 -0
  128. package/dist/mcp-cli.mjs +0 -142
  129. package/dist/mcp.d.mts +0 -162
  130. package/dist/mcp.mjs +0 -16
  131. package/dist/measureBlocksPipeline-Df0Bbrwy.d.mts +0 -109
  132. package/dist/measuredBlock-DZwz8zhD.d.mts +0 -26
  133. package/dist/plugin-api/types.d.mts +0 -193
  134. package/dist/plugin-api/types.mjs +0 -0
  135. package/dist/processTemplate-HDUIZFJ5.mjs +0 -1
  136. package/dist/registry-DMM5VTdT.d.mts +0 -165
  137. package/dist/rustPagination-Bj2hq013.d.mts +0 -106
  138. package/dist/sectionConfigs-DW3J8q0X.d.mts +0 -55
  139. package/dist/selectionContext-Buc9BCU1.d.mts +0 -570
  140. package/dist/selectiveSave-oFBJ1n71.d.mts +0 -16
  141. package/dist/selectiveXmlPatch-ypkxlTD_.d.mts +0 -23
  142. package/dist/settingsParser-CcGvtmCK.d.mts +0 -33
  143. package/dist/types/agentApi.d.mts +0 -456
  144. package/dist/types/agentApi.mjs +0 -1
  145. package/dist/types-dYdjUZMo.d.mts +0 -311
  146. package/dist/units-O5Y02RKQ.d.mts +0 -34
  147. package/dist/utils/headingCollector.d.mts +0 -28
  148. package/dist/utils/headingCollector.mjs +0 -1
  149. package/dist/utils/highlightColors.d.mts +0 -14
  150. package/dist/utils/highlightColors.mjs +0 -1
  151. package/dist/utils/textSelection.d.mts +0 -92
  152. package/dist/utils/textSelection.mjs +0 -1
  153. package/dist/variableDetector-Borj29SF.d.mts +0 -115
  154. package/dist/wasm-FZQ5XB2Y.mjs +0 -1
  155. package/dist/watermarkApi-DCxjutkg.d.mts +0 -38
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@betteroffice/docx",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "sideEffects": [
5
5
  "**/residentEngineWorker.*"
6
6
  ],
7
- "description": "Framework-agnostic core for DOCX parsing, editing, and rendering",
7
+ "description": "Word-faithful DOCX editor and viewer core — full OOXML fidelity, real-time human + AI agent collaboration. Framework-agnostic (Rust/Wasm).",
8
8
  "main": "./dist/core.mjs",
9
9
  "module": "./dist/core.mjs",
10
10
  "types": "./dist/core.d.mts",
@@ -13,18 +13,6 @@
13
13
  "types": "./dist/core.d.mts",
14
14
  "import": "./dist/core.mjs"
15
15
  },
16
- "./headless": {
17
- "types": "./dist/headless.d.mts",
18
- "import": "./dist/headless.mjs"
19
- },
20
- "./core-plugins": {
21
- "types": "./dist/core-plugins.d.mts",
22
- "import": "./dist/core-plugins.mjs"
23
- },
24
- "./mcp": {
25
- "types": "./dist/mcp.d.mts",
26
- "import": "./dist/mcp.mjs"
27
- },
28
16
  "./docx": {
29
17
  "types": "./dist/docx/index.d.mts",
30
18
  "import": "./dist/docx/index.mjs"
@@ -33,14 +21,6 @@
33
21
  "types": "./dist/docx/wrapTypes.d.mts",
34
22
  "import": "./dist/docx/wrapTypes.mjs"
35
23
  },
36
- "./docx/serializer": {
37
- "types": "./dist/docx/serializer/index.d.mts",
38
- "import": "./dist/docx/serializer/index.mjs"
39
- },
40
- "./agent": {
41
- "types": "./dist/agent/index.d.mts",
42
- "import": "./dist/agent/index.mjs"
43
- },
44
24
  "./styles": {
45
25
  "types": "./dist/styles/index.d.mts",
46
26
  "import": "./dist/styles/index.mjs"
@@ -69,10 +49,6 @@
69
49
  "types": "./dist/plugin-api/resolveItemPositions.d.mts",
70
50
  "import": "./dist/plugin-api/resolveItemPositions.mjs"
71
51
  },
72
- "./plugin-api/types": {
73
- "types": "./dist/plugin-api/types.d.mts",
74
- "import": "./dist/plugin-api/types.mjs"
75
- },
76
52
  "./types/document": {
77
53
  "types": "./dist/types/document.d.mts",
78
54
  "import": "./dist/types/document.mjs"
@@ -81,10 +57,6 @@
81
57
  "types": "./dist/types/content.d.mts",
82
58
  "import": "./dist/types/content.mjs"
83
59
  },
84
- "./types/agentApi": {
85
- "types": "./dist/types/agentApi.d.mts",
86
- "import": "./dist/types/agentApi.mjs"
87
- },
88
60
  "./utils": {
89
61
  "types": "./dist/utils/index.d.mts",
90
62
  "import": "./dist/utils/index.mjs"
@@ -113,14 +85,6 @@
113
85
  "types": "./dist/utils/fontOptions.d.mts",
114
86
  "import": "./dist/utils/fontOptions.mjs"
115
87
  },
116
- "./utils/headingCollector": {
117
- "types": "./dist/utils/headingCollector.d.mts",
118
- "import": "./dist/utils/headingCollector.mjs"
119
- },
120
- "./utils/highlightColors": {
121
- "types": "./dist/utils/highlightColors.d.mts",
122
- "import": "./dist/utils/highlightColors.mjs"
123
- },
124
88
  "./utils/listState": {
125
89
  "types": "./dist/utils/listState.d.mts",
126
90
  "import": "./dist/utils/listState.mjs"
@@ -133,10 +97,6 @@
133
97
  "types": "./dist/utils/sidebarConstants.d.mts",
134
98
  "import": "./dist/utils/sidebarConstants.mjs"
135
99
  },
136
- "./utils/textSelection": {
137
- "types": "./dist/utils/textSelection.d.mts",
138
- "import": "./dist/utils/textSelection.mjs"
139
- },
140
100
  "./utils/units": {
141
101
  "types": "./dist/utils/units.d.mts",
142
102
  "import": "./dist/utils/units.mjs"
@@ -149,37 +109,9 @@
149
109
  "types": "./dist/yrs/index.d.mts",
150
110
  "import": "./dist/yrs/index.mjs"
151
111
  },
152
- "./docx/parser": {
153
- "types": "./dist/docx/parser.d.mts",
154
- "import": "./dist/docx/parser.mjs"
155
- },
156
- "./docx/rezip": {
157
- "types": "./dist/docx/rezip.d.mts",
158
- "import": "./dist/docx/rezip.mjs"
159
- },
160
- "./layout/measure": {
161
- "types": "./dist/layout/measure/index.d.mts",
162
- "import": "./dist/layout/measure/index.mjs"
163
- },
164
- "./layout/flow": {
165
- "types": "./dist/layout/flow/index.d.mts",
166
- "import": "./dist/layout/flow/index.mjs"
167
- },
168
- "./layout/pagination/types": {
169
- "types": "./dist/layout/pagination/types.d.mts",
170
- "import": "./dist/layout/pagination/types.mjs"
171
- },
172
- "./managers/AutoSaveManager": {
173
- "types": "./dist/managers/AutoSaveManager.d.mts",
174
- "import": "./dist/managers/AutoSaveManager.mjs"
175
- },
176
- "./managers/TableSelectionManager": {
177
- "types": "./dist/managers/TableSelectionManager.d.mts",
178
- "import": "./dist/managers/TableSelectionManager.mjs"
179
- },
180
- "./managers/types": {
181
- "types": "./dist/managers/types.d.mts",
182
- "import": "./dist/managers/types.mjs"
112
+ "./collaboration": {
113
+ "types": "./dist/collaboration/index.d.mts",
114
+ "import": "./dist/collaboration/index.mjs"
183
115
  },
184
116
  "./editor": {
185
117
  "types": "./dist/editor/index.d.mts",
@@ -188,27 +120,12 @@
188
120
  },
189
121
  "typesVersions": {
190
122
  "*": {
191
- "headless": [
192
- "./dist/headless.d.mts"
193
- ],
194
- "core-plugins": [
195
- "./dist/core-plugins.d.mts"
196
- ],
197
- "mcp": [
198
- "./dist/mcp.d.mts"
199
- ],
200
123
  "docx": [
201
124
  "./dist/docx/index.d.mts"
202
125
  ],
203
126
  "docx/wrapTypes": [
204
127
  "./dist/docx/wrapTypes.d.mts"
205
128
  ],
206
- "docx/serializer": [
207
- "./dist/docx/serializer/index.d.mts"
208
- ],
209
- "agent": [
210
- "./dist/agent/index.d.mts"
211
- ],
212
129
  "styles": [
213
130
  "./dist/styles/index.d.mts"
214
131
  ],
@@ -230,18 +147,12 @@
230
147
  "plugin-api/resolveItemPositions": [
231
148
  "./dist/plugin-api/resolveItemPositions.d.mts"
232
149
  ],
233
- "plugin-api/types": [
234
- "./dist/plugin-api/types.d.mts"
235
- ],
236
150
  "types/document": [
237
151
  "./dist/types/document.d.mts"
238
152
  ],
239
153
  "types/content": [
240
154
  "./dist/types/content.d.mts"
241
155
  ],
242
- "types/agentApi": [
243
- "./dist/types/agentApi.d.mts"
244
- ],
245
156
  "utils": [
246
157
  "./dist/utils/index.d.mts"
247
158
  ],
@@ -263,12 +174,6 @@
263
174
  "utils/fontOptions": [
264
175
  "./dist/utils/fontOptions.d.mts"
265
176
  ],
266
- "utils/headingCollector": [
267
- "./dist/utils/headingCollector.d.mts"
268
- ],
269
- "utils/highlightColors": [
270
- "./dist/utils/highlightColors.d.mts"
271
- ],
272
177
  "utils/listState": [
273
178
  "./dist/utils/listState.d.mts"
274
179
  ],
@@ -278,50 +183,23 @@
278
183
  "utils/sidebarConstants": [
279
184
  "./dist/utils/sidebarConstants.d.mts"
280
185
  ],
281
- "utils/textSelection": [
282
- "./dist/utils/textSelection.d.mts"
283
- ],
284
186
  "utils/units": [
285
187
  "./dist/utils/units.d.mts"
286
188
  ],
287
189
  "utils/autoScroll": [
288
190
  "./dist/utils/autoScroll.d.mts"
289
191
  ],
290
- "docx/parser": [
291
- "./dist/docx/parser.d.mts"
292
- ],
293
- "docx/rezip": [
294
- "./dist/docx/rezip.d.mts"
295
- ],
296
- "layout/measure": [
297
- "./dist/layout/measure/index.d.mts"
298
- ],
299
- "layout/flow": [
300
- "./dist/layout/flow/index.d.mts"
301
- ],
302
- "layout/pagination/types": [
303
- "./dist/layout/pagination/types.d.mts"
304
- ],
305
192
  "yrs": [
306
193
  "./dist/yrs/index.d.mts"
307
194
  ],
308
- "managers/AutoSaveManager": [
309
- "./dist/managers/AutoSaveManager.d.mts"
310
- ],
311
- "managers/TableSelectionManager": [
312
- "./dist/managers/TableSelectionManager.d.mts"
313
- ],
314
- "managers/types": [
315
- "./dist/managers/types.d.mts"
195
+ "collaboration": [
196
+ "./dist/collaboration/index.d.mts"
316
197
  ],
317
198
  "editor": [
318
199
  "./dist/editor/index.d.mts"
319
200
  ]
320
201
  }
321
202
  },
322
- "bin": {
323
- "docx-editor-mcp": "./dist/mcp-cli.mjs"
324
- },
325
203
  "files": [
326
204
  "dist"
327
205
  ],
@@ -330,15 +208,8 @@
330
208
  "typecheck": "tsc --noEmit",
331
209
  "build:wasm": "bun ../../scripts/build-docx-wasm.ts"
332
210
  },
333
- "dependencies": {
334
- "docxtemplater": "^3.50.0",
335
- "dompurify": "^3.2.0",
336
- "pizzip": "^3.1.7",
337
- "xml-js": "^1.6.11"
338
- },
339
211
  "devDependencies": {
340
212
  "@betteroffice/drawingml": "workspace:*",
341
- "jszip": "^3.10.1",
342
213
  "tsup": "^8.0.1",
343
214
  "typescript": "^6.0.3",
344
215
  "@types/bun": "^1.0.0",
@@ -346,10 +217,16 @@
346
217
  },
347
218
  "keywords": [
348
219
  "docx",
349
- "editor",
350
- "template",
351
220
  "word",
352
- "document"
221
+ "document",
222
+ "ooxml",
223
+ "office",
224
+ "editor",
225
+ "viewer",
226
+ "collaborative",
227
+ "real-time",
228
+ "ai-agent",
229
+ "wasm"
353
230
  ],
354
231
  "author": "OpenOOXML",
355
232
  "license": "Apache-2.0",
@@ -1,33 +0,0 @@
1
- /**
2
- * Subscribable Base Class
3
- *
4
- * Framework-agnostic base for manager classes that need to notify
5
- * UI frameworks of state changes.
6
- *
7
- * Compatible with:
8
- * - React: useSyncExternalStore(manager.subscribe, manager.getSnapshot)
9
- * - Vue: watchEffect(() => { manager.subscribe(triggerRef) })
10
- */
11
- declare abstract class Subscribable<TSnapshot> {
12
- private listeners;
13
- private snapshot;
14
- constructor(initialSnapshot: TSnapshot);
15
- /**
16
- * Subscribe to state changes. Returns an unsubscribe function.
17
- * Bound method — safe to pass as `useSyncExternalStore(manager.subscribe, ...)`.
18
- */
19
- subscribe: (listener: () => void) => (() => void);
20
- /**
21
- * Get the current snapshot. Returns a stable reference unless state has changed.
22
- * Bound method — safe to pass as `useSyncExternalStore(..., manager.getSnapshot)`.
23
- */
24
- getSnapshot: () => TSnapshot;
25
- /**
26
- * Update the snapshot and notify all subscribers.
27
- * Subclasses should call this whenever their state changes.
28
- */
29
- protected setSnapshot(snapshot: TSnapshot): void;
30
- private notify;
31
- }
32
-
33
- export { Subscribable as S };