reamkit 1.15.4 → 1.17.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.
Files changed (127) hide show
  1. package/dist/esm/core/bidi/segments.js +1 -2
  2. package/dist/esm/core/converter/facade.d.ts +5 -0
  3. package/dist/esm/core/converter/project.js +5 -1
  4. package/dist/esm/core/converter/ream.d.ts +6 -0
  5. package/dist/esm/core/converter/ream.js +34 -8
  6. package/dist/esm/core/document-model/index.d.ts +1 -1
  7. package/dist/esm/core/document-model/types.d.ts +659 -7
  8. package/dist/esm/core/drawingml/chart-geometry.d.ts +34 -10
  9. package/dist/esm/core/drawingml/chart-geometry.js +424 -92
  10. package/dist/esm/core/drawingml/chart-parser.js +301 -11
  11. package/dist/esm/core/drawingml/colors.d.ts +7 -7
  12. package/dist/esm/core/drawingml/colors.js +84 -18
  13. package/dist/esm/core/drawingml/preset-geometry.js +240 -6
  14. package/dist/esm/core/drawingml/shape-render.d.ts +12 -0
  15. package/dist/esm/core/drawingml/shape-render.js +116 -3
  16. package/dist/esm/core/drawingml/sparkline-geometry.js +6 -4
  17. package/dist/esm/core/drawingml/theme-parser.d.ts +51 -0
  18. package/dist/esm/core/drawingml/theme-parser.js +92 -1
  19. package/dist/esm/core/font/measure.d.ts +5 -0
  20. package/dist/esm/core/font/measure.js +21 -1
  21. package/dist/esm/core/font/ttf-subset.js +26 -1
  22. package/dist/esm/core/images.d.ts +2 -2
  23. package/dist/esm/core/images.js +353 -43
  24. package/dist/esm/core/indexed-colors.d.ts +11 -0
  25. package/dist/esm/core/indexed-colors.js +81 -0
  26. package/dist/esm/core/ir/flow.d.ts +23 -1
  27. package/dist/esm/core/ir/sheet.d.ts +61 -0
  28. package/dist/esm/{excel → core}/number-format.d.ts +37 -0
  29. package/dist/esm/core/number-format.js +800 -0
  30. package/dist/esm/core/numbering/apply.d.ts +5 -3
  31. package/dist/esm/core/numbering/apply.js +42 -11
  32. package/dist/esm/core/numbering/index.js +2 -0
  33. package/dist/esm/core/numbering/state.d.ts +13 -1
  34. package/dist/esm/core/numbering/state.js +256 -15
  35. package/dist/esm/core/opc/alternate-content.d.ts +13 -0
  36. package/dist/esm/core/opc/alternate-content.js +72 -0
  37. package/dist/esm/core/opc/core-properties.js +1 -0
  38. package/dist/esm/core/opc/package.d.ts +14 -1
  39. package/dist/esm/core/opc/package.js +43 -4
  40. package/dist/esm/core/opc/relationships.js +1 -0
  41. package/dist/esm/core/opc/xml-entities.d.ts +12 -0
  42. package/dist/esm/core/opc/xml-entities.js +91 -0
  43. package/dist/esm/core/po-helpers.js +16 -1
  44. package/dist/esm/core/spreadsheet-model/index.d.ts +1 -1
  45. package/dist/esm/core/spreadsheet-model/types.d.ts +137 -0
  46. package/dist/esm/core/style-cascade/resolver.js +66 -11
  47. package/dist/esm/core/style-cascade/table.js +35 -11
  48. package/dist/esm/core/style-cascade/types.d.ts +42 -1
  49. package/dist/esm/core/style-cascade/types.js +4 -0
  50. package/dist/esm/core/vector.d.ts +30 -0
  51. package/dist/esm/excel/activex-parser.js +1 -0
  52. package/dist/esm/excel/column-bands.d.ts +26 -1
  53. package/dist/esm/excel/column-bands.js +156 -20
  54. package/dist/esm/excel/comments-parser.js +5 -3
  55. package/dist/esm/excel/conditional-format.d.ts +25 -2
  56. package/dist/esm/excel/conditional-format.js +63 -19
  57. package/dist/esm/excel/escaped-text.d.ts +9 -0
  58. package/dist/esm/excel/escaped-text.js +20 -0
  59. package/dist/esm/excel/form-control-parser.js +1 -0
  60. package/dist/esm/excel/formula/dates.js +1 -1
  61. package/dist/esm/excel/header-footer.d.ts +9 -1
  62. package/dist/esm/excel/header-footer.js +162 -14
  63. package/dist/esm/excel/index.d.ts +1 -1
  64. package/dist/esm/excel/index.js +2 -2
  65. package/dist/esm/excel/pivot-table-parser.js +1 -0
  66. package/dist/esm/excel/print-model.d.ts +75 -0
  67. package/dist/esm/excel/print-model.js +899 -77
  68. package/dist/esm/excel/printer-settings.d.ts +16 -0
  69. package/dist/esm/excel/printer-settings.js +36 -0
  70. package/dist/esm/excel/rich-value.d.ts +13 -0
  71. package/dist/esm/excel/rich-value.js +120 -0
  72. package/dist/esm/excel/shared-strings-parser.js +11 -7
  73. package/dist/esm/excel/sheet-drawing.d.ts +11 -0
  74. package/dist/esm/excel/sheet-drawing.js +26 -3
  75. package/dist/esm/excel/sheet-shape-parser.d.ts +53 -1
  76. package/dist/esm/excel/sheet-shape-parser.js +461 -32
  77. package/dist/esm/excel/sheet-to-flow.d.ts +23 -2
  78. package/dist/esm/excel/sheet-to-flow.js +553 -36
  79. package/dist/esm/excel/slicer-parser.js +1 -0
  80. package/dist/esm/excel/styles-parser.d.ts +30 -2
  81. package/dist/esm/excel/styles-parser.js +177 -40
  82. package/dist/esm/excel/table-parser.js +1 -0
  83. package/dist/esm/excel/vml-drawing.d.ts +68 -0
  84. package/dist/esm/excel/vml-drawing.js +158 -0
  85. package/dist/esm/excel/workbook-parser.d.ts +5 -0
  86. package/dist/esm/excel/workbook-parser.js +5 -1
  87. package/dist/esm/excel/worksheet-parser.d.ts +2 -1
  88. package/dist/esm/excel/worksheet-parser.js +150 -61
  89. package/dist/esm/excel/xlsx-reader.js +242 -11
  90. package/dist/esm/excel/xlsx-to-pdf.js +12 -1
  91. package/dist/esm/html/html-writer.js +29 -6
  92. package/dist/esm/layout/page-doc.d.ts +87 -1
  93. package/dist/esm/layout/styled-layout.d.ts +46 -2
  94. package/dist/esm/layout/styled-layout.js +2345 -274
  95. package/dist/esm/pdf/cid-font.js +20 -9
  96. package/dist/esm/pdf/objects.d.ts +13 -0
  97. package/dist/esm/pdf/objects.js +18 -1
  98. package/dist/esm/pdf/shading.js +76 -6
  99. package/dist/esm/pdf/styled-page-emitter.js +355 -49
  100. package/dist/esm/pdf/text-page-renderer.js +1 -0
  101. package/dist/esm/pdf/vector-graphics.d.ts +31 -2
  102. package/dist/esm/pdf/vector-graphics.js +103 -3
  103. package/dist/esm/pptx/pptx-reader.js +2 -0
  104. package/dist/esm/pptx/slide-parser.d.ts +21 -4
  105. package/dist/esm/pptx/slide-parser.js +98 -24
  106. package/dist/esm/svg/svg-writer.js +23 -4
  107. package/dist/esm/word/document-parser.d.ts +96 -7
  108. package/dist/esm/word/document-parser.js +538 -116
  109. package/dist/esm/word/docx-reader.js +135 -43
  110. package/dist/esm/word/docx-writer.js +6 -1
  111. package/dist/esm/word/drawing-parser.d.ts +86 -5
  112. package/dist/esm/word/drawing-parser.js +1590 -54
  113. package/dist/esm/word/index.d.ts +4 -4
  114. package/dist/esm/word/numbering-parser.d.ts +2 -1
  115. package/dist/esm/word/numbering-parser.js +108 -21
  116. package/dist/esm/word/paragraph-properties.d.ts +11 -1
  117. package/dist/esm/word/paragraph-properties.js +219 -10
  118. package/dist/esm/word/run-properties.js +45 -1
  119. package/dist/esm/word/settings-parser.d.ts +24 -0
  120. package/dist/esm/word/settings-parser.js +32 -5
  121. package/dist/esm/word/shading.d.ts +11 -0
  122. package/dist/esm/word/shading.js +64 -0
  123. package/dist/esm/word/styles-parser.js +9 -2
  124. package/dist/esm/word/table-parser.d.ts +9 -1
  125. package/dist/esm/word/table-parser.js +182 -30
  126. package/package.json +7 -3
  127. package/dist/esm/excel/number-format.js +0 -476
