@zeke-02/docx-editor 0.5.1 → 0.5.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 (211) hide show
  1. package/LICENSE +204 -0
  2. package/dist/FindReplaceDialog-7SQOVQWH.js +1 -0
  3. package/dist/FindReplaceDialog-RK3A7MSK.mjs +1 -0
  4. package/dist/{FootnotePropertiesDialog-XQ7NIFIU.js → FootnotePropertiesDialog-2Q2SHVMR.js} +1 -1
  5. package/dist/{FootnotePropertiesDialog-TNVJJCY6.mjs → FootnotePropertiesDialog-ZKQXW3YO.mjs} +1 -1
  6. package/dist/{HyperlinkDialog-FR4IZZ7E.mjs → HyperlinkDialog-QV3CVFQU.mjs} +1 -1
  7. package/dist/HyperlinkDialog-XVAF7FVN.js +1 -0
  8. package/dist/{ImagePositionDialog-JSZSIKF5.mjs → ImagePositionDialog-EGRH3HPP.mjs} +1 -1
  9. package/dist/{ImagePositionDialog-2YXRAGZS.js → ImagePositionDialog-HIVHUTBT.js} +1 -1
  10. package/dist/ImagePropertiesDialog-67WLFIIZ.mjs +1 -0
  11. package/dist/ImagePropertiesDialog-HSM3JJ22.js +1 -0
  12. package/dist/KeyboardShortcutsDialog-5D_FoAp6.d.ts +395 -0
  13. package/dist/KeyboardShortcutsDialog-D7ihAj18.d.mts +395 -0
  14. package/dist/PageSetupDialog-642IAVG2.js +1 -0
  15. package/dist/PageSetupDialog-ERUQDHAY.mjs +1 -0
  16. package/dist/{SplitCellDialog-NP3JJYHD.mjs → SplitCellDialog-GFWCFCTD.mjs} +1 -1
  17. package/dist/{SplitCellDialog-JIAC3RYV.js → SplitCellDialog-M7WF7ANE.js} +1 -1
  18. package/dist/{TablePropertiesDialog-TIK4AA5M.mjs → TablePropertiesDialog-TZ7VCL6V.mjs} +1 -1
  19. package/dist/{TablePropertiesDialog-T7D4HSVP.js → TablePropertiesDialog-ZKU2FTUX.js} +1 -1
  20. package/dist/agentApi-C41hiW-n.d.mts +486 -0
  21. package/dist/agentApi-D4AZmNfB.d.ts +486 -0
  22. package/dist/chunk-2XXILKEQ.js +1 -0
  23. package/dist/chunk-35DG3R42.js +2 -0
  24. package/dist/chunk-47VJOBJD.mjs +60 -0
  25. package/dist/chunk-5UX5CD4C.js +1 -0
  26. package/dist/chunk-7QQSDIWK.mjs +2 -0
  27. package/dist/chunk-AW5TISUL.js +3 -0
  28. package/dist/chunk-AYMGSTNG.js +1 -0
  29. package/dist/chunk-B45ECEGY.js +18 -0
  30. package/dist/chunk-B7CCL7SL.mjs +2 -0
  31. package/dist/chunk-BRMTZRLJ.js +2 -0
  32. package/dist/chunk-D47GTKGU.js +2 -0
  33. package/dist/chunk-E6MQXELR.js +1 -0
  34. package/dist/chunk-F5SERL7X.mjs +2 -0
  35. package/dist/chunk-FWPVBFKQ.mjs +1 -0
  36. package/dist/chunk-GGQK26JO.js +2 -0
  37. package/dist/chunk-GM2S2WMT.mjs +1 -0
  38. package/dist/chunk-ILYKDR3C.js +1 -0
  39. package/dist/chunk-IP5NAYHL.js +60 -0
  40. package/dist/chunk-JPF5R2ZM.mjs +1 -0
  41. package/dist/chunk-KOXCF3CL.mjs +1 -0
  42. package/dist/chunk-KRLNX56Y.mjs +2 -0
  43. package/dist/chunk-LUJ6HCMH.mjs +1 -0
  44. package/dist/chunk-MKNSJOCN.js +70 -0
  45. package/dist/chunk-NIBCC7WQ.js +1 -0
  46. package/dist/chunk-NLFXR2VH.js +2 -0
  47. package/dist/chunk-ONIYA2FU.mjs +2 -0
  48. package/dist/chunk-ONNHQWAX.mjs +1 -0
  49. package/dist/chunk-RCIZ7OM3.mjs +70 -0
  50. package/dist/{chunk-EHFEG3TX.js → chunk-SNZ57XBI.js} +1 -1
  51. package/dist/chunk-SOTWG3KJ.mjs +1 -0
  52. package/dist/chunk-TYPGB4KF.js +1 -0
  53. package/dist/chunk-U7ZW2DOO.mjs +2 -0
  54. package/dist/{chunk-PKEOQIQO.mjs → chunk-WPI3YRFO.mjs} +1 -1
  55. package/dist/chunk-XQZTWWRF.mjs +18 -0
  56. package/dist/chunk-ZVAFVHWR.mjs +3 -0
  57. package/dist/chunk-ZXPCJWVY.js +2 -0
  58. package/dist/{agentApi-DLt94vXk.d.mts → content-B2MzIMwA.d.mts} +8 -755
  59. package/dist/{agentApi-DLt94vXk.d.ts → content-B2MzIMwA.d.ts} +8 -755
  60. package/dist/dialogs.d.mts +25 -0
  61. package/dist/dialogs.d.ts +25 -0
  62. package/dist/dialogs.js +1 -0
  63. package/dist/dialogs.mjs +1 -0
  64. package/dist/document-DZ_ZeZEH.d.ts +294 -0
  65. package/dist/document-Di1qGqLS.d.mts +294 -0
  66. package/dist/executor-EPEB53SJ.js +1 -0
  67. package/dist/executor-TVJ6K6MW.mjs +1 -0
  68. package/dist/findReplace-CpIoILbP.d.mts +138 -0
  69. package/dist/findReplace-pkMskVJU.d.ts +138 -0
  70. package/dist/hooks.d.mts +598 -0
  71. package/dist/hooks.d.ts +598 -0
  72. package/dist/hooks.js +1 -0
  73. package/dist/hooks.mjs +1 -0
  74. package/dist/index.d.mts +1013 -483
  75. package/dist/index.d.ts +1013 -483
  76. package/dist/index.js +40 -120
  77. package/dist/index.mjs +40 -120
  78. package/dist/layout-bridge-5GYGYKM5.mjs +1 -0
  79. package/dist/layout-bridge-QQDA7ELH.js +1 -0
  80. package/dist/plugin-api.d.mts +176 -0
  81. package/dist/plugin-api.d.ts +176 -0
  82. package/dist/plugin-api.js +260 -0
  83. package/dist/plugin-api.mjs +260 -0
  84. package/dist/processTemplate-BTBTR7AM.js +1 -0
  85. package/dist/{processTemplate-W2C5PXZB.mjs → processTemplate-MBX2KDLE.mjs} +1 -1
  86. package/dist/styles.css +1 -1
  87. package/dist/styles.d.mts +18 -0
  88. package/dist/styles.d.ts +18 -0
  89. package/dist/styles.js +1 -0
  90. package/dist/styles.mjs +1 -0
  91. package/dist/types-Bd_YzkhG.d.mts +281 -0
  92. package/dist/types-Bd_YzkhG.d.ts +281 -0
  93. package/dist/types-CkfDgB0O.d.mts +39 -0
  94. package/dist/types-DZUhB7Ao.d.mts +18 -0
  95. package/dist/types-DZUhB7Ao.d.ts +18 -0
  96. package/dist/types-DcxHFUSc.d.ts +39 -0
  97. package/dist/ui.d.mts +111 -552
  98. package/dist/ui.d.ts +111 -552
  99. package/dist/ui.js +111 -1
  100. package/dist/ui.mjs +111 -1
  101. package/dist/useFindReplace-DDs533b-.d.mts +261 -0
  102. package/dist/useFindReplace-eyhMSZZf.d.ts +261 -0
  103. package/package.json +41 -43
  104. package/dist/ClipboardManager-CVKX0v9q.d.ts +0 -464
  105. package/dist/ClipboardManager-V3aaMnWE.d.mts +0 -464
  106. package/dist/DocumentAgent-BWflKHpH.d.mts +0 -442
  107. package/dist/DocumentAgent-DsdXtetF.d.ts +0 -442
  108. package/dist/FindReplaceDialog-L3YF5HIS.mjs +0 -1
  109. package/dist/FindReplaceDialog-SEBWC5P7.js +0 -1
  110. package/dist/HyperlinkDialog-WEK6JSAC.js +0 -1
  111. package/dist/ImagePropertiesDialog-527MFLQO.mjs +0 -1
  112. package/dist/ImagePropertiesDialog-HG4K3IE7.js +0 -1
  113. package/dist/PageSetupDialog-GALVJMUB.js +0 -1
  114. package/dist/PageSetupDialog-TGQIAMI7.mjs +0 -1
  115. package/dist/TableToolbar-DUgmob2I.d.ts +0 -1273
  116. package/dist/TableToolbar-YL74HNS1.d.mts +0 -1273
  117. package/dist/chunk-23SXXIZS.js +0 -111
  118. package/dist/chunk-3F52AP2Q.js +0 -1
  119. package/dist/chunk-42O5GXM5.mjs +0 -82
  120. package/dist/chunk-54ULJEHM.mjs +0 -1
  121. package/dist/chunk-5XK326FI.mjs +0 -1
  122. package/dist/chunk-6WPRCJ5A.mjs +0 -1
  123. package/dist/chunk-76IYR7C7.mjs +0 -1
  124. package/dist/chunk-7BG7QY7I.js +0 -182
  125. package/dist/chunk-AGRIVA4G.js +0 -1
  126. package/dist/chunk-BTCQ2QI3.mjs +0 -3
  127. package/dist/chunk-BUEMG4NW.js +0 -1
  128. package/dist/chunk-BXRC4U3X.mjs +0 -2
  129. package/dist/chunk-CPAYKE6X.mjs +0 -1
  130. package/dist/chunk-DACWLFKI.mjs +0 -1
  131. package/dist/chunk-EPBFWE36.js +0 -2
  132. package/dist/chunk-FXES3YDB.js +0 -82
  133. package/dist/chunk-HI66BSGS.mjs +0 -9
  134. package/dist/chunk-INTPVEO6.mjs +0 -9
  135. package/dist/chunk-IOAGVW6Q.mjs +0 -2
  136. package/dist/chunk-JCEWC5QL.mjs +0 -4
  137. package/dist/chunk-JTIUFACT.js +0 -1
  138. package/dist/chunk-KUTCCI4X.mjs +0 -182
  139. package/dist/chunk-LUF7PWIC.js +0 -10
  140. package/dist/chunk-MGEN6GOE.mjs +0 -2
  141. package/dist/chunk-MOE2ZGUE.js +0 -18
  142. package/dist/chunk-MWLHJWB6.js +0 -9
  143. package/dist/chunk-OFYVDN3U.mjs +0 -2
  144. package/dist/chunk-P4VSHBGZ.js +0 -2
  145. package/dist/chunk-P5FQHIES.mjs +0 -1
  146. package/dist/chunk-PBC7XAYZ.js +0 -3
  147. package/dist/chunk-PEMB6SZT.js +0 -2
  148. package/dist/chunk-PQMSZTBB.js +0 -9
  149. package/dist/chunk-Q7UDQXAF.js +0 -1
  150. package/dist/chunk-QGTAIC5E.js +0 -1
  151. package/dist/chunk-QVPR2W5S.js +0 -1
  152. package/dist/chunk-R3QMYPL5.mjs +0 -59
  153. package/dist/chunk-RBUTXXQJ.mjs +0 -18
  154. package/dist/chunk-RRWYZ2TS.mjs +0 -111
  155. package/dist/chunk-SFUM35DH.js +0 -2
  156. package/dist/chunk-SNLC6EK2.js +0 -1
  157. package/dist/chunk-TMTLIGLZ.js +0 -59
  158. package/dist/chunk-TSE2PWFX.mjs +0 -10
  159. package/dist/chunk-UWYD42WV.js +0 -4
  160. package/dist/chunk-UXVACQCY.mjs +0 -1
  161. package/dist/chunk-W4EIKDM6.mjs +0 -2
  162. package/dist/chunk-W53SI3XW.mjs +0 -1
  163. package/dist/chunk-WNS2RBQD.js +0 -2
  164. package/dist/chunk-Z3KMSHUP.js +0 -1
  165. package/dist/core-plugins-reexport.d.mts +0 -31
  166. package/dist/core-plugins-reexport.d.ts +0 -31
  167. package/dist/core-plugins-reexport.js +0 -1
  168. package/dist/core-plugins-reexport.mjs +0 -1
  169. package/dist/core-reexport.d.mts +0 -340
  170. package/dist/core-reexport.d.ts +0 -340
  171. package/dist/core-reexport.js +0 -1
  172. package/dist/core-reexport.mjs +0 -1
  173. package/dist/documentSerializer-DtS_-oGA.d.mts +0 -664
  174. package/dist/documentSerializer-Wj1p2ASa.d.ts +0 -664
  175. package/dist/executor-C3VXF7QA.mjs +0 -1
  176. package/dist/executor-GDBV3AGV.js +0 -1
  177. package/dist/headless-reexport.d.mts +0 -197
  178. package/dist/headless-reexport.d.ts +0 -197
  179. package/dist/headless-reexport.js +0 -1
  180. package/dist/headless-reexport.mjs +0 -1
  181. package/dist/insertOperations-BTH1Asas.d.mts +0 -176
  182. package/dist/insertOperations-CbUnXAXH.d.ts +0 -176
  183. package/dist/layout-bridge-EA4DJ227.js +0 -1
  184. package/dist/layout-bridge-XDPSO6GO.mjs +0 -1
  185. package/dist/mcp-reexport.d.mts +0 -156
  186. package/dist/mcp-reexport.d.ts +0 -156
  187. package/dist/mcp-reexport.js +0 -16
  188. package/dist/mcp-reexport.mjs +0 -16
  189. package/dist/processTemplate-MJ2PCSO5.js +0 -1
  190. package/dist/react-B0W16SV6.d.ts +0 -1330
  191. package/dist/react-D0Pn1nww.d.mts +0 -1330
  192. package/dist/react.css +0 -1
  193. package/dist/react.d.mts +0 -10
  194. package/dist/react.d.ts +0 -10
  195. package/dist/react.js +0 -1
  196. package/dist/react.mjs +0 -1
  197. package/dist/registry-CH9V-IX0.d.ts +0 -165
  198. package/dist/registry-CWBKYlNW.d.mts +0 -165
  199. package/dist/types-UDsUq8D3.d.mts +0 -310
  200. package/dist/types-jbivc9Lj.d.ts +0 -310
  201. package/dist/variableDetector-CdQ7ZTzA.d.mts +0 -204
  202. package/dist/variableDetector-DsRV3A9z.d.ts +0 -204
  203. package/i18n/de.json +0 -792
  204. package/i18n/en.json +0 -792
  205. package/i18n/he.json +0 -792
  206. package/i18n/pl.json +0 -792
  207. package/i18n/pt-BR.json +0 -792
  208. package/i18n/tr.json +0 -792
  209. package/i18n/zh-CN.json +0 -792
  210. /package/dist/{chunk-YC5KZSYD.js → chunk-ESZ6JRTW.js} +0 -0
  211. /package/dist/{chunk-LVGJKS7Y.mjs → chunk-TZMMD6RR.mjs} +0 -0
