@eigenpal/docx-editor-core 1.1.0 → 1.2.1

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 (209) hide show
  1. package/dist/agent/index.d.mts +42 -6
  2. package/dist/agent/index.d.ts +42 -6
  3. package/dist/agent/index.js +1 -1
  4. package/dist/agent/index.mjs +1 -1
  5. package/dist/chunk-2EQGBVPV.js +2 -0
  6. package/dist/chunk-2XP6GLA4.mjs +1 -0
  7. package/dist/{chunk-CTHHUJAB.mjs → chunk-44JKHPGF.mjs} +1 -1
  8. package/dist/{chunk-J4J2Y6EU.js → chunk-4QEETB7U.js} +2 -2
  9. package/dist/{chunk-GFDIPDJ6.mjs → chunk-5BLQHXWK.mjs} +1 -1
  10. package/dist/{chunk-UOQT6A7P.js → chunk-5M7TI6TV.js} +1 -1
  11. package/dist/{chunk-7Z2AGPNQ.mjs → chunk-7BVHKWEW.mjs} +1 -1
  12. package/dist/chunk-7OW3VCZE.mjs +1 -0
  13. package/dist/chunk-7ZN4WI5N.mjs +4 -0
  14. package/dist/{chunk-GY5BWVM7.js → chunk-AMB6Y77B.js} +1 -1
  15. package/dist/{chunk-H42RXHT4.js → chunk-BXWOLARZ.js} +1 -1
  16. package/dist/chunk-C45EFOVP.js +1 -0
  17. package/dist/chunk-CCPBNE2F.mjs +2 -0
  18. package/dist/{chunk-5CDBSK2R.mjs → chunk-D62KS7QG.mjs} +1 -1
  19. package/dist/chunk-DI6CRWSW.mjs +1 -0
  20. package/dist/chunk-EQAORQC3.mjs +1 -0
  21. package/dist/chunk-FO6IX2DB.js +6 -0
  22. package/dist/chunk-FW23IMBF.mjs +1 -0
  23. package/dist/{chunk-BGE57OES.js → chunk-FYKRDDKG.js} +1 -1
  24. package/dist/chunk-GSKMHXHG.js +1 -0
  25. package/dist/{chunk-MZ2XCZAN.mjs → chunk-GUQFNJHE.mjs} +1 -1
  26. package/dist/chunk-ICE6NC3S.mjs +1 -0
  27. package/dist/chunk-IFUED5ZS.mjs +1 -0
  28. package/dist/chunk-ISKTBM4L.js +1 -0
  29. package/dist/{chunk-73AZQWIE.js → chunk-IYKBX24M.js} +1 -1
  30. package/dist/chunk-KGTEBLB6.js +1 -0
  31. package/dist/chunk-KOEWROYV.mjs +6 -0
  32. package/dist/{chunk-IF4C25FN.mjs → chunk-KRN6YSR2.mjs} +1 -1
  33. package/dist/chunk-KZXZWGFX.mjs +1 -0
  34. package/dist/chunk-L72YAV5N.js +3 -0
  35. package/dist/chunk-LK6I3HMH.mjs +0 -0
  36. package/dist/chunk-LWH66Q7Q.js +1 -0
  37. package/dist/{chunk-ONRBRDIC.mjs → chunk-MERJFGEP.mjs} +1 -1
  38. package/dist/chunk-PVAVS3IU.js +1 -0
  39. package/dist/{chunk-OUEKNYX5.mjs → chunk-QKLY4F2J.mjs} +1 -1
  40. package/dist/{chunk-LCICADWM.js → chunk-QYF7BRG3.js} +1 -1
  41. package/dist/chunk-RKDVY7I3.mjs +1 -0
  42. package/dist/chunk-ROG4MNOR.js +4 -0
  43. package/dist/{chunk-HV6HE6YR.js → chunk-SZIOF5SG.js} +3 -3
  44. package/dist/{chunk-W7GLQ6DV.js → chunk-THLJYXFB.js} +1 -1
  45. package/dist/{chunk-25KY5HLN.js → chunk-U4WUDHDK.js} +1 -1
  46. package/dist/{chunk-KGDXHUYC.js → chunk-U4XMGWF7.js} +1 -1
  47. package/dist/chunk-U67MWOPZ.mjs +1 -0
  48. package/dist/{chunk-LOCW6MR2.js → chunk-UGV4KRQB.js} +1 -1
  49. package/dist/chunk-VMRUBLPI.js +1 -0
  50. package/dist/chunk-WKUHYMDO.mjs +1 -0
  51. package/dist/chunk-WLDI6N3B.mjs +3 -0
  52. package/dist/chunk-WVERBZZU.js +1 -0
  53. package/dist/chunk-Z5MJYQSD.mjs +1 -0
  54. package/dist/chunk-ZBFNOJGY.js +1 -0
  55. package/dist/{content-5Mrz6w_b.d.mts → content-CE-ZdMwG.d.mts} +167 -109
  56. package/dist/{content-CmqAwdFL.d.ts → content-CYXJ2tfQ.d.ts} +167 -109
  57. package/dist/contentControlValues-DAwTWfgR.d.mts +187 -0
  58. package/dist/contentControlValues-gyVPsi6m.d.ts +187 -0
  59. package/dist/core-plugins.d.mts +1 -1
  60. package/dist/core-plugins.d.ts +1 -1
  61. package/dist/core-plugins.js +1 -1
  62. package/dist/core-plugins.mjs +1 -1
  63. package/dist/core.d.mts +6 -6
  64. package/dist/core.d.ts +6 -6
  65. package/dist/core.js +1 -1
  66. package/dist/core.mjs +1 -1
  67. package/dist/{documentSerializer-DgO3A9av.d.mts → documentSerializer-Bghq9rFI.d.mts} +1 -1
  68. package/dist/{documentSerializer-BRaaXIHm.d.ts → documentSerializer-C4lFC60P.d.ts} +1 -1
  69. package/dist/documentStyles-D87dxl18.d.mts +34 -0
  70. package/dist/documentStyles-DToJv9co.d.ts +34 -0
  71. package/dist/docx/index.d.mts +1 -1
  72. package/dist/docx/index.d.ts +1 -1
  73. package/dist/docx/index.js +1 -1
  74. package/dist/docx/index.mjs +1 -1
  75. package/dist/docx/parser.d.mts +1 -1
  76. package/dist/docx/parser.d.ts +1 -1
  77. package/dist/docx/parser.js +1 -1
  78. package/dist/docx/parser.mjs +1 -1
  79. package/dist/docx/rezip.d.mts +1 -1
  80. package/dist/docx/rezip.d.ts +1 -1
  81. package/dist/docx/rezip.js +1 -1
  82. package/dist/docx/rezip.mjs +1 -1
  83. package/dist/docx/serializer/index.d.mts +2 -2
  84. package/dist/docx/serializer/index.d.ts +2 -2
  85. package/dist/docx/serializer/index.js +1 -1
  86. package/dist/docx/serializer/index.mjs +1 -1
  87. package/dist/{fontLoader-CK2QLq68.d.ts → fontLoader-Cm02v7PO.d.ts} +1 -1
  88. package/dist/{fontLoader-8b4X-AIh.d.mts → fontLoader-Z7pqeNvZ.d.mts} +1 -1
  89. package/dist/{headerFooterLayout-Ca4ESDHF.d.ts → headerFooterLayout-Bd58Tum3.d.ts} +1 -1
  90. package/dist/{headerFooterLayout-72Vz7yp3.d.mts → headerFooterLayout-CuIJiIzi.d.mts} +1 -1
  91. package/dist/headless.d.mts +5 -4
  92. package/dist/headless.d.ts +5 -4
  93. package/dist/headless.js +1 -1
  94. package/dist/headless.mjs +1 -1
  95. package/dist/layout-bridge/index.d.mts +2 -2
  96. package/dist/layout-bridge/index.d.ts +2 -2
  97. package/dist/layout-bridge/index.js +1 -1
  98. package/dist/layout-bridge/index.mjs +1 -1
  99. package/dist/layout-bridge/measuring/index.d.mts +1 -1
  100. package/dist/layout-bridge/measuring/index.d.ts +1 -1
  101. package/dist/layout-bridge/tableInsertHover.js +1 -1
  102. package/dist/layout-bridge/tableInsertHover.mjs +1 -1
  103. package/dist/layout-bridge/toFlowBlocks.d.mts +1 -1
  104. package/dist/layout-bridge/toFlowBlocks.d.ts +1 -1
  105. package/dist/layout-bridge/toFlowBlocks.js +1 -1
  106. package/dist/layout-bridge/toFlowBlocks.mjs +1 -1
  107. package/dist/layout-engine/index.d.mts +2 -2
  108. package/dist/layout-engine/index.d.ts +2 -2
  109. package/dist/layout-engine/types.d.mts +31 -2
  110. package/dist/layout-engine/types.d.ts +31 -2
  111. package/dist/layout-painter/index.d.mts +4 -3
  112. package/dist/layout-painter/index.d.ts +4 -3
  113. package/dist/layout-painter/index.js +1 -1
  114. package/dist/layout-painter/index.mjs +1 -1
  115. package/dist/layout-painter/renderPage.d.mts +40 -3
  116. package/dist/layout-painter/renderPage.d.ts +40 -3
  117. package/dist/layout-painter/renderPage.js +1 -1
  118. package/dist/layout-painter/renderPage.mjs +1 -1
  119. package/dist/managers/AutoSaveManager.d.mts +1 -1
  120. package/dist/managers/AutoSaveManager.d.ts +1 -1
  121. package/dist/managers/TableSelectionManager.d.mts +1 -1
  122. package/dist/managers/TableSelectionManager.d.ts +1 -1
  123. package/dist/managers/types.d.mts +1 -1
  124. package/dist/managers/types.d.ts +1 -1
  125. package/dist/mcp-cli.mjs +23 -23
  126. package/dist/mcp.d.mts +1 -1
  127. package/dist/mcp.d.ts +1 -1
  128. package/dist/mcp.js +3 -3
  129. package/dist/mcp.mjs +1 -1
  130. package/dist/{nodes-CC_nwkT_.d.ts → nodes-BNkRKBBX.d.ts} +1 -1
  131. package/dist/{nodes-7753Bgi_.d.mts → nodes-Bz-UHhLE.d.mts} +1 -1
  132. package/dist/prosemirror/commands/formatting.js +1 -1
  133. package/dist/prosemirror/commands/formatting.mjs +1 -1
  134. package/dist/prosemirror/commands/index.js +1 -1
  135. package/dist/prosemirror/commands/index.mjs +1 -1
  136. package/dist/prosemirror/commands/paragraph.js +1 -1
  137. package/dist/prosemirror/commands/paragraph.mjs +1 -1
  138. package/dist/prosemirror/conversion/fromProseDoc.d.mts +2 -2
  139. package/dist/prosemirror/conversion/fromProseDoc.d.ts +2 -2
  140. package/dist/prosemirror/conversion/fromProseDoc.js +1 -1
  141. package/dist/prosemirror/conversion/fromProseDoc.mjs +1 -1
  142. package/dist/prosemirror/conversion/index.d.mts +3 -3
  143. package/dist/prosemirror/conversion/index.d.ts +3 -3
  144. package/dist/prosemirror/conversion/index.js +1 -1
  145. package/dist/prosemirror/conversion/index.mjs +1 -1
  146. package/dist/prosemirror/editor.css +147 -0
  147. package/dist/prosemirror/extensions/index.js +1 -1
  148. package/dist/prosemirror/extensions/index.mjs +1 -1
  149. package/dist/prosemirror/index.d.mts +94 -6
  150. package/dist/prosemirror/index.d.ts +94 -6
  151. package/dist/prosemirror/index.js +3 -1
  152. package/dist/prosemirror/index.mjs +3 -1
  153. package/dist/prosemirror/plugins/index.d.mts +4 -1
  154. package/dist/prosemirror/plugins/index.d.ts +4 -1
  155. package/dist/prosemirror/plugins/index.js +1 -1
  156. package/dist/prosemirror/plugins/index.mjs +1 -1
  157. package/dist/prosemirror/schema/index.d.mts +2 -2
  158. package/dist/prosemirror/schema/index.d.ts +2 -2
  159. package/dist/prosemirror/schema/index.js +1 -1
  160. package/dist/prosemirror/schema/index.mjs +1 -1
  161. package/dist/prosemirror/styles/index.d.mts +9 -0
  162. package/dist/prosemirror/styles/index.d.ts +9 -0
  163. package/dist/prosemirror/styles/index.js +1 -1
  164. package/dist/prosemirror/styles/index.mjs +1 -1
  165. package/dist/prosemirror/utils/extractTrackedChanges.d.mts +1 -1
  166. package/dist/prosemirror/utils/extractTrackedChanges.d.ts +1 -1
  167. package/dist/types/content.d.mts +1 -1
  168. package/dist/types/content.d.ts +1 -1
  169. package/dist/types/document.d.mts +2 -2
  170. package/dist/types/document.d.ts +2 -2
  171. package/dist/utils/comments.d.mts +1 -1
  172. package/dist/utils/comments.d.ts +1 -1
  173. package/dist/utils/index.d.mts +2 -2
  174. package/dist/utils/index.d.ts +2 -2
  175. package/dist/{variableDetector-DF3-nxUC.d.mts → variableDetector-C7BLz9sJ.d.mts} +1 -1
  176. package/dist/{variableDetector-sBkgVh3f.d.ts → variableDetector-HPZbJ_gw.d.ts} +1 -1
  177. package/package.json +1 -1
  178. package/dist/chunk-CA2EYL6T.mjs +0 -1
  179. package/dist/chunk-D4RPOJC7.js +0 -1
  180. package/dist/chunk-DLCDDB66.mjs +0 -3
  181. package/dist/chunk-F44ZLDZS.js +0 -4
  182. package/dist/chunk-FEWCI2E5.mjs +0 -1
  183. package/dist/chunk-FWTP7BN7.mjs +0 -4
  184. package/dist/chunk-GM4USWKO.js +0 -2
  185. package/dist/chunk-GWBVJZVT.js +0 -3
  186. package/dist/chunk-HMBVSDCH.mjs +0 -1
  187. package/dist/chunk-ILJUDEZ5.mjs +0 -1
  188. package/dist/chunk-IP2VXNWG.js +0 -1
  189. package/dist/chunk-IQG3KLWY.mjs +0 -2
  190. package/dist/chunk-KHF4JU7D.mjs +0 -1
  191. package/dist/chunk-LBKMYD3M.mjs +0 -1
  192. package/dist/chunk-MZOVDLYL.js +0 -1
  193. package/dist/chunk-NBLJPT54.mjs +0 -1
  194. package/dist/chunk-OAWTQ3IY.js +0 -1
  195. package/dist/chunk-OCAX2KJQ.js +0 -4
  196. package/dist/chunk-ONWOHAFW.mjs +0 -1
  197. package/dist/chunk-OX75Q5ZG.mjs +0 -1
  198. package/dist/chunk-Q4CKLXWA.js +0 -1
  199. package/dist/chunk-RFC2SXZ6.mjs +0 -4
  200. package/dist/chunk-RFVFX5WK.mjs +0 -1
  201. package/dist/chunk-V5VDCQDN.mjs +0 -1
  202. package/dist/chunk-VHUVPHPI.mjs +0 -1
  203. package/dist/chunk-VQWZHPWI.mjs +0 -1
  204. package/dist/chunk-X6HFDXKB.js +0 -1
  205. package/dist/chunk-Y3ZQQI4D.js +0 -1
  206. package/dist/chunk-YTDWMXNS.js +0 -1
  207. package/dist/chunk-ZUGNF5KU.js +0 -1
  208. /package/dist/{chunk-U74VPTIU.js → chunk-53VKL6CG.js} +0 -0
  209. /package/dist/{chunk-FDEDN2RC.mjs → chunk-DTTWBKGN.mjs} +0 -0