@@ -1,12 +1,12 @@
1
- import { BodyElement, Chart, Comment, DocumentInfo, Numbering, Section, SectionProperties, StyleSheet } from '../core/document-model/index.js';
1
+ import { BodyElement, Chart, Comment, DocumentInfo, Numbering, Section, SectionProperties, ShapeFill, StyleSheet } from '../core/document-model/index.js';
2
2
  import { FontRegistry } from '../core/font/index.js';
3
3
  import { FamilyKey } from '../core/fonts/index.js';
4
4
  import { Hyphenator } from '../core/hyphenation/index.js';
5
+ import { Pt, ResourceStore } from '../core/ir/index.js';
5
6
  import { LaidOutDocument, PageItem } from './page-doc.js';
6
7
  import { AttachedFile } from '../pdf/embedded-file.js';
7
8
  import { SignaturePlaceholder } from '../pdf/signature.js';
8
9
  import { PdfEncryptOptions } from '../pdf/encryption.js';
9
- import { ResourceStore } from '../core/ir/index.js';
10
10
  import { StructTreeBuilder } from '../pdf/struct-tree.js';
11
11
  /**
12
12
  * PDF/A conformance string: part 1 (ISO 19005-1, PDF 1.4) / 2 (ISO 19005-2) / 3
@@ -75,6 +75,12 @@ export interface StyledRenderOptions {
75
75
  * `body[sections[N-1].endIndex..sections[N].endIndex)`).
76
76
  */
