ooxml-core 0.21.2 → 0.22.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/README.md +3 -4
- package/dist/automation/index.cjs +86 -22
- package/dist/automation/index.mjs +86 -22
- package/dist/chart/index.cjs +242 -0
- package/dist/chart/index.d.ts +5 -0
- package/dist/chart/index.d.ts.map +1 -1
- package/dist/chart/index.mjs +227 -1
- package/dist/chart/pie-best-fit.d.ts +51 -0
- package/dist/chart/pie-best-fit.d.ts.map +1 -0
- package/dist/chart/pie-label-collision.d.ts +48 -0
- package/dist/chart/pie-label-collision.d.ts.map +1 -0
- package/dist/chart/radar-geometry.d.ts +19 -0
- package/dist/chart/radar-geometry.d.ts.map +1 -0
- package/dist/chart/treemap-squarify.d.ts +31 -0
- package/dist/chart/treemap-squarify.d.ts.map +1 -0
- package/dist/chart/trendline-equation.d.ts +39 -0
- package/dist/chart/trendline-equation.d.ts.map +1 -0
- package/dist/collab/index.cjs +6 -1
- package/dist/collab/index.mjs +6 -1
- package/dist/color/contrast.d.ts +18 -0
- package/dist/color/contrast.d.ts.map +1 -0
- package/dist/color/index.cjs +33 -0
- package/dist/color/index.d.ts +2 -0
- package/dist/color/index.d.ts.map +1 -1
- package/dist/color/index.mjs +31 -1
- package/dist/color/unit-rgb.d.ts +21 -0
- package/dist/color/unit-rgb.d.ts.map +1 -0
- package/dist/docx/embedded.cjs +1 -1
- package/dist/docx/embedded.mjs +1 -1
- package/dist/docx/index.cjs +1 -1
- package/dist/docx/index.mjs +1 -1
- package/dist/docx/load/index.cjs +1 -1
- package/dist/docx/load/index.mjs +1 -1
- package/dist/geometry/align-distribute.d.ts +145 -0
- package/dist/geometry/align-distribute.d.ts.map +1 -0
- package/dist/geometry/index.cjs +318 -0
- package/dist/geometry/index.d.ts +2 -0
- package/dist/geometry/index.d.ts.map +1 -1
- package/dist/geometry/index.mjs +307 -1
- package/dist/geometry/snap-guides.d.ts +125 -0
- package/dist/geometry/snap-guides.d.ts.map +1 -0
- package/dist/index.cjs +665 -0
- package/dist/index.mjs +665 -0
- package/dist/pptx/automation/index.cjs +24 -1
- package/dist/pptx/automation/index.d.ts +3 -3
- package/dist/pptx/automation/index.mjs +24 -1
- package/dist/pptx/chunks/{index-JaNVJ6Tf.d.ts → index-D2y7ehZ5.d.ts} +3 -3
- package/dist/pptx/chunks/{index-JaNVJ6Tf.d.ts.map → index-D2y7ehZ5.d.ts.map} +1 -1
- package/dist/pptx/chunks/{index-DHdHU9Qr.d.ts → index-ucqKcqvI.d.ts} +10 -2
- package/dist/pptx/chunks/{index-DHdHU9Qr.d.ts.map → index-ucqKcqvI.d.ts.map} +1 -1
- package/dist/pptx/chunks/{text-operations-DUEhSW5Z.d.ts → text-operations-CR3pUJi-.d.ts} +14 -2
- package/dist/pptx/chunks/text-operations-CR3pUJi-.d.ts.map +1 -0
- package/dist/pptx/cli/index.cjs +23 -0
- package/dist/pptx/cli/index.d.ts +1 -1
- package/dist/pptx/cli/index.mjs +23 -0
- package/dist/pptx/converter/index.d.ts +1 -1
- package/dist/pptx/index.cjs +33 -3
- package/dist/pptx/index.d.ts +3 -3
- package/dist/pptx/index.mjs +33 -3
- package/dist/teams/index.cjs +7 -2
- package/dist/teams/index.mjs +7 -2
- package/dist/text/decimal-tab.d.ts +24 -0
- package/dist/text/decimal-tab.d.ts.map +1 -0
- package/dist/text/index.cjs +72 -0
- package/dist/text/index.d.ts +2 -0
- package/dist/text/index.d.ts.map +1 -1
- package/dist/text/index.mjs +68 -1
- package/dist/text/tab-leader.d.ts +36 -0
- package/dist/text/tab-leader.d.ts.map +1 -0
- package/dist/xlsx/edit/charts.d.ts.map +1 -1
- package/dist/xlsx/edit/clipboard-html-parse.d.ts.map +1 -1
- package/dist/xlsx/edit/fill-series.d.ts.map +1 -1
- package/dist/xlsx/index.cjs +85 -21
- package/dist/xlsx/index.mjs +85 -21
- package/dist/xlsx/load/csv.d.ts.map +1 -1
- package/dist/xlsx/load/index.cjs +17 -8
- package/dist/xlsx/load/index.mjs +17 -8
- package/dist/xlsx/numfmt/input-date.d.ts.map +1 -1
- package/dist/xlsx/ui/grid/cell-paint.d.ts.map +1 -1
- package/dist/xlsx/ui/index.cjs +86 -25
- package/dist/xlsx/ui/index.mjs +86 -25
- package/dist/xlsx/ui/selection.d.ts.map +1 -1
- package/dist/xlsx/write/drawing.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/pptx/chunks/text-operations-DUEhSW5Z.d.ts.map +0 -1
package/dist/xlsx/load/index.mjs
CHANGED
|
@@ -6817,7 +6817,10 @@ function writeDrawing(writer, partName, objects, sourceDrawing) {
|
|
|
6817
6817
|
let nextId = Math.max(
|
|
6818
6818
|
1,
|
|
6819
6819
|
...kept.flatMap(
|
|
6820
|
-
(xml) => [...xml.matchAll(/cNvPr[^>]
|
|
6820
|
+
(xml) => [...xml.matchAll(/cNvPr([^>]*)/g)].flatMap((m) => {
|
|
6821
|
+
const id = /\sid="(\d+)"/.exec(m[1] ?? "");
|
|
6822
|
+
return id ? [Number(id[1])] : [];
|
|
6823
|
+
})
|
|
6821
6824
|
)
|
|
6822
6825
|
) + 1;
|
|
6823
6826
|
let body = "";
|
|
@@ -7800,7 +7803,8 @@ function parseDay(text) {
|
|
|
7800
7803
|
function parseDateTimeInput(text, date1904) {
|
|
7801
7804
|
const time = parseTime(text);
|
|
7802
7805
|
if (time) return { value: time.fraction, numFmt: time.format };
|
|
7803
|
-
const
|
|
7806
|
+
const tail = /(?:\s{1,8}|T)(\d{1,2}:\d{1,2}(?::\d{1,2})?(?:\s{0,8}(?:am|pm|a|p))?)$/i.exec(text);
|
|
7807
|
+
const split = tail && tail.index > 0 ? [tail[0], text.slice(0, tail.index), tail[1]] : null;
|
|
7804
7808
|
const dayText = split ? split[1] ?? "" : text;
|
|
7805
7809
|
const day = parseDay(dayText);
|
|
7806
7810
|
if (!day) return void 0;
|
|
@@ -7845,10 +7849,10 @@ function parseNumberInput(text) {
|
|
|
7845
7849
|
s = s.slice(lead[0].length);
|
|
7846
7850
|
if (!sign()) return void 0;
|
|
7847
7851
|
} else {
|
|
7848
|
-
const
|
|
7849
|
-
if (
|
|
7850
|
-
currency =
|
|
7851
|
-
s = s.slice(0, -
|
|
7852
|
+
const last = s.slice(-1);
|
|
7853
|
+
if (last === "\u20AC" || last === "\xA3") {
|
|
7854
|
+
currency = last;
|
|
7855
|
+
s = s.slice(0, -1).trimEnd();
|
|
7852
7856
|
}
|
|
7853
7857
|
}
|
|
7854
7858
|
let percent = false;
|
|
@@ -18668,8 +18672,13 @@ function parseCsv(input, options = {}) {
|
|
|
18668
18672
|
var INVALID_SHEET_CHARS = /[\\/?*[\]:]/g;
|
|
18669
18673
|
function sheetNameFromFileName(fileName) {
|
|
18670
18674
|
const base = (fileName ?? "").split(/[\\/]/).pop() ?? "";
|
|
18671
|
-
const
|
|
18672
|
-
const
|
|
18675
|
+
const dot = base.lastIndexOf(".");
|
|
18676
|
+
const stem = (dot < 0 ? base : base.slice(0, dot)).replace(INVALID_SHEET_CHARS, "_");
|
|
18677
|
+
let start = 0;
|
|
18678
|
+
let end = stem.length;
|
|
18679
|
+
while (start < end && stem[start] === "'") start++;
|
|
18680
|
+
while (end > start && stem[end - 1] === "'") end--;
|
|
18681
|
+
const trimmed = stem.slice(start, end).slice(0, 31).trim();
|
|
18673
18682
|
return trimmed && trimmed.toLowerCase() !== "history" ? trimmed : "Sheet1";
|
|
18674
18683
|
}
|
|
18675
18684
|
function csvToWorkbook(text, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-date.d.ts","sourceRoot":"","sources":["../../../xlsx/numfmt/input-date.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAiCD,wFAAwF;AACxF,wBAAgB,QAAQ,CACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,GACf,MAAM,GAAG,SAAS,CASpB;AAED,UAAU,SAAS;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CACf;AAID,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CA2B7D;AA0DD,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"input-date.d.ts","sourceRoot":"","sources":["../../../xlsx/numfmt/input-date.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAiCD,wFAAwF;AACxF,wBAAgB,QAAQ,CACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,GACf,MAAM,GAAG,SAAS,CASpB;AAED,UAAU,SAAS;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CACf;AAID,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CA2B7D;AA0DD,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAezF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-paint.d.ts","sourceRoot":"","sources":["../../../../xlsx/ui/grid/cell-paint.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"cell-paint.d.ts","sourceRoot":"","sources":["../../../../xlsx/ui/grid/cell-paint.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAY7F,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,2DAA2D;AAC3D,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,SAAM,GAAG,MAAM,CAG1D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAKrD;AAyBD,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWjF;AAED,MAAM,WAAW,SAAS;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAQ3E;AAED,eAAO,MAAM,OAAO,SAAU,QAAQ,GAAG,SAAS,KAAG,MAG/C,CAAC;AAEP,eAAO,MAAM,UAAU,MAAO,WAAW,KAAG,OACsC,CAAC;AAEnF,oDAAoD;AACpD,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAepF;AAED,2CAA2C;AAC3C,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIjD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAIvF;AAED,gEAAgE;AAChE,wBAAgB,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGxE"}
|
package/dist/xlsx/ui/index.cjs
CHANGED
|
@@ -1737,7 +1737,8 @@ function parseDay(text) {
|
|
|
1737
1737
|
function parseDateTimeInput(text, date1904) {
|
|
1738
1738
|
const time = parseTime(text);
|
|
1739
1739
|
if (time) return { value: time.fraction, numFmt: time.format };
|
|
1740
|
-
const
|
|
1740
|
+
const tail = /(?:\s{1,8}|T)(\d{1,2}:\d{1,2}(?::\d{1,2})?(?:\s{0,8}(?:am|pm|a|p))?)$/i.exec(text);
|
|
1741
|
+
const split = tail && tail.index > 0 ? [tail[0], text.slice(0, tail.index), tail[1]] : null;
|
|
1741
1742
|
const dayText = split ? split[1] ?? "" : text;
|
|
1742
1743
|
const day = parseDay(dayText);
|
|
1743
1744
|
if (!day) return void 0;
|
|
@@ -1782,10 +1783,10 @@ function parseNumberInput(text) {
|
|
|
1782
1783
|
s = s.slice(lead[0].length);
|
|
1783
1784
|
if (!sign2()) return void 0;
|
|
1784
1785
|
} else {
|
|
1785
|
-
const
|
|
1786
|
-
if (
|
|
1787
|
-
currency =
|
|
1788
|
-
s = s.slice(0, -
|
|
1786
|
+
const last = s.slice(-1);
|
|
1787
|
+
if (last === "\u20AC" || last === "\xA3") {
|
|
1788
|
+
currency = last;
|
|
1789
|
+
s = s.slice(0, -1).trimEnd();
|
|
1789
1790
|
}
|
|
1790
1791
|
}
|
|
1791
1792
|
let percent = false;
|
|
@@ -12879,7 +12880,7 @@ function shiftFormulaInBand(formula, formulaSheet, sheet, shift2, band) {
|
|
|
12879
12880
|
|
|
12880
12881
|
// xlsx/edit/context.ts
|
|
12881
12882
|
function sheetAt(workbook, index2) {
|
|
12882
|
-
const sheet = workbook.sheets[index2];
|
|
12883
|
+
const sheet = Number.isInteger(index2) ? workbook.sheets[index2] : void 0;
|
|
12883
12884
|
if (!sheet) throw new RangeError(`No sheet at index ${index2}`);
|
|
12884
12885
|
return sheet;
|
|
12885
12886
|
}
|
|
@@ -14024,7 +14025,9 @@ function decodeEntities(text) {
|
|
|
14024
14025
|
}
|
|
14025
14026
|
function parseAttributes(text) {
|
|
14026
14027
|
const attrs = /* @__PURE__ */ new Map();
|
|
14027
|
-
for (const m of text.matchAll(
|
|
14028
|
+
for (const m of text.matchAll(
|
|
14029
|
+
/([\w:-]{1,64})\s{0,16}=\s{0,16}(?:"([^"]*)"|'([^']*)'|([^\s>]+))/g
|
|
14030
|
+
))
|
|
14028
14031
|
attrs.set((m[1] ?? "").toLowerCase(), decodeEntities(m[2] ?? m[3] ?? m[4] ?? ""));
|
|
14029
14032
|
return attrs;
|
|
14030
14033
|
}
|
|
@@ -14079,9 +14082,56 @@ function stylePatchFromCss(css, inner2) {
|
|
|
14079
14082
|
if (numFmt) patch.numFmt = decodeNumberFormat(numFmt);
|
|
14080
14083
|
return patch;
|
|
14081
14084
|
}
|
|
14085
|
+
function removeComments(text) {
|
|
14086
|
+
let out = "";
|
|
14087
|
+
let from = 0;
|
|
14088
|
+
for (; ; ) {
|
|
14089
|
+
const open = text.indexOf("<!--", from);
|
|
14090
|
+
const close = open < 0 ? -1 : text.indexOf("-->", open + 4);
|
|
14091
|
+
if (close < 0) return out + text.slice(from);
|
|
14092
|
+
out += text.slice(from, open);
|
|
14093
|
+
from = close + 3;
|
|
14094
|
+
}
|
|
14095
|
+
}
|
|
14096
|
+
function removeTags(text) {
|
|
14097
|
+
let out = "";
|
|
14098
|
+
let i = 0;
|
|
14099
|
+
while (i < text.length) {
|
|
14100
|
+
const ch = text[i];
|
|
14101
|
+
if (ch === "<") {
|
|
14102
|
+
let j = i + 1;
|
|
14103
|
+
while (j < text.length && text[j] !== "<" && text[j] !== ">") j++;
|
|
14104
|
+
if (text[j] === ">") {
|
|
14105
|
+
i = j + 1;
|
|
14106
|
+
continue;
|
|
14107
|
+
}
|
|
14108
|
+
}
|
|
14109
|
+
out += ch;
|
|
14110
|
+
i++;
|
|
14111
|
+
}
|
|
14112
|
+
return out;
|
|
14113
|
+
}
|
|
14114
|
+
function stripTags(markup) {
|
|
14115
|
+
let previous;
|
|
14116
|
+
let text = markup;
|
|
14117
|
+
do {
|
|
14118
|
+
previous = text;
|
|
14119
|
+
text = removeTags(removeComments(text));
|
|
14120
|
+
} while (text !== previous);
|
|
14121
|
+
return removeAll(text, ["<!--", "-->"]);
|
|
14122
|
+
}
|
|
14123
|
+
function removeAll(text, tokens) {
|
|
14124
|
+
let current = text;
|
|
14125
|
+
let previous;
|
|
14126
|
+
do {
|
|
14127
|
+
previous = current;
|
|
14128
|
+
for (const token of tokens) current = current.split(token).join("");
|
|
14129
|
+
} while (current !== previous);
|
|
14130
|
+
return current;
|
|
14131
|
+
}
|
|
14082
14132
|
function cellText(inner2) {
|
|
14083
14133
|
return decodeEntities(
|
|
14084
|
-
inner2.replace(
|
|
14134
|
+
stripTags(inner2.replace(/<br\s*\/?>/gi, "\0")).replace(/\s+/g, " ").replace(/ ?\u0000 ?/g, "\n")
|
|
14085
14135
|
).replace(/ /g, " ").trim();
|
|
14086
14136
|
}
|
|
14087
14137
|
function parseHtmlTable(html, base) {
|
|
@@ -14089,7 +14139,9 @@ function parseHtmlTable(html, base) {
|
|
|
14089
14139
|
if (table2 === void 0) return void 0;
|
|
14090
14140
|
const classes = /* @__PURE__ */ new Map();
|
|
14091
14141
|
for (const block of html.matchAll(/<style\b[^>]*>([\s\S]*?)<\/style>/gi))
|
|
14092
|
-
for (const rule of (block[1] ?? ""
|
|
14142
|
+
for (const rule of removeAll(block[1] ?? "", ["<!--", "-->"]).matchAll(
|
|
14143
|
+
/\.([\w-]+)\s*\{([^}]*)\}/g
|
|
14144
|
+
))
|
|
14093
14145
|
classes.set(rule[1] ?? "", rule[2] ?? "");
|
|
14094
14146
|
const grid6 = [];
|
|
14095
14147
|
const taken = /* @__PURE__ */ new Set();
|
|
@@ -14259,7 +14311,15 @@ function linearTrend(values2) {
|
|
|
14259
14311
|
const slope = den ? num2 / den : 0;
|
|
14260
14312
|
return (k) => Number((meanY + slope * (k - meanX)).toPrecision(15));
|
|
14261
14313
|
}
|
|
14262
|
-
var
|
|
14314
|
+
var isDigit3 = (ch) => ch !== void 0 && ch >= "0" && ch <= "9";
|
|
14315
|
+
function matchTextNumber(text) {
|
|
14316
|
+
let end = text.length;
|
|
14317
|
+
while (end > 0 && !isDigit3(text[end - 1])) end--;
|
|
14318
|
+
if (end === 0) return null;
|
|
14319
|
+
let start = end;
|
|
14320
|
+
while (start > 0 && isDigit3(text[start - 1])) start--;
|
|
14321
|
+
return [text, text.slice(0, start), text.slice(start, end), text.slice(end)];
|
|
14322
|
+
}
|
|
14263
14323
|
var QUARTER = /^(q|qtr|quarter)(\s?)([1-4])$/i;
|
|
14264
14324
|
function textSeries(texts) {
|
|
14265
14325
|
const lists = texts.map(listMatch);
|
|
@@ -14281,7 +14341,7 @@ function textSeries(texts) {
|
|
|
14281
14341
|
const step = q1 ? mod(Number(q1[3]) - 1 - start, 4) || 1 : 1;
|
|
14282
14342
|
return (k) => ({ kind: "value", value: `${q0[1]}${q0[2]}${mod(start + step * k, 4) + 1}` });
|
|
14283
14343
|
}
|
|
14284
|
-
const parts = texts.map(
|
|
14344
|
+
const parts = texts.map(matchTextNumber);
|
|
14285
14345
|
const p0 = parts[0];
|
|
14286
14346
|
if (!p0 || !parts.every((p) => p && p[1] === p0[1] && p[3] === p0[3])) return void 0;
|
|
14287
14347
|
const numbers3 = parts.map((p) => Number(p?.[2]));
|
|
@@ -14878,7 +14938,7 @@ function setAutoFilter(ctx, s, range2) {
|
|
|
14878
14938
|
const old = sheet.autoFilter;
|
|
14879
14939
|
if (old) applyFilter(ctx, sheet, { range: old.range });
|
|
14880
14940
|
if (r) sheet.autoFilter = { range: r };
|
|
14881
|
-
else
|
|
14941
|
+
else Reflect.deleteProperty(sheet, "autoFilter");
|
|
14882
14942
|
},
|
|
14883
14943
|
{ sheet: s, structural: true }
|
|
14884
14944
|
);
|
|
@@ -15718,9 +15778,10 @@ function updateChart(ctx, s, index2, patch) {
|
|
|
15718
15778
|
() => {
|
|
15719
15779
|
const live = sheet.drawings[index2];
|
|
15720
15780
|
for (const [key, value2] of Object.entries(structuredClone(patch))) {
|
|
15721
|
-
if (key === "kind" || key === "partName") continue;
|
|
15722
|
-
if (
|
|
15723
|
-
|
|
15781
|
+
if (key === "kind" || key === "partName" || key === "__proto__") continue;
|
|
15782
|
+
if (key === "constructor" || key === "prototype") continue;
|
|
15783
|
+
if (value2 === void 0) Reflect.deleteProperty(live, key);
|
|
15784
|
+
else Reflect.set(live, key, value2);
|
|
15724
15785
|
}
|
|
15725
15786
|
},
|
|
15726
15787
|
{ sheet: s }
|
|
@@ -16229,7 +16290,7 @@ function setDefaultColumnWidth(ctx, s, width) {
|
|
|
16229
16290
|
"format",
|
|
16230
16291
|
[{ kind: "sheet", sheet: s }],
|
|
16231
16292
|
() => {
|
|
16232
|
-
if (width === void 0)
|
|
16293
|
+
if (width === void 0) Reflect.deleteProperty(sheet, "defaultColWidth");
|
|
16233
16294
|
else sheet.defaultColWidth = width;
|
|
16234
16295
|
},
|
|
16235
16296
|
{ sheet: s, structural: true }
|
|
@@ -16251,7 +16312,7 @@ function setPageSetup(ctx, s, patch) {
|
|
|
16251
16312
|
() => {
|
|
16252
16313
|
const next = compact2({ ...sheet.pageSetup, ...structuredClone(patch) });
|
|
16253
16314
|
if (Object.keys(next).length) sheet.pageSetup = next;
|
|
16254
|
-
else
|
|
16315
|
+
else Reflect.deleteProperty(sheet, "pageSetup");
|
|
16255
16316
|
},
|
|
16256
16317
|
{ sheet: s }
|
|
16257
16318
|
);
|
|
@@ -16267,7 +16328,7 @@ function setPrintOptions(ctx, s, patch) {
|
|
|
16267
16328
|
for (const key of Object.keys(next))
|
|
16268
16329
|
if (!next[key]) delete next[key];
|
|
16269
16330
|
if (Object.keys(next).length) sheet.printOptions = next;
|
|
16270
|
-
else
|
|
16331
|
+
else Reflect.deleteProperty(sheet, "printOptions");
|
|
16271
16332
|
sheet.preserved.delete("printOptions");
|
|
16272
16333
|
},
|
|
16273
16334
|
{ sheet: s }
|
|
@@ -16873,7 +16934,7 @@ function setSheetProtection(ctx, s, protection, password) {
|
|
|
16873
16934
|
[{ kind: "sheet", sheet: s }],
|
|
16874
16935
|
() => {
|
|
16875
16936
|
if (!protection) {
|
|
16876
|
-
|
|
16937
|
+
Reflect.deleteProperty(sheet, "protection");
|
|
16877
16938
|
return;
|
|
16878
16939
|
}
|
|
16879
16940
|
const next = structuredClone(protection);
|
|
@@ -17875,7 +17936,7 @@ function setTabColor(ctx, index2, color) {
|
|
|
17875
17936
|
[{ kind: "sheet", sheet: index2 }],
|
|
17876
17937
|
() => {
|
|
17877
17938
|
if (color) sheet.tabColor = { ...color };
|
|
17878
|
-
else
|
|
17939
|
+
else Reflect.deleteProperty(sheet, "tabColor");
|
|
17879
17940
|
},
|
|
17880
17941
|
{ sheet: index2 }
|
|
17881
17942
|
);
|
|
@@ -27023,12 +27084,12 @@ function diagonalSvg(b, w, h) {
|
|
|
27023
27084
|
if (!b.diagonalUp && !b.diagonalDown) return void 0;
|
|
27024
27085
|
const line2 = (edge, x1, y1, x2, y2) => {
|
|
27025
27086
|
const dash = edge.style === "dashed" ? ' stroke-dasharray="4 2"' : edge.style === "dotted" ? ' stroke-dasharray="1 2"' : "";
|
|
27026
|
-
return `<line x1="${x1}" y1="${y1}" x2="${x2}" y2="${y2}" stroke="${edge.color}" stroke-width="${edge.widthPx}"${dash}/>`;
|
|
27087
|
+
return `<line x1="${x1}" y1="${y1}" x2="${x2}" y2="${y2}" stroke="${edge.color.replace(/[^#\w(),.%\s-]/gu, "")}" stroke-width="${Number(edge.widthPx)}"${dash}/>`;
|
|
27027
27088
|
};
|
|
27028
27089
|
let body2 = "";
|
|
27029
27090
|
if (b.diagonalDown) body2 += line2(b.diagonalDown, 0, 0, w, h);
|
|
27030
27091
|
if (b.diagonalUp) body2 += line2(b.diagonalUp, 0, h, w, 0);
|
|
27031
|
-
return `<svg xmlns="http://www.w3.org/2000/svg" width="${w}" height="${h}" viewBox="0 0 ${w} ${h}">${body2}</svg>`;
|
|
27092
|
+
return `<svg xmlns="http://www.w3.org/2000/svg" width="${Number(w)}" height="${Number(h)}" viewBox="0 0 ${Number(w)} ${Number(h)}">${body2}</svg>`;
|
|
27032
27093
|
}
|
|
27033
27094
|
function justify(hAlign) {
|
|
27034
27095
|
if (hAlign === "right") return "flex-end";
|
|
@@ -27421,8 +27482,8 @@ var YELLOW = "#f2b600";
|
|
|
27421
27482
|
var GREEN = "#3f9b3f";
|
|
27422
27483
|
var GRAY = "#7f7f7f";
|
|
27423
27484
|
var BLACK2 = "#404040";
|
|
27424
|
-
var svg = (body2, size) => `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" viewBox="0 0 16 16" aria-hidden="true">${body2}</svg>`;
|
|
27425
|
-
var arrow = (color, deg) => `<g transform="rotate(${deg} 8 8)"><path d="M8 1.5 14 8h-3.5v6.5h-5V8H2z" fill="${color}"/></g>`;
|
|
27485
|
+
var svg = (body2, size) => `<svg xmlns="http://www.w3.org/2000/svg" width="${Number(size)}" height="${Number(size)}" viewBox="0 0 16 16" aria-hidden="true">${body2}</svg>`;
|
|
27486
|
+
var arrow = (color, deg) => `<g transform="rotate(${Number(deg)} 8 8)"><path d="M8 1.5 14 8h-3.5v6.5h-5V8H2z" fill="${color}"/></g>`;
|
|
27426
27487
|
var circle = (color, rim = false) => `<circle cx="8" cy="8" r="${rim ? 5.5 : 6.5}" fill="${color}"${rim ? ' stroke="#333" stroke-width="2.4"' : ""}/>`;
|
|
27427
27488
|
var flag = (color) => `<path d="M3 1.5h1.3v13H3z" fill="#555"/><path d="M4.3 2h9l-2.6 3.5 2.6 3.5h-9z" fill="${color}"/>`;
|
|
27428
27489
|
var symbol = (kind, color, circled) => {
|
|
@@ -27585,7 +27646,7 @@ var SheetSelections = class {
|
|
|
27585
27646
|
};
|
|
27586
27647
|
var isWholeRows2 = (range2) => range2.start.col === 0 && range2.end.col === MAX_COL;
|
|
27587
27648
|
var isWholeCols = (range2) => range2.start.row === 0 && range2.end.row === MAX_ROW;
|
|
27588
|
-
var columnPart = (address2) => formatAddress(address2).replace(/\d
|
|
27649
|
+
var columnPart = (address2) => formatAddress(address2).replace(/\d{1,10}$/u, "");
|
|
27589
27650
|
function rangeRef(range2) {
|
|
27590
27651
|
if (isWholeRows2(range2) && isWholeCols(range2)) return `1:${MAX_ROW + 1}`;
|
|
27591
27652
|
if (isWholeRows2(range2)) return `${range2.start.row + 1}:${range2.end.row + 1}`;
|
package/dist/xlsx/ui/index.mjs
CHANGED
|
@@ -1735,7 +1735,8 @@ function parseDay(text) {
|
|
|
1735
1735
|
function parseDateTimeInput(text, date1904) {
|
|
1736
1736
|
const time = parseTime(text);
|
|
1737
1737
|
if (time) return { value: time.fraction, numFmt: time.format };
|
|
1738
|
-
const
|
|
1738
|
+
const tail = /(?:\s{1,8}|T)(\d{1,2}:\d{1,2}(?::\d{1,2})?(?:\s{0,8}(?:am|pm|a|p))?)$/i.exec(text);
|
|
1739
|
+
const split = tail && tail.index > 0 ? [tail[0], text.slice(0, tail.index), tail[1]] : null;
|
|
1739
1740
|
const dayText = split ? split[1] ?? "" : text;
|
|
1740
1741
|
const day = parseDay(dayText);
|
|
1741
1742
|
if (!day) return void 0;
|
|
@@ -1780,10 +1781,10 @@ function parseNumberInput(text) {
|
|
|
1780
1781
|
s = s.slice(lead[0].length);
|
|
1781
1782
|
if (!sign2()) return void 0;
|
|
1782
1783
|
} else {
|
|
1783
|
-
const
|
|
1784
|
-
if (
|
|
1785
|
-
currency =
|
|
1786
|
-
s = s.slice(0, -
|
|
1784
|
+
const last = s.slice(-1);
|
|
1785
|
+
if (last === "\u20AC" || last === "\xA3") {
|
|
1786
|
+
currency = last;
|
|
1787
|
+
s = s.slice(0, -1).trimEnd();
|
|
1787
1788
|
}
|
|
1788
1789
|
}
|
|
1789
1790
|
let percent = false;
|
|
@@ -12877,7 +12878,7 @@ function shiftFormulaInBand(formula, formulaSheet, sheet, shift2, band) {
|
|
|
12877
12878
|
|
|
12878
12879
|
// xlsx/edit/context.ts
|
|
12879
12880
|
function sheetAt(workbook, index2) {
|
|
12880
|
-
const sheet = workbook.sheets[index2];
|
|
12881
|
+
const sheet = Number.isInteger(index2) ? workbook.sheets[index2] : void 0;
|
|
12881
12882
|
if (!sheet) throw new RangeError(`No sheet at index ${index2}`);
|
|
12882
12883
|
return sheet;
|
|
12883
12884
|
}
|
|
@@ -14022,7 +14023,9 @@ function decodeEntities(text) {
|
|
|
14022
14023
|
}
|
|
14023
14024
|
function parseAttributes(text) {
|
|
14024
14025
|
const attrs = /* @__PURE__ */ new Map();
|
|
14025
|
-
for (const m of text.matchAll(
|
|
14026
|
+
for (const m of text.matchAll(
|
|
14027
|
+
/([\w:-]{1,64})\s{0,16}=\s{0,16}(?:"([^"]*)"|'([^']*)'|([^\s>]+))/g
|
|
14028
|
+
))
|
|
14026
14029
|
attrs.set((m[1] ?? "").toLowerCase(), decodeEntities(m[2] ?? m[3] ?? m[4] ?? ""));
|
|
14027
14030
|
return attrs;
|
|
14028
14031
|
}
|
|
@@ -14077,9 +14080,56 @@ function stylePatchFromCss(css, inner2) {
|
|
|
14077
14080
|
if (numFmt) patch.numFmt = decodeNumberFormat(numFmt);
|
|
14078
14081
|
return patch;
|
|
14079
14082
|
}
|
|
14083
|
+
function removeComments(text) {
|
|
14084
|
+
let out = "";
|
|
14085
|
+
let from = 0;
|
|
14086
|
+
for (; ; ) {
|
|
14087
|
+
const open = text.indexOf("<!--", from);
|
|
14088
|
+
const close = open < 0 ? -1 : text.indexOf("-->", open + 4);
|
|
14089
|
+
if (close < 0) return out + text.slice(from);
|
|
14090
|
+
out += text.slice(from, open);
|
|
14091
|
+
from = close + 3;
|
|
14092
|
+
}
|
|
14093
|
+
}
|
|
14094
|
+
function removeTags(text) {
|
|
14095
|
+
let out = "";
|
|
14096
|
+
let i = 0;
|
|
14097
|
+
while (i < text.length) {
|
|
14098
|
+
const ch = text[i];
|
|
14099
|
+
if (ch === "<") {
|
|
14100
|
+
let j = i + 1;
|
|
14101
|
+
while (j < text.length && text[j] !== "<" && text[j] !== ">") j++;
|
|
14102
|
+
if (text[j] === ">") {
|
|
14103
|
+
i = j + 1;
|
|
14104
|
+
continue;
|
|
14105
|
+
}
|
|
14106
|
+
}
|
|
14107
|
+
out += ch;
|
|
14108
|
+
i++;
|
|
14109
|
+
}
|
|
14110
|
+
return out;
|
|
14111
|
+
}
|
|
14112
|
+
function stripTags(markup) {
|
|
14113
|
+
let previous;
|
|
14114
|
+
let text = markup;
|
|
14115
|
+
do {
|
|
14116
|
+
previous = text;
|
|
14117
|
+
text = removeTags(removeComments(text));
|
|
14118
|
+
} while (text !== previous);
|
|
14119
|
+
return removeAll(text, ["<!--", "-->"]);
|
|
14120
|
+
}
|
|
14121
|
+
function removeAll(text, tokens) {
|
|
14122
|
+
let current = text;
|
|
14123
|
+
let previous;
|
|
14124
|
+
do {
|
|
14125
|
+
previous = current;
|
|
14126
|
+
for (const token of tokens) current = current.split(token).join("");
|
|
14127
|
+
} while (current !== previous);
|
|
14128
|
+
return current;
|
|
14129
|
+
}
|
|
14080
14130
|
function cellText(inner2) {
|
|
14081
14131
|
return decodeEntities(
|
|
14082
|
-
inner2.replace(
|
|
14132
|
+
stripTags(inner2.replace(/<br\s*\/?>/gi, "\0")).replace(/\s+/g, " ").replace(/ ?\u0000 ?/g, "\n")
|
|
14083
14133
|
).replace(/ /g, " ").trim();
|
|
14084
14134
|
}
|
|
14085
14135
|
function parseHtmlTable(html, base) {
|
|
@@ -14087,7 +14137,9 @@ function parseHtmlTable(html, base) {
|
|
|
14087
14137
|
if (table2 === void 0) return void 0;
|
|
14088
14138
|
const classes = /* @__PURE__ */ new Map();
|
|
14089
14139
|
for (const block of html.matchAll(/<style\b[^>]*>([\s\S]*?)<\/style>/gi))
|
|
14090
|
-
for (const rule of (block[1] ?? ""
|
|
14140
|
+
for (const rule of removeAll(block[1] ?? "", ["<!--", "-->"]).matchAll(
|
|
14141
|
+
/\.([\w-]+)\s*\{([^}]*)\}/g
|
|
14142
|
+
))
|
|
14091
14143
|
classes.set(rule[1] ?? "", rule[2] ?? "");
|
|
14092
14144
|
const grid6 = [];
|
|
14093
14145
|
const taken = /* @__PURE__ */ new Set();
|
|
@@ -14257,7 +14309,15 @@ function linearTrend(values2) {
|
|
|
14257
14309
|
const slope = den ? num2 / den : 0;
|
|
14258
14310
|
return (k) => Number((meanY + slope * (k - meanX)).toPrecision(15));
|
|
14259
14311
|
}
|
|
14260
|
-
var
|
|
14312
|
+
var isDigit3 = (ch) => ch !== void 0 && ch >= "0" && ch <= "9";
|
|
14313
|
+
function matchTextNumber(text) {
|
|
14314
|
+
let end = text.length;
|
|
14315
|
+
while (end > 0 && !isDigit3(text[end - 1])) end--;
|
|
14316
|
+
if (end === 0) return null;
|
|
14317
|
+
let start = end;
|
|
14318
|
+
while (start > 0 && isDigit3(text[start - 1])) start--;
|
|
14319
|
+
return [text, text.slice(0, start), text.slice(start, end), text.slice(end)];
|
|
14320
|
+
}
|
|
14261
14321
|
var QUARTER = /^(q|qtr|quarter)(\s?)([1-4])$/i;
|
|
14262
14322
|
function textSeries(texts) {
|
|
14263
14323
|
const lists = texts.map(listMatch);
|
|
@@ -14279,7 +14339,7 @@ function textSeries(texts) {
|
|
|
14279
14339
|
const step = q1 ? mod(Number(q1[3]) - 1 - start, 4) || 1 : 1;
|
|
14280
14340
|
return (k) => ({ kind: "value", value: `${q0[1]}${q0[2]}${mod(start + step * k, 4) + 1}` });
|
|
14281
14341
|
}
|
|
14282
|
-
const parts = texts.map(
|
|
14342
|
+
const parts = texts.map(matchTextNumber);
|
|
14283
14343
|
const p0 = parts[0];
|
|
14284
14344
|
if (!p0 || !parts.every((p) => p && p[1] === p0[1] && p[3] === p0[3])) return void 0;
|
|
14285
14345
|
const numbers3 = parts.map((p) => Number(p?.[2]));
|
|
@@ -14876,7 +14936,7 @@ function setAutoFilter(ctx, s, range2) {
|
|
|
14876
14936
|
const old = sheet.autoFilter;
|
|
14877
14937
|
if (old) applyFilter(ctx, sheet, { range: old.range });
|
|
14878
14938
|
if (r) sheet.autoFilter = { range: r };
|
|
14879
|
-
else
|
|
14939
|
+
else Reflect.deleteProperty(sheet, "autoFilter");
|
|
14880
14940
|
},
|
|
14881
14941
|
{ sheet: s, structural: true }
|
|
14882
14942
|
);
|
|
@@ -15716,9 +15776,10 @@ function updateChart(ctx, s, index2, patch) {
|
|
|
15716
15776
|
() => {
|
|
15717
15777
|
const live = sheet.drawings[index2];
|
|
15718
15778
|
for (const [key, value2] of Object.entries(structuredClone(patch))) {
|
|
15719
|
-
if (key === "kind" || key === "partName") continue;
|
|
15720
|
-
if (
|
|
15721
|
-
|
|
15779
|
+
if (key === "kind" || key === "partName" || key === "__proto__") continue;
|
|
15780
|
+
if (key === "constructor" || key === "prototype") continue;
|
|
15781
|
+
if (value2 === void 0) Reflect.deleteProperty(live, key);
|
|
15782
|
+
else Reflect.set(live, key, value2);
|
|
15722
15783
|
}
|
|
15723
15784
|
},
|
|
15724
15785
|
{ sheet: s }
|
|
@@ -16227,7 +16288,7 @@ function setDefaultColumnWidth(ctx, s, width) {
|
|
|
16227
16288
|
"format",
|
|
16228
16289
|
[{ kind: "sheet", sheet: s }],
|
|
16229
16290
|
() => {
|
|
16230
|
-
if (width === void 0)
|
|
16291
|
+
if (width === void 0) Reflect.deleteProperty(sheet, "defaultColWidth");
|
|
16231
16292
|
else sheet.defaultColWidth = width;
|
|
16232
16293
|
},
|
|
16233
16294
|
{ sheet: s, structural: true }
|
|
@@ -16249,7 +16310,7 @@ function setPageSetup(ctx, s, patch) {
|
|
|
16249
16310
|
() => {
|
|
16250
16311
|
const next = compact2({ ...sheet.pageSetup, ...structuredClone(patch) });
|
|
16251
16312
|
if (Object.keys(next).length) sheet.pageSetup = next;
|
|
16252
|
-
else
|
|
16313
|
+
else Reflect.deleteProperty(sheet, "pageSetup");
|
|
16253
16314
|
},
|
|
16254
16315
|
{ sheet: s }
|
|
16255
16316
|
);
|
|
@@ -16265,7 +16326,7 @@ function setPrintOptions(ctx, s, patch) {
|
|
|
16265
16326
|
for (const key of Object.keys(next))
|
|
16266
16327
|
if (!next[key]) delete next[key];
|
|
16267
16328
|
if (Object.keys(next).length) sheet.printOptions = next;
|
|
16268
|
-
else
|
|
16329
|
+
else Reflect.deleteProperty(sheet, "printOptions");
|
|
16269
16330
|
sheet.preserved.delete("printOptions");
|
|
16270
16331
|
},
|
|
16271
16332
|
{ sheet: s }
|
|
@@ -16871,7 +16932,7 @@ function setSheetProtection(ctx, s, protection, password) {
|
|
|
16871
16932
|
[{ kind: "sheet", sheet: s }],
|
|
16872
16933
|
() => {
|
|
16873
16934
|
if (!protection) {
|
|
16874
|
-
|
|
16935
|
+
Reflect.deleteProperty(sheet, "protection");
|
|
16875
16936
|
return;
|
|
16876
16937
|
}
|
|
16877
16938
|
const next = structuredClone(protection);
|
|
@@ -17873,7 +17934,7 @@ function setTabColor(ctx, index2, color) {
|
|
|
17873
17934
|
[{ kind: "sheet", sheet: index2 }],
|
|
17874
17935
|
() => {
|
|
17875
17936
|
if (color) sheet.tabColor = { ...color };
|
|
17876
|
-
else
|
|
17937
|
+
else Reflect.deleteProperty(sheet, "tabColor");
|
|
17877
17938
|
},
|
|
17878
17939
|
{ sheet: index2 }
|
|
17879
17940
|
);
|
|
@@ -27021,12 +27082,12 @@ function diagonalSvg(b, w, h) {
|
|
|
27021
27082
|
if (!b.diagonalUp && !b.diagonalDown) return void 0;
|
|
27022
27083
|
const line2 = (edge, x1, y1, x2, y2) => {
|
|
27023
27084
|
const dash = edge.style === "dashed" ? ' stroke-dasharray="4 2"' : edge.style === "dotted" ? ' stroke-dasharray="1 2"' : "";
|
|
27024
|
-
return `<line x1="${x1}" y1="${y1}" x2="${x2}" y2="${y2}" stroke="${edge.color}" stroke-width="${edge.widthPx}"${dash}/>`;
|
|
27085
|
+
return `<line x1="${x1}" y1="${y1}" x2="${x2}" y2="${y2}" stroke="${edge.color.replace(/[^#\w(),.%\s-]/gu, "")}" stroke-width="${Number(edge.widthPx)}"${dash}/>`;
|
|
27025
27086
|
};
|
|
27026
27087
|
let body2 = "";
|
|
27027
27088
|
if (b.diagonalDown) body2 += line2(b.diagonalDown, 0, 0, w, h);
|
|
27028
27089
|
if (b.diagonalUp) body2 += line2(b.diagonalUp, 0, h, w, 0);
|
|
27029
|
-
return `<svg xmlns="http://www.w3.org/2000/svg" width="${w}" height="${h}" viewBox="0 0 ${w} ${h}">${body2}</svg>`;
|
|
27090
|
+
return `<svg xmlns="http://www.w3.org/2000/svg" width="${Number(w)}" height="${Number(h)}" viewBox="0 0 ${Number(w)} ${Number(h)}">${body2}</svg>`;
|
|
27030
27091
|
}
|
|
27031
27092
|
function justify(hAlign) {
|
|
27032
27093
|
if (hAlign === "right") return "flex-end";
|
|
@@ -27419,8 +27480,8 @@ var YELLOW = "#f2b600";
|
|
|
27419
27480
|
var GREEN = "#3f9b3f";
|
|
27420
27481
|
var GRAY = "#7f7f7f";
|
|
27421
27482
|
var BLACK2 = "#404040";
|
|
27422
|
-
var svg = (body2, size) => `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" viewBox="0 0 16 16" aria-hidden="true">${body2}</svg>`;
|
|
27423
|
-
var arrow = (color, deg) => `<g transform="rotate(${deg} 8 8)"><path d="M8 1.5 14 8h-3.5v6.5h-5V8H2z" fill="${color}"/></g>`;
|
|
27483
|
+
var svg = (body2, size) => `<svg xmlns="http://www.w3.org/2000/svg" width="${Number(size)}" height="${Number(size)}" viewBox="0 0 16 16" aria-hidden="true">${body2}</svg>`;
|
|
27484
|
+
var arrow = (color, deg) => `<g transform="rotate(${Number(deg)} 8 8)"><path d="M8 1.5 14 8h-3.5v6.5h-5V8H2z" fill="${color}"/></g>`;
|
|
27424
27485
|
var circle = (color, rim = false) => `<circle cx="8" cy="8" r="${rim ? 5.5 : 6.5}" fill="${color}"${rim ? ' stroke="#333" stroke-width="2.4"' : ""}/>`;
|
|
27425
27486
|
var flag = (color) => `<path d="M3 1.5h1.3v13H3z" fill="#555"/><path d="M4.3 2h9l-2.6 3.5 2.6 3.5h-9z" fill="${color}"/>`;
|
|
27426
27487
|
var symbol = (kind, color, circled) => {
|
|
@@ -27583,7 +27644,7 @@ var SheetSelections = class {
|
|
|
27583
27644
|
};
|
|
27584
27645
|
var isWholeRows2 = (range2) => range2.start.col === 0 && range2.end.col === MAX_COL;
|
|
27585
27646
|
var isWholeCols = (range2) => range2.start.row === 0 && range2.end.row === MAX_ROW;
|
|
27586
|
-
var columnPart = (address2) => formatAddress(address2).replace(/\d
|
|
27647
|
+
var columnPart = (address2) => formatAddress(address2).replace(/\d{1,10}$/u, "");
|
|
27587
27648
|
function rangeRef(range2) {
|
|
27588
27649
|
if (isWholeRows2(range2) && isWholeCols(range2)) return `1:${MAX_ROW + 1}`;
|
|
27589
27650
|
if (isWholeRows2(range2)) return `${range2.start.row + 1}:${range2.end.row + 1}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../xlsx/ui/selection.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,OAAO,EAQN,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAK9D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAK9E;AAID,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,SAA+B,GAAG,cAAc,CA+B7F;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAE7D,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAEjE;IAED,oFAAoF;IACpF,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAMhE;CACD;AAED,eAAO,MAAM,WAAW,UAAW,SAAS,KAAG,OACI,CAAC;AACpD,eAAO,MAAM,WAAW,UAAW,SAAS,KAAG,OACI,CAAC;
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../xlsx/ui/selection.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,OAAO,EAQN,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAK9D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAK9E;AAID,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,SAA+B,GAAG,cAAc,CA+B7F;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAE7D,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAEjE;IAED,oFAAoF;IACpF,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAMhE;CACD;AAED,eAAO,MAAM,WAAW,UAAW,SAAS,KAAG,OACI,CAAC;AACpD,eAAO,MAAM,WAAW,UAAW,SAAS,KAAG,OACI,CAAC;AAIpD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAKjD;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAEzD;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,QAAQ,GACjB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,SAAS,CAuBrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawing.d.ts","sourceRoot":"","sources":["../../../xlsx/write/drawing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA8B,aAAa,EAAe,MAAM,aAAa,CAAC;AAI1F,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG1E,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMvE;AAsFD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,YAAa,SAAS,aAAa,EAAE,KAAG,OAAO,EAK3E,CAAC;AAEH;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,aAAa,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"drawing.d.ts","sourceRoot":"","sources":["../../../xlsx/write/drawing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA8B,aAAa,EAAe,MAAM,aAAa,CAAC;AAI1F,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG1E,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMvE;AAsFD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,YAAa,SAAS,aAAa,EAAE,KAAG,OAAO,EAK3E,CAAC;AAEH;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,aAAa,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CA2ET"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ooxml-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.1",
|
|
4
4
|
"description": "Shared OOXML logic for the Word, PowerPoint and Excel viewers: everything except the UI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"charts",
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
},
|
|
222
222
|
"dependencies": {
|
|
223
223
|
"@xmldom/xmldom": "^0.9.12",
|
|
224
|
-
"emf-converter": "^4.8.
|
|
224
|
+
"emf-converter": "^4.8.21",
|
|
225
225
|
"fast-xml-parser": "^5.11.2",
|
|
226
226
|
"jszip": "^3.10.2",
|
|
227
227
|
"lib0": "^0.2.119",
|