@@ -13,14 +13,15 @@
13
13
  * @public
14
14
  */
15
15
  import { ImageRun, Page, ParagraphBlock, MeasuredLine, TabStop, Run, ParagraphFragment, ParagraphMeasure, ParagraphBorders, Fragment, TableFragment, TableBlock, TableMeasure, ImageFragment, ImageBlock, ImageMeasure, TextBoxFragment, TextBoxBlock, TextBoxMeasure, FlowBlock, Measure, Layout } from '../layout-engine/types.mjs';
16
- import { I as ImageAttrs } from '../nodes-7753Bgi_.mjs';
16
+ import { Node } from 'prosemirror-model';
17
+ import { I as ImageAttrs } from '../nodes-Bz-UHhLE.mjs';
17
18
  import { I as ImageLayoutTarget } from '../ImageExtension-BN327PNe.mjs';
18
19
  import { WrapType } from '../docx/wrapTypes.mjs';
19
20
  import { F as FootnoteRenderItem, H as HeaderFooterContent } from '../footnotes-lCH_P3N3.mjs';
20
21
  export { a as HeaderFooterLayoutInfo, r as resolveHeaderFooterFloatingTablePosition } from '../footnotes-lCH_P3N3.mjs';
21
22
  import { B as BorderSpec } from '../colors-C3vA7HUU.mjs';
