@betteroffice/docx 0.0.1 → 0.0.3

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 (165) 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-GGEGIQRK.mjs +1 -0
  6. package/dist/chunk-IFT6DUJX.mjs +1 -0
  7. package/dist/chunk-J7LNO6SM.mjs +1 -0
  8. package/dist/{chunk-H3JCIGWK.mjs → chunk-NJHOPXZW.mjs} +1 -1
  9. package/dist/{chunk-KXNZFTTK.mjs → chunk-WBH3SXI6.mjs} +1 -1
  10. package/dist/chunk-WON6K4FY.mjs +1 -0
  11. package/dist/chunk-Y7RUNRU2.mjs +1 -0
  12. package/dist/collaboration/index.d.mts +65 -0
  13. package/dist/collaboration/index.mjs +1 -0
  14. package/dist/{content-sSHuWw49.d.mts → content-MOZ6hKP4.d.mts} +357 -357
  15. package/dist/core.d.mts +148 -341
  16. package/dist/core.mjs +1 -1
  17. package/dist/{displayListQueries-p-ijSzdh.d.mts → displayListQueries-BJlo7Jkz.d.mts} +24 -6
  18. package/dist/docx/index.d.mts +40 -520
  19. package/dist/docx/index.mjs +2 -2
  20. package/dist/editor/index.d.mts +36 -151
  21. package/dist/editor/index.mjs +1 -1
  22. package/dist/{fontLoader-Bx6DK6-2.d.mts → fontLoader-aSewHMKF.d.mts} +65 -63
  23. package/dist/{formatting-DoL7KBSL.d.mts → formatting-D1EPSaJP.d.mts} +1 -1
  24. package/dist/{rustDisplayList-dqunvwxH.d.mts → frameDelta-D965X8yK.d.mts} +3 -274
  25. package/dist/generated/edit/docx_edit_bg.wasm +0 -0
  26. package/dist/generated/layout/docx_layout_bg.wasm +0 -0
  27. package/dist/generated/opc/ooxml_opc_bg.wasm +0 -0
  28. package/dist/generated/parse/docx_parse_bg.wasm +0 -0
  29. package/dist/index-Dx4Z3lkz.d.mts +1010 -0
  30. package/dist/layout/index.d.mts +19 -240
  31. package/dist/layout/index.mjs +1 -1
  32. package/dist/layout/pagination/index.d.mts +10 -58
  33. package/dist/layout/pagination/index.mjs +1 -1
  34. package/dist/layout/render/index.d.mts +11 -11
  35. package/dist/layout/render/index.mjs +1 -1
  36. package/dist/plugin-api/RenderedDomContext.d.mts +9 -9
  37. package/dist/plugin-api/index.d.mts +191 -6
  38. package/dist/plugin-api/resolveItemPositions.d.mts +4 -5
  39. package/dist/rustDisplayList-BRuZBqdL.d.mts +278 -0
  40. package/dist/rustMeasureSource-D1KsQvVC.d.mts +106 -0
  41. package/dist/selectiveSave-CVoajSKE.d.mts +56 -0
  42. package/dist/styles/index.d.mts +4 -39
  43. package/dist/styles/index.mjs +1 -1
  44. package/dist/{styles-VxNcXLdi.d.mts → styles-Dn_o3Vo5.d.mts} +2 -2
  45. package/dist/types/content.d.mts +2 -2
  46. package/dist/types/document.d.mts +40 -14
  47. package/dist/{types-DNrYr6yQ.d.mts → types-BfqUl2h_.d.mts} +3 -71
  48. package/dist/utils/comments.d.mts +2 -2
  49. package/dist/utils/index.d.mts +110 -576
  50. package/dist/utils/index.mjs +1 -84
  51. package/dist/utils/stylePreview.d.mts +2 -2
  52. package/dist/utils/units.d.mts +33 -2
  53. package/dist/wasm-DO3BUV7C.mjs +1 -0
  54. package/dist/wasm-NWXX4H5G.mjs +1 -0
  55. package/dist/wasm-edit.d.mts +14 -5
  56. package/dist/wasm-edit.mjs +1 -1
  57. package/dist/wasm-layout.d.mts +10 -1
  58. package/dist/wasm-layout.mjs +1 -1
  59. package/dist/wasm-opc.mjs +1 -1
  60. package/dist/wasm-parse.mjs +1 -1
  61. package/dist/yrs/index.d.mts +6 -881
  62. package/dist/yrs/index.mjs +1 -1
  63. package/dist/yrs/residentEngineWorker.mjs +1 -1
  64. package/package.json +16 -139
  65. package/dist/Subscribable-DOz6Ohoo.d.mts +0 -33
  66. package/dist/agent/index.d.mts +0 -531
  67. package/dist/agent/index.mjs +0 -1
  68. package/dist/chunk-34K66SY4.mjs +0 -1
  69. package/dist/chunk-4RCISPPE.mjs +0 -1
  70. package/dist/chunk-52GB3Y42.mjs +0 -1
  71. package/dist/chunk-6NEKRDXF.mjs +0 -1
  72. package/dist/chunk-6PW4CWUG.mjs +0 -1
  73. package/dist/chunk-7DEIW7FL.mjs +0 -1
  74. package/dist/chunk-7PCO5I2O.mjs +0 -1
  75. package/dist/chunk-BI3B33LI.mjs +0 -1
  76. package/dist/chunk-BIQWVK5P.mjs +0 -2
  77. package/dist/chunk-CIRN3LZA.mjs +0 -1
  78. package/dist/chunk-DXKG3HQ5.mjs +0 -16
  79. package/dist/chunk-FPZBTOD6.mjs +0 -1
  80. package/dist/chunk-FZIA7OFY.mjs +0 -1
  81. package/dist/chunk-GWKJ2Y4Y.mjs +0 -1
  82. package/dist/chunk-HJGAQIU7.mjs +0 -2
  83. package/dist/chunk-I6KKMUUC.mjs +0 -1
  84. package/dist/chunk-IL5JZJT7.mjs +0 -1
  85. package/dist/chunk-JY6ILTNS.mjs +0 -1
  86. package/dist/chunk-KEE52TT5.mjs +0 -1
  87. package/dist/chunk-KVKLLTDP.mjs +0 -58
  88. package/dist/chunk-L5ISVQ3W.mjs +0 -1
  89. package/dist/chunk-LDUWIM7M.mjs +0 -1
  90. package/dist/chunk-N5Q3YN64.mjs +0 -1
  91. package/dist/chunk-NEWOMDTX.mjs +0 -1
  92. package/dist/chunk-O2QSE2I7.mjs +0 -1
  93. package/dist/chunk-OJOHXQNQ.mjs +0 -1
  94. package/dist/chunk-OMR3TWCD.mjs +0 -2
  95. package/dist/chunk-P3KDV4M2.mjs +0 -1
  96. package/dist/chunk-Q7PO7V73.mjs +0 -1
  97. package/dist/chunk-QOUFE3VX.mjs +0 -1
  98. package/dist/chunk-TYHI7RAD.mjs +0 -1
  99. package/dist/chunk-UIEJWORW.mjs +0 -1
  100. package/dist/chunk-VAOUFAUH.mjs +0 -1
  101. package/dist/chunk-VBOTMRXV.mjs +0 -1
  102. package/dist/chunk-VCER63GQ.mjs +0 -1
  103. package/dist/chunk-WAUF2UC7.mjs +0 -2
  104. package/dist/chunk-X4XDO3LZ.mjs +0 -1
  105. package/dist/chunk-XQBCCJBO.mjs +0 -9
  106. package/dist/chunk-XWUOLYRQ.mjs +0 -2
  107. package/dist/chunk-XYH6XWP3.mjs +0 -10
  108. package/dist/chunk-YBIM6UJV.mjs +0 -8
  109. package/dist/chunk-YCIH2Q3E.mjs +0 -1
  110. package/dist/chunk-ZOV5KL7C.mjs +0 -1
  111. package/dist/colorResolver-n0o7H7ep.d.mts +0 -290
  112. package/dist/core-plugins.d.mts +0 -37
  113. package/dist/core-plugins.mjs +0 -1
  114. package/dist/docx/parser.d.mts +0 -41
  115. package/dist/docx/parser.mjs +0 -1
  116. package/dist/docx/rezip.d.mts +0 -148
  117. package/dist/docx/rezip.mjs +0 -1
  118. package/dist/docx/serializer/index.d.mts +0 -42
  119. package/dist/docx/serializer/index.mjs +0 -1
  120. package/dist/editorTree-DO5PyDK8.d.mts +0 -37
  121. package/dist/executor-7O2RBJ2B.mjs +0 -1
  122. package/dist/headerFooterLayout-0zPT64Qc.d.mts +0 -316
  123. package/dist/headless.d.mts +0 -69
  124. package/dist/headless.mjs +0 -1
  125. package/dist/layout/flow/index.d.mts +0 -149
  126. package/dist/layout/flow/index.mjs +0 -1
  127. package/dist/layout/measure/index.d.mts +0 -324
  128. package/dist/layout/measure/index.mjs +0 -1
  129. package/dist/layout/pagination/types.d.mts +0 -4
  130. package/dist/layout/pagination/types.mjs +0 -1
  131. package/dist/managers/AutoSaveManager.d.mts +0 -81
  132. package/dist/managers/AutoSaveManager.mjs +0 -1
  133. package/dist/managers/TableSelectionManager.d.mts +0 -74
  134. package/dist/managers/TableSelectionManager.mjs +0 -1
  135. package/dist/managers/types.d.mts +0 -113
  136. package/dist/managers/types.mjs +0 -0
  137. package/dist/mcp-cli.mjs +0 -142
  138. package/dist/mcp.d.mts +0 -162
  139. package/dist/mcp.mjs +0 -16
  140. package/dist/measureBlocksPipeline-Df0Bbrwy.d.mts +0 -109
  141. package/dist/measuredBlock-DZwz8zhD.d.mts +0 -26
  142. package/dist/plugin-api/types.d.mts +0 -193
  143. package/dist/plugin-api/types.mjs +0 -0
  144. package/dist/processTemplate-HDUIZFJ5.mjs +0 -1
  145. package/dist/registry-DMM5VTdT.d.mts +0 -165
  146. package/dist/rustPagination-Bj2hq013.d.mts +0 -106
  147. package/dist/sectionConfigs-DW3J8q0X.d.mts +0 -55
  148. package/dist/selectionContext-Buc9BCU1.d.mts +0 -570
  149. package/dist/selectiveSave-oFBJ1n71.d.mts +0 -16
  150. package/dist/selectiveXmlPatch-ypkxlTD_.d.mts +0 -23
  151. package/dist/settingsParser-CcGvtmCK.d.mts +0 -33
  152. package/dist/types/agentApi.d.mts +0 -456
  153. package/dist/types/agentApi.mjs +0 -1
  154. package/dist/types-dYdjUZMo.d.mts +0 -311
  155. package/dist/units-O5Y02RKQ.d.mts +0 -34
  156. package/dist/utils/headingCollector.d.mts +0 -28
  157. package/dist/utils/headingCollector.mjs +0 -1
  158. package/dist/utils/highlightColors.d.mts +0 -14
  159. package/dist/utils/highlightColors.mjs +0 -1
  160. package/dist/utils/textSelection.d.mts +0 -92
  161. package/dist/utils/textSelection.mjs +0 -1
  162. package/dist/variableDetector-Borj29SF.d.mts +0 -115
  163. package/dist/wasm-FZQ5XB2Y.mjs +0 -1
  164. package/dist/wasm-SA237OSP.mjs +0 -1
  165. 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.3",
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 };