ooxml-core 1.16.0 → 1.17.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/dist/{PptxHandler-M35YFCUC.mjs → PptxHandler-K7GMS2ST.mjs} +2 -2
- package/dist/PptxHandler-L3JPWOBN.mjs +4 -0
- package/dist/{PptxHandler-3A7VEXVK.cjs → PptxHandler-U6EFO73T.cjs} +3 -3
- package/dist/{PresentationBuilder-XVRTITYR.cjs → PresentationBuilder-LUR6LGHU.cjs} +5 -5
- package/dist/{PresentationBuilder-Y6DJK6H2.mjs → PresentationBuilder-OK526SZ4.mjs} +2 -2
- package/dist/{PresentationBuilder-C7NPM7OQ.mjs → PresentationBuilder-XC3F3OPY.mjs} +2 -2
- package/dist/automation/index.cjs +45 -12
- package/dist/automation/index.mjs +45 -12
- package/dist/chart/index.cjs +23 -4
- package/dist/chart/index.mjs +23 -4
- package/dist/{chunk-B37EVUMG.mjs → chunk-A7S2NYAU.mjs} +1 -1
- package/dist/{chunk-LM6VBPQJ.mjs → chunk-HLZIALC5.mjs} +24 -5
- package/dist/{chunk-WBCV52YV.mjs → chunk-IM5LFEA2.mjs} +1 -1
- package/dist/{chunk-OKGQ2X7D.mjs → chunk-KU3SMBFU.mjs} +1 -1
- package/dist/{chunk-UGWY72WC.cjs → chunk-NYTR4UZ5.cjs} +23 -4
- package/dist/{chunk-KOX5Y5E5.mjs → chunk-UFGJNXRG.mjs} +1 -1
- package/dist/{chunk-AHRFBMLK.cjs → chunk-UWWS6VVJ.cjs} +1007 -1007
- package/dist/{chunk-WEFFRYXN.mjs → chunk-XTSHZGSM.mjs} +23 -4
- package/dist/{chunk-C2Y6SZDN.mjs → chunk-YS43OMM3.mjs} +4 -4
- package/dist/collab/broadcast-transport.d.ts.map +1 -1
- package/dist/collab/identity.d.ts +2 -0
- package/dist/collab/identity.d.ts.map +1 -1
- package/dist/collab/index.cjs +11 -2
- package/dist/collab/index.mjs +11 -3
- package/dist/crypto/index.cjs +23 -4
- package/dist/crypto/index.mjs +23 -4
- package/dist/diagram/index.cjs +23 -4
- package/dist/diagram/index.mjs +23 -4
- package/dist/docx/embedded.cjs +23 -4
- package/dist/docx/embedded.mjs +23 -4
- package/dist/docx/index.cjs +24 -5
- package/dist/docx/index.mjs +24 -5
- package/dist/docx/layout/index.cjs +24 -5
- package/dist/docx/layout/index.mjs +24 -5
- package/dist/docx/load/index.cjs +23 -4
- package/dist/docx/load/index.mjs +23 -4
- package/dist/docx/ui/index.cjs +32 -5
- package/dist/docx/ui/index.mjs +32 -5
- package/dist/drawingml/index.cjs +23 -4
- package/dist/drawingml/index.mjs +23 -4
- package/dist/index.cjs +23 -4
- package/dist/index.mjs +23 -4
- package/dist/math/index.cjs +23 -4
- package/dist/math/index.mjs +23 -4
- package/dist/opc/index.cjs +23 -4
- package/dist/opc/index.mjs +23 -4
- package/dist/pptx/automation/index.cjs +28 -9
- package/dist/pptx/automation/index.mjs +5 -5
- package/dist/pptx/cli/index.cjs +28 -9
- package/dist/pptx/cli/index.mjs +4 -4
- package/dist/pptx/converter/index.mjs +2 -2
- package/dist/pptx/editor/render/find-replace.cjs +14 -14
- package/dist/pptx/editor/render/find-replace.mjs +1 -1
- package/dist/pptx/editor/render/slide-operations.cjs +8 -8
- package/dist/pptx/editor/render/slide-operations.mjs +2 -2
- package/dist/pptx/index.cjs +28 -9
- package/dist/pptx/index.mjs +5 -5
- package/dist/teams/index.cjs +44 -9
- package/dist/teams/index.mjs +44 -9
- package/dist/visio/index.cjs +23 -4
- package/dist/visio/index.mjs +23 -4
- package/dist/visio/ui/document-history.d.ts +6 -1
- package/dist/visio/ui/document-history.d.ts.map +1 -1
- package/dist/visio/ui/index.cjs +49 -6
- package/dist/visio/ui/index.mjs +49 -7
- package/dist/xlsx/edit/context.d.ts.map +1 -1
- package/dist/xlsx/edit/slicers.d.ts.map +1 -1
- package/dist/xlsx/edit/timelines.d.ts.map +1 -1
- package/dist/xlsx/index.cjs +45 -12
- package/dist/xlsx/index.mjs +45 -12
- package/dist/xlsx/load/index.cjs +32 -5
- package/dist/xlsx/load/index.mjs +32 -5
- package/dist/xlsx/ui/dialogs/grid-chart.d.ts +25 -0
- package/dist/xlsx/ui/dialogs/grid-chart.d.ts.map +1 -0
- package/dist/xlsx/ui/index.cjs +4721 -1063
- package/dist/xlsx/ui/index.d.ts +1 -0
- package/dist/xlsx/ui/index.d.ts.map +1 -1
- package/dist/xlsx/ui/index.mjs +4714 -1063
- package/dist/xml/index.cjs +23 -4
- package/dist/xml/index.mjs +23 -4
- package/dist/xml/xml.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/PptxHandler-7POULDRL.mjs +0 -4
package/dist/xlsx/index.mjs
CHANGED
|
@@ -11730,15 +11730,34 @@ var DEFAULT_XML_LIMITS = {
|
|
|
11730
11730
|
maxDepth: 512,
|
|
11731
11731
|
maxNodes: 5e6
|
|
11732
11732
|
};
|
|
11733
|
-
var
|
|
11733
|
+
var TAG_RE = /<(\/?)([^\s\/><]+)(?:\s+[^\s=\/><]+\s*=\s*(?:"[^"<]*"|'[^'<]*'))*\s*(\/?)>/y;
|
|
11734
|
+
var MARKUP_SKIPS = [
|
|
11735
|
+
["<!--", "-->"],
|
|
11736
|
+
["<![CDATA[", "]]>"],
|
|
11737
|
+
["<?", "?>"]
|
|
11738
|
+
];
|
|
11734
11739
|
function checkXmlLimits(xml, label2, limits = {}) {
|
|
11735
11740
|
const maxDepth = limits.maxDepth ?? DEFAULT_XML_LIMITS.maxDepth;
|
|
11736
11741
|
const maxNodes = limits.maxNodes ?? DEFAULT_XML_LIMITS.maxNodes;
|
|
11737
11742
|
let depth = 0;
|
|
11738
11743
|
let nodes = 0;
|
|
11739
|
-
|
|
11740
|
-
|
|
11741
|
-
|
|
11744
|
+
let at = xml.indexOf("<");
|
|
11745
|
+
while (at !== -1) {
|
|
11746
|
+
const skip = MARKUP_SKIPS.find(([open]) => xml.startsWith(open, at));
|
|
11747
|
+
if (skip) {
|
|
11748
|
+
const end = xml.indexOf(skip[1], at + skip[0].length);
|
|
11749
|
+
if (end === -1) return;
|
|
11750
|
+
at = xml.indexOf("<", end + skip[1].length);
|
|
11751
|
+
continue;
|
|
11752
|
+
}
|
|
11753
|
+
TAG_RE.lastIndex = at;
|
|
11754
|
+
const match2 = TAG_RE.exec(xml);
|
|
11755
|
+
if (!match2) {
|
|
11756
|
+
at = xml.indexOf("<", at + 1);
|
|
11757
|
+
continue;
|
|
11758
|
+
}
|
|
11759
|
+
const [, closing, , selfClosing] = match2;
|
|
11760
|
+
at = xml.indexOf("<", at + match2[0].length);
|
|
11742
11761
|
if (closing) {
|
|
11743
11762
|
depth--;
|
|
11744
11763
|
continue;
|
|
@@ -29511,9 +29530,17 @@ function pivotTableXml(source2, cacheId, cache3) {
|
|
|
29511
29530
|
}
|
|
29512
29531
|
return XML_HEADER + buildXml(root);
|
|
29513
29532
|
}
|
|
29533
|
+
function firstFilterTag(xml) {
|
|
29534
|
+
for (let at = xml.indexOf("<filter"); at !== -1; at = xml.indexOf("<filter", at + 1)) {
|
|
29535
|
+
if (!/\s/.test(xml.charAt(at + 7))) continue;
|
|
29536
|
+
const end = xml.indexOf(">", at);
|
|
29537
|
+
return end === -1 ? "" : xml.slice(at, end + 1);
|
|
29538
|
+
}
|
|
29539
|
+
return "";
|
|
29540
|
+
}
|
|
29514
29541
|
function dateFilterXml(pivot, filter2) {
|
|
29515
29542
|
const x15 = "http://schemas.microsoft.com/office/spreadsheetml/2010/11/main";
|
|
29516
|
-
const id = Number(
|
|
29543
|
+
const id = Number(/\bid="(\d+)"/.exec(firstFilterTag(pivot.sourceXml ?? ""))?.[1] ?? 1);
|
|
29517
29544
|
return `<filters count="1"><filter${attrs({ fld: pivot.fields.indexOf(filter2.field), type: "dateBetween", evalOrder: -1, id, name: filter2.field })}><autoFilter ref="A1"><filterColumn colId="0"><customFilters and="1"><customFilter operator="greaterThanOrEqual" val="${Math.floor(filter2.start)}"/><customFilter operator="lessThanOrEqual" val="${Math.floor(filter2.end)}"/></customFilters></filterColumn></autoFilter><extLst><ext uri="{0605FD5F-26C8-4aeb-8148-2DB25E43C511}" xmlns:x15="${x15}"><x15:pivotFilter useWholeDay="1"/></ext></extLst></filter></filters>`;
|
|
29518
29545
|
}
|
|
29519
29546
|
|
|
@@ -29615,7 +29642,7 @@ var PivotWritePlan = class {
|
|
|
29615
29642
|
|
|
29616
29643
|
// xlsx/edit/context.ts
|
|
29617
29644
|
function sheetAt(workbook, index3) {
|
|
29618
|
-
const sheet = Number.isInteger(index3) ? workbook.sheets
|
|
29645
|
+
const sheet = Number.isInteger(index3) && index3 >= 0 ? workbook.sheets.at(index3) : void 0;
|
|
29619
29646
|
if (!sheet) throw new RangeError(`No sheet at index ${index3}`);
|
|
29620
29647
|
return sheet;
|
|
29621
29648
|
}
|
|
@@ -34372,18 +34399,18 @@ function addScenario(ctx, s, draft) {
|
|
|
34372
34399
|
}
|
|
34373
34400
|
function editScenario(ctx, s, index3, draft) {
|
|
34374
34401
|
const sheet = sheetAt(ctx.workbook, s);
|
|
34375
|
-
const existing = scenariosOf(sheet)[index3];
|
|
34402
|
+
const existing = Number.isInteger(index3) ? scenariosOf(sheet)[index3] : void 0;
|
|
34376
34403
|
if (!existing) throw new ScenarioError("missing");
|
|
34377
34404
|
if (existing.locked && sheet.protection) throw new ScenarioError("locked");
|
|
34378
34405
|
const name = checkName(sheet, draft.name, index3);
|
|
34379
34406
|
const scenario = build(ctx, sheet, draft, name);
|
|
34380
34407
|
ctx.run("Edit scenario", "view", PARTS(s), () => {
|
|
34381
|
-
sheet.scenarios.list
|
|
34408
|
+
sheet.scenarios.list.splice(index3, 1, scenario);
|
|
34382
34409
|
});
|
|
34383
34410
|
}
|
|
34384
34411
|
function deleteScenario(ctx, s, index3) {
|
|
34385
34412
|
const sheet = sheetAt(ctx.workbook, s);
|
|
34386
|
-
const existing = scenariosOf(sheet)[index3];
|
|
34413
|
+
const existing = Number.isInteger(index3) ? scenariosOf(sheet)[index3] : void 0;
|
|
34387
34414
|
if (!existing) throw new ScenarioError("missing");
|
|
34388
34415
|
if (existing.locked && sheet.protection) throw new ScenarioError("locked");
|
|
34389
34416
|
ctx.run("Delete scenario", "view", PARTS(s), () => {
|
|
@@ -34401,7 +34428,7 @@ function deleteScenario(ctx, s, index3) {
|
|
|
34401
34428
|
}
|
|
34402
34429
|
function showScenario(ctx, s, index3) {
|
|
34403
34430
|
const sheet = sheetAt(ctx.workbook, s);
|
|
34404
|
-
const scenario = scenariosOf(sheet)[index3];
|
|
34431
|
+
const scenario = Number.isInteger(index3) ? scenariosOf(sheet)[index3] : void 0;
|
|
34405
34432
|
if (!scenario) throw new ScenarioError("missing");
|
|
34406
34433
|
const addresses = scenarioAddresses(scenario);
|
|
34407
34434
|
const ranges = addresses.map((a2) => ({ start: a2, end: a2 }));
|
|
@@ -35182,7 +35209,10 @@ function insertTimeline(ctx, s, ref) {
|
|
|
35182
35209
|
const id = Math.max(
|
|
35183
35210
|
1,
|
|
35184
35211
|
...sheet.drawings.flatMap(
|
|
35185
|
-
(d) => "sourceXml" in d && d.sourceXml ? [...d.sourceXml.matchAll(
|
|
35212
|
+
(d) => "sourceXml" in d && d.sourceXml ? [...d.sourceXml.matchAll(/<[\w:]*cNvPr\b[^>]*>/g)].flatMap((m) => {
|
|
35213
|
+
const id2 = /\sid="(\d+)"/.exec(m[0])?.[1];
|
|
35214
|
+
return id2 ? [Number(id2)] : [];
|
|
35215
|
+
}) : []
|
|
35186
35216
|
)
|
|
35187
35217
|
) + 1;
|
|
35188
35218
|
ctx.run(
|
|
@@ -35720,7 +35750,10 @@ function insertSlicer(ctx, s, ref) {
|
|
|
35720
35750
|
const id = Math.max(
|
|
35721
35751
|
1,
|
|
35722
35752
|
...sheet.drawings.flatMap(
|
|
35723
|
-
(d) => "sourceXml" in d && d.sourceXml ? [...d.sourceXml.matchAll(
|
|
35753
|
+
(d) => "sourceXml" in d && d.sourceXml ? [...d.sourceXml.matchAll(/<[\w:]*cNvPr\b[^>]*>/g)].flatMap((m) => {
|
|
35754
|
+
const id2 = /\sid="(\d+)"/.exec(m[0])?.[1];
|
|
35755
|
+
return id2 ? [Number(id2)] : [];
|
|
35756
|
+
}) : []
|
|
35724
35757
|
)
|
|
35725
35758
|
) + 1;
|
|
35726
35759
|
ctx.run(
|
package/dist/xlsx/load/index.cjs
CHANGED
|
@@ -3254,15 +3254,34 @@ var DEFAULT_XML_LIMITS = {
|
|
|
3254
3254
|
maxDepth: 512,
|
|
3255
3255
|
maxNodes: 5e6
|
|
3256
3256
|
};
|
|
3257
|
-
var
|
|
3257
|
+
var TAG_RE = /<(\/?)([^\s\/><]+)(?:\s+[^\s=\/><]+\s*=\s*(?:"[^"<]*"|'[^'<]*'))*\s*(\/?)>/y;
|
|
3258
|
+
var MARKUP_SKIPS = [
|
|
3259
|
+
["<!--", "-->"],
|
|
3260
|
+
["<![CDATA[", "]]>"],
|
|
3261
|
+
["<?", "?>"]
|
|
3262
|
+
];
|
|
3258
3263
|
function checkXmlLimits(xml, label2, limits = {}) {
|
|
3259
3264
|
const maxDepth = limits.maxDepth ?? DEFAULT_XML_LIMITS.maxDepth;
|
|
3260
3265
|
const maxNodes = limits.maxNodes ?? DEFAULT_XML_LIMITS.maxNodes;
|
|
3261
3266
|
let depth = 0;
|
|
3262
3267
|
let nodes = 0;
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3268
|
+
let at = xml.indexOf("<");
|
|
3269
|
+
while (at !== -1) {
|
|
3270
|
+
const skip = MARKUP_SKIPS.find(([open]) => xml.startsWith(open, at));
|
|
3271
|
+
if (skip) {
|
|
3272
|
+
const end = xml.indexOf(skip[1], at + skip[0].length);
|
|
3273
|
+
if (end === -1) return;
|
|
3274
|
+
at = xml.indexOf("<", end + skip[1].length);
|
|
3275
|
+
continue;
|
|
3276
|
+
}
|
|
3277
|
+
TAG_RE.lastIndex = at;
|
|
3278
|
+
const match2 = TAG_RE.exec(xml);
|
|
3279
|
+
if (!match2) {
|
|
3280
|
+
at = xml.indexOf("<", at + 1);
|
|
3281
|
+
continue;
|
|
3282
|
+
}
|
|
3283
|
+
const [, closing, , selfClosing] = match2;
|
|
3284
|
+
at = xml.indexOf("<", at + match2[0].length);
|
|
3266
3285
|
if (closing) {
|
|
3267
3286
|
depth--;
|
|
3268
3287
|
continue;
|
|
@@ -27522,9 +27541,17 @@ function pivotTableXml(source2, cacheId, cache2) {
|
|
|
27522
27541
|
}
|
|
27523
27542
|
return XML_HEADER + buildXml(root);
|
|
27524
27543
|
}
|
|
27544
|
+
function firstFilterTag(xml) {
|
|
27545
|
+
for (let at = xml.indexOf("<filter"); at !== -1; at = xml.indexOf("<filter", at + 1)) {
|
|
27546
|
+
if (!/\s/.test(xml.charAt(at + 7))) continue;
|
|
27547
|
+
const end = xml.indexOf(">", at);
|
|
27548
|
+
return end === -1 ? "" : xml.slice(at, end + 1);
|
|
27549
|
+
}
|
|
27550
|
+
return "";
|
|
27551
|
+
}
|
|
27525
27552
|
function dateFilterXml(pivot, filter2) {
|
|
27526
27553
|
const x15 = "http://schemas.microsoft.com/office/spreadsheetml/2010/11/main";
|
|
27527
|
-
const id = Number(
|
|
27554
|
+
const id = Number(/\bid="(\d+)"/.exec(firstFilterTag(pivot.sourceXml ?? ""))?.[1] ?? 1);
|
|
27528
27555
|
return `<filters count="1"><filter${attrs({ fld: pivot.fields.indexOf(filter2.field), type: "dateBetween", evalOrder: -1, id, name: filter2.field })}><autoFilter ref="A1"><filterColumn colId="0"><customFilters and="1"><customFilter operator="greaterThanOrEqual" val="${Math.floor(filter2.start)}"/><customFilter operator="lessThanOrEqual" val="${Math.floor(filter2.end)}"/></customFilters></filterColumn></autoFilter><extLst><ext uri="{0605FD5F-26C8-4aeb-8148-2DB25E43C511}" xmlns:x15="${x15}"><x15:pivotFilter useWholeDay="1"/></ext></extLst></filter></filters>`;
|
|
27529
27556
|
}
|
|
27530
27557
|
|
package/dist/xlsx/load/index.mjs
CHANGED
|
@@ -3248,15 +3248,34 @@ var DEFAULT_XML_LIMITS = {
|
|
|
3248
3248
|
maxDepth: 512,
|
|
3249
3249
|
maxNodes: 5e6
|
|
3250
3250
|
};
|
|
3251
|
-
var
|
|
3251
|
+
var TAG_RE = /<(\/?)([^\s\/><]+)(?:\s+[^\s=\/><]+\s*=\s*(?:"[^"<]*"|'[^'<]*'))*\s*(\/?)>/y;
|
|
3252
|
+
var MARKUP_SKIPS = [
|
|
3253
|
+
["<!--", "-->"],
|
|
3254
|
+
["<![CDATA[", "]]>"],
|
|
3255
|
+
["<?", "?>"]
|
|
3256
|
+
];
|
|
3252
3257
|
function checkXmlLimits(xml, label2, limits = {}) {
|
|
3253
3258
|
const maxDepth = limits.maxDepth ?? DEFAULT_XML_LIMITS.maxDepth;
|
|
3254
3259
|
const maxNodes = limits.maxNodes ?? DEFAULT_XML_LIMITS.maxNodes;
|
|
3255
3260
|
let depth = 0;
|
|
3256
3261
|
let nodes = 0;
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3262
|
+
let at = xml.indexOf("<");
|
|
3263
|
+
while (at !== -1) {
|
|
3264
|
+
const skip = MARKUP_SKIPS.find(([open]) => xml.startsWith(open, at));
|
|
3265
|
+
if (skip) {
|
|
3266
|
+
const end = xml.indexOf(skip[1], at + skip[0].length);
|
|
3267
|
+
if (end === -1) return;
|
|
3268
|
+
at = xml.indexOf("<", end + skip[1].length);
|
|
3269
|
+
continue;
|
|
3270
|
+
}
|
|
3271
|
+
TAG_RE.lastIndex = at;
|
|
3272
|
+
const match2 = TAG_RE.exec(xml);
|
|
3273
|
+
if (!match2) {
|
|
3274
|
+
at = xml.indexOf("<", at + 1);
|
|
3275
|
+
continue;
|
|
3276
|
+
}
|
|
3277
|
+
const [, closing, , selfClosing] = match2;
|
|
3278
|
+
at = xml.indexOf("<", at + match2[0].length);
|
|
3260
3279
|
if (closing) {
|
|
3261
3280
|
depth--;
|
|
3262
3281
|
continue;
|
|
@@ -27516,9 +27535,17 @@ function pivotTableXml(source2, cacheId, cache2) {
|
|
|
27516
27535
|
}
|
|
27517
27536
|
return XML_HEADER + buildXml(root);
|
|
27518
27537
|
}
|
|
27538
|
+
function firstFilterTag(xml) {
|
|
27539
|
+
for (let at = xml.indexOf("<filter"); at !== -1; at = xml.indexOf("<filter", at + 1)) {
|
|
27540
|
+
if (!/\s/.test(xml.charAt(at + 7))) continue;
|
|
27541
|
+
const end = xml.indexOf(">", at);
|
|
27542
|
+
return end === -1 ? "" : xml.slice(at, end + 1);
|
|
27543
|
+
}
|
|
27544
|
+
return "";
|
|
27545
|
+
}
|
|
27519
27546
|
function dateFilterXml(pivot, filter2) {
|
|
27520
27547
|
const x15 = "http://schemas.microsoft.com/office/spreadsheetml/2010/11/main";
|
|
27521
|
-
const id = Number(
|
|
27548
|
+
const id = Number(/\bid="(\d+)"/.exec(firstFilterTag(pivot.sourceXml ?? ""))?.[1] ?? 1);
|
|
27522
27549
|
return `<filters count="1"><filter${attrs({ fld: pivot.fields.indexOf(filter2.field), type: "dateBetween", evalOrder: -1, id, name: filter2.field })}><autoFilter ref="A1"><filterColumn colId="0"><customFilters and="1"><customFilter operator="greaterThanOrEqual" val="${Math.floor(filter2.start)}"/><customFilter operator="lessThanOrEqual" val="${Math.floor(filter2.end)}"/></customFilters></filterColumn></autoFilter><extLst><ext uri="{0605FD5F-26C8-4aeb-8148-2DB25E43C511}" xmlns:x15="${x15}"><x15:pivotFilter useWholeDay="1"/></ext></extLst></filter></filters>`;
|
|
27523
27550
|
}
|
|
27524
27551
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type CellValue, type ChartObject, type ChartType, type Workbook } from '../../index.js';
|
|
2
|
+
/** The chart types Insert Chart offers, in Office's order, with their English names. */
|
|
3
|
+
export declare const INSERT_CHART_TYPES: ReadonlyArray<readonly [type: ChartType, label: string]>;
|
|
4
|
+
/** The types whose bars can be stacked (Insert Chart shows a Grouping choice for these). */
|
|
5
|
+
export declare const GROUPED_CHART_TYPES: readonly ChartType[];
|
|
6
|
+
/** Largest grid read from pasted text: far beyond a readable chart, small enough to stay cheap. */
|
|
7
|
+
export declare const MAX_GRID_ROWS = 100;
|
|
8
|
+
export declare const MAX_GRID_COLS = 26;
|
|
9
|
+
/**
|
|
10
|
+
* Rows of cells from text: one row per line, cells split on tabs (or commas when the line has no
|
|
11
|
+
* tab). Numbers become numbers, empty cells null, and short rows are padded to the widest.
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseChartGrid(text: string): CellValue[][];
|
|
14
|
+
export interface GridChart {
|
|
15
|
+
workbook: Workbook;
|
|
16
|
+
chart: ChartObject;
|
|
17
|
+
}
|
|
18
|
+
/** The chart for `rows` (text in the first row names the series, in the first column the categories). */
|
|
19
|
+
export declare function gridChart(rows: readonly (readonly CellValue[])[], type: ChartType, options?: {
|
|
20
|
+
grouping?: ChartObject['grouping'];
|
|
21
|
+
title?: string;
|
|
22
|
+
}): GridChart | undefined;
|
|
23
|
+
/** `grid` as a standalone SVG document `width` by `height`; `bare` leaves out the title and legend. */
|
|
24
|
+
export declare function gridChartSvg(grid: GridChart, width: number, height: number, bare?: boolean): string;
|
|
25
|
+
//# sourceMappingURL=grid-chart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-chart.d.ts","sourceRoot":"","sources":["../../../../xlsx/ui/dialogs/grid-chart.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,QAAQ,EAKb,MAAM,aAAa,CAAC;AAGrB,wFAAwF;AACxF,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CASvF,CAAC;AAEF,4FAA4F;AAC5F,eAAO,MAAM,mBAAmB,EAAE,SAAS,SAAS,EAAsB,CAAC;AAE3E,mGAAmG;AACnG,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,CAiB1D;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;CACnB;AAED,yGAAyG;AACzG,wBAAgB,SAAS,CACxB,IAAI,EAAE,SAAS,CAAC,SAAS,SAAS,EAAE,CAAC,EAAE,EACvC,IAAI,EAAE,SAAS,EACf,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAClE,SAAS,GAAG,SAAS,CAWvB;AAED,uGAAuG;AACvG,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,MAAM,CAIjG"}
|