22
23
  import { T as Theme } from '../styles-EI2lxeEN.mjs';
23
- import '../content-5Mrz6w_b.mjs';
24
+ import '../content-CE-ZdMwG.mjs';
24
25
  import '../formatting-BH4hcZiq.mjs';
25
26
 
26
27
  /**
@@ -111,6 +112,19 @@ declare function renderPages(pages: Page[], container: HTMLElement, options?: Re
111
112
  pageGap?: number;
112
113
  footnotesByPage?: Map<number, FootnoteRenderItem[]>;
113
114
  }): RenderPagesUpdateKind;
115
+ /**
116
+ * Force every virtualized page shell in `container` to be fully rendered.
117
+ *
118
+ * Virtualization keeps off-screen pages as empty shells so cloning the
119
+ * pages container for print (or any DOM snapshot) yields blank pages past
120
+ * the visible band. Callers that need every page populated — print,
121
+ * export-to-HTML, pdf snapshot — should call this first.
122
+ *
123
+ * No-op for small documents (rendered eagerly) or containers that were
124
+ * never managed by `renderPages`. Returns the number of shells populated
125
+ * by this call (useful for tests).
126
+ */
127
+ declare function renderAllPagesNow(container: HTMLElement): number;
114
128
 
115
129
  /**
116
130
  * Page Renderer
@@ -465,6 +479,29 @@ interface RenderTextBoxFragmentOptions {
465
479
  */