77
77
  readonly sections?: ReadonlyArray<Section>;
78
+ /**
79
+ * §17.6.5 — the pitch of the document grid the text is laid on. Set by the
80
+ * layout itself, per section (see {@link SectionRenderCtx.options}); callers
81
+ * state it on the section, not here.
82
+ */
83
+ readonly gridLinePitchPt?: Pt;
78
84
  /** Header/footer body content keyed by relationship id. */
79
85
  readonly headersFooters?: ReadonlyMap<string, ReadonlyArray<BodyElement>>;
80
86
  /**
@@ -149,6 +155,24 @@ export interface StyledRenderOptions {
149
155
  * converter fills this from the document's default `w:lang`.
150
156
  */
151
157
  readonly language?: string;
158
+ /**
159
+ * ECMA-376 §17.15.1.35 `w:doNotExpandShiftReturn` — when set, a justified
160
+ * line that ends at a soft line break (`w:br`) is drawn at its natural width
161
+ * instead of being stretched out to the measure.
162
+ */
163
+ readonly doNotExpandShiftReturn?: boolean;
164
+ /**
165
+ * ECMA-376 §17.2.1 `w:background` — the colour every page is painted before
166
+ * anything else is drawn on it. Absent ⇒ the paper's own white.
167
+ */
168
+ readonly pageBackgroundColorHex?: string;
169
+ /** §17.2.1 — the background's gradient or picture, when it has one. */
170
+ readonly pageBackgroundFill?: ShapeFill;
171
+ /**
172
+ * ECMA-376 §17.15.1.38 `w:gutterAtTop` — the binding space belongs to the
173
+ * TOP margin, not the left.
174
+ */
175
+ readonly gutterAtTop?: boolean;
152
176
  /**
153
177
  * §7.6 PDF encryption (AES-256, R6). Only honoured on the ASYNC conversion
154
178
  * path (WebCrypto); mutually exclusive with `pdfA` (ISO 19005 forbids
@@ -175,6 +199,12 @@ export type { DocumentInfo } from '../core/document-model/index.js';
175
199
  export declare const A4_WIDTH = 595;
176
200
  /** A4 page height in points (the page-geometry fallback). */
177
201
  export declare const A4_HEIGHT = 842;
202
+ /**
203
+ * How far a space may be squeezed below its natural width — the shrink the
204
+ * line breaker offers when it weighs a line, and therefore the shrink the
205
+ * emitter owes it back when it draws one.
206
+ */
207
+ export declare const GLUE_SHRINK_RATIO = 0.3;
178
208
  /**
179
209
  * §17.13.6.2 — a bookmark's GoTo destination: the page (0-based) and the y-up
180
210
  * top of the anchoring paragraph's first line.
@@ -274,10 +304,24 @@ export interface SectionRenderCtx {
274
304
  readonly footerSet: HeaderFooterSet;
275
305
  readonly titlePg: boolean;
276
306
  readonly evenAndOddHeaders: boolean;
307
+ /**
308
+ * §17.6.22 — the section begins on the page already in hand, at the point the
309
+ * one before it stopped, rather than on a fresh one.
310
+ */
311
+ readonly continuous: boolean;
312
+ /**
313
+ * The render options this section's content is laid out with: `options` plus
314
+ * whatever the section itself decides for its text — today only §17.6.5's
315
+ * document grid, which is a property of the SECTION and is needed by every
316
+ * paragraph in it. Absent on a bare context built outside a layout run.
317
+ */
318
+ readonly options?: StyledRenderOptions;
277
319
  }
278
320
  interface HfBandEntry {
279
321
  readonly commands: Array<PageItem>;
280
322
  readonly renderDynamic?: (pageNumber: number, totalPages: number) => Array<PageItem>;
323
+ /** Laid-out height of the band, so the body can be kept clear of it. */
324
+ readonly heightPt?: number;
281
325
  }
282
326
  interface HeaderFooterSet {
283
327
  readonly default: HfBandEntry;