pptx-viewer-core 1.1.32 → 1.1.33
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/{SvgExporter-BkkVdcN7.d.mts → SvgExporter-DszPzkAO.d.mts} +1 -1
- package/dist/{SvgExporter-MDf-1CNQ.d.ts → SvgExporter-K7gytgbs.d.ts} +1 -1
- package/dist/cli/index.d.mts +2 -2
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +0 -0
- package/dist/cli/index.mjs +0 -0
- package/dist/converter/index.d.mts +3 -3
- package/dist/converter/index.d.ts +3 -3
- package/dist/index.d.mts +110 -7
- package/dist/index.d.ts +110 -7
- package/dist/index.js +652 -98
- package/dist/index.mjs +652 -99
- package/dist/{presentation-BWchOWpy.d.mts → presentation-DnczfOWz.d.mts} +33 -1
- package/dist/{presentation-BWchOWpy.d.ts → presentation-DnczfOWz.d.ts} +33 -1
- package/dist/{text-operations-DTlmk6ap.d.ts → text-operations-BpaAJ5gE.d.ts} +1 -1
- package/dist/{text-operations-Dld03ITU.d.mts → text-operations-Q4Ckgnu_.d.mts} +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1579,8 +1579,8 @@ var DEFAULT_COLORS = {
|
|
|
1579
1579
|
};
|
|
1580
1580
|
var DEFAULT_MAJOR_FONT = "Calibri Light";
|
|
1581
1581
|
var DEFAULT_MINOR_FONT = "Calibri";
|
|
1582
|
-
function hexToRgb(
|
|
1583
|
-
return
|
|
1582
|
+
function hexToRgb(hex8) {
|
|
1583
|
+
return hex8.replace(/^#/, "").toUpperCase();
|
|
1584
1584
|
}
|
|
1585
1585
|
function isoNow() {
|
|
1586
1586
|
return (/* @__PURE__ */ new Date()).toISOString().replace(/\.\d+Z$/, "Z");
|
|
@@ -4253,8 +4253,8 @@ var PptxColorTransformCodec = class {
|
|
|
4253
4253
|
clampUnitInterval(value) {
|
|
4254
4254
|
return Math.min(1, Math.max(0, value));
|
|
4255
4255
|
}
|
|
4256
|
-
hexToRgb(
|
|
4257
|
-
const normalized =
|
|
4256
|
+
hexToRgb(hex8) {
|
|
4257
|
+
const normalized = hex8.replace("#", "");
|
|
4258
4258
|
if (!/^[0-9a-fA-F]{6}$/.test(normalized)) {
|
|
4259
4259
|
return void 0;
|
|
4260
4260
|
}
|
|
@@ -5764,7 +5764,7 @@ var PptxColorStyleCodec = class {
|
|
|
5764
5764
|
parseColor: (colorNode, placeholderColor) => this.parseColor(colorNode, placeholderColor),
|
|
5765
5765
|
extractColorOpacity: (colorNode) => this.extractColorOpacity(colorNode),
|
|
5766
5766
|
clampUnitInterval: (value) => this.clampUnitInterval(value),
|
|
5767
|
-
hexToRgb: (
|
|
5767
|
+
hexToRgb: (hex8) => this.hexToRgb(hex8),
|
|
5768
5768
|
rgbToHex: (r, g, b) => this.rgbToHex(r, g, b)
|
|
5769
5769
|
});
|
|
5770
5770
|
this.shapeEffectXmlCodec = new PptxShapeEffectXmlCodec({
|
|
@@ -5787,8 +5787,8 @@ var PptxColorStyleCodec = class {
|
|
|
5787
5787
|
clampUnitInterval(value) {
|
|
5788
5788
|
return this.colorTransformCodec.clampUnitInterval(value);
|
|
5789
5789
|
}
|
|
5790
|
-
hexToRgb(
|
|
5791
|
-
return this.colorTransformCodec.hexToRgb(
|
|
5790
|
+
hexToRgb(hex8) {
|
|
5791
|
+
return this.colorTransformCodec.hexToRgb(hex8);
|
|
5792
5792
|
}
|
|
5793
5793
|
rgbToHex(r, g, b) {
|
|
5794
5794
|
return this.colorTransformCodec.rgbToHex(r, g, b);
|
|
@@ -5959,9 +5959,9 @@ function normalizeHex(value) {
|
|
|
5959
5959
|
if (raw.length === 0) {
|
|
5960
5960
|
return "";
|
|
5961
5961
|
}
|
|
5962
|
-
const
|
|
5963
|
-
if (/^[0-9a-fA-F]{6}$/.test(
|
|
5964
|
-
return
|
|
5962
|
+
const hex8 = raw.replace(/^#/, "");
|
|
5963
|
+
if (/^[0-9a-fA-F]{6}$/.test(hex8)) {
|
|
5964
|
+
return hex8.toUpperCase();
|
|
5965
5965
|
}
|
|
5966
5966
|
return raw.toLowerCase();
|
|
5967
5967
|
}
|
|
@@ -5971,8 +5971,8 @@ function colorsEqual(left, right) {
|
|
|
5971
5971
|
}
|
|
5972
5972
|
return normalizeHex(left) === normalizeHex(right);
|
|
5973
5973
|
}
|
|
5974
|
-
function buildSrgbColorChoice(
|
|
5975
|
-
const normalized = String(
|
|
5974
|
+
function buildSrgbColorChoice(hex8, opacity) {
|
|
5975
|
+
const normalized = String(hex8 || "").replace(/^#/, "");
|
|
5976
5976
|
const srgb = { "@_val": normalized };
|
|
5977
5977
|
if (typeof opacity === "number" && Number.isFinite(opacity) && opacity >= 0 && opacity < 1) {
|
|
5978
5978
|
const alphaPct = Math.round(Math.max(0, Math.min(1, opacity)) * 1e5);
|
|
@@ -9484,9 +9484,9 @@ function decodeKeyframeValue(valNode) {
|
|
|
9484
9484
|
if (strVal && strVal["@_val"] !== void 0) {
|
|
9485
9485
|
return { value: String(strVal["@_val"]), valueType: "str" };
|
|
9486
9486
|
}
|
|
9487
|
-
const
|
|
9488
|
-
if (
|
|
9489
|
-
const raw =
|
|
9487
|
+
const boolVal3 = valNode["p:boolVal"];
|
|
9488
|
+
if (boolVal3 && boolVal3["@_val"] !== void 0) {
|
|
9489
|
+
const raw = boolVal3["@_val"];
|
|
9490
9490
|
const value = raw === "1" || raw === "true";
|
|
9491
9491
|
return { value, valueType: "bool" };
|
|
9492
9492
|
}
|
|
@@ -12732,13 +12732,13 @@ function generateFontGuid() {
|
|
|
12732
12732
|
bytes[i] = Math.floor(Math.random() * 256);
|
|
12733
12733
|
}
|
|
12734
12734
|
}
|
|
12735
|
-
const
|
|
12735
|
+
const hex8 = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0").toUpperCase()).join("");
|
|
12736
12736
|
return [
|
|
12737
|
-
|
|
12738
|
-
|
|
12739
|
-
|
|
12740
|
-
|
|
12741
|
-
|
|
12737
|
+
hex8.substring(0, 8),
|
|
12738
|
+
hex8.substring(8, 12),
|
|
12739
|
+
hex8.substring(12, 16),
|
|
12740
|
+
hex8.substring(16, 20),
|
|
12741
|
+
hex8.substring(20, 32)
|
|
12742
12742
|
].join("-");
|
|
12743
12743
|
}
|
|
12744
12744
|
function detectFontFormat(data) {
|
|
@@ -13059,7 +13059,8 @@ function parseSeriesDataPoints(seriesNode, xmlLookup, colorParser) {
|
|
|
13059
13059
|
}).filter((dp) => dp !== void 0);
|
|
13060
13060
|
}
|
|
13061
13061
|
function parseSeriesDataLabels(seriesNode, xmlLookup) {
|
|
13062
|
-
const
|
|
13062
|
+
const dLblsNode = xmlLookup.getChildByLocalName(seriesNode, "dLbls");
|
|
13063
|
+
const dLblNodes = dLblsNode ? xmlLookup.getChildrenArrayByLocalName(dLblsNode, "dLbl") : xmlLookup.getChildrenArrayByLocalName(seriesNode, "dLbl");
|
|
13063
13064
|
if (dLblNodes.length === 0) {
|
|
13064
13065
|
return [];
|
|
13065
13066
|
}
|
|
@@ -13069,6 +13070,10 @@ function parseSeriesDataLabels(seriesNode, xmlLookup) {
|
|
|
13069
13070
|
if (idx === void 0) {
|
|
13070
13071
|
return void 0;
|
|
13071
13072
|
}
|
|
13073
|
+
const deleteNode = xmlLookup.getChildByLocalName(node, "delete");
|
|
13074
|
+
if (deleteNode?.["@_val"] === "1" || deleteNode?.["@_val"] === "true") {
|
|
13075
|
+
return { idx };
|
|
13076
|
+
}
|
|
13072
13077
|
const result = { idx };
|
|
13073
13078
|
const boolFields = [
|
|
13074
13079
|
["showVal", "showVal"],
|
|
@@ -13416,6 +13421,29 @@ function collectAxisTextValues(node, results) {
|
|
|
13416
13421
|
}
|
|
13417
13422
|
}
|
|
13418
13423
|
|
|
13424
|
+
// src/core/utils/chart-container-type-map.ts
|
|
13425
|
+
var CONTAINER_LOCAL_NAME_TO_TYPE = {
|
|
13426
|
+
barChart: "bar",
|
|
13427
|
+
bar3DChart: "bar3D",
|
|
13428
|
+
lineChart: "line",
|
|
13429
|
+
line3DChart: "line3D",
|
|
13430
|
+
pieChart: "pie",
|
|
13431
|
+
pie3DChart: "pie3D",
|
|
13432
|
+
ofPieChart: "ofPie",
|
|
13433
|
+
doughnutChart: "doughnut",
|
|
13434
|
+
areaChart: "area",
|
|
13435
|
+
area3DChart: "area3D",
|
|
13436
|
+
scatterChart: "scatter",
|
|
13437
|
+
bubbleChart: "bubble",
|
|
13438
|
+
radarChart: "radar",
|
|
13439
|
+
stockChart: "stock",
|
|
13440
|
+
surfaceChart: "surface",
|
|
13441
|
+
surface3DChart: "surface"
|
|
13442
|
+
};
|
|
13443
|
+
function chartContainerLocalNameToType(localName) {
|
|
13444
|
+
return CONTAINER_LOCAL_NAME_TO_TYPE[localName];
|
|
13445
|
+
}
|
|
13446
|
+
|
|
13419
13447
|
// src/core/utils/chart-cx-parser.ts
|
|
13420
13448
|
function extractCxSeriesColor(ser, xmlLookup) {
|
|
13421
13449
|
const spPr = xmlLookup.getChildByLocalName(ser, "spPr");
|
|
@@ -15171,10 +15199,10 @@ function applyBackgroundColorToCSld(cSld, backgroundColor) {
|
|
|
15171
15199
|
delete cSld["p:bg"];
|
|
15172
15200
|
return;
|
|
15173
15201
|
}
|
|
15174
|
-
const
|
|
15202
|
+
const hex8 = backgroundColor.replace(/^#/, "").toUpperCase();
|
|
15175
15203
|
cSld["p:bg"] = {
|
|
15176
15204
|
"p:bgPr": {
|
|
15177
|
-
"a:solidFill": { "a:srgbClr": { "@_val":
|
|
15205
|
+
"a:solidFill": { "a:srgbClr": { "@_val": hex8 } },
|
|
15178
15206
|
"a:effectLst": {}
|
|
15179
15207
|
}
|
|
15180
15208
|
};
|
|
@@ -15797,8 +15825,8 @@ function accentColor(index, themeColorMap) {
|
|
|
15797
15825
|
}
|
|
15798
15826
|
return DEFAULT_ACCENT_COLORS[index % DEFAULT_ACCENT_COLORS.length];
|
|
15799
15827
|
}
|
|
15800
|
-
function lighten(
|
|
15801
|
-
const parsed =
|
|
15828
|
+
function lighten(hex8, amount) {
|
|
15829
|
+
const parsed = hex8.replace("#", "");
|
|
15802
15830
|
const r = parseInt(parsed.substring(0, 2), 16);
|
|
15803
15831
|
const g = parseInt(parsed.substring(2, 4), 16);
|
|
15804
15832
|
const b = parseInt(parsed.substring(4, 6), 16);
|
|
@@ -21413,11 +21441,11 @@ async function repairPptx(buffer) {
|
|
|
21413
21441
|
}
|
|
21414
21442
|
|
|
21415
21443
|
// src/core/utils/theme-switching.ts
|
|
21416
|
-
function normalizeHex2(
|
|
21417
|
-
if (!
|
|
21444
|
+
function normalizeHex2(hex8) {
|
|
21445
|
+
if (!hex8) {
|
|
21418
21446
|
return "";
|
|
21419
21447
|
}
|
|
21420
|
-
return
|
|
21448
|
+
return hex8.replace(/^#/, "").toUpperCase().slice(0, 6);
|
|
21421
21449
|
}
|
|
21422
21450
|
function buildColorRemapTable(oldColorMap, newColorMap) {
|
|
21423
21451
|
const remap = /* @__PURE__ */ new Map();
|
|
@@ -21611,8 +21639,8 @@ function applyThemeToData(data, newColorScheme, newFontScheme, themeName) {
|
|
|
21611
21639
|
}
|
|
21612
21640
|
|
|
21613
21641
|
// src/core/utils/accessibility-checker.ts
|
|
21614
|
-
function parseHexColor(
|
|
21615
|
-
const cleaned =
|
|
21642
|
+
function parseHexColor(hex8) {
|
|
21643
|
+
const cleaned = hex8.replace(/^#/, "");
|
|
21616
21644
|
if (!/^[\da-fA-F]+$/.test(cleaned)) {
|
|
21617
21645
|
return null;
|
|
21618
21646
|
}
|
|
@@ -24912,6 +24940,37 @@ function ensureArray6(v) {
|
|
|
24912
24940
|
}
|
|
24913
24941
|
return Array.isArray(v) ? v : [v];
|
|
24914
24942
|
}
|
|
24943
|
+
function consolidateComboContainersInXml(plotArea, getLocalName) {
|
|
24944
|
+
const containerKeys = Object.keys(plotArea).filter((k) => getLocalName(k).endsWith("Chart"));
|
|
24945
|
+
if (containerKeys.length === 0) {
|
|
24946
|
+
return void 0;
|
|
24947
|
+
}
|
|
24948
|
+
const primaryKey = containerKeys[0];
|
|
24949
|
+
if (containerKeys.length === 1) {
|
|
24950
|
+
return primaryKey;
|
|
24951
|
+
}
|
|
24952
|
+
const primary = plotArea[primaryKey];
|
|
24953
|
+
if (!primary) {
|
|
24954
|
+
return primaryKey;
|
|
24955
|
+
}
|
|
24956
|
+
const serKey = findKey4(primary, "ser", getLocalName) ?? "c:ser";
|
|
24957
|
+
const allSeries = [];
|
|
24958
|
+
for (const key of containerKeys) {
|
|
24959
|
+
const container = plotArea[key];
|
|
24960
|
+
if (!container) {
|
|
24961
|
+
continue;
|
|
24962
|
+
}
|
|
24963
|
+
const containerSerKey = findKey4(container, "ser", getLocalName);
|
|
24964
|
+
if (containerSerKey) {
|
|
24965
|
+
allSeries.push(...ensureArray6(container[containerSerKey]));
|
|
24966
|
+
}
|
|
24967
|
+
if (key !== primaryKey) {
|
|
24968
|
+
delete plotArea[key];
|
|
24969
|
+
}
|
|
24970
|
+
}
|
|
24971
|
+
primary[serKey] = allSeries.length === 1 ? allSeries[0] : allSeries;
|
|
24972
|
+
return primaryKey;
|
|
24973
|
+
}
|
|
24915
24974
|
function effectiveContainers(series, chartLevelType) {
|
|
24916
24975
|
return series.map((s) => {
|
|
24917
24976
|
const t = s.seriesChartType ?? chartLevelType;
|
|
@@ -25363,6 +25422,146 @@ function applySeriesMarkerToXml(seriesNode, marker, getLocalName) {
|
|
|
25363
25422
|
insertOrdered2(seriesNode, "c:marker", built, getLocalName);
|
|
25364
25423
|
}
|
|
25365
25424
|
|
|
25425
|
+
// src/core/utils/chart-series-datalabel-serializer.ts
|
|
25426
|
+
function findKey9(obj, local, getLocalName) {
|
|
25427
|
+
return Object.keys(obj).find((k) => getLocalName(k) === local);
|
|
25428
|
+
}
|
|
25429
|
+
function boolVal2(on) {
|
|
25430
|
+
return { "@_val": on ? "1" : "0" };
|
|
25431
|
+
}
|
|
25432
|
+
var AFTER_DLBLS = /* @__PURE__ */ new Set(["cat", "val", "xVal", "yVal", "bubbleSize", "smooth", "extLst"]);
|
|
25433
|
+
var DLBLS_GROUP_ORDER = [
|
|
25434
|
+
"numFmt",
|
|
25435
|
+
"spPr",
|
|
25436
|
+
"txPr",
|
|
25437
|
+
"dLblPos",
|
|
25438
|
+
"showLegendKey",
|
|
25439
|
+
"showVal",
|
|
25440
|
+
"showCatName",
|
|
25441
|
+
"showSerName",
|
|
25442
|
+
"showPercent",
|
|
25443
|
+
"showBubbleSize",
|
|
25444
|
+
"separator",
|
|
25445
|
+
"showLeaderLines",
|
|
25446
|
+
"leaderLines"
|
|
25447
|
+
];
|
|
25448
|
+
function buildDLbl(existing, label, getLocalName) {
|
|
25449
|
+
const node = {};
|
|
25450
|
+
node["c:idx"] = { "@_val": String(label.idx) };
|
|
25451
|
+
const hasShow = label.showVal !== void 0 || label.showCatName !== void 0 || label.showSerName !== void 0 || label.showPercent !== void 0 || label.showLegendKey !== void 0 || label.showBubbleSize !== void 0;
|
|
25452
|
+
const hasContent = hasShow || label.position !== void 0 || label.text !== void 0;
|
|
25453
|
+
if (!hasContent) {
|
|
25454
|
+
node["c:delete"] = { "@_val": "1" };
|
|
25455
|
+
return node;
|
|
25456
|
+
}
|
|
25457
|
+
if (existing) {
|
|
25458
|
+
const layoutKey = findKey9(existing, "layout", getLocalName);
|
|
25459
|
+
if (layoutKey) {
|
|
25460
|
+
node[layoutKey] = existing[layoutKey];
|
|
25461
|
+
}
|
|
25462
|
+
}
|
|
25463
|
+
if (label.text !== void 0) {
|
|
25464
|
+
node["c:tx"] = {
|
|
25465
|
+
"c:rich": {
|
|
25466
|
+
"a:bodyPr": {},
|
|
25467
|
+
"a:lstStyle": {},
|
|
25468
|
+
"a:p": { "a:r": { "a:t": label.text } }
|
|
25469
|
+
}
|
|
25470
|
+
};
|
|
25471
|
+
} else if (existing) {
|
|
25472
|
+
const txKey = findKey9(existing, "tx", getLocalName);
|
|
25473
|
+
if (txKey) {
|
|
25474
|
+
node[txKey] = existing[txKey];
|
|
25475
|
+
}
|
|
25476
|
+
}
|
|
25477
|
+
if (existing) {
|
|
25478
|
+
for (const local of ["numFmt", "spPr", "txPr"]) {
|
|
25479
|
+
const k = findKey9(existing, local, getLocalName);
|
|
25480
|
+
if (k) {
|
|
25481
|
+
node[k] = existing[k];
|
|
25482
|
+
}
|
|
25483
|
+
}
|
|
25484
|
+
}
|
|
25485
|
+
if (label.position !== void 0) {
|
|
25486
|
+
node["c:dLblPos"] = { "@_val": label.position };
|
|
25487
|
+
}
|
|
25488
|
+
if (label.showLegendKey !== void 0) {
|
|
25489
|
+
node["c:showLegendKey"] = boolVal2(label.showLegendKey);
|
|
25490
|
+
}
|
|
25491
|
+
if (label.showVal !== void 0) {
|
|
25492
|
+
node["c:showVal"] = boolVal2(label.showVal);
|
|
25493
|
+
}
|
|
25494
|
+
if (label.showCatName !== void 0) {
|
|
25495
|
+
node["c:showCatName"] = boolVal2(label.showCatName);
|
|
25496
|
+
}
|
|
25497
|
+
if (label.showSerName !== void 0) {
|
|
25498
|
+
node["c:showSerName"] = boolVal2(label.showSerName);
|
|
25499
|
+
}
|
|
25500
|
+
if (label.showPercent !== void 0) {
|
|
25501
|
+
node["c:showPercent"] = boolVal2(label.showPercent);
|
|
25502
|
+
}
|
|
25503
|
+
if (label.showBubbleSize !== void 0) {
|
|
25504
|
+
node["c:showBubbleSize"] = boolVal2(label.showBubbleSize);
|
|
25505
|
+
}
|
|
25506
|
+
return node;
|
|
25507
|
+
}
|
|
25508
|
+
function applySeriesDataLabelsToXml(seriesNode, dataLabels, getLocalName) {
|
|
25509
|
+
const dLblsKey = findKey9(seriesNode, "dLbls", getLocalName);
|
|
25510
|
+
const labels = dataLabels ?? [];
|
|
25511
|
+
const existingByIdx = /* @__PURE__ */ new Map();
|
|
25512
|
+
let groupChildren = [];
|
|
25513
|
+
if (dLblsKey) {
|
|
25514
|
+
const dLbls = seriesNode[dLblsKey];
|
|
25515
|
+
const dLblKey = findKey9(dLbls, "dLbl", getLocalName);
|
|
25516
|
+
if (dLblKey) {
|
|
25517
|
+
const nodes = Array.isArray(dLbls[dLblKey]) ? dLbls[dLblKey] : [dLbls[dLblKey]];
|
|
25518
|
+
for (const node of nodes) {
|
|
25519
|
+
const idxKey = findKey9(node, "idx", getLocalName);
|
|
25520
|
+
const idxNode = idxKey ? node[idxKey] : void 0;
|
|
25521
|
+
const idx = idxNode ? Number.parseInt(String(idxNode["@_val"]), 10) : NaN;
|
|
25522
|
+
if (Number.isFinite(idx)) {
|
|
25523
|
+
existingByIdx.set(idx, node);
|
|
25524
|
+
}
|
|
25525
|
+
}
|
|
25526
|
+
}
|
|
25527
|
+
groupChildren = Object.keys(dLbls).filter((k) => getLocalName(k) !== "dLbl").map((k) => [k, dLbls[k]]);
|
|
25528
|
+
}
|
|
25529
|
+
if (labels.length === 0 && groupChildren.length === 0) {
|
|
25530
|
+
if (dLblsKey) {
|
|
25531
|
+
delete seriesNode[dLblsKey];
|
|
25532
|
+
}
|
|
25533
|
+
return;
|
|
25534
|
+
}
|
|
25535
|
+
const built = [...labels].sort((a, b) => a.idx - b.idx).map((label) => buildDLbl(existingByIdx.get(label.idx), label, getLocalName));
|
|
25536
|
+
const newDLbls = {};
|
|
25537
|
+
if (built.length > 0) {
|
|
25538
|
+
newDLbls["c:dLbl"] = built.length === 1 ? built[0] : built;
|
|
25539
|
+
}
|
|
25540
|
+
const ordered = [...groupChildren].sort((a, b) => {
|
|
25541
|
+
const ai = DLBLS_GROUP_ORDER.indexOf(getLocalName(a[0]));
|
|
25542
|
+
const bi = DLBLS_GROUP_ORDER.indexOf(getLocalName(b[0]));
|
|
25543
|
+
return (ai === -1 ? DLBLS_GROUP_ORDER.length : ai) - (bi === -1 ? DLBLS_GROUP_ORDER.length : bi);
|
|
25544
|
+
});
|
|
25545
|
+
for (const [k, v] of ordered) {
|
|
25546
|
+
newDLbls[k] = v;
|
|
25547
|
+
}
|
|
25548
|
+
if (dLblsKey) {
|
|
25549
|
+
seriesNode[dLblsKey] = newDLbls;
|
|
25550
|
+
return;
|
|
25551
|
+
}
|
|
25552
|
+
const keys = Object.keys(seriesNode);
|
|
25553
|
+
const beforeIdx = keys.findIndex((k) => AFTER_DLBLS.has(getLocalName(k)));
|
|
25554
|
+
const entries = keys.map((k) => [k, seriesNode[k]]);
|
|
25555
|
+
const at = beforeIdx === -1 ? entries.length : beforeIdx;
|
|
25556
|
+
entries.splice(at, 0, ["c:dLbls", newDLbls]);
|
|
25557
|
+
for (const k of keys) {
|
|
25558
|
+
delete seriesNode[k];
|
|
25559
|
+
}
|
|
25560
|
+
for (const [k, v] of entries) {
|
|
25561
|
+
seriesNode[k] = v;
|
|
25562
|
+
}
|
|
25563
|
+
}
|
|
25564
|
+
|
|
25366
25565
|
// src/core/utils/chart-trendline-serializer.ts
|
|
25367
25566
|
var TYPE_TO_OOXML = {
|
|
25368
25567
|
linear: "linear",
|
|
@@ -25372,7 +25571,7 @@ var TYPE_TO_OOXML = {
|
|
|
25372
25571
|
power: "power",
|
|
25373
25572
|
movingAvg: "movingAvg"
|
|
25374
25573
|
};
|
|
25375
|
-
function
|
|
25574
|
+
function findKey10(obj, local, getLocalName) {
|
|
25376
25575
|
return Object.keys(obj).find((k) => getLocalName(k) === local);
|
|
25377
25576
|
}
|
|
25378
25577
|
function ensureArray9(v) {
|
|
@@ -25389,10 +25588,10 @@ function buildSpPr(existing, color, getLocalName) {
|
|
|
25389
25588
|
return existing;
|
|
25390
25589
|
}
|
|
25391
25590
|
const spPr = existing ? { ...existing } : {};
|
|
25392
|
-
const lnKey =
|
|
25591
|
+
const lnKey = findKey10(spPr, "ln", getLocalName) ?? "a:ln";
|
|
25393
25592
|
const existingLn = spPr[lnKey] ?? {};
|
|
25394
|
-
const fillKey =
|
|
25395
|
-
const noFillKey =
|
|
25593
|
+
const fillKey = findKey10(existingLn, "solidFill", getLocalName) ?? "a:solidFill";
|
|
25594
|
+
const noFillKey = findKey10(existingLn, "noFill", getLocalName);
|
|
25396
25595
|
const ln = { ...existingLn };
|
|
25397
25596
|
if (noFillKey) {
|
|
25398
25597
|
delete ln[noFillKey];
|
|
@@ -25404,13 +25603,13 @@ function buildSpPr(existing, color, getLocalName) {
|
|
|
25404
25603
|
function buildTrendline(existing, t, getLocalName) {
|
|
25405
25604
|
const node = {};
|
|
25406
25605
|
if (existing) {
|
|
25407
|
-
const nameKey =
|
|
25606
|
+
const nameKey = findKey10(existing, "name", getLocalName);
|
|
25408
25607
|
if (nameKey) {
|
|
25409
25608
|
node["c:name"] = existing[nameKey];
|
|
25410
25609
|
}
|
|
25411
25610
|
}
|
|
25412
25611
|
const spPr = buildSpPr(
|
|
25413
|
-
existing ? existing[
|
|
25612
|
+
existing ? existing[findKey10(existing, "spPr", getLocalName) ?? ""] : void 0,
|
|
25414
25613
|
t.color,
|
|
25415
25614
|
getLocalName
|
|
25416
25615
|
);
|
|
@@ -25440,7 +25639,7 @@ function buildTrendline(existing, t, getLocalName) {
|
|
|
25440
25639
|
node["c:dispEq"] = { "@_val": "1" };
|
|
25441
25640
|
}
|
|
25442
25641
|
if (existing) {
|
|
25443
|
-
const lblKey =
|
|
25642
|
+
const lblKey = findKey10(existing, "trendlineLbl", getLocalName);
|
|
25444
25643
|
if (lblKey) {
|
|
25445
25644
|
node["c:trendlineLbl"] = existing[lblKey];
|
|
25446
25645
|
}
|
|
@@ -25448,7 +25647,7 @@ function buildTrendline(existing, t, getLocalName) {
|
|
|
25448
25647
|
return node;
|
|
25449
25648
|
}
|
|
25450
25649
|
function applySeriesTrendlinesToXml(seriesNode, trendlines, getLocalName) {
|
|
25451
|
-
const existingKey =
|
|
25650
|
+
const existingKey = findKey10(seriesNode, "trendline", getLocalName);
|
|
25452
25651
|
const existingNodes = existingKey ? ensureArray9(seriesNode[existingKey]) : [];
|
|
25453
25652
|
const built = trendlines.map((t, i) => buildTrendline(existingNodes[i], t, getLocalName));
|
|
25454
25653
|
if (existingKey) {
|
|
@@ -28658,8 +28857,8 @@ function buildTextRunEffectListXml(style) {
|
|
|
28658
28857
|
}
|
|
28659
28858
|
return effectLst;
|
|
28660
28859
|
}
|
|
28661
|
-
function buildShadowColorNode(
|
|
28662
|
-
const clr =
|
|
28860
|
+
function buildShadowColorNode(hex8, opacity) {
|
|
28861
|
+
const clr = hex8.replace("#", "");
|
|
28663
28862
|
const alpha = typeof opacity === "number" ? Math.round(opacity * 1e5) : void 0;
|
|
28664
28863
|
return {
|
|
28665
28864
|
"@_val": clr,
|
|
@@ -31902,8 +32101,8 @@ function updateCellTextStyleInRawXml(element, rowIndex, colIndex, styleUpdates)
|
|
|
31902
32101
|
}
|
|
31903
32102
|
}
|
|
31904
32103
|
if ("color" in styleUpdates && typeof styleUpdates.color === "string") {
|
|
31905
|
-
const
|
|
31906
|
-
rPr["a:solidFill"] = { "a:srgbClr": { "@_val":
|
|
32104
|
+
const hex8 = styleUpdates.color.replace("#", "");
|
|
32105
|
+
rPr["a:solidFill"] = { "a:srgbClr": { "@_val": hex8 } };
|
|
31907
32106
|
}
|
|
31908
32107
|
if ("align" in styleUpdates) {
|
|
31909
32108
|
const pPr = paragraph["a:pPr"] ?? {};
|
|
@@ -31943,8 +32142,8 @@ function updateCellTextStyleInRawXml(element, rowIndex, colIndex, styleUpdates)
|
|
|
31943
32142
|
}
|
|
31944
32143
|
}
|
|
31945
32144
|
if ("color" in styleUpdates && typeof styleUpdates.color === "string") {
|
|
31946
|
-
const
|
|
31947
|
-
endRPr["a:solidFill"] = { "a:srgbClr": { "@_val":
|
|
32145
|
+
const hex8 = styleUpdates.color.replace("#", "");
|
|
32146
|
+
endRPr["a:solidFill"] = { "a:srgbClr": { "@_val": hex8 } };
|
|
31948
32147
|
}
|
|
31949
32148
|
}
|
|
31950
32149
|
}
|
|
@@ -32223,6 +32422,10 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
|
|
|
32223
32422
|
if (!plotArea) {
|
|
32224
32423
|
continue;
|
|
32225
32424
|
}
|
|
32425
|
+
consolidateComboContainersInXml(
|
|
32426
|
+
plotArea,
|
|
32427
|
+
(key) => this.compatibilityService.getXmlLocalName(key)
|
|
32428
|
+
);
|
|
32226
32429
|
let chartTypeKey = Object.keys(plotArea).find(
|
|
32227
32430
|
(key) => this.compatibilityService.getXmlLocalName(key).endsWith("Chart")
|
|
32228
32431
|
);
|
|
@@ -32285,19 +32488,19 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
|
|
|
32285
32488
|
this.updateChartCacheValues(valNode, true, seriesData.values.map(String));
|
|
32286
32489
|
}
|
|
32287
32490
|
if (seriesData.color) {
|
|
32288
|
-
const
|
|
32491
|
+
const hex8 = seriesData.color.replace("#", "");
|
|
32289
32492
|
const spPr = this.xmlLookupService.getChildByLocalName(seriesNode, "spPr");
|
|
32290
32493
|
if (spPr) {
|
|
32291
32494
|
const solidFillKey = Object.keys(spPr).find(
|
|
32292
32495
|
(k) => this.compatibilityService.getXmlLocalName(k) === "solidFill"
|
|
32293
32496
|
) ?? "a:solidFill";
|
|
32294
|
-
spPr[solidFillKey] = { "a:srgbClr": { "@_val":
|
|
32497
|
+
spPr[solidFillKey] = { "a:srgbClr": { "@_val": hex8 } };
|
|
32295
32498
|
} else {
|
|
32296
32499
|
const spPrKey = Object.keys(seriesNode).find(
|
|
32297
32500
|
(k) => this.compatibilityService.getXmlLocalName(k) === "spPr"
|
|
32298
32501
|
) ?? "c:spPr";
|
|
32299
32502
|
seriesNode[spPrKey] = {
|
|
32300
|
-
"a:solidFill": { "a:srgbClr": { "@_val":
|
|
32503
|
+
"a:solidFill": { "a:srgbClr": { "@_val": hex8 } }
|
|
32301
32504
|
};
|
|
32302
32505
|
}
|
|
32303
32506
|
}
|
|
@@ -32329,6 +32532,13 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
|
|
|
32329
32532
|
(key) => this.compatibilityService.getXmlLocalName(key)
|
|
32330
32533
|
);
|
|
32331
32534
|
}
|
|
32535
|
+
if (seriesData.dataLabels !== void 0) {
|
|
32536
|
+
applySeriesDataLabelsToXml(
|
|
32537
|
+
seriesNode,
|
|
32538
|
+
seriesData.dataLabels,
|
|
32539
|
+
(key) => this.compatibilityService.getXmlLocalName(key)
|
|
32540
|
+
);
|
|
32541
|
+
}
|
|
32332
32542
|
}
|
|
32333
32543
|
if (chartData.series.length > seriesNodes.length) {
|
|
32334
32544
|
const templateSeries = seriesNodes.length > 0 ? seriesNodes[seriesNodes.length - 1] : void 0;
|
|
@@ -32858,36 +33068,131 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
|
|
|
32858
33068
|
}
|
|
32859
33069
|
};
|
|
32860
33070
|
|
|
32861
|
-
// src/core/core/runtime/smartart-
|
|
33071
|
+
// src/core/core/runtime/smartart-colors-builder.ts
|
|
32862
33072
|
function asObject(value) {
|
|
33073
|
+
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
33074
|
+
}
|
|
33075
|
+
function toArray(value) {
|
|
33076
|
+
if (Array.isArray(value)) {
|
|
33077
|
+
return value.filter((entry) => Boolean(asObject(entry)));
|
|
33078
|
+
}
|
|
33079
|
+
const obj = asObject(value);
|
|
33080
|
+
return obj ? [obj] : [];
|
|
33081
|
+
}
|
|
33082
|
+
function findKey11(obj, name, getLocalName) {
|
|
33083
|
+
return Object.keys(obj).find((k) => getLocalName(k) === name);
|
|
33084
|
+
}
|
|
33085
|
+
function hex7(value) {
|
|
33086
|
+
return value.replace("#", "");
|
|
33087
|
+
}
|
|
33088
|
+
var COLOR_LOCAL_NAMES = /* @__PURE__ */ new Set([
|
|
33089
|
+
"srgbClr",
|
|
33090
|
+
"schemeClr",
|
|
33091
|
+
"sysClr",
|
|
33092
|
+
"prstClr",
|
|
33093
|
+
"scrgbClr",
|
|
33094
|
+
"hslClr"
|
|
33095
|
+
]);
|
|
33096
|
+
function applyColorToList(list, value, getLocalName) {
|
|
33097
|
+
const colorKey = Object.keys(list).find((k) => COLOR_LOCAL_NAMES.has(getLocalName(k)));
|
|
33098
|
+
const srgb = { "@_val": hex7(value) };
|
|
33099
|
+
if (!colorKey) {
|
|
33100
|
+
list["a:srgbClr"] = srgb;
|
|
33101
|
+
return;
|
|
33102
|
+
}
|
|
33103
|
+
const existing = list[colorKey];
|
|
33104
|
+
const rest = Array.isArray(existing) ? existing.slice(1).filter((entry) => Boolean(asObject(entry))) : [];
|
|
33105
|
+
if (colorKey !== "a:srgbClr") {
|
|
33106
|
+
delete list[colorKey];
|
|
33107
|
+
}
|
|
33108
|
+
list["a:srgbClr"] = rest.length > 0 ? [srgb, ...rest] : srgb;
|
|
33109
|
+
}
|
|
33110
|
+
function applySmartArtColorTransform(colorsDef, transform, getLocalName) {
|
|
33111
|
+
if (!transform) {
|
|
33112
|
+
return false;
|
|
33113
|
+
}
|
|
33114
|
+
let mutated = false;
|
|
33115
|
+
if (transform.name && transform.name.length > 0) {
|
|
33116
|
+
if (colorsDef["@_title"] !== transform.name) {
|
|
33117
|
+
colorsDef["@_title"] = transform.name;
|
|
33118
|
+
mutated = true;
|
|
33119
|
+
}
|
|
33120
|
+
}
|
|
33121
|
+
const styleLblKey = findKey11(colorsDef, "styleLbl", getLocalName);
|
|
33122
|
+
if (!styleLblKey) {
|
|
33123
|
+
return mutated;
|
|
33124
|
+
}
|
|
33125
|
+
const labels = toArray(colorsDef[styleLblKey]);
|
|
33126
|
+
if (labels.length === 0) {
|
|
33127
|
+
return mutated;
|
|
33128
|
+
}
|
|
33129
|
+
let fillIndex = 0;
|
|
33130
|
+
let lineIndex = 0;
|
|
33131
|
+
for (const label of labels) {
|
|
33132
|
+
const fillKey = findKey11(label, "fillClrLst", getLocalName);
|
|
33133
|
+
if (fillKey) {
|
|
33134
|
+
const value = transform.fillColors[fillIndex++];
|
|
33135
|
+
const list = asObject(label[fillKey]);
|
|
33136
|
+
if (list && value) {
|
|
33137
|
+
applyColorToList(list, value, getLocalName);
|
|
33138
|
+
mutated = true;
|
|
33139
|
+
}
|
|
33140
|
+
}
|
|
33141
|
+
const lineKey = findKey11(label, "linClrLst", getLocalName);
|
|
33142
|
+
if (lineKey) {
|
|
33143
|
+
const value = transform.lineColors[lineIndex++];
|
|
33144
|
+
const list = asObject(label[lineKey]);
|
|
33145
|
+
if (list && value) {
|
|
33146
|
+
applyColorToList(list, value, getLocalName);
|
|
33147
|
+
mutated = true;
|
|
33148
|
+
}
|
|
33149
|
+
}
|
|
33150
|
+
}
|
|
33151
|
+
return mutated;
|
|
33152
|
+
}
|
|
33153
|
+
|
|
33154
|
+
// src/core/core/runtime/smartart-quickstyle-builder.ts
|
|
33155
|
+
function applySmartArtQuickStyle(styleDef, quickStyle) {
|
|
33156
|
+
if (!quickStyle || !quickStyle.name || quickStyle.name.length === 0) {
|
|
33157
|
+
return false;
|
|
33158
|
+
}
|
|
33159
|
+
if (styleDef["@_title"] === quickStyle.name) {
|
|
33160
|
+
return false;
|
|
33161
|
+
}
|
|
33162
|
+
styleDef["@_title"] = quickStyle.name;
|
|
33163
|
+
return true;
|
|
33164
|
+
}
|
|
33165
|
+
|
|
33166
|
+
// src/core/core/runtime/smartart-save-chrome.ts
|
|
33167
|
+
function asObject2(value) {
|
|
32863
33168
|
return value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
32864
33169
|
}
|
|
32865
33170
|
function applySmartArtChrome(dataModel, chrome, getLocalName) {
|
|
32866
33171
|
if (!chrome || !chrome.backgroundColor && !chrome.outlineColor && (chrome.outlineWidth === null || chrome.outlineWidth === void 0)) {
|
|
32867
33172
|
return;
|
|
32868
33173
|
}
|
|
32869
|
-
const
|
|
33174
|
+
const findKey12 = (obj, name) => Object.keys(obj).find((k) => getLocalName(k) === name);
|
|
32870
33175
|
if (chrome.backgroundColor) {
|
|
32871
|
-
const
|
|
32872
|
-
const bgKey =
|
|
32873
|
-
const bg =
|
|
32874
|
-
const fillKey =
|
|
32875
|
-
bg[fillKey] = { "a:srgbClr": { "@_val":
|
|
33176
|
+
const hex8 = chrome.backgroundColor.replace("#", "");
|
|
33177
|
+
const bgKey = findKey12(dataModel, "bg") ?? "dgm:bg";
|
|
33178
|
+
const bg = asObject2(dataModel[bgKey]);
|
|
33179
|
+
const fillKey = findKey12(bg, "solidFill") ?? "a:solidFill";
|
|
33180
|
+
bg[fillKey] = { "a:srgbClr": { "@_val": hex8 } };
|
|
32876
33181
|
dataModel[bgKey] = bg;
|
|
32877
33182
|
}
|
|
32878
33183
|
const hasOutlineWidth = chrome.outlineWidth !== null && chrome.outlineWidth !== void 0;
|
|
32879
33184
|
if (chrome.outlineColor || hasOutlineWidth) {
|
|
32880
|
-
const wholeKey =
|
|
32881
|
-
const whole =
|
|
32882
|
-
const lnKey =
|
|
32883
|
-
const ln =
|
|
33185
|
+
const wholeKey = findKey12(dataModel, "whole") ?? "dgm:whole";
|
|
33186
|
+
const whole = asObject2(dataModel[wholeKey]);
|
|
33187
|
+
const lnKey = findKey12(whole, "ln") ?? "a:ln";
|
|
33188
|
+
const ln = asObject2(whole[lnKey]);
|
|
32884
33189
|
if (hasOutlineWidth) {
|
|
32885
33190
|
ln["@_w"] = String(Math.round(chrome.outlineWidth * 12700));
|
|
32886
33191
|
}
|
|
32887
33192
|
if (chrome.outlineColor) {
|
|
32888
|
-
const
|
|
32889
|
-
const fillKey =
|
|
32890
|
-
ln[fillKey] = { "a:srgbClr": { "@_val":
|
|
33193
|
+
const hex8 = chrome.outlineColor.replace("#", "");
|
|
33194
|
+
const fillKey = findKey12(ln, "solidFill") ?? "a:solidFill";
|
|
33195
|
+
ln[fillKey] = { "a:srgbClr": { "@_val": hex8 } };
|
|
32891
33196
|
}
|
|
32892
33197
|
whole[lnKey] = ln;
|
|
32893
33198
|
dataModel[wholeKey] = whole;
|
|
@@ -32922,10 +33227,56 @@ function buildPointText(text) {
|
|
|
32922
33227
|
}
|
|
32923
33228
|
};
|
|
32924
33229
|
}
|
|
32925
|
-
function
|
|
33230
|
+
function joinRunText(runs) {
|
|
33231
|
+
return (runs ?? []).map((run) => run.text).join("");
|
|
33232
|
+
}
|
|
33233
|
+
function buildMultiRunParagraph(runs) {
|
|
33234
|
+
const runObjects = runs.map((run) => {
|
|
33235
|
+
const rObj = {};
|
|
33236
|
+
rObj["a:rPr"] = run.rPr ?? { "@_lang": "en-US", "@_dirty": "0" };
|
|
33237
|
+
rObj["a:t"] = run.text;
|
|
33238
|
+
return rObj;
|
|
33239
|
+
});
|
|
33240
|
+
return { "a:r": runObjects.length === 1 ? runObjects[0] : runObjects };
|
|
33241
|
+
}
|
|
33242
|
+
function shouldRebuildFromRuns(node) {
|
|
33243
|
+
const runs = node.runs;
|
|
33244
|
+
if (!runs || runs.length === 0) {
|
|
33245
|
+
return false;
|
|
33246
|
+
}
|
|
33247
|
+
const hasRichRun = runs.length > 1 || Boolean(runs[0]?.rPr);
|
|
33248
|
+
if (!hasRichRun) {
|
|
33249
|
+
return false;
|
|
33250
|
+
}
|
|
33251
|
+
return joinRunText(runs) === node.text;
|
|
33252
|
+
}
|
|
33253
|
+
function buildPointFromRuns(runs) {
|
|
33254
|
+
return {
|
|
33255
|
+
"a:bodyPr": {},
|
|
33256
|
+
"a:lstStyle": {},
|
|
33257
|
+
"a:p": buildMultiRunParagraph(runs)
|
|
33258
|
+
};
|
|
33259
|
+
}
|
|
33260
|
+
function applyRunsToExistingBody(pt2, tKey, runs) {
|
|
33261
|
+
const body = pt2[tKey];
|
|
33262
|
+
if (!body || typeof body !== "object" || Array.isArray(body)) {
|
|
33263
|
+
pt2[tKey] = buildPointFromRuns(runs);
|
|
33264
|
+
return;
|
|
33265
|
+
}
|
|
33266
|
+
const bodyObj = body;
|
|
33267
|
+
const pKey = Object.keys(bodyObj).find((k) => stripPrefix(k) === "p");
|
|
33268
|
+
bodyObj[pKey ?? "a:p"] = buildMultiRunParagraph(runs);
|
|
33269
|
+
}
|
|
33270
|
+
function applyTextToExistingPoint(pt2, node) {
|
|
33271
|
+
const text = node.text;
|
|
33272
|
+
const rebuildFromRuns = shouldRebuildFromRuns(node);
|
|
32926
33273
|
const tKey = Object.keys(pt2).find((k) => stripPrefix(k) === "t");
|
|
32927
33274
|
if (!tKey) {
|
|
32928
|
-
pt2["dgm:t"] = buildPointText(text);
|
|
33275
|
+
pt2["dgm:t"] = rebuildFromRuns ? buildPointFromRuns(node.runs) : buildPointText(text);
|
|
33276
|
+
return;
|
|
33277
|
+
}
|
|
33278
|
+
if (rebuildFromRuns) {
|
|
33279
|
+
applyRunsToExistingBody(pt2, tKey, node.runs);
|
|
32929
33280
|
return;
|
|
32930
33281
|
}
|
|
32931
33282
|
const body = pt2[tKey];
|
|
@@ -32986,7 +33337,7 @@ function mergeSmartArtPointXml(existingPts, nodes) {
|
|
|
32986
33337
|
if (!desired) {
|
|
32987
33338
|
continue;
|
|
32988
33339
|
}
|
|
32989
|
-
applyTextToExistingPoint(pt2, desired
|
|
33340
|
+
applyTextToExistingPoint(pt2, desired);
|
|
32990
33341
|
seenContentIds.add(modelId);
|
|
32991
33342
|
merged.push(pt2);
|
|
32992
33343
|
}
|
|
@@ -32999,7 +33350,7 @@ function mergeSmartArtPointXml(existingPts, nodes) {
|
|
|
32999
33350
|
if (node.nodeType && !NON_CONTENT_POINT_TYPES.has(node.nodeType)) {
|
|
33000
33351
|
ptNode["@_type"] = node.nodeType;
|
|
33001
33352
|
}
|
|
33002
|
-
ptNode["dgm:t"] = buildPointText(node.text);
|
|
33353
|
+
ptNode["dgm:t"] = shouldRebuildFromRuns(node) ? buildPointFromRuns(node.runs) : buildPointText(node.text);
|
|
33003
33354
|
merged.push(ptNode);
|
|
33004
33355
|
}
|
|
33005
33356
|
return merged;
|
|
@@ -33108,9 +33459,83 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
|
|
|
33108
33459
|
} catch (e) {
|
|
33109
33460
|
console.warn(`Failed to save SmartArt data at ${dataPartPath}:`, e);
|
|
33110
33461
|
}
|
|
33462
|
+
await this.regenerateSmartArtColorPart(slidePath, smartArtData);
|
|
33463
|
+
await this.regenerateSmartArtQuickStylePart(slidePath, smartArtData);
|
|
33111
33464
|
}
|
|
33112
33465
|
this.pendingSmartArtUpdates = void 0;
|
|
33113
33466
|
}
|
|
33467
|
+
/**
|
|
33468
|
+
* Merge the in-memory colour transform back into `ppt/diagrams/colors*.xml`.
|
|
33469
|
+
*
|
|
33470
|
+
* Resolves the part via the SmartArt `colorsRelId` relationship alongside
|
|
33471
|
+
* the data part, merges surgically (preserving unknown content), and skips
|
|
33472
|
+
* gracefully when the rel or part is absent. No-op when the in-memory data
|
|
33473
|
+
* carries no colour transform.
|
|
33474
|
+
*/
|
|
33475
|
+
async regenerateSmartArtColorPart(slidePath, smartArtData) {
|
|
33476
|
+
const transform = smartArtData?.colorTransform;
|
|
33477
|
+
if (!smartArtData?.colorsRelId || !transform) {
|
|
33478
|
+
return;
|
|
33479
|
+
}
|
|
33480
|
+
await this.mergeSmartArtDiagramPart(
|
|
33481
|
+
slidePath,
|
|
33482
|
+
smartArtData.colorsRelId,
|
|
33483
|
+
"colorsDef",
|
|
33484
|
+
"colours",
|
|
33485
|
+
(colorsDef) => applySmartArtColorTransform(
|
|
33486
|
+
colorsDef,
|
|
33487
|
+
transform,
|
|
33488
|
+
(k) => this.compatibilityService.getXmlLocalName(k)
|
|
33489
|
+
)
|
|
33490
|
+
);
|
|
33491
|
+
}
|
|
33492
|
+
/**
|
|
33493
|
+
* Merge the in-memory quick style back into `ppt/diagrams/quickStyles*.xml`.
|
|
33494
|
+
*
|
|
33495
|
+
* Resolves the part via the SmartArt `styleRelId` relationship, merges
|
|
33496
|
+
* surgically, and skips gracefully when the rel or part is absent. No-op
|
|
33497
|
+
* when the in-memory data carries no quick style.
|
|
33498
|
+
*/
|
|
33499
|
+
async regenerateSmartArtQuickStylePart(slidePath, smartArtData) {
|
|
33500
|
+
const quickStyle = smartArtData?.quickStyle;
|
|
33501
|
+
if (!smartArtData?.styleRelId || !quickStyle) {
|
|
33502
|
+
return;
|
|
33503
|
+
}
|
|
33504
|
+
await this.mergeSmartArtDiagramPart(
|
|
33505
|
+
slidePath,
|
|
33506
|
+
smartArtData.styleRelId,
|
|
33507
|
+
"styleDef",
|
|
33508
|
+
"quick style",
|
|
33509
|
+
(styleDef) => applySmartArtQuickStyle(styleDef, quickStyle)
|
|
33510
|
+
);
|
|
33511
|
+
}
|
|
33512
|
+
/**
|
|
33513
|
+
* Read a SmartArt diagram part by slide relationship id, locate its root
|
|
33514
|
+
* definition element by local name, apply a surgical merge callback, and
|
|
33515
|
+
* write the part back only when the callback reports a change. Skips
|
|
33516
|
+
* gracefully when the rel, part, or root element is absent.
|
|
33517
|
+
*/
|
|
33518
|
+
async mergeSmartArtDiagramPart(slidePath, relId, defLocalName, label, merge) {
|
|
33519
|
+
const relationships = this.slideRelsMap.get(slidePath);
|
|
33520
|
+
const target = relationships?.get(relId);
|
|
33521
|
+
if (!target) {
|
|
33522
|
+
return;
|
|
33523
|
+
}
|
|
33524
|
+
const partPath = this.resolveImagePath(slidePath, target);
|
|
33525
|
+
const existingXml = await this.zip.file(partPath)?.async("string");
|
|
33526
|
+
if (!existingXml) {
|
|
33527
|
+
return;
|
|
33528
|
+
}
|
|
33529
|
+
try {
|
|
33530
|
+
const parsed = this.parser.parse(existingXml);
|
|
33531
|
+
const def = this.xmlLookupService.getChildByLocalName(parsed, defLocalName);
|
|
33532
|
+
if (def && merge(def)) {
|
|
33533
|
+
this.zip.file(partPath, this.builder.build(parsed));
|
|
33534
|
+
}
|
|
33535
|
+
} catch (e) {
|
|
33536
|
+
console.warn(`Failed to save SmartArt ${label} at ${partPath}:`, e);
|
|
33537
|
+
}
|
|
33538
|
+
}
|
|
33114
33539
|
/**
|
|
33115
33540
|
* Find the slide path for an element by scanning the slideMap.
|
|
33116
33541
|
*/
|
|
@@ -33142,10 +33567,10 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
|
|
|
33142
33567
|
}
|
|
33143
33568
|
const cSld = root["p:cSld"] || {};
|
|
33144
33569
|
if (notesMaster.backgroundColor) {
|
|
33145
|
-
const
|
|
33570
|
+
const hex8 = notesMaster.backgroundColor.replace("#", "");
|
|
33146
33571
|
cSld["p:bg"] = {
|
|
33147
33572
|
"p:bgPr": {
|
|
33148
|
-
"a:solidFill": { "a:srgbClr": { "@_val":
|
|
33573
|
+
"a:solidFill": { "a:srgbClr": { "@_val": hex8 } },
|
|
33149
33574
|
"a:effectLst": {}
|
|
33150
33575
|
}
|
|
33151
33576
|
};
|
|
@@ -33178,10 +33603,10 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
|
|
|
33178
33603
|
}
|
|
33179
33604
|
const cSld = root["p:cSld"] || {};
|
|
33180
33605
|
if (handoutMaster.backgroundColor) {
|
|
33181
|
-
const
|
|
33606
|
+
const hex8 = handoutMaster.backgroundColor.replace("#", "");
|
|
33182
33607
|
cSld["p:bg"] = {
|
|
33183
33608
|
"p:bgPr": {
|
|
33184
|
-
"a:solidFill": { "a:srgbClr": { "@_val":
|
|
33609
|
+
"a:solidFill": { "a:srgbClr": { "@_val": hex8 } },
|
|
33185
33610
|
"a:effectLst": {}
|
|
33186
33611
|
}
|
|
33187
33612
|
};
|
|
@@ -35631,8 +36056,8 @@ var PptxHandlerRuntime34 = class extends PptxHandlerRuntime33 {
|
|
|
35631
36056
|
*/
|
|
35632
36057
|
buildClrSchemeObject(schemeName, colorMap) {
|
|
35633
36058
|
const slot = (key) => {
|
|
35634
|
-
const
|
|
35635
|
-
const srgb =
|
|
36059
|
+
const hex8 = String(colorMap[key] || "").replace(/^#/, "");
|
|
36060
|
+
const srgb = hex8.length === 6 ? hex8.toUpperCase() : "000000";
|
|
35636
36061
|
return { "a:srgbClr": { "@_val": srgb } };
|
|
35637
36062
|
};
|
|
35638
36063
|
return {
|
|
@@ -42411,8 +42836,8 @@ var PptxHandlerRuntime66 = class extends PptxHandlerRuntime65 {
|
|
|
42411
42836
|
/**
|
|
42412
42837
|
* Build an OOXML colour node (`a:srgbClr`) from a hex string.
|
|
42413
42838
|
*/
|
|
42414
|
-
buildSrgbClrNode(
|
|
42415
|
-
const clean =
|
|
42839
|
+
buildSrgbClrNode(hex8) {
|
|
42840
|
+
const clean = hex8.replace(/^#/, "").toUpperCase();
|
|
42416
42841
|
return { "a:srgbClr": { "@_val": clean } };
|
|
42417
42842
|
}
|
|
42418
42843
|
/**
|
|
@@ -42835,6 +43260,45 @@ var PptxHandlerRuntime68 = class extends PptxHandlerRuntime67 {
|
|
|
42835
43260
|
}
|
|
42836
43261
|
}
|
|
42837
43262
|
}
|
|
43263
|
+
/**
|
|
43264
|
+
* Extract the per-run text + run-properties of a SmartArt content point's
|
|
43265
|
+
* first paragraph (`dgm:t/a:p/a:r`).
|
|
43266
|
+
*
|
|
43267
|
+
* Each `a:r` yields one {@link PptxSmartArtTextRun} carrying its joined
|
|
43268
|
+
* `a:t` text and a verbatim copy of its `a:rPr` properties (when present).
|
|
43269
|
+
* Only the first paragraph is captured: SmartArt content points are
|
|
43270
|
+
* single-paragraph in practice, and the round-trip save path rebuilds a
|
|
43271
|
+
* single paragraph from these runs. Returns undefined when there is fewer
|
|
43272
|
+
* than one run worth preserving (a single run is still returned so per-run
|
|
43273
|
+
* formatting like a bold sole run survives).
|
|
43274
|
+
*/
|
|
43275
|
+
extractSmartArtNodeRuns(point) {
|
|
43276
|
+
const tBody = this.xmlLookupService.getChildByLocalName(point, "t");
|
|
43277
|
+
if (!tBody) {
|
|
43278
|
+
return void 0;
|
|
43279
|
+
}
|
|
43280
|
+
const paragraph = this.xmlLookupService.getChildrenArrayByLocalName(tBody, "p")[0];
|
|
43281
|
+
if (!paragraph) {
|
|
43282
|
+
return void 0;
|
|
43283
|
+
}
|
|
43284
|
+
const runNodes = this.xmlLookupService.getChildrenArrayByLocalName(paragraph, "r");
|
|
43285
|
+
if (runNodes.length === 0) {
|
|
43286
|
+
return void 0;
|
|
43287
|
+
}
|
|
43288
|
+
const runs = [];
|
|
43289
|
+
for (const run of runNodes) {
|
|
43290
|
+
const textValues = [];
|
|
43291
|
+
this.collectLocalTextValues(run, "t", textValues);
|
|
43292
|
+
const text = textValues.join("");
|
|
43293
|
+
const rPrNode = this.xmlLookupService.getChildByLocalName(run, "rPr");
|
|
43294
|
+
const entry = { text };
|
|
43295
|
+
if (rPrNode) {
|
|
43296
|
+
entry.rPr = JSON.parse(JSON.stringify(rPrNode));
|
|
43297
|
+
}
|
|
43298
|
+
runs.push(entry);
|
|
43299
|
+
}
|
|
43300
|
+
return runs.length > 0 ? runs : void 0;
|
|
43301
|
+
}
|
|
42838
43302
|
/**
|
|
42839
43303
|
* Parse background and outline chrome from `dgm:bg` and `dgm:whole`.
|
|
42840
43304
|
*/
|
|
@@ -43138,11 +43602,13 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
|
|
|
43138
43602
|
if (!resolvedText) {
|
|
43139
43603
|
return null;
|
|
43140
43604
|
}
|
|
43605
|
+
const runs = this.extractSmartArtNodeRuns(point);
|
|
43141
43606
|
return {
|
|
43142
43607
|
id: pointId,
|
|
43143
43608
|
text: resolvedText.trim(),
|
|
43144
43609
|
parentId: parentByNodeId.get(pointId),
|
|
43145
|
-
nodeType
|
|
43610
|
+
nodeType,
|
|
43611
|
+
runs
|
|
43146
43612
|
};
|
|
43147
43613
|
}).filter((entry) => Boolean(entry)).slice(0, MAX_SMARTART_NODES);
|
|
43148
43614
|
if (nodes.length === 0) {
|
|
@@ -43860,11 +44326,11 @@ var PptxHandlerRuntime74 = class extends PptxHandlerRuntime73 {
|
|
|
43860
44326
|
} else if (localName === "srgbClr") {
|
|
43861
44327
|
const items = Array.isArray(value) ? value : [value];
|
|
43862
44328
|
for (const item of items) {
|
|
43863
|
-
const
|
|
44329
|
+
const hex8 = String(
|
|
43864
44330
|
typeof item === "object" && item !== null ? item["@_val"] : item ?? ""
|
|
43865
44331
|
).trim();
|
|
43866
|
-
if (
|
|
43867
|
-
output.push(
|
|
44332
|
+
if (hex8.length > 0) {
|
|
44333
|
+
output.push(hex8.startsWith("#") ? hex8 : `#${hex8}`);
|
|
43868
44334
|
}
|
|
43869
44335
|
}
|
|
43870
44336
|
}
|
|
@@ -43932,9 +44398,10 @@ var PptxHandlerRuntime75 = class extends PptxHandlerRuntime74 {
|
|
|
43932
44398
|
return void 0;
|
|
43933
44399
|
}
|
|
43934
44400
|
const chartType = this.detectChartType(plotArea);
|
|
43935
|
-
const
|
|
44401
|
+
const chartContainerKeys = Object.keys(plotArea).filter(
|
|
43936
44402
|
(key) => this.compatibilityService.getXmlLocalName(key).endsWith("Chart")
|
|
43937
44403
|
);
|
|
44404
|
+
const seriesContainerKey = chartContainerKeys[0];
|
|
43938
44405
|
if (!seriesContainerKey) {
|
|
43939
44406
|
return this.parseCxChart(
|
|
43940
44407
|
plotArea,
|
|
@@ -43946,19 +44413,14 @@ var PptxHandlerRuntime75 = class extends PptxHandlerRuntime74 {
|
|
|
43946
44413
|
);
|
|
43947
44414
|
}
|
|
43948
44415
|
const seriesContainer = plotArea[seriesContainerKey];
|
|
43949
|
-
const
|
|
43950
|
-
|
|
44416
|
+
const { categories, series } = this.parseAllChartContainers(
|
|
44417
|
+
plotArea,
|
|
44418
|
+
chartContainerKeys,
|
|
44419
|
+
chartType
|
|
44420
|
+
);
|
|
44421
|
+
if (series.length === 0) {
|
|
43951
44422
|
return void 0;
|
|
43952
44423
|
}
|
|
43953
|
-
const categoriesFromFirstSeries = this.extractChartPointValues(
|
|
43954
|
-
this.xmlLookupService.getChildByLocalName(seriesList[0], "cat"),
|
|
43955
|
-
false
|
|
43956
|
-
);
|
|
43957
|
-
const categories = categoriesFromFirstSeries.length ? categoriesFromFirstSeries : this.extractChartPointValues(
|
|
43958
|
-
this.xmlLookupService.getChildByLocalName(seriesList[0], "xVal"),
|
|
43959
|
-
false
|
|
43960
|
-
);
|
|
43961
|
-
const series = this.buildChartSeries(seriesList, categories);
|
|
43962
44424
|
const titleNode = this.xmlLookupService.getChildByLocalName(chartRoot, "title");
|
|
43963
44425
|
const titleTextValues = [];
|
|
43964
44426
|
this.collectLocalTextValues(titleNode, "t", titleTextValues);
|
|
@@ -44057,6 +44519,49 @@ var PptxHandlerRuntime75 = class extends PptxHandlerRuntime74 {
|
|
|
44057
44519
|
...clrMapOvr ? { clrMapOvr } : {}
|
|
44058
44520
|
};
|
|
44059
44521
|
}
|
|
44522
|
+
/**
|
|
44523
|
+
* Parse every chart-type container in the plot area into a single flat
|
|
44524
|
+
* series list plus a shared category list.
|
|
44525
|
+
*
|
|
44526
|
+
* For a single-type chart this parses the one container exactly as before.
|
|
44527
|
+
* For a combo chart (multiple `c:*Chart` siblings) each container's series
|
|
44528
|
+
* are parsed and tagged with the container's chart type via
|
|
44529
|
+
* {@link PptxChartSeries.seriesChartType}, so the combo serializer can
|
|
44530
|
+
* re-emit each series under the correct container on save. Series keep the
|
|
44531
|
+
* document order of their containers.
|
|
44532
|
+
*
|
|
44533
|
+
* @param plotArea - The `c:plotArea` XML object.
|
|
44534
|
+
* @param containerKeys - All chart-type container keys, in document order.
|
|
44535
|
+
* @param chartLevelType - The detected chart-level type. When this is
|
|
44536
|
+
* `combo`, each series is tagged with its own container type; otherwise no
|
|
44537
|
+
* per-series type is set (the chart-level type applies to every series).
|
|
44538
|
+
* @returns The merged categories and series.
|
|
44539
|
+
*/
|
|
44540
|
+
parseAllChartContainers(plotArea, containerKeys, chartLevelType) {
|
|
44541
|
+
const isCombo = chartLevelType === "combo";
|
|
44542
|
+
let categories = [];
|
|
44543
|
+
const series = [];
|
|
44544
|
+
for (const containerKey of containerKeys) {
|
|
44545
|
+
const container = plotArea[containerKey];
|
|
44546
|
+
const seriesList = this.xmlLookupService.getChildrenArrayByLocalName(container, "ser");
|
|
44547
|
+
if (seriesList.length === 0) {
|
|
44548
|
+
continue;
|
|
44549
|
+
}
|
|
44550
|
+
if (categories.length === 0) {
|
|
44551
|
+
const fromCat = this.extractChartPointValues(
|
|
44552
|
+
this.xmlLookupService.getChildByLocalName(seriesList[0], "cat"),
|
|
44553
|
+
false
|
|
44554
|
+
);
|
|
44555
|
+
categories = fromCat.length ? fromCat : this.extractChartPointValues(
|
|
44556
|
+
this.xmlLookupService.getChildByLocalName(seriesList[0], "xVal"),
|
|
44557
|
+
false
|
|
44558
|
+
);
|
|
44559
|
+
}
|
|
44560
|
+
const containerType = isCombo ? chartContainerLocalNameToType(this.compatibilityService.getXmlLocalName(containerKey)) : void 0;
|
|
44561
|
+
series.push(...this.buildChartSeries(seriesList, categories, containerType));
|
|
44562
|
+
}
|
|
44563
|
+
return { categories, series };
|
|
44564
|
+
}
|
|
44060
44565
|
/**
|
|
44061
44566
|
* Build the series array from raw OOXML `c:ser` nodes.
|
|
44062
44567
|
*
|
|
@@ -44066,9 +44571,11 @@ var PptxHandlerRuntime75 = class extends PptxHandlerRuntime74 {
|
|
|
44066
44571
|
*
|
|
44067
44572
|
* @param seriesList - Array of `c:ser` XML objects from the chart container.
|
|
44068
44573
|
* @param categories - Pre-parsed category labels (used for fallback values).
|
|
44574
|
+
* @param seriesChartType - When set (combo charts), tags every series in this
|
|
44575
|
+
* container with its source chart type for round-trip.
|
|
44069
44576
|
* @returns The series array matching `PptxChartData["series"]`.
|
|
44070
44577
|
*/
|
|
44071
|
-
buildChartSeries(seriesList, categories) {
|
|
44578
|
+
buildChartSeries(seriesList, categories, seriesChartType) {
|
|
44072
44579
|
return seriesList.map((seriesNode, seriesIndex) => {
|
|
44073
44580
|
const seriesName = this.extractChartSeriesName(seriesNode);
|
|
44074
44581
|
const values = this.extractChartPointValues(
|
|
@@ -44106,7 +44613,8 @@ var PptxHandlerRuntime75 = class extends PptxHandlerRuntime74 {
|
|
|
44106
44613
|
...dataPoints.length > 0 ? { dataPoints } : {},
|
|
44107
44614
|
...seriesMarker ? { marker: seriesMarker } : {},
|
|
44108
44615
|
...dataLabels.length > 0 ? { dataLabels } : {},
|
|
44109
|
-
...explosion !== void 0 ? { explosion } : {}
|
|
44616
|
+
...explosion !== void 0 ? { explosion } : {},
|
|
44617
|
+
...seriesChartType ? { seriesChartType } : {}
|
|
44110
44618
|
};
|
|
44111
44619
|
});
|
|
44112
44620
|
}
|
|
@@ -57093,6 +57601,51 @@ function setChartDataPointExplosion(element, seriesIndex, pointIndex, explosion)
|
|
|
57093
57601
|
const dp = ensureDataPoint(series, pointIndex);
|
|
57094
57602
|
dp.explosion = explosion;
|
|
57095
57603
|
}
|
|
57604
|
+
function applyLabelEdit(label, edit) {
|
|
57605
|
+
if (edit.showValue !== void 0) {
|
|
57606
|
+
label.showVal = edit.showValue;
|
|
57607
|
+
}
|
|
57608
|
+
if (edit.showCategory !== void 0) {
|
|
57609
|
+
label.showCatName = edit.showCategory;
|
|
57610
|
+
}
|
|
57611
|
+
if (edit.showSeriesName !== void 0) {
|
|
57612
|
+
label.showSerName = edit.showSeriesName;
|
|
57613
|
+
}
|
|
57614
|
+
if (edit.showPercent !== void 0) {
|
|
57615
|
+
label.showPercent = edit.showPercent;
|
|
57616
|
+
}
|
|
57617
|
+
if (edit.showLegendKey !== void 0) {
|
|
57618
|
+
label.showLegendKey = edit.showLegendKey;
|
|
57619
|
+
}
|
|
57620
|
+
if (edit.position !== void 0) {
|
|
57621
|
+
label.position = edit.position;
|
|
57622
|
+
}
|
|
57623
|
+
if (edit.text !== void 0) {
|
|
57624
|
+
label.text = edit.text === "" ? void 0 : edit.text;
|
|
57625
|
+
}
|
|
57626
|
+
}
|
|
57627
|
+
function setChartDataPointLabel(element, seriesIndex, pointIndex, edit) {
|
|
57628
|
+
validateSeriesIndex(element, seriesIndex);
|
|
57629
|
+
const series = element.chartData.series[seriesIndex];
|
|
57630
|
+
if (edit === null) {
|
|
57631
|
+
if (!series.dataLabels) {
|
|
57632
|
+
return;
|
|
57633
|
+
}
|
|
57634
|
+
series.dataLabels = series.dataLabels.filter((l) => l.idx !== pointIndex);
|
|
57635
|
+
if (series.dataLabels.length === 0) {
|
|
57636
|
+
series.dataLabels = void 0;
|
|
57637
|
+
}
|
|
57638
|
+
return;
|
|
57639
|
+
}
|
|
57640
|
+
const labels = series.dataLabels ??= [];
|
|
57641
|
+
let label = labels.find((l) => l.idx === pointIndex);
|
|
57642
|
+
if (!label) {
|
|
57643
|
+
label = { idx: pointIndex };
|
|
57644
|
+
labels.push(label);
|
|
57645
|
+
labels.sort((a, b) => a.idx - b.idx);
|
|
57646
|
+
}
|
|
57647
|
+
applyLabelEdit(label, edit);
|
|
57648
|
+
}
|
|
57096
57649
|
function removeEmptyDataPoint(series, pointIndex) {
|
|
57097
57650
|
if (!series.dataPoints) {
|
|
57098
57651
|
return;
|
|
@@ -57142,8 +57695,8 @@ function generateLayoutXml(definition) {
|
|
|
57142
57695
|
const phShapes = placeholders.map((ph, i) => placeholderSpXml(ph, i + 2)).join("\n");
|
|
57143
57696
|
let bgXml = "";
|
|
57144
57697
|
if (definition.backgroundColor) {
|
|
57145
|
-
const
|
|
57146
|
-
bgXml = ` <p:bg><p:bgPr><a:solidFill><a:srgbClr val="${
|
|
57698
|
+
const hex8 = definition.backgroundColor.replace(/^#/, "").toUpperCase();
|
|
57699
|
+
bgXml = ` <p:bg><p:bgPr><a:solidFill><a:srgbClr val="${hex8}"/></a:solidFill><a:effectLst/></p:bgPr></p:bg>
|
|
57147
57700
|
`;
|
|
57148
57701
|
}
|
|
57149
57702
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
@@ -57619,8 +58172,8 @@ var TextBuilder = class _TextBuilder {
|
|
|
57619
58172
|
*
|
|
57620
58173
|
* @param hex - Color as a hex string (e.g. "#FF0000").
|
|
57621
58174
|
*/
|
|
57622
|
-
color(
|
|
57623
|
-
this._options.color =
|
|
58175
|
+
color(hex8) {
|
|
58176
|
+
this._options.color = hex8;
|
|
57624
58177
|
return this;
|
|
57625
58178
|
}
|
|
57626
58179
|
/**
|
|
@@ -62396,8 +62949,8 @@ function stepTable10(t) {
|
|
|
62396
62949
|
}
|
|
62397
62950
|
return out.join(" ");
|
|
62398
62951
|
}
|
|
62399
|
-
function parseHexRgb(
|
|
62400
|
-
const m = /^#?([0-9a-f]{6})/i.exec(
|
|
62952
|
+
function parseHexRgb(hex8) {
|
|
62953
|
+
const m = /^#?([0-9a-f]{6})/i.exec(hex8.trim());
|
|
62401
62954
|
if (!m) {
|
|
62402
62955
|
return { r: 0, g: 0, b: 0 };
|
|
62403
62956
|
}
|
|
@@ -62916,4 +63469,4 @@ var SvgExporter = class _SvgExporter {
|
|
|
62916
63469
|
* `<p:extLst>` (optional)
|
|
62917
63470
|
*/
|
|
62918
63471
|
|
|
62919
|
-
export { ALL_ANIMATION_PRESETS, BLIP_FILL_ORDER, CLOUD_CALLOUT_TAIL_COUNT, CLOUD_LOBE_COUNT, COLOR_MAP_ALIAS_KEYS, CONNECTOR_ARROW_OPTIONS, CONNECTOR_GEOMETRY_OPTIONS, ChartBuilder, ConnectorBuilder, ConnectorXmlFactory, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_MAP, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_MAX_UNCOMPRESSED_BYTES, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, DIGEST_ALGORITHM_TO_HASH, DIGEST_ALGORITHM_TO_WEB_CRYPTO, DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, DIGITAL_SIGNATURE_REL_TYPE, DataIntegrityError, DocumentConverter, EFFECT_LST_ORDER, EMPHASIS_PRESETS, EMU_PER_INCH, EMU_PER_PIXEL2 as EMU_PER_PIXEL, EMU_PER_POINT, EMU_PER_PX, ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, ENTERPRISE_REQUIRE_REVOCATION_ENV, ENTERPRISE_REQUIRE_TIMESTAMP_ENV, ENTERPRISE_TRUST_ROOTS_FILE_ENV, ENTERPRISE_TRUST_ROOTS_PEM_ENV, ENTRANCE_PRESETS, EXIT_PRESETS, EncryptedFileError, FONT_SUBSTITUTION_MAP, FreeformPathBuilder, GroupBuilder, ImageBuilder, IncorrectPasswordError, MAX_TABLE_DIMENSION, MAX_ZIP_ENTRY_COUNT, MIN_ELEMENT_SIZE, MIN_TABLE_DIMENSION, MOTION_PATH_PRESETS, MediaBuilder, MediaContext, MediaGraphicFrameXmlFactory, OOXML_TO_PRESET_EMPH, OOXML_TO_PRESET_ENTR, OOXML_TO_PRESET_EXIT, OPC_RELATIONSHIP_TRANSFORM, Ole2ParseError, P14_GUIDE_URI, P15_GUIDE_URI, PANOSE_FAMILY_MAP, PANOSE_MONOSPACE_PROPORTION, PANOSE_SANS_SERIF_STYLES, PANOSE_WEIGHT_MAP, POWERPOINT_PRESENCE_KEY, PPTX_VIEWER_MANIFEST_NS, PRESET_COLOR_MAP, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_SHAPE_GEOMETRY_TABLE, PRESET_TO_OOXML, PictureXmlFactory, PptxAnimationWriteService, PptxColorStyleCodec, PptxCommentAuthorsXmlFactory, PptxCommentXmlFactoryProvider, PptxCompatibilityService, PptxConnectorParser, PptxContentTypesBuilder, PptxDocumentPropertiesUpdater, PptxEditorAnimationService, PptxElementTransformUpdater, PptxElementXmlBuilder, PptxGraphicFrameParser, PptxHandler, PptxHandlerRuntime81 as PptxHandlerRuntime, PptxHandlerRuntimeFactory, PptxLoadDataBuilder, PptxMarkdownConverter, PptxMediaDataParser, PptxNativeAnimationService, PptxPresentationSaveBuilder, PptxPresentationSlidesReconciler, PptxRuntimeDependencyFactory, PptxSaveConstantsFactory, PptxSaveState as PptxSaveSession, PptxSaveStateBuilder as PptxSaveSessionBuilder, PptxSaveState, PptxSaveStateBuilder, PptxShapeIdValidator, PptxShapeStyleExtractor, PptxSlideBackgroundBuilder, PptxSlideBuilder, PptxSlideCommentPartWriter, PptxSlideCommentsXmlFactory, PptxSlideElementsBuilder, PptxSlideLoaderService, PptxSlideMediaRelationshipBuilder, PptxSlideNotesBuilder, PptxSlideNotesPartUpdater, PptxSlideRelationshipRegistry, PptxSlideTransitionService, PptxTableDataParser, PptxTemplateBackgroundService, PptxXmlBuilder, PptxXmlFactoryProvider, PptxXmlLookupService, Presentation, PresentationBuilder, SHAPE_TREE_ELEMENT_TAGS, SP_PR_ORDER, STROKE_DASH_OPTIONS, SUPPORTED_XML_CANON_TRANSFORMS, SWITCHABLE_LAYOUT_TYPES, SYSTEM_COLOR_MAP, ShapeBuilder, SlideBuilder, SlideProcessor, SlideSizes, SvgExporter, TC_PR_BORDERS_ORDER, THEME_COLOR_SCHEME_KEYS, THEME_PRESETS, TRANSITION_VALID_DIRECTIONS, TableBuilder, TextBuilder, TextShapeXmlFactory, ThemePresets, VML_SHAPE_TAGS, XMLDSIG_NS, XML_TRANSFORM_ENVELOPED_SIGNATURE, ZipBombError, addChartCategory, addChartSeries, addSection, addSmartArtNode, addSmartArtNodeAsChild, applyDrawingColorTransforms, applyKinsokuToXml, applyTableCellTextAndStyle, applyTemplate, applyThemeToData, areNamespacesSupported, buildCalloutLeaderLineSvgPath, buildClrMapOverrideXml, buildFontFamilyString, buildGuideListExtension, buildLinkedTextBoxChains, buildOle2, buildSingleEffectNode, buildSrgbColorChoice, buildThemeColorMap, catmullRomToBezier, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, checkBlankSlide, checkComplexTables, checkDuplicateTitles, checkLowContrast, checkMissingAltText, checkMissingSlideTitle, checkPresentation, clampUnitInterval, classifyPanose, cloneElement, cloneShapeStyle, cloneSlide, cloneTemplateElementsBySlideId, cloneTextStyle, cloneXmlObject, cm, cmToEmu, colorWithOpacity, colorsEqual, combineShapes, computeContrastRatio, computeCycleLayout, computeDetailStatus, computeDigestBase64 as computeDigestBase64WebCrypto, computeHierarchyLayout, computeLinearLayout, computeMatrixLayout, computePyramidLayout, computeSmartArtLayout, computeSnakeLayout, computeVerificationStatus, convertXmlToStrict, createArrayBufferCopy, createBuiltinVariables, createChartElement, createConnectorElement, createDefaultPptxHandlerRuntime, createEditorId, createFreeformElement, createGroupElement, createImageElement, createLayout, createLayouts, createMediaElement, createModifyVerifier, createPptxSaveConstants, createShapeElement, createTableCellXml, createTableElement, createTableGraphicFrameRawXml, createTemplateConnectorRawXml, createTemplateShapeRawXml, createTextElement, createUniformTextSegments, dataUrlToMediaBytes, decomposeSmartArt, decryptPptx, demoteSmartArtNode, deobfuscateFont, deriveOutputPath, detectDigitalSignatures, detectFileFormat, detectFontFormat, detectOleObjectType, detectStrictConformance, diffPresentations, diffSlides, distributeSegmentsAcrossChain, douglasPeucker, duplicateElement, duplicateSlide, elementActionToPptxAction, elementHasAction, emuToPixels, encryptPptx, ensureArrayValue, escapeXmlAttr, escapeXmlText, estimateTextBoxCapacity, evaluateGeometryPaths, evaluateGuides, evaluatePresetShape, extractAllTagText, extractColorChoiceXml, extractFirstTagText, extractGuidFromPartName, extractModel3DTransform, extractTagAttribute, fetchUrlToBytes, findCustomShow, findLayoutByName, findLayoutByType, findPlaceholders, findText, formatCommentTimestamp, fragmentShapes, generateFontGuid, generateLayoutXml, generateMediaFilename, getAdjustmentAwareClipPath, getAdjustmentAwareShapeClipPath, getAnimationPresetInfo, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCloudCalloutClipPath, getCloudClipPath, getCloudPathForRendering, getCommentMarkerPosition, getConnectorAdjustment, getConnectorPathGeometry, getCssBorderDashStyle, getCustomShowNames, getCustomShowPositionLabel, getDirectory, getElementLabel, getElementTextContent, getElementTransform, getImageMaskStyle, getLinkedTextBoxSegments, getNativeAnimationPresetMetadata, getOleObjectTypeLabel, getPanoseWeight, getPresetShapeClipPath, getPresetsByCategory, getRoundRectRadiusPx, getSectionForSlide, getSectionSlideRange, getShapeClipPath, getShapeClipPathFromPreset, getShapeType, getSignaturePathsToStrip, getSubstituteFontFamily, getSubstituteFonts, getSupportedNamespaces, getSvgStrokeDasharray, getTextCompensationTransform, getThemePreset, getZoomElements, getZoomTargetSlideIndexes, guidToKey, guideEmuToPx, guidePxToEmu, hasDirectSubstitution, hasNonTrivialOverride, hasShapeProperties, hasTextProperties, hexToRgbChannels, hslToRgb, inches, inchesToEmu, inferOleExtensionFromTarget, interpolateShapeGeometry, intersectPolygons, intersectShapes, intersectSvgPaths, isCalloutShape, isConnectorElement, isEditableTextElement, isImageLikeElement, isInkElement, isNamespaceSupported, isShapeElement, isStrictNamespaceUri, isSummaryZoomSlide, isSwitchableLayoutType, isTemplateElement, isTextElement, isTransitionalNamespaceUri, isValidBase64, isXmlNode, isZoomElement, isZoomElement2 as isZoomElementUtil, layoutEngineShapesToDrawingShapes, lookupPresetShape, mailMerge, mergePresentation, mergeShapes, mergeStyleParts, mergeThemeColorOverride, mm, moveSlidesToSection, navigateCustomShow, normalizeHexColor, normalizeNamespaceUri, normalizePartPath, normalizePath, normalizeStrictXml, normalizeStrokeDashType, obfuscateFont, ooxmlArcToSvg, ooxmlToPresetName, parseActiveXControlsFromSlide, parseAdjustmentValues, parseBodyPrBooleanAttrs, parseChart3DSurfaces, parseChartAxes, parseCondition, parseConditionList, parseCxChartSeries, parseDataTable, parseDataUrlToBytes, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseDrawingFraction, parseDrawingHueDegrees, parseDrawingPercent, parseEmbeddedXlsx, parseGuideDefinitions, parseHexColor, parseKinsoku, parseLayoutDefinition, parseLineStyle, parseMarker, parseOle2, parsePanoseBytes, parsePanoseString, parsePresentationDrawingGuides, parseSeriesDataLabels, parseSeriesDataPoints, parseSeriesErrBars, parseSeriesExplosion, parseSeriesTrendlines, parseShapeProps, parseSignatureXml, parseSlideDrawingGuides, parseSvgPath, parseVmlElement, parseVmlElements, pixelsToEmu, polygonsToSvgPath, pptxActionToElementAction, promoteSmartArtNode, pt, reResolveSlideColors, readFileAsDataUrl, rebuildTableStructureInRawXml, reflowSmartArtLayout, relativeLuminance, relayoutSmartArt, removeChartCategory, removeChartSeries, removeSection, removeSmartArtNode, reorderObjectKeys, reorderSections, reorderSmartArtNode, reorderSmartArtNodeToIndex, repairPptx, replaceShapeGeometry, replaceText, replaceTextInSlide, replaceWithCustomGeometry, resetCloneIdCounter, resetDecomposeCounter, resetIdCounter, resetSectionIdCounter, resetSmartArtEditCounter, resolveCoordinate, resolveCustomShowSlideIndices, resolveLayoutDisplayName, resolveModel3DMimeType, resolveReferenceUriToPart, resolveTableCellStyle, rgbToHsl, selectAlternateContentBranch, serializeColorChoice, serializeCondition, serializeConditionList, serializeSvgPath, setChartAxis, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategories, setChartDataLabels, setChartDataPointExplosion, setChartDataPointFill, setChartGrouping, setChartLegend, setChartSeriesChartType, setChartSeriesColor, setChartSeriesErrorBars, setChartSeriesMarker, setChartSeriesTrendline, setChartTitle, setChartType, shouldRenderFallbackLabel, shouldReturnToZoomSlide, subtractPolygons, subtractShapes, subtractSvgPaths, svgPathToPolygons, switchSmartArtLayout, toHex, toStrictNamespaceUri, unionPolygons, unionShapes, unionSvgPaths, unwrapAlternateContent, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateChartDataPoint, updateChartSeriesValues, updateMergeAttrsInRawXml, updateSmartArtNodeText, validatePptx, verifyModifyPassword, verifyPassword, verifySignatureDigests, writeBodyPrBooleanAttrs, xmlAttr, xmlAttrBool, xmlAttrNumber, xmlChild, xmlChildren, xmlPath, xmlText };
|
|
63472
|
+
export { ALL_ANIMATION_PRESETS, BLIP_FILL_ORDER, CLOUD_CALLOUT_TAIL_COUNT, CLOUD_LOBE_COUNT, COLOR_MAP_ALIAS_KEYS, CONNECTOR_ARROW_OPTIONS, CONNECTOR_GEOMETRY_OPTIONS, ChartBuilder, ConnectorBuilder, ConnectorXmlFactory, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_MAP, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_MAX_UNCOMPRESSED_BYTES, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, DIGEST_ALGORITHM_TO_HASH, DIGEST_ALGORITHM_TO_WEB_CRYPTO, DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, DIGITAL_SIGNATURE_REL_TYPE, DataIntegrityError, DocumentConverter, EFFECT_LST_ORDER, EMPHASIS_PRESETS, EMU_PER_INCH, EMU_PER_PIXEL2 as EMU_PER_PIXEL, EMU_PER_POINT, EMU_PER_PX, ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, ENTERPRISE_REQUIRE_REVOCATION_ENV, ENTERPRISE_REQUIRE_TIMESTAMP_ENV, ENTERPRISE_TRUST_ROOTS_FILE_ENV, ENTERPRISE_TRUST_ROOTS_PEM_ENV, ENTRANCE_PRESETS, EXIT_PRESETS, EncryptedFileError, FONT_SUBSTITUTION_MAP, FreeformPathBuilder, GroupBuilder, ImageBuilder, IncorrectPasswordError, MAX_TABLE_DIMENSION, MAX_ZIP_ENTRY_COUNT, MIN_ELEMENT_SIZE, MIN_TABLE_DIMENSION, MOTION_PATH_PRESETS, MediaBuilder, MediaContext, MediaGraphicFrameXmlFactory, OOXML_TO_PRESET_EMPH, OOXML_TO_PRESET_ENTR, OOXML_TO_PRESET_EXIT, OPC_RELATIONSHIP_TRANSFORM, Ole2ParseError, P14_GUIDE_URI, P15_GUIDE_URI, PANOSE_FAMILY_MAP, PANOSE_MONOSPACE_PROPORTION, PANOSE_SANS_SERIF_STYLES, PANOSE_WEIGHT_MAP, POWERPOINT_PRESENCE_KEY, PPTX_VIEWER_MANIFEST_NS, PRESET_COLOR_MAP, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_SHAPE_GEOMETRY_TABLE, PRESET_TO_OOXML, PictureXmlFactory, PptxAnimationWriteService, PptxColorStyleCodec, PptxCommentAuthorsXmlFactory, PptxCommentXmlFactoryProvider, PptxCompatibilityService, PptxConnectorParser, PptxContentTypesBuilder, PptxDocumentPropertiesUpdater, PptxEditorAnimationService, PptxElementTransformUpdater, PptxElementXmlBuilder, PptxGraphicFrameParser, PptxHandler, PptxHandlerRuntime81 as PptxHandlerRuntime, PptxHandlerRuntimeFactory, PptxLoadDataBuilder, PptxMarkdownConverter, PptxMediaDataParser, PptxNativeAnimationService, PptxPresentationSaveBuilder, PptxPresentationSlidesReconciler, PptxRuntimeDependencyFactory, PptxSaveConstantsFactory, PptxSaveState as PptxSaveSession, PptxSaveStateBuilder as PptxSaveSessionBuilder, PptxSaveState, PptxSaveStateBuilder, PptxShapeIdValidator, PptxShapeStyleExtractor, PptxSlideBackgroundBuilder, PptxSlideBuilder, PptxSlideCommentPartWriter, PptxSlideCommentsXmlFactory, PptxSlideElementsBuilder, PptxSlideLoaderService, PptxSlideMediaRelationshipBuilder, PptxSlideNotesBuilder, PptxSlideNotesPartUpdater, PptxSlideRelationshipRegistry, PptxSlideTransitionService, PptxTableDataParser, PptxTemplateBackgroundService, PptxXmlBuilder, PptxXmlFactoryProvider, PptxXmlLookupService, Presentation, PresentationBuilder, SHAPE_TREE_ELEMENT_TAGS, SP_PR_ORDER, STROKE_DASH_OPTIONS, SUPPORTED_XML_CANON_TRANSFORMS, SWITCHABLE_LAYOUT_TYPES, SYSTEM_COLOR_MAP, ShapeBuilder, SlideBuilder, SlideProcessor, SlideSizes, SvgExporter, TC_PR_BORDERS_ORDER, THEME_COLOR_SCHEME_KEYS, THEME_PRESETS, TRANSITION_VALID_DIRECTIONS, TableBuilder, TextBuilder, TextShapeXmlFactory, ThemePresets, VML_SHAPE_TAGS, XMLDSIG_NS, XML_TRANSFORM_ENVELOPED_SIGNATURE, ZipBombError, addChartCategory, addChartSeries, addSection, addSmartArtNode, addSmartArtNodeAsChild, applyDrawingColorTransforms, applyKinsokuToXml, applyTableCellTextAndStyle, applyTemplate, applyThemeToData, areNamespacesSupported, buildCalloutLeaderLineSvgPath, buildClrMapOverrideXml, buildFontFamilyString, buildGuideListExtension, buildLinkedTextBoxChains, buildOle2, buildSingleEffectNode, buildSrgbColorChoice, buildThemeColorMap, catmullRomToBezier, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, checkBlankSlide, checkComplexTables, checkDuplicateTitles, checkLowContrast, checkMissingAltText, checkMissingSlideTitle, checkPresentation, clampUnitInterval, classifyPanose, cloneElement, cloneShapeStyle, cloneSlide, cloneTemplateElementsBySlideId, cloneTextStyle, cloneXmlObject, cm, cmToEmu, colorWithOpacity, colorsEqual, combineShapes, computeContrastRatio, computeCycleLayout, computeDetailStatus, computeDigestBase64 as computeDigestBase64WebCrypto, computeHierarchyLayout, computeLinearLayout, computeMatrixLayout, computePyramidLayout, computeSmartArtLayout, computeSnakeLayout, computeVerificationStatus, convertXmlToStrict, createArrayBufferCopy, createBuiltinVariables, createChartElement, createConnectorElement, createDefaultPptxHandlerRuntime, createEditorId, createFreeformElement, createGroupElement, createImageElement, createLayout, createLayouts, createMediaElement, createModifyVerifier, createPptxSaveConstants, createShapeElement, createTableCellXml, createTableElement, createTableGraphicFrameRawXml, createTemplateConnectorRawXml, createTemplateShapeRawXml, createTextElement, createUniformTextSegments, dataUrlToMediaBytes, decomposeSmartArt, decryptPptx, demoteSmartArtNode, deobfuscateFont, deriveOutputPath, detectDigitalSignatures, detectFileFormat, detectFontFormat, detectOleObjectType, detectStrictConformance, diffPresentations, diffSlides, distributeSegmentsAcrossChain, douglasPeucker, duplicateElement, duplicateSlide, elementActionToPptxAction, elementHasAction, emuToPixels, encryptPptx, ensureArrayValue, escapeXmlAttr, escapeXmlText, estimateTextBoxCapacity, evaluateGeometryPaths, evaluateGuides, evaluatePresetShape, extractAllTagText, extractColorChoiceXml, extractFirstTagText, extractGuidFromPartName, extractModel3DTransform, extractTagAttribute, fetchUrlToBytes, findCustomShow, findLayoutByName, findLayoutByType, findPlaceholders, findText, formatCommentTimestamp, fragmentShapes, generateFontGuid, generateLayoutXml, generateMediaFilename, getAdjustmentAwareClipPath, getAdjustmentAwareShapeClipPath, getAnimationPresetInfo, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCloudCalloutClipPath, getCloudClipPath, getCloudPathForRendering, getCommentMarkerPosition, getConnectorAdjustment, getConnectorPathGeometry, getCssBorderDashStyle, getCustomShowNames, getCustomShowPositionLabel, getDirectory, getElementLabel, getElementTextContent, getElementTransform, getImageMaskStyle, getLinkedTextBoxSegments, getNativeAnimationPresetMetadata, getOleObjectTypeLabel, getPanoseWeight, getPresetShapeClipPath, getPresetsByCategory, getRoundRectRadiusPx, getSectionForSlide, getSectionSlideRange, getShapeClipPath, getShapeClipPathFromPreset, getShapeType, getSignaturePathsToStrip, getSubstituteFontFamily, getSubstituteFonts, getSupportedNamespaces, getSvgStrokeDasharray, getTextCompensationTransform, getThemePreset, getZoomElements, getZoomTargetSlideIndexes, guidToKey, guideEmuToPx, guidePxToEmu, hasDirectSubstitution, hasNonTrivialOverride, hasShapeProperties, hasTextProperties, hexToRgbChannels, hslToRgb, inches, inchesToEmu, inferOleExtensionFromTarget, interpolateShapeGeometry, intersectPolygons, intersectShapes, intersectSvgPaths, isCalloutShape, isConnectorElement, isEditableTextElement, isImageLikeElement, isInkElement, isNamespaceSupported, isShapeElement, isStrictNamespaceUri, isSummaryZoomSlide, isSwitchableLayoutType, isTemplateElement, isTextElement, isTransitionalNamespaceUri, isValidBase64, isXmlNode, isZoomElement, isZoomElement2 as isZoomElementUtil, layoutEngineShapesToDrawingShapes, lookupPresetShape, mailMerge, mergePresentation, mergeShapes, mergeStyleParts, mergeThemeColorOverride, mm, moveSlidesToSection, navigateCustomShow, normalizeHexColor, normalizeNamespaceUri, normalizePartPath, normalizePath, normalizeStrictXml, normalizeStrokeDashType, obfuscateFont, ooxmlArcToSvg, ooxmlToPresetName, parseActiveXControlsFromSlide, parseAdjustmentValues, parseBodyPrBooleanAttrs, parseChart3DSurfaces, parseChartAxes, parseCondition, parseConditionList, parseCxChartSeries, parseDataTable, parseDataUrlToBytes, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseDrawingFraction, parseDrawingHueDegrees, parseDrawingPercent, parseEmbeddedXlsx, parseGuideDefinitions, parseHexColor, parseKinsoku, parseLayoutDefinition, parseLineStyle, parseMarker, parseOle2, parsePanoseBytes, parsePanoseString, parsePresentationDrawingGuides, parseSeriesDataLabels, parseSeriesDataPoints, parseSeriesErrBars, parseSeriesExplosion, parseSeriesTrendlines, parseShapeProps, parseSignatureXml, parseSlideDrawingGuides, parseSvgPath, parseVmlElement, parseVmlElements, pixelsToEmu, polygonsToSvgPath, pptxActionToElementAction, promoteSmartArtNode, pt, reResolveSlideColors, readFileAsDataUrl, rebuildTableStructureInRawXml, reflowSmartArtLayout, relativeLuminance, relayoutSmartArt, removeChartCategory, removeChartSeries, removeSection, removeSmartArtNode, reorderObjectKeys, reorderSections, reorderSmartArtNode, reorderSmartArtNodeToIndex, repairPptx, replaceShapeGeometry, replaceText, replaceTextInSlide, replaceWithCustomGeometry, resetCloneIdCounter, resetDecomposeCounter, resetIdCounter, resetSectionIdCounter, resetSmartArtEditCounter, resolveCoordinate, resolveCustomShowSlideIndices, resolveLayoutDisplayName, resolveModel3DMimeType, resolveReferenceUriToPart, resolveTableCellStyle, rgbToHsl, selectAlternateContentBranch, serializeColorChoice, serializeCondition, serializeConditionList, serializeSvgPath, setChartAxis, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategories, setChartDataLabels, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartGrouping, setChartLegend, setChartSeriesChartType, setChartSeriesColor, setChartSeriesErrorBars, setChartSeriesMarker, setChartSeriesTrendline, setChartTitle, setChartType, shouldRenderFallbackLabel, shouldReturnToZoomSlide, subtractPolygons, subtractShapes, subtractSvgPaths, svgPathToPolygons, switchSmartArtLayout, toHex, toStrictNamespaceUri, unionPolygons, unionShapes, unionSvgPaths, unwrapAlternateContent, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateChartDataPoint, updateChartSeriesValues, updateMergeAttrsInRawXml, updateSmartArtNodeText, validatePptx, verifyModifyPassword, verifyPassword, verifySignatureDigests, writeBodyPrBooleanAttrs, xmlAttr, xmlAttrBool, xmlAttrNumber, xmlChild, xmlChildren, xmlPath, xmlText };
|