466
480
  declare function renderTextBoxFragment(fragment: TextBoxFragment, block: TextBoxBlock, measure: TextBoxMeasure, context: RenderContext, options?: RenderTextBoxFragmentOptions): HTMLElement;
467
481
 
482
+ /**
483
+ * Visible boundary chrome for block-level content controls (`w:sdt`) in the
484
+ * paged view. Kept out of `renderPage.ts` so that file stays under its
485
+ * line cap; the body painter calls `renderSdtBoundaryBoxes` once per page.
486
+ */
487
+
488
+ /**
489
+ * Group ids of every block-level content control that encloses the given
490
+ * selection — used to keep a control's boundary visible while the caret is
491
+ * inside it (Word-style focus), independent of mouse hover. The id matches
492
+ * `toFlowBlocks`' `sdt@${pos}` scheme, where `pos` is the SDT node's position;
493
+ * `$pos.before(d)` yields exactly that for an ancestor at depth `d`, so the
494
+ * ids line up with the painted boxes' `data-sdt-group-id`. Both ends of a
495
+ * range are collected so a selection straddling a control still lights it up.
496
+ */
497
+ declare function enclosingSdtGroupIds(doc: Node, from: number, to: number): Set<string>;
498
+ /**
499
+ * Toggle the `.is-focused` reveal class on the painted boundary boxes whose
500
+ * control encloses the caret. Kept separate from the hover-driven `.is-active`
501
+ * class so the two reveal paths never clear each other.
502
+ */
503
+ declare function applySdtFocus(container: HTMLElement, focusedIds: Set<string>): void;
504
+
468
505
  /**
469
506
  * Image layout helpers shared between framework adapters (React, Vue, ...).
470
507
  *
@@ -677,4 +714,4 @@ declare class LayoutPainter {
677
714
  */
678
715
  declare function createPainter(options?: PainterOptions): LayoutPainter;
679
716
 