@@ -1,340 +0,0 @@
1
- import { D as Document } from './agentApi-DLt94vXk.mjs';
2
- export { f as AIAction, g as AIActionRequest, A as AgentCommand, h as AgentContext, i as AgentResponse, j as ApplyStyleCommand, l as BlockContent, ad as BookmarkEnd, ae as BookmarkStart, p as DeleteTextCommand, d as DocumentBody, r as DocxPackage, E as Endnote, af as Field, ag as FooterReference, F as Footnote, t as FormatTextCommand, ah as HeaderFooter, ai as HeaderReference, H as Hyperlink, I as Image, u as InsertHyperlinkCommand, v as InsertImageCommand, w as InsertTableCommand, x as InsertTextCommand, L as ListLevel, N as NumberingDefinitions, a as Paragraph, J as ParagraphContext, K as ParagraphFormatting, P as Position, R as Range, Q as Relationship, S as ReplaceTextCommand, b as Run, c as RunContent, V as SectionProperties, W as SelectionContext, X as SetVariableCommand, aj as Shape, Y as Style, Z as StyleDefinitions, $ as SuggestedAction, e as Table, a0 as TableCell, a1 as TableRow, ak as TextBox, a2 as TextContent, T as TextFormatting, a3 as Theme, al as ThemeColorScheme, am as ThemeFont, an as ThemeFontScheme } from './agentApi-DLt94vXk.mjs';
3
- export { A as AgentContextOptions, C as CreateEmptyDocumentOptions, E as ExtendedSelectionContext, P as ProcessTemplateOptions, a as ProcessTemplateResult, b as SelectionContextOptions, a0 as ThemeMatrixCell, c as blendColors, d as buildExtendedSelectionContext, e as buildSelectionContext, g as colorsEqual, h as createDocumentWithText, i as createEmptyDocument, j as createRgbColor, l as createThemeColor, m as darkenColor, n as emuToPixels, o as emuToTwips, a1 as ensureHexPrefix, p as executeCommand, q as executeCommands, r as formatPx, a2 as generateThemeTintShadeMatrix, s as getAgentContext, t as getContrastingColor, u as getDocumentSummary, x as getTemplateTags, a3 as getThemeTintShadeHex, y as halfPointsToPixels, z as isBlack, B as isWhite, D as lightenColor, G as parseColorString, H as parseDocx, I as pixelsToEmu, J as pixelsToTwips, K as pointsToPixels, M as processTemplate, O as processTemplateAsBlob, Q as processTemplateDetailed, R as resolveColor, U as resolveHighlightColor, a4 as resolveHighlightToCss, V as resolveShadingColor, W as serializeDocumentBody, X as serializeDocx, Y as serializeSectionProperties, Z as twipsToEmu, _ as twipsToPixels, $ as validateTemplate } from './documentSerializer-DtS_-oGA.mjs';
4
- import { S as Subscribable, E as ErrorManagerSnapshot, P as PluginLifecycleSnapshot, a as PluginLifecycleConfig } from './ClipboardManager-V3aaMnWE.mjs';
5
- export { A as AutoSaveManager, b as AutoSaveManagerOptions, c as AutoSaveSnapshot, d as AutoSaveStatus, C as CellCoordinates, e as ClipboardSelection, f as EditorHandle, g as EditorPluginCore, h as ErrorNotification, i as ErrorSeverity, j as PanelConfig, k as PluginPanelProps, l as PositionCoordinates, R as RenderedDomContext, m as SavedDocumentData, T as TABLE_DATA_ATTRIBUTES, n as TableSelectionManager, o as TableSelectionSnapshot, p as createSelectionFromDOM, q as deleteTableFromDocument, r as extractFormattingFromElement, s as findTableFromClick, t as formatLastSaveTime, u as formatStorageSize, v as getAutoSaveStatusLabel, w as getAutoSaveStorageSize, x as getSelectionRuns, y as getTableFromDocument, z as isAutoSaveSupported, B as rgbToHex, D as updateTableInDocument } from './ClipboardManager-V3aaMnWE.mjs';
6
- export { C as CorePlugin, e as McpSession, M as McpToolDefinition, i as McpToolHandler, j as McpToolResult } from './types-UDsUq8D3.mjs';
7
- export { D as DocumentAgent, g as DocxInput, d as attemptSelectiveSave, t as toArrayBuffer } from './DocumentAgent-BWflKHpH.mjs';
8
- export { I as InsertPosition, c as canRenderFont, a as countPageBreaks, b as createColumnBreak, d as createHorizontalRule, e as createLineBreak, f as createPageBreak, g as createPageBreakParagraph, h as createPageBreakRun, i as findPageBreaks, j as getLoadedFonts, k as hasPageBreakBefore, l as insertHorizontalRule, m as insertPageBreak, n as isBreakContent, o as isColumnBreak, p as isFontLoaded, q as isFontsLoading, r as isLineBreak, s as isPageBreak, t as loadFont, u as loadFontFromBuffer, v as loadFonts, w as onFontsLoaded, x as preloadCommonFonts, y as removePageBreak } from './insertOperations-BTH1Asas.mjs';
9
- import { EditorView } from 'prosemirror-view';
10
- export { P as PluginRegistry, p as pluginRegistry, r as registerPlugins } from './registry-CWBKYlNW.mjs';
11
- export { V as VariableDetectionResult, a as VariableOccurrence, b as buildPatchedDocumentXml, c as createDocx, d as detectVariables, e as detectVariablesDetailed, f as detectVariablesInBody, g as detectVariablesInParagraph, h as documentHasVariables, i as extractVariablesFromText, j as formatVariable, k as hasTemplateVariables, l as isValidVariableName, p as parseVariable, r as removeVariables, m as repackDocx, n as replaceVariables, s as sanitizeVariableName, u as updateMultipleFiles, v as validatePatchSafety } from './variableDetector-CdQ7ZTzA.mjs';
12
- export { docxtemplaterPlugin } from './core-plugins-reexport.mjs';
13
- import { Node } from 'prosemirror-model';
14
- import 'prosemirror-state';
15
-
16
- /**
17
- * ProseMirror position immediately before the first textblock whose `paraId`
18
- * attribute equals `paraId` (Word `w14:paraId` / OOXML paragraph id).
19
- *
20
- * Match is strict string equality on `node.attrs.paraId`.
21
- */
22
- declare function findStartPosForParaId(doc: Node, paraId: string): number | null;
23
-
24
- /**
25
- * ProseMirror position range for the paragraph (or any textblock) whose
26
- * `paraId` attribute equals `paraId`. Returns the inclusive `from` and
27
- * exclusive `to` positions, plus the node, so callers can both target
28
- * the paragraph (e.g. addMark over its text range) and inspect it.
29
- *
30
- * `from` is the position immediately before the textblock; `to` is
31
- * `from + node.nodeSize`. The text content lives at `[from + 1, to - 1]`.
32
- *
33
- * Returns null if no textblock with that paraId exists.
34
- */
35
- declare function findParagraphByParaId(doc: Node, paraId: string): {
36
- node: Node;
37
- from: number;
38
- to: number;
39
- } | null;
40
-
41
- /**
42
- * ErrorManager
43
- *
44
- * Framework-agnostic pub/sub error notification system.
45
- * Replaces React's `componentDidCatch` + context pattern for error notifications.
46
- *
47
- * Usage with React:
48
- * ```ts
49
- * const { notifications } = useSyncExternalStore(manager.subscribe, manager.getSnapshot);
50
- * ```
51
- */
52
-
53
- declare class ErrorManager extends Subscribable<ErrorManagerSnapshot> {
54
- private notifications;
55
- private idCounter;
56
- private timers;
57
- constructor();
58
- /** Show an error notification (persistent, not auto-dismissed). */
59
- showError(message: string, details?: string): string;
60
- /** Show a warning notification (auto-dismissed after 5s). */
61
- showWarning(message: string, details?: string): string;
62
- /** Show an info notification (auto-dismissed after 5s). */
63
- showInfo(message: string, details?: string): string;
64
- /** Dismiss a notification by ID. */
65
- dismiss(id: string): void;
66
- /** Clear all notifications and cancel pending timers. */
67
- clearAll(): void;
68
- /** Destroy the manager and clean up all timers. */
69
- destroy(): void;
70
- private addNotification;
71
- private emitSnapshot;
72
- }
73
-
74
- /**
75
- * PluginLifecycleManager
76
- *
77
- * Framework-agnostic class for managing editor plugin lifecycle.
78
- * Extracted from React's `PluginHost.tsx`.
79
- *
80
- * Handles:
81
- * - Plugin initialization and state tracking
82
- * - Plugin state updates via `updateStates()`
83
- * - Plugin destroy/cleanup
84
- *
85
- * Does NOT handle (framework hosts are responsible for):
86
- * - CSS injection (use the exported `injectStyles` utility)
87
- * - DOM event listeners / dispatch wrapping
88
- */
89
-
90
- /** Inject CSS styles into the document head. Returns a cleanup function. */
91
- declare function injectStyles(pluginId: string, css: string): () => void;
92
- declare class PluginLifecycleManager extends Subscribable<PluginLifecycleSnapshot> {
93
- private plugins;
94
- private pluginStates;
95
- private version;
96
- constructor();
97
- /**
98
- * Initialize plugins with an editor view.
99
- * Calls `plugin.initialize(editorView)` for each plugin.
100
- *
101
- * Note: CSS injection and DOM event listeners are the responsibility
102
- * of the framework-specific host (e.g. React PluginHost).
103
- */
104
- initialize(plugins: PluginLifecycleConfig[], editorView: EditorView): void;
105
- /**
106
- * Update all plugin states by calling `onStateChange` on each plugin.
107
- * Returns true if any plugin state changed.
108
- */
109
- updateStates(editorView: EditorView): boolean;
110
- /** Get plugin state by ID. */
111
- getPluginState<T>(pluginId: string): T | undefined;
112
- /** Set plugin state by ID. */
113
- setPluginState<T>(pluginId: string, state: T): void;
114
- /** Destroy all plugins and clean up. */
115
- destroy(): void;
116
- private destroyPlugins;
117
- private emitSnapshot;
118
- }
119
-
120
- /**
121
- * LayoutCoordinator
122
- *
123
- * Framework-agnostic class coordinating the PM state → layout engine →
124
- * layout painter → selection overlay pipeline.
125
- *
126
- * Extracted from PagedEditor.tsx. Manages:
127
- * - Layout pipeline state (blocks, measures, layout)
128
- * - Selection state (selectionRects, caretPosition)
129
- * - Drag selection state
130
- * - Column resize state
131
- * - Image interaction state
132
- *
133
- * Usage with React:
134
- * ```ts
135
- * const snapshot = useSyncExternalStore(coordinator.subscribe, coordinator.getSnapshot);
136
- * ```
137
- *
138
- * NOTE: This class defines the state shape and subscription pattern.
139
- * Full integration with PagedEditor is done incrementally.
140
- */
141
-
142
- /** Selection rectangle for rendering selection overlays */
143
- interface SelectionRect {
144
- x: number;
145
- y: number;
146
- width: number;
147
- height: number;
148
- pageIndex: number;
149
- }
150
- /** Caret position for rendering the blinking cursor */
151
- interface CaretPosition {
152
- x: number;
153
- y: number;
154
- height: number;
155
- pageIndex: number;
156
- }
157
- /** Info about the currently selected/hovered image */
158
- interface ImageSelectionInfo {
159
- pmPos: number;
160
- pageIndex: number;
161
- rect: {
162
- x: number;
163
- y: number;
164
- width: number;
165
- height: number;
166
- };
167
- widthEmu: number;
168
- heightEmu: number;
169
- isInline: boolean;
170
- }
171
- /** Column resize tracking state */
172
- interface ColumnResizeState {
173
- isResizing: boolean;
174
- startX: number;
175
- columnIndex: number;
176
- tablePmStart: number;
177
- originalWidths: {
178
- left: number;
179
- right: number;
180
- };
181
- }
182
- /** The full snapshot exposed to UI frameworks */
183
- interface LayoutCoordinatorSnapshot {
184
- /** Computed page layout, null until first computation */
185
- hasLayout: boolean;
186
- /** Selection rectangles for range selection overlay */
187
- selectionRects: SelectionRect[];
188
- /** Caret position for cursor overlay */
189
- caretPosition: CaretPosition | null;
190
- /** Currently selected/hovered image */
191
- selectedImageInfo: ImageSelectionInfo | null;
192
- /** Whether the editor is focused */
193
- isFocused: boolean;
194
- /** Whether a text drag is in progress */
195
- isDragging: boolean;
196
- /** Whether a column resize is in progress */
197
- isResizingColumn: boolean;
198
- /** Whether an image interaction is in progress */
199
- isImageInteracting: boolean;
200
- /** Version counter — incremented on every state change */
201
- version: number;
202
- }
203
- declare class LayoutCoordinator extends Subscribable<LayoutCoordinatorSnapshot> {
204
- private _hasLayout;
205
- private _selectionRects;
206
- private _caretPosition;
207
- private _isDragging;
208
- private _dragAnchor;
209
- private _columnResize;
210
- private _selectedImageInfo;
211
- private _isImageInteracting;
212
- private _isFocused;
213
- private _version;
214
- constructor();
215
- /** Notify that layout has been computed. */
216
- setLayoutReady(hasLayout: boolean): void;
217
- /** Update selection rectangles and caret position. */
218
- updateSelection(selectionRects: SelectionRect[], caretPosition: CaretPosition | null): void;
219
- /** Start a drag selection from the given PM anchor position. */
220
- startDrag(anchor: number): void;
221
- /** End drag selection. */
222
- endDrag(): void;
223
- /** Get the drag anchor position. */
224
- getDragAnchor(): number | null;
225
- /** Start resizing a table column. */
226
- startColumnResize(tablePmStart: number, columnIndex: number, startX: number, originalWidths: {
227
- left: number;
228
- right: number;
229
- }): void;
230
- /** End column resize. */
231
- endColumnResize(): void;
232
- /** Get current column resize state. */
233
- getColumnResize(): ColumnResizeState;
234
- /** Set the currently selected image. */
235
- setSelectedImage(imageInfo: ImageSelectionInfo | null): void;
236
- /** Clear the image selection. */
237
- clearSelectedImage(): void;
238
- /** Set whether an image interaction (resize/move) is in progress. */
239
- setImageInteracting(interacting: boolean): void;
240
- /** Update focus state. */
241
- setFocused(focused: boolean): void;
242
- private emitSnapshot;
243
- }
244
-
245
- /**
246
- * EditorCoordinator
247
- *
248
- * Framework-agnostic class managing the document editor lifecycle:
249
- * - Document parsing and loading
250
- * - Font loading coordination
251
- * - Zoom level management
252
- * - Extension manager initialization
253
- * - Agent command execution
254
- *
255
- * Extracted from DocxEditor.tsx.
256
- *
257
- * Usage with React:
258
- * ```ts
259
- * const snapshot = useSyncExternalStore(coordinator.subscribe, coordinator.getSnapshot);
260
- * ```
261
- *
262
- * NOTE: This class defines the state shape and coordination logic.
263
- * Full integration with DocxEditor is done incrementally.
264
- */
265
-
266
- /** Editor loading state */
267
- type EditorLoadingState = 'idle' | 'parsing' | 'loading-fonts' | 'ready' | 'error';
268
- /** Configuration for EditorCoordinator */
269
- interface EditorCoordinatorOptions {
270
- /** Initial zoom level (default: 1.0) */
271
- initialZoom?: number;
272
- /** Callback when the document changes */
273
- onChange?: (document: Document) => void;
274
- /** Callback when an error occurs */
275
- onError?: (error: Error) => void;
276
- }
277
- /** The full snapshot exposed to UI frameworks */
278
- interface EditorCoordinatorSnapshot {
279
- /** Current loading state */
280
- loadingState: EditorLoadingState;
281
- /** Error message if loadingState is 'error' */
282
- parseError: string | null;
283
- /** Whether the editor is ready for interaction */
284
- isReady: boolean;
285
- /** Current zoom level (1.0 = 100%) */
286
- zoom: number;
287
- /** Whether fonts have been loaded */
288
- fontsLoaded: boolean;
289
- /** Version counter */
290
- version: number;
291
- }
292
- declare class EditorCoordinator extends Subscribable<EditorCoordinatorSnapshot> {
293
- private _loadingState;
294
- private _parseError;
295
- private _zoom;
296
- private _fontsLoaded;
297
- private _document;
298
- private _version;
299
- private onChangeCallback?;
300
- private onErrorCallback?;
301
- constructor(options?: EditorCoordinatorOptions);
302
- /** Signal that document parsing has started. */
303
- setParsingStarted(): void;
304
- /** Signal that document parsing completed successfully. */
305
- setDocumentLoaded(document: Document): void;
306
- /** Signal that font loading completed. */
307
- setFontsLoaded(): void;
308
- /** Signal that an error occurred during loading. */
309
- setLoadError(error: Error): void;
310
- /** Get the current document. */
311
- getDocument(): Document | null;
312
- /** Update the document (after edits). */
313
- updateDocument(document: Document): void;
314
- /** Set the zoom level (1.0 = 100%). */
315
- setZoom(zoom: number): void;
316
- /** Get the current zoom level. */
317
- getZoom(): number;
318
- private emitSnapshot;
319
- }
320
-
321
- /**
322
- * @eigenpal/docx-core (default entry point)
323
- *
324
- * Fat barrel that re-exports the parser, serializer, agent, plugin
325
- * registry, and the most-used types. No React/DOM imports.
326
- *
327
- * **When to import from `.` vs `./headless`:** identical for Node.js
328
- * use; `.` is the convenient aggregate, `./headless` is its mirror with
329
- * a slightly different name suffix. Adapter authors who only need a
330
- * specific slice should prefer the smaller subpaths (`./docx`, `./agent`,
331
- * `./prosemirror`, `./layout-*`, `./utils`) — they tree-shake better.
332
- *
333
- * @example
334
- * ```ts
335
- * import { parseDocx, serializeDocx, resolveColor } from '@eigenpal/docx-core';
336
- * ```
337
- */
338
- declare const VERSION = "0.0.2";
339
-
340
- export { type CaretPosition, type ColumnResizeState, Document, EditorCoordinator, type EditorCoordinatorOptions, type EditorCoordinatorSnapshot, type EditorLoadingState, ErrorManager, ErrorManagerSnapshot, type ImageSelectionInfo, LayoutCoordinator, type LayoutCoordinatorSnapshot, PluginLifecycleConfig, PluginLifecycleManager, PluginLifecycleSnapshot, type SelectionRect, Subscribable, VERSION, findParagraphByParaId, findStartPosForParaId, injectStyles };
@@ -1,340 +0,0 @@
1
- import { D as Document } from './agentApi-DLt94vXk.js';
2
- export { f as AIAction, g as AIActionRequest, A as AgentCommand, h as AgentContext, i as AgentResponse, j as ApplyStyleCommand, l as BlockContent, ad as BookmarkEnd, ae as BookmarkStart, p as DeleteTextCommand, d as DocumentBody, r as DocxPackage, E as Endnote, af as Field, ag as FooterReference, F as Footnote, t as FormatTextCommand, ah as HeaderFooter, ai as HeaderReference, H as Hyperlink, I as Image, u as InsertHyperlinkCommand, v as InsertImageCommand, w as InsertTableCommand, x as InsertTextCommand, L as ListLevel, N as NumberingDefinitions, a as Paragraph, J as ParagraphContext, K as ParagraphFormatting, P as Position, R as Range, Q as Relationship, S as ReplaceTextCommand, b as Run, c as RunContent, V as SectionProperties, W as SelectionContext, X as SetVariableCommand, aj as Shape, Y as Style, Z as StyleDefinitions, $ as SuggestedAction, e as Table, a0 as TableCell, a1 as TableRow, ak as TextBox, a2 as TextContent, T as TextFormatting, a3 as Theme, al as ThemeColorScheme, am as ThemeFont, an as ThemeFontScheme } from './agentApi-DLt94vXk.js';
3
- export { A as AgentContextOptions, C as CreateEmptyDocumentOptions, E as ExtendedSelectionContext, P as ProcessTemplateOptions, a as ProcessTemplateResult, b as SelectionContextOptions, a0 as ThemeMatrixCell, c as blendColors, d as buildExtendedSelectionContext, e as buildSelectionContext, g as colorsEqual, h as createDocumentWithText, i as createEmptyDocument, j as createRgbColor, l as createThemeColor, m as darkenColor, n as emuToPixels, o as emuToTwips, a1 as ensureHexPrefix, p as executeCommand, q as executeCommands, r as formatPx, a2 as generateThemeTintShadeMatrix, s as getAgentContext, t as getContrastingColor, u as getDocumentSummary, x as getTemplateTags, a3 as getThemeTintShadeHex, y as halfPointsToPixels, z as isBlack, B as isWhite, D as lightenColor, G as parseColorString, H as parseDocx, I as pixelsToEmu, J as pixelsToTwips, K as pointsToPixels, M as processTemplate, O as processTemplateAsBlob, Q as processTemplateDetailed, R as resolveColor, U as resolveHighlightColor, a4 as resolveHighlightToCss, V as resolveShadingColor, W as serializeDocumentBody, X as serializeDocx, Y as serializeSectionProperties, Z as twipsToEmu, _ as twipsToPixels, $ as validateTemplate } from './documentSerializer-Wj1p2ASa.js';
4
- import { S as Subscribable, E as ErrorManagerSnapshot, P as PluginLifecycleSnapshot, a as PluginLifecycleConfig } from './ClipboardManager-CVKX0v9q.js';
5
- export { A as AutoSaveManager, b as AutoSaveManagerOptions, c as AutoSaveSnapshot, d as AutoSaveStatus, C as CellCoordinates, e as ClipboardSelection, f as EditorHandle, g as EditorPluginCore, h as ErrorNotification, i as ErrorSeverity, j as PanelConfig, k as PluginPanelProps, l as PositionCoordinates, R as RenderedDomContext, m as SavedDocumentData, T as TABLE_DATA_ATTRIBUTES, n as TableSelectionManager, o as TableSelectionSnapshot, p as createSelectionFromDOM, q as deleteTableFromDocument, r as extractFormattingFromElement, s as findTableFromClick, t as formatLastSaveTime, u as formatStorageSize, v as getAutoSaveStatusLabel, w as getAutoSaveStorageSize, x as getSelectionRuns, y as getTableFromDocument, z as isAutoSaveSupported, B as rgbToHex, D as updateTableInDocument } from './ClipboardManager-CVKX0v9q.js';
6
- export { C as CorePlugin, e as McpSession, M as McpToolDefinition, i as McpToolHandler, j as McpToolResult } from './types-jbivc9Lj.js';
7
- export { D as DocumentAgent, g as DocxInput, d as attemptSelectiveSave, t as toArrayBuffer } from './DocumentAgent-DsdXtetF.js';
8
- export { I as InsertPosition, c as canRenderFont, a as countPageBreaks, b as createColumnBreak, d as createHorizontalRule, e as createLineBreak, f as createPageBreak, g as createPageBreakParagraph, h as createPageBreakRun, i as findPageBreaks, j as getLoadedFonts, k as hasPageBreakBefore, l as insertHorizontalRule, m as insertPageBreak, n as isBreakContent, o as isColumnBreak, p as isFontLoaded, q as isFontsLoading, r as isLineBreak, s as isPageBreak, t as loadFont, u as loadFontFromBuffer, v as loadFonts, w as onFontsLoaded, x as preloadCommonFonts, y as removePageBreak } from './insertOperations-CbUnXAXH.js';
9
- import { EditorView } from 'prosemirror-view';
10
- export { P as PluginRegistry, p as pluginRegistry, r as registerPlugins } from './registry-CH9V-IX0.js';
11
- export { V as VariableDetectionResult, a as VariableOccurrence, b as buildPatchedDocumentXml, c as createDocx, d as detectVariables, e as detectVariablesDetailed, f as detectVariablesInBody, g as detectVariablesInParagraph, h as documentHasVariables, i as extractVariablesFromText, j as formatVariable, k as hasTemplateVariables, l as isValidVariableName, p as parseVariable, r as removeVariables, m as repackDocx, n as replaceVariables, s as sanitizeVariableName, u as updateMultipleFiles, v as validatePatchSafety } from './variableDetector-DsRV3A9z.js';
12
- export { docxtemplaterPlugin } from './core-plugins-reexport.js';
13
- import { Node } from 'prosemirror-model';
14
- import 'prosemirror-state';
15
-
16
- /**
17
- * ProseMirror position immediately before the first textblock whose `paraId`
18
- * attribute equals `paraId` (Word `w14:paraId` / OOXML paragraph id).
19
- *
20
- * Match is strict string equality on `node.attrs.paraId`.
21
- */
22
- declare function findStartPosForParaId(doc: Node, paraId: string): number | null;
23
-
24
- /**
25
- * ProseMirror position range for the paragraph (or any textblock) whose
26
- * `paraId` attribute equals `paraId`. Returns the inclusive `from` and
27
- * exclusive `to` positions, plus the node, so callers can both target
28
- * the paragraph (e.g. addMark over its text range) and inspect it.
29
- *
30
- * `from` is the position immediately before the textblock; `to` is
31
- * `from + node.nodeSize`. The text content lives at `[from + 1, to - 1]`.
32
- *
33
- * Returns null if no textblock with that paraId exists.
34
- */
35
- declare function findParagraphByParaId(doc: Node, paraId: string): {
36
- node: Node;
37
- from: number;
38
- to: number;
39
- } | null;
40
-
41
- /**
42
- * ErrorManager
43
- *
44
- * Framework-agnostic pub/sub error notification system.
45
- * Replaces React's `componentDidCatch` + context pattern for error notifications.
46
- *
47
- * Usage with React:
48
- * ```ts
49
- * const { notifications } = useSyncExternalStore(manager.subscribe, manager.getSnapshot);
50
- * ```
51
- */
52
-
53
- declare class ErrorManager extends Subscribable<ErrorManagerSnapshot> {
54
- private notifications;
55
- private idCounter;
56
- private timers;
57
- constructor();
58
- /** Show an error notification (persistent, not auto-dismissed). */
59
- showError(message: string, details?: string): string;
60
- /** Show a warning notification (auto-dismissed after 5s). */
61
- showWarning(message: string, details?: string): string;
62
- /** Show an info notification (auto-dismissed after 5s). */
63
- showInfo(message: string, details?: string): string;
64
- /** Dismiss a notification by ID. */
65
- dismiss(id: string): void;
66
- /** Clear all notifications and cancel pending timers. */
67
- clearAll(): void;
68
- /** Destroy the manager and clean up all timers. */
69
- destroy(): void;
70
- private addNotification;
71
- private emitSnapshot;
72
- }
73
-
74
- /**
75
- * PluginLifecycleManager
76
- *
77
- * Framework-agnostic class for managing editor plugin lifecycle.
78
- * Extracted from React's `PluginHost.tsx`.
79
- *
80
- * Handles:
81
- * - Plugin initialization and state tracking
82
- * - Plugin state updates via `updateStates()`
83
- * - Plugin destroy/cleanup
84
- *
85
- * Does NOT handle (framework hosts are responsible for):
86
- * - CSS injection (use the exported `injectStyles` utility)
87
- * - DOM event listeners / dispatch wrapping
88
- */
89
-
90
- /** Inject CSS styles into the document head. Returns a cleanup function. */
91
- declare function injectStyles(pluginId: string, css: string): () => void;
92
- declare class PluginLifecycleManager extends Subscribable<PluginLifecycleSnapshot> {
93
- private plugins;
94
- private pluginStates;
95
- private version;
96
- constructor();
97
- /**
98
- * Initialize plugins with an editor view.
99
- * Calls `plugin.initialize(editorView)` for each plugin.
100
- *
101
- * Note: CSS injection and DOM event listeners are the responsibility
102
- * of the framework-specific host (e.g. React PluginHost).
103
- */
104
- initialize(plugins: PluginLifecycleConfig[], editorView: EditorView): void;
105
- /**
106
- * Update all plugin states by calling `onStateChange` on each plugin.
107
- * Returns true if any plugin state changed.
108
- */
109
- updateStates(editorView: EditorView): boolean;
110
- /** Get plugin state by ID. */
111
- getPluginState<T>(pluginId: string): T | undefined;
112
- /** Set plugin state by ID. */
113
- setPluginState<T>(pluginId: string, state: T): void;
114
- /** Destroy all plugins and clean up. */
115
- destroy(): void;
116
- private destroyPlugins;
117
- private emitSnapshot;
118
- }
119
-
120
- /**
121
- * LayoutCoordinator
122
- *
123
- * Framework-agnostic class coordinating the PM state → layout engine →
124
- * layout painter → selection overlay pipeline.
125
- *
126
- * Extracted from PagedEditor.tsx. Manages:
127
- * - Layout pipeline state (blocks, measures, layout)
128
- * - Selection state (selectionRects, caretPosition)
129
- * - Drag selection state
130
- * - Column resize state
131
- * - Image interaction state
132
- *
133
- * Usage with React:
134
- * ```ts
135
- * const snapshot = useSyncExternalStore(coordinator.subscribe, coordinator.getSnapshot);
136
- * ```
137
- *
138
- * NOTE: This class defines the state shape and subscription pattern.
139
- * Full integration with PagedEditor is done incrementally.
140
- */
141
-
142
- /** Selection rectangle for rendering selection overlays */
143
- interface SelectionRect {
144
- x: number;
145
- y: number;
146
- width: number;
147
- height: number;
148
- pageIndex: number;
149
- }
150
- /** Caret position for rendering the blinking cursor */
151
- interface CaretPosition {
152
- x: number;
153
- y: number;
154
- height: number;
155
- pageIndex: number;
156
- }
157
- /** Info about the currently selected/hovered image */
158
- interface ImageSelectionInfo {
159
- pmPos: number;
160
- pageIndex: number;
161
- rect: {
162
- x: number;
163
- y: number;
164
- width: number;
165
- height: number;
166
- };
167
- widthEmu: number;
168
- heightEmu: number;
169
- isInline: boolean;
170
- }
171
- /** Column resize tracking state */
172
- interface ColumnResizeState {
173
- isResizing: boolean;
174
- startX: number;
175
- columnIndex: number;
176
- tablePmStart: number;
177
- originalWidths: {
178
- left: number;
179
- right: number;
180
- };
181
- }
182
- /** The full snapshot exposed to UI frameworks */
183
- interface LayoutCoordinatorSnapshot {
184
- /** Computed page layout, null until first computation */
185
- hasLayout: boolean;
186
- /** Selection rectangles for range selection overlay */
187
- selectionRects: SelectionRect[];
188
- /** Caret position for cursor overlay */
189
- caretPosition: CaretPosition | null;
190
- /** Currently selected/hovered image */
191
- selectedImageInfo: ImageSelectionInfo | null;
192
- /** Whether the editor is focused */
193
- isFocused: boolean;
194
- /** Whether a text drag is in progress */
195
- isDragging: boolean;
196
- /** Whether a column resize is in progress */
197
- isResizingColumn: boolean;
198
- /** Whether an image interaction is in progress */
199
- isImageInteracting: boolean;
200
- /** Version counter — incremented on every state change */
201
- version: number;
202
- }
203
- declare class LayoutCoordinator extends Subscribable<LayoutCoordinatorSnapshot> {
204
- private _hasLayout;
205
- private _selectionRects;
206
- private _caretPosition;
207
- private _isDragging;
208
- private _dragAnchor;
209
- private _columnResize;
210
- private _selectedImageInfo;
211
- private _isImageInteracting;
212
- private _isFocused;
213
- private _version;
214
- constructor();
215
- /** Notify that layout has been computed. */
216
- setLayoutReady(hasLayout: boolean): void;
217
- /** Update selection rectangles and caret position. */
218
- updateSelection(selectionRects: SelectionRect[], caretPosition: CaretPosition | null): void;
219
- /** Start a drag selection from the given PM anchor position. */
220
- startDrag(anchor: number): void;
221
- /** End drag selection. */
222
- endDrag(): void;
223
- /** Get the drag anchor position. */
224
- getDragAnchor(): number | null;
225
- /** Start resizing a table column. */
226
- startColumnResize(tablePmStart: number, columnIndex: number, startX: number, originalWidths: {
227
- left: number;
228
- right: number;
229
- }): void;
230
- /** End column resize. */
231
- endColumnResize(): void;
232
- /** Get current column resize state. */
233
- getColumnResize(): ColumnResizeState;
234
- /** Set the currently selected image. */
235
- setSelectedImage(imageInfo: ImageSelectionInfo | null): void;
236
- /** Clear the image selection. */
237
- clearSelectedImage(): void;
238
- /** Set whether an image interaction (resize/move) is in progress. */
239
- setImageInteracting(interacting: boolean): void;
240
- /** Update focus state. */
241
- setFocused(focused: boolean): void;
242
- private emitSnapshot;
243
- }
244
-
245
- /**
246
- * EditorCoordinator
247
- *
248
- * Framework-agnostic class managing the document editor lifecycle:
249
- * - Document parsing and loading
250
- * - Font loading coordination
251
- * - Zoom level management
252
- * - Extension manager initialization
253
- * - Agent command execution
254
- *
255
- * Extracted from DocxEditor.tsx.
256
- *
257
- * Usage with React:
258
- * ```ts
259
- * const snapshot = useSyncExternalStore(coordinator.subscribe, coordinator.getSnapshot);
260
- * ```
261
- *
262
- * NOTE: This class defines the state shape and coordination logic.
263
- * Full integration with DocxEditor is done incrementally.
264
- */
265
-
266
- /** Editor loading state */
267
- type EditorLoadingState = 'idle' | 'parsing' | 'loading-fonts' | 'ready' | 'error';
268
- /** Configuration for EditorCoordinator */
269
- interface EditorCoordinatorOptions {
270
- /** Initial zoom level (default: 1.0) */
271
- initialZoom?: number;
272
- /** Callback when the document changes */
273
- onChange?: (document: Document) => void;
274
- /** Callback when an error occurs */
275
- onError?: (error: Error) => void;
276
- }
277
- /** The full snapshot exposed to UI frameworks */
278
- interface EditorCoordinatorSnapshot {
279
- /** Current loading state */
280
- loadingState: EditorLoadingState;
281
- /** Error message if loadingState is 'error' */
282
- parseError: string | null;
283
- /** Whether the editor is ready for interaction */
284
- isReady: boolean;
285
- /** Current zoom level (1.0 = 100%) */
286
- zoom: number;
287
- /** Whether fonts have been loaded */
288
- fontsLoaded: boolean;
289
- /** Version counter */
290
- version: number;
291
- }
292
- declare class EditorCoordinator extends Subscribable<EditorCoordinatorSnapshot> {
293
- private _loadingState;
294
- private _parseError;
295
- private _zoom;
296
- private _fontsLoaded;
297
- private _document;
298
- private _version;
299
- private onChangeCallback?;
300
- private onErrorCallback?;
301
- constructor(options?: EditorCoordinatorOptions);
302
- /** Signal that document parsing has started. */
303
- setParsingStarted(): void;
304
- /** Signal that document parsing completed successfully. */
305
- setDocumentLoaded(document: Document): void;
306
- /** Signal that font loading completed. */
307
- setFontsLoaded(): void;
308
- /** Signal that an error occurred during loading. */
309
- setLoadError(error: Error): void;
310
- /** Get the current document. */
311
- getDocument(): Document | null;
312
- /** Update the document (after edits). */
313
- updateDocument(document: Document): void;
314
- /** Set the zoom level (1.0 = 100%). */
315
- setZoom(zoom: number): void;
316
- /** Get the current zoom level. */
317
- getZoom(): number;
318
- private emitSnapshot;
319
- }
320
-
321
- /**
322
- * @eigenpal/docx-core (default entry point)
323
- *
324
- * Fat barrel that re-exports the parser, serializer, agent, plugin
325
- * registry, and the most-used types. No React/DOM imports.
326
- *
327
- * **When to import from `.` vs `./headless`:** identical for Node.js
328
- * use; `.` is the convenient aggregate, `./headless` is its mirror with
329
- * a slightly different name suffix. Adapter authors who only need a
330
- * specific slice should prefer the smaller subpaths (`./docx`, `./agent`,
331
- * `./prosemirror`, `./layout-*`, `./utils`) — they tree-shake better.
332
- *
333
- * @example
334
- * ```ts
335
- * import { parseDocx, serializeDocx, resolveColor } from '@eigenpal/docx-core';
336
- * ```
337
- */
338
- declare const VERSION = "0.0.2";
339
-
340
- export { type CaretPosition, type ColumnResizeState, Document, EditorCoordinator, type EditorCoordinatorOptions, type EditorCoordinatorSnapshot, type EditorLoadingState, ErrorManager, ErrorManagerSnapshot, type ImageSelectionInfo, LayoutCoordinator, type LayoutCoordinatorSnapshot, PluginLifecycleConfig, PluginLifecycleManager, PluginLifecycleSnapshot, type SelectionRect, Subscribable, VERSION, findParagraphByParaId, findStartPosForParaId, injectStyles };