pptx-react-viewer 2.20.5 → 2.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/{AiChatPanel-AYS6SCSC.mjs → AiChatPanel-E4NQEMEI.mjs} +4 -4
  3. package/dist/AiChatPanel-E4NQEMEI.mjs.br +0 -0
  4. package/dist/AiChatPanel-E4NQEMEI.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-3H5WGSM5.js → AiChatPanel-VKR2IFFC.js} +24 -24
  6. package/dist/AiChatPanel-VKR2IFFC.js.br +0 -0
  7. package/dist/AiChatPanel-VKR2IFFC.js.gz +0 -0
  8. package/dist/{Model3DScene-QQQEABW7.mjs → Model3DScene-65J6IE5Q.mjs} +1 -1
  9. package/dist/Model3DScene-65J6IE5Q.mjs.br +0 -0
  10. package/dist/Model3DScene-65J6IE5Q.mjs.gz +0 -0
  11. package/dist/{Model3DScene-6OVVKUSF.js → Model3DScene-JZKLB5YT.js} +2 -2
  12. package/dist/Model3DScene-JZKLB5YT.js.br +0 -0
  13. package/dist/Model3DScene-JZKLB5YT.js.gz +0 -0
  14. package/dist/{chunk-ZVFTYICH.mjs → chunk-2SNHVHHB.mjs} +7 -10
  15. package/dist/chunk-2SNHVHHB.mjs.br +0 -0
  16. package/dist/chunk-2SNHVHHB.mjs.gz +0 -0
  17. package/dist/{chunk-2LOKAZHT.js → chunk-C3JR7RMW.js} +3 -3
  18. package/dist/chunk-C3JR7RMW.js.br +0 -0
  19. package/dist/chunk-C3JR7RMW.js.gz +0 -0
  20. package/dist/{chunk-BSOTRNVG.mjs → chunk-CBGTLSY7.mjs} +34 -60
  21. package/dist/chunk-CBGTLSY7.mjs.br +0 -0
  22. package/dist/chunk-CBGTLSY7.mjs.gz +0 -0
  23. package/dist/{chunk-ETJBX4YT.js → chunk-DA6DF3EU.js} +156 -156
  24. package/dist/chunk-DA6DF3EU.js.br +0 -0
  25. package/dist/chunk-DA6DF3EU.js.gz +0 -0
  26. package/dist/{chunk-62EM4JYP.js → chunk-GJHO6HPF.js} +391 -395
  27. package/dist/chunk-GJHO6HPF.js.br +0 -0
  28. package/dist/chunk-GJHO6HPF.js.gz +0 -0
  29. package/dist/{chunk-BQJU7ZG6.js → chunk-HYUJVSQJ.js} +539 -214
  30. package/dist/chunk-HYUJVSQJ.js.br +0 -0
  31. package/dist/chunk-HYUJVSQJ.js.gz +0 -0
  32. package/dist/{chunk-MZOZNBRO.mjs → chunk-L5MNLIQF.mjs} +3 -0
  33. package/dist/chunk-L5MNLIQF.mjs.br +0 -0
  34. package/dist/chunk-L5MNLIQF.mjs.gz +0 -0
  35. package/dist/{chunk-JYVQ2MTO.js → chunk-OSPNGQF3.js} +1072 -1098
  36. package/dist/chunk-OSPNGQF3.js.br +0 -0
  37. package/dist/chunk-OSPNGQF3.js.gz +0 -0
  38. package/dist/{chunk-6CPUGAK7.js → chunk-U6A5FWWE.js} +3 -0
  39. package/dist/chunk-U6A5FWWE.js.br +0 -0
  40. package/dist/chunk-U6A5FWWE.js.gz +0 -0
  41. package/dist/{chunk-ULBSTLY3.mjs → chunk-VWCUKKR3.mjs} +537 -213
  42. package/dist/chunk-VWCUKKR3.mjs.br +0 -0
  43. package/dist/chunk-VWCUKKR3.mjs.gz +0 -0
  44. package/dist/{chunk-DIJWZ6ZS.mjs → chunk-WRJ76D5S.mjs} +1 -1
  45. package/dist/chunk-WRJ76D5S.mjs.br +0 -0
  46. package/dist/chunk-WRJ76D5S.mjs.gz +0 -0
  47. package/dist/{chunk-PBFNE5X5.mjs → chunk-WX3HQHR5.mjs} +2 -2
  48. package/dist/chunk-WX3HQHR5.mjs.br +0 -0
  49. package/dist/chunk-WX3HQHR5.mjs.gz +0 -0
  50. package/dist/i18n.js +4 -4
  51. package/dist/i18n.js.br +0 -0
  52. package/dist/i18n.js.gz +0 -0
  53. package/dist/i18n.mjs +1 -1
  54. package/dist/i18n.mjs.br +0 -0
  55. package/dist/i18n.mjs.gz +0 -0
  56. package/dist/index.d.ts +9 -0
  57. package/dist/index.js +47 -47
  58. package/dist/index.js.br +0 -0
  59. package/dist/index.js.gz +0 -0
  60. package/dist/index.mjs +6 -6
  61. package/dist/index.mjs.br +0 -0
  62. package/dist/index.mjs.gz +0 -0
  63. package/dist/internals.d.ts +9 -0
  64. package/dist/internals.js +79 -79
  65. package/dist/internals.js.br +0 -0
  66. package/dist/internals.js.gz +0 -0
  67. package/dist/internals.mjs +4 -4
  68. package/dist/internals.mjs.br +0 -0
  69. package/dist/internals.mjs.gz +0 -0
  70. package/dist/viewer/index.d.ts +9 -0
  71. package/dist/viewer/index.js +27 -27
  72. package/dist/viewer/index.js.br +0 -0
  73. package/dist/viewer/index.js.gz +0 -0
  74. package/dist/viewer/index.mjs +6 -6
  75. package/dist/viewer/index.mjs.br +0 -0
  76. package/dist/viewer/index.mjs.gz +0 -0
  77. package/package.json +1 -1
  78. package/dist/AiChatPanel-3H5WGSM5.js.br +0 -0
  79. package/dist/AiChatPanel-3H5WGSM5.js.gz +0 -0
  80. package/dist/AiChatPanel-AYS6SCSC.mjs.br +0 -0
  81. package/dist/AiChatPanel-AYS6SCSC.mjs.gz +0 -0
  82. package/dist/Model3DScene-6OVVKUSF.js.br +0 -0
  83. package/dist/Model3DScene-6OVVKUSF.js.gz +0 -0
  84. package/dist/Model3DScene-QQQEABW7.mjs.br +0 -0
  85. package/dist/Model3DScene-QQQEABW7.mjs.gz +0 -0
  86. package/dist/chunk-2LOKAZHT.js.br +0 -0
  87. package/dist/chunk-2LOKAZHT.js.gz +0 -0
  88. package/dist/chunk-62EM4JYP.js.br +0 -0
  89. package/dist/chunk-62EM4JYP.js.gz +0 -0
  90. package/dist/chunk-6CPUGAK7.js.br +0 -0
  91. package/dist/chunk-6CPUGAK7.js.gz +0 -0
  92. package/dist/chunk-BQJU7ZG6.js.br +0 -0
  93. package/dist/chunk-BQJU7ZG6.js.gz +0 -0
  94. package/dist/chunk-BSOTRNVG.mjs.br +0 -0
  95. package/dist/chunk-BSOTRNVG.mjs.gz +0 -0
  96. package/dist/chunk-DIJWZ6ZS.mjs.br +0 -0
  97. package/dist/chunk-DIJWZ6ZS.mjs.gz +0 -0
  98. package/dist/chunk-ETJBX4YT.js.br +0 -0
  99. package/dist/chunk-ETJBX4YT.js.gz +0 -0
  100. package/dist/chunk-JYVQ2MTO.js.br +0 -0
  101. package/dist/chunk-JYVQ2MTO.js.gz +0 -0
  102. package/dist/chunk-MZOZNBRO.mjs.br +0 -0
  103. package/dist/chunk-MZOZNBRO.mjs.gz +0 -0
  104. package/dist/chunk-PBFNE5X5.mjs.br +0 -0
  105. package/dist/chunk-PBFNE5X5.mjs.gz +0 -0
  106. package/dist/chunk-ULBSTLY3.mjs.br +0 -0
  107. package/dist/chunk-ULBSTLY3.mjs.gz +0 -0
  108. package/dist/chunk-ZVFTYICH.mjs.br +0 -0
  109. package/dist/chunk-ZVFTYICH.mjs.gz +0 -0
@@ -32802,6 +32802,110 @@ function unwrapAlternateContent(container) {
32802
32802
  delete container["mc:AlternateContent"];
32803
32803
  return blocks;
32804
32804
  }