680
- export { type BlockLookup as B, FRAGMENT_CLASS_NAMES as F, type FloatingImagePaintRecord, type FloatingImagesLayerOptions, FootnoteRenderItem, HeaderFooterContent, IMAGE_CLASS_NAMES as I, LAYOUT_IMAGE_CLASSES as L, type PainterOptions as P, PAGE_CLASS_NAMES, type RenderContext, type RenderPageOptions, type RenderPagesUpdateKind, TABLE_CLASS_NAMES as T, type BlockLookupEntry as a, applyPageStyles, IMAGE_LAYOUT_OPTIONS as b, type ImageHitTestResult as c, type ImageLayoutIconHint as d, type ImageLayoutOptionDef as e, LayoutPainter as f, floatingImageIsBehindDoc, floatingImageWrapsText, TEXTBOX_CLASS_NAMES as g, captureInlinePositionEmu as h, createPainter as i, isFloatingImageRun, isTextWrappingFloatingImageRun, deriveLayoutChoice as j, findImageElement as k, hitTestImage as l, isImageLayoutOptionEnabled as m, renderImageFragment as n, renderLine as o, renderParagraphFragment as p, renderTableFragment as q, renderFragment as r, renderFloatingImagesLayer, renderPage, renderPages, renderTextBoxFragment as s, sliceRunsForLine as t, toolbarValueToLayoutTarget as u };
717
+ export { type BlockLookup as B, FRAGMENT_CLASS_NAMES as F, type FloatingImagePaintRecord, type FloatingImagesLayerOptions, FootnoteRenderItem, HeaderFooterContent, IMAGE_CLASS_NAMES as I, LAYOUT_IMAGE_CLASSES as L, type PainterOptions as P, PAGE_CLASS_NAMES, type RenderContext, type RenderPageOptions, type RenderPagesUpdateKind, TABLE_CLASS_NAMES as T, type BlockLookupEntry as a, applyPageStyles, IMAGE_LAYOUT_OPTIONS as b, type ImageHitTestResult as c, type ImageLayoutIconHint as d, type ImageLayoutOptionDef as e, LayoutPainter as f, floatingImageIsBehindDoc, floatingImageWrapsText, TEXTBOX_CLASS_NAMES as g, applySdtFocus as h, captureInlinePositionEmu as i, isFloatingImageRun, isTextWrappingFloatingImageRun, createPainter as j, deriveLayoutChoice as k, enclosingSdtGroupIds as l, findImageElement as m, hitTestImage as n, isImageLayoutOptionEnabled as o, renderImageFragment as p, renderLine as q, renderFragment as r, renderAllPagesNow, renderFloatingImagesLayer, renderPage, renderPages, renderParagraphFragment as s, renderTableFragment as t, renderTextBoxFragment as u, sliceRunsForLine as v, toolbarValueToLayoutTarget as w };
@@ -13,14 +13,15 @@
13
13
  * @public
14
14
  */
15
15
  import { ImageRun, Page, ParagraphBlock, MeasuredLine, TabStop, Run, ParagraphFragment, ParagraphMeasure, ParagraphBorders, Fragment, TableFragment, TableBlock, TableMeasure, ImageFragment, ImageBlock, ImageMeasure, TextBoxFragment, TextBoxBlock, TextBoxMeasure, FlowBlock, Measure, Layout } from '../layout-engine/types.js';
16
- import { I as ImageAttrs } from '../nodes-CC_nwkT_.js';
16
+ import { Node } from 'prosemirror-model';
17
+ import { I as ImageAttrs } from '../nodes-BNkRKBBX.js';
17
18
  import { I as ImageLayoutTarget } from '../ImageExtension-BlI5afZD.js';
18
19
  import { WrapType } from '../docx/wrapTypes.js';
19
20
  import { F as FootnoteRenderItem, H as HeaderFooterContent } from '../footnotes-skVvEHvZ.js';
20
21
  export { a as HeaderFooterLayoutInfo, r as resolveHeaderFooterFloatingTablePosition } from '../footnotes-skVvEHvZ.js';
21
22
  import { B as BorderSpec } from '../colors-C3vA7HUU.js';
22
23
  import { T as Theme } from '../styles-BBv7doYK.js';
23
- import '../content-CmqAwdFL.js';
24
+ import '../content-CYXJ2tfQ.js';
24
25
  import '../formatting-_OXU8gLB.js';
25
26
 
26
27
  /**
@@ -111,6 +112,19 @@ declare function renderPages(pages: Page[], container: HTMLElement, options?: Re
111
112
  pageGap?: number;
112
113
  footnotesByPage?: Map<number, FootnoteRenderItem[]>;
113
114
  }): RenderPagesUpdateKind;
115
+ /**
116
+ * Force every virtualized page shell in `container` to be fully rendered.
117
+ *
118
+ * Virtualization keeps off-screen pages as empty shells so cloning the
119
+ * pages container for print (or any DOM snapshot) yields blank pages past
120
+ * the visible band. Callers that need every page populated — print,
121
+ * export-to-HTML, pdf snapshot — should call this first.
122
+ *
123
+ * No-op for small documents (rendered eagerly) or containers that were
124
+ * never managed by `renderPages`. Returns the number of shells populated
125
+ * by this call (useful for tests).
126
+ */
127
+ declare function renderAllPagesNow(container: HTMLElement): number;
114
128
 
115
129
  /**
116
130
  * Page Renderer
@@ -465,6 +479,29 @@ interface RenderTextBoxFragmentOptions {
465
479
  */
466
480
  declare function renderTextBoxFragment(fragment: TextBoxFragment, block: TextBoxBlock, measure: TextBoxMeasure, context: RenderContext, options?: RenderTextBoxFragmentOptions): HTMLElement;
467
481
 
482
+ /**
483
+ * Visible boundary chrome for block-level content controls (`w:sdt`) in the
484
+ * paged view. Kept out of `renderPage.ts` so that file stays under its
485
+ * line cap; the body painter calls `renderSdtBoundaryBoxes` once per page.
486
+ */
487
+
488
+ /**
489
+ * Group ids of every block-level content control that encloses the given
490
+ * selection — used to keep a control's boundary visible while the caret is
491
+ * inside it (Word-style focus), independent of mouse hover. The id matches
492
+ * `toFlowBlocks`' `sdt@${pos}` scheme, where `pos` is the SDT node's position;
493
+ * `$pos.before(d)` yields exactly that for an ancestor at depth `d`, so the
494
+ * ids line up with the painted boxes' `data-sdt-group-id`. Both ends of a
495
+ * range are collected so a selection straddling a control still lights it up.
496
+ */
497
+ declare function enclosingSdtGroupIds(doc: Node, from: number, to: number): Set<string>;
498
+ /**
499
+ * Toggle the `.is-focused` reveal class on the painted boundary boxes whose
500
+ * control encloses the caret. Kept separate from the hover-driven `.is-active`
501
+ * class so the two reveal paths never clear each other.
502
+ */
503
+ declare function applySdtFocus(container: HTMLElement, focusedIds: Set<string>): void;
504
+
468
505
  /**
469
506
  * Image layout helpers shared between framework adapters (React, Vue, ...).
470
507
  *
@@ -677,4 +714,4 @@ declare class LayoutPainter {
677
714
  */
678
715
  declare function createPainter(options?: PainterOptions): LayoutPainter;
679
716
 
680
- export { type BlockLookup as B, FRAGMENT_CLASS_NAMES as F, type FloatingImagePaintRecord, type FloatingImagesLayerOptions, FootnoteRenderItem, HeaderFooterContent, IMAGE_CLASS_NAMES as I, LAYOUT_IMAGE_CLASSES as L, type PainterOptions as P, PAGE_CLASS_NAMES, type RenderContext, type RenderPageOptions, type RenderPagesUpdateKind, TABLE_CLASS_NAMES as T, type BlockLookupEntry as a, applyPageStyles, IMAGE_LAYOUT_OPTIONS as b, type ImageHitTestResult as c, type ImageLayoutIconHint as d, type ImageLayoutOptionDef as e, LayoutPainter as f, floatingImageIsBehindDoc, floatingImageWrapsText, TEXTBOX_CLASS_NAMES as g, captureInlinePositionEmu as h, createPainter as i, isFloatingImageRun, isTextWrappingFloatingImageRun, deriveLayoutChoice as j, findImageElement as k, hitTestImage as l, isImageLayoutOptionEnabled as m, renderImageFragment as n, renderLine as o, renderParagraphFragment as p, renderTableFragment as q, renderFragment as r, renderFloatingImagesLayer, renderPage, renderPages, renderTextBoxFragment as s, sliceRunsForLine as t, toolbarValueToLayoutTarget as u };
717
+ export { type BlockLookup as B, FRAGMENT_CLASS_NAMES as F, type FloatingImagePaintRecord, type FloatingImagesLayerOptions, FootnoteRenderItem, HeaderFooterContent, IMAGE_CLASS_NAMES as I, LAYOUT_IMAGE_CLASSES as L, type PainterOptions as P, PAGE_CLASS_NAMES, type RenderContext, type RenderPageOptions, type RenderPagesUpdateKind, TABLE_CLASS_NAMES as T, type BlockLookupEntry as a, applyPageStyles, IMAGE_LAYOUT_OPTIONS as b, type ImageHitTestResult as c, type ImageLayoutIconHint as d, type ImageLayoutOptionDef as e, LayoutPainter as f, floatingImageIsBehindDoc, floatingImageWrapsText, TEXTBOX_CLASS_NAMES as g, applySdtFocus as h, captureInlinePositionEmu as i, isFloatingImageRun, isTextWrappingFloatingImageRun, createPainter as j, deriveLayoutChoice as k, enclosingSdtGroupIds as l, findImageElement as m, hitTestImage as n, isImageLayoutOptionEnabled as o, renderImageFragment as p, renderLine as q, renderFragment as r, renderAllPagesNow, renderFloatingImagesLayer, renderPage, renderPages, renderParagraphFragment as s, renderTableFragment as t, renderTextBoxFragment as u, sliceRunsForLine as v, toolbarValueToLayoutTarget as w };
@@ -1 +1 @@
1
- 'use strict';var chunkZUGNF5KU_js=require('../chunk-ZUGNF5KU.js');require('../chunk-GY5BWVM7.js');var chunkSORYYVJ7_js=require('../chunk-SORYYVJ7.js');require('../chunk-LTHT4A4S.js'),require('../chunk-IMKU4O3P.js'),require('../chunk-DROCYKAR.js'),require('../chunk-F44ZLDZS.js'),require('../chunk-44FHVKSI.js'),require('../chunk-X6HFDXKB.js'),require('../chunk-D4RPOJC7.js'),require('../chunk-IP2VXNWG.js'),require('../chunk-JFZIXFRC.js'),require('../chunk-MZOVDLYL.js'),require('../chunk-E4JMCA5X.js'),require('../chunk-HQPWFUP5.js'),require('../chunk-DV6GWBUJ.js'),require('../chunk-OAWTQ3IY.js'),require('../chunk-GM4USWKO.js'),require('../chunk-BHBOAP6Z.js'),require('../chunk-MZ7LW5CH.js'),require('../chunk-N3Y5BUKV.js'),require('../chunk-YTDWMXNS.js'),require('../chunk-6LVPRTB6.js'),require('../chunk-TUIEV7Q7.js'),require('../chunk-7HANRHHL.js'),require('../chunk-MJ5FQX7Q.js'),require('../chunk-C2BAPYGJ.js'),require('../chunk-4Q2IP5FW.js'),require('../chunk-Q4CKLXWA.js'),require('../chunk-DC7S76ZX.js');Object.defineProperty(exports,"PAGE_CLASS_NAMES",{enumerable:true,get:function(){return chunkZUGNF5KU_js.z}});Object.defineProperty(exports,"applyPageStyles",{enumerable:true,get:function(){return chunkZUGNF5KU_js.A}});Object.defineProperty(exports,"renderFloatingImagesLayer",{enumerable:true,get:function(){return chunkZUGNF5KU_js.s}});Object.defineProperty(exports,"renderPage",{enumerable:true,get:function(){return chunkZUGNF5KU_js.B}});Object.defineProperty(exports,"renderPages",{enumerable:true,get:function(){return chunkZUGNF5KU_js.y}});Object.defineProperty(exports,"resolveHeaderFooterFloatingTablePosition",{enumerable:true,get:function(){return chunkZUGNF5KU_js.x}});Object.defineProperty(exports,"floatingImageIsBehindDoc",{enumerable:true,get:function(){return chunkSORYYVJ7_js.e}});Object.defineProperty(exports,"floatingImageWrapsText",{enumerable:true,get:function(){return chunkSORYYVJ7_js.d}});Object.defineProperty(exports,"isFloatingImageRun",{enumerable:true,get:function(){return chunkSORYYVJ7_js.f}});Object.defineProperty(exports,"isTextWrappingFloatingImageRun",{enumerable:true,get:function(){return chunkSORYYVJ7_js.g}});
1
+ 'use strict';var chunkKGTEBLB6_js=require('../chunk-KGTEBLB6.js');require('../chunk-AMB6Y77B.js');var chunkSORYYVJ7_js=require('../chunk-SORYYVJ7.js');require('../chunk-LTHT4A4S.js'),require('../chunk-IMKU4O3P.js'),require('../chunk-DROCYKAR.js'),require('../chunk-ROG4MNOR.js'),require('../chunk-44FHVKSI.js'),require('../chunk-ZBFNOJGY.js'),require('../chunk-C45EFOVP.js'),require('../chunk-ISKTBM4L.js'),require('../chunk-JFZIXFRC.js'),require('../chunk-E4JMCA5X.js'),require('../chunk-HQPWFUP5.js'),require('../chunk-DV6GWBUJ.js'),require('../chunk-VMRUBLPI.js'),require('../chunk-2EQGBVPV.js'),require('../chunk-BHBOAP6Z.js'),require('../chunk-MZ7LW5CH.js'),require('../chunk-N3Y5BUKV.js'),require('../chunk-WVERBZZU.js'),require('../chunk-6LVPRTB6.js'),require('../chunk-LWH66Q7Q.js'),require('../chunk-TUIEV7Q7.js'),require('../chunk-7HANRHHL.js'),require('../chunk-MJ5FQX7Q.js'),require('../chunk-C2BAPYGJ.js'),require('../chunk-4Q2IP5FW.js'),require('../chunk-GSKMHXHG.js'),require('../chunk-DC7S76ZX.js');Object.defineProperty(exports,"PAGE_CLASS_NAMES",{enumerable:true,get:function(){return chunkKGTEBLB6_js.C}});Object.defineProperty(exports,"applyPageStyles",{enumerable:true,get:function(){return chunkKGTEBLB6_js.D}});Object.defineProperty(exports,"renderAllPagesNow",{enumerable:true,get:function(){return chunkKGTEBLB6_js.B}});Object.defineProperty(exports,"renderFloatingImagesLayer",{enumerable:true,get:function(){return chunkKGTEBLB6_js.u}});Object.defineProperty(exports,"renderPage",{enumerable:true,get:function(){return chunkKGTEBLB6_js.E}});Object.defineProperty(exports,"renderPages",{enumerable:true,get:function(){return chunkKGTEBLB6_js.A}});Object.defineProperty(exports,"resolveHeaderFooterFloatingTablePosition",{enumerable:true,get:function(){return chunkKGTEBLB6_js.z}});Object.defineProperty(exports,"floatingImageIsBehindDoc",{enumerable:true,get:function(){return chunkSORYYVJ7_js.e}});Object.defineProperty(exports,"floatingImageWrapsText",{enumerable:true,get:function(){return chunkSORYYVJ7_js.d}});Object.defineProperty(exports,"isFloatingImageRun",{enumerable:true,get:function(){return chunkSORYYVJ7_js.f}});Object.defineProperty(exports,"isTextWrappingFloatingImageRun",{enumerable:true,get:function(){return chunkSORYYVJ7_js.g}});
@@ -1 +1 @@
1
- export{z as PAGE_CLASS_NAMES,A as applyPageStyles,s as renderFloatingImagesLayer,B as renderPage,y as renderPages,x as resolveHeaderFooterFloatingTablePosition}from'../chunk-RFVFX5WK.mjs';import'../chunk-V5VDCQDN.mjs';export{e as floatingImageIsBehindDoc,d as floatingImageWrapsText,f as isFloatingImageRun,g as isTextWrappingFloatingImageRun}from'../chunk-MP4QSEO2.mjs';import'../chunk-6Y6LON6Y.mjs';import'../chunk-FCJWLEKT.mjs';import'../chunk-7E5VBRDL.mjs';import'../chunk-RFC2SXZ6.mjs';import'../chunk-BOOHU5EW.mjs';import'../chunk-FEWCI2E5.mjs';import'../chunk-LBKMYD3M.mjs';import'../chunk-NBLJPT54.mjs';import'../chunk-QPFJJPIC.mjs';import'../chunk-ILJUDEZ5.mjs';import'../chunk-6ZXL3EIP.mjs';import'../chunk-OEXVWIHW.mjs';import'../chunk-WLHNIXWC.mjs';import'../chunk-CA2EYL6T.mjs';import'../chunk-IQG3KLWY.mjs';import'../chunk-MOKKS75W.mjs';import'../chunk-OZMNIX6U.mjs';import'../chunk-AMENZY5F.mjs';import'../chunk-VHUVPHPI.mjs';import'../chunk-BGY3CB37.mjs';import'../chunk-ZX26QZJ5.mjs';import'../chunk-MJ6XZFVD.mjs';import'../chunk-67LVRQIR.mjs';import'../chunk-LE67NTCN.mjs';import'../chunk-VW22RZ6C.mjs';import'../chunk-VQWZHPWI.mjs';import'../chunk-QYUPLKLP.mjs';
1
+ export{C as PAGE_CLASS_NAMES,D as applyPageStyles,B as renderAllPagesNow,u as renderFloatingImagesLayer,E as renderPage,A as renderPages,z as resolveHeaderFooterFloatingTablePosition}from'../chunk-RKDVY7I3.mjs';import'../chunk-KZXZWGFX.mjs';export{e as floatingImageIsBehindDoc,d as floatingImageWrapsText,f as isFloatingImageRun,g as isTextWrappingFloatingImageRun}from'../chunk-MP4QSEO2.mjs';import'../chunk-6Y6LON6Y.mjs';import'../chunk-FCJWLEKT.mjs';import'../chunk-7E5VBRDL.mjs';import'../chunk-7ZN4WI5N.mjs';import'../chunk-BOOHU5EW.mjs';import'../chunk-EQAORQC3.mjs';import'../chunk-7OW3VCZE.mjs';import'../chunk-LK6I3HMH.mjs';import'../chunk-QPFJJPIC.mjs';import'../chunk-6ZXL3EIP.mjs';import'../chunk-OEXVWIHW.mjs';import'../chunk-WLHNIXWC.mjs';import'../chunk-ICE6NC3S.mjs';import'../chunk-CCPBNE2F.mjs';import'../chunk-MOKKS75W.mjs';import'../chunk-OZMNIX6U.mjs';import'../chunk-AMENZY5F.mjs';import'../chunk-U67MWOPZ.mjs';import'../chunk-BGY3CB37.mjs';import'../chunk-2XP6GLA4.mjs';import'../chunk-ZX26QZJ5.mjs';import'../chunk-MJ6XZFVD.mjs';import'../chunk-67LVRQIR.mjs';import'../chunk-LE67NTCN.mjs';import'../chunk-VW22RZ6C.mjs';import'../chunk-DI6CRWSW.mjs';import'../chunk-QYUPLKLP.mjs';
@@ -17,7 +17,7 @@ import { Document } from '../types/document.mjs';
17
17
  import 'prosemirror-view';
