pptx-react-viewer 4.3.0 → 4.4.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 +106 -0
- package/dist/{AiChatPanel-UCEK3ZTD.mjs → AiChatPanel-QJHUDIWT.mjs} +4 -4
- package/dist/AiChatPanel-QJHUDIWT.mjs.br +0 -0
- package/dist/AiChatPanel-QJHUDIWT.mjs.gz +0 -0
- package/dist/{AiChatPanel-7UQA25FA.js → AiChatPanel-UFMSTNCB.js} +28 -28
- package/dist/AiChatPanel-UFMSTNCB.js.br +0 -0
- package/dist/AiChatPanel-UFMSTNCB.js.gz +0 -0
- package/dist/{Model3DScene-AI2JTBQM.mjs → Model3DScene-3GOC5HUS.mjs} +1 -1
- package/dist/Model3DScene-3GOC5HUS.mjs.br +0 -0
- package/dist/Model3DScene-3GOC5HUS.mjs.gz +0 -0
- package/dist/{Model3DScene-X3DS3ELB.js → Model3DScene-KXNJBAQD.js} +2 -2
- package/dist/{Model3DScene-X3DS3ELB.js.br → Model3DScene-KXNJBAQD.js.br} +0 -0
- package/dist/Model3DScene-KXNJBAQD.js.gz +0 -0
- package/dist/{chunk-UTI4CLYJ.js → chunk-7WWINBGF.js} +1133 -418
- package/dist/chunk-7WWINBGF.js.br +0 -0
- package/dist/chunk-7WWINBGF.js.gz +0 -0
- package/dist/{chunk-42XEZVUQ.js → chunk-AI6K5EAE.js} +1261 -1077
- package/dist/chunk-AI6K5EAE.js.br +0 -0
- package/dist/chunk-AI6K5EAE.js.gz +0 -0
- package/dist/{chunk-KAO5USPE.js → chunk-CSY422LU.js} +5 -5
- package/dist/chunk-CSY422LU.js.br +0 -0
- package/dist/chunk-CSY422LU.js.gz +0 -0
- package/dist/{chunk-3UWJWJCR.mjs → chunk-D3TZOCQP.mjs} +1118 -419
- package/dist/chunk-D3TZOCQP.mjs.br +0 -0
- package/dist/chunk-D3TZOCQP.mjs.gz +0 -0
- package/dist/{chunk-W5KLLGVH.js → chunk-I4D6JQOI.js} +25 -0
- package/dist/chunk-I4D6JQOI.js.br +0 -0
- package/dist/chunk-I4D6JQOI.js.gz +0 -0
- package/dist/{chunk-OBQ453H6.mjs → chunk-JQXN6PO7.mjs} +25 -0
- package/dist/chunk-JQXN6PO7.mjs.br +0 -0
- package/dist/chunk-JQXN6PO7.mjs.gz +0 -0
- package/dist/{chunk-RXYLPESV.mjs → chunk-LUHUYBGW.mjs} +201 -17
- package/dist/chunk-LUHUYBGW.mjs.br +0 -0
- package/dist/chunk-LUHUYBGW.mjs.gz +0 -0
- package/dist/{chunk-E7O4HTS5.js → chunk-OWTHF5N4.js} +197 -183
- package/dist/chunk-OWTHF5N4.js.br +0 -0
- package/dist/chunk-OWTHF5N4.js.gz +0 -0
- package/dist/{chunk-SKTZSG7Q.mjs → chunk-WCHKDZP6.mjs} +305 -47
- package/dist/chunk-WCHKDZP6.mjs.br +0 -0
- package/dist/chunk-WCHKDZP6.mjs.gz +0 -0
- package/dist/{chunk-PLDG3CXW.mjs → chunk-WNFHFFYE.mjs} +16 -2
- package/dist/chunk-WNFHFFYE.mjs.br +0 -0
- package/dist/chunk-WNFHFFYE.mjs.gz +0 -0
- package/dist/{chunk-YQJOCGOK.mjs → chunk-XMKLY2SE.mjs} +1 -1
- package/dist/chunk-XMKLY2SE.mjs.br +0 -0
- package/dist/chunk-XMKLY2SE.mjs.gz +0 -0
- package/dist/{chunk-Y7LI2JIR.js → chunk-YJKR7Z3X.js} +1103 -845
- package/dist/chunk-YJKR7Z3X.js.br +0 -0
- package/dist/chunk-YJKR7Z3X.js.gz +0 -0
- package/dist/i18n/de.cjs +23 -0
- package/dist/i18n/de.cjs.br +0 -0
- package/dist/i18n/de.cjs.gz +0 -0
- package/dist/i18n/de.mjs +23 -0
- package/dist/i18n/de.mjs.br +0 -0
- package/dist/i18n/de.mjs.gz +0 -0
- package/dist/i18n/es.cjs +23 -0
- package/dist/i18n/es.cjs.br +0 -0
- package/dist/i18n/es.cjs.gz +0 -0
- package/dist/i18n/es.mjs +23 -0
- package/dist/i18n/es.mjs.br +0 -0
- package/dist/i18n/es.mjs.gz +0 -0
- package/dist/i18n/fr.cjs +23 -0
- package/dist/i18n/fr.cjs.br +0 -0
- package/dist/i18n/fr.cjs.gz +0 -0
- package/dist/i18n/fr.mjs +23 -0
- package/dist/i18n/fr.mjs.br +0 -0
- package/dist/i18n/fr.mjs.gz +0 -0
- package/dist/i18n/zh-CN.cjs +23 -0
- package/dist/i18n/zh-CN.cjs.br +0 -0
- package/dist/i18n/zh-CN.cjs.gz +0 -0
- package/dist/i18n/zh-CN.mjs +23 -0
- package/dist/i18n/zh-CN.mjs.br +0 -0
- package/dist/i18n/zh-CN.mjs.gz +0 -0
- package/dist/i18n.js +4 -4
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/i18n.mjs +1 -1
- package/dist/i18n.mjs.br +0 -0
- package/dist/i18n.mjs.gz +0 -0
- package/dist/index.d.ts +71 -7
- package/dist/index.js +49 -49
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +173 -43
- package/dist/internals.js +105 -105
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +4 -4
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/pptx-viewer.css +1 -1
- package/dist/pptx-viewer.css.br +0 -0
- package/dist/pptx-viewer.css.gz +0 -0
- package/dist/viewer/index.d.ts +49 -7
- package/dist/viewer/index.js +27 -27
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +6 -6
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-7UQA25FA.js.br +0 -0
- package/dist/AiChatPanel-7UQA25FA.js.gz +0 -0
- package/dist/AiChatPanel-UCEK3ZTD.mjs.br +0 -0
- package/dist/AiChatPanel-UCEK3ZTD.mjs.gz +0 -0
- package/dist/Model3DScene-AI2JTBQM.mjs.br +0 -0
- package/dist/Model3DScene-AI2JTBQM.mjs.gz +0 -0
- package/dist/Model3DScene-X3DS3ELB.js.gz +0 -0
- package/dist/chunk-3UWJWJCR.mjs.br +0 -0
- package/dist/chunk-3UWJWJCR.mjs.gz +0 -0
- package/dist/chunk-42XEZVUQ.js.br +0 -0
- package/dist/chunk-42XEZVUQ.js.gz +0 -0
- package/dist/chunk-E7O4HTS5.js.br +0 -0
- package/dist/chunk-E7O4HTS5.js.gz +0 -0
- package/dist/chunk-KAO5USPE.js.br +0 -0
- package/dist/chunk-KAO5USPE.js.gz +0 -0
- package/dist/chunk-OBQ453H6.mjs.br +0 -0
- package/dist/chunk-OBQ453H6.mjs.gz +0 -0
- package/dist/chunk-PLDG3CXW.mjs.br +0 -0
- package/dist/chunk-PLDG3CXW.mjs.gz +0 -0
- package/dist/chunk-RXYLPESV.mjs.br +0 -0
- package/dist/chunk-RXYLPESV.mjs.gz +0 -0
- package/dist/chunk-SKTZSG7Q.mjs.br +0 -0
- package/dist/chunk-SKTZSG7Q.mjs.gz +0 -0
- package/dist/chunk-UTI4CLYJ.js.br +0 -0
- package/dist/chunk-UTI4CLYJ.js.gz +0 -0
- package/dist/chunk-W5KLLGVH.js.br +0 -0
- package/dist/chunk-W5KLLGVH.js.gz +0 -0
- package/dist/chunk-Y7LI2JIR.js.br +0 -0
- package/dist/chunk-Y7LI2JIR.js.gz +0 -0
- package/dist/chunk-YQJOCGOK.mjs.br +0 -0
- package/dist/chunk-YQJOCGOK.mjs.gz +0 -0
|
@@ -8759,6 +8759,8 @@ var init_table_style_edit = __esm({
|
|
|
8759
8759
|
}
|
|
8760
8760
|
});
|
|
8761
8761
|
var TRANSITION_VALID_DIRECTIONS;
|
|
8762
|
+
var TRANSITION_PATTERN_OPTIONS;
|
|
8763
|
+
var TRANSITION_THRUBLK_TYPES;
|
|
8762
8764
|
var init_transition = __esm({
|
|
8763
8765
|
"src/core/types/transition.ts"() {
|
|
8764
8766
|
TRANSITION_VALID_DIRECTIONS = {
|
|
@@ -8772,8 +8774,40 @@ var init_transition = __esm({
|
|
|
8772
8774
|
blinds: ["horz", "vert"],
|
|
8773
8775
|
checker: ["horz", "vert"],
|
|
8774
8776
|
comb: ["horz", "vert"],
|
|
8775
|
-
randomBar: ["horz", "vert"]
|
|
8776
|
-
|
|
8777
|
+
randomBar: ["horz", "vert"],
|
|
8778
|
+
// p14 (Office 2010+) extended transitions, COM-verified (see doc comment above).
|
|
8779
|
+
vortex: ["l", "u", "r", "d"],
|
|
8780
|
+
ripple: ["lu", "ld", "ru", "rd"],
|
|
8781
|
+
glitter: ["l", "u", "r", "d"],
|
|
8782
|
+
gallery: ["l", "r"],
|
|
8783
|
+
conveyor: ["l", "r"],
|
|
8784
|
+
ferris: ["l", "r"],
|
|
8785
|
+
switch: ["l", "r"],
|
|
8786
|
+
flip: ["l", "r"],
|
|
8787
|
+
shred: ["in", "out"],
|
|
8788
|
+
cube: ["l", "u", "r", "d"],
|
|
8789
|
+
rotate: ["l", "u", "r", "d"],
|
|
8790
|
+
box: ["l", "u", "r", "d"],
|
|
8791
|
+
orbit: ["l", "u", "r", "d"],
|
|
8792
|
+
pan: ["l", "u", "r", "d"],
|
|
8793
|
+
// p15 (Office 2013+) preset transitions: only the eight `P15_INVX_PRESETS`
|
|
8794
|
+
// (see `p15-transition-parser`) have an effect-options axis at all, and it
|
|
8795
|
+
// is a two-state `invX` toggle mapped onto `l`/`r` (curtains/prestige/
|
|
8796
|
+
// fracture/crush have no direction axis in PowerPoint at all).
|
|
8797
|
+
fallOver: ["l", "r"],
|
|
8798
|
+
drape: ["l", "r"],
|
|
8799
|
+
wind: ["l", "r"],
|
|
8800
|
+
peelOff: ["l", "r"],
|
|
8801
|
+
pageCurlSingle: ["l", "r"],
|
|
8802
|
+
pageCurlDouble: ["l", "r"],
|
|
8803
|
+
airplane: ["l", "r"],
|
|
8804
|
+
origami: ["l", "r"]
|
|
8805
|
+
};
|
|
8806
|
+
TRANSITION_PATTERN_OPTIONS = {
|
|
8807
|
+
glitter: ["diamond", "hexagon"],
|
|
8808
|
+
shred: ["strip", "rectangle"]
|
|
8809
|
+
};
|
|
8810
|
+
TRANSITION_THRUBLK_TYPES = /* @__PURE__ */ new Set(["cut", "fade"]);
|
|
8777
8811
|
}
|
|
8778
8812
|
});
|
|
8779
8813
|
var init_animation = __esm({
|
|
@@ -54560,7 +54594,11 @@ function readP14Details(localName29, value) {
|
|
|
54560
54594
|
if (detail) {
|
|
54561
54595
|
const rawDir = String(detail["@_dir"] || "").trim();
|
|
54562
54596
|
if (rawDir.length > 0) {
|
|
54563
|
-
|
|
54597
|
+
if (P14_DIR_IS_ORIENTATION_TYPE.has(localName29) && (rawDir === "horz" || rawDir === "vert")) {
|
|
54598
|
+
orient = rawDir;
|
|
54599
|
+
} else {
|
|
54600
|
+
direction = rawDir;
|
|
54601
|
+
}
|
|
54564
54602
|
}
|
|
54565
54603
|
const rawOrient = String(detail["@_orient"] || "").trim();
|
|
54566
54604
|
if (rawOrient === "horz" || rawOrient === "vert") {
|
|
@@ -54605,6 +54643,7 @@ function parseP14FromExtLst(extLstNode, xmlLookupService, getXmlLocalName) {
|
|
|
54605
54643
|
return void 0;
|
|
54606
54644
|
}
|
|
54607
54645
|
var P14_TRANSITION_TYPES;
|
|
54646
|
+
var P14_DIR_IS_ORIENTATION_TYPE;
|
|
54608
54647
|
var init_p14_transition_parser = __esm({
|
|
54609
54648
|
"src/core/services/p14-transition-parser.ts"() {
|
|
54610
54649
|
init_p14_prism_family();
|
|
@@ -54636,6 +54675,7 @@ var init_p14_transition_parser = __esm({
|
|
|
54636
54675
|
// through the p14 path", so leaving it out would write `<p:box/>`.
|
|
54637
54676
|
"box"
|
|
54638
54677
|
]);
|
|
54678
|
+
P14_DIR_IS_ORIENTATION_TYPE = /* @__PURE__ */ new Set(["doors", "window"]);
|
|
54639
54679
|
}
|
|
54640
54680
|
});
|
|
54641
54681
|
function chartExPrefixCapabilities() {
|
|
@@ -75997,10 +76037,6 @@ var init_PptxDocumentPropertiesUpdater = __esm({
|
|
|
75997
76037
|
"#text": nowIso
|
|
75998
76038
|
};
|
|
75999
76039
|
}
|
|
76000
|
-
const lastModifiedBy = this.extractXmlNodeText(coreProps["cp:lastModifiedBy"]);
|
|
76001
|
-
if (!lastModifiedBy) {
|
|
76002
|
-
coreProps["cp:lastModifiedBy"] = "pptx";
|
|
76003
|
-
}
|
|
76004
76040
|
this.ensureDatePropertyNamespaces(coreProps);
|
|
76005
76041
|
coreData["cp:coreProperties"] = coreProps;
|
|
76006
76042
|
this.context.zip.file("docProps/core.xml", this.context.builder.build(coreData));
|
|
@@ -78901,6 +78937,7 @@ var init_PptxSlideLoaderService = __esm({
|
|
|
78901
78937
|
);
|
|
78902
78938
|
if (chartData) {
|
|
78903
78939
|
element.chartData = chartData;
|
|
78940
|
+
params.rememberChartDataBaseline(chartData);
|
|
78904
78941
|
}
|
|
78905
78942
|
} catch {
|
|
78906
78943
|
}
|
|
@@ -80253,6 +80290,97 @@ var init_native_animation_timing_walk = __esm({
|
|
|
80253
80290
|
init_native_animation_timing_node_extract();
|
|
80254
80291
|
}
|
|
80255
80292
|
});
|
|
80293
|
+
function optionalBoolean2(value) {
|
|
80294
|
+
const valueToken = value === void 0 || value === null ? "" : String(value).trim().toLowerCase();
|
|
80295
|
+
if (valueToken === "1" || valueToken === "true") {
|
|
80296
|
+
return true;
|
|
80297
|
+
}
|
|
80298
|
+
if (valueToken === "0" || valueToken === "false") {
|
|
80299
|
+
return false;
|
|
80300
|
+
}
|
|
80301
|
+
return void 0;
|
|
80302
|
+
}
|
|
80303
|
+
function readPrstTrans(value) {
|
|
80304
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
80305
|
+
return void 0;
|
|
80306
|
+
}
|
|
80307
|
+
const detail = value;
|
|
80308
|
+
const prst = String(detail["@_prst"] || "").trim();
|
|
80309
|
+
if (!P15_TRANSITION_PRESETS.has(prst)) {
|
|
80310
|
+
return void 0;
|
|
80311
|
+
}
|
|
80312
|
+
return {
|
|
80313
|
+
type: prst,
|
|
80314
|
+
invX: optionalBoolean2(detail["@_invX"]),
|
|
80315
|
+
invY: optionalBoolean2(detail["@_invY"])
|
|
80316
|
+
};
|
|
80317
|
+
}
|
|
80318
|
+
function parseP15DirectChild(transitionNode, getXmlLocalName) {
|
|
80319
|
+
for (const [key2, value] of Object.entries(transitionNode)) {
|
|
80320
|
+
if (key2.startsWith("@_")) {
|
|
80321
|
+
continue;
|
|
80322
|
+
}
|
|
80323
|
+
if (getXmlLocalName(key2) !== "prstTrans") {
|
|
80324
|
+
continue;
|
|
80325
|
+
}
|
|
80326
|
+
const result = readPrstTrans(value);
|
|
80327
|
+
if (result) {
|
|
80328
|
+
return result;
|
|
80329
|
+
}
|
|
80330
|
+
}
|
|
80331
|
+
return void 0;
|
|
80332
|
+
}
|
|
80333
|
+
function parseP15FromExtLst(extLstNode, xmlLookupService, getXmlLocalName) {
|
|
80334
|
+
const extEntries = xmlLookupService.getChildrenArrayByLocalName(extLstNode, "ext");
|
|
80335
|
+
for (const ext of extEntries) {
|
|
80336
|
+
if (!ext) {
|
|
80337
|
+
continue;
|
|
80338
|
+
}
|
|
80339
|
+
for (const [key2, value] of Object.entries(ext)) {
|
|
80340
|
+
if (key2.startsWith("@_")) {
|
|
80341
|
+
continue;
|
|
80342
|
+
}
|
|
80343
|
+
if (getXmlLocalName(key2) !== "prstTrans") {
|
|
80344
|
+
continue;
|
|
80345
|
+
}
|
|
80346
|
+
const result = readPrstTrans(value);
|
|
80347
|
+
if (result) {
|
|
80348
|
+
return result;
|
|
80349
|
+
}
|
|
80350
|
+
}
|
|
80351
|
+
}
|
|
80352
|
+
return void 0;
|
|
80353
|
+
}
|
|
80354
|
+
var P15_TRANSITION_PRESETS;
|
|
80355
|
+
var P15_INVX_PRESETS;
|
|
80356
|
+
var init_p15_transition_parser = __esm({
|
|
80357
|
+
"src/core/services/p15-transition-parser.ts"() {
|
|
80358
|
+
P15_TRANSITION_PRESETS = /* @__PURE__ */ new Set([
|
|
80359
|
+
"fallOver",
|
|
80360
|
+
"drape",
|
|
80361
|
+
"curtains",
|
|
80362
|
+
"wind",
|
|
80363
|
+
"prestige",
|
|
80364
|
+
"fracture",
|
|
80365
|
+
"crush",
|
|
80366
|
+
"peelOff",
|
|
80367
|
+
"pageCurlDouble",
|
|
80368
|
+
"pageCurlSingle",
|
|
80369
|
+
"airplane",
|
|
80370
|
+
"origami"
|
|
80371
|
+
]);
|
|
80372
|
+
P15_INVX_PRESETS = /* @__PURE__ */ new Set([
|
|
80373
|
+
"fallOver",
|
|
80374
|
+
"drape",
|
|
80375
|
+
"wind",
|
|
80376
|
+
"peelOff",
|
|
80377
|
+
"pageCurlSingle",
|
|
80378
|
+
"pageCurlDouble",
|
|
80379
|
+
"airplane",
|
|
80380
|
+
"origami"
|
|
80381
|
+
]);
|
|
80382
|
+
}
|
|
80383
|
+
});
|
|
80256
80384
|
function resolveSlideTimingNode(slideRoot) {
|
|
80257
80385
|
const direct = slideRoot?.["p:timing"];
|
|
80258
80386
|
if (direct && typeof direct === "object" && !Array.isArray(direct)) {
|
|
@@ -80310,7 +80438,8 @@ function preservedP14ChildKey(node, transitionType, getXmlLocalName) {
|
|
|
80310
80438
|
}
|
|
80311
80439
|
return void 0;
|
|
80312
80440
|
}
|
|
80313
|
-
function preservedP15ChildKey(node, transitionType, getXmlLocalName) {
|
|
80441
|
+
function preservedP15ChildKey(node, transitionType, getXmlLocalName, direction) {
|
|
80442
|
+
const wantsInvX = P15_INVX_PRESETS.has(transitionType) && direction === "r";
|
|
80314
80443
|
for (const [key2, value] of Object.entries(node)) {
|
|
80315
80444
|
if (key2.startsWith("@_") || getXmlLocalName(key2) !== "prstTrans") {
|
|
80316
80445
|
continue;
|
|
@@ -80318,7 +80447,12 @@ function preservedP15ChildKey(node, transitionType, getXmlLocalName) {
|
|
|
80318
80447
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
80319
80448
|
continue;
|
|
80320
80449
|
}
|
|
80321
|
-
|
|
80450
|
+
const detail = value;
|
|
80451
|
+
if (String(detail["@_prst"] || "").trim() !== transitionType) {
|
|
80452
|
+
continue;
|
|
80453
|
+
}
|
|
80454
|
+
const hasInvX = String(detail["@_invX"] || "").trim() === "1";
|
|
80455
|
+
if (hasInvX === wantsInvX) {
|
|
80322
80456
|
return key2;
|
|
80323
80457
|
}
|
|
80324
80458
|
}
|
|
@@ -80341,6 +80475,7 @@ var init_slide_transition_envelope = __esm({
|
|
|
80341
80475
|
init_mc_capabilities();
|
|
80342
80476
|
init_p14_prism_family();
|
|
80343
80477
|
init_p14_transition_parser();
|
|
80478
|
+
init_p15_transition_parser();
|
|
80344
80479
|
init_PptxXmlLookupService();
|
|
80345
80480
|
defaultLookup = new PptxXmlLookupService();
|
|
80346
80481
|
}
|
|
@@ -80438,86 +80573,6 @@ var init_PptxNativeAnimationService = __esm({
|
|
|
80438
80573
|
};
|
|
80439
80574
|
}
|
|
80440
80575
|
});
|
|
80441
|
-
function optionalBoolean2(value) {
|
|
80442
|
-
const valueToken = value === void 0 || value === null ? "" : String(value).trim().toLowerCase();
|
|
80443
|
-
if (valueToken === "1" || valueToken === "true") {
|
|
80444
|
-
return true;
|
|
80445
|
-
}
|
|
80446
|
-
if (valueToken === "0" || valueToken === "false") {
|
|
80447
|
-
return false;
|
|
80448
|
-
}
|
|
80449
|
-
return void 0;
|
|
80450
|
-
}
|
|
80451
|
-
function readPrstTrans(value) {
|
|
80452
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
80453
|
-
return void 0;
|
|
80454
|
-
}
|
|
80455
|
-
const detail = value;
|
|
80456
|
-
const prst = String(detail["@_prst"] || "").trim();
|
|
80457
|
-
if (!P15_TRANSITION_PRESETS.has(prst)) {
|
|
80458
|
-
return void 0;
|
|
80459
|
-
}
|
|
80460
|
-
return {
|
|
80461
|
-
type: prst,
|
|
80462
|
-
invX: optionalBoolean2(detail["@_invX"]),
|
|
80463
|
-
invY: optionalBoolean2(detail["@_invY"])
|
|
80464
|
-
};
|
|
80465
|
-
}
|
|
80466
|
-
function parseP15DirectChild(transitionNode, getXmlLocalName) {
|
|
80467
|
-
for (const [key2, value] of Object.entries(transitionNode)) {
|
|
80468
|
-
if (key2.startsWith("@_")) {
|
|
80469
|
-
continue;
|
|
80470
|
-
}
|
|
80471
|
-
if (getXmlLocalName(key2) !== "prstTrans") {
|
|
80472
|
-
continue;
|
|
80473
|
-
}
|
|
80474
|
-
const result = readPrstTrans(value);
|
|
80475
|
-
if (result) {
|
|
80476
|
-
return result;
|
|
80477
|
-
}
|
|
80478
|
-
}
|
|
80479
|
-
return void 0;
|
|
80480
|
-
}
|
|
80481
|
-
function parseP15FromExtLst(extLstNode, xmlLookupService, getXmlLocalName) {
|
|
80482
|
-
const extEntries = xmlLookupService.getChildrenArrayByLocalName(extLstNode, "ext");
|
|
80483
|
-
for (const ext of extEntries) {
|
|
80484
|
-
if (!ext) {
|
|
80485
|
-
continue;
|
|
80486
|
-
}
|
|
80487
|
-
for (const [key2, value] of Object.entries(ext)) {
|
|
80488
|
-
if (key2.startsWith("@_")) {
|
|
80489
|
-
continue;
|
|
80490
|
-
}
|
|
80491
|
-
if (getXmlLocalName(key2) !== "prstTrans") {
|
|
80492
|
-
continue;
|
|
80493
|
-
}
|
|
80494
|
-
const result = readPrstTrans(value);
|
|
80495
|
-
if (result) {
|
|
80496
|
-
return result;
|
|
80497
|
-
}
|
|
80498
|
-
}
|
|
80499
|
-
}
|
|
80500
|
-
return void 0;
|
|
80501
|
-
}
|
|
80502
|
-
var P15_TRANSITION_PRESETS;
|
|
80503
|
-
var init_p15_transition_parser = __esm({
|
|
80504
|
-
"src/core/services/p15-transition-parser.ts"() {
|
|
80505
|
-
P15_TRANSITION_PRESETS = /* @__PURE__ */ new Set([
|
|
80506
|
-
"fallOver",
|
|
80507
|
-
"drape",
|
|
80508
|
-
"curtains",
|
|
80509
|
-
"wind",
|
|
80510
|
-
"prestige",
|
|
80511
|
-
"fracture",
|
|
80512
|
-
"crush",
|
|
80513
|
-
"peelOff",
|
|
80514
|
-
"pageCurlDouble",
|
|
80515
|
-
"pageCurlSingle",
|
|
80516
|
-
"airplane",
|
|
80517
|
-
"origami"
|
|
80518
|
-
]);
|
|
80519
|
-
}
|
|
80520
|
-
});
|
|
80521
80576
|
function normalizeMorphOption(value) {
|
|
80522
80577
|
const candidate = token(value);
|
|
80523
80578
|
return MORPH_OPTIONS.has(candidate) ? candidate : void 0;
|
|
@@ -80549,9 +80604,13 @@ function parseTransitionDetails(node, localName29) {
|
|
|
80549
80604
|
continue;
|
|
80550
80605
|
}
|
|
80551
80606
|
const detail = value;
|
|
80552
|
-
const
|
|
80553
|
-
if (
|
|
80554
|
-
|
|
80607
|
+
const rawDir = token(detail["@_dir"]);
|
|
80608
|
+
if (rawDir) {
|
|
80609
|
+
if (DIR_IS_ORIENTATION_TYPE.has(name) && (rawDir === "horz" || rawDir === "vert")) {
|
|
80610
|
+
result.orient = rawDir;
|
|
80611
|
+
} else {
|
|
80612
|
+
result.direction = rawDir;
|
|
80613
|
+
}
|
|
80555
80614
|
}
|
|
80556
80615
|
const orient = token(detail["@_orient"]);
|
|
80557
80616
|
if (orient === "horz" || orient === "vert") {
|
|
@@ -80615,11 +80674,15 @@ function createPreservedTransitionNode(raw, localName29) {
|
|
|
80615
80674
|
}
|
|
80616
80675
|
function buildStandardTransitionChild(transition) {
|
|
80617
80676
|
const child262 = {};
|
|
80618
|
-
if (transition.
|
|
80619
|
-
child262["@_dir"] = transition.
|
|
80620
|
-
}
|
|
80621
|
-
|
|
80622
|
-
|
|
80677
|
+
if (DIR_IS_ORIENTATION_TYPE.has(transition.type) && transition.orient) {
|
|
80678
|
+
child262["@_dir"] = transition.orient;
|
|
80679
|
+
} else {
|
|
80680
|
+
if (transition.direction) {
|
|
80681
|
+
child262["@_dir"] = transition.direction;
|
|
80682
|
+
}
|
|
80683
|
+
if (transition.orient) {
|
|
80684
|
+
child262["@_orient"] = transition.orient;
|
|
80685
|
+
}
|
|
80623
80686
|
}
|
|
80624
80687
|
if (validUnsignedInteger(transition.spokes, 1)) {
|
|
80625
80688
|
child262["@_spokes"] = String(transition.spokes);
|
|
@@ -80726,6 +80789,7 @@ function validUnsignedInteger(value, min = 0) {
|
|
|
80726
80789
|
var STANDARD_TRANSITION_TYPES;
|
|
80727
80790
|
var SPEEDS;
|
|
80728
80791
|
var UINT_MAX2;
|
|
80792
|
+
var DIR_IS_ORIENTATION_TYPE;
|
|
80729
80793
|
var MORPH_OPTIONS;
|
|
80730
80794
|
var init_slide_transition_xml = __esm({
|
|
80731
80795
|
"src/core/services/slide-transition-xml.ts"() {
|
|
@@ -80755,6 +80819,7 @@ var init_slide_transition_xml = __esm({
|
|
|
80755
80819
|
]);
|
|
80756
80820
|
SPEEDS = /* @__PURE__ */ new Set(["slow", "med", "fast"]);
|
|
80757
80821
|
UINT_MAX2 = 4294967295;
|
|
80822
|
+
DIR_IS_ORIENTATION_TYPE = /* @__PURE__ */ new Set(["blinds", "checker", "comb", "randomBar"]);
|
|
80758
80823
|
MORPH_OPTIONS = /* @__PURE__ */ new Set(["byObject", "byWord", "byChar"]);
|
|
80759
80824
|
}
|
|
80760
80825
|
});
|
|
@@ -80841,13 +80906,17 @@ function buildP14DirectChild(transitionType, details, context) {
|
|
|
80841
80906
|
delete node["@_isInverted"];
|
|
80842
80907
|
}
|
|
80843
80908
|
const direction = String(details.direction ?? "").trim();
|
|
80844
|
-
if (
|
|
80845
|
-
node["@_dir"] =
|
|
80846
|
-
} else
|
|
80847
|
-
|
|
80848
|
-
|
|
80849
|
-
|
|
80850
|
-
|
|
80909
|
+
if (P14_DIR_IS_ORIENTATION_TYPE.has(elementName) && details.orient) {
|
|
80910
|
+
node["@_dir"] = details.orient;
|
|
80911
|
+
} else {
|
|
80912
|
+
if (P14_REQUIRED_LEFT_RIGHT.has(elementName)) {
|
|
80913
|
+
node["@_dir"] = direction === "r" ? "r" : "l";
|
|
80914
|
+
} else if (direction.length > 0) {
|
|
80915
|
+
node["@_dir"] = direction;
|
|
80916
|
+
}
|
|
80917
|
+
if (details.orient) {
|
|
80918
|
+
node["@_orient"] = details.orient;
|
|
80919
|
+
}
|
|
80851
80920
|
}
|
|
80852
80921
|
if (details.pattern) {
|
|
80853
80922
|
node["@_pattern"] = details.pattern;
|
|
@@ -80863,15 +80932,20 @@ function buildP14DirectChild(transitionType, details, context) {
|
|
|
80863
80932
|
}
|
|
80864
80933
|
return { key: `p14:${elementName}`, node };
|
|
80865
80934
|
}
|
|
80866
|
-
function buildP15DirectChild(transitionType, context) {
|
|
80867
|
-
|
|
80868
|
-
|
|
80869
|
-
|
|
80870
|
-
|
|
80871
|
-
...inheritedAttributes(findInExtensions(context, "prstTrans")),
|
|
80872
|
-
"@_prst": transitionType
|
|
80873
|
-
}
|
|
80935
|
+
function buildP15DirectChild(transitionType, context, direction) {
|
|
80936
|
+
const node = {
|
|
80937
|
+
"@_xmlns:p15": P15_NAMESPACE_URI2,
|
|
80938
|
+
...inheritedAttributes(findInExtensions(context, "prstTrans")),
|
|
80939
|
+
"@_prst": transitionType
|
|
80874
80940
|
};
|
|
80941
|
+
if (P15_INVX_PRESETS.has(transitionType)) {
|
|
80942
|
+
if (direction === "r") {
|
|
80943
|
+
node["@_invX"] = "1";
|
|
80944
|
+
} else {
|
|
80945
|
+
delete node["@_invX"];
|
|
80946
|
+
}
|
|
80947
|
+
}
|
|
80948
|
+
return { key: "p15:prstTrans", node };
|
|
80875
80949
|
}
|
|
80876
80950
|
function buildMorphDirectChild(morphOption, context) {
|
|
80877
80951
|
const node = {
|
|
@@ -80900,6 +80974,8 @@ var P14_REQUIRED_LEFT_RIGHT;
|
|
|
80900
80974
|
var init_transition_extension_child = __esm({
|
|
80901
80975
|
"src/core/services/transition-extension-child.ts"() {
|
|
80902
80976
|
init_p14_prism_family();
|
|
80977
|
+
init_p14_transition_parser();
|
|
80978
|
+
init_p15_transition_parser();
|
|
80903
80979
|
P14_NAMESPACE_URI = "http://schemas.microsoft.com/office/powerpoint/2010/main";
|
|
80904
80980
|
P15_NAMESPACE_URI2 = "http://schemas.microsoft.com/office/powerpoint/2012/main";
|
|
80905
80981
|
P159_NAMESPACE_URI = "http://schemas.microsoft.com/office/powerpoint/2015/09/main";
|
|
@@ -80947,11 +81023,14 @@ var init_PptxSlideTransitionService = __esm({
|
|
|
80947
81023
|
const p15Direct = p14Direct ? void 0 : parseP15DirectChild(transitionNode, this.getXmlLocalName);
|
|
80948
81024
|
if (p14Direct) {
|
|
80949
81025
|
transitionType = p14Direct.type;
|
|
80950
|
-
direction = p14Direct.direction
|
|
80951
|
-
orient = p14Direct.orient
|
|
80952
|
-
pattern = p14Direct.pattern
|
|
81026
|
+
direction = p14Direct.direction;
|
|
81027
|
+
orient = p14Direct.orient;
|
|
81028
|
+
pattern = p14Direct.pattern;
|
|
80953
81029
|
} else if (p15Direct) {
|
|
80954
81030
|
transitionType = p15Direct.type;
|
|
81031
|
+
if (p15Direct.invX) {
|
|
81032
|
+
direction = "r";
|
|
81033
|
+
}
|
|
80955
81034
|
}
|
|
80956
81035
|
}
|
|
80957
81036
|
if (rawExtLst && transitionType === "cut") {
|
|
@@ -80970,6 +81049,9 @@ var init_PptxSlideTransitionService = __esm({
|
|
|
80970
81049
|
}
|
|
80971
81050
|
} else if (p15Result) {
|
|
80972
81051
|
transitionType = p15Result.type;
|
|
81052
|
+
if (p15Result.invX) {
|
|
81053
|
+
direction = "r";
|
|
81054
|
+
}
|
|
80973
81055
|
} else {
|
|
80974
81056
|
const morphResult = parseMorphFromExtLst(
|
|
80975
81057
|
rawExtLst,
|
|
@@ -81009,7 +81091,7 @@ var init_PptxSlideTransitionService = __esm({
|
|
|
81009
81091
|
const isMorphType = transitionType === "morph";
|
|
81010
81092
|
const node = createPreservedTransitionNode(transition.rawTransition, this.getXmlLocalName);
|
|
81011
81093
|
const p14ChildKey = isP14Type ? preservedP14ChildKey(node, transitionType, this.getXmlLocalName) : void 0;
|
|
81012
|
-
const p15ChildKey = isP15Type ? preservedP15ChildKey(node, transitionType, this.getXmlLocalName) : void 0;
|
|
81094
|
+
const p15ChildKey = isP15Type ? preservedP15ChildKey(node, transitionType, this.getXmlLocalName, transition.direction) : void 0;
|
|
81013
81095
|
pruneDirectExtensionChildren(node, this.getXmlLocalName, p14ChildKey ?? p15ChildKey);
|
|
81014
81096
|
const extensionContext = {
|
|
81015
81097
|
rawExtLst: transition.rawExtLst,
|
|
@@ -81033,7 +81115,7 @@ var init_PptxSlideTransitionService = __esm({
|
|
|
81033
81115
|
}
|
|
81034
81116
|
} else if (isP15Type) {
|
|
81035
81117
|
if (!p15ChildKey) {
|
|
81036
|
-
const child262 = buildP15DirectChild(transitionType, extensionContext);
|
|
81118
|
+
const child262 = buildP15DirectChild(transitionType, extensionContext, transition.direction);
|
|
81037
81119
|
node[child262.key] = child262.node;
|
|
81038
81120
|
}
|
|
81039
81121
|
} else if (isMorphType) {
|
|
@@ -99432,9 +99514,19 @@ function applyBulletProperties(paragraphProps, bulletInfo) {
|
|
|
99432
99514
|
if (bulletInfo.fontInherit) {
|
|
99433
99515
|
paragraphProps["a:buFontTx"] = {};
|
|
99434
99516
|
} else if (bulletInfo.fontFamily) {
|
|
99435
|
-
|
|
99517
|
+
const buFont = {
|
|
99436
99518
|
"@_typeface": bulletInfo.fontFamily
|
|
99437
99519
|
};
|
|
99520
|
+
if (bulletInfo.fontPanose) {
|
|
99521
|
+
buFont["@_panose"] = bulletInfo.fontPanose;
|
|
99522
|
+
}
|
|
99523
|
+
if (bulletInfo.fontPitchFamily !== void 0) {
|
|
99524
|
+
buFont["@_pitchFamily"] = String(bulletInfo.fontPitchFamily);
|
|
99525
|
+
}
|
|
99526
|
+
if (bulletInfo.fontCharset !== void 0) {
|
|
99527
|
+
buFont["@_charset"] = String(bulletInfo.fontCharset);
|
|
99528
|
+
}
|
|
99529
|
+
paragraphProps["a:buFont"] = buFont;
|
|
99438
99530
|
}
|
|
99439
99531
|
if (bulletInfo.none) {
|
|
99440
99532
|
paragraphProps["a:buNone"] = {};
|
|
@@ -100869,6 +100961,20 @@ var init_PptxHandlerRuntimeState = __esm({
|
|
|
100869
100961
|
* @see fingerprintSlide in `./slide-fingerprint`
|
|
100870
100962
|
*/
|
|
100871
100963
|
savedSlideFingerprints = /* @__PURE__ */ new Map();
|
|
100964
|
+
/**
|
|
100965
|
+
* `chartData` exactly as it stood right after `enrichChartData` parsed it,
|
|
100966
|
+
* serialized to JSON and keyed by `chartPartPath`. The save pipeline used
|
|
100967
|
+
* to re-serialize EVERY chart part on any slide rewrite regardless of
|
|
100968
|
+
* whether the chart itself was touched, which materializes the load-time
|
|
100969
|
+
* resolved model back into the file: an inherited title font/color gets
|
|
100970
|
+
* pinned onto the title run, radar series colours that were following the
|
|
100971
|
+
* palette cycle get pinned per-point, and fields this engine does not
|
|
100972
|
+
* model on `PptxChartData` (e.g. a chartex series' `cx:f` formula or its
|
|
100973
|
+
* `uniqueId`) are silently dropped because the rebuild only knows what it
|
|
100974
|
+
* modeled. Comparing the current `chartData` against this baseline lets an
|
|
100975
|
+
* untouched chart part pass through byte-for-byte instead.
|
|
100976
|
+
*/
|
|
100977
|
+
chartDataBaselines = /* @__PURE__ */ new Map();
|
|
100872
100978
|
/** Per-slide relationship maps: slide path -> (rId -> target path). */
|
|
100873
100979
|
slideRelsMap = /* @__PURE__ */ new Map();
|
|
100874
100980
|
/** Tracks relationship IDs with TargetMode="External" per slide/part path. */
|
|
@@ -101755,9 +101861,7 @@ var init_PptxHandlerRuntimeElementActions = __esm({
|
|
|
101755
101861
|
);
|
|
101756
101862
|
rId = resolveHyperlinkRelationshipId(action.url, forceExternal) ?? void 0;
|
|
101757
101863
|
}
|
|
101758
|
-
|
|
101759
|
-
node["@_r:id"] = rId;
|
|
101760
|
-
}
|
|
101864
|
+
node["@_r:id"] = rId ?? "";
|
|
101761
101865
|
if (action.action) {
|
|
101762
101866
|
node["@_action"] = action.action;
|
|
101763
101867
|
}
|
|
@@ -103889,7 +103993,7 @@ var init_PptxHandlerRuntimeSaveSlideUtils = __esm({
|
|
|
103889
103993
|
};
|
|
103890
103994
|
}
|
|
103891
103995
|
});
|
|
103892
|
-
function buildTextRunEffectListXml(style) {
|
|
103996
|
+
function buildTextRunEffectListXml(style, parseColor) {
|
|
103893
103997
|
const hasTextShadow = Boolean(style.textShadowColor) || typeof style.textShadowBlur === "number" && style.textShadowBlur > 0;
|
|
103894
103998
|
const hasTextInnerShadow = Boolean(style.textInnerShadowColor) || typeof style.textInnerShadowBlur === "number" && style.textInnerShadowBlur > 0;
|
|
103895
103999
|
const hasTextPresetShadow = Boolean(style.textPresetShadowName);
|
|
@@ -103916,7 +104020,7 @@ function buildTextRunEffectListXml(style) {
|
|
|
103916
104020
|
effectLst["a:prstShdw"] = buildPresetShadowNode(style);
|
|
103917
104021
|
}
|
|
103918
104022
|
if (hasTextGlow) {
|
|
103919
|
-
effectLst["a:glow"] = buildGlowNode(style);
|
|
104023
|
+
effectLst["a:glow"] = buildGlowNode(style, parseColor);
|
|
103920
104024
|
}
|
|
103921
104025
|
if (hasTextReflection) {
|
|
103922
104026
|
effectLst["a:reflection"] = buildReflectionNode(style);
|
|
@@ -104003,10 +104107,18 @@ function buildPresetShadowNode(style) {
|
|
|
104003
104107
|
}
|
|
104004
104108
|
return node;
|
|
104005
104109
|
}
|
|
104006
|
-
function buildGlowNode(style) {
|
|
104110
|
+
function buildGlowNode(style, parseColor) {
|
|
104111
|
+
const fallbackHex = style.textGlowColor || "#ffff00";
|
|
104112
|
+
const resolvedOriginal = style.textGlowColorXml ? parseColor?.(style.textGlowColorXml) : void 0;
|
|
104007
104113
|
return {
|
|
104008
104114
|
"@_rad": String(Math.round((style.textGlowRadius ?? 6) * EMU_PER_PX9)),
|
|
104009
|
-
|
|
104115
|
+
...serializeColorChoiceWithRef(
|
|
104116
|
+
style.textGlowColorRef,
|
|
104117
|
+
style.textGlowColorXml,
|
|
104118
|
+
resolvedOriginal,
|
|
104119
|
+
fallbackHex,
|
|
104120
|
+
style.textGlowOpacity
|
|
104121
|
+
)
|
|
104010
104122
|
};
|
|
104011
104123
|
}
|
|
104012
104124
|
function buildReflectionNode(style) {
|
|
@@ -104076,6 +104188,7 @@ function buildClrChangeNode(style) {
|
|
|
104076
104188
|
var EMU_PER_PX9;
|
|
104077
104189
|
var init_text_run_effect_xml_builder = __esm({
|
|
104078
104190
|
"src/core/core/runtime/text-run-effect-xml-builder.ts"() {
|
|
104191
|
+
init_color_xml_preservation();
|
|
104079
104192
|
init_positive_fixed_angle();
|
|
104080
104193
|
EMU_PER_PX9 = 9525;
|
|
104081
104194
|
}
|
|
@@ -104276,7 +104389,10 @@ var init_PptxHandlerRuntimeSaveRunProperties = __esm({
|
|
|
104276
104389
|
}
|
|
104277
104390
|
runProps["a:pattFill"] = pattFill;
|
|
104278
104391
|
}
|
|
104279
|
-
const textEffectLst = buildTextRunEffectListXml(
|
|
104392
|
+
const textEffectLst = buildTextRunEffectListXml(
|
|
104393
|
+
style,
|
|
104394
|
+
(colorNode) => this.parseColor(colorNode)
|
|
104395
|
+
);
|
|
104280
104396
|
if (textEffectLst) {
|
|
104281
104397
|
runProps["a:effectLst"] = textEffectLst;
|
|
104282
104398
|
}
|
|
@@ -104414,6 +104530,9 @@ var init_PptxHandlerRuntimeSaveRunProperties = __esm({
|
|
|
104414
104530
|
if (style.hyperlinkSoundXml && typeof style.hyperlinkSoundXml === "object") {
|
|
104415
104531
|
hlinkNode["a:snd"] = style.hyperlinkSoundXml;
|
|
104416
104532
|
}
|
|
104533
|
+
if (style.hyperlinkExtensionXml && typeof style.hyperlinkExtensionXml === "object") {
|
|
104534
|
+
hlinkNode["a:extLst"] = style.hyperlinkExtensionXml;
|
|
104535
|
+
}
|
|
104417
104536
|
}
|
|
104418
104537
|
};
|
|
104419
104538
|
}
|
|
@@ -105559,6 +105678,10 @@ var init_PptxHandlerRuntimeSaveImageEffects = __esm({
|
|
|
105559
105678
|
if (!blipFill) {
|
|
105560
105679
|
return;
|
|
105561
105680
|
}
|
|
105681
|
+
const hasCropOpinion = element.cropLeft !== void 0 || element.cropTop !== void 0 || element.cropRight !== void 0 || element.cropBottom !== void 0;
|
|
105682
|
+
if (!hasCropOpinion) {
|
|
105683
|
+
return;
|
|
105684
|
+
}
|
|
105562
105685
|
const srcRect = buildSrcRectXml(element);
|
|
105563
105686
|
if (!srcRect) {
|
|
105564
105687
|
delete blipFill["a:srcRect"];
|
|
@@ -105867,7 +105990,56 @@ var init_PptxHandlerRuntimeTextStyleUtils = __esm({
|
|
|
105867
105990
|
"align",
|
|
105868
105991
|
"vAlign",
|
|
105869
105992
|
"textDirection",
|
|
105870
|
-
"columnCount"
|
|
105993
|
+
"columnCount",
|
|
105994
|
+
// Round-trip-only `a:rPr` attributes that carry no visual difference
|
|
105995
|
+
// but ARE distinct authored content: two adjacent runs differing only
|
|
105996
|
+
// in one of these were still "the same style" by the keys above, so
|
|
105997
|
+
// they were folded into a single merged run and every one of these
|
|
105998
|
+
// attributes on every run but the first was silently dropped.
|
|
105999
|
+
// Measured on `issue-132-hr-deck.pptx`: 34 authored runs (mixed
|
|
106000
|
+
// `lang`/`altLang` from pasted multi-language text) collapsed to 4 on
|
|
106001
|
+
// a no-edit round-trip.
|
|
106002
|
+
"language",
|
|
106003
|
+
"altLanguage",
|
|
106004
|
+
"dirty",
|
|
106005
|
+
"smartTagClean",
|
|
106006
|
+
"smartTagId",
|
|
106007
|
+
"bookmark",
|
|
106008
|
+
"kumimoji",
|
|
106009
|
+
"normalizeHeight",
|
|
106010
|
+
"noProof",
|
|
106011
|
+
"spellingError",
|
|
106012
|
+
"underlineColor",
|
|
106013
|
+
"underlineStyle",
|
|
106014
|
+
"underlineExplicitNone",
|
|
106015
|
+
"underlineLineFollowsText",
|
|
106016
|
+
"underlineFillFollowsText",
|
|
106017
|
+
"strikeType",
|
|
106018
|
+
"baseline",
|
|
106019
|
+
"characterSpacing",
|
|
106020
|
+
"kerning",
|
|
106021
|
+
"highlightColor",
|
|
106022
|
+
"textCaps",
|
|
106023
|
+
"textCapsExplicitNone",
|
|
106024
|
+
"hyperlinkRId",
|
|
106025
|
+
"hyperlinkTooltip",
|
|
106026
|
+
"hyperlinkAction",
|
|
106027
|
+
"hyperlinkTargetSlideIndex",
|
|
106028
|
+
"hyperlinkMouseOver",
|
|
106029
|
+
"hyperlinkInvalidUrl",
|
|
106030
|
+
"hyperlinkTargetFrame",
|
|
106031
|
+
"hyperlinkHistory",
|
|
106032
|
+
"hyperlinkHighlightClick",
|
|
106033
|
+
"hyperlinkEndSound",
|
|
106034
|
+
"hyperlinkExtensionXml",
|
|
106035
|
+
"textGlowColor",
|
|
106036
|
+
"textGlowRadius",
|
|
106037
|
+
"textGlowOpacity",
|
|
106038
|
+
"textShadowColor",
|
|
106039
|
+
"textShadowBlur",
|
|
106040
|
+
"textShadowOffsetX",
|
|
106041
|
+
"textShadowOffsetY",
|
|
106042
|
+
"textShadowOpacity"
|
|
105871
106043
|
];
|
|
105872
106044
|
return keys.every((key2) => left?.[key2] === right?.[key2]);
|
|
105873
106045
|
}
|
|
@@ -105989,6 +106161,8 @@ var init_PptxHandlerRuntimeTextStyleUtils = __esm({
|
|
|
105989
106161
|
var PptxHandlerRuntime18;
|
|
105990
106162
|
var init_PptxHandlerRuntimeTextRunEffects = __esm({
|
|
105991
106163
|
"src/core/core/runtime/PptxHandlerRuntimeTextRunEffects.ts"() {
|
|
106164
|
+
init_theme_color_ref();
|
|
106165
|
+
init_color_xml_preservation();
|
|
105992
106166
|
init_effect_dag_containers();
|
|
105993
106167
|
init_effect_style_extractor_reflection();
|
|
105994
106168
|
init_PptxHandlerRuntimeTextStyleUtils();
|
|
@@ -106041,6 +106215,10 @@ var init_PptxHandlerRuntimeTextRunEffects = __esm({
|
|
|
106041
106215
|
if (clickSnd && typeof clickSnd === "object") {
|
|
106042
106216
|
style.hyperlinkSoundXml = clickSnd;
|
|
106043
106217
|
}
|
|
106218
|
+
const extLst = hyperlinkNode["a:extLst"];
|
|
106219
|
+
if (extLst && typeof extLst === "object") {
|
|
106220
|
+
style.hyperlinkExtensionXml = extLst;
|
|
106221
|
+
}
|
|
106044
106222
|
}
|
|
106045
106223
|
const actionStr = String(hyperlinkNode?.["@_action"] || "").trim();
|
|
106046
106224
|
if (actionStr) {
|
|
@@ -106115,6 +106293,14 @@ var init_PptxHandlerRuntimeTextRunEffects = __esm({
|
|
|
106115
106293
|
if (glowColor) {
|
|
106116
106294
|
style.textGlowColor = glowColor;
|
|
106117
106295
|
}
|
|
106296
|
+
const glowColorXml = extractColorChoiceXml(glowNode);
|
|
106297
|
+
if (glowColorXml) {
|
|
106298
|
+
style.textGlowColorXml = glowColorXml;
|
|
106299
|
+
}
|
|
106300
|
+
const glowColorRef = themeColorRefFromColorChoice(glowNode);
|
|
106301
|
+
if (glowColorRef) {
|
|
106302
|
+
style.textGlowColorRef = glowColorRef;
|
|
106303
|
+
}
|
|
106118
106304
|
const glowOpacity = this.extractColorOpacity(glowNode);
|
|
106119
106305
|
if (glowOpacity !== void 0) {
|
|
106120
106306
|
style.textGlowOpacity = glowOpacity;
|
|
@@ -108937,6 +109123,16 @@ var init_PptxHandlerRuntimeSaveDataSerialization = __esm({
|
|
|
108937
109123
|
}
|
|
108938
109124
|
/** Pending chart data updates to process in the async save method. */
|
|
108939
109125
|
pendingChartUpdates;
|
|
109126
|
+
/**
|
|
109127
|
+
* Record `chartData` as parsed, straight off `enrichChartData`, as this
|
|
109128
|
+
* chart's load-time baseline. See {@link chartDataBaselines}.
|
|
109129
|
+
*/
|
|
109130
|
+
rememberChartDataBaseline(chartData) {
|
|
109131
|
+
if (!chartData.chartPartPath) {
|
|
109132
|
+
return;
|
|
109133
|
+
}
|
|
109134
|
+
this.chartDataBaselines.set(chartData.chartPartPath, JSON.stringify(chartData));
|
|
109135
|
+
}
|
|
108940
109136
|
/**
|
|
108941
109137
|
* Collect chart data for deferred async processing during save.
|
|
108942
109138
|
*/
|
|
@@ -108957,6 +109153,9 @@ var init_PptxHandlerRuntimeSaveDataSerialization = __esm({
|
|
|
108957
109153
|
return;
|
|
108958
109154
|
}
|
|
108959
109155
|
for (const { chartData, slidePath } of this.pendingChartUpdates) {
|
|
109156
|
+
if (chartData.chartPartPath && this.chartDataBaselines.get(chartData.chartPartPath) === JSON.stringify(chartData)) {
|
|
109157
|
+
continue;
|
|
109158
|
+
}
|
|
108960
109159
|
if (chartData.colorPalette && chartData.colorStylePartPath) {
|
|
108961
109160
|
const paletteChanged = JSON.stringify(chartData.colorPalette) !== JSON.stringify(chartData.colorStyleOriginalPalette);
|
|
108962
109161
|
const method = chartData.colorMethod ?? "cycle";
|
|
@@ -112011,6 +112210,9 @@ function writeShapeFill(spPr, shapeStyle, ctx) {
|
|
|
112011
112210
|
if (fillIsPurelyStyleMatrix(shapeStyle)) {
|
|
112012
112211
|
return;
|
|
112013
112212
|
}
|
|
112213
|
+
if (requestedFillMode === "image") {
|
|
112214
|
+
return;
|
|
112215
|
+
}
|
|
112014
112216
|
if (requestedFillMode === "none" || shapeStyle.fillColor === "transparent") {
|
|
112015
112217
|
setFillChoice(spPr, "a:noFill", {});
|
|
112016
112218
|
return;
|
|
@@ -119770,6 +119972,7 @@ var PptxHandlerRuntime61;
|
|
|
119770
119972
|
var init_PptxHandlerRuntimeShapeImageFill = __esm({
|
|
119771
119973
|
"src/core/core/runtime/PptxHandlerRuntimeShapeImageFill.ts"() {
|
|
119772
119974
|
init_xml_access();
|
|
119975
|
+
init_group_shape_geometry();
|
|
119773
119976
|
init_PptxHandlerRuntimeGeometryParsing();
|
|
119774
119977
|
PptxHandlerRuntime61 = class _PptxHandlerRuntime extends PptxHandlerRuntime60 {
|
|
119775
119978
|
/**
|
|
@@ -119792,12 +119995,14 @@ var init_PptxHandlerRuntimeShapeImageFill = __esm({
|
|
|
119792
119995
|
if (!off || !ext) {
|
|
119793
119996
|
return null;
|
|
119794
119997
|
}
|
|
119795
|
-
const
|
|
119796
|
-
const
|
|
119797
|
-
const
|
|
119798
|
-
const
|
|
119799
|
-
|
|
119800
|
-
);
|
|
119998
|
+
const xEmu = parseEmuInt(xmlAttr(off, "x"));
|
|
119999
|
+
const yEmu = parseEmuInt(xmlAttr(off, "y"));
|
|
120000
|
+
const widthEmu = parseEmuInt(xmlAttr(ext, "cx"));
|
|
120001
|
+
const heightEmu = parseEmuInt(xmlAttr(ext, "cy"));
|
|
120002
|
+
const x = Math.round(xEmu / _PptxHandlerRuntime.EMU_PER_PX);
|
|
120003
|
+
const y = Math.round(yEmu / _PptxHandlerRuntime.EMU_PER_PX);
|
|
120004
|
+
const width = Math.round(widthEmu / _PptxHandlerRuntime.EMU_PER_PX);
|
|
120005
|
+
const height = Math.round(heightEmu / _PptxHandlerRuntime.EMU_PER_PX);
|
|
119801
120006
|
const rotation = xfrm["@_rot"] ? parseInt(xfrm["@_rot"]) / 6e4 : void 0;
|
|
119802
120007
|
const skewX = xfrm["@_skewX"] ? parseInt(String(xfrm["@_skewX"]), 10) / 6e4 : void 0;
|
|
119803
120008
|
const skewY = xfrm["@_skewY"] ? parseInt(String(xfrm["@_skewY"]), 10) / 6e4 : void 0;
|
|
@@ -119906,6 +120111,10 @@ var init_PptxHandlerRuntimeShapeImageFill = __esm({
|
|
|
119906
120111
|
y,
|
|
119907
120112
|
width,
|
|
119908
120113
|
height,
|
|
120114
|
+
xEmu,
|
|
120115
|
+
yEmu,
|
|
120116
|
+
widthEmu,
|
|
120117
|
+
heightEmu,
|
|
119909
120118
|
imageData,
|
|
119910
120119
|
imagePath,
|
|
119911
120120
|
imageEffects: imageEffects || void 0,
|
|
@@ -120235,6 +120444,11 @@ var init_PptxHandlerRuntimeBulletParsing = __esm({
|
|
|
120235
120444
|
}
|
|
120236
120445
|
const buFont = resolvedBulletProps["a:buFont"];
|
|
120237
120446
|
const fontFamily = buFont?.["@_typeface"] ? String(buFont["@_typeface"]) : void 0;
|
|
120447
|
+
const fontPanose = buFont?.["@_panose"] ? String(buFont["@_panose"]) : void 0;
|
|
120448
|
+
const pitchFamilyRaw = Number.parseInt(String(buFont?.["@_pitchFamily"] ?? ""), 10);
|
|
120449
|
+
const fontPitchFamily = Number.isFinite(pitchFamilyRaw) ? pitchFamilyRaw : void 0;
|
|
120450
|
+
const charsetRaw = Number.parseInt(String(buFont?.["@_charset"] ?? ""), 10);
|
|
120451
|
+
const fontCharset = Number.isFinite(charsetRaw) ? charsetRaw : void 0;
|
|
120238
120452
|
const fontInherit = resolvedBulletProps["a:buFontTx"] !== void 0;
|
|
120239
120453
|
const sizePercent = parseBulletSizePercent(
|
|
120240
120454
|
resolvedBulletProps["a:buSzPct"]
|
|
@@ -120266,6 +120480,9 @@ var init_PptxHandlerRuntimeBulletParsing = __esm({
|
|
|
120266
120480
|
return {
|
|
120267
120481
|
char: bulletChar,
|
|
120268
120482
|
fontFamily,
|
|
120483
|
+
fontPanose,
|
|
120484
|
+
fontPitchFamily,
|
|
120485
|
+
fontCharset,
|
|
120269
120486
|
sizePercent,
|
|
120270
120487
|
sizePts,
|
|
120271
120488
|
color: color2,
|
|
@@ -120287,6 +120504,9 @@ var init_PptxHandlerRuntimeBulletParsing = __esm({
|
|
|
120287
120504
|
autoNumStartAt,
|
|
120288
120505
|
paragraphIndex,
|
|
120289
120506
|
fontFamily,
|
|
120507
|
+
fontPanose,
|
|
120508
|
+
fontPitchFamily,
|
|
120509
|
+
fontCharset,
|
|
120290
120510
|
sizePercent,
|
|
120291
120511
|
sizePts,
|
|
120292
120512
|
color: color2,
|
|
@@ -120323,6 +120543,9 @@ var init_PptxHandlerRuntimeBulletParsing = __esm({
|
|
|
120323
120543
|
imageDataUrl,
|
|
120324
120544
|
imageBlipFillXml,
|
|
120325
120545
|
fontFamily,
|
|
120546
|
+
fontPanose,
|
|
120547
|
+
fontPitchFamily,
|
|
120548
|
+
fontCharset,
|
|
120326
120549
|
sizePercent,
|
|
120327
120550
|
sizePts,
|
|
120328
120551
|
color: color2,
|
|
@@ -120334,6 +120557,9 @@ var init_PptxHandlerRuntimeBulletParsing = __esm({
|
|
|
120334
120557
|
return {
|
|
120335
120558
|
imageBlipFillXml,
|
|
120336
120559
|
fontFamily,
|
|
120560
|
+
fontPanose,
|
|
120561
|
+
fontPitchFamily,
|
|
120562
|
+
fontCharset,
|
|
120337
120563
|
sizePercent,
|
|
120338
120564
|
sizePts,
|
|
120339
120565
|
color: color2,
|
|
@@ -121094,9 +121320,9 @@ var init_PptxHandlerRuntimeShapeParagraphContentParsing = __esm({
|
|
|
121094
121320
|
if (fldGuidAttr) {
|
|
121095
121321
|
fieldSegment.fieldGuidAttr = fldGuidAttr;
|
|
121096
121322
|
}
|
|
121097
|
-
|
|
121098
|
-
|
|
121099
|
-
fieldSegment.fieldParagraphPropertiesXml = fieldPPr;
|
|
121323
|
+
if (field["a:pPr"] !== void 0) {
|
|
121324
|
+
const fieldPPr = field["a:pPr"];
|
|
121325
|
+
fieldSegment.fieldParagraphPropertiesXml = typeof fieldPPr === "object" && fieldPPr !== null ? fieldPPr : {};
|
|
121100
121326
|
}
|
|
121101
121327
|
segments.push(fieldSegment);
|
|
121102
121328
|
maybeSeed(fieldRunStyle);
|
|
@@ -121638,7 +121864,18 @@ var init_PptxHandlerRuntimeShapeParsing = __esm({
|
|
|
121638
121864
|
yEmu,
|
|
121639
121865
|
widthEmu,
|
|
121640
121866
|
heightEmu,
|
|
121641
|
-
|
|
121867
|
+
// A shape with no `p:txBody` at all (own or inherited) - a bare
|
|
121868
|
+
// decorative rectangle, say - has no textual capability, and
|
|
121869
|
+
// `text` must stay `undefined` to say so. `text` was unconditionally
|
|
121870
|
+
// initialized to `''` above and only ever reassigned when a txBody
|
|
121871
|
+
// WAS found, so a bare shape's `''` was indistinguishable from an
|
|
121872
|
+
// authored-but-empty text box; the save writer's
|
|
121873
|
+
// `typeof el.text === 'string'` check then created a brand-new empty
|
|
121874
|
+
// `<p:txBody/>` on that shape's `rawXml` the moment it was rewritten
|
|
121875
|
+
// (any edit on a slide master/layout element rewrites its whole
|
|
121876
|
+
// shape node), which real PowerPoint never authors on a shape with
|
|
121877
|
+
// no text.
|
|
121878
|
+
text: txBody !== void 0 ? text22 : void 0,
|
|
121642
121879
|
// A text-less shape (only an empty `a:endParaRPr`, or no `a:p` at
|
|
121643
121880
|
// all) still has its own `a:bodyPr`: PowerPoint applies the
|
|
121644
121881
|
// vertical anchor, insets and autofit of an EMPTY text box just
|
|
@@ -121765,6 +122002,8 @@ var init_PptxHandlerRuntimePictureParsing = __esm({
|
|
|
121765
122002
|
const mediaCNvPr = pic?.["p:nvPicPr"]?.["p:cNvPr"];
|
|
121766
122003
|
const mediaAltText = String(mediaCNvPr?.["@_descr"] || "").trim() || void 0;
|
|
121767
122004
|
const mediaTitle = String(mediaCNvPr?.["@_title"] || "").trim() || void 0;
|
|
122005
|
+
const mediaSlideRels = this.slideRelsMap.get(slidePath);
|
|
122006
|
+
const { actionClick: mediaActionClick, actionHover: mediaActionHover } = this.parseElementActions(mediaCNvPr, mediaSlideRels, this.orderedSlidePaths);
|
|
121768
122007
|
this.compatibilityService.inspectMediaReferenceCompatibility(
|
|
121769
122008
|
mediaReference.kind,
|
|
121770
122009
|
slidePath,
|
|
@@ -121853,6 +122092,8 @@ var init_PptxHandlerRuntimePictureParsing = __esm({
|
|
|
121853
122092
|
posterFrameData,
|
|
121854
122093
|
...mediaAltText !== void 0 ? { altText: mediaAltText } : {},
|
|
121855
122094
|
...mediaTitle !== void 0 ? { title: mediaTitle } : {},
|
|
122095
|
+
...mediaActionClick !== void 0 ? { actionClick: mediaActionClick } : {},
|
|
122096
|
+
...mediaActionHover !== void 0 ? { actionHover: mediaActionHover } : {},
|
|
121856
122097
|
...this.readImageCropFromBlipFill(posterBlipFill),
|
|
121857
122098
|
// Real PowerPoint media is `p:pic`-shaped even though the
|
|
121858
122099
|
// `media` type buckets as `p:graphicFrame`, so its locks live
|
|
@@ -129781,6 +130022,7 @@ var init_PptxHandlerRuntimeLoadSession = __esm({
|
|
|
129781
130022
|
this.externalRelsMap.clear();
|
|
129782
130023
|
this.slideMap.clear();
|
|
129783
130024
|
this.savedSlideFingerprints.clear();
|
|
130025
|
+
this.chartDataBaselines.clear();
|
|
129784
130026
|
this.layoutCache.clear();
|
|
129785
130027
|
this.masterCache.clear();
|
|
129786
130028
|
this.templateElementBaselines.reset();
|
|
@@ -130086,6 +130328,7 @@ var init_PptxHandlerRuntimeLoadSession = __esm({
|
|
|
130086
130328
|
parseNativeAnimations: (slideXml3, slidePath) => this.parseNativeAnimations(slideXml3, slidePath),
|
|
130087
130329
|
getSmartArtDataForGraphicFrame: (slidePath, graphicFrame) => this.getSmartArtDataForGraphicFrame(slidePath, graphicFrame),
|
|
130088
130330
|
getChartDataForGraphicFrame: (slidePath, graphicFrame) => this.getChartDataForGraphicFrame(slidePath, graphicFrame),
|
|
130331
|
+
rememberChartDataBaseline: (chartData) => this.rememberChartDataBaseline(chartData),
|
|
130089
130332
|
parseSlideCustomerData: (slideXml3, slidePath) => this.parseSlideCustomerData(slideXml3, slidePath),
|
|
130090
130333
|
parseSlideActiveXControls: (slideXml3) => this.parseSlideActiveXControls(slideXml3)
|
|
130091
130334
|
});
|
|
@@ -130266,6 +130509,7 @@ var init_PptxHandlerRuntimeLoadPipeline = __esm({
|
|
|
130266
130509
|
this.imageDataCache.clear();
|
|
130267
130510
|
this.slideMap.clear();
|
|
130268
130511
|
this.savedSlideFingerprints.clear();
|
|
130512
|
+
this.chartDataBaselines.clear();
|
|
130269
130513
|
this.slideRelsMap.clear();
|
|
130270
130514
|
this.externalRelsMap.clear();
|
|
130271
130515
|
this.layoutCache.clear();
|
|
@@ -148946,7 +149190,7 @@ var init_fill_style = __esm2({
|
|
|
148946
149190
|
}
|
|
148947
149191
|
});
|
|
148948
149192
|
function isTextOrientationMatrix2(value) {
|
|
148949
|
-
return Array.isArray(value) && value.length === 4 && value.every((
|
|
149193
|
+
return Array.isArray(value) && value.length === 4 && value.every((entry3) => typeof entry3 === "number" && Number.isFinite(entry3));
|
|
148950
149194
|
}
|
|
148951
149195
|
function multiplyTextOrientationMatrices2(left, right) {
|
|
148952
149196
|
return [
|
|
@@ -149674,11 +149918,11 @@ var init_chart_font = __esm2({
|
|
|
149674
149918
|
DEFAULT_CHART_DATA_LABEL_PX = chartFontPx(9);
|
|
149675
149919
|
}
|
|
149676
149920
|
});
|
|
149677
|
-
function sizePx(
|
|
149678
|
-
return
|
|
149921
|
+
function sizePx(entry3, fallbackPx) {
|
|
149922
|
+
return entry3?.fontSize !== void 0 ? chartFontPx(entry3.fontSize) : fallbackPx;
|
|
149679
149923
|
}
|
|
149680
|
-
function colorOr(
|
|
149681
|
-
return
|
|
149924
|
+
function colorOr(entry3, fallback) {
|
|
149925
|
+
return entry3?.color ?? fallback;
|
|
149682
149926
|
}
|
|
149683
149927
|
function resolveChartStyleDefaults(chartData) {
|
|
149684
149928
|
const def = chartData?.chartStyleDefinition;
|
|
@@ -150411,19 +150655,19 @@ var init_chart_bar3d_face_picture = __esm2({
|
|
|
150411
150655
|
});
|
|
150412
150656
|
function computeChartLegendLayout(vm) {
|
|
150413
150657
|
const vertical = vm.legendAnchor === "start";
|
|
150414
|
-
return vm.legend.map((
|
|
150415
|
-
const x = vertical ? vm.legendX : vm.legendX - vm.legend.length * LEGEND_ITEM_WIDTH / 2 + i2 * LEGEND_ITEM_WIDTH, y = vertical ? vm.legendY + i2 * LEGEND_ITEM_HEIGHT : vm.legendY, textStyle =
|
|
150658
|
+
return vm.legend.map((entry3, i2) => {
|
|
150659
|
+
const x = vertical ? vm.legendX : vm.legendX - vm.legend.length * LEGEND_ITEM_WIDTH / 2 + i2 * LEGEND_ITEM_WIDTH, y = vertical ? vm.legendY + i2 * LEGEND_ITEM_HEIGHT : vm.legendY, textStyle = entry3.textStyle;
|
|
150416
150660
|
return {
|
|
150417
150661
|
x,
|
|
150418
150662
|
y,
|
|
150419
|
-
color:
|
|
150420
|
-
label:
|
|
150663
|
+
color: entry3.color,
|
|
150664
|
+
label: entry3.label,
|
|
150421
150665
|
fontSize: textStyle?.fontSize !== void 0 ? chartFontPx(textStyle.fontSize) : DEFAULT_LEGEND_FONT_SIZE,
|
|
150422
150666
|
fill: textStyle?.color ?? DEFAULT_LEGEND_TEXT_COLOR,
|
|
150423
150667
|
fontWeight: textStyle?.bold ? "bold" : "normal",
|
|
150424
150668
|
fontStyle: textStyle?.italic ? "italic" : "normal",
|
|
150425
150669
|
fontFamily: textStyle?.fontFamily,
|
|
150426
|
-
...
|
|
150670
|
+
...entry3.lineSwatch ? { lineSwatch: entry3.lineSwatch } : {}
|
|
150427
150671
|
};
|
|
150428
150672
|
});
|
|
150429
150673
|
}
|
|
@@ -151444,7 +151688,7 @@ function buildDataLabelText(params) {
|
|
|
151444
151688
|
valueColor = formatted?.color;
|
|
151445
151689
|
}
|
|
151446
151690
|
if (content.showPercent) {
|
|
151447
|
-
const base = percentBase ?? series.values.reduce((total,
|
|
151691
|
+
const base = percentBase ?? series.values.reduce((total, entry3) => total + Math.abs(entry3), 0);
|
|
151448
151692
|
parts.push(base > 0 ? `${Math.round(Math.abs(value) / base * 100)}%` : "0%");
|
|
151449
151693
|
}
|
|
151450
151694
|
if (content.showBubbleSize) {
|
|
@@ -152210,9 +152454,9 @@ function categoryTotals(series, catCount) {
|
|
|
152210
152454
|
);
|
|
152211
152455
|
}
|
|
152212
152456
|
function buildPercentStackedBars(chartData, catCount, layout, primaryRange, sourceIndices2, invertNegativeFill2) {
|
|
152213
|
-
const primitives = [], dataLabels = [], series = chartData.series, palette = chartData.colorPalette, showLabels = chartData.style?.hasDataLabels, barGroupWidth = layout.plotWidth / Math.max(catCount, 1), barW = barGroupWidth * 0.6, barOffset = (barGroupWidth - barW) / 2, displaySeries = series.map((
|
|
152214
|
-
...
|
|
152215
|
-
values: sourceIndices2.map((sourceIndex) =>
|
|
152457
|
+
const primitives = [], dataLabels = [], series = chartData.series, palette = chartData.colorPalette, showLabels = chartData.style?.hasDataLabels, barGroupWidth = layout.plotWidth / Math.max(catCount, 1), barW = barGroupWidth * 0.6, barOffset = (barGroupWidth - barW) / 2, displaySeries = series.map((entry3) => ({
|
|
152458
|
+
...entry3,
|
|
152459
|
+
values: sourceIndices2.map((sourceIndex) => entry3.values[sourceIndex] ?? 0)
|
|
152216
152460
|
})), totals = categoryTotals(displaySeries, catCount);
|
|
152217
152461
|
for (let ci = 0; ci < catCount; ci++) {
|
|
152218
152462
|
let posRunning = 0, negRunning = 0;
|
|
@@ -152385,9 +152629,9 @@ function buildBars(chartData, catCount, layout, primaryRange, secondaryRange, se
|
|
|
152385
152629
|
return { primitives, dataLabels };
|
|
152386
152630
|
}
|
|
152387
152631
|
if (grouping === "stacked") {
|
|
152388
|
-
const displaySeries = series.map((
|
|
152389
|
-
...
|
|
152390
|
-
values: sourceIndices2.map((sourceIndex) =>
|
|
152632
|
+
const displaySeries = series.map((entry3) => ({
|
|
152633
|
+
...entry3,
|
|
152634
|
+
values: sourceIndices2.map((sourceIndex) => entry3.values[sourceIndex] ?? 0)
|
|
152391
152635
|
})), rects = computeStackedBarRects(displaySeries, catCount, layout, primaryRange, palette);
|
|
152392
152636
|
for (const r of rects) {
|
|
152393
152637
|
let fill = r.fill, part, title;
|
|
@@ -152585,16 +152829,16 @@ function buildLines(chartData, catCount, layout, primaryRange, secondaryRange, s
|
|
|
152585
152829
|
);
|
|
152586
152830
|
return { displayValues, visible };
|
|
152587
152831
|
}), stackedPlots = isStackedMode ? computeStackedSeriesPlots(
|
|
152588
|
-
resolved.map((
|
|
152832
|
+
resolved.map((entry3) => entry3?.displayValues ?? []),
|
|
152589
152833
|
catCount,
|
|
152590
152834
|
isPercent
|
|
152591
152835
|
) : void 0;
|
|
152592
152836
|
for (let si = 0; si < chartData.series.length; si++) {
|
|
152593
|
-
const series = chartData.series[si],
|
|
152594
|
-
if (!
|
|
152837
|
+
const series = chartData.series[si], entry3 = resolved[si];
|
|
152838
|
+
if (!entry3) {
|
|
152595
152839
|
continue;
|
|
152596
152840
|
}
|
|
152597
|
-
const { displayValues, visible } =
|
|
152841
|
+
const { displayValues, visible } = entry3, activeRange = isStackedMode ? primaryRange : secondaryIdx.has(si) && secondaryRange ? secondaryRange : primaryRange, plotValues = stackedPlots ? stackedPlots[si].cumulative : displayValues, pts = computeLinePoints(plotValues, catCount, layout, activeRange).map((point, index) => ({
|
|
152598
152842
|
...point,
|
|
152599
152843
|
x: xPositions?.[index] ?? point.x
|
|
152600
152844
|
})), c = seriesColor22(series, si, chartData.colorPalette), seriesPart = { role: "series", seriesIndex: si }, allVisible = visible.every(Boolean);
|
|
@@ -154601,7 +154845,7 @@ function computeStockCandlePrimitives(seriesSet, chartData, layout, range, catCo
|
|
|
154601
154845
|
return primitives;
|
|
154602
154846
|
}
|
|
154603
154847
|
function findComboStockSeries(series) {
|
|
154604
|
-
return series.map((s, index) => ({ series: s, index })).filter((
|
|
154848
|
+
return series.map((s, index) => ({ series: s, index })).filter((entry3) => entry3.series.seriesChartType === "stock");
|
|
154605
154849
|
}
|
|
154606
154850
|
function computeComboStockOverlay(stockEntries, chartData, layout, range, catCount, sourceIndices2, xPositions) {
|
|
154607
154851
|
if (stockEntries.length < 3) {
|
|
@@ -154681,8 +154925,8 @@ function groupComboSeriesIndices(series) {
|
|
|
154681
154925
|
const barIndices = [];
|
|
154682
154926
|
const lineIndices = [];
|
|
154683
154927
|
const areaIndices = [];
|
|
154684
|
-
series.forEach((
|
|
154685
|
-
const kind = classifyComboSeries(
|
|
154928
|
+
series.forEach((entry3, index) => {
|
|
154929
|
+
const kind = classifyComboSeries(entry3, index);
|
|
154686
154930
|
const target = kind === "bar" ? barIndices : kind === "area" ? areaIndices : lineIndices;
|
|
154687
154931
|
target.push(index);
|
|
154688
154932
|
});
|
|
@@ -154907,14 +155151,14 @@ function buildComboViewModel(element, chartData, categoryLabels) {
|
|
|
154907
155151
|
);
|
|
154908
155152
|
const catCount = Math.max(categoryLabels.length, 1);
|
|
154909
155153
|
const { primary, secondary } = splitSeriesByAxis(chartData.series, chartData.axes);
|
|
154910
|
-
const secondaryIndexes = new Set(secondary.map((
|
|
154911
|
-
const primarySeries = primary.length > 0 ? primary.map((
|
|
155154
|
+
const secondaryIndexes = new Set(secondary.map((entry3) => entry3.index));
|
|
155155
|
+
const primarySeries = primary.length > 0 ? primary.map((entry3) => entry3.series) : chartData.series;
|
|
154912
155156
|
const primaryAxisId = getPrimaryValueAxisId(chartData.axes);
|
|
154913
155157
|
const primaryAxis = chartData.axes?.find((axis) => axis.axisId === primaryAxisId);
|
|
154914
155158
|
const secondaryAxisFormatting = getSecondaryValueAxis(chartData.axes);
|
|
154915
155159
|
const primaryRange = computeValueRangeForAxis(primarySeries, primaryAxis, layout.autoPlotHeight);
|
|
154916
155160
|
const secondaryRange = secondary.length > 0 ? computeValueRangeForAxis(
|
|
154917
|
-
secondary.map((
|
|
155161
|
+
secondary.map((entry3) => entry3.series),
|
|
154918
155162
|
secondaryAxisFormatting,
|
|
154919
155163
|
layout.autoPlotHeight
|
|
154920
155164
|
) : void 0;
|
|
@@ -154976,7 +155220,7 @@ function buildComboViewModel(element, chartData, categoryLabels) {
|
|
|
154976
155220
|
const dataLabels = [];
|
|
154977
155221
|
const stockEntries = findComboStockSeries(chartData.series);
|
|
154978
155222
|
const isStockCombo = stockEntries.length >= 3;
|
|
154979
|
-
const stockIndexes = new Set(stockEntries.map((
|
|
155223
|
+
const stockIndexes = new Set(stockEntries.map((entry3) => entry3.index));
|
|
154980
155224
|
if (!isStockCombo) {
|
|
154981
155225
|
const helperOpts = { mode: "line", xPositions: horizontalAxis.xPositions };
|
|
154982
155226
|
primitives.push(
|
|
@@ -155669,10 +155913,10 @@ function buildHistogramViewModel(element, chartData, categoryLabels) {
|
|
|
155669
155913
|
const baseEntries = (bins?.map((bin) => ({ value: bin.value, label: bin.label })) ?? (series?.values ?? []).map((value, index) => ({
|
|
155670
155914
|
value,
|
|
155671
155915
|
label: categoryLabels[index] ?? ""
|
|
155672
|
-
}))).map((
|
|
155916
|
+
}))).map((entry3, sourcePointIndex) => ({ ...entry3, sourcePointIndex }));
|
|
155673
155917
|
const entries = paretoIndex >= 0 ? orderParetoEntries(baseEntries) : baseEntries;
|
|
155674
|
-
const values = entries.map((
|
|
155675
|
-
const labels = entries.map((
|
|
155918
|
+
const values = entries.map((entry3) => entry3.value);
|
|
155919
|
+
const labels = entries.map((entry3) => entry3.label);
|
|
155676
155920
|
const range = distributionRange([{ name: series?.name ?? "", values }]);
|
|
155677
155921
|
const bars = computeHistogramBars(
|
|
155678
155922
|
values,
|
|
@@ -156023,7 +156267,7 @@ function applyLegendEntryOverrides(legend, entries, defaultTextStyle) {
|
|
|
156023
156267
|
if ((!entries || entries.length === 0) && !defaultTextStyle) {
|
|
156024
156268
|
return legend;
|
|
156025
156269
|
}
|
|
156026
|
-
const byIndex = new Map((entries ?? []).map((
|
|
156270
|
+
const byIndex = new Map((entries ?? []).map((entry3) => [entry3.index, entry3]));
|
|
156027
156271
|
const result = [];
|
|
156028
156272
|
legend.forEach((item, index) => {
|
|
156029
156273
|
const override = byIndex.get(index);
|
|
@@ -157369,7 +157613,7 @@ function buildPieViewModel(element, chartData, categoryLabels, isDoughnut) {
|
|
|
157369
157613
|
})
|
|
157370
157614
|
), dataLabels = [];
|
|
157371
157615
|
if (chartData.style?.hasDataLabels) {
|
|
157372
|
-
const percentBase = values.reduce((total,
|
|
157616
|
+
const percentBase = values.reduce((total, entry3) => total + Math.abs(entry3), 0), labelResult = buildPieDataLabels({
|
|
157373
157617
|
slices,
|
|
157374
157618
|
values,
|
|
157375
157619
|
cx,
|
|
@@ -158257,7 +158501,7 @@ function buildRegionMapViewModel(element, chartData, categoryLabels) {
|
|
|
158257
158501
|
options,
|
|
158258
158502
|
resolveRegionCode
|
|
158259
158503
|
);
|
|
158260
|
-
const values = entries.map((
|
|
158504
|
+
const values = entries.map((entry3) => entry3.value);
|
|
158261
158505
|
const finiteVals = values.filter((v) => Number.isFinite(v));
|
|
158262
158506
|
const minVal = finiteVals.length > 0 ? Math.min(...finiteVals) : 0;
|
|
158263
158507
|
const maxVal = finiteVals.length > 0 ? Math.max(...finiteVals) : 1;
|
|
@@ -158270,15 +158514,15 @@ function buildRegionMapViewModel(element, chartData, categoryLabels) {
|
|
|
158270
158514
|
const colorScale = valueColorStops ? buildValueColorScale(valueColorStops) : sequentialColorScale;
|
|
158271
158515
|
const regionValueMap = /* @__PURE__ */ new Map();
|
|
158272
158516
|
const unmatchedRows = [];
|
|
158273
|
-
for (const
|
|
158274
|
-
if (
|
|
158275
|
-
regionValueMap.set(
|
|
158276
|
-
value:
|
|
158277
|
-
label:
|
|
158278
|
-
sourceIndex:
|
|
158517
|
+
for (const entry3 of entries) {
|
|
158518
|
+
if (entry3.code !== void 0) {
|
|
158519
|
+
regionValueMap.set(entry3.code, {
|
|
158520
|
+
value: entry3.value,
|
|
158521
|
+
label: entry3.label,
|
|
158522
|
+
sourceIndex: entry3.sourceIndex
|
|
158279
158523
|
});
|
|
158280
158524
|
} else {
|
|
158281
|
-
unmatchedRows.push({ label:
|
|
158525
|
+
unmatchedRows.push({ label: entry3.label, value: entry3.value });
|
|
158282
158526
|
}
|
|
158283
158527
|
}
|
|
158284
158528
|
const legendHeight = 30;
|
|
@@ -158313,10 +158557,10 @@ function buildRegionMapViewModel(element, chartData, categoryLabels) {
|
|
|
158313
158557
|
dominantBaseline: "auto"
|
|
158314
158558
|
} : void 0;
|
|
158315
158559
|
for (const region of WORLD_REGIONS) {
|
|
158316
|
-
const
|
|
158560
|
+
const entry3 = regionValueMap.get(region.code);
|
|
158317
158561
|
let fill = "#e2e8f0";
|
|
158318
|
-
if (
|
|
158319
|
-
const t = normalizeValue(
|
|
158562
|
+
if (entry3 !== void 0) {
|
|
158563
|
+
const t = normalizeValue(entry3.value, minVal, maxVal);
|
|
158320
158564
|
fill = colorScale(t);
|
|
158321
158565
|
}
|
|
158322
158566
|
const scaledPath = scalePathD(region.path, mapScale, mapOffsetX, mapOffsetY);
|
|
@@ -158329,17 +158573,17 @@ function buildRegionMapViewModel(element, chartData, categoryLabels) {
|
|
|
158329
158573
|
// Hover tooltip. A choropleth prints only the value inside the shape
|
|
158330
158574
|
// (and only where the shape is big enough), so without this the reader
|
|
158331
158575
|
// has no way to find out WHICH country a patch of colour is.
|
|
158332
|
-
title:
|
|
158333
|
-
...
|
|
158576
|
+
title: entry3 ? `${region.name}: ${formatAxisValue2(entry3.value)}` : region.name,
|
|
158577
|
+
...entry3 ? {
|
|
158334
158578
|
part: {
|
|
158335
158579
|
role: "dataPoint",
|
|
158336
158580
|
seriesIndex: 0,
|
|
158337
|
-
pointIndex:
|
|
158581
|
+
pointIndex: entry3.sourceIndex
|
|
158338
158582
|
}
|
|
158339
158583
|
} : {}
|
|
158340
158584
|
});
|
|
158341
158585
|
const bounds = regionBounds(region);
|
|
158342
|
-
if (
|
|
158586
|
+
if (entry3 !== void 0 && shouldRenderRegionLabel(
|
|
158343
158587
|
options?.regionLabelLayout,
|
|
158344
158588
|
(bounds.maxX - bounds.minX) * mapScale,
|
|
158345
158589
|
(bounds.maxY - bounds.minY) * mapScale
|
|
@@ -158350,7 +158594,7 @@ function buildRegionMapViewModel(element, chartData, categoryLabels) {
|
|
|
158350
158594
|
kind: "text",
|
|
158351
158595
|
x: lx,
|
|
158352
158596
|
y: ly,
|
|
158353
|
-
text: formatRegionMapValue(
|
|
158597
|
+
text: formatRegionMapValue(entry3.value, options?.cultureLanguage),
|
|
158354
158598
|
fontSize: Math.max(6, 7 * mapScale),
|
|
158355
158599
|
fill: "#1e293b",
|
|
158356
158600
|
textAnchor: "middle",
|
|
@@ -159097,18 +159341,18 @@ function orderParetoEntries(entries) {
|
|
|
159097
159341
|
);
|
|
159098
159342
|
}
|
|
159099
159343
|
function buildParetoPrimitives(entries, layout, series, seriesIndex) {
|
|
159100
|
-
const total = entries.reduce((sum,
|
|
159344
|
+
const total = entries.reduce((sum, entry3) => sum + Math.max(entry3.value, 0), 0);
|
|
159101
159345
|
if (total <= 0) {
|
|
159102
159346
|
return [];
|
|
159103
159347
|
}
|
|
159104
159348
|
let cumulative = 0;
|
|
159105
|
-
const points4 = entries.map((
|
|
159106
|
-
cumulative += Math.max(
|
|
159349
|
+
const points4 = entries.map((entry3, displayIndex) => {
|
|
159350
|
+
cumulative += Math.max(entry3.value, 0);
|
|
159107
159351
|
const percentage2 = displayIndex === entries.length - 1 ? 100 : cumulative / total * 100;
|
|
159108
159352
|
return {
|
|
159109
159353
|
x: layout.plotLeft + layout.plotWidth * (displayIndex + 0.5) / entries.length,
|
|
159110
159354
|
y: layout.plotBottom - layout.plotHeight * percentage2 / 100,
|
|
159111
|
-
pointIndex:
|
|
159355
|
+
pointIndex: entry3.sourcePointIndex
|
|
159112
159356
|
};
|
|
159113
159357
|
});
|
|
159114
159358
|
const color2 = series.color ?? "#ED7D31";
|
|
@@ -163746,7 +163990,7 @@ var THEME_CATALOG = [
|
|
|
163746
163990
|
}
|
|
163747
163991
|
];
|
|
163748
163992
|
function resolveThemeCatalogEntry(key2, catalog = THEME_CATALOG) {
|
|
163749
|
-
return catalog.find((
|
|
163993
|
+
return catalog.find((entry3) => entry3.key === key2)?.theme;
|
|
163750
163994
|
}
|
|
163751
163995
|
function corePreset(id) {
|
|
163752
163996
|
const preset = THEME_PRESETS.find((p) => p.id === id);
|
|
@@ -164124,9 +164368,9 @@ function collectTableStyleImagePaths(tableStyleMap) {
|
|
|
164124
164368
|
if (!tableStyleMap) {
|
|
164125
164369
|
return { paths, refs };
|
|
164126
164370
|
}
|
|
164127
|
-
for (const [styleId,
|
|
164371
|
+
for (const [styleId, entry3] of Object.entries(tableStyleMap)) {
|
|
164128
164372
|
for (const fillKey of TABLE_STYLE_FILL_KEYS) {
|
|
164129
|
-
const fill =
|
|
164373
|
+
const fill = entry3[fillKey];
|
|
164130
164374
|
const path = fill?.image?.path;
|
|
164131
164375
|
if (path && !fill?.image?.data && !isExternalUrl2(path)) {
|
|
164132
164376
|
paths.add(path);
|
|
@@ -164152,11 +164396,11 @@ function applyTableStyleImagePatches(tableStyleMap, resolvedMap, refs) {
|
|
|
164152
164396
|
}
|
|
164153
164397
|
const next = { ...tableStyleMap };
|
|
164154
164398
|
for (const [styleId, patches] of patchesByStyleId) {
|
|
164155
|
-
const
|
|
164156
|
-
if (!
|
|
164399
|
+
const entry3 = next[styleId];
|
|
164400
|
+
if (!entry3) {
|
|
164157
164401
|
continue;
|
|
164158
164402
|
}
|
|
164159
|
-
const patchedEntry = { ...
|
|
164403
|
+
const patchedEntry = { ...entry3 };
|
|
164160
164404
|
for (const { fillKey, url } of patches) {
|
|
164161
164405
|
const fill = patchedEntry[fillKey];
|
|
164162
164406
|
if (!fill?.image) {
|
|
@@ -171615,7 +171859,7 @@ function ensureArr(val2) {
|
|
|
171615
171859
|
return [];
|
|
171616
171860
|
}
|
|
171617
171861
|
if (Array.isArray(val2)) {
|
|
171618
|
-
return val2.filter((
|
|
171862
|
+
return val2.filter((entry3) => Boolean(entry3) && typeof entry3 === "object");
|
|
171619
171863
|
}
|
|
171620
171864
|
if (typeof val2 === "object") {
|
|
171621
171865
|
return [val2];
|
|
@@ -171661,7 +171905,7 @@ function readRunText2(run) {
|
|
|
171661
171905
|
return String(t);
|
|
171662
171906
|
}
|
|
171663
171907
|
if (Array.isArray(t)) {
|
|
171664
|
-
return t.map((
|
|
171908
|
+
return t.map((entry3) => readRunText2({ "m:t": entry3 })).join("");
|
|
171665
171909
|
}
|
|
171666
171910
|
if (t && typeof t === "object") {
|
|
171667
171911
|
const inner = t["#text"];
|
|
@@ -171734,7 +171978,7 @@ function collectText2(node) {
|
|
|
171734
171978
|
return String(node);
|
|
171735
171979
|
}
|
|
171736
171980
|
if (Array.isArray(node)) {
|
|
171737
|
-
return node.map((
|
|
171981
|
+
return node.map((entry3) => collectText2(entry3)).join("");
|
|
171738
171982
|
}
|
|
171739
171983
|
if (typeof node !== "object") {
|
|
171740
171984
|
return "";
|
|
@@ -172394,7 +172638,7 @@ function buildParetoInsertData() {
|
|
|
172394
172638
|
},
|
|
172395
172639
|
{
|
|
172396
172640
|
name: "Cumulative %",
|
|
172397
|
-
values: cumulativePercentOfTotal(ordered4.map((
|
|
172641
|
+
values: cumulativePercentOfTotal(ordered4.map((entry3) => entry3.value)),
|
|
172398
172642
|
histogramOptions: { layout: "pareto" }
|
|
172399
172643
|
}
|
|
172400
172644
|
]
|
|
@@ -172841,8 +173085,8 @@ var BUTTON_ORDER = [
|
|
|
172841
173085
|
];
|
|
172842
173086
|
function buildButtons(selectionBox, showFilters) {
|
|
172843
173087
|
const x = selectionBox.x + selectionBox.width + OUTSIDE_GAP;
|
|
172844
|
-
return BUTTON_ORDER.filter((
|
|
172845
|
-
...
|
|
173088
|
+
return BUTTON_ORDER.filter((entry3) => entry3.id !== "filters" || showFilters).map((entry3, i2) => ({
|
|
173089
|
+
...entry3,
|
|
172846
173090
|
x,
|
|
172847
173091
|
y: selectionBox.y + i2 * (CHART_QUICK_ACTION_BUTTON_SIZE + BUTTON_GAP),
|
|
172848
173092
|
size: CHART_QUICK_ACTION_BUTTON_SIZE
|
|
@@ -172889,12 +173133,12 @@ function buildFilters(chartData) {
|
|
|
172889
173133
|
seriesIndex: index,
|
|
172890
173134
|
sortKey: series2.idx ?? index
|
|
172891
173135
|
}));
|
|
172892
|
-
const filtered = (chartData.filteredSeries ?? []).map((
|
|
173136
|
+
const filtered = (chartData.filteredSeries ?? []).map((entry3, index) => ({
|
|
172893
173137
|
key: `filtered-${index}`,
|
|
172894
|
-
name:
|
|
173138
|
+
name: entry3.name ?? chartData.filteredSeriesTitle ?? `Series ${index + 1}`,
|
|
172895
173139
|
visible: false,
|
|
172896
173140
|
filteredIndex: index,
|
|
172897
|
-
sortKey:
|
|
173141
|
+
sortKey: entry3.idx
|
|
172898
173142
|
}));
|
|
172899
173143
|
const series = [...visibleSeries, ...filtered].sort((a, b) => a.sortKey - b.sortKey).map(({ sortKey: _sortKey, ...rest }) => rest);
|
|
172900
173144
|
return { visible: series.length > 1, series };
|
|
@@ -173333,6 +173577,56 @@ init_chart_region_map_data();
|
|
|
173333
173577
|
init_chart_overlays();
|
|
173334
173578
|
init_chart_data_table_render();
|
|
173335
173579
|
init_chart_legend_entries();
|
|
173580
|
+
var SOLID = "linear-gradient(#000, #000)";
|
|
173581
|
+
var HOLE_IMAGE = {
|
|
173582
|
+
box: SOLID,
|
|
173583
|
+
// `mask-size: 100% 100%` on this gradient draws an ellipse inscribed
|
|
173584
|
+
// touching all four edge midpoints, matching the COM capture exactly.
|
|
173585
|
+
circle: "radial-gradient(circle, #000 0%, #000 100%)",
|
|
173586
|
+
// This polygon's points already touch the edge midpoints at 100% size
|
|
173587
|
+
// (no headroom needed, unlike `diamondOut`'s growing-past-corners variant).
|
|
173588
|
+
diamond: `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,0 100,50 50,100 0,50' fill='%23000'/%3E%3C/svg%3E")`
|
|
173589
|
+
};
|
|
173590
|
+
function maskHoleDecl(shape, phase) {
|
|
173591
|
+
const holeSize = phase === "hidden" ? "100% 100%" : "0% 0%";
|
|
173592
|
+
return [
|
|
173593
|
+
`mask-image: ${HOLE_IMAGE[shape]}, ${SOLID};`,
|
|
173594
|
+
"mask-position: center, center;",
|
|
173595
|
+
"mask-repeat: no-repeat, no-repeat;",
|
|
173596
|
+
`mask-size: ${holeSize}, 100% 100%;`,
|
|
173597
|
+
"mask-composite: add, exclude;"
|
|
173598
|
+
].join(" ");
|
|
173599
|
+
}
|
|
173600
|
+
function maskHoleInitialStyle(shape) {
|
|
173601
|
+
return {
|
|
173602
|
+
maskImage: `${HOLE_IMAGE[shape]}, ${SOLID}`,
|
|
173603
|
+
maskPosition: "center, center",
|
|
173604
|
+
maskRepeat: "no-repeat, no-repeat",
|
|
173605
|
+
maskSize: "100% 100%, 100% 100%",
|
|
173606
|
+
maskComposite: "add, exclude",
|
|
173607
|
+
opacity: 1
|
|
173608
|
+
};
|
|
173609
|
+
}
|
|
173610
|
+
function maskPlusHoleDecl(phase) {
|
|
173611
|
+
const barSize = phase === "hidden" ? "100%" : "0%";
|
|
173612
|
+
return [
|
|
173613
|
+
`mask-image: ${SOLID}, ${SOLID}, ${SOLID};`,
|
|
173614
|
+
"mask-position: center, center, center;",
|
|
173615
|
+
"mask-repeat: no-repeat, no-repeat, no-repeat;",
|
|
173616
|
+
`mask-size: 100% ${barSize}, ${barSize} 100%, 100% 100%;`,
|
|
173617
|
+
"mask-composite: add, add, exclude;"
|
|
173618
|
+
].join(" ");
|
|
173619
|
+
}
|
|
173620
|
+
function maskPlusHoleInitialStyle() {
|
|
173621
|
+
return {
|
|
173622
|
+
maskImage: `${SOLID}, ${SOLID}, ${SOLID}`,
|
|
173623
|
+
maskPosition: "center, center, center",
|
|
173624
|
+
maskRepeat: "no-repeat, no-repeat, no-repeat",
|
|
173625
|
+
maskSize: "100% 100%, 100% 100%, 100% 100%",
|
|
173626
|
+
maskComposite: "add, add, exclude",
|
|
173627
|
+
opacity: 1
|
|
173628
|
+
};
|
|
173629
|
+
}
|
|
173336
173630
|
var HARD_STOP = "#000 50%, transparent 50%";
|
|
173337
173631
|
var EDGE_CONFIG = {
|
|
173338
173632
|
left: {
|
|
@@ -173364,38 +173658,38 @@ var EDGE_CONFIG = {
|
|
|
173364
173658
|
shownPos: "0% 100%"
|
|
173365
173659
|
}
|
|
173366
173660
|
};
|
|
173367
|
-
var
|
|
173661
|
+
var SOLID2 = "linear-gradient(#000, #000)";
|
|
173368
173662
|
var SHAPE_CONFIG = {
|
|
173369
173663
|
splitHorizontalIn: {
|
|
173370
|
-
image: `${
|
|
173664
|
+
image: `${SOLID2}, ${SOLID2}`,
|
|
173371
173665
|
position: "left top, left bottom",
|
|
173372
173666
|
repeat: "no-repeat, no-repeat",
|
|
173373
173667
|
hiddenSize: "100% 0%, 100% 0%",
|
|
173374
173668
|
shownSize: "100% 50.5%, 100% 50.5%"
|
|
173375
173669
|
},
|
|
173376
173670
|
splitHorizontalOut: {
|
|
173377
|
-
image:
|
|
173671
|
+
image: SOLID2,
|
|
173378
173672
|
position: "center",
|
|
173379
173673
|
repeat: "no-repeat",
|
|
173380
173674
|
hiddenSize: "100% 0%",
|
|
173381
173675
|
shownSize: "100% 101%"
|
|
173382
173676
|
},
|
|
173383
173677
|
splitVerticalIn: {
|
|
173384
|
-
image: `${
|
|
173678
|
+
image: `${SOLID2}, ${SOLID2}`,
|
|
173385
173679
|
position: "left top, right top",
|
|
173386
173680
|
repeat: "no-repeat, no-repeat",
|
|
173387
173681
|
hiddenSize: "0% 100%, 0% 100%",
|
|
173388
173682
|
shownSize: "50.5% 100%, 50.5% 100%"
|
|
173389
173683
|
},
|
|
173390
173684
|
splitVerticalOut: {
|
|
173391
|
-
image:
|
|
173685
|
+
image: SOLID2,
|
|
173392
173686
|
position: "center",
|
|
173393
173687
|
repeat: "no-repeat",
|
|
173394
173688
|
hiddenSize: "0% 100%",
|
|
173395
173689
|
shownSize: "101% 100%"
|
|
173396
173690
|
},
|
|
173397
173691
|
boxOut: {
|
|
173398
|
-
image:
|
|
173692
|
+
image: SOLID2,
|
|
173399
173693
|
position: "center",
|
|
173400
173694
|
repeat: "no-repeat",
|
|
173401
173695
|
hiddenSize: "0% 0%",
|
|
@@ -173423,7 +173717,7 @@ var SHAPE_CONFIG = {
|
|
|
173423
173717
|
// Two independent solid bars (mask layers composite by union): a
|
|
173424
173718
|
// full-width horizontal bar and a full-height vertical bar, both
|
|
173425
173719
|
// growing from a point at centre, so together they trace a cross.
|
|
173426
|
-
image: `${
|
|
173720
|
+
image: `${SOLID2}, ${SOLID2}`,
|
|
173427
173721
|
position: "center, center",
|
|
173428
173722
|
repeat: "no-repeat, no-repeat",
|
|
173429
173723
|
hiddenSize: "100% 0%, 0% 100%",
|
|
@@ -173566,8 +173860,8 @@ var KEYFRAME_PREFIX = "pptx-vue";
|
|
|
173566
173860
|
to { ${maskEdgeDecl("top", "shown")} opacity: 1; }
|
|
173567
173861
|
}
|
|
173568
173862
|
@keyframes ${KEYFRAME_PREFIX}-boxIn {
|
|
173569
|
-
from { ${
|
|
173570
|
-
to { ${
|
|
173863
|
+
from { ${maskHoleDecl("box", "hidden")} opacity: 1; }
|
|
173864
|
+
to { ${maskHoleDecl("box", "shown")} opacity: 1; }
|
|
173571
173865
|
}
|
|
173572
173866
|
@keyframes ${KEYFRAME_PREFIX}-floatIn {
|
|
173573
173867
|
from { opacity: 0; transform: translateY(40px); }
|
|
@@ -173748,6 +174042,15 @@ var EMPHASIS_PRESET_VALUES = [
|
|
|
173748
174042
|
"wave",
|
|
173749
174043
|
"boldFlash"
|
|
173750
174044
|
];
|
|
174045
|
+
var TRIGGER_VALUES = [
|
|
174046
|
+
"onClick",
|
|
174047
|
+
"onShapeClick",
|
|
174048
|
+
"onHover",
|
|
174049
|
+
"afterPrevious",
|
|
174050
|
+
"withPrevious",
|
|
174051
|
+
"afterDelay"
|
|
174052
|
+
];
|
|
174053
|
+
var TRIGGER_OPTIONS = TRIGGER_VALUES.map((value) => ({ value, labelKey: `pptx.animation.trigger.${value}` }));
|
|
173751
174054
|
var DIRECTIONAL_PRESETS = /* @__PURE__ */ new Set([
|
|
173752
174055
|
"flyIn",
|
|
173753
174056
|
"flyOut",
|
|
@@ -173864,9 +174167,9 @@ var EFFECT_SOUND_CATALOGUE = [
|
|
|
173864
174167
|
{ id: "whoosh", i18nKey: "pptx.animation.sound.whoosh", canonicalName: "WHOOSH.WAV" },
|
|
173865
174168
|
{ id: "wind", i18nKey: "pptx.animation.sound.wind", canonicalName: "WIND.WAV" }
|
|
173866
174169
|
];
|
|
173867
|
-
var BY_ID = new Map(EFFECT_SOUND_CATALOGUE.map((
|
|
174170
|
+
var BY_ID = new Map(EFFECT_SOUND_CATALOGUE.map((entry3) => [entry3.id, entry3]));
|
|
173868
174171
|
var BY_CANONICAL_NAME = new Map(
|
|
173869
|
-
EFFECT_SOUND_CATALOGUE.map((
|
|
174172
|
+
EFFECT_SOUND_CATALOGUE.map((entry3) => [entry3.canonicalName.toUpperCase(), entry3])
|
|
173870
174173
|
);
|
|
173871
174174
|
function effectSoundCatalogueEntry(id) {
|
|
173872
174175
|
return BY_ID.get(id);
|
|
@@ -174099,15 +174402,15 @@ function getEffectSoundAsset(id) {
|
|
|
174099
174402
|
if (cached) {
|
|
174100
174403
|
return cached;
|
|
174101
174404
|
}
|
|
174102
|
-
const
|
|
174405
|
+
const entry3 = effectSoundCatalogueEntry(id);
|
|
174103
174406
|
const generator = EFFECT_SOUND_GENERATORS[id];
|
|
174104
|
-
if (!
|
|
174407
|
+
if (!entry3 || !generator) {
|
|
174105
174408
|
return void 0;
|
|
174106
174409
|
}
|
|
174107
174410
|
const bytes = encodeWav(normalize(generator()));
|
|
174108
174411
|
const asset = {
|
|
174109
174412
|
id,
|
|
174110
|
-
fileName:
|
|
174413
|
+
fileName: entry3.canonicalName,
|
|
174111
174414
|
bytes,
|
|
174112
174415
|
dataUrl: wavDataUrl(bytes)
|
|
174113
174416
|
};
|
|
@@ -174115,16 +174418,16 @@ function getEffectSoundAsset(id) {
|
|
|
174115
174418
|
return asset;
|
|
174116
174419
|
}
|
|
174117
174420
|
function getEffectSoundState(slideAnimations, elementId) {
|
|
174118
|
-
const
|
|
174119
|
-
if (!
|
|
174421
|
+
const entry3 = animationFor(slideAnimations, elementId);
|
|
174422
|
+
if (!entry3) {
|
|
174120
174423
|
return { hasSound: false };
|
|
174121
174424
|
}
|
|
174122
|
-
const hasSound = Boolean(
|
|
174425
|
+
const hasSound = Boolean(entry3.soundData || entry3.soundRId);
|
|
174123
174426
|
if (!hasSound) {
|
|
174124
174427
|
return { hasSound: false };
|
|
174125
174428
|
}
|
|
174126
|
-
const fileName =
|
|
174127
|
-
const catalogueId = findEffectSoundCatalogueEntry(
|
|
174429
|
+
const fileName = entry3.soundFileName ?? lastPathSegment(entry3.soundPath);
|
|
174430
|
+
const catalogueId = findEffectSoundCatalogueEntry(entry3.soundName)?.id;
|
|
174128
174431
|
return catalogueId !== void 0 ? { hasSound: true, fileName, catalogueId } : { hasSound: true, fileName };
|
|
174129
174432
|
}
|
|
174130
174433
|
function setEffectStockSound(anims, elementId, catalogueId) {
|
|
@@ -174167,8 +174470,8 @@ function setAfterAnimation(anims, elementId, action) {
|
|
|
174167
174470
|
});
|
|
174168
174471
|
}
|
|
174169
174472
|
function setAfterAnimationColor(anims, elementId, color2) {
|
|
174170
|
-
const
|
|
174171
|
-
if (!
|
|
174473
|
+
const entry3 = animationFor(anims, elementId);
|
|
174474
|
+
if (!entry3 || entry3.afterAnimation !== "dimToColor") {
|
|
174172
174475
|
return [...anims];
|
|
174173
174476
|
}
|
|
174174
174477
|
return upsert(anims, elementId, (cur) => ({ ...cur, afterAnimationColor: color2 }));
|
|
@@ -174826,8 +175129,8 @@ function applyDecodedValue(descriptor, attrName, value) {
|
|
|
174826
175129
|
descriptor.color = value;
|
|
174827
175130
|
}
|
|
174828
175131
|
}
|
|
174829
|
-
function applySetAnimation(descriptor,
|
|
174830
|
-
applyDecodedValue(descriptor,
|
|
175132
|
+
function applySetAnimation(descriptor, entry3) {
|
|
175133
|
+
applyDecodedValue(descriptor, entry3.attrName, entry3.value);
|
|
174831
175134
|
}
|
|
174832
175135
|
function applyAttributeRamp(descriptor, component2) {
|
|
174833
175136
|
const stops = component2.keyframes;
|
|
@@ -174852,8 +175155,8 @@ function applyAttributeRamp(descriptor, component2) {
|
|
|
174852
175155
|
}
|
|
174853
175156
|
function resolveTextStyleAnimation(anim) {
|
|
174854
175157
|
const descriptor = {};
|
|
174855
|
-
for (const
|
|
174856
|
-
applySetAnimation(descriptor,
|
|
175158
|
+
for (const entry3 of anim.setAnimations ?? []) {
|
|
175159
|
+
applySetAnimation(descriptor, entry3);
|
|
174857
175160
|
}
|
|
174858
175161
|
for (const component2 of anim.attributeAnimations ?? []) {
|
|
174859
175162
|
if (RECOGNIZED_ATTRS.has(component2.attrName)) {
|
|
@@ -175338,12 +175641,12 @@ var ENTRANCE_KEYFRAME_DEFINITIONS = {
|
|
|
175338
175641
|
to { ${blindsDecl("horizontal", 1)} opacity: 1; }
|
|
175339
175642
|
}`,
|
|
175340
175643
|
boxIn: `@keyframes pptx-boxIn {
|
|
175341
|
-
from { ${
|
|
175342
|
-
to { ${
|
|
175644
|
+
from { ${maskHoleDecl("box", "hidden")} opacity: 1; }
|
|
175645
|
+
to { ${maskHoleDecl("box", "shown")} opacity: 1; }
|
|
175343
175646
|
}`,
|
|
175344
175647
|
circleIn: `@keyframes pptx-circleIn {
|
|
175345
|
-
from { ${
|
|
175346
|
-
to { ${
|
|
175648
|
+
from { ${maskHoleDecl("circle", "hidden")} opacity: 1; }
|
|
175649
|
+
to { ${maskHoleDecl("circle", "shown")} opacity: 1; }
|
|
175347
175650
|
}`,
|
|
175348
175651
|
floatIn: `@keyframes pptx-floatIn {
|
|
175349
175652
|
from { opacity: 0; transform: translateY(40px); }
|
|
@@ -175414,12 +175717,12 @@ var ENTRANCE_KEYFRAME_DEFINITIONS = {
|
|
|
175414
175717
|
to { opacity: 1; transform: rotate(0deg) scale(1); }
|
|
175415
175718
|
}`,
|
|
175416
175719
|
diamondIn: `@keyframes pptx-diamondIn {
|
|
175417
|
-
from { ${
|
|
175418
|
-
to { ${
|
|
175720
|
+
from { ${maskHoleDecl("diamond", "hidden")} opacity: 1; }
|
|
175721
|
+
to { ${maskHoleDecl("diamond", "shown")} opacity: 1; }
|
|
175419
175722
|
}`,
|
|
175420
175723
|
plusIn: `@keyframes pptx-plusIn {
|
|
175421
|
-
from { ${
|
|
175422
|
-
to { ${
|
|
175724
|
+
from { ${maskPlusHoleDecl("hidden")} opacity: 1; }
|
|
175725
|
+
to { ${maskPlusHoleDecl("shown")} opacity: 1; }
|
|
175423
175726
|
}`,
|
|
175424
175727
|
wedgeIn: `@keyframes pptx-wedgeIn {
|
|
175425
175728
|
from { ${maskShapeDecl("wedgeOut", "hidden")} opacity: 1; }
|
|
@@ -178598,6 +178901,8 @@ var ENTRANCE_EFFECTS = /* @__PURE__ */ new Set([
|
|
|
178598
178901
|
"blindsIn",
|
|
178599
178902
|
"boxIn",
|
|
178600
178903
|
"circleIn",
|
|
178904
|
+
"diamondIn",
|
|
178905
|
+
"plusIn",
|
|
178601
178906
|
"floatIn",
|
|
178602
178907
|
"riseUp",
|
|
178603
178908
|
"swivel",
|
|
@@ -178667,9 +178972,13 @@ function getInitialStyleForEffect(effect) {
|
|
|
178667
178972
|
case "blindsIn":
|
|
178668
178973
|
return maskEdgeInitialStyle("top");
|
|
178669
178974
|
case "boxIn":
|
|
178670
|
-
return
|
|
178975
|
+
return maskHoleInitialStyle("box");
|
|
178671
178976
|
case "circleIn":
|
|
178672
|
-
return
|
|
178977
|
+
return maskHoleInitialStyle("circle");
|
|
178978
|
+
case "diamondIn":
|
|
178979
|
+
return maskHoleInitialStyle("diamond");
|
|
178980
|
+
case "plusIn":
|
|
178981
|
+
return maskPlusHoleInitialStyle();
|
|
178673
178982
|
case "peekIn":
|
|
178674
178983
|
return maskEdgeInitialStyle("bottom");
|
|
178675
178984
|
case "randomBarsIn":
|
|
@@ -181989,12 +182298,12 @@ function getMeasuredPanelDepthSkew(preset, side) {
|
|
|
181989
182298
|
if (!preset) {
|
|
181990
182299
|
return void 0;
|
|
181991
182300
|
}
|
|
181992
|
-
const
|
|
181993
|
-
if (!
|
|
182301
|
+
const entry3 = PANEL_DEPTH_SKEW_MAP[preset];
|
|
182302
|
+
if (!entry3) {
|
|
181994
182303
|
return void 0;
|
|
181995
182304
|
}
|
|
181996
|
-
const sideSkew = side ?
|
|
181997
|
-
return sideSkew ?? { dx:
|
|
182305
|
+
const sideSkew = side ? entry3[side] : void 0;
|
|
182306
|
+
return sideSkew ?? { dx: entry3.dx, dy: entry3.dy };
|
|
181998
182307
|
}
|
|
181999
182308
|
function projectHomographyPoint(h2, u, v, width, height) {
|
|
182000
182309
|
const [h11, h12, h13, h21, h22, h23, h31, h32, h33] = h2;
|
|
@@ -182766,19 +183075,19 @@ function borderToCss(border, resolve2) {
|
|
|
182766
183075
|
const color2 = border.color ?? resolve2(border.fill) ?? "#000000";
|
|
182767
183076
|
return `${width}px ${dash} ${color2}`;
|
|
182768
183077
|
}
|
|
182769
|
-
function collectSections(
|
|
183078
|
+
function collectSections(entry3, tableData, pos2) {
|
|
182770
183079
|
const { rowIndex, cellIndex, rowCount, columnCount } = pos2;
|
|
182771
183080
|
const isTop = rowIndex === 0;
|
|
182772
183081
|
const isBottom = rowIndex === rowCount - 1;
|
|
182773
183082
|
const isLeft = cellIndex === 0;
|
|
182774
|
-
const
|
|
183083
|
+
const isRight2 = cellIndex === columnCount - 1;
|
|
182775
183084
|
const sections2 = [];
|
|
182776
183085
|
const push2 = (borders, regionTop, regionBottom, regionLeft, regionRight) => {
|
|
182777
183086
|
if (borders) {
|
|
182778
183087
|
sections2.push({ borders, regionTop, regionBottom, regionLeft, regionRight });
|
|
182779
183088
|
}
|
|
182780
183089
|
};
|
|
182781
|
-
push2(
|
|
183090
|
+
push2(entry3.wholeTblBorders, isTop, isBottom, isLeft, isRight2);
|
|
182782
183091
|
if (tableData.bandedRows) {
|
|
182783
183092
|
const bandStartRow = tableData.firstRowHeader ? 1 : 0;
|
|
182784
183093
|
const bandEndRow = tableData.lastRow ? rowCount - 1 : rowCount;
|
|
@@ -182786,11 +183095,11 @@ function collectSections(entry2, tableData, pos2) {
|
|
|
182786
183095
|
const rowCycle = Math.max(tableData.bandRowCycle ?? 1, 1);
|
|
182787
183096
|
const bandGroup = Math.floor((rowIndex - bandStartRow) / rowCycle) % 2;
|
|
182788
183097
|
push2(
|
|
182789
|
-
bandGroup === 0 ?
|
|
183098
|
+
bandGroup === 0 ? entry3.band1HBorders : entry3.band2HBorders,
|
|
182790
183099
|
true,
|
|
182791
183100
|
true,
|
|
182792
183101
|
isLeft,
|
|
182793
|
-
|
|
183102
|
+
isRight2
|
|
182794
183103
|
);
|
|
182795
183104
|
}
|
|
182796
183105
|
}
|
|
@@ -182800,42 +183109,42 @@ function collectSections(entry2, tableData, pos2) {
|
|
|
182800
183109
|
if (cellIndex >= colStart && cellIndex < colEnd) {
|
|
182801
183110
|
const colCycle = Math.max(tableData.bandColCycle ?? 1, 1);
|
|
182802
183111
|
const colGroup = Math.floor((cellIndex - colStart) / colCycle) % 2;
|
|
182803
|
-
push2(colGroup === 0 ?
|
|
183112
|
+
push2(colGroup === 0 ? entry3.band1VBorders : entry3.band2VBorders, isTop, isBottom, true, true);
|
|
182804
183113
|
}
|
|
182805
183114
|
}
|
|
182806
183115
|
const atTop = Boolean(tableData.firstRowHeader) && isTop;
|
|
182807
183116
|
const atBottom = Boolean(tableData.lastRow) && isBottom;
|
|
182808
183117
|
const atLeft = Boolean(tableData.firstCol) && isLeft;
|
|
182809
|
-
const atRight = Boolean(tableData.lastCol) &&
|
|
183118
|
+
const atRight = Boolean(tableData.lastCol) && isRight2;
|
|
182810
183119
|
if (atRight) {
|
|
182811
|
-
push2(
|
|
183120
|
+
push2(entry3.lastColBorders, isTop, isBottom, true, true);
|
|
182812
183121
|
}
|
|
182813
183122
|
if (atLeft) {
|
|
182814
|
-
push2(
|
|
183123
|
+
push2(entry3.firstColBorders, isTop, isBottom, true, true);
|
|
182815
183124
|
}
|
|
182816
183125
|
if (atBottom) {
|
|
182817
|
-
push2(
|
|
183126
|
+
push2(entry3.lastRowBorders, true, true, isLeft, isRight2);
|
|
182818
183127
|
}
|
|
182819
183128
|
if (atBottom && atRight) {
|
|
182820
|
-
push2(
|
|
183129
|
+
push2(entry3.seCellBorders, true, true, true, true);
|
|
182821
183130
|
}
|
|
182822
183131
|
if (atBottom && atLeft) {
|
|
182823
|
-
push2(
|
|
183132
|
+
push2(entry3.swCellBorders, true, true, true, true);
|
|
182824
183133
|
}
|
|
182825
183134
|
if (atTop) {
|
|
182826
|
-
push2(
|
|
183135
|
+
push2(entry3.firstRowBorders, true, true, isLeft, isRight2);
|
|
182827
183136
|
}
|
|
182828
183137
|
if (atTop && atRight) {
|
|
182829
|
-
push2(
|
|
183138
|
+
push2(entry3.neCellBorders, true, true, true, true);
|
|
182830
183139
|
}
|
|
182831
183140
|
if (atTop && atLeft) {
|
|
182832
|
-
push2(
|
|
183141
|
+
push2(entry3.nwCellBorders, true, true, true, true);
|
|
182833
183142
|
}
|
|
182834
183143
|
return sections2;
|
|
182835
183144
|
}
|
|
182836
|
-
function collectLayers(
|
|
183145
|
+
function collectLayers(entry3, tableData, pos2) {
|
|
182837
183146
|
const layers = [];
|
|
182838
|
-
for (const section of collectSections(
|
|
183147
|
+
for (const section of collectSections(entry3, tableData, pos2)) {
|
|
182839
183148
|
layers.push(
|
|
182840
183149
|
edgesFromSection(
|
|
182841
183150
|
section.borders,
|
|
@@ -182848,11 +183157,11 @@ function collectLayers(entry2, tableData, pos2) {
|
|
|
182848
183157
|
}
|
|
182849
183158
|
return layers.filter((layer) => layer !== void 0);
|
|
182850
183159
|
}
|
|
182851
|
-
function resolveCellBorderCss(
|
|
182852
|
-
if (!
|
|
183160
|
+
function resolveCellBorderCss(entry3, tableData, pos2, resolve2) {
|
|
183161
|
+
if (!entry3) {
|
|
182853
183162
|
return void 0;
|
|
182854
183163
|
}
|
|
182855
|
-
const layers = collectLayers(
|
|
183164
|
+
const layers = collectLayers(entry3, tableData, pos2);
|
|
182856
183165
|
if (layers.length === 0) {
|
|
182857
183166
|
return void 0;
|
|
182858
183167
|
}
|
|
@@ -182878,11 +183187,11 @@ function resolveCellBorderCss(entry2, tableData, pos2, resolve2) {
|
|
|
182878
183187
|
}
|
|
182879
183188
|
return applied ? css : void 0;
|
|
182880
183189
|
}
|
|
182881
|
-
function resolveStyleDiagonalBorders(
|
|
182882
|
-
if (!
|
|
183190
|
+
function resolveStyleDiagonalBorders(entry3, tableData, pos2, resolve2) {
|
|
183191
|
+
if (!entry3) {
|
|
182883
183192
|
return void 0;
|
|
182884
183193
|
}
|
|
182885
|
-
const sections2 = collectSections(
|
|
183194
|
+
const sections2 = collectSections(entry3, tableData, pos2);
|
|
182886
183195
|
if (sections2.length === 0) {
|
|
182887
183196
|
return void 0;
|
|
182888
183197
|
}
|
|
@@ -182932,20 +183241,20 @@ function builtinTableStyleMap() {
|
|
|
182932
183241
|
const data = JSON.parse(BUILTIN_TABLE_STYLE_JSON);
|
|
182933
183242
|
for (const family of data.families) {
|
|
182934
183243
|
for (const variant of family.variants) {
|
|
182935
|
-
const
|
|
183244
|
+
const entry3 = substituteAccent(
|
|
182936
183245
|
family.template,
|
|
182937
183246
|
family.baseAccent,
|
|
182938
183247
|
variant.a,
|
|
182939
183248
|
family.baseAccent2,
|
|
182940
183249
|
variant.b
|
|
182941
183250
|
);
|
|
182942
|
-
|
|
182943
|
-
|
|
182944
|
-
map[variant.id] =
|
|
183251
|
+
entry3.styleId = variant.id;
|
|
183252
|
+
entry3.styleName = variant.name;
|
|
183253
|
+
map[variant.id] = entry3;
|
|
182945
183254
|
}
|
|
182946
183255
|
}
|
|
182947
|
-
for (const
|
|
182948
|
-
map[
|
|
183256
|
+
for (const entry3 of data.standalone) {
|
|
183257
|
+
map[entry3.styleId] = entry3;
|
|
182949
183258
|
}
|
|
182950
183259
|
catalogue = map;
|
|
182951
183260
|
return map;
|
|
@@ -182958,19 +183267,19 @@ function getBuiltinTableStyle(styleId) {
|
|
|
182958
183267
|
const withBraces = normalised.startsWith("{") ? normalised : `{${normalised}}`;
|
|
182959
183268
|
return builtinTableStyleMap()[withBraces];
|
|
182960
183269
|
}
|
|
182961
|
-
function resolveTableStyleCell3D(
|
|
182962
|
-
if (!
|
|
183270
|
+
function resolveTableStyleCell3D(entry3, tableData, pos2) {
|
|
183271
|
+
if (!entry3) {
|
|
182963
183272
|
return void 0;
|
|
182964
183273
|
}
|
|
182965
183274
|
const { rowIndex, cellIndex, rowCount, columnCount } = pos2;
|
|
182966
|
-
let current =
|
|
183275
|
+
let current = entry3.wholeTblCell3D;
|
|
182967
183276
|
const bandStartRow = tableData.firstRowHeader ? 1 : 0;
|
|
182968
183277
|
const bandEndRow = tableData.lastRow ? rowCount - 1 : rowCount;
|
|
182969
183278
|
if (tableData.bandedRows && rowIndex >= bandStartRow && rowIndex < bandEndRow) {
|
|
182970
183279
|
const bandIndex = rowIndex - bandStartRow;
|
|
182971
183280
|
const rowCycle = Math.max(tableData.bandRowCycle ?? 1, 1);
|
|
182972
183281
|
const bandGroup = Math.floor(bandIndex / rowCycle) % 2;
|
|
182973
|
-
current = (bandGroup === 0 ?
|
|
183282
|
+
current = (bandGroup === 0 ? entry3.band1HCell3D : entry3.band2HCell3D) ?? current;
|
|
182974
183283
|
}
|
|
182975
183284
|
if (tableData.bandedColumns) {
|
|
182976
183285
|
const isFirstCol = tableData.firstCol;
|
|
@@ -182980,7 +183289,7 @@ function resolveTableStyleCell3D(entry2, tableData, pos2) {
|
|
|
182980
183289
|
if (!skipCol) {
|
|
182981
183290
|
const colCycle = Math.max(tableData.bandColCycle ?? 1, 1);
|
|
182982
183291
|
const colBandGroup = Math.floor(colBandIndex / colCycle) % 2;
|
|
182983
|
-
current = (colBandGroup === 0 ?
|
|
183292
|
+
current = (colBandGroup === 0 ? entry3.band1VCell3D : entry3.band2VCell3D) ?? current;
|
|
182984
183293
|
}
|
|
182985
183294
|
}
|
|
182986
183295
|
const atTop = Boolean(tableData.firstRowHeader) && rowIndex === 0;
|
|
@@ -182988,28 +183297,28 @@ function resolveTableStyleCell3D(entry2, tableData, pos2) {
|
|
|
182988
183297
|
const atLeft = Boolean(tableData.firstCol) && cellIndex === 0;
|
|
182989
183298
|
const atRight = Boolean(tableData.lastCol) && cellIndex === columnCount - 1;
|
|
182990
183299
|
if (atRight) {
|
|
182991
|
-
current =
|
|
183300
|
+
current = entry3.lastColCell3D ?? current;
|
|
182992
183301
|
}
|
|
182993
183302
|
if (atLeft) {
|
|
182994
|
-
current =
|
|
183303
|
+
current = entry3.firstColCell3D ?? current;
|
|
182995
183304
|
}
|
|
182996
183305
|
if (atBottom) {
|
|
182997
|
-
current =
|
|
183306
|
+
current = entry3.lastRowCell3D ?? current;
|
|
182998
183307
|
}
|
|
182999
183308
|
if (atBottom && atRight) {
|
|
183000
|
-
current =
|
|
183309
|
+
current = entry3.seCellCell3D ?? current;
|
|
183001
183310
|
}
|
|
183002
183311
|
if (atBottom && atLeft) {
|
|
183003
|
-
current =
|
|
183312
|
+
current = entry3.swCellCell3D ?? current;
|
|
183004
183313
|
}
|
|
183005
183314
|
if (atTop) {
|
|
183006
|
-
current =
|
|
183315
|
+
current = entry3.firstRowCell3D ?? current;
|
|
183007
183316
|
}
|
|
183008
183317
|
if (atTop && atRight) {
|
|
183009
|
-
current =
|
|
183318
|
+
current = entry3.neCellCell3D ?? current;
|
|
183010
183319
|
}
|
|
183011
183320
|
if (atTop && atLeft) {
|
|
183012
|
-
current =
|
|
183321
|
+
current = entry3.nwCellCell3D ?? current;
|
|
183013
183322
|
}
|
|
183014
183323
|
return current;
|
|
183015
183324
|
}
|
|
@@ -183493,9 +183802,9 @@ function getDiagonalBorders(style, styleDiagonals) {
|
|
|
183493
183802
|
function getCellDiagonalBorders(style, tableData, pos2, styleCtx) {
|
|
183494
183803
|
let styleDiagonals;
|
|
183495
183804
|
if (tableData) {
|
|
183496
|
-
const
|
|
183805
|
+
const entry3 = resolveTableStyleEntry(tableData.tableStyleId, styleCtx?.tableStyleMap);
|
|
183497
183806
|
styleDiagonals = resolveStyleDiagonalBorders(
|
|
183498
|
-
|
|
183807
|
+
entry3,
|
|
183499
183808
|
tableData,
|
|
183500
183809
|
pos2,
|
|
183501
183810
|
(fill) => resolveStyleFillColor(fill, styleCtx?.colorScheme)
|
|
@@ -187167,6 +187476,7 @@ var translationsEn = {
|
|
|
187167
187476
|
"pptx.media.startAutomatically": "Automatically",
|
|
187168
187477
|
"pptx.media.playAcrossSlides": "Play across slides",
|
|
187169
187478
|
"pptx.media.fullScreen": "Full screen",
|
|
187479
|
+
"pptx.media.onlineVideoTitle": "Online video",
|
|
187170
187480
|
"pptx.media.hideWhenNotPlaying": "Hide when not playing",
|
|
187171
187481
|
"pptx.media.bookmarks": "Bookmarks",
|
|
187172
187482
|
"pptx.media.bookmark": "Bookmark",
|
|
@@ -187242,6 +187552,12 @@ var translationsEn = {
|
|
|
187242
187552
|
"pptx.compare.noDifferences": "No differences",
|
|
187243
187553
|
"pptx.compare.summary": "{{added}} added, {{removed}} removed, {{changed}} changed",
|
|
187244
187554
|
"pptx.compare.title": "Compare",
|
|
187555
|
+
// Canvas context menu (empty slide right-click)
|
|
187556
|
+
"pptx.canvasContextMenu.formatBackground": "Format Background...",
|
|
187557
|
+
"pptx.canvasContextMenu.gridAndGuides": "Grid and Guides",
|
|
187558
|
+
"pptx.canvasContextMenu.layout": "Layout",
|
|
187559
|
+
"pptx.canvasContextMenu.resetSlide": "Reset Slide",
|
|
187560
|
+
"pptx.canvasContextMenu.ruler": "Ruler",
|
|
187245
187561
|
// Context menu
|
|
187246
187562
|
"pptx.contextMenu.addComment": "Add Comment",
|
|
187247
187563
|
"pptx.contextMenu.bringForward": "Bring Forward",
|
|
@@ -187252,7 +187568,10 @@ var translationsEn = {
|
|
|
187252
187568
|
"pptx.contextMenu.deleteColumn": "Delete Column",
|
|
187253
187569
|
"pptx.contextMenu.deleteRow": "Delete Row",
|
|
187254
187570
|
"pptx.contextMenu.duplicate": "Duplicate",
|
|
187571
|
+
"pptx.contextMenu.editAltText": "Edit Alt Text...",
|
|
187255
187572
|
"pptx.contextMenu.editHyperlink": "Edit Hyperlink",
|
|
187573
|
+
"pptx.contextMenu.editText": "Edit Text",
|
|
187574
|
+
"pptx.contextMenu.formatShape": "Format Shape...",
|
|
187256
187575
|
"pptx.contextMenu.group": "Group",
|
|
187257
187576
|
"pptx.contextMenu.insertColumnLeft": "Insert Column Left",
|
|
187258
187577
|
"pptx.contextMenu.insertColumnRight": "Insert Column Right",
|
|
@@ -187261,10 +187580,19 @@ var translationsEn = {
|
|
|
187261
187580
|
"pptx.contextMenu.mergeCells": "Merge Right",
|
|
187262
187581
|
"pptx.contextMenu.mergeSelectedCells": "Merge Selected Cells",
|
|
187263
187582
|
"pptx.contextMenu.paste": "Paste",
|
|
187583
|
+
"pptx.contextMenu.saveAsPicture": "Save as Picture...",
|
|
187264
187584
|
"pptx.contextMenu.sendBackward": "Send Backward",
|
|
187265
187585
|
"pptx.contextMenu.sendToBack": "Send to Back",
|
|
187586
|
+
"pptx.contextMenu.sizeAndPosition": "Size and Position...",
|
|
187266
187587
|
"pptx.contextMenu.splitCell": "Split Cell",
|
|
187267
187588
|
"pptx.contextMenu.ungroup": "Ungroup",
|
|
187589
|
+
// Paste Special (Ctrl+Alt+V) and the post-paste Paste Options toolbar
|
|
187590
|
+
"pptx.pasteSpecial.dialogTitle": "Paste Special",
|
|
187591
|
+
"pptx.pasteSpecial.keepSourceFormatting": "Keep Source Formatting",
|
|
187592
|
+
"pptx.pasteSpecial.keepTextOnly": "Keep Text Only",
|
|
187593
|
+
"pptx.pasteSpecial.optionsLabel": "Paste Options",
|
|
187594
|
+
"pptx.pasteSpecial.picture": "Picture",
|
|
187595
|
+
"pptx.pasteSpecial.useDestinationTheme": "Use Destination Theme",
|
|
187268
187596
|
// Digital signatures (additions)
|
|
187269
187597
|
"pptx.digitalSignatures.badge": "Signed",
|
|
187270
187598
|
"pptx.digitalSignatures.editWarning": "Editing this presentation will invalidate its digital signatures.",
|
|
@@ -187611,6 +187939,12 @@ var translationsEn = {
|
|
|
187611
187939
|
"pptx.transition.morphOption.byObject": "By Object",
|
|
187612
187940
|
"pptx.transition.morphOption.byWord": "By Word",
|
|
187613
187941
|
"pptx.transition.morphOption.byChar": "By Character",
|
|
187942
|
+
"pptx.transition.pattern": "Pattern",
|
|
187943
|
+
"pptx.transition.pattern.diamond": "Diamond",
|
|
187944
|
+
"pptx.transition.pattern.hexagon": "Hexagon",
|
|
187945
|
+
"pptx.transition.pattern.strip": "Strips",
|
|
187946
|
+
"pptx.transition.pattern.rectangle": "Rectangles",
|
|
187947
|
+
"pptx.transition.thruBlk": "Through black",
|
|
187614
187948
|
// Context menu / editor toolbar (Angular/Vue-specific additions)
|
|
187615
187949
|
"pptx.contextMenu.ariaLabel": "Context menu",
|
|
187616
187950
|
"pptx.editorToolbar.ariaLabel": "Editor toolbar",
|
|
@@ -190372,6 +190706,9 @@ function isBrowserOpenableMime(mime) {
|
|
|
190372
190706
|
}
|
|
190373
190707
|
return value === "application/pdf" || value === "application/json" || value === "application/xml" || value === "application/xhtml+xml";
|
|
190374
190708
|
}
|
|
190709
|
+
function oleActionsVisible(surface) {
|
|
190710
|
+
return !surface.presenting && !surface.preview;
|
|
190711
|
+
}
|
|
190375
190712
|
var TYPE_COLORS = {
|
|
190376
190713
|
excel: "#217346",
|
|
190377
190714
|
word: "#2B579A",
|
|
@@ -192188,14 +192525,14 @@ function resolveParagraphStrutFontSize(segments, bodyFontSize, fontScale = 1) {
|
|
|
192188
192525
|
return smallest * fontScale;
|
|
192189
192526
|
}
|
|
192190
192527
|
function resolveParagraphRtl(paraSegments, elementRtl) {
|
|
192191
|
-
for (const
|
|
192192
|
-
const segRtl =
|
|
192528
|
+
for (const entry3 of paraSegments) {
|
|
192529
|
+
const segRtl = entry3.segment.style?.rtl;
|
|
192193
192530
|
if (segRtl !== void 0) {
|
|
192194
192531
|
return segRtl;
|
|
192195
192532
|
}
|
|
192196
192533
|
}
|
|
192197
|
-
for (const
|
|
192198
|
-
const paraRtl =
|
|
192534
|
+
for (const entry3 of paraSegments) {
|
|
192535
|
+
const paraRtl = entry3.segment.paragraphProperties?.rtl;
|
|
192199
192536
|
if (paraRtl !== void 0) {
|
|
192200
192537
|
return paraRtl;
|
|
192201
192538
|
}
|
|
@@ -192203,8 +192540,8 @@ function resolveParagraphRtl(paraSegments, elementRtl) {
|
|
|
192203
192540
|
return elementRtl;
|
|
192204
192541
|
}
|
|
192205
192542
|
function resolveParagraphAlign(paraSegments, elementAlign) {
|
|
192206
|
-
for (const
|
|
192207
|
-
const segAlign =
|
|
192543
|
+
for (const entry3 of paraSegments) {
|
|
192544
|
+
const segAlign = entry3.segment.style?.align;
|
|
192208
192545
|
if (segAlign !== void 0) {
|
|
192209
192546
|
return segAlign;
|
|
192210
192547
|
}
|
|
@@ -193863,7 +194200,7 @@ function positions(segments) {
|
|
|
193863
194200
|
if (!marker) {
|
|
193864
194201
|
offset += segment.text.length;
|
|
193865
194202
|
}
|
|
193866
|
-
const
|
|
194203
|
+
const entry3 = {
|
|
193867
194204
|
start,
|
|
193868
194205
|
end: offset,
|
|
193869
194206
|
paragraph,
|
|
@@ -193873,19 +194210,19 @@ function positions(segments) {
|
|
|
193873
194210
|
if (first) {
|
|
193874
194211
|
paragraph += 1;
|
|
193875
194212
|
}
|
|
193876
|
-
return
|
|
194213
|
+
return entry3;
|
|
193877
194214
|
});
|
|
193878
194215
|
}
|
|
193879
194216
|
function restorePoint(segments, offset, preferRunStart = false) {
|
|
193880
194217
|
const entries = positions(segments);
|
|
193881
194218
|
let fallback = { index: 0, offset: 0 };
|
|
193882
|
-
for (const [index,
|
|
193883
|
-
if (!
|
|
194219
|
+
for (const [index, entry3] of entries.entries()) {
|
|
194220
|
+
if (!entry3.editable) {
|
|
193884
194221
|
continue;
|
|
193885
194222
|
}
|
|
193886
194223
|
fallback = { index, offset: segments[index].text.length };
|
|
193887
|
-
if (offset <
|
|
193888
|
-
return { index, offset: Math.max(0, offset -
|
|
194224
|
+
if (offset < entry3.end || offset === entry3.end && (!preferRunStart || entry3.start === entry3.end)) {
|
|
194225
|
+
return { index, offset: Math.max(0, offset - entry3.start) };
|
|
193889
194226
|
}
|
|
193890
194227
|
}
|
|
193891
194228
|
return fallback;
|
|
@@ -193956,7 +194293,7 @@ function applyListStyleUpdate(element, updates, selection) {
|
|
|
193956
194293
|
}
|
|
193957
194294
|
const startOffset = startEntry.start + workingSelection.startOffset;
|
|
193958
194295
|
const endOffset = endEntry.start + workingSelection.endOffset;
|
|
193959
|
-
const lastSelected = [...entries].reverse().find((
|
|
194296
|
+
const lastSelected = [...entries].reverse().find((entry3) => entry3.start < endOffset);
|
|
193960
194297
|
const patch = setElementBullets(working, listType, {
|
|
193961
194298
|
startParagraph: startEntry.paragraph,
|
|
193962
194299
|
endParagraph: Math.max(startEntry.paragraph, lastSelected?.paragraph ?? endEntry.paragraph)
|
|
@@ -195444,12 +195781,12 @@ function scaleFontSizes(root, fontFactor, lineFactor) {
|
|
|
195444
195781
|
lineHeight: Number.isFinite(lineHeight) ? lineHeight : void 0
|
|
195445
195782
|
};
|
|
195446
195783
|
});
|
|
195447
|
-
for (const
|
|
195448
|
-
if (
|
|
195449
|
-
|
|
195784
|
+
for (const entry3 of original) {
|
|
195785
|
+
if (entry3.fontSize !== void 0) {
|
|
195786
|
+
entry3.el.style.fontSize = `${entry3.fontSize * fontFactor}px`;
|
|
195450
195787
|
}
|
|
195451
|
-
if (
|
|
195452
|
-
|
|
195788
|
+
if (entry3.lineHeight !== void 0) {
|
|
195789
|
+
entry3.el.style.lineHeight = `${entry3.lineHeight * lineFactor}px`;
|
|
195453
195790
|
}
|
|
195454
195791
|
}
|
|
195455
195792
|
}
|
|
@@ -200316,11 +200653,11 @@ function reconcileElementYMap(ymap, element, factories, assets) {
|
|
|
200316
200653
|
reconcileAssetFields(rec.id, rec, ymap, assets);
|
|
200317
200654
|
}
|
|
200318
200655
|
function mapIdAt(arr, index) {
|
|
200319
|
-
const
|
|
200320
|
-
if (!
|
|
200656
|
+
const entry3 = arr.get(index);
|
|
200657
|
+
if (!entry3 || typeof entry3.get !== "function") {
|
|
200321
200658
|
return void 0;
|
|
200322
200659
|
}
|
|
200323
|
-
const id =
|
|
200660
|
+
const id = entry3.get("id");
|
|
200324
200661
|
return typeof id === "string" ? id : void 0;
|
|
200325
200662
|
}
|
|
200326
200663
|
function reconcileYArrayById(arr, items, adapter) {
|
|
@@ -200575,9 +200912,9 @@ function presenceListsEqual(a, b) {
|
|
|
200575
200912
|
if (a.length !== b.length) {
|
|
200576
200913
|
return false;
|
|
200577
200914
|
}
|
|
200578
|
-
return a.every((
|
|
200915
|
+
return a.every((entry3, index) => {
|
|
200579
200916
|
const other = b[index];
|
|
200580
|
-
return other !== void 0 && presenceEntriesEqual(
|
|
200917
|
+
return other !== void 0 && presenceEntriesEqual(entry3, other);
|
|
200581
200918
|
});
|
|
200582
200919
|
}
|
|
200583
200920
|
function createPresenceProjector() {
|
|
@@ -201327,12 +201664,12 @@ function createCollaborationLivePatcher(options = {}) {
|
|
|
201327
201664
|
return null;
|
|
201328
201665
|
}
|
|
201329
201666
|
const key2 = keyFor3(slideId, elementId);
|
|
201330
|
-
let
|
|
201331
|
-
if (!
|
|
201332
|
-
|
|
201333
|
-
pending.set(key2,
|
|
201667
|
+
let entry3 = pending.get(key2);
|
|
201668
|
+
if (!entry3) {
|
|
201669
|
+
entry3 = { slideId, elementId };
|
|
201670
|
+
pending.set(key2, entry3);
|
|
201334
201671
|
}
|
|
201335
|
-
return
|
|
201672
|
+
return entry3;
|
|
201336
201673
|
};
|
|
201337
201674
|
return {
|
|
201338
201675
|
beginTextEdit(slideId, elementId, onChange, ownsModel) {
|
|
@@ -201398,22 +201735,22 @@ function createCollaborationLivePatcher(options = {}) {
|
|
|
201398
201735
|
return doc !== null && factories !== null;
|
|
201399
201736
|
},
|
|
201400
201737
|
patchGeometry(slideId, elementId, geometry) {
|
|
201401
|
-
const
|
|
201402
|
-
if (!
|
|
201738
|
+
const entry3 = enqueue(slideId, elementId);
|
|
201739
|
+
if (!entry3) {
|
|
201403
201740
|
return;
|
|
201404
201741
|
}
|
|
201405
|
-
|
|
201742
|
+
entry3.geometry = { ...entry3.geometry, ...geometry };
|
|
201406
201743
|
schedule2();
|
|
201407
201744
|
},
|
|
201408
201745
|
patchText(slideId, elementId, text22, source) {
|
|
201409
201746
|
if (textOwners.has(keyFor3(slideId, elementId))) {
|
|
201410
201747
|
return;
|
|
201411
201748
|
}
|
|
201412
|
-
const
|
|
201413
|
-
if (!
|
|
201749
|
+
const entry3 = enqueue(slideId, elementId);
|
|
201750
|
+
if (!entry3) {
|
|
201414
201751
|
return;
|
|
201415
201752
|
}
|
|
201416
|
-
|
|
201753
|
+
entry3.text = { value: text22, source: source ?? entry3.text?.source ?? {} };
|
|
201417
201754
|
schedule2();
|
|
201418
201755
|
},
|
|
201419
201756
|
flush() {
|
|
@@ -202640,6 +202977,35 @@ function applyAcceptAllSlides(slides, compareResult) {
|
|
|
202640
202977
|
}
|
|
202641
202978
|
return next;
|
|
202642
202979
|
}
|
|
202980
|
+
var VORTEX_DIRECTIONAL_KEYFRAMES = `
|
|
202981
|
+
@keyframes pptx-tr-vortex-in-left { from { transform: translateX(-40%) rotate(720deg) scale(0); opacity: 0; } to { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; } }
|
|
202982
|
+
@keyframes pptx-tr-vortex-out-left { from { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; } to { transform: translateX(-40%) rotate(-720deg) scale(0); opacity: 0; } }
|
|
202983
|
+
@keyframes pptx-tr-vortex-in-right { from { transform: translateX(40%) rotate(-720deg) scale(0); opacity: 0; } to { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; } }
|
|
202984
|
+
@keyframes pptx-tr-vortex-out-right { from { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; } to { transform: translateX(40%) rotate(720deg) scale(0); opacity: 0; } }
|
|
202985
|
+
@keyframes pptx-tr-vortex-in-up { from { transform: translateY(-40%) rotate(720deg) scale(0); opacity: 0; } to { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } }
|
|
202986
|
+
@keyframes pptx-tr-vortex-out-up { from { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } to { transform: translateY(-40%) rotate(-720deg) scale(0); opacity: 0; } }
|
|
202987
|
+
@keyframes pptx-tr-vortex-in-down { from { transform: translateY(40%) rotate(-720deg) scale(0); opacity: 0; } to { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } }
|
|
202988
|
+
@keyframes pptx-tr-vortex-out-down { from { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } to { transform: translateY(40%) rotate(720deg) scale(0); opacity: 0; } }
|
|
202989
|
+
`;
|
|
202990
|
+
var RIPPLE_DIRECTIONAL_KEYFRAMES = `
|
|
202991
|
+
@keyframes pptx-tr-ripple-in-lu { from { clip-path: circle(0% at 0% 0%); opacity: 0.5; } 30% { clip-path: circle(20% at 0% 0%); opacity: 0.7; } 60% { clip-path: circle(55% at 0% 0%); opacity: 0.9; } to { clip-path: circle(150% at 0% 0%); opacity: 1; } }
|
|
202992
|
+
@keyframes pptx-tr-ripple-in-ru { from { clip-path: circle(0% at 100% 0%); opacity: 0.5; } 30% { clip-path: circle(20% at 100% 0%); opacity: 0.7; } 60% { clip-path: circle(55% at 100% 0%); opacity: 0.9; } to { clip-path: circle(150% at 100% 0%); opacity: 1; } }
|
|
202993
|
+
@keyframes pptx-tr-ripple-in-ld { from { clip-path: circle(0% at 0% 100%); opacity: 0.5; } 30% { clip-path: circle(20% at 0% 100%); opacity: 0.7; } 60% { clip-path: circle(55% at 0% 100%); opacity: 0.9; } to { clip-path: circle(150% at 0% 100%); opacity: 1; } }
|
|
202994
|
+
@keyframes pptx-tr-ripple-in-rd { from { clip-path: circle(0% at 100% 100%); opacity: 0.5; } 30% { clip-path: circle(20% at 100% 100%); opacity: 0.7; } 60% { clip-path: circle(55% at 100% 100%); opacity: 0.9; } to { clip-path: circle(150% at 100% 100%); opacity: 1; } }
|
|
202995
|
+
`;
|
|
202996
|
+
var GLITTER_DIRECTIONAL_KEYFRAMES = `
|
|
202997
|
+
@keyframes pptx-tr-glitter-diamond-in-l { from { opacity: 0; transform: translateX(-6%); filter: brightness(1.5) contrast(1.3) blur(2px); } 60% { opacity: 0.7; transform: translateX(-2%); filter: brightness(1.2) contrast(1.1) blur(1px); } to { opacity: 1; transform: translateX(0); filter: brightness(1) contrast(1) blur(0); } }
|
|
202998
|
+
@keyframes pptx-tr-glitter-diamond-in-r { from { opacity: 0; transform: translateX(6%); filter: brightness(1.5) contrast(1.3) blur(2px); } 60% { opacity: 0.7; transform: translateX(2%); filter: brightness(1.2) contrast(1.1) blur(1px); } to { opacity: 1; transform: translateX(0); filter: brightness(1) contrast(1) blur(0); } }
|
|
202999
|
+
@keyframes pptx-tr-glitter-diamond-in-u { from { opacity: 0; transform: translateY(-6%); filter: brightness(1.5) contrast(1.3) blur(2px); } 60% { opacity: 0.7; transform: translateY(-2%); filter: brightness(1.2) contrast(1.1) blur(1px); } to { opacity: 1; transform: translateY(0); filter: brightness(1) contrast(1) blur(0); } }
|
|
203000
|
+
@keyframes pptx-tr-glitter-diamond-in-d { from { opacity: 0; transform: translateY(6%); filter: brightness(1.5) contrast(1.3) blur(2px); } 60% { opacity: 0.7; transform: translateY(2%); filter: brightness(1.2) contrast(1.1) blur(1px); } to { opacity: 1; transform: translateY(0); filter: brightness(1) contrast(1) blur(0); } }
|
|
203001
|
+
@keyframes pptx-tr-glitter-hexagon-in-l { from { opacity: 0; transform: translateX(-6%); filter: brightness(1.5) contrast(1.3) blur(2px) hue-rotate(20deg); } 60% { opacity: 0.7; transform: translateX(-2%); filter: brightness(1.2) contrast(1.1) blur(1px) hue-rotate(8deg); } to { opacity: 1; transform: translateX(0); filter: brightness(1) contrast(1) blur(0) hue-rotate(0deg); } }
|
|
203002
|
+
@keyframes pptx-tr-glitter-hexagon-in-r { from { opacity: 0; transform: translateX(6%); filter: brightness(1.5) contrast(1.3) blur(2px) hue-rotate(20deg); } 60% { opacity: 0.7; transform: translateX(2%); filter: brightness(1.2) contrast(1.1) blur(1px) hue-rotate(8deg); } to { opacity: 1; transform: translateX(0); filter: brightness(1) contrast(1) blur(0) hue-rotate(0deg); } }
|
|
203003
|
+
@keyframes pptx-tr-glitter-hexagon-in-u { from { opacity: 0; transform: translateY(-6%); filter: brightness(1.5) contrast(1.3) blur(2px) hue-rotate(20deg); } 60% { opacity: 0.7; transform: translateY(-2%); filter: brightness(1.2) contrast(1.1) blur(1px) hue-rotate(8deg); } to { opacity: 1; transform: translateY(0); filter: brightness(1) contrast(1) blur(0) hue-rotate(0deg); } }
|
|
203004
|
+
@keyframes pptx-tr-glitter-hexagon-in-d { from { opacity: 0; transform: translateY(6%); filter: brightness(1.5) contrast(1.3) blur(2px) hue-rotate(20deg); } 60% { opacity: 0.7; transform: translateY(2%); filter: brightness(1.2) contrast(1.1) blur(1px) hue-rotate(8deg); } to { opacity: 1; transform: translateY(0); filter: brightness(1) contrast(1) blur(0) hue-rotate(0deg); } }
|
|
203005
|
+
`;
|
|
203006
|
+
var DIRECTIONAL_FX_KEYFRAMES = `${VORTEX_DIRECTIONAL_KEYFRAMES}
|
|
203007
|
+
${RIPPLE_DIRECTIONAL_KEYFRAMES}
|
|
203008
|
+
${GLITTER_DIRECTIONAL_KEYFRAMES}`;
|
|
202643
203009
|
var PRISM_TRANSITION_KEYFRAMES = `
|
|
202644
203010
|
@keyframes pptx-tr-prism-in-from-right {
|
|
202645
203011
|
from { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }
|
|
@@ -202961,7 +203327,8 @@ ${WARP_TRANSITION_KEYFRAMES}
|
|
|
202961
203327
|
}
|
|
202962
203328
|
`;
|
|
202963
203329
|
var P14_TRANSITION_KEYFRAMES_ALL = `${P14_TRANSITION_KEYFRAMES}
|
|
202964
|
-
${P14_TRANSITION_KEYFRAMES_2}
|
|
203330
|
+
${P14_TRANSITION_KEYFRAMES_2}
|
|
203331
|
+
${DIRECTIONAL_FX_KEYFRAMES}`;
|
|
202965
203332
|
function getBoxTransitionAnimations(durationMs, direction) {
|
|
202966
203333
|
const dur = `${durationMs}ms`;
|
|
202967
203334
|
const dir = resolveDirection(direction, "left");
|
|
@@ -202984,6 +203351,61 @@ function prismDepthPair(prefix, dir, axis, translateSign) {
|
|
|
202984
203351
|
var BOX_TRANSITION_KEYFRAMES = `
|
|
202985
203352
|
/* \u2500\u2500 Box (faces separate and recede in depth, unlike Cube's flush hinge) \u2500\u2500 */${prismDepthPair("box", "left", "X", -1)}${prismDepthPair("box", "right", "X", 1)}${prismDepthPair("box", "up", "Y", -1)}${prismDepthPair("box", "down", "Y", 1)}
|
|
202986
203353
|
`;
|
|
203354
|
+
var FALLOVER_RIGHT_KEYFRAMES = `
|
|
203355
|
+
@keyframes pptx-tr-fallover-out-right {
|
|
203356
|
+
0% { transform: perspective(1400px) rotate3d(1, -1, 0, 0deg) scale(1); transform-origin: bottom right; opacity: 1; }
|
|
203357
|
+
55% { transform: perspective(1400px) rotate3d(1, -1, 0, 45deg) scale(.92); transform-origin: bottom right; opacity: .85; }
|
|
203358
|
+
100% { transform: perspective(1400px) rotate3d(1, -1, 0, 85deg) scale(.7); transform-origin: bottom right; opacity: 0; }
|
|
203359
|
+
}
|
|
203360
|
+
`;
|
|
203361
|
+
var DRAPE_RIGHT_KEYFRAMES = `
|
|
203362
|
+
@keyframes pptx-tr-drape-in-right {
|
|
203363
|
+
from { transform: perspective(1600px) rotateX(-55deg) rotateZ(4deg) scale(1.15); transform-origin: top right; opacity: 0; }
|
|
203364
|
+
to { transform: perspective(1600px) rotateX(0deg) rotateZ(0deg) scale(1); transform-origin: top right; opacity: 1; }
|
|
203365
|
+
}
|
|
203366
|
+
`;
|
|
203367
|
+
var PEELOFF_RIGHT_KEYFRAMES = `
|
|
203368
|
+
@keyframes pptx-tr-peeloff-out-right {
|
|
203369
|
+
from { transform: perspective(1400px) rotate3d(1, -1, 0, 0deg); transform-origin: top left; opacity: 1; }
|
|
203370
|
+
to { transform: perspective(1400px) rotate3d(1, -1, 0, 110deg); transform-origin: top left; opacity: .15; }
|
|
203371
|
+
}
|
|
203372
|
+
`;
|
|
203373
|
+
var PAGECURL_RIGHT_KEYFRAMES = `
|
|
203374
|
+
@keyframes pptx-tr-pagecurl-out-right {
|
|
203375
|
+
from { transform: perspective(1600px) rotateY(0deg); transform-origin: left center; opacity: 1; }
|
|
203376
|
+
to { transform: perspective(1600px) rotateY(155deg); transform-origin: left center; opacity: .25; }
|
|
203377
|
+
}
|
|
203378
|
+
@keyframes pptx-tr-pagecurl-double-in-right {
|
|
203379
|
+
from { transform: perspective(1600px) rotateY(-155deg); transform-origin: right center; opacity: .25; }
|
|
203380
|
+
to { transform: perspective(1600px) rotateY(0deg); transform-origin: right center; opacity: 1; }
|
|
203381
|
+
}
|
|
203382
|
+
`;
|
|
203383
|
+
var AIRPLANE_RIGHT_KEYFRAMES = `
|
|
203384
|
+
@keyframes pptx-tr-airplane-out-right {
|
|
203385
|
+
0% { transform: perspective(1200px) translate3d(0, 0, 0) rotate3d(-1, -1, 0, 0deg) scale(1); opacity: 1; }
|
|
203386
|
+
40% { transform: perspective(1200px) translate3d(-10%, -10%, 0) rotate3d(-1, -1, 0, 25deg) scale(.85); opacity: 1; }
|
|
203387
|
+
100% { transform: perspective(1200px) translate3d(-150%, -70%, 0) rotate3d(-1, -1, 1, 70deg) scale(.05); opacity: 0; }
|
|
203388
|
+
}
|
|
203389
|
+
`;
|
|
203390
|
+
var ORIGAMI_RIGHT_KEYFRAMES = `
|
|
203391
|
+
@keyframes pptx-tr-origami-out-right {
|
|
203392
|
+
0% { transform: perspective(1400px) rotateX(0deg) rotateZ(0deg) translateY(0) scale(1); transform-origin: top right; opacity: 1; filter: brightness(1); }
|
|
203393
|
+
45% { transform: perspective(1400px) rotateX(-52deg) rotateZ(-3deg) translateY(2%) scale(.96); transform-origin: top right; opacity: 1; filter: brightness(.82); }
|
|
203394
|
+
70% { transform: perspective(1400px) rotateX(-84deg) rotateZ(-3deg) translateY(8%) scale(.88); transform-origin: top right; opacity: .8; filter: brightness(.68); }
|
|
203395
|
+
100% { transform: perspective(1400px) rotateX(-125deg) rotateZ(-3deg) translateY(30%) scale(.68); transform-origin: top right; opacity: 0; filter: brightness(.55); }
|
|
203396
|
+
}
|
|
203397
|
+
@keyframes pptx-tr-origami-in-right {
|
|
203398
|
+
0% { transform: perspective(1400px) rotateX(62deg) rotateZ(3deg) scale(.94); transform-origin: bottom left; opacity: 0; filter: brightness(.7); }
|
|
203399
|
+
30% { transform: perspective(1400px) rotateX(62deg) rotateZ(3deg) scale(.94); transform-origin: bottom left; opacity: .65; filter: brightness(.75); }
|
|
203400
|
+
100% { transform: perspective(1400px) rotateX(0deg) rotateZ(0deg) scale(1); transform-origin: bottom left; opacity: 1; filter: brightness(1); }
|
|
203401
|
+
}
|
|
203402
|
+
`;
|
|
203403
|
+
var CINEMATIC_MIRROR_KEYFRAMES = `${FALLOVER_RIGHT_KEYFRAMES}
|
|
203404
|
+
${DRAPE_RIGHT_KEYFRAMES}
|
|
203405
|
+
${PEELOFF_RIGHT_KEYFRAMES}
|
|
203406
|
+
${PAGECURL_RIGHT_KEYFRAMES}
|
|
203407
|
+
${AIRPLANE_RIGHT_KEYFRAMES}
|
|
203408
|
+
${ORIGAMI_RIGHT_KEYFRAMES}`;
|
|
202987
203409
|
var ROTATE_TRANSITION_KEYFRAMES = `
|
|
202988
203410
|
/* \u2500\u2500 Rotate (screen-flush hinge, like Cube, reached via \`isContent="1"\`
|
|
202989
203411
|
instead of Cube's bare element) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
@@ -202996,6 +203418,9 @@ var ROTATE_TRANSITION_KEYFRAMES = `
|
|
|
202996
203418
|
@keyframes pptx-tr-rotate-out-down { from { transform: perspective(1500px) translateY(0) rotateX(0deg); } to { transform: perspective(1500px) translateY(50%) rotateX(-90deg); opacity: .55; } }
|
|
202997
203419
|
@keyframes pptx-tr-rotate-in-down { from { transform: perspective(1500px) translateY(-50%) rotateX(90deg); opacity: .55; } to { transform: perspective(1500px) translateY(0) rotateX(0deg); opacity: 1; } }
|
|
202998
203420
|
`;
|
|
203421
|
+
function isRight(direction) {
|
|
203422
|
+
return resolveDirection(direction, "left") === "right";
|
|
203423
|
+
}
|
|
202999
203424
|
function threeDPair(prefix, dir, dur, outgoingOnTop) {
|
|
203000
203425
|
return {
|
|
203001
203426
|
outgoing: `${prefix}-out-${dir} ${dur} ${EASE} forwards`,
|
|
@@ -203025,14 +203450,14 @@ function getCinematicTransitionAnimations(type, durationMs, direction, orient) {
|
|
|
203025
203450
|
return threeDPair("pptx-tr-rotate", resolveDirection(direction, "left"), dur, false);
|
|
203026
203451
|
case "fallOver":
|
|
203027
203452
|
return {
|
|
203028
|
-
outgoing:
|
|
203453
|
+
outgoing: `${isRight(direction) ? "pptx-tr-fallover-out-right" : "pptx-tr-fallover-out"} ${dur} ${EASE} forwards`,
|
|
203029
203454
|
incoming: "none",
|
|
203030
203455
|
outgoingOnTop: true
|
|
203031
203456
|
};
|
|
203032
203457
|
case "drape":
|
|
203033
203458
|
return {
|
|
203034
203459
|
outgoing: "none",
|
|
203035
|
-
incoming:
|
|
203460
|
+
incoming: `${isRight(direction) ? "pptx-tr-drape-in-right" : "pptx-tr-drape-in"} ${dur} ${EASE} forwards`,
|
|
203036
203461
|
outgoingOnTop: false
|
|
203037
203462
|
};
|
|
203038
203463
|
case "curtains":
|
|
@@ -203068,36 +203493,46 @@ function getCinematicTransitionAnimations(type, durationMs, direction, orient) {
|
|
|
203068
203493
|
incoming: `pptx-tr-crush-in ${dur} ${EASE} forwards`,
|
|
203069
203494
|
outgoingOnTop: true
|
|
203070
203495
|
};
|
|
203071
|
-
case "peelOff":
|
|
203496
|
+
case "peelOff": {
|
|
203497
|
+
const right = isRight(direction);
|
|
203072
203498
|
return {
|
|
203073
|
-
outgoing:
|
|
203499
|
+
outgoing: `${right ? "pptx-tr-peeloff-out-right" : "pptx-tr-peeloff-out"} ${dur} ${EASE} forwards`,
|
|
203074
203500
|
incoming: "none",
|
|
203075
203501
|
outgoingOnTop: true
|
|
203076
203502
|
};
|
|
203077
|
-
|
|
203503
|
+
}
|
|
203504
|
+
case "pageCurlSingle": {
|
|
203505
|
+
const right = isRight(direction);
|
|
203078
203506
|
return {
|
|
203079
|
-
outgoing:
|
|
203507
|
+
outgoing: `${right ? "pptx-tr-pagecurl-out-right" : "pptx-tr-pagecurl-out"} ${dur} ${EASE} forwards`,
|
|
203080
203508
|
incoming: "none",
|
|
203081
203509
|
outgoingOnTop: true
|
|
203082
203510
|
};
|
|
203083
|
-
|
|
203511
|
+
}
|
|
203512
|
+
case "pageCurlDouble": {
|
|
203513
|
+
const right = isRight(direction);
|
|
203084
203514
|
return {
|
|
203085
|
-
outgoing:
|
|
203086
|
-
incoming:
|
|
203515
|
+
outgoing: `${right ? "pptx-tr-pagecurl-out-right" : "pptx-tr-pagecurl-out"} ${dur} ${EASE} forwards`,
|
|
203516
|
+
incoming: `${right ? "pptx-tr-pagecurl-double-in-right" : "pptx-tr-pagecurl-double-in"} ${dur} ${EASE} forwards`,
|
|
203087
203517
|
outgoingOnTop: true
|
|
203088
203518
|
};
|
|
203089
|
-
|
|
203519
|
+
}
|
|
203520
|
+
case "airplane": {
|
|
203521
|
+
const right = isRight(direction);
|
|
203090
203522
|
return {
|
|
203091
|
-
outgoing:
|
|
203523
|
+
outgoing: `${right ? "pptx-tr-airplane-out-right" : "pptx-tr-airplane-out"} ${dur} ${EASE} forwards`,
|
|
203092
203524
|
incoming: `pptx-tr-fade-in ${dur} ${EASE} forwards`,
|
|
203093
203525
|
outgoingOnTop: true
|
|
203094
203526
|
};
|
|
203095
|
-
|
|
203527
|
+
}
|
|
203528
|
+
case "origami": {
|
|
203529
|
+
const right = isRight(direction);
|
|
203096
203530
|
return {
|
|
203097
|
-
outgoing:
|
|
203098
|
-
incoming:
|
|
203531
|
+
outgoing: `${right ? "pptx-tr-origami-out-right" : "pptx-tr-origami-out"} ${dur} ${EASE} forwards`,
|
|
203532
|
+
incoming: `${right ? "pptx-tr-origami-in-right" : "pptx-tr-origami-in"} ${dur} ${EASE} forwards`,
|
|
203099
203533
|
outgoingOnTop: true
|
|
203100
203534
|
};
|
|
203535
|
+
}
|
|
203101
203536
|
default:
|
|
203102
203537
|
return void 0;
|
|
203103
203538
|
}
|
|
@@ -203185,6 +203620,7 @@ ${ROTATE_TRANSITION_KEYFRAMES}
|
|
|
203185
203620
|
moment is brief and already mid-fade, so no line artifact survives. */
|
|
203186
203621
|
@keyframes pptx-tr-origami-out { 0% { transform: perspective(1400px) rotateX(0deg) translateY(0) scale(1); transform-origin: top center; opacity: 1; filter: brightness(1); } 45% { transform: perspective(1400px) rotateX(-52deg) translateY(2%) scale(.96); transform-origin: top center; opacity: 1; filter: brightness(.82); } 70% { transform: perspective(1400px) rotateX(-84deg) translateY(8%) scale(.88); transform-origin: top center; opacity: .8; filter: brightness(.68); } 100% { transform: perspective(1400px) rotateX(-125deg) translateY(30%) scale(.68); transform-origin: top center; opacity: 0; filter: brightness(.55); } }
|
|
203187
203622
|
@keyframes pptx-tr-origami-in { 0% { transform: perspective(1400px) rotateX(62deg) scale(.94); transform-origin: bottom center; opacity: 0; filter: brightness(.7); } 30% { transform: perspective(1400px) rotateX(62deg) scale(.94); transform-origin: bottom center; opacity: .65; filter: brightness(.75); } 100% { transform: perspective(1400px) rotateX(0deg) scale(1); transform-origin: bottom center; opacity: 1; filter: brightness(1); } }
|
|
203623
|
+
${CINEMATIC_MIRROR_KEYFRAMES}
|
|
203188
203624
|
`;
|
|
203189
203625
|
function seededUnit(seed) {
|
|
203190
203626
|
const x = Math.sin(seed * 12.9898 + 78.233) * 43758.5453;
|
|
@@ -203989,6 +204425,36 @@ ${P14_TRANSITION_KEYFRAMES_ALL}
|
|
|
203989
204425
|
${CINEMATIC_TRANSITION_KEYFRAMES}
|
|
203990
204426
|
${FRAGMENT_TRANSITION_KEYFRAMES}`;
|
|
203991
204427
|
var SLIDE_TRANSITION_KEYFRAMES_CSS = SLIDE_TRANSITION_KEYFRAMES;
|
|
204428
|
+
function getVortexAnimations(durationMs, direction, ease) {
|
|
204429
|
+
const dur = `${durationMs}ms`;
|
|
204430
|
+
const dir = resolveDirection(direction, "left");
|
|
204431
|
+
return {
|
|
204432
|
+
outgoing: `pptx-tr-vortex-out-${dir} ${dur} ${ease} forwards`,
|
|
204433
|
+
incoming: `pptx-tr-vortex-in-${dir} ${dur} ${ease} forwards`,
|
|
204434
|
+
outgoingOnTop: true
|
|
204435
|
+
};
|
|
204436
|
+
}
|
|
204437
|
+
function getRippleAnimations(durationMs, direction, ease) {
|
|
204438
|
+
const dur = `${durationMs}ms`;
|
|
204439
|
+
const dir = resolveDirection8(direction, "left");
|
|
204440
|
+
const corner2 = dir === "lu" || dir === "ld" || dir === "ru" || dir === "rd" ? dir : void 0;
|
|
204441
|
+
return {
|
|
204442
|
+
outgoing: "none",
|
|
204443
|
+
incoming: corner2 ? `pptx-tr-ripple-in-${corner2} ${dur} ${ease} forwards` : `pptx-tr-ripple-in ${dur} ${ease} forwards`,
|
|
204444
|
+
outgoingOnTop: false
|
|
204445
|
+
};
|
|
204446
|
+
}
|
|
204447
|
+
function getGlitterAnimations(durationMs, direction, pattern, ease) {
|
|
204448
|
+
const dur = `${durationMs}ms`;
|
|
204449
|
+
const dir = resolveDirection(direction, "left");
|
|
204450
|
+
const dirToken = dir === "left" ? "l" : dir === "right" ? "r" : dir === "up" ? "u" : "d";
|
|
204451
|
+
const family = pattern === "hexagon" ? "hexagon" : "diamond";
|
|
204452
|
+
return {
|
|
204453
|
+
outgoing: `pptx-tr-fade-out ${dur} ${ease} forwards`,
|
|
204454
|
+
incoming: `pptx-tr-glitter-${family}-in-${dirToken} ${dur} ${ease} forwards`,
|
|
204455
|
+
outgoingOnTop: true
|
|
204456
|
+
};
|
|
204457
|
+
}
|
|
203992
204458
|
function resolveLR(direction) {
|
|
203993
204459
|
if (direction === "l" || direction === "r") {
|
|
203994
204460
|
return direction;
|
|
@@ -204127,11 +204593,7 @@ function getP14TransitionAnimations(type, durationMs, direction, orient, pattern
|
|
|
204127
204593
|
};
|
|
204128
204594
|
}
|
|
204129
204595
|
case "glitter":
|
|
204130
|
-
return
|
|
204131
|
-
outgoing: `pptx-tr-fade-out ${dur} ${ease} forwards`,
|
|
204132
|
-
incoming: `pptx-tr-glitter-in ${dur} ${ease} forwards`,
|
|
204133
|
-
outgoingOnTop: true
|
|
204134
|
-
};
|
|
204596
|
+
return getGlitterAnimations(durationMs, direction, pattern, ease);
|
|
204135
204597
|
case "honeycomb":
|
|
204136
204598
|
return {
|
|
204137
204599
|
outgoing: `pptx-tr-honeycomb-out ${dur} ${ease} forwards`,
|
|
@@ -204151,11 +204613,7 @@ function getP14TransitionAnimations(type, durationMs, direction, orient, pattern
|
|
|
204151
204613
|
};
|
|
204152
204614
|
}
|
|
204153
204615
|
case "ripple":
|
|
204154
|
-
return
|
|
204155
|
-
outgoing: "none",
|
|
204156
|
-
incoming: `pptx-tr-ripple-in ${dur} ${ease} forwards`,
|
|
204157
|
-
outgoingOnTop: false
|
|
204158
|
-
};
|
|
204616
|
+
return getRippleAnimations(durationMs, direction, ease);
|
|
204159
204617
|
case "shred": {
|
|
204160
204618
|
const isRectangles = pattern === "rectangle";
|
|
204161
204619
|
return {
|
|
@@ -204180,11 +204638,7 @@ function getP14TransitionAnimations(type, durationMs, direction, orient, pattern
|
|
|
204180
204638
|
};
|
|
204181
204639
|
}
|
|
204182
204640
|
case "vortex":
|
|
204183
|
-
return
|
|
204184
|
-
outgoing: `pptx-tr-vortex-out ${dur} ${ease} forwards`,
|
|
204185
|
-
incoming: `pptx-tr-vortex-in ${dur} ${ease} forwards`,
|
|
204186
|
-
outgoingOnTop: true
|
|
204187
|
-
};
|
|
204641
|
+
return getVortexAnimations(durationMs, direction, ease);
|
|
204188
204642
|
case "warp": {
|
|
204189
204643
|
const isOut = direction === "out";
|
|
204190
204644
|
if (isOut) {
|
|
@@ -204583,7 +205037,7 @@ var TRANSITION_MORPH_OPTIONS = [
|
|
|
204583
205037
|
{ value: "byWord", label: "By Word", i18nKey: "pptx.transition.morphOption.byWord" },
|
|
204584
205038
|
{ value: "byChar", label: "By Character", i18nKey: "pptx.transition.morphOption.byChar" }
|
|
204585
205039
|
];
|
|
204586
|
-
var TRANSITION_ORIENTATION_TYPES = /* @__PURE__ */ new Set(["blinds", "checker", "comb", "randomBar"]);
|
|
205040
|
+
var TRANSITION_ORIENTATION_TYPES = /* @__PURE__ */ new Set(["blinds", "checker", "comb", "randomBar", "doors", "window"]);
|
|
204587
205041
|
var TRANSITION_DIR_ARROWS = {
|
|
204588
205042
|
l: "\u2190",
|
|
204589
205043
|
r: "\u2192",
|
|
@@ -204642,8 +205096,8 @@ function transitionSoundOptions(transition) {
|
|
|
204642
205096
|
options.push({ value: TRANSITION_SOUND_CURRENT_VALUE, label: fileName });
|
|
204643
205097
|
}
|
|
204644
205098
|
options.push({ value: TRANSITION_SOUND_NONE_VALUE, i18nKey: "pptx.ribbon.soundNone" });
|
|
204645
|
-
for (const
|
|
204646
|
-
options.push({ value:
|
|
205099
|
+
for (const entry3 of EFFECT_SOUND_CATALOGUE) {
|
|
205100
|
+
options.push({ value: entry3.id, i18nKey: entry3.i18nKey });
|
|
204647
205101
|
}
|
|
204648
205102
|
options.push({ value: TRANSITION_SOUND_OTHER_VALUE, i18nKey: "pptx.ribbon.soundOther" });
|
|
204649
205103
|
return options;
|
|
@@ -207460,9 +207914,9 @@ function observeElementHeight(el, onHeight) {
|
|
|
207460
207914
|
return () => void 0;
|
|
207461
207915
|
}
|
|
207462
207916
|
const observer = new ResizeObserver((entries) => {
|
|
207463
|
-
const
|
|
207464
|
-
if (
|
|
207465
|
-
const box =
|
|
207917
|
+
const entry3 = entries[entries.length - 1];
|
|
207918
|
+
if (entry3) {
|
|
207919
|
+
const box = entry3.borderBoxSize?.[0]?.blockSize;
|
|
207466
207920
|
onHeight(box ?? el.getBoundingClientRect().height);
|
|
207467
207921
|
}
|
|
207468
207922
|
});
|
|
@@ -208742,7 +209196,7 @@ function buildJoinCollaborationConfig(fields) {
|
|
|
208742
209196
|
const serverUrl = (url?.searchParams.get("server") ?? fields.serverUrl).trim();
|
|
208743
209197
|
const transport = requestedTransport === "webrtc" ? "webrtc" : resolveTransportForServerUrl(serverUrl);
|
|
208744
209198
|
const signalingValue = url?.searchParams.get("signaling");
|
|
208745
|
-
const signaling = signalingValue?.split(",").map((
|
|
209199
|
+
const signaling = signalingValue?.split(",").map((entry3) => entry3.trim()).filter((entry3) => entry3.length > 0);
|
|
208746
209200
|
return {
|
|
208747
209201
|
roomId,
|
|
208748
209202
|
userName,
|
|
@@ -208895,11 +209349,11 @@ function buildTextBuildSpec(elementId, paraIndex, runs, states) {
|
|
|
208895
209349
|
);
|
|
208896
209350
|
if (hasCharBuild) {
|
|
208897
209351
|
const spans = characters.map(
|
|
208898
|
-
(
|
|
209352
|
+
(entry3, index) => stateSpan(
|
|
208899
209353
|
`${elementId}${TEXT_BUILD_ID_SEP}c${paraIndex}-${index}`,
|
|
208900
|
-
|
|
209354
|
+
entry3.ch,
|
|
208901
209355
|
states,
|
|
208902
|
-
|
|
209356
|
+
entry3.style
|
|
208903
209357
|
)
|
|
208904
209358
|
);
|
|
208905
209359
|
return { granularity: "char", spans };
|
|
@@ -209208,17 +209662,17 @@ function createViewerStore(initial) {
|
|
|
209208
209662
|
return;
|
|
209209
209663
|
}
|
|
209210
209664
|
notifiedState = state;
|
|
209211
|
-
for (const
|
|
209212
|
-
if (!selectors.has(
|
|
209665
|
+
for (const entry3 of [...selectors]) {
|
|
209666
|
+
if (!selectors.has(entry3)) {
|
|
209213
209667
|
continue;
|
|
209214
209668
|
}
|
|
209215
|
-
const next =
|
|
209216
|
-
const previous =
|
|
209217
|
-
if (
|
|
209669
|
+
const next = entry3.select(state);
|
|
209670
|
+
const previous = entry3.last;
|
|
209671
|
+
if (entry3.equal(previous, next)) {
|
|
209218
209672
|
continue;
|
|
209219
209673
|
}
|
|
209220
|
-
|
|
209221
|
-
|
|
209674
|
+
entry3.last = next;
|
|
209675
|
+
entry3.notify(next, previous);
|
|
209222
209676
|
}
|
|
209223
209677
|
for (const listener of [...listeners2]) {
|
|
209224
209678
|
if (listeners2.has(listener)) {
|
|
@@ -209243,15 +209697,15 @@ function createViewerStore(initial) {
|
|
|
209243
209697
|
};
|
|
209244
209698
|
},
|
|
209245
209699
|
subscribeSelector(selector, listener, isEqual) {
|
|
209246
|
-
const
|
|
209700
|
+
const entry3 = {
|
|
209247
209701
|
select: selector,
|
|
209248
209702
|
notify: listener,
|
|
209249
209703
|
equal: isEqual ?? defaultEqual,
|
|
209250
209704
|
last: selector(state)
|
|
209251
209705
|
};
|
|
209252
|
-
selectors.add(
|
|
209706
|
+
selectors.add(entry3);
|
|
209253
209707
|
return () => {
|
|
209254
|
-
selectors.delete(
|
|
209708
|
+
selectors.delete(entry3);
|
|
209255
209709
|
};
|
|
209256
209710
|
},
|
|
209257
209711
|
batch(write) {
|
|
@@ -210496,6 +210950,9 @@ function mapEditorKey(input, guard = {}) {
|
|
|
210496
210950
|
if (mod && !alt && key2.toLowerCase() === "h") {
|
|
210497
210951
|
return { action: "findReplace" };
|
|
210498
210952
|
}
|
|
210953
|
+
if (mod && alt && key2.toLowerCase() === "v" && !state.isTextInputTarget) {
|
|
210954
|
+
return state.canPaste === false ? NO_ACTION : { action: "pasteSpecial" };
|
|
210955
|
+
}
|
|
210499
210956
|
if (mod && !alt) {
|
|
210500
210957
|
const liveFormat = resolveLiveFormatChord(key2, Boolean(input.shiftKey));
|
|
210501
210958
|
if (liveFormat) {
|
|
@@ -210662,6 +211119,11 @@ var LABEL_KEYS = {
|
|
|
210662
211119
|
"table-split": "pptx.contextMenu.splitCell",
|
|
210663
211120
|
group: "pptx.contextMenu.group",
|
|
210664
211121
|
ungroup: "pptx.contextMenu.ungroup",
|
|
211122
|
+
"edit-text": "pptx.contextMenu.editText",
|
|
211123
|
+
"save-as-picture": "pptx.contextMenu.saveAsPicture",
|
|
211124
|
+
"edit-alt-text": "pptx.contextMenu.editAltText",
|
|
211125
|
+
"size-and-position": "pptx.contextMenu.sizeAndPosition",
|
|
211126
|
+
"format-shape": "pptx.contextMenu.formatShape",
|
|
210665
211127
|
delete: "pptx.contextMenu.delete"
|
|
210666
211128
|
};
|
|
210667
211129
|
function entry(id, extra = {}) {
|
|
@@ -210691,6 +211153,7 @@ function tableEntries(table2) {
|
|
|
210691
211153
|
entry("table-merge-down")
|
|
210692
211154
|
];
|
|
210693
211155
|
}
|
|
211156
|
+
var TEXT_EDITABLE_ELEMENT_TYPES = /* @__PURE__ */ new Set(["text", "shape"]);
|
|
210694
211157
|
function buildContextMenuEntries(context = {}) {
|
|
210695
211158
|
const { elementType, table: table2, hasMultiSelection, aiEnabled, hasClipboard, selectionGroupable } = context;
|
|
210696
211159
|
const lockedOut = selectionGroupable === false;
|
|
@@ -210698,12 +211161,17 @@ function buildContextMenuEntries(context = {}) {
|
|
|
210698
211161
|
entry("copy"),
|
|
210699
211162
|
entry("cut"),
|
|
210700
211163
|
entry("paste", hasClipboard === false ? { disabled: true } : {}),
|
|
210701
|
-
entry("duplicate")
|
|
211164
|
+
entry("duplicate")
|
|
211165
|
+
];
|
|
211166
|
+
if (elementType && TEXT_EDITABLE_ELEMENT_TYPES.has(elementType)) {
|
|
211167
|
+
entries.push(entry("edit-text"));
|
|
211168
|
+
}
|
|
211169
|
+
entries.push(
|
|
210702
211170
|
entry("bring-forward", { separatorBefore: true }),
|
|
210703
211171
|
entry("send-backward"),
|
|
210704
211172
|
entry("bring-front"),
|
|
210705
211173
|
entry("send-back")
|
|
210706
|
-
|
|
211174
|
+
);
|
|
210707
211175
|
if (aiEnabled) {
|
|
210708
211176
|
entries.push(entry("ai-ask", { separatorBefore: true }), entry("ai-fix"));
|
|
210709
211177
|
}
|
|
@@ -210723,13 +211191,108 @@ function buildContextMenuEntries(context = {}) {
|
|
|
210723
211191
|
);
|
|
210724
211192
|
}
|
|
210725
211193
|
entries.push(
|
|
210726
|
-
entry("
|
|
210727
|
-
|
|
210728
|
-
|
|
210729
|
-
|
|
211194
|
+
entry("save-as-picture", { separatorBefore: true }),
|
|
211195
|
+
entry("edit-alt-text"),
|
|
211196
|
+
entry("size-and-position"),
|
|
211197
|
+
entry("format-shape")
|
|
210730
211198
|
);
|
|
211199
|
+
entries.push(entry("delete", { separatorBefore: true, danger: true }));
|
|
210731
211200
|
return entries;
|
|
210732
211201
|
}
|
|
211202
|
+
var INSPECTOR_SECTION_ATTRIBUTE = "data-pptx-inspector-section";
|
|
211203
|
+
function contextMenuInspectorAnchor(id) {
|
|
211204
|
+
switch (id) {
|
|
211205
|
+
case "size-and-position":
|
|
211206
|
+
return "transform";
|
|
211207
|
+
case "format-shape":
|
|
211208
|
+
return "fill-stroke";
|
|
211209
|
+
case "edit-alt-text":
|
|
211210
|
+
return "alt-text";
|
|
211211
|
+
default:
|
|
211212
|
+
return null;
|
|
211213
|
+
}
|
|
211214
|
+
}
|
|
211215
|
+
function scrollInspectorSectionIntoView(doc, anchor) {
|
|
211216
|
+
const node = doc.querySelector(`[${INSPECTOR_SECTION_ATTRIBUTE}="${anchor}"]`);
|
|
211217
|
+
node?.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
211218
|
+
}
|
|
211219
|
+
var PASTE_SPECIAL_OPTIONS = [
|
|
211220
|
+
{ id: "keep-source-formatting", labelKey: "pptx.pasteSpecial.keepSourceFormatting" },
|
|
211221
|
+
{ id: "use-destination-theme", labelKey: "pptx.pasteSpecial.useDestinationTheme" },
|
|
211222
|
+
{ id: "picture", labelKey: "pptx.pasteSpecial.picture" },
|
|
211223
|
+
{ id: "keep-text-only", labelKey: "pptx.pasteSpecial.keepTextOnly" }
|
|
211224
|
+
];
|
|
211225
|
+
function pasteElementHasText(element) {
|
|
211226
|
+
return "text" in element && typeof element.text === "string" && element.text.trim().length > 0;
|
|
211227
|
+
}
|
|
211228
|
+
function stripSourceThemeOverrides(element) {
|
|
211229
|
+
const next = structuredClone(element);
|
|
211230
|
+
if ("shapeStyle" in next && next.shapeStyle) {
|
|
211231
|
+
const style = { ...next.shapeStyle };
|
|
211232
|
+
delete style.fillColor;
|
|
211233
|
+
delete style.fillColorRef;
|
|
211234
|
+
delete style.strokeColor;
|
|
211235
|
+
delete style.strokeColorRef;
|
|
211236
|
+
next.shapeStyle = style;
|
|
211237
|
+
}
|
|
211238
|
+
if ("textStyle" in next && next.textStyle) {
|
|
211239
|
+
const style = { ...next.textStyle };
|
|
211240
|
+
delete style.color;
|
|
211241
|
+
delete style.fontFamily;
|
|
211242
|
+
next.textStyle = style;
|
|
211243
|
+
}
|
|
211244
|
+
if ("textSegments" in next && Array.isArray(next.textSegments)) {
|
|
211245
|
+
next.textSegments = next.textSegments.map((segment) => {
|
|
211246
|
+
const style = segment.style ? { ...segment.style } : void 0;
|
|
211247
|
+
if (!style) {
|
|
211248
|
+
return segment;
|
|
211249
|
+
}
|
|
211250
|
+
delete style.color;
|
|
211251
|
+
delete style.fontFamily;
|
|
211252
|
+
return { ...segment, style };
|
|
211253
|
+
});
|
|
211254
|
+
}
|
|
211255
|
+
return next;
|
|
211256
|
+
}
|
|
211257
|
+
function toTextOnly(element) {
|
|
211258
|
+
if (!pasteElementHasText(element)) {
|
|
211259
|
+
return element;
|
|
211260
|
+
}
|
|
211261
|
+
return {
|
|
211262
|
+
type: "text",
|
|
211263
|
+
id: element.id,
|
|
211264
|
+
x: element.x,
|
|
211265
|
+
y: element.y,
|
|
211266
|
+
width: element.width,
|
|
211267
|
+
height: element.height,
|
|
211268
|
+
rotation: element.rotation,
|
|
211269
|
+
text: "text" in element ? element.text : void 0
|
|
211270
|
+
};
|
|
211271
|
+
}
|
|
211272
|
+
function applyPasteSpecialFormat(element, format) {
|
|
211273
|
+
switch (format) {
|
|
211274
|
+
case "use-destination-theme":
|
|
211275
|
+
return stripSourceThemeOverrides(element);
|
|
211276
|
+
case "keep-text-only":
|
|
211277
|
+
return toTextOnly(element);
|
|
211278
|
+
case "keep-source-formatting":
|
|
211279
|
+
case "picture":
|
|
211280
|
+
default:
|
|
211281
|
+
return element;
|
|
211282
|
+
}
|
|
211283
|
+
}
|
|
211284
|
+
function buildRasterPictureElement(element, dataUrl) {
|
|
211285
|
+
return {
|
|
211286
|
+
type: "picture",
|
|
211287
|
+
id: element.id,
|
|
211288
|
+
x: element.x,
|
|
211289
|
+
y: element.y,
|
|
211290
|
+
width: element.width,
|
|
211291
|
+
height: element.height,
|
|
211292
|
+
rotation: element.rotation,
|
|
211293
|
+
imageData: dataUrl
|
|
211294
|
+
};
|
|
211295
|
+
}
|
|
210733
211296
|
var ACTION_BUTTON_PRESETS = [
|
|
210734
211297
|
{
|
|
210735
211298
|
shapeType: "actionButtonBackPrevious",
|
|
@@ -212595,9 +213158,9 @@ var mentionMatchScore = (author, needle) => {
|
|
|
212595
213158
|
};
|
|
212596
213159
|
function matchCommentMentionAuthors(authors, query, limit = 6) {
|
|
212597
213160
|
const needle = String(query ?? "").trim().toLowerCase();
|
|
212598
|
-
const scored = authors.filter((author) => author.id && author.name).map((author) => ({ author, score: mentionMatchScore(author, needle) })).filter((
|
|
213161
|
+
const scored = authors.filter((author) => author.id && author.name).map((author) => ({ author, score: mentionMatchScore(author, needle) })).filter((entry3) => entry3.score >= 0);
|
|
212599
213162
|
scored.sort((a, b) => a.score - b.score || a.author.name.localeCompare(b.author.name));
|
|
212600
|
-
return scored.slice(0, limit).map((
|
|
213163
|
+
return scored.slice(0, limit).map((entry3) => entry3.author);
|
|
212601
213164
|
}
|
|
212602
213165
|
function defaultMentionId() {
|
|
212603
213166
|
if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
|
|
@@ -212793,7 +213356,7 @@ var DEFAULT_CHART_POSITION = { x: 120, y: 120, width: 480, height: 320 };
|
|
|
212793
213356
|
var DEFAULT_CATEGORIES = ["Category 1", "Category 2", "Category 3"];
|
|
212794
213357
|
var DEFAULT_SERIES_VALUES = [4, 3, 5];
|
|
212795
213358
|
function createDefaultChartElement(chartKind = DEFAULT_INSERT_CHART_KIND, position2) {
|
|
212796
|
-
const option = INSERT_CHART_TYPES.find((
|
|
213359
|
+
const option = INSERT_CHART_TYPES.find((entry3) => entry3.id === chartKind);
|
|
212797
213360
|
const chartType = option?.type ?? chartKind;
|
|
212798
213361
|
const chartExData = buildChartExInsertData(option?.id ?? chartKind);
|
|
212799
213362
|
return createChartElement(
|
|
@@ -213022,6 +213585,71 @@ var MEDIA_FULLSCREEN_OVERLAY_STYLE = {
|
|
|
213022
213585
|
function shouldShowMediaFullscreenStopButton(input) {
|
|
213023
213586
|
return isMediaFullscreenActive(input);
|
|
213024
213587
|
}
|
|
213588
|
+
var ONLINE_VIDEO_IFRAME_ALLOW = "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen";
|
|
213589
|
+
var ONLINE_VIDEO_IFRAME_SANDBOX = "allow-scripts allow-same-origin allow-popups allow-presentation";
|
|
213590
|
+
function youtubeVideoId(url) {
|
|
213591
|
+
const host = url.hostname.replace(/^www\./, "").toLowerCase();
|
|
213592
|
+
if (host === "youtu.be") {
|
|
213593
|
+
const id = url.pathname.split("/").filter(Boolean)[0];
|
|
213594
|
+
return id || void 0;
|
|
213595
|
+
}
|
|
213596
|
+
if (host !== "youtube.com" && host !== "m.youtube.com" && host !== "youtube-nocookie.com") {
|
|
213597
|
+
return void 0;
|
|
213598
|
+
}
|
|
213599
|
+
if (url.pathname.startsWith("/embed/")) {
|
|
213600
|
+
return url.pathname.slice("/embed/".length).split("/")[0] || void 0;
|
|
213601
|
+
}
|
|
213602
|
+
const watchId = url.searchParams.get("v");
|
|
213603
|
+
if (watchId) {
|
|
213604
|
+
return watchId;
|
|
213605
|
+
}
|
|
213606
|
+
const shortsMatch = /^\/shorts\/([^/]+)/.exec(url.pathname);
|
|
213607
|
+
if (shortsMatch) {
|
|
213608
|
+
return shortsMatch[1];
|
|
213609
|
+
}
|
|
213610
|
+
return void 0;
|
|
213611
|
+
}
|
|
213612
|
+
function vimeoVideoId(url) {
|
|
213613
|
+
const host = url.hostname.replace(/^www\./, "").toLowerCase();
|
|
213614
|
+
if (host === "player.vimeo.com") {
|
|
213615
|
+
const match2 = /^\/video\/(\d+)/.exec(url.pathname);
|
|
213616
|
+
return match2?.[1];
|
|
213617
|
+
}
|
|
213618
|
+
if (host !== "vimeo.com") {
|
|
213619
|
+
return void 0;
|
|
213620
|
+
}
|
|
213621
|
+
const match = /^\/(?:channels\/[^/]+\/|groups\/[^/]+\/videos\/)?(\d+)/.exec(url.pathname);
|
|
213622
|
+
return match?.[1];
|
|
213623
|
+
}
|
|
213624
|
+
function resolveOnlineVideoEmbed(mediaPath, isLinked) {
|
|
213625
|
+
if (!isLinked || !mediaPath) {
|
|
213626
|
+
return void 0;
|
|
213627
|
+
}
|
|
213628
|
+
let url;
|
|
213629
|
+
try {
|
|
213630
|
+
url = new URL(mediaPath);
|
|
213631
|
+
} catch {
|
|
213632
|
+
return void 0;
|
|
213633
|
+
}
|
|
213634
|
+
if (url.protocol !== "http:" && url.protocol !== "https:") {
|
|
213635
|
+
return void 0;
|
|
213636
|
+
}
|
|
213637
|
+
const youtubeId = youtubeVideoId(url);
|
|
213638
|
+
if (youtubeId) {
|
|
213639
|
+
return { embedUrl: `https://www.youtube.com/embed/${youtubeId}` };
|
|
213640
|
+
}
|
|
213641
|
+
const vimeoId = vimeoVideoId(url);
|
|
213642
|
+
if (vimeoId) {
|
|
213643
|
+
return { embedUrl: `https://player.vimeo.com/video/${vimeoId}` };
|
|
213644
|
+
}
|
|
213645
|
+
return void 0;
|
|
213646
|
+
}
|
|
213647
|
+
function getOnlineVideoEmbed(element) {
|
|
213648
|
+
if (element.type !== "media" || element.mediaType !== "video") {
|
|
213649
|
+
return void 0;
|
|
213650
|
+
}
|
|
213651
|
+
return resolveOnlineVideoEmbed(element.mediaPath, element.isLinked);
|
|
213652
|
+
}
|
|
213025
213653
|
function scheduleMediaTrimAndFade(el, source) {
|
|
213026
213654
|
const trimStartSec = source.trimStartMs !== void 0 && source.trimStartMs > 0 ? source.trimStartMs / 1e3 : 0;
|
|
213027
213655
|
const trimEndDistanceSec = source.trimEndMs !== void 0 && source.trimEndMs > 0 ? source.trimEndMs / 1e3 : 0;
|
|
@@ -213175,25 +213803,25 @@ function registerPersistentAudio(elementId, dataUrl, mimetype, loop, volume, tri
|
|
|
213175
213803
|
});
|
|
213176
213804
|
}
|
|
213177
213805
|
function stopAllPersistentAudio() {
|
|
213178
|
-
for (const
|
|
213179
|
-
|
|
213180
|
-
|
|
213806
|
+
for (const entry3 of persistentAudioMap.values()) {
|
|
213807
|
+
entry3.audio.pause();
|
|
213808
|
+
entry3.audio.remove();
|
|
213181
213809
|
}
|
|
213182
213810
|
persistentAudioMap.clear();
|
|
213183
213811
|
}
|
|
213184
213812
|
function pauseAllPersistentAudio() {
|
|
213185
|
-
for (const
|
|
213186
|
-
if (!
|
|
213187
|
-
|
|
213188
|
-
|
|
213813
|
+
for (const entry3 of persistentAudioMap.values()) {
|
|
213814
|
+
if (!entry3.audio.paused) {
|
|
213815
|
+
entry3.pausedByVisibility = true;
|
|
213816
|
+
entry3.audio.pause();
|
|
213189
213817
|
}
|
|
213190
213818
|
}
|
|
213191
213819
|
}
|
|
213192
213820
|
function resumeAllPersistentAudio() {
|
|
213193
|
-
for (const
|
|
213194
|
-
if (
|
|
213195
|
-
|
|
213196
|
-
void
|
|
213821
|
+
for (const entry3 of persistentAudioMap.values()) {
|
|
213822
|
+
if (entry3.pausedByVisibility) {
|
|
213823
|
+
entry3.pausedByVisibility = false;
|
|
213824
|
+
void entry3.audio.play().catch(() => {
|
|
213197
213825
|
});
|
|
213198
213826
|
}
|
|
213199
213827
|
}
|
|
@@ -213310,7 +213938,12 @@ function buildSummaryZoomView(element, lookup, translate) {
|
|
|
213310
213938
|
ariaLabel: translate ? translate("pptx.zoom.ariaLabelSummaryTile", {
|
|
213311
213939
|
section: label,
|
|
213312
213940
|
number: String(slideNumber)
|
|
213313
|
-
}) : `Zoom to section ${label}, slide ${slideNumber}
|
|
213941
|
+
}) : `Zoom to section ${label}, slide ${slideNumber}`,
|
|
213942
|
+
// `CT_ZoomObjectProperties/@returnToParent`'s schema default is `true`
|
|
213943
|
+
// when absent (see `ZoomPptxElement.returnToParent`'s doc comment), so
|
|
213944
|
+
// this reads the effective value, not `Boolean(target.returnToParent)`.
|
|
213945
|
+
returnToParent: target.returnToParent !== false,
|
|
213946
|
+
transitionDurationMs: target.transitionDurationMs
|
|
213314
213947
|
};
|
|
213315
213948
|
});
|
|
213316
213949
|
return {
|
|
@@ -213976,7 +214609,7 @@ function imageFile(clipboard) {
|
|
|
213976
214609
|
if (!clipboard) {
|
|
213977
214610
|
return null;
|
|
213978
214611
|
}
|
|
213979
|
-
const file = Array.from(clipboard.files).find((
|
|
214612
|
+
const file = Array.from(clipboard.files).find((entry3) => entry3.type.startsWith("image/"));
|
|
213980
214613
|
if (file) {
|
|
213981
214614
|
return file;
|
|
213982
214615
|
}
|
|
@@ -214877,6 +215510,56 @@ function runProgramNoticeStackStyle() {
|
|
|
214877
215510
|
pointerEvents: "none"
|
|
214878
215511
|
};
|
|
214879
215512
|
}
|
|
215513
|
+
function resolveZoomNavigationTarget(element) {
|
|
215514
|
+
if (element.zoomType === "summary") {
|
|
215515
|
+
return void 0;
|
|
215516
|
+
}
|
|
215517
|
+
return {
|
|
215518
|
+
targetSlideIndex: element.targetSlideIndex,
|
|
215519
|
+
targetSectionId: element.targetSectionId,
|
|
215520
|
+
returnToParent: element.returnToParent !== false,
|
|
215521
|
+
transitionDurationMs: element.transitionDurationMs
|
|
215522
|
+
};
|
|
215523
|
+
}
|
|
215524
|
+
function resolveZoomExcursionEndIndex(target, slides) {
|
|
215525
|
+
if (!target.targetSectionId) {
|
|
215526
|
+
return target.targetSlideIndex;
|
|
215527
|
+
}
|
|
215528
|
+
let end = target.targetSlideIndex;
|
|
215529
|
+
for (let i2 = target.targetSlideIndex + 1; i2 < slides.length; i2++) {
|
|
215530
|
+
if (slides[i2]?.sectionId !== target.targetSectionId) {
|
|
215531
|
+
break;
|
|
215532
|
+
}
|
|
215533
|
+
end = i2;
|
|
215534
|
+
}
|
|
215535
|
+
return end;
|
|
215536
|
+
}
|
|
215537
|
+
function beginZoomExcursion(target, returnSlideIndex, slides) {
|
|
215538
|
+
if (!target.returnToParent) {
|
|
215539
|
+
return void 0;
|
|
215540
|
+
}
|
|
215541
|
+
return {
|
|
215542
|
+
returnSlideIndex,
|
|
215543
|
+
endSlideIndex: resolveZoomExcursionEndIndex(target, slides),
|
|
215544
|
+
transitionDurationMs: target.transitionDurationMs
|
|
215545
|
+
};
|
|
215546
|
+
}
|
|
215547
|
+
function resolveForwardSlideWithZoomReturn(currentSlideIndex, naturalNextIndex, excursion) {
|
|
215548
|
+
if (excursion && currentSlideIndex === excursion.endSlideIndex) {
|
|
215549
|
+
return {
|
|
215550
|
+
nextSlideIndex: excursion.returnSlideIndex,
|
|
215551
|
+
excursion: void 0,
|
|
215552
|
+
returnedToZoom: true
|
|
215553
|
+
};
|
|
215554
|
+
}
|
|
215555
|
+
return { nextSlideIndex: naturalNextIndex, excursion, returnedToZoom: false };
|
|
215556
|
+
}
|
|
215557
|
+
function buildZoomTransitionOverride(transitionDurationMs) {
|
|
215558
|
+
if (typeof transitionDurationMs !== "number" || transitionDurationMs <= 0) {
|
|
215559
|
+
return void 0;
|
|
215560
|
+
}
|
|
215561
|
+
return { type: "zoom", durationMs: transitionDurationMs };
|
|
215562
|
+
}
|
|
214880
215563
|
var COMMAND_SEARCH_ENTRIES = [
|
|
214881
215564
|
// Format
|
|
214882
215565
|
{ labelKey: "pptx.textPanel.bold", command: "format.bold", icon: "bold", category: "format" },
|
|
@@ -215052,7 +215735,7 @@ function filterCommands(query, resolveLabel) {
|
|
|
215052
215735
|
}
|
|
215053
215736
|
const lowerQuery = query.toLowerCase();
|
|
215054
215737
|
return COMMAND_SEARCH_ENTRIES.filter(
|
|
215055
|
-
(
|
|
215738
|
+
(entry3) => resolveLabel(entry3.labelKey).toLowerCase().includes(lowerQuery)
|
|
215056
215739
|
);
|
|
215057
215740
|
}
|
|
215058
215741
|
var sourceIdentities = /* @__PURE__ */ new WeakMap();
|
|
@@ -215970,7 +216653,7 @@ function resolveOleVerbTarget(slide, elementId, verb) {
|
|
|
215970
216653
|
if (!elementId || !slide) {
|
|
215971
216654
|
return void 0;
|
|
215972
216655
|
}
|
|
215973
|
-
const element = flattenSlideElements(slide.elements).find((
|
|
216656
|
+
const element = flattenSlideElements(slide.elements).find((entry3) => entry3.id === elementId);
|
|
215974
216657
|
if (!element || element.type !== "ole" || !element.oleEmbeddedData) {
|
|
215975
216658
|
return void 0;
|
|
215976
216659
|
}
|
|
@@ -216342,7 +217025,7 @@ var DEFAULT_QUICK_ACCESS_COMMAND_IDS = [
|
|
|
216342
217025
|
"presentFromStart"
|
|
216343
217026
|
];
|
|
216344
217027
|
function getQuickAccessCommand(id) {
|
|
216345
|
-
return QUICK_ACCESS_COMMAND_CATALOG.find((
|
|
217028
|
+
return QUICK_ACCESS_COMMAND_CATALOG.find((entry3) => entry3.id === id);
|
|
216346
217029
|
}
|
|
216347
217030
|
var DEDICATED_QUICK_ACCESS_IDS = /* @__PURE__ */ new Set(["save", "undo", "redo"]);
|
|
216348
217031
|
function extraQuickAccessCommands(commandIds) {
|
|
@@ -216361,7 +217044,7 @@ function extraQuickAccessCommands(commandIds) {
|
|
|
216361
217044
|
return extras;
|
|
216362
217045
|
}
|
|
216363
217046
|
function availableQuickAccessCommands(commandIds) {
|
|
216364
|
-
return QUICK_ACCESS_COMMAND_CATALOG.filter((
|
|
217047
|
+
return QUICK_ACCESS_COMMAND_CATALOG.filter((entry3) => !commandIds.includes(entry3.id));
|
|
216365
217048
|
}
|
|
216366
217049
|
function addQuickAccessCommand(commandIds, id) {
|
|
216367
217050
|
if (commandIds.includes(id) || !getQuickAccessCommand(id)) {
|
|
@@ -216370,7 +217053,7 @@ function addQuickAccessCommand(commandIds, id) {
|
|
|
216370
217053
|
return [...commandIds, id];
|
|
216371
217054
|
}
|
|
216372
217055
|
function removeQuickAccessCommand(commandIds, id) {
|
|
216373
|
-
return commandIds.filter((
|
|
217056
|
+
return commandIds.filter((entry3) => entry3 !== id);
|
|
216374
217057
|
}
|
|
216375
217058
|
function moveQuickAccessCommand(commandIds, id, direction) {
|
|
216376
217059
|
const index = commandIds.indexOf(id);
|
|
@@ -216554,7 +217237,7 @@ function mergeViewerOptions(stored) {
|
|
|
216554
217237
|
const defaultValue = defaults[key2];
|
|
216555
217238
|
if (Array.isArray(defaultValue)) {
|
|
216556
217239
|
if (Array.isArray(value)) {
|
|
216557
|
-
target[key2] = value.filter((
|
|
217240
|
+
target[key2] = value.filter((entry3) => typeof entry3 === "string");
|
|
216558
217241
|
}
|
|
216559
217242
|
} else if (typeof value === typeof defaultValue) {
|
|
216560
217243
|
target[key2] = value;
|
|
@@ -218350,19 +219033,19 @@ function describeCell3D(cell3D) {
|
|
|
218350
219033
|
isSet: cell3D !== void 0
|
|
218351
219034
|
};
|
|
218352
219035
|
}
|
|
218353
|
-
function describeTableStyleEditor(
|
|
218354
|
-
if (!
|
|
219036
|
+
function describeTableStyleEditor(entry3, selectedPart, themeColorMap) {
|
|
219037
|
+
if (!entry3) {
|
|
218355
219038
|
return void 0;
|
|
218356
219039
|
}
|
|
218357
|
-
const keyed =
|
|
219040
|
+
const keyed = entry3;
|
|
218358
219041
|
const hasTextAndBorders = isTableStylePartName(selectedPart);
|
|
218359
|
-
const fill = selectedPart === "background" ?
|
|
219042
|
+
const fill = selectedPart === "background" ? entry3.tableBackground?.fill : keyed[`${selectedPart}Fill`];
|
|
218360
219043
|
const text22 = hasTextAndBorders ? keyed[`${selectedPart}Text`] : void 0;
|
|
218361
219044
|
const borders = hasTextAndBorders ? keyed[`${selectedPart}Borders`] : void 0;
|
|
218362
219045
|
const cell3D = hasTextAndBorders ? keyed[`${selectedPart}Cell3D`] : void 0;
|
|
218363
219046
|
return {
|
|
218364
|
-
styleId:
|
|
218365
|
-
styleName:
|
|
219047
|
+
styleId: entry3.styleId,
|
|
219048
|
+
styleName: entry3.styleName ?? "",
|
|
218366
219049
|
selectedPart,
|
|
218367
219050
|
hasTextAndBorders,
|
|
218368
219051
|
fill: describeFill(fill, themeColorMap),
|
|
@@ -218375,11 +219058,11 @@ function patchBorderSide(borders, side, patch) {
|
|
|
218375
219058
|
const current = borders?.[side] ?? {};
|
|
218376
219059
|
return { ...borders, [side]: { ...current, ...patch } };
|
|
218377
219060
|
}
|
|
218378
|
-
function applyTableStyleFieldEdit(
|
|
219061
|
+
function applyTableStyleFieldEdit(entry3, part, edit) {
|
|
218379
219062
|
if (part === "background") {
|
|
218380
|
-
return applyBackgroundEdit(
|
|
219063
|
+
return applyBackgroundEdit(entry3, edit);
|
|
218381
219064
|
}
|
|
218382
|
-
const keyed =
|
|
219065
|
+
const keyed = entry3;
|
|
218383
219066
|
const fillKey = `${part}Fill`;
|
|
218384
219067
|
const textKey = `${part}Text`;
|
|
218385
219068
|
const bordersKey = `${part}Borders`;
|
|
@@ -218473,7 +219156,7 @@ function applyTableStyleFieldEdit(entry2, part, edit) {
|
|
|
218473
219156
|
return {
|
|
218474
219157
|
entry: nextEntry,
|
|
218475
219158
|
payload: {
|
|
218476
|
-
styleId:
|
|
219159
|
+
styleId: entry3.styleId,
|
|
218477
219160
|
section: part,
|
|
218478
219161
|
...isTableStylePartName(part) ? {
|
|
218479
219162
|
fill: keyed[fillKey],
|
|
@@ -218484,8 +219167,8 @@ function applyTableStyleFieldEdit(entry2, part, edit) {
|
|
|
218484
219167
|
}
|
|
218485
219168
|
};
|
|
218486
219169
|
}
|
|
218487
|
-
function applyBackgroundEdit(
|
|
218488
|
-
const current =
|
|
219170
|
+
function applyBackgroundEdit(entry3, edit) {
|
|
219171
|
+
const current = entry3.tableBackground;
|
|
218489
219172
|
let nextBackground = current;
|
|
218490
219173
|
if (edit.kind === "fillColor") {
|
|
218491
219174
|
nextBackground = { ...current, fill: colorToFill(edit.hex, edit.ref), fillRef: void 0 };
|
|
@@ -218499,10 +219182,10 @@ function applyBackgroundEdit(entry2, edit) {
|
|
|
218499
219182
|
}
|
|
218500
219183
|
};
|
|
218501
219184
|
}
|
|
218502
|
-
const nextEntry = { ...
|
|
219185
|
+
const nextEntry = { ...entry3, tableBackground: nextBackground };
|
|
218503
219186
|
return {
|
|
218504
219187
|
entry: nextEntry,
|
|
218505
|
-
payload: { styleId:
|
|
219188
|
+
payload: { styleId: entry3.styleId, section: "background" }
|
|
218506
219189
|
};
|
|
218507
219190
|
}
|
|
218508
219191
|
init_chart_title_runs();
|
|
@@ -219223,8 +219906,8 @@ function createElementClass() {
|
|
|
219223
219906
|
}
|
|
219224
219907
|
if (win && "IntersectionObserver" in win) {
|
|
219225
219908
|
this.#intersect = new win.IntersectionObserver((entries) => {
|
|
219226
|
-
const
|
|
219227
|
-
this.#visible =
|
|
219909
|
+
const entry3 = entries[entries.length - 1];
|
|
219910
|
+
this.#visible = entry3 ? entry3.isIntersecting : true;
|
|
219228
219911
|
if (this.#visible) {
|
|
219229
219912
|
this.#controller?.remeasure(true);
|
|
219230
219913
|
}
|
|
@@ -221130,8 +221813,8 @@ stream
|
|
|
221130
221813
|
endobj
|
|
221131
221814
|
`
|
|
221132
221815
|
);
|
|
221133
|
-
const contentStream = pageImages.map((
|
|
221134
|
-
const { x, y, width, height } =
|
|
221816
|
+
const contentStream = pageImages.map((entry3, idx) => {
|
|
221817
|
+
const { x, y, width, height } = entry3.placement;
|
|
221135
221818
|
const rawY = PAGE_H - y - height;
|
|
221136
221819
|
return `q ${width.toFixed(2)} 0 0 ${height.toFixed(2)} ${x.toFixed(2)} ${rawY.toFixed(2)} cm /Img${idx} Do Q`;
|
|
221137
221820
|
}).join(" ");
|
|
@@ -222137,6 +222820,22 @@ async function rasterResultToPngBlob(result) {
|
|
|
222137
222820
|
}, "image/png");
|
|
222138
222821
|
});
|
|
222139
222822
|
}
|
|
222823
|
+
async function rasterResultToPngDataUrl(result) {
|
|
222824
|
+
if (result.kind === "canvas") {
|
|
222825
|
+
return result.canvas.toDataURL("image/png");
|
|
222826
|
+
}
|
|
222827
|
+
const blob = await rasterResultToPngBlob(result);
|
|
222828
|
+
return new Promise((resolve2, reject) => {
|
|
222829
|
+
const reader = new FileReader();
|
|
222830
|
+
reader.onloadend = () => resolve2(reader.result);
|
|
222831
|
+
reader.onerror = reject;
|
|
222832
|
+
reader.readAsDataURL(blob);
|
|
222833
|
+
});
|
|
222834
|
+
}
|
|
222835
|
+
function elementPictureFilename(elementName, fallbackLabel) {
|
|
222836
|
+
const base = elementName?.trim() || fallbackLabel;
|
|
222837
|
+
return sanitizeDownloadFilename(`${base}.png`);
|
|
222838
|
+
}
|
|
222140
222839
|
registerPptxWebControls();
|
|
222141
222840
|
// `@preserve` (CT_SlideMaster, ECMA-376 §19.3.1.38): mirrors the
|
|
222142
222841
|
/**
|
|
@@ -222190,4 +222889,4 @@ registerPptxWebControls();
|
|
|
222190
222889
|
* `<p:extLst>` (optional)
|
|
222191
222890
|
*/
|
|
222192
222891
|
|
|
222193
|
-
export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_BACK_CLASSES, BACKSTAGE_NAV, BACKSTAGE_NAV_CLASSES, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, CHART_QUICK_ACTION_BUTTON_SIZE, CHART_TYPE_OPTIONS, CINEMATIC_TRANSITION_KEYFRAMES, COLOR_MAP_ALIAS_KEYS, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMMON_FONTS, COMMON_FONT_SIZES, COMPOUND_LINE_OPTIONS, 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_FAMILY2 as DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MORPH_DURATION_MS, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_TRANSITION_DURATION_MS, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PREFERENCES, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EASE, EFFECT_SOUND_CATALOGUE, 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, GIF_POST_CAPTURE_MAX_SIDE, GRADIENT_TYPE_OPTIONS, GlyphOutlineFontCache, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, INSTANT, LBL, LINE_CAP_OPTIONS, LINE_JOIN_OPTIONS, 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, MEDIA_FULLSCREEN_OVERLAY_STYLE, MIN_TOUCH_TARGET_PX, 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, OFFICE_COLOR_SWATCHES, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, PATTERN_OPTIONS, PATTERN_PRESET_OPTIONS, PDF_SLIDES_PAGE_HEIGHT_PT, PDF_SLIDES_PAGE_WIDTH_PT, 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, RADAR_STYLE_OPTIONS, RANDOM_ELIGIBLE_TYPES, 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_KEYFRAMES_CSS, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_STYLE_LABEL_KEYS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, STATUS_BAR_CLASSES, STROKE_DASH_OPTIONS2 as STROKE_DASH_OPTIONS, SURFACE_WIREFRAME_OPTIONS, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_BORDER_SIDES, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, TABLE_STYLE_EDITOR_PARTS, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_DECORATION_FLAGS, 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_MORPH_OPTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_SOUND_NONE_VALUE, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SPEED_DURATION_MS, TRANSITION_SPEED_OPTIONS, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, WHEEL_SPOKE_COUNTS, acceptAutosaveRecovery, acceptsPresentationInput, acknowledgeAutosaveRecovery, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addCommentToList, addQuickAccessCommand, addSection, addSiblingAfter, addSmartArtNodeAsChild, addTableStyleToMap, addTagToCollections, advanceChartMarkDrag, advanceChartValueDrag, advanceMainSequence, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyActiveInlineListFormatting, applyAnimationTimelineOrder, applyAutoCorrect, applyCaseTransformToSegments, applyChart3DDrag, applyChart3DSelect, applyChartElementToggle, applyChartPartHighlight, applyChartStylePreset, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyHighlightClickStyle, applyImagePathPatches, applyListStyleUpdate, applyMasterViewCrudAction, applyMotionPathPreset, applyOleDocumentParagraphEdit, applyOleNestedDeckElementTextEdit, applyOleSheetCellEdit, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyTableStyleDelete, applyTableStyleFieldEdit, applyTableStyleMapChange, applyTableStylePreset, applyTextStyleUpdate, applyThemeOverrideToSlide, applyThemeToData, applyTransitionSoundFile, applyTransitionStockSound, applyUnderlineVariant, assertElementUpdateTarget, attachCollaborationInlineEditor, attachEditorImagePaste, attachInlineListController, attachPresentationVisibilityPause, attachRotateHandlePlacement, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, bar3DShapePatch, beginChartMarkDrag, beginChartValueDrag, beginShapeAdjustment, bindInlineListParagraph, bindInlineListRun, borrowExternalCollaborationAwareness, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildAnimationTimelineRows, buildBarActions, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartMarkDragGeometry, buildChartQuickActionsDescriptor, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContentPartStrokes, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildFreeformShapeElement, buildGlyphEnvelopeBlock, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInkGroupStrokes, buildInlineListStylePatch, buildInlineTextCommitPatch, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildLiveInkStrokeView, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildNotesPrintHtml, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOutline, buildOutlineHtml, buildParagraphs, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildRectPathGradient, buildRunProgramNotice, buildRunTabLines, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPreviewElement, buildStrokeOutline, buildStrokePathD, buildSubpathFillOverlay, buildSubpathPaints, buildSummaryZoomView, buildSvgGradientDef, buildTabContext, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildTextStyleOverrideCss, buildThemeColorGrid, buildThemeColorMap, buildThemeColorSwatchGrid, buildTiledSlidesPdfBytes, buildUserFontFaceStyles, calculateViewportFit, canAddTopLevelNode, canCommitActionType, canDrillDown, canGoNext, canGoPrevious, canGroupSelection, canInteractWithElement, canRemoveTopLevelNode, canSetStrokeWidth, canUngroupSelection, canUseClipboard, cancelBuildReveal, canvasToJpegData, cellRunStyle, cellStyleToCss, centeredSvgTextLines, chartDataLabelsTogglePatch, chartGridlinesPatch, chartGridlinesState, chartPartToAttrs, chartPreserveAspectRatio, checkModifyPassword, clampCropValue, clampGifDimensions, clampNotesFontSize, clampOptionNumber, clampPercent2, clampSorterZoom, clampTransitionNumber, clampZoomScale, classifyExtraConnections, classifyMediaType, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearPlaybackTimers, clearStoredViewerPrefs, clearTransitionSound, cloneElementForPaste, cloneElementUpdates, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collapseChartTitleRunsForEdit, collectConnectorSiteCandidates, collectImagePaths, collectMediaElements, collectReferencedFontFamilies, collectUsedFonts, colorWithOpacity, commentMentionQuery, commentTextSegments, comparePresentation, compatToastStackStyle, compatibilityWarningToasts, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeAnchoredPopupPosition, computeChartLegendLayout, computeColorFilter, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeGridSpacingPx, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSlideIndices, computeSmartArtElementLayout, computeSnapToShape, computeSplitCell, computeVirtualRange, connectorWrapperTransform, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createActiveAnimationGroup, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDefaultChartUserShape, createDefaultChartUserShapeGroupChild, createDepartureChannel, createGlyphOutlineLookup, createImageElementFromFile, createInitialPresentationSnapshot, createInlineListModelObserver, createInlineListSeed, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationLoadResources, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createRotationDrag, createSnapshotTextPositions, createSyncGate, createTableStyleEntry, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, createWriteBackScheduler, cursorForTool, customGeometryPathsToSvgSubpaths, cycleSelectableElement, defaultCssVars, defaultRadius, defaultThemeColors, defineThreeViewElement, deleteAutosaveSnapshot, deleteSection, deleteTableStyleFromMap, deleteTagFromCollections, demote, deriveSlideFieldContext, deriveViewportBreakpoints, describeCollaborationShellState, describeFontEmbedding, describeSmartArtBounds, describeTableStyleEditor, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementBulletKind, elementContainerHeightStyle, elementHitTargetStyle, elementIdSelector, elementLockTogglePatch, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, ensureChartInteractionStyles, erasePresentationInkAt, evenColumnWidths, evenRowHeights, exportDeckJson, extraQuickAccessCommands, fetchGoogleWebfontOutlineBytes, filterCommands, filterHiddenSlideIndices, filterInteractableIds, filterRenderedElements, findChartPartTarget, findConnectorSiteNear, findEraserHitElementId, findInSlides, findSelectedThemeSwatch, findSmartArtNodeText, finishPrintWindow, firstShowSlideIndex, flattenNodes, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateNoteLineCount, generateTicks, getActiveXControlOverlayView, getAnimationColorBaseStyle, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getBarFacePicturePixelSampleVersion, getBevelLightingSvgFilter, getCachedNativeImageSize, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getChartUserShapeGroupTransform, getChartUserShapeRowChartBox, getCinematicTransitionAnimations, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getComputedFillStyle, getComputedStrokeStyle, getConnectorEndpointHandles, getConnectorPathGeometry, getContentPartReplayStyles, getCropShapeClipPath, getCurrentParagraphIndex, getDenseGridLayoutPlan, getDensePanelTouchTargetPx, getDraggedShapeAdjustments, getDuotoneCachedResult, getEffectSoundAsset, getEffectSoundState, getEffectStyleSource, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getFragmentedTransitionDescriptor, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFillCounterTransform, getImageFitStyle, getImageSvgFilters, getImageTilingStyle, getInkReplayStyles, getInlineEditorSelectionResult, getLocalStorageUsageSummary, getNonVisualDescriptionFields, getNotesPrintableArea, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDocumentParagraphs, getOleNestedDeckDetail, getOleObjectTypeLabel, getOleSheetGrid, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getP14TransitionAnimations, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPresetShapeVectorGeometry, getPrintableArea, getResizeHandleHitAreaStyle, getSelectionControlArtworkStyle, getSelectionOutlineColor, getSelectionTextStyleFlags, getSessionTabId, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextBodyRotationTransform, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasGlyphEnvelope, hasMultipleSelectedTableCells, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hasTiltData, hexToRgbUnit, hiddenSlideCue, hideChartSeries, hollowTextFillStyle, inlineElementPointerEvents, inlineListBodyText, insertCommentMention, insertTableElementColumn, insertTableElementRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isBulletMarkerSegment, isCalloutShape, isCellInRect, isCurrentLayout, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementLocked, isElementRendered, isExportAbortError, isHeaderFooterDateTextVisible, isHeaderFooterFooterTextVisible, isHeaderFooterHeaderTextVisible, isHollowShapeElement, isImageLikeElement, isImageTiled, isInkElement, isKeyboardOpen, isLegacyBinaryPresentation, isLinkedTextBox, isMediaFullscreenActive, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isSeriesUsingSecondaryAxis, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, isWedgeCalloutPresetShape, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, listChartUserShapeRows, loadAudienceContent, loadSessionDeck, lockResizeAspect, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapInlineTextFormatKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapSlideShowStartKey, mapSlideSorterKey, masterViewBackgroundColor, masterViewCrudActions, masterViewCrudFailureKey, masterViewElements, masterViewPseudoSlide, matchCommentMentionAuthors, mayLeaveSlideShow, measureSvgViewportRect, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, mediaTrimEndMsFromSeconds, mediaTrimEndSeconds, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, modelDataToBlobUrl, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountModel3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, mruColorsPatch, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, nextToggleValue, normalizeColorsForCapture, normalizeHexColor2 as normalizeHexColor, normalizeStrokeDashType, normalizeTableStyleGuid, notesSegmentsToSpans, observeElementHeight, observeExternalCollaborationReadiness, observeExternalCollaborationSession, observeYDocSlides, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPendingPrintWindow, openPptxFile, openReadingView, openUrlInNewTab, overlayInlineTextSnapshot, overlayMasterViewInlineSnapshot, paintedElementSize, paintedStrokeWidth, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, patchChartData, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, placeTileOnPage, placeholderPromptDescriptor, playFeedbackSound, playGroup, playSlideTransitionPreview, polygonsToSvgPath, pptxActionToElementAction, prepareElementForInsertion, prepareElementUpdateBatch, prepareExportClone, preprocessCssForCapture, presentationBaseName, presentationEntrySlideIndex, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, probeAutosaveRecovery, probeNativeImageSize, projectDrawingShapes, promote, publishLiveGeometry, publishLiveInlineText, pushRecentColor, quickStyleSwatchCss, radarStylePatch, rasterResultToPngBlob, rasterizeElement, rasterizeElementTiledToCanvas, rasterizeElementTiles, reResolveElementColors, reResolveSlideColors, readBackstageRecentFile, readEditableText, readListActivationSelection, readOnlyRecommendation, readRibbonTransitionDraft, readSlideShowOption, readSlidesFromYDoc, readSoundFileAsDataUrl, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, redistributeColumnWidth, registerCollaborationTeardown, registerCrossSlideAudio, registerCustomFont, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeCommentFromList, removeEmptyNode, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorder2 as reorder, reorderAnimationTimelineRows, replaceMasterViewElements, replaceOleFile, replyToCommentInList, rerouteConnectorsForMovedElements, resetPresenterTimer, resetSlideLayoutPath, resolve3DRenderingFlags, resolveActionType, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAuthoredSlideRange, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartKind, resolveChartThreeViewSpec, resolveCollaborationShellEditability, resolveCollaborationShellState, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDefaultPrintSettings, resolveDirection, resolveDirection8, resolveDisplayedChartType, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementInteractivity, resolveExpiredAutosaveSnapshots, resolveExportCaptureDecision, resolveFontKerning, resolveGoogleWebfontHref, resolveGroupChildFill, resolveHistoryDepth, resolveImageResolutionScale, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveMediaBookmarkTimesMs, resolveMediaElementSource, resolveMediaTimeNodeElementIds, resolveMetricTrackingPx, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleType, resolveOleVerbTarget, resolveOptionRootClasses, resolveOrientation, resolvePalette, resolvePresentationAction, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveScreenTip, resolveScriptFontSet, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveSlideTransition, resolveSmartArtThreeViewSpec, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTemplateBackgroundRows, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransitionSoundAction, resolveTransportForServerUrl, resolveViewerAddinRows, resolveViewportFitOptions, resolveWheelSpokeCount, restoreFilteredSeries, restoreInlineListBodySelection, restoreSegmentSelection, restoreSessionDeck, ribbonTransitionUpdates, rulerDragToGuidePosition, runPresentationAction, runProgramNoticeStackStyle, safeOpenUrl, sanitizeColor, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveDeckWithPassword, saveViewerProfile, savedPresentationFileName, scaleSlidesForSizeChange, scanAvailableFontFamilies, scheduleAutoAdvanceChain, scheduleMediaTrimAndFade, schemaLabel, scopeLayoutOptionsToSlide, seedRecentColors, segmentFrameCount, segmentStyleToCss, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, selectGoogleWebfontFamilies, selectedParagraphBulletKind, selectionBulletKind, sendBackward, sendToBack, seriesSecondaryAxisPatch, setAfterAnimation, setAfterAnimationColor, setCachedResult, setCellText, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDataLabelsRangeCache, setDuotoneCachedResult, setEffectSound, setEffectStockSound, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shapeFillChange, shapeOutlineChange, shouldAutoFollowBroadcaster, shouldClearAutosaveCacheOnClose, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldDiscardAutosaveOnSuccessfulSave, shouldLoopContinuously, shouldProbeAutosaveRecovery, shouldRenderHitTarget, shouldRoomSlidesReplaceLoad, shouldShowAccessibilitySection, shouldShowAutosaveRecoveryPrompt, shouldShowElementHandles, shouldShowMediaFullscreenStopButton, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunByScriptFont, splitRunForMetrics, splitWordsForUnderline, stepFontSizePt, stepPresenterZoom, stopAllPersistentAudio, stopCaptureStream, storeAudienceContent, stripUnderlineDecoration, strokeOutlineViewBox, strokeWidthOf, styleShadowFilter, subscribeBarFacePicturePixelSamples, substituteFieldText, surfaceWireframePatch, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, syncGoogleWebfontStylesheet, tableCellCss, tableContainerCss, tableStyleAssignmentUpdate, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, textFontSizePtToPx, textFontSizePxToPt, themeColorLabel, themeColorSchemesEqual, themeColorSwatchRows, themeSwatchCommit, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, toggleCommentResolvedInList, togglePresenterTimer, toggleSelectionBullets, toggleSheet, toggleStageElementMedia, toggleText3dExtrusion, transformInlineListCase, transformTextCase, transitionSoundOptions, transitionSoundSelectedValue, transitionStockSoundId, trimmedMediaDurationMs, ungroupElements, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateElement, updateMasterViewElement, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateMediaTrimRange, validateRoomId, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewPropertiesPatchFromPreferences, viewerOptionsToPreferences, viewerPreferencesFromViewProperties, visibleTemplateElements, warpPreviewPath, withChartTitle, withChartUserShapeAdded, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withFrameSlides, withInlineListDecorationDefaults, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs, xmlText };
|
|
222892
|
+
export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_BACK_CLASSES, BACKSTAGE_NAV, BACKSTAGE_NAV_CLASSES, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, CHART_QUICK_ACTION_BUTTON_SIZE, CHART_TYPE_OPTIONS, CINEMATIC_TRANSITION_KEYFRAMES, COLOR_MAP_ALIAS_KEYS, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMMON_FONTS, COMMON_FONT_SIZES, COMPOUND_LINE_OPTIONS, 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_FAMILY2 as DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MORPH_DURATION_MS, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_TRANSITION_DURATION_MS, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PREFERENCES, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EASE, EFFECT_SOUND_CATALOGUE, 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, GIF_POST_CAPTURE_MAX_SIDE, GRADIENT_TYPE_OPTIONS, GlyphOutlineFontCache, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, INSTANT, LBL, LINE_CAP_OPTIONS, LINE_JOIN_OPTIONS, 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, MEDIA_FULLSCREEN_OVERLAY_STYLE, MIN_TOUCH_TARGET_PX, 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, OFFICE_COLOR_SWATCHES, ONLINE_VIDEO_IFRAME_ALLOW, ONLINE_VIDEO_IFRAME_SANDBOX, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, PASTE_SPECIAL_OPTIONS, PATTERN_OPTIONS, PATTERN_PRESET_OPTIONS, PDF_SLIDES_PAGE_HEIGHT_PT, PDF_SLIDES_PAGE_WIDTH_PT, 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, RADAR_STYLE_OPTIONS, RANDOM_ELIGIBLE_TYPES, 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_KEYFRAMES_CSS, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_STYLE_LABEL_KEYS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, STATUS_BAR_CLASSES, STROKE_DASH_OPTIONS2 as STROKE_DASH_OPTIONS, SURFACE_WIREFRAME_OPTIONS, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_BORDER_SIDES, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, TABLE_STYLE_EDITOR_PARTS, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_DECORATION_FLAGS, 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_MORPH_OPTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_PATTERN_OPTIONS, TRANSITION_SOUND_NONE_VALUE, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SPEED_DURATION_MS, TRANSITION_SPEED_OPTIONS, TRANSITION_THRUBLK_TYPES, TRANSITION_VALID_DIRECTIONS, TRIGGER_OPTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, WHEEL_SPOKE_COUNTS, acceptAutosaveRecovery, acceptsPresentationInput, acknowledgeAutosaveRecovery, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addCommentToList, addQuickAccessCommand, addSection, addSiblingAfter, addSmartArtNodeAsChild, addTableStyleToMap, addTagToCollections, advanceChartMarkDrag, advanceChartValueDrag, advanceMainSequence, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyActiveInlineListFormatting, applyAnimationTimelineOrder, applyAutoCorrect, applyCaseTransformToSegments, applyChart3DDrag, applyChart3DSelect, applyChartElementToggle, applyChartPartHighlight, applyChartStylePreset, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyHighlightClickStyle, applyImagePathPatches, applyListStyleUpdate, applyMasterViewCrudAction, applyMotionPathPreset, applyOleDocumentParagraphEdit, applyOleNestedDeckElementTextEdit, applyOleSheetCellEdit, applyOutlineEdit, applyPasteSpecialFormat, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyTableStyleDelete, applyTableStyleFieldEdit, applyTableStyleMapChange, applyTableStylePreset, applyTextStyleUpdate, applyThemeOverrideToSlide, applyThemeToData, applyTransitionSoundFile, applyTransitionStockSound, applyUnderlineVariant, assertElementUpdateTarget, attachCollaborationInlineEditor, attachEditorImagePaste, attachInlineListController, attachPresentationVisibilityPause, attachRotateHandlePlacement, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, bar3DShapePatch, beginChartMarkDrag, beginChartValueDrag, beginShapeAdjustment, beginZoomExcursion, bindInlineListParagraph, bindInlineListRun, borrowExternalCollaborationAwareness, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildAnimationTimelineRows, buildBarActions, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartMarkDragGeometry, buildChartQuickActionsDescriptor, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContentPartStrokes, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildFreeformShapeElement, buildGlyphEnvelopeBlock, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInkGroupStrokes, buildInlineListStylePatch, buildInlineTextCommitPatch, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildLiveInkStrokeView, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildNotesPrintHtml, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOutline, buildOutlineHtml, buildParagraphs, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildRasterPictureElement, buildRectPathGradient, buildRunProgramNotice, buildRunTabLines, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPreviewElement, buildStrokeOutline, buildStrokePathD, buildSubpathFillOverlay, buildSubpathPaints, buildSummaryZoomView, buildSvgGradientDef, buildTabContext, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildTextStyleOverrideCss, buildThemeColorGrid, buildThemeColorMap, buildThemeColorSwatchGrid, buildTiledSlidesPdfBytes, buildUserFontFaceStyles, buildZoomTransitionOverride, calculateViewportFit, canAddTopLevelNode, canCommitActionType, canDrillDown, canGoNext, canGoPrevious, canGroupSelection, canInteractWithElement, canRemoveTopLevelNode, canSetStrokeWidth, canUngroupSelection, canUseClipboard, cancelBuildReveal, canvasToJpegData, cellRunStyle, cellStyleToCss, centeredSvgTextLines, chartDataLabelsTogglePatch, chartGridlinesPatch, chartGridlinesState, chartPartToAttrs, chartPreserveAspectRatio, checkModifyPassword, clampCropValue, clampGifDimensions, clampNotesFontSize, clampOptionNumber, clampPercent2, clampSorterZoom, clampTransitionNumber, clampZoomScale, classifyExtraConnections, classifyMediaType, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearPlaybackTimers, clearStoredViewerPrefs, clearTransitionSound, cloneElementForPaste, cloneElementUpdates, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collapseChartTitleRunsForEdit, collectConnectorSiteCandidates, collectImagePaths, collectMediaElements, collectReferencedFontFamilies, collectUsedFonts, colorWithOpacity, commentMentionQuery, commentTextSegments, comparePresentation, compatToastStackStyle, compatibilityWarningToasts, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeAnchoredPopupPosition, computeChartLegendLayout, computeColorFilter, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeGridSpacingPx, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSlideIndices, computeSmartArtElementLayout, computeSnapToShape, computeSplitCell, computeVirtualRange, connectorWrapperTransform, contextMenuInspectorAnchor, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createActiveAnimationGroup, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDefaultChartUserShape, createDefaultChartUserShapeGroupChild, createDepartureChannel, createGlyphOutlineLookup, createImageElementFromFile, createInitialPresentationSnapshot, createInlineListModelObserver, createInlineListSeed, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationLoadResources, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createRotationDrag, createSnapshotTextPositions, createSyncGate, createTableStyleEntry, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, createWriteBackScheduler, cursorForTool, customGeometryPathsToSvgSubpaths, cycleSelectableElement, defaultCssVars, defaultRadius, defaultThemeColors, defineThreeViewElement, deleteAutosaveSnapshot, deleteSection, deleteTableStyleFromMap, deleteTagFromCollections, demote, deriveSlideFieldContext, deriveViewportBreakpoints, describeCollaborationShellState, describeFontEmbedding, describeSmartArtBounds, describeTableStyleEditor, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementBulletKind, elementContainerHeightStyle, elementHitTargetStyle, elementIdSelector, elementLockTogglePatch, elementPictureFilename, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, ensureChartInteractionStyles, erasePresentationInkAt, evenColumnWidths, evenRowHeights, exportDeckJson, extraQuickAccessCommands, fetchGoogleWebfontOutlineBytes, filterCommands, filterHiddenSlideIndices, filterInteractableIds, filterRenderedElements, findChartPartTarget, findConnectorSiteNear, findEraserHitElementId, findInSlides, findSelectedThemeSwatch, findSmartArtNodeText, finishPrintWindow, firstShowSlideIndex, flattenNodes, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateNoteLineCount, generateTicks, getActiveXControlOverlayView, getAnimationColorBaseStyle, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getBarFacePicturePixelSampleVersion, getBevelLightingSvgFilter, getCachedNativeImageSize, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getChartUserShapeGroupTransform, getChartUserShapeRowChartBox, getCinematicTransitionAnimations, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getComputedFillStyle, getComputedStrokeStyle, getConnectorEndpointHandles, getConnectorPathGeometry, getContentPartReplayStyles, getCropShapeClipPath, getCurrentParagraphIndex, getDenseGridLayoutPlan, getDensePanelTouchTargetPx, getDraggedShapeAdjustments, getDuotoneCachedResult, getEffectSoundAsset, getEffectSoundState, getEffectStyleSource, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getFragmentedTransitionDescriptor, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFillCounterTransform, getImageFitStyle, getImageSvgFilters, getImageTilingStyle, getInkReplayStyles, getInlineEditorSelectionResult, getLocalStorageUsageSummary, getNonVisualDescriptionFields, getNotesPrintableArea, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDocumentParagraphs, getOleNestedDeckDetail, getOleObjectTypeLabel, getOleSheetGrid, getOleTypeColor, getOleTypeLabel, getOnlineVideoEmbed, getOverflowSegments, getP14TransitionAnimations, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPresetShapeVectorGeometry, getPrintableArea, getResizeHandleHitAreaStyle, getSelectionControlArtworkStyle, getSelectionOutlineColor, getSelectionTextStyleFlags, getSessionTabId, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextBodyRotationTransform, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasGlyphEnvelope, hasMultipleSelectedTableCells, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hasTiltData, hexToRgbUnit, hiddenSlideCue, hideChartSeries, hollowTextFillStyle, inlineElementPointerEvents, inlineListBodyText, insertCommentMention, insertTableElementColumn, insertTableElementRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isBulletMarkerSegment, isCalloutShape, isCellInRect, isCurrentLayout, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementLocked, isElementRendered, isExportAbortError, isHeaderFooterDateTextVisible, isHeaderFooterFooterTextVisible, isHeaderFooterHeaderTextVisible, isHollowShapeElement, isImageLikeElement, isImageTiled, isInkElement, isKeyboardOpen, isLegacyBinaryPresentation, isLinkedTextBox, isMediaFullscreenActive, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isSeriesUsingSecondaryAxis, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, isWedgeCalloutPresetShape, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, listChartUserShapeRows, loadAudienceContent, loadSessionDeck, lockResizeAspect, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapInlineTextFormatKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapSlideShowStartKey, mapSlideSorterKey, masterViewBackgroundColor, masterViewCrudActions, masterViewCrudFailureKey, masterViewElements, masterViewPseudoSlide, matchCommentMentionAuthors, mayLeaveSlideShow, measureSvgViewportRect, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, mediaTrimEndMsFromSeconds, mediaTrimEndSeconds, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, modelDataToBlobUrl, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountModel3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, mruColorsPatch, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, nextToggleValue, normalizeColorsForCapture, normalizeHexColor2 as normalizeHexColor, normalizeStrokeDashType, normalizeTableStyleGuid, notesSegmentsToSpans, observeElementHeight, observeExternalCollaborationReadiness, observeExternalCollaborationSession, observeYDocSlides, oleActionsVisible, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPendingPrintWindow, openPptxFile, openReadingView, openUrlInNewTab, overlayInlineTextSnapshot, overlayMasterViewInlineSnapshot, paintedElementSize, paintedStrokeWidth, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, patchChartData, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, placeTileOnPage, placeholderPromptDescriptor, playFeedbackSound, playGroup, playSlideTransitionPreview, polygonsToSvgPath, pptxActionToElementAction, prepareElementForInsertion, prepareElementUpdateBatch, prepareExportClone, preprocessCssForCapture, presentationBaseName, presentationEntrySlideIndex, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, probeAutosaveRecovery, probeNativeImageSize, projectDrawingShapes, promote, publishLiveGeometry, publishLiveInlineText, pushRecentColor, quickStyleSwatchCss, radarStylePatch, rasterResultToPngBlob, rasterResultToPngDataUrl, rasterizeElement, rasterizeElementTiledToCanvas, rasterizeElementTiles, reResolveElementColors, reResolveSlideColors, readBackstageRecentFile, readEditableText, readListActivationSelection, readOnlyRecommendation, readRibbonTransitionDraft, readSlideShowOption, readSlidesFromYDoc, readSoundFileAsDataUrl, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, redistributeColumnWidth, registerCollaborationTeardown, registerCrossSlideAudio, registerCustomFont, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeCommentFromList, removeEmptyNode, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorder2 as reorder, reorderAnimationTimelineRows, replaceMasterViewElements, replaceOleFile, replyToCommentInList, rerouteConnectorsForMovedElements, resetPresenterTimer, resetSlideLayoutPath, resolve3DRenderingFlags, resolveActionType, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAuthoredSlideRange, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartKind, resolveChartThreeViewSpec, resolveCollaborationShellEditability, resolveCollaborationShellState, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDefaultPrintSettings, resolveDirection, resolveDirection8, resolveDisplayedChartType, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementInteractivity, resolveExpiredAutosaveSnapshots, resolveExportCaptureDecision, resolveFontKerning, resolveForwardSlideWithZoomReturn, resolveGoogleWebfontHref, resolveGroupChildFill, resolveHistoryDepth, resolveImageResolutionScale, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveMediaBookmarkTimesMs, resolveMediaElementSource, resolveMediaTimeNodeElementIds, resolveMetricTrackingPx, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleType, resolveOleVerbTarget, resolveOptionRootClasses, resolveOrientation, resolvePalette, resolvePresentationAction, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveScreenTip, resolveScriptFontSet, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveSlideTransition, resolveSmartArtThreeViewSpec, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTemplateBackgroundRows, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransitionSoundAction, resolveTransportForServerUrl, resolveViewerAddinRows, resolveViewportFitOptions, resolveWheelSpokeCount, resolveZoomNavigationTarget, restoreFilteredSeries, restoreInlineListBodySelection, restoreSegmentSelection, restoreSessionDeck, ribbonTransitionUpdates, rulerDragToGuidePosition, runPresentationAction, runProgramNoticeStackStyle, safeOpenUrl, sanitizeColor, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveDeckWithPassword, saveViewerProfile, savedPresentationFileName, scaleSlidesForSizeChange, scanAvailableFontFamilies, scheduleAutoAdvanceChain, scheduleMediaTrimAndFade, schemaLabel, scopeLayoutOptionsToSlide, scrollInspectorSectionIntoView, seedRecentColors, segmentFrameCount, segmentStyleToCss, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, selectGoogleWebfontFamilies, selectedParagraphBulletKind, selectionBulletKind, sendBackward, sendToBack, seriesSecondaryAxisPatch, setAfterAnimation, setAfterAnimationColor, setCachedResult, setCellText, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDataLabelsRangeCache, setDuotoneCachedResult, setEffectSound, setEffectStockSound, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shapeFillChange, shapeOutlineChange, shouldAutoFollowBroadcaster, shouldClearAutosaveCacheOnClose, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldDiscardAutosaveOnSuccessfulSave, shouldLoopContinuously, shouldProbeAutosaveRecovery, shouldRenderHitTarget, shouldRoomSlidesReplaceLoad, shouldShowAccessibilitySection, shouldShowAutosaveRecoveryPrompt, shouldShowElementHandles, shouldShowMediaFullscreenStopButton, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunByScriptFont, splitRunForMetrics, splitWordsForUnderline, stepFontSizePt, stepPresenterZoom, stopAllPersistentAudio, stopCaptureStream, storeAudienceContent, stripUnderlineDecoration, strokeOutlineViewBox, strokeWidthOf, styleShadowFilter, subscribeBarFacePicturePixelSamples, substituteFieldText, surfaceWireframePatch, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, syncGoogleWebfontStylesheet, tableCellCss, tableContainerCss, tableStyleAssignmentUpdate, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, textFontSizePtToPx, textFontSizePxToPt, themeColorLabel, themeColorSchemesEqual, themeColorSwatchRows, themeSwatchCommit, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, toggleCommentResolvedInList, togglePresenterTimer, toggleSelectionBullets, toggleSheet, toggleStageElementMedia, toggleText3dExtrusion, transformInlineListCase, transformTextCase, transitionSoundOptions, transitionSoundSelectedValue, transitionStockSoundId, trimmedMediaDurationMs, ungroupElements, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateElement, updateMasterViewElement, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateMediaTrimRange, validateRoomId, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewPropertiesPatchFromPreferences, viewerOptionsToPreferences, viewerPreferencesFromViewProperties, visibleTemplateElements, warpPreviewPath, withChartTitle, withChartUserShapeAdded, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withFrameSlides, withInlineListDecorationDefaults, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs, xmlText };
|