pptx-react-viewer 2.21.0 → 2.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/dist/{AiChatPanel-XMRQE2GY.mjs → AiChatPanel-KDHDYBMP.mjs} +3 -3
- package/dist/AiChatPanel-KDHDYBMP.mjs.br +0 -0
- package/dist/AiChatPanel-KDHDYBMP.mjs.gz +0 -0
- package/dist/{AiChatPanel-BD6NR2AU.js → AiChatPanel-WVRT4OLF.js} +23 -23
- package/dist/AiChatPanel-WVRT4OLF.js.br +0 -0
- package/dist/AiChatPanel-WVRT4OLF.js.gz +0 -0
- package/dist/{Model3DScene-UXWNLRNQ.js → Model3DScene-COI2CG35.js} +2 -2
- package/dist/Model3DScene-COI2CG35.js.br +0 -0
- package/dist/Model3DScene-COI2CG35.js.gz +0 -0
- package/dist/{Model3DScene-HAJKICLT.mjs → Model3DScene-I5SQKIZC.mjs} +1 -1
- package/dist/Model3DScene-I5SQKIZC.mjs.br +0 -0
- package/dist/Model3DScene-I5SQKIZC.mjs.gz +0 -0
- package/dist/{PowerPointViewer-DVFkeluD.d.ts → PowerPointViewer-SkkxAGKa.d.ts} +2 -2
- package/dist/PowerPointViewer-SkkxAGKa.d.ts.map +1 -0
- package/dist/SurfaceChart3DScene-2N4TPYPU.js +49 -0
- package/dist/SurfaceChart3DScene-2N4TPYPU.js.br +0 -0
- package/dist/SurfaceChart3DScene-2N4TPYPU.js.gz +0 -0
- package/dist/SurfaceChart3DScene-6LTF5QPW.mjs +47 -0
- package/dist/SurfaceChart3DScene-6LTF5QPW.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-6LTF5QPW.mjs.gz +0 -0
- package/dist/{audience-content-store-C4BFFhV5.d.ts → audience-content-store-Bx4Yj2pN.d.ts} +2 -2
- package/dist/{audience-content-store-C4BFFhV5.d.ts.map → audience-content-store-Bx4Yj2pN.d.ts.map} +1 -1
- package/dist/{chunk-F7SX4EUT.js → chunk-34UAGEJM.js} +1133 -315
- package/dist/chunk-34UAGEJM.js.br +0 -0
- package/dist/chunk-34UAGEJM.js.gz +0 -0
- package/dist/{chunk-5W2W46LY.mjs → chunk-57TM4MV4.mjs} +1132 -316
- package/dist/chunk-57TM4MV4.mjs.br +0 -0
- package/dist/chunk-57TM4MV4.mjs.gz +0 -0
- package/dist/{chunk-GNY4FD3V.mjs → chunk-7BZYDUNM.mjs} +1 -1
- package/dist/chunk-7BZYDUNM.mjs.br +0 -0
- package/dist/chunk-7BZYDUNM.mjs.gz +0 -0
- package/dist/{chunk-SUNSC3Z5.js → chunk-K7TFZ5MW.js} +147 -147
- package/dist/chunk-K7TFZ5MW.js.br +0 -0
- package/dist/chunk-K7TFZ5MW.js.gz +0 -0
- package/dist/{chunk-W3Y3X4AT.js → chunk-KK6DOUES.js} +1921 -1860
- package/dist/chunk-KK6DOUES.js.br +0 -0
- package/dist/chunk-KK6DOUES.js.gz +0 -0
- package/dist/{chunk-3ILDZ7MD.js → chunk-POP5IWYB.js} +3 -3
- package/dist/chunk-POP5IWYB.js.br +0 -0
- package/dist/chunk-POP5IWYB.js.gz +0 -0
- package/dist/{chunk-II5SCD5L.mjs → chunk-RJFKXPMU.mjs} +1 -1
- package/dist/chunk-RJFKXPMU.mjs.br +0 -0
- package/dist/chunk-RJFKXPMU.mjs.gz +0 -0
- package/dist/{chunk-6PRFUWZA.mjs → chunk-TWU72BY4.mjs} +2 -2
- package/dist/chunk-TWU72BY4.mjs.br +0 -0
- package/dist/chunk-TWU72BY4.mjs.gz +0 -0
- package/dist/{chunk-Y67QVETX.mjs → chunk-XIBTR7KJ.mjs} +125 -64
- package/dist/chunk-XIBTR7KJ.mjs.br +0 -0
- package/dist/chunk-XIBTR7KJ.mjs.gz +0 -0
- package/dist/{chunk-HLUJOKES.js → chunk-YNHWNFE3.js} +385 -385
- package/dist/chunk-YNHWNFE3.js.br +0 -0
- package/dist/chunk-YNHWNFE3.js.gz +0 -0
- package/dist/index.d.ts +25 -1
- package/dist/index.js +45 -45
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +15 -1
- package/dist/internals.js +78 -78
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +3 -3
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/{types-TCH6icpi.d.ts → types-kLpvSPxq.d.ts} +11 -1
- package/dist/{types-TCH6icpi.d.ts.map → types-kLpvSPxq.d.ts.map} +1 -1
- package/dist/{useViewerBuildingBlocks-BKb0qs1j.d.ts → useViewerBuildingBlocks-fh7rq4jc.d.ts} +2 -2
- package/dist/{useViewerBuildingBlocks-BKb0qs1j.d.ts.map → useViewerBuildingBlocks-fh7rq4jc.d.ts.map} +1 -1
- package/dist/viewer/index.d.ts +25 -1
- package/dist/viewer/index.js +26 -26
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +5 -5
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-BD6NR2AU.js.br +0 -0
- package/dist/AiChatPanel-BD6NR2AU.js.gz +0 -0
- package/dist/AiChatPanel-XMRQE2GY.mjs.br +0 -0
- package/dist/AiChatPanel-XMRQE2GY.mjs.gz +0 -0
- package/dist/Model3DScene-HAJKICLT.mjs.br +0 -0
- package/dist/Model3DScene-HAJKICLT.mjs.gz +0 -0
- package/dist/Model3DScene-UXWNLRNQ.js.br +0 -0
- package/dist/Model3DScene-UXWNLRNQ.js.gz +0 -0
- package/dist/PowerPointViewer-DVFkeluD.d.ts.map +0 -1
- package/dist/chunk-3ILDZ7MD.js.br +0 -0
- package/dist/chunk-3ILDZ7MD.js.gz +0 -0
- package/dist/chunk-5W2W46LY.mjs.br +0 -0
- package/dist/chunk-5W2W46LY.mjs.gz +0 -0
- package/dist/chunk-6PRFUWZA.mjs.br +0 -0
- package/dist/chunk-6PRFUWZA.mjs.gz +0 -0
- package/dist/chunk-F7SX4EUT.js.br +0 -0
- package/dist/chunk-F7SX4EUT.js.gz +0 -0
- package/dist/chunk-GNY4FD3V.mjs.br +0 -0
- package/dist/chunk-GNY4FD3V.mjs.gz +0 -0
- package/dist/chunk-HLUJOKES.js.br +0 -0
- package/dist/chunk-HLUJOKES.js.gz +0 -0
- package/dist/chunk-II5SCD5L.mjs.br +0 -0
- package/dist/chunk-II5SCD5L.mjs.gz +0 -0
- package/dist/chunk-SUNSC3Z5.js.br +0 -0
- package/dist/chunk-SUNSC3Z5.js.gz +0 -0
- package/dist/chunk-W3Y3X4AT.js.br +0 -0
- package/dist/chunk-W3Y3X4AT.js.gz +0 -0
- package/dist/chunk-Y67QVETX.mjs.br +0 -0
- package/dist/chunk-Y67QVETX.mjs.gz +0 -0
|
@@ -9003,10 +9003,10 @@ function normalizeSrgbHex(color2) {
|
|
|
9003
9003
|
}
|
|
9004
9004
|
return void 0;
|
|
9005
9005
|
}
|
|
9006
|
-
function resolveThemeColors(
|
|
9006
|
+
function resolveThemeColors(overrides11) {
|
|
9007
9007
|
const resolved = {};
|
|
9008
9008
|
for (const [key2, fallback] of Object.entries(DEFAULT_COLORS)) {
|
|
9009
|
-
resolved[key2] = normalizeSrgbHex(
|
|
9009
|
+
resolved[key2] = normalizeSrgbHex(overrides11?.[key2]) ?? normalizeSrgbHex(fallback) ?? "000000";
|
|
9010
9010
|
}
|
|
9011
9011
|
return resolved;
|
|
9012
9012
|
}
|
|
@@ -19223,13 +19223,13 @@ var PptxContentTypesBuilder = class _PptxContentTypesBuilder {
|
|
|
19223
19223
|
applySlideAndMediaUpdates(init) {
|
|
19224
19224
|
const typesRoot = this.ensureTypesRoot(init.contentTypesData);
|
|
19225
19225
|
const defaults = this.ensureArray(typesRoot["Default"]);
|
|
19226
|
-
const
|
|
19226
|
+
const overrides11 = this.ensureArray(typesRoot["Override"]);
|
|
19227
19227
|
const activeSlidePartNames = new Set(
|
|
19228
19228
|
init.slidePaths.map(
|
|
19229
19229
|
(slidePath) => this.normalizePartName(slidePath.startsWith("/") ? slidePath.substring(1) : slidePath)
|
|
19230
19230
|
)
|
|
19231
19231
|
);
|
|
19232
|
-
const filteredOverrides =
|
|
19232
|
+
const filteredOverrides = overrides11.filter((entry2) => {
|
|
19233
19233
|
if (entry2?.["@_ContentType"] !== init.slideContentType) {
|
|
19234
19234
|
return true;
|
|
19235
19235
|
}
|
|
@@ -19266,17 +19266,17 @@ var PptxContentTypesBuilder = class _PptxContentTypesBuilder {
|
|
|
19266
19266
|
init.contentTypesData["Types"] = typesRoot;
|
|
19267
19267
|
return init.contentTypesData;
|
|
19268
19268
|
}
|
|
19269
|
-
applyInkOverrides(
|
|
19269
|
+
applyInkOverrides(overrides11, paths) {
|
|
19270
19270
|
if (!paths) {
|
|
19271
19271
|
return;
|
|
19272
19272
|
}
|
|
19273
19273
|
const existing = new Set(
|
|
19274
|
-
|
|
19274
|
+
overrides11.filter((entry2) => entry2["@_ContentType"] === "application/inkml+xml").map((entry2) => String(entry2["@_PartName"] ?? ""))
|
|
19275
19275
|
);
|
|
19276
19276
|
for (const path of paths) {
|
|
19277
19277
|
const partName = this.normalizePartName(path);
|
|
19278
19278
|
if (!existing.has(partName)) {
|
|
19279
|
-
|
|
19279
|
+
overrides11.push({
|
|
19280
19280
|
"@_PartName": partName,
|
|
19281
19281
|
"@_ContentType": "application/inkml+xml"
|
|
19282
19282
|
});
|
|
@@ -19286,11 +19286,11 @@ var PptxContentTypesBuilder = class _PptxContentTypesBuilder {
|
|
|
19286
19286
|
applyCommentUpdates(init) {
|
|
19287
19287
|
const typesRoot = this.ensureTypesRoot(init.contentTypesData);
|
|
19288
19288
|
const defaults = this.ensureArray(typesRoot["Default"]);
|
|
19289
|
-
const
|
|
19289
|
+
const overrides11 = this.ensureArray(typesRoot["Override"]);
|
|
19290
19290
|
const activeCommentPartNames = new Set(
|
|
19291
19291
|
Array.from(init.activeCommentPaths).map((commentPath) => this.normalizePartName(commentPath))
|
|
19292
19292
|
);
|
|
19293
|
-
const filteredOverrides =
|
|
19293
|
+
const filteredOverrides = overrides11.filter((entry2) => {
|
|
19294
19294
|
const entryType = String(entry2?.["@_ContentType"] || "");
|
|
19295
19295
|
const rawPartName = entry2?.["@_PartName"];
|
|
19296
19296
|
const entryPartName = typeof rawPartName === "string" ? this.normalizePartName(rawPartName) : void 0;
|
|
@@ -19395,9 +19395,9 @@ var PptxContentTypesBuilder = class _PptxContentTypesBuilder {
|
|
|
19395
19395
|
return;
|
|
19396
19396
|
}
|
|
19397
19397
|
const typesRoot = this.ensureTypesRoot(init.contentTypesData);
|
|
19398
|
-
const
|
|
19398
|
+
const overrides11 = this.ensureArray(typesRoot["Override"]);
|
|
19399
19399
|
const existingOverrides = /* @__PURE__ */ new Set();
|
|
19400
|
-
for (const entry2 of
|
|
19400
|
+
for (const entry2 of overrides11) {
|
|
19401
19401
|
const partName = entry2?.["@_PartName"];
|
|
19402
19402
|
if (typeof partName === "string") {
|
|
19403
19403
|
existingOverrides.add(this.normalizePartName(partName));
|
|
@@ -19411,13 +19411,13 @@ var PptxContentTypesBuilder = class _PptxContentTypesBuilder {
|
|
|
19411
19411
|
if (existingOverrides.has(partName)) {
|
|
19412
19412
|
continue;
|
|
19413
19413
|
}
|
|
19414
|
-
|
|
19414
|
+
overrides11.push({
|
|
19415
19415
|
"@_PartName": partName,
|
|
19416
19416
|
"@_ContentType": _PptxContentTypesBuilder.CUSTOM_XML_CONTENT_TYPE
|
|
19417
19417
|
});
|
|
19418
19418
|
existingOverrides.add(partName);
|
|
19419
19419
|
}
|
|
19420
|
-
typesRoot["Override"] =
|
|
19420
|
+
typesRoot["Override"] = overrides11;
|
|
19421
19421
|
init.contentTypesData["Types"] = typesRoot;
|
|
19422
19422
|
}
|
|
19423
19423
|
/** Content type for the main presentation part keyed by output format. */
|
|
@@ -19436,9 +19436,9 @@ var PptxContentTypesBuilder = class _PptxContentTypesBuilder {
|
|
|
19436
19436
|
return;
|
|
19437
19437
|
}
|
|
19438
19438
|
const typesRoot = this.ensureTypesRoot(contentTypesData);
|
|
19439
|
-
const
|
|
19439
|
+
const overrides11 = this.ensureArray(typesRoot["Override"]);
|
|
19440
19440
|
const targetContentType = _PptxContentTypesBuilder.PRESENTATION_CONTENT_TYPES[format];
|
|
19441
|
-
for (const entry2 of
|
|
19441
|
+
for (const entry2 of overrides11) {
|
|
19442
19442
|
const partName = String(entry2?.["@_PartName"] || "");
|
|
19443
19443
|
const normalised = this.normalizePartName(partName);
|
|
19444
19444
|
if (normalised === "/ppt/presentation.xml") {
|
|
@@ -19448,18 +19448,18 @@ var PptxContentTypesBuilder = class _PptxContentTypesBuilder {
|
|
|
19448
19448
|
}
|
|
19449
19449
|
if (format === "pptm" && hasVba) {
|
|
19450
19450
|
const vbaPartName = "/ppt/vbaProject.bin";
|
|
19451
|
-
const hasVbaOverride =
|
|
19451
|
+
const hasVbaOverride = overrides11.some((entry2) => {
|
|
19452
19452
|
const pn = String(entry2?.["@_PartName"] || "");
|
|
19453
19453
|
return this.normalizePartName(pn) === vbaPartName;
|
|
19454
19454
|
});
|
|
19455
19455
|
if (!hasVbaOverride) {
|
|
19456
|
-
|
|
19456
|
+
overrides11.push({
|
|
19457
19457
|
"@_PartName": vbaPartName,
|
|
19458
19458
|
"@_ContentType": _PptxContentTypesBuilder.VBA_PROJECT_CONTENT_TYPE
|
|
19459
19459
|
});
|
|
19460
19460
|
}
|
|
19461
19461
|
}
|
|
19462
|
-
typesRoot["Override"] =
|
|
19462
|
+
typesRoot["Override"] = overrides11;
|
|
19463
19463
|
contentTypesData["Types"] = typesRoot;
|
|
19464
19464
|
}
|
|
19465
19465
|
};
|
|
@@ -21047,12 +21047,12 @@ var PptxSlideNotesPartUpdater = class {
|
|
|
21047
21047
|
const data = init.parser.parse(xml);
|
|
21048
21048
|
const root = data["Types"] ?? {};
|
|
21049
21049
|
const raw = root["Override"];
|
|
21050
|
-
const
|
|
21051
|
-
|
|
21050
|
+
const overrides11 = Array.isArray(raw) ? raw : raw ? [raw] : [];
|
|
21051
|
+
overrides11.push({
|
|
21052
21052
|
"@_PartName": `/${notesPath}`,
|
|
21053
21053
|
"@_ContentType": "application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml"
|
|
21054
21054
|
});
|
|
21055
|
-
root["Override"] =
|
|
21055
|
+
root["Override"] = overrides11;
|
|
21056
21056
|
data["Types"] = root;
|
|
21057
21057
|
init.zip.file("[Content_Types].xml", init.xmlBuilder.build(data));
|
|
21058
21058
|
}
|
|
@@ -25027,9 +25027,9 @@ function evaluateLayoutRules(base, rules, nodes) {
|
|
|
25027
25027
|
}
|
|
25028
25028
|
return { constraints, nodeConstraints };
|
|
25029
25029
|
}
|
|
25030
|
-
function applyNodeLayoutRules(shapes,
|
|
25030
|
+
function applyNodeLayoutRules(shapes, overrides11, bounds, global) {
|
|
25031
25031
|
return shapes.map((shape) => {
|
|
25032
|
-
const rule =
|
|
25032
|
+
const rule = overrides11.get(shape.nodeId);
|
|
25033
25033
|
const widthRule = rule?.w ?? global.w;
|
|
25034
25034
|
const heightRule = rule?.h ?? global.h;
|
|
25035
25035
|
const width = widthRule !== void 0 ? widthRule * bounds.width : shape.width;
|
|
@@ -32802,6 +32802,110 @@ function unwrapAlternateContent(container) {
|
|
|
32802
32802
|
delete container["mc:AlternateContent"];
|
|
32803
32803
|
return blocks;
|
|
32804
32804
|
}
|
|
32805
|
+
function reapplyAlternateContentToTree(container, blockByNode) {
|
|
32806
|
+
let working = container;
|
|
32807
|
+
const groups = ensureArray3(working["p:grpSp"]);
|
|
32808
|
+
if (groups.length > 0) {
|
|
32809
|
+
let groupsChanged = false;
|
|
32810
|
+
const nextGroups = groups.map((group2) => {
|
|
32811
|
+
const next2 = reapplyAlternateContentToTree(group2, blockByNode);
|
|
32812
|
+
if (next2 !== group2) {
|
|
32813
|
+
groupsChanged = true;
|
|
32814
|
+
}
|
|
32815
|
+
return next2;
|
|
32816
|
+
});
|
|
32817
|
+
if (groupsChanged) {
|
|
32818
|
+
working = { ...working, "p:grpSp": nextGroups };
|
|
32819
|
+
}
|
|
32820
|
+
}
|
|
32821
|
+
const blockGroups = /* @__PURE__ */ new Map();
|
|
32822
|
+
for (const tag of SHAPE_TREE_ELEMENT_TAGS) {
|
|
32823
|
+
for (const node of ensureArray3(working[tag])) {
|
|
32824
|
+
const block = blockByNode.get(node);
|
|
32825
|
+
if (!block) {
|
|
32826
|
+
continue;
|
|
32827
|
+
}
|
|
32828
|
+
let entries = blockGroups.get(block);
|
|
32829
|
+
if (!entries) {
|
|
32830
|
+
entries = [];
|
|
32831
|
+
blockGroups.set(block, entries);
|
|
32832
|
+
}
|
|
32833
|
+
entries.push({ tag, node });
|
|
32834
|
+
}
|
|
32835
|
+
}
|
|
32836
|
+
if (blockGroups.size === 0) {
|
|
32837
|
+
return working;
|
|
32838
|
+
}
|
|
32839
|
+
const nextArrays = /* @__PURE__ */ new Map();
|
|
32840
|
+
const arrayFor = (tag) => {
|
|
32841
|
+
let arr = nextArrays.get(tag);
|
|
32842
|
+
if (!arr) {
|
|
32843
|
+
arr = [...ensureArray3(working[tag])];
|
|
32844
|
+
nextArrays.set(tag, arr);
|
|
32845
|
+
}
|
|
32846
|
+
return arr;
|
|
32847
|
+
};
|
|
32848
|
+
const envelopes = [...ensureArray3(working["mc:AlternateContent"])];
|
|
32849
|
+
for (const [block, entries] of blockGroups) {
|
|
32850
|
+
for (const entry2 of entries) {
|
|
32851
|
+
const arr = arrayFor(entry2.tag);
|
|
32852
|
+
const idx = arr.indexOf(entry2.node);
|
|
32853
|
+
if (idx !== -1) {
|
|
32854
|
+
arr.splice(idx, 1);
|
|
32855
|
+
}
|
|
32856
|
+
}
|
|
32857
|
+
const liveByTag = /* @__PURE__ */ new Map();
|
|
32858
|
+
for (const entry2 of entries) {
|
|
32859
|
+
let nodes = liveByTag.get(entry2.tag);
|
|
32860
|
+
if (!nodes) {
|
|
32861
|
+
nodes = [];
|
|
32862
|
+
liveByTag.set(entry2.tag, nodes);
|
|
32863
|
+
}
|
|
32864
|
+
nodes.push(entry2.node);
|
|
32865
|
+
}
|
|
32866
|
+
const clonedAc = { ...block.rawAc };
|
|
32867
|
+
if (block.selectedBranch === "choice") {
|
|
32868
|
+
const choices2 = ensureArray3(clonedAc["mc:Choice"]);
|
|
32869
|
+
const targetIdx = block.choiceIndex ?? 0;
|
|
32870
|
+
const original = choices2[targetIdx];
|
|
32871
|
+
if (original) {
|
|
32872
|
+
const rebuilt = { ...original };
|
|
32873
|
+
for (const tag of SHAPE_TREE_ELEMENT_TAGS) {
|
|
32874
|
+
delete rebuilt[tag];
|
|
32875
|
+
}
|
|
32876
|
+
for (const [tag, nodes] of liveByTag) {
|
|
32877
|
+
rebuilt[tag] = nodes.length === 1 ? nodes[0] : nodes;
|
|
32878
|
+
}
|
|
32879
|
+
const nextChoices = [...choices2];
|
|
32880
|
+
nextChoices[targetIdx] = rebuilt;
|
|
32881
|
+
clonedAc["mc:Choice"] = nextChoices.length === 1 ? nextChoices[0] : nextChoices;
|
|
32882
|
+
}
|
|
32883
|
+
} else {
|
|
32884
|
+
const fallback = clonedAc["mc:Fallback"];
|
|
32885
|
+
if (fallback) {
|
|
32886
|
+
const rebuilt = { ...fallback };
|
|
32887
|
+
for (const tag of SHAPE_TREE_ELEMENT_TAGS) {
|
|
32888
|
+
delete rebuilt[tag];
|
|
32889
|
+
}
|
|
32890
|
+
for (const [tag, nodes] of liveByTag) {
|
|
32891
|
+
rebuilt[tag] = nodes.length === 1 ? nodes[0] : nodes;
|
|
32892
|
+
}
|
|
32893
|
+
clonedAc["mc:Fallback"] = rebuilt;
|
|
32894
|
+
}
|
|
32895
|
+
}
|
|
32896
|
+
envelopes.push(clonedAc);
|
|
32897
|
+
}
|
|
32898
|
+
const next = { ...working };
|
|
32899
|
+
for (const [tag, arr] of nextArrays) {
|
|
32900
|
+
if (arr.length > 0) {
|
|
32901
|
+
next[tag] = arr;
|
|
32902
|
+
} else {
|
|
32903
|
+
delete next[tag];
|
|
32904
|
+
}
|
|
32905
|
+
}
|
|
32906
|
+
next["mc:AlternateContent"] = envelopes.length === 1 ? envelopes[0] : envelopes;
|
|
32907
|
+
return next;
|
|
32908
|
+
}
|
|
32805
32909
|
function ensureArray3(val2) {
|
|
32806
32910
|
if (!val2) {
|
|
32807
32911
|
return [];
|
|
@@ -36067,6 +36171,37 @@ var STYLE_MATRIX_LINE_KEYS = [
|
|
|
36067
36171
|
"lineCap",
|
|
36068
36172
|
"compoundLine"
|
|
36069
36173
|
];
|
|
36174
|
+
var STYLE_MATRIX_EFFECT_KEYS = [
|
|
36175
|
+
"shadowColor",
|
|
36176
|
+
"shadowBlur",
|
|
36177
|
+
"shadowOffsetX",
|
|
36178
|
+
"shadowOffsetY",
|
|
36179
|
+
"shadowOpacity",
|
|
36180
|
+
"innerShadowColor",
|
|
36181
|
+
"innerShadowBlur",
|
|
36182
|
+
"innerShadowOffsetX",
|
|
36183
|
+
"innerShadowOffsetY",
|
|
36184
|
+
"innerShadowOpacity",
|
|
36185
|
+
"glowColor",
|
|
36186
|
+
"glowRadius",
|
|
36187
|
+
"glowOpacity",
|
|
36188
|
+
"softEdgeRadius",
|
|
36189
|
+
"reflectionBlurRadius",
|
|
36190
|
+
"reflectionStartOpacity",
|
|
36191
|
+
"reflectionEndOpacity",
|
|
36192
|
+
"reflectionEndPosition",
|
|
36193
|
+
"reflectionDirection",
|
|
36194
|
+
"reflectionRotation",
|
|
36195
|
+
"reflectionDistance",
|
|
36196
|
+
"scene3d",
|
|
36197
|
+
"shape3d"
|
|
36198
|
+
];
|
|
36199
|
+
var EFFECT_AUTHORED_ONLY_KEYS = [
|
|
36200
|
+
"blurRadius",
|
|
36201
|
+
"presetShadowName",
|
|
36202
|
+
"effectDagXml",
|
|
36203
|
+
"effectDagTree"
|
|
36204
|
+
];
|
|
36070
36205
|
function captureStyleBaseline(style, keys) {
|
|
36071
36206
|
const baseline = {};
|
|
36072
36207
|
for (const key2 of keys) {
|
|
@@ -36091,6 +36226,16 @@ function createLineStyleGate(style) {
|
|
|
36091
36226
|
}
|
|
36092
36227
|
return (...keys) => keys.some((key2) => style[key2] !== baseline[key2]);
|
|
36093
36228
|
}
|
|
36229
|
+
function effectIsPurelyStyleMatrix(style) {
|
|
36230
|
+
const baseline = style.inheritedEffectStyle;
|
|
36231
|
+
if (baseline === void 0) {
|
|
36232
|
+
return false;
|
|
36233
|
+
}
|
|
36234
|
+
if (!matchesBaseline(style, baseline, STYLE_MATRIX_EFFECT_KEYS)) {
|
|
36235
|
+
return false;
|
|
36236
|
+
}
|
|
36237
|
+
return EFFECT_AUTHORED_ONLY_KEYS.every((key2) => style[key2] === void 0);
|
|
36238
|
+
}
|
|
36094
36239
|
function applyScene3dStyle(shapeProps, style) {
|
|
36095
36240
|
const scene3dNode = shapeProps["a:scene3d"];
|
|
36096
36241
|
if (!scene3dNode) {
|
|
@@ -36409,14 +36554,17 @@ var PptxShapeStyleExtractor = class {
|
|
|
36409
36554
|
Object.assign(style, this.context.extractEffectDagStyle(shapeProps));
|
|
36410
36555
|
if (styleNode?.["a:effectRef"]) {
|
|
36411
36556
|
const suppressInherited = hasEmptyDrawingChild(shapeProps, "effectLst");
|
|
36412
|
-
const
|
|
36557
|
+
const authoredBefore = new Set(Object.keys(style));
|
|
36413
36558
|
this.context.resolveThemeEffectRef(styleNode["a:effectRef"], style);
|
|
36414
|
-
if (
|
|
36559
|
+
if (suppressInherited) {
|
|
36415
36560
|
for (const key2 of Object.keys(style)) {
|
|
36416
|
-
if (!
|
|
36561
|
+
if (!authoredBefore.has(key2) && key2 !== "effectRefIdx" && key2 !== "effectRefColorXml") {
|
|
36417
36562
|
delete style[key2];
|
|
36418
36563
|
}
|
|
36419
36564
|
}
|
|
36565
|
+
} else {
|
|
36566
|
+
const inheritedKeys = STYLE_MATRIX_EFFECT_KEYS.filter((key2) => !authoredBefore.has(key2));
|
|
36567
|
+
style.inheritedEffectStyle = captureStyleBaseline(style, inheritedKeys);
|
|
36420
36568
|
}
|
|
36421
36569
|
}
|
|
36422
36570
|
const fontRef = styleNode?.["a:fontRef"];
|
|
@@ -38833,7 +38981,10 @@ var GRAPHIC_FRAME_LIMITATIONS = {
|
|
|
38833
38981
|
"PARTIAL_SMARTART_SUPPORT",
|
|
38834
38982
|
"SmartArt is parsed and preserved, but some DiagramML behavior is not editable."
|
|
38835
38983
|
],
|
|
38836
|
-
ole: [
|
|
38984
|
+
ole: [
|
|
38985
|
+
"PARTIAL_OLE_SUPPORT",
|
|
38986
|
+
"The OLE payload renders as a preview image and can be downloaded or opened in a new tab, but cannot be edited in place."
|
|
38987
|
+
],
|
|
38837
38988
|
ink: [
|
|
38838
38989
|
"PARTIAL_INK_SUPPORT",
|
|
38839
38990
|
"Ink is rendered from decoded traces; unsupported ink properties remain raw XML."
|
|
@@ -39209,8 +39360,8 @@ var PptxDocumentPropertiesUpdater = class {
|
|
|
39209
39360
|
coreProps["@_xmlns:dcterms"] = "http://purl.org/dc/terms/";
|
|
39210
39361
|
}
|
|
39211
39362
|
}
|
|
39212
|
-
applyCorePropertiesOverrides(coreProps,
|
|
39213
|
-
if (!
|
|
39363
|
+
applyCorePropertiesOverrides(coreProps, overrides11) {
|
|
39364
|
+
if (!overrides11) {
|
|
39214
39365
|
return;
|
|
39215
39366
|
}
|
|
39216
39367
|
const map = [
|
|
@@ -39227,7 +39378,7 @@ var PptxDocumentPropertiesUpdater = class {
|
|
|
39227
39378
|
["contentStatus", "cp:contentStatus"]
|
|
39228
39379
|
];
|
|
39229
39380
|
for (const [sourceKey, xmlKey] of map) {
|
|
39230
|
-
const value =
|
|
39381
|
+
const value = overrides11[sourceKey];
|
|
39231
39382
|
if (value === void 0) {
|
|
39232
39383
|
continue;
|
|
39233
39384
|
}
|
|
@@ -39253,8 +39404,8 @@ var PptxDocumentPropertiesUpdater = class {
|
|
|
39253
39404
|
updateSlideTitleProperties(appProps, slides) {
|
|
39254
39405
|
applySlideTitlesToAppProps(appProps, deriveSlideTitles(slides));
|
|
39255
39406
|
}
|
|
39256
|
-
applyAppPropertiesOverrides(appProps,
|
|
39257
|
-
if (!
|
|
39407
|
+
applyAppPropertiesOverrides(appProps, overrides11) {
|
|
39408
|
+
if (!overrides11) {
|
|
39258
39409
|
return;
|
|
39259
39410
|
}
|
|
39260
39411
|
const stringMap = [
|
|
@@ -39274,7 +39425,7 @@ var PptxDocumentPropertiesUpdater = class {
|
|
|
39274
39425
|
["paragraphs", "Paragraphs"]
|
|
39275
39426
|
];
|
|
39276
39427
|
for (const [sourceKey, xmlKey] of stringMap) {
|
|
39277
|
-
const value =
|
|
39428
|
+
const value = overrides11[sourceKey];
|
|
39278
39429
|
if (value === void 0) {
|
|
39279
39430
|
continue;
|
|
39280
39431
|
}
|
|
@@ -39286,7 +39437,7 @@ var PptxDocumentPropertiesUpdater = class {
|
|
|
39286
39437
|
}
|
|
39287
39438
|
}
|
|
39288
39439
|
for (const [sourceKey, xmlKey] of numberMap) {
|
|
39289
|
-
const value =
|
|
39440
|
+
const value = overrides11[sourceKey];
|
|
39290
39441
|
if (value === void 0) {
|
|
39291
39442
|
continue;
|
|
39292
39443
|
}
|
|
@@ -39344,16 +39495,16 @@ var PptxDocumentPropertiesUpdater = class {
|
|
|
39344
39495
|
const ctData = this.context.parser.parse(ctXml);
|
|
39345
39496
|
const types = ctData["Types"];
|
|
39346
39497
|
if (types) {
|
|
39347
|
-
const
|
|
39348
|
-
const hasCustomOverride =
|
|
39498
|
+
const overrides11 = Array.isArray(types["Override"]) ? types["Override"] : types["Override"] ? [types["Override"]] : [];
|
|
39499
|
+
const hasCustomOverride = overrides11.some(
|
|
39349
39500
|
(o) => String(o?.["@_PartName"] || "") === "/docProps/custom.xml"
|
|
39350
39501
|
);
|
|
39351
39502
|
if (!hasCustomOverride) {
|
|
39352
|
-
|
|
39503
|
+
overrides11.push({
|
|
39353
39504
|
"@_PartName": "/docProps/custom.xml",
|
|
39354
39505
|
"@_ContentType": customContentType
|
|
39355
39506
|
});
|
|
39356
|
-
types["Override"] =
|
|
39507
|
+
types["Override"] = overrides11.length === 1 ? overrides11[0] : overrides11;
|
|
39357
39508
|
this.context.zip.file("[Content_Types].xml", this.context.builder.build(ctData));
|
|
39358
39509
|
}
|
|
39359
39510
|
}
|
|
@@ -39407,11 +39558,11 @@ var PptxDocumentPropertiesUpdater = class {
|
|
|
39407
39558
|
const ctData = this.context.parser.parse(ctXml);
|
|
39408
39559
|
const types = ctData["Types"];
|
|
39409
39560
|
if (types) {
|
|
39410
|
-
const
|
|
39411
|
-
const filtered =
|
|
39561
|
+
const overrides11 = Array.isArray(types["Override"]) ? types["Override"] : types["Override"] ? [types["Override"]] : [];
|
|
39562
|
+
const filtered = overrides11.filter(
|
|
39412
39563
|
(o) => String(o?.["@_PartName"] || "") !== "/docProps/custom.xml"
|
|
39413
39564
|
);
|
|
39414
|
-
if (filtered.length !==
|
|
39565
|
+
if (filtered.length !== overrides11.length) {
|
|
39415
39566
|
types["Override"] = filtered.length === 1 ? filtered[0] : filtered;
|
|
39416
39567
|
this.context.zip.file("[Content_Types].xml", this.context.builder.build(ctData));
|
|
39417
39568
|
}
|
|
@@ -39725,15 +39876,15 @@ async function ensureSlideSyncContentType(zip, parser, writer, partPath, content
|
|
|
39725
39876
|
const data = parser.parse(xml);
|
|
39726
39877
|
const root = data["Types"] || {};
|
|
39727
39878
|
const values = root["Override"];
|
|
39728
|
-
const
|
|
39879
|
+
const overrides11 = Array.isArray(values) ? values : values ? [values] : [];
|
|
39729
39880
|
const partName = `/${partPath.replace(/^\//u, "")}`;
|
|
39730
|
-
const entry2 =
|
|
39881
|
+
const entry2 = overrides11.find((item) => item["@_PartName"] === partName);
|
|
39731
39882
|
if (entry2) {
|
|
39732
39883
|
entry2["@_ContentType"] = contentType;
|
|
39733
39884
|
} else {
|
|
39734
|
-
|
|
39885
|
+
overrides11.push({ "@_PartName": partName, "@_ContentType": contentType });
|
|
39735
39886
|
}
|
|
39736
|
-
root["Override"] =
|
|
39887
|
+
root["Override"] = overrides11;
|
|
39737
39888
|
data["Types"] = root;
|
|
39738
39889
|
zip.file("[Content_Types].xml", writer.build(data));
|
|
39739
39890
|
}
|
|
@@ -45389,6 +45540,16 @@ var CONTAINER_LOCAL_NAME_TO_TYPE = {
|
|
|
45389
45540
|
function chartContainerLocalNameToType(localName25) {
|
|
45390
45541
|
return CONTAINER_LOCAL_NAME_TO_TYPE[localName25];
|
|
45391
45542
|
}
|
|
45543
|
+
var LINE_DRAWN_CHART_TYPES = /* @__PURE__ */ new Set([
|
|
45544
|
+
"line",
|
|
45545
|
+
"line3D",
|
|
45546
|
+
"scatter",
|
|
45547
|
+
"radar",
|
|
45548
|
+
"stock"
|
|
45549
|
+
]);
|
|
45550
|
+
function isLineDrawnChartType(type) {
|
|
45551
|
+
return type !== void 0 && LINE_DRAWN_CHART_TYPES.has(type);
|
|
45552
|
+
}
|
|
45392
45553
|
function parseChartDateCategories(seriesNode, xmlLookup) {
|
|
45393
45554
|
const cat = xmlLookup.getChildByLocalName(seriesNode, "cat");
|
|
45394
45555
|
const numeric = xmlLookup.getChildByLocalName(cat, "numRef") || xmlLookup.getChildByLocalName(cat, "numLit");
|
|
@@ -47958,9 +48119,9 @@ var nextRelationshipId = (relationships) => {
|
|
|
47958
48119
|
}
|
|
47959
48120
|
return `rId${index}`;
|
|
47960
48121
|
};
|
|
47961
|
-
var updateOverride = (
|
|
48122
|
+
var updateOverride = (overrides11, contentType, activePaths) => {
|
|
47962
48123
|
const active = new Set(activePaths.map((path) => `/${path.replace(/^\//, "")}`));
|
|
47963
|
-
const retained =
|
|
48124
|
+
const retained = overrides11.filter(
|
|
47964
48125
|
(entry2) => String(entry2["@_ContentType"] || "") !== contentType || active.has(String(entry2["@_PartName"] || ""))
|
|
47965
48126
|
);
|
|
47966
48127
|
for (const path of active) {
|
|
@@ -48011,14 +48172,14 @@ async function persistModernCommentPackage(init) {
|
|
|
48011
48172
|
if (contentTypesXml3) {
|
|
48012
48173
|
const data = init.parser.parse(contentTypesXml3);
|
|
48013
48174
|
const root = data["Types"] || {};
|
|
48014
|
-
let
|
|
48015
|
-
|
|
48016
|
-
|
|
48017
|
-
|
|
48175
|
+
let overrides11 = ensureArray9(root["Override"]);
|
|
48176
|
+
overrides11 = updateOverride(overrides11, MODERN_COMMENT_CONTENT_TYPE, activeCommentPaths);
|
|
48177
|
+
overrides11 = updateOverride(
|
|
48178
|
+
overrides11,
|
|
48018
48179
|
MODERN_AUTHOR_CONTENT_TYPE,
|
|
48019
48180
|
hasComments ? [authorPath] : []
|
|
48020
48181
|
);
|
|
48021
|
-
root["Override"] =
|
|
48182
|
+
root["Override"] = overrides11;
|
|
48022
48183
|
data["Types"] = root;
|
|
48023
48184
|
init.zip.file("[Content_Types].xml", init.xmlBuilder.build(data));
|
|
48024
48185
|
}
|
|
@@ -50195,17 +50356,17 @@ async function upsertContentTypes(zip, codec, contentTypes) {
|
|
|
50195
50356
|
}
|
|
50196
50357
|
const data = codec.parse(xml);
|
|
50197
50358
|
const root = data["Types"];
|
|
50198
|
-
const
|
|
50359
|
+
const overrides11 = ensureArray13(root["Override"]);
|
|
50199
50360
|
for (const [path, contentType] of contentTypes) {
|
|
50200
50361
|
const partName = `/${path}`;
|
|
50201
|
-
const existing =
|
|
50362
|
+
const existing = overrides11.find((entry2) => entry2["@_PartName"] === partName);
|
|
50202
50363
|
if (existing) {
|
|
50203
50364
|
existing["@_ContentType"] = contentType;
|
|
50204
50365
|
} else {
|
|
50205
|
-
|
|
50366
|
+
overrides11.push({ "@_PartName": partName, "@_ContentType": contentType });
|
|
50206
50367
|
}
|
|
50207
50368
|
}
|
|
50208
|
-
root["Override"] =
|
|
50369
|
+
root["Override"] = overrides11;
|
|
50209
50370
|
zip.file("[Content_Types].xml", codec.build(data));
|
|
50210
50371
|
}
|
|
50211
50372
|
function relsForSourcePart(source) {
|
|
@@ -50357,17 +50518,17 @@ async function upsertTagContentTypes(zip, codec, paths) {
|
|
|
50357
50518
|
}
|
|
50358
50519
|
const data = codec.parse(xml);
|
|
50359
50520
|
const root = data["Types"];
|
|
50360
|
-
const
|
|
50521
|
+
const overrides11 = ensureArray14(root["Override"]);
|
|
50361
50522
|
for (const path of paths) {
|
|
50362
50523
|
const partName = `/${path}`;
|
|
50363
|
-
const existing =
|
|
50524
|
+
const existing = overrides11.find((entry2) => entry2["@_PartName"] === partName);
|
|
50364
50525
|
if (existing) {
|
|
50365
50526
|
existing["@_ContentType"] = TAG_CONTENT_TYPE;
|
|
50366
50527
|
} else {
|
|
50367
|
-
|
|
50528
|
+
overrides11.push({ "@_PartName": partName, "@_ContentType": TAG_CONTENT_TYPE });
|
|
50368
50529
|
}
|
|
50369
50530
|
}
|
|
50370
|
-
root["Override"] =
|
|
50531
|
+
root["Override"] = overrides11;
|
|
50371
50532
|
zip.file("[Content_Types].xml", codec.build(data));
|
|
50372
50533
|
}
|
|
50373
50534
|
function sourcePartForRels(relsPath) {
|
|
@@ -51287,6 +51448,77 @@ function applyChartLegendToXml(chartRoot, style, getLocalName2, resolveColor2) {
|
|
|
51287
51448
|
}
|
|
51288
51449
|
applyLegendEntries(legendNode, style.legendEntries, getLocalName2, resolveColor2);
|
|
51289
51450
|
}
|
|
51451
|
+
function findKey18(obj, local, getLocalName2) {
|
|
51452
|
+
return Object.keys(obj).find((k) => getLocalName2(k) === local);
|
|
51453
|
+
}
|
|
51454
|
+
function insertBeforeLn(obj, key2, value, getLocalName2) {
|
|
51455
|
+
const keys = Object.keys(obj);
|
|
51456
|
+
const lnIdx = keys.findIndex((k) => getLocalName2(k) === "ln");
|
|
51457
|
+
const entries = keys.map((k) => [k, obj[k]]);
|
|
51458
|
+
const at = lnIdx === -1 ? entries.length : lnIdx;
|
|
51459
|
+
entries.splice(at, 0, [key2, value]);
|
|
51460
|
+
for (const k of keys) {
|
|
51461
|
+
delete obj[k];
|
|
51462
|
+
}
|
|
51463
|
+
for (const [k, v] of entries) {
|
|
51464
|
+
obj[k] = v;
|
|
51465
|
+
}
|
|
51466
|
+
}
|
|
51467
|
+
function insertFirst(obj, key2, value) {
|
|
51468
|
+
const keys = Object.keys(obj);
|
|
51469
|
+
const entries = keys.map((k) => [k, obj[k]]);
|
|
51470
|
+
for (const k of keys) {
|
|
51471
|
+
delete obj[k];
|
|
51472
|
+
}
|
|
51473
|
+
obj[key2] = value;
|
|
51474
|
+
for (const [k, v] of entries) {
|
|
51475
|
+
obj[k] = v;
|
|
51476
|
+
}
|
|
51477
|
+
}
|
|
51478
|
+
function writeSeriesColorToSpPr(spPr, hex4, isLineFamily, getLocalName2, resolveColor2) {
|
|
51479
|
+
const normalizedHex = hex4.replace(/^#/u, "");
|
|
51480
|
+
if (isLineFamily) {
|
|
51481
|
+
const lnKey = findKey18(spPr, "ln", getLocalName2) ?? "a:ln";
|
|
51482
|
+
const ln = spPr[lnKey] ?? {};
|
|
51483
|
+
const hadLn = Boolean(spPr[lnKey]);
|
|
51484
|
+
const noFillKey2 = findKey18(ln, "noFill", getLocalName2);
|
|
51485
|
+
if (noFillKey2) {
|
|
51486
|
+
delete ln[noFillKey2];
|
|
51487
|
+
}
|
|
51488
|
+
const lnFillKey = findKey18(ln, "solidFill", getLocalName2) ?? "a:solidFill";
|
|
51489
|
+
const authoredFill2 = ln[lnFillKey];
|
|
51490
|
+
const fillNode2 = serializeColorChoice(
|
|
51491
|
+
authoredFill2,
|
|
51492
|
+
authoredFill2 ? resolveColor2(authoredFill2) : void 0,
|
|
51493
|
+
normalizedHex
|
|
51494
|
+
);
|
|
51495
|
+
if (authoredFill2) {
|
|
51496
|
+
ln[lnFillKey] = fillNode2;
|
|
51497
|
+
} else {
|
|
51498
|
+
insertFirst(ln, lnFillKey, fillNode2);
|
|
51499
|
+
}
|
|
51500
|
+
if (!hadLn) {
|
|
51501
|
+
spPr[lnKey] = ln;
|
|
51502
|
+
}
|
|
51503
|
+
return;
|
|
51504
|
+
}
|
|
51505
|
+
const noFillKey = findKey18(spPr, "noFill", getLocalName2);
|
|
51506
|
+
if (noFillKey) {
|
|
51507
|
+
delete spPr[noFillKey];
|
|
51508
|
+
}
|
|
51509
|
+
const fillKey = findKey18(spPr, "solidFill", getLocalName2) ?? "a:solidFill";
|
|
51510
|
+
const authoredFill = spPr[fillKey];
|
|
51511
|
+
const fillNode = serializeColorChoice(
|
|
51512
|
+
authoredFill,
|
|
51513
|
+
authoredFill ? resolveColor2(authoredFill) : void 0,
|
|
51514
|
+
normalizedHex
|
|
51515
|
+
);
|
|
51516
|
+
if (authoredFill) {
|
|
51517
|
+
spPr[fillKey] = fillNode;
|
|
51518
|
+
} else {
|
|
51519
|
+
insertBeforeLn(spPr, fillKey, fillNode, getLocalName2);
|
|
51520
|
+
}
|
|
51521
|
+
}
|
|
51290
51522
|
var TITLE_ROLE = /* @__PURE__ */ new Set(["title", "ctrtitle"]);
|
|
51291
51523
|
var CONTENT_ROLE = /* @__PURE__ */ new Set([
|
|
51292
51524
|
"body",
|
|
@@ -58003,8 +58235,8 @@ var SCRIPT_CANDIDATES = {
|
|
|
58003
58235
|
};
|
|
58004
58236
|
function aggregateFontScriptOverrides(perPathMap) {
|
|
58005
58237
|
const aggregate2 = {};
|
|
58006
|
-
for (const
|
|
58007
|
-
for (const [script, typeface] of Object.entries(
|
|
58238
|
+
for (const overrides11 of perPathMap.values()) {
|
|
58239
|
+
for (const [script, typeface] of Object.entries(overrides11)) {
|
|
58008
58240
|
if (!(script in aggregate2)) {
|
|
58009
58241
|
aggregate2[script] = typeface;
|
|
58010
58242
|
}
|
|
@@ -60449,26 +60681,24 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime7 extends PptxHandlerRuntime
|
|
|
60449
60681
|
this.updateChartCacheValues(valNode, true, seriesData.values.map(String));
|
|
60450
60682
|
}
|
|
60451
60683
|
if (seriesData.color) {
|
|
60452
|
-
const
|
|
60453
|
-
|
|
60454
|
-
|
|
60455
|
-
|
|
60456
|
-
|
|
60457
|
-
|
|
60458
|
-
|
|
60459
|
-
|
|
60460
|
-
|
|
60461
|
-
|
|
60462
|
-
hex4
|
|
60463
|
-
);
|
|
60464
|
-
} else {
|
|
60465
|
-
const spPrKey = Object.keys(seriesNode).find(
|
|
60466
|
-
(k) => this.compatibilityService.getXmlLocalName(k) === "spPr"
|
|
60467
|
-
) ?? "c:spPr";
|
|
60468
|
-
seriesNode[spPrKey] = {
|
|
60469
|
-
"a:solidFill": { "a:srgbClr": { "@_val": hex4 } }
|
|
60470
|
-
};
|
|
60684
|
+
const isLineFamily = isLineDrawnChartType(
|
|
60685
|
+
seriesData.seriesChartType ?? chartData.chartType
|
|
60686
|
+
);
|
|
60687
|
+
const spPrKey = Object.keys(seriesNode).find(
|
|
60688
|
+
(k) => this.compatibilityService.getXmlLocalName(k) === "spPr"
|
|
60689
|
+
) ?? "c:spPr";
|
|
60690
|
+
let spPr = seriesNode[spPrKey];
|
|
60691
|
+
if (!spPr) {
|
|
60692
|
+
spPr = {};
|
|
60693
|
+
seriesNode[spPrKey] = spPr;
|
|
60471
60694
|
}
|
|
60695
|
+
writeSeriesColorToSpPr(
|
|
60696
|
+
spPr,
|
|
60697
|
+
seriesData.color,
|
|
60698
|
+
isLineFamily,
|
|
60699
|
+
(key2) => this.compatibilityService.getXmlLocalName(key2),
|
|
60700
|
+
(node) => this.parseColor(node)
|
|
60701
|
+
);
|
|
60472
60702
|
}
|
|
60473
60703
|
if (seriesData.trendlines !== void 0) {
|
|
60474
60704
|
applySeriesTrendlinesToXml(
|
|
@@ -60520,7 +60750,8 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime7 extends PptxHandlerRuntime
|
|
|
60520
60750
|
seriesData,
|
|
60521
60751
|
chartData.categories,
|
|
60522
60752
|
templateSeries,
|
|
60523
|
-
chartData.dateCategories
|
|
60753
|
+
chartData.dateCategories,
|
|
60754
|
+
isLineDrawnChartType(seriesData.seriesChartType ?? chartData.chartType)
|
|
60524
60755
|
);
|
|
60525
60756
|
newSeriesXmlNodes.push(newNode);
|
|
60526
60757
|
}
|
|
@@ -60956,8 +61187,12 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime7 extends PptxHandlerRuntime
|
|
|
60956
61187
|
* If a `templateSeries` is provided, it is deep-cloned and its data is
|
|
60957
61188
|
* replaced with the new series data. Otherwise, a minimal structure is
|
|
60958
61189
|
* built from scratch.
|
|
61190
|
+
*
|
|
61191
|
+
* @param isLineFamily - Whether the target chart family reads/writes its
|
|
61192
|
+
* series colour from `a:ln/a:solidFill` (line/line3D/scatter/radar/stock)
|
|
61193
|
+
* rather than a direct `a:solidFill`. See `isLineDrawnChartType`.
|
|
60959
61194
|
*/
|
|
60960
|
-
buildNewSeriesXml(seriesIndex, seriesData, categories, templateSeries, dateCategories) {
|
|
61195
|
+
buildNewSeriesXml(seriesIndex, seriesData, categories, templateSeries, dateCategories, isLineFamily = false) {
|
|
60961
61196
|
if (templateSeries) {
|
|
60962
61197
|
const clone3 = JSON.parse(JSON.stringify(templateSeries));
|
|
60963
61198
|
const idxNode = this.xmlLookupService.getChildByLocalName(clone3, "idx");
|
|
@@ -60984,22 +61219,13 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime7 extends PptxHandlerRuntime
|
|
|
60984
61219
|
if (seriesData.color) {
|
|
60985
61220
|
const spPr = this.xmlLookupService.getChildByLocalName(clone3, "spPr");
|
|
60986
61221
|
if (spPr) {
|
|
60987
|
-
|
|
60988
|
-
|
|
61222
|
+
writeSeriesColorToSpPr(
|
|
61223
|
+
spPr,
|
|
61224
|
+
seriesData.color,
|
|
61225
|
+
isLineFamily,
|
|
61226
|
+
(key2) => this.compatibilityService.getXmlLocalName(key2),
|
|
61227
|
+
(node) => this.parseColor(node)
|
|
60989
61228
|
);
|
|
60990
|
-
if (solidFillKey) {
|
|
60991
|
-
spPr[solidFillKey] = {
|
|
60992
|
-
"a:srgbClr": {
|
|
60993
|
-
"@_val": seriesData.color.replace("#", "")
|
|
60994
|
-
}
|
|
60995
|
-
};
|
|
60996
|
-
} else {
|
|
60997
|
-
spPr["a:solidFill"] = {
|
|
60998
|
-
"a:srgbClr": {
|
|
60999
|
-
"@_val": seriesData.color.replace("#", "")
|
|
61000
|
-
}
|
|
61001
|
-
};
|
|
61002
|
-
}
|
|
61003
61229
|
}
|
|
61004
61230
|
}
|
|
61005
61231
|
return clone3;
|
|
@@ -61016,11 +61242,7 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime7 extends PptxHandlerRuntime
|
|
|
61016
61242
|
}
|
|
61017
61243
|
}
|
|
61018
61244
|
},
|
|
61019
|
-
"c:spPr": {
|
|
61020
|
-
"a:solidFill": {
|
|
61021
|
-
"a:srgbClr": { "@_val": colorHex }
|
|
61022
|
-
}
|
|
61023
|
-
},
|
|
61245
|
+
"c:spPr": isLineFamily ? { "a:ln": { "a:solidFill": { "a:srgbClr": { "@_val": colorHex } } } } : { "a:solidFill": { "a:srgbClr": { "@_val": colorHex } } },
|
|
61024
61246
|
"c:cat": dateCategories ? {
|
|
61025
61247
|
"c:numRef": {
|
|
61026
61248
|
"c:numCache": {
|
|
@@ -61050,7 +61272,7 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime7 extends PptxHandlerRuntime
|
|
|
61050
61272
|
return ser;
|
|
61051
61273
|
}
|
|
61052
61274
|
};
|
|
61053
|
-
function
|
|
61275
|
+
function findKey19(node, name, localName25) {
|
|
61054
61276
|
return Object.keys(node).find((key2) => localName25(key2) === name);
|
|
61055
61277
|
}
|
|
61056
61278
|
function prefixFor2(node) {
|
|
@@ -61069,7 +61291,7 @@ function setChildren(node, name, values, localName25) {
|
|
|
61069
61291
|
if (values === void 0) {
|
|
61070
61292
|
return false;
|
|
61071
61293
|
}
|
|
61072
|
-
const existing =
|
|
61294
|
+
const existing = findKey19(node, name, localName25);
|
|
61073
61295
|
if (values.length === 0) {
|
|
61074
61296
|
if (existing) {
|
|
61075
61297
|
delete node[existing];
|
|
@@ -61096,7 +61318,7 @@ function applySmartArtDefinitionMetadata(node, metadata, localName25) {
|
|
|
61096
61318
|
changed = setChildren(node, "title", textNodes(metadata.titles), localName25) || changed;
|
|
61097
61319
|
changed = setChildren(node, "desc", textNodes(metadata.descriptions), localName25) || changed;
|
|
61098
61320
|
if (metadata.categories !== void 0) {
|
|
61099
|
-
const key2 =
|
|
61321
|
+
const key2 = findKey19(node, "catLst", localName25);
|
|
61100
61322
|
if (metadata.categories.length === 0) {
|
|
61101
61323
|
if (key2) {
|
|
61102
61324
|
delete node[key2];
|
|
@@ -61120,7 +61342,7 @@ function applySmartArtDefinitionMetadata(node, metadata, localName25) {
|
|
|
61120
61342
|
return changed;
|
|
61121
61343
|
}
|
|
61122
61344
|
function ensureLabels(node, localName25) {
|
|
61123
|
-
const key2 =
|
|
61345
|
+
const key2 = findKey19(node, "styleLbl", localName25) ?? `${prefixFor2(node)}styleLbl`;
|
|
61124
61346
|
return { key: key2, labels: objects2(node[key2]) };
|
|
61125
61347
|
}
|
|
61126
61348
|
function applySmartArtQuickStyleLabels(node, labels, localName25) {
|
|
@@ -61143,7 +61365,7 @@ var COLOR_LISTS = [
|
|
|
61143
61365
|
["textEffect", "txEffectClrLst"]
|
|
61144
61366
|
];
|
|
61145
61367
|
function applyColorList(label, name, metadata, localName25) {
|
|
61146
|
-
const key2 =
|
|
61368
|
+
const key2 = findKey19(label, name, localName25) ?? `${prefixFor2(label)}${name}`;
|
|
61147
61369
|
const list = objects2(label[key2])[0] ?? {};
|
|
61148
61370
|
if (metadata.method !== void 0) {
|
|
61149
61371
|
list["@_meth"] = metadata.method;
|
|
@@ -61181,7 +61403,7 @@ function toArray3(value) {
|
|
|
61181
61403
|
const obj = asObject(value);
|
|
61182
61404
|
return obj ? [obj] : [];
|
|
61183
61405
|
}
|
|
61184
|
-
function
|
|
61406
|
+
function findKey20(obj, name, getLocalName2) {
|
|
61185
61407
|
return Object.keys(obj).find((k) => getLocalName2(k) === name);
|
|
61186
61408
|
}
|
|
61187
61409
|
function hex3(value) {
|
|
@@ -61223,7 +61445,7 @@ function applySmartArtColorTransform(colorsDef, transform, getLocalName2, resolv
|
|
|
61223
61445
|
let mutated = false;
|
|
61224
61446
|
mutated = applySmartArtDefinitionMetadata(colorsDef, transform, getLocalName2) || mutated;
|
|
61225
61447
|
mutated = applySmartArtColorStyleLabels(colorsDef, transform.labels, getLocalName2) || mutated;
|
|
61226
|
-
const styleLblKey =
|
|
61448
|
+
const styleLblKey = findKey20(colorsDef, "styleLbl", getLocalName2);
|
|
61227
61449
|
if (!styleLblKey) {
|
|
61228
61450
|
return mutated;
|
|
61229
61451
|
}
|
|
@@ -61234,7 +61456,7 @@ function applySmartArtColorTransform(colorsDef, transform, getLocalName2, resolv
|
|
|
61234
61456
|
let fillIndex = 0;
|
|
61235
61457
|
let lineIndex = 0;
|
|
61236
61458
|
for (const label of labels) {
|
|
61237
|
-
const fillKey =
|
|
61459
|
+
const fillKey = findKey20(label, "fillClrLst", getLocalName2);
|
|
61238
61460
|
if (fillKey) {
|
|
61239
61461
|
const value = transform.fillColors[fillIndex++];
|
|
61240
61462
|
const list = asObject(label[fillKey]);
|
|
@@ -61243,7 +61465,7 @@ function applySmartArtColorTransform(colorsDef, transform, getLocalName2, resolv
|
|
|
61243
61465
|
mutated = true;
|
|
61244
61466
|
}
|
|
61245
61467
|
}
|
|
61246
|
-
const lineKey =
|
|
61468
|
+
const lineKey = findKey20(label, "linClrLst", getLocalName2);
|
|
61247
61469
|
if (lineKey) {
|
|
61248
61470
|
const value = transform.lineColors[lineIndex++];
|
|
61249
61471
|
const list = asObject(label[lineKey]);
|
|
@@ -61259,11 +61481,11 @@ function localName23(key2) {
|
|
|
61259
61481
|
const idx = key2.indexOf(":");
|
|
61260
61482
|
return idx >= 0 ? key2.slice(idx + 1) : key2;
|
|
61261
61483
|
}
|
|
61262
|
-
function
|
|
61484
|
+
function findKey21(obj, local) {
|
|
61263
61485
|
return Object.keys(obj).find((k) => localName23(k) === local);
|
|
61264
61486
|
}
|
|
61265
61487
|
function ensureChild(obj, local, prefixedFallback) {
|
|
61266
|
-
const key2 =
|
|
61488
|
+
const key2 = findKey21(obj, local) ?? prefixedFallback;
|
|
61267
61489
|
const existing = obj[key2];
|
|
61268
61490
|
if (existing && typeof existing === "object" && !Array.isArray(existing)) {
|
|
61269
61491
|
return existing;
|
|
@@ -61279,7 +61501,7 @@ function solidFill2(color2) {
|
|
|
61279
61501
|
return { "a:srgbClr": { "@_val": hexValue(color2) } };
|
|
61280
61502
|
}
|
|
61281
61503
|
function setSolidFill(parent, color2) {
|
|
61282
|
-
const key2 =
|
|
61504
|
+
const key2 = findKey21(parent, "solidFill") ?? "a:solidFill";
|
|
61283
61505
|
parent[key2] = solidFill2(color2);
|
|
61284
61506
|
}
|
|
61285
61507
|
function applyShapeStyle(pt2, style) {
|
|
@@ -61296,7 +61518,7 @@ function applyShapeStyle(pt2, style) {
|
|
|
61296
61518
|
}
|
|
61297
61519
|
}
|
|
61298
61520
|
function ensureFirstRunRPr(pt2) {
|
|
61299
|
-
const tKey =
|
|
61521
|
+
const tKey = findKey21(pt2, "t");
|
|
61300
61522
|
if (!tKey) {
|
|
61301
61523
|
return void 0;
|
|
61302
61524
|
}
|
|
@@ -61304,7 +61526,7 @@ function ensureFirstRunRPr(pt2) {
|
|
|
61304
61526
|
if (!body || typeof body !== "object" || Array.isArray(body)) {
|
|
61305
61527
|
return void 0;
|
|
61306
61528
|
}
|
|
61307
|
-
const pKey =
|
|
61529
|
+
const pKey = findKey21(body, "p");
|
|
61308
61530
|
if (!pKey) {
|
|
61309
61531
|
return void 0;
|
|
61310
61532
|
}
|
|
@@ -61313,7 +61535,7 @@ function ensureFirstRunRPr(pt2) {
|
|
|
61313
61535
|
if (!firstP || typeof firstP !== "object") {
|
|
61314
61536
|
return void 0;
|
|
61315
61537
|
}
|
|
61316
|
-
const rKey =
|
|
61538
|
+
const rKey = findKey21(firstP, "r");
|
|
61317
61539
|
if (!rKey) {
|
|
61318
61540
|
return void 0;
|
|
61319
61541
|
}
|
|
@@ -62237,27 +62459,27 @@ function applySmartArtChrome(dataModel, chrome, getLocalName2) {
|
|
|
62237
62459
|
if (!chrome || !chrome.backgroundColor && !chrome.outlineColor && (chrome.outlineWidth === null || chrome.outlineWidth === void 0)) {
|
|
62238
62460
|
return;
|
|
62239
62461
|
}
|
|
62240
|
-
const
|
|
62462
|
+
const findKey22 = (obj, name) => Object.keys(obj).find((k) => getLocalName2(k) === name);
|
|
62241
62463
|
if (chrome.backgroundColor) {
|
|
62242
62464
|
const hex4 = chrome.backgroundColor.replace("#", "");
|
|
62243
|
-
const bgKey =
|
|
62465
|
+
const bgKey = findKey22(dataModel, "bg") ?? "dgm:bg";
|
|
62244
62466
|
const bg = asObject2(dataModel[bgKey]);
|
|
62245
|
-
const fillKey =
|
|
62467
|
+
const fillKey = findKey22(bg, "solidFill") ?? "a:solidFill";
|
|
62246
62468
|
bg[fillKey] = { "a:srgbClr": { "@_val": hex4 } };
|
|
62247
62469
|
dataModel[bgKey] = bg;
|
|
62248
62470
|
}
|
|
62249
62471
|
const hasOutlineWidth = chrome.outlineWidth !== null && chrome.outlineWidth !== void 0;
|
|
62250
62472
|
if (chrome.outlineColor || hasOutlineWidth) {
|
|
62251
|
-
const wholeKey =
|
|
62473
|
+
const wholeKey = findKey22(dataModel, "whole") ?? "dgm:whole";
|
|
62252
62474
|
const whole = asObject2(dataModel[wholeKey]);
|
|
62253
|
-
const lnKey =
|
|
62475
|
+
const lnKey = findKey22(whole, "ln") ?? "a:ln";
|
|
62254
62476
|
const ln = asObject2(whole[lnKey]);
|
|
62255
62477
|
if (hasOutlineWidth) {
|
|
62256
62478
|
ln["@_w"] = String(Math.round(chrome.outlineWidth * 12700));
|
|
62257
62479
|
}
|
|
62258
62480
|
if (chrome.outlineColor) {
|
|
62259
62481
|
const hex4 = chrome.outlineColor.replace("#", "");
|
|
62260
|
-
const fillKey =
|
|
62482
|
+
const fillKey = findKey22(ln, "solidFill") ?? "a:solidFill";
|
|
62261
62483
|
ln[fillKey] = { "a:srgbClr": { "@_val": hex4 } };
|
|
62262
62484
|
}
|
|
62263
62485
|
whole[lnKey] = ln;
|
|
@@ -63235,12 +63457,12 @@ var PptxHandlerRuntime25 = class extends PptxHandlerRuntime24 {
|
|
|
63235
63457
|
if (ctXml) {
|
|
63236
63458
|
const ctData = this.parser.parse(ctXml);
|
|
63237
63459
|
const typesRoot = ctData?.Types ?? {};
|
|
63238
|
-
const
|
|
63239
|
-
const filteredOverrides =
|
|
63460
|
+
const overrides11 = this.ensureArray(typesRoot.Override);
|
|
63461
|
+
const filteredOverrides = overrides11.filter((o) => {
|
|
63240
63462
|
const partName = String(o?.["@_PartName"] || "");
|
|
63241
63463
|
return !partName.startsWith("/_xmlsignatures/");
|
|
63242
63464
|
});
|
|
63243
|
-
if (filteredOverrides.length !==
|
|
63465
|
+
if (filteredOverrides.length !== overrides11.length) {
|
|
63244
63466
|
typesRoot.Override = filteredOverrides;
|
|
63245
63467
|
ctData.Types = typesRoot;
|
|
63246
63468
|
this.zip.file("[Content_Types].xml", this.builder.build(ctData));
|
|
@@ -63964,155 +64186,87 @@ var PptxHandlerRuntime28 = class _PptxHandlerRuntime9 extends PptxHandlerRuntime
|
|
|
63964
64186
|
}
|
|
63965
64187
|
}
|
|
63966
64188
|
};
|
|
63967
|
-
|
|
63968
|
-
|
|
63969
|
-
|
|
63970
|
-
|
|
63971
|
-
|
|
63972
|
-
|
|
63973
|
-
|
|
63974
|
-
|
|
63975
|
-
|
|
63976
|
-
|
|
63977
|
-
|
|
63978
|
-
|
|
63979
|
-
|
|
63980
|
-
|
|
63981
|
-
|
|
63982
|
-
|
|
63983
|
-
|
|
63984
|
-
|
|
64189
|
+
function writeShapeEffects(spPr, shapeStyle, ctx) {
|
|
64190
|
+
if (effectIsPurelyStyleMatrix(shapeStyle)) {
|
|
64191
|
+
return;
|
|
64192
|
+
}
|
|
64193
|
+
writeEffectList(spPr, shapeStyle, ctx);
|
|
64194
|
+
writeEffectDag(spPr, shapeStyle);
|
|
64195
|
+
writeScene3d(spPr, shapeStyle);
|
|
64196
|
+
writeShape3d(spPr, shapeStyle);
|
|
64197
|
+
}
|
|
64198
|
+
function writeEffectList(spPr, shapeStyle, ctx) {
|
|
64199
|
+
const {
|
|
64200
|
+
outerShadowXml,
|
|
64201
|
+
presetShadowXml,
|
|
64202
|
+
innerShadowXml,
|
|
64203
|
+
glowXml,
|
|
64204
|
+
softEdgeXml,
|
|
64205
|
+
reflectionXml,
|
|
64206
|
+
blurXml
|
|
64207
|
+
} = ctx;
|
|
64208
|
+
const hasAnyEffect = outerShadowXml || presetShadowXml || innerShadowXml || glowXml || softEdgeXml || reflectionXml || blurXml;
|
|
64209
|
+
if (hasAnyEffect || shapeStyle.effectListXml) {
|
|
64210
|
+
const effectList = createEffectList(shapeStyle, spPr);
|
|
64211
|
+
if (presetShadowXml) {
|
|
64212
|
+
setEffectChild(effectList, "prstShdw", presetShadowXml);
|
|
64213
|
+
setEffectChild(effectList, "outerShdw", void 0);
|
|
64214
|
+
} else if (outerShadowXml) {
|
|
64215
|
+
setEffectChild(effectList, "outerShdw", outerShadowXml);
|
|
64216
|
+
setEffectChild(effectList, "prstShdw", void 0);
|
|
64217
|
+
}
|
|
64218
|
+
if (innerShadowXml) {
|
|
64219
|
+
setEffectChild(effectList, "innerShdw", innerShadowXml);
|
|
64220
|
+
}
|
|
64221
|
+
if (glowXml) {
|
|
64222
|
+
setEffectChild(effectList, "glow", glowXml);
|
|
64223
|
+
}
|
|
64224
|
+
if (softEdgeXml) {
|
|
64225
|
+
setEffectChild(effectList, "softEdge", softEdgeXml);
|
|
64226
|
+
}
|
|
64227
|
+
if (reflectionXml) {
|
|
64228
|
+
setEffectChild(effectList, "reflection", reflectionXml);
|
|
64229
|
+
}
|
|
64230
|
+
if (blurXml) {
|
|
64231
|
+
setEffectChild(effectList, "blur", blurXml);
|
|
64232
|
+
}
|
|
64233
|
+
setEffectChild(spPr, "effectLst", reorderObjectKeys(effectList, EFFECT_LST_ORDER));
|
|
64234
|
+
} else {
|
|
64235
|
+
const effectList = effectChild(spPr, "effectLst");
|
|
64236
|
+
if (effectList) {
|
|
64237
|
+
if (shapeStyle.shadowColor !== void 0 && !outerShadowXml && !presetShadowXml) {
|
|
63985
64238
|
setEffectChild(effectList, "outerShdw", void 0);
|
|
63986
|
-
} else if (outerShadowXml) {
|
|
63987
|
-
setEffectChild(effectList, "outerShdw", outerShadowXml);
|
|
63988
64239
|
setEffectChild(effectList, "prstShdw", void 0);
|
|
63989
64240
|
}
|
|
63990
|
-
if (innerShadowXml) {
|
|
63991
|
-
setEffectChild(effectList, "innerShdw",
|
|
63992
|
-
}
|
|
63993
|
-
if (glowXml) {
|
|
63994
|
-
setEffectChild(effectList, "glow", glowXml);
|
|
63995
|
-
}
|
|
63996
|
-
if (softEdgeXml) {
|
|
63997
|
-
setEffectChild(effectList, "softEdge", softEdgeXml);
|
|
64241
|
+
if (shapeStyle.innerShadowColor !== void 0 && !innerShadowXml) {
|
|
64242
|
+
setEffectChild(effectList, "innerShdw", void 0);
|
|
63998
64243
|
}
|
|
63999
|
-
if (
|
|
64000
|
-
setEffectChild(effectList, "
|
|
64244
|
+
if (shapeStyle.glowColor !== void 0 && !glowXml) {
|
|
64245
|
+
setEffectChild(effectList, "glow", void 0);
|
|
64001
64246
|
}
|
|
64002
|
-
if (
|
|
64003
|
-
setEffectChild(effectList, "
|
|
64247
|
+
if (shapeStyle.softEdgeRadius !== void 0 && !softEdgeXml) {
|
|
64248
|
+
setEffectChild(effectList, "softEdge", void 0);
|
|
64004
64249
|
}
|
|
64005
|
-
|
|
64006
|
-
|
|
64007
|
-
const effectList = effectChild(spPr, "effectLst");
|
|
64008
|
-
if (effectList) {
|
|
64009
|
-
if (shapeStyle.shadowColor !== void 0 && !outerShadowXml && !presetShadowXml) {
|
|
64010
|
-
setEffectChild(effectList, "outerShdw", void 0);
|
|
64011
|
-
setEffectChild(effectList, "prstShdw", void 0);
|
|
64012
|
-
}
|
|
64013
|
-
if (shapeStyle.innerShadowColor !== void 0 && !innerShadowXml) {
|
|
64014
|
-
setEffectChild(effectList, "innerShdw", void 0);
|
|
64015
|
-
}
|
|
64016
|
-
if (shapeStyle.glowColor !== void 0 && !glowXml) {
|
|
64017
|
-
setEffectChild(effectList, "glow", void 0);
|
|
64018
|
-
}
|
|
64019
|
-
if (shapeStyle.softEdgeRadius !== void 0 && !softEdgeXml) {
|
|
64020
|
-
setEffectChild(effectList, "softEdge", void 0);
|
|
64021
|
-
}
|
|
64022
|
-
if (shapeStyle.reflectionBlurRadius !== void 0 && !reflectionXml) {
|
|
64023
|
-
setEffectChild(effectList, "reflection", void 0);
|
|
64024
|
-
}
|
|
64025
|
-
if (shapeStyle.blurRadius !== void 0 && !blurXml) {
|
|
64026
|
-
setEffectChild(effectList, "blur", void 0);
|
|
64027
|
-
}
|
|
64028
|
-
if (Object.keys(effectList).length === 0) {
|
|
64029
|
-
setEffectChild(spPr, "effectLst", void 0);
|
|
64030
|
-
} else {
|
|
64031
|
-
setEffectChild(spPr, "effectLst", reorderObjectKeys(effectList, EFFECT_LST_ORDER));
|
|
64032
|
-
}
|
|
64250
|
+
if (shapeStyle.reflectionBlurRadius !== void 0 && !reflectionXml) {
|
|
64251
|
+
setEffectChild(effectList, "reflection", void 0);
|
|
64033
64252
|
}
|
|
64034
|
-
|
|
64035
|
-
|
|
64036
|
-
if (effectDagXml) {
|
|
64037
|
-
setEffectChild(spPr, "effectDag", effectDagXml);
|
|
64038
|
-
}
|
|
64039
|
-
if (shapeStyle.scene3d) {
|
|
64040
|
-
const s3d = shapeStyle.scene3d;
|
|
64041
|
-
const hasData = s3d.cameraPreset || s3d.lightRigType;
|
|
64042
|
-
if (hasData) {
|
|
64043
|
-
const source = spPr["a:scene3d"] ?? {};
|
|
64044
|
-
const scene3dXml = { ...source };
|
|
64045
|
-
scene3dXml["a:camera"] = buildScene3dCamera(s3d, source);
|
|
64046
|
-
const lightRig = buildScene3dLightRig(s3d, source);
|
|
64047
|
-
if (lightRig) {
|
|
64048
|
-
scene3dXml["a:lightRig"] = lightRig;
|
|
64049
|
-
}
|
|
64050
|
-
const backdrop = buildScene3dBackdrop(s3d);
|
|
64051
|
-
if (backdrop) {
|
|
64052
|
-
scene3dXml["a:backdrop"] = backdrop;
|
|
64053
|
-
} else {
|
|
64054
|
-
delete scene3dXml["a:backdrop"];
|
|
64055
|
-
}
|
|
64056
|
-
spPr["a:scene3d"] = scene3dXml;
|
|
64057
|
-
} else {
|
|
64058
|
-
delete spPr["a:scene3d"];
|
|
64253
|
+
if (shapeStyle.blurRadius !== void 0 && !blurXml) {
|
|
64254
|
+
setEffectChild(effectList, "blur", void 0);
|
|
64059
64255
|
}
|
|
64060
|
-
|
|
64061
|
-
|
|
64062
|
-
}
|
|
64063
|
-
if (shapeStyle.shape3d) {
|
|
64064
|
-
const sh3d = shapeStyle.shape3d;
|
|
64065
|
-
const hasData = sh3d.extrusionHeight !== void 0 || sh3d.contourWidth !== void 0 || sh3d.presetMaterial || sh3d.bevelTopType || sh3d.bevelBottomType || sh3d.extrusionColor || sh3d.contourColor;
|
|
64066
|
-
if (hasData) {
|
|
64067
|
-
const sp3dXml = {};
|
|
64068
|
-
if (sh3d.extrusionHeight !== void 0) {
|
|
64069
|
-
sp3dXml["@_extrusionH"] = String(sh3d.extrusionHeight);
|
|
64070
|
-
}
|
|
64071
|
-
if (sh3d.contourWidth !== void 0) {
|
|
64072
|
-
sp3dXml["@_contourW"] = String(sh3d.contourWidth);
|
|
64073
|
-
}
|
|
64074
|
-
if (sh3d.presetMaterial) {
|
|
64075
|
-
sp3dXml["@_prstMaterial"] = sh3d.presetMaterial;
|
|
64076
|
-
}
|
|
64077
|
-
if (sh3d.bevelTopType) {
|
|
64078
|
-
const bevelT = { "@_prst": sh3d.bevelTopType };
|
|
64079
|
-
if (sh3d.bevelTopWidth !== void 0) {
|
|
64080
|
-
bevelT["@_w"] = String(sh3d.bevelTopWidth);
|
|
64081
|
-
}
|
|
64082
|
-
if (sh3d.bevelTopHeight !== void 0) {
|
|
64083
|
-
bevelT["@_h"] = String(sh3d.bevelTopHeight);
|
|
64084
|
-
}
|
|
64085
|
-
sp3dXml["a:bevelT"] = bevelT;
|
|
64086
|
-
}
|
|
64087
|
-
if (sh3d.bevelBottomType) {
|
|
64088
|
-
const bevelB = { "@_prst": sh3d.bevelBottomType };
|
|
64089
|
-
if (sh3d.bevelBottomWidth !== void 0) {
|
|
64090
|
-
bevelB["@_w"] = String(sh3d.bevelBottomWidth);
|
|
64091
|
-
}
|
|
64092
|
-
if (sh3d.bevelBottomHeight !== void 0) {
|
|
64093
|
-
bevelB["@_h"] = String(sh3d.bevelBottomHeight);
|
|
64094
|
-
}
|
|
64095
|
-
sp3dXml["a:bevelB"] = bevelB;
|
|
64096
|
-
}
|
|
64097
|
-
if (sh3d.extrusionColor) {
|
|
64098
|
-
sp3dXml["a:extrusionClr"] = {
|
|
64099
|
-
"a:srgbClr": { "@_val": sh3d.extrusionColor.replace("#", "") }
|
|
64100
|
-
};
|
|
64101
|
-
}
|
|
64102
|
-
if (sh3d.contourColor) {
|
|
64103
|
-
sp3dXml["a:contourClr"] = {
|
|
64104
|
-
"a:srgbClr": { "@_val": sh3d.contourColor.replace("#", "") }
|
|
64105
|
-
};
|
|
64106
|
-
}
|
|
64107
|
-
spPr["a:sp3d"] = sp3dXml;
|
|
64256
|
+
if (Object.keys(effectList).length === 0) {
|
|
64257
|
+
setEffectChild(spPr, "effectLst", void 0);
|
|
64108
64258
|
} else {
|
|
64109
|
-
|
|
64259
|
+
setEffectChild(spPr, "effectLst", reorderObjectKeys(effectList, EFFECT_LST_ORDER));
|
|
64110
64260
|
}
|
|
64111
|
-
} else if (shapeStyle.shape3d === void 0) {
|
|
64112
|
-
delete spPr["a:sp3d"];
|
|
64113
64261
|
}
|
|
64114
64262
|
}
|
|
64115
|
-
}
|
|
64263
|
+
}
|
|
64264
|
+
function writeEffectDag(spPr, shapeStyle) {
|
|
64265
|
+
const effectDagXml = shapeStyle.effectDagTree ? serializeEffectDagContainer(shapeStyle.effectDagTree) : shapeStyle.effectDagXml;
|
|
64266
|
+
if (effectDagXml) {
|
|
64267
|
+
setEffectChild(spPr, "effectDag", effectDagXml);
|
|
64268
|
+
}
|
|
64269
|
+
}
|
|
64116
64270
|
function buildSphereRot(lat, lon, rev) {
|
|
64117
64271
|
if (lat === void 0 && lon === void 0 && rev === void 0) {
|
|
64118
64272
|
return void 0;
|
|
@@ -64184,6 +64338,109 @@ function buildScene3dBackdrop(s3d) {
|
|
|
64184
64338
|
}
|
|
64185
64339
|
};
|
|
64186
64340
|
}
|
|
64341
|
+
function writeScene3d(spPr, shapeStyle) {
|
|
64342
|
+
if (shapeStyle.scene3d) {
|
|
64343
|
+
const s3d = shapeStyle.scene3d;
|
|
64344
|
+
const hasData = s3d.cameraPreset || s3d.lightRigType;
|
|
64345
|
+
if (hasData) {
|
|
64346
|
+
const source = spPr["a:scene3d"] ?? {};
|
|
64347
|
+
const scene3dXml = { ...source };
|
|
64348
|
+
scene3dXml["a:camera"] = buildScene3dCamera(s3d, source);
|
|
64349
|
+
const lightRig = buildScene3dLightRig(s3d, source);
|
|
64350
|
+
if (lightRig) {
|
|
64351
|
+
scene3dXml["a:lightRig"] = lightRig;
|
|
64352
|
+
}
|
|
64353
|
+
const backdrop = buildScene3dBackdrop(s3d);
|
|
64354
|
+
if (backdrop) {
|
|
64355
|
+
scene3dXml["a:backdrop"] = backdrop;
|
|
64356
|
+
} else {
|
|
64357
|
+
delete scene3dXml["a:backdrop"];
|
|
64358
|
+
}
|
|
64359
|
+
spPr["a:scene3d"] = scene3dXml;
|
|
64360
|
+
} else {
|
|
64361
|
+
delete spPr["a:scene3d"];
|
|
64362
|
+
}
|
|
64363
|
+
} else if (shapeStyle.scene3d === void 0) {
|
|
64364
|
+
delete spPr["a:scene3d"];
|
|
64365
|
+
}
|
|
64366
|
+
}
|
|
64367
|
+
function writeShape3d(spPr, shapeStyle) {
|
|
64368
|
+
if (shapeStyle.shape3d) {
|
|
64369
|
+
const sh3d = shapeStyle.shape3d;
|
|
64370
|
+
const hasData = sh3d.extrusionHeight !== void 0 || sh3d.contourWidth !== void 0 || sh3d.presetMaterial || sh3d.bevelTopType || sh3d.bevelBottomType || sh3d.extrusionColor || sh3d.contourColor;
|
|
64371
|
+
if (hasData) {
|
|
64372
|
+
const sp3dXml = {};
|
|
64373
|
+
if (sh3d.extrusionHeight !== void 0) {
|
|
64374
|
+
sp3dXml["@_extrusionH"] = String(sh3d.extrusionHeight);
|
|
64375
|
+
}
|
|
64376
|
+
if (sh3d.contourWidth !== void 0) {
|
|
64377
|
+
sp3dXml["@_contourW"] = String(sh3d.contourWidth);
|
|
64378
|
+
}
|
|
64379
|
+
if (sh3d.presetMaterial) {
|
|
64380
|
+
sp3dXml["@_prstMaterial"] = sh3d.presetMaterial;
|
|
64381
|
+
}
|
|
64382
|
+
if (sh3d.bevelTopType) {
|
|
64383
|
+
const bevelT = { "@_prst": sh3d.bevelTopType };
|
|
64384
|
+
if (sh3d.bevelTopWidth !== void 0) {
|
|
64385
|
+
bevelT["@_w"] = String(sh3d.bevelTopWidth);
|
|
64386
|
+
}
|
|
64387
|
+
if (sh3d.bevelTopHeight !== void 0) {
|
|
64388
|
+
bevelT["@_h"] = String(sh3d.bevelTopHeight);
|
|
64389
|
+
}
|
|
64390
|
+
sp3dXml["a:bevelT"] = bevelT;
|
|
64391
|
+
}
|
|
64392
|
+
if (sh3d.bevelBottomType) {
|
|
64393
|
+
const bevelB = { "@_prst": sh3d.bevelBottomType };
|
|
64394
|
+
if (sh3d.bevelBottomWidth !== void 0) {
|
|
64395
|
+
bevelB["@_w"] = String(sh3d.bevelBottomWidth);
|
|
64396
|
+
}
|
|
64397
|
+
if (sh3d.bevelBottomHeight !== void 0) {
|
|
64398
|
+
bevelB["@_h"] = String(sh3d.bevelBottomHeight);
|
|
64399
|
+
}
|
|
64400
|
+
sp3dXml["a:bevelB"] = bevelB;
|
|
64401
|
+
}
|
|
64402
|
+
if (sh3d.extrusionColor) {
|
|
64403
|
+
sp3dXml["a:extrusionClr"] = {
|
|
64404
|
+
"a:srgbClr": { "@_val": sh3d.extrusionColor.replace("#", "") }
|
|
64405
|
+
};
|
|
64406
|
+
}
|
|
64407
|
+
if (sh3d.contourColor) {
|
|
64408
|
+
sp3dXml["a:contourClr"] = {
|
|
64409
|
+
"a:srgbClr": { "@_val": sh3d.contourColor.replace("#", "") }
|
|
64410
|
+
};
|
|
64411
|
+
}
|
|
64412
|
+
spPr["a:sp3d"] = sp3dXml;
|
|
64413
|
+
} else {
|
|
64414
|
+
delete spPr["a:sp3d"];
|
|
64415
|
+
}
|
|
64416
|
+
} else if (shapeStyle.shape3d === void 0) {
|
|
64417
|
+
delete spPr["a:sp3d"];
|
|
64418
|
+
}
|
|
64419
|
+
}
|
|
64420
|
+
var PptxHandlerRuntime29 = class extends PptxHandlerRuntime28 {
|
|
64421
|
+
/**
|
|
64422
|
+
* Serialize visual effects (shadow, glow, reflection, blur, soft edge),
|
|
64423
|
+
* effectDag, 3D scene, and 3D shape properties to the given spPr XML object.
|
|
64424
|
+
*
|
|
64425
|
+
* The whole body lives in {@link writeShapeEffects} as a free function so
|
|
64426
|
+
* the colocated unit test can import and drive the REAL logic (it used to
|
|
64427
|
+
* keep a private copy - "its mixin chain crashes on load" - which meant it
|
|
64428
|
+
* could not fail when production drifted). This method only supplies the
|
|
64429
|
+
* runtime-bound effect builders.
|
|
64430
|
+
*/
|
|
64431
|
+
applyEffectsAndThreeD(spPr, shapeStyle) {
|
|
64432
|
+
const presetShadowXml = shapeStyle.presetShadowName ? this.buildPresetShadowXml(shapeStyle) : void 0;
|
|
64433
|
+
writeShapeEffects(spPr, shapeStyle, {
|
|
64434
|
+
outerShadowXml: presetShadowXml ? void 0 : this.buildOuterShadowXml(shapeStyle),
|
|
64435
|
+
presetShadowXml,
|
|
64436
|
+
innerShadowXml: this.buildInnerShadowXml(shapeStyle),
|
|
64437
|
+
glowXml: this.buildGlowXml(shapeStyle),
|
|
64438
|
+
softEdgeXml: this.buildSoftEdgeXml(shapeStyle),
|
|
64439
|
+
reflectionXml: this.buildReflectionXml(shapeStyle),
|
|
64440
|
+
blurXml: this.buildBlurXml(shapeStyle)
|
|
64441
|
+
});
|
|
64442
|
+
}
|
|
64443
|
+
};
|
|
64187
64444
|
var PptxHandlerRuntime30 = class _PptxHandlerRuntime10 extends PptxHandlerRuntime29 {
|
|
64188
64445
|
/**
|
|
64189
64446
|
* Build and write the text body (`p:txBody`) for shapes, text boxes,
|
|
@@ -64867,15 +65124,15 @@ var PptxHandlerRuntime32 = class _PptxHandlerRuntime11 extends PptxHandlerRuntim
|
|
|
64867
65124
|
}
|
|
64868
65125
|
const ctData = this.parser.parse(ctXml);
|
|
64869
65126
|
const typesRoot = ctData["Types"] || {};
|
|
64870
|
-
const
|
|
64871
|
-
const have = new Set(
|
|
65127
|
+
const overrides11 = Array.isArray(typesRoot["Override"]) ? typesRoot["Override"] : typesRoot["Override"] ? [typesRoot["Override"]] : [];
|
|
65128
|
+
const have = new Set(overrides11.map((o) => String(o?.["@_PartName"] || "")));
|
|
64872
65129
|
for (const entry2 of entries) {
|
|
64873
65130
|
if (!have.has(entry2.partName)) {
|
|
64874
|
-
|
|
65131
|
+
overrides11.push({ "@_PartName": entry2.partName, "@_ContentType": entry2.contentType });
|
|
64875
65132
|
have.add(entry2.partName);
|
|
64876
65133
|
}
|
|
64877
65134
|
}
|
|
64878
|
-
typesRoot["Override"] =
|
|
65135
|
+
typesRoot["Override"] = overrides11;
|
|
64879
65136
|
ctData["Types"] = typesRoot;
|
|
64880
65137
|
this.zip.file("[Content_Types].xml", this.builder.build(ctData));
|
|
64881
65138
|
}
|
|
@@ -64943,15 +65200,15 @@ var PptxHandlerRuntime33 = class extends PptxHandlerRuntime32 {
|
|
|
64943
65200
|
}
|
|
64944
65201
|
const data = this.parser.parse(xml);
|
|
64945
65202
|
const root = data["Types"] ?? {};
|
|
64946
|
-
const
|
|
64947
|
-
const existing = new Set(
|
|
65203
|
+
const overrides11 = Array.isArray(root["Override"]) ? root["Override"] : root["Override"] ? [root["Override"]] : [];
|
|
65204
|
+
const existing = new Set(overrides11.map((entry2) => String(entry2["@_PartName"] ?? "")));
|
|
64948
65205
|
for (const [path, contentType] of pending) {
|
|
64949
65206
|
const partName = `/${path}`;
|
|
64950
65207
|
if (!existing.has(partName)) {
|
|
64951
|
-
|
|
65208
|
+
overrides11.push({ "@_PartName": partName, "@_ContentType": contentType });
|
|
64952
65209
|
}
|
|
64953
65210
|
}
|
|
64954
|
-
root["Override"] =
|
|
65211
|
+
root["Override"] = overrides11;
|
|
64955
65212
|
data["Types"] = root;
|
|
64956
65213
|
this.zip.file("[Content_Types].xml", this.builder.build(data));
|
|
64957
65214
|
}
|
|
@@ -65912,8 +66169,8 @@ var PptxHandlerRuntime40 = class _PptxHandlerRuntime16 extends PptxHandlerRuntim
|
|
|
65912
66169
|
}
|
|
65913
66170
|
const ctData = this.parser.parse(ctXml);
|
|
65914
66171
|
const typesRoot = ctData["Types"] || {};
|
|
65915
|
-
const
|
|
65916
|
-
const have = new Set(
|
|
66172
|
+
const overrides11 = Array.isArray(typesRoot["Override"]) ? typesRoot["Override"] : typesRoot["Override"] ? [typesRoot["Override"]] : [];
|
|
66173
|
+
const have = new Set(overrides11.map((o) => String(o?.["@_PartName"] || "")));
|
|
65917
66174
|
for (const [p, contentType] of [
|
|
65918
66175
|
...(paths ?? []).map((path) => [path, CHART_CONTENT_TYPE]),
|
|
65919
66176
|
...(extendedPaths ?? []).map(
|
|
@@ -65925,11 +66182,11 @@ var PptxHandlerRuntime40 = class _PptxHandlerRuntime16 extends PptxHandlerRuntim
|
|
|
65925
66182
|
]) {
|
|
65926
66183
|
const partName = `/${p}`;
|
|
65927
66184
|
if (!have.has(partName)) {
|
|
65928
|
-
|
|
66185
|
+
overrides11.push({ "@_PartName": partName, "@_ContentType": contentType });
|
|
65929
66186
|
have.add(partName);
|
|
65930
66187
|
}
|
|
65931
66188
|
}
|
|
65932
|
-
typesRoot["Override"] =
|
|
66189
|
+
typesRoot["Override"] = overrides11;
|
|
65933
66190
|
ctData["Types"] = typesRoot;
|
|
65934
66191
|
this.zip.file("[Content_Types].xml", this.builder.build(ctData));
|
|
65935
66192
|
}
|
|
@@ -67857,7 +68114,15 @@ function orderContainer(container, plan, getLocalName2) {
|
|
|
67857
68114
|
return orderShapeTreeChildren(working, (node) => positions.get(node), getLocalName2);
|
|
67858
68115
|
}
|
|
67859
68116
|
function orderedTemplatePartXml(options) {
|
|
67860
|
-
const {
|
|
68117
|
+
const {
|
|
68118
|
+
runtime,
|
|
68119
|
+
partPath,
|
|
68120
|
+
xmlObj,
|
|
68121
|
+
rootTag: rootTag2,
|
|
68122
|
+
sourceXml,
|
|
68123
|
+
getLocalName: getLocalName2,
|
|
68124
|
+
alternateContentBlockByRawXml
|
|
68125
|
+
} = options;
|
|
67861
68126
|
const root = xmlObj[rootTag2];
|
|
67862
68127
|
if (!isXmlObject8(root)) {
|
|
67863
68128
|
return xmlObj;
|
|
@@ -67870,8 +68135,9 @@ function orderedTemplatePartXml(options) {
|
|
|
67870
68135
|
if (!isXmlObject8(spTree)) {
|
|
67871
68136
|
return xmlObj;
|
|
67872
68137
|
}
|
|
68138
|
+
const rewrapped = reapplyAlternateContentToTree(spTree, alternateContentBlockByRawXml);
|
|
67873
68139
|
const rebuilt = positionsByRuntime.get(runtime)?.get(partPath);
|
|
67874
|
-
const ordered32 = rebuilt ? orderShapeTreeChildren(
|
|
68140
|
+
const ordered32 = rebuilt ? orderShapeTreeChildren(rewrapped, (node) => rebuilt.get(node), getLocalName2) : orderContainer(rewrapped, sourceXml ? scanSpTreeDocumentOrder(sourceXml) : [], getLocalName2);
|
|
67875
68141
|
if (ordered32 === spTree) {
|
|
67876
68142
|
return xmlObj;
|
|
67877
68143
|
}
|
|
@@ -68011,7 +68277,8 @@ var PptxHandlerRuntime45 = class extends PptxHandlerRuntime44 {
|
|
|
68011
68277
|
xmlObj,
|
|
68012
68278
|
rootTag: rootTag2,
|
|
68013
68279
|
sourceXml: sourceXml ?? await this.zip.file(partPath)?.async("string"),
|
|
68014
|
-
getLocalName: (key2) => this.compatibilityService.getXmlLocalName(key2)
|
|
68280
|
+
getLocalName: (key2) => this.compatibilityService.getXmlLocalName(key2),
|
|
68281
|
+
alternateContentBlockByRawXml: this.alternateContentBlockByRawXml
|
|
68015
68282
|
});
|
|
68016
68283
|
}
|
|
68017
68284
|
getAuxiliaryMasterRelsPath(partPath) {
|
|
@@ -68524,11 +68791,11 @@ var PptxHandlerRuntime49 = class extends PptxHandlerRuntime48 {
|
|
|
68524
68791
|
}
|
|
68525
68792
|
const data = this.parser.parse(xml);
|
|
68526
68793
|
const root = data["Types"] ?? {};
|
|
68527
|
-
const
|
|
68528
|
-
if (!
|
|
68529
|
-
|
|
68794
|
+
const overrides11 = asArray3(root["Override"]);
|
|
68795
|
+
if (!overrides11.some((entry2) => entry2["@_PartName"] === partName)) {
|
|
68796
|
+
overrides11.push({ "@_PartName": partName, "@_ContentType": contentType });
|
|
68530
68797
|
}
|
|
68531
|
-
root["Override"] =
|
|
68798
|
+
root["Override"] = overrides11;
|
|
68532
68799
|
data["Types"] = root;
|
|
68533
68800
|
this.zip.file("[Content_Types].xml", this.builder.build(data));
|
|
68534
68801
|
}
|
|
@@ -68709,12 +68976,12 @@ var PptxHandlerRuntime50 = class extends PptxHandlerRuntime49 {
|
|
|
68709
68976
|
}
|
|
68710
68977
|
const data = this.parser.parse(xml);
|
|
68711
68978
|
const root = data["Types"] ?? {};
|
|
68712
|
-
const
|
|
68979
|
+
const overrides11 = asArray4(root["Override"]);
|
|
68713
68980
|
const partName = `/${masterPath}`;
|
|
68714
|
-
if (!
|
|
68715
|
-
|
|
68981
|
+
if (!overrides11.some((entry2) => entry2["@_PartName"] === partName)) {
|
|
68982
|
+
overrides11.push({ "@_PartName": partName, "@_ContentType": HANDOUT_MASTER_CONTENT_TYPE });
|
|
68716
68983
|
}
|
|
68717
|
-
root["Override"] =
|
|
68984
|
+
root["Override"] = overrides11;
|
|
68718
68985
|
data["Types"] = root;
|
|
68719
68986
|
this.zip.file("[Content_Types].xml", this.builder.build(data));
|
|
68720
68987
|
}
|
|
@@ -75732,8 +75999,8 @@ var PptxHandlerRuntime81 = class extends PptxHandlerRuntime80 {
|
|
|
75732
75999
|
*/
|
|
75733
76000
|
aggregateFontScriptOverrides(perPathMap) {
|
|
75734
76001
|
const aggregate2 = {};
|
|
75735
|
-
for (const
|
|
75736
|
-
for (const [script, typeface] of Object.entries(
|
|
76002
|
+
for (const overrides11 of perPathMap.values()) {
|
|
76003
|
+
for (const [script, typeface] of Object.entries(overrides11)) {
|
|
75737
76004
|
if (!(script in aggregate2)) {
|
|
75738
76005
|
aggregate2[script] = typeface;
|
|
75739
76006
|
}
|
|
@@ -75742,19 +76009,19 @@ var PptxHandlerRuntime81 = class extends PptxHandlerRuntime80 {
|
|
|
75742
76009
|
return aggregate2;
|
|
75743
76010
|
}
|
|
75744
76011
|
collectFontScriptOverrides(fontNode) {
|
|
75745
|
-
const
|
|
76012
|
+
const overrides11 = {};
|
|
75746
76013
|
if (!fontNode) {
|
|
75747
|
-
return
|
|
76014
|
+
return overrides11;
|
|
75748
76015
|
}
|
|
75749
76016
|
const fontEntries = this.ensureArray(fontNode["a:font"]);
|
|
75750
76017
|
for (const entry2 of fontEntries) {
|
|
75751
76018
|
const script = String(entry2?.["@_script"] || "").trim();
|
|
75752
76019
|
const typeface = this.normalizeTypefaceToken(String(entry2?.["@_typeface"] || ""));
|
|
75753
76020
|
if (script && typeface) {
|
|
75754
|
-
|
|
76021
|
+
overrides11[script] = typeface;
|
|
75755
76022
|
}
|
|
75756
76023
|
}
|
|
75757
|
-
return
|
|
76024
|
+
return overrides11;
|
|
75758
76025
|
}
|
|
75759
76026
|
/**
|
|
75760
76027
|
* Resolve the theme file path referenced by a given master's `.rels`.
|
|
@@ -78041,9 +78308,20 @@ var PptxHandlerRuntime91 = class extends PptxHandlerRuntime90 {
|
|
|
78041
78308
|
false
|
|
78042
78309
|
);
|
|
78043
78310
|
}
|
|
78044
|
-
const
|
|
78311
|
+
const resolvedContainerType = chartContainerLocalNameToType(
|
|
78312
|
+
this.compatibilityService.getXmlLocalName(containerKey)
|
|
78313
|
+
);
|
|
78314
|
+
const containerType = isCombo ? resolvedContainerType : void 0;
|
|
78045
78315
|
const axisId = resolveChartContainerValueAxisId(container, axes ?? [], this.xmlLookupService);
|
|
78046
|
-
series.push(
|
|
78316
|
+
series.push(
|
|
78317
|
+
...this.buildChartSeries(
|
|
78318
|
+
seriesList,
|
|
78319
|
+
categories,
|
|
78320
|
+
containerType,
|
|
78321
|
+
axisId,
|
|
78322
|
+
resolvedContainerType
|
|
78323
|
+
)
|
|
78324
|
+
);
|
|
78047
78325
|
}
|
|
78048
78326
|
return { categories, series };
|
|
78049
78327
|
}
|
|
@@ -78087,9 +78365,15 @@ var PptxHandlerRuntime91 = class extends PptxHandlerRuntime90 {
|
|
|
78087
78365
|
* @param categories - Pre-parsed category labels (used for fallback values).
|
|
78088
78366
|
* @param seriesChartType - When set (combo charts), tags every series in this
|
|
78089
78367
|
* container with its source chart type for round-trip.
|
|
78368
|
+
* @param axisId - The container's resolved value-axis id, if any.
|
|
78369
|
+
* @param containerChartType - The container's actual chart type, always
|
|
78370
|
+
* resolved (unlike `seriesChartType`, which is combo-only). Used to decide
|
|
78371
|
+
* whether this container's series read their colour from a direct fill or
|
|
78372
|
+
* from the outline (`a:ln/a:solidFill`), so a plain (non-combo)
|
|
78373
|
+
* line/scatter/radar/stock chart's authored colour is not dropped.
|
|
78090
78374
|
* @returns The series array matching `PptxChartData["series"]`.
|
|
78091
78375
|
*/
|
|
78092
|
-
buildChartSeries(seriesList, categories, seriesChartType, axisId) {
|
|
78376
|
+
buildChartSeries(seriesList, categories, seriesChartType, axisId, containerChartType) {
|
|
78093
78377
|
return seriesList.map((seriesNode, seriesIndex) => {
|
|
78094
78378
|
const seriesName = this.extractChartSeriesName(seriesNode);
|
|
78095
78379
|
const valNode = this.xmlLookupService.getChildByLocalName(seriesNode, "val") || this.xmlLookupService.getChildByLocalName(seriesNode, "yVal");
|
|
@@ -78112,7 +78396,7 @@ var PptxHandlerRuntime91 = class extends PptxHandlerRuntime90 {
|
|
|
78112
78396
|
) ?? ""
|
|
78113
78397
|
).trim();
|
|
78114
78398
|
const seriesShapeProperties = this.xmlLookupService.getChildByLocalName(seriesNode, "spPr");
|
|
78115
|
-
const readsLineColor =
|
|
78399
|
+
const readsLineColor = isLineDrawnChartType(containerChartType);
|
|
78116
78400
|
const seriesColor22 = this.parseColor(
|
|
78117
78401
|
this.xmlLookupService.getChildByLocalName(seriesShapeProperties, "solidFill")
|
|
78118
78402
|
) ?? (readsLineColor ? this.parseColor(
|
|
@@ -83725,7 +84009,226 @@ function assign8(ids, facets) {
|
|
|
83725
84009
|
overrides8[id] = facets;
|
|
83726
84010
|
}
|
|
83727
84011
|
}
|
|
83728
|
-
assign8(
|
|
84012
|
+
assign8(
|
|
84013
|
+
[
|
|
84014
|
+
"drawing:complexType:CT_LineProperties",
|
|
84015
|
+
"drawing:element:ln",
|
|
84016
|
+
"drawing:simpleType:ST_LineWidth"
|
|
84017
|
+
],
|
|
84018
|
+
{
|
|
84019
|
+
parse: "native",
|
|
84020
|
+
preserve: "native",
|
|
84021
|
+
edit: "native",
|
|
84022
|
+
serialize: "native",
|
|
84023
|
+
note: "The `a:ln` outline (width, fill choice, dash, join, cap, compound, alignment, and both line ends) is fully typed on the shared `ShapeStyle`. An `a:extLst` child, or any property still resolved from `a:lnRef`, is left untouched by the writer and so survives a dirty save unmodified.",
|
|
84024
|
+
evidence: [
|
|
84025
|
+
testEvidence(
|
|
84026
|
+
"src/core/core/builders/shape-style-line-helpers.test.ts",
|
|
84027
|
+
[
|
|
84028
|
+
"extracts line width from @_w (12700 EMU = 1pt \u2248 1.33px)",
|
|
84029
|
+
"extracts larger line width (38100 => 4px)"
|
|
84030
|
+
],
|
|
84031
|
+
["parse"]
|
|
84032
|
+
),
|
|
84033
|
+
testEvidence(
|
|
84034
|
+
"src/core/core/runtime/PptxHandlerRuntimeSaveShapeStyleWriter.test.ts",
|
|
84035
|
+
["should set stroke width in EMU and solid fill"],
|
|
84036
|
+
["edit", "serialize"]
|
|
84037
|
+
),
|
|
84038
|
+
testEvidence(
|
|
84039
|
+
"src/core/core/runtime/authored-shape-style.test.ts",
|
|
84040
|
+
[
|
|
84041
|
+
"does not invent an a:ln for an outline that comes from a:lnRef",
|
|
84042
|
+
"keeps an authored a:ln free of the theme width, colour, cap and join",
|
|
84043
|
+
"writes width and colour once the outline is edited"
|
|
84044
|
+
],
|
|
84045
|
+
["preserve", "edit", "serialize"]
|
|
84046
|
+
),
|
|
84047
|
+
testEvidence(
|
|
84048
|
+
"src/core/core/runtime/save-line-fill.test.ts",
|
|
84049
|
+
[
|
|
84050
|
+
"keeps the fill ahead of an authored a:prstDash",
|
|
84051
|
+
"keeps the fill ahead of the join and the line ends"
|
|
84052
|
+
],
|
|
84053
|
+
["preserve", "serialize"]
|
|
84054
|
+
)
|
|
84055
|
+
]
|
|
84056
|
+
}
|
|
84057
|
+
);
|
|
84058
|
+
assign8(["drawing:group:EG_LineFillProperties"], {
|
|
84059
|
+
parse: "native",
|
|
84060
|
+
preserve: "native",
|
|
84061
|
+
edit: "native",
|
|
84062
|
+
serialize: "native",
|
|
84063
|
+
note: "All four choice members of an outline fill (noFill, solidFill, gradFill, pattFill) are typed via `strokeFillMode`, with the gradient/pattern node preserved verbatim for re-emission (issue #87). Exactly one fill child is ever written, in schema order ahead of the dash/join/ends group.",
|
|
84064
|
+
evidence: [
|
|
84065
|
+
testEvidence(
|
|
84066
|
+
"src/core/core/builders/shape-style-line-helpers.test.ts",
|
|
84067
|
+
[
|
|
84068
|
+
"applies solid fill stroke color",
|
|
84069
|
+
"applies gradient fill stroke color via context callback",
|
|
84070
|
+
"applies pattern fill stroke color from foreground",
|
|
84071
|
+
"models a gradient outline and preserves the whole a:gradFill node",
|
|
84072
|
+
"models a pattern outline and preserves the whole a:pattFill node",
|
|
84073
|
+
'models a noFill outline (no hidden line) as strokeFillMode "none"'
|
|
84074
|
+
],
|
|
84075
|
+
["parse"]
|
|
84076
|
+
),
|
|
84077
|
+
testEvidence(
|
|
84078
|
+
"src/core/core/runtime/save-line-fill.test.ts",
|
|
84079
|
+
[
|
|
84080
|
+
"emits a single a:gradFill for a gradient outline, never a solid dual-fill",
|
|
84081
|
+
"emits a single a:pattFill for a pattern outline",
|
|
84082
|
+
"emits a single a:solidFill for a solid outline and clears any prior gradient",
|
|
84083
|
+
"emits a:noFill for a transparent / zero-width outline and clears fills"
|
|
84084
|
+
],
|
|
84085
|
+
["preserve", "edit", "serialize"]
|
|
84086
|
+
)
|
|
84087
|
+
]
|
|
84088
|
+
});
|
|
84089
|
+
assign8(
|
|
84090
|
+
[
|
|
84091
|
+
"drawing:group:EG_LineDashProperties",
|
|
84092
|
+
"drawing:complexType:CT_PresetLineDashProperties",
|
|
84093
|
+
"drawing:element:prstDash",
|
|
84094
|
+
"drawing:simpleType:ST_PresetLineDashVal"
|
|
84095
|
+
],
|
|
84096
|
+
{
|
|
84097
|
+
parse: "native",
|
|
84098
|
+
preserve: "native",
|
|
84099
|
+
edit: "native",
|
|
84100
|
+
serialize: "native",
|
|
84101
|
+
note: "All eleven `ST_PresetLineDashVal` values are typed on `strokeDash`; the sibling `custDash` choice (`CT_DashStopList`) has its own coverage entry. Editing back to a preset drops any prior custom dash-stop list.",
|
|
84102
|
+
evidence: [
|
|
84103
|
+
testEvidence(
|
|
84104
|
+
"src/core/core/builders/shape-style-line-helpers.test.ts",
|
|
84105
|
+
[
|
|
84106
|
+
"applies preset dash type 'dash'",
|
|
84107
|
+
"applies preset dash type 'dot'",
|
|
84108
|
+
"applies preset dash type 'lgDash'",
|
|
84109
|
+
"applies preset dash type 'sysDash'",
|
|
84110
|
+
"applies preset dash type 'dashDot'"
|
|
84111
|
+
],
|
|
84112
|
+
["parse"]
|
|
84113
|
+
),
|
|
84114
|
+
testEvidence(
|
|
84115
|
+
"src/core/core/runtime/PptxHandlerRuntimeSaveShapeStyleWriter.test.ts",
|
|
84116
|
+
["should remove dash styles when dash is 'solid'", "should set preset dash"],
|
|
84117
|
+
["edit", "serialize"]
|
|
84118
|
+
),
|
|
84119
|
+
testEvidence(
|
|
84120
|
+
"src/core/utils/drawing-line-dash.test.ts",
|
|
84121
|
+
["inserts custom dash before line joins and extensions"],
|
|
84122
|
+
["preserve", "serialize"]
|
|
84123
|
+
)
|
|
84124
|
+
]
|
|
84125
|
+
}
|
|
84126
|
+
);
|
|
84127
|
+
assign8(
|
|
84128
|
+
[
|
|
84129
|
+
"drawing:group:EG_LineJoinProperties",
|
|
84130
|
+
"drawing:complexType:CT_LineJoinRound",
|
|
84131
|
+
"drawing:complexType:CT_LineJoinBevel",
|
|
84132
|
+
"drawing:complexType:CT_LineJoinMiterProperties",
|
|
84133
|
+
"drawing:element:round",
|
|
84134
|
+
"drawing:element:bevel",
|
|
84135
|
+
"drawing:element:miter",
|
|
84136
|
+
"drawing:simpleType:ST_CompoundLine",
|
|
84137
|
+
"drawing:simpleType:ST_LineCap"
|
|
84138
|
+
],
|
|
84139
|
+
{
|
|
84140
|
+
parse: "native",
|
|
84141
|
+
preserve: "native",
|
|
84142
|
+
edit: "native",
|
|
84143
|
+
serialize: "native",
|
|
84144
|
+
note: "The join choice (round/bevel/miter, with the miter limit) and the `cap`/`cmpd` attributes are typed on `lineJoin`, `miterLimit`, `lineCap`, and `compoundLine`, covering all `ST_CompoundLine` and `ST_LineCap` enumerators. The miter limit is only emitted when it differs from the 800000 default, and a cap/join the shape authored on top of an `a:lnRef` theme baseline is kept while the reference-derived value is not written back.",
|
|
84145
|
+
evidence: [
|
|
84146
|
+
testEvidence(
|
|
84147
|
+
"src/core/core/builders/shape-style-line-helpers.test.ts",
|
|
84148
|
+
[
|
|
84149
|
+
"applies round line join",
|
|
84150
|
+
"applies bevel line join",
|
|
84151
|
+
"applies miter line join",
|
|
84152
|
+
"parses miter @_lim into miterLimit (E-H6)",
|
|
84153
|
+
"applies cap type 'rnd'",
|
|
84154
|
+
"applies cap type 'sq'",
|
|
84155
|
+
"applies cap type 'flat'",
|
|
84156
|
+
"applies compound line type 'dbl'",
|
|
84157
|
+
"applies compound line type 'thickThin'",
|
|
84158
|
+
"applies compound line type 'tri'"
|
|
84159
|
+
],
|
|
84160
|
+
["parse"]
|
|
84161
|
+
),
|
|
84162
|
+
testEvidence(
|
|
84163
|
+
"src/core/core/runtime/PptxHandlerRuntimeSaveShapeStyleWriter.test.ts",
|
|
84164
|
+
[
|
|
84165
|
+
"should set round join",
|
|
84166
|
+
"should set bevel join",
|
|
84167
|
+
"omits @lim on a miter join at the 800000 default",
|
|
84168
|
+
"emits @lim on a miter join with a non-default limit",
|
|
84169
|
+
"should set line cap",
|
|
84170
|
+
"should set compound line type"
|
|
84171
|
+
],
|
|
84172
|
+
["edit", "serialize"]
|
|
84173
|
+
),
|
|
84174
|
+
testEvidence(
|
|
84175
|
+
"src/core/core/runtime/authored-shape-style.test.ts",
|
|
84176
|
+
["keeps an outline property the shape authored on top of the reference"],
|
|
84177
|
+
["preserve"]
|
|
84178
|
+
)
|
|
84179
|
+
]
|
|
84180
|
+
}
|
|
84181
|
+
);
|
|
84182
|
+
assign8(
|
|
84183
|
+
[
|
|
84184
|
+
"drawing:complexType:CT_LineEndProperties",
|
|
84185
|
+
"drawing:element:headEnd",
|
|
84186
|
+
"drawing:element:tailEnd",
|
|
84187
|
+
"drawing:simpleType:ST_LineEndType",
|
|
84188
|
+
"drawing:simpleType:ST_LineEndWidth",
|
|
84189
|
+
"drawing:simpleType:ST_LineEndLength"
|
|
84190
|
+
],
|
|
84191
|
+
{
|
|
84192
|
+
parse: "native",
|
|
84193
|
+
preserve: "native",
|
|
84194
|
+
edit: "native",
|
|
84195
|
+
serialize: "native",
|
|
84196
|
+
note: 'Both connector line ends (`headEnd`/`tailEnd`) are typed on `connectorStart/EndArrow(Width|Length)`, covering all six `ST_LineEndType` arrowhead shapes and all three `ST_LineEndWidth`/`ST_LineEndLength` sizes independently per end. Setting an end to "none" removes the element rather than writing an empty one.',
|
|
84197
|
+
evidence: [
|
|
84198
|
+
testEvidence(
|
|
84199
|
+
"src/core/core/builders/shape-style-line-helpers.test.ts",
|
|
84200
|
+
[
|
|
84201
|
+
"applies head end arrow type 'triangle' with size 'lg'",
|
|
84202
|
+
"applies tail end arrow type 'stealth' with size 'sm'",
|
|
84203
|
+
"applies both head and tail arrows"
|
|
84204
|
+
],
|
|
84205
|
+
["parse"]
|
|
84206
|
+
),
|
|
84207
|
+
testEvidence(
|
|
84208
|
+
"src/core/core/runtime/PptxHandlerRuntimeSaveShapeStyleWriter.test.ts",
|
|
84209
|
+
[
|
|
84210
|
+
"should set tail end arrow with width and length",
|
|
84211
|
+
"should remove tailEnd when endArrow is 'none'",
|
|
84212
|
+
"should set head end arrow"
|
|
84213
|
+
],
|
|
84214
|
+
["edit", "serialize"]
|
|
84215
|
+
),
|
|
84216
|
+
testEvidence(
|
|
84217
|
+
"src/core/core/runtime/authored-shape-style.test.ts",
|
|
84218
|
+
["keeps an authored a:ln free of the theme width, colour, cap and join"],
|
|
84219
|
+
["preserve"]
|
|
84220
|
+
)
|
|
84221
|
+
]
|
|
84222
|
+
}
|
|
84223
|
+
);
|
|
84224
|
+
var OPENXML_LINE_STROKE_PROPERTIES_COVERAGE = overrides8;
|
|
84225
|
+
var overrides9 = {};
|
|
84226
|
+
function assign9(ids, facets) {
|
|
84227
|
+
for (const id of ids) {
|
|
84228
|
+
overrides9[id] = facets;
|
|
84229
|
+
}
|
|
84230
|
+
}
|
|
84231
|
+
assign9(["presentation:complexType:CT_SlideTransition", "presentation:element:transition"], {
|
|
83729
84232
|
parse: "partial",
|
|
83730
84233
|
preserve: "native",
|
|
83731
84234
|
edit: "partial",
|
|
@@ -83738,7 +84241,7 @@ assign8(["presentation:complexType:CT_SlideTransition", "presentation:element:tr
|
|
|
83738
84241
|
])
|
|
83739
84242
|
]
|
|
83740
84243
|
});
|
|
83741
|
-
|
|
84244
|
+
assign9(
|
|
83742
84245
|
[
|
|
83743
84246
|
"presentation:complexType:CT_TransitionSoundAction",
|
|
83744
84247
|
"presentation:complexType:CT_TransitionStartSoundAction",
|
|
@@ -83760,7 +84263,7 @@ assign8(
|
|
|
83760
84263
|
]
|
|
83761
84264
|
}
|
|
83762
84265
|
);
|
|
83763
|
-
|
|
84266
|
+
assign9(
|
|
83764
84267
|
[
|
|
83765
84268
|
"drawing:complexType:CT_Backdrop",
|
|
83766
84269
|
"drawing:complexType:CT_Camera",
|
|
@@ -83794,7 +84297,7 @@ assign8(
|
|
|
83794
84297
|
]
|
|
83795
84298
|
}
|
|
83796
84299
|
);
|
|
83797
|
-
|
|
84300
|
+
assign9(["chart:complexType:CT_DTable", "chart:element:dTable"], {
|
|
83798
84301
|
parse: "partial",
|
|
83799
84302
|
preserve: "native",
|
|
83800
84303
|
edit: "partial",
|
|
@@ -83806,7 +84309,7 @@ assign8(["chart:complexType:CT_DTable", "chart:element:dTable"], {
|
|
|
83806
84309
|
])
|
|
83807
84310
|
]
|
|
83808
84311
|
});
|
|
83809
|
-
|
|
84312
|
+
assign9(
|
|
83810
84313
|
[
|
|
83811
84314
|
"chart:element:showHorzBorder",
|
|
83812
84315
|
"chart:element:showVertBorder",
|
|
@@ -83826,7 +84329,7 @@ assign8(
|
|
|
83826
84329
|
]
|
|
83827
84330
|
}
|
|
83828
84331
|
);
|
|
83829
|
-
|
|
84332
|
+
assign9(
|
|
83830
84333
|
[
|
|
83831
84334
|
"presentation:complexType:CT_PrintProperties",
|
|
83832
84335
|
"presentation:simpleType:ST_PrintColorMode",
|
|
@@ -83857,14 +84360,14 @@ assign8(
|
|
|
83857
84360
|
]
|
|
83858
84361
|
}
|
|
83859
84362
|
);
|
|
83860
|
-
var OPENXML_TRANSITIONS_SCENES_AND_CHART_TABLES_COVERAGE =
|
|
83861
|
-
var
|
|
83862
|
-
function
|
|
84363
|
+
var OPENXML_TRANSITIONS_SCENES_AND_CHART_TABLES_COVERAGE = overrides9;
|
|
84364
|
+
var overrides10 = {};
|
|
84365
|
+
function assign10(ids, facets) {
|
|
83863
84366
|
for (const id of ids) {
|
|
83864
|
-
|
|
84367
|
+
overrides10[id] = facets;
|
|
83865
84368
|
}
|
|
83866
84369
|
}
|
|
83867
|
-
|
|
84370
|
+
assign10(
|
|
83868
84371
|
[
|
|
83869
84372
|
"presentation:complexType:CT_CommonViewProperties",
|
|
83870
84373
|
"presentation:complexType:CT_CommonSlideViewProperties",
|
|
@@ -83891,7 +84394,7 @@ assign9(
|
|
|
83891
84394
|
]
|
|
83892
84395
|
}
|
|
83893
84396
|
);
|
|
83894
|
-
|
|
84397
|
+
assign10(
|
|
83895
84398
|
[
|
|
83896
84399
|
"drawing:complexType:CT_ColorChangeEffect",
|
|
83897
84400
|
"drawing:complexType:CT_ColorReplaceEffect",
|
|
@@ -83917,7 +84420,7 @@ assign9(
|
|
|
83917
84420
|
]
|
|
83918
84421
|
}
|
|
83919
84422
|
);
|
|
83920
|
-
|
|
84423
|
+
assign10(
|
|
83921
84424
|
[
|
|
83922
84425
|
"drawing:complexType:CT_GrayscaleEffect",
|
|
83923
84426
|
"drawing:complexType:CT_BiLevelEffect",
|
|
@@ -83939,7 +84442,7 @@ assign9(
|
|
|
83939
84442
|
]
|
|
83940
84443
|
}
|
|
83941
84444
|
);
|
|
83942
|
-
|
|
84445
|
+
assign10(
|
|
83943
84446
|
[
|
|
83944
84447
|
"chart:complexType:CT_Marker",
|
|
83945
84448
|
"chart:complexType:CT_DPt",
|
|
@@ -83959,7 +84462,7 @@ assign9(
|
|
|
83959
84462
|
]
|
|
83960
84463
|
}
|
|
83961
84464
|
);
|
|
83962
|
-
|
|
84465
|
+
assign10(
|
|
83963
84466
|
[
|
|
83964
84467
|
"chart:complexType:CT_MarkerSize",
|
|
83965
84468
|
"chart:complexType:CT_MarkerStyle",
|
|
@@ -83983,7 +84486,7 @@ assign9(
|
|
|
83983
84486
|
]
|
|
83984
84487
|
}
|
|
83985
84488
|
);
|
|
83986
|
-
|
|
84489
|
+
assign10(
|
|
83987
84490
|
[
|
|
83988
84491
|
"drawing:complexType:CT_AlphaBiLevelEffect",
|
|
83989
84492
|
"drawing:complexType:CT_AlphaCeilingEffect",
|
|
@@ -84017,7 +84520,7 @@ assign9(
|
|
|
84017
84520
|
]
|
|
84018
84521
|
}
|
|
84019
84522
|
);
|
|
84020
|
-
|
|
84523
|
+
assign10(
|
|
84021
84524
|
[
|
|
84022
84525
|
"drawing:complexType:CT_AlphaInverseEffect",
|
|
84023
84526
|
"drawing:complexType:CT_AlphaModulateEffect",
|
|
@@ -84039,7 +84542,7 @@ assign9(
|
|
|
84039
84542
|
]
|
|
84040
84543
|
}
|
|
84041
84544
|
);
|
|
84042
|
-
var OPENXML_VIEW_IMAGE_AND_CHART_POINT_FORMATTING_COVERAGE =
|
|
84545
|
+
var OPENXML_VIEW_IMAGE_AND_CHART_POINT_FORMATTING_COVERAGE = overrides10;
|
|
84043
84546
|
var OPENXML_STRICT_SCHEMA_CONSTRUCT_IDS = [
|
|
84044
84547
|
"chart:attribute:alignWithMargins",
|
|
84045
84548
|
"chart:attribute:b",
|
|
@@ -88501,6 +89004,7 @@ var COVERAGE_OVERRIDES = {
|
|
|
88501
89004
|
...OPENXML_VIEW_IMAGE_AND_CHART_POINT_FORMATTING_COVERAGE,
|
|
88502
89005
|
...OPENXML_FONTS_AUDIO_PIVOTS_AND_ALGORITHMS_COVERAGE,
|
|
88503
89006
|
...OPENXML_LINE_LAYOUT_AND_PIVOT_STRUCTURES_COVERAGE,
|
|
89007
|
+
...OPENXML_LINE_STROKE_PROPERTIES_COVERAGE,
|
|
88504
89008
|
"chart:complexType:CT_ManualLayout": {
|
|
88505
89009
|
parse: "native",
|
|
88506
89010
|
preserve: "native",
|
|
@@ -125274,6 +125778,318 @@ async function mountModel3D(container, modelUrl, options) {
|
|
|
125274
125778
|
}
|
|
125275
125779
|
};
|
|
125276
125780
|
}
|
|
125781
|
+
var GRID_SPACING = 0.5;
|
|
125782
|
+
var MAX_HEIGHT = 1.5;
|
|
125783
|
+
function computeGridExtent(cols, rows) {
|
|
125784
|
+
return {
|
|
125785
|
+
gridWidth: Math.max(cols - 1, 1) * GRID_SPACING,
|
|
125786
|
+
gridDepth: Math.max(rows - 1, 1) * GRID_SPACING
|
|
125787
|
+
};
|
|
125788
|
+
}
|
|
125789
|
+
function buildSurfaceGeometry(three, cols, rows, heightMap, colorMap) {
|
|
125790
|
+
const widthSegs = Math.max(cols - 1, 0);
|
|
125791
|
+
const depthSegs = Math.max(rows - 1, 0);
|
|
125792
|
+
const { gridWidth, gridDepth } = computeGridExtent(cols, rows);
|
|
125793
|
+
const geo = new three.PlaneGeometry(gridWidth, gridDepth, widthSegs, depthSegs);
|
|
125794
|
+
geo.rotateX(-Math.PI / 2);
|
|
125795
|
+
const pos2 = geo.attributes.position;
|
|
125796
|
+
const vertexCount = pos2.count;
|
|
125797
|
+
const colors = new Float32Array(vertexCount * 3);
|
|
125798
|
+
for (let i = 0; i < vertexCount; i++) {
|
|
125799
|
+
const row = Math.floor(i / cols);
|
|
125800
|
+
const col = i % cols;
|
|
125801
|
+
const idx = row * cols + col;
|
|
125802
|
+
const h = idx < heightMap.length ? heightMap[idx] : 0;
|
|
125803
|
+
pos2.setY(i, h * MAX_HEIGHT);
|
|
125804
|
+
const ci = idx * 3;
|
|
125805
|
+
colors[i * 3] = ci < colorMap.length ? colorMap[ci] : 0.5;
|
|
125806
|
+
colors[i * 3 + 1] = ci + 1 < colorMap.length ? colorMap[ci + 1] : 0.5;
|
|
125807
|
+
colors[i * 3 + 2] = ci + 2 < colorMap.length ? colorMap[ci + 2] : 0.5;
|
|
125808
|
+
}
|
|
125809
|
+
geo.setAttribute("color", new three.BufferAttribute(colors, 3));
|
|
125810
|
+
geo.computeVertexNormals();
|
|
125811
|
+
pos2.needsUpdate = true;
|
|
125812
|
+
const wireGeometry = new three.WireframeGeometry(geo);
|
|
125813
|
+
return { geometry: geo, wireGeometry };
|
|
125814
|
+
}
|
|
125815
|
+
function buildSurfaceLabels(cols, rows, categoryLabels, seriesNames, maxCat = 8, maxSer = 6) {
|
|
125816
|
+
const { gridWidth, gridDepth } = computeGridExtent(cols, rows);
|
|
125817
|
+
const labels = [];
|
|
125818
|
+
const catStep = Math.max(1, Math.ceil(categoryLabels.length / maxCat));
|
|
125819
|
+
for (let i = 0; i < categoryLabels.length; i += catStep) {
|
|
125820
|
+
const x = -gridWidth / 2 + i / Math.max(cols - 1, 1) * gridWidth;
|
|
125821
|
+
labels.push({
|
|
125822
|
+
key: `cat-${i}`,
|
|
125823
|
+
text: categoryLabels[i],
|
|
125824
|
+
anchor: [x, -0.15, gridDepth / 2 + 0.25],
|
|
125825
|
+
axis: "category"
|
|
125826
|
+
});
|
|
125827
|
+
}
|
|
125828
|
+
const serStep = Math.max(1, Math.ceil(seriesNames.length / maxSer));
|
|
125829
|
+
for (let i = 0; i < seriesNames.length; i += serStep) {
|
|
125830
|
+
const z = -gridDepth / 2 + i / Math.max(rows - 1, 1) * gridDepth;
|
|
125831
|
+
labels.push({
|
|
125832
|
+
key: `ser-${i}`,
|
|
125833
|
+
text: seriesNames[i],
|
|
125834
|
+
anchor: [gridWidth / 2 + 0.3, -0.15, z],
|
|
125835
|
+
axis: "series"
|
|
125836
|
+
});
|
|
125837
|
+
}
|
|
125838
|
+
labels.push({
|
|
125839
|
+
key: "value-axis",
|
|
125840
|
+
text: "Value",
|
|
125841
|
+
anchor: [-gridWidth / 2 - 0.35, 0.75, -gridDepth / 2],
|
|
125842
|
+
axis: "value"
|
|
125843
|
+
});
|
|
125844
|
+
return labels;
|
|
125845
|
+
}
|
|
125846
|
+
function computeCameraPlacement(cols, rows) {
|
|
125847
|
+
const { gridWidth, gridDepth } = computeGridExtent(cols, rows);
|
|
125848
|
+
const maxExtent = Math.max(gridWidth, gridDepth, MAX_HEIGHT);
|
|
125849
|
+
const dist2 = maxExtent * 1.8;
|
|
125850
|
+
return {
|
|
125851
|
+
position: [dist2 * 0.8, dist2 * 0.7, dist2 * 0.8],
|
|
125852
|
+
target: [0, 0.3, 0]
|
|
125853
|
+
};
|
|
125854
|
+
}
|
|
125855
|
+
var SURFACE_THREE_UNAVAILABLE = {
|
|
125856
|
+
ok: false,
|
|
125857
|
+
resize: () => {
|
|
125858
|
+
},
|
|
125859
|
+
dispose: () => {
|
|
125860
|
+
}
|
|
125861
|
+
};
|
|
125862
|
+
var FOV2 = 45;
|
|
125863
|
+
async function loadThree2() {
|
|
125864
|
+
try {
|
|
125865
|
+
return await import('./three.module-AC7ESV4W.mjs');
|
|
125866
|
+
} catch {
|
|
125867
|
+
return null;
|
|
125868
|
+
}
|
|
125869
|
+
}
|
|
125870
|
+
async function loadOrbitControlsCtor2() {
|
|
125871
|
+
try {
|
|
125872
|
+
const mod = await import('./OrbitControls-ZTGHPI5G.mjs');
|
|
125873
|
+
return mod.OrbitControls;
|
|
125874
|
+
} catch {
|
|
125875
|
+
return null;
|
|
125876
|
+
}
|
|
125877
|
+
}
|
|
125878
|
+
function createLabelOverlay(doc, labels) {
|
|
125879
|
+
const layer = doc.createElement("div");
|
|
125880
|
+
Object.assign(layer.style, {
|
|
125881
|
+
position: "absolute",
|
|
125882
|
+
inset: "0",
|
|
125883
|
+
pointerEvents: "none",
|
|
125884
|
+
overflow: "hidden"
|
|
125885
|
+
});
|
|
125886
|
+
const nodes = labels.map((label) => {
|
|
125887
|
+
const node = doc.createElement("div");
|
|
125888
|
+
node.textContent = label.text;
|
|
125889
|
+
const color2 = label.axis === "value" ? "#999" : "#666";
|
|
125890
|
+
Object.assign(node.style, {
|
|
125891
|
+
position: "absolute",
|
|
125892
|
+
fontSize: "9px",
|
|
125893
|
+
color: color2,
|
|
125894
|
+
whiteSpace: "nowrap",
|
|
125895
|
+
userSelect: "none",
|
|
125896
|
+
transform: "translate(-50%, -50%)",
|
|
125897
|
+
willChange: "left, top"
|
|
125898
|
+
});
|
|
125899
|
+
if (label.axis === "value") {
|
|
125900
|
+
node.style.writingMode = "vertical-rl";
|
|
125901
|
+
}
|
|
125902
|
+
layer.appendChild(node);
|
|
125903
|
+
return node;
|
|
125904
|
+
});
|
|
125905
|
+
return { layer, nodes };
|
|
125906
|
+
}
|
|
125907
|
+
async function mountSurfaceChart3D(container, options) {
|
|
125908
|
+
const three = await loadThree2();
|
|
125909
|
+
const OrbitCtrlCtor = three ? await loadOrbitControlsCtor2() : null;
|
|
125910
|
+
if (!three || !OrbitCtrlCtor) {
|
|
125911
|
+
return SURFACE_THREE_UNAVAILABLE;
|
|
125912
|
+
}
|
|
125913
|
+
const { cols, rows } = options;
|
|
125914
|
+
let width = Math.max(1, options.width);
|
|
125915
|
+
let height = Math.max(1, options.height);
|
|
125916
|
+
const renderer = new three.WebGLRenderer({ antialias: true, alpha: true });
|
|
125917
|
+
renderer.setPixelRatio(
|
|
125918
|
+
Math.min(
|
|
125919
|
+
typeof window === "undefined" ? 1 : window.devicePixelRatio || 1,
|
|
125920
|
+
options.maxPixelRatio ?? 2
|
|
125921
|
+
)
|
|
125922
|
+
);
|
|
125923
|
+
renderer.setSize(width, height, false);
|
|
125924
|
+
const canvas = renderer.domElement;
|
|
125925
|
+
canvas.style.width = `${width}px`;
|
|
125926
|
+
canvas.style.height = `${height}px`;
|
|
125927
|
+
canvas.style.display = "block";
|
|
125928
|
+
canvas.style.willChange = "transform";
|
|
125929
|
+
container.appendChild(canvas);
|
|
125930
|
+
const scene = new three.Scene();
|
|
125931
|
+
scene.add(new three.AmbientLight(16777215, 0.6));
|
|
125932
|
+
const key2 = new three.DirectionalLight(16777215, 0.8);
|
|
125933
|
+
key2.position.set(5, 8, 5);
|
|
125934
|
+
scene.add(key2);
|
|
125935
|
+
const fill = new three.DirectionalLight(16777215, 0.3);
|
|
125936
|
+
fill.position.set(-3, 4, -2);
|
|
125937
|
+
scene.add(fill);
|
|
125938
|
+
const camera = new three.PerspectiveCamera(FOV2, width / height, 0.1, 1e3);
|
|
125939
|
+
const placement = computeCameraPlacement(cols, rows);
|
|
125940
|
+
camera.position.set(...placement.position);
|
|
125941
|
+
const target = new three.Vector3(...placement.target);
|
|
125942
|
+
camera.lookAt(target);
|
|
125943
|
+
const { gridWidth, gridDepth } = computeGridExtent(cols, rows);
|
|
125944
|
+
const floorSize = Math.max(gridWidth, gridDepth) * 1.2;
|
|
125945
|
+
const gridFloor = new three.GridHelper(floorSize, Math.max(cols, rows), 13421772, 15263976);
|
|
125946
|
+
gridFloor.position.y = -0.02;
|
|
125947
|
+
scene.add(gridFloor);
|
|
125948
|
+
const { geometry, wireGeometry } = buildSurfaceGeometry(
|
|
125949
|
+
three,
|
|
125950
|
+
cols,
|
|
125951
|
+
rows,
|
|
125952
|
+
options.heightMap,
|
|
125953
|
+
options.colorMap
|
|
125954
|
+
);
|
|
125955
|
+
const surfaceMaterial = new three.MeshPhongMaterial({
|
|
125956
|
+
vertexColors: true,
|
|
125957
|
+
side: three.DoubleSide,
|
|
125958
|
+
shininess: 30,
|
|
125959
|
+
transparent: true,
|
|
125960
|
+
opacity: 0.92
|
|
125961
|
+
});
|
|
125962
|
+
const surfaceMesh = new three.Mesh(geometry, surfaceMaterial);
|
|
125963
|
+
scene.add(surfaceMesh);
|
|
125964
|
+
let wireMaterial = null;
|
|
125965
|
+
if (options.wireframe) {
|
|
125966
|
+
wireMaterial = new three.LineBasicMaterial({
|
|
125967
|
+
color: 3355443,
|
|
125968
|
+
transparent: true,
|
|
125969
|
+
opacity: 0.25
|
|
125970
|
+
});
|
|
125971
|
+
scene.add(new three.LineSegments(wireGeometry, wireMaterial));
|
|
125972
|
+
}
|
|
125973
|
+
const controls = new OrbitCtrlCtor(camera, canvas);
|
|
125974
|
+
controls.enablePan = true;
|
|
125975
|
+
controls.enableZoom = true;
|
|
125976
|
+
controls.enableRotate = true;
|
|
125977
|
+
controls.minDistance = 1;
|
|
125978
|
+
controls.maxDistance = 20;
|
|
125979
|
+
controls.maxPolarAngle = Math.PI / 2 + 0.3;
|
|
125980
|
+
controls.target.copy(target);
|
|
125981
|
+
controls.update();
|
|
125982
|
+
const doc = container.ownerDocument ?? document;
|
|
125983
|
+
const labels = buildSurfaceLabels(cols, rows, options.categoryLabels, options.seriesNames);
|
|
125984
|
+
const { layer, nodes } = createLabelOverlay(doc, labels);
|
|
125985
|
+
container.appendChild(layer);
|
|
125986
|
+
const anchors = labels.map((l) => new three.Vector3(...l.anchor));
|
|
125987
|
+
const projected = new three.Vector3();
|
|
125988
|
+
const updateLabels = () => {
|
|
125989
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
125990
|
+
projected.copy(anchors[i]).project(camera);
|
|
125991
|
+
const node = nodes[i];
|
|
125992
|
+
if (projected.z > 1) {
|
|
125993
|
+
node.style.display = "none";
|
|
125994
|
+
continue;
|
|
125995
|
+
}
|
|
125996
|
+
node.style.display = "";
|
|
125997
|
+
node.style.left = `${(projected.x + 1) / 2 * width}px`;
|
|
125998
|
+
node.style.top = `${(-projected.y + 1) / 2 * height}px`;
|
|
125999
|
+
}
|
|
126000
|
+
};
|
|
126001
|
+
let frame2 = 0;
|
|
126002
|
+
let disposed = false;
|
|
126003
|
+
const renderLoop = () => {
|
|
126004
|
+
if (disposed) {
|
|
126005
|
+
return;
|
|
126006
|
+
}
|
|
126007
|
+
frame2 = requestAnimationFrame(renderLoop);
|
|
126008
|
+
controls.update();
|
|
126009
|
+
renderer.render(scene, camera);
|
|
126010
|
+
updateLabels();
|
|
126011
|
+
};
|
|
126012
|
+
frame2 = requestAnimationFrame(renderLoop);
|
|
126013
|
+
return {
|
|
126014
|
+
ok: true,
|
|
126015
|
+
resize(w, h) {
|
|
126016
|
+
width = Math.max(1, w);
|
|
126017
|
+
height = Math.max(1, h);
|
|
126018
|
+
camera.aspect = width / height;
|
|
126019
|
+
camera.updateProjectionMatrix();
|
|
126020
|
+
renderer.setSize(width, height, false);
|
|
126021
|
+
canvas.style.width = `${width}px`;
|
|
126022
|
+
canvas.style.height = `${height}px`;
|
|
126023
|
+
},
|
|
126024
|
+
dispose() {
|
|
126025
|
+
if (disposed) {
|
|
126026
|
+
return;
|
|
126027
|
+
}
|
|
126028
|
+
disposed = true;
|
|
126029
|
+
cancelAnimationFrame(frame2);
|
|
126030
|
+
controls.dispose();
|
|
126031
|
+
geometry.dispose();
|
|
126032
|
+
wireGeometry.dispose();
|
|
126033
|
+
surfaceMaterial.dispose();
|
|
126034
|
+
wireMaterial?.dispose();
|
|
126035
|
+
gridFloor.dispose();
|
|
126036
|
+
scene.clear();
|
|
126037
|
+
renderer.dispose();
|
|
126038
|
+
canvas.remove();
|
|
126039
|
+
layer.remove();
|
|
126040
|
+
}
|
|
126041
|
+
};
|
|
126042
|
+
}
|
|
126043
|
+
function buildSurfaceChart3DData(chartData, categoryLabels, options) {
|
|
126044
|
+
const seriesCount = chartData.series.length;
|
|
126045
|
+
const catCount = categoryLabels.length;
|
|
126046
|
+
if (seriesCount === 0 || catCount === 0) {
|
|
126047
|
+
return null;
|
|
126048
|
+
}
|
|
126049
|
+
const range = computeValueRange2(chartData.series);
|
|
126050
|
+
const heightMap = new Float32Array(seriesCount * catCount);
|
|
126051
|
+
const colorMap = new Float32Array(seriesCount * catCount * 3);
|
|
126052
|
+
for (let row = 0; row < seriesCount; row++) {
|
|
126053
|
+
for (let col = 0; col < catCount; col++) {
|
|
126054
|
+
const idx = row * catCount + col;
|
|
126055
|
+
const val2 = chartData.series[row]?.values[col] ?? 0;
|
|
126056
|
+
const t = range.span > 0 ? (val2 - range.min) / range.span : 0;
|
|
126057
|
+
heightMap[idx] = t;
|
|
126058
|
+
const { r, g, b } = surfaceColor(t);
|
|
126059
|
+
const ci = idx * 3;
|
|
126060
|
+
colorMap[ci] = r / 255;
|
|
126061
|
+
colorMap[ci + 1] = g / 255;
|
|
126062
|
+
colorMap[ci + 2] = b / 255;
|
|
126063
|
+
}
|
|
126064
|
+
}
|
|
126065
|
+
return {
|
|
126066
|
+
cols: catCount,
|
|
126067
|
+
rows: seriesCount,
|
|
126068
|
+
heightMap,
|
|
126069
|
+
colorMap,
|
|
126070
|
+
wireframe: options.wireframe ?? true,
|
|
126071
|
+
categoryLabels,
|
|
126072
|
+
seriesNames: chartData.series.map((s) => s.name),
|
|
126073
|
+
width: options.width,
|
|
126074
|
+
height: options.height
|
|
126075
|
+
};
|
|
126076
|
+
}
|
|
126077
|
+
function buildSurfaceChart3DDataForElement(element, options) {
|
|
126078
|
+
if (element.type !== "chart") {
|
|
126079
|
+
return null;
|
|
126080
|
+
}
|
|
126081
|
+
const chartEl = element;
|
|
126082
|
+
const chartData = chartEl.chartData;
|
|
126083
|
+
if (!chartData || chartData.series.length === 0) {
|
|
126084
|
+
return null;
|
|
126085
|
+
}
|
|
126086
|
+
if (resolveChartKind(chartData.chartType ?? "bar") !== "surface") {
|
|
126087
|
+
return null;
|
|
126088
|
+
}
|
|
126089
|
+
const longestLen = chartData.series.reduce((m, s) => Math.max(m, s.values.length), 0);
|
|
126090
|
+
const categoryLabels = chartData.categories.length > 0 ? chartData.categories : Array.from({ length: longestLen }, (_, i) => String(i + 1));
|
|
126091
|
+
return buildSurfaceChart3DData(chartData, categoryLabels, options);
|
|
126092
|
+
}
|
|
125277
126093
|
var AVERAGE_ADVANCE_RATIO = 0.5;
|
|
125278
126094
|
function wrapTextByEstimatedWidth(text2, maxWidth, fontSize, options = {}) {
|
|
125279
126095
|
if (!text2 || text2.trim().length === 0) {
|
|
@@ -134830,4 +135646,4 @@ function segmentFrameCount(durationMs, fps) {
|
|
|
134830
135646
|
* `<p:extLst>` (optional)
|
|
134831
135647
|
*/
|
|
134832
135648
|
|
|
134833
|
-
export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, COLOR_MAP_ALIAS_KEYS, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMMON_FONTS, CONNECTION_TIMEOUT_MS, CONNECTOR_SITE_SNAP_PX, CUSTOM_FONT_ACCEPT, DEBOUNCE_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPANDED_MAX_HEIGHT, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_INDENT_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, PATTERN_OPTIONS, PEN_COLORS, PPTX_OPEN_ACCEPT, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_TEMPLATES, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, STATUS_BAR_CLASSES, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_SLOT_LABEL_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_ORIENTATION_TYPES, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, acceptAutosaveRecovery, acceptsPresentationInput, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addCommentToList, addQuickAccessCommand, addSection, addSiblingAfter, addSmartArtNodeAsChild, addTagToCollections, advanceChartValueDrag, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyChartBuildReveal, applyChartPartHighlight, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyMotionPathPreset, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyTableStylePreset, applyThemeOverrideToSlide, applyThemeToData, attachPresentationVisibilityPause, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, beginChartValueDrag, beginShapeAdjustment, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildBarActions, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildOutline, buildOutlineHtml, buildParagraphs, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildStrokeOutline, buildSummaryZoomView, buildSvgGradientDef, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildThemeColorGrid, buildThemeColorMap, buildUserFontFaceStyles, canAddTopLevelNode, canCommitActionType, canGoNext, canGoPrevious, canInteractWithElement, canRemoveTopLevelNode, canvasToJpegData, cellRunStyle, cellStyleToCss, centeredSvgTextLines, chartPartToAttrs, chartPreserveAspectRatio, clampCropValue, clampNotesFontSize, clampOptionNumber, clampPercent, clampSorterZoom, clampTransitionNumber, clampUnitInterval2 as clampUnitInterval, clampZoomScale, classifyExtraConnections, classifyMediaType, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearStoredViewerPrefs, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectConnectorSiteCandidates, collectImagePaths, collectMediaElements, collectUsedFonts, colorWithOpacity, commentTextSegments, comparePresentation, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeChartLegendLayout, computeColorFilter, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSlideIndices, computeSmartArtLayout2 as computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeVirtualRange, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDepartureChannel, createInitialPresentationSnapshot, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, deleteTagFromCollections, demote, deriveSlideFieldContext, describeFontEmbedding, describeSmartArtBounds, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementLockTogglePatch, embeddedFontSaveOptions, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, ensureChartInteractionStyles, erasePresentationInkAt, escapeHtml22 as escapeHtml2, evenColumnWidths, evenRowHeights, exportDeckJson, extraQuickAccessCommands, extractPathPoints, filterCommands, filterInteractableIds, filterRenderedElements, findChartPartTarget, findConnectorSiteNear, findInSlides, findMediaElementByElementId, findSmartArtNodeText, firstShowSlideIndex, flattenNodes, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateNoteLineCount, generatePackageReadme, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getComputedFillStyle, getComputedStrokeStyle, getConnectorEndpointHandles, getContentPartReplayStyles, getCurrentParagraphIndex, getDraggedShapeAdjustments, getDuotoneCachedResult, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFitStyle, getImageSvgFilters, getImageTilingStyle, getInkReplayStyles, getInlineEditorSelection, getLocalStorageUsageSummary, getNotesPrintableArea, getOleBadgeLabel, getOleObjectTypeLabel, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx2, getSessionTabId, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextBodyRotationTransform, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hexToRgbChannels2 as hexToRgbChannels, hiddenSlideCue, hollowTextFillStyle, inlineElementPointerEvents, insertTableColumn, insertTableRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isCalloutShape, isCellInRect, isCurrentLayout, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementLocked, isElementRendered, isExportAbortError, isHollowShapeElement, isImageLikeElement, isImageTiled, isInkElement, isKeyboardOpen, isLegacyBinaryPresentation, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, loadAudienceContent, loadSessionDeck, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapSlideSorterKey, masterViewBackgroundColor, masterViewElements, masterViewPseudoSlide, mayLeaveSlideShow, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountModel3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, normalizeColorsForCapture, normalizeHexColor, normalizeSegments, normalizeStrokeDashType, notesSegmentsToSpans, observeYDocSlides, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPptxFile, openReadingView, openUrlInNewTab, paintedStrokeWidth, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, patchChartData, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, playSlideTransitionPreview, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationBaseName, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, pressuresToWidths, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, probeAutosaveRecovery, projectDrawingShapes, promote, publishLiveGeometry, publishLiveInlineText, quickStyleSwatchCss, reResolveSlideColors, readBackstageRecentFile, readRibbonTransitionDraft, readSlideShowOption, readSlidesFromYDoc, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, rebuildTableStructureInRawXml, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, redistributeColumnWidth, registerCollaborationTeardown, registerCustomFont, registerPersistentAudio, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeCommentFromList, removeEmptyNode, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorder2 as reorder, reorderAnimationTo, replaceMasterViewElements, replyToCommentInList, rerouteConnectorsForMovedElements, resetPresenterTimer, resetSlideLayoutPath, resolveActionType, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartKind, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDrawingShapeNodeId, resolveElementActionAffordance, resolveElementInteractivity, resolveFontForScript, resolveGroupChildFill, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveMetricTrackingPx, resolveOleType, resolvePalette, resolveProfileInitial, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveTemplateBackgroundRows, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveViewerAddinRows, restoreSegmentSelection, restoreSessionDeck, revealedSmartArtNodeCount, ribbonTransitionUpdates, rulerDragToGuidePosition, runMediaCommand, runPresentationAction, safeOpenUrl, sanitizeColor, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveDeckWithPassword, saveViewerProfile, savedPresentationFileName, scanAvailableFontFamilies, schemaLabel, scopeLayoutOptionsToSlide, segmentByScript, segmentFrameCount, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, sendBackward, sendToBack, setCachedResult, setCellText, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDuotoneCachedResult, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shapeFillChange, shapeOutlineChange, shouldAutoFollowBroadcaster, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldLoopContinuously, shouldProbeAutosaveRecovery, shouldRoomSlidesReplaceLoad, shouldShowAutosaveRecoveryPrompt, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunForMetrics, stepPresenterZoom, stopAllPersistentAudio, storeAudienceContent, strokeOutlineViewBox, styleShadowFilter, substituteFieldText, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, tableCellCss, tableContainerCss, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, themeColorLabel, themeColorSchemesEqual, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, toggleCommentResolvedInList, togglePresenterTimer, toggleSheet, toggleText3dExtrusion, transformTextCase, ungroupElements, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateMasterViewElement, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateRoomId, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewerOptionsToPreferences, warpPreviewPath, withChartTitle, withConnectorEndpointUpdate, withFrameSlides, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs };
|
|
135649
|
+
export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, COLOR_MAP_ALIAS_KEYS, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMMON_FONTS, CONNECTION_TIMEOUT_MS, CONNECTOR_SITE_SNAP_PX, CUSTOM_FONT_ACCEPT, DEBOUNCE_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPANDED_MAX_HEIGHT, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_INDENT_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, PATTERN_OPTIONS, PEN_COLORS, PPTX_OPEN_ACCEPT, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_TEMPLATES, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, STATUS_BAR_CLASSES, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_SLOT_LABEL_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_ORIENTATION_TYPES, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, acceptAutosaveRecovery, acceptsPresentationInput, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addCommentToList, addQuickAccessCommand, addSection, addSiblingAfter, addSmartArtNodeAsChild, addTagToCollections, advanceChartValueDrag, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyChartBuildReveal, applyChartPartHighlight, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyMotionPathPreset, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyTableStylePreset, applyThemeOverrideToSlide, applyThemeToData, attachPresentationVisibilityPause, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, beginChartValueDrag, beginShapeAdjustment, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildBarActions, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildOutline, buildOutlineHtml, buildParagraphs, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildStrokeOutline, buildSummaryZoomView, buildSurfaceChart3DDataForElement, buildSvgGradientDef, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildThemeColorGrid, buildThemeColorMap, buildUserFontFaceStyles, canAddTopLevelNode, canCommitActionType, canGoNext, canGoPrevious, canInteractWithElement, canRemoveTopLevelNode, canvasToJpegData, cellRunStyle, cellStyleToCss, centeredSvgTextLines, chartPartToAttrs, chartPreserveAspectRatio, clampCropValue, clampNotesFontSize, clampOptionNumber, clampPercent, clampSorterZoom, clampTransitionNumber, clampUnitInterval2 as clampUnitInterval, clampZoomScale, classifyExtraConnections, classifyMediaType, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearStoredViewerPrefs, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectConnectorSiteCandidates, collectImagePaths, collectMediaElements, collectUsedFonts, colorWithOpacity, commentTextSegments, comparePresentation, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeChartLegendLayout, computeColorFilter, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSlideIndices, computeSmartArtLayout2 as computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeVirtualRange, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDepartureChannel, createInitialPresentationSnapshot, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, deleteTagFromCollections, demote, deriveSlideFieldContext, describeFontEmbedding, describeSmartArtBounds, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementLockTogglePatch, embeddedFontSaveOptions, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, ensureChartInteractionStyles, erasePresentationInkAt, escapeHtml22 as escapeHtml2, evenColumnWidths, evenRowHeights, exportDeckJson, extraQuickAccessCommands, extractPathPoints, filterCommands, filterInteractableIds, filterRenderedElements, findChartPartTarget, findConnectorSiteNear, findInSlides, findMediaElementByElementId, findSmartArtNodeText, firstShowSlideIndex, flattenNodes, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateNoteLineCount, generatePackageReadme, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getComputedFillStyle, getComputedStrokeStyle, getConnectorEndpointHandles, getContentPartReplayStyles, getCurrentParagraphIndex, getDraggedShapeAdjustments, getDuotoneCachedResult, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFitStyle, getImageSvgFilters, getImageTilingStyle, getInkReplayStyles, getInlineEditorSelection, getLocalStorageUsageSummary, getNotesPrintableArea, getOleBadgeLabel, getOleObjectTypeLabel, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx2, getSessionTabId, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextBodyRotationTransform, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hexToRgbChannels2 as hexToRgbChannels, hiddenSlideCue, hollowTextFillStyle, inlineElementPointerEvents, insertTableColumn, insertTableRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isCalloutShape, isCellInRect, isCurrentLayout, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementLocked, isElementRendered, isExportAbortError, isHollowShapeElement, isImageLikeElement, isImageTiled, isInkElement, isKeyboardOpen, isLegacyBinaryPresentation, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, loadAudienceContent, loadSessionDeck, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapSlideSorterKey, masterViewBackgroundColor, masterViewElements, masterViewPseudoSlide, mayLeaveSlideShow, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountModel3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, normalizeColorsForCapture, normalizeHexColor, normalizeSegments, normalizeStrokeDashType, notesSegmentsToSpans, observeYDocSlides, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPptxFile, openReadingView, openUrlInNewTab, paintedStrokeWidth, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, patchChartData, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, playSlideTransitionPreview, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationBaseName, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, pressuresToWidths, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, probeAutosaveRecovery, projectDrawingShapes, promote, publishLiveGeometry, publishLiveInlineText, quickStyleSwatchCss, reResolveSlideColors, readBackstageRecentFile, readRibbonTransitionDraft, readSlideShowOption, readSlidesFromYDoc, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, rebuildTableStructureInRawXml, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, redistributeColumnWidth, registerCollaborationTeardown, registerCustomFont, registerPersistentAudio, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeCommentFromList, removeEmptyNode, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorder2 as reorder, reorderAnimationTo, replaceMasterViewElements, replyToCommentInList, rerouteConnectorsForMovedElements, resetPresenterTimer, resetSlideLayoutPath, resolveActionType, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartKind, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDrawingShapeNodeId, resolveElementActionAffordance, resolveElementInteractivity, resolveFontForScript, resolveGroupChildFill, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveMetricTrackingPx, resolveOleType, resolvePalette, resolveProfileInitial, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveTemplateBackgroundRows, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveViewerAddinRows, restoreSegmentSelection, restoreSessionDeck, revealedSmartArtNodeCount, ribbonTransitionUpdates, rulerDragToGuidePosition, runMediaCommand, runPresentationAction, safeOpenUrl, sanitizeColor, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveDeckWithPassword, saveViewerProfile, savedPresentationFileName, scanAvailableFontFamilies, schemaLabel, scopeLayoutOptionsToSlide, segmentByScript, segmentFrameCount, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, sendBackward, sendToBack, setCachedResult, setCellText, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDuotoneCachedResult, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shapeFillChange, shapeOutlineChange, shouldAutoFollowBroadcaster, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldLoopContinuously, shouldProbeAutosaveRecovery, shouldRoomSlidesReplaceLoad, shouldShowAutosaveRecoveryPrompt, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunForMetrics, stepPresenterZoom, stopAllPersistentAudio, storeAudienceContent, strokeOutlineViewBox, styleShadowFilter, substituteFieldText, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, tableCellCss, tableContainerCss, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, themeColorLabel, themeColorSchemesEqual, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, toggleCommentResolvedInList, togglePresenterTimer, toggleSheet, toggleText3dExtrusion, transformTextCase, ungroupElements, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateMasterViewElement, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateRoomId, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewerOptionsToPreferences, warpPreviewPath, withChartTitle, withConnectorEndpointUpdate, withFrameSlides, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs };
|