18
18
  import '../colors-C3vA7HUU.mjs';
19
19
  import '../formatting-BH4hcZiq.mjs';
20
- import '../content-5Mrz6w_b.mjs';
20
+ import '../content-CE-ZdMwG.mjs';
21
21
  import '../docx/wrapTypes.mjs';
22
22
  import '../styles-EI2lxeEN.mjs';
23
23
 
@@ -17,7 +17,7 @@ import { Document } from '../types/document.js';
17
17
  import 'prosemirror-view';
18
18
  import '../colors-C3vA7HUU.js';
19
19
  import '../formatting-_OXU8gLB.js';
20
- import '../content-CmqAwdFL.js';
20
+ import '../content-CYXJ2tfQ.js';
21
21
  import '../docx/wrapTypes.js';
22
22
  import '../styles-BBv7doYK.js';
23
23
 
@@ -20,7 +20,7 @@
20
20
  import { S as Subscribable } from '../Subscribable-DOz6Ohoo.mjs';
21
21
  import { TableSelectionSnapshot, CellCoordinates } from './types.mjs';
22
22
  import { Document } from '../types/document.mjs';
23
- import { T as Table } from '../content-5Mrz6w_b.mjs';
23
+ import { T as Table } from '../content-CE-ZdMwG.mjs';
24
24
  import 'prosemirror-view';
