reamkit 1.32.1 → 1.33.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 (153) hide show
  1. package/README.md +5 -4
  2. package/dist/esm/core/bidi/algorithm.js +2 -2
  3. package/dist/esm/core/bidi/char-types.js +1 -1
  4. package/dist/esm/core/bidi/index.js +3 -3
  5. package/dist/esm/core/bytes.js +1 -1
  6. package/dist/esm/core/converter/facade.js +3 -2
  7. package/dist/esm/core/converter/ream.js +12 -5
  8. package/dist/esm/core/crypto/asn1.js +2 -2
  9. package/dist/esm/core/crypto/cms.js +5 -3
  10. package/dist/esm/core/crypto/index.js +2 -1
  11. package/dist/esm/core/crypto/offcrypto.js +8 -7
  12. package/dist/esm/core/crypto/primitives.js +16 -16
  13. package/dist/esm/core/document-model/index.d.ts +1 -1
  14. package/dist/esm/core/document-model/types.d.ts +174 -2
  15. package/dist/esm/core/drawingml/chart-geometry.d.ts +24 -6
  16. package/dist/esm/core/drawingml/chart-geometry.js +905 -208
  17. package/dist/esm/core/drawingml/chart-parser.d.ts +5 -1
  18. package/dist/esm/core/drawingml/chart-parser.js +275 -19
  19. package/dist/esm/core/drawingml/chart-text.d.ts +41 -0
  20. package/dist/esm/core/drawingml/chart-text.js +93 -0
  21. package/dist/esm/core/drawingml/colors.js +5 -5
  22. package/dist/esm/core/drawingml/diagram/layout-engine.js +1 -4
  23. package/dist/esm/core/drawingml/diagram/run.js +2 -1
  24. package/dist/esm/core/drawingml/preset-geometry.js +4 -6
  25. package/dist/esm/core/drawingml/shape-render.js +1 -1
  26. package/dist/esm/core/drawingml/text-warp.js +4 -16
  27. package/dist/esm/core/drawingml/theme-parser.js +14 -8
  28. package/dist/esm/core/font/arabic-joining.js +2 -2
  29. package/dist/esm/core/font/binary-reader.js +2 -0
  30. package/dist/esm/core/font/font-registry.js +1 -0
  31. package/dist/esm/core/font/ligatures.js +1 -1
  32. package/dist/esm/core/font/opentype-layout.js +11 -5
  33. package/dist/esm/core/font/ttf-build.js +6 -10
  34. package/dist/esm/core/font/ttf-parser.js +2 -1
  35. package/dist/esm/core/font/ttf-subset.js +8 -8
  36. package/dist/esm/core/fonts/families.js +1 -1
  37. package/dist/esm/core/fonts/remote-fonts.js +4 -4
  38. package/dist/esm/core/hyphenation/index.js +1 -1
  39. package/dist/esm/core/images.js +8 -8
  40. package/dist/esm/core/ir/loss.js +1 -0
  41. package/dist/esm/core/line-breaker/cjk.js +1 -1
  42. package/dist/esm/core/line-breaker/index.js +4 -3
  43. package/dist/esm/core/links.js +1 -1
  44. package/dist/esm/core/lzw.js +1 -1
  45. package/dist/esm/core/metafile/blit.js +1 -1
  46. package/dist/esm/core/metafile/emf.js +5 -7
  47. package/dist/esm/core/metafile/picture.js +1 -1
  48. package/dist/esm/core/metafile/symbol-fonts.js +7 -7
  49. package/dist/esm/core/metafile/wmf.js +5 -7
  50. package/dist/esm/core/number-format.js +4 -6
  51. package/dist/esm/core/numbering/index.js +3 -2
  52. package/dist/esm/core/ole/cfb.js +4 -4
  53. package/dist/esm/core/ole/escher-blip.js +1 -1
  54. package/dist/esm/core/opc/index.js +5 -4
  55. package/dist/esm/core/opc/package.js +3 -1
  56. package/dist/esm/core/opc/xml-entities.js +1 -1
  57. package/dist/esm/core/outline.js +1 -1
  58. package/dist/esm/core/png-encode.js +3 -3
  59. package/dist/esm/core/po-helpers.js +1 -1
  60. package/dist/esm/core/spreadsheet-model/types.d.ts +6 -0
  61. package/dist/esm/core/style-cascade/index.js +4 -3
  62. package/dist/esm/core/tiff.js +3 -1
  63. package/dist/esm/excel/activex-parser.js +1 -1
  64. package/dist/esm/excel/conditional-format.js +7 -7
  65. package/dist/esm/excel/formula/functions.js +8 -4
  66. package/dist/esm/excel/formula/index.js +3 -3
  67. package/dist/esm/excel/formula/lexer.js +2 -2
  68. package/dist/esm/excel/formula/parser.js +4 -3
  69. package/dist/esm/excel/formula/value.js +1 -1
  70. package/dist/esm/excel/index.js +7 -6
  71. package/dist/esm/excel/print-model.js +4 -4
  72. package/dist/esm/excel/printer-settings.js +6 -7
  73. package/dist/esm/excel/rich-value.js +1 -1
  74. package/dist/esm/excel/sheet-shape-parser.js +4 -2
  75. package/dist/esm/excel/sheet-to-flow.js +13 -11
  76. package/dist/esm/excel/styles-parser.js +5 -3
  77. package/dist/esm/excel/tint.js +5 -5
  78. package/dist/esm/excel/vml-drawing.js +2 -2
  79. package/dist/esm/excel/worksheet-parser.js +5 -5
  80. package/dist/esm/excel/xls/biff-chart.js +1 -3
  81. package/dist/esm/excel/xls/biff-reader.js +10 -11
  82. package/dist/esm/excel/xls/xls-reader.js +1 -1
  83. package/dist/esm/excel/xlsx-reader.js +17 -4
  84. package/dist/esm/excel/xlsx-to-pdf.js +1 -1
  85. package/dist/esm/excel/xlsx-writer.js +2 -2
  86. package/dist/esm/html/html-writer.js +18 -10
  87. package/dist/esm/layout/line-paint.js +1 -1
  88. package/dist/esm/layout/math-layout.js +5 -8
  89. package/dist/esm/layout/styled-layout.js +103 -31
  90. package/dist/esm/layout/turned-section.js +2 -2
  91. package/dist/esm/markdown/markdown-writer.js +1 -1
  92. package/dist/esm/pdf/encryption.js +9 -9
  93. package/dist/esm/pdf/icc-profile.js +2 -2
  94. package/dist/esm/pdf/index.js +3 -2
  95. package/dist/esm/pdf/objects.js +7 -0
  96. package/dist/esm/pdf/serialize.js +1 -1
  97. package/dist/esm/pdf/struct-tree.js +3 -1
  98. package/dist/esm/pdf/styled-page-emitter.js +23 -15
  99. package/dist/esm/pdf/styled-page-renderer.js +9 -5
  100. package/dist/esm/pdf-reader/annot-draw.js +3 -3
  101. package/dist/esm/pdf-reader/ccitt.js +2 -1
  102. package/dist/esm/pdf-reader/cff-outline.js +1 -4
  103. package/dist/esm/pdf-reader/content.js +13 -15
  104. package/dist/esm/pdf-reader/decrypt.js +5 -4
  105. package/dist/esm/pdf-reader/document.js +6 -2
  106. package/dist/esm/pdf-reader/encodings.js +1 -1
  107. package/dist/esm/pdf-reader/flow-build.js +4 -6
  108. package/dist/esm/pdf-reader/font.js +3 -3
  109. package/dist/esm/pdf-reader/function.js +8 -7
  110. package/dist/esm/pdf-reader/icc.js +1 -1
  111. package/dist/esm/pdf-reader/images.js +1 -1
  112. package/dist/esm/pdf-reader/jbig2.js +36 -38
  113. package/dist/esm/pdf-reader/jpeg.js +14 -13
  114. package/dist/esm/pdf-reader/layout.js +12 -9
  115. package/dist/esm/pdf-reader/lexer.js +2 -1
  116. package/dist/esm/pdf-reader/math-rows.js +2 -2
  117. package/dist/esm/pdf-reader/optional-content.js +1 -1
  118. package/dist/esm/pdf-reader/page-numbers.js +1 -1
  119. package/dist/esm/pdf-reader/pattern-tint.js +1 -2
  120. package/dist/esm/pdf-reader/reader.js +2 -2
  121. package/dist/esm/pdf-reader/struct-tree.js +1 -1
  122. package/dist/esm/pdf-reader/tagged.js +3 -2
  123. package/dist/esm/pdf-reader/text.js +2 -2
  124. package/dist/esm/pdf-reader/type1-outline.js +1 -3
  125. package/dist/esm/pptx/embedded-fonts.js +3 -5
  126. package/dist/esm/pptx/placeholder-cascade.js +1 -1
  127. package/dist/esm/pptx/ppt/ppt-reader.js +5 -4
  128. package/dist/esm/pptx/ppt/ppt-text.js +9 -10
  129. package/dist/esm/pptx/pptx-reader.js +6 -5
  130. package/dist/esm/pptx/preset-table-styles.js +1 -1
  131. package/dist/esm/pptx/slide-parser.js +6 -4
  132. package/dist/esm/pptx/sp-helpers.js +1 -1
  133. package/dist/esm/pptx/table-style.js +2 -1
  134. package/dist/esm/svg/svg-writer.js +1 -1
  135. package/dist/esm/word/doc/doc-reader.js +2 -2
  136. package/dist/esm/word/doc/doc-text.js +20 -22
  137. package/dist/esm/word/document-parser.js +26 -21
  138. package/dist/esm/word/docx-reader.js +2 -2
  139. package/dist/esm/word/docx-to-pdf.js +3 -3
  140. package/dist/esm/word/docx-writer.js +10 -6
  141. package/dist/esm/word/drawing-parser.js +18 -18
  142. package/dist/esm/word/font-table.js +1 -1
  143. package/dist/esm/word/index.js +6 -5
  144. package/dist/esm/word/numbering-parser.js +4 -3
  145. package/dist/esm/word/omml-parser.js +1 -1
  146. package/dist/esm/word/paragraph-properties.js +11 -10
  147. package/dist/esm/word/run-properties.js +4 -4
  148. package/dist/esm/word/settings-parser.js +2 -1
  149. package/dist/esm/word/shading.js +1 -1
  150. package/dist/esm/word/styles-parser.js +5 -4
  151. package/dist/esm/word/table-parser.js +4 -4
  152. package/dist/esm/word/theme-fonts.js +1 -1
  153. package/package.json +8 -2
