docxodus 9.7.0 → 9.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +0 -1
- package/dist/editor.bundle.js +454 -99
- package/dist/editor.d.ts +4 -4
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +55 -8
- package/dist/editor.js.map +1 -1
- package/dist/embed.bundle.js +454 -99
- package/dist/embed.iife.js +454 -99
- package/dist/page-geometry.d.ts +50 -3
- package/dist/page-geometry.d.ts.map +1 -1
- package/dist/page-geometry.js +63 -6
- package/dist/page-geometry.js.map +1 -1
- package/dist/pagination.bundle.js +416 -91
- package/dist/pagination.d.ts +61 -8
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js +353 -105
- package/dist/pagination.js.map +1 -1
- package/dist/ribbon-chrome.d.ts +1 -1
- package/dist/ribbon-chrome.d.ts.map +1 -1
- package/dist/ribbon-chrome.js +1 -0
- package/dist/ribbon-chrome.js.map +1 -1
- package/dist/wasm/_framework/Docxodus.wasm +0 -0
- package/dist/wasm/_framework/Docxodus.wasm.br +0 -0
- package/dist/wasm/_framework/DocxodusWasm.wasm +0 -0
- package/dist/wasm/_framework/DocxodusWasm.wasm.br +0 -0
- package/dist/wasm/_framework/System.Collections.Concurrent.wasm +0 -0
- package/dist/wasm/_framework/System.Collections.Concurrent.wasm.br +0 -0
- package/dist/wasm/_framework/System.Collections.Immutable.wasm +0 -0
- package/dist/wasm/_framework/System.Collections.Immutable.wasm.br +0 -0
- package/dist/wasm/_framework/System.Collections.NonGeneric.wasm +0 -0
- package/dist/wasm/_framework/System.Collections.NonGeneric.wasm.br +0 -0
- package/dist/wasm/_framework/System.Collections.Specialized.wasm +0 -0
- package/dist/wasm/_framework/System.Collections.Specialized.wasm.br +0 -0
- package/dist/wasm/_framework/System.Collections.wasm +0 -0
- package/dist/wasm/_framework/System.Collections.wasm.br +0 -0
- package/dist/wasm/_framework/System.ComponentModel.Primitives.wasm +0 -0
- package/dist/wasm/_framework/System.ComponentModel.Primitives.wasm.br +0 -0
- package/dist/wasm/_framework/System.ComponentModel.TypeConverter.wasm +0 -0
- package/dist/wasm/_framework/System.ComponentModel.TypeConverter.wasm.br +0 -0
- package/dist/wasm/_framework/System.ComponentModel.wasm +0 -0
- package/dist/wasm/_framework/System.ComponentModel.wasm.br +0 -0
- package/dist/wasm/_framework/System.Console.wasm +0 -0
- package/dist/wasm/_framework/System.Console.wasm.br +0 -0
- package/dist/wasm/_framework/System.Diagnostics.Process.wasm +0 -0
- package/dist/wasm/_framework/System.Diagnostics.Process.wasm.br +0 -0
- package/dist/wasm/_framework/System.IO.Compression.wasm +0 -0
- package/dist/wasm/_framework/System.IO.Compression.wasm.br +0 -0
- package/dist/wasm/_framework/System.IO.Pipelines.wasm +0 -0
- package/dist/wasm/_framework/System.IO.Pipelines.wasm.br +0 -0
- package/dist/wasm/_framework/System.Linq.Expressions.wasm +0 -0
- package/dist/wasm/_framework/System.Linq.Expressions.wasm.br +0 -0
- package/dist/wasm/_framework/System.Linq.wasm +0 -0
- package/dist/wasm/_framework/System.Linq.wasm.br +0 -0
- package/dist/wasm/_framework/System.Memory.wasm +0 -0
- package/dist/wasm/_framework/System.Memory.wasm.br +0 -0
- package/dist/wasm/_framework/System.Net.Http.wasm +0 -0
- package/dist/wasm/_framework/System.Net.Http.wasm.br +0 -0
- package/dist/wasm/_framework/System.Net.Primitives.wasm +0 -0
- package/dist/wasm/_framework/System.Net.Primitives.wasm.br +0 -0
- package/dist/wasm/_framework/System.ObjectModel.wasm +0 -0
- package/dist/wasm/_framework/System.ObjectModel.wasm.br +0 -0
- package/dist/wasm/_framework/System.Private.CoreLib.wasm +0 -0
- package/dist/wasm/_framework/System.Private.CoreLib.wasm.br +0 -0
- package/dist/wasm/_framework/System.Private.Uri.wasm +0 -0
- package/dist/wasm/_framework/System.Private.Uri.wasm.br +0 -0
- package/dist/wasm/_framework/System.Private.Xml.Linq.wasm +0 -0
- package/dist/wasm/_framework/System.Private.Xml.Linq.wasm.br +0 -0
- package/dist/wasm/_framework/System.Private.Xml.wasm +0 -0
- package/dist/wasm/_framework/System.Private.Xml.wasm.br +0 -0
- package/dist/wasm/_framework/System.Runtime.InteropServices.JavaScript.wasm +0 -0
- package/dist/wasm/_framework/System.Runtime.InteropServices.JavaScript.wasm.br +0 -0
- package/dist/wasm/_framework/System.Runtime.wasm +0 -0
- package/dist/wasm/_framework/System.Runtime.wasm.br +0 -0
- package/dist/wasm/_framework/System.Security.Cryptography.wasm +0 -0
- package/dist/wasm/_framework/System.Security.Cryptography.wasm.br +0 -0
- package/dist/wasm/_framework/System.Text.Encodings.Web.wasm +0 -0
- package/dist/wasm/_framework/System.Text.Encodings.Web.wasm.br +0 -0
- package/dist/wasm/_framework/System.Text.Json.wasm +0 -0
- package/dist/wasm/_framework/System.Text.Json.wasm.br +0 -0
- package/dist/wasm/_framework/System.Text.RegularExpressions.wasm +0 -0
- package/dist/wasm/_framework/System.Text.RegularExpressions.wasm.br +0 -0
- package/dist/wasm/_framework/System.Xml.Linq.wasm +0 -0
- package/dist/wasm/_framework/System.Xml.Linq.wasm.br +0 -0
- package/dist/wasm/_framework/System.Xml.XDocument.wasm +0 -0
- package/dist/wasm/_framework/System.Xml.XDocument.wasm.br +0 -0
- package/dist/wasm/_framework/System.wasm +0 -0
- package/dist/wasm/_framework/System.wasm.br +0 -0
- package/dist/wasm/_framework/dotnet.boot.js +35 -35
- package/dist/wasm/_framework/dotnet.boot.js.br +0 -0
- package/dist/wasm/_framework/dotnet.js +1 -1
- package/dist/wasm/_framework/dotnet.js.br +0 -0
- package/dist/wasm/_framework/dotnet.native.js +3 -3
- package/dist/wasm/_framework/dotnet.native.js.br +0 -0
- package/dist/wasm/_framework/dotnet.native.wasm +0 -0
- package/dist/wasm/_framework/dotnet.native.wasm.br +0 -0
- package/dist/wasm/_framework/dotnet.runtime.js +1 -1
- package/dist/wasm/_framework/dotnet.runtime.js.br +0 -0
- package/package.json +14 -5
- package/dist/wasm/index.html +0 -238
- package/dist/wasm/main.js +0 -26
package/dist/pagination.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* and flows it across fixed-size page containers based on document dimensions.
|
|
6
6
|
*/
|
|
7
7
|
import type { PageDimensions } from "./page-geometry.js";
|
|
8
|
-
export type { PageDimensions } from "./page-geometry.js";
|
|
8
|
+
export type { PageBands, PageDimensions } from "./page-geometry.js";
|
|
9
9
|
/**
|
|
10
10
|
* Headers and footers for a specific section.
|
|
11
11
|
*/
|
|
@@ -59,6 +59,8 @@ export interface MeasuredBlock {
|
|
|
59
59
|
pageBreakBefore: boolean;
|
|
60
60
|
/** Whether this is a page break marker */
|
|
61
61
|
isPageBreak: boolean;
|
|
62
|
+
/** Whether the block is a Word paragraph whose top margin represents paragraph space-before */
|
|
63
|
+
isWordParagraph?: boolean;
|
|
62
64
|
}
|
|
63
65
|
/**
|
|
64
66
|
* Information about a rendered page.
|
|
@@ -162,6 +164,18 @@ export declare class PaginationEngine {
|
|
|
162
164
|
* Measures all content blocks in a section.
|
|
163
165
|
*/
|
|
164
166
|
private measureBlocks;
|
|
167
|
+
/**
|
|
168
|
+
* Flows a multi-column (`w:cols`) section's children into CSS-multicol container
|
|
169
|
+
* blocks. Word lays such a section out as N columns inside the same body extent;
|
|
170
|
+
* a balanced `column-count` container reproduces that geometry, and the paginator
|
|
171
|
+
* then places each container as one ordinary measured block. A container grows
|
|
172
|
+
* greedily until its balanced height would exceed the smallest page body available
|
|
173
|
+
* to the section, so a long columned section still splits across pages at block
|
|
174
|
+
* boundaries. Each child lands in exactly one container, so anchors never
|
|
175
|
+
* duplicate. An explicit page break child passes through as its own block, which
|
|
176
|
+
* ends the current container and lets the normal flow logic turn the page.
|
|
177
|
+
*/
|
|
178
|
+
private buildColumnBlocks;
|
|
165
179
|
/**
|
|
166
180
|
* Measures one element in the same hidden staging context used for the source blocks.
|
|
167
181
|
* This is intentionally DOM-based: table row heights cannot be inferred from individual
|
|
@@ -182,6 +196,20 @@ export declare class PaginationEngine {
|
|
|
182
196
|
* intentionally excluded, matching the individual block fit check.
|
|
183
197
|
*/
|
|
184
198
|
private measureKeepWithNextChainBodyHeight;
|
|
199
|
+
/** Word paragraphs render as `p`, or as `h1`–`h6` when their style has an outline level. */
|
|
200
|
+
private isWordParagraphElement;
|
|
201
|
+
private shouldSuppressPageTopSpacing;
|
|
202
|
+
/**
|
|
203
|
+
* Resolves the part of a block's top margin that consumes the current page.
|
|
204
|
+
*
|
|
205
|
+
* In Word's native DOCX layout, paragraph space-before is suppressed when a paragraph is the
|
|
206
|
+
* first body block on a later page of the SAME section. The first page of a document/section is
|
|
207
|
+
* the exception and keeps its spacing. Tables and other block margins are not paragraph spacing,
|
|
208
|
+
* so they continue to use the ordinary CSS collapsing rule.
|
|
209
|
+
*/
|
|
210
|
+
private effectiveBlockMarginTop;
|
|
211
|
+
/** Clone a source block with the same page-top spacing decision used by the height budget. */
|
|
212
|
+
private cloneBlockForPage;
|
|
185
213
|
/**
|
|
186
214
|
* Finds footnote references introduced by a sequence of blocks, preserving
|
|
187
215
|
* document order and excluding references already assigned to the page.
|
|
@@ -283,16 +311,28 @@ export declare class PaginationEngine {
|
|
|
283
311
|
*/
|
|
284
312
|
private selectFooter;
|
|
285
313
|
/**
|
|
286
|
-
*
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
314
|
+
* The header, body, and footer bands for one page position.
|
|
315
|
+
*
|
|
316
|
+
* The single owner of "where does anything sit vertically on this page" — placement in
|
|
317
|
+
* {@link createPage}, the body budget the flow loop spends, and the note area's anchor all
|
|
318
|
+
* read it, so those three cannot disagree about where the body ends.
|
|
319
|
+
*
|
|
320
|
+
* Deterministic: it depends only on the section's page setup and the registry's pre-measured
|
|
321
|
+
* story heights, never on the page's content, which is what keeps it lazy-loading compatible.
|
|
322
|
+
*/
|
|
323
|
+
private getPageBands;
|
|
324
|
+
/**
|
|
325
|
+
* The measured height of the running story this page position selects, mirroring
|
|
326
|
+
* {@link selectHeader}/{@link selectFooter}. Zero when the page has no such story.
|
|
291
327
|
*/
|
|
292
|
-
private
|
|
328
|
+
private selectStoryHeight;
|
|
293
329
|
/**
|
|
294
330
|
* Measures the content height of a header or footer element.
|
|
295
|
-
*
|
|
331
|
+
*
|
|
332
|
+
* This is what tells {@link resolvePageBands} whether the story stays inside its margin or
|
|
333
|
+
* pushes the body, so it must measure the story ALONE — any padding added here would have to
|
|
334
|
+
* be added to the rendered band too, and the two drifting apart is exactly how a header
|
|
335
|
+
* silently starts overlapping body text.
|
|
296
336
|
*/
|
|
297
337
|
private measureHeaderFooterHeight;
|
|
298
338
|
/**
|
|
@@ -315,6 +355,19 @@ export declare class PaginationEngine {
|
|
|
315
355
|
* cloned node cannot be uniquely addressed.
|
|
316
356
|
*/
|
|
317
357
|
private makeClonedStoryInert;
|
|
358
|
+
/**
|
|
359
|
+
* Resolves floating DrawingML objects after their anchor paragraphs have landed on a page.
|
|
360
|
+
*
|
|
361
|
+
* The converter deliberately carries the OOXML bases and offsets as data instead of flattening
|
|
362
|
+
* them into CSS: page/margin/column bases belong to the page, while paragraph/line/character
|
|
363
|
+
* bases belong to the laid-out anchor. Once both coordinate systems exist, promote the object
|
|
364
|
+
* from the clipped text column into the page box and position it in one shared point space.
|
|
365
|
+
*/
|
|
366
|
+
private positionDrawingAnchors;
|
|
367
|
+
private anchorNumber;
|
|
368
|
+
private horizontalAnchorReference;
|
|
369
|
+
private verticalAnchorReference;
|
|
370
|
+
private resolveAnchorAxis;
|
|
318
371
|
/**
|
|
319
372
|
* Creates a page container element.
|
|
320
373
|
*/
|
package/dist/pagination.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}
|