25
25
  import '../colors-C3vA7HUU.mjs';
26
26
  import '../formatting-BH4hcZiq.mjs';
@@ -20,7 +20,7 @@
20
20
  import { S as Subscribable } from '../Subscribable-DOz6Ohoo.js';
21
21
  import { TableSelectionSnapshot, CellCoordinates } from './types.js';
22
22
  import { Document } from '../types/document.js';
23
- import { T as Table } from '../content-CmqAwdFL.js';
23
+ import { T as Table } from '../content-CYXJ2tfQ.js';
24
24
  import 'prosemirror-view';
25
25
  import '../colors-C3vA7HUU.js';
26
26
  import '../formatting-_OXU8gLB.js';
@@ -9,7 +9,7 @@ import { EditorView } from 'prosemirror-view';
9
9
  import { Document } from '../types/document.mjs';
10
10
  import '../colors-C3vA7HUU.mjs';
11
11
  import '../formatting-BH4hcZiq.mjs';
12
- import '../content-5Mrz6w_b.mjs';
12
+ import '../content-CE-ZdMwG.mjs';
13
13
  import '../docx/wrapTypes.mjs';
14
14
  import '../styles-EI2lxeEN.mjs';
15
15
 
@@ -9,7 +9,7 @@ import { EditorView } from 'prosemirror-view';
9
9
  import { Document } from '../types/document.js';
10
10
  import '../colors-C3vA7HUU.js';
11
11
  import '../formatting-_OXU8gLB.js';
12
- import '../content-CmqAwdFL.js';
12
+ import '../content-CYXJ2tfQ.js';
13
13
  import '../docx/wrapTypes.js';
14
14
  import '../styles-BBv7doYK.js';
15
15