@@ -2,14 +2,14 @@ import { eighthPtToPt, pt, twipsToPt } from "../core/ir/units.js";
2
2
  import { asArray, asElement, getAttr, getVal, parseIntAttr, parseToggle } from "./xml-helpers.js";
3
3
  import { parseRunProperties } from "./run-properties.js";
4
4
  //#region src/word/paragraph-properties.ts
5
- var ALIGNMENTS = new Set([
5
+ var ALIGNMENTS = /* @__PURE__ */ new Set([
6
6
  "left",
7
7
  "right",
8
8
  "center",
9
9
  "both",
10
10
  "distribute"
11
11
  ]);
12
- var LINE_RULES = new Set([
12
+ var LINE_RULES = /* @__PURE__ */ new Set([
13
13
  "auto",
14
14
  "exact",
15
15
  "atLeast"
@@ -18,26 +18,26 @@ function isAutospacing(node, name) {
18
18
  const v = getAttr(node, name);
19
19
  return v !== void 0 && v !== "false" && v !== "0" && v !== "off";
20
20
  }
21
- var X_ALIGNS = new Set([
21
+ var X_ALIGNS = /* @__PURE__ */ new Set([
22
22
  "left",
23
23
  "center",
24
24
  "right",
25
25
  "inside",
26
26
  "outside"
27
27
  ]);
28
- var Y_ALIGNS = new Set([
28
+ var Y_ALIGNS = /* @__PURE__ */ new Set([
29
29
  "top",
30
30
  "center",
31
31
  "bottom",
32
32
  "inside",
33
33
  "outside"
34
34
  ]);
35
- var ANCHORS = new Set([
35
+ var ANCHORS = /* @__PURE__ */ new Set([
36
36
  "text",
37
37
  "margin",
38
38
  "page"
39
39
  ]);
40
- var WRAPS = new Set([
40
+ var WRAPS = /* @__PURE__ */ new Set([
41
41
  "auto",
42
42
  "around",
43
43
  "none",
@@ -214,7 +214,7 @@ function parseParagraphProperties(pPr, autoSpacingPt = 0, themeFonts) {
214
214
  }
215
215
  return out;
216
216
  }
217
- var TAB_ALIGNMENTS = new Map([
217
+ var TAB_ALIGNMENTS = /* @__PURE__ */ new Map([
218
218
  ["left", "left"],
219
219
  ["start", "left"],
220
220
  ["center", "center"],
@@ -222,13 +222,13 @@ var TAB_ALIGNMENTS = new Map([
222
222
  ["end", "right"],
223
223
  ["decimal", "decimal"]
224
224
  ]);
225
- var TAB_LEADERS = new Set([
225
+ var TAB_LEADERS = /* @__PURE__ */ new Set([
226
226
  "dot",
227
227
  "hyphen",
228
228
  "underscore",
229
229
  "middleDot"
230
230
  ]);
231
- var BORDER_STYLES = new Set([
231
+ var BORDER_STYLES = /* @__PURE__ */ new Set([
232
232
  "none",
233
233
  "single",
234
234
  "double",
@@ -264,7 +264,8 @@ function parseParagraphBorders(node) {
264
264
  const el = asElement(node);
265
265
  if (!el) return void 0;
266
266
  const edge = (...names) => {
267
- const b = asElement(names.map((n) => el[n]).find((v) => v !== void 0));
267
+ const found = names.map((n) => el[n]).find((v) => v !== void 0);
268
+ const b = asElement(found);
268
269
  if (!b) return void 0;
269
270
  const style = borderStyleOf(getVal(b));
270
271
  if (!style) return void 0;
@@ -4,7 +4,7 @@ import { asElement, getAttr, getVal, parseHalfPointAttr, parseToggle } from "./x
4
4
  import { resolveWordThemeFont } from "./theme-fonts.js";
5
5
  import { shadingFillHex } from "./shading.js";
6
6
  //#region src/word/run-properties.ts
7
- var UNDERLINE_STYLES = new Set([
7
+ var UNDERLINE_STYLES = /* @__PURE__ */ new Set([
8
8
  "none",
9
9
  "single",
10
10
  "double",
@@ -15,12 +15,12 @@ var UNDERLINE_STYLES = new Set([
15
15
  "dashHeavy",
16
16
  "wave"
17
17
  ]);
18
- var VERTICAL_ALIGNS = new Set([
18
+ var VERTICAL_ALIGNS = /* @__PURE__ */ new Set([
19
19
  "baseline",
20
20
  "superscript",
21
21
  "subscript"
22
22
  ]);
23
- var LIGATURES = new Set([
23
+ var LIGATURES = /* @__PURE__ */ new Set([
24
24
  "none",
25
25
  "standard",
26
26
  "contextual",
@@ -38,7 +38,7 @@ var LIGATURES = new Set([
38
38
  "contextualHistoricalDiscretional",
39
39
  "all"
40
40
  ]);
41
- var HIGHLIGHT_COLORS = new Map([
41
+ var HIGHLIGHT_COLORS = /* @__PURE__ */ new Map([
42
42
  ["black", "000000"],
43
43
  ["blue", "0000FF"],
44
44
  ["cyan", "00FFFF"],
@@ -27,7 +27,8 @@ var EMPTY_SETTINGS = {
27
27
  */
28
28
  function parseSettings(data) {
29
29
  const xml = decoder.decode(data);
30
- const settings = poFindByPath(parser.parse(xml), ["w:settings"]);
30
+ const tree = parser.parse(xml);
31
+ const settings = poFindByPath(tree, ["w:settings"]);
31
32
  if (!settings) return EMPTY_SETTINGS;
32
33
  let evenAndOddHeaders = false;
33
34
  let doNotExpandShiftReturn = false;
@@ -1,6 +1,6 @@
1
1
  //#region src/word/shading.ts
2
2
  /** §17.18.78 ST_Shd — the pattern densities, as the share of `color` over `fill`. */
3
- var PATTERN_DENSITY = new Map([
3
+ var PATTERN_DENSITY = /* @__PURE__ */ new Map([
4
4
  ["solid", 1],
5
5
  ["pct5", .05],
6
6
  ["pct10", .1],
@@ -16,7 +16,7 @@ var parser = new XMLParser({
16
16
  parseTagValue: false,
17
17
  trimValues: false
18
18
  });
19
- var STYLE_TYPES = new Set([
19
+ var STYLE_TYPES = /* @__PURE__ */ new Set([
20
20
  "paragraph",
21
21
  "character",
22
22
  "table",
@@ -34,7 +34,8 @@ var STYLE_TYPES = new Set([
34
34
  */
35
35
  function parseStyles(stylesXml, themeFonts) {
36
36
  const xml = decoder.decode(stylesXml);
37
- const root = asElement(parser.parse(xml)["w:styles"]);
37
+ const tree = parser.parse(xml);
38
+ const root = asElement(tree["w:styles"]);
38
39
  if (!root) return EMPTY_STYLE_SHEET;
39
40
  const docDefaults = asElement(root["w:docDefaults"]);
40
41
  let defaultRunProperties = {};
@@ -73,7 +74,7 @@ function parseStyles(stylesXml, themeFonts) {
73
74
  styles
74
75
  };
75
76
  }
76
- var CONDITION_TYPES = new Set([
77
+ var CONDITION_TYPES = /* @__PURE__ */ new Set([
77
78
  "wholeTable",
78
79
  "band1Vert",
79
80
  "band2Vert",
@@ -136,7 +137,7 @@ function parseTableStyleLayer(el, themeFonts) {
136
137
  };
137
138
  return Object.keys(layer).length > 0 ? layer : void 0;
138
139
  }
139
- var FLAT_BORDER_STYLES = new Set([
140
+ var FLAT_BORDER_STYLES = /* @__PURE__ */ new Set([
140
141
  "none",
141
142
  "single",
142
143
  "double",
@@ -2,7 +2,7 @@ import { eighthPtToPt, pt, twipsToPt } from "../core/ir/units.js";
2
2
  import { poAttr, poChildren, poChildrenWith, poFirstChild, poIntAttr, poIs, poToggle, poVal } from "../core/po-helpers.js";
3
3
  import { DEFAULT_PARSE_CONTEXT, parseBodyElements, sdtRunProperties } from "./document-parser.js";
4
4
  //#region src/word/table-parser.ts
5
- var BORDER_STYLES = new Set([
5
+ var BORDER_STYLES = /* @__PURE__ */ new Set([
6
6
  "none",
7
7
  "single",
8
8
  "double",
@@ -11,7 +11,7 @@ var BORDER_STYLES = new Set([
11
11
  "dashed",
12
12
  "dashSmallGap"
13
13
  ]);
14
- var MULTI_LINE_BORDERS = new Set([
14
+ var MULTI_LINE_BORDERS = /* @__PURE__ */ new Set([
15
15
  "triple",
16
16
  "doubleWave",
17
17
  "thinThickSmallGap",
@@ -26,13 +26,13 @@ var MULTI_LINE_BORDERS = new Set([
26
26
  "outset",
27
27
  "inset"
28
28
  ]);
29
- var WIDTH_TYPES = new Set([
29
+ var WIDTH_TYPES = /* @__PURE__ */ new Set([
30
30
  "auto",
31
31
  "dxa",
32
32
  "pct",
33
33
  "nil"
34
34
  ]);
35
- var HEIGHT_RULES = new Set([
35
+ var HEIGHT_RULES = /* @__PURE__ */ new Set([
36
36
  "auto",
37
37
  "atLeast",
38
38
  "exact"
@@ -1,5 +1,5 @@
1
1
  //#region src/word/theme-fonts.ts
2
- var THEME_SLOTS = new Map([
2
+ var THEME_SLOTS = /* @__PURE__ */ new Map([
3
3
  ["majorascii", ["major", "latin"]],
4
4
  ["majorhansi", ["major", "latin"]],
5
5
  ["majoreastasia", ["major", "ea"]],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reamkit",
3
- "version": "1.32.1",
3
+ "version": "1.33.0",
4
4
  "description": "Ream — convert DOCX, XLSX, PPTX, PDF and legacy DOC, XLS and PPT to PDF, SVG, HTML, Markdown, DOCX and XLSX, built from scratch on the ECMA-376 and ISO 32000 specifications. Parse once, convert anywhere.",
5
5
  "license": "MIT",
6
6
  "author": "Alex Krassavin <info@reamkit.dev>",
@@ -102,9 +102,15 @@
102
102
  "publint": "^0.3.21",
103
103
  "tsx": "^4.19.0",
104
104
  "typescript": "^5.7.0",
105
- "vite": "8.0.5",
105
+ "vite": "8.3.2",
106
106
  "vitest": "^5.0.3"
107
107
  },
108
+ "overrides": {
109
+ "@microsoft/api-extractor": {
110
+ "lodash": "^4.18.1",
111
+ "minimatch": "^3.1.5"
112
+ }
113
+ },
108
114
  "engines": {
109
115
  "node": ">=20"
110
116
  }