32805
+ function reapplyAlternateContentToTree(container, blockByNode) {
32806
+ let working = container;
32807
+ const groups = ensureArray3(working["p:grpSp"]);
32808
+ if (groups.length > 0) {
32809
+ let groupsChanged = false;
32810
+ const nextGroups = groups.map((group2) => {
32811
+ const next2 = reapplyAlternateContentToTree(group2, blockByNode);
32812
+ if (next2 !== group2) {
32813
+ groupsChanged = true;
32814
+ }
32815
+ return next2;
32816
+ });
32817
+ if (groupsChanged) {
32818
+ working = { ...working, "p:grpSp": nextGroups };
32819
+ }
32820
+ }
32821
+ const blockGroups = /* @__PURE__ */ new Map();
32822
+ for (const tag of SHAPE_TREE_ELEMENT_TAGS) {
32823
+ for (const node of ensureArray3(working[tag])) {
32824
+ const block = blockByNode.get(node);
32825
+ if (!block) {
32826
+ continue;
32827
+ }
32828
+ let entries = blockGroups.get(block);
32829
+ if (!entries) {
32830
+ entries = [];
32831
+ blockGroups.set(block, entries);
32832
+ }
32833
+ entries.push({ tag, node });
32834
+ }
32835
+ }
32836
+ if (blockGroups.size === 0) {
32837
+ return working;
32838
+ }
32839
+ const nextArrays = /* @__PURE__ */ new Map();
32840
+ const arrayFor = (tag) => {
32841
+ let arr = nextArrays.get(tag);
32842
+ if (!arr) {
32843
+ arr = [...ensureArray3(working[tag])];
32844
+ nextArrays.set(tag, arr);
32845
+ }
32846
+ return arr;
32847
+ };
32848
+ const envelopes = [...ensureArray3(working["mc:AlternateContent"])];
32849
+ for (const [block, entries] of blockGroups) {
32850
+ for (const entry2 of entries) {
32851
+ const arr = arrayFor(entry2.tag);
32852
+ const idx = arr.indexOf(entry2.node);
32853
+ if (idx !== -1) {
32854
+ arr.splice(idx, 1);
32855
+ }
32856
+ }
32857
+ const liveByTag = /* @__PURE__ */ new Map();
32858
+ for (const entry2 of entries) {
32859
+ let nodes = liveByTag.get(entry2.tag);
32860
+ if (!nodes) {
32861
+ nodes = [];
32862
+ liveByTag.set(entry2.tag, nodes);
32863
+ }
32864
+ nodes.push(entry2.node);
32865
+ }
32866
+ const clonedAc = { ...block.rawAc };
32867
+ if (block.selectedBranch === "choice") {
32868
+ const choices2 = ensureArray3(clonedAc["mc:Choice"]);
32869
+ const targetIdx = block.choiceIndex ?? 0;
32870
+ const original = choices2[targetIdx];
32871
+ if (original) {
32872
+ const rebuilt = { ...original };
32873
+ for (const tag of SHAPE_TREE_ELEMENT_TAGS) {
32874
+ delete rebuilt[tag];
32875
+ }
32876
+ for (const [tag, nodes] of liveByTag) {
32877
+ rebuilt[tag] = nodes.length === 1 ? nodes[0] : nodes;
32878
+ }
32879
+ const nextChoices = [...choices2];
32880
+ nextChoices[targetIdx] = rebuilt;
32881
+ clonedAc["mc:Choice"] = nextChoices.length === 1 ? nextChoices[0] : nextChoices;
32882
+ }
32883
+ } else {
32884
+ const fallback = clonedAc["mc:Fallback"];
32885
+ if (fallback) {
32886
+ const rebuilt = { ...fallback };
32887
+ for (const tag of SHAPE_TREE_ELEMENT_TAGS) {
32888
+ delete rebuilt[tag];
32889
+ }
32890
+ for (const [tag, nodes] of liveByTag) {
32891
+ rebuilt[tag] = nodes.length === 1 ? nodes[0] : nodes;
32892
+ }
32893
+ clonedAc["mc:Fallback"] = rebuilt;
32894
+ }
32895
+ }
32896
+ envelopes.push(clonedAc);
32897
+ }
32898
+ const next = { ...working };
32899
+ for (const [tag, arr] of nextArrays) {
32900
+ if (arr.length > 0) {
32901
+ next[tag] = arr;
32902
+ } else {
32903
+ delete next[tag];
32904
+ }
32905
+ }
32906
+ next["mc:AlternateContent"] = envelopes.length === 1 ? envelopes[0] : envelopes;
32907
+ return next;
32908
+ }
32805
32909
  function ensureArray3(val2) {
32806
32910
  if (!val2) {
32807
32911
  return [];
@@ -36067,6 +36171,37 @@ var STYLE_MATRIX_LINE_KEYS = [
36067
36171
  "lineCap",
36068
36172
  "compoundLine"
36069
36173
  ];
36174
+ var STYLE_MATRIX_EFFECT_KEYS = [
36175
+ "shadowColor",
36176
+ "shadowBlur",
36177
+ "shadowOffsetX",
36178
+ "shadowOffsetY",
36179
+ "shadowOpacity",
36180
+ "innerShadowColor",
36181
+ "innerShadowBlur",
36182
+ "innerShadowOffsetX",
36183
+ "innerShadowOffsetY",
36184
+ "innerShadowOpacity",
36185
+ "glowColor",
36186
+ "glowRadius",
36187
+ "glowOpacity",
36188
+ "softEdgeRadius",
36189
+ "reflectionBlurRadius",
36190
+ "reflectionStartOpacity",
36191
+ "reflectionEndOpacity",
36192
+ "reflectionEndPosition",
36193
+ "reflectionDirection",
36194
+ "reflectionRotation",
36195
+ "reflectionDistance",
36196
+ "scene3d",
36197
+ "shape3d"
36198
+ ];
36199
+ var EFFECT_AUTHORED_ONLY_KEYS = [
36200
+ "blurRadius",
36201
+ "presetShadowName",
36202
+ "effectDagXml",
36203
+ "effectDagTree"
36204
+ ];
36070
36205
  function captureStyleBaseline(style, keys) {
36071
36206
  const baseline = {};
36072
36207
  for (const key2 of keys) {
@@ -36091,6 +36226,16 @@ function createLineStyleGate(style) {
36091
36226
  }
36092
36227
  return (...keys) => keys.some((key2) => style[key2] !== baseline[key2]);
36093
36228
  }
36229
+ function effectIsPurelyStyleMatrix(style) {
36230
+ const baseline = style.inheritedEffectStyle;
36231
+ if (baseline === void 0) {
36232
+ return false;
36233
+ }
36234
+ if (!matchesBaseline(style, baseline, STYLE_MATRIX_EFFECT_KEYS)) {
36235
+ return false;
36236
+ }
36237
+ return EFFECT_AUTHORED_ONLY_KEYS.every((key2) => style[key2] === void 0);
36238
+ }
36094
36239
  function applyScene3dStyle(shapeProps, style) {
36095
36240
  const scene3dNode = shapeProps["a:scene3d"];
36096
36241
  if (!scene3dNode) {
@@ -36409,14 +36554,17 @@ var PptxShapeStyleExtractor = class {
36409
36554
  Object.assign(style, this.context.extractEffectDagStyle(shapeProps));
36410
36555
  if (styleNode?.["a:effectRef"]) {
36411
36556
  const suppressInherited = hasEmptyDrawingChild(shapeProps, "effectLst");
36412
- const authored = suppressInherited ? new Set(Object.keys(style)) : void 0;
36557
+ const authoredBefore = new Set(Object.keys(style));
36413
36558
  this.context.resolveThemeEffectRef(styleNode["a:effectRef"], style);
36414
- if (authored) {
36559
+ if (suppressInherited) {
36415
36560
  for (const key2 of Object.keys(style)) {
36416
- if (!authored.has(key2) && key2 !== "effectRefIdx" && key2 !== "effectRefColorXml") {
36561
+ if (!authoredBefore.has(key2) && key2 !== "effectRefIdx" && key2 !== "effectRefColorXml") {
36417
36562
  delete style[key2];
36418
36563
  }
36419
36564
  }
36565
+ } else {
36566
+ const inheritedKeys = STYLE_MATRIX_EFFECT_KEYS.filter((key2) => !authoredBefore.has(key2));
36567
+ style.inheritedEffectStyle = captureStyleBaseline(style, inheritedKeys);
36420
36568
  }
36421
36569
  }
36422
36570
  const fontRef = styleNode?.["a:fontRef"];
@@ -45389,6 +45537,16 @@ var CONTAINER_LOCAL_NAME_TO_TYPE = {
45389
45537
  function chartContainerLocalNameToType(localName25) {
45390
45538
  return CONTAINER_LOCAL_NAME_TO_TYPE[localName25];
45391
45539
  }
45540
+ var LINE_DRAWN_CHART_TYPES = /* @__PURE__ */ new Set([
45541
+ "line",
45542
+ "line3D",
45543
+ "scatter",
45544
+ "radar",
45545
+ "stock"
45546
+ ]);
45547
+ function isLineDrawnChartType(type) {
45548
+ return type !== void 0 && LINE_DRAWN_CHART_TYPES.has(type);
45549
+ }
45392
45550
  function parseChartDateCategories(seriesNode, xmlLookup) {
45393
45551
  const cat = xmlLookup.getChildByLocalName(seriesNode, "cat");
45394
45552
  const numeric = xmlLookup.getChildByLocalName(cat, "numRef") || xmlLookup.getChildByLocalName(cat, "numLit");
@@ -51287,6 +51445,77 @@ function applyChartLegendToXml(chartRoot, style, getLocalName2, resolveColor2) {
51287
51445
  }
51288
51446
  applyLegendEntries(legendNode, style.legendEntries, getLocalName2, resolveColor2);
51289
51447
  }
51448
+ function findKey18(obj, local, getLocalName2) {
51449
+ return Object.keys(obj).find((k) => getLocalName2(k) === local);
51450
+ }
51451
+ function insertBeforeLn(obj, key2, value, getLocalName2) {
51452
+ const keys = Object.keys(obj);
51453
+ const lnIdx = keys.findIndex((k) => getLocalName2(k) === "ln");
51454
+ const entries = keys.map((k) => [k, obj[k]]);
51455
+ const at = lnIdx === -1 ? entries.length : lnIdx;
51456
+ entries.splice(at, 0, [key2, value]);
51457
+ for (const k of keys) {
51458
+ delete obj[k];
51459
+ }
51460
+ for (const [k, v] of entries) {
51461
+ obj[k] = v;
51462
+ }
51463
+ }
51464
+ function insertFirst(obj, key2, value) {
51465
+ const keys = Object.keys(obj);
51466
+ const entries = keys.map((k) => [k, obj[k]]);
51467
+ for (const k of keys) {
51468
+ delete obj[k];
51469
+ }
51470
+ obj[key2] = value;
51471
+ for (const [k, v] of entries) {
51472
+ obj[k] = v;
51473
+ }
51474
+ }
51475
+ function writeSeriesColorToSpPr(spPr, hex4, isLineFamily, getLocalName2, resolveColor2) {
51476
+ const normalizedHex = hex4.replace(/^#/u, "");
51477
+ if (isLineFamily) {
51478
+ const lnKey = findKey18(spPr, "ln", getLocalName2) ?? "a:ln";
51479
+ const ln = spPr[lnKey] ?? {};
51480
+ const hadLn = Boolean(spPr[lnKey]);
51481
+ const noFillKey2 = findKey18(ln, "noFill", getLocalName2);
51482
+ if (noFillKey2) {
51483
+ delete ln[noFillKey2];
51484
+ }
51485
+ const lnFillKey = findKey18(ln, "solidFill", getLocalName2) ?? "a:solidFill";
51486
+ const authoredFill2 = ln[lnFillKey];
51487
+ const fillNode2 = serializeColorChoice(
51488
+ authoredFill2,
51489
+ authoredFill2 ? resolveColor2(authoredFill2) : void 0,
51490
+ normalizedHex
51491
+ );
51492
+ if (authoredFill2) {
51493
+ ln[lnFillKey] = fillNode2;
51494
+ } else {
51495
+ insertFirst(ln, lnFillKey, fillNode2);
51496
+ }
51497
+ if (!hadLn) {
51498
+ spPr[lnKey] = ln;
51499
+ }
51500
+ return;
51501
+ }
51502
+ const noFillKey = findKey18(spPr, "noFill", getLocalName2);
51503
+ if (noFillKey) {
51504
+ delete spPr[noFillKey];
51505
+ }
51506
+ const fillKey = findKey18(spPr, "solidFill", getLocalName2) ?? "a:solidFill";
51507
+ const authoredFill = spPr[fillKey];
51508
+ const fillNode = serializeColorChoice(
51509
+ authoredFill,
51510
+ authoredFill ? resolveColor2(authoredFill) : void 0,
51511
+ normalizedHex
51512
+ );
51513
+ if (authoredFill) {
51514
+ spPr[fillKey] = fillNode;
51515
+ } else {
51516
+ insertBeforeLn(spPr, fillKey, fillNode, getLocalName2);
51517
+ }
51518
+ }
51290
51519
  var TITLE_ROLE = /* @__PURE__ */ new Set(["title", "ctrtitle"]);
51291
51520
  var CONTENT_ROLE = /* @__PURE__ */ new Set([
51292
51521
  "body",
@@ -60449,26 +60678,24 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime7 extends PptxHandlerRuntime
60449
60678
  this.updateChartCacheValues(valNode, true, seriesData.values.map(String));
60450
60679
  }
60451
60680
  if (seriesData.color) {
60452
- const hex4 = seriesData.color.replace("#", "");
60453
- const spPr = this.xmlLookupService.getChildByLocalName(seriesNode, "spPr");
60454
- if (spPr) {
60455
- const solidFillKey = Object.keys(spPr).find(
60456
- (k) => this.compatibilityService.getXmlLocalName(k) === "solidFill"
60457
- ) ?? "a:solidFill";
60458
- const authoredFill = spPr[solidFillKey];
60459
- spPr[solidFillKey] = serializeColorChoice(
60460
- authoredFill,
60461
- authoredFill ? this.parseColor(authoredFill) : void 0,
60462
- hex4
60463
- );
60464
- } else {
60465
- const spPrKey = Object.keys(seriesNode).find(
60466
- (k) => this.compatibilityService.getXmlLocalName(k) === "spPr"
60467
- ) ?? "c:spPr";
60468
- seriesNode[spPrKey] = {
60469
- "a:solidFill": { "a:srgbClr": { "@_val": hex4 } }
60470
- };
60681
+ const isLineFamily = isLineDrawnChartType(
60682
+ seriesData.seriesChartType ?? chartData.chartType
60683
+ );
60684
+ const spPrKey = Object.keys(seriesNode).find(
60685
+ (k) => this.compatibilityService.getXmlLocalName(k) === "spPr"
60686
+ ) ?? "c:spPr";
60687
+ let spPr = seriesNode[spPrKey];
60688
+ if (!spPr) {
60689
+ spPr = {};
60690
+ seriesNode[spPrKey] = spPr;
60471
60691
  }
60692
+ writeSeriesColorToSpPr(
60693
+ spPr,
60694
+ seriesData.color,
60695
+ isLineFamily,
60696
+ (key2) => this.compatibilityService.getXmlLocalName(key2),
60697
+ (node) => this.parseColor(node)
60698
+ );
60472
60699
  }
60473
60700
  if (seriesData.trendlines !== void 0) {
60474
60701
  applySeriesTrendlinesToXml(
@@ -60520,7 +60747,8 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime7 extends PptxHandlerRuntime
60520
60747
  seriesData,
60521
60748
  chartData.categories,
60522
60749
  templateSeries,
60523
- chartData.dateCategories
60750
+ chartData.dateCategories,
60751
+ isLineDrawnChartType(seriesData.seriesChartType ?? chartData.chartType)
60524
60752
  );
60525
60753
  newSeriesXmlNodes.push(newNode);
60526
60754
  }
@@ -60956,8 +61184,12 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime7 extends PptxHandlerRuntime
60956
61184
  * If a `templateSeries` is provided, it is deep-cloned and its data is
60957
61185
  * replaced with the new series data. Otherwise, a minimal structure is
60958
61186
  * built from scratch.
61187
+ *
61188
+ * @param isLineFamily - Whether the target chart family reads/writes its
61189
+ * series colour from `a:ln/a:solidFill` (line/line3D/scatter/radar/stock)
61190
+ * rather than a direct `a:solidFill`. See `isLineDrawnChartType`.
60959
61191
  */
60960
- buildNewSeriesXml(seriesIndex, seriesData, categories, templateSeries, dateCategories) {
61192
+ buildNewSeriesXml(seriesIndex, seriesData, categories, templateSeries, dateCategories, isLineFamily = false) {
60961
61193
  if (templateSeries) {
60962
61194
  const clone3 = JSON.parse(JSON.stringify(templateSeries));
60963
61195
  const idxNode = this.xmlLookupService.getChildByLocalName(clone3, "idx");
@@ -60984,22 +61216,13 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime7 extends PptxHandlerRuntime
60984
61216
  if (seriesData.color) {
60985
61217
  const spPr = this.xmlLookupService.getChildByLocalName(clone3, "spPr");
60986
61218
  if (spPr) {
60987
- const solidFillKey = Object.keys(spPr).find(
60988
- (k) => this.compatibilityService.getXmlLocalName(k) === "solidFill"
61219
+ writeSeriesColorToSpPr(
61220
+ spPr,
61221
+ seriesData.color,
61222
+ isLineFamily,
61223
+ (key2) => this.compatibilityService.getXmlLocalName(key2),
61224
+ (node) => this.parseColor(node)
60989
61225
  );
60990
- if (solidFillKey) {
60991
- spPr[solidFillKey] = {
60992
- "a:srgbClr": {
60993
- "@_val": seriesData.color.replace("#", "")
60994
- }
60995
- };
60996
- } else {
60997
- spPr["a:solidFill"] = {
60998
- "a:srgbClr": {
60999
- "@_val": seriesData.color.replace("#", "")
61000
- }
61001
- };
61002
- }
61003
61226
  }
61004
61227
  }
61005
61228
  return clone3;
@@ -61016,11 +61239,7 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime7 extends PptxHandlerRuntime
61016
61239
  }
61017
61240
  }
61018
61241
  },
61019
- "c:spPr": {
61020
- "a:solidFill": {
61021
- "a:srgbClr": { "@_val": colorHex }
61022
- }
61023
- },
61242
+ "c:spPr": isLineFamily ? { "a:ln": { "a:solidFill": { "a:srgbClr": { "@_val": colorHex } } } } : { "a:solidFill": { "a:srgbClr": { "@_val": colorHex } } },
61024
61243
  "c:cat": dateCategories ? {
61025
61244
  "c:numRef": {
61026
61245
  "c:numCache": {
@@ -61050,7 +61269,7 @@ var PptxHandlerRuntime23 = class _PptxHandlerRuntime7 extends PptxHandlerRuntime
61050
61269
  return ser;
61051
61270
  }
61052
61271
  };
61053
- function findKey18(node, name, localName25) {
61272
+ function findKey19(node, name, localName25) {
61054
61273
  return Object.keys(node).find((key2) => localName25(key2) === name);
61055
61274
  }
61056
61275
  function prefixFor2(node) {
@@ -61069,7 +61288,7 @@ function setChildren(node, name, values, localName25) {
61069
61288
  if (values === void 0) {
61070
61289
  return false;
61071
61290
  }
61072
- const existing = findKey18(node, name, localName25);
61291
+ const existing = findKey19(node, name, localName25);
61073
61292
  if (values.length === 0) {
61074
61293
  if (existing) {
61075
61294
  delete node[existing];
@@ -61096,7 +61315,7 @@ function applySmartArtDefinitionMetadata(node, metadata, localName25) {
61096
61315
  changed = setChildren(node, "title", textNodes(metadata.titles), localName25) || changed;
61097
61316
  changed = setChildren(node, "desc", textNodes(metadata.descriptions), localName25) || changed;
61098
61317
  if (metadata.categories !== void 0) {
61099
- const key2 = findKey18(node, "catLst", localName25);
61318
+ const key2 = findKey19(node, "catLst", localName25);
61100
61319
  if (metadata.categories.length === 0) {
61101
61320
  if (key2) {
61102
61321
  delete node[key2];
@@ -61120,7 +61339,7 @@ function applySmartArtDefinitionMetadata(node, metadata, localName25) {
61120
61339
  return changed;
61121
61340
  }
61122
61341
  function ensureLabels(node, localName25) {
61123
- const key2 = findKey18(node, "styleLbl", localName25) ?? `${prefixFor2(node)}styleLbl`;
61342
+ const key2 = findKey19(node, "styleLbl", localName25) ?? `${prefixFor2(node)}styleLbl`;
61124
61343
  return { key: key2, labels: objects2(node[key2]) };
61125
61344
  }
61126
61345
  function applySmartArtQuickStyleLabels(node, labels, localName25) {
@@ -61143,7 +61362,7 @@ var COLOR_LISTS = [
61143
61362
  ["textEffect", "txEffectClrLst"]
61144
61363
  ];
61145
61364
  function applyColorList(label, name, metadata, localName25) {
61146
- const key2 = findKey18(label, name, localName25) ?? `${prefixFor2(label)}${name}`;
61365
+ const key2 = findKey19(label, name, localName25) ?? `${prefixFor2(label)}${name}`;
61147
61366
  const list = objects2(label[key2])[0] ?? {};
61148
61367
  if (metadata.method !== void 0) {
61149
61368
  list["@_meth"] = metadata.method;
@@ -61181,7 +61400,7 @@ function toArray3(value) {
61181
61400
  const obj = asObject(value);
61182
61401
  return obj ? [obj] : [];
61183
61402
  }
61184
- function findKey19(obj, name, getLocalName2) {
61403
+ function findKey20(obj, name, getLocalName2) {
61185
61404
  return Object.keys(obj).find((k) => getLocalName2(k) === name);
61186
61405
  }
61187
61406
  function hex3(value) {
@@ -61223,7 +61442,7 @@ function applySmartArtColorTransform(colorsDef, transform, getLocalName2, resolv
61223
61442
  let mutated = false;
61224
61443
  mutated = applySmartArtDefinitionMetadata(colorsDef, transform, getLocalName2) || mutated;
61225
61444
  mutated = applySmartArtColorStyleLabels(colorsDef, transform.labels, getLocalName2) || mutated;
61226
- const styleLblKey = findKey19(colorsDef, "styleLbl", getLocalName2);
61445
+ const styleLblKey = findKey20(colorsDef, "styleLbl", getLocalName2);
61227
61446
  if (!styleLblKey) {
61228
61447
  return mutated;
61229
61448
  }
@@ -61234,7 +61453,7 @@ function applySmartArtColorTransform(colorsDef, transform, getLocalName2, resolv
61234
61453
  let fillIndex = 0;
61235
61454
  let lineIndex = 0;
61236
61455
  for (const label of labels) {
61237
- const fillKey = findKey19(label, "fillClrLst", getLocalName2);
61456
+ const fillKey = findKey20(label, "fillClrLst", getLocalName2);
61238
61457
  if (fillKey) {
61239
61458
  const value = transform.fillColors[fillIndex++];
61240
61459
  const list = asObject(label[fillKey]);
@@ -61243,7 +61462,7 @@ function applySmartArtColorTransform(colorsDef, transform, getLocalName2, resolv
61243
61462
  mutated = true;
61244
61463
  }
61245
61464
  }
61246
- const lineKey = findKey19(label, "linClrLst", getLocalName2);
61465
+ const lineKey = findKey20(label, "linClrLst", getLocalName2);
61247
61466
  if (lineKey) {
61248
61467
  const value = transform.lineColors[lineIndex++];
61249
61468
  const list = asObject(label[lineKey]);
@@ -61259,11 +61478,11 @@ function localName23(key2) {
61259
61478
  const idx = key2.indexOf(":");
61260
61479
  return idx >= 0 ? key2.slice(idx + 1) : key2;
61261
61480
  }
61262
- function findKey20(obj, local) {
61481
+ function findKey21(obj, local) {
61263
61482
  return Object.keys(obj).find((k) => localName23(k) === local);
61264
61483
  }
61265
61484
  function ensureChild(obj, local, prefixedFallback) {
61266
- const key2 = findKey20(obj, local) ?? prefixedFallback;
61485
+ const key2 = findKey21(obj, local) ?? prefixedFallback;
61267
61486
  const existing = obj[key2];
61268
61487
  if (existing && typeof existing === "object" && !Array.isArray(existing)) {
61269
61488
  return existing;
@@ -61279,7 +61498,7 @@ function solidFill2(color2) {
61279
61498
  return { "a:srgbClr": { "@_val": hexValue(color2) } };
61280
61499
  }
61281
61500
  function setSolidFill(parent, color2) {
61282
- const key2 = findKey20(parent, "solidFill") ?? "a:solidFill";
61501
+ const key2 = findKey21(parent, "solidFill") ?? "a:solidFill";
61283
61502
  parent[key2] = solidFill2(color2);
61284
61503
  }
61285
61504
  function applyShapeStyle(pt2, style) {
@@ -61296,7 +61515,7 @@ function applyShapeStyle(pt2, style) {
61296
61515
  }
61297
61516
  }
61298
61517
  function ensureFirstRunRPr(pt2) {
61299
- const tKey = findKey20(pt2, "t");
61518
+ const tKey = findKey21(pt2, "t");
61300
61519
  if (!tKey) {
61301
61520
  return void 0;
61302
61521
  }
@@ -61304,7 +61523,7 @@ function ensureFirstRunRPr(pt2) {
61304
61523
  if (!body || typeof body !== "object" || Array.isArray(body)) {
61305
61524
  return void 0;
61306
61525
  }
61307
- const pKey = findKey20(body, "p");
61526
+ const pKey = findKey21(body, "p");
61308
61527
  if (!pKey) {
61309
61528
  return void 0;
61310
61529
  }
@@ -61313,7 +61532,7 @@ function ensureFirstRunRPr(pt2) {
61313
61532
  if (!firstP || typeof firstP !== "object") {
61314
61533
  return void 0;
61315
61534
  }
61316
- const rKey = findKey20(firstP, "r");
61535
+ const rKey = findKey21(firstP, "r");
61317
61536
  if (!rKey) {
61318
61537
  return void 0;
61319
61538
  }
@@ -62237,27 +62456,27 @@ function applySmartArtChrome(dataModel, chrome, getLocalName2) {
62237
62456
  if (!chrome || !chrome.backgroundColor && !chrome.outlineColor && (chrome.outlineWidth === null || chrome.outlineWidth === void 0)) {
62238
62457
  return;
62239
62458
  }
62240
- const findKey21 = (obj, name) => Object.keys(obj).find((k) => getLocalName2(k) === name);
62459
+ const findKey22 = (obj, name) => Object.keys(obj).find((k) => getLocalName2(k) === name);
62241
62460
  if (chrome.backgroundColor) {
62242
62461
  const hex4 = chrome.backgroundColor.replace("#", "");
62243
- const bgKey = findKey21(dataModel, "bg") ?? "dgm:bg";
62462
+ const bgKey = findKey22(dataModel, "bg") ?? "dgm:bg";
62244
62463
  const bg = asObject2(dataModel[bgKey]);
62245
- const fillKey = findKey21(bg, "solidFill") ?? "a:solidFill";
62464
+ const fillKey = findKey22(bg, "solidFill") ?? "a:solidFill";
62246
62465
  bg[fillKey] = { "a:srgbClr": { "@_val": hex4 } };
62247
62466
  dataModel[bgKey] = bg;
62248
62467
  }
62249
62468
  const hasOutlineWidth = chrome.outlineWidth !== null && chrome.outlineWidth !== void 0;
62250
62469
  if (chrome.outlineColor || hasOutlineWidth) {
62251
- const wholeKey = findKey21(dataModel, "whole") ?? "dgm:whole";
62470
+ const wholeKey = findKey22(dataModel, "whole") ?? "dgm:whole";
62252
62471
  const whole = asObject2(dataModel[wholeKey]);
62253
- const lnKey = findKey21(whole, "ln") ?? "a:ln";
62472
+ const lnKey = findKey22(whole, "ln") ?? "a:ln";
62254
62473
  const ln = asObject2(whole[lnKey]);
62255
62474
  if (hasOutlineWidth) {
62256
62475
  ln["@_w"] = String(Math.round(chrome.outlineWidth * 12700));
62257
62476
  }
62258
62477
  if (chrome.outlineColor) {
62259
62478
  const hex4 = chrome.outlineColor.replace("#", "");
62260
- const fillKey = findKey21(ln, "solidFill") ?? "a:solidFill";
62479
+ const fillKey = findKey22(ln, "solidFill") ?? "a:solidFill";
62261
62480
  ln[fillKey] = { "a:srgbClr": { "@_val": hex4 } };
62262
62481
  }
62263
62482
  whole[lnKey] = ln;
@@ -63964,155 +64183,87 @@ var PptxHandlerRuntime28 = class _PptxHandlerRuntime9 extends PptxHandlerRuntime
63964
64183
  }
63965
64184
  }
63966
64185
  };
63967
- var PptxHandlerRuntime29 = class extends PptxHandlerRuntime28 {
63968
- /**
63969
- * Serialize visual effects (shadow, glow, reflection, blur, soft edge),
63970
- * effectDag, 3D scene, and 3D shape properties to the given spPr XML object.
63971
- */
63972
- applyEffectsAndThreeD(spPr, shapeStyle) {
63973
- const presetShadowXml = shapeStyle.presetShadowName ? this.buildPresetShadowXml(shapeStyle) : void 0;
63974
- const outerShadowXml = presetShadowXml ? void 0 : this.buildOuterShadowXml(shapeStyle);
63975
- const innerShadowXml = this.buildInnerShadowXml(shapeStyle);
63976
- const glowXml = this.buildGlowXml(shapeStyle);
63977
- const softEdgeXml = this.buildSoftEdgeXml(shapeStyle);
63978
- const reflectionXml = this.buildReflectionXml(shapeStyle);
63979
- const blurXml = this.buildBlurXml(shapeStyle);
63980
- const hasAnyEffect = outerShadowXml || presetShadowXml || innerShadowXml || glowXml || softEdgeXml || reflectionXml || blurXml;
63981
- if (hasAnyEffect || shapeStyle.effectListXml) {
63982
- const effectList = createEffectList(shapeStyle, spPr);
63983
- if (presetShadowXml) {
63984
- setEffectChild(effectList, "prstShdw", presetShadowXml);
64186
+ function writeShapeEffects(spPr, shapeStyle, ctx) {
64187
+ if (effectIsPurelyStyleMatrix(shapeStyle)) {
64188
+ return;
64189
+ }
64190
+ writeEffectList(spPr, shapeStyle, ctx);
64191
+ writeEffectDag(spPr, shapeStyle);
64192
+ writeScene3d(spPr, shapeStyle);
64193
+ writeShape3d(spPr, shapeStyle);
64194
+ }
64195
+ function writeEffectList(spPr, shapeStyle, ctx) {
64196
+ const {
64197
+ outerShadowXml,
64198
+ presetShadowXml,
64199
+ innerShadowXml,
64200
+ glowXml,
64201
+ softEdgeXml,
64202
+ reflectionXml,
64203
+ blurXml
64204
+ } = ctx;
64205
+ const hasAnyEffect = outerShadowXml || presetShadowXml || innerShadowXml || glowXml || softEdgeXml || reflectionXml || blurXml;
64206
+ if (hasAnyEffect || shapeStyle.effectListXml) {
64207
+ const effectList = createEffectList(shapeStyle, spPr);
64208
+ if (presetShadowXml) {
64209
+ setEffectChild(effectList, "prstShdw", presetShadowXml);
64210
+ setEffectChild(effectList, "outerShdw", void 0);
64211
+ } else if (outerShadowXml) {
64212
+ setEffectChild(effectList, "outerShdw", outerShadowXml);
64213
+ setEffectChild(effectList, "prstShdw", void 0);
64214
+ }
64215
+ if (innerShadowXml) {
64216
+ setEffectChild(effectList, "innerShdw", innerShadowXml);
64217
+ }
64218
+ if (glowXml) {
64219
+ setEffectChild(effectList, "glow", glowXml);
64220
+ }
64221
+ if (softEdgeXml) {
64222
+ setEffectChild(effectList, "softEdge", softEdgeXml);
64223
+ }
64224
+ if (reflectionXml) {
64225
+ setEffectChild(effectList, "reflection", reflectionXml);
64226
+ }
64227
+ if (blurXml) {
64228
+ setEffectChild(effectList, "blur", blurXml);
64229
+ }
64230
+ setEffectChild(spPr, "effectLst", reorderObjectKeys(effectList, EFFECT_LST_ORDER));
64231
+ } else {
64232
+ const effectList = effectChild(spPr, "effectLst");
64233
+ if (effectList) {
64234
+ if (shapeStyle.shadowColor !== void 0 && !outerShadowXml && !presetShadowXml) {
63985
64235
  setEffectChild(effectList, "outerShdw", void 0);
63986
- } else if (outerShadowXml) {
63987
- setEffectChild(effectList, "outerShdw", outerShadowXml);
63988
64236
  setEffectChild(effectList, "prstShdw", void 0);
63989
64237
  }
63990
- if (innerShadowXml) {
63991
- setEffectChild(effectList, "innerShdw", innerShadowXml);
64238
+ if (shapeStyle.innerShadowColor !== void 0 && !innerShadowXml) {
64239
+ setEffectChild(effectList, "innerShdw", void 0);
63992
64240
  }
63993
- if (glowXml) {
63994
- setEffectChild(effectList, "glow", glowXml);
64241
+ if (shapeStyle.glowColor !== void 0 && !glowXml) {
64242
+ setEffectChild(effectList, "glow", void 0);
63995
64243
  }
63996
- if (softEdgeXml) {
63997
- setEffectChild(effectList, "softEdge", softEdgeXml);
64244
+ if (shapeStyle.softEdgeRadius !== void 0 && !softEdgeXml) {
64245
+ setEffectChild(effectList, "softEdge", void 0);
63998
64246
  }
63999
- if (reflectionXml) {
64000
- setEffectChild(effectList, "reflection", reflectionXml);
64247
+ if (shapeStyle.reflectionBlurRadius !== void 0 && !reflectionXml) {
64248
+ setEffectChild(effectList, "reflection", void 0);
64001
64249
  }
64002
- if (blurXml) {
64003
- setEffectChild(effectList, "blur", blurXml);
64250
+ if (shapeStyle.blurRadius !== void 0 && !blurXml) {
64251
+ setEffectChild(effectList, "blur", void 0);
64004
64252
  }
64005
- setEffectChild(spPr, "effectLst", reorderObjectKeys(effectList, EFFECT_LST_ORDER));
64006
- } else {
64007
- const effectList = effectChild(spPr, "effectLst");
64008
- if (effectList) {
64009
- if (shapeStyle.shadowColor !== void 0 && !outerShadowXml && !presetShadowXml) {
64010
- setEffectChild(effectList, "outerShdw", void 0);
64011
- setEffectChild(effectList, "prstShdw", void 0);
64012
- }
64013
- if (shapeStyle.innerShadowColor !== void 0 && !innerShadowXml) {
64014
- setEffectChild(effectList, "innerShdw", void 0);
64015
- }
64016
- if (shapeStyle.glowColor !== void 0 && !glowXml) {
64017
- setEffectChild(effectList, "glow", void 0);
64018
- }
64019
- if (shapeStyle.softEdgeRadius !== void 0 && !softEdgeXml) {
64020
- setEffectChild(effectList, "softEdge", void 0);
64021
- }
64022
- if (shapeStyle.reflectionBlurRadius !== void 0 && !reflectionXml) {
64023
- setEffectChild(effectList, "reflection", void 0);
64024
- }
64025
- if (shapeStyle.blurRadius !== void 0 && !blurXml) {
64026
- setEffectChild(effectList, "blur", void 0);
64027
- }
64028
- if (Object.keys(effectList).length === 0) {
64029
- setEffectChild(spPr, "effectLst", void 0);
64030
- } else {
64031
- setEffectChild(spPr, "effectLst", reorderObjectKeys(effectList, EFFECT_LST_ORDER));
64032
- }
64033
- }
64034
- }
64035
- const effectDagXml = shapeStyle.effectDagTree ? serializeEffectDagContainer(shapeStyle.effectDagTree) : shapeStyle.effectDagXml;
64036
- if (effectDagXml) {
64037
- setEffectChild(spPr, "effectDag", effectDagXml);
64038
- }
64039
- if (shapeStyle.scene3d) {
64040
- const s3d = shapeStyle.scene3d;
64041
- const hasData = s3d.cameraPreset || s3d.lightRigType;
64042
- if (hasData) {
64043
- const source = spPr["a:scene3d"] ?? {};
64044
- const scene3dXml = { ...source };
64045
- scene3dXml["a:camera"] = buildScene3dCamera(s3d, source);
64046
- const lightRig = buildScene3dLightRig(s3d, source);
64047
- if (lightRig) {
64048
- scene3dXml["a:lightRig"] = lightRig;
64049
- }
64050
- const backdrop = buildScene3dBackdrop(s3d);
64051
- if (backdrop) {
64052
- scene3dXml["a:backdrop"] = backdrop;
64053
- } else {
64054
- delete scene3dXml["a:backdrop"];
64055
- }
64056
- spPr["a:scene3d"] = scene3dXml;
64253
+ if (Object.keys(effectList).length === 0) {
64254
+ setEffectChild(spPr, "effectLst", void 0);
64057
64255
  } else {
64058
- delete spPr["a:scene3d"];
64256
+ setEffectChild(spPr, "effectLst", reorderObjectKeys(effectList, EFFECT_LST_ORDER));
64059
64257
  }
64060
- } else if (shapeStyle.scene3d === void 0) {
64061
- delete spPr["a:scene3d"];
64062
- }
64063
- if (shapeStyle.shape3d) {
64064
- const sh3d = shapeStyle.shape3d;
64065
- const hasData = sh3d.extrusionHeight !== void 0 || sh3d.contourWidth !== void 0 || sh3d.presetMaterial || sh3d.bevelTopType || sh3d.bevelBottomType || sh3d.extrusionColor || sh3d.contourColor;
64066
- if (hasData) {
64067
- const sp3dXml = {};
64068
- if (sh3d.extrusionHeight !== void 0) {
64069
- sp3dXml["@_extrusionH"] = String(sh3d.extrusionHeight);
64070
- }
64071
- if (sh3d.contourWidth !== void 0) {
64072
- sp3dXml["@_contourW"] = String(sh3d.contourWidth);
64073
- }
64074
- if (sh3d.presetMaterial) {
64075
- sp3dXml["@_prstMaterial"] = sh3d.presetMaterial;
64076
- }
64077
- if (sh3d.bevelTopType) {
64078
- const bevelT = { "@_prst": sh3d.bevelTopType };
64079
- if (sh3d.bevelTopWidth !== void 0) {
64080
- bevelT["@_w"] = String(sh3d.bevelTopWidth);
64081
- }
64082
- if (sh3d.bevelTopHeight !== void 0) {
64083
- bevelT["@_h"] = String(sh3d.bevelTopHeight);
64084
- }
64085
- sp3dXml["a:bevelT"] = bevelT;
64086
- }
64087
- if (sh3d.bevelBottomType) {
64088
- const bevelB = { "@_prst": sh3d.bevelBottomType };
64089
- if (sh3d.bevelBottomWidth !== void 0) {
64090
- bevelB["@_w"] = String(sh3d.bevelBottomWidth);
64091
- }
64092
- if (sh3d.bevelBottomHeight !== void 0) {
64093
- bevelB["@_h"] = String(sh3d.bevelBottomHeight);
64094
- }
64095
- sp3dXml["a:bevelB"] = bevelB;
64096
- }
64097
- if (sh3d.extrusionColor) {
64098
- sp3dXml["a:extrusionClr"] = {
64099
- "a:srgbClr": { "@_val": sh3d.extrusionColor.replace("#", "") }
64100
- };
64101
- }
64102
- if (sh3d.contourColor) {
64103
- sp3dXml["a:contourClr"] = {
64104
- "a:srgbClr": { "@_val": sh3d.contourColor.replace("#", "") }
64105
- };
64106
- }
64107
- spPr["a:sp3d"] = sp3dXml;
64108
- } else {
64109
- delete spPr["a:sp3d"];
64110
- }
64111
- } else if (shapeStyle.shape3d === void 0) {
64112
- delete spPr["a:sp3d"];
64113
64258
  }
64114
64259
  }
64115
- };
64260
+ }
64261
+ function writeEffectDag(spPr, shapeStyle) {
64262
+ const effectDagXml = shapeStyle.effectDagTree ? serializeEffectDagContainer(shapeStyle.effectDagTree) : shapeStyle.effectDagXml;
64263
+ if (effectDagXml) {
64264
+ setEffectChild(spPr, "effectDag", effectDagXml);
64265
+ }
64266
+ }
64116
64267
  function buildSphereRot(lat, lon, rev) {
64117
64268
  if (lat === void 0 && lon === void 0 && rev === void 0) {
64118
64269
  return void 0;
@@ -64184,6 +64335,109 @@ function buildScene3dBackdrop(s3d) {
64184
64335
  }
64185
64336
  };
64186
64337
  }
64338
+ function writeScene3d(spPr, shapeStyle) {
64339
+ if (shapeStyle.scene3d) {
64340
+ const s3d = shapeStyle.scene3d;
64341
+ const hasData = s3d.cameraPreset || s3d.lightRigType;
64342
+ if (hasData) {
64343
+ const source = spPr["a:scene3d"] ?? {};
64344
+ const scene3dXml = { ...source };
64345
+ scene3dXml["a:camera"] = buildScene3dCamera(s3d, source);
64346
+ const lightRig = buildScene3dLightRig(s3d, source);
64347
+ if (lightRig) {
64348
+ scene3dXml["a:lightRig"] = lightRig;
64349
+ }
64350
+ const backdrop = buildScene3dBackdrop(s3d);
64351
+ if (backdrop) {
64352
+ scene3dXml["a:backdrop"] = backdrop;
64353
+ } else {
64354
+ delete scene3dXml["a:backdrop"];
64355
+ }
64356
+ spPr["a:scene3d"] = scene3dXml;
64357
+ } else {
64358
+ delete spPr["a:scene3d"];
64359
+ }
64360
+ } else if (shapeStyle.scene3d === void 0) {
64361
+ delete spPr["a:scene3d"];
64362
+ }
64363
+ }
64364
+ function writeShape3d(spPr, shapeStyle) {
64365
+ if (shapeStyle.shape3d) {
64366
+ const sh3d = shapeStyle.shape3d;
64367
+ const hasData = sh3d.extrusionHeight !== void 0 || sh3d.contourWidth !== void 0 || sh3d.presetMaterial || sh3d.bevelTopType || sh3d.bevelBottomType || sh3d.extrusionColor || sh3d.contourColor;
64368
+ if (hasData) {
64369
+ const sp3dXml = {};
64370
+ if (sh3d.extrusionHeight !== void 0) {
64371
+ sp3dXml["@_extrusionH"] = String(sh3d.extrusionHeight);
64372
+ }
64373
+ if (sh3d.contourWidth !== void 0) {
64374
+ sp3dXml["@_contourW"] = String(sh3d.contourWidth);
64375
+ }
64376
+ if (sh3d.presetMaterial) {
64377
+ sp3dXml["@_prstMaterial"] = sh3d.presetMaterial;
64378
+ }
64379
+ if (sh3d.bevelTopType) {
64380
+ const bevelT = { "@_prst": sh3d.bevelTopType };
64381
+ if (sh3d.bevelTopWidth !== void 0) {
64382
+ bevelT["@_w"] = String(sh3d.bevelTopWidth);
64383
+ }
64384
+ if (sh3d.bevelTopHeight !== void 0) {
64385
+ bevelT["@_h"] = String(sh3d.bevelTopHeight);
64386
+ }
64387
+ sp3dXml["a:bevelT"] = bevelT;
64388
+ }
64389
+ if (sh3d.bevelBottomType) {
64390
+ const bevelB = { "@_prst": sh3d.bevelBottomType };
64391
+ if (sh3d.bevelBottomWidth !== void 0) {
64392
+ bevelB["@_w"] = String(sh3d.bevelBottomWidth);
64393
+ }
64394
+ if (sh3d.bevelBottomHeight !== void 0) {
64395
+ bevelB["@_h"] = String(sh3d.bevelBottomHeight);
64396
+ }
64397
+ sp3dXml["a:bevelB"] = bevelB;
64398
+ }
64399
+ if (sh3d.extrusionColor) {
64400
+ sp3dXml["a:extrusionClr"] = {
64401
+ "a:srgbClr": { "@_val": sh3d.extrusionColor.replace("#", "") }
64402
+ };
64403
+ }
64404
+ if (sh3d.contourColor) {
64405
+ sp3dXml["a:contourClr"] = {
64406
+ "a:srgbClr": { "@_val": sh3d.contourColor.replace("#", "") }
64407
+ };
64408
+ }
64409
+ spPr["a:sp3d"] = sp3dXml;
64410
+ } else {
64411
+ delete spPr["a:sp3d"];
64412
+ }
64413
+ } else if (shapeStyle.shape3d === void 0) {
64414
+ delete spPr["a:sp3d"];
64415
+ }
64416
+ }
64417
+ var PptxHandlerRuntime29 = class extends PptxHandlerRuntime28 {
64418
+ /**
64419
+ * Serialize visual effects (shadow, glow, reflection, blur, soft edge),
64420
+ * effectDag, 3D scene, and 3D shape properties to the given spPr XML object.
64421
+ *
64422
+ * The whole body lives in {@link writeShapeEffects} as a free function so
64423
+ * the colocated unit test can import and drive the REAL logic (it used to
64424
+ * keep a private copy - "its mixin chain crashes on load" - which meant it
64425
+ * could not fail when production drifted). This method only supplies the
64426
+ * runtime-bound effect builders.
64427
+ */
64428
+ applyEffectsAndThreeD(spPr, shapeStyle) {
64429
+ const presetShadowXml = shapeStyle.presetShadowName ? this.buildPresetShadowXml(shapeStyle) : void 0;
64430
+ writeShapeEffects(spPr, shapeStyle, {
64431
+ outerShadowXml: presetShadowXml ? void 0 : this.buildOuterShadowXml(shapeStyle),
64432
+ presetShadowXml,
64433
+ innerShadowXml: this.buildInnerShadowXml(shapeStyle),
64434
+ glowXml: this.buildGlowXml(shapeStyle),
64435
+ softEdgeXml: this.buildSoftEdgeXml(shapeStyle),
64436
+ reflectionXml: this.buildReflectionXml(shapeStyle),
64437
+ blurXml: this.buildBlurXml(shapeStyle)
64438
+ });
64439
+ }
64440
+ };
64187
64441
  var PptxHandlerRuntime30 = class _PptxHandlerRuntime10 extends PptxHandlerRuntime29 {
64188
64442
  /**
64189
64443
  * Build and write the text body (`p:txBody`) for shapes, text boxes,
@@ -67857,7 +68111,15 @@ function orderContainer(container, plan, getLocalName2) {
67857
68111
  return orderShapeTreeChildren(working, (node) => positions.get(node), getLocalName2);
67858
68112
  }
67859
68113
  function orderedTemplatePartXml(options) {
67860
- const { runtime, partPath, xmlObj, rootTag: rootTag2, sourceXml, getLocalName: getLocalName2 } = options;
68114
+ const {
68115
+ runtime,
68116
+ partPath,
68117
+ xmlObj,
68118
+ rootTag: rootTag2,
68119
+ sourceXml,
68120
+ getLocalName: getLocalName2,
68121
+ alternateContentBlockByRawXml
68122
+ } = options;
67861
68123
  const root = xmlObj[rootTag2];
67862
68124
  if (!isXmlObject8(root)) {
67863
68125
  return xmlObj;
@@ -67870,8 +68132,9 @@ function orderedTemplatePartXml(options) {
67870
68132
  if (!isXmlObject8(spTree)) {
67871
68133
  return xmlObj;
67872
68134
  }
68135
+ const rewrapped = reapplyAlternateContentToTree(spTree, alternateContentBlockByRawXml);
67873
68136
  const rebuilt = positionsByRuntime.get(runtime)?.get(partPath);
67874
- const ordered32 = rebuilt ? orderShapeTreeChildren(spTree, (node) => rebuilt.get(node), getLocalName2) : orderContainer(spTree, sourceXml ? scanSpTreeDocumentOrder(sourceXml) : [], getLocalName2);
68137
+ const ordered32 = rebuilt ? orderShapeTreeChildren(rewrapped, (node) => rebuilt.get(node), getLocalName2) : orderContainer(rewrapped, sourceXml ? scanSpTreeDocumentOrder(sourceXml) : [], getLocalName2);
67875
68138
  if (ordered32 === spTree) {
67876
68139
  return xmlObj;
67877
68140
  }
@@ -68011,7 +68274,8 @@ var PptxHandlerRuntime45 = class extends PptxHandlerRuntime44 {
68011
68274
  xmlObj,
68012
68275
  rootTag: rootTag2,
68013
68276
  sourceXml: sourceXml ?? await this.zip.file(partPath)?.async("string"),
68014
- getLocalName: (key2) => this.compatibilityService.getXmlLocalName(key2)
68277
+ getLocalName: (key2) => this.compatibilityService.getXmlLocalName(key2),
68278
+ alternateContentBlockByRawXml: this.alternateContentBlockByRawXml
68015
68279
  });
68016
68280
  }
68017
68281
  getAuxiliaryMasterRelsPath(partPath) {
@@ -78041,9 +78305,20 @@ var PptxHandlerRuntime91 = class extends PptxHandlerRuntime90 {
78041
78305
  false
78042
78306
  );
78043
78307
  }
78044
- const containerType = isCombo ? chartContainerLocalNameToType(this.compatibilityService.getXmlLocalName(containerKey)) : void 0;
78308
+ const resolvedContainerType = chartContainerLocalNameToType(
78309
+ this.compatibilityService.getXmlLocalName(containerKey)
78310
+ );
78311
+ const containerType = isCombo ? resolvedContainerType : void 0;
78045
78312
  const axisId = resolveChartContainerValueAxisId(container, axes ?? [], this.xmlLookupService);
78046
- series.push(...this.buildChartSeries(seriesList, categories, containerType, axisId));
78313
+ series.push(
78314
+ ...this.buildChartSeries(
78315
+ seriesList,
78316
+ categories,
78317
+ containerType,
78318
+ axisId,
78319
+ resolvedContainerType
78320
+ )
78321
+ );
78047
78322
  }
78048
78323
  return { categories, series };
78049
78324
  }
@@ -78087,9 +78362,15 @@ var PptxHandlerRuntime91 = class extends PptxHandlerRuntime90 {
78087
78362
  * @param categories - Pre-parsed category labels (used for fallback values).
78088
78363
  * @param seriesChartType - When set (combo charts), tags every series in this
78089
78364
  * container with its source chart type for round-trip.
78365
+ * @param axisId - The container's resolved value-axis id, if any.
78366
+ * @param containerChartType - The container's actual chart type, always
78367
+ * resolved (unlike `seriesChartType`, which is combo-only). Used to decide
78368
+ * whether this container's series read their colour from a direct fill or
78369
+ * from the outline (`a:ln/a:solidFill`), so a plain (non-combo)
78370
+ * line/scatter/radar/stock chart's authored colour is not dropped.
78090
78371
  * @returns The series array matching `PptxChartData["series"]`.
78091
78372
  */
78092
- buildChartSeries(seriesList, categories, seriesChartType, axisId) {
78373
+ buildChartSeries(seriesList, categories, seriesChartType, axisId, containerChartType) {
78093
78374
  return seriesList.map((seriesNode, seriesIndex) => {
78094
78375
  const seriesName = this.extractChartSeriesName(seriesNode);
78095
78376
  const valNode = this.xmlLookupService.getChildByLocalName(seriesNode, "val") || this.xmlLookupService.getChildByLocalName(seriesNode, "yVal");
@@ -78112,7 +78393,7 @@ var PptxHandlerRuntime91 = class extends PptxHandlerRuntime90 {
78112
78393
  ) ?? ""
78113
78394
  ).trim();
78114
78395
  const seriesShapeProperties = this.xmlLookupService.getChildByLocalName(seriesNode, "spPr");
78115
- const readsLineColor = seriesChartType === "line" || seriesChartType === "line3D" || seriesChartType === "scatter" || seriesChartType === "radar" || seriesChartType === "stock";
78396
+ const readsLineColor = isLineDrawnChartType(containerChartType);
78116
78397
  const seriesColor22 = this.parseColor(
78117
78398
  this.xmlLookupService.getChildByLocalName(seriesShapeProperties, "solidFill")
78118
78399
  ) ?? (readsLineColor ? this.parseColor(
@@ -97328,6 +97609,14 @@ function computeChartLegendLayout(vm) {
97328
97609
  return { x, y, color: entry2.color, label: entry2.label };
97329
97610
  });
97330
97611
  }
97612
+ function patchChartData(data, patch) {
97613
+ if (patch.chartType && patch.chartType !== data.chartType) {
97614
+ const adapted = chartDataChangeType(data, patch.chartType);
97615
+ const { chartType: _chartType, ...rest } = patch;
97616
+ return { ...adapted, ...rest };
97617
+ }
97618
+ return { ...data, ...patch };
97619
+ }
97331
97620
  function schemaLabel(keys, token2, translate) {
97332
97621
  if (token2 === void 0) {
97333
97622
  return "";
@@ -104071,6 +104360,7 @@ function reorderAnimationTo(animations, source, targetIndex) {
104071
104360
  sorted.splice(targetIndex, 0, moved);
104072
104361
  return reindexOrder(sorted);
104073
104362
  }
104363
+ var MIN_TIMELINE_BAR_WIDTH_PERCENT = 2;
104074
104364
  function buildAnimationTimelineBars(animations) {
104075
104365
  const sorted = [...animations].sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
104076
104366
  const total = Math.max(
@@ -104080,7 +104370,10 @@ function buildAnimationTimelineBars(animations) {
104080
104370
  return sorted.map((animation) => ({
104081
104371
  elementId: animation.elementId,
104082
104372
  leftPercent: (animation.delayMs ?? 0) / total * 100,
104083
- widthPercent: (animation.durationMs ?? 500) / total * 100
104373
+ widthPercent: Math.max(
104374
+ (animation.durationMs ?? 500) / total * 100,
104375
+ MIN_TIMELINE_BAR_WIDTH_PERCENT
104376
+ )
104084
104377
  }));
104085
104378
  }
104086
104379
  function reindexOrder(anims) {
@@ -111257,6 +111550,9 @@ var translationsEn = {
111257
111550
  "pptx.notes.strikethrough": "Strikethrough",
111258
111551
  "pptx.notes.toggleRichPlainEditor": "Toggle rich/plain text editor",
111259
111552
  "pptx.notes.underline": "Underline",
111553
+ // Group info panel (element inspector)
111554
+ "pptx.group.childCount": "{{count}} children",
111555
+ "pptx.group.groupedElement": "Grouped element",
111260
111556
  // OLE object properties
111261
111557
  "pptx.ole.embedded": "Embedded",
111262
111558
  "pptx.ole.fileName": "File Name",
@@ -130741,6 +131037,34 @@ var COMMON_FONTS = [
130741
131037
  "Tw Cen MT",
130742
131038
  "Verdana"
130743
131039
  ];
131040
+ function classifyMediaType(mimeType) {
131041
+ if (mimeType.startsWith("audio/")) {
131042
+ return "audio";
131043
+ }
131044
+ if (mimeType.startsWith("video/")) {
131045
+ return "video";
131046
+ }
131047
+ return null;
131048
+ }
131049
+ function resolveTemplateBackgroundRows(activeSlide, slideMasters, fallbackLayoutLabel, fallbackMasterLabel) {
131050
+ const result = {};
131051
+ if (activeSlide.layoutPath) {
131052
+ result.layout = {
131053
+ path: activeSlide.layoutPath,
131054
+ label: activeSlide.layoutName ?? fallbackLayoutLabel,
131055
+ title: activeSlide.layoutName ?? activeSlide.layoutPath
131056
+ };
131057
+ }
131058
+ const master = slideMasters?.find((m) => m.layoutPaths?.includes(activeSlide.layoutPath ?? ""));
131059
+ if (master) {
131060
+ result.master = {
131061
+ path: master.path,
131062
+ label: master.name ?? fallbackMasterLabel,
131063
+ title: master.name ?? master.path
131064
+ };
131065
+ }
131066
+ return result;
131067
+ }
130744
131068
  function partitionTemplateElements(slides) {
130745
131069
  const templateElementsBySlideId = {};
130746
131070
  const nextSlides = slides.map((slide) => {
@@ -133169,7 +133493,7 @@ function sanitizeDownloadFilename(input) {
133169
133493
  function downloadBlob(blob, filename) {
133170
133494
  const url = URL.createObjectURL(blob), anchor = document.createElement("a");
133171
133495
  anchor.href = url;
133172
- anchor.download = filename;
133496
+ anchor.download = sanitizeDownloadFilename(filename);
133173
133497
  document.body.appendChild(anchor);
133174
133498
  anchor.click();
133175
133499
  setTimeout(() => {
@@ -133180,7 +133504,7 @@ function downloadBlob(blob, filename) {
133180
133504
  function downloadDataUrl(dataUrl, filename) {
133181
133505
  const anchor = document.createElement("a");
133182
133506
  anchor.href = dataUrl;
133183
- anchor.download = filename;
133507
+ anchor.download = sanitizeDownloadFilename(filename);
133184
133508
  document.body.appendChild(anchor);
133185
133509
  anchor.click();
133186
133510
  setTimeout(() => {
@@ -134787,4 +135111,4 @@ function segmentFrameCount(durationMs, fps) {
134787
135111
  * `<p:extLst>` (optional)
134788
135112
  */
134789
135113
 
134790
- export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, COLOR_MAP_ALIAS_KEYS, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMMON_FONTS, CONNECTION_TIMEOUT_MS, CONNECTOR_SITE_SNAP_PX, CUSTOM_FONT_ACCEPT, DEBOUNCE_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPANDED_MAX_HEIGHT, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_INDENT_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, PATTERN_OPTIONS, PEN_COLORS, PPTX_OPEN_ACCEPT, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_TEMPLATES, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, STATUS_BAR_CLASSES, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_SLOT_LABEL_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_ORIENTATION_TYPES, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, acceptAutosaveRecovery, acceptsPresentationInput, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addCommentToList, addQuickAccessCommand, addSection, addSiblingAfter, addSmartArtNodeAsChild, addTagToCollections, advanceChartValueDrag, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyChartBuildReveal, applyChartPartHighlight, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyMotionPathPreset, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyTableStylePreset, applyThemeOverrideToSlide, applyThemeToData, attachPresentationVisibilityPause, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, beginChartValueDrag, beginShapeAdjustment, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildBarActions, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildOutline, buildOutlineHtml, buildParagraphs, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildStrokeOutline, buildSummaryZoomView, buildSvgGradientDef, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildThemeColorGrid, buildThemeColorMap, buildUserFontFaceStyles, canAddTopLevelNode, canCommitActionType, canGoNext, canGoPrevious, canInteractWithElement, canRemoveTopLevelNode, canvasToJpegData, cellRunStyle, cellStyleToCss, centeredSvgTextLines, chartDataChangeType, chartPartToAttrs, chartPreserveAspectRatio, clampCropValue, clampNotesFontSize, clampOptionNumber, clampPercent, clampSorterZoom, clampTransitionNumber, clampUnitInterval2 as clampUnitInterval, clampZoomScale, classifyExtraConnections, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearStoredViewerPrefs, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectConnectorSiteCandidates, collectImagePaths, collectMediaElements, collectUsedFonts, colorWithOpacity, commentTextSegments, comparePresentation, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeChartLegendLayout, computeColorFilter, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSlideIndices, computeSmartArtLayout2 as computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeVirtualRange, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDepartureChannel, createInitialPresentationSnapshot, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, deleteTagFromCollections, demote, deriveSlideFieldContext, describeFontEmbedding, describeSmartArtBounds, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementLockTogglePatch, embeddedFontSaveOptions, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, ensureChartInteractionStyles, erasePresentationInkAt, escapeHtml22 as escapeHtml2, evenColumnWidths, evenRowHeights, exportDeckJson, extraQuickAccessCommands, extractPathPoints, filterCommands, filterInteractableIds, filterRenderedElements, findChartPartTarget, findConnectorSiteNear, findInSlides, findMediaElementByElementId, findSmartArtNodeText, firstShowSlideIndex, flattenNodes, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateNoteLineCount, generatePackageReadme, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getComputedFillStyle, getComputedStrokeStyle, getConnectorEndpointHandles, getContentPartReplayStyles, getCurrentParagraphIndex, getDraggedShapeAdjustments, getDuotoneCachedResult, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFitStyle, getImageSvgFilters, getImageTilingStyle, getInkReplayStyles, getInlineEditorSelection, getLocalStorageUsageSummary, getNotesPrintableArea, getOleBadgeLabel, getOleObjectTypeLabel, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx2, getSessionTabId, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextBodyRotationTransform, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hexToRgbChannels2 as hexToRgbChannels, hiddenSlideCue, hollowTextFillStyle, inlineElementPointerEvents, insertTableColumn, insertTableRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isCalloutShape, isCellInRect, isCurrentLayout, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementLocked, isElementRendered, isExportAbortError, isHollowShapeElement, isImageLikeElement, isImageTiled, isInkElement, isKeyboardOpen, isLegacyBinaryPresentation, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, loadAudienceContent, loadSessionDeck, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapSlideSorterKey, masterViewBackgroundColor, masterViewElements, masterViewPseudoSlide, mayLeaveSlideShow, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountModel3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, normalizeColorsForCapture, normalizeHexColor, normalizeSegments, normalizeStrokeDashType, notesSegmentsToSpans, observeYDocSlides, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPptxFile, openReadingView, openUrlInNewTab, paintedStrokeWidth, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, playSlideTransitionPreview, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationBaseName, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, pressuresToWidths, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, probeAutosaveRecovery, projectDrawingShapes, promote, publishLiveGeometry, publishLiveInlineText, quickStyleSwatchCss, reResolveSlideColors, readBackstageRecentFile, readRibbonTransitionDraft, readSlideShowOption, readSlidesFromYDoc, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, rebuildTableStructureInRawXml, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, redistributeColumnWidth, registerCollaborationTeardown, registerCustomFont, registerPersistentAudio, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeCommentFromList, removeEmptyNode, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorder2 as reorder, reorderAnimationTo, replaceMasterViewElements, replyToCommentInList, rerouteConnectorsForMovedElements, resetPresenterTimer, resetSlideLayoutPath, resolveActionType, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartKind, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDrawingShapeNodeId, resolveElementActionAffordance, resolveElementInteractivity, resolveFontForScript, resolveGroupChildFill, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveMetricTrackingPx, resolveOleType, resolvePalette, resolveProfileInitial, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveViewerAddinRows, restoreSegmentSelection, restoreSessionDeck, revealedSmartArtNodeCount, ribbonTransitionUpdates, rulerDragToGuidePosition, runMediaCommand, runPresentationAction, safeOpenUrl, sanitizeColor, sanitizeDownloadFilename, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveDeckWithPassword, saveViewerProfile, savedPresentationFileName, scanAvailableFontFamilies, schemaLabel, scopeLayoutOptionsToSlide, segmentByScript, segmentFrameCount, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, sendBackward, sendToBack, setCachedResult, setCellText, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDuotoneCachedResult, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shapeFillChange, shapeOutlineChange, shouldAutoFollowBroadcaster, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldLoopContinuously, shouldProbeAutosaveRecovery, shouldRoomSlidesReplaceLoad, shouldShowAutosaveRecoveryPrompt, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunForMetrics, stepPresenterZoom, stopAllPersistentAudio, storeAudienceContent, strokeOutlineViewBox, styleShadowFilter, substituteFieldText, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, tableCellCss, tableContainerCss, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, themeColorLabel, themeColorSchemesEqual, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, toggleCommentResolvedInList, togglePresenterTimer, toggleSheet, toggleText3dExtrusion, transformTextCase, ungroupElements, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateMasterViewElement, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateRoomId, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewerOptionsToPreferences, warpPreviewPath, withChartTitle, withConnectorEndpointUpdate, withFrameSlides, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs };
135114
+ export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, COLOR_MAP_ALIAS_KEYS, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMMON_FONTS, CONNECTION_TIMEOUT_MS, CONNECTOR_SITE_SNAP_PX, CUSTOM_FONT_ACCEPT, DEBOUNCE_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPANDED_MAX_HEIGHT, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_INDENT_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, PATTERN_OPTIONS, PEN_COLORS, PPTX_OPEN_ACCEPT, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_TEMPLATES, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, STATUS_BAR_CLASSES, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_SLOT_LABEL_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_ORIENTATION_TYPES, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, acceptAutosaveRecovery, acceptsPresentationInput, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addCommentToList, addQuickAccessCommand, addSection, addSiblingAfter, addSmartArtNodeAsChild, addTagToCollections, advanceChartValueDrag, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyChartBuildReveal, applyChartPartHighlight, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyMotionPathPreset, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyTableStylePreset, applyThemeOverrideToSlide, applyThemeToData, attachPresentationVisibilityPause, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, beginChartValueDrag, beginShapeAdjustment, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildBarActions, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildOutline, buildOutlineHtml, buildParagraphs, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildStrokeOutline, buildSummaryZoomView, buildSvgGradientDef, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildThemeColorGrid, buildThemeColorMap, buildUserFontFaceStyles, canAddTopLevelNode, canCommitActionType, canGoNext, canGoPrevious, canInteractWithElement, canRemoveTopLevelNode, canvasToJpegData, cellRunStyle, cellStyleToCss, centeredSvgTextLines, chartPartToAttrs, chartPreserveAspectRatio, clampCropValue, clampNotesFontSize, clampOptionNumber, clampPercent, clampSorterZoom, clampTransitionNumber, clampUnitInterval2 as clampUnitInterval, clampZoomScale, classifyExtraConnections, classifyMediaType, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearStoredViewerPrefs, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectConnectorSiteCandidates, collectImagePaths, collectMediaElements, collectUsedFonts, colorWithOpacity, commentTextSegments, comparePresentation, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeChartLegendLayout, computeColorFilter, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSlideIndices, computeSmartArtLayout2 as computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeVirtualRange, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDepartureChannel, createInitialPresentationSnapshot, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, deleteTagFromCollections, demote, deriveSlideFieldContext, describeFontEmbedding, describeSmartArtBounds, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementLockTogglePatch, embeddedFontSaveOptions, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, ensureChartInteractionStyles, erasePresentationInkAt, escapeHtml22 as escapeHtml2, evenColumnWidths, evenRowHeights, exportDeckJson, extraQuickAccessCommands, extractPathPoints, filterCommands, filterInteractableIds, filterRenderedElements, findChartPartTarget, findConnectorSiteNear, findInSlides, findMediaElementByElementId, findSmartArtNodeText, firstShowSlideIndex, flattenNodes, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateNoteLineCount, generatePackageReadme, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getComputedFillStyle, getComputedStrokeStyle, getConnectorEndpointHandles, getContentPartReplayStyles, getCurrentParagraphIndex, getDraggedShapeAdjustments, getDuotoneCachedResult, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFitStyle, getImageSvgFilters, getImageTilingStyle, getInkReplayStyles, getInlineEditorSelection, getLocalStorageUsageSummary, getNotesPrintableArea, getOleBadgeLabel, getOleObjectTypeLabel, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx2, getSessionTabId, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextBodyRotationTransform, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hexToRgbChannels2 as hexToRgbChannels, hiddenSlideCue, hollowTextFillStyle, inlineElementPointerEvents, insertTableColumn, insertTableRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isCalloutShape, isCellInRect, isCurrentLayout, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementLocked, isElementRendered, isExportAbortError, isHollowShapeElement, isImageLikeElement, isImageTiled, isInkElement, isKeyboardOpen, isLegacyBinaryPresentation, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, loadAudienceContent, loadSessionDeck, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapSlideSorterKey, masterViewBackgroundColor, masterViewElements, masterViewPseudoSlide, mayLeaveSlideShow, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountModel3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, normalizeColorsForCapture, normalizeHexColor, normalizeSegments, normalizeStrokeDashType, notesSegmentsToSpans, observeYDocSlides, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPptxFile, openReadingView, openUrlInNewTab, paintedStrokeWidth, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, patchChartData, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, playSlideTransitionPreview, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationBaseName, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, pressuresToWidths, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, probeAutosaveRecovery, projectDrawingShapes, promote, publishLiveGeometry, publishLiveInlineText, quickStyleSwatchCss, reResolveSlideColors, readBackstageRecentFile, readRibbonTransitionDraft, readSlideShowOption, readSlidesFromYDoc, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, rebuildTableStructureInRawXml, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, redistributeColumnWidth, registerCollaborationTeardown, registerCustomFont, registerPersistentAudio, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeCommentFromList, removeEmptyNode, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorder2 as reorder, reorderAnimationTo, replaceMasterViewElements, replyToCommentInList, rerouteConnectorsForMovedElements, resetPresenterTimer, resetSlideLayoutPath, resolveActionType, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartKind, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDrawingShapeNodeId, resolveElementActionAffordance, resolveElementInteractivity, resolveFontForScript, resolveGroupChildFill, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveMetricTrackingPx, resolveOleType, resolvePalette, resolveProfileInitial, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveTemplateBackgroundRows, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveViewerAddinRows, restoreSegmentSelection, restoreSessionDeck, revealedSmartArtNodeCount, ribbonTransitionUpdates, rulerDragToGuidePosition, runMediaCommand, runPresentationAction, safeOpenUrl, sanitizeColor, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveDeckWithPassword, saveViewerProfile, savedPresentationFileName, scanAvailableFontFamilies, schemaLabel, scopeLayoutOptionsToSlide, segmentByScript, segmentFrameCount, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, sendBackward, sendToBack, setCachedResult, setCellText, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDuotoneCachedResult, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shapeFillChange, shapeOutlineChange, shouldAutoFollowBroadcaster, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldLoopContinuously, shouldProbeAutosaveRecovery, shouldRoomSlidesReplaceLoad, shouldShowAutosaveRecoveryPrompt, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunForMetrics, stepPresenterZoom, stopAllPersistentAudio, storeAudienceContent, strokeOutlineViewBox, styleShadowFilter, substituteFieldText, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, tableCellCss, tableContainerCss, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, themeColorLabel, themeColorSchemesEqual, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, toggleCommentResolvedInList, togglePresenterTimer, toggleSheet, toggleText3dExtrusion, transformTextCase, ungroupElements, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateMasterViewElement, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateRoomId, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewerOptionsToPreferences, warpPreviewPath, withChartTitle, withConnectorEndpointUpdate, withFrameSlides, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs };