abstract-sheet 1.1.26 → 1.2.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.
- package/CHANGELOG.md +4 -0
- package/lib/abstract-sheet-exporters/_style.d.ts +58 -1
- package/lib/abstract-sheet-exporters/_style.d.ts.map +1 -1
- package/lib/abstract-sheet-exporters/_style.js +2 -1
- package/lib/abstract-sheet-exporters/_style.js.map +1 -1
- package/lib/abstract-sheet-exporters/_xlsx-sheet.d.ts +2 -1
- package/lib/abstract-sheet-exporters/_xlsx-sheet.d.ts.map +1 -1
- package/lib/abstract-sheet-exporters/_xlsx-sheet.js +1 -3
- package/lib/abstract-sheet-exporters/_xlsx-sheet.js.map +1 -1
- package/lib/abstract-sheet-exporters/csv.js +1 -1
- package/lib/abstract-sheet-exporters/csv.js.map +1 -1
- package/lib/abstract-sheet-exporters/react.d.ts.map +1 -1
- package/lib/abstract-sheet-exporters/react.js +3 -11
- package/lib/abstract-sheet-exporters/react.js.map +1 -1
- package/lib/abstract-sheet-exporters/xlsx.d.ts.map +1 -1
- package/lib/abstract-sheet-exporters/xlsx.js +2 -2
- package/lib/abstract-sheet-exporters/xlsx.js.map +1 -1
- package/lib/abstract-sheet-xml/abstract-sheet-xml.d.ts +1 -1
- package/lib/abstract-sheet-xml/abstract-sheet-xml.d.ts.map +1 -1
- package/lib/abstract-sheet-xml/abstract-sheet-xml.js +3 -2
- package/lib/abstract-sheet-xml/abstract-sheet-xml.js.map +1 -1
- package/package.json +16 -16
- package/src/abstract-sheet-exporters/_style.ts +44 -11
- package/src/abstract-sheet-exporters/_xlsx-sheet.ts +4 -6
- package/src/abstract-sheet-exporters/csv.ts +1 -1
- package/src/abstract-sheet-exporters/react.tsx +8 -27
- package/src/abstract-sheet-exporters/xlsx.ts +2 -2
- package/src/abstract-sheet-xml/abstract-sheet-xml.ts +5 -12
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
|
5
|
+
## [1.2.0] - 2026-09-06
|
|
6
|
+
|
|
7
|
+
- Internal: activated 39 additional oxlint rules — curly, default-case, eqeqeq, init-declarations, no-alert, no-bitwise, no-case-declarations, no-empty-pattern, no-prototype-builtins, no-restricted-globals, no-restricted-properties, no-shadow, no-throw-literal, no-unused-vars, no-useless-return, node/global-require, one-var, prefer-const, prefer-object-spread, typescript/array-type, typescript/ban-tslint-comment, typescript/dot-notation, typescript/explicit-module-boundary-types, typescript/no-empty-object-type, typescript/no-explicit-any, typescript/no-require-imports, typescript/no-unnecessary-boolean-literal-compare, typescript/no-var-requires, typescript/no-wrapper-object-types, typescript/parameter-properties, typescript/prefer-nullish-coalescing, typescript/prefer-optional-chain, typescript/prefer-readonly, typescript/prefer-reduce-type-parameter, typescript/prefer-string-starts-ends-with, typescript/switch-exhaustiveness-check, typescript/unified-signatures, unicorn/no-array-sort — and upgraded `oxlint-config-divid` to 1.2.0. No functional changes.
|
|
8
|
+
|
|
5
9
|
## [1.1.24] - 2026-09-05
|
|
6
10
|
|
|
7
11
|
- Internal: adopt `verbatimModuleSyntax` and stricter compiler/lint settings (no bracket-free index-signature access). No functional changes.
|
|
@@ -1,3 +1,60 @@
|
|
|
1
1
|
import type { Style } from "../abstract-sheet/abstract-sheet.js";
|
|
2
|
-
|
|
2
|
+
/** Shape of the xlsx-js-style cell style object (the library itself types `CellObject.s` as `any`). */
|
|
3
|
+
export type XlsxStyle = {
|
|
4
|
+
alignment?: {
|
|
5
|
+
vertical?: string;
|
|
6
|
+
horizontal?: string;
|
|
7
|
+
wrapText?: boolean;
|
|
8
|
+
textRotation?: number;
|
|
9
|
+
};
|
|
10
|
+
fill?: {
|
|
11
|
+
patternType?: string;
|
|
12
|
+
fgColor?: {
|
|
13
|
+
rgb: string;
|
|
14
|
+
};
|
|
15
|
+
bgColor?: {
|
|
16
|
+
rgb: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
border?: {
|
|
20
|
+
top?: {
|
|
21
|
+
style?: string;
|
|
22
|
+
color?: {
|
|
23
|
+
rgb: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
right?: {
|
|
27
|
+
style?: string;
|
|
28
|
+
color?: {
|
|
29
|
+
rgb: string;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
bottom?: {
|
|
33
|
+
style?: string;
|
|
34
|
+
color?: {
|
|
35
|
+
rgb: string;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
left?: {
|
|
39
|
+
style?: string;
|
|
40
|
+
color?: {
|
|
41
|
+
rgb: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
font?: {
|
|
46
|
+
bold?: boolean;
|
|
47
|
+
color?: {
|
|
48
|
+
rgb: string;
|
|
49
|
+
};
|
|
50
|
+
italic?: boolean;
|
|
51
|
+
name?: string;
|
|
52
|
+
strike?: boolean;
|
|
53
|
+
sz?: number;
|
|
54
|
+
underline?: boolean;
|
|
55
|
+
vertAlign?: string;
|
|
56
|
+
numFmt?: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
export declare function createStyle(style: Style): XlsxStyle;
|
|
3
60
|
//# sourceMappingURL=_style.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_style.d.ts","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/_style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAEjE,
|
|
1
|
+
{"version":3,"file":"_style.d.ts","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/_style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAEjE,uGAAuG;AACvG,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1B,OAAO,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;KAC3B,CAAC;IACF,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QAClD,KAAK,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QACpD,MAAM,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QACrD,IAAI,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;KACpD,CAAC;IACF,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CA+GnD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export function createStyle(style) {
|
|
2
|
-
|
|
2
|
+
const s = {};
|
|
3
3
|
if (style.vertical || style.horizontal || style.wrapText !== undefined || style.textRotation !== undefined) {
|
|
4
4
|
s.alignment = {};
|
|
5
5
|
if (style.vertical) {
|
|
@@ -101,6 +101,7 @@ export function createStyle(style) {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
if (style.numberFormat !== undefined) {
|
|
104
|
+
// Non-null assertion preserves original behavior: throws if numberFormat is set without any other font style (pre-existing, not fixed here).
|
|
104
105
|
s.font.numFmt = style.numberFormat;
|
|
105
106
|
}
|
|
106
107
|
return s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_style.js","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/_style.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_style.js","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/_style.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import XLSX from "xlsx-js-style";
|
|
2
2
|
import type { Sheet } from "../abstract-sheet/abstract-sheet.js";
|
|
3
|
-
|
|
3
|
+
import type { XlsxStyle } from "./_style.js";
|
|
4
|
+
export declare function xlsxWorkSheet(sheet: Sheet, styles: Record<string, XlsxStyle>): XLSX.WorkSheet;
|
|
4
5
|
//# sourceMappingURL=_xlsx-sheet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_xlsx-sheet.d.ts","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/_xlsx-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,KAAK,EAAY,KAAK,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"_xlsx-sheet.d.ts","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/_xlsx-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,KAAK,EAAY,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CA4B7F"}
|
|
@@ -19,9 +19,7 @@ export function xlsxWorkSheet(sheet, styles) {
|
|
|
19
19
|
}
|
|
20
20
|
return {
|
|
21
21
|
"!type": "sheet",
|
|
22
|
-
"!ref": `A1:${sheet.direction === "col"
|
|
23
|
-
? `${XLSX.utils.encode_col(sheet.cells.length)}${colMax}`
|
|
24
|
-
: `${XLSX.utils.encode_col(colMax)}${sheet.cells.length}`}`,
|
|
22
|
+
"!ref": `A1:${sheet.direction === "col" ? `${XLSX.utils.encode_col(sheet.cells.length)}${colMax}` : `${XLSX.utils.encode_col(colMax)}${sheet.cells.length}`}`,
|
|
25
23
|
"!cols": sheet.colInfo?.map((i) => ({ wpx: i.widthPixels ?? 64, hidden: i.hidden })),
|
|
26
24
|
"!rows": sheet.rowInfo?.map((i) => ({ hpx: i.heightPixels ?? 15, hidden: i.hidden })),
|
|
27
25
|
...cells,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_xlsx-sheet.js","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/_xlsx-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"_xlsx-sheet.js","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/_xlsx-sheet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import XLSX from "xlsx-js-style";
|
|
2
|
-
import { xlsxWorkSheet } from "./_xlsx-sheet.js";
|
|
3
2
|
import { createStyle } from "./_style.js";
|
|
3
|
+
import { xlsxWorkSheet } from "./_xlsx-sheet.js";
|
|
4
4
|
export function toCsv(as, options) {
|
|
5
5
|
const styles = Object.fromEntries(as.styles?.map((s) => [s.name, createStyle(s)]) ?? []);
|
|
6
6
|
const mappedOptions = options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/csv.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,eAAe,CAAC;AAEjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/csv.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,eAAe,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAejD,MAAM,UAAU,KAAK,CAAC,EAAiB,EAAE,OAAoB;IAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzF,MAAM,aAAa,GAAmC,OAAO;QAC3D,CAAC,CAAC;YACE,EAAE,EAAE,OAAO,CAAC,SAAS;YACrB,EAAE,EAAE,OAAO,CAAC,YAAY;YACxB,KAAK,EAAE,OAAO,CAAC,mBAAmB;YAClC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,MAAM,EAAE,OAAO,CAAC,UAAU;SAC3B;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAW,EAAE,CAAC,CAAC;QACpC,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC;KACtE,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,qCAAqC,CAAC;AAE7F,wBAAgB,OAAO,CAAC,EAAE,aAAa,EAAE,EAAE;IAAE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,qCAAqC,CAAC;AAE7F,wBAAgB,OAAO,CAAC,EAAE,aAAa,EAAE,EAAE;IAAE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsHvG"}
|
|
@@ -13,21 +13,13 @@ export function toReact({ abstractSheet }) {
|
|
|
13
13
|
gridTemplateRows: (s.direction === "col" ? colArray : s.cells)
|
|
14
14
|
.map((_, ri) => {
|
|
15
15
|
const info = s.rowInfo?.[ri];
|
|
16
|
-
return info?.hidden
|
|
17
|
-
? ""
|
|
18
|
-
: info?.heightPixels !== undefined
|
|
19
|
-
? `${info.heightPixels}px`
|
|
20
|
-
: "minmax(18px, max-content)";
|
|
16
|
+
return info?.hidden ? "" : info?.heightPixels !== undefined ? `${info.heightPixels}px` : "minmax(18px, max-content)";
|
|
21
17
|
})
|
|
22
18
|
.join(" "),
|
|
23
19
|
gridTemplateColumns: (s.direction === "col" ? s.cells : colArray)
|
|
24
20
|
.map((_, ci) => {
|
|
25
21
|
const co = s.colInfo?.[ci];
|
|
26
|
-
return co?.hidden
|
|
27
|
-
? ""
|
|
28
|
-
: co?.widthPixels !== undefined
|
|
29
|
-
? `${co.widthPixels}px`
|
|
30
|
-
: "minmax(64px, max-content)";
|
|
22
|
+
return co?.hidden ? "" : co?.widthPixels !== undefined ? `${co.widthPixels}px` : "minmax(64px, max-content)";
|
|
31
23
|
})
|
|
32
24
|
.join(" "),
|
|
33
25
|
}, children: s.cells.map((cells, cellsIdx) => (_jsx("div", { className: `cells cells-${cellsIdx}`, style: {
|
|
@@ -77,7 +69,7 @@ export function toReact({ abstractSheet }) {
|
|
|
77
69
|
fontSize: `${s.size ?? 11}px`,
|
|
78
70
|
lineHeight: `${s.size ?? 11}px`,
|
|
79
71
|
height: `${s.size ?? 11}px`,
|
|
80
|
-
color: s.color
|
|
72
|
+
color: s.color ?? undefined,
|
|
81
73
|
transform: s.textRotation ? `rotate(${s.textRotation})` : undefined,
|
|
82
74
|
}, children: typeof c?.value === "object" ? c.value.toISOString() : (c?.value ?? "") }) }, ci));
|
|
83
75
|
}) }, cellsIdx))) }, s.name));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/react.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,UAAU,OAAO,CAAC,EAAE,aAAa,EAA6C;IAClF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/react.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xlsx.d.ts","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/xlsx.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xlsx.d.ts","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/xlsx.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAIzE,wBAAgB,MAAM,CAAC,EAAE,EAAE,aAAa,GAAG,UAAU,CAAC,WAAW,CAAC,CAyBjE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import * as fflate from "fflate";
|
|
1
2
|
import XLSX from "xlsx-js-style";
|
|
2
|
-
import { xlsxWorkSheet } from "./_xlsx-sheet.js";
|
|
3
3
|
import { createStyle } from "./_style.js";
|
|
4
|
-
import
|
|
4
|
+
import { xlsxWorkSheet } from "./_xlsx-sheet.js";
|
|
5
5
|
export function toXlsx(as) {
|
|
6
6
|
const sheets = {};
|
|
7
7
|
const styles = Object.fromEntries(as.styles?.map((s) => [s.name, createStyle(s)]) ?? []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xlsx.js","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/xlsx.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"xlsx.js","sourceRoot":"","sources":["../../src/abstract-sheet-exporters/xlsx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,IAAI,MAAM,eAAe,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,UAAU,MAAM,CAAC,EAAiB;IACtC,MAAM,MAAM,GAAmC,EAAE,CAAC;IAElD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzF,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,EAAE,GAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAE9E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;QAC5B,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,mDAAmD;IACnD,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,8CAA8C;QAC9C,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,wBAAwB,GAAG,iDAAiD,CAAC;AAEnF,MAAM,wBAAwB,GAC5B,6HAA6H,CAAC;AAEhI,SAAS,cAAc,CAAC,UAAmC;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAE9D,OAAO,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAEnC,MAAM,eAAe,GAAG,qBAAqB,CAAC;IAE9C,IAAI,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9B,IAAI,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QAEvE,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;QAClE,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,4BAA4B,CAAC;IAE7C,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;QAElD,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAExD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { XmlElement } from "handlebars-xml";
|
|
2
2
|
import type { AbstractSheet } from "../abstract-sheet/abstract-sheet.js";
|
|
3
|
-
export declare const abstractSheetXml: (template: string, data:
|
|
3
|
+
export declare const abstractSheetXml: (template: string, data: unknown, partials: Record<string, string>) => AbstractSheet;
|
|
4
4
|
export declare const parsedXsd: readonly XmlElement[];
|
|
5
5
|
//# sourceMappingURL=abstract-sheet-xml.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-sheet-xml.d.ts","sourceRoot":"","sources":["../../src/abstract-sheet-xml/abstract-sheet-xml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"abstract-sheet-xml.d.ts","sourceRoot":"","sources":["../../src/abstract-sheet-xml/abstract-sheet-xml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EAAmD,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAG1H,eAAO,MAAM,gBAAgB,aAAc,MAAM,QAAQ,OAAO,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,aACP,CAAC;AA0H/F,eAAO,MAAM,SAAS,uBAAgB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parseHandlebarsXml, parseXsd } from "handlebars-xml";
|
|
2
|
-
import { borderStyleRecord } from "../abstract-sheet/abstract-sheet.js";
|
|
3
2
|
import { xsd } from "../abstract-sheet/abstract-sheet-xsd.js";
|
|
3
|
+
import { borderStyleRecord } from "../abstract-sheet/abstract-sheet.js";
|
|
4
4
|
export const abstractSheetXml = (template, data, partials) => abstractSheetXmlRecursive(parseHandlebarsXml(template, data, partials)[0]);
|
|
5
5
|
function abstractSheetXmlRecursive(el) {
|
|
6
6
|
const children = Array();
|
|
@@ -12,7 +12,7 @@ function abstractSheetXmlRecursive(el) {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
switch (el.tagName) {
|
|
15
|
-
case "AbstractSheet":
|
|
15
|
+
case "AbstractSheet": {
|
|
16
16
|
let styles = undefined;
|
|
17
17
|
const sheets = [];
|
|
18
18
|
childElements.forEach((childEl, i) => {
|
|
@@ -24,6 +24,7 @@ function abstractSheetXmlRecursive(el) {
|
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
return { styles, sheets };
|
|
27
|
+
}
|
|
27
28
|
case "Sheet": {
|
|
28
29
|
const cells = [];
|
|
29
30
|
let colInfo = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-sheet-xml.js","sourceRoot":"","sources":["../../src/abstract-sheet-xml/abstract-sheet-xml.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"abstract-sheet-xml.js","sourceRoot":"","sources":["../../src/abstract-sheet-xml/abstract-sheet-xml.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "abstract-sheet",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"gitHead": "d98928b5dbdc9fd2eab49956969f56e27d57aeb2",
|
|
4
5
|
"description": "Abstract sheet",
|
|
6
|
+
"license": "MIT",
|
|
5
7
|
"author": "Divid AB <info@divid.se>",
|
|
6
8
|
"repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-sheet",
|
|
7
|
-
"license": "MIT",
|
|
8
|
-
"main": "lib/index.js",
|
|
9
|
-
"sideEffects": false,
|
|
10
|
-
"types": "lib/index",
|
|
11
|
-
"type": "module",
|
|
12
|
-
"exports": {
|
|
13
|
-
".": "./lib/index.js"
|
|
14
|
-
},
|
|
15
9
|
"files": [
|
|
16
10
|
"/lib",
|
|
17
11
|
"/src",
|
|
@@ -19,17 +13,21 @@
|
|
|
19
13
|
"README.md",
|
|
20
14
|
"package.json"
|
|
21
15
|
],
|
|
16
|
+
"type": "module",
|
|
17
|
+
"sideEffects": false,
|
|
18
|
+
"main": "lib/index.js",
|
|
19
|
+
"types": "lib/index",
|
|
20
|
+
"exports": {
|
|
21
|
+
".": "./lib/index.js"
|
|
22
|
+
},
|
|
22
23
|
"dependencies": {
|
|
23
24
|
"fast-xml-parser": "^4.5.0",
|
|
24
25
|
"fflate": "^0.8.0",
|
|
25
26
|
"handlebars": "4.7.8",
|
|
26
|
-
"handlebars-xml": "^0.4.8",
|
|
27
27
|
"moment": "^2.30.1",
|
|
28
28
|
"ts-exhaustive-check": "^1.0.0",
|
|
29
|
-
"xlsx-js-style": "^1.2.0"
|
|
30
|
-
|
|
31
|
-
"peerDependencies": {
|
|
32
|
-
"react": ">=17.0.0 <20.0.0"
|
|
29
|
+
"xlsx-js-style": "^1.2.0",
|
|
30
|
+
"handlebars-xml": "^0.5.0"
|
|
33
31
|
},
|
|
34
32
|
"devDependencies": {
|
|
35
33
|
"@types/node": "^22.10.1",
|
|
@@ -37,5 +35,7 @@
|
|
|
37
35
|
"@types/xml": "^1.0.11",
|
|
38
36
|
"react": "^19.2.6"
|
|
39
37
|
},
|
|
40
|
-
"
|
|
41
|
-
|
|
38
|
+
"peerDependencies": {
|
|
39
|
+
"react": ">=17.0.0 <20.0.0"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -1,7 +1,39 @@
|
|
|
1
1
|
import type { Style } from "../abstract-sheet/abstract-sheet.js";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
/** Shape of the xlsx-js-style cell style object (the library itself types `CellObject.s` as `any`). */
|
|
4
|
+
export type XlsxStyle = {
|
|
5
|
+
alignment?: {
|
|
6
|
+
vertical?: string;
|
|
7
|
+
horizontal?: string;
|
|
8
|
+
wrapText?: boolean;
|
|
9
|
+
textRotation?: number;
|
|
10
|
+
};
|
|
11
|
+
fill?: {
|
|
12
|
+
patternType?: string;
|
|
13
|
+
fgColor?: { rgb: string };
|
|
14
|
+
bgColor?: { rgb: string };
|
|
15
|
+
};
|
|
16
|
+
border?: {
|
|
17
|
+
top?: { style?: string; color?: { rgb: string } };
|
|
18
|
+
right?: { style?: string; color?: { rgb: string } };
|
|
19
|
+
bottom?: { style?: string; color?: { rgb: string } };
|
|
20
|
+
left?: { style?: string; color?: { rgb: string } };
|
|
21
|
+
};
|
|
22
|
+
font?: {
|
|
23
|
+
bold?: boolean;
|
|
24
|
+
color?: { rgb: string };
|
|
25
|
+
italic?: boolean;
|
|
26
|
+
name?: string;
|
|
27
|
+
strike?: boolean;
|
|
28
|
+
sz?: number;
|
|
29
|
+
underline?: boolean;
|
|
30
|
+
vertAlign?: string;
|
|
31
|
+
numFmt?: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export function createStyle(style: Style): XlsxStyle {
|
|
36
|
+
const s: XlsxStyle = {};
|
|
5
37
|
if (style.vertical || style.horizontal || style.wrapText !== undefined || style.textRotation !== undefined) {
|
|
6
38
|
s.alignment = {};
|
|
7
39
|
if (style.vertical) {
|
|
@@ -36,37 +68,37 @@ export function createStyle(style: Style): any {
|
|
|
36
68
|
s.border.top = {};
|
|
37
69
|
}
|
|
38
70
|
if (style.borderStyle?.top) {
|
|
39
|
-
s.border.top
|
|
71
|
+
s.border.top!.style = style.borderStyle.top;
|
|
40
72
|
}
|
|
41
73
|
if (style.borderColor?.top) {
|
|
42
|
-
s.border.top
|
|
74
|
+
s.border.top!.color = { rgb: style.borderColor.top.slice(1) };
|
|
43
75
|
}
|
|
44
76
|
if (style.borderStyle?.right || style.borderColor?.right) {
|
|
45
77
|
s.border.right = {};
|
|
46
78
|
}
|
|
47
79
|
if (style.borderStyle?.right) {
|
|
48
|
-
s.border.right
|
|
80
|
+
s.border.right!.style = style.borderStyle.right;
|
|
49
81
|
}
|
|
50
82
|
if (style.borderColor?.right) {
|
|
51
|
-
s.border.right
|
|
83
|
+
s.border.right!.color = { rgb: style.borderColor.right.slice(1) };
|
|
52
84
|
}
|
|
53
85
|
if (style.borderStyle?.bottom || style.borderColor?.bottom) {
|
|
54
86
|
s.border.bottom = {};
|
|
55
87
|
}
|
|
56
88
|
if (style.borderStyle?.bottom) {
|
|
57
|
-
s.border.bottom
|
|
89
|
+
s.border.bottom!.style = style.borderStyle.bottom;
|
|
58
90
|
}
|
|
59
91
|
if (style.borderColor?.bottom) {
|
|
60
|
-
s.border.bottom
|
|
92
|
+
s.border.bottom!.color = { rgb: style.borderColor.bottom.slice(1) };
|
|
61
93
|
}
|
|
62
94
|
if (style.borderStyle?.left || style.borderColor?.left) {
|
|
63
95
|
s.border.left = {};
|
|
64
96
|
}
|
|
65
97
|
if (style.borderStyle?.left) {
|
|
66
|
-
s.border.left
|
|
98
|
+
s.border.left!.style = style.borderStyle.left;
|
|
67
99
|
}
|
|
68
100
|
if (style.borderColor?.left) {
|
|
69
|
-
s.border.left
|
|
101
|
+
s.border.left!.color = { rgb: style.borderColor.left.slice(1) };
|
|
70
102
|
}
|
|
71
103
|
}
|
|
72
104
|
|
|
@@ -107,7 +139,8 @@ export function createStyle(style: Style): any {
|
|
|
107
139
|
}
|
|
108
140
|
}
|
|
109
141
|
if (style.numberFormat !== undefined) {
|
|
110
|
-
|
|
142
|
+
// Non-null assertion preserves original behavior: throws if numberFormat is set without any other font style (pre-existing, not fixed here).
|
|
143
|
+
s.font!.numFmt = style.numberFormat;
|
|
111
144
|
}
|
|
112
145
|
return s;
|
|
113
146
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import XLSX from "xlsx-js-style";
|
|
2
2
|
import type { CellType, Sheet } from "../abstract-sheet/abstract-sheet.js";
|
|
3
|
+
import type { XlsxStyle } from "./_style.js";
|
|
3
4
|
|
|
4
|
-
export function xlsxWorkSheet(sheet: Sheet, styles: Record<string,
|
|
5
|
+
export function xlsxWorkSheet(sheet: Sheet, styles: Record<string, XlsxStyle>): XLSX.WorkSheet {
|
|
5
6
|
let colMax = -1;
|
|
6
7
|
const cells: Record<string, XLSX.CellObject> = {};
|
|
7
8
|
for (let ri = 0; ri < sheet.cells.length; ri++) {
|
|
@@ -15,8 +16,7 @@ export function xlsxWorkSheet(sheet: Sheet, styles: Record<string, any>): XLSX.W
|
|
|
15
16
|
s = { ...s!, ...styles[style] };
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
|
-
const key =
|
|
19
|
-
sheet.direction === "col" ? `${XLSX.utils.encode_col(ri)}${ci + 1}` : `${XLSX.utils.encode_col(ci)}${ri + 1}`;
|
|
19
|
+
const key = sheet.direction === "col" ? `${XLSX.utils.encode_col(ri)}${ci + 1}` : `${XLSX.utils.encode_col(ci)}${ri + 1}`;
|
|
20
20
|
cells[key] = { v: c.value, t: cellObject(c.type), s };
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -24,9 +24,7 @@ export function xlsxWorkSheet(sheet: Sheet, styles: Record<string, any>): XLSX.W
|
|
|
24
24
|
return {
|
|
25
25
|
"!type": "sheet",
|
|
26
26
|
"!ref": `A1:${
|
|
27
|
-
sheet.direction === "col"
|
|
28
|
-
? `${XLSX.utils.encode_col(sheet.cells.length)}${colMax}`
|
|
29
|
-
: `${XLSX.utils.encode_col(colMax)}${sheet.cells.length}`
|
|
27
|
+
sheet.direction === "col" ? `${XLSX.utils.encode_col(sheet.cells.length)}${colMax}` : `${XLSX.utils.encode_col(colMax)}${sheet.cells.length}`
|
|
30
28
|
}`,
|
|
31
29
|
"!cols": sheet.colInfo?.map((i): XLSX.ColInfo => ({ wpx: i.widthPixels ?? 64, hidden: i.hidden })),
|
|
32
30
|
"!rows": sheet.rowInfo?.map((i): XLSX.RowInfo => ({ hpx: i.heightPixels ?? 15, hidden: i.hidden })),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import XLSX from "xlsx-js-style";
|
|
2
2
|
import type { AbstractSheet } from "../abstract-sheet/abstract-sheet.js";
|
|
3
|
-
import { xlsxWorkSheet } from "./_xlsx-sheet.js";
|
|
4
3
|
import { createStyle } from "./_style.js";
|
|
4
|
+
import { xlsxWorkSheet } from "./_xlsx-sheet.js";
|
|
5
5
|
|
|
6
6
|
export type CsvFile = { readonly name: string; readonly csv: string };
|
|
7
7
|
|
|
@@ -2,10 +2,7 @@ import React from "react";
|
|
|
2
2
|
import type { AbstractSheet, BorderStyle, Style } from "../abstract-sheet/abstract-sheet.js";
|
|
3
3
|
|
|
4
4
|
export function toReact({ abstractSheet }: { readonly abstractSheet: AbstractSheet }): React.JSX.Element {
|
|
5
|
-
const styles = React.useMemo(
|
|
6
|
-
() => Object.fromEntries(abstractSheet.styles?.map((s) => [s.name, s]) ?? []),
|
|
7
|
-
[abstractSheet.styles]
|
|
8
|
-
);
|
|
5
|
+
const styles = React.useMemo(() => Object.fromEntries(abstractSheet.styles?.map((s) => [s.name, s]) ?? []), [abstractSheet.styles]);
|
|
9
6
|
|
|
10
7
|
return (
|
|
11
8
|
<div className="abstract-sheet" style={{ display: "flex", flexDirection: "column", gap: "0.2rem" }}>
|
|
@@ -24,21 +21,13 @@ export function toReact({ abstractSheet }: { readonly abstractSheet: AbstractShe
|
|
|
24
21
|
gridTemplateRows: (s.direction === "col" ? colArray : s.cells)
|
|
25
22
|
.map((_, ri) => {
|
|
26
23
|
const info = s.rowInfo?.[ri];
|
|
27
|
-
return info?.hidden
|
|
28
|
-
? ""
|
|
29
|
-
: info?.heightPixels !== undefined
|
|
30
|
-
? `${info.heightPixels}px`
|
|
31
|
-
: "minmax(18px, max-content)";
|
|
24
|
+
return info?.hidden ? "" : info?.heightPixels !== undefined ? `${info.heightPixels}px` : "minmax(18px, max-content)";
|
|
32
25
|
})
|
|
33
26
|
.join(" "),
|
|
34
27
|
gridTemplateColumns: (s.direction === "col" ? s.cells : colArray)
|
|
35
28
|
.map((_, ci) => {
|
|
36
29
|
const co = s.colInfo?.[ci];
|
|
37
|
-
return co?.hidden
|
|
38
|
-
? ""
|
|
39
|
-
: co?.widthPixels !== undefined
|
|
40
|
-
? `${co.widthPixels}px`
|
|
41
|
-
: "minmax(64px, max-content)";
|
|
30
|
+
return co?.hidden ? "" : co?.widthPixels !== undefined ? `${co.widthPixels}px` : "minmax(64px, max-content)";
|
|
42
31
|
})
|
|
43
32
|
.join(" "),
|
|
44
33
|
}}
|
|
@@ -92,24 +81,16 @@ export function toReact({ abstractSheet }: { readonly abstractSheet: AbstractShe
|
|
|
92
81
|
: "center ",
|
|
93
82
|
borderTop: `${borderWidth(
|
|
94
83
|
s.borderStyle?.top ?? (s.borderColor?.top ? "medium" : undefined)
|
|
95
|
-
)} ${borderStyle(s.borderStyle?.top)} ${
|
|
96
|
-
s.borderColor?.top ?? s.foreground ?? "rgb(200,200,200)"
|
|
97
|
-
} `,
|
|
84
|
+
)} ${borderStyle(s.borderStyle?.top)} ${s.borderColor?.top ?? s.foreground ?? "rgb(200,200,200)"} `,
|
|
98
85
|
borderRight: `${borderWidth(
|
|
99
86
|
s.borderStyle?.right ?? (s.borderColor?.right ? "medium" : undefined)
|
|
100
|
-
)} ${borderStyle(s.borderStyle?.right)} ${
|
|
101
|
-
s.borderColor?.right ?? s.foreground ?? "rgb(200,200,200)"
|
|
102
|
-
} `,
|
|
87
|
+
)} ${borderStyle(s.borderStyle?.right)} ${s.borderColor?.right ?? s.foreground ?? "rgb(200,200,200)"} `,
|
|
103
88
|
borderBottom: `${borderWidth(
|
|
104
89
|
s.borderStyle?.bottom ?? (s.borderColor?.bottom ? "medium" : undefined)
|
|
105
|
-
)} ${borderStyle(s.borderStyle?.bottom)} ${
|
|
106
|
-
s.borderColor?.bottom ?? s.foreground ?? "rgb(200,200,200)"
|
|
107
|
-
} `,
|
|
90
|
+
)} ${borderStyle(s.borderStyle?.bottom)} ${s.borderColor?.bottom ?? s.foreground ?? "rgb(200,200,200)"} `,
|
|
108
91
|
borderLeft: `${borderWidth(
|
|
109
92
|
s.borderStyle?.left ?? (s.borderColor?.left ? "medium" : undefined)
|
|
110
|
-
)} ${borderStyle(s.borderStyle?.left)} ${
|
|
111
|
-
s.borderColor?.left ?? s.foreground ?? "rgb(200,200,200)"
|
|
112
|
-
} `,
|
|
93
|
+
)} ${borderStyle(s.borderStyle?.left)} ${s.borderColor?.left ?? s.foreground ?? "rgb(200,200,200)"} `,
|
|
113
94
|
}}
|
|
114
95
|
>
|
|
115
96
|
<div
|
|
@@ -122,7 +103,7 @@ export function toReact({ abstractSheet }: { readonly abstractSheet: AbstractShe
|
|
|
122
103
|
fontSize: `${s.size ?? 11}px`,
|
|
123
104
|
lineHeight: `${s.size ?? 11}px`,
|
|
124
105
|
height: `${s.size ?? 11}px`,
|
|
125
|
-
color: s.color
|
|
106
|
+
color: s.color ?? undefined,
|
|
126
107
|
transform: s.textRotation ? `rotate(${s.textRotation})` : undefined,
|
|
127
108
|
}}
|
|
128
109
|
>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import * as fflate from "fflate";
|
|
1
2
|
import XLSX from "xlsx-js-style";
|
|
2
3
|
import type { AbstractSheet } from "../abstract-sheet/abstract-sheet.js";
|
|
3
|
-
import { xlsxWorkSheet } from "./_xlsx-sheet.js";
|
|
4
4
|
import { createStyle } from "./_style.js";
|
|
5
|
-
import
|
|
5
|
+
import { xlsxWorkSheet } from "./_xlsx-sheet.js";
|
|
6
6
|
|
|
7
7
|
export function toXlsx(as: AbstractSheet): Uint8Array<ArrayBuffer> {
|
|
8
8
|
const sheets: Record<string, XLSX.WorkSheet> = {};
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
import type { XmlElement } from "handlebars-xml";
|
|
2
2
|
import { parseHandlebarsXml, parseXsd } from "handlebars-xml";
|
|
3
|
-
import type {
|
|
4
|
-
ColInfos,
|
|
5
|
-
Cells,
|
|
6
|
-
RowInfos,
|
|
7
|
-
Sheet,
|
|
8
|
-
Style,
|
|
9
|
-
Styles,
|
|
10
|
-
AbstractSheet,
|
|
11
|
-
} from "../abstract-sheet/abstract-sheet.js";
|
|
12
|
-
import { borderStyleRecord } from "../abstract-sheet/abstract-sheet.js";
|
|
13
3
|
import { xsd } from "../abstract-sheet/abstract-sheet-xsd.js";
|
|
4
|
+
import type { ColInfos, Cells, RowInfos, Sheet, Style, Styles, AbstractSheet } from "../abstract-sheet/abstract-sheet.js";
|
|
5
|
+
import { borderStyleRecord } from "../abstract-sheet/abstract-sheet.js";
|
|
14
6
|
|
|
15
|
-
export const abstractSheetXml = (template: string, data:
|
|
7
|
+
export const abstractSheetXml = (template: string, data: unknown, partials: Record<string, string>): AbstractSheet =>
|
|
16
8
|
abstractSheetXmlRecursive(parseHandlebarsXml(template, data, partials)[0]!) as AbstractSheet;
|
|
17
9
|
|
|
18
10
|
function abstractSheetXmlRecursive(el: XmlElement): unknown {
|
|
@@ -26,7 +18,7 @@ function abstractSheetXmlRecursive(el: XmlElement): unknown {
|
|
|
26
18
|
}
|
|
27
19
|
|
|
28
20
|
switch (el.tagName) {
|
|
29
|
-
case "AbstractSheet":
|
|
21
|
+
case "AbstractSheet": {
|
|
30
22
|
let styles: Styles | undefined = undefined;
|
|
31
23
|
const sheets: Array<Sheet> = [];
|
|
32
24
|
childElements.forEach((childEl, i) => {
|
|
@@ -37,6 +29,7 @@ function abstractSheetXmlRecursive(el: XmlElement): unknown {
|
|
|
37
29
|
}
|
|
38
30
|
});
|
|
39
31
|
return { styles, sheets } satisfies AbstractSheet;
|
|
32
|
+
}
|
|
40
33
|
case "Sheet": {
|
|
41
34
|
const cells: Array<Cells> = [];
|
|
42
35
|
let colInfo: ColInfos | undefined = undefined;
|