postext 0.3.10 → 0.3.11

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 (45) hide show
  1. package/dist/__tests__/exports.test.js +12 -0
  2. package/dist/__tests__/exports.test.js.map +1 -1
  3. package/dist/canvas-backend/headerFooter.d.ts +3 -0
  4. package/dist/canvas-backend/headerFooter.d.ts.map +1 -0
  5. package/dist/canvas-backend/headerFooter.js +23 -0
  6. package/dist/canvas-backend/headerFooter.js.map +1 -0
  7. package/dist/canvas-backend/index.d.ts.map +1 -1
  8. package/dist/canvas-backend/index.js +5 -0
  9. package/dist/canvas-backend/index.js.map +1 -1
  10. package/dist/defaults/headerFooter.d.ts +22 -0
  11. package/dist/defaults/headerFooter.d.ts.map +1 -0
  12. package/dist/defaults/headerFooter.js +258 -0
  13. package/dist/defaults/headerFooter.js.map +1 -0
  14. package/dist/defaults/index.d.ts +2 -0
  15. package/dist/defaults/index.d.ts.map +1 -1
  16. package/dist/defaults/index.js +16 -0
  17. package/dist/defaults/index.js.map +1 -1
  18. package/dist/index.d.ts +5 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/measure/index.d.ts +1 -1
  23. package/dist/measure/index.d.ts.map +1 -1
  24. package/dist/measure/index.js +1 -1
  25. package/dist/measure/index.js.map +1 -1
  26. package/dist/pipeline/build.d.ts.map +1 -1
  27. package/dist/pipeline/build.js +2 -0
  28. package/dist/pipeline/build.js.map +1 -1
  29. package/dist/pipeline/config.d.ts.map +1 -1
  30. package/dist/pipeline/config.js +3 -1
  31. package/dist/pipeline/config.js.map +1 -1
  32. package/dist/pipeline/headerFooter.d.ts +11 -0
  33. package/dist/pipeline/headerFooter.d.ts.map +1 -0
  34. package/dist/pipeline/headerFooter.js +135 -0
  35. package/dist/pipeline/headerFooter.js.map +1 -0
  36. package/dist/pipeline/placeholders.d.ts +35 -0
  37. package/dist/pipeline/placeholders.d.ts.map +1 -0
  38. package/dist/pipeline/placeholders.js +166 -0
  39. package/dist/pipeline/placeholders.js.map +1 -0
  40. package/dist/types.d.ts +73 -0
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/vdt.d.ts +27 -3
  43. package/dist/vdt.d.ts.map +1 -1
  44. package/dist/vdt.js.map +1 -1
  45. package/package.json +1 -1
