reamkit 1.32.1 → 1.33.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.
- package/LICENSE +1 -1
- package/README.md +16 -11
- package/dist/esm/core/bidi/algorithm.js +2 -2
- package/dist/esm/core/bidi/char-types.js +1 -1
- package/dist/esm/core/bidi/index.js +3 -3
- package/dist/esm/core/bytes.js +1 -1
- package/dist/esm/core/converter/facade.js +10 -5
- package/dist/esm/core/converter/ream.d.ts +9 -0
- package/dist/esm/core/converter/ream.js +40 -10
- package/dist/esm/core/crypto/asn1.js +2 -2
- package/dist/esm/core/crypto/cms.js +5 -3
- package/dist/esm/core/crypto/index.js +2 -1
- package/dist/esm/core/crypto/offcrypto.d.ts +2 -5
- package/dist/esm/core/crypto/offcrypto.js +9 -15
- package/dist/esm/core/crypto/password-error.d.ts +8 -0
- package/dist/esm/core/crypto/password-error.js +14 -0
- package/dist/esm/core/crypto/primitives.js +16 -16
- package/dist/esm/core/document-model/index.d.ts +1 -1
- package/dist/esm/core/document-model/types.d.ts +174 -2
- package/dist/esm/core/drawingml/chart-geometry.d.ts +24 -6
- package/dist/esm/core/drawingml/chart-geometry.js +905 -208
- package/dist/esm/core/drawingml/chart-parser.d.ts +5 -1
- package/dist/esm/core/drawingml/chart-parser.js +275 -19
- package/dist/esm/core/drawingml/chart-text.d.ts +41 -0
- package/dist/esm/core/drawingml/chart-text.js +93 -0
- package/dist/esm/core/drawingml/colors.js +5 -5
- package/dist/esm/core/drawingml/diagram/layout-engine.js +1 -4
- package/dist/esm/core/drawingml/diagram/run.js +2 -1
- package/dist/esm/core/drawingml/preset-geometry.js +4 -6
- package/dist/esm/core/drawingml/shape-render.js +1 -1
- package/dist/esm/core/drawingml/text-warp.js +4 -16
- package/dist/esm/core/drawingml/theme-parser.js +14 -8
- package/dist/esm/core/font/arabic-joining.js +2 -2
- package/dist/esm/core/font/binary-reader.js +2 -0
- package/dist/esm/core/font/font-registry.js +1 -0
- package/dist/esm/core/font/ligatures.js +1 -1
- package/dist/esm/core/font/opentype-layout.js +11 -5
- package/dist/esm/core/font/ttf-build.js +6 -10
- package/dist/esm/core/font/ttf-parser.js +2 -1
- package/dist/esm/core/font/ttf-subset.js +8 -8
- package/dist/esm/core/fonts/families.js +1 -1
- package/dist/esm/core/fonts/remote-fonts.js +4 -4
- package/dist/esm/core/hyphenation/index.js +1 -1
- package/dist/esm/core/images.js +8 -8
- package/dist/esm/core/ir/adapters.d.ts +9 -0
- package/dist/esm/core/ir/loss.js +1 -0
- package/dist/esm/core/line-breaker/cjk.js +1 -1
- package/dist/esm/core/line-breaker/index.js +4 -3
- package/dist/esm/core/links.js +1 -1
- package/dist/esm/core/lzw.js +1 -1
- package/dist/esm/core/metafile/blit.js +1 -1
- package/dist/esm/core/metafile/emf.js +5 -7
- package/dist/esm/core/metafile/picture.js +1 -1
- package/dist/esm/core/metafile/symbol-fonts.js +7 -7
- package/dist/esm/core/metafile/wmf.js +5 -7
- package/dist/esm/core/number-format.js +4 -6
- package/dist/esm/core/numbering/index.js +3 -2
- package/dist/esm/core/ole/cfb.js +4 -4
- package/dist/esm/core/ole/escher-blip.js +1 -1
- package/dist/esm/core/opc/index.js +5 -4
- package/dist/esm/core/opc/package.js +3 -1
- package/dist/esm/core/opc/xml-entities.js +1 -1
- package/dist/esm/core/outline.js +1 -1
- package/dist/esm/core/png-encode.js +3 -3
- package/dist/esm/core/po-helpers.js +1 -1
- package/dist/esm/core/spreadsheet-model/types.d.ts +6 -0
- package/dist/esm/core/style-cascade/index.js +4 -3
- package/dist/esm/core/tiff.js +3 -1
- package/dist/esm/excel/activex-parser.js +1 -1
- package/dist/esm/excel/conditional-format.js +7 -7
- package/dist/esm/excel/formula/functions.js +8 -4
- package/dist/esm/excel/formula/index.js +3 -3
- package/dist/esm/excel/formula/lexer.js +2 -2
- package/dist/esm/excel/formula/parser.js +4 -3
- package/dist/esm/excel/formula/value.js +1 -1
- package/dist/esm/excel/index.js +7 -6
- package/dist/esm/excel/print-model.d.ts +1 -0
- package/dist/esm/excel/print-model.js +7 -32
- package/dist/esm/excel/printer-settings.js +6 -7
- package/dist/esm/excel/rich-value.js +1 -1
- package/dist/esm/excel/sheet-shape-parser.js +4 -2
- package/dist/esm/excel/sheet-to-flow.d.ts +8 -0
- package/dist/esm/excel/sheet-to-flow.js +14 -11
- package/dist/esm/excel/styles-parser.js +5 -3
- package/dist/esm/excel/tint.js +5 -5
- package/dist/esm/excel/vml-drawing.js +2 -2
- package/dist/esm/excel/worksheet-parser.js +5 -5
- package/dist/esm/excel/xls/biff-chart.js +1 -3
- package/dist/esm/excel/xls/biff-reader.js +10 -11
- package/dist/esm/excel/xls/xls-reader.js +1 -1
- package/dist/esm/excel/xlsx-reader.js +17 -4
- package/dist/esm/excel/xlsx-to-pdf.js +1 -1
- package/dist/esm/excel/xlsx-writer.js +2 -2
- package/dist/esm/html/html-writer.js +18 -10
- package/dist/esm/index.js +2 -1
- package/dist/esm/layout/line-paint.js +1 -1
- package/dist/esm/layout/math-layout.js +5 -8
- package/dist/esm/layout/styled-layout.js +133 -75
- package/dist/esm/layout/turned-section.js +2 -2
- package/dist/esm/markdown/markdown-writer.js +50 -9
- package/dist/esm/pdf/encryption.js +9 -9
- package/dist/esm/pdf/icc-profile.js +2 -2
- package/dist/esm/pdf/index.js +3 -2
- package/dist/esm/pdf/objects.js +7 -0
- package/dist/esm/pdf/serialize.js +1 -1
- package/dist/esm/pdf/struct-tree.js +3 -1
- package/dist/esm/pdf/styled-page-emitter.js +23 -15
- package/dist/esm/pdf/styled-page-renderer.js +9 -5
- package/dist/esm/pdf-reader/annot-draw.js +3 -3
- package/dist/esm/pdf-reader/ccitt.js +2 -1
- package/dist/esm/pdf-reader/cff-outline.js +1 -4
- package/dist/esm/pdf-reader/content.js +13 -15
- package/dist/esm/pdf-reader/decrypt.d.ts +18 -6
- package/dist/esm/pdf-reader/decrypt.js +90 -45
- package/dist/esm/pdf-reader/document.d.ts +7 -1
- package/dist/esm/pdf-reader/document.js +18 -4
- package/dist/esm/pdf-reader/encodings.js +1 -1
- package/dist/esm/pdf-reader/flow-build.js +4 -6
- package/dist/esm/pdf-reader/font.js +3 -3
- package/dist/esm/pdf-reader/function.js +8 -7
- package/dist/esm/pdf-reader/icc.js +1 -1
- package/dist/esm/pdf-reader/images.js +1 -1
- package/dist/esm/pdf-reader/jbig2.js +36 -38
- package/dist/esm/pdf-reader/jpeg.js +14 -13
- package/dist/esm/pdf-reader/layout.js +12 -9
- package/dist/esm/pdf-reader/lexer.js +2 -1
- package/dist/esm/pdf-reader/math-rows.js +2 -2
- package/dist/esm/pdf-reader/optional-content.js +1 -1
- package/dist/esm/pdf-reader/page-numbers.js +1 -1
- package/dist/esm/pdf-reader/pattern-tint.js +1 -2
- package/dist/esm/pdf-reader/reader.d.ts +5 -1
- package/dist/esm/pdf-reader/reader.js +83 -16
- package/dist/esm/pdf-reader/struct-tree.js +1 -1
- package/dist/esm/pdf-reader/tagged.js +3 -2
- package/dist/esm/pdf-reader/text.js +2 -2
- package/dist/esm/pdf-reader/type1-outline.js +1 -3
- package/dist/esm/pptx/embedded-fonts.js +3 -5
- package/dist/esm/pptx/placeholder-cascade.js +1 -1
- package/dist/esm/pptx/ppt/ppt-reader.js +5 -4
- package/dist/esm/pptx/ppt/ppt-text.js +9 -10
- package/dist/esm/pptx/pptx-reader.js +6 -5
- package/dist/esm/pptx/preset-table-styles.js +1 -1
- package/dist/esm/pptx/slide-parser.js +6 -4
- package/dist/esm/pptx/sp-helpers.js +1 -1
- package/dist/esm/pptx/table-style.js +2 -1
- package/dist/esm/svg/svg-writer.js +1 -1
- package/dist/esm/word/doc/doc-reader.js +2 -2
- package/dist/esm/word/doc/doc-text.js +20 -22
- package/dist/esm/word/document-parser.js +26 -21
- package/dist/esm/word/docx-reader.js +2 -2
- package/dist/esm/word/docx-to-pdf.js +3 -3
- package/dist/esm/word/docx-writer.js +10 -6
- package/dist/esm/word/drawing-parser.js +18 -18
- package/dist/esm/word/font-table.js +1 -1
- package/dist/esm/word/index.js +6 -5
- package/dist/esm/word/numbering-parser.js +4 -3
- package/dist/esm/word/omml-parser.js +1 -1
- package/dist/esm/word/paragraph-properties.js +11 -10
- package/dist/esm/word/run-properties.js +4 -4
- package/dist/esm/word/settings-parser.js +2 -1
- package/dist/esm/word/shading.js +1 -1
- package/dist/esm/word/styles-parser.js +5 -4
- package/dist/esm/word/table-parser.js +4 -4
- package/dist/esm/word/theme-fonts.js +1 -1
- package/package.json +9 -3
|
@@ -15,7 +15,7 @@ var EMPTY_GEOMETRY = {
|
|
|
15
15
|
pathHeight: 0,
|
|
16
16
|
commands: []
|
|
17
17
|
};
|
|
18
|
-
var UNDERSTOOD_NS = new Set([
|
|
18
|
+
var UNDERSTOOD_NS = /* @__PURE__ */ new Set([
|
|
19
19
|
"wps",
|
|
20
20
|
"wpg",
|
|
21
21
|
"wpc"
|
|
@@ -72,12 +72,12 @@ function parseFloatAnchor(anchor) {
|
|
|
72
72
|
...posV ? { posV } : {}
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
|
-
var ANCHOR_ALIGNS = new Set([
|
|
75
|
+
var ANCHOR_ALIGNS = /* @__PURE__ */ new Set([
|
|
76
76
|
"left",
|
|
77
77
|
"center",
|
|
78
78
|
"right"
|
|
79
79
|
]);
|
|
80
|
-
var ANCHOR_V_ALIGNS = new Set([
|
|
80
|
+
var ANCHOR_V_ALIGNS = /* @__PURE__ */ new Set([
|
|
81
81
|
"top",
|
|
82
82
|
"center",
|
|
83
83
|
"bottom"
|
|
@@ -583,7 +583,7 @@ function pairOf(v) {
|
|
|
583
583
|
const m = v !== void 0 ? /^\s*(-?\d+)[ ,]+(-?\d+)\s*$/u.exec(v) : null;
|
|
584
584
|
return m ? [Number(m[1]), Number(m[2])] : void 0;
|
|
585
585
|
}
|
|
586
|
-
var VML_PATH_PAIRS = new Set([
|
|
586
|
+
var VML_PATH_PAIRS = /* @__PURE__ */ new Set([
|
|
587
587
|
"nf",
|
|
588
588
|
"ns",
|
|
589
589
|
"qx",
|
|
@@ -745,7 +745,7 @@ function parseVmlGroup(group, parseBody, shapeTypes, sizePt) {
|
|
|
745
745
|
fill: { kind: "none" }
|
|
746
746
|
};
|
|
747
747
|
}
|
|
748
|
-
var VML_SHAPE_TAGS = new Set([
|
|
748
|
+
var VML_SHAPE_TAGS = /* @__PURE__ */ new Set([
|
|
749
749
|
"v:rect",
|
|
750
750
|
"v:roundrect",
|
|
751
751
|
"v:oval",
|
|
@@ -1021,14 +1021,14 @@ function vmlLine(shape, shapeType) {
|
|
|
1021
1021
|
...tailEnd ? { tailEnd } : {}
|
|
1022
1022
|
};
|
|
1023
1023
|
}
|
|
1024
|
-
var VML_ARROWS = new Map([
|
|
1024
|
+
var VML_ARROWS = /* @__PURE__ */ new Map([
|
|
1025
1025
|
["block", "triangle"],
|
|
1026
1026
|
["classic", "stealth"],
|
|
1027
1027
|
["diamond", "diamond"],
|
|
1028
1028
|
["oval", "oval"],
|
|
1029
1029
|
["open", "arrow"]
|
|
1030
1030
|
]);
|
|
1031
|
-
var VML_ARROW_SIZES = new Map([
|
|
1031
|
+
var VML_ARROW_SIZES = /* @__PURE__ */ new Map([
|
|
1032
1032
|
["narrow", "sm"],
|
|
1033
1033
|
["short", "sm"],
|
|
1034
1034
|
["medium", "med"],
|
|
@@ -1439,7 +1439,8 @@ function memberOrigin(wgp, fallback) {
|
|
|
1439
1439
|
let minY = Infinity;
|
|
1440
1440
|
for (const child of expandMcChildren(poChildren(wgp))) {
|
|
1441
1441
|
if (!isGroupMember(child)) continue;
|
|
1442
|
-
const
|
|
1442
|
+
const spPr = poChildren(child).find((c) => poIsLocal(c, "spPr") || poIsLocal(c, "grpSpPr"));
|
|
1443
|
+
const xfrm = poChildren(spPr).find((c) => poIs(c, "a:xfrm"));
|
|
1443
1444
|
const off = xfrm ? poChildren(xfrm).find((c) => poIs(c, "a:off")) : void 0;
|
|
1444
1445
|
const x = poIntAttr(off, "x");
|
|
1445
1446
|
const y = poIntAttr(off, "y");
|
|
@@ -1569,7 +1570,7 @@ function styleRefShadow(style, resolveColor, themeEffectStyles) {
|
|
|
1569
1570
|
const phHex = child ? resolveColorNode(child, resolveColor) : void 0;
|
|
1570
1571
|
return shadowFromOuterShdw(shdw, phHex ? placeholderColors(resolveColor, phHex) : resolveColor);
|
|
1571
1572
|
}
|
|
1572
|
-
var FILL_TAGS = new Set([
|
|
1573
|
+
var FILL_TAGS = /* @__PURE__ */ new Set([
|
|
1573
1574
|
"a:noFill",
|
|
1574
1575
|
"a:solidFill",
|
|
1575
1576
|
"a:gradFill",
|
|
@@ -1639,10 +1640,11 @@ function styleRefLine(style, resolveColor, themeLineWidths) {
|
|
|
1639
1640
|
const colorHex = child ? resolveColorNode(child, resolveColor) : void 0;
|
|
1640
1641
|
if (colorHex === void 0) return void 0;
|
|
1641
1642
|
const idx = poIntAttr(ref, "idx");
|
|
1643
|
+
const width = idx !== void 0 && idx > 0 ? themeLineWidths?.[idx - 1] : void 0;
|
|
1642
1644
|
return {
|
|
1643
1645
|
fill: "solid",
|
|
1644
1646
|
colorHex,
|
|
1645
|
-
width: pt(
|
|
1647
|
+
width: pt(width ?? .75)
|
|
1646
1648
|
};
|
|
1647
1649
|
}
|
|
1648
1650
|
/**
|
|
@@ -1827,9 +1829,7 @@ function parseCustGeom(cust) {
|
|
|
1827
1829
|
swAng: poIntAttr(node, "swAng") ?? 0
|
|
1828
1830
|
});
|
|
1829
1831
|
break;
|
|
1830
|
-
case "a:close":
|
|
1831
|
-
commands.push({ cmd: "close" });
|
|
1832
|
-
break;
|
|
1832
|
+
case "a:close": commands.push({ cmd: "close" });
|
|
1833
1833
|
}
|
|
1834
1834
|
if (pathWidth <= 0 || pathHeight <= 0 || commands.length === 0) return {
|
|
1835
1835
|
kind: "preset",
|
|
@@ -1963,7 +1963,7 @@ function patternCoverage(prst) {
|
|
|
1963
1963
|
if (DENSE_PATTERNS.has(prst)) return .5;
|
|
1964
1964
|
return .25;
|
|
1965
1965
|
}
|
|
1966
|
-
var DENSE_PATTERNS = new Set([
|
|
1966
|
+
var DENSE_PATTERNS = /* @__PURE__ */ new Set([
|
|
1967
1967
|
"trellis",
|
|
1968
1968
|
"weave",
|
|
1969
1969
|
"plaid",
|
|
@@ -2211,14 +2211,14 @@ function pictureOutline(line) {
|
|
|
2211
2211
|
widthPt: pt(stroke.widthPt)
|
|
2212
2212
|
};
|
|
2213
2213
|
}
|
|
2214
|
-
var LINE_END_TYPES = new Set([
|
|
2214
|
+
var LINE_END_TYPES = /* @__PURE__ */ new Set([
|
|
2215
2215
|
"triangle",
|
|
2216
2216
|
"stealth",
|
|
2217
2217
|
"diamond",
|
|
2218
2218
|
"oval",
|
|
2219
2219
|
"arrow"
|
|
2220
2220
|
]);
|
|
2221
|
-
var LINE_END_SIZES = new Set([
|
|
2221
|
+
var LINE_END_SIZES = /* @__PURE__ */ new Set([
|
|
2222
2222
|
"sm",
|
|
2223
2223
|
"med",
|
|
2224
2224
|
"lg"
|
|
@@ -2263,7 +2263,7 @@ function parseCustDash(custDash) {
|
|
|
2263
2263
|
}
|
|
2264
2264
|
return out.length > 0 ? out : void 0;
|
|
2265
2265
|
}
|
|
2266
|
-
var DASH_VALUES = new Set([
|
|
2266
|
+
var DASH_VALUES = /* @__PURE__ */ new Set([
|
|
2267
2267
|
"solid",
|
|
2268
2268
|
"dot",
|
|
2269
2269
|
"dash",
|
|
@@ -2387,4 +2387,4 @@ function clampUnit(x) {
|
|
|
2387
2387
|
return x < 0 ? 0 : x > 1 ? 1 : x;
|
|
2388
2388
|
}
|
|
2389
2389
|
//#endregion
|
|
2390
|
-
export { colorChangeOf, expandMcChildren, parseCustGeom, parseDrawing, parseFill, parseLine, parsePrstGeom, parseShadow, parseSrcRect, parseVmlPicture, parseXfrm, shadowFromOuterShdw, statesFill, styleRefFill, styleRefFontColor, styleRefLine, vmlFill, withStatedDirection };
|
|
2390
|
+
export { colorChangeOf, expandMcChildren, parseCustGeom, parseDrawing, parseFill, parseLine, parsePrstGeom, parseShadow, parseSrcRect, parseVmlPicture, parseXfrm, resolveMc, shadowFromOuterShdw, statesFill, styleRefFill, styleRefFontColor, styleRefLine, vmlFill, withStatedDirection, withStyleFontColor };
|
|
@@ -20,7 +20,7 @@ var VARIANT_BY_TAG = {
|
|
|
20
20
|
function deobfuscateEmbeddedFont(data, fontKey) {
|
|
21
21
|
const hex = fontKey.replace(/[{}-]/g, "");
|
|
22
22
|
if (hex.length !== 32) return data;
|
|
23
|
-
const key = new Uint8Array(16);
|
|
23
|
+
const key = /* @__PURE__ */ new Uint8Array(16);
|
|
24
24
|
for (let i = 0; i < 16; i++) key[i] = parseInt(hex.substring(i * 2, i * 2 + 2), 16);
|
|
25
25
|
key.reverse();
|
|
26
26
|
const out = new Uint8Array(data);
|
package/dist/esm/word/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import "./run-properties.js";
|
|
2
2
|
import "./paragraph-properties.js";
|
|
3
3
|
import "./table-parser.js";
|
|
4
|
-
import "./numbering-parser.js";
|
|
5
|
-
import "./document-parser.js";
|
|
4
|
+
import { EMPTY_NUMBERING, parseNumbering } from "./numbering-parser.js";
|
|
5
|
+
import { EMPTY_SECTION, applyAuthorIds, bodyIndexForBlock, newBlockCounter, parseBackgroundColor, parseBackgroundFill, parseCommentThreads, parseDocument, parseHeaderFooter, parseNotes, parsePeople, parseSections } from "./document-parser.js";
|
|
6
6
|
import "./text-extractor.js";
|
|
7
|
-
import "./styles-parser.js";
|
|
8
|
-
import "./font-table.js";
|
|
9
|
-
import "./settings-parser.js";
|
|
7
|
+
import { parseStyles } from "./styles-parser.js";
|
|
8
|
+
import { loadEmbeddedFonts } from "./font-table.js";
|
|
9
|
+
import { EMPTY_SETTINGS, parseSettings } from "./settings-parser.js";
|
|
10
|
+
export { EMPTY_NUMBERING, EMPTY_SECTION, EMPTY_SETTINGS, applyAuthorIds, bodyIndexForBlock, loadEmbeddedFonts, newBlockCounter, parseBackgroundColor, parseBackgroundFill, parseCommentThreads, parseDocument, parseHeaderFooter, parseNotes, parseNumbering, parsePeople, parseSections, parseSettings, parseStyles };
|
|
@@ -15,7 +15,7 @@ var parser = new XMLParser({
|
|
|
15
15
|
trimValues: false
|
|
16
16
|
});
|
|
17
17
|
/** §17.18.59 ST_NumberFormat — the formats this reader knows by name. */
|
|
18
|
-
var FORMATS = new Set([
|
|
18
|
+
var FORMATS = /* @__PURE__ */ new Set([
|
|
19
19
|
"decimal",
|
|
20
20
|
"decimalZero",
|
|
21
21
|
"decimalFullWidth",
|
|
@@ -59,7 +59,8 @@ var EMPTY_NUMBERING = {
|
|
|
59
59
|
*/
|
|
60
60
|
function parseNumbering(data, resolveImage, themeFonts) {
|
|
61
61
|
const xml = decoder.decode(data);
|
|
62
|
-
const
|
|
62
|
+
const tree = parser.parse(xml);
|
|
63
|
+
const root = asElement(tree["w:numbering"]);
|
|
63
64
|
if (!root) return EMPTY_NUMBERING;
|
|
64
65
|
const picBullets = parsePicBullets(root, resolveImage);
|
|
65
66
|
const abstractNums = /* @__PURE__ */ new Map();
|
|
@@ -162,7 +163,7 @@ function parsePicBullets(root, resolveImage) {
|
|
|
162
163
|
}
|
|
163
164
|
return out;
|
|
164
165
|
}
|
|
165
|
-
var CSS_UNITS = new Map([
|
|
166
|
+
var CSS_UNITS = /* @__PURE__ */ new Map([
|
|
166
167
|
["pt", 1],
|
|
167
168
|
["in", 72],
|
|
168
169
|
["cm", 72 / 2.54],
|
|
@@ -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
|
|
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
|
|
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;
|
package/dist/esm/word/shading.js
CHANGED
|
@@ -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
|
|
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"
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reamkit",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.33.1",
|
|
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
|
-
"author": "
|
|
6
|
+
"author": "Alexandr Krassavin <info@reamkit.dev>",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "git+https://github.com/alex-krassavin/reamkit.git"
|
|
@@ -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.
|
|
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
|
}
|