@rowsncolumns/toolkit 24.4.2 → 24.4.3
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/dist/cjs/excel-parser/cfb-decryptor.d.ts +6 -0
- package/dist/cjs/excel-parser/cfb-decryptor.d.ts.map +1 -1
- package/dist/cjs/excel-parser/cfb-decryptor.js +6 -0
- package/dist/cjs/excel-parser/helpers.d.ts +9 -1
- package/dist/cjs/excel-parser/helpers.d.ts.map +1 -1
- package/dist/cjs/excel-parser/helpers.js +37 -0
- package/dist/cjs/excel-parser/interface.d.ts +10 -1
- package/dist/cjs/excel-parser/interface.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/ods/index.d.ts +19 -0
- package/dist/cjs/excel-parser/plugins/ods/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/ods/index.js +676 -304
- package/dist/cjs/excel-parser/plugins/ods/styles.d.ts +43 -1
- package/dist/cjs/excel-parser/plugins/ods/styles.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/ods/styles.js +343 -45
- package/dist/cjs/excel-parser/plugins/xls/index.d.ts +11 -3
- package/dist/cjs/excel-parser/plugins/xls/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xls/index.js +55 -6
- package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts +4 -0
- package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsb/index.js +21 -9
- package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts +10 -0
- package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/charts.js +68 -9
- package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts +28 -1
- package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/drawing.js +155 -20
- package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts +26 -1
- package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/index.js +567 -234
- package/dist/cjs/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/pivots.js +125 -37
- package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.d.ts +3 -0
- package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.js +4 -1
- package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/styles.js +12 -2
- package/dist/cjs/excel-parser/registry.d.ts.map +1 -1
- package/dist/cjs/excel-parser/registry.js +2 -0
- package/dist/cjs/excel-parser/types.d.ts +7 -1
- package/dist/cjs/excel-parser/types.d.ts.map +1 -1
- package/dist/cjs/excel-parser/workbook.d.ts +1 -0
- package/dist/cjs/excel-parser/workbook.d.ts.map +1 -1
- package/dist/cjs/excel-parser/workbook.js +4 -0
- package/dist/cjs/excel-parser/worker.js +3 -1
- package/dist/cjs/exporter/ods/ods-export.d.ts.map +1 -1
- package/dist/cjs/exporter/ods/ods-export.js +432 -175
- package/dist/cjs/exporter/xlsx/chart-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/chart-builder.js +210 -6
- package/dist/cjs/exporter/xlsx/pivot-builder.d.ts +8 -0
- package/dist/cjs/exporter/xlsx/pivot-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/pivot-builder.js +141 -42
- package/dist/cjs/exporter/xlsx/style-builder.js +9 -3
- package/dist/cjs/exporter/xlsx/threaded-comments-builder.d.ts +7 -1
- package/dist/cjs/exporter/xlsx/threaded-comments-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/threaded-comments-builder.js +15 -3
- package/dist/cjs/exporter/xlsx/xlsx-export.d.ts +11 -2
- package/dist/cjs/exporter/xlsx/xlsx-export.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/xlsx-export.js +678 -222
- package/dist/cjs/helpers/implicit-intersection.d.ts +16 -0
- package/dist/cjs/helpers/implicit-intersection.d.ts.map +1 -0
- package/dist/cjs/helpers/implicit-intersection.js +197 -0
- package/dist/cjs/print-settings.d.ts +105 -0
- package/dist/cjs/print-settings.d.ts.map +1 -0
- package/dist/cjs/print-settings.js +494 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/excel-parser/cfb-decryptor.d.ts +6 -0
- package/dist/esm/excel-parser/cfb-decryptor.d.ts.map +1 -1
- package/dist/esm/excel-parser/cfb-decryptor.js +6 -0
- package/dist/esm/excel-parser/helpers.d.ts +9 -1
- package/dist/esm/excel-parser/helpers.d.ts.map +1 -1
- package/dist/esm/excel-parser/helpers.js +34 -0
- package/dist/esm/excel-parser/interface.d.ts +10 -1
- package/dist/esm/excel-parser/interface.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/ods/index.d.ts +19 -0
- package/dist/esm/excel-parser/plugins/ods/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/ods/index.js +347 -33
- package/dist/esm/excel-parser/plugins/ods/styles.d.ts +43 -1
- package/dist/esm/excel-parser/plugins/ods/styles.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/ods/styles.js +276 -2
- package/dist/esm/excel-parser/plugins/xls/index.d.ts +11 -3
- package/dist/esm/excel-parser/plugins/xls/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xls/index.js +37 -5
- package/dist/esm/excel-parser/plugins/xlsb/index.d.ts +4 -0
- package/dist/esm/excel-parser/plugins/xlsb/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsb/index.js +20 -6
- package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts +10 -0
- package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/charts.js +69 -6
- package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts +28 -1
- package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/drawing.js +99 -0
- package/dist/esm/excel-parser/plugins/xlsx/index.d.ts +26 -1
- package/dist/esm/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/index.js +362 -26
- package/dist/esm/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/pivots.js +86 -6
- package/dist/esm/excel-parser/plugins/xlsx/sheet-views.d.ts +3 -0
- package/dist/esm/excel-parser/plugins/xlsx/sheet-views.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/sheet-views.js +2 -0
- package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/styles.js +12 -2
- package/dist/esm/excel-parser/registry.d.ts.map +1 -1
- package/dist/esm/excel-parser/registry.js +2 -0
- package/dist/esm/excel-parser/types.d.ts +7 -1
- package/dist/esm/excel-parser/types.d.ts.map +1 -1
- package/dist/esm/excel-parser/workbook.d.ts +1 -0
- package/dist/esm/excel-parser/workbook.d.ts.map +1 -1
- package/dist/esm/excel-parser/workbook.js +3 -0
- package/dist/esm/excel-parser/worker.js +2 -0
- package/dist/esm/exporter/ods/ods-export.d.ts.map +1 -1
- package/dist/esm/exporter/ods/ods-export.js +306 -35
- package/dist/esm/exporter/xlsx/chart-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/chart-builder.js +161 -0
- package/dist/esm/exporter/xlsx/pivot-builder.d.ts +8 -0
- package/dist/esm/exporter/xlsx/pivot-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/pivot-builder.js +104 -19
- package/dist/esm/exporter/xlsx/style-builder.js +9 -3
- package/dist/esm/exporter/xlsx/threaded-comments-builder.d.ts +7 -1
- package/dist/esm/exporter/xlsx/threaded-comments-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/threaded-comments-builder.js +15 -3
- package/dist/esm/exporter/xlsx/xlsx-export.d.ts +11 -2
- package/dist/esm/exporter/xlsx/xlsx-export.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/xlsx-export.js +449 -47
- package/dist/esm/helpers/implicit-intersection.d.ts +16 -0
- package/dist/esm/helpers/implicit-intersection.d.ts.map +1 -0
- package/dist/esm/helpers/implicit-intersection.js +184 -0
- package/dist/esm/print-settings.d.ts +105 -0
- package/dist/esm/print-settings.d.ts.map +1 -0
- package/dist/esm/print-settings.js +422 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -42,6 +42,95 @@ var CELL_IMAGE_OFFSET_THRESHOLD_PX = 1;
|
|
|
42
42
|
function emuToPixels(emuValue) {
|
|
43
43
|
return Math.round(emuValue / EMU_PER_PIXEL);
|
|
44
44
|
}
|
|
45
|
+
/** `processAnchors` anchor-type tags, keyed by the drawing element name. */
|
|
46
|
+
var ANCHOR_KIND_BY_ELEMENT = {
|
|
47
|
+
oneCellAnchor: "oneCellAnchor",
|
|
48
|
+
twoCellAnchor: "twoCellAnchors",
|
|
49
|
+
absoluteAnchor: "absoluteAnchors",
|
|
50
|
+
};
|
|
51
|
+
var ANCHOR_ELEMENT_REGEX = /<(?:[A-Za-z_][\w.-]*:)?(oneCellAnchor|twoCellAnchor|absoluteAnchor)(?=[\s/>])/g;
|
|
52
|
+
/**
|
|
53
|
+
* The `<xdr:wsDr>` anchors in document order — Excel's z-order (first is
|
|
54
|
+
* the back-most object). The unordered parse keeps document order within one
|
|
55
|
+
* element name but groups the three anchor kinds apart, so the kind sequence
|
|
56
|
+
* is read off the raw part and the parsed nodes are dealt out in that order.
|
|
57
|
+
* Anchors the scan does not account for (namespace quirks) trail in their
|
|
58
|
+
* parsed order, so nothing is ever dropped.
|
|
59
|
+
*/
|
|
60
|
+
export function anchorsInDocumentOrder(drawing, drawingXml) {
|
|
61
|
+
var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
|
|
62
|
+
var nodesByElement = {
|
|
63
|
+
oneCellAnchor: [],
|
|
64
|
+
twoCellAnchor: [],
|
|
65
|
+
absoluteAnchor: [],
|
|
66
|
+
};
|
|
67
|
+
try {
|
|
68
|
+
for (var _e = __values(Object.keys(nodesByElement)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
69
|
+
var element = _f.value;
|
|
70
|
+
var parsed = get(drawing, "xdr:wsDr.xdr:".concat(element)) || get(drawing, "wsDr.".concat(element));
|
|
71
|
+
if (!parsed)
|
|
72
|
+
continue;
|
|
73
|
+
nodesByElement[element] = Array.isArray(parsed) ? parsed : [parsed];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
77
|
+
finally {
|
|
78
|
+
try {
|
|
79
|
+
if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
|
|
80
|
+
}
|
|
81
|
+
finally { if (e_1) throw e_1.error; }
|
|
82
|
+
}
|
|
83
|
+
var cursor = {
|
|
84
|
+
oneCellAnchor: 0,
|
|
85
|
+
twoCellAnchor: 0,
|
|
86
|
+
absoluteAnchor: 0,
|
|
87
|
+
};
|
|
88
|
+
var ordered = [];
|
|
89
|
+
try {
|
|
90
|
+
for (var _g = __values(drawingXml.matchAll(ANCHOR_ELEMENT_REGEX)), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
91
|
+
var match = _h.value;
|
|
92
|
+
var element = match[1];
|
|
93
|
+
var node = nodesByElement[element][cursor[element]];
|
|
94
|
+
if (node === undefined)
|
|
95
|
+
continue;
|
|
96
|
+
cursor[element] += 1;
|
|
97
|
+
ordered.push({ kind: ANCHOR_KIND_BY_ELEMENT[element], node: node });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
101
|
+
finally {
|
|
102
|
+
try {
|
|
103
|
+
if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
|
|
104
|
+
}
|
|
105
|
+
finally { if (e_2) throw e_2.error; }
|
|
106
|
+
}
|
|
107
|
+
try {
|
|
108
|
+
for (var _j = __values(Object.keys(nodesByElement)), _k = _j.next(); !_k.done; _k = _j.next()) {
|
|
109
|
+
var element = _k.value;
|
|
110
|
+
try {
|
|
111
|
+
for (var _l = (e_4 = void 0, __values(nodesByElement[element].slice(cursor[element]))), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
112
|
+
var node = _m.value;
|
|
113
|
+
ordered.push({ kind: ANCHOR_KIND_BY_ELEMENT[element], node: node });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
117
|
+
finally {
|
|
118
|
+
try {
|
|
119
|
+
if (_m && !_m.done && (_d = _l.return)) _d.call(_l);
|
|
120
|
+
}
|
|
121
|
+
finally { if (e_4) throw e_4.error; }
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
126
|
+
finally {
|
|
127
|
+
try {
|
|
128
|
+
if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
|
|
129
|
+
}
|
|
130
|
+
finally { if (e_3) throw e_3.error; }
|
|
131
|
+
}
|
|
132
|
+
return ordered;
|
|
133
|
+
}
|
|
45
134
|
/**
|
|
46
135
|
* Process different types of image anchors
|
|
47
136
|
* @param anchors The anchor elements from the drawing
|
|
@@ -54,8 +143,8 @@ function emuToPixels(emuValue) {
|
|
|
54
143
|
*/
|
|
55
144
|
export function processAnchors(anchors, anchorType, drawingPath, sheetId, zipParser, xmlParser) {
|
|
56
145
|
return __awaiter(this, void 0, void 0, function () {
|
|
57
|
-
var images, anchorArray, _loop_1, anchorArray_1, anchorArray_1_1, anchor,
|
|
58
|
-
var
|
|
146
|
+
var images, anchorArray, _loop_1, anchorArray_1, anchorArray_1_1, anchor, e_5_1;
|
|
147
|
+
var e_5, _a;
|
|
59
148
|
var _b;
|
|
60
149
|
return __generator(this, function (_c) {
|
|
61
150
|
switch (_c.label) {
|
|
@@ -368,12 +457,7 @@ export function processAnchors(anchors, anchorType, drawingPath, sheetId, zipPar
|
|
|
368
457
|
images.push({
|
|
369
458
|
isInsideCell: isInsideCell,
|
|
370
459
|
embedId: uuid(),
|
|
371
|
-
spec: {
|
|
372
|
-
id: imageId,
|
|
373
|
-
imageUrl: createDataUrl(imageData, imageType),
|
|
374
|
-
type: "image",
|
|
375
|
-
description: imageName,
|
|
376
|
-
},
|
|
460
|
+
spec: __assign({ id: imageId, imageUrl: createDataUrl(imageData, imageType), type: "image", description: imageName }, parsePictureAdjustments(picture)),
|
|
377
461
|
position: position,
|
|
378
462
|
draggable: true,
|
|
379
463
|
lockAspectRatio: true,
|
|
@@ -399,20 +483,71 @@ export function processAnchors(anchors, anchorType, drawingPath, sheetId, zipPar
|
|
|
399
483
|
return [3 /*break*/, 2];
|
|
400
484
|
case 5: return [3 /*break*/, 8];
|
|
401
485
|
case 6:
|
|
402
|
-
|
|
403
|
-
|
|
486
|
+
e_5_1 = _c.sent();
|
|
487
|
+
e_5 = { error: e_5_1 };
|
|
404
488
|
return [3 /*break*/, 8];
|
|
405
489
|
case 7:
|
|
406
490
|
try {
|
|
407
491
|
if (anchorArray_1_1 && !anchorArray_1_1.done && (_a = anchorArray_1.return)) _a.call(anchorArray_1);
|
|
408
492
|
}
|
|
409
|
-
finally { if (
|
|
493
|
+
finally { if (e_5) throw e_5.error; }
|
|
410
494
|
return [7 /*endfinally*/];
|
|
411
495
|
case 8: return [2 /*return*/, images];
|
|
412
496
|
}
|
|
413
497
|
});
|
|
414
498
|
});
|
|
415
499
|
}
|
|
500
|
+
/** DrawingML per-mille-percent (100000 = 100%) → fraction, or undefined. */
|
|
501
|
+
var pctToFraction = function (value) {
|
|
502
|
+
if (value === undefined || value === null || value === "")
|
|
503
|
+
return undefined;
|
|
504
|
+
var n = Number(value);
|
|
505
|
+
return Number.isFinite(n) ? n / 100000 : undefined;
|
|
506
|
+
};
|
|
507
|
+
/**
|
|
508
|
+
* Picture-format adjustments off an `<xdr:pic>`: `<a:blipFill><a:srcRect>`
|
|
509
|
+
* (crop), `<a:blip><a:lum bright contrast>` (brightness / contrast) and
|
|
510
|
+
* `<a:blip><a:alphaModFix amt>` (opacity → `transparency`). Only present
|
|
511
|
+
* values are returned so an untouched picture stays a bare image spec.
|
|
512
|
+
*/
|
|
513
|
+
export function parsePictureAdjustments(picture) {
|
|
514
|
+
var _a, _b, _c, _d, _e, _f;
|
|
515
|
+
var blipFill = (_b = (_a = get(picture, "xdr:blipFill")) !== null && _a !== void 0 ? _a : get(picture, "blipFill")) !== null && _b !== void 0 ? _b : undefined;
|
|
516
|
+
var blip = (_c = get(blipFill, "a:blip")) !== null && _c !== void 0 ? _c : get(blipFill, "blip");
|
|
517
|
+
var out = {};
|
|
518
|
+
var srcRect = (_d = get(blipFill, "a:srcRect.a$")) !== null && _d !== void 0 ? _d : get(blipFill, "srcRect.a$");
|
|
519
|
+
if (srcRect) {
|
|
520
|
+
var crop = {};
|
|
521
|
+
var left = pctToFraction(srcRect.l);
|
|
522
|
+
var top_1 = pctToFraction(srcRect.t);
|
|
523
|
+
var right = pctToFraction(srcRect.r);
|
|
524
|
+
var bottom = pctToFraction(srcRect.b);
|
|
525
|
+
if (left)
|
|
526
|
+
crop.left = left;
|
|
527
|
+
if (top_1)
|
|
528
|
+
crop.top = top_1;
|
|
529
|
+
if (right)
|
|
530
|
+
crop.right = right;
|
|
531
|
+
if (bottom)
|
|
532
|
+
crop.bottom = bottom;
|
|
533
|
+
if (Object.keys(crop).length)
|
|
534
|
+
out.crop = crop;
|
|
535
|
+
}
|
|
536
|
+
var lum = (_e = get(blip, "a:lum.a$")) !== null && _e !== void 0 ? _e : get(blip, "lum.a$");
|
|
537
|
+
if (lum) {
|
|
538
|
+
var brightness = pctToFraction(lum.bright);
|
|
539
|
+
var contrast = pctToFraction(lum.contrast);
|
|
540
|
+
if (brightness)
|
|
541
|
+
out.brightness = brightness;
|
|
542
|
+
if (contrast)
|
|
543
|
+
out.contrast = contrast;
|
|
544
|
+
}
|
|
545
|
+
var alpha = pctToFraction((_f = get(blip, "a:alphaModFix.a$.amt")) !== null && _f !== void 0 ? _f : get(blip, "alphaModFix.a$.amt"));
|
|
546
|
+
if (alpha !== undefined && alpha < 1) {
|
|
547
|
+
out.transparency = Math.round((1 - alpha) * 100000) / 100000;
|
|
548
|
+
}
|
|
549
|
+
return out;
|
|
550
|
+
}
|
|
416
551
|
/**
|
|
417
552
|
* Parse color from DrawingML color element
|
|
418
553
|
* Supports both RGB (srgbClr) and theme colors (schemeClr)
|
|
@@ -521,7 +656,7 @@ function parseColorOpacity(colorElement) {
|
|
|
521
656
|
}
|
|
522
657
|
/** `<a:prstGeom>` → geometry preset + `<a:avLst>` adjust guides. */
|
|
523
658
|
function parseShapeGeometry(spPr) {
|
|
524
|
-
var
|
|
659
|
+
var e_6, _a;
|
|
525
660
|
var _b;
|
|
526
661
|
var prstGeom = get(spPr, "a:prstGeom");
|
|
527
662
|
var prst = get(prstGeom, "a$.prst");
|
|
@@ -539,12 +674,12 @@ function parseShapeGeometry(spPr) {
|
|
|
539
674
|
}
|
|
540
675
|
}
|
|
541
676
|
}
|
|
542
|
-
catch (
|
|
677
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
543
678
|
finally {
|
|
544
679
|
try {
|
|
545
680
|
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
546
681
|
}
|
|
547
|
-
finally { if (
|
|
682
|
+
finally { if (e_6) throw e_6.error; }
|
|
548
683
|
}
|
|
549
684
|
return { preset: (_b = PRESET_RENAMES[prst]) !== null && _b !== void 0 ? _b : prst, adjustments: adjustments };
|
|
550
685
|
}
|
|
@@ -731,7 +866,7 @@ export function parseShapeSpec(shape) {
|
|
|
731
866
|
* @returns EmbedTextBoxSpec object
|
|
732
867
|
*/
|
|
733
868
|
function parseTextBoxContent(txBody, shape) {
|
|
734
|
-
var
|
|
869
|
+
var e_7, _a, e_8, _b;
|
|
735
870
|
var richText = [];
|
|
736
871
|
var plainText = "";
|
|
737
872
|
// Get paragraphs
|
|
@@ -766,7 +901,7 @@ function parseTextBoxContent(txBody, shape) {
|
|
|
766
901
|
// Add indentation and bullet to the first run of the paragraph
|
|
767
902
|
var isFirstRun = true;
|
|
768
903
|
try {
|
|
769
|
-
for (var runArray_1 = (
|
|
904
|
+
for (var runArray_1 = (e_8 = void 0, __values(runArray)), runArray_1_1 = runArray_1.next(); !runArray_1_1.done; runArray_1_1 = runArray_1.next()) {
|
|
770
905
|
var run = runArray_1_1.value;
|
|
771
906
|
var text = get(run, "a:t.t$") || get(run, "a:t") || "";
|
|
772
907
|
// Handle tab characters
|
|
@@ -832,12 +967,12 @@ function parseTextBoxContent(txBody, shape) {
|
|
|
832
967
|
});
|
|
833
968
|
}
|
|
834
969
|
}
|
|
835
|
-
catch (
|
|
970
|
+
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
836
971
|
finally {
|
|
837
972
|
try {
|
|
838
973
|
if (runArray_1_1 && !runArray_1_1.done && (_b = runArray_1.return)) _b.call(runArray_1);
|
|
839
974
|
}
|
|
840
|
-
finally { if (
|
|
975
|
+
finally { if (e_8) throw e_8.error; }
|
|
841
976
|
}
|
|
842
977
|
// Add paragraph break (newline) between paragraphs
|
|
843
978
|
if (paragraphArray.indexOf(paragraph) < paragraphArray.length - 1) {
|
|
@@ -846,12 +981,12 @@ function parseTextBoxContent(txBody, shape) {
|
|
|
846
981
|
}
|
|
847
982
|
}
|
|
848
983
|
}
|
|
849
|
-
catch (
|
|
984
|
+
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
850
985
|
finally {
|
|
851
986
|
try {
|
|
852
987
|
if (paragraphArray_1_1 && !paragraphArray_1_1.done && (_a = paragraphArray_1.return)) _a.call(paragraphArray_1);
|
|
853
988
|
}
|
|
854
|
-
finally { if (
|
|
989
|
+
finally { if (e_7) throw e_7.error; }
|
|
855
990
|
}
|
|
856
991
|
// Get shape properties for background, borders, etc.
|
|
857
992
|
var spPr = get(shape, "xdr:spPr") || get(shape, "spPr");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CellFormat, ConditionalFormatRule, DataValidationRuleRecord, EmbeddedChart, EmbeddedObject, NamedRange, Sheet, Slicer, SpreadsheetTheme, TableView } from "@rowsncolumns/spreadsheet";
|
|
1
|
+
import type { CellFormat, ConditionalFormatRule, DataValidationRuleRecord, EmbeddedChart, EmbeddedObject, NamedRange, ProtectedRange, Sheet, Slicer, SpreadsheetTheme, TableView } from "@rowsncolumns/spreadsheet";
|
|
2
2
|
import type { CommentThread, TextFormat, TextFormatRun } from "@rowsncolumns/common-types";
|
|
3
3
|
import { XMLParser } from "fast-xml-parser";
|
|
4
4
|
import type { IWorkbookPlugin } from "../../interface";
|
|
@@ -158,6 +158,18 @@ export declare class XlsxPlugin extends BaseWorkbookPlugin implements IWorkbookP
|
|
|
158
158
|
* `getDataValidations()` aggregates these per-sheet caches, keeping ids
|
|
159
159
|
* stable across per-sheet and workbook-wide callers.
|
|
160
160
|
*/
|
|
161
|
+
/**
|
|
162
|
+
* `<protectedRanges>` per sheet, populated while `getSheets` builds each
|
|
163
|
+
* `Sheet` (the element sits after `<sheetData>` in the worksheet part, so it
|
|
164
|
+
* rides the same geometry pass). Read back via `getProtectedRanges`.
|
|
165
|
+
*/
|
|
166
|
+
private protectedRangesBySheet;
|
|
167
|
+
/**
|
|
168
|
+
* The builtin `_xlnm.Print_Area` / `_xlnm.Print_Titles` defined names,
|
|
169
|
+
* hoisted out of `namedRanges` (they are sheet-scoped facets, not user
|
|
170
|
+
* names) and merged into each sheet's `printSettings` by `getSheets()`.
|
|
171
|
+
*/
|
|
172
|
+
private printNamesBySheetId;
|
|
161
173
|
private dataValidationsBySheetCache;
|
|
162
174
|
/** Per-sheet memo for conditional formatting, mirroring the DV cache. */
|
|
163
175
|
private conditionalFormattingBySheetCache;
|
|
@@ -253,6 +265,12 @@ export declare class XlsxPlugin extends BaseWorkbookPlugin implements IWorkbookP
|
|
|
253
265
|
getSharedStrings(): string[];
|
|
254
266
|
getRelations(): Promise<Record<string, Relationship>>;
|
|
255
267
|
_getSheets(): any[];
|
|
268
|
+
/**
|
|
269
|
+
* Resolve a builtin print name to its sheet (`localSheetId` indexes the
|
|
270
|
+
* `<sheets>` order; a name without scope falls back to the sheet named in
|
|
271
|
+
* the formula) and record the parsed print area / titles for `getSheets()`.
|
|
272
|
+
*/
|
|
273
|
+
private stashBuiltinPrintName;
|
|
256
274
|
_getNamedRanges(): NamedRange[];
|
|
257
275
|
/**
|
|
258
276
|
* Returns true if the workbook signals that Excel should perform a full
|
|
@@ -299,6 +317,13 @@ export declare class XlsxPlugin extends BaseWorkbookPlugin implements IWorkbookP
|
|
|
299
317
|
getDataValidations(): Promise<DataValidationRuleRecord[]>;
|
|
300
318
|
getDataValidationsForSheet(sheetId: number): Promise<DataValidationRuleRecord[]>;
|
|
301
319
|
private parseDataValidationsForSheet;
|
|
320
|
+
/**
|
|
321
|
+
* Allow-edit ranges (`<protectedRanges>/<protectedRange>`) in the model the
|
|
322
|
+
* `protect-range` command writes: `protectedRangeId` = the source `name`,
|
|
323
|
+
* `range` = the first `sqref` area plus `sheetId`. Available after
|
|
324
|
+
* `getSheets()`; sheet-level `<sheetProtection>` rides `Sheet.sheetProtection`.
|
|
325
|
+
*/
|
|
326
|
+
getProtectedRanges(sheetId?: number): ProtectedRange[];
|
|
302
327
|
getNamedRanges(): NamedRange[];
|
|
303
328
|
/**
|
|
304
329
|
* Parse the workbook's metadata files (docProps/core.xml + docProps/app.xml)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,UAAU,EAEV,qBAAqB,EACrB,wBAAwB,EAExB,aAAa,EACb,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/index.ts"],"names":[],"mappings":"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"}
|