@rowsncolumns/toolkit 24.4.5 → 24.5.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/dist/cjs/autofilter-condition.d.ts +45 -1
- package/dist/cjs/autofilter-condition.d.ts.map +1 -1
- package/dist/cjs/autofilter-condition.js +135 -12
- package/dist/cjs/excel-parser/helpers.d.ts +15 -1
- package/dist/cjs/excel-parser/helpers.d.ts.map +1 -1
- package/dist/cjs/excel-parser/helpers.js +119 -5
- package/dist/cjs/excel-parser/interface.d.ts +3 -1
- package/dist/cjs/excel-parser/interface.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/ods/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/ods/index.js +186 -97
- package/dist/cjs/excel-parser/plugins/ods/styles.d.ts +15 -0
- package/dist/cjs/excel-parser/plugins/ods/styles.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/ods/styles.js +80 -6
- package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsb/index.js +107 -103
- package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts +77 -1
- package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/charts.js +920 -122
- package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts +7 -1
- package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/drawing.js +24 -9
- package/dist/cjs/excel-parser/plugins/xlsx/form-controls.d.ts +24 -3
- package/dist/cjs/excel-parser/plugins/xlsx/form-controls.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/form-controls.js +25 -3
- package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts +24 -1
- package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/index.js +561 -394
- package/dist/cjs/excel-parser/plugins/xlsx/pivots.d.ts +8 -2
- package/dist/cjs/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/pivots.js +312 -21
- package/dist/cjs/excel-parser/plugins/xlsx/relationships.d.ts +6 -0
- package/dist/cjs/excel-parser/plugins/xlsx/relationships.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/relationships.js +9 -0
- package/dist/cjs/excel-parser/plugins/xlsx/theme.d.ts +1 -1
- package/dist/cjs/excel-parser/types.d.ts +9 -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 +5 -0
- package/dist/cjs/excel-parser/worker.js +2 -0
- package/dist/cjs/exporter/ods/ods-export.d.ts.map +1 -1
- package/dist/cjs/exporter/ods/ods-export.js +255 -80
- package/dist/cjs/exporter/xlsx/chart-builder.d.ts +7 -1
- package/dist/cjs/exporter/xlsx/chart-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/chart-builder.js +902 -119
- package/dist/cjs/exporter/xlsx/form-controls-builder.d.ts +16 -3
- package/dist/cjs/exporter/xlsx/form-controls-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/form-controls-builder.js +30 -8
- package/dist/cjs/exporter/xlsx/pivot-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/pivot-builder.js +206 -162
- package/dist/cjs/exporter/xlsx/style-builder.d.ts +8 -2
- package/dist/cjs/exporter/xlsx/style-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/style-builder.js +25 -0
- package/dist/cjs/exporter/xlsx/xlsx-export.d.ts +2 -2
- package/dist/cjs/exporter/xlsx/xlsx-export.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/xlsx-export.js +884 -470
- package/dist/esm/autofilter-condition.d.ts +45 -1
- package/dist/esm/autofilter-condition.d.ts.map +1 -1
- package/dist/esm/autofilter-condition.js +131 -11
- package/dist/esm/excel-parser/helpers.d.ts +15 -1
- package/dist/esm/excel-parser/helpers.d.ts.map +1 -1
- package/dist/esm/excel-parser/helpers.js +94 -4
- package/dist/esm/excel-parser/interface.d.ts +3 -1
- package/dist/esm/excel-parser/interface.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/ods/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/ods/index.js +105 -22
- package/dist/esm/excel-parser/plugins/ods/styles.d.ts +15 -0
- package/dist/esm/excel-parser/plugins/ods/styles.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/ods/styles.js +79 -5
- package/dist/esm/excel-parser/plugins/xlsb/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsb/index.js +15 -7
- package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts +77 -1
- package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/charts.js +708 -16
- package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts +7 -1
- package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/drawing.js +23 -0
- package/dist/esm/excel-parser/plugins/xlsx/form-controls.d.ts +24 -3
- package/dist/esm/excel-parser/plugins/xlsx/form-controls.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/form-controls.js +21 -3
- package/dist/esm/excel-parser/plugins/xlsx/index.d.ts +24 -1
- package/dist/esm/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/index.js +192 -54
- package/dist/esm/excel-parser/plugins/xlsx/pivots.d.ts +8 -2
- package/dist/esm/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/pivots.js +220 -4
- package/dist/esm/excel-parser/plugins/xlsx/relationships.d.ts +6 -0
- package/dist/esm/excel-parser/plugins/xlsx/relationships.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/relationships.js +9 -0
- package/dist/esm/excel-parser/plugins/xlsx/theme.d.ts +1 -1
- package/dist/esm/excel-parser/types.d.ts +9 -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 +4 -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 +238 -72
- package/dist/esm/exporter/xlsx/chart-builder.d.ts +7 -1
- package/dist/esm/exporter/xlsx/chart-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/chart-builder.js +674 -58
- package/dist/esm/exporter/xlsx/form-controls-builder.d.ts +16 -3
- package/dist/esm/exporter/xlsx/form-controls-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/form-controls-builder.js +29 -8
- package/dist/esm/exporter/xlsx/pivot-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/pivot-builder.js +187 -139
- package/dist/esm/exporter/xlsx/style-builder.d.ts +8 -2
- package/dist/esm/exporter/xlsx/style-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/style-builder.js +28 -0
- package/dist/esm/exporter/xlsx/xlsx-export.d.ts +2 -2
- package/dist/esm/exporter/xlsx/xlsx-export.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/xlsx-export.js +600 -206
- package/package.json +10 -5
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { XMLParser } from "fast-xml-parser";
|
|
1
2
|
const attr = (node, name) => {
|
|
2
3
|
const v = node?.a$?.[name] ?? node?.[`@_${name}`];
|
|
3
4
|
return v === undefined || v === null ? undefined : String(v);
|
|
@@ -57,6 +58,200 @@ const readStyleInfo = (pt) => {
|
|
|
57
58
|
}
|
|
58
59
|
return Object.keys(info).length ? info : undefined;
|
|
59
60
|
};
|
|
61
|
+
/** Every attribute of `node` as strings, minus `omit`. */
|
|
62
|
+
const attributesOf = (node, omit = []) => {
|
|
63
|
+
const raw = node?.a$;
|
|
64
|
+
if (!raw || typeof raw !== "object")
|
|
65
|
+
return undefined;
|
|
66
|
+
const out = {};
|
|
67
|
+
for (const [key, value] of Object.entries(raw)) {
|
|
68
|
+
if (omit.includes(key) || value === undefined || value === null)
|
|
69
|
+
continue;
|
|
70
|
+
out[key] = String(value);
|
|
71
|
+
}
|
|
72
|
+
return Object.keys(out).length ? out : undefined;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* `<pivotArea>` → `PivotArea`: attributes verbatim plus the
|
|
76
|
+
* `<references><reference field…><x v/>…` item selections (`count`s are
|
|
77
|
+
* recomputed on export).
|
|
78
|
+
*/
|
|
79
|
+
const readPivotArea = (node) => {
|
|
80
|
+
const area = {};
|
|
81
|
+
const attributes = attributesOf(node);
|
|
82
|
+
if (attributes)
|
|
83
|
+
area.attributes = attributes;
|
|
84
|
+
const referencesNode = node?.references ?? node?.["x:references"];
|
|
85
|
+
const references = asArray(referencesNode?.reference ?? referencesNode?.["x:reference"]).map((ref) => {
|
|
86
|
+
const out = {};
|
|
87
|
+
const refAttributes = attributesOf(ref, ["count"]);
|
|
88
|
+
if (refAttributes)
|
|
89
|
+
out.attributes = refAttributes;
|
|
90
|
+
const items = asArray(ref?.x ?? ref?.["x:x"])
|
|
91
|
+
.map((x) => Number(attr(x, "v")))
|
|
92
|
+
.filter((v) => Number.isFinite(v));
|
|
93
|
+
if (items.length)
|
|
94
|
+
out.items = items;
|
|
95
|
+
return out;
|
|
96
|
+
});
|
|
97
|
+
if (references.length)
|
|
98
|
+
area.references = references;
|
|
99
|
+
return area;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* `<chartFormats><chartFormat chart format series><pivotArea>…` — the
|
|
103
|
+
* pivot areas a PivotChart's `<c:pivotFmt>` entries format; `chart` is
|
|
104
|
+
* the chart's `<c:fmtId>`, `format` its `<c:pivotFmt><c:idx>`. Kept
|
|
105
|
+
* verbatim so the indices the exported chart re-emits still resolve.
|
|
106
|
+
*/
|
|
107
|
+
const readChartFormats = (pt) => {
|
|
108
|
+
const node = pt?.chartFormats ?? pt?.["x:chartFormats"];
|
|
109
|
+
if (!node)
|
|
110
|
+
return undefined;
|
|
111
|
+
const formats = [];
|
|
112
|
+
for (const cf of asArray(node.chartFormat ?? node["x:chartFormat"])) {
|
|
113
|
+
const chart = Number(attr(cf, "chart"));
|
|
114
|
+
const format = Number(attr(cf, "format"));
|
|
115
|
+
if (!Number.isFinite(chart) || !Number.isFinite(format))
|
|
116
|
+
continue;
|
|
117
|
+
const series = attr(cf, "series");
|
|
118
|
+
formats.push({
|
|
119
|
+
chart,
|
|
120
|
+
format,
|
|
121
|
+
...(series === "1" || series === "true" ? { series: true } : {}),
|
|
122
|
+
pivotArea: readPivotArea(cf?.pivotArea ?? cf?.["x:pivotArea"]),
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
return formats.length ? formats : undefined;
|
|
126
|
+
};
|
|
127
|
+
// Ordered parse for `<sharedItems>`: its `<s>`/`<n>`/`<m>`… children interleave by
|
|
128
|
+
// type and their positions ARE the item indices the pivot references, which the
|
|
129
|
+
// plugin's object parse (grouping by tag) would reorder.
|
|
130
|
+
const orderedPivotParser = new XMLParser({
|
|
131
|
+
ignoreAttributes: false,
|
|
132
|
+
preserveOrder: true,
|
|
133
|
+
attributeNamePrefix: "",
|
|
134
|
+
textNodeName: "t$",
|
|
135
|
+
trimValues: false,
|
|
136
|
+
processEntities: false,
|
|
137
|
+
});
|
|
138
|
+
const orderedTag = (node) => Object.keys(node).find((k) => k !== ":@");
|
|
139
|
+
const orderedLocal = (tag) => tag.slice(tag.indexOf(":") + 1);
|
|
140
|
+
const SHARED_ITEM_TYPES = new Set(["s", "n", "b", "d", "e", "m"]);
|
|
141
|
+
/**
|
|
142
|
+
* Each `<cacheField>`'s `<sharedItems>` verbatim, in cache-field order (`undefined`
|
|
143
|
+
* where a field has none): attributes minus `count`, items in document order with
|
|
144
|
+
* their type, `v` and any further attributes (rowsncolumns/spreadsheet#668 C-84).
|
|
145
|
+
*/
|
|
146
|
+
export const readSharedItemsVerbatim = (cacheText) => {
|
|
147
|
+
let ordered;
|
|
148
|
+
try {
|
|
149
|
+
ordered = orderedPivotParser.parse(cacheText);
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
return [];
|
|
153
|
+
}
|
|
154
|
+
const find = (nodes, local) => {
|
|
155
|
+
for (const node of nodes) {
|
|
156
|
+
if (!node || typeof node !== "object")
|
|
157
|
+
continue;
|
|
158
|
+
const tag = orderedTag(node);
|
|
159
|
+
if (!tag || !Array.isArray(node[tag]))
|
|
160
|
+
continue;
|
|
161
|
+
if (orderedLocal(tag) === local)
|
|
162
|
+
return node;
|
|
163
|
+
const found = find(node[tag], local);
|
|
164
|
+
if (found)
|
|
165
|
+
return found;
|
|
166
|
+
}
|
|
167
|
+
return undefined;
|
|
168
|
+
};
|
|
169
|
+
const cacheFields = find(ordered, "cacheFields");
|
|
170
|
+
if (!cacheFields)
|
|
171
|
+
return [];
|
|
172
|
+
const out = [];
|
|
173
|
+
for (const field of cacheFields[orderedTag(cacheFields)]) {
|
|
174
|
+
const fieldTag = field && typeof field === "object" ? orderedTag(field) : undefined;
|
|
175
|
+
if (!fieldTag || orderedLocal(fieldTag) !== "cacheField")
|
|
176
|
+
continue;
|
|
177
|
+
const shared = (Array.isArray(field[fieldTag]) ? field[fieldTag] : []).find((n) => n && typeof n === "object" && orderedTag(n) && orderedLocal(orderedTag(n)) === "sharedItems");
|
|
178
|
+
if (!shared) {
|
|
179
|
+
out.push(undefined);
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
const sharedTag = orderedTag(shared);
|
|
183
|
+
const attributes = {};
|
|
184
|
+
for (const [k, v] of Object.entries((shared[":@"] ?? {}))) {
|
|
185
|
+
if (k !== "count")
|
|
186
|
+
attributes[k] = String(v);
|
|
187
|
+
}
|
|
188
|
+
const items = [];
|
|
189
|
+
for (const child of (shared[sharedTag] ?? [])) {
|
|
190
|
+
const childTag = child && typeof child === "object" ? orderedTag(child) : undefined;
|
|
191
|
+
if (!childTag)
|
|
192
|
+
continue;
|
|
193
|
+
const type = orderedLocal(childTag);
|
|
194
|
+
if (!SHARED_ITEM_TYPES.has(type))
|
|
195
|
+
continue;
|
|
196
|
+
const rest = {};
|
|
197
|
+
let value;
|
|
198
|
+
for (const [k, v] of Object.entries((child[":@"] ?? {}))) {
|
|
199
|
+
if (k === "v")
|
|
200
|
+
value = String(v);
|
|
201
|
+
else
|
|
202
|
+
rest[k] = String(v);
|
|
203
|
+
}
|
|
204
|
+
items.push({
|
|
205
|
+
type: type,
|
|
206
|
+
...(value !== undefined ? { value } : {}),
|
|
207
|
+
...(Object.keys(rest).length ? { attributes: rest } : {}),
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
// An item-less, attribute-less `<sharedItems count="0"/>` (our own
|
|
211
|
+
// item-less export) carries nothing to preserve.
|
|
212
|
+
if (!items.length && !Object.keys(attributes).length) {
|
|
213
|
+
out.push(undefined);
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
out.push({
|
|
217
|
+
...(Object.keys(attributes).length ? { attributes } : {}),
|
|
218
|
+
items,
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
return out;
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
* Each `<pivotField>`'s `<items>` in field order (`undefined` where a field has
|
|
225
|
+
* none): `x`, `t` and the remaining attributes (`h`, `sd`, …) verbatim.
|
|
226
|
+
*/
|
|
227
|
+
const readPivotFieldItems = (pt) => {
|
|
228
|
+
const node = pt?.pivotFields ?? pt?.["x:pivotFields"];
|
|
229
|
+
if (!node)
|
|
230
|
+
return [];
|
|
231
|
+
return asArray(node.pivotField ?? node["x:pivotField"]).map((field) => {
|
|
232
|
+
if (!field || typeof field !== "object")
|
|
233
|
+
return undefined;
|
|
234
|
+
const itemsNode = field.items ?? field["x:items"];
|
|
235
|
+
if (!itemsNode || typeof itemsNode !== "object")
|
|
236
|
+
return undefined;
|
|
237
|
+
const items = asArray(itemsNode.item ?? itemsNode["x:item"]).map((item) => {
|
|
238
|
+
const out = {};
|
|
239
|
+
const rest = {};
|
|
240
|
+
for (const [k, v] of Object.entries((item?.a$ ?? {}))) {
|
|
241
|
+
if (k === "x")
|
|
242
|
+
out.x = Number(v);
|
|
243
|
+
else if (k === "t")
|
|
244
|
+
out.t = String(v);
|
|
245
|
+
else
|
|
246
|
+
rest[k] = String(v);
|
|
247
|
+
}
|
|
248
|
+
if (Object.keys(rest).length)
|
|
249
|
+
out.attributes = rest;
|
|
250
|
+
return out;
|
|
251
|
+
});
|
|
252
|
+
return items.length ? items : undefined;
|
|
253
|
+
});
|
|
254
|
+
};
|
|
60
255
|
const asArray = (value) => {
|
|
61
256
|
if (value === undefined || value === null)
|
|
62
257
|
return [];
|
|
@@ -250,6 +445,24 @@ const parsePivotTableXml = (pivotXml, cacheDef, getSheetId, defaultSheetId, pivo
|
|
|
250
445
|
.filter((f) => f.formula !== undefined && f.name !== "")
|
|
251
446
|
.map((f) => ({ name: f.name, formula: f.formula }));
|
|
252
447
|
const styleInfo = readStyleInfo(pt);
|
|
448
|
+
const chartFormats = readChartFormats(pt);
|
|
449
|
+
// XLSX cache passthrough (C-84): this pivot's `<pivotField><items>` and the
|
|
450
|
+
// cache's `<sharedItems>`, keyed by cache-field name.
|
|
451
|
+
const fieldItems = readPivotFieldItems(pt);
|
|
452
|
+
const cacheFields = [];
|
|
453
|
+
cacheDef.fields.forEach((field, index) => {
|
|
454
|
+
if (!field.name)
|
|
455
|
+
return;
|
|
456
|
+
const sharedItems = cacheDef.sharedItems?.[index];
|
|
457
|
+
const items = fieldItems[index];
|
|
458
|
+
if (!sharedItems && !items)
|
|
459
|
+
return;
|
|
460
|
+
cacheFields.push({
|
|
461
|
+
name: field.name,
|
|
462
|
+
...(sharedItems ? { sharedItems } : {}),
|
|
463
|
+
...(items ? { items } : {}),
|
|
464
|
+
});
|
|
465
|
+
});
|
|
253
466
|
// Display toggles (Phase A1 — round-trip these so the editor
|
|
254
467
|
// checkboxes pick up the imported values).
|
|
255
468
|
// XLSX: rowGrandTotals / colGrandTotals default to "1" (true).
|
|
@@ -270,6 +483,8 @@ const parsePivotTableXml = (pivotXml, cacheDef, getSheetId, defaultSheetId, pivo
|
|
|
270
483
|
showSubtotals: true,
|
|
271
484
|
...(calculatedFields.length ? { calculatedFields } : {}),
|
|
272
485
|
...(styleInfo ? { styleInfo } : {}),
|
|
486
|
+
...(chartFormats ? { chartFormats } : {}),
|
|
487
|
+
...(cacheFields.length ? { cacheFields } : {}),
|
|
273
488
|
};
|
|
274
489
|
};
|
|
275
490
|
/**
|
|
@@ -297,9 +512,7 @@ export const parsePivotTablesForSheet = async (options) => {
|
|
|
297
512
|
const fileName = pivotTablePath.split("/").pop();
|
|
298
513
|
const pivotRelsPath = `${pivotDir}/_rels/${fileName}.rels`;
|
|
299
514
|
const pivotRelsText = await zipParser.getText(pivotRelsPath);
|
|
300
|
-
let cacheDef = {
|
|
301
|
-
fields: [],
|
|
302
|
-
};
|
|
515
|
+
let cacheDef = { fields: [] };
|
|
303
516
|
if (pivotRelsText) {
|
|
304
517
|
const pivotRels = xmlParser.parse(pivotRelsText);
|
|
305
518
|
const relList = asArray(pivotRels?.Relationships?.Relationship);
|
|
@@ -322,7 +535,10 @@ export const parsePivotTablesForSheet = async (options) => {
|
|
|
322
535
|
? await zipParser.getText(cachePath)
|
|
323
536
|
: undefined;
|
|
324
537
|
if (cacheText) {
|
|
325
|
-
cacheDef =
|
|
538
|
+
cacheDef = {
|
|
539
|
+
...parsePivotCacheDefinition(xmlParser.parse(cacheText)),
|
|
540
|
+
sharedItems: readSharedItemsVerbatim(cacheText),
|
|
541
|
+
};
|
|
326
542
|
}
|
|
327
543
|
}
|
|
328
544
|
}
|
|
@@ -5,4 +5,10 @@ export interface Relationship {
|
|
|
5
5
|
mode?: string;
|
|
6
6
|
}
|
|
7
7
|
export declare const getRelationsById: (xml: any) => Record<string, Relationship>;
|
|
8
|
+
/**
|
|
9
|
+
* The `.rels` part beside a sheet part: `xl/worksheets/sheet1.xml` →
|
|
10
|
+
* `xl/worksheets/_rels/sheet1.xml.rels`. Folder-agnostic so chartsheet parts
|
|
11
|
+
* (`xl/chartsheets/sheetN.xml`) resolve the same way.
|
|
12
|
+
*/
|
|
13
|
+
export declare const getSheetRelsPath: (sheetPath: string) => string;
|
|
8
14
|
//# sourceMappingURL=relationships.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/relationships.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,gBAAgB,GAAI,KAAK,GAAG,iCAaxC,CAAC"}
|
|
1
|
+
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/relationships.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,gBAAgB,GAAI,KAAK,GAAG,iCAaxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,MAAM,WAGjD,CAAC"}
|
|
@@ -11,3 +11,12 @@ export const getRelationsById = (xml) => {
|
|
|
11
11
|
}
|
|
12
12
|
return rels;
|
|
13
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* The `.rels` part beside a sheet part: `xl/worksheets/sheet1.xml` →
|
|
16
|
+
* `xl/worksheets/_rels/sheet1.xml.rels`. Folder-agnostic so chartsheet parts
|
|
17
|
+
* (`xl/chartsheets/sheetN.xml`) resolve the same way.
|
|
18
|
+
*/
|
|
19
|
+
export const getSheetRelsPath = (sheetPath) => {
|
|
20
|
+
const slash = sheetPath.lastIndexOf("/");
|
|
21
|
+
return `${sheetPath.slice(0, slash + 1)}_rels/${sheetPath.slice(slash + 1)}.rels`;
|
|
22
|
+
};
|
|
@@ -29,7 +29,6 @@ export declare function extractThemeFonts(themeXml: any): ExtractedThemeFonts;
|
|
|
29
29
|
* @returns An object containing the theme colors
|
|
30
30
|
*/
|
|
31
31
|
export declare function extractThemeColors(themeXml: any, defaultTheme: SpreadsheetTheme): Record<string, string> | {
|
|
32
|
-
hyperlink: string;
|
|
33
32
|
text1: string;
|
|
34
33
|
text2: string;
|
|
35
34
|
background1: string;
|
|
@@ -40,6 +39,7 @@ export declare function extractThemeColors(themeXml: any, defaultTheme: Spreadsh
|
|
|
40
39
|
accent4: string;
|
|
41
40
|
accent5: string;
|
|
42
41
|
accent6: string;
|
|
42
|
+
hyperlink: string;
|
|
43
43
|
};
|
|
44
44
|
/**
|
|
45
45
|
* Generate dark theme colors based on light theme colors
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CellData, ConditionalFormatRule, DataValidationRuleRecord, EmbeddedChart, NamedRange, ProtectedRange, Slicer, SpreadsheetTheme, TableView } from "@rowsncolumns/spreadsheet";
|
|
2
2
|
import type { CommentThread, IterativeCalculationOptions, NamedCellStyle } from "@rowsncolumns/common-types";
|
|
3
|
-
import type { EmbeddedObject } from "@rowsncolumns/spreadsheet";
|
|
3
|
+
import type { CustomTableStyle, EmbeddedObject } from "@rowsncolumns/spreadsheet";
|
|
4
4
|
import { type Sheet } from "@rowsncolumns/spreadsheet";
|
|
5
5
|
import type { RowData, RowDataWithValue } from "@rowsncolumns/common-types";
|
|
6
6
|
import { CellXfs } from "@rowsncolumns/spreadsheet-state";
|
|
@@ -67,6 +67,12 @@ export type SheetCatalogEntry = {
|
|
|
67
67
|
hidden: boolean;
|
|
68
68
|
/** Workbook tab order (0-based). */
|
|
69
69
|
index: number;
|
|
70
|
+
/**
|
|
71
|
+
* A chartsheet is a tab that is one chart and has no cells — told apart by
|
|
72
|
+
* its workbook relationship type alone, so the catalog still never opens a
|
|
73
|
+
* sheet part.
|
|
74
|
+
*/
|
|
75
|
+
type: "worksheet" | "chartsheet";
|
|
70
76
|
};
|
|
71
77
|
export type ProcessSheetDataForSheetOptions = {
|
|
72
78
|
sheetId: number;
|
|
@@ -274,6 +280,8 @@ export type WorkerResponse = {
|
|
|
274
280
|
theme?: SpreadsheetTheme;
|
|
275
281
|
/** `<cellStyles>` resolved to formats — the "Workbook styles" gallery. */
|
|
276
282
|
namedCellStyles?: NamedCellStyle[];
|
|
283
|
+
/** Custom `<tableStyle>`s resolved to banding — the `customTableStyles` facet (#668 T-103). */
|
|
284
|
+
customTableStyles?: CustomTableStyle[];
|
|
277
285
|
} | {
|
|
278
286
|
responseType: ResponseType.PARSE_EXCEL_COMPLETE;
|
|
279
287
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../excel-parser/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,EACb,UAAU,EACV,cAAc,EACd,MAAM,EACN,gBAAgB,EAChB,SAAS,EACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,aAAa,EACb,2BAA2B,EAC3B,cAAc,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../excel-parser/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export declare class WorkBook implements IWorkbookPlugin {
|
|
|
19
19
|
getTheme(): import("@rowsncolumns/spreadsheet").SpreadsheetTheme;
|
|
20
20
|
/** Named cell styles resolved to formats; empty for formats without them. */
|
|
21
21
|
getNamedCellStyles(): import("@rowsncolumns/common-types").NamedCellStyle[];
|
|
22
|
+
getCustomTableStyles(): import("@rowsncolumns/spreadsheet").CustomTableStyle[];
|
|
22
23
|
/** Workbook default font (styles.xml fonts[0]); null when unavailable. */
|
|
23
24
|
getDefaultFont(): import("@rowsncolumns/common-types").TextFormat | null;
|
|
24
25
|
getFonts(): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbook.d.ts","sourceRoot":"","sources":["../../../excel-parser/workbook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,2BAA2B,IAAI,4BAA4B,EAC3D,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,+BAA+B,EAC/B,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAsBjB,qBAAa,QAAS,YAAW,eAAe;IAC9C,OAAO,CAAC,MAAM,CAAmB;;IAI3B,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAqB3E,OAAO;IAIP,aAAa;IAIb,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAIvD;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"workbook.d.ts","sourceRoot":"","sources":["../../../excel-parser/workbook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,2BAA2B,IAAI,4BAA4B,EAC3D,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,+BAA+B,EAC/B,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAsBjB,qBAAa,QAAS,YAAW,eAAe;IAC9C,OAAO,CAAC,MAAM,CAAmB;;IAI3B,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAqB3E,OAAO;IAIP,aAAa;IAIb,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAIvD;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAe/C,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAehC,QAAQ;IAIR,6EAA6E;IAC7E,kBAAkB;IAGlB,oBAAoB;IAIpB,0EAA0E;IAC1E,cAAc;IAId,QAAQ;IAIR,UAAU;IAIV,SAAS;IAIT,IAAI,cAAc,QAEjB;IAED,IAAI,aAAa,yBAEhB;IAED,IAAI,oBAAoB,kFAEvB;IAED,IAAI,gBAAgB,8CAEnB;IAED,cAAc;IAId,8BAA8B;IAI9B,eAAe;IAIf,gBAAgB;IAIhB,gBAAgB,CACd,SAAS,CAAC,EAAE,MAAM,EAClB,qBAAqB,CAAC,EAAE,OAAO,EAC/B,mBAAmB,CAAC,EAAE,OAAO,EAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI;IAUxD,wBAAwB,CAAC,OAAO,EAAE,+BAA+B;IAmBjE,kBAAkB,CAAC,OAAO,EAAE,MAAM;IAIlC,WAAW;IAIX,SAAS;IAIT,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM;IAgBzC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;IAgBnC,cAAc;IAId,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;IAInC,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM;IAIlC,UAAU;IAIV,cAAc;IAId,aAAa;IAIb,gBAAgB;IAIV,aAAa;IAInB,cAAc,CAAC,MAAM,EAAE,GAAG;CAM3B;AAED,eAAO,MAAM,2BAA2B,qCAA+B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -62,6 +62,7 @@ export class WorkBook {
|
|
|
62
62
|
visibility: sheet.visibility ?? "visible",
|
|
63
63
|
hidden: !!sheet.hidden,
|
|
64
64
|
index,
|
|
65
|
+
type: sheet.type === "chartsheet" ? "chartsheet" : "worksheet",
|
|
65
66
|
}));
|
|
66
67
|
}
|
|
67
68
|
async getSheet(sheetId, minRowCount, minColumnCount) {
|
|
@@ -82,6 +83,9 @@ export class WorkBook {
|
|
|
82
83
|
getNamedCellStyles() {
|
|
83
84
|
return this.plugin.getNamedCellStyles?.() ?? [];
|
|
84
85
|
}
|
|
86
|
+
getCustomTableStyles() {
|
|
87
|
+
return this.plugin.getCustomTableStyles?.() ?? [];
|
|
88
|
+
}
|
|
85
89
|
/** Workbook default font (styles.xml fonts[0]); null when unavailable. */
|
|
86
90
|
getDefaultFont() {
|
|
87
91
|
return this.plugin.getDefaultFont?.() ?? null;
|
|
@@ -523,6 +523,7 @@ self.onmessage = async (e) => {
|
|
|
523
523
|
responseType: ResponseType.GET_THEME_SUCCESS,
|
|
524
524
|
theme: workbook.getTheme(),
|
|
525
525
|
namedCellStyles: workbook.getNamedCellStyles(),
|
|
526
|
+
customTableStyles: workbook.getCustomTableStyles(),
|
|
526
527
|
});
|
|
527
528
|
try {
|
|
528
529
|
self.postMessage({
|
|
@@ -808,6 +809,7 @@ self.onmessage = async (e) => {
|
|
|
808
809
|
responseType: ResponseType.GET_THEME_SUCCESS,
|
|
809
810
|
theme: workbook.getTheme(),
|
|
810
811
|
namedCellStyles: workbook.getNamedCellStyles(),
|
|
812
|
+
customTableStyles: workbook.getCustomTableStyles(),
|
|
811
813
|
});
|
|
812
814
|
try {
|
|
813
815
|
self.postMessage({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ods-export.d.ts","sourceRoot":"","sources":["../../../../exporter/ods/ods-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,wBAAwB,EAMxB,SAAS,EAET,2BAA2B,EAC3B,QAAQ,EACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAGV,qBAAqB,EAErB,aAAa,EACb,cAAc,EAGd,UAAU,
|
|
1
|
+
{"version":3,"file":"ods-export.d.ts","sourceRoot":"","sources":["../../../../exporter/ods/ods-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,wBAAwB,EAMxB,SAAS,EAET,2BAA2B,EAC3B,QAAQ,EACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAGV,qBAAqB,EAErB,aAAa,EACb,cAAc,EAGd,UAAU,EAEV,KAAK,EAGL,gBAAgB,EAChB,SAAS,EAGV,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,4BAA4B,CAAC;AA+HzE,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,QAAQ,IAChB;IACF,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC7C,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAiYF,eAAO,MAAM,aAAa,GACxB,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,QAAQ,EAClB,qRAgBC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,yBA6JzB,CAAC"}
|