@@ -78,6 +78,18 @@ describe("package exports", () => {
78
78
  "DEFAULT_PDF_GENERATION_CONFIG",
79
79
  "resolvePdfGenerationConfig",
80
80
  "stripPdfGenerationDefaults",
81
+ "DEFAULT_HEADER_FOOTER_SLOT",
82
+ "DEFAULT_HEADER_SLOT",
83
+ "DEFAULT_FOOTER_SLOT",
84
+ "DEFAULT_TEXT_ELEMENT",
85
+ "DEFAULT_RULE_ELEMENT",
86
+ "resolveHeaderFooterConfig",
87
+ "stripHeaderFooterDefaults",
88
+ "resolvePlaceholders",
89
+ "computeChapterTitles",
90
+ "collectPlaceholderNames",
91
+ "isKnownPlaceholder",
92
+ "isMetadataPlaceholder",
81
93
  "parseMarkdownWithIssues",
82
94
  "MATH_PLACEHOLDER",
83
95
  "initMathEngine",
@@ -1 +1 @@
1
- {"version":3,"file":"exports.test.js","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAEpC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,CAAC,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YAC3B,cAAc;YACd,eAAe;YACf,qBAAqB;YACrB,gBAAgB;YAChB,YAAY;YACZ,oBAAoB;YACpB,cAAc;YACd,qBAAqB;YACrB,eAAe;YACf,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,mBAAmB;YACnB,gBAAgB;YAChB,uBAAuB;YACvB,wBAAwB;YACxB,oBAAoB;YACpB,wBAAwB;YACxB,eAAe;YACf,sBAAsB;YACtB,eAAe;YACf,oBAAoB;YACpB,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,mBAAmB;YACnB,uBAAuB;YACvB,qBAAqB;YACrB,qBAAqB;YACrB,qBAAqB;YACrB,0BAA0B;YAC1B,4BAA4B;YAC5B,uBAAuB;YACvB,uBAAuB;YACvB,kBAAkB;YAClB,yBAAyB;YACzB,uBAAuB;YACvB,uBAAuB;YACvB,gCAAgC;YAChC,6BAA6B;YAC7B,6BAA6B;YAC7B,8BAA8B;YAC9B,2BAA2B;YAC3B,2BAA2B;YAC3B,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,iBAAiB;YACjB,aAAa;YACb,mBAAmB;YACnB,sBAAsB;YACtB,8BAA8B;YAC9B,uBAAuB;YACvB,oBAAoB;YACpB,uBAAuB;YACvB,yBAAyB;YACzB,wBAAwB;YACxB,0BAA0B;YAC1B,uBAAuB;YACvB,mBAAmB;YACnB,qBAAqB;YACrB,sBAAsB;YACtB,oBAAoB;YACpB,oBAAoB;YACpB,4BAA4B;YAC5B,yBAAyB;YACzB,yBAAyB;YACzB,+BAA+B;YAC/B,4BAA4B;YAC5B,4BAA4B;YAC5B,yBAAyB;YACzB,kBAAkB;YAClB,gBAAgB;YAChB,aAAa;YACb,aAAa;YACb,YAAY;YACZ,mBAAmB;YACnB,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"exports.test.js","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAEpC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,CAAC,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YAC3B,cAAc;YACd,eAAe;YACf,qBAAqB;YACrB,gBAAgB;YAChB,YAAY;YACZ,oBAAoB;YACpB,cAAc;YACd,qBAAqB;YACrB,eAAe;YACf,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,mBAAmB;YACnB,gBAAgB;YAChB,uBAAuB;YACvB,wBAAwB;YACxB,oBAAoB;YACpB,wBAAwB;YACxB,eAAe;YACf,sBAAsB;YACtB,eAAe;YACf,oBAAoB;YACpB,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,mBAAmB;YACnB,uBAAuB;YACvB,qBAAqB;YACrB,qBAAqB;YACrB,qBAAqB;YACrB,0BAA0B;YAC1B,4BAA4B;YAC5B,uBAAuB;YACvB,uBAAuB;YACvB,kBAAkB;YAClB,yBAAyB;YACzB,uBAAuB;YACvB,uBAAuB;YACvB,gCAAgC;YAChC,6BAA6B;YAC7B,6BAA6B;YAC7B,8BAA8B;YAC9B,2BAA2B;YAC3B,2BAA2B;YAC3B,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,iBAAiB;YACjB,aAAa;YACb,mBAAmB;YACnB,sBAAsB;YACtB,8BAA8B;YAC9B,uBAAuB;YACvB,oBAAoB;YACpB,uBAAuB;YACvB,yBAAyB;YACzB,wBAAwB;YACxB,0BAA0B;YAC1B,uBAAuB;YACvB,mBAAmB;YACnB,qBAAqB;YACrB,sBAAsB;YACtB,oBAAoB;YACpB,oBAAoB;YACpB,4BAA4B;YAC5B,yBAAyB;YACzB,yBAAyB;YACzB,+BAA+B;YAC/B,4BAA4B;YAC5B,4BAA4B;YAC5B,4BAA4B;YAC5B,qBAAqB;YACrB,qBAAqB;YACrB,sBAAsB;YACtB,sBAAsB;YACtB,2BAA2B;YAC3B,2BAA2B;YAC3B,qBAAqB;YACrB,sBAAsB;YACtB,yBAAyB;YACzB,oBAAoB;YACpB,uBAAuB;YACvB,yBAAyB;YACzB,kBAAkB;YAClB,gBAAgB;YAChB,aAAa;YACb,aAAa;YACb,YAAY;YACZ,mBAAmB;YACnB,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { VDTHeaderFooterSlot } from '../vdt';
2
+ export declare function renderHeaderFooterSlot(ctx: CanvasRenderingContext2D, slot: VDTHeaderFooterSlot): void;
3
+ //# sourceMappingURL=headerFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/headerFooter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAA0C,MAAM,QAAQ,CAAC;AAqB1F,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,mBAAmB,GACxB,IAAI,CAKN"}
@@ -0,0 +1,23 @@
1
+ function renderTextBlock(ctx, block) {
2
+ ctx.save();
3
+ ctx.fillStyle = block.color;
4
+ ctx.font = block.fontString;
5
+ ctx.textBaseline = 'alphabetic';
6
+ ctx.fillText(block.text, block.bbox.x, block.baseline);
7
+ ctx.restore();
8
+ }
9
+ function renderRuleBlock(ctx, block) {
10
+ ctx.save();
11
+ ctx.fillStyle = block.color;
12
+ ctx.fillRect(block.bbox.x, block.bbox.y, block.bbox.width, block.thicknessPx);
13
+ ctx.restore();
14
+ }
15
+ export function renderHeaderFooterSlot(ctx, slot) {
16
+ for (const block of slot.blocks) {
17
+ if (block.kind === 'text')
18
+ renderTextBlock(ctx, block);
19
+ else
20
+ renderRuleBlock(ctx, block);
21
+ }
22
+ }
23
+ //# sourceMappingURL=headerFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headerFooter.js","sourceRoot":"","sources":["../../src/canvas-backend/headerFooter.ts"],"names":[],"mappings":"AAEA,SAAS,eAAe,CACtB,GAA6B,EAC7B,KAA+B;IAE/B,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;IAC5B,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;IAChC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvD,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,GAA6B,EAAE,KAAmB;IACzE,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC9E,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,GAA6B,EAC7B,IAAyB;IAEzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;;YAClD,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAKnD,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,IAAI,CAkFN;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,iBAAiB,CAI7E;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB,EAAE,CAEpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAMnD,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,IAAI,CAqFN;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,iBAAiB,CAI7E;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB,EAAE,CAEpE"}
@@ -1,6 +1,7 @@
1
1
  import { dimensionToPx } from '../units';
2
2
  import { renderBaselineGrid, renderColumnRule, renderCutLines, computeContentArea } from './decorations';
3
3
  import { renderBlock } from './blockRender';
4
+ import { renderHeaderFooterSlot } from './headerFooter';
4
5
  export function renderPageToCanvas(page, doc, canvas, options) {
5
6
  canvas.width = Math.round(page.width);
6
7
  canvas.height = Math.round(page.height);
@@ -50,6 +51,10 @@ export function renderPageToCanvas(page, doc, canvas, options) {
50
51
  }
51
52
  ctx.restore();
52
53
  }
54
+ if (page.header)
55
+ renderHeaderFooterSlot(ctx, page.header);
56
+ if (page.footer)
57
+ renderHeaderFooterSlot(ctx, page.footer);
53
58
  if (options?.pageNegative) {
54
59
  ctx.filter = 'none';
55
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/canvas-backend/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/canvas-backend/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { HeaderFooterSlot, ResolvedHeaderFooterSlot, ResolvedHeaderFooterTextElement, ResolvedHeaderFooterRuleElement } from '../types';
2
+ export type HeaderFooterSlotKind = 'header' | 'footer';
3
+ export declare const DEFAULT_HEADER_FOOTER_SLOT: ResolvedHeaderFooterSlot;
4
+ export declare const DEFAULT_TEXT_ELEMENT: ResolvedHeaderFooterTextElement;
5
+ export declare const DEFAULT_RULE_ELEMENT: ResolvedHeaderFooterRuleElement;
6
+ /** Built-in default header: book title (right, odd) + chapter title (left,
7
+ * even) + full-width rule. Applied when `config.header` is `undefined`. */
8
+ export declare const DEFAULT_HEADER_SLOT: ResolvedHeaderFooterSlot;
9
+ /** Built-in default footer: centered page number on every page. Applied when
10
+ * `config.footer` is `undefined`. */
11
+ export declare const DEFAULT_FOOTER_SLOT: ResolvedHeaderFooterSlot;
12
+ /** Resolve a header/footer slot. When `slot` is `undefined`, returns the
13
+ * built-in default for `kind`. An explicit empty slot (`{ elements: [] }`)
14
+ * stays empty — the user opted out of the default. */
15
+ export declare function resolveHeaderFooterConfig(slot: HeaderFooterSlot | undefined, kind?: HeaderFooterSlotKind): ResolvedHeaderFooterSlot;
16
+ /** Strip defaults from a header/footer slot. Returns `undefined` when the
17
+ * slot matches the built-in default for `kind` (so persisted configs omit
18
+ * it); otherwise returns the slot with per-element field defaults stripped.
19
+ * An explicit empty slot is preserved — the user opted out and we must not
20
+ * conflate that with "use the default". */
21
+ export declare function stripHeaderFooterDefaults(slot: HeaderFooterSlot | undefined, kind?: HeaderFooterSlotKind): HeaderFooterSlot | undefined;
22
+ //# sourceMappingURL=headerFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/defaults/headerFooter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EAKxB,+BAA+B,EAC/B,+BAA+B,EAGhC,MAAM,UAAU,CAAC;AAGlB,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AASvD,eAAO,MAAM,0BAA0B,EAAE,wBAExC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,+BAYlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,+BASlC,CAAC;AAEF;4EAC4E;AAC5E,eAAO,MAAM,mBAAmB,EAAE,wBAuCjC,CAAC;AAEF;sCACsC;AACtC,eAAO,MAAM,mBAAmB,EAAE,wBAgBjC,CAAC;AA+DF;;uDAEuD;AACvD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,gBAAgB,GAAG,SAAS,EAClC,IAAI,GAAE,oBAA+B,GACpC,wBAAwB,CAK1B;AA0FD;;;;4CAI4C;AAC5C,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,gBAAgB,GAAG,SAAS,EAClC,IAAI,GAAE,oBAA+B,GACpC,gBAAgB,GAAG,SAAS,CAO9B"}
@@ -0,0 +1,258 @@
1
+ import { dimensionsEqual, colorsEqual, DEFAULT_MAIN_COLOR } from './shared';
2
+ const DEFAULT_MARGIN_FROM_BODY = { value: 6, unit: 'pt' };
3
+ const DEFAULT_MARGIN_FROM_EDGE = { value: 0, unit: 'pt' };
4
+ function mainColor() {
5
+ return { ...DEFAULT_MAIN_COLOR };
6
+ }
7
+ export const DEFAULT_HEADER_FOOTER_SLOT = {
8
+ elements: [],
9
+ };
10
+ export const DEFAULT_TEXT_ELEMENT = {
11
+ kind: 'text',
12
+ align: 'center',
13
+ content: '',
14
+ parity: 'all',
15
+ marginFromBody: { ...DEFAULT_MARGIN_FROM_BODY },
16
+ marginFromEdge: { ...DEFAULT_MARGIN_FROM_EDGE },
17
+ fontFamily: 'EB Garamond',
18
+ fontSize: { value: 8, unit: 'pt' },
19
+ fontWeight: 400,
20
+ italic: false,
21
+ color: { hex: '#000000', model: 'hex' },
22
+ };
23
+ export const DEFAULT_RULE_ELEMENT = {
24
+ kind: 'rule',
25
+ color: { hex: '#000000', model: 'hex' },
26
+ thickness: { value: 0.5, unit: 'pt' },
27
+ width: 'full',
28
+ align: 'center',
29
+ marginFromBody: { ...DEFAULT_MARGIN_FROM_BODY },
30
+ marginFromEdge: { ...DEFAULT_MARGIN_FROM_EDGE },
31
+ parity: 'all',
32
+ };
33
+ /** Built-in default header: book title (right, odd) + chapter title (left,
34
+ * even) + full-width rule. Applied when `config.header` is `undefined`. */
35
+ export const DEFAULT_HEADER_SLOT = {
36
+ elements: [
37
+ {
38
+ kind: 'text',
39
+ align: 'right',
40
+ content: '{title}',
41
+ parity: 'odd',
42
+ marginFromBody: { value: 16, unit: 'pt' },
43
+ marginFromEdge: { value: 0, unit: 'pt' },
44
+ fontFamily: 'Open Sans',
45
+ fontSize: { value: 8, unit: 'pt' },
46
+ fontWeight: 600,
47
+ italic: false,
48
+ color: mainColor(),
49
+ },
50
+ {
51
+ kind: 'text',
52
+ align: 'left',
53
+ content: '{chapterTitle}',
54
+ parity: 'even',
55
+ marginFromBody: { value: 16, unit: 'pt' },
56
+ marginFromEdge: { value: 0, unit: 'pt' },
57
+ fontFamily: 'Open Sans',
58
+ fontSize: { value: 8, unit: 'pt' },
59
+ fontWeight: 600,
60
+ italic: false,
61
+ color: mainColor(),
62
+ },
63
+ {
64
+ kind: 'rule',
65
+ color: mainColor(),
66
+ thickness: { value: 1, unit: 'pt' },
67
+ width: 'full',
68
+ align: 'center',
69
+ marginFromBody: { value: 13, unit: 'pt' },
70
+ marginFromEdge: { value: 0, unit: 'pt' },
71
+ parity: 'all',
72
+ },
73
+ ],
74
+ };
75
+ /** Built-in default footer: centered page number on every page. Applied when
76
+ * `config.footer` is `undefined`. */
77
+ export const DEFAULT_FOOTER_SLOT = {
78
+ elements: [
79
+ {
80
+ kind: 'text',
81
+ align: 'center',
82
+ content: '{pageNumber}',
83
+ parity: 'all',
84
+ marginFromBody: { value: 16, unit: 'pt' },
85
+ marginFromEdge: { value: 0, unit: 'pt' },
86
+ fontFamily: 'Open Sans',
87
+ fontSize: { value: 8, unit: 'pt' },
88
+ fontWeight: 600,
89
+ italic: false,
90
+ color: mainColor(),
91
+ },
92
+ ],
93
+ };
94
+ function defaultSlotFor(kind) {
95
+ return kind === 'header' ? DEFAULT_HEADER_SLOT : DEFAULT_FOOTER_SLOT;
96
+ }
97
+ function cloneResolvedSlot(slot) {
98
+ return {
99
+ elements: slot.elements.map((el) => el.kind === 'text'
100
+ ? {
101
+ ...el,
102
+ marginFromBody: { ...el.marginFromBody },
103
+ marginFromEdge: { ...el.marginFromEdge },
104
+ fontSize: { ...el.fontSize },
105
+ color: { ...el.color },
106
+ }
107
+ : {
108
+ ...el,
109
+ marginFromBody: { ...el.marginFromBody },
110
+ marginFromEdge: { ...el.marginFromEdge },
111
+ thickness: { ...el.thickness },
112
+ width: typeof el.width === 'string' ? el.width : { ...el.width },
113
+ color: { ...el.color },
114
+ }),
115
+ };
116
+ }
117
+ function resolveTextElement(el) {
118
+ return {
119
+ kind: 'text',
120
+ align: el.align ?? DEFAULT_TEXT_ELEMENT.align,
121
+ content: el.content ?? DEFAULT_TEXT_ELEMENT.content,
122
+ parity: el.parity ?? DEFAULT_TEXT_ELEMENT.parity,
123
+ marginFromBody: el.marginFromBody ?? DEFAULT_TEXT_ELEMENT.marginFromBody,
124
+ marginFromEdge: el.marginFromEdge ?? DEFAULT_TEXT_ELEMENT.marginFromEdge,
125
+ fontFamily: el.fontFamily ?? DEFAULT_TEXT_ELEMENT.fontFamily,
126
+ fontSize: el.fontSize ?? DEFAULT_TEXT_ELEMENT.fontSize,
127
+ fontWeight: el.fontWeight ?? DEFAULT_TEXT_ELEMENT.fontWeight,
128
+ italic: el.italic ?? DEFAULT_TEXT_ELEMENT.italic,
129
+ color: el.color ?? DEFAULT_TEXT_ELEMENT.color,
130
+ };
131
+ }
132
+ function resolveRuleElement(el) {
133
+ return {
134
+ kind: 'rule',
135
+ color: el.color ?? DEFAULT_RULE_ELEMENT.color,
136
+ thickness: el.thickness ?? DEFAULT_RULE_ELEMENT.thickness,
137
+ width: el.width ?? DEFAULT_RULE_ELEMENT.width,
138
+ align: el.align ?? DEFAULT_RULE_ELEMENT.align,
139
+ marginFromBody: el.marginFromBody ?? DEFAULT_RULE_ELEMENT.marginFromBody,
140
+ marginFromEdge: el.marginFromEdge ?? DEFAULT_RULE_ELEMENT.marginFromEdge,
141
+ parity: el.parity ?? DEFAULT_RULE_ELEMENT.parity,
142
+ };
143
+ }
144
+ function resolveElement(el) {
145
+ if (el.kind === 'text')
146
+ return resolveTextElement(el);
147
+ return resolveRuleElement(el);
148
+ }
149
+ /** Resolve a header/footer slot. When `slot` is `undefined`, returns the
150
+ * built-in default for `kind`. An explicit empty slot (`{ elements: [] }`)
151
+ * stays empty — the user opted out of the default. */
152
+ export function resolveHeaderFooterConfig(slot, kind = 'header') {
153
+ if (slot === undefined)
154
+ return cloneResolvedSlot(defaultSlotFor(kind));
155
+ return {
156
+ elements: (slot.elements ?? []).map(resolveElement),
157
+ };
158
+ }
159
+ function stripTextElement(el) {
160
+ const out = {
161
+ kind: 'text',
162
+ align: el.align,
163
+ content: el.content,
164
+ parity: el.parity,
165
+ };
166
+ if (el.marginFromBody !== undefined && !dimensionsEqual(el.marginFromBody, DEFAULT_TEXT_ELEMENT.marginFromBody))
167
+ out.marginFromBody = el.marginFromBody;
168
+ if (el.marginFromEdge !== undefined && !dimensionsEqual(el.marginFromEdge, DEFAULT_TEXT_ELEMENT.marginFromEdge))
169
+ out.marginFromEdge = el.marginFromEdge;
170
+ if (el.fontFamily !== undefined && el.fontFamily !== DEFAULT_TEXT_ELEMENT.fontFamily)
171
+ out.fontFamily = el.fontFamily;
172
+ if (el.fontSize !== undefined && !dimensionsEqual(el.fontSize, DEFAULT_TEXT_ELEMENT.fontSize))
173
+ out.fontSize = el.fontSize;
174
+ if (el.fontWeight !== undefined && el.fontWeight !== DEFAULT_TEXT_ELEMENT.fontWeight)
175
+ out.fontWeight = el.fontWeight;
176
+ if (el.italic !== undefined && el.italic !== DEFAULT_TEXT_ELEMENT.italic)
177
+ out.italic = el.italic;
178
+ if (el.color !== undefined && !colorsEqual(el.color, DEFAULT_TEXT_ELEMENT.color))
179
+ out.color = el.color;
180
+ return out;
181
+ }
182
+ function stripRuleElement(el) {
183
+ const out = {
184
+ kind: 'rule',
185
+ color: el.color,
186
+ thickness: el.thickness,
187
+ width: el.width,
188
+ align: el.align,
189
+ parity: el.parity,
190
+ };
191
+ if (el.marginFromBody !== undefined && !dimensionsEqual(el.marginFromBody, DEFAULT_RULE_ELEMENT.marginFromBody))
192
+ out.marginFromBody = el.marginFromBody;
193
+ if (el.marginFromEdge !== undefined && !dimensionsEqual(el.marginFromEdge, DEFAULT_RULE_ELEMENT.marginFromEdge))
194
+ out.marginFromEdge = el.marginFromEdge;
195
+ return out;
196
+ }
197
+ function textElementsEqual(a, b) {
198
+ return (a.kind === 'text' &&
199
+ a.align === b.align &&
200
+ a.content === b.content &&
201
+ a.parity === b.parity &&
202
+ dimensionsEqual(a.marginFromBody ?? DEFAULT_TEXT_ELEMENT.marginFromBody, b.marginFromBody) &&
203
+ dimensionsEqual(a.marginFromEdge ?? DEFAULT_TEXT_ELEMENT.marginFromEdge, b.marginFromEdge) &&
204
+ (a.fontFamily ?? DEFAULT_TEXT_ELEMENT.fontFamily) === b.fontFamily &&
205
+ dimensionsEqual(a.fontSize ?? DEFAULT_TEXT_ELEMENT.fontSize, b.fontSize) &&
206
+ (a.fontWeight ?? DEFAULT_TEXT_ELEMENT.fontWeight) === b.fontWeight &&
207
+ (a.italic ?? DEFAULT_TEXT_ELEMENT.italic) === b.italic &&
208
+ colorsEqual(a.color ?? DEFAULT_TEXT_ELEMENT.color, b.color));
209
+ }
210
+ function ruleElementsEqual(a, b) {
211
+ const widthEq = typeof a.width === 'string' && typeof b.width === 'string'
212
+ ? a.width === b.width
213
+ : typeof a.width !== 'string' && typeof b.width !== 'string'
214
+ ? dimensionsEqual(a.width, b.width)
215
+ : false;
216
+ return (a.kind === 'rule' &&
217
+ colorsEqual(a.color, b.color) &&
218
+ dimensionsEqual(a.thickness, b.thickness) &&
219
+ widthEq &&
220
+ a.align === b.align &&
221
+ dimensionsEqual(a.marginFromBody ?? DEFAULT_RULE_ELEMENT.marginFromBody, b.marginFromBody) &&
222
+ dimensionsEqual(a.marginFromEdge ?? DEFAULT_RULE_ELEMENT.marginFromEdge, b.marginFromEdge) &&
223
+ a.parity === b.parity);
224
+ }
225
+ function slotEqualsDefault(slot, def) {
226
+ const els = slot.elements ?? [];
227
+ if (els.length !== def.elements.length)
228
+ return false;
229
+ for (let i = 0; i < els.length; i++) {
230
+ const a = els[i];
231
+ const b = def.elements[i];
232
+ if (a.kind !== b.kind)
233
+ return false;
234
+ if (a.kind === 'text' && b.kind === 'text') {
235
+ if (!textElementsEqual(a, b))
236
+ return false;
237
+ }
238
+ else if (a.kind === 'rule' && b.kind === 'rule') {
239
+ if (!ruleElementsEqual(a, b))
240
+ return false;
241
+ }
242
+ }
243
+ return true;
244
+ }
245
+ /** Strip defaults from a header/footer slot. Returns `undefined` when the
246
+ * slot matches the built-in default for `kind` (so persisted configs omit
247
+ * it); otherwise returns the slot with per-element field defaults stripped.
248
+ * An explicit empty slot is preserved — the user opted out and we must not
249
+ * conflate that with "use the default". */
250
+ export function stripHeaderFooterDefaults(slot, kind = 'header') {
251
+ if (!slot)
252
+ return undefined;
253
+ if (slotEqualsDefault(slot, defaultSlotFor(kind)))
254
+ return undefined;
255
+ const elements = (slot.elements ?? []).map((el) => el.kind === 'text' ? stripTextElement(el) : stripRuleElement(el));
256
+ return { elements };
257
+ }
258
+ //# sourceMappingURL=headerFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headerFooter.js","sourceRoot":"","sources":["../../src/defaults/headerFooter.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,7 @@ export { DEFAULT_MATH_CONFIG, resolveMathConfig, stripMathDefaults } from './mat
10
10
  export { DEFAULT_DEBUG_CONFIG, resolveDebugConfig, stripDebugDefaults } from './debug';
11
11
  export { DEFAULT_HTML_VIEWER_CONFIG, resolveHtmlViewerConfig, stripHtmlViewerDefaults } from './htmlViewer';
12
12
  export { DEFAULT_PDF_GENERATION_CONFIG, resolvePdfGenerationConfig, stripPdfGenerationDefaults } from './pdfGeneration';
13
+ export { DEFAULT_HEADER_FOOTER_SLOT, DEFAULT_HEADER_SLOT, DEFAULT_FOOTER_SLOT, DEFAULT_TEXT_ELEMENT, DEFAULT_RULE_ELEMENT, resolveHeaderFooterConfig, stripHeaderFooterDefaults } from './headerFooter';
14
+ export type { HeaderFooterSlotKind } from './headerFooter';
13
15
  export declare function stripConfigDefaults(config: PostextConfig): PostextConfig;
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAY9C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACnS,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACzH,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAChH,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAClJ,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC5H,OAAO,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACpH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAExH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CA+DxE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAa9C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACnS,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACzH,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAChH,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAClJ,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC5H,OAAO,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACpH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACxH,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACxM,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CA2ExE"}
@@ -8,6 +8,7 @@ import { stripMathDefaults } from './math';
8
8
  import { stripDebugDefaults } from './debug';
9
9
  import { stripHtmlViewerDefaults } from './htmlViewer';
10
10
  import { stripPdfGenerationDefaults } from './pdfGeneration';
11
+ import { stripHeaderFooterDefaults } from './headerFooter';
11
12
  export { dimensionsEqual, colorsEqual, resolveColorValue, applyPaletteToConfig, applyPaletteToResolvedConfig, DEFAULT_COLOR_PALETTE, DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR_ID, DEFAULT_MAIN_COLOR_NAME, DEFAULT_MAIN_COLOR_HEX, cloneDefaultColorPalette, isDefaultColorPalette } from './shared';
12
13
  export { PAGE_SIZE_PRESETS, DEFAULT_CUT_LINES, DEFAULT_PAGE_CONFIG, resolvePageConfig, stripPageDefaults } from './page';
13
14
  export { DEFAULT_COLUMN_RULE, DEFAULT_LAYOUT_CONFIG, resolveLayoutConfig, stripLayoutDefaults } from './layout';
@@ -19,6 +20,7 @@ export { DEFAULT_MATH_CONFIG, resolveMathConfig, stripMathDefaults } from './mat
19
20
  export { DEFAULT_DEBUG_CONFIG, resolveDebugConfig, stripDebugDefaults } from './debug';
20
21
  export { DEFAULT_HTML_VIEWER_CONFIG, resolveHtmlViewerConfig, stripHtmlViewerDefaults } from './htmlViewer';
21
22
  export { DEFAULT_PDF_GENERATION_CONFIG, resolvePdfGenerationConfig, stripPdfGenerationDefaults } from './pdfGeneration';
23
+ export { DEFAULT_HEADER_FOOTER_SLOT, DEFAULT_HEADER_SLOT, DEFAULT_FOOTER_SLOT, DEFAULT_TEXT_ELEMENT, DEFAULT_RULE_ELEMENT, resolveHeaderFooterConfig, stripHeaderFooterDefaults } from './headerFooter';
22
24
  export function stripConfigDefaults(config) {
23
25
  const result = { ...config };
24
26
  const strippedPage = stripPageDefaults(config.page);
@@ -91,6 +93,20 @@ export function stripConfigDefaults(config) {
91
93
  else {
92
94
  delete result.pdfGeneration;
93
95
  }
96
+ const strippedHeader = stripHeaderFooterDefaults(config.header, 'header');
97
+ if (strippedHeader) {
98
+ result.header = strippedHeader;
99
+ }
100
+ else {
101
+ delete result.header;
102
+ }
103
+ const strippedFooter = stripHeaderFooterDefaults(config.footer, 'footer');
104
+ if (strippedFooter) {
105
+ result.footer = strippedFooter;
106
+ }
107
+ else {
108
+ delete result.footer;
109
+ }
94
110
  return result;
95
111
  }
96
112
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/defaults/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/defaults/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACnS,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACzH,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAChH,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAClJ,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC5H,OAAO,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACpH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACxH,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGxM,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,MAAM,MAAM,GAAkB,EAAE,GAAG,MAAM,EAAE,CAAC;IAC5C,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,MAAM,aAAa,GAAG,2BAA2B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzE,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,cAAc,CAAC;IAC/B,CAAC;IACD,MAAM,eAAe,GAAG,yBAAyB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACvE,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,CAAC,YAAY,GAAG,eAAe,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtE,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,CAAC,UAAU,GAAG,kBAAkB,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,UAAU,CAAC;IAC3B,CAAC;IACD,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/E,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,CAAC,aAAa,GAAG,qBAAqB,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,aAAa,CAAC;IAC9B,CAAC;IACD,MAAM,cAAc,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1E,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,MAAM,cAAc,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1E,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -12,9 +12,11 @@ export { hyphenateText, setHyphenationLocale } from './hyphenate';
12
12
  export { parseMarkdown } from './parse';
13
13
  export { extractFrontmatter } from './frontmatter';
14
14
  export type { ParsedFrontmatter } from './frontmatter';
15
- export { DEFAULT_PAGE_CONFIG, DEFAULT_CUT_LINES, PAGE_SIZE_PRESETS, resolvePageConfig, DEFAULT_LAYOUT_CONFIG, DEFAULT_COLUMN_RULE, resolveLayoutConfig, stripLayoutDefaults, DEFAULT_BODY_TEXT_CONFIG, DEFAULT_HYPHENATION_CONFIG, resolveBodyTextConfig, stripBodyTextDefaults, hyphenationEqual, DEFAULT_HEADINGS_CONFIG, resolveHeadingsConfig, stripHeadingsDefaults, DEFAULT_UNORDERED_LISTS_STATIC, resolveUnorderedListsConfig, stripUnorderedListsDefaults, DEFAULT_ORDERED_LISTS_STATIC, resolveOrderedListsConfig, stripOrderedListsDefaults, DEFAULT_MATH_CONFIG, resolveMathConfig, stripMathDefaults, dimensionsEqual, colorsEqual, resolveColorValue, applyPaletteToConfig, applyPaletteToResolvedConfig, DEFAULT_COLOR_PALETTE, DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR_ID, DEFAULT_MAIN_COLOR_NAME, DEFAULT_MAIN_COLOR_HEX, cloneDefaultColorPalette, isDefaultColorPalette, stripPageDefaults, stripConfigDefaults, DEFAULT_DEBUG_CONFIG, resolveDebugConfig, stripDebugDefaults, DEFAULT_HTML_VIEWER_CONFIG, resolveHtmlViewerConfig, stripHtmlViewerDefaults, DEFAULT_PDF_GENERATION_CONFIG, resolvePdfGenerationConfig, stripPdfGenerationDefaults } from './defaults';
16
- export type { PostextContent, DocumentMetadata, PostextResource, PostextNote, PostextConfig, PostextSectionOverride, ColumnConfig, ResourcePlacementConfig, TypographyConfig, ReferenceConfig, PlacementStrategy, ColorModel, ColorValue, ColorPaletteEntry, DimensionUnit, Dimension, PageSizePreset, PageMargins, BaselineGridConfig, CutLinesConfig, PageConfig, ResolvedPageConfig, LayoutType, ColumnRuleConfig, LayoutConfig, ResolvedLayoutConfig, TextAlign, HyphenationLocale, HyphenationConfig, ResolvedHyphenationConfig, BodyTextConfig, ResolvedBodyTextConfig, HeadingLevelConfig, ResolvedHeadingLevelConfig, HeadingsConfig, ResolvedHeadingsConfig, UnorderedListLevelConfig, ResolvedUnorderedListLevelConfig, UnorderedListsConfig, ResolvedUnorderedListsConfig, OrderedListLevelConfig, ResolvedOrderedListLevelConfig, OrderedListsConfig, ResolvedOrderedListsConfig, OrderedListNumberFormat, SyncIndicatorConfig, DebugConfig, ResolvedDebugConfig, WarningsToggleConfig, ResolvedWarningsToggleConfig, HtmlViewerConfig, ResolvedHtmlViewerConfig, MathConfig, ResolvedMathConfig, PdfColorSpace, PdfGenerationConfig, ResolvedPdfGenerationConfig, CustomFontFormat, CustomFontStyle, CustomFontVariant, CustomFontFamily, } from './types';
17
- export type { BoundingBox, ResolvedConfig, VDTBlockType, VDTLineSegment, VDTLine, VDTBlock, VDTColumn, VDTFootnoteArea, VDTPage, VDTDocument, } from './vdt';
15
+ export { DEFAULT_PAGE_CONFIG, DEFAULT_CUT_LINES, PAGE_SIZE_PRESETS, resolvePageConfig, DEFAULT_LAYOUT_CONFIG, DEFAULT_COLUMN_RULE, resolveLayoutConfig, stripLayoutDefaults, DEFAULT_BODY_TEXT_CONFIG, DEFAULT_HYPHENATION_CONFIG, resolveBodyTextConfig, stripBodyTextDefaults, hyphenationEqual, DEFAULT_HEADINGS_CONFIG, resolveHeadingsConfig, stripHeadingsDefaults, DEFAULT_UNORDERED_LISTS_STATIC, resolveUnorderedListsConfig, stripUnorderedListsDefaults, DEFAULT_ORDERED_LISTS_STATIC, resolveOrderedListsConfig, stripOrderedListsDefaults, DEFAULT_MATH_CONFIG, resolveMathConfig, stripMathDefaults, dimensionsEqual, colorsEqual, resolveColorValue, applyPaletteToConfig, applyPaletteToResolvedConfig, DEFAULT_COLOR_PALETTE, DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR_ID, DEFAULT_MAIN_COLOR_NAME, DEFAULT_MAIN_COLOR_HEX, cloneDefaultColorPalette, isDefaultColorPalette, stripPageDefaults, stripConfigDefaults, DEFAULT_DEBUG_CONFIG, resolveDebugConfig, stripDebugDefaults, DEFAULT_HTML_VIEWER_CONFIG, resolveHtmlViewerConfig, stripHtmlViewerDefaults, DEFAULT_PDF_GENERATION_CONFIG, resolvePdfGenerationConfig, stripPdfGenerationDefaults, DEFAULT_HEADER_FOOTER_SLOT, DEFAULT_HEADER_SLOT, DEFAULT_FOOTER_SLOT, DEFAULT_TEXT_ELEMENT, DEFAULT_RULE_ELEMENT, resolveHeaderFooterConfig, stripHeaderFooterDefaults } from './defaults';
16
+ export { resolvePlaceholders, computeChapterTitles, collectPlaceholderNames, isKnownPlaceholder, isMetadataPlaceholder } from './pipeline/placeholders';
17
+ export type { PlaceholderContext, PlaceholderResult } from './pipeline/placeholders';
18
+ export type { PostextContent, DocumentMetadata, PostextResource, PostextNote, PostextConfig, PostextSectionOverride, ColumnConfig, ResourcePlacementConfig, TypographyConfig, ReferenceConfig, PlacementStrategy, ColorModel, ColorValue, ColorPaletteEntry, DimensionUnit, Dimension, PageSizePreset, PageMargins, BaselineGridConfig, CutLinesConfig, PageConfig, ResolvedPageConfig, LayoutType, ColumnRuleConfig, LayoutConfig, ResolvedLayoutConfig, TextAlign, HyphenationLocale, HyphenationConfig, ResolvedHyphenationConfig, BodyTextConfig, ResolvedBodyTextConfig, HeadingLevelConfig, ResolvedHeadingLevelConfig, HeadingsConfig, ResolvedHeadingsConfig, UnorderedListLevelConfig, ResolvedUnorderedListLevelConfig, UnorderedListsConfig, ResolvedUnorderedListsConfig, OrderedListLevelConfig, ResolvedOrderedListLevelConfig, OrderedListsConfig, ResolvedOrderedListsConfig, OrderedListNumberFormat, SyncIndicatorConfig, DebugConfig, ResolvedDebugConfig, WarningsToggleConfig, ResolvedWarningsToggleConfig, HtmlViewerConfig, ResolvedHtmlViewerConfig, MathConfig, ResolvedMathConfig, PdfColorSpace, PdfGenerationConfig, ResolvedPdfGenerationConfig, CustomFontFormat, CustomFontStyle, CustomFontVariant, CustomFontFamily, PageParity, HeaderFooterHAlign, HeaderFooterTextElement, HeaderFooterRuleElement, HeaderFooterElement, HeaderFooterSlot, ResolvedHeaderFooterTextElement, ResolvedHeaderFooterRuleElement, ResolvedHeaderFooterElement, ResolvedHeaderFooterSlot, } from './types';
19
+ export type { BoundingBox, ResolvedConfig, VDTBlockType, VDTLineSegment, VDTLine, VDTBlock, VDTColumn, VDTFootnoteArea, VDTPage, VDTDocument, VDTHeaderFooterSlot, VDTHeaderFooterBlock, VDTHeaderFooterTextBlock, VDTRuleBlock, } from './vdt';
18
20
  export type { ContentBlock, ContentBlockType, InlineSpan, TextSpan, MathSpan, MathMeta, ListKind, ParseIssue } from './parse';
19
21
  export { parseMarkdownWithIssues, MATH_PLACEHOLDER } from './parse';
20
22
  export type { MathRender, MathPath, MathViewBox } from './math/types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,7 +7,8 @@ export { buildFontString, measureBlock, measureRichBlock, measureGlyphWidth, ini
7
7
  export { hyphenateText, setHyphenationLocale } from './hyphenate';
8
8
  export { parseMarkdown } from './parse';
9
9
  export { extractFrontmatter } from './frontmatter';
10
- export { DEFAULT_PAGE_CONFIG, DEFAULT_CUT_LINES, PAGE_SIZE_PRESETS, resolvePageConfig, DEFAULT_LAYOUT_CONFIG, DEFAULT_COLUMN_RULE, resolveLayoutConfig, stripLayoutDefaults, DEFAULT_BODY_TEXT_CONFIG, DEFAULT_HYPHENATION_CONFIG, resolveBodyTextConfig, stripBodyTextDefaults, hyphenationEqual, DEFAULT_HEADINGS_CONFIG, resolveHeadingsConfig, stripHeadingsDefaults, DEFAULT_UNORDERED_LISTS_STATIC, resolveUnorderedListsConfig, stripUnorderedListsDefaults, DEFAULT_ORDERED_LISTS_STATIC, resolveOrderedListsConfig, stripOrderedListsDefaults, DEFAULT_MATH_CONFIG, resolveMathConfig, stripMathDefaults, dimensionsEqual, colorsEqual, resolveColorValue, applyPaletteToConfig, applyPaletteToResolvedConfig, DEFAULT_COLOR_PALETTE, DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR_ID, DEFAULT_MAIN_COLOR_NAME, DEFAULT_MAIN_COLOR_HEX, cloneDefaultColorPalette, isDefaultColorPalette, stripPageDefaults, stripConfigDefaults, DEFAULT_DEBUG_CONFIG, resolveDebugConfig, stripDebugDefaults, DEFAULT_HTML_VIEWER_CONFIG, resolveHtmlViewerConfig, stripHtmlViewerDefaults, DEFAULT_PDF_GENERATION_CONFIG, resolvePdfGenerationConfig, stripPdfGenerationDefaults } from './defaults';
10
+ export { DEFAULT_PAGE_CONFIG, DEFAULT_CUT_LINES, PAGE_SIZE_PRESETS, resolvePageConfig, DEFAULT_LAYOUT_CONFIG, DEFAULT_COLUMN_RULE, resolveLayoutConfig, stripLayoutDefaults, DEFAULT_BODY_TEXT_CONFIG, DEFAULT_HYPHENATION_CONFIG, resolveBodyTextConfig, stripBodyTextDefaults, hyphenationEqual, DEFAULT_HEADINGS_CONFIG, resolveHeadingsConfig, stripHeadingsDefaults, DEFAULT_UNORDERED_LISTS_STATIC, resolveUnorderedListsConfig, stripUnorderedListsDefaults, DEFAULT_ORDERED_LISTS_STATIC, resolveOrderedListsConfig, stripOrderedListsDefaults, DEFAULT_MATH_CONFIG, resolveMathConfig, stripMathDefaults, dimensionsEqual, colorsEqual, resolveColorValue, applyPaletteToConfig, applyPaletteToResolvedConfig, DEFAULT_COLOR_PALETTE, DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR_ID, DEFAULT_MAIN_COLOR_NAME, DEFAULT_MAIN_COLOR_HEX, cloneDefaultColorPalette, isDefaultColorPalette, stripPageDefaults, stripConfigDefaults, DEFAULT_DEBUG_CONFIG, resolveDebugConfig, stripDebugDefaults, DEFAULT_HTML_VIEWER_CONFIG, resolveHtmlViewerConfig, stripHtmlViewerDefaults, DEFAULT_PDF_GENERATION_CONFIG, resolvePdfGenerationConfig, stripPdfGenerationDefaults, DEFAULT_HEADER_FOOTER_SLOT, DEFAULT_HEADER_SLOT, DEFAULT_FOOTER_SLOT, DEFAULT_TEXT_ELEMENT, DEFAULT_RULE_ELEMENT, resolveHeaderFooterConfig, stripHeaderFooterDefaults } from './defaults';
11
+ export { resolvePlaceholders, computeChapterTitles, collectPlaceholderNames, isKnownPlaceholder, isMetadataPlaceholder } from './pipeline/placeholders';
11
12
  export { parseMarkdownWithIssues, MATH_PLACEHOLDER } from './parse';
12
13
  export { initMathEngine, isMathReady, onMathReady, renderMath, placeholderRender, clearMathCache } from './math';
13
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAE1M,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AA6E1nC,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAE1M,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAClyC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AA4FxJ,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export type { MeasuredBlock, MeasurementCache, MeasureBlockOptions } from './types';
2
2
  export { buildFontString, initHyphenator, clearMeasurementCache, createMeasurementCache } from './font';
3
- export { measureGlyphWidth } from './canvas';
3
+ export { measureGlyphWidth, measureTextWidth } from './canvas';
4
4
  export { measureBlock } from './plain';
5
5
  export { measureRichBlock } from './rich';
6
6
  export { cachedMeasureBlock, cachedMeasureRichBlock } from './cache';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/measure/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/measure/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { buildFontString, initHyphenator, clearMeasurementCache, createMeasurementCache } from './font';
2
- export { measureGlyphWidth } from './canvas';
2
+ export { measureGlyphWidth, measureTextWidth } from './canvas';
3
3
  export { measureBlock } from './plain';
4
4
  export { measureRichBlock } from './rich';
5
5
  export { cachedMeasureBlock, cachedMeasureRichBlock } from './cache';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/measure/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/measure/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/pipeline/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9D,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,QAAQ,CAAC;AAKhB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA4BnD,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;CAC9B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;;CAK7C;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,WAAW,CAifb"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/pipeline/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9D,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,QAAQ,CAAC;AAKhB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA6BnD,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;CAC9B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;;CAK7C;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,WAAW,CAmfb"}
@@ -12,6 +12,7 @@ import { chooseParagraphSplit } from './orphanWidow';
12
12
  import { applyStyleAttrs, computeMeasureViewport, computePageMetrics, enrichMathSpans, rollbackTrailingBlocks, stampSourceRanges, } from './buildHelpers';
13
13
  import { resolveBlockKind } from './buildBlockKind';
14
14
  import { runMeasurement } from './buildMeasurement';
15
+ import { buildHeadersAndFooters } from './headerFooter';
15
16
  export class BuildCancelledError extends Error {
16
17
  constructor() {
17
18
  super('Build cancelled');
@@ -475,6 +476,7 @@ export function buildDocument(content, config, cache, options) {
475
476
  break;
476
477
  }
477
478
  }
479
+ buildHeadersAndFooters(doc);
478
480
  doc.converged = true;
479
481
  doc.iterationCount = 1;
480
482
  return doc;